uawdijnntqw1x1x1
IP : 216.73.216.110
Hostname : 6.87.74.97.host.secureserver.net
Kernel : Linux 6.87.74.97.host.secureserver.net 4.18.0-553.83.1.el8_10.x86_64 #1 SMP Mon Nov 10 04:22:44 EST 2025 x86_64
Disable Function : None :)
OS : Linux
PATH:
/
home
/
emeraadmin
/
.razor
/
..
/
public_html
/
ba656
/
..
/
node_modules
/
..
/
4d695
/
dist.zip
/
/
PKKw�\ ߫{D{Dd3-brush.jsnu�[���// https://d3js.org/d3-brush/ v1.0.6 Copyright 2018 Mike Bostock (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('d3-selection'), require('d3-dispatch'), require('d3-drag'), require('d3-interpolate'), require('d3-transition')) : typeof define === 'function' && define.amd ? define(['exports', 'd3-selection', 'd3-dispatch', 'd3-drag', 'd3-interpolate', 'd3-transition'], factory) : (factory((global.d3 = global.d3 || {}),global.d3,global.d3,global.d3,global.d3,global.d3)); }(this, (function (exports,d3Selection,d3Dispatch,d3Drag,d3Interpolate,d3Transition) { 'use strict'; function constant(x) { return function() { return x; }; } function BrushEvent(target, type, selection) { this.target = target; this.type = type; this.selection = selection; } function nopropagation() { d3Selection.event.stopImmediatePropagation(); } function noevent() { d3Selection.event.preventDefault(); d3Selection.event.stopImmediatePropagation(); } var MODE_DRAG = {name: "drag"}, MODE_SPACE = {name: "space"}, MODE_HANDLE = {name: "handle"}, MODE_CENTER = {name: "center"}; var X = { name: "x", handles: ["e", "w"].map(type), input: function(x, e) { return x && [[x[0], e[0][1]], [x[1], e[1][1]]]; }, output: function(xy) { return xy && [xy[0][0], xy[1][0]]; } }; var Y = { name: "y", handles: ["n", "s"].map(type), input: function(y, e) { return y && [[e[0][0], y[0]], [e[1][0], y[1]]]; }, output: function(xy) { return xy && [xy[0][1], xy[1][1]]; } }; var XY = { name: "xy", handles: ["n", "e", "s", "w", "nw", "ne", "se", "sw"].map(type), input: function(xy) { return xy; }, output: function(xy) { return xy; } }; var cursors = { overlay: "crosshair", selection: "move", n: "ns-resize", e: "ew-resize", s: "ns-resize", w: "ew-resize", nw: "nwse-resize", ne: "nesw-resize", se: "nwse-resize", sw: "nesw-resize" }; var flipX = { e: "w", w: "e", nw: "ne", ne: "nw", se: "sw", sw: "se" }; var flipY = { n: "s", s: "n", nw: "sw", ne: "se", se: "ne", sw: "nw" }; var signsX = { overlay: +1, selection: +1, n: null, e: +1, s: null, w: -1, nw: -1, ne: +1, se: +1, sw: -1 }; var signsY = { overlay: +1, selection: +1, n: -1, e: null, s: +1, w: null, nw: -1, ne: -1, se: +1, sw: +1 }; function type(t) { return {type: t}; } // Ignore right-click, since that should open the context menu. function defaultFilter() { return !d3Selection.event.button; } function defaultExtent() { var svg = this.ownerSVGElement || this; return [[0, 0], [svg.width.baseVal.value, svg.height.baseVal.value]]; } // Like d3.local, but with the name “__brush” rather than auto-generated. function local(node) { while (!node.__brush) if (!(node = node.parentNode)) return; return node.__brush; } function empty(extent) { return extent[0][0] === extent[1][0] || extent[0][1] === extent[1][1]; } function brushSelection(node) { var state = node.__brush; return state ? state.dim.output(state.selection) : null; } function brushX() { return brush$1(X); } function brushY() { return brush$1(Y); } function brush() { return brush$1(XY); } function brush$1(dim) { var extent = defaultExtent, filter = defaultFilter, listeners = d3Dispatch.dispatch(brush, "start", "brush", "end"), handleSize = 6, touchending; function brush(group) { var overlay = group .property("__brush", initialize) .selectAll(".overlay") .data([type("overlay")]); overlay.enter().append("rect") .attr("class", "overlay") .attr("pointer-events", "all") .attr("cursor", cursors.overlay) .merge(overlay) .each(function() { var extent = local(this).extent; d3Selection.select(this) .attr("x", extent[0][0]) .attr("y", extent[0][1]) .attr("width", extent[1][0] - extent[0][0]) .attr("height", extent[1][1] - extent[0][1]); }); group.selectAll(".selection") .data([type("selection")]) .enter().append("rect") .attr("class", "selection") .attr("cursor", cursors.selection) .attr("fill", "#777") .attr("fill-opacity", 0.3) .attr("stroke", "#fff") .attr("shape-rendering", "crispEdges"); var handle = group.selectAll(".handle") .data(dim.handles, function(d) { return d.type; }); handle.exit().remove(); handle.enter().append("rect") .attr("class", function(d) { return "handle handle--" + d.type; }) .attr("cursor", function(d) { return cursors[d.type]; }); group .each(redraw) .attr("fill", "none") .attr("pointer-events", "all") .style("-webkit-tap-highlight-color", "rgba(0,0,0,0)") .on("mousedown.brush touchstart.brush", started); } brush.move = function(group, selection) { if (group.selection) { group .on("start.brush", function() { emitter(this, arguments).beforestart().start(); }) .on("interrupt.brush end.brush", function() { emitter(this, arguments).end(); }) .tween("brush", function() { var that = this, state = that.__brush, emit = emitter(that, arguments), selection0 = state.selection, selection1 = dim.input(typeof selection === "function" ? selection.apply(this, arguments) : selection, state.extent), i = d3Interpolate.interpolate(selection0, selection1); function tween(t) { state.selection = t === 1 && empty(selection1) ? null : i(t); redraw.call(that); emit.brush(); } return selection0 && selection1 ? tween : tween(1); }); } else { group .each(function() { var that = this, args = arguments, state = that.__brush, selection1 = dim.input(typeof selection === "function" ? selection.apply(that, args) : selection, state.extent), emit = emitter(that, args).beforestart(); d3Transition.interrupt(that); state.selection = selection1 == null || empty(selection1) ? null : selection1; redraw.call(that); emit.start().brush().end(); }); } }; function redraw() { var group = d3Selection.select(this), selection = local(this).selection; if (selection) { group.selectAll(".selection") .style("display", null) .attr("x", selection[0][0]) .attr("y", selection[0][1]) .attr("width", selection[1][0] - selection[0][0]) .attr("height", selection[1][1] - selection[0][1]); group.selectAll(".handle") .style("display", null) .attr("x", function(d) { return d.type[d.type.length - 1] === "e" ? selection[1][0] - handleSize / 2 : selection[0][0] - handleSize / 2; }) .attr("y", function(d) { return d.type[0] === "s" ? selection[1][1] - handleSize / 2 : selection[0][1] - handleSize / 2; }) .attr("width", function(d) { return d.type === "n" || d.type === "s" ? selection[1][0] - selection[0][0] + handleSize : handleSize; }) .attr("height", function(d) { return d.type === "e" || d.type === "w" ? selection[1][1] - selection[0][1] + handleSize : handleSize; }); } else { group.selectAll(".selection,.handle") .style("display", "none") .attr("x", null) .attr("y", null) .attr("width", null) .attr("height", null); } } function emitter(that, args) { return that.__brush.emitter || new Emitter(that, args); } function Emitter(that, args) { this.that = that; this.args = args; this.state = that.__brush; this.active = 0; } Emitter.prototype = { beforestart: function() { if (++this.active === 1) this.state.emitter = this, this.starting = true; return this; }, start: function() { if (this.starting) this.starting = false, this.emit("start"); return this; }, brush: function() { this.emit("brush"); return this; }, end: function() { if (--this.active === 0) delete this.state.emitter, this.emit("end"); return this; }, emit: function(type) { d3Selection.customEvent(new BrushEvent(brush, type, dim.output(this.state.selection)), listeners.apply, listeners, [type, this.that, this.args]); } }; function started() { if (d3Selection.event.touches) { if (d3Selection.event.changedTouches.length < d3Selection.event.touches.length) return noevent(); } else if (touchending) return; if (!filter.apply(this, arguments)) return; var that = this, type = d3Selection.event.target.__data__.type, mode = (d3Selection.event.metaKey ? type = "overlay" : type) === "selection" ? MODE_DRAG : (d3Selection.event.altKey ? MODE_CENTER : MODE_HANDLE), signX = dim === Y ? null : signsX[type], signY = dim === X ? null : signsY[type], state = local(that), extent = state.extent, selection = state.selection, W = extent[0][0], w0, w1, N = extent[0][1], n0, n1, E = extent[1][0], e0, e1, S = extent[1][1], s0, s1, dx, dy, moving, shifting = signX && signY && d3Selection.event.shiftKey, lockX, lockY, point0 = d3Selection.mouse(that), point = point0, emit = emitter(that, arguments).beforestart(); if (type === "overlay") { state.selection = selection = [ [w0 = dim === Y ? W : point0[0], n0 = dim === X ? N : point0[1]], [e0 = dim === Y ? E : w0, s0 = dim === X ? S : n0] ]; } else { w0 = selection[0][0]; n0 = selection[0][1]; e0 = selection[1][0]; s0 = selection[1][1]; } w1 = w0; n1 = n0; e1 = e0; s1 = s0; var group = d3Selection.select(that) .attr("pointer-events", "none"); var overlay = group.selectAll(".overlay") .attr("cursor", cursors[type]); if (d3Selection.event.touches) { group .on("touchmove.brush", moved, true) .on("touchend.brush touchcancel.brush", ended, true); } else { var view = d3Selection.select(d3Selection.event.view) .on("keydown.brush", keydowned, true) .on("keyup.brush", keyupped, true) .on("mousemove.brush", moved, true) .on("mouseup.brush", ended, true); d3Drag.dragDisable(d3Selection.event.view); } nopropagation(); d3Transition.interrupt(that); redraw.call(that); emit.start(); function moved() { var point1 = d3Selection.mouse(that); if (shifting && !lockX && !lockY) { if (Math.abs(point1[0] - point[0]) > Math.abs(point1[1] - point[1])) lockY = true; else lockX = true; } point = point1; moving = true; noevent(); move(); } function move() { var t; dx = point[0] - point0[0]; dy = point[1] - point0[1]; switch (mode) { case MODE_SPACE: case MODE_DRAG: { if (signX) dx = Math.max(W - w0, Math.min(E - e0, dx)), w1 = w0 + dx, e1 = e0 + dx; if (signY) dy = Math.max(N - n0, Math.min(S - s0, dy)), n1 = n0 + dy, s1 = s0 + dy; break; } case MODE_HANDLE: { if (signX < 0) dx = Math.max(W - w0, Math.min(E - w0, dx)), w1 = w0 + dx, e1 = e0; else if (signX > 0) dx = Math.max(W - e0, Math.min(E - e0, dx)), w1 = w0, e1 = e0 + dx; if (signY < 0) dy = Math.max(N - n0, Math.min(S - n0, dy)), n1 = n0 + dy, s1 = s0; else if (signY > 0) dy = Math.max(N - s0, Math.min(S - s0, dy)), n1 = n0, s1 = s0 + dy; break; } case MODE_CENTER: { if (signX) w1 = Math.max(W, Math.min(E, w0 - dx * signX)), e1 = Math.max(W, Math.min(E, e0 + dx * signX)); if (signY) n1 = Math.max(N, Math.min(S, n0 - dy * signY)), s1 = Math.max(N, Math.min(S, s0 + dy * signY)); break; } } if (e1 < w1) { signX *= -1; t = w0, w0 = e0, e0 = t; t = w1, w1 = e1, e1 = t; if (type in flipX) overlay.attr("cursor", cursors[type = flipX[type]]); } if (s1 < n1) { signY *= -1; t = n0, n0 = s0, s0 = t; t = n1, n1 = s1, s1 = t; if (type in flipY) overlay.attr("cursor", cursors[type = flipY[type]]); } if (state.selection) selection = state.selection; // May be set by brush.move! if (lockX) w1 = selection[0][0], e1 = selection[1][0]; if (lockY) n1 = selection[0][1], s1 = selection[1][1]; if (selection[0][0] !== w1 || selection[0][1] !== n1 || selection[1][0] !== e1 || selection[1][1] !== s1) { state.selection = [[w1, n1], [e1, s1]]; redraw.call(that); emit.brush(); } } function ended() { nopropagation(); if (d3Selection.event.touches) { if (d3Selection.event.touches.length) return; if (touchending) clearTimeout(touchending); touchending = setTimeout(function() { touchending = null; }, 500); // Ghost clicks are delayed! group.on("touchmove.brush touchend.brush touchcancel.brush", null); } else { d3Drag.dragEnable(d3Selection.event.view, moving); view.on("keydown.brush keyup.brush mousemove.brush mouseup.brush", null); } group.attr("pointer-events", "all"); overlay.attr("cursor", cursors.overlay); if (state.selection) selection = state.selection; // May be set by brush.move (on start)! if (empty(selection)) state.selection = null, redraw.call(that); emit.end(); } function keydowned() { switch (d3Selection.event.keyCode) { case 16: { // SHIFT shifting = signX && signY; break; } case 18: { // ALT if (mode === MODE_HANDLE) { if (signX) e0 = e1 - dx * signX, w0 = w1 + dx * signX; if (signY) s0 = s1 - dy * signY, n0 = n1 + dy * signY; mode = MODE_CENTER; move(); } break; } case 32: { // SPACE; takes priority over ALT if (mode === MODE_HANDLE || mode === MODE_CENTER) { if (signX < 0) e0 = e1 - dx; else if (signX > 0) w0 = w1 - dx; if (signY < 0) s0 = s1 - dy; else if (signY > 0) n0 = n1 - dy; mode = MODE_SPACE; overlay.attr("cursor", cursors.selection); move(); } break; } default: return; } noevent(); } function keyupped() { switch (d3Selection.event.keyCode) { case 16: { // SHIFT if (shifting) { lockX = lockY = shifting = false; move(); } break; } case 18: { // ALT if (mode === MODE_CENTER) { if (signX < 0) e0 = e1; else if (signX > 0) w0 = w1; if (signY < 0) s0 = s1; else if (signY > 0) n0 = n1; mode = MODE_HANDLE; move(); } break; } case 32: { // SPACE if (mode === MODE_SPACE) { if (d3Selection.event.altKey) { if (signX) e0 = e1 - dx * signX, w0 = w1 + dx * signX; if (signY) s0 = s1 - dy * signY, n0 = n1 + dy * signY; mode = MODE_CENTER; } else { if (signX < 0) e0 = e1; else if (signX > 0) w0 = w1; if (signY < 0) s0 = s1; else if (signY > 0) n0 = n1; mode = MODE_HANDLE; } overlay.attr("cursor", cursors[type]); move(); } break; } default: return; } noevent(); } } function initialize() { var state = this.__brush || {selection: null}; state.extent = extent.apply(this, arguments); state.dim = dim; return state; } brush.extent = function(_) { return arguments.length ? (extent = typeof _ === "function" ? _ : constant([[+_[0][0], +_[0][1]], [+_[1][0], +_[1][1]]]), brush) : extent; }; brush.filter = function(_) { return arguments.length ? (filter = typeof _ === "function" ? _ : constant(!!_), brush) : filter; }; brush.handleSize = function(_) { return arguments.length ? (handleSize = +_, brush) : handleSize; }; brush.on = function() { var value = listeners.on.apply(listeners, arguments); return value === listeners ? brush : value; }; return brush; } exports.brush = brush; exports.brushX = brushX; exports.brushY = brushY; exports.brushSelection = brushSelection; Object.defineProperty(exports, '__esModule', { value: true }); }))); PKKw�\��3l!!d3-brush.min.jsnu�[���// https://d3js.org/d3-brush/ v1.0.6 Copyright 2018 Mike Bostock !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("d3-selection"),require("d3-dispatch"),require("d3-drag"),require("d3-interpolate"),require("d3-transition")):"function"==typeof define&&define.amd?define(["exports","d3-selection","d3-dispatch","d3-drag","d3-interpolate","d3-transition"],e):e(t.d3=t.d3||{},t.d3,t.d3,t.d3,t.d3,t.d3)}(this,function(t,e,n,r,s,i){"use strict";function a(t){return function(){return t}}function u(t,e,n){this.target=t,this.type=e,this.selection=n}function o(){e.event.stopImmediatePropagation()}function l(){e.event.preventDefault(),e.event.stopImmediatePropagation()}var c={name:"drag"},h={name:"space"},f={name:"handle"},p={name:"center"},d={name:"x",handles:["e","w"].map(_),input:function(t,e){return t&&[[t[0],e[0][1]],[t[1],e[1][1]]]},output:function(t){return t&&[t[0][0],t[1][0]]}},v={name:"y",handles:["n","s"].map(_),input:function(t,e){return t&&[[e[0][0],t[0]],[e[1][0],t[1]]]},output:function(t){return t&&[t[0][1],t[1][1]]}},m={name:"xy",handles:["n","e","s","w","nw","ne","se","sw"].map(_),input:function(t){return t},output:function(t){return t}},y={overlay:"crosshair",selection:"move",n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},b={e:"w",w:"e",nw:"ne",ne:"nw",se:"sw",sw:"se"},w={n:"s",s:"n",nw:"sw",ne:"se",se:"ne",sw:"nw"},g={overlay:1,selection:1,n:null,e:1,s:null,w:-1,nw:-1,ne:1,se:1,sw:-1},x={overlay:1,selection:1,n:-1,e:null,s:1,w:null,nw:-1,ne:-1,se:1,sw:1};function _(t){return{type:t}}function M(){return!e.event.button}function k(){var t=this.ownerSVGElement||this;return[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]}function z(t){for(;!t.__brush;)if(!(t=t.parentNode))return;return t.__brush}function A(t){return t[0][0]===t[1][0]||t[0][1]===t[1][1]}function q(t){var m,q=k,E=M,K=n.dispatch(S,"start","brush","end"),P=6;function S(n){var r=n.property("__brush",D).selectAll(".overlay").data([_("overlay")]);r.enter().append("rect").attr("class","overlay").attr("pointer-events","all").attr("cursor",y.overlay).merge(r).each(function(){var t=z(this).extent;e.select(this).attr("x",t[0][0]).attr("y",t[0][1]).attr("width",t[1][0]-t[0][0]).attr("height",t[1][1]-t[0][1])}),n.selectAll(".selection").data([_("selection")]).enter().append("rect").attr("class","selection").attr("cursor",y.selection).attr("fill","#777").attr("fill-opacity",.3).attr("stroke","#fff").attr("shape-rendering","crispEdges");var s=n.selectAll(".handle").data(t.handles,function(t){return t.type});s.exit().remove(),s.enter().append("rect").attr("class",function(t){return"handle handle--"+t.type}).attr("cursor",function(t){return y[t.type]}),n.each(T).attr("fill","none").attr("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush touchstart.brush",C)}function T(){var t=e.select(this),n=z(this).selection;n?(t.selectAll(".selection").style("display",null).attr("x",n[0][0]).attr("y",n[0][1]).attr("width",n[1][0]-n[0][0]).attr("height",n[1][1]-n[0][1]),t.selectAll(".handle").style("display",null).attr("x",function(t){return"e"===t.type[t.type.length-1]?n[1][0]-P/2:n[0][0]-P/2}).attr("y",function(t){return"s"===t.type[0]?n[1][1]-P/2:n[0][1]-P/2}).attr("width",function(t){return"n"===t.type||"s"===t.type?n[1][0]-n[0][0]+P:P}).attr("height",function(t){return"e"===t.type||"w"===t.type?n[1][1]-n[0][1]+P:P})):t.selectAll(".selection,.handle").style("display","none").attr("x",null).attr("y",null).attr("width",null).attr("height",null)}function V(t,e){return t.__brush.emitter||new j(t,e)}function j(t,e){this.that=t,this.args=e,this.state=t.__brush,this.active=0}function C(){if(e.event.touches){if(e.event.changedTouches.length<e.event.touches.length)return l()}else if(m)return;if(E.apply(this,arguments)){var n,s,a,u,_,M,k,q,K,P,S,j,C,D=this,I=e.event.target.__data__.type,G="selection"===(e.event.metaKey?I="overlay":I)?c:e.event.altKey?p:f,N=t===v?null:g[I],O=t===d?null:x[I],X=z(D),Y=X.extent,B=X.selection,F=Y[0][0],H=Y[0][1],J=Y[1][0],L=Y[1][1],Q=N&&O&&e.event.shiftKey,R=e.mouse(D),U=R,W=V(D,arguments).beforestart();"overlay"===I?X.selection=B=[[n=t===v?F:R[0],a=t===d?H:R[1]],[_=t===v?J:n,k=t===d?L:a]]:(n=B[0][0],a=B[0][1],_=B[1][0],k=B[1][1]),s=n,u=a,M=_,q=k;var Z=e.select(D).attr("pointer-events","none"),$=Z.selectAll(".overlay").attr("cursor",y[I]);if(e.event.touches)Z.on("touchmove.brush",et,!0).on("touchend.brush touchcancel.brush",rt,!0);else{var tt=e.select(e.event.view).on("keydown.brush",function(){switch(e.event.keyCode){case 16:Q=N&&O;break;case 18:G===f&&(N&&(_=M-K*N,n=s+K*N),O&&(k=q-P*O,a=u+P*O),G=p,nt());break;case 32:G!==f&&G!==p||(N<0?_=M-K:N>0&&(n=s-K),O<0?k=q-P:O>0&&(a=u-P),G=h,$.attr("cursor",y.selection),nt());break;default:return}l()},!0).on("keyup.brush",function(){switch(e.event.keyCode){case 16:Q&&(j=C=Q=!1,nt());break;case 18:G===p&&(N<0?_=M:N>0&&(n=s),O<0?k=q:O>0&&(a=u),G=f,nt());break;case 32:G===h&&(e.event.altKey?(N&&(_=M-K*N,n=s+K*N),O&&(k=q-P*O,a=u+P*O),G=p):(N<0?_=M:N>0&&(n=s),O<0?k=q:O>0&&(a=u),G=f),$.attr("cursor",y[I]),nt());break;default:return}l()},!0).on("mousemove.brush",et,!0).on("mouseup.brush",rt,!0);r.dragDisable(e.event.view)}o(),i.interrupt(D),T.call(D),W.start()}function et(){var t=e.mouse(D);!Q||j||C||(Math.abs(t[0]-U[0])>Math.abs(t[1]-U[1])?C=!0:j=!0),U=t,S=!0,l(),nt()}function nt(){var t;switch(K=U[0]-R[0],P=U[1]-R[1],G){case h:case c:N&&(K=Math.max(F-n,Math.min(J-_,K)),s=n+K,M=_+K),O&&(P=Math.max(H-a,Math.min(L-k,P)),u=a+P,q=k+P);break;case f:N<0?(K=Math.max(F-n,Math.min(J-n,K)),s=n+K,M=_):N>0&&(K=Math.max(F-_,Math.min(J-_,K)),s=n,M=_+K),O<0?(P=Math.max(H-a,Math.min(L-a,P)),u=a+P,q=k):O>0&&(P=Math.max(H-k,Math.min(L-k,P)),u=a,q=k+P);break;case p:N&&(s=Math.max(F,Math.min(J,n-K*N)),M=Math.max(F,Math.min(J,_+K*N))),O&&(u=Math.max(H,Math.min(L,a-P*O)),q=Math.max(H,Math.min(L,k+P*O)))}M<s&&(N*=-1,t=n,n=_,_=t,t=s,s=M,M=t,I in b&&$.attr("cursor",y[I=b[I]])),q<u&&(O*=-1,t=a,a=k,k=t,t=u,u=q,q=t,I in w&&$.attr("cursor",y[I=w[I]])),X.selection&&(B=X.selection),j&&(s=B[0][0],M=B[1][0]),C&&(u=B[0][1],q=B[1][1]),B[0][0]===s&&B[0][1]===u&&B[1][0]===M&&B[1][1]===q||(X.selection=[[s,u],[M,q]],T.call(D),W.brush())}function rt(){if(o(),e.event.touches){if(e.event.touches.length)return;m&&clearTimeout(m),m=setTimeout(function(){m=null},500),Z.on("touchmove.brush touchend.brush touchcancel.brush",null)}else r.dragEnable(e.event.view,S),tt.on("keydown.brush keyup.brush mousemove.brush mouseup.brush",null);Z.attr("pointer-events","all"),$.attr("cursor",y.overlay),X.selection&&(B=X.selection),A(B)&&(X.selection=null,T.call(D)),W.end()}}function D(){var e=this.__brush||{selection:null};return e.extent=q.apply(this,arguments),e.dim=t,e}return S.move=function(e,n){e.selection?e.on("start.brush",function(){V(this,arguments).beforestart().start()}).on("interrupt.brush end.brush",function(){V(this,arguments).end()}).tween("brush",function(){var e=this,r=e.__brush,i=V(e,arguments),a=r.selection,u=t.input("function"==typeof n?n.apply(this,arguments):n,r.extent),o=s.interpolate(a,u);function l(t){r.selection=1===t&&A(u)?null:o(t),T.call(e),i.brush()}return a&&u?l:l(1)}):e.each(function(){var e=arguments,r=this.__brush,s=t.input("function"==typeof n?n.apply(this,e):n,r.extent),a=V(this,e).beforestart();i.interrupt(this),r.selection=null==s||A(s)?null:s,T.call(this),a.start().brush().end()})},j.prototype={beforestart:function(){return 1==++this.active&&(this.state.emitter=this,this.starting=!0),this},start:function(){return this.starting&&(this.starting=!1,this.emit("start")),this},brush:function(){return this.emit("brush"),this},end:function(){return 0==--this.active&&(delete this.state.emitter,this.emit("end")),this},emit:function(n){e.customEvent(new u(S,n,t.output(this.state.selection)),K.apply,K,[n,this.that,this.args])}},S.extent=function(t){return arguments.length?(q="function"==typeof t?t:a([[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]]),S):q},S.filter=function(t){return arguments.length?(E="function"==typeof t?t:a(!!t),S):E},S.handleSize=function(t){return arguments.length?(P=+t,S):P},S.on=function(){var t=K.on.apply(K,arguments);return t===K?S:t},S}t.brush=function(){return q(m)},t.brushX=function(){return q(d)},t.brushY=function(){return q(v)},t.brushSelection=function(t){var e=t.__brush;return e?e.dim.output(e.selection):null},Object.defineProperty(t,"__esModule",{value:!0})}); PK}w�\�����fonts/ionicons.woff2nu�[���wOF2�� �H�l?FFTM`�J ��D��W6$�j�x ��X[QqE�}�����s����ҿww6{c ����&�14 3���:����9J-��T�n2|AE�J64'��G��Nvms�I�B��e��K�Tz�#���6�7�I|���ǜ�aο|M��W~���8>�}���ԁ[_+�Hwꢞ���$*Y ���% �n<.���7.T�G=�0�Թ�|É���Ovtߴ-˃��0�F/e�aw��f����Y�q���QϷ�9"�9c �Ԃ��*stl2�3s�8�EJ�N�TK`�()�4���?�U`�z���N�C��w������?B�L�+�3]c)�r��BZ��Z�u-�'���v�a�uuX�Z�Z����{��Dpy��y��?�Z���l"{��Q�o93�X�� ��BJtCdGPt+_ss��N\:��1<�#:nj�22���k�iBK9�%z��t��eͻB�Hr!!����-�ɘ�a��25� �8q�8 ����UEk[[�:v5�����.�6�ӊ)[��?k��8�3�{bU�`7v%�`���Г�sV -��b ���x��R���|�u�CP� �5A)8ۼX���� �܀�7�r�@I3�Aa�fI �;���ڲ�;�����4�ƒ,�Wv�m�V�*l��Cp( A��8�҆i��ϖy�q��J(ؙE�m��pTS��Nn��M�ػlpQ�����/�����:s��B � �'b'���!tl��x��Ҫ�~U��c/�3n�DO�D�o�;`��%�d�G@����G�AbA�U�Qh!.�P�C^s�.��C�Ekʔ*��q3��������k�O���8�DY�GX��m���YW�6v��3�0�&��KޞZ;�c;\����"�"� �Sd�"ِ�M���2H��.a�� ��83 3 ��l�������l���n{����j�6Ha�{FsV�����M�a����S�M� E4H �&W`��I@�<�:�IP� in�Z+���]z��/�$<��.���x@^Yi�X�\A���RG ��;�� {��n�Z ���Z���s/|��>��t��!�"""�B8�?]ę����^J��A�%�J~�l+����l�/`�;J�x�@w�㈚X+bH��;�o�'aN:�|3]�?u��^U^o�4s����G��G$T��m��|LAL3��zBj������;�i�2�6�Xp��o����8�Daqx�D������|�REc^ck����I�s�X�*R��]�Z��M�bاY(�#k}]�٣���������δ;�~�*���fw���nڮ�i^�k�X�5��Ŋ`8A2,�;��|�Zo�{��t�\_�������<D�Xx��n❪�?b�(��Y�oJ��4���W��ڊ��Em�z���EŃm��O�x�>�VpS�?�ۺ��8�M]�E��I��ؖi蚪Ȓ( �s,CS���~���6�C/��c(:��k�"KM8�n7��|6��n��j6��L:��4�]�2 Yz>���i������^o-3-b�{*�?��-�N�a�;�� �=���$z��'{���3�5�~�����y��Q���Y�$���M��>j抓Id-���٨e�m>�/&I�����Z��ؔ�]GO���9 ��2���.�����c(�?��A��1�R�5"�f��6� � ��"��+�\�AZ�M�]g�+��T߭���옎z�����ڈ����z-4(ր��g���P[l!~ۑn��` �M��%'轟`UhR5<�3�B�,ra�>ذ}�ɧ��H�!'y �'O^�kq�Q���3�`�͞!��F�<7"��P�oЭ-N~�:�y5�ꄪl?Xc^�>LV�/X ��orYQ0�&^��R><�7ZK@����WD˦)�h�%�'���/�c�pe��kD�K�U?ȱ��VHT��]�D+��x|<���*��K\7"�Y4^غugo��*�NU���{�&�\����r[�J�¬��v�;b��+�Bp#�YC%�?��P8I|*6���j��yܓy��C���M�bێ�0a,u���h6�nq��5E��*|�@faVZ�j��ADA��rJ=�E�`\��-K�P��0��6�m�ؠ�.�>w����Za�����D�.c����gc�y��&��\�,�jԅ8�g���#��u��7z��%�"�FCw�c�}����_�f�}2lF/�!_r��m�V��C��kHGt�@K��qW�z�ng�&��3{>w���U� ����n�п�|=�"7b���:v�f�&�R`���͝�-O�y�À݇�Sp�ۼ3���sN0�8��s��g� �2�) �{�|0�k���BU����7�PK� �Zk��h�E��5����b���o���g&]JS��������/��N�|�gm� �R����U�>�}�d���ֶ�}�FY������M淳x�lS;㱫�p%/V�&qj쉿0)hI *K�f��R�h��*REZ�(��n���3c��<��Q�WJR�R_����ї��(v���_�}�Bd](%Hi�Rg¡���QOk$|���t�����{��P3#f/NEQ*���ʧ*�Z���^_�ULXxa�A�F"u@p���Ua#E,���f�a�O���/�/e�I9NW�2�����X�3�f(N��"�/LL�uپ����~���P��k̉�Q�ؓ�Пb��3*G�Ԉ!��&Qg�m)Ga̚�Cf�z�D���h]0<+�'Q-��kU���D��0��i�q�zwY�T�I}���;���:@mT��,�3�h%1 �b�J t�e�kC�R'ê���7��5�Y�����U�EN�$���hmT�6�E��uP��U�W��B�:|B�D�5��m@�|3��R{/�kY%訣�4.�%=~�5s�s�o��BW1�g�GK��߈���z�=_{�q4.u��[���^�v�kf���V�:`_�٬�Qw������ɯ=�6:����e*�YY2i�<X�ϱ��:W��t��!��y�������&g���bS�%o���k~��dY�����= M��X��V�������M���mw�v�]��հ�,�x����� ���GS*�K����G%@��� 2�~�{ �%���G�@pCy4E1z��N+c��K�Y<�R/f�:^�io[B:���5Cs���z��G�:�l?�õ5����U!7���� R�v}���4�b?t��IV��ʼn��- ���'��ɇ�u�:n@Y��X���&�(1��F��Tq���-��� *2�e��L������m�tNs'@�@A�^ax�>6��ބl�<�X���w�jU� �W��.F٣}�xm����_,L��rΫ$�̪i�B$Ո���MH�Gօi��|� 6� E1eq ����s�t��$DH�u0C�\���@J�EM�'��� x|]͊ˈ��&�&g�kXz3VX_ؼ%q��I3�6�K( �f��a�P�a�������1@�"B�*F'U�2�}!�2�͘@����x�26��~�'~>��/�=�7p���M̲6pbx����Z���P��iP���Uy�Co��f��o�}%Q�R�E\���ڀ���"�R�h�g��@y�b!�4���ñ��[(�>@U����m�^[�a]��ps�_�=N�E�XHAn*Cs��h�F���:�T{"f��U�n]PȄ&�b�B�Jƀ��R�� y쨢��%p��iR�'YZ�w=;q�r@�1d�^`+b'1�z�1n�&�_١P��LB9VŃ��!R�`�cbm�h#��{�Q��Ƥ4o`�#���X �&�IJ�G�o�q��X;���8��[l�>W�b�]w�d�-���4d��;1P���´����7Ŕ��+J�%`��5B���Q�-�E�ݍZD��[A��R�$j�ؼkR�m�X1�b�$�2�@�ā&ޛ�%W�:o�5�u �:l���@/N8�VRU��lS\�c/ڊмU�N���:�S��fS��'��n����pZ�f�!>A�kn�c��66"ų�7;Q�\G��_GGfg�YD��V�$S���d�4�c�3e�ϑ�r�?��Cz�y���BUL�!��ʧ�©�y7Y���Aʿ��=i��M� X��V�S\X���E��i+���l(c�Jb[�l��)��"�g/5�M�,kb{����[XJ�^���w��~��-��6�b#�Ʋu]�Z��ńY���´�f�H� �K �`��X u�s�E���c�ڜ�C���!��ȼ����Ncܸde�j�Qc�Ё�r`�UoMd }�����Y�[�^�]>*Cv��`��:�Hy<*�،�����zM��%�)q��r��*�*�~Uс���?�t5�E��?�q�}�Y}� ��q�d�]5��BQ]��R4��T�˪�H$E]X{cS��n��ǘn�~���Є�{cHg�P���#����).��9W�z5�ΚȀ �|{��A��zk��i�k+W�/�)�b,JƊL�� pj����<��N���~�|����bB��q����9G�&5�*��Q�tV�a�&ABp/��rqg�5�D��R �6YU��ciZ��-�����G�z��0����F��/$-��k�Y�9tiЊ�!*��X2��z��ZU�ɭ�XV<<�U�t[?Ȇz"��i��#��T�A�G_�-�,d���x"��=?`s��"1��UO@�8֚d��Q�K�(8^|�q��1!硠�u�nx+q9y�6b�W����ފ3��̗�g�`�����q�_\&NX?�M+�X�mq����K^�ߌ��~����%N��h�X>�8q�y䡲�X�J��&K���\�,In�VN�@(�m�MTP�T�td��E� ���Z�`*��@�E�#���0r_ �jC�J��}�g@#v�JӪxQ�zw ��{Z�:p�rh���6Ŋ��.��e�X�Z�����II�+Y�mZ[�q}P����^��hnv�"u�~ Z�1�ٹ��15�fW�N�ݝM�>�1ḡ�`~;g��u�0�RZ�͜�]��u^�h^.�m�"둻̨I����I^>��RV������luJ���z�O�(d��&�P�ܛn���c�5��)��~e����J��"�8�ӻN�1��ؾ�N.E��G��j�Y�'٠_g_��-Å%z~m��oUT�8���+�|�^P�R��]0f,�X*� 4o9��IcͪVU����D;dD�A��$Nd<������)�ꥬ:��R�!ESH�����J+G�NI�uDN#��n�(X��Q��r�O��an�S5�Zا�̧��ڼt��1H/@�U�Oo�=��G�7���d�i @'L� t�*b���z%��RU*��[Lz/nP��aKpe�ܰ:;�!(����#lBK�S� �;�v��4���{����Ӯ�Nh4;����rf��|�-���Z2��4���rBw�P�^$�� i�B�UM���Y!x�w���&�-_���є~��{����z�?�/$���Rk`�k����I�aʣ]څ�Rns�%���,E�YH�K�MT�[i1��d�hS}�b��8��9�Q�W��2���v>�"q���M�Ѣe�bHB�xc$��#�g��b�w�.��d���r�L�R_�FvFPuw��h3�#��ǁ�`�(�.V�1ʹ�`5j�ڻ��U��ںj�綶��r�l,�Q�����E�v��>w��A���r��ϐvɫ��LU�)�B`\)�愙.�4��w@Gy����M��-��L��bvu�4=m� :������K*܄�b9)lݘ����eq�[��_ܙ��_�{,�y$[�e��h���r��zaݝ��)�_\m�}������lЩ�]�ضڤv�b��OΈ�8I ���B]���G}�_2�;� U��:ǀ�꾯|k6�z�TΣ;W�nts� �-C��^}Ո.Z�$�x0�Z�+n,µ�ʼn���i2���s�P�h�[�K��˯��L `c�t�E�"T�g��~#if$'C�3LJ<��U���|�K���F:^�l���B��(�5w���4m m۰�{������ihØn� Bm�TMw��\�h_���K��U��d���lP�S�P�p" ͔�Dʲ�?�"���>��-�+HQ�2�f�愞�^l�>�R>���ߢ���C��:�8FTA�a�²��eN0L�� �F�&K�����7I,5I�&�p���lV*�(T���)u��f��u���:P�t�\b�&��y�,(V�e 7���ߣ-)LaA�Lq$'�I�˾D��t�T�#dBH��T�?H��͞H���H�^��s%��� ^��k���.�4z� �^��� �iQ'<������l^1�����G���vq�����a�<Bf٦Q�6�=�c=�a�9�ɒ(�F�.�D�Z�)�A��ciXp���l_c�|Y�(�KX�!�J�/�VP�ݢ��J��~Jԡ�VV�n��ȹ!j��f�0-�c���mPVuBQ���.|�f_<���6?���*B���7Y#��b���v�W��@]���M���e�kQ۲V� ~CʭU�8c��靟��ғ �ȁ+���V%qab$����-D�&���*߸ ����y� xI����$�i��ǵBR��P�ɳ�����lC����G����燜����,(�ŻT�yD�2�v��-b)�KM5A�EF�}���$���Z�?3��z�u�3�y�n�``�K�ͷ��`��Ȟ�uQ�����9�q�KO�W^��a��� ��[� � P�Peb�q�[X%�,*%�Cu��v/��G�_8�Q�M����a�?���I�W)��Yq�>1'B�$ZB�'�{�g�D����Ǘ�b���R�t\S�X�ܩ�k�ujUo���Xz����a�n��{s[����p�V0��oOv�W�=i~�A��x�;b����<i�$�Y�e|�\%$T3���kh�Q:7�o$��<U���Qztz.�j�1]z�&���|�w�υ���t<8S|r�H�U&T���ߠ���3_��}�>��6����<�J���HKRVK��B��M��P�� ^�}?��r��Dq.���Q��lN2��ȣĪ���R!���]�F}a�5�CEO�}W���Z���k·o$s}�/TT;|R4Hrg���H�IȬ� ����� c��܂)���4���{U�Ҟw�d�-F-tǀ�76ȃ�,ޡN�����f��ݹ�� njKkX��OgOo�O��>h�[�?�[P��j?�[К��e��>�B����m'焇��je1\z�a��L)�}���C7 �72���mT c=�zj�g�#�;���T�����Aj�1K!�+�(F��������� �D�z8*�Sev�O�Ų\�_��H�|Ma�;�A�k|��W~[=A�H��z)OH�Vi��!��k��<m=�h�lkU�n��"�ﴊ�l��Ew7b4�}�1=��@^x�nbKM)���8���'Y�siw?�O�����o7�D�ψ�9�d�I���,Uojf��AbT�awUʏ �F�*�d8/��I���%�x%���$g�.�;��DUj���崐�Xwpt��S�.wC��F��kQ�+đ�l�[.�����:�E�DK��υ���`�q®��A�rVt��l2�l����W�{�|��o�e6��[���^g� �a����9��%sJ��燄��f�6^��?F�c;gML`(��(��n�1�I�o]��{�[$r��[��8r�L��k&ùY/�'>�"j]���G`�I��N�o��*��6��Vh��<� ���t�pk�E�?x�3^)v�N���̊1��u@�(~|k�]b=<ܾ6�9�P��Ϯ� R�ᇵ��S�]t����tРUI��j��ف~�n`4P�گe�ъ�c�����n�rM�&|��c�b��l�����}�C��4�8�F|��O�ϱ%� Hh�/�s�R�_Z V(�N���wŸ̗]�ߍN(�-5M�`�9u��(�~��r�0d�)ڻ;l*�����dV���n0?����U9S^4�����>�3��DƕR�nx���VE�#WK�߁���#�=��KE3_c�N���P�t��6��e��+7��f�����`�� D���Q�)g�ZF��E��'���k�J�-���K/>�B��=v�ˏqA�;+�H�khv���x� p��GS�0i��8L�d�h�z)0�IDs���o��ڒ)ܐ���ymMU4�Ʈ�rFٽ�<���c����e�3{�3���3mB�d��(��[s�}N�|f|v}��Fb�[�o��CE���Xl��xO���zkV�-�L�Q�X�j�x{�#7*�!���"��#�7��th%��۳<��/&����1���SJֲ�5��ި�V�~Z���-f��B��E�4 J�A����9AqZ���jN1Z�Wm�K{����.U�78q�r�<� ~��]�>����u�����`2��U�g(D�� �]��j�y���=�NW�]qGc� ���Q W������z�_���*=/�j�N@����J+��L��b%�!U?�� �@jP�3a#{�Lx��=Q��p�ҍquɱ�M�X���e59xx�t�d�_%�Զ �t�٣!�Dh�L�o��|C�ݸ�*� 5@�4����9)7�T��!�I�ә��*���ɣ��8�����Q�����Y=�%p+�|�Qm�*� ǘ'����J�ݳe����3�N��:�Su&F�1i����h PB��xl]��e�!���gu�/6�3��ˊ ��hVyTn �C>ΙD���ו6��^.Z�������Lǘd{��7�b� KڇH%������ +R��r�<�f�r�LJl�� ���BM�?C�/�y��{tv���+ 7��#������b�b��z/�6�Z�kzw�4r��g={���G�ϔې�ǔ�{����2%la �$?S�خ��:��W�M,e���b��C�*P:�kM�F�Z�\����õ��㫒~OA�9�y�3'hP��C��c�]�<=B�8ʪ�﹎�RuB�:g:�ƒ���Ӭ`���O�`O�:�N�i�I(3_e�����1��r=Y�)s�ͺ.v^�N��︐Z� ins2�V��1�,����ʷ�Z��K8 �Q� w!�ƪ��n����3��kc!��o�6c���"'/H�M���C[E&V $�+��nKR3���M�c�Q���T��\Wߤ�u홎M�:��7��y��| ��<=`�x8�����B�Z��l� ?���4%j�W�_>9���%/?7}�C ���>���<2�p�k{ɚeQu7�i<��4$q��*�f/v��I^��k�qX���3��1%��KU�7����P1Ȃz+������VvGCR)�P��� z���6��)�����cI^E�eE�7 Ҷ�gv��@Cf������f�;��SZ$�+���*k˥� D�Vܿq�m��W�7��O��v,��d`/�)Ջ{W�q�'_���?�F������Z=I�1���0����5(r�er�v�`��K� .d� �\Q�43���h�ůhK.�g�ѫ3�U|_�щ�T_�q^K�j���g9_�=6�&�K���^�կ���R�z�-��K�ldc�Rb���gņ�D�P4�p�̼t�I��M��{���d����ŋZ��{R����0�I�ӭ�w�9�תc� �̶Q�$� �KH㵗s�l�n�8�6ɣ.�����D �"B�� ��� x_�{w Y]]w�2P�x'L�7�� ��1Q�4� 0�5�Oca)Q#�� ���H�W,��s�T�#4�C�2�)I�����M�vFv�jӆ��$�m�S�N$(�9#���a"j��e�T�Lws�L���g�*��LHIv�~>�7��w���$���̧�:N�8�堥ėO�ቋ��5�:�c<3T��0P���V<2�5S�����{�v�?8� gyA�<L7�s�� �f�����=���`���{@�1ҭ��!V v���� �q���I���4�a�ly��р,;A?T![�ރyhS0�T��b�Mg٭�����i�(�8�.�<��P��&�f�wN��x���ǒ���%�K $�y�gS'`���C����e�tXk{9$�䖋f5I�n�"�|"��+l����]� �#,�|�$���x���XJ�B����m�����Z��J��rF6Q�*���5�,u�_Id\�ƛڕ������i6H0�\3�$uɌ[��RS��p��>So_�!�z�M�A,�V��|H���9�j��RJQ���m���H1!$�OP2%S�lK�*��wjë�cM���3�SM�Y��8�h �IK}u�$N��'�s_/�ʆUF,˞��W6I?��ʝ��s�h$Nq�N��i�n�W�ϐ�.]&9c �m-R�V��ҵ����3��q8ZTЏ�:��B<&^a�{�o�N�[ac>�^��Lk���y/_Cʕ�?�V]T�M;�����3���jގ����Ū�yyz����-�0���ެ�2�&!a&{T��s�*�[�Q'�>b���$_~R��X>(�'n���\�U n]8"���Q�|:Q�E!��ې��c�xx<�ßǔո�l�]m"�-�mB�pL(H���-��iB,L�A��%�J� W���Mv�fBWE)����ph1���x�q43���jCUr��M=�J��Ǝ�_�Ďä��}��KĎUH Vϧ�YC΅���mY�H��T� ��]\� �]d�GF�D�ǵ�(6�20_�"���e9Ъ�T*�S���JJ��S����tc-]��s��m��V�]X��z�\P5�xtY�F�'������:�t�wp�)�/VVT���k�G8�O�q�ݮn�Ϊe�{��0�e���M;Q��$�'�Wa^'��� ��j@}!)�>B�^7,�L���U����NW�;vc?%T���Լ��`� �3���ؚ14+��D+MH��J�qwk���I�V�(��|o�Vy�i��1o��Uա <�f����X��\�[�&�U�o$�"4�`����ߢϸ��Jû%A �T��C�ɨYf��k��}�*�%V%]Aa��A�A�@9�w2�V/��Tke�t�VռZj��:R��Xf�K�T��;K˯�j� _�R'�ge,Z���?�t�^v)W?����iK"\{i�q����nB��%O����"jpZV_�0�`�w�W�Ӓ�~��� p��9r��ؒ� �x7I�N�xm���SG�+QHC��-�������b�yߍ����}��qtih��(r�8�/|���LKi��モ6�T�B����x�6���#%��`0���J]V�1j �YG�t0^OiC�d���9�|s������q"��7 ��m�ᇘ��FJ�ڐ���4�o=�>� U�o��1��\�1k3ɲ9��ǒ��=������8_�5��}w{~ɦ��EC>��!D�8����{�(�i���^鬶j7m'`�5���֢ �xد��ۍ���$��}\���L�\�?X�̺1��l���*5�{�����m���k�� �x��Õ�k����B)t+���?�o�MD����!�J���#���Tة��1��)�ϯ�=L#���^�������'�鵩��7�0����hE�&ȏd� �� �ָ�B3�L5q�`o�;������S�H�?u�|G�qkD Q�>�?�#��.9ރ��fuHe���N,�q��P��f<��/�woG�g�'�hǹ>�� .�o���RI__��T��y��N*�y<�K��袑�yb���u��\��O��',�pbP�);�~hI�I܇�Tp�|,)�`��^o��������?��b��3��w�`Oe6'���D���f$��O�Y`p|[r}:/R�ٻM����O[� ˀ�F��vb?;ŌI��䦅��OȞ�B�D������[q-߬HeJRS�g\Q���э�5�#�U�z�-�3E�R�ॽt��!�>�J0H �>��S�0c�ܪPr^`.Z�V6��u����$BH�;��a�ɉ���� �]Mޞ�o���Nb�n�~ �ۦT�̿0�?�;�U)�Ee�o�x���epAKC����2��K�<ppظJ&l��� ��E/��U���>���,�ڻ��H��� �'�De��x�E�:x'g��i���hS���7s�ʳ������O^{�w-��.�ݛnZA?��4�ޒ���[h�o����H)yJ��4�z���[X���D�Wi�1Hq����HX��(��*��撟�F�C_ R+�#��n0:���;�:F�K��S��ЌK@p�c��G�`�sȡ�~���?k��:R�|����}I��W��3�C�a�h ��qg�)���.�>G�Rc$.l��u�[<kZ�)ųk��#B�Ȯ����$�^��)a�o��.o�i ���~$�/�����2<�ҏ��`m�)��^X� �(cb�Q8�s� "t���co��UZ�8O�������xv�M����ڕ�he��S��碬J5c�7�ګ��2�~-�=$' 1hq Q�n��7y7�{����<���G�&���#�F�_�Y�B,�J��(���b��'1�'@G�3�oQ0ʣ��E��6�c�,(������F�bW��s:�[�l/�H�4ҨFO��=.4�YgP:��ӳ�Ǖ'�7��6ǀ/#�#�\?D�0���5�k����B[�$~-����� O�U��`�]c�{'Z�"�-�Mr��kJ�{u�9�D��Y��S���jD���w=V��E��dB��Kw��U�&�.h�6�"�5�2�YW����II�_��]�ִ�f�݅V,K_ҵ(�Ÿ���/�κ��X%��� ��^r�����D�u*^����ʁĐi��6q�0̰s՛�p��z��BYf����7��m�b�?M�sS���z]Ӛ��|����S��Ç�ӧ�����BHޖ����L�*רu�X��@^��K���֖�1y@;���8���m�Kr�9P�jŴ_�yn[?)�@+�EW�Q�l8��`���;L��-�C�2l��-p4��őFb� &;�Q�+N�{_�J��ݲ�DNNZ�����\ O�(^|���߉�;y�Y�D������i��߳�LmR����K�~M k�"��]u�#FǯWk����'�n�P��땁o�����4.��<�����qoN?���!yA�D�k�\�A���5���P���6��̿wyxojK[:��hY� �r�ғb�ߖ�����u��i�f���e�E�Y&o`Y ���R-ZC��JP��W�d�U���]�\]�˫닢�����(MW�QvI�gߺT���i�Bml��=t�>��B�9q�j�>��9�l٪,ep��\!���T�H�P�wNޚ��)�<a�:�m��L�B&����J��L�Y�XAO���;VD�� ����y�1~&�[���s��L=H�����!Ƌa�t|�x;Џh_�q��'�5,��H��s�0!�`�v!)���#�#�E��9�fUw5�� G4�f7�Bp��� /����?�ra��F�l,_d ���c1�nU2Vα�E�EZ�����HZ�Fzp�g32V;4U\�auf}$yik e�մi�a��a�O%��]���q�S�z��$0�N�j���6�ų7}�[b��;��c�>�P�����ը�E�� �&m�QK8%x�1L�H��ƞ3R���I�`Be���UinaZa�>\*�F�r�&E F{X�n�%�L��g�D�&���Awez�����T�����9>k �"}�!Y������RWaI�E��4Wf�'s�r9xE&Fj����S���A�� z\ ;����>M��E�f�+�M�4�Ȣ�9� ���x�,���������H�⟹�����K�#v����`���\4����ن����e'=��f�O7qv��������їŷ:�?����f��Vhb��(��! ���'#�!<=��K�Y�}(���C�@N���8�CU�Z��-[q%�/�z�푿���k�Z�䠾�<w��<���x ;�\A�ܫ*)\�߆mv�^���^y�;�xc�TyfoP�G��ty�K�E� �+I�d���y��X9q3� b�x������w��!RbT���`ۜN�S�1Ze��b�ꊫ��� %�u���+��`vC�rX�_Ue��HF�tT��L���UFh�x�����~08� �'�ΔФ[>��4�=�>�{\ĥ7sȬ�� ί�2@^#w�D_��G�r�I��Mt�J���|����_mc+P�C�35����og�ܺR��;R������f -��3 ��/�LX�q6Ƹ���o��,�-NJ��:�ToH�s��D�h��b���$��Hu���O�����k��I�[��U�W��[�CM��{my�P��J���U �)�M��6z@�-0c7����Si���7����-=��3-�W2��LMKQJt�t�B4�)�75}��ʍ�^a��ag\���*�i�5�!u�{��.�sSk�F�2S������s/��E#��:��&�D�J�4�O�Տ����y:��m��(�ʿ��c3�n���2�6��=���;nl4Q����Q�r�Y��C�|� g����K����r�ZY6�U�9�X��%���+��t�����,$��!sC��9I�\��|ls�j�&�V���C\�&-6�g�q���h��e�(� 4O��,F���-���خ2��7�Gv���Jo���>);)��Yˡ!U|'�����4�/s�O)y�����o��ӳf��w�t���o��,�K��% �����~���a8:��2�ګo��}�����ۣN��K)��y�<i�^�_�0������eL1�s9�ɤҕ����a-�% ���Q� �b~c���L���J�E,���u10�O��ˇ����!c�"�G��+ @h���%��j�|��Zk�v�5��1N)7�����/9�H $���ܺ��Dz'�ζ3;��UV���L̺%��Am�Z���rȀ��@���Z^I�˅[�3-��q�7������CVNNM��Ě���#�HL��n���y:-& ��$"lG�=�#Q�D%({<d�%�_�V��^l��Q4�G%�՞s�C�+�H���,\�8y/&^��Z/���q+6�Ni�I��q��Uk�hFi�*y�~D�z�f��h�B�_=�7ᓣ�+����I0+ZOQ�ֳ���{�zR�()�2��;����)�S�sȭ�~�Y�u+���!�('�,���I�k��ϲI�ް�� ��$g���:-�zؓ�� �b��a��6_#T�Q������7�Vl"��8K>o9��6>_:̤��1���$��~l�l���3� >{�KVQ�i�]�Pc�=sT�Ug?�f�����J�;�(�L�hV-x�K�r�ڎb�� ��r���0�)'�IH����u|�ඦ�)�ꌸ�։ږ�A��y���y`U� �T���� ������5���d(ΝA]�<��w���8��4�������yp��3���@ ф�2�n,P��m�wvR���|ۣ�@\y���q>�����r>b���&Oo-9�]��%2w�e�mh/��)�d����oeok�����:>�����2 4��y����r�r6�gS�-���n�!;��ڼ�s�`3�4f���єM�eT��)��=�����'�;!�(��X<�ةC�Ԟ�+g=����A4O�jĆ���5���x��m�T`_�r�S|v4ޥ�Wp�F%�bK� K�ʰ:����/�)Ȅ��v%xE�_t����%�|t#{���ӻ4(�F�B� ���$D�-�e��8��QI�R~�9(l���t�<����z~�� 7*Mrc�p #R��֧������D�_PLߓ*��K� ������Qν�6�\GK��]08#�B+�hze�?���]�(��ʹP�k�YŖ��;�2�n��Q�S�_���P�Gr߂9Y�Ԍ��1&�O7lN�8y2)��E�&V_B�,?�=2ڶ^��gd��S��;ɖ^�y ��C}.��"���D�͢��F�i�mm�]�\�S��0��fy����(��l�Mu���^�'AL�[�!�Q�}���J� ��D����z�o�s�zN��R;�t]��-��FO��7O�g�����G+�O#���/K9I�g����z��o��QD�rA�W�Ї������������_�+�` S� �|o��/��_~��0(\���2@�����a2V(�$��������y��!�?R�R�N^՞$Ow��Cxɸ`R��}�q1�wu���D�ҽl|Xv�!.v $Y�i��u�Bq�"_��U[CL�<�靪9(4�_cW�K�?Fr�����<{�)D��:v%�~�-�;t�B�����xf�2�X��&�vU&jP2��$2�σt�u��}Dw�x`�z�v�� �+7��z�ս`>�x��b�Ԯ7�X�E\ntܾ�B���F�))��/BU�k��B��I<�zxc����"ꊒ�F��I�q}Z#�g�?�cD�?F�j�lp�vԕ����|b�(�ؖ��u�;��/8���?�[!�|����$%����{=��_Ǖ�Z2Y�w��b&���[kS��+3+=q��ϥ7� �$�.����Aޖ�Ɍ`�>]�P?X��S�{����(t���sq��U��Dxx<�VP\8`cL������}-ǓH����/w�$�E�d����]���5���#����M5�[(�+�����PZ���,N� �7���ߐ��|ntk'e�!���9�M���*��8r,k�w��VX��dN���p?���rIR��̈܅��T���M��M,/�"�5�7V���SE�WCt�H ��nz�N�̆ΙF�F3X����V�b5^�4QB�:�n�T�\����FBt��-�t-��a��4a��V�$ �(���L8���px��(@+��`�E��b����0��������9Bj�I�7�`�< �8�(�(j ���{CCe�r�#��ц�+Wk8@7��B�)�e��s��-�&�����"���,�s�Ɲ���b,<2 �����s��:��W�0{!�(�A`�"V�F�?������WsNzl�m����p焳-����-���~g�]������as|9#;W�uRn�z4�3�q��h�4Oi�yhAi_�>�k�����F���;�����u� �����ͽ�ۄ��v��r�O��O׃�����"��o�"$�h� `a�.�EaE��m� ��p+�`Nk����m��;c� 銋H/�u���LךV��:��d�҃E�^����N�c�)��n�`R�Y��hG�-�#���Q�%�/S2�x ���q�#j�t�C�S6��8eP�1�5���P�RQ�k��Y����ݱ������],���� Ȝ3̊�n �����jy��*,�S�A��pT�h��,�v�G�`��&�w[L�%�f��b1�9����7G4�\���1�����s� lD�pH��}�)b.�CCY&� i�Sg��r���R"$yE3���p����@d��Y�4�u�|a33���ݙUV3!�9P��c�}c�O���r�ŭ�&��2�JWL���nb�U![\�n6� {}�dgRQ�~J��I�19c�[�WP�(1��Y��A�P�~ջԷ�o��0���� �!�^,��b��3#D�0��A3yI���|�\����7��1nT��t�a3��X/�U�?<W`���T̶\7 ~��'�f�J�c�|��$Qi��XU���֤��Jl�G(��"�R�vb�{~*�����j��{�m����� $p%We�������(ϖM�%&;�)���� (�O�d�'��r�?����6#�E�=���$�i�{�w�#u���`���<%,�&�J�c����T�~���4��@f� �� ��,�8���"|�૰f��&�xSRi��0�*��2��7���:g�̮� �«�v�j#o�ܱM���|{�$���p���q/�*HK6�C���x�Y �Իӥ�jDĖ�8?��8�/�2��J�o��u��������_�C��B� 6xm������� cTU�Mh�����j����R��⺿�-��Z琖vd^O<)�>�j�Q,�C��,�����i������, ,+@�4Bz�iSz� g U��Y/��x��z)�z� �Z�<q��r�66�֛�H\Z�fR���\TQ4|o�4��6r���@�6 kNx���ѿ�Y�m�^?���?�C�K�]�t�E�T�3�K_20�htm��3 ��\�e��s �t�g���!���]�@L��-�W�����aE���&b�W�`uu+�Uk�e��E"�ȱ����@TԪ�%���.��&{r.a�fT�S��'�~Y%[���#�/����I���ۓ�D�!,=�T�>��M�$��ZcDEW(y�x�ؒF��inR<+� e�7!fV�<.}�XV�m�q�!�|0zFu@�.�m��|t���A�t l��hϦ琲�7�jl &J�-�{P��V��:�WfX�</�mc9�0��©���c2���d��Ae����.h�u���۹�`����Z�<vn��oe9Qd?suljfi<Gn��$�`��s�m�j�P�����?����V��#ʈ6��!0�rW�W�A7�3��eu��m;A��*�#��rp�Sh�t/r[ݔێYm!K�����KA�Iܥ<*(_c)��I�����jՒ���j��w�� X��"e�7�e���>�)�7��ed;y�l�@ِ�&Ϥ[�w���rg�ZY����^������K<� hx�N�?��s����0� X�+�?��'�',��W,2/�P!�RV�j��Zu���v���T/����'+���I3���c���9e��z|����y�#��c�X�'@�ܟ$��5�&���[9m�O+Γ��BQ3; 9���f�K`#A~/Όʶ�|z�ѓX�J�N��{��Ak�~ϊ�!f��� �6���"ь�" hA0_�� ���&khnu��O6�H.3|��`HW�Vխ��o��������/��W��j7�{�k˹i�:�l%���Z=�����쭛�%HL�\�B_�=�R�j�$�A��-h�A�Ə��z:����H���{U������k�k�5Ж�|��ֿ�0��/�����%�|Cl@����yͳ�tM���Y�6�=:5��Gh�� <��2hE�r�ƹi�u�#�sI�#B$C�c�n&�S��3Q� �J}t [�aga��xzj�U/_^�Gnnsv���c)@E]s����Ж�?[�GM��h밉Ħ�n�S�B�����M�3pqze���3�K Xs��yݥ1����#W�:��^wFZ��k��ި�gH��qI4hI�7���˯�V-4�i���g� ��:�Y.QA�ybf*ʇ���2����_e^���P�p�E��QO� +�TupV����m�a��K��Li�03~��F����Pw�1@w��eH�&+~2(d�B��������֒:�3�9LQЈ>Q#����EV�ro��T��O?9��Z�H�H���ͷ&��db�k�,����q,����,l_6�'t������h��~x�����a��>�Z����o���P �~�[��p���5�%=۹�[o���:=����Y$��qT� 7��6[[k�}}��_�;���Fn�@�D���.���x�MA�3M= �� o7�F�c�C~:{>^���$�[>�{kު1�]K�fsY���Os�@�R:��b?v��I��gk���p$�9s�a�ז,Ӭ���$�{�T�0��벳���d�ˁ@F�l8����:�5u���A��Ni(9-'g�\���z5���.�~�=�!�|r P�� tjQ6=��˗��j4y?Jt���[R���j-N�5�s�%(�Wk`M��?����b|ؒf�No���͐�s/3���ހl+����28�y6HH�AF7Q �9vDxg%h���f�ᛠ �ƑG4ɹkª��s�kj��u�k�Y�iGT���s�G��ffΔ��r�} �eM{H���r~[3�0x�o}!��y!�� ��aE'D�!YN�_Q}�Q��q�Us���y �����{��E@"����Oj dn"��I ��T�w�)�o�{���=9��P�5b�mk}]�s�kb{�X����szrX�N�'�f���Z�v/���PX�����;3�b�Y@TqB5�jJ3��\�����w��(x�$F��"=��v %��E4w24҃-i�X/�b-k���}��!䧥��t?z��H=����6i�y *^���EЀ��8���G,K��#�G�?����������� Xf��K�J�}� X�,%} ���2b��ZF���{���'� Yia��1�R2�z��{7r���Fa���Y�-���;�T�*-8�����3��Z�� �P�C�3��e`Y�oE-����G�=��/F,�˞�Ju+���L������/@�xZ18ڟ��1"�!�v{�FlԾ��`���!oq��k�ʮ�J��ᶈO+��dK�����}z@���� �F��"�W��[�l��l�01�q_����� a�/������K�B���h��p�.*�D�2��r}"V��A�F��i|/�U�ә��F���*�EI�=��@����K�wS���YXZV�O��,j��}յ��ۀ�Suա4#qX!�=�4�6Y�6�� j2��H��d�'�!N�g�9�% %֊�4��h�y�m� ul2q��_��_�;�{� �Pܿ��j�L5o���fc��P��B1h����0��I0 ;e���fy\�P`kj�D3�8%�ڌ#3��v�g������ �����`V/��� �$s���&� �TSZ�Y���h� �L�ȁ ?Ua�_?ރ�|���*E���f�&�n�J�>�a}����8*���� ����r(�"�yW6���U>�Z��#��r�R� �þXo%��X�%�n0�3���bPL䇡:�lg��lGv�Y��C���Q�^?� �Wp�̜K�x�K����#������k���b{��͔�>�o?w�É��β����'�].}hK�OW��̮����hA2x������u� P�"��'�b[�l�U��&<Z��R?!i� G�?�Ξ�E���ut&�1�m�6��B���/� Z��U*M���[:}��w"��Wڌ�4�4F��_�Ћ��kW�QA�o�o�@� ��}-i���e�P��G� Y`&�Pڛ)f������G�3��1A˞̅2���U+-��Z~c���,r��p�@v闷Zu�-G ᎈ�zP���7��Q}��C��'�%�|/e]�Q��O�ej g�����`+K/�.�aK���B2��0��f3������b�#���!i�VN��]�MSI�p?yP�I_��X'19 �Ď�:J��zq�A_��'��lj�y�<ݘ�'.����g��>�]�A����L]�y]�v�l^:���������j;��vuӠ*��E��~�x�˴�ڽj:]��H-tStp'����� ]p%ß�l��X���g<R��Dn$�a���������~�:�U%i��ZF��s~�8:4�U�/9�q�U��P��f2Eǘ��c���p�}��3MK���&� [�&An8?� �ri�8��'tͱ3h]Zc��t��|9Z8�v��y�ژՐy1��7)o6g'N����U��!�\2_մvO��[jEOf�?9���͵;�F ]������t>��"4y�#��.:*���J��lR�D�Pk�*P2�U��D��}�l�'�������O6sp��u��{��~@���{�ƍ���sT���&�� kW��L��JjF�>�L���(�sM<��f����gY��%ծ���\����H�Q*W/�D'��Sj0ø��V�UΌw&*Ic�s3� %�A�;�e��K��`�+����� 3� ��(���h4P�0��e1V&E�cA��a��an���KY�a��1R�4�<.H��x:�22&�Xkt��Fr¯��x��N��K�پU�s x�*����Iwr��>)[m�aui,��Y�G�*t)?�XJtRD\��v8��ENm`��TJ:H��(�ۈ�J4�DT��$�h�CYACMk�h�����Li��c�c����P��A��Gl"�y�~Yg��$�R��zMN�#2��U4�HmWhʹ��F�C���s.�$:��6e���B�Wc0��{�r��B���0�,7H��"���ލ3o|�JWb�����s�f�� ��f4�f��lD^��y�H�L-��C+O`�t�6-1�-�uP�c��`7 wu��4��lrq�Fh!j�/�,�+�@�b�y�J���Y�V����A�f�%��?^�q$]N��}���/�X�P�8�ФzF�a��� bh�~�- "0��ְdq��q���R��Y�IJ����_,�����B�*v��q�� }R�yb�T ��w����?��و�nFѱ��XnCmBȁ�*��@5H��m�j�G����<@���n��,��,��A�$� ��4�}]�]c��y��o�� ��? q?�O����I��13�ڳ�����3��9�礆��zK� z|7v=�O��K�a(B��P��R�������2��Q�R��w�B��P\���Ã�^$�I2��> \o�ib�A�n��X_�s:�~'�!ٶdK�-� �<��O��1D�71��Ŭ��k� [�<���<�Gƽ�z�D�����!��9d[�?z$�a�;b^Á9���hڌ�$sX�hC��I7�G�`���]�ݏԹ�;9�4�.X�q%6 ��|!#\T���̿�j�pH�r8�`L@ `^��?�M9����@�n��� ��'�9h��O� ә�`_��Xb1�q��K�~��E�8B``���l0=�=ǒ�4Uh�vW���Ef�l��욚��C�*�����v��hN;��Q�?G�j�^��|��HE��y���1_���1dO�⠉��Ռ�>F��j�Q��x(VE�`��f�5�=� ]�P�!��M|%P�0=HAc���������J�� ��J ����wo�ѵqc����Z�d?e��1��fQ����하/�/��U�m��N�ux����.L���&��i�VJ�=�x�yu$W��|��7�C�l�5�h���I�C�3r��ի��A����gM�0c&�i�DI��.�@i(�����~3}���e�n E��F��n��fVO�o�&3pp�vD5@��a'�(�gʋb�sS$�q�.7ޖmR�r"����|�� ��LQJ����_$T2�� )��L��3��̈́�B<�`�E�N��U+�U�Ab6C*hon��y�I����TB�b������ˢ�`��8��%ۦNL�7�I��^����FQUl |3�T�|�A���O��8��J��o:ʾ�6��,eN7wL�q3:N�B�o���CbYNXDqď�}�/��&|i�'��M�J���b��?1�����NjB�b#�R�~؋ U��u[��S7��Ӝ�>���,�F���>�r�9#'m�'W��] ��z�Ms3hxZ�8��c���b�m� ���c��{�T��Jޥ���1�!���?��ūe8�!ck�=&�,A��s�"\O��n!d�l�$��Ps�st3g�5J�G�R�&��9��^�^�yU[��o�a ��6/늨�-+n/y��n��L+4ei�u�TldW�bMZ��/�T�toN�Ƒ�V�@&C������K=^u�����m��O������X�|���oz�����aޞD ��=�Ak��]{8�v4y<Ci��aY�i�KŹU`܁{�_� �l�i�}� &��ʅ��~�2p�z@G���پ�!� 1cY~�QX���<(z@��^���k���_�>�ѹ֬&��$ �������d��C��f��YVv�Ly�`4�_���K���6)>++^��w���~���� � ۴5�n�}bE��=��� �ȧ!u�?Z"XO��,�wXW������ڻW9��^|y����~rnW��km�Dy R }�qlm�0����J/�2����H$��8��Fָ%:� x|��4�T���pNjT���r�,���zWv�z=��1>�g�*C�Smf�~�"�wy��� ���6əO�>�K�8�W��'��a�% �<���w1��ҙ�*�~�J�<%�%��n$&�������EF���"|���K��<�U�Ωf�B��T�Z���V�� y��۴\��K0^<@�����YoBpPN@��ʽj#3�i:�x�Ȓ���N�5D�EFtKVy�(�.�ijT�i��ӄ8MGxG��p�3�zV3��r �b���X9Ec%W�\h��͙���)��f��4���}=�r�b�۟%�w;��\��*�'g������Fin.�Ȼ��*wz`J_�=ˊj��%+����Jh����9J�ب��+7�6�˜�C���� �f�����̍��_;Z!e�LŶܦ�ܤL��W�>���E^�Z�0;�����YV���փ婢��0L�h)���8-D�A'�ȉ�#�P���0�C;����U�uűb��U�J���_lS9�x�Dv�!�慴6/XD$C����Bf��b�x���D�RJǦ�&����Wr��nϙG����������l<2�ȝ�PX�)����P߲��6�u$ �"N���@��I0�̦����H�}@r�4�}�#���$.�^h� #���5߸���)�����ɌO��7�j�H�m��V�{7;D���f��ބ2XY�p�� �;V��э����H����1⟅ږ~�T1/j�TF�{��L��OD�wE�,�p��٫�"���f�u9���m1�*Z�2�j�\QG�z�N���/��#�� "_ܾ��0^�"�|�{���8�0W�̵����y�S�88�db���k%6t ?��C�SY�]�^O}��Cz2h_�k��F��w�5��b��(y��8�'��U(�DM:U[@6/�K��SH.��Wj�%��颠ޚ�]x��a�8P�Wp�m։ۢ��.���Rg�.�m��h/�w�k�!�4��c�W{�;@�g'U�*^�+�M�E��C�o�f.���.�[ikIM��;1ԍĄ���m�|�����34��5�>P���c�s�A%��1.}�휈�-R���y�r����#į8�r�ɏ���7�w��D�~�|����8��XQ���ws�j�UF��2-g����J�78�q���%x�S��DOSbX�S�0��C}T��� �%�/���1���y�n!�s������b�b�ڠE����+/G ����q����6����V��� ���z��72��O��VF��`�K�ṵJ�Zo~�_qʶ�̴%�6���S���Sko�K��W������i�}���J�E�����-�(�2��Qc05�H�FȚ����@��7�r�-=��mX�y��Ⱏ�~��~�^Jˊq���cVI���ח'f/Όb��5X�����zx���e�,b B)o�h�)k�kݕ�+,�0AІ#n���Dx<��|)�4�L�:;��Ra19<�9�a��,cr���&=}��f���1D��;��`L),��DƏ4��c��&N�~��l䄡& qs��d�g0<�����]��5 �䜥��S�@OL����ٟ��t���}�!�[;HiUiU;ȅ� �MH��qM&�5�~�ŵ�=/���"�P�Ue�:��5G�+��M!�̪W\軝�R�^Ť�iϋ�mLiY3bW��!�E-�\�V��S®�'��Gא�)Ύc��E�1;V�2�Vv��!�Vu�m ��V$&Ĉ�>�o�KL*�a?P0�N�ɉ�/v�*��o��Ǐ�� �=`� �vk_P4���� �אC�O ҕ�O�o����S���J0��9��U��{��x�aG����u�������� ���f�����Q����T��ڭ=g��:��� �w�I��~�P��p�3̗�/U3o[(�A$���98�9Ĺ��F"���l�m��Ld�s�n$.�o�fe|X�\k�}��C����`r�v:�04J�F�����)���$)�=p �ڊ �o�!�_dy`ă K Y�6�sQ�A�g�8��Tj��Yb ��D�b�' B� RH_�f�;y���e&�~�H;o2=�NX8(�krk`�ߤ/<�Mv��4����Ϣ!���U�&��yٻ�֤%換#F�I�u/�$9�2�0@�?f?s41��eY�glb�K �����k<�(|*Bۂsp�q"�ҏe���+.`��=���DT�0���|"��U!W���&� rR��=|�l�A���WA�v�&���m�W��C�� ����~&g���ݮ��8:���5�7��AL$�F"�e��62���7���M��E�!p�.���R)V)&q+��N�z&Ҷ��e����S��aJ!iO���ge �+����d�h�ٳ���2U�}��ŋ��l �ϓ���J��|q���a�6WIH�a���L�}�u���R�>����3���5Օ��;.������B�-^̜q}��PE�J��7 h�m�[ټ��-�ۈ�d����[�`��+'���f�梐\Bx�yj9gW���OZ�X[�0=�d�<o����s��|iJu�ӫ�}��-X�!�]��C�w��~�ge�Y �,G�m�i*i���c艒��i�ɕ���`��>���|71J��5����Xx�Fơ1�wY� {L��k��s}a�c�M���J��_���|u�A�3����ԉ�ٗw�5��xX�4� ��){� ��/n7D�@���M*��/2���~jV���-U��F�>��7#�����)�^y�`�YB�] �3��2I4��E�ԑπ3�A�h��f�9���Tr�i�`v�Ú}�{�Q��Y>��a�ڐj�m�L|U��s�k@Kw�K@�w�,�H:H�)x����ǟ���"Xdi�v��?������3~�w&�<�[�����b"�l9�aK�؎h�al�Ɩ*� !ȇ�'��OHt3�1o}����a_O(W��l�+ͫ��uv3������%��GQv7r]���0�@�7�����ubR-�ԯ��^�8�_0A,�.-�zK��n����ɒ�6+�(�+<\ޕs�|�Y�@�)�� c��S��O��g0ƼO��9^e5�̥�R4���H�0h�7i1�8��ID��(n���8�Rʔ�ox�ܶK�e�/�~4gx�NQ��S� 8|�xn.���^��>�"O�&��*��c M���ؿ²�5ľ�j1!����z�!��(D.�|F�+���t�z��[8=X?� �oW���D�e��Ls���� gՇR� :���1�����H��T�U�*�۽lݽ�y�i���Q7��~e���Zح���&�Fj.�c��y ����z2�&ZjP�;���cSEB��z�N��my�9��%r�W�#�8Q� �8�^��KlH�ϗ 2�A^Z�]����)���1�24׃y;�v�&�Ǔ��ñ4g�qor��T��$���J�u?��D��P�|��M:�k�|?~7#j�ߥ�,D���ٙ&�o�KМ��֫J\�01ſ_�o�5��6��h��h��ˎ,�J?r�/�8o��2q�1e�=���VĽpa������7�??p��������cgX�J[�1��Y��.f.��Ķ����Ĵ�����ؤ��A@W�<�ATb.�T�!7e����r�a���! X�R?��r���i���8:��*����^n���t��0�Wm����%�a�ҝ����8�@�'�ɕ;瞃QK��5�1�Z2����Q�Q�g7(~ <'�|☾E��i<��i�b���:rDԁ@y$�n #A_RG��v�,-|j��8g��W'<���&�V��b>V�żH��4�a�Z�s /5��� ܢA�t�:�B�Ԝ%������0�.���6A1�w%L�GEm�2���:yX�m؆�x<�s��#��1b�2U�Cy��@�P��U���<9�H�M�-q3[��u'���0g"nK4O�-1o� ����677\� �N�x� i���g���CХ0�+ �U�<^� ���'�Q����V{HL'e�%G��{��� ��{�$���K�|��" 6D�,����APK����3�y��ؾ�a(���B �=Q��ORK�G��-��B܄�` y�G!+*$��q%y�-�.��01���l=9MW6�2ԥN��0[T̬��N��I��9�.��M��x�dxݡ0�J���<�(2���?����N�Q �<�"�_f��Z�~~� ����Y®���mE�T{e��V �ڙ�p)�J��s��>Tӵ�P�!6���<0��^Q�#�?���g�Q���K�\��D�&"됥-}���5�ki~�C�a,��_\\�iϘ^�C�I�}�ij-X�6�m�Kݎ@��2K�� }ɘC��:��/�؞N*�I49��>N��ΡC�Cj�z`]i�=|�Xj��0�bi�g�˃YQ�z%����A��;�����#6*��-,qJ�:ADž�rR4��B,z��O��ʡ�&�_M.�-�^�.����Г����<V5 i���^Q� �"�KE��ױ��-'m��NX�GH[S�^����߬���3EE����F��cP��t��g.E�U�<�.Z���d]�v�`�ɏ%7�XL)�:.]o� �ţ�����VC��A��W-M>�:������큔#�&�L? cY�3%�N�(:P ~����VF8�i:h�g�9[{�ii�1G��m�ʣ�}���}�#1쫽��U����`���ؖ-���i�,�6!5����p�l)_Ϝ��7�e�����*���F�f�@�&�J�T_<�]E|�B�$����T�A(33w�/m�}/�4)�z�}�B�Q����r˖>[��$��M�-|)�`��>xPF�,�Uwrr{~܄�İ8�ؚc�$V�3���)H�v&��id$ï���{���=ȟ��⼷Zət��$% K���e�v址$�� ��� .��>b<u�n\�����o��.�A]��3��i����)��AC^�q��R7�|�b�wł��l�_%;��N�D�A`S�qNbK~����<P�?�1��?ʦ�����1���m��}L9��_=e����N�����m.����F��(����Q��u���=����o�xP���w���ٴ����Q�<�� -����ع9�ʼ�izb���() ������� /�X0����f�b�t�FSl��nw�`�` �c)(�ۦ�$���k��ߒ��VR R�e?ɞ�R[nAv��O�3�&!�.�wb��j���&����=��i1|Xn��yFS��i��kKl��iA�������ѼpvW @%���%�c+�Έ)bRҪ���������3�hL��Rr��x�c u����(��ԡ���j*�|�*���h�_���Ɗ���^�q�c�q�5dQ-b!�(�&t��҃!�W�W�LÌF[`�`@�m�?��a�yt��N���)�� >�%���&�b��ƀv�/|����N���BtŽ"j` ����FJ�w�0�U� 7�g�^v����:S�)�%�(I�f(h��-Y*�r�n�����y�"���xS�\�T�ɖ� h��H�]zW�V�E;m�.0t�H0��;��qn��В�G�k��6�^�c��!�ug� �O 6^^Uw���d��4����*1L�����mѢG^�ή���ѵ��T��V�LR�z�����W%�Q�z/ %�z�K:�{A ���0�}�{���F$w#H���I#m�m�m�|� ���y�8{M�) � b�N˶D'uR�I��Ή��N��G���IM����C��"{�5[���>n�F�ed��5���jHEu~���86L������Vy�34�Y էU~���r��������x��3��:������m��=�k�Y�o��]C��<��ϵ�́�{�^�'c�f�!S:~d�P�"���������Rs�g�$�����ȭ���Տ��|a�ѥ+�%�f�Lc�~�.��w�i~���g� �-������M.j���Wr��� �˲,ju0�]PHD\Ħ&�"a}�/5��p>!����K�g,8H�N?��k|��R�7�W�x�"���"9��{)��FK(��)!D�����g��g�����%:Վ��R�m�����|���>�l�"F�v�D�5yi���F�Ȓ�!3�EHF��xԲ���TRg���;�R[s����%�Fe<���,}tx9gw5��s'|s����SBJKJlL����.mwƍG�Q�1���AG]ջ�O��{;7<��;3o�=��4�xr���,�Ըu�h2]��$/nn�0��+��7���|�.kz]�3����v�~�hV`**g��ז��Q�s��쓊kL��-�V#��_���"N��ύYo~�0{�ON�4މ��U��=���2ݶ�!��z�2��Kq����zg��\Ma��!c�>{n�BC,������X$`�l��K��0��G�⅖�6�. � ԛ-N4��P����b����ي��=i��2�<�f�`�85�����F)�?N���L��Ŕ�tA'�e���b0�@��f����^+��&������f����>���T��|b(���\��r�ٮ�l�6�N���묺�A6�!�n,m*G���B7%� �3C:�΄o��ۨ�Wx�-��L)븑��UB"6�X����yј�&4+R����}B|���i�~}r���5w3��6���-�y�5�%w�V����n�9���Q��ȍ������o��3��G��ky�*�z�aS���=�ꫫ =�6)h���.�}�!��:�E��y�"\�w����i��}q���lƨ���L[Q���\_h�z* �A��6�9%Z�F�����/�z��bљ�)�r��G�-�xb=˘2�.f ����:���)k�g0sn̙u�P���κs��O���E���� ���]��MY��5V̮��k{i�� �E�=~{��|k��5FcyƖ����>�Z.jD�s��(e:=�"L���ha� �#(�M;"�7�˴%I%ַ��aF�P����*�[�m�lA���,��T4}��s�*u����#/����?�q�����:<�]�X���瘘��ܘ_����>��awmB|�a]�oF�Tz`�1Zakv��w�;����֜쎍�,��uN��Uk�W�!��뀤���o�#�64Z,v��zߓ'}��C�z��tJ��(0f�#�X��I�E��$�]IvXEG������9V\��Ѕ�*����s�?�+�տ���I�?�z�6��J���̀� ��2q��l5ko��o}�K�� U~ȁ�2ɀ0*���XT\TP��h� �����w�盵�ֿ�g�ea�� �a�ߖ�v�+�c�y��"�7�9�א�>йa�oأ0������,F�Ϣ�Pܷ��:ސ%(I��>��'���(�s�#��iL�[㨥r=*Z��}_�Kc� �|>�ZZ��v���.�c�\XT�7H�CT���m����`��^�c7>=I4��f!$+�U�=����Lx#���}C���@K0���QJ�ܭ�rpކ��8�G������dN^09��O��i#�N�rg���i=��}�Z�_�1�)�A��j��������w8��?��oPs/�4s�� �Tc|�I���K,h��-f�7��Q(�{(RPb���ǻ%d6�T������c���������Ƥ��7k}R��,�X�IH���51��RWY���} h�����S�n�6���u��j�O��&W-����GGM�Ӥ��+�F�)~�>rk-�n@9��K�^��rs�f�(j��L:]��� �C��~�h?���[F!� �;��>numZ�<�?�5�wzICvg����?�p�?�U9<L�*�8s�Ԅ`��'�n��dBrn,m�X�I��&�������o��_͵"v>N,Tw�W���p�'�ٓE`ck��)�M�KwG��������i�ʣ�������3�ˍ�y��V^�� #Eу�7�?�<�Y�=ѝ�e�@�;Қ�#��P.��i���l� [���_�#3!Qya��c)k6�y���g���%k7b$V�=Pth��G �Z���G+�Xbro����r�B2}Œ� e��lq���<���6�%f�s���ƧfQ����.�M��.�R۾�:=8�c� � ���}�a�;��x�f����Z�R�fn'��}�+YkF8�a�b4,YW�C��%��zM�ZY�k�[T=f�5����؍���@��1Ͳ��i���f� n�w�ɥ�^1Hp.F���8� N�hH/*{<�̊t��F?Y�_~K���up\+��I�Xc)yx��T�@C@: �I� /�b-�����i���6*�2b6G��-�A�� s�j$`��l������(�8�3<D|�r�I]��6�D+k����BYt^�u~!�d�\�78T,5,�v��Y�>f��cD���(��?̂���YXT�>�T�q�E�埈��W# �E�$@��K�>��P��Q�5�JZJ���G�P8�`<<�ԖX^h(��͘�ϏJ���3dd��C�C���_UE���l�6��ɼ��A������[g�b3��~�f��Hj��d��^h&���@0�ہC��f�!����ҍ�l8�c�lJZ3����r� ��\��9^z���7i�`#��O�~RXU>[]9.¿>i��Z�i�H���� �J)}�w�� ����HhR���,[�t����#�ʂ�>�k^�U�W� W�������<��(9��X��Ml�b�|�(d�����U=� ?�/�)5Juq���v��=E��ڏ��%���uT����3Z%��.*Q�&2���;nw*����fj]����=�rpK�b�K����4`Y�g{-u/+Z$���!鲗ł��ϯ`��X���y�i=�d9v��4g��[�w½=f�(�$�b��W��yN�(u�%��H�}��Q�&Qx����k) M��y%[%s�+�+��2W��X3�6K>��]�9s�#&E䋷'��0;���N'j"��'��uN'ɯ[o���3�}|҈��W �Dr��h�)����ܞ�8��n��5s�7Jr��нd�Bp���e'��-��+�hI΅K����]�'y������t���2��U))P����>���BS̉Lq�?X��o����EԳVHвp�=�h�g��e�%��y�a �{��"����1L,��"�]k2V��?eH�T���X�WpEr�ڭe�2Ԃ�v�_�N>j�U1��ۣ�^�ǥQ���8JKP��r�ﺟTҮHN(5�/�̓(�+�Ia[l3�ϰm��w� .�M���¬�mm�B���NH�{�W���Nٮ�2���ĥoA��#�2�e�V+����L-�0�TQ�Y-&Hm�����s��m��7�x[M� �=�BL�t�!wQ_9����-�1���64C�����f�V�![��\�eXC(=JZ~^;|1��%�Ι"f\�N%f�� �6ŸT8NT�L�<�2_�Ca7/ �����pC]��������z0r7��@gH���� �fj�r&}�f1���B��q1�/�&,�G}��_�ƾ�=��0�Y.�S��?"�q�;-[_�'S��Q� �Zb��Ken�����Ay�C�X #8&�9��� ���XĈ�(t��)+��m�� MՓ�k�Y�1�w*��j+Y"YA�7�?��~�68bl1E1s2֖/��J�� ��|�/Q��@�/Q��H�J���8�g��5��f�{� 2rip�jă��W����Y=i'?^��?�)B]Z�Q�.%��U�n,��� ;'v ��>y��M���ޮ =~��CW�V��=�=`��]i� ��4�҈P�f�Ht�Ͽ�",JO�s�)�l#�#9�麧��h����u'e�%Tg"ޘ�Q*Q:�����(��JW�>6q,�|�hxY�܇y��[̌�M�(�t��)�����������a��A�^q�]�.�M1t�V ���y��;�Th��u��BJ^&���[0�����z�t��3E`�S}+sP�qn��n�2�X�V�R�la/eZ��[�s*p��H��Zp���X���� �ӂ�����%`|���d�u��%�D�)an��K���%E�n-1<$&�F�Y�3�8�3�9m!n�=�����Y�+��%�����+�V�U����p� ��� �L�J9O�!�ޗ��@�ߎ�i�iy;�FH����`j�ʠzOe��iC�0��5SOi-)�@$9�� �@Ӫ!�^�F���IW��9=f�N���-�c�`)�Ec+�Ň�\���ƭ�+v�u 8P��M���t����`k_�Fҟ{[s4uR�U0u�'�6�iĽ��SO��k���WD�v�?ݲ�8�d�g|ip])�� 1��c �#������0F0�*Xn�f��*�WmDv��!��bql��a뎠�an/�鋳g�������B�ϑ�i��Q�5�+��x!N�v@��6�gG�u���Hu�3�S�P٬�6Z`�5{��*Vrq~;P�w�ʶ(I��s�Z�(��2A�*D��*�����K{�m, �ӟa��_�؟n=ܹ�D!h4�Zx��G�0��%��Ύ��iQ��P���z��K!j��߭����$8=���0�n؍#�h7���)��0�f��l�Q�Ø��X��{��p��z�˸NW�i9t][t�⼹����������n`�����������{Dz� 7�~�]�M4j�B?�~��5HX�cD�fҡ��L'í��g_���?xp�мgểK�a���r��忑��N%��I���I�nu��=���O�Nz����mxg��-qtC�����li���BP�6��ڭ2��Uj��������;f���iٿ�����5-\����:�!��8�=s��3�D�P7�Wa ���G]~�n�<D�b���9_glPE�����g]��a0�'��Xg��,1�����^-�K@��Ln���x�����@"�U2�y�B�^`�{H�p����Ks;)��D�-��f�_���'��o���m���Q� ��Q��|�UCC��۳��`Ƌ�Ϗ�\�6i��?�Fc�}��k��\*$fi�]_8��uw���q��?`mA<HB�6*6��T�h� �K:�L�L���y�����vwΔR�ۊ|�D���oιɮo^��WM&}��s�iy3��*�C��/~��e}��O3��T��n�2�� *���M3P{Cb�ۃ��������y}����U><i�y�T�(CB�,sdD�����И|��o�/�N�z���l��GkR� �l��'7gM��vݑ���{�QҠK��X��/%���v8������w�ɞ9�;��XU�"����;��鍤<A�:�k�67*�� �*G�~�#h�иf���[��[C����k� 3e��?�ᯆ���0�֯'B�u �v�0&ux������t+��3�tLz]٥���1�h�e�m��ݸPC�W6L�4����Z��^�&�)t>;�e���˃���5e�<Buu�K���XV �,V�yl���^ 3z]�{���W�'���H���O9yͰ�!ꓡ��o��0��|��t2��5�����ͷ`o����kj?|k��Ҽ;k2�ݻ�M�m����ԍ��pY�O�j�]h~Էy���M�NY�|��:�Á!��8X/��i6��`p{����՝;� �����=8�8�\y�5ia/�L� ���,�E�Pb(0�P$��HbA=���?������2}3�c�r�\R9���T��G8H�^�O�����}�7�p���Y��z��b�p�{p�����:P ?42�;���䛲2�2�~�q�s2.��0)�y-4?s_a�;�E�f�|aR�kb�I$��E+���e�\��>����@1�2��!��^��Č,�"g-\��z�F�߿M㋯�ܬ��.����M#��k�.1|�B����`9���x� �\%�WA>��\��:p���.�ȒvX�MRgXa!��r�*�� �G�ɾʮ�NgU������X�t�8�ԝޗ�c�^��(<� �<�h��e8��d*�-�Qq6}F��E$aH��x�� � ����Ur���L �e]!���)ֹ7<��М���<���u������ޡ���#0�Z�f�X��(���&��>V�{�(�(f��C<�hl��O2 �[zr�F��w)��X�maK�G��^��S�+n�������ǖ-[�t��i��l���V�c �c߶�me��g�u�:���zR�u`zvf�Wúav���}C�Cw�Kb�F���v�XVQ���M��P]sz��A�RA�:� �0�Av�]�-|k%�>��`4�GꞬ��.�?T�Tg>�x�<g�7B �+n�n�@���P�v!��,^��`Mц�[��\5��Y�*�6r�CCV�@Y1;�o �Lפ�4������ ��]���N�tիW{�MH��J$�����F%�X�%��I�J�w3��0�x��L p){��-ݯ�i\i�m*�*� �_ h��̇x��� �ss��3\3�������1�B�� �-R �臥��-��r�k����6��C�$�]M�_�j���4'E��F�� |���"���/�q�������L q����f��ř�B�c�{+�#f��@�}�tS�������-_]$xu���>�*����(� ��'h��/T��i=��4�x�sԟw z9=��SG���W��?�V��7�d����́B���T�#B8{� "�N�ӹƇu��|�/��L4㙚�����x˕�^`�!>#L �(Yx��L�b#v��=��`�� g4ބ�oܥ������g�y�&��I�����l��5���O�6��wĞ�� �N�ɷ��W̿qI�*d�3!]�M�#Rk*5�^�4�y]��H�"zK���7uT�*T8�(���{�<���z��@���1b�S}�9���7E������f*��2����v�:�؋e��AϹ7��[o��̗6�F䣳_��wTTS��@�(3�:��c�l�/��J�L���/�Q�?�^ޚ� EG�sv�+6�L�i���R���I�:7h��7d�,��n�>}�����ulSH����ER�� G�t�Gϲ��O�t�c���9�v(�_�k>gfZ�K�%��dy�)��B�K�x��p���J�V�<AI�b�g�mC7�H?lDG��sk|p�b�Z#R 3�"��+NDI�XS/⦝��}"(u�68J��Ks��ݑ |v�. ��#QVe��h�.��x���҃Ea0 tb� �0���ƀM;1Tr#`�ň@�����q�Bl�q@�z!a}qB��Ȱ]t�0I��]j`t�e7.�o���?az<·��ҿ��e�,5�0�;����鋆o������_�Hw��+*�UT��։��<�z�E�{'��3�O�y�Μ2N���m�:KK�^9�?�oH��y6FS�3��~31!|ڬ����ݠ7���c���e���gD�=������� �[I���!�]�<����n6�m햐vDJHE��ҩ���H���̳��)#�[u�"0��Wd�W�G���s����|h~�`�u�FE�p�qQ�6�0�� ��Q߂g�0��e�ɒ������ߍS��<,,|�yx���������1���*M�q�����q��l9"d�:{�f�����#�h��b̔}%��;��UC��)1'���`�s�|7zO�3��(���-:��v�T�c2��z�'�Ԃ}a9r6�騠jԒE������!ʮ�+�"��L���@���(8.�b�$��`v��,��1Z�Qp|.�svz�X�ҧ�|�L�+Tvp�J-)���_5E-�bP�*s�s_Rk�5�Ś',��Z3n��4)�I��.�H4�<{�W#��/%e�� ��a ��I��<ST$�Q �ϱ�k� O2P0��8�0]S�6���DʱT�7����#xgL�K�v��q�^D|ST]�3���y�S��nv�Ù^�wu:��x?a����>��I����8fn�<H�:��� g#U�F2GΩBN�ھ�8y�)|i� E�q[wt�2l��o?�l례���m�0�J��e¨k�e�z`]�gQ��z�sİd-�M����iwx��҄�� ��̖��*1KLnpy���h��(� ���{��|V3���)m�� O:]tu�kV����#��9�����\��O���spr:�.MG�{v9�ȥ�L�Ќ*���t{jNR6'Ϯ�=��I�f�X�f F5qqB4(� ��i��A�+�tylI7����=%0���s������$@��jR��\�zB{@�$��;+*p��D,�+��L3h��^�[�-tN��l���.$T{�0`q�′ވ�~����Գ���� yE��p%p�j������B�e�|��� ��Qm�o i��������V�26��fuwe������{e��#�D�~}����c_z�W��VC��>��j��`X�3�ix�P��.�j" �ɡ>*Z��q�;t���.�I���Fu��{�:����M8����C��2��[��h 1��.-�>�V.�焃 0 ����,�<11��]���ʤ�H*G�/v�$1pQBg\g�s��c����ї�A���ulU�{���l{3R���R(������*����SdlZ��yw@:8����eP;sq�s1s��K)�$Zݾ�_�_Ү>:��r�.�Á�*��J��.��Ъ��ڤ��x���բ�W��ΪH�����Aԭ�/��}�Y��z��5#�x������?1�ja��?8ꨎ[��C������@"�%���.�����|Ͱ]Y=���6/g� ���W?VO�"��&��Ĥ���@�M��-+�W@=O�]�ax�+,��{\�W_�Q�Z}Ԓ.F��|�/i��\0����2i�uč8$0��WI;ϺmM��s\��ϸ��V�|��;0��{�B\\_��_rv`�� i���cQ7���x�ƛ~�n�s!:����?�Q���v݆t��l��a�Nv*VS��&K��E @OsO���3�"\����7nh�&�x)ٰѧ�mxp���,}��U���d�G!&��v�'�\�~܅T6��]���}�A�)亅$ݳ�)9�@sOix���9�i��Љ5rI�C�s��1=1��� m(�\Ζ���Q��M�B�D',��҂�ĉLe�|�ZnJ�K��}�7[Nmq6uvQ�]���*Z'�A�.��KC85J$��CCa�禌����I�!���-(/�G孞3ۑ�bDmR��. ����q'|���K)��MPqI��:���6H�o�=k�3d���j���RIc�'}ޯ�WN������i�{����g\� �Sq��k���\t�>�6l��톳���k����F�1��hJ*-� !�33P�,-�D����I�~!��_)�:�ʣe��g�t|�JU�ۯt�ت�Uՠ(�C���-)S���=u�`��R~�k��e;��siЃ�#m��������DR]ꕥc�٣��s�M� �niع�x��>OϺ���rp��6��O���\��c쏓�!� ����!�|#���+"H�{�%� Tg��/�iӓ*���P�#YƊ�E�Kc������p�3`��9�/M�o--���A.2x�J��g��9s��Az(C�Xd-�Ͳ�>����Q�X���>���ƹ�8Vѓ���0�0<Z�g*"_�%��tq8�*������hҘ��Ȩ11������py换Ӣ���(Ą� � �����\��,�횗' �]�E#hI�]��(Ԓ&_=��Y�7���9 �6\⣞��HW�N�M�F6wE?BcO�(�C�k$��)]Ǘ>�d�Z�GW��2�&]�D'�MD��j�P$��R����좏y���eS�R�tp4Qe��qR΄�c�7�Hǰ͛�����쩾ɖq:wU�J���VHyw�&��R2u�5�P5$[�E�u�#��={t)�>���6@�މ%n�{�Z��v�w�j�w�g�g�~˦��2s��bիV�t�C^B,�SWƞ��l�70O�4��m����I��#��w4���}M���X����O ��Fu�:�2sf�&Qe����2� �5>S�O<q����髵I� �eV}n�<TWf�_�e��ƑRMk�'�h�m������>C�#N�W�{V�;� F�uYw�A���)S��)H][tbA���oe��т�-� <K X� Q��S��bU���֞��Ԡ�4�y��#N��^{/��� k��ԑ���WR�O��O�K}kJ��.�B��Ga(ɴ�X"٢�"�dC��x@��f�� �`��Wf�y �`A�hc�^����ܙȏ��0��K=�����9x��u=�����5c��U�=��o�F��cKѥ}o|��*�g�b��7ł9+{�W����W9):۲Ac����1��s�{p�h��Kc����?�b�;���([�y�8������a��Kĺ[DhM���Of��j�j���Q� ־�b����ك��*z�"�^s����{��h�~蜹t�M�JE�N�>A�83��N��]O������`��.w���r3ҢO{ ������4�ݣe��ʤ�]�dp3S|Ӈ�A [fW�V��=�I1�t*�@���%��8��o��Z�*�OYP� �翣�݀�Y��������W�(�@��{���%���5����lڹmfi�mՆr�Q���qdj�6)/?�2��I"��\p ��+B��Kx�3v��#����jRL�uƭi�R��ȴy��c���(�4o��t������[n��;�/QJ�(�1V�������Ӿ��I��D��������0<0{��r�ɞ$)(���|�;wuO�+���Dh���,eW*1�ԛ4�� W�5?���Y:8�<��d�l�w՝c�Ǩ6u4謡 ڲ̚����$�M�����H��t7�C�q&Z��xD�}��t`_���_���2�T�O-��'OM~�O ��������{�!�#R�)q���8�~B�p/:62�4�n��b?;6���<f�n��t?�ߏ}2�x�f�Nb9�tE.B'O)-ݽ{|��Ғ��e >e�p,_.-\4ހ\�����I[�#��Y�����! k�(�F�95a�b���ç�����q**ҡ~/��Сo��+�Kx���bg����"�|a��fz�x�?��>��Ǝ�P ��"/>d��酳�}LɄ�ʰ�o��>V�L<Y�sp� ��l�b�`�7��d����2�!,1�e�։��q� �=r(��<�M_Q��~�=�%': 4F�����T����g�QTj�q;���^��u�\C�u��ҕ�s¥��c�y��J���!��߳���3k�f`B���D�32�m�y����=�Ty[�A�~�ݽ;��b�� ������lqq��aY����i3�^��l`��C{B���oVes&���Rـ�u�������w����Wu+��O��a��暐wU�/I��V�p� �� ~�;�\��4Dg�k8L0�� �T��� %?2�"��Ȍ_�q����wzd�u�K���I�,����\d��ݸ�z6�v�岂) O������g�՜�g��;�C���A4��S��˦u�� ~h���s�Z5z{�j��CƋ��-n�s���;�}����(D�M��bP�(�3O$�N�e�Mť��%�����(��?�&ח576��MM���� �D�B4)2,�91�#jb1Ov� �'Yı9gP��Yϋ,Ƭ�Ï�ol��KLG��ng7�6MO��0)6e��R1�=8�+Ysn����iPYE#���8k ��D�%w�� ��PŘi��8G{��jr(���ٌ@uQ�Wu\�fmw�#f���&Q�S�(r,AeoVR�w�e{�\(�a�y}���`?�|H�i�K#A*�B�?�c���$��_8jS �l�r>@8�k�ɃH������i���Ц� �i��SrpT�C���H��L8�0:���������q�i9��ґRF�� x�"�����Z��:�������q�o�C��3���ڽ��j#���d�z�8w�}���}.eV����{�:�D�g|�ޔNf ���s���Ҝ�$����q��X�[�D�=�Ǐ\�jVvQyPؿj5]����f�T����b7�P��u���_'P� ]��{�ً0a�a�ĸ�(�`Xr��33!@!���g����q�d���'�������ʤHi�D��y�����N��3i��|s ��O�|(b1�Ud��q�7�x(�˳�w�y����Gy��"���]��|*E����>��\�g>ү�_�9��mi=�B����S�J��c��K8�z|�����MRT@S&1�R,Z��QN`������'��5�f�j?��2� $f����+�k(f����yy�y�y�~��F�53i��/6�%�&Z��C�˃o�B��WK��.�d<��E-|�oa�� �xq��7�ت���=�,�̲{E���;�!�!?�.���D��,���r Aw>���`������L��v.�aO{�WB ��dXuQ��jb��"�9tj���@����'��#/Ӊ�U}�FG���FO���d�L�m�8�ӆ�F���9�p&#a�3-�N�0b)�p��˾i�,,ݰ��bS'��F+6�����\KҾ< ������qE�"n��)c�/�(J�{�-�d6��u�J�ɥ�I���V^�Z�!�`�[����#�A�a��]�*�L!%O!GU(�$:�dA��29P���8y��*�r��=6ݏ��|�=R�����+y 9tAҋoq%�MWɄ'��:���> >m�tA�Ȣ�Y�S�d����I^�� �@%R>I��uU�t�IЊ��14�T���L@��ҝ�(�|O��Ʌ���+r(���t�ࣟU�����gv)�k�^�S�t:���m�������C8�#��h��7LN�%.�a�k���m'�7 TO�'Wr��U�k�Y�[�<�l�L�u��Ur,'�PC6���G^U�Ҍ�~�:4*#�B ��<*tuoQHTL &,�I�h�_�_Eż���V�`�ى]7P� G�5~�����$�9��|�9���!�=䖁θ�m9����w!�Uhf�� �/���uqd0/�f1��0�Gl����s�mf��ܹ+��+Ϣi�4�*}�NA���P"c�d�k_��4�i,�?:�N��"q�a3�Ok"e�� l�����2�úOMG�SR����-3�qq�3�՜������ٰ-��TN���3!�,�)���ʲ��UO,�ۧ�A�kqn�>�,���^���CU�=,Cn�e��܇#�?n`R�%��o��? ��-��p��/ttqu��V7�7��6)4g.[�=�%���EG��|�VK�|��vf~�#? 4y�*���:ߢ*;���=���Fsӹ� � I[C-�b��}���";�������V��a�%qT�,��#�4u.�"S�-'�X|��Oژ�?4�z�VL�� ǟ�jAso������6��_�_,�)>�+�ڂ�[�0�LӺ��B1pC1�y�-Ʊ-<mm=G��M����yx�*�Ȁ�,����9�t��`j�~��o������mnI�O�"8�/(��fpi�5Ŗ��O���\�$�j�u��%����/�>s�����l4������U>?��6rșT�j}�n�:p��șJb��Z6� S�ا��}��l_KB�W�{�����o��5�z�����v@:�;> �/F��s��mC��Z��ۤ)dk|c����8������=���C�~���� ���� |��p��|Tr:ȱ6�B���������(�:֓]�$v�t��lO}.��8$�ֹ7�op몥 =?�%�8�ύ�s�x�,���I[�0H�C��|�� �3k8�e�Č��ؠ{9>`�e����z�ƽ��f���L���/9h$���F�{NJƼ��g�%`SE�^F!,xU0�l�����- �U/�^F��D����$�q��:�)p`�� ���\0/)qr�p��Jx�.�M�^X�f��L��g�A2�^u�рʽ��y��B�L��&�g��uq��� �ʫ«v9C��li^?�R�H ��=Y6���d�kZ?�%��M��oسٓ�W�{QC���H�/_d���. ���G1��3�"N^�X�c�����h� ���I���`qK�M�/�y��p��S�[�L���9mp4�%�X�7�բ˨�q����g76f����@������m�1�Z1/��`G��Hӏ�h�v�پ�y�����`G����-���!l3���j�9���g�>:j��{n����T�!��4��6d�������˫��{A�S���ݑ�}2ٱ>�chnqMluY�ٸfE��:V�{�C�ZX="~8�N���d\+�Y1�6�eėnz T����w��o� G�������h������Ct���u,x�����b_��Ƿ���d�.�Ȥ�+����bk��#5#6օ#;� ��N��6����=�I�k�"�,�����-[��Y�.�{N�C�C~��g��ʍ��L@}�v-�y&���H��[|e�g��W"��Kg��d��o�p릆Đ��(>7 8� ��~]��)18w��+$��0Q2:��^��U<伴@q/5��6�v�����:�җ�!����x�Q��"70��_�8۳v�!uƂн�w31.AM�֢�.Ё��\�Y���H$01ˣ[ �;��U-M�?�j�-��7C{������'�j,�2�[P&;�%��`�"�$4y^m���: `A/�s��g�������`�<e��)�G��G�g���V�����1R���l���Uu\ �6a�(}6�����!9���C�%8�}��<F�`( /t"��+I�Ĩ��,��$�mQ�����ܣ�&�T�|�,��"�J{KI�3)S�����ׇ��*3�E�P n�j��鿹`���w#��H�O�%�����#��7�<��B�E� �X^�ds�R���H�:VH `��0nΧD�i���:oJm���%/w���~i�1�rj�N2��8a0V�u�l9��J\��1:鄏�K~� �_�y��#x$� ��Y�P�$��U�33n��� �)� c�(|\i f(��,;H���ó�Q��y�)X�$�'ͦ?��,�Jtz�j����K���:�j:��)��z��qz� ��;xc��7��Օ���X�9Sb(��q{ej������sz{?��>�z�c<�̧����#C�>���;��Vk����O���O08��4��&&聈yЌJ���Y��9�-���0e'�"{��gU���5^��.�IS�r֥9�\HqY�oX�y��W�"V�����S��[<�ڐ�'�iF��HYєM5ڣŜ �)�#��&��ۜ��E��t�S��E�'�.k���ua|�OkP����W�<���+'1�"+j�~�q�r�"Q��w�Ǡ��jn ����� �Ÿ9'�ʳ��s`W{l�36��j;`�F�n�����9c�fbF� g��A,h��:�&�`�x�aŹxg�3���]K2\��3/�E4A��_�߹�������C���k��v��s4��+i���\��L�ξ~��Y���i�BŔE1�*��*ⴒs�է�X��Ůeriv���Y�^�P�lP�P��lڰ{aע���T� C�T��qj9���cz�=!1���%� �Mj�\}j��֯)��K&��"'�5���{#+$&x����KU�Y_l��K��BW��Nݐ�=�cc�,��xZ!`�=��/e�*-�Gm���q~K�`�O��@O����cG�CQr<��=il&<$��J�V`�ثBr)��荋�9�J.�Tz����Ҵ'��<�%3��gO��^��}>n�l\y }p�����@� G��y�D�8����I9Dp!1��.�Al�$����������T̍2N����%�&A�"�8҆��Ы�`�"�Z�;�x�z ��%�>��9�~�������8-��:�]ՓEC1�j�lW� #�Tc�\�ۦ�ov7�}���2�5�6@�89����_����ܛ@��T�{ �eVs�c%9+�]q,Oz�u�x��8�<�ַ�5�:ua�\m���J�~��M������jv��'Opk��f.�ʗ��z]�6�[�ur+J�]��O�H�Mc#9Ƶ~����e�%^�R�0�'�� �i����衮#���"ە%k���������t�G�]8V4h�Y�L0K9���F�#�Ԥ��l~ň���Pb�"���߱n��%�s�Rqʸ}1�O��o"n��*8¯���S���q�ζ��^�Qp�� f,G~1��E���R�}�����hm&q�>+ѭ�4$��=���oH����Y��g�Dm��+r�s4�t�{�Ens^ ����=�P�ػ���f�6����qr�lW$^�.���nl �6�Co5�Lߧx�2bDF���w��K���1��������8���g%��n���'�F\�>�����'���B��֤,��F�R���Yۘ ��m����t�c����U:����}E]E������ :Bͪ��CD�*BXˊ(N�E�_D�ʠ�����y��E�E��]���-��U�I�E4kV��O���& GP|��}Zc�X���� �\ ^��"����W�#�����V[�m���!m-g��� �}Y%P8cE���~�~�QF�tˠ�Ё�$ 4uC� .!���h܂��?��Fz-<���/|R�O^NK9C^���2 a�_�OyQD��J������qv��� 4T�RC2��� Ր��JD[;{G'gW7wO�B��L����B�X"��J�Z��� F������������������������������������-G Qh�'Id �Fg0Yl�gg�@ap��`qx�D�Pit���py|�P$�Her�R��huz��d�Xmv�������������A�@$�)T��d�9\_ �%R�\�T�5Z��`4�-V���l츄z��� >40��9\�%\�5�-�=<�#<�3������������ÓD�Pit���py|�P$�Her�R��huz��$%-#+'����������������o`hdlbjfnaiemc��H��� D�B��L����ك!P�D�1X�@$�)T��d�9\_ �%R�\�T�5Z��`4�-V���tqus����`qx"Id �Fg0Yl��Eb�T&W(Uj�V�7Mf��fw8-;.�� ���� M7L�v\�hckg����������I"S�4:��bs�<�@(K�2�B�Rk�:��h������WPTRVQUS��������70426153���������$ ����"�L���&������(�@��,O ��*��`��.�/���L�P���No0�����p���'q��� #�������!������C>BRic�˨1�c�1�c@!�B!�B)��RJ)��R�c�1�c�1�9�s�9�s.�B!�B!��RJ)���&�_��r�L�&L��6� �t[�1a�t;2!�6���G>&L�nD�0.���DŽq!���!����i`?yu(R�nJ(�t�vK�$I�$I�$I�$I�$I�� ���RJ)��R)��RJ)��RJ�F���Zk�����I�1�c�1�c�6���Zk���Z�sι��$IW ��|VBRic���|�2.���v�|�q!�6��1ʸ�J�M@Ric�S����>ʸ(�.m�y�K�np������{L�P�=���#L(Ӎ � L�l&��ĕng��R����n�� �- V��1a�tk"�;PK}w�\v�5�����fonts/ionicons.svgnu�[���<?xml version="1.0" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" > <!-- 2018-6-14: Created with FontForge (http://fontforge.org) --> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1"> <metadata> Created by FontForge 20160407 at Thu Jun 14 08:50:34 2018 By Adam Bradley Copyright (c) 2018, Adam Bradley </metadata> <defs> <font id="Ionicons" horiz-adv-x="416" > <font-face font-family="Ionicons" font-weight="400" font-stretch="normal" units-per-em="512" panose-1="2 0 5 3 0 0 0 0 0 0" ascent="448" descent="-64" bbox="-0.75 -64 512.487 448" underline-thickness="25.6" underline-position="-51.2" unicode-range="U+F100-F4CD" /> <missing-glyph /> <glyph glyph-name="ion-ios-color-fill" unicode="" horiz-adv-x="384" d="M167 330l172 -170c4 -4 1 -11 -5 -11v0c-10 0 -23 -1 -29 -7c-8 -8 -88 -86 -126 -123c-11 -10 -28 -10 -39 0l-131 126c-11 11 -12 29 -1 40l85 84l-50 49c-19 19 -19 49 0 68v0c9 9 22 14 34 14s25 -5 34 -14l56 -56v0zM64 338l48 -49l29 28l-50 49c-4 4 -9 6 -14 6 c-6 0 -11 -3 -15 -8c-6 -8 -5 -19 2 -26zM339 108c11 -12 45 -53 45 -76c0 -26 -22 -48 -48 -48v0c-26 0 -48 21 -48 48c0 22 35 64 45 76c2 2 4 2 6 0z" /> <glyph glyph-name="ion-md-backspace" unicode="" horiz-adv-x="426" d="M390 352c20 0 36 -16 36 -36v-248c0 -20 -16 -36 -36 -36h-266c-12 0 -22 7 -28 16l-96 144l96 144c6 9 16 16 28 16h266zM337 128l-63 64l63 64l-25 25l-64 -64l-63 64l-25 -25l64 -64l-64 -64l25 -25l63 64l64 -64z" /> <glyph glyph-name="ion-md-paper-plane" unicode="" d="M0 177l416 223l-104 -416l-104 104l-74 -104l-15 148zM295 51l73 288l-291 -156l69 -25l181 138l-115 -161z" /> <glyph glyph-name="ion-ios-cart" unicode="" d="M88 24c0 13 10 24 23 24s25 -11 25 -24s-11 -24 -24 -24s-24 11 -24 24zM336 0c-13 0 -24 12 -24 25s12 23 25 23s23 -12 23 -25s-11 -23 -24 -23zM416 316v-3l-16 -116c0 -3 -2 -5 -5 -5l-278 -47v0l4 -24c3 -16 7 -23 11 -26c3 -3 7 -3 9 -3v0h237c8 0 14 -6 14 -14 s-6 -14 -14 -14h-237c-13 0 -25 5 -33 16c-7 9 -12 22 -14 36l-40 212s-2 9 -2 10v0c-1 7 -5 15 -10 16s-17 2 -26 2s-16 5 -16 14s7 14 16 14c27 0 41 0 49 -9c6 -8 8 -12 12 -19c1 -3 5 -4 8 -4l325 -32c2 0 5 -2 6 -4z" /> <glyph glyph-name="ion-ios-rose" unicode="" horiz-adv-x="320" d="M320 307c-77 -89 -16 -136 -16 -204s-56 -119 -144 -119s-144 47 -144 115c0 60 35 100 93 131c25 14 33 17 52 26c30 13 65 27 105 38c17 5 35 9 54 13zM39 206c5 38 3 91 -39 135c0 0 66 -15 115 -41c14 -8 28 -17 37 -27c-12 -6 -24 -11 -36 -17c-7 -4 -14 -7 -20 -11 c-25 -14 -44 -29 -57 -39zM256 370c0 0 26 -29 32 -51c-33 -7 -78 -20 -115 -36c-15 15 -43 32 -43 32c52 56 126 55 126 55zM144 351c-12 -8 -21 -16 -31 -27c-26 12 -41 18 -62 24c5 14 14 31 29 52c0 0 35 -11 64 -49z" /> <glyph glyph-name="ion-ios-refresh" unicode="" horiz-adv-x="384" d="M369 159v0c9 0 16 -7 15 -16c-8 -98 -91 -175 -192 -175c-106 0 -192 85 -192 191c0 104 84 189 188 191c2 0 4 2 4 4v46c0 13 14 21 25 14l96 -67c10 -6 10 -21 0 -27l-96 -67c-11 -7 -25 0 -25 13v50c0 2 -2 4 -4 4c-88 -2 -158 -73 -158 -161c0 -89 72 -161 162 -161 c85 0 155 65 162 148c1 8 7 13 15 13z" /> <glyph glyph-name="ion-md-musical-note" unicode="" horiz-adv-x="256" d="M128 384h128v-85h-85v-214c0 -47 -39 -85 -86 -85s-85 38 -85 85s38 86 85 86c16 0 30 -5 43 -12v225z" /> <glyph glyph-name="ion-md-list-box" unicode="" horiz-adv-x="384" d="M344 384c22 0 40 -18 40 -40v-304c0 -22 -18 -40 -40 -40h-304c-22 0 -40 18 -40 40v304c0 22 18 40 40 40h304zM240 80v48h-160v-48h160zM304 168v48h-224v-48h224zM304 256v48h-224v-48h224z" /> <glyph glyph-name="ion-ios-mail" unicode="" d="M413 301c1 1 3 0 3 -2v-219c0 -18 -14 -32 -32 -32h-352c-18 0 -32 14 -32 32v219c0 2 2 3 3 2l108 -110c1 -1 1 -2 0 -3l-75 -80c-5 -5 -5 -13 0 -18c2 -2 6 -4 9 -4s7 2 9 4l75 80c1 1 2 1 3 0l18 -18c16 -16 36 -25 58 -25s43 8 58 24l18 19c1 1 2 1 3 0l75 -80 c2 -2 6 -4 9 -4s7 2 9 4c5 5 5 13 0 18l-75 80c-1 1 -1 2 0 3zM208 153c-15 0 -29 6 -39 16l-157 160c5 4 12 7 20 7h352c8 0 14 -3 20 -7l-157 -160c-10 -11 -24 -16 -39 -16z" /> <glyph glyph-name="ion-md-ice-cream" unicode="" horiz-adv-x="320" d="M32 192h256l-128 -224zM296 287c14 -4 24 -16 24 -31v0c0 -18 -14 -32 -32 -32h-256c-18 0 -32 14 -32 32v0c0 15 10 27 24 31c-2 6 -2 15 -2 21c0 42 34 76 76 76c8 0 10 -1 17 -3c-5 -12 -3 -22 -1 -31l3 -1c2 15 11 29 11 29c18 23 46 38 77 38c53 0 96 -43 96 -96 c0 -10 -2 -24 -5 -33z" /> <glyph glyph-name="ion-md-at" unicode="" d="M218 236c2 0 4 -1 6 -1s5 -1 7 -1l-7 -66c-3 -8 -7 -13 -11 -16s-8 -5 -14 -5s-10 3 -13 9s-4 15 -3 27c2 18 5 30 11 39s14 14 24 14zM208 400c115 0 208 -93 208 -208s-93 -208 -208 -208s-208 93 -208 208s93 208 208 208zM336 198c2 40 -8 72 -29 95s-51 35 -91 35 s-73 -13 -97 -37s-37 -57 -39 -99s9 -76 31 -100s53 -36 94 -36c10 0 21 1 31 3s19 6 26 10l-6 24c-7 -3 -15 -5 -24 -7s-18 -2 -26 -2c-31 0 -55 10 -71 29s-24 46 -22 79c2 34 12 61 30 81s42 30 72 30c31 0 55 -10 70 -28s22 -44 20 -77c-1 -16 -4 -30 -11 -40 s-16 -15 -27 -15c-3 0 -5 2 -7 5s-2 10 -2 18l8 83h-1h1c-9 5 -18 9 -25 11s-17 4 -29 4c-17 0 -33 -7 -45 -22s-19 -35 -22 -59c-2 -19 1 -34 9 -46s19 -17 34 -17c8 0 17 2 23 6s11 10 15 18c2 -8 7 -14 13 -18s13 -7 21 -7c25 0 44 7 56 23s19 35 20 56z" /> <glyph glyph-name="ion-ios-create" unicode="" horiz-adv-x="448" d="M372 362c3 3 9 3 12 0l26 -26c3 -3 3 -9 0 -12l-202 -202c-2 -2 -4 -2 -6 -2h-26c-4 0 -8 4 -8 8v26c0 2 0 4 2 6zM444 381c3 -3 4 -8 4 -12s-1 -8 -4 -11l-12 -12c-2 -2 -3 -2 -5 0l-22 22l-10 10c-2 2 -2 4 0 6l11 12c3 3 8 4 12 4s8 -1 11 -4v-1zM218 106l1 1l148 147 c2 2 6 2 6 -2v-209c0 -32 -26 -59 -58 -59h-256c-32 0 -59 27 -59 59v224c0 32 27 58 59 58h241c4 0 4 -5 2 -7l-147 -147l-1 -1c-3 -3 -5 -7 -5 -11v-1v-38v-3c0 -9 7 -16 16 -16h3h38h1c4 0 8 2 11 5z" /> <glyph glyph-name="ion-logo-chrome" unicode="" horiz-adv-x="448" d="M157 192c0 37 30 67 67 67s67 -30 67 -67s-30 -67 -67 -67s-67 30 -67 67zM445 230c2 -12 3 -25 3 -38c0 -106 -74 -195 -174 -218c-10 -2 -20 -4 -30 -5c-7 -1 -13 -1 -20 -1c-8 0 -17 0 -25 1v0v0v0v1l102 177c8 13 13 28 13 45c0 27 -13 50 -32 67h156 c3 -9 5 -19 7 -29v0c-2 10 -4 20 -7 29v0c3 -9 5 -19 7 -29v0zM224 103c10 0 20 2 29 5l-78 -135v0c-42 9 -79 30 -108 59c-42 41 -67 97 -67 160c0 31 6 61 18 88c7 16 16 31 26 45v0l103 -178c16 -27 43 -44 77 -44zM59 343v0v1c24 26 55 47 90 59c23 8 49 13 75 13 c73 0 138 -36 179 -90h1c10 -14 18 -29 25 -44v0c-7 15 -15 30 -25 44h-1c10 -14 19 -29 26 -44h-205c-44 0 -79 -32 -87 -72z" /> <glyph glyph-name="ion-md-volume-mute" unicode="" horiz-adv-x="192" d="M0 256h85l107 112v-352l-107 112h-85v128z" /> <glyph glyph-name="ion-md-skip-forward" unicode="" horiz-adv-x="384" d="M0 384l277 -192l-277 -192v384zM320 0v384h64v-384h-64z" /> <glyph glyph-name="ion-ios-infinite" unicode="" horiz-adv-x="464" d="M433 266c20 -20 31 -46 31 -74s-12 -54 -32 -74s-47 -30 -75 -30s-55 10 -75 30l-125 123c-14 13 -32 20 -51 20s-36 -7 -50 -20c-13 -13 -21 -31 -21 -49s8 -36 21 -49c14 -13 31 -20 50 -20s37 7 51 20l31 30c2 2 3 2 5 0l20 -19c2 -2 2 -4 0 -6l-31 -30 c-20 -20 -48 -30 -76 -30s-55 10 -75 30s-31 46 -31 74s11 54 31 74s47 30 75 30s56 -10 76 -30l125 -123c14 -13 32 -20 51 -20s36 7 50 20c13 13 20 31 20 49s-7 36 -20 49c-14 13 -31 20 -50 20s-37 -7 -51 -20l-31 -30c-2 -2 -3 -2 -5 0l-20 19c-2 2 -2 4 0 6l31 30 c20 20 48 30 76 30s55 -10 75 -30z" /> <glyph glyph-name="ion-logo-windows" unicode="" horiz-adv-x="448" d="M448 183v0v-215l-248 36v179h248zM184 183v0v-177l-184 27v150h184zM448 416v0v-217h-248v182zM184 378v0v-179h-184v153z" /> <glyph glyph-name="ion-md-microphone" unicode="" horiz-adv-x="256" d="M256 336h-56v-37h56v-43h-56v-37h56v-43h-56v-37h56v-42c0 -29 -25 -52 -55 -52h-30v-77h-86v77h-30c-30 0 -55 23 -55 52v42h152v37h-152v43h152v37h-152v43h152v37h-152v28c0 29 25 52 55 52h146c30 0 55 -23 55 -52v-28z" /> <glyph glyph-name="ion-ios-share-alt" unicode="" horiz-adv-x="384" d="M381 218c2 -2 3 -7 3 -10s0 -6 -3 -8l-143 -134c-5 -5 -14 -2 -14 5v65c0 2 -2 5 -4 5c-98 -1 -161 -44 -212 -108c-3 -3 -9 1 -8 5c21 109 80 214 220 236c2 0 4 2 4 4v66c0 5 6 8 10 8c2 0 4 0 6 -2z" /> <glyph glyph-name="ion-md-wine" unicode="" horiz-adv-x="384" d="M171 171l-171 170v43h384v-43l-171 -170v-131h107v-40h-256v40h107v131zM96 299h192l43 42h-278z" /> <glyph glyph-name="ion-md-skip-backward" unicode="" horiz-adv-x="384" d="M107 192l277 192v-384zM0 0v384h64v-384h-64z" /> <glyph glyph-name="ion-ios-bug" unicode="" horiz-adv-x="448" d="M343 321c-6 -16 -17 -31 -29 -43c-24 -24 -56 -37 -90 -37s-67 13 -91 37c-12 12 -22 27 -28 43c29 39 72 63 119 63s90 -24 119 -63zM90 298c22 -45 69 -80 122 -83v-215c-40 2 -73 23 -100 55l-5 -5c-5 -4 -6 -11 -4 -17c3 -8 1 -18 -5 -25c-9 -10 -24 -11 -34 -2 s-11 24 -2 34l3 3s2 1 2 1c4 13 13 26 27 37c-15 26 -26 56 -29 89c-2 0 -4 -1 -6 -1c-6 -1 -10 -4 -12 -9c-4 -10 -14 -17 -25 -16c-12 1 -21 10 -22 22c-1 14 10 26 24 26h3c4 2 8 5 12 6c7 2 14 4 25 4c1 23 6 45 13 65c-6 4 -11 7 -15 11c-5 4 -9 9 -12 14 c-2 3 -3 5 -6 7c-2 1 -4 3 -6 5c-7 7 -7 18 -3 27c6 12 21 17 33 10c11 -6 15 -20 10 -31c2 -4 4 -7 6 -9s6 -3 6 -3zM424 192c14 0 25 -12 24 -26c-1 -12 -10 -21 -22 -22c-11 -1 -20 6 -24 15c-2 6 -7 9 -13 10c-2 0 -4 1 -6 1c-3 -33 -14 -64 -29 -90 c14 -11 23 -23 27 -36c0 0 1 0 2 -1l3 -3c9 -10 8 -25 -2 -34s-25 -8 -34 2c-6 7 -8 16 -5 24c2 6 1 14 -4 18c-2 1 -3 2 -5 4c-27 -32 -60 -52 -100 -54v215c53 3 100 37 122 82c0 0 4 2 6 4c3 3 4 6 6 9c-5 11 -1 25 10 31c12 6 27 3 33 -9s3 -27 -9 -33v0 c-2 -1 -5 -4 -6 -6c-3 -5 -7 -11 -12 -15c-4 -4 -9 -7 -15 -11c7 -20 12 -42 13 -65c11 0 18 -2 25 -4c4 -1 8 -4 12 -6h3z" /> <glyph glyph-name="ion-ios-help-circle" unicode="" d="M208 400c115 0 208 -93 208 -208s-93 -208 -208 -208s-208 93 -208 208s93 208 208 208zM204 96c12 0 21 9 21 21s-9 20 -21 20s-22 -8 -22 -20s10 -21 22 -21zM244 193c18 11 28 24 28 44c0 30 -25 51 -63 51c-40 0 -64 -23 -65 -55h36c1 15 11 25 26 25s27 -10 27 -22 s-7 -19 -24 -29c-18 -11 -25 -23 -23 -44v-8h35v8c0 13 6 20 23 30z" /> <glyph glyph-name="ion-md-bulb" unicode="" horiz-adv-x="288" d="M80 20v18h128v-18c0 -11 -9 -20 -20 -20h-88c-11 0 -20 9 -20 20zM144 384c80 0 144 -60 144 -134c0 -46 -25 -87 -62 -111v-43c0 -11 -9 -19 -20 -19h-124c-11 0 -21 8 -21 19v43c-37 24 -61 65 -61 111c0 74 64 134 144 134z" /> <glyph glyph-name="ion-ios-document" unicode="" horiz-adv-x="304" d="M208 293c-10 0 -19 9 -19 19v72c0 4 3 8 7 8v0c8 0 15 -3 21 -8l76 -63c7 -6 11 -14 11 -23v0c0 -3 -2 -5 -5 -5h-91zM163 312c0 -25 20 -45 45 -45h96v-243c0 -18 -14 -32 -32 -32h-240c-18 0 -32 14 -32 32v336c0 18 14 32 32 32h131v-80z" /> <glyph glyph-name="ion-ios-search" unicode="" horiz-adv-x="384" d="M380 28c6 -7 6 -18 -1 -24c-3 -3 -7 -4 -11 -4s-9 2 -12 5l-106 107c-26 -21 -60 -34 -97 -34c-85 0 -153 69 -153 153s68 153 153 153s153 -69 153 -153c0 -36 -12 -69 -33 -95zM153 111c32 0 62 12 85 35s35 53 35 85s-12 62 -35 85s-53 35 -85 35s-62 -12 -85 -35 s-35 -53 -35 -85s12 -62 35 -85s53 -35 85 -35z" /> <glyph glyph-name="ion-logo-youtube" unicode="" horiz-adv-x="512" d="M509 299c2 -36 3 -71 3 -107s-1 -71 -3 -107c0 -45 -33 -81 -74 -81c-58 -3 -118 -4 -179 -4s-121 1 -179 4c-41 0 -74 36 -74 81c-2 36 -3 71 -3 107s2 71 4 107c0 45 32 81 73 81c55 3 112 4 170 4h9h9c58 0 115 -1 170 -4c41 0 74 -36 74 -81zM207 94l145 98l-145 99 v-197z" /> <glyph glyph-name="ion-md-aperture" unicode="" horiz-adv-x="448" d="M224 416c124 0 224 -100 224 -224s-100 -224 -224 -224s-224 100 -224 224s100 224 224 224zM360 56c36 36 56 85 56 136s-20 100 -56 136s-85 56 -136 56s-100 -20 -136 -56s-56 -85 -56 -136s20 -100 56 -136s85 -56 136 -56s100 20 136 56zM168 342l56 -86h-147 c17 40 50 71 91 86zM381 160h-102l72 129c21 -27 33 -60 33 -97c0 -11 -1 -22 -3 -32zM328 314l-49 -90l-78 126c8 1 15 2 23 2c40 0 76 -14 104 -38zM67 224h102l-72 -129c-21 27 -33 60 -33 97c0 11 1 22 3 32zM280 42l-56 86h147c-17 -40 -50 -71 -91 -86zM120 70l49 90 l78 -126c-8 -1 -15 -2 -23 -2c-40 0 -76 14 -104 38z" /> <glyph glyph-name="ion-md-list" unicode="" horiz-adv-x="352" d="M0 120v48h256v-48h-256zM0 216v48h320v-48h-320zM0 312v48h352v-48h-352zM0 24v48h288v-48h-288z" /> <glyph glyph-name="ion-ios-power" unicode="" horiz-adv-x="384" d="M316 336c43 -36 68 -89 68 -145c0 -105 -86 -191 -192 -191s-192 86 -192 191c0 56 25 109 68 145c3 3 8 5 12 5c5 0 9 -3 13 -7c3 -4 5 -8 5 -13s-3 -10 -7 -13c-35 -29 -55 -72 -55 -117c0 -85 70 -155 156 -155s156 70 156 155c0 45 -20 87 -55 117c-4 3 -7 8 -7 13 s2 9 5 13s9 7 14 7c4 0 8 -2 11 -5zM193 174c-10 0 -19 8 -19 18v174c0 10 9 18 19 18s18 -8 18 -18v-174c0 -10 -8 -18 -18 -18z" /> <glyph glyph-name="ion-md-grid" unicode="" horiz-adv-x="384" d="M346 384c21 0 38 -17 38 -38v-308c0 -21 -17 -38 -38 -38h-308c-21 0 -38 17 -38 38v308c0 21 17 38 38 38h308zM115 38v77h-77v-77h77zM115 154v76h-77v-76h77zM115 269v77h-77v-77h77zM230 38v77h-76v-77h76zM230 154v76h-76v-76h76zM230 269v77h-76v-77h76zM346 38v77 h-77v-77h77zM346 154v76h-77v-76h77zM346 269v77h-77v-77h77z" /> <glyph glyph-name="ion-ios-glasses" unicode="" horiz-adv-x="446" d="M432 207c8 0 14 -7 14 -15s-6 -15 -14 -15h-7c-3 -21 -13 -40 -28 -55c-17 -17 -40 -26 -64 -26c-51 0 -93 43 -93 96v0c0 6 -7 15 -17 15s-17 -9 -17 -15v0c0 -53 -42 -96 -93 -96c-24 0 -47 9 -64 26c-15 15 -25 34 -28 55h-7c-8 0 -14 7 -14 15s6 15 14 15h7 c3 21 13 40 28 55c17 16 40 26 64 26c20 0 40 -6 56 -19c14 -11 24 -25 30 -42c7 5 16 7 24 7s17 -2 24 -7c6 17 16 31 30 42c16 13 36 19 56 19c24 0 47 -9 64 -26c15 -15 25 -34 28 -55h7z" /> <glyph glyph-name="ion-md-hand" unicode="" horiz-adv-x="414" d="M401 174c15 -15 18 -36 3 -51c0 0 -96 -103 -126 -121v0c-28 -21 -65 -34 -100 -34c-55 0 -101 36 -117 85v0v1c0 1 -1 2 -1 3l-58 189c-5 15 2 32 17 37s30 -3 35 -18l34 -88c1 -4 2 -2 2 1l-22 161c-3 15 7 30 22 33s30 -8 33 -23l25 -138c0 -2 2 -2 2 0v177 c0 15 13 28 28 28s28 -13 28 -28l8 -175c0 -5 3 -4 4 -1l23 135c2 15 16 27 31 25s27 -17 25 -32l-21 -172c-1 -12 -3 -30 2 -36c8 -9 20 -9 31 2l42 42c15 15 35 13 50 -2z" /> <glyph glyph-name="ion-ios-bluetooth" unicode="" horiz-adv-x="256" d="M250 115c7 -6 7 -16 1 -23l-116 -120c-2 -2 -6 -4 -9 -4v0c-6 0 -11 5 -11 11v170l-85 -74c-7 -6 -19 -5 -25 2v0c-6 7 -5 18 2 24l108 91l-109 92c-7 6 -8 17 -2 24v0c6 7 18 7 25 1l86 -73v169c0 6 5 11 11 11v0c3 0 7 -2 9 -4l116 -121c6 -7 6 -17 -1 -23l-88 -76z M151 347c-1 1 -3 1 -3 -1v-119c0 -2 2 -3 3 -2l63 53c1 1 1 2 0 3zM148 38c0 -2 2 -2 3 -1l63 65c1 1 1 2 0 3l-63 53c-1 1 -3 0 -3 -2v-118z" /> <glyph glyph-name="ion-ios-time" unicode="" d="M208 400c115 0 208 -93 208 -208s-93 -208 -208 -208s-208 93 -208 208s93 208 208 208zM222 174v146c0 8 -6 14 -14 14s-14 -6 -14 -14v-132h-82c-8 0 -14 -6 -14 -14s6 -14 14 -14h96c8 0 14 6 14 14z" /> <glyph glyph-name="ion-ios-trending-up" unicode="" horiz-adv-x="448" d="M433 320c8 0 15 -7 15 -15v-118c0 -8 -7 -15 -15 -15s-15 7 -15 15v82l-150 -152c-3 -3 -6 -4 -10 -4s-8 1 -11 4l-86 84l-135 -133c-3 -3 -7 -4 -11 -4s-8 1 -11 4s-4 6 -4 10c0 6 2 9 4 11l146 143c3 3 7 5 11 5s8 -2 11 -5l86 -84l138 142h-84c-8 0 -15 7 -15 15 s7 15 15 15h121z" /> <glyph glyph-name="ion-md-contact" unicode="" d="M208 400c114 0 208 -94 208 -208s-94 -208 -208 -208s-208 94 -208 208s94 208 208 208zM208 338c-34 0 -62 -29 -62 -63s28 -62 62 -62s62 28 62 62s-28 63 -62 63zM208 37c52 0 98 27 125 67c-1 42 -83 64 -125 64s-124 -22 -125 -64c27 -40 73 -67 125 -67z" /> <glyph glyph-name="ion-md-close-circle" unicode="" d="M208 400c115 0 208 -93 208 -208s-93 -208 -208 -208s-208 93 -208 208s93 208 208 208zM312 117l-75 75l75 75l-29 29l-75 -75l-75 75l-29 -29l75 -75l-75 -75l29 -29l75 75l75 -75z" /> <glyph glyph-name="ion-logo-sass" unicode="" horiz-adv-x="512" d="M512 119v-8c-1 -9 -7 -17 -15 -22s-12 -4 -13 -3s1 3 4 5c13 8 17 20 10 33c-5 10 -15 16 -26 20c-24 8 -48 7 -72 0c4 -12 7 -23 -2 -34c-10 -12 -23 -19 -39 -22c-7 -2 -14 2 -15 9c-3 19 17 36 30 47c-7 11 -11 24 -14 37c-15 -17 -31 -40 -26 -61 c3 -14 -1 -27 -14 -36s-30 -14 -46 -11c-4 1 -6 5 -5 8c2 14 25 32 35 43c2 2 3 4 1 7c-6 12 -10 23 -14 36c-13 -29 -30 -80 -57 -98c-9 -6 -17 -4 -21 5c-3 8 -2 20 -1 29c-6 -13 -11 -27 -20 -38c-7 -8 -24 -7 -30 1c-16 21 -13 50 -5 73l-29 -15c7 -16 8 -32 4 -49 c-5 -19 -17 -35 -35 -46c-19 -12 -64 -24 -77 4c-7 16 -4 30 6 44c17 24 48 37 74 50c-32 23 -80 42 -96 80c-15 35 17 68 43 89c59 48 166 95 244 59c15 -7 36 -24 31 -52c-4 -24 -13 -39 -28 -54c-32 -32 -152 -77 -176 -15c-1 1 -1 4 1 4c2 -1 20 -15 43 -16 c17 -1 36 3 52 8c33 11 71 33 80 67c4 13 -2 28 -15 34c-49 24 -116 -4 -159 -26c-33 -17 -84 -45 -82 -87c1 -37 56 -60 81 -82c15 7 42 15 52 27c11 13 26 25 44 26c8 0 14 -3 16 -10c2 -6 1 -11 0 -19c5 4 11 4 15 -1c12 -14 -22 -50 -10 -66c14 14 21 42 30 59 c4 8 17 51 26 53c7 2 18 4 25 0c2 -1 3 -3 2 -5c-7 -19 -7 -33 3 -52c14 20 29 43 34 67c1 2 3 3 5 4c7 2 18 3 25 0c3 -1 3 -2 2 -5c-7 -22 -6 -38 6 -58c31 11 69 15 97 -5c-3 2 -7 5 0 0c5 -4 3 -2 0 0c12 -8 19 -18 21 -32zM113 94v0c1 7 -1 13 -3 20 c-24 -8 -66 -35 -64 -62c1 -10 8 -13 17 -12s19 7 27 13c14 11 22 24 23 41zM216 166c1 3 -2 5 -5 4c-29 -8 -43 -57 -33 -81c1 -3 4 -3 6 -1c17 16 28 56 32 78zM286 84c8 -3 27 17 26 27c-8 -9 -18 -18 -26 -27zM367 102c11 6 16 19 12 30c-8 -6 -21 -19 -20 -31 c0 -2 6 0 8 1z" /> <glyph glyph-name="ion-ios-apps" unicode="" horiz-adv-x="384" d="M371 310c18 -8 18 -21 0 -29l-148 -67c-17 -8 -45 -8 -62 0l-148 67c-18 8 -18 21 0 29l150 68c16 7 43 7 59 0zM161 73c17 -8 45 -8 62 0l100 45c4 2 9 2 13 0l35 -16c18 -8 18 -21 0 -29l-148 -67c-17 -8 -45 -8 -62 0l-148 67c-18 8 -18 21 0 29l35 16c4 2 10 2 14 0z M371 206c18 -8 18 -21 0 -29l-148 -67c-17 -8 -45 -8 -62 0l-148 67c-18 8 -18 21 0 29l32 15c4 2 9 2 13 0l108 -49c15 -5 37 -5 52 0l108 49c4 2 9 2 13 0z" /> <glyph glyph-name="ion-ios-outlet" unicode="" d="M311 370c3 0 6 0 8 -2c58 -37 97 -102 97 -176s-39 -138 -97 -176c-2 -2 -5 -2 -8 -2h-206c-3 0 -6 0 -8 2c-58 38 -97 102 -97 176s39 139 97 176c2 2 5 2 8 2h206zM145 177c2 0 4 2 4 4v111c0 2 -2 4 -4 4h-22c-2 0 -4 -2 -4 -4v-111c0 -2 2 -4 4 -4h22zM234 58 c2 0 4 2 4 4v41c0 16 -14 30 -30 30s-30 -15 -30 -31v-40c0 -2 2 -4 4 -4h52zM293 192c2 0 4 2 4 4v81c0 2 -2 4 -4 4h-22c-2 0 -4 -2 -4 -4v-81c0 -2 2 -4 4 -4h22z" /> <glyph glyph-name="ion-ios-tablet-landscape" unicode="" horiz-adv-x="448" d="M7 345v0c4 4 11 7 17 7h400c6 0 13 -3 17 -7v0c4 -4 7 -11 7 -17v-272c0 -6 -3 -13 -7 -17v0c-4 -4 -11 -7 -17 -7h-400c-6 0 -13 3 -17 7v0c-4 4 -7 11 -7 17v272c0 6 3 13 7 17zM17 192c0 -4 3 -7 7 -7s7 3 7 7s-3 7 -7 7s-7 -3 -7 -7zM438 192c0 8 -6 14 -14 14 s-14 -6 -14 -14s6 -14 14 -14s14 6 14 14zM400 336h-352v-288h352v288z" /> <glyph glyph-name="ion-md-arrow-dropdown-circle" unicode="" d="M208 400c115 0 208 -93 208 -208s-93 -208 -208 -208s-208 93 -208 208s93 208 208 208zM208 128l96 96h-192z" /> <glyph glyph-name="ion-logo-flickr" unicode="" horiz-adv-x="384" d="M288 384c53 0 96 -43 96 -96v-192c0 -53 -43 -96 -96 -96h-192c-53 0 -96 43 -96 96v192c0 53 43 96 96 96h192zM120 144c26 0 48 22 48 48s-22 48 -48 48s-48 -22 -48 -48s22 -48 48 -48zM264 144c26 0 48 22 48 48s-22 48 -48 48s-48 -22 -48 -48s22 -48 48 -48z" /> <glyph glyph-name="ion-md-tv" unicode="" horiz-adv-x="448" d="M407 372c22 0 41 -18 41 -40v-240c0 -22 -19 -40 -41 -40h-102v-40h-163v40h-101c-22 0 -41 18 -41 40v240c0 22 19 40 41 40h366zM407 92v0v240h-366v-240h366z" /> <glyph glyph-name="ion-ios-bowtie" unicode="" horiz-adv-x="448" d="M259 234c10 -17 19 -53 17 -85c-1 -17 -5 -22 -5 -22s-12 -7 -36 -7h-11c-35 3 -40 15 -40 15s4 12 8 43s0 58 0 58s7 5 19 7c8 2 17 3 23 3v0c11 0 20 -4 25 -12zM174 239c0 0 3 -16 2 -32v-10c0 -3 -1 -6 -1 -10c0 -5 0 -10 -1 -15l-2 -10c-4 -21 -10 -34 -10 -34 s-77 -80 -110 -80c-28 0 -52 68 -52 144s26 144 52 144c35 0 100 -57 122 -97zM396 336c26 0 52 -68 52 -144s-24 -144 -52 -144c-37 0 -98 69 -106 79c0 0 4 5 5 22v9v8c0 11 -2 23 -4 33l-3 11c-3 10 -7 18 -10 24c0 1 -2 4 -2 4l1 1c22 40 83 97 119 97z" /> <glyph glyph-name="ion-ios-barcode" unicode="" d="M74 60c4 0 7 -2 10 -5s4 -6 4 -10c0 -8 -7 -13 -15 -13h-56c-10 0 -17 6 -17 16v288c0 10 8 16 18 16h54c4 0 9 -1 12 -4s4 -6 4 -10c0 -8 -7 -14 -15 -14h-40c-2 0 -4 -2 -4 -4v-256c0 -2 2 -4 4 -4h41zM399 352c10 0 17 -6 17 -16v-288c0 -10 -7 -16 -17 -16h-57 c-4 0 -7 1 -10 4s-4 6 -4 10c0 8 7 14 15 14h40c2 0 4 2 4 4v256c0 2 -2 4 -4 4h-41c-5 0 -9 3 -12 8c0 1 -1 1 -1 2c-3 10 4 18 14 18h56zM74 272c8 0 14 -6 14 -14v-132c0 -8 -6 -14 -14 -14s-14 6 -14 14v132c0 8 6 14 14 14zM342 112c-8 0 -14 6 -14 14v132 c0 8 6 14 14 14s14 -6 14 -14v-132c0 -8 -6 -14 -14 -14zM278 304c8 0 14 -6 14 -14v-196c0 -8 -6 -14 -14 -14s-14 6 -14 14v196c0 8 6 14 14 14zM138 304c8 0 14 -6 14 -14v-196c0 -8 -6 -14 -14 -14s-14 6 -14 14v196c0 8 6 14 14 14zM208 288c8 0 14 -6 14 -14v-164 c0 -8 -6 -14 -14 -14s-14 6 -14 14v164c0 8 6 14 14 14z" /> <glyph glyph-name="ion-ios-shirt" unicode="" horiz-adv-x="413" d="M413 266l-62 -64c-2 -3 -7 -1 -7 3v45c0 5 -5 10 -11 9c-4 -1 -7 -5 -7 -9v-61v-181c0 -4 -4 -8 -8 -8h-222c-4 0 -8 4 -8 8v181v61c0 5 -5 10 -11 9c-4 -1 -7 -5 -7 -9v-45c0 -4 -5 -6 -7 -3l-62 64c-1 2 -1 4 0 6c12 12 61 63 89 83c20 15 41 29 63 29s22 -8 54 -8 s32 8 54 8s42 -14 62 -29c28 -20 77 -71 89 -83c1 -2 2 -4 1 -6zM207 305c30 0 54 13 54 36c0 30 -24 11 -54 11s-54 19 -54 -11c0 -23 24 -36 54 -36z" /> <glyph glyph-name="ion-md-home" unicode="" d="M160 0h-98v192h-62l208 192l208 -192h-62v-192h-98v128h-96v-128z" /> <glyph glyph-name="ion-ios-cafe" unicode="" d="M322 44c8 0 14 -7 14 -15s-7 -13 -15 -13h-259c-8 0 -14 7 -14 15s6 13 14 13h260zM351 330v0c39 -14 65 -49 65 -88c0 -25 -11 -49 -30 -67s-45 -27 -72 -27h-6v0c-16 -28 -36 -50 -58 -64c-19 -12 -38 -20 -44 -20h-60c-9 0 -46 12 -78 49c-18 21 -33 47 -44 79 c-14 38 -22 84 -24 136c0 11 4 22 12 30c7 7 17 10 27 10h274c10 0 19 -3 26 -10c8 -8 12 -17 12 -28zM322 176v0c37 3 66 32 66 66c0 13 -5 26 -13 37c-7 9 -16 16 -26 21v0c-4 -47 -13 -90 -27 -124z" /> <glyph glyph-name="ion-md-navigate" unicode="" horiz-adv-x="320" d="M160 384l160 -369l-15 -15l-145 64l-145 -64l-15 15z" /> <glyph glyph-name="ion-md-arrow-round-down" unicode="" horiz-adv-x="332" d="M9 163c-12 12 -12 31 0 43s34 12 46 0l79 -83v214c0 17 14 31 32 31s32 -14 32 -31v-214l79 83c12 12 34 12 46 0s12 -31 0 -43l-134 -138c-6 -6 -14 -9 -23 -9v0c-9 0 -17 3 -23 9z" /> <glyph glyph-name="ion-md-color-fill" unicode="" horiz-adv-x="448" d="M104 370l30 30l257 -256l-54 -11l-153 -149l-184 178l142 141zM288 162l-102 103l-103 -103h205zM391 144c0 0 57 -61 57 -92s-26 -56 -57 -56s-56 25 -56 56s56 92 56 92z" /> <glyph glyph-name="ion-ios-star-half" unicode="" horiz-adv-x="448" d="M431 256c9 0 17 -7 17 -16c0 -4 -2 -8 -5 -11l-3 -2l-120 -86l46 -135c2 -7 1 -14 -5 -18c-3 -2 -6 -4 -9 -4s-7 2 -10 4l-118 84l-118 -84c-3 -2 -7 -4 -10 -4s-6 2 -9 4c-6 4 -7 12 -5 18l46 135l-121 85c-5 4 -7 7 -7 11v3c0 9 7 16 16 16v0h148l45 133 c2 6 8 11 15 11s13 -5 15 -11l45 -133h147zM384 221c3 2 1 7 -3 7h-97v0c-12 0 -23 8 -27 19l-29 88v0c-1 2 -4 2 -4 0v-210c0 -12 6 -23 16 -30v0l78 -56c3 -2 7 1 6 5l-30 88c-4 12 0 25 10 32z" /> <glyph glyph-name="ion-ios-person" unicode="" horiz-adv-x="384" d="M384 10c1 -5 -3 -10 -8 -10h-368c-5 0 -9 5 -8 10c7 32 49 47 63 52c16 6 38 7 52 10c8 2 20 6 24 11s1 49 1 49s-7 12 -11 22s-8 38 -8 38s-8 0 -11 14c-3 16 -9 22 -8 34s7 11 7 11s-6 16 -7 51c-1 41 31 82 90 82c58 0 91 -41 90 -82c-1 -35 -7 -51 -7 -51s6 1 7 -11 s-5 -18 -8 -34c-3 -14 -11 -14 -11 -14s-4 -28 -8 -38s-12 -22 -12 -22s-2 -44 2 -49s16 -9 24 -11c14 -3 36 -4 52 -10c14 -5 56 -20 63 -52z" /> <glyph glyph-name="ion-md-settings" unicode="" d="M366 171l47 -34c3 -3 4 -10 2 -14l-43 -71c-2 -4 -7 -7 -12 -5l-54 21c-12 -8 -23 -16 -36 -21l-8 -55c-1 -4 -6 -8 -11 -8h-85c-5 0 -10 3 -11 8l-8 55c-13 5 -25 13 -36 21l-54 -21c-4 -2 -10 1 -12 5l-43 71c-3 5 -2 11 2 14l45 34c0 7 -1 14 -1 21s1 14 1 21l-46 34 c-3 3 -4 10 -2 14l43 71c2 4 7 7 12 5l54 -21c12 8 23 16 36 21l8 55c1 4 6 8 11 8h85c5 0 10 -4 11 -8l7 -55c13 -5 25 -13 36 -21l53 21c4 2 11 -1 13 -5l43 -71c3 -5 2 -11 -2 -14l-45 -34c0 -7 1 -14 1 -21s0 -15 -1 -21zM207 119c41 0 75 32 75 73s-34 73 -75 73 s-74 -32 -74 -73s33 -73 74 -73z" /> <glyph glyph-name="ion-ios-lock" unicode="" horiz-adv-x="320" d="M280 256c22 0 40 -18 40 -40v-192c0 -22 -18 -40 -40 -40h-240c-22 0 -40 18 -40 40v192c0 22 18 40 40 40h24v48c0 53 44 97 97 96s95 -44 95 -97v-47h24zM174 131c11 5 18 16 18 29c0 18 -15 33 -34 32c-16 -1 -29 -13 -30 -29c-1 -14 6 -26 18 -32v-69 c0 -8 7 -14 15 -14s13 6 13 14v69zM228 256v48c0 18 -7 35 -20 48s-30 20 -48 20s-35 -7 -48 -20s-20 -30 -20 -48v-48h136z" /> <glyph glyph-name="ion-ios-egg" unicode="" horiz-adv-x="320" d="M160 416v0c64 0 160 -133 160 -257s-64 -191 -160 -191s-160 67 -160 191s96 257 160 257z" /> <glyph glyph-name="ion-ios-repeat" unicode="" horiz-adv-x="384" d="M273 290c4 -4 6 -9 6 -15s-2 -11 -6 -15l-36 -36c-3 -3 -6 -4 -10 -4s-7 1 -10 4s-4 7 -4 11c0 3 2 7 4 9l16 16h-155c-13 0 -25 -5 -35 -15s-15 -22 -15 -35v-16c0 -8 -6 -14 -14 -14v0c-8 0 -14 6 -14 14v16c0 21 8 40 23 55s34 23 55 23h157l-16 16c-2 2 -4 6 -4 9 c0 5 2 10 7 13c1 1 2 2 3 2c5 1 10 0 14 -4zM370 204c8 0 14 -6 14 -14v-16c0 -43 -35 -78 -78 -78h-157l16 -16c2 -2 4 -6 4 -9c0 -5 -2 -10 -7 -13c-1 -1 -2 -1 -3 -1c-5 -1 -10 -1 -14 3l-34 34c-4 4 -6 9 -6 15s2 12 6 16l36 35c3 3 6 4 10 4s7 -1 10 -4s4 -7 4 -11 c0 -3 -2 -7 -4 -9l-16 -16h155c13 0 25 5 35 15s15 22 15 35v16c0 8 6 14 14 14v0z" /> <glyph glyph-name="ion-ios-color-palette" unicode="" horiz-adv-x="384" d="M366 100c12 -11 14 -35 0 -48c-39 -34 -94 -52 -149 -52h-1c-55 0 -111 18 -153 55c-84 74 -84 195 0 269c45 40 102 60 158 60c48 0 94 -15 128 -45c46 -41 46 -108 0 -149l-30 -27c-14 -13 -14 -31 0 -44c7 -6 11 -8 23 -10c8 -1 17 -3 24 -9zM56 232 c0 -18 14 -32 32 -32s32 14 32 32s-14 32 -32 32s-32 -14 -32 -32zM96 106c18 0 32 14 32 32s-14 32 -32 32s-32 -14 -32 -32s14 -32 32 -32zM160 267c18 0 32 14 32 32s-14 32 -32 32s-32 -14 -32 -32s14 -32 32 -32zM232 48c26 0 48 22 48 48s-22 48 -48 48 s-48 -22 -48 -48s22 -48 48 -48zM256 256c18 0 32 14 32 32s-14 32 -32 32s-32 -14 -32 -32s14 -32 32 -32z" /> <glyph glyph-name="ion-ios-alert" unicode="" d="M208 400c115 0 208 -93 208 -208s-93 -208 -208 -208s-208 93 -208 208s93 208 208 208zM225 290c0 10 -7 18 -17 18v0c-10 0 -17 -8 -17 -18l3 -115c0 -8 6 -15 14 -15v0c8 0 14 7 14 15zM208 94c11 0 19 8 19 18s-8 19 -19 19s-19 -9 -19 -19s8 -18 19 -18z" /> <glyph glyph-name="ion-ios-bus" unicode="" horiz-adv-x="320" d="M14 31c11 -12 24 -9 58 -9c0 -10 1 -22 -3 -22h-55c-4 0 -5 7 -6 29c0 3 4 4 6 2zM306 31c2 2 6 1 6 -2c-1 -22 -2 -29 -6 -29h-55s-3 12 -3 22c34 0 47 -3 58 9zM288 384c18 0 32 -14 32 -32v0v-276c0 -22 -18 -40 -40 -40h-240c-22 0 -40 18 -40 40v276v0 c0 18 14 32 32 32h8h240h8zM66 72c12 1 21 10 22 22c1 15 -11 27 -26 26c-12 -1 -21 -10 -22 -22c-1 -15 11 -27 26 -26zM142 150c2 0 4 2 4 4v140c0 2 -2 4 -4 4h-98c-9 0 -16 -7 -16 -16v-116c0 -9 7 -16 16 -16h98zM258 72c12 1 21 10 22 22c1 15 -11 27 -26 26 c-12 -1 -21 -10 -22 -22c-1 -15 11 -27 26 -26zM292 166v116c0 9 -7 16 -16 16h-98c-2 0 -4 -2 -4 -4v-140c0 -2 2 -4 4 -4h98c9 0 16 7 16 16zM277 328c9 0 15 6 15 14s-6 14 -15 14h-234c-9 0 -15 -6 -15 -14s6 -14 15 -14h234z" /> <glyph glyph-name="ion-md-beer" unicode="" horiz-adv-x="448" d="M384 308c47 0 64 -33 64 -68v-96c0 -35 -14 -68 -64 -68h-16v-33v-11c0 -35 -29 -64 -64 -64h-176c-35 0 -64 29 -64 64v173v2c-26 0 -48 22 -48 48v55c-10 11 -16 26 -16 42c0 35 29 64 64 64c18 0 34 -8 46 -20c10 12 26 20 43 20c14 0 27 -6 37 -14c12 9 26 14 42 14 c17 0 34 -6 46 -16c11 10 26 16 42 16c35 0 64 -29 64 -64c0 -15 -7 -29 -16 -38v-6h16zM320 256v49v15h-20c-3 -8 -7 -16 -13 -23c-13 -16 -33 -25 -55 -25c-26 0 -48 13 -61 33c-6 -2 -12 -3 -18 -3c-12 0 -23 4 -32 10c-2 1 -3 3 -5 4c-1 -2 -2 -3 -3 -5l-1 -1v-54h208z M64 320c9 0 18 4 24 11c2 2 3 4 4 6c0 0 6 10 12 11s20 6 30 -5c4 -5 11 -9 19 -9c3 0 5 1 7 2c3 1 7 2 9 4v0c3 2 6 4 10 4c7 0 12 -4 14 -10c0 0 1 -1 1 -2c1 -3 1 -5 3 -8c7 -12 20 -20 35 -20c13 0 26 6 33 16c5 7 7 15 7 24s9 8 9 8h55c6 0 13 -3 15 -9c1 3 1 6 1 9 c0 18 -14 32 -32 32c-9 0 -17 -4 -23 -10c-2 -2 -6 -5 -16 -6h-8c-6 1 -11 3 -13 5c-7 7 -17 11 -28 11c-9 0 -18 -4 -25 -9c-2 -2 -4 -5 -6 -7c0 -1 -1 -1 -2 -2c-3 -3 -7 -5 -11 -5c-5 0 -8 3 -11 6c-1 2 -2 3 -3 5s-3 4 -5 6c-4 4 -10 6 -16 6c-10 0 -18 -9 -25 -16 c-7 -8 -27 -8 -34 0s-18 16 -30 16c-18 0 -32 -14 -32 -32c0 -2 1 -5 1 -7c2 -9 7 -17 15 -21v-63c0 -9 7 -16 16 -16v75zM400 144v96c0 18 -6 24 -24 24h-8v-144h8c18 0 24 6 24 24z" /> <glyph glyph-name="ion-md-snow" unicode="" horiz-adv-x="412" d="M411 150l-57 -16l58 -33l-24 -42l-57 33l16 -57l-31 -8l-24 88l-62 36v-71l64 -64l-22 -23l-42 42v-67h-48v66l-42 -42l-22 22l64 65v71l-61 -35l-23 -88l-31 8l15 57l-58 -33l-24 41l57 33l-57 15l8 31l88 -23l63 36l-63 36l-88 -24l-8 31l57 15l-57 33l24 42l58 -34 l-15 57l31 9l23 -88l61 -35v71l-64 65l22 22l42 -42v66h48v-67l42 42l22 -23l-64 -64v-71l62 36l24 88l31 -9l-16 -57l57 33l24 -42l-58 -33l57 -15l-8 -31l-88 24l-60 -35l60 -35l88 23z" /> <glyph glyph-name="ion-md-download" unicode="" horiz-adv-x="320" d="M320 248l-160 -158l-160 158h91v136h138v-136h91zM0 45h320v-45h-320v45z" /> <glyph glyph-name="ion-md-star-outline" unicode="" horiz-adv-x="404" d="M404 238l-110 -96l33 -142l-125 75l-125 -75l33 142l-110 96l145 12l57 134l57 -134zM219 103l60 -36l-16 68l-5 19l15 12l53 46l-70 6l-19 2l-8 18l-27 64l-27 -64l-8 -18l-19 -2l-70 -6l53 -46l15 -12l-5 -19l-16 -68l60 36l17 10z" /> <glyph glyph-name="ion-ios-microphone" unicode="" horiz-adv-x="288" d="M203 244c-7 0 -12 -5 -12 -12s5 -12 12 -12h73c7 0 12 -5 12 -12s-5 -12 -12 -12h-73c-7 0 -12 -5 -12 -12s5 -12 12 -12h77c4 0 8 -4 8 -8c0 -14 -3 -27 -8 -39c-1 -3 -4 -5 -7 -5h-258c-3 0 -6 2 -7 5c-5 12 -8 25 -8 39c0 4 4 8 8 8h77c7 0 12 5 12 12s-5 12 -12 12 h-73c-7 0 -12 5 -12 12s5 12 12 12h73c7 0 12 5 12 12s-5 12 -12 12h-73c-7 0 -12 5 -12 12s5 12 12 12h73c7 0 12 5 12 12s-5 12 -12 12h-77c-4 0 -8 4 -8 8c2 47 31 88 73 106c5 2 11 -1 11 -7v-36c0 -7 5 -12 12 -12s12 5 12 12v41c0 7 5 12 12 12v0c7 0 12 -5 12 -12 v-57c0 -7 5 -12 12 -12s12 5 12 12v57c0 7 5 12 12 12v0c7 0 12 -5 12 -12v-41c0 -7 5 -12 12 -12s12 5 12 12v36c0 6 6 9 11 7c42 -18 71 -58 73 -106c0 -4 -4 -8 -8 -8h-77c-7 0 -12 -5 -12 -12s5 -12 12 -12h73c7 0 12 -5 12 -12s-5 -12 -12 -12h-73zM30 89c-2 3 0 7 3 7 h222c3 0 6 -4 4 -7c-19 -22 -46 -36 -76 -40c-4 0 -7 -4 -7 -8v-41c0 -18 -14 -32 -32 -32v0c-18 0 -32 14 -32 32v41c0 4 -3 8 -7 8c-30 4 -56 18 -75 40z" /> <glyph glyph-name="ion-md-git-network" unicode="" horiz-adv-x="384" d="M384 352c0 -24 -13 -44 -32 -55v-93l-128 -64v-53c19 -11 32 -31 32 -55c0 -35 -29 -64 -64 -64s-64 29 -64 64c0 24 13 44 32 55v53l-128 64v93c-19 11 -32 31 -32 55c0 35 29 64 64 64s64 -29 64 -64c0 -24 -13 -44 -32 -55v-53l96 -48l96 48v53c-19 11 -32 31 -32 55 c0 35 29 64 64 64s64 -29 64 -64zM64 392c-22 0 -40 -18 -40 -40s18 -40 40 -40s40 18 40 40s-18 40 -40 40zM192 -8c22 0 40 18 40 40s-18 40 -40 40s-40 -18 -40 -40s18 -40 40 -40zM320 312c22 0 40 18 40 40s-18 40 -40 40s-40 -18 -40 -40s18 -40 40 -40z" /> <glyph glyph-name="ion-md-code-working" unicode="" horiz-adv-x="448" d="M158 94l-30 -30l-128 128l128 128l30 -30l-98 -98zM290 94l98 98l-98 98l30 30l128 -128l-128 -128zM124 172v40h40v-40h-40zM324 212v-40h-40v40h40zM204 172v40h40v-40h-40z" /> <glyph glyph-name="ion-md-phone-portrait" unicode="" horiz-adv-x="288" d="M247 416c23 0 41 -19 41 -41v-366c0 -22 -18 -41 -41 -41h-206c-23 0 -41 19 -41 41v366c0 22 18 41 41 41h206zM252 48v288h-216v-288h216z" /> <glyph glyph-name="ion-ios-videocam" unicode="" horiz-adv-x="448" d="M419 294h20c5 0 9 -3 9 -8v-188c0 -5 -4 -9 -9 -9h-20c-3 0 -7 1 -10 3l-86 55c-2 2 -4 4 -4 7v76c0 3 2 5 4 7l86 55c3 2 7 2 10 2zM242 64h-190c-28 0 -52 23 -52 51v154c0 28 23 51 51 51h190c28 0 52 -23 52 -51v-153c0 -28 -23 -52 -51 -52z" /> <glyph glyph-name="ion-logo-no-smoking" unicode="" horiz-adv-x="448" d="M328 144v48h16v-48h-16zM80 144v48h82l48 -48h-130zM332 388c69 -38 116 -112 116 -196c0 -124 -100 -224 -224 -224c-24 0 -47 4 -68 11c-2 1 -3 1 -5 2c-12 4 -24 9 -35 15h-1c-69 38 -115 112 -115 196c0 124 100 224 224 224c24 0 47 -4 68 -11c2 -1 3 -1 5 -2 c12 -4 24 -9 35 -15v0zM224 22c37 0 72 12 100 32l-238 238c-20 -28 -32 -63 -32 -100c0 -65 36 -121 90 -150c6 -3 13 -7 19 -9c2 -1 3 -1 5 -2c9 -3 19 -5 29 -7c9 -2 18 -2 27 -2zM362 93c20 28 32 62 32 99c0 66 -37 123 -91 151c-6 3 -12 6 -18 8c-2 1 -3 1 -5 2 c-9 3 -19 5 -29 7c-9 2 -18 2 -27 2c-37 0 -71 -12 -99 -32zM320 192v-34l-34 34h34zM352 144v48h16v-48h-16zM328 235c16 -7 16 -23 16 -30v-1h-16v1c0 8 -1 13 -7 16c-4 2 -13 4 -39 4h-3c-13 0 -24 0 -33 13c-5 8 -5 19 -2 29c-4 1 -8 1 -12 3c-17 7 -26 20 -26 38 c0 33 27 44 39 44v-16c-1 0 -23 -2 -23 -28c0 -11 5 -19 16 -23c9 -4 18 -3 18 -3c3 0 6 -2 7 -5s2 -6 0 -8c-5 -7 -7 -18 -4 -22c4 -6 7 -6 20 -6h3c24 0 37 -2 46 -6zM368 204v0h-16c0 28 -4 37 -7 42c-6 10 -14 14 -25 14h-30c-3 0 -5 2 -6 4s-1 6 0 8c0 0 8 18 6 32 c-1 8 -6 17 -27 17v16c24 0 40 -11 43 -30c2 -11 0 -23 -3 -31h17c16 0 30 -8 39 -22c6 -10 9 -24 9 -50z" /> <glyph glyph-name="ion-md-add" unicode="" horiz-adv-x="320" d="M320 171h-139v-139h-42v139h-139v42h139v139h42v-139h139v-42z" /> <glyph glyph-name="ion-md-arrow-dropup" unicode="" horiz-adv-x="256" d="M0 128l128 128l128 -128h-256z" /> <glyph glyph-name="ion-ios-checkmark-circle" unicode="" d="M208 400c115 0 208 -93 208 -208s-93 -208 -208 -208s-208 93 -208 208s93 208 208 208zM314 250c2 2 2 3 0 5l-17 18c-1 1 -2 2 -3 2v0c-1 0 -2 -1 -3 -2l-122 -123l-44 45c-1 1 -2 1 -3 1s-2 0 -3 -1l-18 -18c-2 -2 -2 -4 0 -6l56 -56c4 -4 8 -5 12 -5c5 0 10 3 12 5v0 z" /> <glyph glyph-name="ion-ios-link" unicode="" d="M232 107c15 1 23 -17 13 -27l-66 -65c-20 -20 -46 -31 -74 -31s-54 11 -74 31s-31 46 -31 74s10 55 30 75l69 68c8 8 18 15 28 20c6 3 12 5 19 7c1 0 3 1 4 1c5 1 11 3 16 3h7c4 0 7 -1 11 -1h6c22 -4 42 -14 58 -30c12 -12 20 -25 24 -41c2 -8 -2 -17 -10 -19v0h-1 c-8 -2 -16 2 -19 10c-4 10 -9 19 -17 27c-12 12 -29 20 -47 21h-4h-11c-5 -1 -10 -2 -15 -4s-9 -4 -14 -7c-4 -3 -8 -6 -12 -10l-68 -68c-14 -14 -22 -32 -22 -52s8 -37 22 -51s31 -22 51 -22s38 8 52 22l64 64c3 2 6 5 10 5h1zM385 369c20 -20 31 -46 31 -74 s-10 -55 -30 -75l-69 -68c-8 -8 -18 -15 -28 -20c-6 -3 -12 -5 -19 -7c-6 -2 -14 -3 -20 -3c-3 0 -4 -1 -7 -1c-4 0 -7 1 -11 1c-24 2 -47 13 -64 30v0v0c-12 12 -20 24 -24 38c-3 9 3 18 12 20c8 2 16 -2 19 -10c4 -10 9 -18 16 -25c12 -12 29 -20 47 -21h4h11 c5 1 10 2 15 4s9 5 14 8c4 3 8 5 12 9l68 68c14 14 22 32 22 52s-8 37 -22 51s-31 22 -51 22s-37 -8 -51 -22l-64 -63c-3 -3 -8 -5 -13 -5c-14 1 -20 18 -10 28l64 63c20 20 46 31 74 31s54 -11 74 -31z" /> <glyph glyph-name="ion-md-checkbox-outline" unicode="" horiz-adv-x="384" d="M105 233l66 -66l183 183l30 -30l-213 -213l-96 96zM341 43v170h43v-170c0 -23 -20 -43 -43 -43h-298c-23 0 -43 20 -43 43v298c0 23 20 43 43 43h213v-43h-213v-298h298z" /> <glyph glyph-name="ion-md-cloud-upload" unicode="" horiz-adv-x="480" d="M387 231c52 -3 93 -46 93 -99c0 -55 -45 -100 -100 -100h-260c-66 0 -120 54 -120 120c0 62 47 113 107 119c25 48 75 81 133 81c73 0 133 -52 147 -121zM272 172h68l-100 100l-100 -100h68v-76h64v76z" /> <glyph glyph-name="ion-logo-instagram" unicode="" horiz-adv-x="384" d="M272 352h-160c-21 0 -41 -9 -56 -24s-24 -35 -24 -56v-160c0 -21 9 -41 24 -56s35 -24 56 -24h160c21 0 41 9 56 24s24 35 24 56v160c0 21 -9 41 -24 56s-35 24 -56 24zM272 384v0c62 0 112 -50 112 -112v-160c0 -62 -50 -112 -112 -112h-160c-62 0 -112 50 -112 112v160 c0 62 50 112 112 112h160zM296 272c-13 0 -24 11 -24 24s11 24 24 24s24 -11 24 -24s-11 -24 -24 -24zM192 256c-35 0 -64 -29 -64 -64s29 -64 64 -64s64 29 64 64s-29 64 -64 64zM192 288v0c53 0 96 -43 96 -96s-43 -96 -96 -96s-96 43 -96 96s43 96 96 96z" /> <glyph glyph-name="ion-md-volume-high" unicode="" horiz-adv-x="384" d="M0 256h85l107 112v-352l-107 112h-85v128zM288 192c0 -38 -21 -73 -53 -88v177c32 -16 53 -51 53 -89zM235 384c85 -20 149 -99 149 -192s-64 -172 -149 -192v45c62 19 106 78 106 147s-44 128 -106 147v45z" /> <glyph glyph-name="ion-md-help-buoy" unicode="" d="M208 400c115 0 208 -93 208 -208s-93 -208 -208 -208s-208 93 -208 208s93 208 208 208zM269 44c19 8 37 20 52 35s27 33 35 52l-40 12c-6 -13 -14 -25 -24 -35s-22 -18 -35 -24zM147 340c-19 -8 -37 -20 -52 -35s-27 -33 -35 -52l40 -12c6 13 14 25 24 35s22 18 35 24z M208 256c-35 0 -64 -29 -64 -64s29 -64 64 -64s64 29 64 64s-29 64 -64 64zM321 305c-15 15 -33 27 -52 35l-12 -40c13 -6 25 -14 35 -24s18 -22 24 -35l40 12c-8 19 -20 37 -35 52zM95 79c15 -15 33 -27 52 -35l12 40c-13 6 -25 14 -35 24s-18 22 -24 35l-40 -12 c8 -19 20 -37 35 -52z" /> <glyph glyph-name="ion-md-restaurant" unicode="" horiz-adv-x="415" d="M116 168l-91 89c-34 33 -34 86 0 119l153 -148zM264 206l-33 -31l150 -145l-30 -30l-150 146l-150 -146l-30 30s163 159 211 207c-15 32 -4 77 31 111c41 40 101 49 132 17c33 -31 24 -89 -17 -129c-34 -34 -80 -45 -114 -30z" /> <glyph glyph-name="ion-md-body" unicode="" horiz-adv-x="384" d="M192 400c22 0 40 -18 40 -40s-18 -40 -40 -40s-40 18 -40 40s18 40 40 40zM384 256h-128v-272h-43v144h-42v-144h-43v272h-128v43h384v-43z" /> <glyph glyph-name="ion-md-crop" unicode="" d="M304 135v153h-153v38h153c21 0 38 -17 38 -38v-153h-38zM112 102h304v-38h-74v-80h-38v80h-192c-21 0 -38 17 -38 38v186h-74v38h74v74h38v-298z" /> <glyph glyph-name="ion-md-chatbubbles" unicode="" d="M85 80h219v-7c0 -17 -13 -31 -30 -31h-216l-58 -58v274c0 17 13 30 30 30h10v-163c0 -20 25 -45 45 -45zM381 400c19 0 35 -16 35 -35v-314l-76 53h-238c-19 0 -35 16 -35 35v226c0 19 16 35 35 35h279z" /> <glyph glyph-name="ion-logo-rss" unicode="" horiz-adv-x="384" d="M56 112c31 0 56 -25 56 -56s-25 -56 -56 -56s-56 25 -56 56s25 56 56 56zM0 256c140 0 256 -116 256 -256h-80c0 48 -14 94 -48 128s-80 48 -128 48v80zM0 384c212 0 384 -172 384 -384h-80c0 171 -133 304 -304 304v80z" /> <glyph glyph-name="ion-md-outlet" unicode="" horiz-adv-x="448" d="M338 416c61 0 110 -51 110 -113v-222c0 -62 -49 -113 -110 -113h-228c-61 0 -110 51 -110 113v222c0 62 49 113 110 113h228zM143 197v102c0 11 -9 21 -20 21h-23c-11 0 -19 -9 -20 -20v-2v-101v-1c0 -11 9 -20 20 -20h23c11 0 20 9 20 20v1zM265 50v31 c0 23 -18 42 -41 42s-41 -19 -41 -42v-29c0 -12 9 -20 20 -20h42c11 0 20 7 20 18zM368 197v102c0 11 -9 21 -20 21h-24c-11 0 -19 -9 -20 -20v-2v-101v-1c0 -11 9 -20 20 -20h24c11 0 20 9 20 20v1z" /> <glyph glyph-name="ion-ios-information-circle-outline" unicode="" d="M187 276c0 11 10 20 21 20s21 -9 21 -20s-10 -20 -21 -20s-21 9 -21 20zM189 240h38v-144h-38v144zM208 372c-48 0 -93 -19 -127 -53s-53 -79 -53 -127s19 -93 53 -127s79 -53 127 -53s93 19 127 53s53 79 53 127s-19 93 -53 127s-79 53 -127 53zM208 400v0 c115 0 208 -93 208 -208s-93 -208 -208 -208s-208 93 -208 208s93 208 208 208z" /> <glyph glyph-name="ion-md-flash-off" unicode="" horiz-adv-x="408" d="M408 12l-24 -24l-140 140l-72 -144v192h-64v88l-108 107l24 25zM300 240l-24 -48l-168 168v40h192l-64 -160h64z" /> <glyph glyph-name="ion-md-videocam" unicode="" horiz-adv-x="448" d="M352 228l96 98v-268l-96 98v-86c0 -13 -11 -24 -25 -24h-302c-14 0 -25 11 -25 24v244c0 13 11 24 25 24h302c14 0 25 -11 25 -24v-86z" /> <glyph glyph-name="ion-ios-square-outline" unicode="" horiz-adv-x="320" d="M292 352c15 0 28 -13 28 -28v-264c0 -15 -13 -28 -28 -28h-264c-15 0 -28 13 -28 28v264c0 15 13 28 28 28h264zM292 68v248c0 4 -4 8 -8 8h-248c-4 0 -8 -4 -8 -8v-248c0 -4 4 -8 8 -8h248c4 0 8 4 8 8z" /> <glyph glyph-name="ion-ios-information-circle" unicode="" d="M208 400c115 0 208 -93 208 -208s-93 -208 -208 -208s-208 93 -208 208s93 208 208 208zM227 96v144h-38v-144h38zM208 256c11 0 21 9 21 20s-10 20 -21 20s-21 -9 -21 -20s10 -20 21 -20z" /> <glyph glyph-name="ion-ios-heart-dislike" unicode="" horiz-adv-x="448" d="M392 21c6 -6 6 -14 0 -20c-2 -2 -5 -2 -7 -3c-5 -1 -9 -1 -13 3l-368 362c-6 6 -6 14 0 20s14 6 20 0zM32 279c0 10 1 20 4 30l270 -265c-36 -31 -66 -52 -66 -52s-101 72 -161 154c-32 43 -47 96 -47 133zM402 146c-16 -22 -33 -42 -52 -61l-282 277c20 18 47 30 76 30 v0v0h1c40 0 75 -21 95 -52c20 31 55 52 95 52h1v0v0c62 -1 112 -51 112 -113c0 -37 -14 -90 -46 -133z" /> <glyph glyph-name="ion-md-search" unicode="" horiz-adv-x="384" d="M274 143l110 -110l-33 -33l-109 110v17l-7 6c-25 -21 -58 -34 -93 -34c-79 0 -142 63 -142 142s63 143 141 143c79 0 142 -64 142 -143c0 -36 -13 -68 -34 -93l7 -5h18zM142 143c55 0 99 43 99 98s-44 99 -99 99s-98 -44 -98 -99s43 -98 98 -98z" /> <glyph glyph-name="ion-ios-download" unicode="" horiz-adv-x="320" d="M280 304c22 0 40 -18 40 -40v-240c0 -22 -18 -40 -40 -40h-240c-22 0 -40 18 -40 40v240c0 22 18 40 40 40h107v-180l-48 47c-5 5 -13 5 -18 0s-5 -13 0 -18l70 -69v0c1 -1 2 -2 4 -3s3 -1 5 -1c3 0 7 2 9 4l70 69c5 5 5 13 0 18s-13 5 -18 0l-48 -47v180h107zM173 387 v-83h-26v83c0 7 6 13 13 13s13 -6 13 -13z" /> <glyph glyph-name="ion-ios-boat" unicode="" horiz-adv-x="400" d="M296 26c0 0 27 -24 63 -36c2 -1 1 -4 -1 -4c-23 2 -40 6 -62 12c-22 -10 -67 -14 -96 -14s-73 5 -96 14c-21 -6 -39 -9 -62 -12c-2 0 -3 3 -1 4c36 12 63 36 63 36c26 -9 66 -15 96 -15s70 6 96 15zM390 185c6 -3 10 -9 10 -16c0 -2 0 -5 -1 -7l-55 -136 c-28 0 -57 22 -57 22c-18 -9 -53 -17 -79 -19h-8h-8c-26 2 -61 10 -79 19c0 0 -29 -22 -57 -22l-55 136c-1 2 -1 5 -1 7c0 7 4 13 10 16v0l187 85c2 1 4 1 6 0l187 -85v0zM156 160c7 0 12 10 12 22s-5 22 -12 22s-12 -10 -12 -22s5 -22 12 -22zM244 160c7 0 12 10 12 22 s-5 22 -12 22s-12 -10 -12 -22s5 -22 12 -22zM336 321l18 -97c1 -3 -2 -5 -5 -4l-26 11c-1 0 -2 2 -2 3l-16 86c-3 11 -7 16 -16 16h-177c-9 0 -15 -5 -17 -16l-16 -86c0 -1 -1 -3 -2 -3l-25 -11c-3 -1 -7 1 -6 4l18 97c5 26 17 47 40 47h34l2 8c4 14 16 24 31 24h57 c15 0 27 -10 31 -24l2 -8h35c22 0 34 -20 40 -47v0z" /> <glyph glyph-name="ion-ios-volume-off" unicode="" horiz-adv-x="384" d="M326 -16c-5 0 -9 3 -12 7l-228 388c-4 7 -2 15 5 19s15 2 19 -5l228 -388c4 -7 2 -15 -5 -19c-2 -1 -5 -2 -7 -2zM69 248l51 41l40 -69v-124c0 -6 -3 -11 -9 -14c-2 -1 -5 -2 -7 -2c-4 0 -7 2 -10 4l-65 52h-53c-9 0 -16 7 -16 16v80c0 9 7 16 16 16h53zM384 192v0 c0 -53 -19 -103 -53 -143l-13 22c27 34 42 77 42 121v0v0c0 53 -20 102 -58 139c-5 5 -5 12 0 17s11 5 16 0c42 -42 66 -97 66 -156v0zM321 192c0 -31 -8 -60 -23 -85l-15 24c9 19 14 39 14 61v0v0c0 37 -14 72 -40 98c-5 5 -5 12 0 17s12 5 17 0c30 -31 47 -71 47 -115v0v0 zM254 192c0 -3 -1 -7 -1 -10l-48 82c0 1 1 1 2 2c5 5 12 4 17 -1c19 -20 30 -45 30 -73v0v0z" /> <glyph glyph-name="ion-logo-reddit" unicode="" horiz-adv-x="449" d="M259 160c0 18 14 31 32 31s32 -13 32 -31s-14 -32 -32 -32s-32 14 -32 32zM127 160c0 18 14 31 32 31s32 -13 32 -31s-14 -32 -32 -32s-32 14 -32 32zM449 197c0 -20 -11 -37 -27 -45c1 -5 1 -9 1 -14c0 -76 -88 -138 -198 -138s-199 61 -199 137c0 5 0 10 1 15 c-16 8 -27 25 -27 45c0 28 23 50 50 50c13 0 24 -5 33 -13c33 23 79 39 129 41h7l29 98l86 -17c7 16 22 28 41 28c25 0 44 -20 44 -45s-19 -45 -44 -45c-24 0 -45 19 -45 44l-69 14l-24 -77c50 -2 96 -18 129 -41c9 8 21 13 34 13c27 0 49 -22 49 -50zM375 366 c-15 0 -27 -12 -27 -27s12 -27 27 -27s27 12 27 27s-12 27 -27 27zM18 197c0 -11 6 -21 14 -27c7 19 20 38 37 53c-5 4 -12 6 -19 6c-18 0 -32 -14 -32 -32zM355 55c32 22 50 52 50 83v9c-1 6 -3 12 -5 18c-6 16 -15 30 -30 43c-4 4 -10 8 -15 12v0c-35 24 -80 37 -130 37 s-96 -13 -131 -37v0c-5 -4 -11 -8 -15 -12c-15 -13 -24 -27 -30 -43c-2 -6 -4 -12 -5 -18v-9c0 -31 18 -61 50 -83c35 -24 81 -37 131 -37s95 13 130 37zM417 170c8 6 14 16 14 27c0 18 -13 32 -31 32c-7 0 -15 -2 -20 -6c17 -15 30 -34 37 -53zM289 90l13 -12 c-1 -1 -29 -30 -77 -30s-77 29 -78 30l13 12s24 -24 65 -24c40 0 64 24 64 24z" /> <glyph glyph-name="ion-ios-flashlight" unicode="" horiz-adv-x="170" d="M146 416c18 0 24 -14 24 -32h-170c0 18 6 32 24 32h122zM25 300c-16 18 -25 33 -25 68h170c0 -33 -10 -50 -25 -68c-8 -9 -12 -19 -12 -31v-266c0 -22 -18 -35 -40 -35h-16c-22 0 -40 13 -40 35v266c0 12 -4 22 -12 31zM57 210v-36c0 -16 13 -28 28 -28s28 12 28 28v36 c0 16 -13 28 -28 28s-28 -12 -28 -28zM65 175c0 11 9 20 20 20s20 -9 20 -20s-9 -20 -20 -20s-20 9 -20 20z" /> <glyph glyph-name="ion-md-qr-scanner" unicode="" d="M48 324v-68h-48v68c0 34 27 60 61 60h67v-48h-68c-7 0 -12 -5 -12 -12zM356 384c33 0 60 -26 60 -60v-68h-48v68c0 7 -6 12 -13 12h-67v48h68zM368 61v67h48v-67c0 -34 -26 -61 -60 -61h-68v49h68c7 0 12 5 12 12zM60 49h68v-49h-67c-34 0 -61 27 -61 61v67h48v-67 c0 -7 5 -12 12 -12z" /> <glyph glyph-name="ion-ios-navigate" unicode="" d="M208 400c115 0 208 -93 208 -208s-93 -208 -208 -208s-208 93 -208 208s93 208 208 208zM208 64l96 224l-224 -96h128v-128z" /> <glyph glyph-name="ion-md-power" unicode="" d="M231 400v-231h-46v231h46zM343 350c45 -38 73 -95 73 -158c0 -115 -93 -208 -208 -208s-208 93 -208 208c0 63 28 120 73 158l33 -33c-36 -30 -60 -74 -60 -125c0 -89 72 -162 162 -162s162 73 162 162c0 51 -24 96 -60 125z" /> <glyph glyph-name="ion-ios-stopwatch" unicode="" horiz-adv-x="384" d="M352 304l-26 26c-3 3 -3 8 0 11l12 11c3 3 8 3 11 0l25 -25c3 -3 3 -8 0 -11l-11 -12c-3 -3 -8 -3 -11 0zM21 304l-11 12c-3 3 -3 8 0 11l25 25c3 3 8 3 11 0l12 -11c3 -3 3 -8 0 -11l-26 -26c-3 -3 -8 -3 -11 0zM216 366c95 -12 168 -92 168 -190 c0 -106 -86 -192 -192 -192s-192 86 -192 192c0 98 73 178 168 190v18c0 9 7 16 16 16h16c9 0 16 -7 16 -16v-18zM206 147c11 5 18 16 18 29s-7 24 -18 29v99c0 8 -6 14 -14 14s-14 -6 -14 -14v-99c-11 -5 -18 -16 -18 -29s7 -24 18 -29v-19c0 -8 6 -14 14 -14s14 6 14 14 v19z" /> <glyph glyph-name="ion-md-key" unicode="" d="M201 224h215v-64h-43v-64h-69v64h-103c-14 -40 -53 -72 -98 -72c-57 0 -103 47 -103 104s44 104 101 104c45 0 86 -32 100 -72zM104 158c19 0 34 15 34 34s-15 34 -34 34s-35 -15 -35 -34s16 -34 35 -34z" /> <glyph glyph-name="ion-ios-arrow-down" unicode="" horiz-adv-x="336" d="M168 154l127 127c9 9 25 9 34 0s9 -25 0 -34l-144 -144c-9 -9 -24 -10 -33 -1l-145 145c-5 5 -7 11 -7 17s2 12 7 17c9 9 25 9 34 0z" /> <glyph glyph-name="ion-logo-linkedin" unicode="" horiz-adv-x="384" d="M353 384c18 0 31 -13 31 -30v-321c0 -17 -13 -33 -31 -33h-320c-18 0 -33 16 -33 33v321c0 17 15 30 33 30h320zM119 64v171h-55v-171h55zM93 261c18 0 30 13 30 29c0 17 -11 30 -29 30s-30 -13 -30 -30c0 -16 11 -29 29 -29v0zM320 64v100c0 51 -27 75 -63 75 c-29 0 -42 -17 -50 -28v24h-55v-171h55v97c0 5 0 10 2 14c4 10 13 20 28 20c20 0 28 -15 28 -37v-94h55z" /> <glyph glyph-name="ion-ios-arrow-dropdown" unicode="" d="M100 237c8 8 19 8 27 0l81 -81l81 79c8 8 19 8 27 0c4 -4 6 -8 6 -13s-2 -10 -6 -14l-94 -94c-8 -7 -20 -6 -27 1l-95 95c-8 8 -8 19 0 27zM0 192c0 115 93 208 208 208s208 -93 208 -208s-93 -208 -208 -208s-208 93 -208 208zM332 316c-33 33 -77 52 -124 52 s-91 -19 -124 -52s-52 -77 -52 -124s19 -91 52 -124s77 -52 124 -52s91 19 124 52s52 77 52 124s-19 91 -52 124z" /> <glyph glyph-name="ion-ios-settings" unicode="" horiz-adv-x="384" d="M352 192c0 -21 14 -39 32 -46c-5 -20 -13 -40 -24 -57c-6 3 -13 4 -20 4c-13 0 -25 -5 -35 -15c-15 -15 -18 -36 -10 -54c-17 -11 -37 -19 -57 -24c-7 18 -25 32 -46 32s-39 -14 -46 -32c-20 5 -40 13 -57 24c8 18 5 39 -10 54c-10 10 -22 15 -35 15c-7 0 -14 -1 -20 -4 c-11 17 -19 37 -24 57c18 7 32 25 32 46s-14 39 -32 46c5 20 13 39 24 57c6 -3 13 -4 20 -4c13 0 25 4 35 14c15 15 18 37 10 55c17 11 37 19 57 24c7 -18 25 -32 46 -32s39 14 46 32c20 -5 40 -13 57 -24c-8 -18 -5 -40 10 -55c10 -10 22 -14 35 -14c7 0 14 1 20 4 c11 -17 19 -37 24 -57c-19 -7 -32 -25 -32 -46zM193 112c44 0 80 36 80 80s-36 80 -80 80s-80 -36 -80 -80s36 -80 80 -80z" /> <glyph glyph-name="ion-md-sad" unicode="" d="M208 160c45 0 83 -26 102 -64h-204c19 38 57 64 102 64zM208 400c114 0 208 -94 208 -208s-93 -208 -208 -208s-208 94 -208 208s93 208 208 208zM208 26c92 0 166 74 166 166s-74 166 -166 166s-166 -74 -166 -166s74 -166 166 -166zM281 213c-18 0 -31 13 -31 31 s13 31 31 31s31 -13 31 -31s-13 -31 -31 -31zM135 213c-18 0 -31 13 -31 31s13 31 31 31s31 -13 31 -31s-13 -31 -31 -31z" /> <glyph glyph-name="ion-ios-tennisball" unicode="" d="M202 -16c-110 3 -199 93 -202 203c8 1 15 1 23 1c48 0 94 -18 128 -52s53 -80 53 -128c0 -8 -1 -16 -2 -24zM182 374c0 -115 92 -207 207 -207c9 0 18 0 26 1c-11 -96 -89 -173 -186 -183c1 8 1 15 1 23c0 115 -92 207 -207 207c-7 0 -15 0 -22 -1c10 96 87 172 182 184 c-1 -8 -1 -16 -1 -24zM261 246c-34 34 -53 80 -53 128c0 9 1 18 2 26c112 -2 204 -93 206 -205c-9 -1 -18 -2 -27 -2c-48 0 -94 19 -128 53zM184 399v0v0v0z" /> <glyph glyph-name="ion-ios-card" unicode="" horiz-adv-x="448" d="M448 320v-48h-448v48c0 18 14 32 32 32h384c18 0 32 -14 32 -32zM0 64v160h448v-160c0 -18 -14 -32 -32 -32h-384c-18 0 -32 14 -32 32zM142 112c-8 0 -14 -6 -14 -14v0c0 -8 6 -14 14 -14h164c8 0 14 6 14 14v0c0 8 -6 14 -14 14h-164zM70 112c-8 0 -14 -6 -14 -14v0 c0 -8 6 -14 14 -14h12c8 0 14 6 14 14v0c0 8 -6 14 -14 14h-12z" /> <glyph glyph-name="ion-md-create" unicode="" horiz-adv-x="384" d="M0 80l236 236l80 -80l-236 -236h-80v80zM378 298l-40 -40l-80 80l40 40c9 9 20 9 29 0l51 -51c9 -9 9 -20 0 -29z" /> <glyph glyph-name="ion-logo-vk" unicode="" horiz-adv-x="448" d="M395 149c41 -38 53 -58 53 -70c0 -6 -3 -9 -6 -11c-5 -4 -22 -4 -34 -4h-28c-9 0 -18 -1 -26 2c-6 2 -12 5 -18 9c-12 9 -21 21 -31 32c-5 6 -10 11 -17 15c-8 4 -14 2 -19 -4c-6 -6 -7 -18 -7 -26s1 -18 -6 -24c-2 -1 -4 -2 -6 -2c-4 -1 -17 -2 -33 -2s-68 8 -105 49 c-36 39 -62 79 -82 120c-11 23 -30 55 -30 66c0 5 5 9 10 9h66c9 0 15 -4 19 -11s10 -26 23 -52c13 -25 25 -45 41 -50c2 0 8 -1 10 3c4 7 5 18 6 25c4 29 3 46 -5 67c-2 5 -7 7 -11 9c-7 3 -13 2 -11 5c4 5 12 10 19 12s21 4 40 4s40 -1 48 -7c1 -1 4 -4 5 -6 c5 -11 2 -29 1 -55c-1 -46 3 -51 5 -54s5 -3 6 -3c2 0 4 0 6 1c8 4 26 26 40 52c13 25 18 36 21 44s8 16 14 16h74c16 0 20 -3 20 -14c0 -17 -18 -39 -32 -58c-34 -45 -40 -53 -40 -59c0 -3 0 -5 1 -8c3 -8 10 -12 19 -20z" /> <glyph glyph-name="ion-ios-wifi" unicode="" horiz-adv-x="448" d="M224 352c82 0 163 -33 222 -88c3 -3 3 -9 0 -12l-27 -28c-3 -3 -8 -3 -11 0c-23 22 -51 39 -80 51c-33 14 -68 21 -104 21s-71 -7 -104 -21c-29 -12 -56 -29 -79 -51c-3 -3 -9 -3 -12 0l-27 28c-3 3 -2 9 1 12c58 55 139 88 221 88zM81 170c-3 3 -3 9 0 12 c38 34 88 55 143 55s104 -21 142 -55c4 -3 4 -9 1 -12l-29 -28c-3 -3 -8 -3 -11 0c-28 25 -65 39 -103 39s-75 -14 -103 -39c-3 -3 -8 -3 -11 0zM224 124c23 0 44 -10 59 -26c3 -3 3 -8 0 -11l-53 -53c-3 -3 -9 -3 -12 0l-53 53c-3 3 -3 8 0 11c15 16 36 26 59 26z" /> <glyph glyph-name="ion-logo-vimeo" unicode="" horiz-adv-x="448" d="M445 334c7 -33 1 -66 -13 -97s-31 -59 -51 -87c-26 -36 -52 -71 -85 -101c-19 -18 -41 -35 -66 -44c-31 -11 -52 -5 -71 22c-14 19 -22 40 -28 63c-12 45 -25 90 -38 134c-4 12 -9 22 -15 33c-3 5 -8 10 -12 14c-5 4 -11 3 -17 0c-10 -6 -28 -18 -28 -18l-21 27 c26 24 82 71 82 71c11 9 33 25 48 27c21 3 38 -4 50 -22c11 -17 15 -37 18 -57c7 -41 11 -82 23 -122c3 -10 8 -20 13 -29c7 -11 15 -13 25 -5c4 3 7 6 10 10c20 24 37 52 48 81c3 9 3 17 3 27c0 13 -10 25 -25 26s-24 -1 -39 -7c6 24 24 62 54 84c29 21 71 24 94 16 s36 -23 41 -46z" /> <glyph glyph-name="ion-ios-checkmark-circle-outline" unicode="" d="M315 255c2 -2 1 -4 0 -6l-134 -134v0c-2 -2 -7 -5 -12 -5c-4 0 -7 1 -11 5l-56 56c-2 2 -2 4 0 6l17 18c1 1 2 1 3 1s2 0 3 -1l44 -45l122 123c1 1 2 1 3 1v0c1 0 2 0 3 -1zM208 372c-48 0 -93 -19 -127 -53s-53 -79 -53 -127s19 -93 53 -127s79 -53 127 -53 s93 19 127 53s53 79 53 127s-19 93 -53 127s-79 53 -127 53zM208 400v0c115 0 208 -93 208 -208s-93 -208 -208 -208s-208 93 -208 208s93 208 208 208z" /> <glyph glyph-name="ion-md-battery-full" unicode="" horiz-adv-x="224" d="M194 371c16 0 30 -14 30 -30v-343c0 -16 -13 -30 -30 -30h-164c-16 0 -30 13 -30 30v343c0 16 14 30 30 30h37v45h90v-45h37z" /> <glyph glyph-name="ion-md-color-wand" unicode="" horiz-adv-x="384" d="M137 291l247 -254l-36 -37l-248 253zM117 316v68h37v-68h-37zM117 118v68h37v-68h-37zM206 235v37h69v-37h-69zM242 332l-48 -48l-25 26l47 48zM105 310l-26 -26l-47 48l26 26zM32 170l47 48l26 -26l-47 -48zM0 235v37h65v-37h-65z" /> <glyph glyph-name="ion-md-analytics" unicode="" horiz-adv-x="448" d="M347 270c4 -1 9 -2 13 -2c11 0 22 4 30 10l58 -39v-212c0 -24 -19 -43 -43 -43h-362c-24 0 -43 19 -43 43v57l61 57c7 -4 15 -6 24 -6c13 0 24 5 33 13l58 -33c0 -3 -1 -6 -1 -9c0 -26 22 -48 48 -48s48 22 48 48c0 12 -4 22 -11 30zM85 231c-26 0 -48 -22 -48 -48 c0 -6 1 -12 3 -17l-40 -38v229c0 24 19 43 43 43h362c24 0 43 -19 43 -43v-80l-41 28c1 4 1 7 1 11c0 26 -22 48 -48 48s-48 -22 -48 -48c0 -10 3 -20 9 -28l-87 -135c-3 1 -7 1 -11 1c-12 0 -22 -4 -30 -11l-60 34v6c0 26 -22 48 -48 48z" /> <glyph glyph-name="ion-ios-compass" unicode="" d="M232 168c1 -1 1 -3 0 -4l-98 -49c-2 -1 -4 1 -3 3l49 98c1 1 3 1 4 0zM208 400c115 0 208 -93 208 -208s-93 -208 -208 -208s-208 93 -208 208s93 208 208 208zM249 151v0l81 160c1 2 -1 4 -3 3l-159 -81h-1l-81 -160c-1 -2 1 -4 3 -3z" /> <glyph glyph-name="ion-logo-dribbble" unicode="" horiz-adv-x="384" d="M192 384c106 0 192 -86 192 -192s-86 -192 -192 -192s-192 86 -192 192s86 192 192 192zM314 296c-17 -25 -47 -47 -85 -64c5 -10 9 -20 13 -31c33 3 75 4 110 2c-2 35 -16 68 -38 93zM192 352c-14 0 -26 -2 -39 -5c23 -23 43 -53 62 -87c34 14 62 33 79 55 c-28 23 -63 37 -102 37zM120 334c-41 -21 -71 -58 -83 -103h25c44 0 85 6 121 17c-19 34 -40 63 -63 86zM32 200v-8c0 -40 15 -78 40 -106c24 45 67 83 122 106c4 2 8 3 14 4c-3 8 -6 16 -10 24c-40 -13 -88 -20 -138 -21c-9 0 -19 1 -28 1zM192 32c20 0 39 3 57 10 c-3 25 -8 53 -15 79c-4 17 -10 33 -16 49c-7 -2 -13 -4 -17 -6c-48 -22 -86 -56 -107 -98c27 -21 61 -34 98 -34zM278 58c40 26 68 67 73 116c-30 2 -68 3 -99 0c4 -12 9 -25 12 -38c7 -27 11 -52 14 -78z" /> <glyph glyph-name="ion-ios-fitness" unicode="" horiz-adv-x="448" d="M320 168h-192c-4 0 -8 4 -8 8v32c0 4 4 8 8 8h192c4 0 8 -4 8 -8v-32c0 -4 -4 -8 -8 -8zM346 86v212c0 12 10 22 22 22v0c12 0 22 -10 22 -22v-212c0 -12 -10 -22 -22 -22v0c-12 0 -22 10 -22 22zM428 256c11 0 20 -9 20 -20v-88c0 -11 -9 -20 -20 -20h-12 c-4 0 -8 4 -8 8v112c0 4 4 8 8 8h12zM102 86c0 -12 -10 -22 -22 -22v0c-12 0 -22 10 -22 22v212c0 12 10 22 22 22v0c12 0 22 -10 22 -22v-212zM32 256c4 0 8 -4 8 -8v-112c0 -4 -4 -8 -8 -8h-12c-11 0 -20 9 -20 20v88c0 11 9 20 20 20h12z" /> <glyph glyph-name="ion-ios-aperture" unicode="" d="M202 77h179c-25 -37 -61 -66 -103 -81l-22 22l-55 55c-1 1 -1 4 1 4zM119 113c0 2 2 3 3 2l127 -127c-13 -3 -27 -4 -41 -4c-32 0 -62 7 -89 20v109zM208 400c32 0 63 -7 90 -20v-109c0 -2 -3 -3 -4 -2l-126 127c13 3 26 4 40 4zM20 281h110c2 0 2 -2 1 -3l-127 -127 c-3 13 -4 27 -4 41c0 32 7 62 20 89zM139 388l77 -77c1 -1 1 -4 -1 -4h-180c25 37 61 66 104 81zM119 227c0 1 0 2 1 3l50 50c1 1 2 1 3 1h71c1 0 1 0 2 -1l50 -50c1 -1 2 -2 2 -3v-70c0 -1 -1 -2 -2 -3l-50 -50c-1 -1 -1 -1 -2 -1h-71c-1 0 -2 0 -3 1l-50 50 c-1 1 -1 2 -1 3v70zM412 232c3 -13 4 -26 4 -40c0 -32 -7 -62 -20 -89h-109c-2 0 -2 2 -1 3zM324 365c37 -25 65 -61 80 -104l-77 -77c-1 -1 -3 0 -3 2v179zM12 122l78 78c1 1 3 0 3 -2v-179c-37 25 -66 60 -81 103z" /> <glyph glyph-name="ion-md-document" unicode="" horiz-adv-x="320" d="M192 400l128 -128v-248c0 -22 -18 -40 -40 -40h-240c-22 0 -40 18 -40 40v336c0 22 18 40 40 40h152zM176 256h112l-112 112v-112z" /> <glyph glyph-name="ion-ios-bicycle" unicode="" horiz-adv-x="448" d="M93 159c-17 0 -34 -8 -46 -20s-19 -29 -19 -46s7 -34 19 -46s29 -19 46 -19s34 7 46 19s20 29 20 46s-8 35 -20 47s-29 19 -46 19zM93 187v0c51 0 94 -43 94 -94s-43 -93 -94 -93s-93 42 -93 93s42 94 93 94zM288 320c-18 0 -32 14 -32 32s14 32 32 32s32 -14 32 -32 s-14 -32 -32 -32zM355 159c-17 0 -34 -8 -46 -20s-20 -29 -20 -46s8 -34 20 -46s29 -19 46 -19s34 7 46 19s19 29 19 46s-7 35 -19 47s-29 19 -46 19zM355 187v0c51 0 93 -43 93 -94s-42 -93 -93 -93s-94 42 -94 93s43 94 94 94zM336 256c9 0 16 -7 16 -16s-7 -16 -16 -16 h-57s-19 24 -38 52l-49 -52c18 -14 48 -25 48 -38v-90c0 -9 -7 -16 -16 -16s-16 7 -16 16v66s-16 16 -62 42c-6 4 -18 10 -18 27c0 8 3 17 9 23l72 69c6 6 14 9 22 9c11 0 21 -7 27 -16l30 -60h48z" /> <glyph glyph-name="ion-ios-clipboard" unicode="" horiz-adv-x="352" d="M60 288c0 9 7 16 16 16h200c9 0 16 -7 16 -16v-240c0 -9 -7 -16 -16 -16h-200c-9 0 -16 7 -16 16v240zM242 367c8 0 14 -7 14 -15v-18c0 -1 -1 -2 -2 -2h-156c-1 0 -2 1 -2 2v16c0 10 8 17 18 17h14c0 6 1 11 3 16c2 6 6 11 10 16c9 10 21 17 35 17s27 -7 36 -17 c4 -5 8 -10 10 -16c2 -5 2 -10 2 -16h18zM179 352c7 1 12 6 13 13c1 10 -8 19 -18 18c-7 -1 -12 -7 -13 -14c-1 -10 8 -18 18 -17zM320 400c18 0 32 -14 32 -32v-368c0 -17 -15 -32 -32 -32h-288c-18 0 -32 14 -32 56v344c0 18 14 32 32 32h76c2 0 3 -2 2 -3 c-3 -4 -6 -9 -8 -16c0 -1 0 -1 -1 -1h-1c-22 0 -27 -18 -27 -37v-9c0 -1 -1 -2 -2 -2h-22c-9 0 -16 -7 -16 -16v-297c0 -9 7 -16 16 -16h253c9 0 16 7 16 16v297c0 9 -7 16 -16 16h-20c-1 0 -2 1 -2 2v14v1v0c-1 19 -8 34 -27 34h-1c-1 0 -2 0 -2 1c-2 5 -4 9 -7 13 c-1 1 0 3 2 3h75z" /> <glyph glyph-name="ion-ios-arrow-dropright-circle" unicode="" d="M0 192c0 115 93 208 208 208s208 -93 208 -208s-93 -208 -208 -208s-208 93 -208 208zM244 192l-79 -81c-8 -8 -8 -19 0 -27c4 -4 8 -6 13 -6s10 2 14 6l94 94c7 8 6 20 -1 27l-95 95c-8 8 -19 8 -27 0s-8 -19 0 -27z" /> <glyph glyph-name="ion-md-mail-unread" unicode="" horiz-adv-x="464" d="M336 320c0 35 29 64 64 64s64 -29 64 -64s-29 -64 -64 -64s-64 29 -64 64zM351 245c14 -9 31 -15 49 -15s34 5 48 14v-185c0 -24 -19 -43 -43 -43h-362c-24 0 -43 19 -43 43v266c0 24 19 43 43 43h281c-9 -14 -14 -30 -14 -48s5 -36 15 -50l-101 -67l-176 117v-43 l176 -117z" /> <glyph glyph-name="ion-md-shirt" unicode="" horiz-adv-x="384" d="M256 384l128 -32v-96l-77 16l13 -272h-256l13 272l-77 -16v96l128 32c11 -19 40 -32 64 -32s53 13 64 32z" /> <glyph glyph-name="ion-ios-finger-print" unicode="" d="M403 266c8 -24 13 -50 13 -73v-11c0 -7 -7 -13 -14 -13v0c-4 0 -8 1 -10 4s-4 6 -4 10c0 2 1 7 1 10c0 20 -5 42 -12 63s-17 38 -27 48c-5 5 -5 15 0 20c3 3 6 4 10 4v0c4 0 7 -1 10 -4c13 -13 24 -34 33 -58zM95 337c-4 0 -9 2 -11 6c-2 3 -3 6 -2 10s2 7 5 9 c35 25 76 38 121 38c47 0 92 -17 131 -49c6 -5 7 -13 2 -19c-3 -3 -7 -5 -11 -5c-3 0 -6 1 -8 3c-34 28 -73 43 -114 43c-39 0 -75 -12 -105 -33c-2 -2 -5 -3 -8 -3zM27 193c0 -30 6 -53 15 -82c1 -4 1 -8 -1 -11s-5 -5 -9 -6c-1 0 -3 -1 -4 -1c-6 0 -11 4 -13 10 c-10 31 -15 57 -15 90c0 50 18 99 51 137c3 3 7 4 11 4v0c3 0 6 -1 8 -3c3 -2 5 -5 5 -9s-1 -7 -3 -10c-29 -33 -45 -75 -45 -119zM308 318c26 -23 46 -55 57 -94c12 -43 16 -96 10 -155c-1 -7 -7 -12 -14 -12h-1c-8 1 -13 7 -12 15c5 55 2 106 -9 145c-10 34 -27 62 -49 81 s-50 29 -79 29c-40 0 -76 -14 -101 -41c-23 -25 -36 -59 -33 -95c2 -31 6 -48 9 -63c5 -23 9 -42 6 -92c0 -7 -7 -13 -14 -13c-1 0 -3 1 -4 1c-6 2 -10 7 -10 14c3 46 -1 64 -5 85c-3 16 -7 33 -9 66c-3 43 11 84 40 115c30 32 73 50 121 50c36 0 70 -12 97 -36zM326 180 c5 -31 7 -56 7 -77c0 -42 -5 -76 -5 -77c-1 -7 -7 -12 -14 -12h-2c-4 1 -7 3 -9 6s-3 6 -2 10c0 0 4 33 4 73c0 20 -2 43 -7 73c-5 31 -16 57 -32 75c-16 17 -36 26 -58 26c-15 0 -29 -3 -42 -9c-2 -1 -4 -1 -6 -1c-4 0 -8 2 -11 5s-4 8 -3 12s4 7 8 9c16 8 35 12 54 12 c30 0 56 -12 77 -34s35 -53 41 -91zM137 244c-11 -16 -14 -35 -10 -59c9 -54 18 -116 10 -174c-1 -7 -7 -12 -14 -12h-1c-4 0 -7 2 -9 5s-3 7 -3 11c8 54 -1 114 -10 165c-5 31 0 58 15 80c3 4 7 6 11 6c3 0 7 -1 9 -3c5 -5 6 -13 2 -19zM270 60c7 0 13 -5 13 -13 c0 -1 1 -21 -3 -41c-1 -6 -6 -11 -13 -11h-5c-6 2 -10 9 -9 16c3 17 3 35 3 35c0 8 5 14 13 14h1zM247 242c11 -10 19 -26 24 -44c8 -28 11 -67 12 -114c0 -4 -2 -7 -4 -10c-3 -3 -5 -4 -9 -4v0c-8 0 -14 7 -14 14c-1 45 -5 82 -12 108c-3 12 -13 39 -38 39 c-11 0 -20 -4 -26 -11c-6 -8 -9 -21 -6 -37c13 -65 16 -127 9 -184c-1 -7 -7 -12 -14 -12h-1c-7 1 -13 7 -12 15c7 54 4 114 -8 176c-6 31 2 50 10 60c11 13 28 20 48 20c15 0 30 -6 41 -16zM217 202c8 -19 14 -51 16 -90c3 -39 2 -80 -2 -116c-1 -7 -6 -12 -13 -12h-2 c-4 0 -7 2 -9 5s-3 6 -3 10c4 33 4 73 2 110s-7 67 -14 83c-3 7 0 15 7 18c2 1 3 1 5 1v0c6 0 11 -4 13 -9z" /> <glyph glyph-name="ion-logo-buffer" unicode="" horiz-adv-x="384" d="M7 284c-9 4 -9 11 0 15l169 82c4 2 10 3 16 3s12 -1 16 -3l169 -82c9 -4 9 -11 0 -15l-169 -82c-4 -2 -10 -3 -16 -3s-12 1 -16 3zM377 200c9 -4 9 -12 0 -16l-169 -81c-4 -2 -10 -4 -16 -4s-12 2 -16 4l-169 81c-9 4 -9 12 0 16c0 0 27 13 33 16c5 3 7 3 13 0 s123 -60 123 -60c4 -2 10 -3 16 -3s12 1 16 3c0 0 121 59 125 61s5 2 9 0s35 -17 35 -17zM377 100c9 -4 9 -11 0 -15l-169 -82c-4 -2 -10 -3 -16 -3s-12 1 -16 3l-169 82c-9 4 -9 11 0 15c0 0 27 14 33 17c5 3 7 2 13 -1s123 -59 123 -59c4 -2 10 -3 16 -3s12 1 16 3 c0 0 121 58 125 60s5 2 9 0s35 -17 35 -17z" /> <glyph glyph-name="ion-ios-arrow-forward" unicode="" horiz-adv-x="192" d="M134 192l-127 127c-9 9 -9 25 0 34s25 9 34 0l144 -144c9 -9 10 -24 1 -33l-145 -145c-5 -5 -11 -7 -17 -7s-12 2 -17 7c-9 9 -9 25 0 34z" /> <glyph glyph-name="ion-md-construct" unicode="" horiz-adv-x="480" d="M415 55c7 -5 7 -18 -2 -25l-41 -41c-7 -7 -17 -7 -24 0l-114 113l-96 -112c-8 -8 -19 -8 -27 0l-43 43c-10 8 -10 21 -2 27l105 105l-14 15c-41 -16 -89 -8 -123 26c-35 35 -44 88 -23 130l78 -75l53 53l-76 75c42 19 96 12 131 -23c34 -34 43 -80 27 -121l13 -13v0 l58 -58v0zM478 231c2 -2 2 -5 0 -7l-55 -56c-2 -2 -6 -2 -8 0l-35 34c-2 2 -2 6 0 8l10 10l-14 13c-6 4 -17 4 -30 0l-31 -37l-57 57l29 28s-1 47 -17 60s-45 29 -45 29v30c30 0 55 -7 91 -25s63 -45 70 -52s17 -18 23 -27s5 -18 5 -18l18 -16l4 4c2 2 6 2 8 0z" /> <glyph glyph-name="ion-ios-restaurant" unicode="" horiz-adv-x="288" d="M272 384c5 0 16 0 16 -11v-357c0 -9 -7 -16 -16 -16s-16 7 -16 16v128s-32 23 -32 80c0 83 23 160 48 160zM176 384h8s24 -107 24 -128s-13 -38 -32 -45v-195c0 -9 -7 -16 -16 -16s-16 7 -16 16v195c-19 7 -32 24 -32 45s24 128 24 128h8l-10 -104c0 -4 4 -8 8 -8 s8 4 8 8l6 104h8l6 -104c0 -4 4 -8 8 -8s8 4 8 8zM48 384c26 0 48 -64 48 -128c0 -21 -13 -38 -32 -45v-195c0 -9 -7 -16 -16 -16s-16 7 -16 16v195c-19 7 -32 24 -32 45c0 64 22 128 48 128z" /> <glyph glyph-name="ion-md-repeat" unicode="" horiz-adv-x="384" d="M85 296v0v-83h-42v125h256v62l85 -83l-85 -83v62h-214zM299 88v0v83h42v-125h-256v-62l-85 83l85 83v-62h214z" /> <glyph glyph-name="ion-ios-reverse-camera" unicode="" horiz-adv-x="384" d="M354 288c18 0 30 -13 30 -31v-176c0 -18 -12 -33 -30 -33h-320c-18 0 -34 15 -34 33v176c0 18 16 31 34 31h7v8c0 4 4 8 8 8h26c4 0 8 -4 8 -8v-8h4c4 0 9 2 12 5c28 32 40 43 52 43h85c12 0 23 -11 51 -43c3 -3 7 -5 12 -5h55zM244 108c1 4 1 8 -2 11c-2 2 -5 4 -8 4 c-2 0 -5 -2 -7 -3c-11 -8 -23 -11 -35 -11c-15 0 -30 5 -42 16c-10 9 -16 21 -19 34h20c1 0 1 1 2 1c3 2 4 5 2 8l-32 42c-1 1 -3 2 -5 2s-3 -1 -4 -2l-31 -42s-1 -1 -1 -2c0 -4 3 -6 6 -6h20c3 -19 12 -37 27 -51c16 -15 36 -22 57 -22c17 0 34 4 48 14c2 2 3 5 4 7z M301 175c2 3 1 7 -2 9h-2h-21c-3 20 -13 40 -26 52c-16 14 -36 23 -58 23c-17 0 -34 -5 -48 -15c-2 -1 -3 -4 -4 -6c-1 -4 -1 -9 2 -12c2 -2 5 -3 8 -3c2 0 5 1 7 2c11 7 23 11 35 11c15 0 29 -5 41 -16c10 -10 17 -22 20 -36h-21h-2c-3 -2 -4 -6 -2 -9l33 -43v-1 c3 -2 7 -1 9 1z" /> <glyph glyph-name="ion-md-move" unicode="" horiz-adv-x="448" d="M448 192l-96 -96v64h-96v-96h64l-96 -96l-96 96h64v96h-96v-64l-96 96l96 96v-64h96v96h-64l96 96l96 -96h-64v-96h96v64z" /> <glyph glyph-name="ion-ios-book" unicode="" d="M98 384c54 0 100 -28 100 -82v-16v0v0v0v-284c0 -2 -3 -3 -4 -1v0c-10 34 -38 68 -82 71c-34 2 -67 -13 -93 -37c-2 -2 -5 -3 -7 -3h-4c-4 0 -8 3 -8 6v290c0 32 44 56 98 56zM318 384c54 0 98 -24 98 -56v-290c0 -3 -4 -6 -8 -6h-4c-2 0 -5 2 -7 3c-29 26 -60 39 -93 37 c-43 -3 -72 -36 -82 -70v-1c-1 -2 -4 -1 -4 1v284v0v0v0v16c0 54 46 82 100 82z" /> <glyph glyph-name="ion-ios-cloud-outline" unicode="" horiz-adv-x="512" d="M288 324c-40 0 -77 -20 -100 -53l-7 -9c-4 -5 -10 -7 -16 -5l-11 4c-5 2 -10 4 -16 4c-11 0 -22 -5 -30 -14s-14 -20 -14 -32v-11c0 -6 -4 -10 -9 -12l-10 -4c-14 -4 -25 -13 -34 -25c-8 -12 -13 -27 -13 -41c0 -17 7 -33 19 -46s28 -20 44 -20h330c16 0 32 7 44 20 s19 29 19 46c0 15 -5 30 -15 42s-23 21 -37 23l-11 2c-6 1 -10 5 -11 11l-1 11c-3 30 -17 57 -39 77s-52 32 -82 32zM288 352v0c77 0 141 -59 149 -134c43 -8 75 -47 75 -92c0 -50 -41 -94 -91 -94h-330c-50 0 -91 44 -91 94c0 41 26 80 66 93c1 39 33 74 72 74 c10 0 19 -3 27 -6c27 39 72 65 123 65z" /> <glyph glyph-name="ion-ios-arrow-dropdown-circle" unicode="" d="M0 192c0 115 93 208 208 208s208 -93 208 -208s-93 -208 -208 -208s-208 93 -208 208zM289 235l-81 -79l-81 81c-8 8 -19 8 -27 0s-8 -19 0 -27l95 -95c7 -7 19 -8 27 -1l94 94c4 4 6 9 6 14s-2 9 -6 13c-8 8 -19 8 -27 0z" /> <glyph glyph-name="ion-md-pin" unicode="" horiz-adv-x="320" d="M160 416c88 0 160 -71 160 -157c0 -118 -160 -291 -160 -291s-160 173 -160 291c0 86 72 157 160 157zM160 203c32 0 57 25 57 56s-25 56 -57 56s-57 -25 -57 -56s25 -56 57 -56z" /> <glyph glyph-name="ion-ios-list-box" unicode="" d="M0 365c0 19 16 35 35 35h346c19 0 35 -16 35 -35v-346c0 -19 -16 -35 -35 -35h-346c-19 0 -35 16 -35 35v346zM89 68c9 1 16 8 17 17c2 13 -9 25 -22 23c-9 -1 -16 -8 -17 -17c-2 -13 9 -25 22 -23zM89 172c9 1 16 8 17 17c2 13 -9 25 -22 23c-9 -1 -16 -8 -17 -17 c-2 -13 9 -25 22 -23zM89 276c9 1 16 8 17 17c2 13 -9 25 -22 23c-9 -1 -16 -8 -17 -17c-2 -13 9 -25 22 -23zM337 74c8 0 14 6 14 14v0c0 8 -6 14 -14 14h-180c-8 0 -14 -6 -14 -14v0c0 -8 6 -14 14 -14h180zM337 178c8 0 14 6 14 14v0c0 8 -6 14 -14 14h-180 c-8 0 -14 -6 -14 -14v0c0 -8 6 -14 14 -14h180zM337 282c8 0 14 6 14 14v0c0 8 -6 14 -14 14h-180c-8 0 -14 -6 -14 -14v0c0 -8 6 -14 14 -14h180z" /> <glyph glyph-name="ion-ios-disc" unicode="" d="M208 282c50 0 90 -40 90 -90s-40 -90 -90 -90s-90 40 -90 90s40 90 90 90zM208 152c22 0 40 18 40 40s-18 40 -40 40s-40 -18 -40 -40s18 -40 40 -40zM208 400c115 0 208 -93 208 -208s-93 -208 -208 -208s-208 93 -208 208s93 208 208 208zM208 78c63 0 114 51 114 114 s-51 114 -114 114s-114 -51 -114 -114s51 -114 114 -114z" /> <glyph glyph-name="ion-ios-cube" unicode="" d="M393 318c6 -3 6 -11 0 -14l-179 -94c-4 -2 -8 -2 -12 0l-179 94c-6 3 -6 11 0 14l179 81c4 2 8 2 12 0zM232 -15c-5 -3 -11 1 -11 7v187c0 3 1 6 4 7l180 93c5 3 11 -1 11 -7v-185c0 -3 -2 -6 -4 -7zM0 272c0 6 6 10 11 7l180 -93c3 -1 4 -4 4 -7v-187 c0 -6 -6 -10 -11 -7l-180 95c-2 1 -4 4 -4 7v185z" /> <glyph glyph-name="ion-md-thunderstorm" unicode="" horiz-adv-x="448" d="M361 287c48 -3 87 -44 87 -93c0 -52 -41 -82 -93 -82h-94l18 36h-33l33 67h-99v-103h-68c-62 0 -112 38 -112 100c0 55 38 100 91 111c6 1 15 2 21 2c50 0 91 -31 106 -75h33c-6 24 -19 47 -37 65c-25 25 -57 37 -91 40c25 31 61 45 101 45c68 0 124 -48 137 -113z M180 80v32h81l-59 -128v96h-22z" /> <glyph glyph-name="ion-md-male" unicode="" d="M368 400h48v-48v-128h-48v94l-107 -107c17 -24 27 -52 27 -83c0 -80 -64 -144 -144 -144s-144 64 -144 144s64 144 144 144c31 0 59 -10 83 -27l107 107h-94v48h128zM144 32c53 0 96 43 96 96s-43 96 -96 96s-96 -43 -96 -96s43 -96 96 -96z" /> <glyph glyph-name="ion-ios-color-wand" unicode="" horiz-adv-x="384" d="M382 42c3 -3 3 -8 0 -11l-29 -29c-3 -3 -8 -3 -11 0l-245 246c-3 3 -3 8 0 11l29 29c3 3 8 3 11 0zM356 28c3 3 3 8 0 11l-190 191c-3 3 -8 3 -11 0v0c-3 -3 -3 -9 0 -12l190 -190c3 -3 8 -3 11 0v0zM129 328c-7 0 -12 5 -12 12v32c0 7 5 12 12 12s12 -5 12 -12v-32 c0 -7 -5 -12 -12 -12zM129 185c7 0 12 -5 12 -12v-32c0 -7 -5 -12 -12 -12s-12 5 -12 12v32c0 7 5 12 12 12zM207 258c0 7 5 12 12 12h32c7 0 12 -5 12 -12s-5 -12 -12 -12h-32c-7 0 -12 5 -12 12zM56 258c0 -7 -6 -12 -12 -12h-32c-7 0 -12 5 -12 12s5 12 12 12h32 c7 0 12 -5 12 -12zM61 307l-21 21c-5 5 -5 12 0 17c2 2 5 3 8 3s7 -1 9 -3l21 -21c5 -5 5 -12 0 -17c-2 -2 -6 -3 -9 -3s-6 1 -8 3zM69 208c3 0 7 -1 9 -3c5 -5 5 -12 0 -17l-21 -21c-2 -2 -6 -4 -9 -4s-6 2 -8 4s-4 5 -4 8s2 7 4 9l21 21c2 2 5 3 8 3v0zM188 304 c-3 0 -6 1 -8 3s-4 6 -4 9s2 6 4 8l21 21c2 2 5 3 8 3s7 -1 9 -3c5 -5 5 -12 0 -17l-21 -21c-2 -2 -6 -3 -9 -3z" /> <glyph glyph-name="ion-ios-pie" unicode="" horiz-adv-x="448" d="M244 380c0 2 2 4 4 4c111 -4 200 -96 200 -208c0 -114 -92 -207 -207 -208c-88 -1 -164 54 -195 131c-1 2 1 5 3 6l189 48c4 1 6 4 6 8v219zM0 209c0 90 59 205 216 207c2 0 4 -2 4 -4v-229c0 -4 -2 -7 -6 -8l-194 -50c-2 0 -4 1 -5 3c-15 32 -15 81 -15 81z" /> <glyph glyph-name="ion-md-person" unicode="" horiz-adv-x="384" d="M192 192c-53 0 -96 43 -96 96s43 96 96 96s96 -43 96 -96s-43 -96 -96 -96zM192 144c64 0 192 -32 192 -96v-48h-384v48c0 64 128 96 192 96z" /> <glyph glyph-name="ion-md-alert" unicode="" d="M208 400c114 0 208 -94 208 -208s-94 -208 -208 -208s-208 94 -208 208s94 208 208 208zM232 88v40h-48v-40h48zM232 176v128h-48v-128h48z" /> <glyph glyph-name="ion-md-tennisball" unicode="" d="M336 356c-42 -45 -64 -103 -64 -164s23 -119 65 -163c-36 -28 -81 -45 -129 -45s-93 17 -128 45c42 44 64 102 64 163s-22 119 -64 164c35 28 80 44 128 44s93 -16 128 -44zM305 193c0 27 5 53 15 78c9 23 23 44 40 62c35 -37 56 -87 56 -141s-21 -103 -55 -140 c-18 19 -31 39 -41 63c-10 25 -15 51 -15 78zM111 193c0 -27 -5 -53 -15 -78c-10 -24 -23 -45 -41 -64c-34 37 -55 87 -55 141c0 55 21 105 56 142c17 -18 31 -40 40 -63c10 -25 15 -51 15 -78z" /> <glyph glyph-name="ion-logo-closed-captioning" unicode="" horiz-adv-x="448" d="M0 352h448v-320h-448v320zM406 192c0 23 0 38 -3 70s-20 50 -52 53s-86 3 -127 3s-95 0 -127 -3s-49 -21 -52 -53s-3 -47 -3 -70s1 -41 3 -70s17 -50 52 -53s84 -3 127 -3s92 0 127 3s50 24 52 53s3 47 3 70zM326 168c0 1 -1 3 -1 3h46c0 -24 -5 -42 -16 -54 s-29 -19 -54 -19c-12 0 -22 2 -31 5s-15 8 -21 15s-10 16 -13 28s-5 28 -5 46s2 33 6 45s8 22 15 29s15 12 24 15s19 5 30 5c22 0 38 -7 49 -19s17 -32 17 -54h-46v1c0 18 -11 29 -24 29c-14 0 -22 -9 -24 -26c0 0 -1 -10 -1 -26s1 -24 1 -24c1 -15 10 -26 24 -26 s24 10 24 26v1zM171 168c0 1 -1 3 -1 3h46c0 -24 -5 -42 -16 -54s-29 -19 -54 -19c-12 0 -21 2 -30 5s-16 8 -22 15s-10 16 -13 28s-5 28 -5 46s2 33 6 45s8 22 15 29s15 12 24 15s19 5 30 5c22 0 38 -7 49 -19s17 -32 17 -54h-45v1c0 18 -11 29 -24 29 c-14 0 -23 -9 -25 -26c0 0 -1 -10 -1 -26s1 -24 1 -24c1 -15 10 -26 24 -26s24 10 24 26v1z" /> <glyph glyph-name="ion-ios-qr-scanner" unicode="" d="M126 384c8 0 14 -6 14 -14s-6 -14 -14 -14h-60c-9 0 -18 -4 -26 -12c-7 -8 -12 -17 -12 -26v-60c0 -8 -6 -14 -14 -14s-14 6 -14 14v59c0 37 30 67 67 67h59zM350 384c36 0 66 -30 66 -66v-60c0 -8 -6 -14 -14 -14s-14 6 -14 14v60c0 9 -5 18 -12 26c-8 8 -17 12 -26 12 h-60c-8 0 -14 6 -14 14s6 14 14 14h60zM126 28c8 0 14 -6 14 -14s-6 -14 -14 -14h-60c-36 0 -66 30 -66 66v60c0 8 6 14 14 14s14 -6 14 -14v-60c0 -9 5 -18 12 -26c8 -8 17 -12 26 -12h60zM402 140c8 0 14 -6 14 -14v-59c0 -37 -30 -67 -67 -67h-59c-8 0 -14 6 -14 14 s6 14 14 14h60c9 0 18 4 26 12c7 8 12 17 12 26v60c0 8 6 14 14 14z" /> <glyph glyph-name="ion-md-flashlight" unicode="" horiz-adv-x="352" d="M48 150l1 122h255v-122l-64 -64v-118h-128v118zM155 416h42v-64h-42v64zM0 338l30 30l45 -46l-30 -30zM277 322l45 46l30 -30l-45 -46z" /> <glyph glyph-name="ion-ios-code" unicode="" horiz-adv-x="384" d="M268 305l114 -109c1 -1 2 -2 2 -4s-1 -3 -2 -4l-114 -109c-1 -1 -2 -2 -4 -2s-3 1 -4 2l-14 13c-1 1 -2 2 -2 4s1 3 2 4l96 92l-96 92c-1 1 -2 2 -2 4s1 3 2 4l14 13c1 1 3 2 4 2s3 -1 4 -2zM140 288c0 -2 -1 -3 -2 -4l-96 -92l96 -92c1 -1 2 -2 2 -4s-1 -3 -2 -4 l-14 -13c-1 -1 -2 -2 -4 -2c-1 0 -3 1 -4 2l-114 109c-1 1 -2 2 -2 4s1 3 2 4l114 109c1 1 3 2 4 2s3 -1 4 -2l14 -13c1 -1 2 -2 2 -4z" /> <glyph glyph-name="ion-md-bowtie" unicode="" horiz-adv-x="448" d="M244 144h-40c-15 0 -28 13 -28 28v40c0 15 13 28 28 28h40c15 0 28 -13 28 -28v-40c0 -15 -13 -28 -28 -28zM144 168c0 -18 8 -35 22 -45c-6 -27 -102 -91 -134 -91c-18 0 -32 14 -32 32v256c0 18 14 32 32 32c32 0 128 -64 134 -91c-14 -10 -22 -27 -22 -45v-48z M416 352c18 0 32 -14 32 -32v-256c0 -18 -14 -32 -32 -32c-32 0 -128 64 -134 91c14 10 22 27 22 45v48c0 18 -8 35 -22 45c6 27 102 91 134 91z" /> <glyph glyph-name="ion-md-infinite" unicode="" d="M387 260c19 -18 29 -42 29 -68s-11 -50 -30 -68s-43 -28 -70 -28c-26 0 -51 10 -70 28l-38 36l-38 -36c-19 -18 -43 -28 -70 -28s-52 10 -71 28s-29 42 -29 68s10 50 29 68s44 28 71 28c26 0 51 -10 70 -28l108 -104c10 -10 24 -15 38 -15s28 5 38 15s15 22 15 36 s-5 26 -15 36s-24 15 -38 15s-28 -5 -38 -15v0l-17 -16l-33 32l18 16c19 18 43 28 70 28s52 -10 71 -28zM138 156l37 36l-37 36c-10 10 -24 15 -38 15s-28 -5 -38 -15s-15 -22 -15 -36s5 -26 15 -36s24 -15 38 -15s28 5 38 15z" /> <glyph glyph-name="ion-md-volume-off" unicode="" horiz-adv-x="384" d="M342 192c0 69 -45 128 -107 147v45c85 -20 149 -99 149 -192c0 -35 -8 -68 -24 -96l-32 32c9 19 14 41 14 64zM192 368v-104l-51 51zM357 51v0l24 -24l-24 -24l-40 40c-23 -21 -51 -36 -82 -43v45c19 6 37 15 52 28l-95 95v-152l-107 112h-85v128h85l9 10l-91 91l24 24z M288 192c0 -7 0 -15 -2 -22l-51 51v60c32 -16 53 -51 53 -89z" /> <glyph glyph-name="ion-ios-flag" unicode="" horiz-adv-x="320" d="M311 367c5 1 9 -3 9 -8v-191c0 -4 -3 -7 -7 -8c0 0 -37 -7 -72 -7s-57 6 -83 12s-51 15 -77 15c-21 0 -37 -2 -47 -4c-4 -1 -6 -4 -6 -8v-154c0 -8 -8 -15 -16 -14c-7 1 -12 7 -12 14v354l4 3c2 1 21 13 77 13c28 0 55 -5 81 -11c25 -5 50 -12 78 -12c18 0 48 3 61 5 c4 0 7 1 10 1z" /> <glyph glyph-name="ion-md-cloud-download" unicode="" horiz-adv-x="480" d="M387 231c52 -3 93 -46 93 -99c0 -55 -45 -100 -100 -100h-260c-66 0 -120 54 -120 120c0 62 47 113 107 119c25 48 75 81 133 81c73 0 133 -52 147 -121zM208 180h-68l100 -100l100 100h-68v76h-64v-76z" /> <glyph glyph-name="ion-md-git-compare" unicode="" horiz-adv-x="448" d="M160 66v62l96 -96l-96 -96v64h-22c-39 0 -64 11 -84 36c-18 23 -22 48 -22 94v167c-19 11 -32 31 -32 55c0 35 29 64 64 64s64 -29 64 -64c0 -24 -13 -44 -32 -55v-167c0 -35 2 -47 8 -54c5 -6 9 -10 34 -10h22zM64 392c-22 0 -40 -18 -40 -40s18 -40 40 -40s40 18 40 40 s-18 40 -40 40zM416 87c19 -11 32 -31 32 -55c0 -35 -29 -64 -64 -64s-64 29 -64 64c0 24 13 44 32 55v170c0 35 -2 47 -8 54c-5 6 -9 9 -34 9h-22v-64l-96 96l96 96v-62h22c39 0 64 -10 84 -35c18 -23 22 -48 22 -94v-170zM384 -8c22 0 40 18 40 40s-18 40 -40 40 s-40 -18 -40 -40s18 -40 40 -40z" /> <glyph glyph-name="ion-ios-mic" unicode="" horiz-adv-x="220" d="M110 112c-35 0 -64 29 -64 64v160c0 35 29 64 64 64v0c35 0 64 -29 64 -64v-160c0 -35 -29 -64 -64 -64v0zM206 256c8 0 14 -6 14 -14v-69c0 -56 -42 -102 -96 -109v-52h36c8 0 14 -6 14 -14s-6 -14 -14 -14h-100c-8 0 -14 6 -14 14s6 14 14 14h36v52 c-54 7 -96 53 -96 109v69c0 8 6 14 14 14s14 -6 14 -14v-69c0 -45 37 -82 82 -82s82 37 82 82v69c0 8 6 14 14 14z" /> <glyph glyph-name="ion-md-transgender" unicode="" horiz-adv-x="448" d="M320 416h128v-128h-35v69l-88 -88c7 -15 11 -31 11 -49c0 -55 -40 -100 -91 -110v-46h63v-40h-63v-56h-42v56h-63v40h63v46c-52 10 -91 55 -91 110c0 18 4 34 11 49l-19 19l-31 -31l-29 29l31 31l-40 40v-69h-35v128h128v-35h-63l37 -37l32 32l28 -29l-31 -31l15 -15 c20 19 48 31 78 31c24 0 46 -7 64 -20c0 0 6 -5 14 -12l81 81h-63v35zM224 158c35 0 64 29 64 64s-29 64 -64 64s-64 -29 -64 -64s29 -64 64 -64z" /> <glyph glyph-name="ion-md-headset" unicode="" horiz-adv-x="384" d="M192 400c106 0 192 -88 192 -197v-153c0 -36 -29 -66 -64 -66h-64v176h85v43c0 85 -67 153 -149 153s-149 -68 -149 -153v-43h85v-176h-64c-35 0 -64 30 -64 66v153c0 109 86 197 192 197z" /> <glyph glyph-name="ion-md-arrow-down" unicode="" horiz-adv-x="342" d="M192 363v-260l120 120l30 -31l-171 -171l-171 171l30 30l120 -119v260h42z" /> <glyph glyph-name="ion-ios-partly-sunny" unicode="" horiz-adv-x="480" d="M152 384c9 0 16 -7 16 -16v-30c0 -9 -7 -16 -16 -16v0c-9 0 -16 7 -16 16v30c0 9 7 16 16 16v0zM63 232c0 -9 -7 -16 -16 -16h-31c-9 0 -16 7 -16 16v0c0 9 7 16 16 16h31c9 0 16 -7 16 -16v0zM64 299l-21 21c-6 6 -6 16 0 22c3 3 8 4 12 4v0c4 0 8 -1 11 -4l20 -21 c6 -6 6 -16 0 -22c-3 -3 -7 -5 -11 -5s-8 2 -11 5zM255 343c6 -6 6 -16 0 -22l-20 -21c-3 -3 -7 -4 -11 -4s-8 1 -11 4v0h-1c-6 6 -6 16 0 22l21 21c3 3 7 5 11 5v0c4 0 8 -2 11 -5zM77 175c4 0 8 -2 11 -5c6 -6 6 -16 0 -22l-20 -21c-3 -3 -7 -5 -11 -5s-9 2 -12 5 c-6 6 -6 17 0 23l21 20c3 3 7 5 11 5v0zM387 189c51 0 93 -43 93 -94s-42 -95 -93 -95h-226c-41 0 -74 36 -74 77c0 39 29 73 67 76v1v10v6c2 39 24 74 56 92c5 3 10 5 15 7c13 5 26 8 41 8c54 0 99 -39 110 -89c3 0 6 1 9 1h2zM135 164c-34 7 -59 36 -59 72 c0 40 33 74 73 74c23 0 45 -11 58 -28h-1c-5 -2 -9 -5 -14 -8c-33 -19 -56 -53 -58 -93v-6c0 -3 1 -7 1 -10v-1z" /> <glyph glyph-name="ion-md-cloudy-night" unicode="" horiz-adv-x="448" d="M91 265h2h-2zM310 145c42 -3 74 -38 74 -81c0 -44 -36 -80 -80 -80h-208c-53 0 -96 44 -96 97c0 47 32 86 78 95c5 1 13 1 18 1c43 0 78 -26 91 -64h28c-6 21 -16 40 -32 56c-21 21 -48 32 -77 34c21 27 52 39 86 39c58 0 107 -41 118 -97zM80 223l-13 -17v0v5 c0 92 63 168 148 189c-9 -21 -14 -45 -14 -70c0 -20 3 -39 9 -57c-6 1 -12 1 -18 1c-22 0 -43 -4 -61 -12c-20 -9 -37 -22 -51 -39zM386 141c-3 3 -6 7 -10 10h3c24 0 48 5 69 14c-7 -27 -19 -53 -35 -74c-4 19 -14 36 -27 50z" /> <glyph glyph-name="ion-md-nutrition" unicode="" d="M309 212c8 -8 13 -19 13 -31c0 -14 -6 -28 -17 -36l-233 -168c-9 -6 -19 -9 -28 -9c-25 0 -44 20 -44 44c0 8 2 15 5 21v1l158 255v0c8 10 21 16 35 16c10 0 20 -4 28 -10h1zM416 303l-109 -56l-42 41l68 128l49 -28l-32 -56l37 20z" /> <glyph glyph-name="ion-ios-options" unicode="" d="M251 72c6 14 21 24 37 24s31 -10 37 -24h75c9 0 16 -7 16 -16v0c0 -9 -7 -16 -16 -16h-75c-6 -14 -21 -24 -37 -24s-31 10 -37 24h-235c-9 0 -16 7 -16 16v0c0 9 7 16 16 16h235zM91 208c6 14 21 24 37 24s31 -10 37 -24h235c9 0 16 -7 16 -16v0c0 -9 -7 -16 -16 -16 h-235c-6 -14 -21 -24 -37 -24s-31 10 -37 24h-75c-9 0 -16 7 -16 16v0c0 9 7 16 16 16h75zM251 344c6 14 21 24 37 24s31 -10 37 -24h75c9 0 16 -7 16 -16v0c0 -9 -7 -16 -16 -16h-75c-6 -14 -21 -24 -37 -24s-31 10 -37 24h-235c-9 0 -16 7 -16 16v0c0 9 7 16 16 16h235z " /> <glyph glyph-name="ion-md-log-out" unicode="" d="M144 171v42h190l-45 45l31 30l96 -96l-96 -96l-30 30l44 45h-190zM208 27c44 0 85 17 116 48l30 -30c-8 -8 -17 -16 -27 -23c-35 -24 -76 -38 -119 -38c-114 0 -208 93 -208 208s94 208 208 208c43 0 84 -13 119 -37c10 -7 19 -16 27 -24l-30 -30c-31 31 -72 48 -116 48 s-86 -17 -117 -48s-48 -73 -48 -117s17 -86 48 -117s73 -48 117 -48zM401 192l-1 1l-1 -1l1 -1z" /> <glyph glyph-name="ion-md-appstore" unicode="" d="M416 296c-19 -214 -13 -312 -13 -312h-390s6 96 -13 312h104c0 57 47 104 104 104s104 -47 104 -104h104zM208 374c-43 0 -78 -35 -78 -78h156c0 43 -35 78 -78 78zM156 50l143 85l-143 84v-169z" /> <glyph glyph-name="ion-md-cellular" unicode="" horiz-adv-x="384" d="M0 0l384 384v-384h-384z" /> <glyph glyph-name="ion-ios-beer" unicode="" horiz-adv-x="384" d="M48 286v-96h-26c-9 0 -17 8 -17 17c0 16 11 22 11 35v51c0 19 -16 12 -16 41v4c0 26 25 43 50 43c10 0 18 -1 23 -2c6 -1 12 1 16 6c9 10 22 17 36 17c9 0 19 -2 26 -7c6 -4 13 -2 17 3c10 11 23 18 44 18c24 0 47 -16 56 -39c2 -5 7 -9 13 -9h1c21 0 38 -17 38 -38v-22 c0 -2 -3 -4 -5 -2v0c-4 3 -8 4 -13 4h-230c-13 0 -24 -11 -24 -24zM322 -4c8 0 14 -6 14 -14s-6 -14 -14 -14h-276c-8 0 -14 6 -14 14s6 14 14 14h276zM336 254c26 0 48 -22 48 -48v-96c0 -26 -22 -48 -48 -48h-32c0 -12 2 -18 5 -30c1 -6 0 -12 -5 -16c-3 -3 -7 -4 -11 -4 h-214c-6 0 -12 3 -15 8c-3 4 -4 9 -3 14v0c2 12 3 18 3 30v214c0 9 7 16 16 16h208c9 0 16 -7 16 -16v-24h32zM356 110v96c0 11 -9 20 -20 20h-32v-136h32c11 0 20 9 20 20z" /> <glyph glyph-name="ion-ios-snow" unicode="" horiz-adv-x="384" d="M377 102c7 -4 9 -13 5 -20c-3 -5 -8 -8 -13 -8c-3 0 -6 1 -8 2l-32 19c-4 -16 -2 -32 -2 -32c1 -8 -4 -15 -12 -17c-1 0 -2 -1 -3 -1c-7 0 -13 6 -14 13c0 1 -4 26 6 52l-96 56v-99c27 -5 46 -20 47 -21c3 -2 6 -6 6 -10s-1 -8 -4 -11s-7 -5 -11 -5c-3 0 -7 1 -10 3 c0 0 -12 10 -28 14v-38c0 -8 -8 -15 -16 -15s-15 7 -15 15v38c-16 -4 -29 -14 -29 -14c-3 -2 -7 -3 -10 -3c-4 0 -8 2 -11 5s-4 7 -4 11s3 8 6 10c1 1 21 16 48 21v99l-96 -56c10 -26 6 -51 6 -52c-1 -7 -7 -13 -14 -13c-1 0 -2 1 -3 1c-8 2 -13 9 -12 17c0 0 2 16 -3 32 l-32 -19c-2 -1 -5 -2 -8 -2c-5 0 -10 3 -13 8c-4 7 -2 16 5 20l33 19c-12 12 -26 19 -26 19c-8 3 -11 11 -9 19c2 6 7 9 13 9c2 0 4 0 6 -1c1 0 24 -10 42 -31l96 56l-96 56c-18 -21 -41 -31 -42 -31c-2 -1 -4 -1 -6 -1c-6 0 -11 4 -13 10c-2 8 1 16 9 19c0 0 14 6 26 18 l-33 19c-7 4 -9 13 -5 20c3 5 8 8 13 8c3 0 6 -1 8 -2l32 -19c5 16 3 32 3 32c-1 8 4 16 12 18h3c7 0 13 -6 14 -13c0 -1 4 -26 -6 -52l96 -56v100c-27 5 -47 19 -48 20c-3 2 -6 6 -6 10s1 8 4 11s7 5 11 5s7 -1 10 -3c0 0 13 -10 29 -14v38c0 8 7 15 15 15s16 -7 16 -15 v-38c16 4 28 14 28 14c3 2 7 3 10 3c4 0 8 -2 11 -5s4 -7 4 -11s-3 -8 -6 -10c-1 -1 -20 -16 -47 -21v-99l96 56c-10 26 -7 51 -7 52c1 7 8 13 15 13c1 0 2 -1 3 -1c8 -2 13 -9 12 -17c0 -1 -2 -16 2 -32l32 19c2 1 5 2 8 2c5 0 10 -3 13 -8c4 -7 2 -16 -5 -20l-33 -19 c12 -12 26 -19 26 -19c8 -3 11 -11 9 -19c-2 -6 -7 -9 -13 -9c-2 0 -4 0 -6 1c-1 0 -24 10 -42 31l-96 -56l96 -56c18 21 41 31 42 31c2 1 4 1 6 1c6 0 11 -4 13 -10c2 -8 -1 -16 -9 -19c0 0 -14 -6 -26 -18z" /> <glyph glyph-name="ion-ios-happy" unicode="" d="M208 400c115 0 208 -93 208 -208s-93 -208 -208 -208s-208 93 -208 208s93 208 208 208zM280 248c-13 0 -24 -11 -24 -24s11 -24 24 -24s24 11 24 24s-11 24 -24 24zM136 248c-13 0 -24 -11 -24 -24s11 -24 24 -24s24 11 24 24s-11 24 -24 24zM208 79c45 0 82 30 94 71 c2 5 -3 10 -8 10h-172c-5 0 -10 -5 -8 -10c12 -41 49 -71 94 -71z" /> <glyph glyph-name="ion-md-wallet" unicode="" d="M155 107c0 -24 18 -43 42 -43h197v-21c0 -24 -18 -43 -42 -43h-308c-24 0 -44 18 -44 42v300c0 24 20 42 44 42h308c23 0 42 -19 42 -43v-21h-197c-24 0 -42 -19 -42 -43v-170zM197 262c0 9 7 16 16 16h187c9 0 16 -7 16 -16v-140c0 -9 -7 -16 -16 -16h-187 c-9 0 -16 7 -16 16v140zM274 160c16 1 29 14 30 30c1 19 -15 35 -34 34c-16 -1 -29 -14 -30 -30c-1 -19 15 -35 34 -34z" /> <glyph glyph-name="ion-md-funnel" unicode="" horiz-adv-x="448" d="M176 48v48h96v-48h-96zM0 336h448v-48h-448v48zM80 167v50h288v-50h-288z" /> <glyph glyph-name="ion-ios-refresh-circle" unicode="" d="M208 400c115 0 208 -93 208 -208s-93 -208 -208 -208s-208 93 -208 208s93 208 208 208zM208 64c67 0 123 51 128 117c0 6 -4 11 -10 11v0c-5 0 -10 -4 -10 -9c-4 -55 -51 -98 -107 -99c-59 -1 -108 47 -109 106c-1 60 48 110 108 110v-42c0 -6 7 -10 12 -7l73 47 c5 3 5 10 0 13l-73 53c-5 4 -12 -1 -12 -7v-37c-71 0 -128 -57 -128 -128s57 -128 128 -128z" /> <glyph glyph-name="ion-ios-watch" unicode="" d="M392 287c16 -25 24 -53 24 -82v-41c0 -21 -4 -40 -12 -58c-8 -17 -19 -33 -33 -46c-28 -25 -66 -39 -108 -39c-41 0 -54 8 -65 14c-7 4 -13 6 -27 7c-38 2 -69 16 -94 40c-3 2 -4 5 -4 9c0 3 2 7 4 9c2 3 5 4 9 4c3 0 8 -1 10 -3c20 -19 45 -30 77 -32 c20 -1 29 -6 37 -11c9 -5 19 -10 53 -10c35 0 67 12 90 32c12 10 21 22 27 36c7 15 10 31 10 48v41c0 24 -7 48 -20 68c-12 20 -30 35 -51 46c-3 2 -6 5 -7 8s-1 7 1 10c2 4 7 7 12 7c2 0 4 0 6 -1c25 -13 46 -32 61 -56zM236 65c-6 1 -11 6 -11 13v2c1 6 7 11 13 11h2 c7 -1 14 -2 21 -2c26 0 48 9 65 25c2 2 6 4 9 4c4 0 7 -2 9 -5c5 -5 5 -13 0 -18c-11 -10 -24 -19 -38 -24s-29 -8 -45 -8c-8 0 -16 1 -25 2zM238 86v0v0v0zM175 26c7 0 13 -6 13 -13s-6 -13 -13 -13c-46 0 -86 16 -121 47s-54 73 -54 114v44c0 29 8 57 24 82 c15 24 36 43 61 56c2 1 4 1 6 1c5 0 10 -3 12 -7c2 -3 2 -7 1 -10s-4 -6 -7 -8c-21 -11 -39 -26 -51 -46c-13 -20 -20 -44 -20 -68v-44c0 -34 17 -68 46 -94c30 -27 63 -41 103 -41zM300 333c-1 -14 11 -26 25 -26v0c2 0 3 -3 1 -4c-8 -7 -18 -10 -29 -10h-178 c-11 0 -21 3 -29 9c-1 1 0 3 0 4v0c0 1 1 1 2 1c13 1 24 12 23 26c-1 12 -11 22 -23 23c-4 0 -7 -1 -10 -2s-5 2 -4 4c8 16 23 26 41 26h178c11 0 22 -4 30 -11c5 -4 8 -9 11 -15c1 -2 0 -5 -3 -4c-4 2 -8 2 -12 2c-12 -1 -22 -11 -23 -23zM279 343c-2 8 -9 15 -17 17 c-16 4 -31 -10 -27 -26c2 -8 9 -15 17 -17c16 -4 31 10 27 26z" /> <glyph glyph-name="ion-ios-reorder" unicode="" horiz-adv-x="352" d="M0 128v16h352v-16h-352zM0 184v16h352v-16h-352zM0 240v16h352v-16h-352z" /> <glyph glyph-name="ion-ios-volume-high" unicode="" horiz-adv-x="383" d="M151 302c6 -3 9 -8 9 -14v-192c0 -6 -3 -11 -9 -14c-2 -1 -5 -2 -7 -2c-4 0 -7 2 -10 4l-65 52h-53c-9 0 -16 7 -16 16v80c0 9 7 16 16 16h53l65 53c3 2 6 3 10 3c2 0 5 -1 7 -2zM383 192v0v0c0 -59 -23 -114 -65 -156c-2 -2 -6 -4 -9 -4s-6 2 -8 4c-5 5 -5 12 0 17 c38 37 58 86 58 139v0v0c0 53 -20 102 -58 139c-5 5 -5 12 0 17s12 5 17 0c42 -42 65 -97 65 -156zM320 192v0c0 -44 -16 -84 -46 -115c-2 -2 -6 -4 -9 -4s-6 2 -8 4c-5 5 -6 12 -1 17c26 26 40 61 40 98v0v0c0 37 -14 72 -40 98c-5 5 -4 12 1 17s12 5 17 0 c30 -31 46 -71 46 -115v0zM223 266c19 -20 30 -46 30 -74v0v0c0 -28 -11 -54 -30 -74c-2 -2 -6 -3 -9 -3s-6 1 -8 3c-5 5 -5 12 0 17c15 15 23 36 23 57v0v0c0 22 -8 42 -23 57c-5 5 -5 12 0 17s12 5 17 0z" /> <glyph glyph-name="ion-ios-contrast" unicode="" d="M208 400c115 0 208 -93 208 -208s-93 -208 -208 -208s-208 93 -208 208s93 208 208 208zM335 65c34 34 53 79 53 127s-19 93 -53 127s-79 53 -127 53v-360c48 0 93 19 127 53z" /> <glyph glyph-name="ion-ios-today" unicode="" horiz-adv-x="384" d="M324 416c33 0 60 -27 60 -60v-328c0 -33 -27 -60 -60 -60h-264c-33 0 -60 27 -60 60v328c0 33 27 60 60 60h264zM356 28v328c0 18 -14 32 -32 32h-264c-18 0 -32 -14 -32 -32v-328c0 -18 14 -32 32 -32h264c18 0 32 14 32 32zM296 272c13 0 24 -11 24 -24v-192 c0 -13 -11 -24 -24 -24h-208c-13 0 -24 11 -24 24v192c0 13 11 24 24 24h208zM78 324c-8 0 -14 6 -14 14s6 14 14 14h100c8 0 14 -6 14 -14s-6 -14 -14 -14h-100z" /> <glyph glyph-name="ion-ios-mic-off" unicode="" horiz-adv-x="256" d="M242 -16c-5 0 -9 3 -12 7l-228 388c-4 7 -2 15 5 19s16 2 20 -5l227 -388c4 -7 2 -15 -5 -19c-2 -1 -5 -2 -7 -2zM192 176c0 -9 -2 -17 -5 -25l-120 205c8 26 33 44 61 44v0c35 0 64 -29 64 -64v-160zM64 176v65l75 -128c-4 -1 -7 -1 -11 -1v0c-35 0 -64 29 -64 64z M238 173c0 -26 -9 -49 -24 -68l-15 26c7 12 11 27 11 42v69c0 8 6 14 14 14s14 -6 14 -14v-69zM128 91c8 0 15 1 22 3l15 -25c-7 -3 -15 -4 -23 -5v-52h36c8 0 14 -6 14 -14s-6 -14 -14 -14h-100c-8 0 -14 6 -14 14s6 14 14 14h36v52c-54 7 -96 53 -96 109v69 c0 8 6 14 14 14s14 -6 14 -14v-69c0 -45 37 -82 82 -82z" /> <glyph glyph-name="ion-ios-medkit" unicode="" d="M384 320c18 0 32 -14 32 -32v-256c0 -18 -14 -32 -32 -32h-352c-18 0 -32 14 -32 32v256c0 18 14 32 32 32h84v32c0 18 14 32 32 32h120c18 0 32 -14 32 -32v-32h84zM144 348v-28h128v28c0 4 -4 8 -8 8h-112c-4 0 -8 -4 -8 -8zM272 144c9 0 16 7 16 16s-7 16 -16 16h-32 h-16v16v32c0 9 -7 16 -16 16s-16 -7 -16 -16v-32v-16h-16h-32c-9 0 -16 -7 -16 -16s7 -16 16 -16h32h16v-16v-32c0 -9 7 -16 16 -16s16 7 16 16v32v16h16h32z" /> <glyph glyph-name="ion-ios-arrow-round-down" unicode="" horiz-adv-x="192" d="M188 152c5 -5 5 -13 0 -18l-83 -82c-2 -2 -6 -4 -9 -4c-2 0 -3 0 -5 1s-3 2 -4 3v0l-83 82c-5 5 -5 13 0 18s13 6 18 1l61 -61v231c0 7 6 13 13 13s13 -6 13 -13v-231l61 60c5 5 13 5 18 0z" /> <glyph glyph-name="ion-md-link" unicode="" horiz-adv-x="448" d="M43 192c0 -38 31 -69 69 -69h88v-43h-88c-62 0 -112 50 -112 112s50 112 112 112h88v-43h-88c-38 0 -69 -31 -69 -69zM128 170v44h192v-44h-192zM336 304c62 0 112 -50 112 -112s-50 -112 -112 -112h-88v43h88c38 0 69 31 69 69s-31 69 -69 69h-88v43h88z" /> <glyph glyph-name="ion-ios-chatbubbles" unicode="" d="M383 127l16 -58s1 -2 1 -3c0 -4 -4 -8 -8 -8c-2 0 -4 1 -4 1l-57 21c-3 1 -6 2 -10 2c-3 0 -6 -1 -9 -2s-15 -5 -26 -8s-32 -8 -47 -8c-96 0 -171 77 -171 169c0 12 2 23 4 34c16 76 86 133 170 133c96 0 174 -75 174 -167c0 -33 -11 -64 -28 -90c-1 -1 -1 -2 -2 -3 c-2 -4 -3 -9 -3 -13zM270 56c4 1 9 2 13 3c-4 -5 -7 -9 -7 -9c-30 -35 -73 -56 -120 -56c-21 0 -42 5 -61 12c-4 2 -6 2 -6 2c-2 0 -4 0 -6 -1l-56 -22c-1 0 -2 -1 -3 -1c-2 0 -3 1 -5 2c-2 2 -4 5 -3 8c0 0 12 60 12 62s-1 4 -3 8c-16 24 -25 53 -25 82c0 42 19 82 52 111 l8 7c-1 -4 -3 -9 -4 -13s-1 -9 -2 -13c-1 -6 -2 -14 -2 -21c0 -92 75 -169 171 -169c10 0 24 2 34 4c5 1 9 3 13 4z" /> <glyph glyph-name="ion-ios-beaker" unicode="" horiz-adv-x="384" d="M381 400c2 0 3 -1 3 -2s-2 -4 -3 -6s-12 -15 -14 -33v-310c0 -35 -28 -65 -63 -65h-208c-35 0 -64 29 -64 64v276c0 32 -2 32 -32 36c0 12 10 40 64 40h270h47zM48 371c12 -13 12 -29 12 -47v-36h279v0v71v3c0 3 1 6 2 10h-7h-270c-4 0 -10 0 -16 -1v0z" /> <glyph glyph-name="ion-ios-git-branch" unicode="" horiz-adv-x="332" d="M262 352c39 0 70 -31 70 -70c0 -34 -24 -63 -56 -69c-1 -28 -14 -46 -38 -64c-25 -19 -56 -25 -78 -29c-27 -5 -42 -14 -51 -24c19 -13 31 -35 31 -58c0 -39 -31 -70 -70 -70s-70 31 -70 70c0 17 6 33 17 46c10 11 24 19 38 22v172c-15 3 -28 11 -38 22 c-11 13 -17 29 -17 46c0 39 31 70 70 70s70 -31 70 -70c0 -17 -6 -34 -18 -47c-10 -11 -24 -19 -39 -22v-169c10 13 32 33 73 40c19 3 45 7 65 23c17 13 26 24 27 43c-32 7 -56 35 -56 68c0 39 31 70 70 70zM28 346c0 -23 19 -42 42 -42s42 19 42 42s-19 42 -42 42 s-42 -19 -42 -42zM112 38c0 23 -19 42 -42 42s-42 -19 -42 -42s19 -42 42 -42s42 19 42 42zM262 240c23 0 42 19 42 42s-19 42 -42 42s-42 -19 -42 -42s19 -42 42 -42z" /> <glyph glyph-name="ion-logo-google" unicode="" horiz-adv-x="408" d="M406 224c0 -1 2 -14 2 -37c0 -54 -18 -106 -54 -144s-87 -59 -141 -59c-59 0 -116 22 -156 64c-38 39 -57 92 -57 144s20 108 59 147c40 39 94 61 150 61v0c73 0 120 -38 137 -53l-58 -58c-10 9 -38 30 -77 30c-34 0 -68 -12 -90 -35c-23 -23 -39 -58 -39 -92 c0 -35 15 -69 39 -92c23 -22 58 -36 91 -36c46 0 102 30 114 87h-116v82h194z" /> <glyph glyph-name="ion-ios-recording" unicode="" horiz-adv-x="480" d="M370 302c61 0 110 -49 110 -110s-49 -110 -110 -110h-260c-61 0 -110 49 -110 110s49 110 110 110v0v0c61 0 110 -49 110 -110c0 -30 -12 -58 -32 -78h105c-20 20 -33 48 -33 78c0 61 49 110 110 110v0v0zM448 192c0 43 -35 78 -78 78s-78 -35 -78 -78s35 -78 78 -78 s78 35 78 78zM110 114c43 0 78 35 78 78s-35 78 -78 78s-78 -35 -78 -78s35 -78 78 -78z" /> <glyph glyph-name="ion-md-checkmark-circle" unicode="" d="M208 400c114 0 208 -94 208 -208s-94 -208 -208 -208s-208 94 -208 208s94 208 208 208zM165 81l192 192l-29 30l-163 -162l-76 77l-30 -30z" /> <glyph glyph-name="ion-ios-checkbox-outline" unicode="" horiz-adv-x="384" d="M352 384c18 0 32 -14 32 -32v-320c0 -18 -14 -32 -32 -32h-320c-18 0 -32 14 -32 32v320c0 18 14 32 32 32h320zM356 36v312c0 4 -4 8 -8 8h-312c-4 0 -8 -4 -8 -8v-312c0 -4 4 -8 8 -8h312c4 0 8 4 8 8zM300 255c2 -2 1 -4 0 -6l-134 -134v0c-2 -2 -7 -5 -12 -5 c-4 0 -7 1 -11 5l-56 56c-2 2 -2 4 0 6l17 18c1 1 2 1 3 1s2 0 3 -1l44 -45l122 123c1 1 2 1 3 1v0c1 0 2 0 3 -1z" /> <glyph glyph-name="ion-ios-arrow-round-up" unicode="" horiz-adv-x="192" d="M188 232c-5 -5 -13 -5 -18 0l-61 60v-231c0 -7 -6 -13 -13 -13s-13 6 -13 13v231l-61 -61c-5 -5 -13 -4 -18 1s-5 13 0 18l83 82v0c1 1 2 2 4 3s3 1 5 1c3 0 7 -2 9 -4l83 -82c5 -5 5 -13 0 -18z" /> <glyph glyph-name="ion-ios-home" unicode="" d="M211 344l156 -125c1 -1 1 -2 1 -3v-230c0 -1 -1 -2 -2 -2h-108c-1 0 -2 1 -2 2v140c0 1 -1 2 -2 2h-92c-1 0 -2 -1 -2 -2v-140c0 -1 -1 -2 -2 -2h-108c-1 0 -2 1 -2 2v230c0 1 1 2 2 3l156 125c2 1 3 1 5 0zM411 244c3 -2 5 -6 5 -10s-1 -8 -4 -11s-6 -4 -10 -4 c-3 0 -7 1 -9 3l-184 147l-1 1l-1 -1l-184 -148c-2 -2 -6 -3 -9 -3c-4 0 -7 1 -10 4s-4 7 -4 11s2 8 5 10l43 35v92c0 1 1 2 2 2h60c1 0 2 -1 2 -2v-42l82 67c4 3 9 5 14 5s10 -2 14 -5z" /> <glyph glyph-name="ion-ios-paper" unicode="" d="M76 368c0 18 12 30 30 30l278 2c18 0 32 -14 32 -32v-353c0 -17 -14 -31 -31 -31h-353c-18 0 -32 14 -32 32v288c0 18 14 32 32 32h16v-290c0 -8 6 -14 14 -14v0c8 0 14 6 14 14v322zM142 336c-8 0 -14 -6 -14 -14v0c0 -8 6 -14 14 -14h84c8 0 14 6 14 14v0 c0 8 -6 14 -14 14h-84zM142 176c-8 0 -14 -6 -14 -14v0c0 -8 6 -14 14 -14h148c8 0 14 6 14 14v0c0 8 -6 14 -14 14h-148zM338 68c8 0 14 6 14 14v0c0 8 -6 14 -14 14h-196c-8 0 -14 -6 -14 -14v0c0 -8 6 -14 14 -14h196zM338 228c8 0 14 6 14 14v0c0 8 -6 14 -14 14h-196 c-8 0 -14 -6 -14 -14v0c0 -8 6 -14 14 -14h196z" /> <glyph glyph-name="ion-md-cafe" unicode="" d="M0 0v48h368v-48h-368zM376 384c22 0 40 -18 40 -40v-80c0 -22 -18 -40 -40 -40h-40v-64c0 -44 -36 -80 -80 -80h-144c-44 0 -80 36 -80 80v224h293h11h40zM376 272v64h-40v-64h40z" /> <glyph glyph-name="ion-md-medical" unicode="" horiz-adv-x="408" d="M300 192l108 -62l-48 -84l-108 63v-125h-96v125l-108 -63l-48 84l108 62l-108 62l48 84l108 -63v125h96v-125l108 63l48 -84z" /> <glyph glyph-name="ion-ios-log-in" unicode="" horiz-adv-x="414" d="M368 368c25 0 46 -21 46 -46v-260c0 -25 -21 -46 -46 -46h-280c-25 0 -46 21 -46 46c0 8 6 14 14 14s14 -6 14 -14c0 -10 8 -18 18 -18h280c10 0 18 8 18 18v260c0 10 -8 18 -18 18h-280c-10 0 -18 -8 -18 -18c0 -8 -6 -14 -14 -14s-14 6 -14 14c0 25 21 46 46 46h280z M175 114l64 64h-225c-8 0 -14 6 -14 14s6 14 14 14h224l-65 64c-6 6 -6 14 0 20c3 3 6 4 10 4s7 -1 10 -4l84 -84c4 -4 7 -10 7 -15s-3 -11 -7 -15l-82 -82c-3 -3 -6 -4 -10 -4s-7 2 -10 4v0c-5 6 -5 15 0 20z" /> <glyph glyph-name="ion-ios-return-right" unicode="" horiz-adv-x="384" d="M378 183c4 -4 6 -10 6 -16s-3 -11 -7 -15l-57 -58c-3 -3 -6 -4 -10 -4s-7 2 -10 4v0c-3 3 -4 6 -4 10s1 7 4 10l40 40h-262c-21 0 -40 8 -55 23s-23 34 -23 55v48c0 8 6 14 14 14s14 -6 14 -14v-48c0 -13 5 -25 15 -35s22 -15 35 -15h261l-41 40v0c-3 3 -4 6 -4 10 s1 7 4 10s6 4 10 4s7 -1 10 -4z" /> <glyph glyph-name="ion-logo-bitbucket" unicode="" d="M405 384c7 -1 12 -8 11 -16l-18 -113h-256l22 -127h88l16 96h125l-34 -212c-1 -7 -6 -12 -13 -12h-271c-4 0 -9 1 -12 4v0c-3 3 -5 8 -6 12l-57 352v2c0 8 7 14 14 14h389h2z" /> <glyph glyph-name="ion-ios-man" unicode="" horiz-adv-x="228" d="M114 341v0v0c-25 0 -46 21 -46 46s21 45 46 45s45 -20 45 -45c0 -12 -4 -24 -13 -32c-8 -9 -20 -14 -32 -14zM79 -48c-14 0 -27 10 -27 30l1 278h-10v-105c0 -9 -3 -15 -6 -18c-4 -4 -9 -7 -15 -7s-12 3 -16 7c-3 3 -6 9 -6 18v122c0 14 5 27 14 38c10 12 24 18 39 18 h122c15 0 29 -6 39 -18c9 -11 14 -24 14 -38v-122c0 -7 -2 -14 -7 -18c-4 -4 -9 -7 -15 -7s-12 3 -16 7c-5 4 -6 11 -6 18v105h-9v-278c0 -20 -14 -30 -28 -30c-13 0 -26 10 -27 30v0v141h-12v-141v0c-1 -20 -15 -30 -29 -30z" /> <glyph glyph-name="ion-md-lock" unicode="" horiz-adv-x="320" d="M280 262c22 0 40 -18 40 -40v-200c0 -22 -18 -40 -40 -40h-240c-22 0 -40 18 -40 40v200c0 22 18 40 40 40h20v40c0 55 45 100 100 100s100 -45 100 -100v-40h20zM160 80c22 0 40 18 40 40s-18 40 -40 40s-40 -18 -40 -40s18 -40 40 -40zM222 262v40c0 34 -28 62 -62 62 s-62 -28 -62 -62v-40h124z" /> <glyph glyph-name="ion-ios-flask" unicode="" horiz-adv-x="385" d="M374 94c8 -16 11 -32 11 -46c-1 -36 -27 -64 -63 -64h-257c-36 0 -64 28 -65 64c0 14 4 30 12 46l116 194v2v78c0 2 -2 4 -4 4c-7 0 -12 5 -12 12v4c0 7 5 12 12 12h137c7 0 12 -5 12 -12v-4c0 -7 -5 -12 -12 -12c-2 0 -4 -2 -4 -4v-78v-2zM98 160h189c6 0 10 7 7 12 l-61 102c-3 5 -4 10 -4 16v78v4h-73v-4v-78c0 -6 -1 -11 -4 -16l-61 -102c-3 -5 1 -12 7 -12z" /> <glyph glyph-name="ion-md-remove-circle" unicode="" d="M208 400c115 0 208 -93 208 -208s-93 -208 -208 -208s-208 93 -208 208s93 208 208 208zM315 171v42h-214v-42h214z" /> <glyph glyph-name="ion-md-code-download" unicode="" horiz-adv-x="448" d="M203 288h42v-126l45 45l30 -31l-96 -96l-96 96l30 30l45 -44v126zM158 94l-30 -30l-128 128l128 128l30 -30l-98 -98zM290 94l98 98l-98 98l30 30l128 -128l-128 -128z" /> <glyph glyph-name="ion-ios-wine" unicode="" horiz-adv-x="208" d="M177 397c9 -25 31 -87 31 -125v-4v-1c0 -19 0 -45 -28 -74c-7 -7 -15 -13 -23 -20c-19 -15 -39 -31 -39 -50v-115c0 -1 1 -2 2 -2h57c8 0 15 -6 15 -14s-7 -14 -15 -14h-146c-8 0 -15 6 -15 14s7 14 15 14h57c1 0 2 1 2 2v115c0 19 -20 35 -39 50c-8 7 -17 13 -23 20 c-28 29 -28 55 -28 74v1v4c0 38 22 100 31 125c2 6 7 9 13 9h120c6 0 11 -3 13 -9zM176 295v1c-5 26 -15 60 -22 81c0 1 -1 1 -2 1h-96c-1 0 -2 0 -2 -1c-7 -21 -17 -55 -22 -81v-1s1 -1 2 -1h140c1 0 2 1 2 1z" /> <glyph glyph-name="ion-ios-expand" unicode="" horiz-adv-x="384" d="M48 356l117 -117c5 -5 5 -15 0 -20c-3 -3 -6 -4 -10 -4s-7 1 -10 4l-117 117v-78c0 -8 -6 -14 -14 -14v0c-8 0 -14 6 -14 14v112c0 8 6 14 14 14h112c8 0 14 -6 14 -14v0c0 -8 -6 -14 -14 -14h-78zM370 384c8 0 14 -6 14 -14v-112c0 -8 -6 -14 -14 -14v0 c-8 0 -14 6 -14 14v78l-117 -117c-3 -3 -6 -4 -10 -4s-7 1 -10 4c-5 5 -5 15 0 20l117 117h-78c-8 0 -14 6 -14 14v0c0 8 6 14 14 14h112zM155 169c4 0 7 -1 10 -4c5 -5 5 -15 0 -20l-117 -117h78c8 0 14 -6 14 -14v0c0 -8 -6 -14 -14 -14h-112c-8 0 -14 6 -14 14v112 c0 8 6 14 14 14v0c8 0 14 -6 14 -14v-78l117 117c3 3 6 4 10 4zM370 140c8 0 14 -6 14 -14v-112c0 -8 -6 -14 -14 -14h-112c-8 0 -14 6 -14 14v0c0 8 6 14 14 14h78l-117 117c-5 5 -5 15 0 20c3 3 6 4 10 4s7 -1 10 -4l117 -117v78c0 8 6 14 14 14v0z" /> <glyph glyph-name="ion-ios-list" unicode="" horiz-adv-x="384" d="M0 192c0 15 13 28 28 28s28 -13 28 -28s-13 -28 -28 -28s-28 13 -28 28zM0 316c0 15 13 28 28 28s28 -13 28 -28s-13 -28 -28 -28s-28 13 -28 28zM0 68c0 15 13 28 28 28s28 -13 28 -28s-13 -28 -28 -28s-28 13 -28 28zM368 208c9 0 16 -7 16 -16s-7 -16 -16 -16h-240 c-9 0 -16 7 -16 16s7 16 16 16h240zM368 84c9 0 16 -7 16 -16s-7 -16 -16 -16h-240c-9 0 -16 7 -16 16s7 16 16 16h240zM128 300c-9 0 -16 7 -16 16s7 16 16 16h240c9 0 16 -7 16 -16s-7 -16 -16 -16h-240z" /> <glyph glyph-name="ion-md-keypad" unicode="" horiz-adv-x="320" d="M160 50c22 0 40 -19 40 -41s-18 -41 -40 -41s-40 19 -40 41s18 41 40 41zM40 416c22 0 41 -19 41 -41s-19 -40 -41 -40s-40 18 -40 40s18 41 40 41zM40 294c22 0 41 -19 41 -41s-19 -41 -41 -41s-40 19 -40 41s18 41 40 41zM40 172c22 0 41 -19 41 -41s-19 -41 -41 -41 s-40 19 -40 41s18 41 40 41zM280 334c-22 0 -41 19 -41 41s19 41 41 41s40 -19 40 -41s-18 -41 -40 -41zM160 172c22 0 40 -19 40 -41s-18 -41 -40 -41s-40 19 -40 41s18 41 40 41zM280 172c22 0 40 -19 40 -41s-18 -41 -40 -41s-41 19 -41 41s19 41 41 41zM280 294 c22 0 40 -19 40 -41s-18 -41 -40 -41s-41 19 -41 41s19 41 41 41zM160 294c22 0 40 -19 40 -41s-18 -41 -40 -41s-40 19 -40 41s18 41 40 41zM160 416c22 0 40 -19 40 -41s-18 -40 -40 -40s-40 18 -40 40s18 41 40 41z" /> <glyph glyph-name="ion-logo-octocat" unicode="" horiz-adv-x="448" d="M146 160c8 0 16 -3 22 -12c6 -8 10 -20 10 -32s-4 -23 -10 -31s-14 -13 -22 -13c-9 0 -17 5 -23 13s-9 19 -9 31s3 24 9 32c6 9 14 12 23 12zM303 160c9 0 16 -3 22 -12c6 -8 9 -20 9 -32s-3 -23 -9 -31s-14 -13 -22 -13c-9 0 -17 5 -23 13s-10 19 -10 31s4 24 10 32 c6 9 14 12 23 12zM414 276c24 -27 34 -66 34 -96c0 -24 0 -46 -6 -65s-13 -35 -21 -47c-9 -12 -20 -23 -32 -32c-13 -9 -24 -17 -34 -21s-22 -7 -36 -9c-13 -2 -24 -4 -31 -4c0 0 -28 -2 -64 -2s-64 2 -64 2c-7 0 -18 2 -31 4c-14 2 -26 5 -36 9s-22 12 -34 21 c-13 9 -23 20 -32 32c-8 12 -15 28 -21 47c-5 19 -6 41 -6 65c0 31 10 70 34 96c0 0 -2 14 0 39s7 48 16 69c30 -3 67 -20 112 -51c15 4 36 6 62 6c28 0 48 -2 62 -6c20 14 40 25 58 33c19 8 33 13 41 15s13 3 13 3c9 -21 14 -44 16 -69s0 -39 0 -39v0zM348 42 c28 13 42 40 42 81c0 24 -8 43 -26 59c-9 8 -20 13 -32 15s-31 1 -56 -1s-40 -4 -52 -4s-25 2 -42 3s-30 3 -39 3c-10 0 -20 1 -31 -2s-21 -8 -28 -14c-17 -15 -25 -35 -25 -59c0 -41 13 -68 41 -81c27 -13 69 -18 123 -18h2c54 0 95 5 123 18z" /> <glyph glyph-name="ion-ios-planet" unicode="" d="M415 96c2 -6 2 -12 -1 -17c-3 -6 -11 -9 -22 -9c-37 0 -120 32 -208 81c-54 30 -103 64 -137 92c-38 32 -53 54 -45 67c4 7 11 10 23 10c16 0 48 -10 83 -24c3 -1 3 -5 1 -7l-11 -10c-1 -1 -2 -2 -4 -1c-21 8 -46 16 -57 19c-4 1 -6 -3 -4 -6c10 -13 25 -24 39 -35 c7 -6 15 -11 23 -17c8 21 23 39 41 52c21 15 44 23 70 23c32 0 63 -11 86 -33c24 -23 37 -54 37 -87c0 -26 -9 -51 -25 -72c10 -4 19 -8 28 -11c15 -6 34 -11 44 -13c3 -1 6 3 4 6c-6 8 -26 24 -42 36c-2 1 -3 4 -2 6l5 13c1 3 4 4 7 2c24 -18 45 -35 55 -47 c6 -7 10 -12 12 -18zM264 94c2 -1 4 -3 4 -5s-1 -4 -3 -5c-20 -13 -42 -20 -66 -20c-32 0 -63 12 -86 35s-36 53 -36 85c0 1 1 3 1 4c0 2 1 4 3 5c1 0 2 1 3 1s2 -1 3 -2c25 -17 54 -36 84 -53c33 -19 64 -32 93 -45z" /> <glyph glyph-name="ion-logo-usd" unicode="" horiz-adv-x="320" d="M315 145c3 -10 5 -19 5 -29c0 -21 -5 -38 -14 -53s-20 -26 -35 -35s-31 -17 -50 -21c-10 -2 -19 -3 -29 -4v-35h-64v35c-9 1 -19 4 -28 6c-20 5 -36 12 -51 23s-26 24 -35 41c-8 16 -13 34 -14 55h69c0 -12 2 -24 7 -33c5 -10 12 -17 21 -23s20 -11 31 -14v120 c-8 2 -18 4 -27 6c-17 4 -30 9 -41 16s-20 15 -27 23s-11 17 -14 26s-4 18 -4 28c0 18 4 34 12 48s19 25 33 34s29 16 46 20c7 2 15 3 22 4v33h64v-33c9 -1 16 -4 24 -6c18 -5 34 -12 48 -22s25 -22 33 -37c7 -13 11 -28 12 -46h-69c-3 21 -12 37 -26 46c-7 4 -13 8 -22 10 v-106c9 -2 16 -4 25 -6c12 -3 22 -6 27 -7c13 -4 23 -9 33 -15c10 -7 18 -14 24 -22s11 -17 14 -27zM128 238v92c-7 -2 -15 -4 -21 -7c-7 -4 -12 -9 -17 -15s-7 -14 -7 -23c0 -13 4 -24 13 -31c8 -7 20 -12 32 -16zM247 89c3 7 4 13 4 20c0 14 -3 24 -10 31s-15 11 -23 14 s-16 5 -26 8v-107c6 1 10 2 14 3c11 3 20 8 27 13s11 11 14 18z" /> <glyph glyph-name="ion-ios-bulb" unicode="" horiz-adv-x="296" d="M296 259c0 -31 -13 -56 -30 -80v0c-11 -15 -22 -18 -32 -35c-14 -24 -17 -41 -18 -56c0 -8 -8 -15 -16 -15h-10c-2 0 -4 2 -4 4v94c0 5 1 11 3 15l22 42c3 7 -1 15 -9 15v0c-4 0 -7 -3 -9 -6l-26 -51c-2 -4 -3 -9 -3 -14v-95c0 -2 -2 -4 -4 -4h-24c-2 0 -4 2 -4 4v95 c0 5 -1 10 -3 14l-26 51c-2 4 -5 6 -9 6v0c-8 0 -13 -8 -9 -15l21 -42c2 -4 3 -9 3 -14v-95c0 -2 -2 -4 -4 -4h-9c-8 0 -16 6 -16 15c-1 15 -4 31 -19 56c-10 17 -20 20 -31 35v0c-17 24 -30 49 -30 80c0 78 70 141 148 141s148 -63 148 -141zM130 -16c-8 0 -14 6 -14 14v0 c0 8 6 14 14 14h36c8 0 14 -6 14 -14v0c0 -8 -6 -14 -14 -14h-36zM110 28c-8 0 -14 6 -14 14v0c0 8 6 14 14 14h76c8 0 14 -6 14 -14v0c0 -8 -6 -14 -14 -14h-76z" /> <glyph glyph-name="ion-md-map" unicode="" horiz-adv-x="384" d="M373 384c6 0 11 -5 11 -11v-322c0 -5 -3 -9 -7 -10l-121 -41l-128 45s-105 -41 -108 -42s-7 -3 -9 -3c-6 0 -11 5 -11 11v322c0 5 3 9 7 10l121 41l128 -45s103 40 108 42s7 3 9 3zM256 43v254l-128 44v-254z" /> <glyph glyph-name="ion-md-time" unicode="" d="M208 400c115 0 208 -93 208 -208s-93 -208 -208 -208s-208 93 -208 208s93 208 208 208zM208 26c92 0 166 74 166 166s-74 166 -166 166s-166 -74 -166 -166s74 -166 166 -166zM218 296v-109l94 -56l-16 -25l-109 65v125h31z" /> <glyph glyph-name="ion-logo-ionitron" unicode="" horiz-adv-x="426" d="M425 179c3 -34 -4 -63 -19 -65h-7c-18 -79 -87 -141 -172 -146c-71 -4 -134 33 -169 89l-16 -3c-17 -2 -36 26 -41 64s5 71 22 73l12 1c17 80 86 142 172 147c77 4 145 -38 177 -103c11 -22 16 -46 17 -72c4 24 -2 57 -8 72c21 2 29 -23 32 -57zM47 184 c9 -13 18 -34 21 -58c3 -25 1 -46 -5 -61c9 10 17 36 13 64c-4 27 -18 47 -29 55zM231 68c8 0 15 8 15 16s-9 14 -17 14c-9 0 -14 -8 -14 -16s8 -14 16 -14zM312 72c8 0 15 9 15 17s-9 14 -17 14c-9 0 -14 -8 -14 -16s8 -15 16 -15zM123 378h-1c-1 1 0 3 0 4c0 3 2 6 5 9 s8 6 14 9c1 0 1 1 2 1c1 1 3 1 4 1c4 6 9 12 17 14c7 1 14 0 19 -4h2h2c6 0 12 1 16 0c3 -1 6 -2 8 -3c1 0 2 1 3 1c3 0 6 -3 6 -6s-3 -6 -6 -6v-1c-1 -1 -1 -2 -2 -3s-3 -2 -4 -3s-2 -1 -3 -2l-8 -5h-1l1 2l6 3c1 1 3 2 4 3l3 3s1 2 2 3v0c-2 1 -5 3 -5 6c0 1 0 2 1 3 c-2 1 -4 1 -6 1h-11v0h-4h-1c-7 -1 -14 -2 -22 -4c-1 0 -2 -1 -3 -1c14 3 24 3 29 2c2 -3 3 -6 4 -10c2 -12 -3 -23 -14 -28l4 -24l-13 -2l-4 24c-12 0 -21 9 -23 21c-1 4 -1 7 0 10v0c-1 0 -2 -1 -3 -1c-4 -2 -8 -5 -11 -7c-3 -3 -5 -6 -5 -8v-2c0 0 0 -1 1 -1 c2 -2 5 -3 9 -4c3 -1 7 -1 11 -1h1l2 -1h-3c-4 0 -9 1 -12 1c-4 1 -7 0 -9 2c-1 1 -2 2 -2 3v0v1v0v0v0z" /> <glyph glyph-name="ion-ios-grid" unicode="" horiz-adv-x="384" d="M142 140c-1 0 -2 1 -2 2v100c0 1 1 2 2 2h100c1 0 2 -1 2 -2v-100c0 -1 -1 -2 -2 -2h-100zM0 352c0 18 14 32 32 32h320c18 0 32 -14 32 -32v-320c0 -18 -14 -32 -32 -32h-320c-18 0 -32 14 -32 32v320zM330 244c8 0 14 6 14 14v0c0 8 -6 14 -14 14h-56c-1 0 -2 1 -2 2 v56c0 8 -6 14 -14 14v0c-8 0 -14 -6 -14 -14v-56c0 -1 -1 -2 -2 -2h-100c-1 0 -2 1 -2 2v56c0 8 -6 14 -14 14v0c-8 0 -14 -6 -14 -14v-56c0 -1 -1 -2 -2 -2h-56c-8 0 -14 -6 -14 -14v0c0 -8 6 -14 14 -14h56c1 0 2 -1 2 -2v-100c0 -1 -1 -2 -2 -2h-56c-8 0 -14 -6 -14 -14 v0c0 -8 6 -14 14 -14h56c1 0 2 -1 2 -2v-56c0 -8 6 -14 14 -14v0c8 0 14 6 14 14v56c0 1 1 2 2 2h100c1 0 2 -1 2 -2v-56c0 -8 6 -14 14 -14v0c8 0 14 6 14 14v56c0 1 1 2 2 2h56c8 0 14 6 14 14v0c0 8 -6 14 -14 14h-56c-1 0 -2 1 -2 2v100c0 1 1 2 2 2h56z" /> <glyph glyph-name="ion-logo-model-s" unicode="" horiz-adv-x="448" d="M412 240c9 -6 23 -16 32 -26c0 0 4 -28 4 -62c0 -48 -6 -93 -6 -93c-2 0 -3 -1 -5 -1c0 -1 -1 -13 -2 -21c0 -2 -1 -5 -6 -5h-64c-2 0 -5 1 -5 3l-1 17h-12c-25 0 -15 8 -27 8c-11 0 -55 -3 -96 -3s-85 3 -96 3c-12 0 -2 -8 -27 -8h-11l-1 -17c0 -2 -3 -3 -5 -3h-65 c-5 0 -6 3 -6 5c-1 8 -2 20 -2 21c-2 0 -3 1 -5 1c0 0 -6 45 -6 93c0 33 4 62 4 62c9 10 23 19 32 25c3 2 3 7 -1 8l-5 1v0c-7 0 -23 2 -26 5s-4 6 -4 9s2 8 5 11s15 5 23 6s9 0 11 -1s3 -7 3 -12c0 -3 3 -6 6 -7c2 0 2 1 3 3c5 13 12 34 21 51c12 21 23 27 28 29s9 3 43 6 c34 4 64 4 81 4s46 0 80 -4s38 -4 43 -6s17 -8 29 -29c9 -16 14 -36 19 -49c1 -3 5 -5 8 -4h1c1 0 2 2 2 3c0 6 1 14 3 15s2 2 10 1s21 -3 24 -6s5 -8 5 -11s-1 -6 -4 -9s-19 -5 -26 -5v0l-5 -1c-4 -1 -4 -5 -1 -7zM91 293c-4 -9 -10 -31 -9 -33s-1 -4 12 -3s91 3 130 3 s117 -2 130 -3s11 1 12 3s-6 24 -10 33c-2 5 -6 11 -10 17c-5 7 -12 12 -20 13c-17 3 -53 7 -102 7s-85 -4 -102 -7c-8 -1 -16 -6 -21 -13c-4 -6 -8 -12 -10 -17zM100 177c6 0 14 2 20 3c4 1 4 5 1 7c-7 5 -20 13 -37 18c-26 7 -41 7 -55 7c-2 0 -4 -1 -4 -3 c0 -4 -1 -11 1 -19c2 -11 26 -15 28 -15s6 3 11 3s25 -1 35 -1zM310 104c13 2 28 16 18 30c-6 8 -21 14 -49 18c-30 4 -48 4 -55 4s-26 0 -56 -4c-28 -4 -41 -10 -49 -18c-11 -13 6 -28 19 -30s58 -2 86 -2s73 0 86 2zM422 189c2 8 0 16 0 20c0 2 -1 3 -3 3 c-14 0 -30 -1 -56 -8c-17 -5 -30 -12 -37 -17c-3 -2 -2 -6 2 -7c6 -1 14 -3 20 -3c10 0 30 1 35 1s9 -4 11 -4s26 4 28 15z" /> <glyph glyph-name="ion-ios-hand" unicode="" horiz-adv-x="320" d="M299 331c12 0 21 -10 21 -21v-233c0 -55 -32 -93 -78 -93h-58s-40 11 -40 11c-43 25 -94 96 -113 118c-20 22 -39 41 -27 53c18 17 40 7 66 -16l28 -24v219c0 11 9 20 21 20s21 -9 21 -20v-127c0 -5 4 -9 9 -9s9 4 9 9v161c0 11 9 21 21 21s21 -10 21 -21v-144 c0 -5 4 -8 9 -8s9 3 9 8v127c0 11 9 21 21 21s21 -10 21 -21v-161c0 -5 4 -9 9 -9s9 4 9 9v109c0 11 9 21 21 21z" /> <glyph glyph-name="ion-md-brush" unicode="" horiz-adv-x="448" d="M118 146c39 0 71 -32 71 -70c0 -51 -43 -92 -95 -92c-36 0 -72 18 -94 46c20 0 47 16 47 46c0 38 32 70 71 70zM441 362c9 -9 9 -23 0 -32l-211 -207l-65 63l211 207c9 9 25 9 34 0z" /> <glyph glyph-name="ion-ios-add-circle-outline" unicode="" d="M298 208c9 0 16 -7 16 -16s-7 -16 -16 -16h-74v-74c0 -9 -7 -16 -16 -16s-16 6 -16 16v74h-74s-16 6 -16 16s7 16 16 16h74v74c0 9 7 16 16 16s16 -7 16 -16v-74h74zM208 372c-48 0 -93 -19 -127 -53s-53 -79 -53 -127s19 -93 53 -127s79 -53 127 -53s93 19 127 53 s53 79 53 127s-19 93 -53 127s-79 53 -127 53zM208 400v0c115 0 208 -93 208 -208s-93 -208 -208 -208s-208 93 -208 208s93 208 208 208z" /> <glyph glyph-name="ion-ios-mail-unread" unicode="" d="M320 296c0 27 21 48 48 48s48 -21 48 -48s-21 -48 -48 -48s-48 21 -48 48zM368 230c19 0 36 7 48 20v-178c0 -18 -14 -32 -32 -32h-352c-18 0 -32 14 -32 32v219c0 2 2 3 3 2l108 -110c1 -1 1 -2 0 -3l-75 -80c-5 -5 -5 -13 0 -18c2 -2 6 -4 9 -4s7 2 9 4l75 80 c1 1 2 1 3 0l18 -18c16 -16 36 -25 58 -25s43 8 58 24l18 19c1 1 2 1 3 0l75 -80c2 -2 6 -4 9 -4s7 2 9 4c5 5 5 13 0 18l-75 80c-1 1 -1 2 0 3l47 48c5 -1 11 -1 16 -1zM302 296c0 -22 10 -41 26 -53l-81 -82c-10 -11 -24 -16 -39 -16s-29 5 -39 16l-157 160c5 4 12 7 20 7 h278c-5 -10 -8 -20 -8 -32z" /> <glyph glyph-name="ion-md-desktop" unicode="" horiz-adv-x="448" d="M405 416c23 0 43 -20 43 -43v-282c0 -23 -20 -43 -43 -43h-138l42 -48v-32h-170v32l42 48h-138c-23 0 -43 20 -43 43v282c0 23 20 43 43 43h362zM405 128v245h-362v-245h362z" /> <glyph glyph-name="ion-ios-briefcase" unicode="" d="M32 0c-18 0 -32 14 -32 32v192h416v-192c0 -18 -14 -32 -32 -32h-352zM384 320c18 0 32 -14 32 -32v-40h-416v40c0 18 14 32 32 32h8v8c0 4 4 8 8 8h32c4 0 8 -4 8 -8v-8h28v32c0 18 14 32 32 32h120c18 0 32 -14 32 -32v-32h28v8c0 4 4 8 8 8h32c4 0 8 -4 8 -8v-8h8z M272 320v28c0 4 -4 8 -8 8h-112c-4 0 -8 -4 -8 -8v-28h128z" /> <glyph glyph-name="ion-ios-cloud-circle" unicode="" d="M208 400c115 0 208 -93 208 -208s-93 -208 -208 -208s-208 93 -208 208s93 208 208 208zM291 128c25 0 45 21 45 47c0 23 -16 42 -38 46c-4 38 -34 67 -72 67c-26 0 -49 -14 -62 -34c-4 2 -10 4 -15 4c-20 0 -36 -17 -36 -37c-20 -6 -33 -25 -33 -46c0 -26 20 -47 45 -47 h166z" /> <glyph glyph-name="ion-md-trophy" unicode="" d="M344 343h72c0 -62 -13 -108 -21 -127s-34 -52 -59 -70c-24 -17 -95 -53 -104 -58v-28c3 -9 17 -28 78 -28h26v-48h-256v48h21c60 0 78 18 83 28v28c-9 4 -74 35 -104 58c-32 25 -48 46 -59 70s-21 59 -21 127h71c-1 27 0 56 0 57h273c0 -1 1 -30 0 -57zM62 236 c10 -20 24 -37 41 -51c-11 26 -19 58 -26 97c-1 5 -1 10 -2 16h-29c2 -24 7 -44 16 -62zM354 236c9 18 14 38 16 62h-29c-1 -6 -1 -11 -2 -16c-7 -40 -15 -71 -26 -97c18 14 31 31 41 51z" /> <glyph glyph-name="ion-md-apps" unicode="" horiz-adv-x="320" d="M0 272v80h80v-80h-80zM120 32v80h80v-80h-80zM0 32v80h80v-80h-80zM0 152v80h80v-80h-80zM120 152v80h80v-80h-80zM240 352h80v-80h-80v80zM120 272v80h80v-80h-80zM240 152v80h80v-80h-80zM240 32v80h80v-80h-80z" /> <glyph glyph-name="ion-md-mail-open" unicode="" horiz-adv-x="448" d="M448 246v-203c0 -23 -20 -43 -43 -43h-362c-23 0 -43 20 -43 43v203c0 15 8 30 20 37l204 101l204 -101c13 -7 20 -22 20 -37zM224 144l171 112l-171 85l-171 -85z" /> <glyph glyph-name="ion-md-cart" unicode="" d="M122 70c23 0 41 -18 41 -41s-18 -42 -41 -42s-42 19 -42 42s19 41 42 41zM0 397h68l19 -42h308c11 0 21 -9 21 -20c0 -4 -1 -8 -2 -10l-75 -129c-7 -14 -20 -22 -36 -22h-155l-21 -32s-2 -5 -2 -6c0 -3 2 -5 5 -5h238v-40h-243c-26 0 -45 14 -45 42c0 7 2 15 5 20l31 51 l-74 151h-42v42zM326 70c23 0 42 -18 42 -41s-19 -42 -42 -42s-41 19 -41 42s18 41 41 41z" /> <glyph glyph-name="ion-md-archive" unicode="" d="M406 348c7 -7 10 -17 10 -29v-289c0 -25 -21 -46 -46 -46h-324c-25 0 -46 21 -46 46v289c0 12 3 22 10 29l33 39c6 8 16 13 26 13h278c10 0 20 -5 26 -13zM208 65l127 127h-81v46h-92v-46h-81zM49 354h317l-22 23h-277z" /> <glyph glyph-name="ion-logo-whatsapp" unicode="" horiz-adv-x="448" d="M228 416c121 0 220 -97 220 -218s-99 -218 -220 -218c-39 0 -74 10 -106 27l-122 -39l40 117c-20 33 -32 72 -32 113c0 121 99 218 220 218zM337 115c5 13 6 24 5 26s-5 4 -11 7s-32 18 -37 20s-9 2 -13 -3s-16 -17 -19 -21s-6 -4 -12 -1s-23 10 -44 30 c-16 15 -27 33 -30 39s0 9 3 12c3 2 6 6 9 9s4 5 6 9s1 7 0 10s-12 31 -16 42s-10 11 -13 11h-10s-10 -2 -15 -7s-21 -19 -22 -46s18 -54 21 -58s37 -64 93 -88s57 -17 67 -16s33 12 38 25z" /> <glyph glyph-name="ion-md-paw" unicode="" d="M412 282c7 -15 5 -34 -3 -52c-11 -23 -34 -38 -56 -38c-6 0 -11 1 -16 3c-24 9 -32 39 -18 70c11 25 33 42 55 42c5 0 9 -1 14 -3c10 -4 19 -12 24 -22zM97 265c14 -31 6 -61 -18 -70c-5 -2 -11 -3 -16 -3c-22 0 -45 15 -56 38c-9 17 -9 37 -2 52c5 10 13 18 23 22 c5 2 9 3 14 3c22 0 44 -17 55 -42zM146 269c-30 1 -57 28 -61 61c-3 20 4 40 17 54c9 9 20 15 33 16h7c29 -1 50 -26 54 -60c3 -22 -1 -43 -14 -57c-8 -8 -18 -13 -30 -14h-6zM208 224c69 0 139 -97 139 -176c0 -24 -12 -43 -24 -51c-14 -10 -24 -13 -45 -13 c-13 0 -22 2 -28 6c-12 7 -26 10 -40 10h-4c-14 0 -28 -3 -40 -10c-6 -4 -15 -6 -28 -6c-21 0 -31 3 -45 13c-12 8 -24 27 -24 51c0 79 70 176 139 176zM265 269c-12 1 -23 6 -31 14c-13 14 -17 35 -14 57c4 34 26 59 55 60h6c13 -1 24 -7 33 -16c13 -13 20 -34 17 -54 c-4 -34 -30 -60 -60 -61h-6z" /> <glyph glyph-name="ion-md-tablet-landscape" unicode="" horiz-adv-x="448" d="M0 328c0 13 11 24 24 24h400c13 0 24 -11 24 -24v-272c0 -13 -11 -24 -24 -24h-400c-13 0 -24 11 -24 24v272zM384 320h-336v-256h336v256zM430 192c0 8 -6 14 -14 14s-14 -6 -14 -14s6 -14 14 -14s14 6 14 14z" /> <glyph glyph-name="ion-md-mail" unicode="" horiz-adv-x="448" d="M405 368c23 0 43 -20 43 -43v-266c0 -23 -20 -43 -43 -43h-362c-23 0 -43 20 -43 43v266c0 23 20 43 43 43h362zM400 277v43l-176 -117l-176 117v-43l176 -117z" /> <glyph glyph-name="ion-ios-git-compare" unicode="" horiz-adv-x="448" d="M202 120l59 -59c4 -4 7 -10 7 -16s-3 -11 -7 -15l-57 -58c-3 -3 -6 -4 -10 -4s-7 2 -10 4v0c-5 6 -5 15 0 20l40 40h-90c-34 0 -58 16 -70 45c-9 23 -9 50 -9 65v136c-15 3 -28 11 -38 22c-11 13 -17 29 -17 46c0 39 31 70 70 70s70 -31 70 -70c0 -17 -6 -34 -18 -47 c-10 -11 -24 -19 -39 -22v-135c0 -17 1 -42 9 -59c8 -16 22 -23 42 -23h89l-41 40v0c-3 3 -4 6 -4 10s1 7 4 10s6 4 10 4s7 -1 10 -4zM70 304c23 0 42 19 42 42s-19 42 -42 42s-42 -19 -42 -42s19 -42 42 -42zM393 106c14 -3 28 -11 38 -22c11 -13 17 -29 17 -46 c0 -39 -31 -70 -70 -70s-70 31 -70 70c0 17 6 34 18 47c10 11 24 19 39 22v135c0 17 -1 41 -9 58c-8 16 -22 24 -42 24h-89l41 -40v0c3 -3 4 -6 4 -10s-1 -7 -4 -10s-6 -4 -10 -4s-7 1 -10 4l-59 59c-4 4 -7 10 -7 16s3 11 7 15l57 58c3 3 6 4 10 4s7 -2 10 -4v0 c5 -6 5 -15 0 -20l-40 -40h90c34 0 58 -16 70 -45c9 -23 9 -50 9 -65v-136zM378 -4c23 0 42 19 42 42s-19 42 -42 42s-42 -19 -42 -42s19 -42 42 -42z" /> <glyph glyph-name="ion-ios-radio" unicode="" horiz-adv-x="448" d="M28 192c0 -51 19 -98 54 -136c3 -3 4 -6 4 -10s-1 -7 -4 -10c-3 -2 -6 -4 -10 -4s-7 1 -10 4c-40 43 -62 98 -62 156c0 59 22 113 62 156c3 3 6 4 10 4s7 -1 10 -4c6 -6 5 -14 0 -20c-35 -38 -54 -85 -54 -136zM386 348c40 -43 62 -98 62 -156s-22 -112 -62 -155 c-3 -3 -6 -5 -10 -5s-8 1 -10 4c-6 6 -5 14 0 20c35 38 54 85 54 136s-19 98 -54 136c-3 3 -4 6 -4 10s1 7 4 10c3 2 6 4 10 4v0c4 0 7 -1 10 -4zM127 100v0c3 -3 4 -6 4 -10s-1 -6 -4 -9s-6 -5 -10 -5s-7 2 -10 5v0v0c-29 30 -45 68 -45 110c0 43 17 83 47 113 c3 3 6 4 10 4v0c4 0 7 -2 10 -5c5 -6 6 -14 0 -19c-25 -24 -39 -58 -39 -93c0 -34 13 -67 37 -91v0zM339 304c30 -30 47 -70 47 -112s-16 -81 -45 -111c-2 -3 -6 -5 -10 -5s-7 2 -10 5c-5 5 -5 14 0 19c24 24 37 58 37 92c0 35 -14 68 -39 92v0v0c-6 6 -5 14 0 19 c3 3 6 5 10 5v0c4 0 7 -1 10 -4zM175 265c5 -6 5 -15 0 -20c-14 -14 -23 -33 -23 -53s8 -39 22 -53c3 -3 4 -6 4 -10s-1 -7 -4 -10s-6 -4 -10 -4s-7 1 -10 4c-19 19 -30 45 -30 72c0 28 11 54 31 74c3 3 6 4 10 4v0c4 0 7 -1 10 -4zM294 265c20 -20 30 -46 30 -74 c0 -27 -10 -53 -29 -72c-3 -3 -6 -4 -10 -4s-7 1 -10 4s-4 6 -4 10s1 7 4 10c14 14 21 32 21 52s-8 40 -22 54c-6 6 -5 15 0 20c3 3 6 4 10 4v0c4 0 7 -1 10 -4zM224 230c21 0 38 -17 38 -38s-17 -38 -38 -38s-38 17 -38 38s17 38 38 38z" /> <glyph glyph-name="ion-md-rose" unicode="" d="M213 233c-32 41 -61 76 -95 93c-14 7 -24 11 -30 14c86 25 120 76 120 76s35 -52 119 -78c-2 -1 -15 -3 -23 -8c-43 -25 -67 -56 -91 -97zM198 195c60 -92 109 -130 145 -158c-27 -41 -77 -69 -135 -69c-86 0 -156 62 -156 138c0 41 2 136 -52 215c83 0 138 -34 198 -126 zM416 321c-69 -101 -52 -174 -52 -215c0 -13 -2 -25 -6 -37c-8 6 -16 14 -27 24c-22 22 -57 58 -96 110c21 42 53 77 96 103c30 18 85 15 85 15z" /> <glyph glyph-name="ion-md-build" unicode="" horiz-adv-x="448" d="M442 50c8 -6 8 -21 -2 -29l-47 -47c-8 -8 -20 -8 -28 0l-185 186c-47 -18 -101 -8 -140 31c-41 41 -51 102 -27 151l90 -88l61 62l-88 88c49 22 110 14 151 -27c39 -39 48 -94 30 -141z" /> <glyph glyph-name="ion-ios-chatboxes" unicode="" d="M378 278c21 0 38 -17 38 -38v-155c0 -21 -21 -38 -42 -38h-1c-6 0 -10 -2 -10 -8v-50c0 -5 -5 -6 -9 -3l-63 58c-2 2 -5 3 -8 3h-127c-21 0 -38 17 -38 38v155c0 21 17 38 38 38h222zM126 302c-18 0 -32 -14 -32 -32v-100h-61c-18 0 -33 14 -33 32v165c0 18 15 33 33 33 h238c18 0 33 -15 33 -33v-65h-178z" /> <glyph glyph-name="ion-ios-transgender" unicode="" d="M402 280c-8 0 -13 6 -13 13v60l-73 -72c34 -31 53 -74 53 -120c0 -31 -9 -60 -25 -86l20 -19l29 29c2 3 5 4 9 4s7 -1 10 -4c5 -5 5 -14 0 -19l-29 -30l29 -29c5 -5 5 -14 0 -19c-2 -3 -6 -4 -10 -4s-6 1 -9 4l-29 29l-30 -29c-2 -3 -5 -4 -9 -4s-7 1 -10 4 c-5 5 -5 14 0 19l29 29l-16 17c-31 -34 -74 -53 -120 -53c-43 0 -84 17 -114 47s-47 71 -47 114c0 46 19 89 53 120l-17 16l-30 -30c-2 -3 -5 -4 -9 -4s-7 1 -10 4c-5 5 -5 14 0 19l30 30l-37 37v-60c0 -8 -5 -13 -13 -13s-14 5 -14 13v93c0 8 6 14 14 14h93 c8 0 14 -6 14 -14s-6 -13 -14 -13h-60l37 -37l28 28c2 3 6 4 10 4s6 -1 9 -4c5 -5 5 -14 0 -19l-28 -29l19 -19c26 16 55 25 86 25s60 -9 86 -25l75 76h-60c-8 0 -13 5 -13 13s5 14 13 14h93c8 0 14 -6 14 -14v-93c0 -8 -6 -13 -14 -13zM342 161c0 36 -14 70 -39 95 s-59 39 -95 39s-70 -14 -95 -39s-39 -59 -39 -95s14 -70 39 -95s59 -39 95 -39s70 14 95 39s39 59 39 95z" /> <glyph glyph-name="ion-ios-train" unicode="" horiz-adv-x="288" d="M282 -8c6 -5 6 -14 0 -20c-3 -3 -6 -4 -10 -4s-7 1 -10 4l-14 14h-208l-14 -14c-3 -3 -6 -4 -10 -4s-7 1 -10 4c-5 6 -6 15 0 20l50 48c6 5 15 6 20 0s6 -15 0 -20l-6 -6h148l-6 6c-6 5 -5 14 0 20s14 5 20 0zM225 400c35 0 63 -28 63 -63v-236c0 -35 -144 -65 -144 -65 s-144 30 -144 65v236c0 35 30 63 65 63h15c0 9 7 16 16 16h96c9 0 16 -7 16 -16h17zM144 96c26 0 48 22 48 48s-22 48 -48 48s-48 -22 -48 -48s22 -48 48 -48zM240 256v64c0 9 -7 16 -16 16h-160c-9 0 -16 -7 -16 -16v-64c0 -9 7 -16 16 -16h160c9 0 16 7 16 16zM114 144 c0 17 13 30 30 30s30 -13 30 -30s-13 -30 -30 -30s-30 13 -30 30z" /> <glyph glyph-name="ion-md-checkmark-circle-outline" unicode="" d="M123 232l64 -64l179 178l29 -29l-208 -208l-93 93zM374 192h42c0 -114 -94 -208 -208 -208s-208 94 -208 208s94 208 208 208c28 0 54 -6 78 -16l-32 -32c-15 4 -30 6 -46 6c-92 0 -166 -74 -166 -166s74 -166 166 -166s166 74 166 166z" /> <glyph glyph-name="ion-md-umbrella" unicode="" d="M362 204c-17 0 -32 -11 -37 -26h-20c-6 14 -21 26 -38 26c-18 0 -40 -6 -42 -32v-119c0 -15 -1 -37 -14 -50c-10 -10 -23 -19 -43 -19c-36 0 -60 26 -60 61v21h43v-21c0 -14 10 -16 17 -16c14 0 13 15 13 24v118c-1 18 -16 33 -34 33c-16 0 -29 -11 -33 -26h-20 c-5 15 -19 26 -36 26c-13 0 -29 -11 -36 -26h-22v4c0 106 77 193 181 203c3 9 11 15 21 15s19 -6 22 -15c50 -5 97 -29 133 -66c38 -39 59 -91 59 -141h-20c-7 15 -22 26 -34 26z" /> <glyph glyph-name="ion-md-trending-down" unicode="" horiz-adv-x="448" d="M448 51h-134l51 51l-109 110l-90 -90l-166 166l32 32l134 -134l90 89l141 -141l51 52v-135z" /> <glyph glyph-name="ion-md-git-branch" unicode="" horiz-adv-x="320" d="M320 288c0 -24 -13 -44 -32 -55v-9c0 -42 -19 -76 -55 -99c-23 -15 -53 -25 -92 -31c-20 -3 -28 -14 -30 -19c10 -11 17 -26 17 -43c0 -35 -29 -64 -64 -64s-64 29 -64 64c0 24 13 44 32 55v210c-19 11 -32 31 -32 55c0 35 29 64 64 64s64 -29 64 -64 c0 -24 -13 -44 -32 -55v-150c10 5 21 9 35 11c29 4 53 11 68 21c18 11 25 25 25 45v9c-19 11 -32 31 -32 55c0 35 29 64 64 64s64 -29 64 -64zM64 392c-22 0 -40 -18 -40 -40s18 -40 40 -40s40 18 40 40s-18 40 -40 40zM64 -8c22 0 40 18 40 40s-18 40 -40 40 s-40 -18 -40 -40s18 -40 40 -40zM256 248c22 0 40 18 40 40s-18 40 -40 40s-40 -18 -40 -40s18 -40 40 -40z" /> <glyph glyph-name="ion-ios-jet" unicode="" d="M416 400c0 0 -1 -19 -27 -53c-12 -15 -121 -162 -121 -162l8 -160l-36 -41l-52 102l-10 -8l-4 -82l-33 -6l-48 60l-53 -26l26 53l-60 48l6 33l82 4l8 10l-102 52l41 36l160 -8s146 109 162 121c33 26 53 27 53 27z" /> <glyph glyph-name="ion-ios-school" unicode="" horiz-adv-x="448" d="M64 178c0 6 7 10 12 7l132 -75c2 -2 4 -4 4 -7v-94c0 -6 -7 -10 -12 -7l-132 76c-2 2 -4 4 -4 7v93zM248 2c-5 -3 -12 1 -12 7v94c0 3 2 6 4 7l132 76c5 3 12 -1 12 -7v-94c0 -3 -2 -6 -4 -7zM216 383c5 3 11 3 16 0l212 -129c2 -2 4 -5 4 -8v-171c0 -7 -6 -10 -10 -10v0 c-7 0 -11 3 -11 10v153c0 6 -2 10 -7 7l-188 -108c-5 -3 -11 -3 -16 0l-212 118c-5 3 -5 11 0 14z" /> <glyph glyph-name="ion-ios-magnet" unicode="" d="M414 186c2 -2 2 -6 0 -8l-57 -58c-2 -2 -7 -2 -9 0l-163 163c-13 13 -28 20 -42 22s-26 -2 -36 -12s-15 -23 -13 -37s10 -28 23 -41l163 -163c2 -2 2 -7 0 -9l-58 -57c-1 -1 -2 -2 -4 -2s-3 1 -4 2l-173 172c-27 27 -41 62 -41 100s14 74 41 101s63 41 101 41 s73 -14 100 -41zM228 68l-30 -30l20 -20l30 30zM352 152l30 30l-20 20l-30 -30z" /> <glyph glyph-name="ion-ios-flash" unicode="" horiz-adv-x="256" d="M248 224c6 0 11 -8 7 -14l-184 -240c-3 -4 -8 -1 -7 3l52 187h-108c-6 0 -10 7 -6 13l183 241c3 4 8 1 7 -3l-52 -187h108z" /> <glyph glyph-name="ion-logo-twitch" unicode="" d="M32 416h384v-272l-112 -112h-80l-64 -64h-64v64h-96v304zM368 160v208h-304v-272h80v-64l64 64h96zM272 176v129h48v-129h-48zM160 176v129h48v-129h-48z" /> <glyph glyph-name="ion-md-disc" unicode="" d="M208 400c115 0 208 -93 208 -208s-93 -208 -208 -208s-208 93 -208 208s93 208 208 208zM208 98c52 0 94 42 94 94s-42 94 -94 94s-94 -42 -94 -94s42 -94 94 -94zM208 213c11 0 21 -10 21 -21s-10 -21 -21 -21s-21 10 -21 21s10 21 21 21z" /> <glyph glyph-name="ion-md-cube" unicode="" horiz-adv-x="448" d="M435 280c7 0 13 -6 13 -12v-183c0 -9 -6 -19 -14 -23v0l-175 -92v-1c-2 -1 -4 -1 -6 -1c-7 0 -13 6 -13 12v185c0 9 4 17 12 22h1l177 92c2 1 3 1 5 1zM422 330c0 0 8 -4 8 -10c0 -8 -8 -11 -8 -11l-185 -98c-4 -2 -8 -3 -13 -3c-4 0 -9 1 -13 3l-185 97s-8 5 -8 12 c0 6 8 10 8 10l182 81s10 5 16 5s17 -5 17 -5zM196 187c8 -5 12 -13 12 -22v-185c0 -6 -6 -12 -13 -12c-2 0 -4 1 -6 2l-175 92v1c-8 4 -14 13 -14 22v183c0 6 6 12 13 12c2 0 3 0 5 -1z" /> <glyph glyph-name="ion-md-log-in" unicode="" d="M208 400c115 0 208 -93 208 -208s-93 -208 -208 -208c-43 0 -84 13 -119 38c-34 24 -60 57 -75 96l-4 10h46l2 -5c8 -18 19 -34 33 -48c31 -31 73 -48 117 -48s86 17 117 48s48 73 48 117s-17 86 -48 117s-73 48 -117 48s-86 -17 -117 -48c-14 -14 -25 -30 -33 -48l-2 -5 h-46l4 10c15 39 41 72 75 96c35 24 76 38 119 38zM0 171v42h190l-45 45l31 30l96 -96l-96 -96l-30 30l44 45h-190z" /> <glyph glyph-name="ion-md-happy" unicode="" d="M208 400c114 0 208 -94 208 -208s-93 -208 -208 -208s-208 94 -208 208s93 208 208 208zM208 26c92 0 166 74 166 166s-74 166 -166 166s-166 -74 -166 -166s74 -166 166 -166zM281 213c-18 0 -31 13 -31 31s13 31 31 31s31 -13 31 -31s-13 -31 -31 -31zM135 213 c-18 0 -31 13 -31 31s13 31 31 31s31 -13 31 -31s-13 -31 -31 -31zM208 78c-49 0 -89 29 -106 72h212c-17 -43 -57 -72 -106 -72z" /> <glyph glyph-name="ion-logo-npm" unicode="" horiz-adv-x="512" d="M228 178v57h28v-57h-28zM0 292h512v-171h-256v-29h-114v29h-142v171zM142 149v114h-114v-114h57v86h29v-86h28zM284 149v114h-113v-143h57v29h56zM484 149v0v114h-171v-114h57v86h28v-86h29v86h28v-86h29z" /> <glyph glyph-name="ion-md-watch" unicode="" horiz-adv-x="320" d="M320 192c0 -51 -24 -96 -61 -125l-19 -115h-160l-19 115c-37 29 -61 74 -61 125s24 96 61 125l19 115h160l19 -115c37 -29 61 -74 61 -125zM40 192c0 -66 54 -120 120 -120s120 54 120 120s-54 120 -120 120s-120 -54 -120 -120z" /> <glyph glyph-name="ion-md-notifications" unicode="" horiz-adv-x="352" d="M176 -16c-23 0 -41 19 -41 42h82c0 -23 -18 -42 -41 -42zM311 109l41 -42v-21h-352v21l41 42v114c0 63 45 117 104 131v15c0 18 13 31 31 31s31 -13 31 -31v-15c59 -14 104 -68 104 -131v-114z" /> <glyph glyph-name="ion-md-bookmarks" unicode="" horiz-adv-x="384" d="M341 384c24 0 43 -19 43 -43v-298c0 -24 -19 -43 -43 -43h-21c16 5 23 21 23 43v298c0 22 -8 37 -23 43h21zM282 384c22 -2 38 -21 38 -43v-298c0 -22 -16 -41 -38 -43h-5h-234c-24 0 -43 19 -43 43v298c0 24 19 43 43 43h234h5zM144 192v160h-112v-160l56 32z" /> <glyph glyph-name="ion-ios-volume-mute" unicode="" horiz-adv-x="160" d="M151 302c6 -3 9 -8 9 -14v-192c0 -6 -3 -11 -9 -14c-2 -1 -5 -2 -7 -2c-4 0 -7 2 -10 4l-65 52h-53c-9 0 -16 7 -16 16v80c0 9 7 16 16 16h53l65 52c3 2 6 4 10 4c2 0 5 -1 7 -2z" /> <glyph glyph-name="ion-ios-male" unicode="" d="M402 400c8 0 14 -6 14 -14v-108c0 -8 -6 -14 -14 -14s-13 6 -13 14v75l-91 -90c26 -31 40 -70 40 -110c0 -23 -4 -45 -13 -66c-8 -20 -20 -37 -36 -53s-34 -29 -54 -37c-21 -9 -43 -13 -66 -13s-45 4 -66 13c-20 8 -37 21 -53 37s-29 33 -37 53c-9 21 -13 43 -13 66 s4 45 13 66c8 20 21 38 37 54s33 28 53 36c21 9 43 13 66 13c40 0 79 -14 110 -40l90 91h-75c-8 0 -14 5 -14 13s6 14 14 14h108zM311 153c0 38 -15 73 -42 100s-62 42 -100 42s-73 -15 -100 -42s-42 -62 -42 -100s15 -73 42 -100s62 -42 100 -42s73 15 100 42s42 62 42 100 z" /> <glyph glyph-name="ion-ios-cut" unicode="" horiz-adv-x="360" d="M232 171c-25 -33 -38 -42 -38 -42l-14 -9c-7 -4 -20 -14 -29 -28c-14 -23 -25 -55 -26 -58c-4 -14 -12 -26 -22 -35c-11 -10 -25 -15 -39 -15c-17 0 -34 8 -46 22c-12 13 -18 31 -18 49s6 36 18 49c12 14 28 22 46 22c12 0 24 -4 34 -11l10 20c3 7 7 15 11 22 c2 4 5 9 9 15c3 5 6 9 9 14c8 12 15 22 15 23v0l15 20v0l3 4l10 13l114 154c6 0 15 -2 20 -7c12 -11 19 -23 19 -41c0 -13 -4 -28 -11 -46c-10 -24 -64 -102 -90 -135zM64 27c13 0 24 12 24 28c0 15 -11 28 -24 28s-24 -13 -24 -28s11 -28 24 -28zM180 160c9 0 16 7 16 16 s-7 16 -16 16s-16 -7 -16 -16s7 -16 16 -16zM116 188c-35 48 -69 97 -78 118c-7 18 -11 32 -11 46c0 18 7 35 19 44c4 3 10 4 19 4l105 -141l-47 -65c-2 -3 -3 -6 -5 -9c-1 1 -1 2 -2 3zM296 126c35 0 64 -32 64 -71s-29 -71 -64 -71c-14 0 -28 5 -39 15 c-10 9 -18 21 -22 35c-1 3 -12 35 -26 58c-5 7 -10 12 -15 17l36 33l11 14c4 -7 7 -14 10 -21c4 -8 8 -14 11 -20c10 7 22 11 34 11zM296 27c13 0 24 12 24 28c0 15 -11 28 -24 28s-24 -13 -24 -28s11 -28 24 -28z" /> <glyph glyph-name="ion-ios-paper-plane" unicode="" d="M404 399c6 3 14 -2 12 -9l-82 -400c-1 -6 -7 -8 -12 -4l-99 72c-4 3 -9 2 -12 -2l-38 -45c-4 -6 -10 -4 -11 3l11 78c1 7 3 12 7 18l179 219c2 3 0 6 -3 7c-2 0 -3 0 -4 -1l-208 -203c-4 -5 -7 -11 -7 -18l8 -91c0 -5 -9 -3 -10 2l-53 109c-2 4 -5 6 -9 8l-68 26 c-6 3 -7 12 -1 15z" /> <glyph glyph-name="ion-md-eye-off" unicode="" horiz-adv-x="448" d="M224 303c-13 0 -25 -2 -37 -7l-44 44c25 9 53 14 81 14c102 0 189 -63 224 -152c-15 -38 -39 -70 -70 -96l-59 59c5 12 7 24 7 37c0 56 -46 101 -102 101zM20 358l26 26l362 -358l-26 -26l-60 59l-9 9c-28 -11 -57 -18 -89 -18c-102 0 -189 63 -224 152 c16 40 42 75 76 101l-9 9zM133 247c-7 -14 -11 -29 -11 -45c0 -56 46 -101 102 -101c16 0 31 4 45 11l-32 31c-4 -1 -9 -1 -13 -1c-34 0 -61 26 -61 60c0 4 1 9 2 13zM221 262h3c34 0 61 -26 61 -60v-3z" /> <glyph glyph-name="ion-md-code" unicode="" horiz-adv-x="448" d="M158 94l-30 -30l-128 128l128 128l30 -30l-98 -98zM290 94l98 98l-98 98l30 30l128 -128l-128 -128z" /> <glyph glyph-name="ion-logo-foursquare" unicode="" horiz-adv-x="320" d="M281 416c35 0 45 -20 37 -57c-10 -49 -40 -202 -43 -213c-3 -13 -8 -34 -39 -34h-72c-3 0 -3 0 -6 -3c-2 -2 -115 -133 -115 -133c-9 -10 -23 -8 -28 -6s-15 8 -15 26v380s10 40 43 40h238zM275 146c3 11 33 164 43 213zM267 351c2 9 -5 16 -12 16h-191 c-9 0 -15 -8 -15 -15v-296c0 -1 1 -1 2 0c0 0 70 84 78 94s11 11 23 11h64c9 0 14 8 15 12s8 43 10 51s-6 16 -13 16h-82c-10 0 -18 8 -18 18v13c0 10 8 17 18 17h96s14 6 15 12z" /> <glyph glyph-name="ion-logo-facebook" unicode="" horiz-adv-x="384" d="M363 384c12 0 21 -9 21 -21v-342c0 -12 -9 -21 -21 -21h-107v152h50l7 56h-57v36c0 17 5 28 29 28h35v52c-5 1 -28 2 -49 2c-44 0 -79 -27 -79 -77v-41h-46v-56h46v-152h-171c-12 0 -21 9 -21 21v342c0 12 9 21 21 21h342z" /> <glyph glyph-name="ion-md-today" unicode="" horiz-adv-x="384" d="M341 416c24 0 43 -19 43 -43v-362c0 -24 -19 -43 -43 -43h-298c-24 0 -43 19 -43 43v362c0 24 19 43 43 43h298zM337 11c2 0 4 2 4 4v354c0 2 -2 4 -4 4h-290c-2 0 -4 -2 -4 -4v-354c0 -2 2 -4 4 -4h290zM81 254c0 1 1 2 2 2h218c1 0 2 -1 2 -2v-204c0 -1 -1 -2 -2 -2 h-218c-1 0 -2 1 -2 2v204zM81 333c0 1 1 2 2 2h171c1 0 2 -1 2 -2v-34c0 -1 -1 -2 -2 -2h-171c-1 0 -2 1 -2 2v34z" /> <glyph glyph-name="ion-ios-umbrella" unicode="" d="M359 310c36 -43 56 -86 57 -144c0 -2 -1 -3 -2 -4s-2 -2 -4 -2h-2c-3 0 -4 1 -5 4c-3 10 -8 20 -16 26c-8 7 -17 10 -27 10s-18 -4 -26 -10s-13 -16 -16 -26c-1 -3 -3 -4 -6 -4h-5c-3 0 -4 1 -5 4c-3 10 -8 20 -16 26s-17 10 -27 10c-15 0 -29 -9 -37 -23v-147 c0 -25 -19 -46 -44 -46s-45 21 -45 46c0 8 5 14 13 14s14 -6 14 -14c0 -10 8 -18 18 -18s17 8 17 18v148c-8 14 -22 22 -37 22c-20 0 -36 -15 -42 -36c-1 -3 -3 -4 -6 -4h-5c-3 0 -4 1 -5 4c-3 10 -8 20 -16 26c-8 7 -17 10 -27 10s-19 -4 -27 -10s-13 -16 -16 -26 c-1 -3 -2 -4 -5 -4h-3c-3 0 -6 3 -6 6v2c0 58 20 102 56 144c35 41 81 66 132 71c2 10 10 17 20 17s18 -7 20 -17c50 -5 96 -31 131 -73z" /> <glyph glyph-name="ion-md-flag" unicode="" horiz-adv-x="320" d="M300 365c8 1 15 2 20 3v-20v-188c-6 -1 -12 -2 -20 -3c-14 -2 -30 -4 -48 -4c-31 0 -59 6 -87 12c-27 6 -53 15 -80 15c-15 0 -27 -1 -37 -2v-178h-28h-20v171v53v141v3l4 3c2 1 22 13 81 13c29 0 57 -5 84 -11c26 -5 52 -12 81 -12c18 0 36 2 50 4z" /> <glyph glyph-name="ion-logo-euro" unicode="" horiz-adv-x="320" d="M138 176h124l-7 -48h-117v-13c0 -44 15 -63 79 -63c26 0 56 3 93 9l10 -65c-38 -9 -71 -12 -106 -12c-115 0 -164 41 -164 117v27h-50v48h50v48h-50v48h50v11c0 76 49 117 164 117c35 0 68 -3 106 -12l-10 -65c-37 6 -67 9 -93 9c-64 0 -79 -22 -79 -58v-2h138l-7 -48 h-131v-48z" /> <glyph glyph-name="ion-md-musical-notes" unicode="" horiz-adv-x="384" d="M96 384h288v-315c0 -41 -32 -69 -70 -69s-69 27 -69 65s31 65 69 65c9 0 19 -1 27 -4v122h-202v-179c0 -41 -32 -69 -70 -69s-69 27 -69 65s31 65 69 65c9 0 19 -1 27 -4v258zM341 288v53h-202v-53h202z" /> <glyph glyph-name="ion-logo-javascript" unicode="" horiz-adv-x="448" d="M176 360v0v-213c0 -97 -49 -131 -121 -131c-18 0 -40 3 -55 8l8 62c10 -4 24 -6 39 -6c31 0 49 15 49 68v212h80zM350 368v0c38 0 65 -7 85 -16l-19 -64c-13 7 -35 17 -67 17s-48 -16 -48 -33c0 -22 19 -31 62 -48c58 -22 85 -53 85 -102c0 -57 -42 -106 -133 -106 c-38 0 -72 10 -91 21l15 63v0c20 -11 49 -21 81 -21c34 0 52 15 52 38c0 21 -15 33 -55 47c-55 20 -93 52 -93 102c0 58 49 102 126 102z" /> <glyph glyph-name="ion-md-paper" unicode="" horiz-adv-x="448" d="M432 384c9 0 16 -7 16 -16v-286c0 -45 -37 -82 -82 -82h-280c-47 0 -86 38 -86 86v208c0 23 19 42 42 42h102v32c0 9 7 16 16 16h272zM144 304h-45c2 -6 3 -12 3 -19v-173h42v192zM127 49c9 9 15 19 17 31h-58c-9 0 -16 7 -16 16v189c0 11 -8 19 -19 19s-19 -8 -19 -19 v-199c0 -14 6 -28 16 -38s24 -16 38 -16c15 0 30 6 41 17zM416 82v269h-240v-15v-250c0 -21 -8 -39 -21 -54h211c13 0 25 5 35 15s15 22 15 35zM216 256v56h160v-56h-160zM216 192v32h160v-32h-160zM216 128v32h160v-32h-160zM376 96c0 -11 0 -32 -19 -32h-149 c8 0 8 32 8 32h160z" /> <glyph glyph-name="ion-md-medkit" unicode="" d="M304 304h112v-264c0 -22 -18 -40 -40 -40h-336c-22 0 -40 18 -40 40v264h112v40c0 22 18 40 40 40h112c22 0 40 -18 40 -40v-40zM152 344v-40h112v40h-112zM288 120v48h-56v56h-48v-56h-56v-48h56v-56h48v56h56z" /> <glyph glyph-name="ion-logo-twitter" unicode="" horiz-adv-x="472" d="M472 338c-13 -20 -29 -36 -48 -50v-12c0 -128 -98 -276 -276 -276c-55 0 -105 16 -148 44c8 -1 15 -2 23 -2c45 0 87 16 120 42c-42 1 -78 29 -90 67c6 -1 12 -2 18 -2c9 0 18 2 26 4c-44 9 -78 48 -78 95v1c13 -7 28 -12 44 -12c-26 17 -43 47 -43 81c0 18 5 34 13 48 c48 -59 119 -97 199 -101c-2 7 -2 14 -2 22c0 54 43 97 97 97c28 0 52 -12 70 -31c22 4 43 13 62 24c-7 -23 -23 -42 -43 -54c20 2 39 7 56 15z" /> <glyph glyph-name="ion-ios-hourglass" unicode="" horiz-adv-x="348" d="M334 14c8 0 14 -5 14 -13s-6 -15 -14 -15h-320c-8 0 -14 7 -14 15s6 13 14 13h6c6 0 11 1 12 7v1c14 136 100 138 100 170s-85 34 -100 170v1c-1 6 -6 7 -12 7h-6c-8 0 -14 7 -14 15s6 13 14 13h320c8 0 14 -7 14 -15s-6 -13 -14 -13h-5c-6 0 -12 -1 -13 -7v-1 c-14 -136 -100 -138 -100 -170s85 -34 100 -170v-1c1 -6 7 -7 13 -7h5zM81 48c-3 -7 -1 -16 7 -16h172c8 0 10 9 7 16c-31 79 -80 71 -80 102v55c0 19 37 33 60 65c4 5 0 12 -6 12h-133c-6 0 -11 -7 -7 -12c23 -32 60 -46 60 -65v-55c0 -32 -51 -22 -80 -102z" /> <glyph glyph-name="ion-md-trending-up" unicode="" horiz-adv-x="448" d="M314 320h134v-134l-51 51l-141 -141l-90 90l-134 -135l-32 32l166 166l90 -90l109 110z" /> <glyph glyph-name="ion-logo-nodejs" unicode="" horiz-adv-x="384" d="M192 -32c-6 0 -12 2 -17 5l-53 32c-8 5 -4 6 -1 7c11 4 14 5 25 12c1 1 3 1 4 0l39 -23c1 -1 4 -1 5 0l156 92c1 1 2 2 2 4v187c0 2 0 4 -2 5l-156 94c-1 1 -3 1 -4 0l-155 -94c-2 -1 -3 -3 -3 -5v-187c0 -2 0 -3 2 -4l40 -24c24 -12 38 1 38 15v183c0 3 2 5 5 5h22 c3 0 5 -2 5 -5v-183c0 -33 -19 -52 -49 -52c-9 0 -17 1 -37 11l-41 24c-10 6 -17 18 -17 30v190c0 12 7 24 17 30l158 95c10 6 24 6 34 0l158 -95c10 -6 17 -18 17 -30v-190c0 -12 -7 -24 -17 -30l-158 -94c-5 -3 -11 -5 -17 -5v0zM241 96c-65 0 -84 31 -84 59c0 3 1 5 4 5 h21c2 0 5 -2 5 -4c3 -22 16 -31 54 -31c33 0 47 11 47 29c0 11 -3 18 -55 23c-43 4 -71 15 -71 51c0 33 28 52 73 52c46 0 76 -14 79 -51c0 -1 -1 -2 -2 -3s-2 -2 -3 -2h-20c-2 0 -5 2 -5 4c-4 17 -16 23 -49 23c-36 0 -41 -12 -41 -22c0 -12 5 -16 54 -23s72 -16 72 -51 c0 -36 -29 -59 -79 -59v0v0z" /> <glyph glyph-name="ion-ios-shuffle" unicode="" horiz-adv-x="384" d="M342 160l36 -36c4 -4 6 -9 6 -15s-2 -12 -6 -16l-34 -33c-3 -3 -6 -4 -10 -4s-7 1 -10 4s-4 6 -4 10s1 7 4 10l16 16h-84c-4 0 -8 2 -11 5v0l-53 67l-53 -67v0c-3 -3 -7 -5 -11 -5h-114c-8 0 -14 6 -14 14s6 14 14 14h107l53 66l-53 66h-107c-8 0 -14 6 -14 14 s6 14 14 14h114c4 0 8 -2 11 -5v0l124 -155h75l-16 16c-3 3 -4 6 -4 10s1 7 4 10s6 4 10 4s7 -1 10 -4zM215 213l-10 12c-2 2 -2 5 0 7l40 51v0c3 3 7 5 11 5h84l-16 16c-3 3 -4 6 -4 10s1 7 4 10s6 4 10 4s7 -1 10 -4l34 -34c4 -4 6 -9 6 -15s-2 -12 -6 -16l-36 -35 c-3 -3 -6 -4 -10 -4s-7 1 -10 4s-4 6 -4 10s1 7 4 10l16 16h-75l-38 -47c-1 -1 -3 -3 -5 -3v0c-2 0 -4 2 -5 3z" /> <glyph glyph-name="ion-logo-steam" unicode="" horiz-adv-x="512" d="M479 240c0 -20 -16 -36 -36 -36s-36 16 -36 36s16 36 36 36s36 -16 36 -36zM443 309c38 0 69 -31 69 -69s-31 -70 -69 -70l-67 -48c-2 -26 -24 -47 -51 -47c-25 0 -46 18 -51 41l-196 78c-8 -5 -16 -7 -26 -7c-28 0 -52 24 -52 52s24 52 52 52c25 0 45 -18 50 -41 l196 -79c8 5 17 8 27 8c2 0 3 -1 5 -1l43 62c0 38 32 69 70 69zM443 286c-26 0 -47 -20 -47 -46s21 -47 47 -47s46 21 46 47s-20 46 -46 46zM52 277c-21 0 -38 -17 -38 -38s17 -38 38 -38c3 0 5 0 8 1l-16 6v0c-15 7 -22 24 -16 39s24 23 39 17v0l19 -7c-6 12 -19 20 -34 20 zM325 165c-3 0 -6 -1 -9 -1l16 -6c16 -6 23 -24 17 -40s-23 -23 -39 -17c-6 3 -13 6 -19 8c6 -12 19 -20 34 -20c21 0 38 17 38 38s-17 38 -38 38z" /> <glyph glyph-name="ion-md-beaker" unicode="" horiz-adv-x="384" d="M384 413c0 -1 -2 -3 -3 -5s-11 -15 -13 -33v-332v0v-11c0 -35 -29 -64 -64 -64h-208c-35 0 -64 29 -64 64v308c0 32 -2 32 -32 36c0 12 10 40 64 40h270h47c2 0 3 -2 3 -3zM290 16c17 0 30 14 30 32v320h-240v-325c3 -15 16 -27 32 -27h178zM118 288h164v-226 c0 -4 -4 -8 -8 -8h-148c-4 0 -8 4 -8 8v226z" /> <glyph glyph-name="ion-md-arrow-dropleft" unicode="" horiz-adv-x="128" d="M128 320v-256l-128 128z" /> <glyph glyph-name="ion-md-bed" unicode="" horiz-adv-x="384" d="M105 184c-29 0 -53 23 -53 51s24 51 53 51s52 -23 52 -51s-23 -51 -52 -51zM314 286c39 0 70 -30 70 -68v-154h-35v51h-314v-51h-35v256h35v-154h139v120h140z" /> <glyph glyph-name="ion-md-cog" unicode="" horiz-adv-x="448" d="M448 160h-35c-2 -12 -5 -24 -9 -35l30 -17l-32 -56l-30 18c-8 -9 -17 -18 -26 -26l18 -30l-56 -32l-17 30c-11 -4 -23 -7 -35 -9v-35h-64v35c-12 2 -24 5 -35 9l-17 -30l-56 32l18 30c-9 8 -18 17 -26 26l-30 -18l-32 56l30 17c-4 11 -7 23 -9 35h-35v64h35 c2 12 5 24 9 35l-30 17l32 56l30 -18c8 9 17 18 26 26l-18 30l56 32l17 -30c11 4 23 7 35 9v35h64v-35c12 -2 24 -5 35 -9l17 30l56 -32l-18 -30c9 -8 18 -17 26 -26l30 18l32 -56l-30 -17c4 -11 7 -23 9 -35h35v-64zM224 224c-18 0 -32 -14 -32 -32s14 -32 32 -32 s32 14 32 32s-14 32 -32 32zM109 105l32 38c-8 14 -13 31 -13 49v1l-47 17c-1 -6 -1 -12 -1 -18c0 -33 11 -63 29 -87zM150 253c11 13 25 23 42 29v50c-37 -8 -69 -31 -89 -62zM224 48c24 0 46 6 66 16l-32 38c-10 -4 -22 -6 -34 -6s-24 2 -34 6l-32 -38 c20 -10 42 -16 66 -16zM256 282c17 -6 31 -16 42 -29l47 17c-20 31 -52 54 -89 62v-50zM339 105c18 24 29 54 29 87c0 6 0 12 -1 18l-47 -17v-1c0 -18 -5 -35 -13 -49z" /> <glyph glyph-name="ion-md-flask" unicode="" horiz-adv-x="384" d="M373 94c8 -16 11 -32 11 -46c-1 -36 -27 -64 -63 -64h-256c-36 0 -64 28 -65 64c0 14 4 30 12 46l100 162v96h-32v48h224v-48h-32v-96zM91 144h203l-30 48h-143z" /> <glyph glyph-name="ion-md-bonfire" unicode="" d="M224 97l16 -89c1 -3 2 -5 2 -8c0 -18 -16 -32 -35 -32s-35 14 -35 32c0 2 1 5 1 7l17 93v0c2 7 9 12 17 12c9 0 16 -7 17 -15zM262 93v0v0zM356 58c10 -8 10 -25 0 -35s-29 -9 -37 0c-1 1 -3 2 -4 4l-53 66c-3 5 -2 11 2 15c5 5 12 5 18 1l69 -47c2 -1 3 -3 5 -4z M334 113v0v0zM402 126c10 -1 14 -7 14 -19c0 -9 -10 -14 -19 -12l-63 18v0v0c-4 2 -6 5 -5 9s5 7 9 6zM82 113v0v0zM82 113h-1l-62 -18c-9 -2 -19 3 -19 12c0 12 3 18 13 19l65 2c4 1 8 -2 9 -6s-1 -7 -5 -9v0zM134 109c5 4 13 3 18 -1c4 -4 5 -10 2 -15l-53 -65 c-1 -2 -3 -4 -4 -5c-10 -10 -27 -10 -37 0s-10 25 0 35c2 2 3 3 5 4zM208 416c72 -22 108 -106 108 -179c0 -60 -48 -108 -108 -108s-108 48 -108 108c0 46 17 89 44 121l-1 -6c0 -28 21 -51 49 -51s46 23 46 51c0 29 -30 64 -30 64zM204 169c36 0 65 29 65 65 c0 19 -3 37 -8 54c-14 -18 -38 -29 -62 -34s-38 -20 -38 -42c0 -23 19 -43 43 -43z" /> <glyph glyph-name="ion-md-git-merge" unicode="" horiz-adv-x="384" d="M320 224c35 0 64 -29 64 -64s-29 -64 -64 -64c-24 0 -44 13 -55 32c-22 0 -70 4 -109 27c-21 13 -41 30 -60 49v-117c19 -11 32 -31 32 -55c0 -35 -29 -64 -64 -64s-64 29 -64 64c0 24 13 44 32 55v210c-19 11 -32 31 -32 55c0 35 29 64 64 64s64 -29 64 -64 c0 -21 -10 -39 -26 -51c22 -37 55 -72 87 -91c23 -14 58 -18 76 -18c11 19 31 32 55 32zM24 352c0 -22 18 -40 40 -40s40 18 40 40s-18 40 -40 40s-40 -18 -40 -40zM104 32c0 22 -18 40 -40 40s-40 -18 -40 -40s18 -40 40 -40s40 18 40 40zM320 120c22 0 40 18 40 40 s-18 40 -40 40s-40 -18 -40 -40s18 -40 40 -40z" /> <glyph glyph-name="ion-ios-funnel" unicode="" d="M0 361c0 13 9 23 21 23h374c12 0 21 -10 21 -23v0c0 -6 -2 -12 -6 -16l-152 -180c-4 -4 -5 -9 -5 -15v-134c0 -11 -10 -19 -20 -15l-55 20c-9 3 -15 12 -15 22v107c0 6 -1 11 -5 15l-152 180c-4 4 -6 10 -6 16v0z" /> <glyph glyph-name="ion-md-close-circle-outline" unicode="" d="M208 358c-44 0 -86 -18 -117 -49s-49 -73 -49 -117s18 -86 49 -117s73 -49 117 -49s86 18 117 49s49 73 49 117s-18 86 -49 117s-73 49 -117 49zM208 400v0c115 0 208 -93 208 -208s-93 -208 -208 -208s-208 93 -208 208s93 208 208 208zM312 117l-29 -29l-75 75l-75 -75 l-29 29l75 75l-75 75l29 29l75 -75l75 75l29 -29l-75 -75z" /> <glyph glyph-name="ion-md-help-circle" unicode="" d="M208 400c115 0 208 -93 208 -208s-93 -208 -208 -208s-208 93 -208 208s93 208 208 208zM229 67v42h-42v-42h42zM229 130c0 46 62 52 62 104c0 46 -37 83 -83 83s-83 -37 -83 -83h41c0 22 19 42 42 42s42 -19 42 -42c0 -42 -63 -37 -63 -104h42z" /> <glyph glyph-name="ion-md-book" unicode="" d="M378 368c22 3 38 -17 38 -38v-244c0 -21 -16 -33 -38 -38l-170 -32l-170 32c-22 5 -38 17 -38 38v244c0 21 16 41 38 38l170 -32zM378 86v244l-151 -32v-244zM189 54v244l-151 32v-244z" /> <glyph glyph-name="ion-ios-pricetags" unicode="" horiz-adv-x="448" d="M371 416c15 0 28 -13 28 -28v-124c0 -4 -1 -7 -4 -10l-232 -232c-16 -14 -32 -9 -43 2l-112 113c-11 11 -11 28 0 39l235 236c3 3 6 4 10 4h118zM325 308c14 2 26 14 28 28c2 20 -14 36 -34 34c-14 -2 -25 -14 -27 -28c-2 -20 13 -36 33 -34zM424 368 c14 -2 24 -14 24 -28v-118c0 -4 -1 -7 -4 -10l-235 -236c-11 -11 -28 -11 -39 0l-9 9l259 259c3 3 4 6 4 10v114z" /> <glyph glyph-name="ion-ios-move" unicode="" horiz-adv-x="448" d="M444 202c6 -5 6 -15 0 -20l-79 -79c-5 -5 -15 -5 -20 0v0c-5 5 -5 15 0 20l55 55h-162l1 -162l55 55c5 5 14 5 19 0v0c5 -5 5 -15 0 -20l-79 -79c-5 -5 -15 -5 -20 0l-79 79c-5 5 -5 15 0 20v0c5 5 15 5 20 0l55 -55v162h-162l55 -55c5 -5 5 -15 0 -20v0 c-5 -5 -15 -5 -20 0l-79 79c-5 5 -5 15 0 20l79 79c5 5 15 5 20 0v0c5 -5 5 -15 0 -20l-55 -55h162v162l-55 -55c-5 -5 -15 -5 -20 0v0c-5 5 -5 15 0 20l79 79c5 5 15 5 20 0l79 -79c5 -5 5 -15 0 -20v0c-5 -5 -14 -5 -19 0l-55 55l-1 -162h162l-55 55c-5 5 -5 15 0 20v0 c5 5 15 5 20 0z" /> <glyph glyph-name="ion-ios-wallet" unicode="" d="M356 288c33 0 60 -27 60 -60v-168c0 -33 -27 -60 -60 -60h-296c-33 0 -60 27 -60 60v168c0 33 27 60 60 60h296zM295 383c16 3 32 -2 43 -13v0c9 -9 14 -25 14 -38v-20h-287c-34 0 -49 -19 -49 -19c0 22 26 40 44 44z" /> <glyph glyph-name="ion-ios-car" unicode="" d="M368 252c26 -22 48 -46 48 -85v-76c0 -4 -2 -7 -6 -8c-15 -3 -62 -10 -202 -10s-187 7 -202 10c-4 1 -6 4 -6 8v76c0 39 24 62 48 85c15 33 49 92 100 92h120c51 0 86 -61 100 -92zM142 320c-35 0 -62 -60 -62 -70h256c0 10 -22 70 -62 70h-132zM64 116c18 0 32 14 32 32 s-14 32 -32 32s-32 -14 -32 -32s14 -32 32 -32zM280 148v0c0 9 -7 16 -16 16h-112c-9 0 -16 -7 -16 -16v0c0 -9 7 -16 16 -16h112c9 0 16 7 16 16zM352 116c18 0 32 14 32 32s-14 32 -32 32s-32 -14 -32 -32s14 -32 32 -32zM112 64c0 -11 1 -24 -5 -24h-85s-6 12 -6 29 c0 0 48 -5 96 -5zM304 64c48 0 96 5 96 5c0 -16 2 -29 -5 -29h-86s-5 14 -5 24z" /> <glyph glyph-name="ion-md-notifications-off" unicode="" horiz-adv-x="364" d="M182 -16c-23 0 -41 19 -41 42h82c0 -23 -18 -42 -41 -42zM57 341l295 -295v0l12 -12l-24 -24l-36 36h-298v21l41 41v115c0 23 6 44 16 63l-63 64l24 24l33 -33v0zM317 223v-94l-208 207c13 8 27 15 42 18v15c0 18 13 31 31 31s31 -13 31 -31v-15c59 -14 104 -67 104 -131 z" /> <glyph glyph-name="ion-md-school" unicode="" horiz-adv-x="448" d="M82 167l142 -82l142 82v-85l-142 -82l-142 82v85zM224 384l224 -128v-171h-41v148l-183 -105l-224 128z" /> <glyph glyph-name="ion-ios-color-filter" unicode="" horiz-adv-x="424" d="M398 199c17 -22 26 -49 26 -77c0 -34 -13 -65 -37 -89s-54 -37 -88 -37c-33 0 -64 12 -87 35c-24 -23 -54 -35 -87 -35s-64 13 -88 37s-37 55 -37 89c0 28 9 55 26 77c16 20 38 36 62 44c-1 6 -1 13 -1 19c0 34 12 65 36 89s55 37 89 37s65 -13 89 -37s36 -55 36 -89 c0 -6 0 -13 -1 -19c24 -8 46 -23 62 -44zM212 362c-55 0 -100 -44 -100 -100c0 -5 0 -9 1 -14h12c33 0 64 -12 87 -35c24 23 54 35 87 35h12c1 5 1 9 1 14c0 56 -45 100 -100 100zM212 161h6c-2 4 -4 7 -6 11c-2 -4 -4 -7 -6 -11h6zM165 30c11 5 22 11 31 20 c-14 21 -23 46 -23 72c0 6 1 13 2 19c-18 6 -35 16 -49 29s-25 30 -32 48c-19 -6 -36 -19 -48 -35c-14 -18 -21 -39 -21 -61c0 -56 45 -100 100 -100c14 0 27 2 40 8zM181 166c4 10 9 19 15 28c-9 9 -20 15 -31 20c-13 6 -26 9 -40 9h-5c11 -27 33 -48 61 -57zM212 72 c9 15 14 32 14 50c0 5 -1 9 -2 14h-12h-12c-1 -5 -1 -9 -1 -14c0 -18 4 -35 13 -50zM259 214c-11 -5 -22 -11 -31 -20c6 -9 11 -18 15 -28c28 9 50 30 61 57h-5c-14 0 -27 -3 -40 -9zM299 22c55 0 100 44 100 100c0 22 -7 43 -21 61c-12 16 -29 29 -48 35 c-7 -18 -18 -35 -32 -48s-31 -23 -49 -29c1 -6 2 -13 2 -19c0 -26 -9 -51 -23 -72c9 -9 20 -15 31 -20c13 -6 26 -8 40 -8z" /> <glyph glyph-name="ion-md-magnet" unicode="" horiz-adv-x="352" d="M304 349c32 -33 48 -80 48 -135c0 -44 -1 -72 -13 -116s-33 -98 -37 -106s-9 -9 -14 -7s-48 18 -55 21s-11 10 -9 16s26 65 34 95s12 55 12 95c0 28 -10 53 -28 72c-18 18 -41 29 -66 29s-48 -11 -66 -29c-18 -19 -28 -44 -28 -72c0 -40 4 -59 12 -95c0 0 30 -86 34 -95 c3 -7 -1 -12 -9 -16s-49 -19 -55 -21c-8 -2 -12 1 -16 9c-13 28 -35 104 -35 104c-11 47 -13 72 -13 116c0 55 16 102 48 135s76 51 128 51s96 -18 128 -51zM93 28l-27 74l-22 -6c9 -34 19 -61 26 -77zM282 19c7 16 17 43 25 77l-22 6c-8 -29 -19 -57 -26 -74z" /> <glyph glyph-name="ion-logo-snapchat" unicode="" horiz-adv-x="480" d="M480 88c0 -2 0 -11 -6 -21c-5 -8 -16 -19 -38 -24c-6 -1 -11 -3 -15 -4c-2 -1 -5 -1 -7 -1v-1c-1 -7 -1 -13 -4 -18c-2 -5 -9 -12 -22 -12c-2 0 -6 0 -9 1c-2 0 -3 1 -5 1c-7 1 -15 2 -23 2c-10 0 -19 -2 -26 -6c-4 -3 -9 -7 -14 -10c-18 -13 -38 -27 -71 -27 s-53 14 -71 27c-5 3 -9 7 -14 10c-7 4 -15 6 -25 6c-8 0 -17 -1 -24 -2c-2 0 -3 -1 -5 -1c-3 -1 -7 -1 -9 -1c-13 0 -20 7 -22 12c-3 5 -3 11 -4 18v1c-2 0 -4 0 -6 1c-4 1 -10 3 -16 4c-22 5 -33 16 -38 24c-6 10 -6 18 -6 20v15l15 1c16 1 44 7 54 17c29 27 36 43 36 52 c0 1 0 2 -4 5c-5 3 -13 6 -20 8c-5 2 -10 3 -14 5c-9 4 -18 16 -17 29c1 15 14 27 30 27c4 0 8 0 12 -2c8 -3 13 -4 17 -5c-1 9 -2 19 -3 30c-5 38 5 74 29 102c25 29 64 45 105 45v0c41 0 80 -16 105 -45c24 -28 34 -63 29 -101c-1 -11 -2 -22 -3 -31c4 1 10 2 18 5 c4 1 8 2 12 2c16 0 29 -12 30 -27c1 -13 -9 -25 -18 -29c-4 -2 -9 -3 -14 -5c-7 -2 -14 -5 -19 -8c-4 -3 -5 -4 -5 -5c0 -16 20 -37 36 -52c11 -10 39 -16 54 -17l15 -1v-14zM192 320c-9 0 -16 -11 -16 -24s7 -24 16 -24s16 11 16 24s-7 24 -16 24zM296 242c3 3 3 9 0 12 s-9 3 -12 0c-12 -12 -28 -19 -44 -19c-17 0 -32 7 -44 19c-3 3 -9 3 -12 0s-3 -9 0 -12c15 -15 35 -23 56 -23s41 8 56 23zM288 272c9 0 16 11 16 24s-7 24 -16 24s-16 -11 -16 -24s7 -24 16 -24z" /> <glyph glyph-name="ion-ios-eye" unicode="" horiz-adv-x="448" d="M224 336c96 0 168 -69 220 -133c5 -6 5 -15 0 -21c-51 -56 -124 -134 -220 -134c-98 0 -155 61 -220 133c-6 6 -6 16 0 22c76 83 140 133 220 133zM228 102c46 2 84 40 86 86c2 53 -41 96 -94 94c-46 -2 -84 -40 -86 -86c-2 -53 41 -96 94 -94zM224 239 c0 -26 21 -47 46 -47c6 0 12 2 18 4v-4c0 -37 -31 -67 -69 -64c-31 2 -57 28 -59 59c-3 38 27 69 64 69h3c-2 -5 -3 -11 -3 -17z" /> <glyph glyph-name="ion-ios-nuclear" unicode="" d="M208 400c115 0 208 -93 208 -208s-93 -208 -208 -208s-208 93 -208 208s93 208 208 208zM120 35c27 -15 56 -23 88 -23s62 8 89 23l-50 86c-1 2 0 4 2 5c20 13 34 36 35 61c0 2 2 3 4 3h100v2c0 48 -19 93 -53 127c-11 11 -23 20 -36 28l-51 -87c-1 -2 -3 -3 -5 -2 c-10 5 -23 8 -35 8c-13 0 -25 -2 -36 -8c-2 -1 -4 -1 -5 1l-51 88c-13 -8 -24 -17 -35 -28c-34 -34 -53 -79 -53 -127v-2h100c2 0 4 -1 4 -3c1 -25 15 -48 35 -61c2 -1 3 -3 2 -5zM152 192c0 31 25 56 56 56s56 -25 56 -56s-25 -56 -56 -56s-56 25 -56 56z" /> <glyph glyph-name="ion-ios-journal" unicode="" horiz-adv-x="384" d="M28 416h228v-384h-208c-9 0 -17 -8 -16 -18c1 -8 8 -14 16 -14h320c9 0 16 -7 16 -16v0c0 -9 -7 -16 -16 -16h-340c-16 0 -28 12 -28 28v392c0 16 12 28 28 28zM368 32h-64v384h52c16 0 28 -12 28 -28v-340c0 -9 -7 -16 -16 -16z" /> <glyph glyph-name="ion-ios-notifications-off" unicode="" horiz-adv-x="320" d="M160 -8c-31 0 -48 22 -48 53h96c0 -31 -17 -53 -48 -53zM59 393l227 -388c4 -7 2 -15 -5 -19c-2 -1 -5 -2 -7 -2c-5 0 -9 3 -12 7l-228 388c-4 7 -2 15 5 19c2 1 5 2 7 2v0h1v0c5 0 10 -3 12 -7zM200 64h-40h-140c-16 0 -26 19 -16 32c15 20 46 32 46 123 c0 33 5 59 13 79zM316 96c10 -13 0 -32 -16 -32h-30l-166 284c8 5 17 9 26 11c4 1 6 2 6 6v3c0 13 11 24 24 24s25 -11 25 -24v-3c0 -4 2 -5 6 -6c38 -9 79 -47 79 -140c0 -91 31 -103 46 -123z" /> <glyph glyph-name="ion-md-card" unicode="" horiz-adv-x="448" d="M403 368c25 0 45 -20 45 -44v-264c0 -24 -20 -44 -45 -44h-358c-25 0 -45 20 -45 44v264c0 24 20 44 45 44h358zM403 60v132h-358v-132h358zM403 280v44h-358v-44h358z" /> <glyph glyph-name="ion-logo-codepen" unicode="" horiz-adv-x="448" d="M209 144c1 -1 3 -3 3 -4v-53s-62 41 -93 62l39 26c2 1 3 1 5 0c15 -10 31 -21 46 -31zM163 207c-1 -1 -3 -1 -4 0c-13 9 -26 17 -40 26c31 21 93 62 93 62v-51c0 -2 -2 -5 -3 -6c-15 -10 -31 -21 -46 -31zM238 239c-1 1 -2 2 -2 3v54l93 -63l-40 -26c-1 -1 -3 -1 -4 0 c-16 11 -31 21 -47 32zM226 218c6 -4 40 -27 40 -27l-39 -26c-2 -1 -4 -1 -6 0l-39 26s17 11 25 17c5 3 9 6 14 9c1 1 4 2 5 1zM109 211l30 -20l-30 -20v40zM224 416c124 0 224 -100 224 -224s-100 -224 -224 -224s-224 100 -224 224s100 224 224 224zM363 151v81 c0 6 -2 9 -7 12c-41 27 -83 55 -124 82c-6 4 -11 4 -17 0c-41 -27 -81 -54 -122 -81c-5 -3 -8 -8 -8 -14v-80c0 -6 3 -10 8 -13c41 -27 81 -55 122 -82c6 -4 11 -4 17 0c41 27 82 55 123 82c5 3 8 7 8 13zM284 175c2 2 5 2 7 0l38 -26l-93 -62v51c0 3 1 4 3 6 c15 10 30 21 45 31zM338 171l-30 20l30 20v-40z" /> <glyph glyph-name="ion-md-battery-dead" unicode="" horiz-adv-x="224" d="M194 371c16 0 30 -14 30 -30v-343c0 -16 -13 -30 -30 -30h-164c-16 0 -30 13 -30 30v343c0 16 14 30 30 30h37v45h90v-45h37zM176 16v307h-128v-307h128z" /> <glyph glyph-name="ion-md-wifi" unicode="" d="M208 219c23 0 42 -18 42 -41s-19 -41 -42 -41s-42 18 -42 41s19 41 42 41zM333 178c0 -45 -26 -85 -63 -107l-20 36c25 14 41 40 41 71c0 45 -37 82 -83 82s-83 -37 -83 -82c0 -31 16 -57 41 -71l-20 -36c-37 22 -63 62 -63 107c0 68 56 124 125 124s125 -56 125 -124z M208 384c114 0 208 -93 208 -206c0 -76 -42 -142 -104 -178l-21 36c50 28 83 81 83 142c0 91 -74 165 -166 165s-166 -74 -166 -165c0 -61 33 -113 83 -142l-21 -36c-62 36 -104 102 -104 178c0 113 94 206 208 206z" /> <glyph glyph-name="ion-ios-brush" unicode="" horiz-adv-x="448" d="M118 165c52 0 102 -42 90 -102c-11 -52 -54 -71 -90 -77c-6 -1 -14 -2 -22 -2c-32 0 -78 8 -95 33c-1 2 -1 5 1 6c20 9 32 26 32 47c0 49 32 95 84 95zM436 388c13 -13 17 -30 5 -45l-145 -165c-5 -6 -8 -12 -8 -20v-1c0 -5 -2 -11 -6 -15l-45 -52c-2 -2 -6 -3 -8 -1 c-1 1 -2 3 -2 5c0 50 -41 82 -87 86c-2 0 -4 2 -5 4v0c-1 2 0 5 2 7l53 43c4 4 10 6 16 6v0v0c7 0 15 3 20 8l165 145c6 5 13 7 19 7c9 0 18 -4 26 -12z" /> <glyph glyph-name="ion-ios-checkmark" unicode="" horiz-adv-x="215" d="M214 255c2 -2 1 -4 0 -6l-133 -134h-1c-2 -2 -6 -5 -11 -5c-4 0 -8 1 -12 5l-56 56c-2 2 -2 4 0 6l18 18c1 1 2 1 3 1s2 0 3 -1l44 -45l122 123c1 1 2 1 3 1v0c1 0 2 0 3 -1z" /> <glyph glyph-name="ion-ios-body" unicode="" horiz-adv-x="384" d="M144 368c0 27 21 48 48 48s48 -21 48 -48s-21 -48 -48 -48s-48 21 -48 48zM360 304c13 0 24 -11 24 -24s-11 -24 -24 -24h-98c-6 -1 -14 -4 -18 -14c-5 -12 -2 -34 1 -52l4 -21v-1v0l30 -172c2 -13 -6 -26 -19 -28s-26 7 -28 20l-21 120v0s-6 32 -18 32h-1 c-12 0 -19 -32 -19 -32v0l-21 -120c-2 -13 -15 -22 -28 -20s-21 15 -19 28l30 172v0v1l4 21c3 18 6 40 1 52c-4 10 -12 13 -18 14h-98c-13 0 -24 11 -24 24s11 24 24 24h336z" /> <glyph glyph-name="ion-ios-crop" unicode="" horiz-adv-x="384" d="M78 384c8 0 14 -6 14 -14v-20c0 -8 -6 -14 -14 -14v0c-8 0 -14 6 -14 14v20c0 8 6 14 14 14v0zM92 106c0 -8 6 -14 14 -14h152c8 0 14 -6 14 -14v0c0 -8 -6 -14 -14 -14h-166c-16 0 -28 12 -28 28v166c0 8 6 14 14 14v0c8 0 14 -6 14 -14v-152zM370 92c8 0 14 -6 14 -14 v0c0 -8 -6 -14 -14 -14h-20c-8 0 -14 6 -14 14v0c0 8 6 14 14 14h20zM0 306c0 8 6 14 14 14h278c16 0 28 -12 28 -28v-278c0 -8 -6 -14 -14 -14v0c-8 0 -14 6 -14 14v264c0 8 -6 14 -14 14h-264c-8 0 -14 6 -14 14v0z" /> <glyph glyph-name="ion-md-radio" unicode="" d="M26 306l263 110l14 -35l-172 -72h243c23 0 42 -18 42 -42v-256c0 -24 -19 -43 -42 -43h-332c-23 0 -42 19 -42 43v256c0 18 11 33 26 39zM112 10c35 0 64 29 64 64s-29 64 -64 64s-64 -29 -64 -64s29 -64 64 -64zM368 181v86h-320v-86h243v47h45v-47h32z" /> <glyph glyph-name="ion-ios-appstore" unicode="" d="M208 400c115 0 208 -93 208 -208s-93 -208 -208 -208s-208 93 -208 208s93 208 208 208zM129 103l18 30c-2 6 -10 12 -20 12h-2c-3 0 -5 -2 -7 -4l-14 -23c-4 -7 -2 -16 5 -20c2 -1 6 -2 8 -2c5 0 9 2 12 7zM249 150c0 0 1 1 1 4c0 5 -1 9 -4 14l-1 1c-3 6 -11 9 -18 9 h-54v0l37 62l16 28l18 30c4 7 2 16 -5 20s-16 2 -20 -5l-9 -16v0l-10 16c-4 7 -13 9 -20 5s-8 -13 -4 -20l17 -30v0l-53 -90v0h-45c-8 0 -15 -6 -15 -14s6 -15 14 -15h29h33zM322 149c8 0 14 7 14 15s-7 14 -15 14h-41v0l-49 82s-4 -1 -8 -9c-6 -11 -5 -25 1 -36l22 -37 l17 -29l27 -46c3 -4 7 -7 12 -7c3 0 6 1 8 2c7 4 9 13 5 20l-19 31v0h26z" /> <glyph glyph-name="ion-ios-build" unicode="" d="M393 317c4 3 9 3 12 -1c8 -12 12 -24 11 -34c-1 -12 -6 -36 -30 -60c-17 -17 -45 -30 -72 -30c-11 0 -22 3 -32 8c-2 1 -6 2 -9 2s-7 -1 -11 -5c-9 -9 -188 -200 -188 -200c-8 -9 -19 -13 -30 -13s-23 5 -31 13c-17 17 -18 45 0 61c0 0 192 181 200 188c7 7 4 15 2 20 c-19 44 3 83 23 104c21 22 48 29 60 30h2c10 0 22 -4 32 -11c4 -3 5 -8 1 -12l-45 -45c-1 -1 -1 -2 -1 -3l8 -47c0 -2 1 -3 3 -3l47 -8c1 0 2 0 3 1zM55 19c5 5 5 14 0 20c-6 5 -14 5 -20 0c-5 -6 -5 -14 0 -20c6 -5 14 -5 20 0z" /> <glyph glyph-name="ion-ios-cellular" unicode="" d="M360 396c36 -34 56 -78 56 -126v0v0v0c0 -48 -20 -93 -56 -127c-3 -2 -5 -3 -9 -3s-7 2 -10 4c-3 3 -4 5 -4 9s1 8 4 10c30 29 47 67 47 107v0c0 41 -17 79 -47 107c-3 3 -4 5 -4 9s1 7 4 10c3 2 6 4 10 4s6 -2 9 -4zM303 351c23 -22 35 -50 35 -81v0v0v0 c0 -31 -12 -59 -35 -81c-2 -2 -6 -4 -9 -4s-7 1 -9 3s-4 6 -4 9s2 7 4 9c18 17 28 40 28 64v0c0 24 -10 47 -28 64c-2 2 -4 6 -4 9s2 6 4 8s6 4 9 4s7 -2 9 -4zM75 377c-30 -28 -47 -66 -47 -107v0c0 -41 17 -79 47 -107c3 -3 4 -6 4 -10s-1 -6 -4 -9c-3 -2 -6 -4 -10 -4 s-6 1 -9 3c-36 34 -56 79 -56 127v0v0c0 48 20 92 56 126c3 2 5 4 9 4v0c4 0 7 -2 10 -4c3 -3 4 -6 4 -10s-1 -7 -4 -9zM131 334c-18 -17 -28 -40 -28 -64v0c0 -24 10 -47 28 -64c2 -2 4 -6 4 -9s-2 -7 -4 -9s-6 -3 -9 -3s-7 2 -9 4c-23 22 -35 50 -35 81v0v0 c0 31 12 59 35 81c2 2 6 4 9 4s7 -2 9 -4s4 -5 4 -8s-2 -7 -4 -9zM208 325c26 0 48 -22 48 -48c0 -22 -14 -40 -34 -46v-233c0 -8 -6 -14 -14 -14s-14 6 -14 14v233c-20 6 -34 24 -34 46c0 26 22 48 48 48z" /> <glyph glyph-name="ion-ios-trophy" unicode="" d="M402 348c8 0 14 -6 14 -14v0c0 -41 -7 -66 -22 -90c-14 -22 -34 -37 -57 -41c-3 0 -5 -2 -6 -5c-6 -15 -20 -35 -51 -52c-20 -11 -37 -19 -52 -22c-4 -1 -6 -3 -6 -7v-81c0 -4 4 -8 8 -8h66c8 0 14 -7 14 -15s-6 -13 -14 -13h-80h-16h-80c-8 0 -14 7 -14 15s6 13 14 13 h66c4 0 8 4 8 8v81c0 4 -2 7 -6 8c-15 3 -32 10 -52 21c-31 17 -45 37 -51 52c-1 3 -3 5 -6 5c-23 4 -42 19 -56 41c-15 24 -23 49 -23 90v0c0 8 6 14 14 14h66v20c0 9 7 16 16 16h224c9 0 16 -7 16 -16v-20h66zM80 237v75c0 4 -4 8 -8 8h-35c-5 0 -8 -4 -8 -9 c2 -27 9 -38 15 -49c7 -14 18 -23 31 -28c3 -1 5 0 5 3zM372 262c6 11 13 22 15 49c0 5 -3 9 -8 9h-35c-4 0 -8 -4 -8 -8v-75c0 -3 2 -4 5 -3c13 5 24 14 31 28z" /> <glyph glyph-name="ion-ios-git-network" unicode="" horiz-adv-x="384" d="M313 416c39 0 71 -32 71 -71c0 -34 -24 -62 -56 -69v-57c0 -3 -2 -6 -4 -7l-117 -60v-44c15 -3 28 -11 38 -23c11 -13 18 -29 18 -46c0 -39 -32 -71 -71 -71s-71 32 -71 71c0 34 24 62 56 69v44l-117 60c-2 1 -4 4 -4 7v57c-15 3 -28 11 -38 23c-11 13 -18 29 -18 46 c0 39 32 71 71 71s70 -32 70 -71c0 -34 -23 -62 -55 -69v-43l106 -55l106 55v43c-15 3 -28 11 -38 23c-11 13 -17 29 -17 46c0 39 31 71 70 71zM30 345c0 -22 19 -41 41 -41s40 19 40 41s-18 41 -40 41s-41 -19 -41 -41zM233 39c0 22 -19 41 -41 41s-41 -19 -41 -41 s19 -41 41 -41s41 19 41 41zM313 304c22 0 41 19 41 41s-19 41 -41 41s-40 -19 -40 -41s18 -41 40 -41z" /> <glyph glyph-name="ion-md-warning" unicode="" horiz-adv-x="448" d="M0 -16l224 416l224 -416h-448zM248 48v48h-48v-48h48zM248 128v96h-48v-96h48z" /> <glyph glyph-name="ion-md-thumbs-up" unicode="" d="M150 0c-21 0 -38 17 -38 38v192c0 11 4 20 11 27l126 127l20 -20c5 -5 9 -12 9 -20l-1 -6l-18 -82h119c21 0 38 -24 38 -45v-38c0 -5 -1 -10 -3 -14l-57 -136c-6 -14 -18 -23 -34 -23h-172zM0 0v224h64v-224h-64z" /> <glyph glyph-name="ion-ios-megaphone" unicode="" d="M42 261c0 -27 14 -54 34 -72c3 -3 0 -8 -4 -7v0c-27 9 -54 30 -61 64c-6 0 -11 7 -11 15s4 14 10 15c6 39 36 70 74 70v0c3 0 5 -4 2 -6c-26 -16 -44 -46 -44 -79zM402 345c9 -23 14 -52 14 -82s-5 -58 -14 -81c-1 -3 -2 -5 -3 -8c-6 -13 -12 -24 -21 -33 c-16 -16 -29 -18 -35 -18s-11 2 -20 5c-38 14 -64 32 -112 32c-26 0 -16 -97 -16 -132s4 -44 -14 -44s-61 16 -68 24s-6 18 -4 36s23 102 25 115s-9 12 -21 22c-27 16 -44 46 -44 80c0 38 22 71 54 85c0 0 -2 0 40 0s111 20 154 46c4 3 12 8 26 8c13 0 24 -5 34 -15 c8 -8 16 -19 22 -32c1 -2 2 -5 3 -8zM376 188c8 18 14 45 14 75s-6 57 -14 75c-6 16 -18 25 -27 25s-18 -9 -24 -25c-8 -18 -13 -45 -13 -75s5 -57 13 -75c6 -16 15 -28 24 -28s21 12 27 28z" /> <glyph glyph-name="ion-md-flash" unicode="" horiz-adv-x="192" d="M0 400h192l-64 -160h64l-128 -256v192h-64v224z" /> <glyph glyph-name="ion-md-expand" unicode="" horiz-adv-x="384" d="M333 51v77h51v-128h-128v51h77zM333 333h-77v51h128v-128h-51v77zM51 333v-77h-51v128h128v-51h-77zM51 51h77v-51h-128v128h51v-77z" /> <glyph glyph-name="ion-md-train" unicode="" horiz-adv-x="352" d="M176 400c97 0 176 -11 176 -88v-208c0 -42 -35 -76 -77 -76l33 -33v-11h-44l-44 44h-83l-44 -44h-49v11l33 33c-42 0 -77 34 -77 76v208c0 77 88 88 176 88zM77 72c18 0 33 14 33 32s-15 33 -33 33s-33 -15 -33 -33s15 -32 33 -32zM154 225v87h-110v-87h110zM198 225h110 v87h-110v-87zM275 72c18 0 33 14 33 32s-15 33 -33 33s-33 -15 -33 -33s15 -32 33 -32z" /> <glyph glyph-name="ion-md-boat" unicode="" horiz-adv-x="448" d="M52 35l-51 139c-2 6 -1 12 1 17s8 8 13 10l38 13v98c0 23 20 43 43 43h64l16 53h96l16 -53h64c23 0 43 -20 43 -43v-98l38 -13c5 -2 11 -5 13 -10s3 -12 1 -17l-51 -139h-1c-34 0 -65 20 -86 43c-21 -23 -51 -43 -85 -43s-64 19 -85 42c-21 -23 -52 -42 -86 -42h-1z M96 312v-84l128 41l128 -41v84h-256zM309 40c0 0 59 -64 107 -64h-21c-30 0 -59 12 -86 26c-53 -28 -117 -28 -170 0c-27 -14 -56 -26 -86 -26h-21c49 0 107 64 107 64c52 -36 118 -36 170 0z" /> <glyph glyph-name="ion-md-planet" unicode="" horiz-adv-x="448" d="M104 297c15 18 32 31 53 41c32 15 69 19 106 10c83 -21 135 -103 119 -186c-1 -3 -1 -7 -2 -10c-5 -20 -11 -37 -23 -53c-2 -3 -6 -6 -8 -9c-6 3 -11 6 -17 9c-35 20 -73 46 -111 75c-48 37 -93 78 -125 114c2 3 6 6 8 9zM386 121c47 -49 70 -82 59 -100 c-6 -10 -23 -11 -47 -5c-25 6 -58 17 -96 35c-34 -19 -76 -25 -117 -15c-86 22 -139 109 -117 195c-51 60 -77 112 -65 132c6 10 24 12 47 3c21 -8 43 -20 66 -35c-10 -7 -14 -11 -14 -11c-23 14 -43 19 -58 23c-2 0 -9 2 -7 -4c2 -4 3 -7 5 -11c8 -14 21 -30 36 -48 c33 -38 79 -80 130 -120c38 -30 78 -56 114 -76c33 -19 63 -33 84 -38c2 -1 4 -1 6 -1c6 -1 1 8 -1 12c-7 12 -14 26 -32 47c0 0 3 6 7 17z" /> <glyph glyph-name="ion-ios-keypad" unicode="" horiz-adv-x="384" d="M331 107c30 0 53 -24 53 -54s-23 -53 -53 -53s-54 23 -54 53s24 54 54 54zM192 107c30 0 53 -24 53 -54s-23 -53 -53 -53s-53 23 -53 53s23 54 53 54zM53 107c30 0 54 -24 54 -54s-24 -53 -54 -53s-53 23 -53 53s23 54 53 54zM331 245c30 0 53 -23 53 -53 s-23 -53 -53 -53s-54 23 -54 53s24 53 54 53zM192 245c30 0 53 -23 53 -53s-23 -53 -53 -53s-53 23 -53 53s23 53 53 53zM53 245c30 0 54 -23 54 -53s-24 -53 -54 -53s-53 23 -53 53s23 53 53 53zM331 384c30 0 53 -23 53 -53s-23 -54 -53 -54s-54 24 -54 54s24 53 54 53z M192 384c30 0 53 -23 53 -53s-23 -54 -53 -54s-53 24 -53 54s23 53 53 53zM53 384c30 0 54 -23 54 -53s-24 -54 -54 -54s-53 24 -53 54s23 53 53 53z" /> <glyph glyph-name="ion-md-contrast" unicode="" d="M208 400c115 0 208 -93 208 -208s-93 -208 -208 -208s-208 93 -208 208s93 208 208 208zM321 79c30 30 47 70 47 113s-17 83 -47 113s-70 47 -113 47v-320c43 0 83 17 113 47z" /> <glyph glyph-name="ion-md-save" unicode="" horiz-adv-x="384" d="M299 384l85 -85v-256c0 -24 -19 -43 -43 -43h-298c-24 0 -43 19 -43 43v298c0 24 19 43 43 43h256zM192 43c35 0 64 29 64 64s-29 64 -64 64s-64 -29 -64 -64s29 -64 64 -64zM256 256v85h-213v-85h213z" /> <glyph glyph-name="ion-md-football" unicode="" d="M208 400c115 0 208 -93 208 -208s-93 -208 -208 -208s-208 93 -208 208s93 208 208 208zM79 210l-44 -38c3 -27 12 -53 27 -76h58l15 29l-17 67zM296 96h57c15 23 25 49 28 76l-44 38l-39 -18l-17 -67zM329 242l19 54c-19 26 -46 46 -76 58l-48 -33v-47l61 -52zM143 354 c-30 -12 -56 -32 -75 -58l19 -54l43 -20l61 52v47zM170 22c11 -2 23 -4 35 -4c13 0 29 2 41 4c1 0 2 1 3 1l19 54l-15 30h-90l-15 -29l20 -56h2z" /> <glyph glyph-name="ion-md-star-half" unicode="" horiz-adv-x="404" d="M404 238l-110 -96l33 -142l-125 75l-125 -75l33 142l-110 96l145 12l57 134l57 -134zM219 103l60 -36l-16 68l-5 19l15 12l53 46l-70 6l-19 2l-8 18l-27 64v-189z" /> <glyph glyph-name="ion-logo-game-controller-b" unicode="" horiz-adv-x="448" d="M103 243c11 0 19 -8 19 -19s-8 -19 -19 -19s-19 8 -19 19s8 19 19 19zM434 199c21 -88 18 -152 -7 -164c-4 -2 -9 -3 -13 -3c-22 0 -45 24 -67 52c-26 32 -33 33 -111 33h-24c-78 0 -84 -1 -110 -33c-23 -28 -46 -52 -68 -52c-4 0 -9 1 -13 3c-25 12 -28 76 -7 164 s43 136 88 149c10 3 18 4 26 4c28 0 47 -15 96 -15s68 15 96 15c8 0 16 -1 26 -4c45 -13 67 -61 88 -149zM103 184c22 0 39 18 39 40s-17 40 -39 40s-39 -18 -39 -40s17 -40 39 -40zM276 204c11 0 20 9 20 20s-9 20 -20 20s-20 -9 -20 -20s9 -20 20 -20zM320 160 c11 0 20 9 20 20s-9 20 -20 20s-20 -9 -20 -20s9 -20 20 -20zM320 248c11 0 20 9 20 20s-9 20 -20 20s-20 -9 -20 -20s9 -20 20 -20zM364 204c11 0 20 9 20 20s-9 20 -20 20s-20 -9 -20 -20s9 -20 20 -20z" /> <glyph glyph-name="ion-ios-woman" unicode="" horiz-adv-x="256" d="M158 -48c-6 0 -12 3 -16 7c-3 3 -7 8 -7 18v120h-14v-120c0 -10 -4 -16 -7 -19c-4 -4 -10 -6 -16 -6s-13 2 -17 6c-3 3 -7 9 -7 19v120h-44l44 170h-6l-25 -90c-4 -13 -13 -18 -21 -18v0c-7 0 -13 3 -17 9c-5 6 -6 15 -4 24l29 104c4 15 21 38 49 39v0h98 c28 -1 45 -26 49 -39v0l29 -105c2 -9 1 -18 -4 -24c-4 -5 -11 -8 -17 -8c-8 0 -17 5 -21 18v0l-24 90h-8l45 -170h-45v-120c0 -10 -4 -15 -7 -18c-4 -4 -10 -7 -16 -7zM128 342c-24 0 -44 20 -44 45s20 45 44 45s44 -20 44 -45s-20 -45 -44 -45z" /> <glyph glyph-name="ion-logo-yen" unicode="" horiz-adv-x="384" d="M384 416l-112 -208h48v-48h-73l-15 -31v-17h88v-48h-88v-96h-80v96h-88v48h88v17l-14 31h-74v48h48l-112 208h80l112 -221l112 221h80z" /> <glyph glyph-name="ion-ios-phone-portrait" unicode="" horiz-adv-x="224" d="M192 416c18 0 32 -15 32 -33v-381c0 -18 -14 -34 -32 -34h-159c-18 0 -33 16 -33 34v381c0 18 15 33 33 33h159zM97 393c-2 0 -4 -2 -4 -4s2 -4 4 -4h30c2 0 4 2 4 4s-2 4 -4 4h-30zM112 -17c10 0 18 7 18 17s-8 18 -18 18s-17 -8 -17 -18s7 -17 17 -17zM206 32 c1 0 2 1 2 2v329c0 1 -1 2 -2 2h-188c-1 0 -2 -1 -2 -2v-329c0 -1 1 -2 2 -2h188z" /> <glyph glyph-name="ion-md-jet" unicode="" horiz-adv-x="448" d="M448 416c0 0 1 -24 -27 -60c-13 -17 -128 -175 -128 -175l4 -169l-39 -44l-55 110l-11 -9v-88l-41 -7l-48 63l-60 -26l26 60l-63 48l7 41h88l9 11l-110 55l44 39l169 -4s159 115 176 128c36 28 59 27 59 27z" /> <glyph glyph-name="ion-ios-cloud-done" unicode="" horiz-adv-x="512" d="M437 218c43 -8 75 -47 75 -92c0 -50 -41 -94 -91 -94h-330c-50 0 -91 44 -91 94c0 41 26 80 66 93c1 39 33 74 72 74c10 0 19 -3 27 -6c27 39 72 65 123 65c77 0 141 -59 149 -134zM362 236c2 2 2 3 0 5l-17 18c-1 1 -2 2 -3 2v0c-1 0 -2 -1 -3 -2l-122 -123l-44 45 c-1 1 -2 1 -3 1s-2 0 -3 -1l-18 -18c-2 -2 -2 -4 0 -6l56 -56c4 -4 8 -5 12 -5c5 0 10 3 12 5v0z" /> <glyph glyph-name="ion-md-pricetag" unicode="" horiz-adv-x="384" d="M352 384l32 -32v-160l-188 -179c-9 -9 -23 -13 -31 -13s-21 5 -29 13l-123 123c-9 9 -13 20 -13 31c0 10 5 21 13 29l181 188h158zM321 281c10 3 19 12 22 22c6 22 -10 41 -31 41c-18 0 -32 -14 -32 -32c0 -21 19 -37 41 -31z" /> <glyph glyph-name="ion-md-text" unicode="" horiz-adv-x="384" d="M344 384c22 0 40 -18 40 -40v-240c0 -22 -18 -40 -40 -40h-280l-64 -64v344c0 22 10 40 32 40h312zM134 206v40h-38v-40h38zM211 206v40h-38v-40h38zM288 206v40h-38v-40h38z" /> <glyph glyph-name="ion-ios-paw" unicode="" d="M276 368c23 -3 38 -36 33 -73c-5 -34 -26 -60 -48 -60h-4c-23 3 -37 36 -32 73c5 34 25 60 47 60h1v0v0v0h3zM273 368v0v0zM394 279c22 -9 29 -45 15 -79c-12 -29 -34 -47 -54 -47c-4 0 -7 1 -11 2c-22 9 -28 44 -14 78c12 29 33 48 53 48v0v0v0c4 0 7 -1 11 -2zM280 153 c24 -37 71 -40 83 -72c2 -6 4 -13 4 -19c0 -26 -20 -46 -46 -46c-32 0 -75 24 -113 24s-81 -24 -113 -24c-26 0 -46 20 -46 46c0 6 1 13 3 19c12 32 60 35 84 72c28 44 40 60 72 60s44 -16 72 -60zM155 235c-22 0 -43 26 -48 60c-5 37 10 70 33 73h4c22 0 43 -26 48 -60 c5 -37 -10 -70 -33 -73h-4zM72 155c-4 -1 -7 -2 -11 -2c-20 0 -42 18 -54 47c-14 34 -7 70 15 79c4 1 7 2 11 2c20 0 42 -19 54 -48c14 -34 7 -69 -15 -78z" /> <glyph glyph-name="ion-md-heart-half" unicode="" d="M302 384c64 0 114 -50 114 -115c0 -80 -71 -144 -178 -242l-30 -27l-30 27c-107 98 -178 162 -178 242c0 65 50 115 114 115c36 0 71 -17 94 -44c23 27 58 44 94 44zM208 42c50 46 107 99 136 135c28 35 40 63 40 92c0 23 -9 44 -24 59s-35 24 -58 24 c-26 0 -53 -13 -70 -33l-24 -29v-248z" /> <glyph glyph-name="ion-ios-images" unicode="" horiz-adv-x="448" d="M230 249l70 -136c2 -3 -1 -7 -5 -7l-161 14c-4 0 -5 4 -3 7l92 123c2 2 5 2 7 -1zM335 184l46 -78c2 -3 -1 -8 -5 -8l-45 4c-2 0 -2 2 -3 3l-26 49c-1 2 0 4 1 6l25 25c2 2 5 2 7 -1zM346 224c-15 0 -27 13 -24 28c2 11 12 19 23 19c15 0 27 -13 24 -28 c-2 -11 -12 -19 -23 -19zM423 319c15 -1 26 -15 25 -30l-26 -296c-1 -15 -14 -26 -29 -25l-298 26c-15 1 -25 14 -24 29l1 17l-16 -1c-15 -1 -28 9 -29 24l-27 297c-1 15 10 28 25 29l297 27c15 1 28 -10 29 -25l6 -67zM56 147l26 3l15 170c1 15 14 26 29 25l202 -18l-5 53 c0 4 -3 6 -7 6l-280 -25c-4 0 -6 -4 -6 -8l18 -200c0 -4 4 -6 8 -6zM418 283c0 4 -2 7 -6 7l-52 5l-30 2l-198 17c-4 0 -7 -2 -7 -6l-14 -156l-3 -44c0 -4 2 -7 6 -7l260 -23l19 -1c4 0 7 2 7 6z" /> <glyph glyph-name="ion-md-arrow-back" unicode="" horiz-adv-x="342" d="M342 213v-42h-260l119 -120l-30 -30l-171 171l171 171l31 -30l-120 -120h260z" /> <glyph glyph-name="ion-md-finger-print" unicode="" horiz-adv-x="384" d="M14 242c-2 0 -5 1 -7 2c-7 4 -9 12 -5 19c18 30 72 101 190 101c51 0 96 -14 133 -41c31 -22 49 -47 57 -59c4 -6 2 -15 -4 -19s-16 -3 -20 3c-15 22 -60 88 -166 88c-104 0 -151 -61 -166 -87c-3 -5 -7 -7 -12 -7zM252 -32h-4c-86 22 -118 108 -119 112v1 c-1 2 -18 62 8 97c12 16 31 24 55 24c23 0 39 -7 50 -22c9 -12 13 -27 17 -41c8 -30 13 -45 44 -47c14 -1 23 7 28 14c14 19 15 50 5 77c-13 35 -60 101 -144 101c-36 0 -69 -12 -95 -34c-22 -18 -39 -44 -47 -70c-15 -49 5 -125 5 -126c2 -7 -2 -15 -10 -17s-15 3 -17 10 c-1 4 -23 86 -5 142c19 61 79 122 169 122c42 0 81 -14 114 -41c25 -21 46 -49 57 -77c14 -36 10 -77 -10 -103c-13 -18 -32 -27 -52 -26c-53 3 -63 40 -70 68s-11 42 -39 42c-15 0 -25 -4 -32 -13c-9 -12 -10 -30 -9 -44s4 -26 5 -28c2 -6 31 -77 99 -94 c8 -2 12 -10 10 -17c-2 -6 -7 -10 -13 -10zM142 -26c-4 0 -8 2 -11 5c-34 36 -54 77 -61 128v0c-4 34 3 81 32 114c22 24 52 37 90 37c45 0 81 -22 103 -62c16 -29 19 -58 19 -59c1 -8 -4 -14 -12 -15s-15 4 -16 12v0s-2 26 -16 50c-17 31 -43 46 -78 46 c-30 0 -54 -9 -70 -27c-23 -26 -27 -66 -24 -92c6 -45 24 -81 54 -113c5 -6 5 -15 -1 -20c-3 -2 -6 -4 -9 -4zM300 14c-30 0 -56 9 -76 26c-41 33 -46 88 -46 90c-1 8 5 14 13 15s14 -5 15 -13c0 -1 4 -45 36 -71c19 -15 43 -22 74 -18c8 1 15 -4 16 -12s-5 -14 -13 -15 c-7 -1 -13 -2 -19 -2zM323 385c5 -2 9 -7 9 -13c0 -8 -6 -13 -14 -13c-3 0 -7 0 -9 2v0v0s-36 27 -117 27s-117 -27 -117 -27v0v0c-2 -2 -5 -2 -8 -2c-8 0 -14 5 -14 13c0 4 1 8 4 11v0h1s0 1 1 1c9 6 51 32 133 32c78 0 119 -23 131 -31z" /> <glyph glyph-name="ion-md-refresh" unicode="" horiz-adv-x="352" d="M176 60c56 0 104 34 123 84h46c-21 -74 -88 -128 -169 -128c-98 0 -176 79 -176 176s79 176 176 176c48 0 92 -20 124 -52l52 52v-154h-154l70 70c-23 24 -56 40 -92 40c-73 0 -132 -59 -132 -132s59 -132 132 -132z" /> <glyph glyph-name="ion-ios-undo" unicode="" horiz-adv-x="448" d="M448 53v-37h-3c-2 0 -3 1 -4 3c-2 6 -8 20 -21 40c-22 33 -59 67 -95 83c-28 12 -53 21 -97 23c-2 0 -4 -2 -4 -4v-81c0 -3 -3 -6 -6 -4l-216 142c-2 2 -2 5 0 7l216 142c3 2 6 0 6 -3v-83c0 -2 2 -4 4 -4c72 -4 123 -24 163 -65c61 -62 57 -139 57 -159z" /> <glyph glyph-name="ion-md-arrow-dropup-circle" unicode="" d="M416 192c0 -115 -93 -208 -208 -208s-208 93 -208 208s93 208 208 208s208 -93 208 -208zM304 160l-96 96l-96 -96h192z" /> <glyph glyph-name="ion-logo-skype" unicode="" horiz-adv-x="384" d="M373 151c7 -14 11 -29 11 -46c0 -58 -47 -105 -106 -105c-18 0 -35 4 -50 12c-11 -2 -22 -3 -34 -3c-101 0 -183 81 -183 181c0 12 2 24 4 36c-9 16 -15 34 -15 53c0 58 47 105 106 105c21 0 41 -6 57 -16c10 2 20 2 31 2c101 0 183 -80 183 -180c0 -13 -1 -27 -4 -39z M288 104c9 12 12 25 12 40c0 12 -2 23 -7 32s-12 16 -21 22s-19 10 -31 14s-26 7 -41 10c-12 3 -20 5 -25 6s-10 4 -15 6s-7 5 -10 8c-2 3 -4 6 -4 10c0 7 3 13 11 18s19 7 32 7c14 0 25 -2 31 -7s11 -12 16 -20c4 -7 8 -11 11 -14c4 -3 9 -5 16 -5c8 0 13 3 18 8s8 11 8 17 c0 7 -2 14 -6 21s-10 14 -18 20s-18 11 -30 15s-27 5 -43 5c-20 0 -38 -2 -53 -8c-16 -6 -28 -15 -36 -25c-8 -11 -12 -22 -12 -36s3 -26 11 -36s19 -17 32 -23c13 -5 29 -10 48 -14c14 -3 26 -5 34 -8c8 -2 14 -6 19 -11c5 -4 7 -10 7 -17c0 -9 -4 -17 -13 -23 s-22 -9 -37 -9c-11 0 -20 2 -27 5s-11 6 -15 11s-8 12 -11 19s-6 11 -10 15s-10 6 -16 6c-8 0 -14 -2 -19 -7s-8 -10 -8 -17c0 -11 4 -22 12 -33s18 -19 30 -26c17 -9 39 -14 65 -14c22 0 42 3 58 10s29 16 37 28z" /> <glyph glyph-name="ion-ios-pizza" unicode="" horiz-adv-x="384" d="M383 338c3 -9 0 -18 -4 -26c-6 -12 -17 -13 -23 -14l-158 -295c-1 -2 -3 -3 -5 -3v0c-2 0 -5 1 -6 3l-158 296c-10 1 -19 8 -22 14c0 1 -2 2 -2 3c-3 6 -7 13 -4 21c2 7 15 14 27 20c28 13 71 27 165 27c91 0 138 -15 165 -27c11 -5 22 -12 25 -19zM117 225 c3 8 2 18 -2 26s-11 13 -20 16c-4 1 -7 2 -11 2h-1c-3 0 -4 -3 -3 -6c8 -14 16 -30 25 -47c1 -3 5 -2 7 0c2 3 4 5 5 9zM233 128l26 48c1 1 0 4 -1 5c-6 7 -15 11 -25 11c-19 0 -34 -15 -34 -33c0 -17 13 -31 30 -33c2 0 3 1 4 2zM268 305c3 2 6 4 8 7s0 6 -3 7 c-16 3 -33 5 -51 6c-3 0 -5 -2 -4 -5s3 -6 5 -9c5 -7 12 -11 21 -12c2 0 3 -1 5 -1c7 0 13 3 19 7z" /> <glyph glyph-name="ion-md-glasses" unicode="" horiz-adv-x="448" d="M448 272v0v0v-48h-11l-5 -22c-16 -65 -40 -90 -95 -90s-97 17 -97 90v22s-2 16 -16 16s-16 -16 -16 -16v-22c0 -73 -40 -90 -96 -90s-80 22 -96 90l-5 22h-11v48h208v0h32v0h208z" /> <glyph glyph-name="ion-ios-contact" unicode="" d="M208 400c115 0 208 -93 208 -208s-93 -208 -208 -208v0v0c-108 0 -196 81 -207 186c-1 7 -1 15 -1 22s0 15 1 22c11 105 99 186 207 186v0v0zM344 74c29 33 44 74 44 118c0 48 -19 93 -53 127s-79 53 -127 53s-93 -19 -127 -53s-53 -79 -53 -127c0 -44 15 -85 44 -118 c21 8 56 21 80 28c2 1 3 0 3 10c0 11 -1 18 -4 24c-4 8 -7 20 -9 31c-4 5 -10 15 -14 33c-3 16 -1 22 1 28v2c1 4 0 23 -3 38c-2 10 1 34 15 52c9 12 27 26 58 28h18c32 -2 49 -16 58 -28c14 -18 17 -42 15 -52c-3 -15 -4 -34 -3 -38c0 0 1 -1 1 -2c2 -6 3 -12 0 -28 c-4 -18 -10 -27 -14 -32c-2 -11 -5 -24 -9 -32c-3 -7 -6 -15 -6 -23c0 -10 0 -10 2 -11c23 -7 60 -19 83 -28z" /> <glyph glyph-name="ion-md-copy" unicode="" horiz-adv-x="336" d="M208 400l128 -128v-200c0 -22 -18 -40 -40 -40h-8v-8c0 -22 -18 -40 -40 -40h-208c-22 0 -40 18 -40 40v288c0 22 18 40 40 40h8v8c0 22 18 40 40 40h120zM208 355v-83h83zM256 24v8h-176c-22 0 -32 10 -32 32v256h-8c-5 0 -8 -4 -8 -8v-288c0 -4 4 -8 8 -8h208 c4 0 8 3 8 8zM304 72v168h-96h-32v32v96h-16h-72c-5 0 -8 -4 -8 -8v-288c0 -4 4 -8 8 -8h208c4 0 8 3 8 8z" /> <glyph glyph-name="ion-ios-people" unicode="" horiz-adv-x="449" d="M318 113c11 -4 45 -22 45 -67h-139h-139c0 45 35 63 46 67s29 5 37 8c6 2 15 4 18 8s3 28 3 28s-7 7 -10 14s-5 28 -5 28s-6 -3 -9 10c-2 11 -6 18 -5 26s5 6 5 6s-5 9 -5 38c0 30 22 59 64 59s65 -29 65 -59c0 -29 -6 -38 -6 -38s5 2 6 -6s-3 -15 -5 -26 c-3 -13 -10 -10 -10 -10s-1 -21 -4 -28s-10 -14 -10 -14s0 -24 3 -28s11 -6 17 -8c8 -3 27 -4 38 -8zM108 162c0 0 -1 -14 1 -16s19 -6 19 -6c12 -2 9 -9 9 -9c-7 -1 -16 0 -25 -5c-15 -8 -30 -22 -32 -30h-80c0 20 15 35 23 38s16 5 25 7c4 1 10 3 12 5s2 17 2 17v0 s-24 -1 -34 8c16 20 7 51 10 77s18 41 46 41v0h1c29 0 44 -15 47 -41s-6 -53 10 -77c-10 -8 -34 -9 -34 -9zM340 162c0 0 -23 1 -33 9c16 24 7 51 10 77s18 41 47 41c0 0 -1 0 0 0v0c28 0 44 -15 47 -41s-6 -57 10 -77c-10 -9 -33 -8 -33 -8v0s-2 -15 0 -17s8 -4 12 -5 c9 -2 18 -4 26 -7s23 -18 23 -38h-80c-2 8 -17 22 -32 30c-9 5 -18 4 -25 5c0 0 -3 7 9 9c0 0 17 4 19 6s0 16 0 16z" /> <glyph glyph-name="ion-md-baseball" unicode="" d="M318 45c5 -6 10 -12 16 -18c-35 -27 -78 -43 -126 -43s-91 16 -126 43c6 6 11 12 16 18l23 -13l16 28l-20 12c5 9 10 17 14 26c1 3 3 7 4 10l25 -6l7 32l-23 5c3 12 5 24 6 37h24v32h-24c-1 12 -3 25 -6 37l23 5l-7 32l-25 -6c-1 3 -3 6 -4 9c-4 9 -9 19 -14 27l20 12 l-16 28l-23 -14c-5 6 -10 13 -16 19c35 27 78 43 126 43s91 -16 126 -43c-6 -6 -11 -13 -16 -19l-23 14l-16 -28l20 -12c-5 -8 -10 -18 -14 -27c-1 -3 -3 -6 -4 -9l-25 6l-7 -32l23 -5c-3 -12 -5 -25 -6 -37h-24v-32h24c1 -13 3 -25 6 -37l-23 -5l7 -32l25 6 c1 -3 3 -7 4 -10c4 -9 9 -18 14 -26l-20 -12l16 -28zM346 322c3 4 6 7 10 11l2 2c36 -37 58 -88 58 -143s-22 -106 -58 -144l-2 2c-4 4 -7 8 -10 12l18 10l-16 28l-21 -12c-5 8 -9 17 -13 26l-1 1l21 5l-7 32l-24 -6c-2 10 -4 20 -5 30h24v32h-24c1 10 3 20 5 30l24 -6l7 32 l-21 5v1c4 9 9 18 14 26l21 -13l16 28zM70 62c-3 -4 -6 -7 -10 -11l-2 -2c-36 37 -58 88 -58 143s22 106 58 144l2 -2c4 -4 7 -8 10 -12l-18 -11l16 -28l21 13c5 -8 9 -17 13 -26l1 -1l-21 -5l7 -32l24 6c2 -10 4 -20 5 -30h-24v-32h24c-1 -10 -3 -20 -5 -30l-24 6l-7 -32 l21 -5v-1c-4 -9 -9 -18 -14 -26l-21 12l-16 -28z" /> <glyph glyph-name="ion-logo-tux" unicode="" horiz-adv-x="384" d="M362 52c7 -4 22 -10 22 -20s-16 -16 -42 -30s-33 -34 -61 -34s-28 18 -39 21s-33 2 -46 2s-35 2 -42 -4c-11 -9 -23 -19 -38 -19s-26 9 -56 16s-60 7 -60 23s11 17 7 31s-7 25 -4 30s10 4 19 5s19 2 22 11c1 5 -2 17 5 25c-4 16 -2 27 10 44c17 23 15 38 24 53 s31 36 36 45c9 16 9 22 8 55c0 0 -2 22 -2 51c0 27 17 59 67 59s68 -31 70 -69c4 -60 0 -68 26 -100c15 -18 37 -43 45 -68s13 -56 12 -66c-1 -6 -1 -9 -3 -11c3 -1 6 -2 8 -5c3 -4 2 -11 0 -26c-1 -8 5 -15 12 -19zM136 -4c1 13 -4 22 -17 44s-28 53 -42 60s-21 5 -22 0 s-2 -20 -3 -23c-3 -6 -11 -11 -16 -12s-19 1 -22 -4s4 -16 4 -24c0 -21 -14 -32 1 -35c14 -2 34 -6 49 -10s31 -11 44 -12c12 -1 23 3 24 16zM254 62c-2 10 -5 28 1 35c4 5 10 6 17 5c0 4 0 8 3 12s11 7 19 7c16 0 24 -11 20 -5c-3 4 -8 10 -13 11c0 0 4 11 2 33 c-4 40 -34 62 -34 62c27 -30 27 -58 27 -72c0 -6 -1 -16 -4 -22c0 0 -6 -1 -12 -3c-11 -4 -8 -3 -7 7c3 29 -7 64 -17 77s-7 19 -15 35s-18 18 -15 34s5 22 -8 25s-23 8 -24 13c0 2 -1 5 0 10s5 13 14 13c8 0 14 -5 14 -13s-4 -13 -5 -14c-2 -2 3 -3 7 -3c3 4 6 10 6 22 c0 15 -10 25 -22 25s-29 -11 -22 -41c-8 6 -15 5 -21 3c0 0 2 15 -2 23c-4 9 -18 16 -24 4s-3 -25 0 -31s4 -6 4 -6c2 1 5 4 5 4s-6 3 -7 11c-1 9 3 14 7 15s10 -2 12 -8s0 -13 0 -13s-8 -8 -12 -11s-12 -7 -12 -11s6 -11 15 -17c11 -7 19 -7 44 3c19 7 16 11 22 13 c4 1 7 -3 5 -6s-6 -2 -22 -9s-21 -8 -29 -11c-6 -2 -11 -5 -26 9c-1 1 10 -16 17 -19s35 11 51 18c3 1 7 -2 3 -6s-29 -25 -48 -28c-11 -2 -21 16 -25 22c-5 8 -7 11 -5 -12s-9 -32 -17 -43s-13 -17 -19 -44s2 -56 -8 -53c-6 2 -14 12 -14 25s-1 17 0 20c1 4 -4 -8 -4 -21 s2 -17 7 -23c3 -4 44 -32 55 -42s12 -21 9 -28s-11 -10 -11 -10s5 -9 9 -18c3 -7 2 -18 2 -22c0 0 10 9 5 25c0 0 11 -10 32 -8c25 2 41 11 53 22c11 10 12 12 12 2c1 -17 -7 -24 -5 -31c4 8 9 11 11 23s1 26 -1 36zM344 15c24 11 31 16 23 22c-17 11 -29 16 -29 32 c0 5 5 15 3 21c-2 4 -7 4 -7 4c-10 -24 -33 -22 -33 -22c-20 0 -26 15 -27 20c-2 0 -10 2 -11 -4s1 -13 5 -37c6 -31 -11 -49 -5 -59s19 -16 34 -8s23 21 47 31z" /> <glyph glyph-name="ion-ios-skip-backward" unicode="" horiz-adv-x="320" d="M79 348v-138l229 140c5 3 12 -1 12 -7v-302c0 -6 -7 -10 -12 -7l-229 140v-138c0 -2 -2 -4 -4 -4h-71c-2 0 -4 2 -4 4v312c0 2 2 4 4 4h71c2 0 4 -2 4 -4z" /> <glyph glyph-name="ion-ios-help-circle-outline" unicode="" d="M208 372c-48 0 -93 -19 -127 -53s-53 -79 -53 -127s19 -93 53 -127s79 -53 127 -53s93 19 127 53s53 79 53 127s-19 93 -53 127s-79 53 -127 53zM208 400v0c115 0 208 -93 208 -208s-93 -208 -208 -208s-208 93 -208 208s93 208 208 208zM209 288c38 0 63 -21 63 -51 c0 -20 -10 -33 -28 -44c-17 -10 -23 -17 -23 -30v-8h-35v8c-2 21 5 33 23 44c17 10 24 17 24 29s-12 22 -27 22s-25 -10 -26 -25h-36c1 32 25 55 65 55zM182 117c0 12 10 20 22 20s21 -8 21 -20s-9 -21 -21 -21s-22 9 -22 21z" /> <glyph glyph-name="ion-logo-wordpress" unicode="" horiz-adv-x="384" d="M195 177l53 -146c0 -1 6 -13 9 -19c-3 -1 -5 -2 -8 -3v0c-10 -3 -21 -6 -32 -7c-8 -1 -17 -2 -25 -2c-17 0 -34 2 -50 6v0c-2 0 -3 2 -5 2l25 73v0zM17 268c6 0 7 -1 15 -1l93 -255c-3 1 -5 2 -8 3c-63 27 -109 87 -116 158c-1 6 -1 13 -1 19c0 25 7 53 17 76zM366 273 c11 -24 18 -52 18 -81c0 -9 -1 -18 -2 -26c-9 -65 -50 -120 -107 -147c-2 -1 -3 -1 -5 -2l22 65l39 113c10 25 13 45 13 62v19v0c-1 18 -10 44 -36 43h-2c-17 0 -29 -14 -29 -30c0 -14 8 -27 17 -41c7 -12 14 -26 14 -47c0 -15 -4 -34 -13 -56l-17 -58l-62 186 c10 0 20 1 20 1c9 1 7 16 -2 15c0 0 -28 -3 -46 -3c-17 0 -45 3 -45 3c-9 1 -10 -15 -1 -15c0 0 9 -1 18 -1l27 -74l-38 -113l-63 187c10 0 20 2 20 2c9 1 8 15 -1 14c0 0 -28 -2 -46 -2h-34c5 9 11 17 17 25c35 44 90 72 150 72c24 0 48 -5 69 -13c34 -13 63 -36 85 -65 c2 -2 3 -5 5 -7c6 -8 11 -17 15 -26z" /> <glyph glyph-name="ion-ios-speedometer" unicode="" horiz-adv-x="448" d="M224 384c124 0 224 -100 224 -224c0 -57 -21 -108 -56 -148l-4 -4c-5 -5 -11 -8 -18 -8s-14 3 -19 8c-32 34 -77 56 -127 56s-95 -22 -127 -56c-5 -5 -12 -8 -19 -8s-13 3 -18 8l-4 4c-35 40 -56 91 -56 148c0 124 100 224 224 224zM210 338v-36c0 -8 6 -14 14 -14 s14 6 14 14v36c0 8 -6 14 -14 14s-14 -6 -14 -14zM82 146c8 0 14 6 14 14s-6 14 -14 14h-36c-8 0 -14 -6 -14 -14s6 -14 14 -14h36zM134 251c5 5 5 14 0 19l-26 26c-5 5 -15 5 -20 0v0c-5 -5 -5 -15 0 -20l26 -25c5 -5 15 -5 20 0v0zM294 216c3 4 2 11 -2 14 c-4 2 -9 2 -12 0l-75 -47c-14 -10 -17 -28 -7 -42s28 -17 42 -7c3 2 5 4 7 7zM334 251l26 25c5 5 5 15 0 20v0c-5 5 -15 5 -20 0l-26 -26c-5 -5 -5 -14 0 -19v0c5 -5 15 -5 20 0zM402 146c8 0 14 6 14 14s-6 14 -14 14h-36c-8 0 -14 -6 -14 -14s6 -14 14 -14h36z" /> <glyph glyph-name="ion-md-albums" unicode="" d="M107 -16c-24 0 -43 20 -43 43v266c0 24 19 43 43 43h266c24 0 43 -19 43 -43v-266c0 -24 -19 -43 -43 -43h-266zM43 400h266c24 0 43 -19 43 -43v-5h-32h-229c-24 0 -43 -19 -43 -43v-229v-32h-5c-24 0 -43 19 -43 43v266c0 24 19 43 43 43z" /> <glyph glyph-name="ion-ios-map" unicode="" horiz-adv-x="384" d="M0 376c0 7 7 11 12 7l70 -51c2 -2 3 -4 3 -7v-316c0 -7 -7 -11 -12 -7l-69 50c-2 2 -4 4 -4 7v317zM105 325c0 3 1 5 3 7l62 36c5 4 12 0 12 -7v-316c0 -3 -1 -5 -3 -7l-62 -37c-5 -4 -12 0 -12 7v317zM372 382c5 4 12 1 12 -6v-317c0 -3 -2 -5 -4 -7l-69 -50 c-5 -4 -12 0 -12 7v316c0 3 1 5 3 7zM202 362c0 7 7 11 12 7l62 -37c2 -2 3 -4 3 -7v-316c0 -7 -7 -11 -12 -7l-62 37c-2 2 -3 4 -3 7v316z" /> <glyph glyph-name="ion-ios-thunderstorm" unicode="" horiz-adv-x="448" d="M342 306c58 0 106 -41 106 -100c0 -58 -41 -110 -113 -110h-84l54 85c2 3 0 7 -3 7h-60l22 74c1 3 -1 6 -4 6h-86c-2 0 -4 -2 -4 -4l-23 -112c-1 -2 1 -5 4 -5h67l-14 -51h-119c-47 0 -85 41 -85 88c0 44 34 84 76 90v4c0 71 58 122 128 122s113 -40 125 -94h13zM175 -11 l29 107h47l-69 -110c-2 -4 -8 -1 -7 3z" /> <glyph glyph-name="ion-ios-heart-half" unicode="" d="M304 392c62 -1 112 -51 112 -113c0 -37 -16 -90 -48 -133c-60 -82 -160 -154 -160 -154s-100 72 -160 154c-32 43 -48 96 -48 133c0 62 50 112 112 113v0v0h1c40 0 75 -21 95 -52c20 31 55 52 95 52h1v0v0zM346 163c29 40 42 87 42 116c0 22 -8 44 -24 60s-38 25 -60 25 v0h-1v0c-14 0 -28 -4 -41 -11c-12 -7 -22 -16 -30 -28l-1 -1c-15 -22 -23 -48 -23 -75v-205c0 -7 8 -10 13 -6c33 27 88 74 125 125z" /> <glyph glyph-name="ion-md-add-circle-outline" unicode="" d="M315 171h-86v-86h-42v86h-86v42h86v86h42v-86h86v-42zM208 358c-44 0 -86 -18 -117 -49s-49 -73 -49 -117s18 -86 49 -117s73 -49 117 -49s86 18 117 49s49 73 49 117s-18 86 -49 117s-73 49 -117 49zM208 400v0c115 0 208 -93 208 -208s-93 -208 -208 -208 s-208 93 -208 208s93 208 208 208z" /> <glyph glyph-name="ion-ios-arrow-dropup-circle" unicode="" d="M208 -16c-115 0 -208 93 -208 208s93 208 208 208s208 -93 208 -208s-93 -208 -208 -208zM208 228l81 -79c8 -8 19 -8 27 0c4 4 6 8 6 13s-2 10 -6 14l-94 94c-8 7 -20 6 -27 -1l-95 -95c-8 -8 -8 -19 0 -27s19 -8 27 0z" /> <glyph glyph-name="ion-ios-rainy" unicode="" d="M386 272c19 -18 30 -42 30 -69c0 -24 -9 -48 -25 -67c-15 -18 -36 -31 -58 -35l-69 -95c-3 -4 -8 -6 -13 -6c-3 0 -6 1 -9 3s-6 6 -6 10s1 7 3 10l55 75h-35l-37 -50c-3 -4 -7 -5 -12 -5c-3 0 -7 0 -9 2c-3 2 -5 6 -6 10s1 8 3 11l24 32h-35l-67 -92c-2 -3 -7 -6 -14 -6 c-2 0 -4 1 -8 3c-3 2 -6 6 -6 10s0 7 2 10l56 75h-35l-37 -50c-3 -4 -8 -5 -13 -5c-3 0 -7 0 -9 2c-3 2 -5 6 -6 10s1 8 3 11v0l24 32c-42 3 -77 41 -77 86c0 21 8 42 22 58c12 14 28 24 46 28c1 31 13 60 36 81s53 33 86 33c31 0 60 -9 81 -26c18 -15 31 -34 37 -58h6 c28 0 53 -10 72 -28z" /> <glyph glyph-name="ion-ios-trash" unicode="" horiz-adv-x="276" d="M15 320h247l-24 -291c0 -16 -13 -29 -29 -29h-141c-16 0 -29 13 -29 29zM77 55h18l-7 233h-18zM147 55v233h-18v-233h18zM199 55l7 233h-18l-7 -233h18zM246 356c18 0 30 -8 30 -26h-276c0 18 12 26 30 26h36l26 23c4 3 9 5 14 5h64c5 0 10 -2 14 -5l26 -23h36z" /> <glyph glyph-name="ion-md-image" unicode="" horiz-adv-x="384" d="M384 43c0 -23 -20 -43 -43 -43h-298c-23 0 -43 20 -43 43v298c0 23 20 43 43 43h298c23 0 43 -20 43 -43v-298zM117 160l-74 -96h298l-96 128l-74 -96z" /> <glyph glyph-name="ion-ios-airplane" unicode="" horiz-adv-x="448" d="M376 224c44 0 72 -14 72 -32s-28 -32 -72 -32h-18l-65 2c-1 0 -2 0 -2 -1l-97 -146c-3 -5 -8 -7 -14 -7h-23c-6 0 -8 6 -6 11l50 143c0 1 -1 2 -2 2l-121 3c-2 0 -5 -1 -7 -3l-38 -46c-3 -4 -7 -6 -12 -6h-17c-3 0 -5 3 -4 6l20 68c2 4 2 8 0 12l-20 69c-1 3 1 5 4 5h17 c5 0 9 -2 12 -6l37 -45c2 -2 4 -3 7 -3l122 2c1 0 2 1 2 2l-50 143c-2 5 0 11 6 11h23c5 0 11 -2 14 -7l97 -146c0 -1 1 -1 2 -1l65 2h18z" /> <glyph glyph-name="ion-md-calendar" unicode="" horiz-adv-x="384" d="M304 176v-96h-96v96h96zM272 384h48v-32h24c22 0 40 -18 40 -40v-272c0 -22 -18 -40 -40 -40h-304c-22 0 -40 18 -40 40v272c0 22 18 40 40 40h24v32h48v-32h160v32zM344 40v212h-304v-212h304z" /> <glyph glyph-name="ion-md-redo" unicode="" horiz-adv-x="448" d="M0 111c30 92 116 157 218 157c58 0 110 -21 150 -56l80 76v-192h-198l80 77c-30 25 -69 41 -112 41c-77 0 -143 -48 -166 -118z" /> <glyph glyph-name="ion-ios-sync" unicode="" horiz-adv-x="480" d="M476 191c5 -5 5 -14 0 -19l-42 -42c-2 -2 -4 -3 -7 -3s-5 1 -7 3l-43 42c-5 5 -5 14 0 19c2 2 6 4 10 4s7 -2 9 -4l19 -18c3 24 0 48 -7 71c-8 27 -24 53 -44 73c-17 17 -36 30 -58 39c-21 9 -43 13 -66 13s-45 -4 -66 -13c-22 -9 -41 -22 -58 -39 c-12 -12 -22 -25 -30 -39c-2 -4 -7 -7 -12 -7c-2 0 -5 0 -7 1c-3 2 -6 5 -7 9s-1 8 1 11c9 16 21 32 34 45c19 20 42 35 68 45c25 10 50 15 77 15c52 0 100 -19 138 -54c46 -42 70 -103 66 -165l13 13c3 3 5 4 9 4s7 -1 10 -4zM413 112c4 -2 6 -4 7 -8s1 -9 -1 -12 c-9 -17 -21 -31 -35 -45c-20 -20 -42 -35 -67 -45c-24 -10 -51 -15 -77 -15s-53 5 -77 15c-25 10 -48 25 -68 45c-24 24 -40 52 -50 83c-8 24 -11 50 -9 76l-13 -13c-3 -3 -5 -4 -9 -4s-7 1 -10 4c-5 5 -5 14 0 19l42 43c2 2 4 3 7 3s5 -1 7 -3l43 -43c5 -5 5 -13 0 -18 l-1 -1c-2 -2 -6 -4 -9 -4s-7 2 -9 4l-19 18c-6 -53 12 -106 50 -144c17 -17 37 -30 59 -39c21 -9 43 -12 66 -12s45 3 66 12c22 9 41 22 58 39c12 12 22 25 30 39c2 4 7 8 12 8c2 0 5 -1 7 -2z" /> <glyph glyph-name="ion-ios-photos" unicode="" horiz-adv-x="480" d="M448 304c18 0 32 -14 32 -32v-240c0 -18 -14 -32 -32 -32h-336c-18 0 -32 14 -32 32v240c0 18 14 32 32 32h336zM84 332c-18 0 -32 -14 -32 -32v-236h-20c-18 0 -32 14 -32 32v256c0 18 14 32 32 32h352c18 0 32 -14 32 -32v-20h-332z" /> <glyph glyph-name="ion-md-locate" unicode="" horiz-adv-x="448" d="M224 272c44 0 80 -36 80 -80s-36 -80 -80 -80s-80 36 -80 80s36 80 80 80zM415 213h33v-42h-33c-10 -89 -81 -160 -170 -170v-33h-42v33c-89 10 -160 81 -170 170h-33v42h33c10 89 81 160 170 170v33h42v-33c89 -10 160 -81 170 -170zM224 43c82 0 149 67 149 149 s-67 149 -149 149s-149 -67 -149 -149s67 -149 149 -149z" /> <glyph glyph-name="ion-logo-game-controller-a" unicode="" horiz-adv-x="448" d="M337 302c61 0 111 -45 111 -109s-50 -111 -111 -111h-226c-61 0 -111 47 -111 111s50 109 111 109h226zM168 181v22c0 3 -2 5 -5 5h-35v35c0 3 -2 5 -5 5h-22c-3 0 -5 -2 -5 -5v-35h-36c-3 0 -4 -2 -4 -5v-21c0 -3 2 -6 5 -6h35v-36c0 -3 2 -4 5 -4h21c3 0 6 2 6 5v35h35 c3 0 5 2 5 5zM288 172c11 0 19 9 19 20s-8 19 -19 19s-20 -8 -20 -19s9 -20 20 -20zM330 131c11 0 20 8 20 19s-9 19 -20 19s-19 -8 -19 -19s8 -19 19 -19zM330 214c11 0 20 10 20 20c0 11 -9 19 -20 19s-19 -8 -19 -19c0 -10 8 -20 19 -20zM373 172c11 0 19 9 19 20 s-8 19 -19 19s-19 -8 -19 -19s8 -20 19 -20z" /> <glyph glyph-name="ion-md-man" unicode="" horiz-adv-x="168" d="M84 341c-21 0 -37 17 -37 38s16 37 37 37s37 -16 37 -37s-16 -38 -37 -38zM121 333c28 0 47 -24 47 -48v-114c0 -22 -32 -22 -32 0v105h-5v-286c0 -28 -41 -31 -43 0v165h-1h-7v-165c-1 -29 -43 -30 -43 0v286h-6v-105c0 -22 -31 -22 -31 0v114c0 24 19 48 47 48h37h37z " /> <glyph glyph-name="ion-ios-call" unicode="" horiz-adv-x="384" d="M373 83c15 -15 12 -18 9 -26c0 0 -5 -12 -13 -24c-10 -15 -18 -23 -30 -29s-35 -12 -95 22c-48 27 -85 53 -125 93v0v0v0v0c-40 39 -66 77 -93 125c-34 60 -27 82 -21 94s13 21 28 31c12 8 24 13 24 13c8 3 11 6 26 -9s37 -49 45 -67c10 -20 10 -28 0 -42 c-8 -12 -17 -20 -14 -34s24 -41 50 -67s52 -46 66 -49s22 5 34 14c14 10 22 10 42 0c17 -8 52 -30 67 -45z" /> <glyph glyph-name="ion-ios-arrow-back" unicode="" horiz-adv-x="192" d="M58 192l127 -127c9 -9 9 -25 0 -34c-5 -5 -11 -7 -17 -7s-12 2 -17 7l-145 145c-9 9 -8 24 1 33l144 144c9 9 25 9 34 0s9 -25 0 -34z" /> <glyph glyph-name="ion-md-barcode" unicode="" horiz-adv-x="480" d="M72 64v256h48v-256h-48zM216 64v256h48v-256h-48zM144 80v224h48v-224h-48zM288 80v224h48v-224h-48zM360 64v256h48v-256h-48zM88 344h-40v-304h40v-48h-88v8v40v304v40v8h88v-48zM392 392h88v-8v-40v-304v-40v-8h-88v48h40v304h-40v48z" /> <glyph glyph-name="ion-logo-freebsd-devil" unicode="" horiz-adv-x="512" d="M503 333c19 -37 8 -81 -20 -108s-60 -33 -60 -33c2 -32 16 -59 -41 -102c-43 -32 2 -90 2 -90c10 -14 23 -19 32 -32h-272s15 14 -7 32c0 0 -20 17 -18 29s6 13 9 15s0 7 0 7l-19 19s-13 -13 -44 -13c-38 0 -65 39 -65 39h46s-6 -8 -7 -13c-1 -4 1 -5 1 -5s11 -6 22 -6 c17 0 33 12 33 12l-24 22l-15 -4l-16 37l39 -10l-1 -15l28 -18s9 9 7 27s-9 26 -9 26s-4 0 -9 -4s-6 -6 -6 -6l-10 44s43 -19 50 -63c3 -20 -6 -35 -6 -35l17 -10s6 5 17 7s23 2 29 -8s5 -12 4 -19s0 -9 6 -11s6 -6 11 -8s15 -6 21 -2s8 11 8 18v16s-9 8 -32 20 s-54 22 -66 40s-12 44 0 57c9 10 23 25 26 35c4 14 4 42 4 42s-10 16 -8 40c2 30 22 84 96 114c0 0 -40 -55 -20 -80c0 0 37 11 77 9c31 -2 56 -12 73 -28s25 -23 47 -17s28 17 28 33c0 19 -16 51 -16 51s36 -7 58 -51zM195 245c14 4 21 -11 21 -11c14 25 30 60 22 64 s-64 -25 -66 -88c0 0 6 31 23 35zM232 230c5 7 34 8 37 -17c4 -35 -24 -57 -24 -57s7 -2 23 2c17 4 43 29 43 70s-21 66 -41 62s-38 -60 -38 -60z" /> <glyph glyph-name="ion-logo-markdown" unicode="" horiz-adv-x="448" d="M416 352c18 0 32 -14 32 -32v-256c0 -18 -14 -32 -32 -32h-384c-18 0 -32 14 -32 32v256c0 18 14 32 32 32h384zM252 96v0v192h-56l-42 -68l-42 68h-56v-192h56v96l42 -54l42 54v-96h56zM336 96v0l70 96h-42v96h-56v-96h-42z" /> <glyph glyph-name="ion-md-arrow-up" unicode="" horiz-adv-x="342" d="M192 21h-42v260l-120 -119l-30 30l171 171l171 -171l-30 -31l-120 120v-260z" /> <glyph glyph-name="ion-ios-backspace" unicode="" d="M347 352c38 0 69 -31 69 -69v-180c0 -38 -31 -71 -69 -71h-165c-45 0 -64 26 -102 64s-72 76 -72 76c-5 6 -8 13 -8 21s3 15 8 21c0 0 43 45 72 74s55 64 102 64h165zM329 139l-52 53l52 53c6 6 6 16 0 22s-16 6 -22 0l-53 -52l-53 52c-6 6 -15 7 -22 0s-6 -16 0 -22 s52 -53 52 -53s-45 -46 -52 -53s-6 -16 0 -22s16 -6 22 0l53 52l53 -52c6 -6 16 -6 22 0s6 16 0 22z" /> <glyph glyph-name="ion-md-hammer" unicode="" horiz-adv-x="448" d="M442 50c8 -6 8 -21 -2 -29l-47 -47c-8 -8 -20 -8 -28 0l-215 268c-14 4 -32 -2 -39 -6l-15 -14l10 -10c2 -2 2 -7 0 -9l-36 -36c-2 -2 -7 -2 -9 0l-59 59c-2 2 -2 6 0 8l37 37c2 2 6 2 8 0l4 -4l20 17s-2 11 5 20s17 21 25 29s36 37 74 56s65 27 97 27v-32 s-30 -18 -48 -32c-17 -14 -26 -72 -26 -72z" /> <glyph glyph-name="ion-md-cloud-done" unicode="" horiz-adv-x="480" d="M387 231c52 -3 93 -46 93 -99c0 -55 -45 -100 -100 -100h-260c-66 0 -120 54 -120 120c0 62 47 113 107 119c25 48 75 81 133 81c73 0 133 -52 147 -121zM197 85l141 141l-30 30l-111 -111l-44 45l-30 -30z" /> <glyph glyph-name="ion-md-business" unicode="" d="M213 299h203v-299h-416v384h213v-85zM85 43v42h-42v-42h42zM85 128v43h-42v-43h42zM85 213v43h-42v-43h42zM85 299v42h-42v-42h42zM170 43v42h-42v-42h42zM170 128v43h-42v-43h42zM170 213v43h-42v-43h42zM170 299v42h-42v-42h42zM373 43v213h-160v-43h43v-42h-43v-43h43 v-43h-43v-42h160zM336 213v-42h-43v42h43zM336 128v-43h-43v43h43z" /> <glyph glyph-name="ion-ios-exit" unicode="" d="M96 312c0 22 18 40 40 40h240c22 0 40 -18 40 -40v-240c0 -22 -18 -40 -40 -40h-240c-22 0 -40 18 -40 40v107h180l-47 -48c-5 -5 -5 -13 0 -18s13 -5 18 0l69 70v0c1 1 2 2 3 4s1 3 1 5c0 3 -2 7 -4 9l-69 70c-5 5 -13 5 -18 0s-5 -13 0 -18l47 -48h-180v107zM13 205h83 v-26h-83c-7 0 -13 6 -13 13s6 13 13 13z" /> <glyph glyph-name="ion-md-send" unicode="" d="M0 0v149l298 43l-298 43v149l416 -192z" /> <glyph glyph-name="ion-ios-ice-cream" unicode="" horiz-adv-x="288" d="M109 42c0 2 1 3 3 2l12 -7c2 -2 2 -5 0 -7l-7 -4c-1 -1 -3 0 -3 1zM175 27c0 -1 -2 -2 -3 -1l-7 4c-2 2 -2 5 0 7l12 7c2 1 4 0 3 -2zM77 206c2 1 3 1 5 0c10 -9 22 -16 36 -19c4 -1 5 -5 2 -7l-37 -23l-7 -4c-1 -1 -3 0 -3 1l-4 12l-9 29c0 1 0 2 1 2c6 2 12 5 16 9z M81 137c1 1 3 1 4 0l39 -24c2 -2 2 -5 0 -7l-28 -16c-1 -1 -3 0 -3 1l-14 45zM146 99l42 -26v0c1 -1 1 -2 0 -3v0l-42 -26c-1 -1 -3 -1 -4 0l-41 26h-1c-1 1 -1 2 0 3v1l42 25c1 1 3 1 4 0zM185 151c2 -2 2 -4 0 -6l-39 -24c-1 -1 -3 -1 -4 0l-38 24c-2 2 -2 4 0 6l38 24 c1 1 3 1 4 0zM206 206c2 1 4 1 6 0c4 -4 11 -7 18 -9l-10 -31l-4 -12c0 -1 -2 -2 -3 -1l-7 4l-37 23c-3 2 -3 6 1 7c14 3 26 10 36 19zM121 6c-1 2 -1 3 1 4l20 13c1 1 3 1 4 0l20 -13c2 -1 3 -2 2 -4l-2 -5s-7 -19 -22 -19c-14 0 -22 19 -22 19zM165 106c-3 2 -3 5 0 7 l39 24c1 1 3 1 4 0h1c1 0 1 -2 1 -3l-15 -44c0 -1 -2 -2 -3 -1zM264 280c3 3 7 3 10 0c8 -7 14 -18 14 -30c0 -22 -18 -40 -40 -40c-11 0 -29 4 -37 12c-2 1 -3 1 -5 0c-15 -13 -36 -20 -62 -20s-47 7 -62 20c-2 1 -3 1 -5 0c-9 -8 -26 -12 -37 -12c-22 0 -40 18 -40 40 c0 13 7 25 17 32c2 1 4 1 5 0c7 -7 15 -11 20 -13c2 -1 3 1 2 3l-4 6c-6 9 -8 19 -6 29c9 54 54 95 110 95s102 -41 111 -94c2 -10 -1 -21 -7 -30l-4 -6c-1 -2 0 -4 2 -3c5 2 12 6 18 11z" /> <glyph glyph-name="ion-md-resize" unicode="" d="M250 400h166v-166l-65 64l-249 -249l64 -65h-166v166l65 -64l249 249z" /> <glyph glyph-name="ion-ios-camera" unicode="" horiz-adv-x="384" d="M134 173c0 32 26 57 58 57s58 -25 58 -57s-26 -57 -58 -57s-58 25 -58 57zM354 288c18 0 30 -13 30 -31v-176c0 -18 -12 -33 -30 -33h-320c-18 0 -34 15 -34 33v176c0 18 16 31 34 31h7v8c0 4 4 8 8 8h26c4 0 8 -4 8 -8v-8h4c4 0 9 2 12 5c28 32 40 43 52 43h85 c12 0 23 -11 51 -43c3 -3 7 -5 12 -5h55zM196 88c44 2 79 37 81 81c2 50 -39 91 -89 89c-44 -2 -79 -37 -81 -81c-2 -50 39 -91 89 -89zM288 230c7 0 13 6 13 13s-6 13 -13 13s-13 -6 -13 -13s6 -13 13 -13z" /> <glyph glyph-name="ion-md-information" unicode="" horiz-adv-x="48" d="M0 76v137h48v-137h-48zM0 260v48h48v-48h-48z" /> <glyph glyph-name="ion-md-bluetooth" unicode="" horiz-adv-x="286" d="M286 288l-97 -96l97 -96l-128 -128h-23v170l-103 -103l-32 32l126 125l-126 125l32 32l103 -103v170h23zM180 330v-84l42 42zM222 96l-42 42v-84z" /> <glyph glyph-name="ion-ios-filing" unicode="" d="M376 384c22 0 40 -18 40 -40v-304c0 -22 -18 -40 -40 -40h-336c-22 0 -40 18 -40 40v304c0 22 18 40 40 40h336zM388 208v132c0 9 -7 16 -16 16h-328c-9 0 -16 -7 -16 -16v-132c0 -9 7 -16 16 -16h87c7 0 13 -5 15 -11c4 -12 14 -21 26 -21h72c12 0 22 9 26 21 c2 6 8 11 15 11h87c9 0 16 7 16 16zM338 292h-260c-8 0 -14 6 -14 14v0c0 8 6 14 14 14h260c8 0 14 -6 14 -14v0c0 -8 -6 -14 -14 -14zM338 228h-260c-8 0 -14 6 -14 14v0c0 8 6 14 14 14h260c8 0 14 -6 14 -14v0c0 -8 -6 -14 -14 -14z" /> <glyph glyph-name="ion-ios-thermometer" unicode="" horiz-adv-x="192" d="M150 143c25 -17 42 -46 42 -79c0 -53 -43 -96 -96 -96s-96 43 -96 96c0 33 17 62 42 79c4 3 7 8 7 13v214c0 26 21 46 47 46s47 -20 47 -46v-214c0 -5 3 -10 7 -13zM96 3c32 0 58 27 58 59c0 25 -16 47 -38 55c-3 1 -6 5 -6 8v143c0 8 -6 14 -14 14v0 c-8 0 -15 -6 -15 -14v-143c0 -3 -2 -7 -5 -8c-22 -8 -38 -30 -38 -55c0 -32 26 -59 58 -59z" /> <glyph glyph-name="ion-logo-ionic" unicode="" d="M208 287c52 0 95 -43 95 -95s-43 -95 -95 -95s-95 43 -95 95s43 95 95 95zM301 322c0 24 19 43 43 43s43 -19 43 -43s-19 -44 -43 -44s-43 20 -43 44zM397 278c12 -27 19 -56 19 -86c0 -115 -93 -208 -208 -208s-208 93 -208 208s93 208 208 208c34 0 65 -8 95 -23l4 -2 l-3 -3c-8 -7 -15 -15 -19 -25l-1 -3l-3 2c-23 11 -48 16 -73 16c-94 0 -170 -76 -170 -170s76 -170 170 -170s170 76 170 170c0 22 -4 44 -13 65l-1 3l2 1c10 4 20 10 27 18l3 3z" /> <glyph glyph-name="ion-ios-gift" unicode="" d="M384 312c18 0 32 -14 32 -32v-20c0 -2 -2 -4 -4 -4h-408c-2 0 -4 2 -4 4v20c0 18 14 32 32 32h84c-12 11 -20 27 -20 44c0 33 28 60 63 60c21 0 38 -9 49 -27c11 18 28 27 49 27c35 0 63 -27 63 -60c0 -17 -8 -33 -20 -44h84zM257 388c-19 0 -34 -16 -34 -64h34 s34 14 34 32s-15 32 -34 32zM159 388c-19 0 -34 -14 -34 -32s15 -32 34 -32h34c0 48 -15 64 -34 64zM16 222c0 4 4 8 8 8h170v-262h-146c-18 0 -32 14 -32 32v222zM392 230c4 0 8 -4 8 -8v-222c0 -18 -14 -32 -32 -32h-146v262h170z" /> <glyph glyph-name="ion-md-help-circle-outline" unicode="" d="M208 358c-44 0 -86 -18 -117 -49s-49 -73 -49 -117s18 -86 49 -117s73 -49 117 -49s86 18 117 49s49 73 49 117s-18 86 -49 117s-73 49 -117 49zM208 400v0c115 0 208 -93 208 -208s-93 -208 -208 -208s-208 93 -208 208s93 208 208 208zM187 67v42h42v-42h-42zM229 130 h-42c0 67 63 62 63 104c0 23 -19 42 -42 42s-42 -20 -42 -42h-41c0 46 37 83 83 83s83 -37 83 -83c0 -52 -62 -58 -62 -104z" /> <glyph glyph-name="ion-ios-battery-full" unicode="" horiz-adv-x="480" d="M380 304c26 0 48 -22 48 -48v-128c0 -26 -22 -48 -48 -48h-332c-26 0 -48 22 -48 48v128c0 26 22 48 48 48h332zM400 128v128c0 11 -9 20 -20 20h-332c-11 0 -20 -9 -20 -20v-128c0 -11 9 -20 20 -20h332c11 0 20 9 20 20zM448 243c16 0 32 -27 32 -51s-16 -51 -32 -51 v102zM368 256c7 0 12 -5 12 -12v-104c0 -7 -5 -12 -12 -12h-308c-7 0 -12 5 -12 12v104c0 7 5 12 12 12h308z" /> <glyph glyph-name="ion-ios-radio-button-off" unicode="" d="M208 372c-48 0 -93 -19 -127 -53s-53 -79 -53 -127s19 -93 53 -127s79 -53 127 -53s93 19 127 53s53 79 53 127s-19 93 -53 127s-79 53 -127 53zM208 400v0c115 0 208 -93 208 -208s-93 -208 -208 -208s-208 93 -208 208s93 208 208 208z" /> <glyph glyph-name="ion-md-play" unicode="" horiz-adv-x="320" d="M0 396l320 -204l-320 -204v408z" /> <glyph glyph-name="ion-md-close" unicode="" horiz-adv-x="298" d="M298 311l-119 -119l119 -119l-30 -30l-119 119l-119 -119l-30 30l119 119l-119 119l30 30l119 -119l119 119z" /> <glyph glyph-name="ion-ios-bookmark" unicode="" horiz-adv-x="256" d="M0 368c0 18 14 32 32 32h192c18 0 32 -14 32 -32v-380c0 -3 -3 -5 -6 -3l-117 92c-3 2 -7 2 -10 0l-117 -92c-3 -2 -6 0 -6 3v380z" /> <glyph glyph-name="ion-md-play-circle" unicode="" d="M208 400c115 0 208 -93 208 -208s-93 -208 -208 -208s-208 93 -208 208s93 208 208 208zM166 98l125 94l-125 94v-188z" /> <glyph glyph-name="ion-md-color-palette" unicode="" horiz-adv-x="384" d="M192 384c106 0 192 -77 192 -171c0 -59 -48 -106 -107 -106h-38c-18 0 -32 -14 -32 -32c0 -9 3 -17 8 -22s9 -12 9 -21c0 -18 -14 -32 -32 -32c-106 0 -192 86 -192 192s86 192 192 192zM75 192c18 0 32 14 32 32s-14 32 -32 32s-32 -14 -32 -32s14 -32 32 -32zM139 277 c18 0 32 14 32 32s-14 32 -32 32s-32 -14 -32 -32s14 -32 32 -32zM245 277c18 0 32 14 32 32s-14 32 -32 32s-32 -14 -32 -32s14 -32 32 -32zM309 192c18 0 32 14 32 32s-14 32 -32 32s-32 -14 -32 -32s14 -32 32 -32z" /> <glyph glyph-name="ion-ios-arrow-dropleft-circle" unicode="" d="M208 400c115 0 208 -93 208 -208s-93 -208 -208 -208s-208 93 -208 208s93 208 208 208zM251 111l-79 81l81 81c8 8 8 19 0 27s-19 8 -27 0l-95 -95c-7 -7 -8 -19 -1 -27l94 -94c4 -4 9 -6 14 -6s9 2 13 6c8 8 8 19 0 27z" /> <glyph glyph-name="ion-md-battery-charging" unicode="" horiz-adv-x="224" d="M194 371c16 0 30 -14 30 -30v-343c0 -16 -13 -30 -30 -30h-164c-16 0 -30 13 -30 30v343c0 16 14 30 30 30h37v45h90v-45h37zM90 13l89 168h-45v123l-89 -168h45v-123z" /> <glyph glyph-name="ion-md-share-alt" unicode="" horiz-adv-x="384" d="M384 200l-160 -147v88c-107 0 -171 -34 -224 -109c21 107 75 214 224 235v85z" /> <glyph glyph-name="ion-logo-xing" unicode="" horiz-adv-x="426" d="M271 144v-1l99 -175h-103c-1 0 -2 0 -2 1l-99 173v2l156 272h104zM179 232v-1l-81 -134c0 -1 0 -1 -1 -1h-97l81 135v1l-59 104h96c1 0 2 0 2 -1z" /> <glyph glyph-name="ion-md-unlock" unicode="" horiz-adv-x="320" d="M280 262c22 0 40 -18 40 -40v-200c0 -22 -18 -40 -40 -40h-240c-22 0 -40 18 -40 40v200c0 22 18 40 40 40h182v40v0c0 34 -28 62 -62 62s-62 -28 -62 -62h-38c0 55 45 100 100 100s100 -45 100 -100v-40h20zM160 80c22 0 40 18 40 40s-18 40 -40 40s-40 -18 -40 -40 s18 -40 40 -40z" /> <glyph glyph-name="ion-logo-apple" unicode="" horiz-adv-x="320" d="M238 294v0c25 0 52 -14 71 -39c-63 -36 -53 -128 11 -153c-9 -20 -13 -28 -24 -46c-16 -25 -37 -56 -65 -56h-1c-24 0 -31 16 -63 16v0c-33 0 -40 -16 -64 -16h-1c-28 0 -48 28 -64 53c-44 69 -48 150 -21 193c19 30 50 48 78 48c29 0 47 -16 71 -16c23 0 38 16 72 16z M230 384v0c3 -23 -6 -46 -18 -62c-13 -17 -35 -30 -56 -30h-1c-4 22 6 44 18 60c14 17 37 31 57 32z" /> <glyph glyph-name="ion-ios-square" unicode="" horiz-adv-x="320" d="M292 32h-264c-15 0 -28 13 -28 28v264c0 15 13 28 28 28h264c15 0 28 -13 28 -28v-264c0 -15 -13 -28 -28 -28z" /> <glyph glyph-name="ion-ios-albums" unicode="" horiz-adv-x="480" d="M445 287c19 0 35 -16 35 -35v-232c0 -19 -16 -35 -35 -35h-410c-19 0 -35 16 -35 35v232c0 19 16 35 35 35h410zM418 315h-356c-8 0 -14 6 -14 14v0c0 8 6 14 14 14h356c8 0 14 -6 14 -14v0c0 -8 -6 -14 -14 -14zM387 371h-294c-7 0 -13 6 -13 13v2c0 7 6 13 13 13h294 c7 0 13 -6 13 -13v-2c0 -7 -6 -13 -13 -13z" /> <glyph glyph-name="ion-md-star" unicode="" horiz-adv-x="404" d="M202 75l-125 -75l33 142l-110 96l145 12l57 134l57 -134l145 -12l-110 -96l33 -142z" /> <glyph glyph-name="ion-md-bookmark" unicode="" horiz-adv-x="288" d="M248 384c22 0 40 -18 40 -40v-344l-144 64l-144 -64v344c0 22 18 40 40 40h208z" /> <glyph glyph-name="ion-md-woman" unicode="" horiz-adv-x="192" d="M30 299c3 12 17 33 42 34h48c24 -1 38 -22 42 -34l29 -104c6 -23 -21 -32 -27 -10l-26 96h-9l46 -169h-43v-127c0 -23 -31 -23 -31 0v127h-10v-127c0 -23 -32 -23 -32 0v127h-42l45 169h-7l-27 -96c-7 -21 -33 -13 -27 10zM133 379c0 -21 -17 -37 -37 -37s-37 16 -37 37 s17 37 37 37s37 -16 37 -37z" /> <glyph glyph-name="ion-ios-construct" unicode="" horiz-adv-x="480" d="M364 384v0v0zM259 390c6 -4 18 -12 10 -12c0 0 -35 6 -60 -15c-18 -16 -30 -31 -31 -53s7 -34 35 -62l5 3c1 1 3 1 4 1c2 0 6 -1 7 -2c0 0 -5 5 14 -14l-50 -47c-18 18 -13 13 -13 13c-2 2 -3 6 -1 10l4 7c-25 25 -39 37 -51 40c-4 1 -8 2 -12 2c-10 0 -17 -3 -21 -7 s-12 -16 -5 -23l12 -12c2 -2 2 -6 0 -8l-33 -35c-1 -1 -3 -1 -4 -1s-3 0 -4 1l-63 64c-2 2 -2 5 0 7l34 34c1 1 3 2 4 2c0 0 16 -8 24 0s0 20 6 29s16 19 23 26s35 34 81 53c16 7 33 9 47 9c15 0 29 -4 38 -10zM446 48c2 -2 2 -6 0 -8l-55 -54c-1 -1 -3 -2 -4 -2s-3 1 -4 2 c0 0 -56 66 -114 127l47 51c61 -58 130 -116 130 -116zM463 323c13 -13 18 -29 17 -41s-6 -36 -30 -60c-17 -17 -45 -30 -72 -30c-11 0 -22 3 -32 8c-2 1 -6 2 -9 2s-7 -1 -11 -5c-2 -2 -9 -10 -21 -22c-3 -4 -7 -8 -11 -12c-8 -8 -17 -17 -26 -27c-4 -4 -7 -8 -11 -12 c-54 -57 -119 -127 -119 -127c-8 -9 -18 -13 -29 -13s-24 5 -32 13c-17 17 -18 45 0 61c0 0 70 65 127 119c4 4 8 7 12 11c10 9 19 18 27 26c4 4 7 8 11 11c13 12 21 20 23 21c7 8 5 15 3 20c-19 44 2 83 22 104c21 22 48 29 60 30h2c12 0 28 -6 39 -17l-53 -53l10 -51 l51 -9zM121 22c5 5 5 14 0 20c-5 5 -13 5 -19 0c-5 -5 -5 -14 0 -20c5 -5 13 -5 19 0z" /> <glyph glyph-name="ion-logo-android" unicode="" horiz-adv-x="352" d="M64 180v76h224v-76v-90c0 -7 -4 -14 -11 -14h-28v-52c0 -13 -11 -24 -24 -24v0h-1c-6 0 -10 2 -14 5c-5 4 -9 11 -9 19v52h-49v-52c0 -13 -11 -24 -24 -24s-24 11 -24 24v52h-29c-7 0 -11 7 -11 14v90zM328 272c13 0 24 -11 24 -24v-96c0 -13 -11 -24 -24 -24 s-24 11 -24 24v96c0 13 11 24 24 24zM24 272c13 0 24 -11 24 -24v-96c0 -13 -11 -24 -24 -24s-24 11 -24 24v96c0 13 11 24 24 24zM231 359c48 -21 56 -72 57 -87h-224c1 15 8 66 56 87l-18 22c0 1 0 1 1 2s3 1 3 1l19 -23c14 5 31 9 51 9s36 -4 50 -9l20 23c0 1 1 0 2 -1 l2 -2zM127 309c8 0 13 6 13 13s-6 14 -13 14c-8 0 -14 -7 -14 -14s7 -13 14 -13zM225 309c7 0 14 6 14 13s-7 14 -14 14c-8 0 -13 -7 -13 -14s6 -13 13 -13z" /> <glyph glyph-name="ion-md-radio-button-on" unicode="" d="M208 296c57 0 104 -47 104 -104s-47 -104 -104 -104s-104 47 -104 104s47 104 104 104zM208 400c114 0 208 -94 208 -208s-94 -208 -208 -208s-208 94 -208 208s94 208 208 208zM208 26c92 0 166 74 166 166s-74 166 -166 166s-166 -74 -166 -166s74 -166 166 -166z" /> <glyph glyph-name="ion-ios-cloud-download" unicode="" horiz-adv-x="512" d="M437 282c43 -8 75 -47 75 -92c0 -50 -41 -94 -91 -94h-152v141c0 7 -6 13 -13 13s-13 -6 -13 -13v-141h-152c-50 0 -91 44 -91 94c0 41 26 80 66 93c1 39 33 74 72 74c10 0 19 -3 27 -6c27 39 72 65 123 65c77 0 141 -59 149 -134zM243 12v84h26v-84l48 47c5 5 13 5 18 0 s5 -13 0 -18l-70 -69v0c-1 -1 -2 -2 -4 -3s-3 -1 -5 -1c-3 0 -7 2 -9 4l-70 69c-5 5 -5 13 0 18s13 5 18 0z" /> <glyph glyph-name="ion-md-heart-dislike" unicode="" d="M4 371l24 25l384 -384l-24 -24l-92 92c-18 -17 -37 -34 -58 -53l-30 -27l-30 27c-107 98 -178 162 -178 242c0 30 11 57 29 77zM416 269c0 -49 -26 -92 -72 -141l-254 254c8 2 16 2 24 2c36 0 71 -17 94 -44c23 27 58 44 94 44c64 0 114 -50 114 -115z" /> <glyph glyph-name="ion-md-leaf" unicode="" horiz-adv-x="320" d="M320 160c0 -119 -81 -140 -128 -143v-49h-64v49c-47 3 -128 24 -128 143c0 167 160 256 160 256s160 -89 160 -256z" /> <glyph glyph-name="ion-md-people" unicode="" horiz-adv-x="448" d="M305 216c-34 0 -61 27 -61 60s27 60 61 60s62 -27 62 -60s-28 -60 -62 -60zM143 216c-34 0 -62 27 -62 60s28 60 62 60s61 -27 61 -60s-27 -60 -61 -60zM143 172c48 0 145 -23 145 -70v-54h-288v54c0 47 95 70 143 70zM305 161c48 0 143 -12 143 -59v-54h-128v54 c0 30 -9 41 -32 58c7 1 11 1 17 1z" /> <glyph glyph-name="ion-ios-thumbs-down" unicode="" horiz-adv-x="384" d="M17 325c2 2 4 5 3 8c0 1 -1 2 -1 3c-3 6 -5 13 -1 23c11 26 45 33 76 37c17 2 36 4 56 4c38 0 81 -4 113 -8c22 -3 34 -7 46 -12c16 -6 31 -12 67 -12c5 0 8 -3 8 -8v-160c0 -4 -4 -8 -8 -8c-6 0 -15 -3 -22 -10c-3 -3 -9 -11 -14 -19c-8 -12 -17 -25 -26 -33 c-2 -2 -6 -5 -10 -9c-17 -15 -49 -43 -57 -60c-5 -11 -9 -30 -12 -42c-4 -15 -3 -23 -6 -27c-5 -6 -16 -8 -28 -8s-20 9 -26 19c-12 21 -13 57 -3 90c5 17 11 28 15 36c3 6 5 11 5 13c-1 5 -4 6 -17 5c-3 0 -11 -1 -21 -3c-25 -4 -63 -10 -81 -11c-26 -2 -36 0 -46 12 c-8 9 -13 24 -8 38c2 6 0 14 -4 18c-5 5 -10 11 -10 23c0 13 3 21 6 26c2 3 3 6 2 10l-1 1c0 1 0 2 -1 3c-5 6 -11 15 -11 29c0 15 9 26 17 32z" /> <glyph glyph-name="ion-md-clipboard" unicode="" horiz-adv-x="384" d="M341 368c23 0 43 -20 43 -43v-314c0 -23 -20 -43 -43 -43h-298c-23 0 -43 20 -43 43v314c0 23 20 43 43 43h87c7 28 32 48 62 48s55 -20 62 -48h87zM192 368c-12 0 -21 -9 -21 -21s9 -22 21 -22s21 10 21 22s-9 21 -21 21zM344 8v320h-40v-72h-224v72h-40v-320h304z" /> <glyph glyph-name="ion-md-images" unicode="" horiz-adv-x="448" d="M426 308c13 -1 23 -12 22 -24l-14 -263c-1 -13 -12 -22 -25 -21l-330 16c-13 1 -23 10 -22 23l2 46l-15 -1c-12 -1 -22 7 -23 18l-21 236c-1 11 7 21 19 22l296 24c12 1 22 -7 23 -18l5 -54zM71 302c1 12 11 22 24 22l219 -11l-2 31h-1v1c-1 5 -5 8 -10 8l-261 -22 c-5 0 -9 -4 -10 -9v0v-1l16 -178l18 25zM405 66l10 199h-1c0 6 -4 10 -10 10l-291 14c-6 0 -11 -4 -12 -9v0l-10 -199l122 131l69 -81l38 34zM352 192c-18 0 -32 14 -32 32s14 32 32 32s32 -14 32 -32s-14 -32 -32 -32z" /> <glyph glyph-name="ion-ios-star-outline" unicode="" horiz-adv-x="448" d="M431 256c9 0 17 -7 17 -16c0 -4 -2 -8 -5 -11l-3 -2l-120 -86l46 -135c2 -7 1 -14 -5 -18c-3 -2 -6 -4 -9 -4s-7 2 -10 4l-118 84l-118 -84c-3 -2 -7 -4 -10 -4s-6 2 -9 4c-6 4 -7 12 -5 18l46 135l-121 85c-5 4 -7 7 -7 11v3c0 9 7 16 16 16v0h148l45 133 c2 6 8 11 15 11s13 -5 15 -11l45 -133h147zM304 164l79 57c3 2 2 7 -2 7h-97v0c-12 0 -23 8 -27 19l-29 89c-1 4 -7 4 -8 0l-30 -89c-4 -11 -14 -19 -26 -19h-99c-4 0 -5 -5 -2 -7l81 -57c10 -7 14 -20 10 -32l-30 -88c-1 -4 3 -6 6 -4l78 55c5 4 10 5 16 5s11 -1 16 -5 l78 -56c3 -2 7 1 6 5l-30 88c-4 12 0 25 10 32z" /> <glyph glyph-name="ion-md-reverse-camera" unicode="" horiz-adv-x="448" d="M408 352c22 0 40 -18 40 -40v-272c0 -22 -18 -40 -40 -40h-368c-22 0 -40 18 -40 40v272c0 22 18 40 40 40h88l32 32h128l32 -32h88zM336 181v0v99l-33 -33c-20 20 -48 33 -79 33c-62 0 -112 -50 -112 -112s50 -112 112 -112c52 0 95 34 108 81h-30 c-12 -32 -42 -53 -78 -53c-46 0 -84 38 -84 84s38 84 84 84c23 0 44 -11 59 -26l-45 -45h98z" /> <glyph glyph-name="ion-md-american-football" unicode="" horiz-adv-x="448" d="M0 192c14 35 36 66 64 91v-182c-28 25 -50 56 -64 91zM448 192c-14 -35 -36 -66 -64 -91v182c28 -25 50 -56 64 -91zM224 343c47 0 91 -14 128 -37v-77v-21v-32v-28v-70c-37 -23 -81 -37 -128 -37s-91 14 -128 37v70v28v32v21v77c37 23 81 37 128 37zM320 208v32h-32v-32 h-48v32h-32v-32h-48v32h-32v-32v-32v-32h32v32h48v-32h32v32h48v-32h32v32v32z" /> <glyph glyph-name="ion-ios-calendar" unicode="" d="M376 352c22 0 40 -18 40 -40v-272c0 -22 -18 -40 -40 -40h-336c-22 0 -40 18 -40 40v272c0 22 18 40 40 40h40v-24c0 -4 4 -8 8 -8h16c4 0 8 4 8 8v24h192v-24c0 -4 4 -8 8 -8h16c4 0 8 4 8 8v24h40zM384 52v180c0 4 -4 8 -8 8h-336c-4 0 -8 -4 -8 -8v-180 c0 -11 9 -20 20 -20h312c11 0 20 9 20 20zM112 376v-24h-32v24c0 4 4 8 8 8h16c4 0 8 -4 8 -8zM336 376v-24h-32v24c0 4 4 8 8 8h16c4 0 8 -4 8 -8z" /> <glyph glyph-name="ion-md-more" unicode="" horiz-adv-x="80" d="M80 312c0 -22 -18 -40 -40 -40s-40 18 -40 40s18 40 40 40s40 -18 40 -40zM80 72c0 -22 -18 -40 -40 -40s-40 18 -40 40s18 40 40 40s40 -18 40 -40zM80 192c0 -22 -18 -40 -40 -40s-40 18 -40 40s18 40 40 40s40 -18 40 -40z" /> <glyph glyph-name="ion-md-eye" unicode="" horiz-adv-x="448" d="M224 343c102 0 188 -62 224 -151c-36 -89 -122 -151 -224 -151s-188 62 -224 151c36 89 122 151 224 151zM224 91c56 0 102 46 102 101s-46 101 -102 101s-102 -46 -102 -101s46 -101 102 -101zM224 252c34 0 61 -27 61 -60s-27 -60 -61 -60s-61 27 -61 60s27 60 61 60z " /> <glyph glyph-name="ion-md-heart-empty" unicode="" d="M302 384c64 0 114 -50 114 -115c0 -80 -71 -144 -178 -242l-30 -27l-30 27c-107 98 -178 162 -178 242c0 65 50 115 114 115c36 0 71 -17 94 -44c23 27 58 44 94 44zM221 55c50 46 94 86 123 122c28 35 40 63 40 92c0 23 -9 44 -24 59s-35 24 -58 24 c-26 0 -53 -12 -70 -32l-24 -30l-24 30c-17 20 -44 32 -70 32c-23 0 -43 -9 -58 -24s-24 -36 -24 -59c0 -29 12 -57 40 -92c29 -36 73 -76 123 -122l4 -4l9 -8l9 8z" /> <glyph glyph-name="ion-md-arrow-round-back" unicode="" horiz-adv-x="352" d="M321 224c17 0 31 -14 31 -32s-14 -32 -31 -32h-214l83 -79c12 -12 12 -34 0 -46s-31 -12 -43 0l-138 134c-6 6 -9 14 -9 23v0c0 9 3 17 9 23l138 134c12 12 31 12 43 0s12 -34 0 -46l-83 -79h214z" /> <glyph glyph-name="ion-md-airplane" unicode="" horiz-adv-x="384" d="M384 112l-160 48v-114l48 -31v-31l-80 16l-80 -16v31l48 31v114l-160 -48v40l160 104v113c0 18 15 31 32 31s32 -13 32 -31v-113l160 -104v-40z" /> <glyph glyph-name="ion-md-fastforward" unicode="" horiz-adv-x="448" d="M448 192l-218 -146v292zM0 338l218 -146l-218 -146v292z" /> <glyph glyph-name="ion-ios-cloud-upload" unicode="" horiz-adv-x="512" d="M437 282c43 -8 75 -47 75 -92c0 -50 -41 -94 -91 -94h-152v142l48 -47c5 -5 13 -5 18 0s5 13 0 18l-70 69c-2 2 -6 4 -9 4c-2 0 -3 0 -5 -1s-3 -2 -4 -3v0l-70 -69c-5 -5 -5 -13 0 -18s13 -5 18 0l48 47v-142h-152c-50 0 -91 44 -91 94c0 41 26 80 66 93 c1 39 33 74 72 74c10 0 19 -3 27 -6c27 39 72 65 123 65c77 0 141 -59 149 -134zM243 -19v115h26v-115c0 -7 -6 -13 -13 -13s-13 6 -13 13z" /> <glyph glyph-name="ion-ios-arrow-dropup" unicode="" d="M100 147c-8 8 -8 19 0 27l95 95c7 7 19 8 27 1l94 -94c4 -4 6 -9 6 -14s-2 -9 -6 -13c-8 -8 -19 -8 -27 0l-81 79l-81 -81c-8 -8 -19 -8 -27 0zM208 -16c-115 0 -208 93 -208 208s93 208 208 208s208 -93 208 -208s-93 -208 -208 -208zM208 16c47 0 91 19 124 52 s52 77 52 124s-19 91 -52 124s-77 52 -124 52s-91 -19 -124 -52s-52 -77 -52 -124s19 -91 52 -124s77 -52 124 -52z" /> <glyph glyph-name="ion-md-pizza" unicode="" horiz-adv-x="384" d="M343 318c11 -4 13 -13 10 -20l-161 -330s-156 320 -161 330s2 17 10 20c43 18 97 28 151 28s105 -9 151 -28zM122 244c19 0 32 14 32 32s-13 32 -32 32s-32 -14 -32 -32s13 -32 32 -32zM192 101c19 0 32 14 32 32s-13 32 -32 32s-32 -14 -32 -32s13 -32 32 -32zM262 224 c19 0 32 14 32 32s-13 32 -32 32s-32 -14 -32 -32s13 -32 32 -32zM373 382c6 -2 11 -6 11 -13l-10 -24c-3 -5 -8 -9 -15 -9c-2 0 -3 1 -7 2c-45 18 -103 30 -160 30s-111 -11 -160 -30c-3 -1 -5 -2 -7 -2c-6 0 -12 4 -15 9l-10 24c0 8 6 12 11 14c53 21 117 33 181 33 s129 -13 181 -34z" /> <glyph glyph-name="ion-ios-code-working" unicode="" horiz-adv-x="384" d="M382 196c1 -1 2 -2 2 -4s-1 -3 -2 -4l-114 -109c-1 -1 -2 -2 -4 -2s-3 1 -4 2l-14 13c-1 1 -2 2 -2 4s1 3 2 4l96 92l-96 92c-1 1 -2 2 -2 4s1 3 2 4l14 13c1 1 3 2 4 2s3 -1 4 -2zM42 192l96 -92c1 -1 2 -2 2 -4s-1 -3 -2 -4l-14 -13c-1 -1 -2 -2 -4 -2c-1 0 -3 1 -4 2 l-114 109c-1 1 -2 2 -2 4s1 3 2 4l114 109c1 1 3 2 4 2s3 -1 4 -2l14 -13c1 -1 2 -2 2 -4s-1 -3 -2 -4zM170 192c0 12 10 22 22 22s22 -10 22 -22s-10 -22 -22 -22s-22 10 -22 22zM106 192c0 12 10 22 22 22s22 -10 22 -22s-10 -22 -22 -22s-22 10 -22 22zM234 192 c0 12 10 22 22 22s22 -10 22 -22s-10 -22 -22 -22s-22 10 -22 22z" /> <glyph glyph-name="ion-logo-designernews" unicode="" horiz-adv-x="448" d="M258 303l1 -53l-64 102zM297 352l151 -118v-202h-248l-200 157v0h63c46 0 77 33 77 82c0 20 -5 37 -15 51l-3 3l37 -29v-107h40l-2 99l64 -99h36v83v80zM98 270c0 -28 -14 -44 -40 -44h-19v89h19c26 0 40 -16 40 -45z" /> <glyph glyph-name="ion-logo-dropbox" unicode="" horiz-adv-x="384" d="M113 371l79 -66l-114 -71l-78 63zM0 172l78 62l114 -70l-79 -66zM192 164l114 70l78 -62l-113 -74zM384 297l-78 -63l-114 71l79 66zM192 150l80 -66l34 22v-25l-114 -68l-114 68v25l34 -22z" /> <glyph glyph-name="ion-ios-arrow-round-forward" unicode="" horiz-adv-x="288" d="M184 284c5 5 13 5 18 0l82 -83c2 -2 4 -6 4 -9c0 -2 0 -3 -1 -5s-2 -3 -3 -4v0l-82 -83c-5 -5 -13 -5 -18 0s-6 13 -1 18l61 61h-231c-7 0 -13 6 -13 13s6 13 13 13h231l-60 61c-5 5 -5 13 0 18z" /> <glyph glyph-name="ion-md-car" unicode="" horiz-adv-x="384" d="M339 331l45 -118v-160c0 -12 -9 -21 -21 -21h-22c-12 0 -21 9 -21 21v11h-256v-11c0 -12 -9 -21 -21 -21h-22c-12 0 -21 9 -21 21v160l45 118c4 13 16 21 30 21h234c14 0 26 -8 30 -21zM75 128c18 0 32 14 32 32s-14 32 -32 32s-32 -14 -32 -32s14 -32 32 -32zM309 128 c18 0 32 14 32 32s-14 32 -32 32s-32 -14 -32 -32s14 -32 32 -32zM43 235h298l-32 85h-234z" /> <glyph glyph-name="ion-ios-swap" unicode="" horiz-adv-x="448" d="M357 182c-5 5 -5 13 0 18l47 48h-225c-7 0 -13 6 -13 13s6 13 13 13h225l-47 48c-5 5 -5 13 0 18s13 5 18 0l69 -70v0c1 -1 2 -2 3 -4s1 -3 1 -5c0 -3 -2 -7 -4 -9l-69 -70c-5 -5 -13 -5 -18 0zM91 44c-5 -5 -13 -5 -18 0l-69 70c-2 2 -4 6 -4 9c0 2 0 3 1 5s2 3 3 4v0 l69 70c5 5 13 5 18 0s5 -13 0 -18l-47 -48h225c7 0 13 -6 13 -13s-6 -13 -13 -13h-225l47 -48c5 -5 5 -13 0 -18z" /> <glyph glyph-name="ion-md-git-commit" unicode="" horiz-adv-x="448" d="M448 224v-64h-100c-14 -55 -64 -96 -124 -96s-109 41 -123 96h-101v64h101c14 55 63 96 123 96s110 -41 124 -96h100zM224 112c44 0 80 36 80 80s-36 80 -80 80s-79 -36 -79 -80s35 -80 79 -80z" /> <glyph glyph-name="ion-md-person-add" unicode="" horiz-adv-x="480" d="M288 192c-53 0 -96 43 -96 96s43 96 96 96s96 -43 96 -96s-43 -96 -96 -96zM288 144c64 0 192 -32 192 -96v-48h-384v48c0 64 128 96 192 96zM96 224h64v-32h-64v-64h-32v64h-64v32h64v64h32v-64z" /> <glyph glyph-name="ion-ios-moon" unicode="" horiz-adv-x="352" d="M321 94c9 0 18 0 26 2c3 1 6 -3 4 -6c-5 -8 -10 -15 -16 -22c-35 -42 -87 -68 -145 -68c-105 0 -190 86 -190 193c0 86 55 159 133 184c12 4 22 6 28 7c3 1 5 -3 3 -6c-4 -7 -10 -17 -13 -24c-11 -24 -18 -50 -18 -78c0 -49 19 -95 53 -129s79 -53 127 -53h8z" /> <glyph glyph-name="ion-ios-business" unicode="" horiz-adv-x="320" d="M50 368c-10 0 -18 8 -18 18v0c0 10 8 18 18 18h220c10 0 18 -8 18 -18v0c0 -10 -8 -18 -18 -18h-220zM302 348c10 0 18 -8 18 -18c0 -9 -7 -17 -16 -18v-300c0 -13 -11 -24 -24 -24h-88c-4 0 -8 4 -8 8v40c0 4 -4 8 -8 8h-32c-4 0 -8 -4 -8 -8v-40c0 -4 -4 -8 -8 -8h-88 c-13 0 -24 11 -24 24v300c-9 1 -16 9 -16 18c0 10 8 18 18 18h284zM96 84v16c0 4 -4 8 -8 8h-16c-4 0 -8 -4 -8 -8v-16c0 -4 4 -8 8 -8h16c4 0 8 4 8 8zM96 148v16c0 4 -4 8 -8 8h-16c-4 0 -8 -4 -8 -8v-16c0 -4 4 -8 8 -8h16c4 0 8 4 8 8zM96 212v16c0 4 -4 8 -8 8h-16 c-4 0 -8 -4 -8 -8v-16c0 -4 4 -8 8 -8h16c4 0 8 4 8 8zM96 276v16c0 4 -4 8 -8 8h-16c-4 0 -8 -4 -8 -8v-16c0 -4 4 -8 8 -8h16c4 0 8 4 8 8zM176 84v16c0 4 -4 8 -8 8h-16c-4 0 -8 -4 -8 -8v-16c0 -4 4 -8 8 -8h16c4 0 8 4 8 8zM176 148v16c0 4 -4 8 -8 8h-16 c-4 0 -8 -4 -8 -8v-16c0 -4 4 -8 8 -8h16c4 0 8 4 8 8zM176 212v16c0 4 -4 8 -8 8h-16c-4 0 -8 -4 -8 -8v-16c0 -4 4 -8 8 -8h16c4 0 8 4 8 8zM176 276v16c0 4 -4 8 -8 8h-16c-4 0 -8 -4 -8 -8v-16c0 -4 4 -8 8 -8h16c4 0 8 4 8 8zM256 84v16c0 4 -4 8 -8 8h-16 c-4 0 -8 -4 -8 -8v-16c0 -4 4 -8 8 -8h16c4 0 8 4 8 8zM256 148v16c0 4 -4 8 -8 8h-16c-4 0 -8 -4 -8 -8v-16c0 -4 4 -8 8 -8h16c4 0 8 4 8 8zM256 212v16c0 4 -4 8 -8 8h-16c-4 0 -8 -4 -8 -8v-16c0 -4 4 -8 8 -8h16c4 0 8 4 8 8zM256 276v16c0 4 -4 8 -8 8h-16 c-4 0 -8 -4 -8 -8v-16c0 -4 4 -8 8 -8h16c4 0 8 4 8 8z" /> <glyph glyph-name="ion-ios-film" unicode="" horiz-adv-x="448" d="M416 368c18 0 32 -14 32 -32v-288c0 -18 -14 -32 -32 -32h-384c-18 0 -32 14 -32 32v288c0 18 14 32 32 32h384zM88 48v48c0 4 -4 8 -8 8h-48c-4 0 -8 -4 -8 -8v-48c0 -4 4 -8 8 -8h48c4 0 8 4 8 8zM88 128v48c0 4 -4 8 -8 8h-48c-4 0 -8 -4 -8 -8v-48c0 -4 4 -8 8 -8h48 c4 0 8 4 8 8zM88 208v48c0 4 -4 8 -8 8h-48c-4 0 -8 -4 -8 -8v-48c0 -4 4 -8 8 -8h48c4 0 8 4 8 8zM88 288v48c0 4 -4 8 -8 8h-48c-4 0 -8 -4 -8 -8v-48c0 -4 4 -8 8 -8h48c4 0 8 4 8 8zM320 180c7 0 12 5 12 12s-5 12 -12 12h-192c-7 0 -12 -5 -12 -12s5 -12 12 -12h192z M424 48v48c0 4 -4 8 -8 8h-48c-4 0 -8 -4 -8 -8v-48c0 -4 4 -8 8 -8h48c4 0 8 4 8 8zM424 128v48c0 4 -4 8 -8 8h-48c-4 0 -8 -4 -8 -8v-48c0 -4 4 -8 8 -8h48c4 0 8 4 8 8zM424 208v48c0 4 -4 8 -8 8h-48c-4 0 -8 -4 -8 -8v-48c0 -4 4 -8 8 -8h48c4 0 8 4 8 8zM424 288v48 c0 4 -4 8 -8 8h-48c-4 0 -8 -4 -8 -8v-48c0 -4 4 -8 8 -8h48c4 0 8 4 8 8z" /> <glyph glyph-name="ion-md-git-pull-request" unicode="" horiz-adv-x="384" d="M352 71c19 -11 32 -31 32 -55c0 -35 -29 -64 -64 -64s-64 29 -64 64c0 24 13 44 32 55v170c0 35 -2 47 -8 54c-5 6 -9 10 -34 10h-22v-65l-96 96l96 96v-61h22c39 0 64 -11 84 -36c18 -23 22 -48 22 -94v-170zM320 -24c22 0 40 18 40 40s-18 40 -40 40s-40 -18 -40 -40 s18 -40 40 -40zM64 400c35 0 64 -29 64 -64c0 -24 -13 -44 -32 -55v-210c19 -11 32 -31 32 -55c0 -35 -29 -64 -64 -64s-64 29 -64 64c0 24 13 44 32 55v210c-19 11 -32 31 -32 55c0 35 29 64 64 64zM64 -24c22 0 40 18 40 40s-18 40 -40 40s-40 -18 -40 -40s18 -40 40 -40z M64 296c22 0 40 18 40 40s-18 40 -40 40s-40 -18 -40 -40s18 -40 40 -40z" /> <glyph glyph-name="ion-ios-arrow-up" unicode="" horiz-adv-x="336" d="M168 230l-127 -127c-9 -9 -25 -9 -34 0c-5 5 -7 11 -7 17s2 12 7 17l145 145c9 9 24 8 33 -1l144 -144c9 -9 9 -25 0 -34s-25 -9 -34 0z" /> <glyph glyph-name="ion-ios-american-football" unicode="" d="M331 315c40 -40 62 -96 73 -148l-171 -171c-52 11 -108 33 -148 73s-62 95 -73 148l171 171c52 -11 108 -33 148 -73zM296 160c5 5 5 13 1 18c-3 3 -7 4 -11 4c-3 0 -6 -2 -8 -4l-19 -19l-16 16l20 19c3 3 5 8 3 13c0 1 -1 1 -1 2c-3 5 -7 8 -13 7c-3 0 -6 -2 -8 -4 l-19 -19l-16 16l20 19c3 3 5 8 3 13c-1 2 -1 5 -3 6v0c-3 3 -8 4 -12 3c-3 0 -5 -2 -7 -4l-19 -19l-16 16l20 19c3 3 5 8 3 13c0 1 -1 1 -1 2c-3 5 -7 8 -13 7c-3 0 -6 -2 -8 -4l-19 -19l-15 15c-5 5 -13 5 -18 0v0c-5 -5 -5 -13 0 -18l15 -15l-19 -19c-3 -3 -6 -8 -4 -13 c0 -1 1 -1 1 -2c3 -5 8 -8 14 -7c3 0 5 2 7 4l20 19l15 -16l-19 -19c-3 -3 -6 -8 -4 -13c0 -1 1 -1 1 -2c3 -5 8 -8 14 -7c3 0 5 2 7 4l19 19l16 -16l-20 -19c-3 -3 -5 -8 -3 -13c0 -1 1 -1 1 -2c3 -5 7 -8 13 -7c3 0 6 2 8 4l19 19l16 -16l-20 -19c-3 -3 -4 -8 -3 -13 c1 -2 1 -3 3 -5v0c3 -3 8 -5 12 -4c3 0 5 2 7 4l19 19l15 -15c5 -5 13 -5 18 0v0c5 5 5 13 0 18l-15 15zM347 -16c-24 0 -54 1 -85 6l148 148c10 -66 5 -125 3 -144c0 -4 -3 -7 -7 -7c-10 -1 -31 -3 -59 -3zM69 400c24 0 54 -1 85 -6l-148 -148c-10 66 -5 125 -3 144 c0 4 3 7 7 7c10 1 31 3 59 3z" /> <glyph glyph-name="ion-ios-unlock" unicode="" horiz-adv-x="320" d="M280 256c22 0 40 -18 40 -40v-192c0 -22 -18 -40 -40 -40h-240c-22 0 -40 18 -40 40v192c0 22 18 40 40 40h24v47c0 53 42 96 95 97s97 -43 97 -96v0v0c0 -8 -6 -14 -14 -14s-14 6 -14 14v0v0c0 18 -7 35 -20 48s-30 20 -48 20s-35 -7 -48 -20s-20 -30 -20 -48v-48h188z M174 131c11 5 18 16 18 29c0 18 -15 33 -34 32c-16 -1 -29 -13 -30 -29c-1 -14 6 -26 18 -32v-69c0 -8 7 -14 15 -14s13 6 13 14v69z" /> <glyph glyph-name="ion-ios-pint" unicode="" horiz-adv-x="232" d="M232 273c0 -91 -36 -94 -36 -169c0 -37 16 -66 16 -92c0 -25 -6 -28 -29 -28h-134c-23 0 -29 3 -29 28c0 26 16 56 16 93c0 75 -36 76 -36 167c0 20 1 82 19 116c4 8 10 12 29 12h136c19 0 25 -4 29 -12c18 -34 19 -95 19 -115zM48 372h-6c-5 -12 -10 -29 -12 -51h172 c-2 22 -7 39 -12 51h-6h-136z" /> <glyph glyph-name="ion-ios-flash-off" unicode="" horiz-adv-x="256" d="M254 5c4 -7 2 -15 -5 -19c-2 -1 -5 -2 -7 -2c-5 0 -9 3 -12 7l-228 388c-4 7 -2 15 5 19s16 2 20 -5zM197 135l-53 89h104c6 0 11 -8 7 -14zM192 411l-51 -182l-42 72l86 113c3 4 8 1 7 -3zM59 249l53 -89h-104c-6 0 -10 8 -6 14zM64 -27l51 182l42 -72l-86 -113 c-3 -4 -8 -1 -7 3z" /> <glyph glyph-name="ion-ios-cog" unicode="" d="M409 206c4 0 7 -4 7 -8v-12c0 -4 -3 -8 -7 -8l-26 -4c-3 -1 -7 -2 -7 -6c0 -3 0 -7 -1 -10s1 -7 4 -9l23 -12c4 -2 5 -6 4 -10l-4 -11c-1 -4 -6 -6 -10 -5l-26 5c-4 1 -6 -1 -8 -4s-3 -6 -5 -9s-1 -6 1 -9l17 -20c3 -3 3 -8 0 -11l-7 -9c-3 -3 -8 -3 -11 -1l-23 13 c-3 2 -6 1 -9 -1c-2 -2 -5 -4 -7 -6c-3 -2 -4 -6 -3 -9l10 -25c2 -4 0 -8 -4 -10l-10 -6c-4 -2 -8 0 -10 3l-17 20c-2 3 -6 4 -9 3s-5 -3 -9 -4c-3 -1 -6 -4 -6 -8l1 -26c0 -4 -3 -7 -7 -8l-12 -2c-4 -1 -8 1 -9 5l-8 25c-1 3 -4 6 -8 6c-2 0 -3 -1 -5 -1s-3 1 -5 1 c-4 0 -7 -3 -8 -6l-8 -25c-1 -4 -5 -6 -9 -5l-12 2c-4 1 -6 4 -6 8v26c0 4 -3 7 -6 8c-4 1 -7 3 -10 4s-6 0 -8 -3l-16 -20c-2 -3 -7 -5 -11 -3l-10 6c-4 2 -5 6 -3 10l9 25c1 3 0 7 -3 9c-2 2 -5 4 -7 6c-3 2 -6 3 -9 1l-23 -13c-3 -2 -8 -2 -11 1l-7 9c-3 3 -3 8 0 11 l18 20c2 3 2 6 0 9s-3 6 -5 9s-5 5 -8 4l-26 -5c-4 -1 -8 1 -9 5l-4 11c-1 4 -1 7 3 9l24 13c3 2 5 6 4 9s-2 6 -2 9c0 4 -3 6 -7 7l-26 4c-4 0 -7 4 -7 8v12c0 4 3 8 7 8l26 4c3 1 7 3 7 7c0 3 1 6 2 9s-1 7 -4 9l-24 13c-4 2 -4 6 -3 10l4 11c1 4 5 6 9 5l26 -5 c4 -1 6 1 8 4s3 5 5 8s2 7 0 10l-18 20c-3 3 -3 7 0 10l7 9c3 3 8 4 11 2l22 -14c3 -2 7 -1 10 1c2 2 5 4 7 6c3 2 4 6 3 9l-10 25c-2 4 0 8 4 10l10 6c4 2 8 1 10 -2l17 -21c3 -3 5 -4 8 -3c2 1 8 3 10 4c3 1 6 4 6 8l-1 26c0 4 3 8 7 9l12 2c4 1 8 -2 9 -6l8 -25 c1 -3 4 -5 8 -5h5h5c4 0 7 2 8 5l8 25c1 4 5 7 9 6l12 -2c4 -1 6 -5 6 -9v-26c0 -4 3 -7 6 -8c4 -1 9 -4 9 -4c4 -1 7 1 9 3l16 21c2 3 7 4 11 2l10 -6c4 -2 5 -6 3 -10l-9 -25c-1 -3 0 -7 3 -9c2 -2 5 -4 7 -6c3 -2 6 -3 9 -1l23 14c3 2 8 1 11 -2l7 -9c3 -3 3 -8 0 -11 l-18 -19c-2 -3 -2 -7 0 -10s3 -5 5 -8s5 -5 8 -4l26 5c4 1 8 -1 9 -5l4 -11c1 -4 1 -8 -3 -10l-24 -13c-3 -2 -5 -6 -4 -9s2 -6 2 -9c0 -4 3 -6 7 -7zM134 91l56 97c1 2 1 6 0 8l-56 97c-5 9 -18 10 -26 3c-27 -26 -44 -63 -44 -104s17 -78 45 -104c8 -7 20 -6 25 3z M348 158c2 10 -6 20 -16 20h-111c-3 0 -6 -2 -7 -4l-56 -97c-5 -9 -1 -20 9 -23c13 -4 27 -6 41 -6c68 0 125 47 140 110zM332 206c10 0 18 10 16 20c-15 63 -72 110 -140 110c-14 0 -28 -2 -41 -6c-10 -3 -14 -14 -9 -23l56 -97c1 -2 4 -4 7 -4h111z" /> <glyph glyph-name="ion-ios-baseball" unicode="" d="M208 374c-2 -1 -5 1 -5 3c-1 8 -2 15 -3 23h8c115 0 208 -93 208 -208v-8v0c-7 1 -15 2 -22 3c-2 0 -4 3 -3 5l3 9c2 5 -1 9 -6 11v0c-5 2 -9 0 -11 -5l-4 -11c-1 -2 -3 -4 -5 -3c-7 2 -15 5 -22 8c-4 2 -8 3 -12 5c-2 1 -3 4 -2 6l6 8c3 4 2 10 -2 13h-1 c-4 3 -9 1 -12 -3l-7 -10c-1 -2 -3 -2 -5 -1c-12 7 -23 16 -33 25c-2 2 -2 3 0 5l8 8c4 3 4 8 0 12l-1 1c-3 4 -8 4 -12 0l-8 -8c-2 -2 -4 -2 -6 0c-9 10 -16 21 -23 32c-1 2 -1 4 1 5l10 7c4 3 6 8 3 12v1c-3 4 -9 5 -13 2l-8 -6c-2 -1 -5 0 -6 2c-2 4 -4 9 -6 14 c-3 7 -5 13 -7 20c-1 2 0 4 2 5l12 4c5 2 7 6 5 11v0c-2 5 -6 8 -11 6zM210 1c1 -5 2 -12 2 -17v0h-4c-115 0 -208 93 -208 208v4v0c6 -1 12 -1 18 -2c2 0 4 -3 3 -5l-4 -13c-2 -5 1 -9 6 -11v0c5 -2 9 1 11 6l5 14c1 2 3 4 5 3c8 -2 15 -5 22 -8c4 -2 9 -4 13 -6 c2 -1 3 -4 2 -6l-8 -11c-3 -4 -1 -9 3 -12v-1c4 -3 9 -1 12 3l9 13c1 2 3 2 5 1c11 -7 22 -15 32 -24c2 -2 3 -3 1 -5l-10 -10c-4 -3 -4 -9 0 -13v0c3 -4 9 -4 13 0l9 10c2 2 4 1 6 -1c9 -10 18 -21 25 -33c1 -2 1 -4 -1 -5l-13 -9c-4 -3 -6 -8 -3 -12h1c3 -4 8 -6 12 -3 l11 8c2 1 5 0 6 -2c2 -4 3 -8 5 -12c3 -8 6 -15 8 -23c1 -2 -1 -4 -3 -5l-13 -4c-5 -2 -8 -7 -6 -12v0c2 -5 6 -8 11 -6l12 4c2 1 5 -1 5 -3zM383 167c1 2 3 3 5 3c9 -2 17 -3 26 -4c-12 -95 -88 -171 -184 -181v1c-1 7 -2 15 -3 22c0 2 1 3 3 4l16 5c5 2 7 6 5 11v1 c-2 5 -6 7 -11 5l-14 -4c-2 -1 -4 1 -5 3c-4 14 -9 27 -15 40c-1 2 -1 4 1 5l13 9c4 3 5 8 2 12v1c-3 4 -9 5 -13 2l-10 -7c-2 -1 -5 -1 -6 1c-8 12 -17 25 -27 36c-2 2 -2 3 0 5l10 11c4 3 4 8 0 12v0c-3 4 -9 4 -13 0l-10 -10c-2 -2 -3 -1 -5 0c-11 10 -23 18 -35 26 c-2 1 -2 4 -1 6l7 10c3 4 1 10 -3 13v0c-4 3 -9 1 -12 -3l-8 -12c-1 -2 -4 -2 -6 -1c-13 7 -26 12 -40 16c-2 1 -4 3 -3 5l4 13c2 5 0 9 -5 11h-1c-5 2 -9 -1 -11 -6l-5 -14c-1 -2 -2 -3 -4 -3c-7 1 -15 2 -23 3h-1c10 96 86 172 181 184c1 -9 2 -19 4 -28c0 -2 -1 -3 -3 -4 l-17 -6c-5 -2 -8 -6 -6 -11v0c2 -5 6 -8 11 -6l16 5c2 1 4 -1 5 -3c4 -14 10 -26 16 -39c1 -2 1 -5 -1 -6l-15 -10c-4 -3 -6 -8 -3 -12h1c3 -4 8 -6 12 -3l13 9c2 1 5 1 6 -1c8 -12 16 -23 26 -34c2 -2 2 -3 0 -5l-13 -13c-4 -3 -4 -9 0 -13v0c3 -4 9 -4 13 0l13 13 c2 2 3 1 5 0c11 -10 23 -19 35 -27c2 -1 2 -3 1 -5l-9 -14c-3 -4 -1 -9 3 -12v-1c4 -3 9 -1 12 3l11 15c1 2 3 3 5 2c13 -6 25 -12 39 -16c2 -1 4 -3 3 -5l-5 -17c-2 -5 1 -9 6 -11v0c5 -2 9 1 11 6z" /> <glyph glyph-name="ion-ios-help" unicode="" horiz-adv-x="128" d="M65 288c38 0 63 -21 63 -51c0 -20 -10 -33 -28 -44c-17 -10 -23 -17 -23 -30v-8h-35v8c-2 21 5 33 23 44c17 10 24 17 24 29s-12 22 -27 22s-25 -10 -26 -25h-36c1 32 25 55 65 55zM38 117c0 12 10 20 22 20s21 -8 21 -20s-9 -21 -21 -21s-22 9 -22 21z" /> <glyph glyph-name="ion-md-square" unicode="" horiz-adv-x="384" d="M341 384c23 0 43 -20 43 -43v-298c0 -23 -20 -43 -43 -43h-298c-23 0 -43 20 -43 43v298c0 23 20 43 43 43h298z" /> <glyph glyph-name="ion-ios-folder-open" unicode="" horiz-adv-x="448" d="M416 329v-41h-384v73c0 13 11 23 25 23h96c8 0 12 -2 17 -7v0l23 -23c2 -2 3 -2 6 -2h194c13 0 23 -10 23 -23zM32 260h384h8c15 0 25 -10 24 -30c-1 -21 -24 -205 -24 -205c-2 -17 -10 -25 -23 -25h-352c-13 0 -22 7 -25 25c0 0 -22 192 -24 211s11 24 24 24h8z" /> <glyph glyph-name="ion-ios-tablet-portrait" unicode="" horiz-adv-x="320" d="M313 409v0c4 -4 7 -11 7 -17v-400c0 -6 -3 -13 -7 -17v0c-4 -4 -11 -7 -17 -7h-272c-6 0 -13 3 -17 7v0c-4 4 -7 11 -7 17v400c0 6 3 13 7 17v0c4 4 11 7 17 7h272c6 0 13 -3 17 -7zM160 399c-4 0 -7 -3 -7 -7s3 -7 7 -7s7 3 7 7s-3 7 -7 7zM160 -22c8 0 14 6 14 14 s-6 14 -14 14s-14 -6 -14 -14s6 -14 14 -14zM304 16v352h-288v-352h288z" /> <glyph glyph-name="ion-ios-arrow-dropright" unicode="" d="M163 300c8 8 19 8 27 0l95 -95c7 -7 8 -19 1 -27l-94 -94c-4 -4 -9 -6 -14 -6s-9 2 -13 6c-8 8 -8 19 0 27l80 81l-82 81c-8 7 -8 19 0 27zM0 192c0 115 93 208 208 208s208 -93 208 -208s-93 -208 -208 -208s-208 93 -208 208zM32 192c0 -47 19 -91 52 -124 s77 -52 124 -52s91 19 124 52s52 77 52 124s-19 91 -52 124s-77 52 -124 52s-91 -19 -124 -52s-52 -77 -52 -124z" /> <glyph glyph-name="ion-ios-image" unicode="" d="M65 136c-4 0 -8 4 -5 8l95 154c2 3 7 3 9 0l96 -154c3 -4 -1 -8 -5 -8h-190zM259 194c-1 2 -1 4 0 6l26 32c2 3 7 3 9 0l62 -88c3 -4 -1 -8 -5 -8h-53c-2 0 -3 0 -4 2zM303 280c-18 -2 -33 13 -31 31c1 13 12 24 25 25c18 2 33 -13 31 -31c-1 -13 -12 -24 -25 -25z M384 400c18 0 32 -14 32 -32v-352c0 -18 -14 -32 -32 -32h-352c-18 0 -32 14 -32 32v352c0 18 14 32 32 32h352zM381 120v0v237c0 4 -4 8 -8 8h-330c-4 0 -8 -4 -8 -8v-237c0 -4 4 -8 8 -8h330c4 0 8 4 8 8z" /> <glyph glyph-name="ion-logo-slack" unicode="" horiz-adv-x="480" d="M218 150l-20 62l64 21l20 -62zM218 150l-20 62l64 21l20 -62zM460 258c50 -165 11 -236 -154 -286s-236 -11 -286 154s-11 236 154 286s236 11 286 -154zM377 151c13 4 19 19 15 32s-18 19 -31 15l-31 -10l-21 62l31 10c13 4 20 19 16 32s-19 19 -32 15l-31 -10l-10 32 c-4 13 -19 20 -32 16s-20 -19 -16 -32l11 -32l-64 -21l-11 32c-4 13 -18 20 -31 16s-20 -19 -16 -32l11 -32l-31 -10c-13 -4 -20 -19 -16 -32c3 -10 13 -17 23 -17c3 0 6 0 9 1l31 11l20 -62l-31 -11c-13 -4 -19 -18 -15 -31c3 -10 13 -17 23 -17c3 0 5 0 8 1l31 11l11 -33 c3 -10 13 -17 23 -17c3 0 5 1 8 2c13 4 20 18 16 31l-11 32l64 22l11 -33c3 -10 13 -16 23 -16c3 0 6 0 9 1c13 4 19 18 15 31l-10 32z" /> <glyph glyph-name="ion-md-trash" unicode="" horiz-adv-x="320" d="M32 43v245h256v-245c0 -23 -20 -43 -43 -43h-170c-23 0 -43 20 -43 43zM320 352v-32h-320v32h80l27 32h106l27 -32h80z" /> <glyph glyph-name="ion-md-rainy" unicode="" horiz-adv-x="448" d="M107 48c0 0 23 -26 23 -41c0 -13 -10 -23 -23 -23s-23 10 -23 23c0 15 23 41 23 41zM185 80c0 0 23 -26 23 -41c0 -13 -10 -23 -23 -23s-23 10 -23 23c0 15 23 41 23 41zM263 48c0 0 23 -26 23 -41c0 -13 -10 -23 -23 -23s-23 10 -23 23c0 15 23 41 23 41zM341 80 c0 0 23 -26 23 -41c0 -13 -10 -23 -23 -23s-23 10 -23 23c0 15 23 41 23 41zM361 287c48 -3 87 -44 87 -93c0 -52 -44 -98 -96 -98h-243c-62 0 -109 54 -109 116c0 55 38 100 91 111c6 1 15 2 21 2c50 0 91 -31 106 -75h33c-6 24 -19 47 -37 65c-25 25 -57 37 -91 40 c25 31 61 45 101 45c68 0 124 -48 137 -113z" /> <glyph glyph-name="ion-ios-skip-forward" unicode="" horiz-adv-x="320" d="M241 348c0 2 2 4 4 4h71c2 0 4 -2 4 -4v-312c0 -2 -2 -4 -4 -4h-71c-2 0 -4 2 -4 4v138l-229 -140c-5 -3 -12 1 -12 7v302c0 6 7 10 12 7l229 -140v138z" /> <glyph glyph-name="ion-md-cloud-outline" unicode="" horiz-adv-x="480" d="M387 231c52 -3 93 -46 93 -99c0 -55 -45 -100 -100 -100h-260c-66 0 -120 54 -120 120c0 62 47 113 107 119c25 48 75 81 133 81c73 0 133 -52 147 -121zM380 72c33 0 60 27 60 60s-27 60 -60 60h-30v10c0 61 -49 110 -110 110c-51 0 -93 -34 -106 -80h-14 c-44 0 -80 -36 -80 -80s36 -80 80 -80h260z" /> <glyph glyph-name="ion-ios-help-buoy" unicode="" d="M208 400c115 0 208 -93 208 -208s-93 -208 -208 -208s-208 93 -208 208s93 208 208 208zM263 364l-6 -89c14 -8 26 -20 34 -34l89 6c-9 27 -24 51 -45 72s-45 36 -72 45zM81 319c-21 -21 -36 -45 -45 -72l89 -6c8 14 20 26 34 34l-6 89c-27 -9 -51 -24 -72 -45zM153 20 l6 89c-14 8 -26 20 -34 34l-89 -6c9 -27 24 -51 45 -72s45 -36 72 -45zM208 124c38 0 68 30 68 68s-30 68 -68 68s-68 -30 -68 -68s30 -68 68 -68zM335 65c21 21 36 46 45 73l-89 6c-8 -14 -20 -27 -34 -35l6 -89c27 9 51 24 72 45z" /> <glyph glyph-name="ion-md-fitness" unicode="" d="M386 132l30 -29l-45 -45l30 -30l-30 -29l-29 29l-45 -44l-30 30l-29 -30l-30 30l74 74l-178 178l-74 -74l-30 30l30 30l-30 29l44 45l-29 30l29 29l30 -29l45 44l30 -30l29 30l30 -30l-74 -74l178 -178l74 74l30 -30z" /> <glyph glyph-name="ion-md-compass" unicode="" horiz-adv-x="448" d="M224 217c13 0 25 -12 25 -25s-12 -25 -25 -25s-25 12 -25 25s12 25 25 25zM224 416c123 0 224 -101 224 -224s-101 -224 -224 -224s-224 101 -224 224s101 224 224 224zM273 143l85 183l-183 -85l-85 -183z" /> <glyph glyph-name="ion-md-bicycle" unicode="" horiz-adv-x="448" d="M299 317c-19 0 -34 14 -34 33s15 34 34 34s33 -15 33 -34s-14 -33 -33 -33zM355 187c51 0 93 -43 93 -94s-42 -93 -93 -93s-94 42 -94 93s43 94 94 94zM355 28c36 0 65 29 65 65s-29 66 -65 66s-66 -30 -66 -66s30 -65 66 -65zM274 224l-30 45l-43 -45l39 -32v-112h-32 v86l-61 38c-9 6 -19 15 -19 27c0 8 3 17 9 23l72 69c6 6 14 9 22 9c11 0 22 -7 28 -16l34 -60h59v-32h-78zM93 187c51 0 94 -43 94 -94s-43 -93 -94 -93s-93 42 -93 93s42 94 93 94zM93 28c36 0 66 29 66 65s-30 66 -66 66s-65 -30 -65 -66s29 -65 65 -65z" /> <glyph glyph-name="ion-md-filing" unicode="" d="M401 240l15 -48v-167c0 -21 -21 -41 -43 -41h-314c-24 0 -59 19 -59 43v165l15 48h26v32l14 48h26v32l15 48h224l15 -48v-32h26l14 -48v-32h26zM128 352v-32h160v32h-160zM87 272v-32h242v32h-242zM369 160v32h-322v-32h83c7 -36 39 -64 78 -64s71 28 78 64h83z" /> <glyph glyph-name="ion-ios-close-circle-outline" unicode="" d="M283 139c6 -6 6 -16 0 -22s-16 -6 -22 0l-53 52l-53 -52c-6 -6 -16 -6 -22 0s-7 15 0 22s52 53 52 53s-46 47 -52 53s-7 15 0 22s16 6 22 0l53 -52l53 52c6 6 16 6 22 0s6 -16 0 -22l-52 -53zM208 372c-48 0 -93 -19 -127 -53s-53 -79 -53 -127s19 -93 53 -127 s79 -53 127 -53s93 19 127 53s53 79 53 127s-19 93 -53 127s-79 53 -127 53zM208 400v0c115 0 208 -93 208 -208s-93 -208 -208 -208s-208 93 -208 208s93 208 208 208z" /> <glyph glyph-name="ion-ios-bed" unicode="" horiz-adv-x="448" d="M426 240c12 0 22 -10 22 -22v-180c0 -12 -10 -22 -22 -22v0c-12 0 -22 10 -22 22v6c0 2 -2 4 -4 4h-352c-2 0 -4 -2 -4 -4v-6c0 -12 -10 -22 -22 -22v0c-12 0 -22 10 -22 22v180c0 12 10 22 22 22v0c12 0 22 -10 22 -22c0 -1 1 -2 2 -2h356c1 0 2 1 2 2c0 12 10 22 22 22 v0zM52 234c-4 0 -8 4 -8 8v94c0 18 14 32 32 32h296c18 0 32 -14 32 -32v-94c0 -4 -4 -8 -8 -8h-22c-2 0 -4 2 -4 4v13c0 9 -7 16 -16 16h-98c-9 0 -16 -7 -16 -16v-13c0 -2 -2 -4 -4 -4h-24c-2 0 -4 2 -4 4v13c0 9 -7 16 -16 16h-98c-9 0 -16 -7 -16 -16v-13 c0 -2 -2 -4 -4 -4h-22z" /> <glyph glyph-name="ion-md-arrow-forward" unicode="" horiz-adv-x="342" d="M0 171v42h260l-119 120l30 30l171 -171l-171 -171l-31 30l120 120h-260z" /> <glyph glyph-name="ion-md-arrow-dropdown" unicode="" horiz-adv-x="256" d="M0 256h256l-128 -128z" /> <glyph glyph-name="ion-ios-musical-note" unicode="" horiz-adv-x="236" d="M226 400c6 1 10 -4 10 -8v-75c0 -8 -6 -13 -13 -15l-93 -19c-4 -1 -6 -4 -6 -8v-230c0 -26 -13 -41 -24 -48c-15 -10 -43 -13 -51 -13c-3 0 -9 0 -14 1c-13 3 -35 17 -35 47c0 37 40 47 64 52c5 1 11 2 14 3c8 2 13 7 16 13c2 4 2 10 2 12v255v0v0c0 4 4 7 8 8 s117 24 122 25z" /> <glyph glyph-name="ion-ios-walk" unicode="" horiz-adv-x="256" d="M73 87v91l46 -47l-9 -52c0 -5 -2 -10 -6 -14l-70 -51c-4 -4 -12 -9 -16 -9c-5 0 -9 3 -13 7s-5 7 -5 12s1 10 5 14zM141 342c-20 3 -34 23 -31 43s23 34 43 31s33 -23 30 -43s-22 -34 -42 -31zM223 -11c1 -10 -6 -19 -16 -21h-2c-9 0 -17 7 -18 16l-15 104c0 2 -1 4 -2 5 l-92 94c-3 3 -5 7 -5 11v76l-32 -17c-3 -1 -4 -4 -4 -7v-58c0 -10 -9 -19 -19 -19s-18 9 -18 19v65c0 13 5 24 15 29l68 32c2 1 5 2 8 2h37c12 0 18 -5 18 -16v-120l57 -68c2 -3 5 -6 5 -10zM250 216c4 -4 6 -10 6 -15s-1 -8 -5 -12c-7 -7 -19 -7 -26 0l-70 70v53z" /> <glyph glyph-name="ion-ios-pricetag" unicode="" d="M387 400c16 0 29 -13 29 -29v-123c0 -4 -1 -7 -4 -10l-246 -246c-11 -11 -30 -11 -41 0l-117 117c-11 11 -11 30 0 41l246 246c3 3 6 4 10 4h123zM340 288c15 2 26 13 28 28c2 20 -16 38 -36 36c-15 -2 -26 -13 -28 -28c-2 -20 16 -38 36 -36z" /> <glyph glyph-name="ion-ios-menu" unicode="" horiz-adv-x="384" d="M368 272h-352c-9 0 -16 7 -16 16v0c0 9 7 16 16 16h352c9 0 16 -7 16 -16v0c0 -9 -7 -16 -16 -16zM368 176h-352c-9 0 -16 7 -16 16v0c0 9 7 16 16 16h352c9 0 16 -7 16 -16v0c0 -9 -7 -16 -16 -16zM368 80h-352c-9 0 -16 7 -16 16v0c0 9 7 16 16 16h352 c9 0 16 -7 16 -16v0c0 -9 -7 -16 -16 -16z" /> <glyph glyph-name="ion-md-cash" unicode="" horiz-adv-x="448" d="M0 352h448v-256h-448v256zM160 128c-20 24 -32 58 -32 96s12 72 32 96h-64c0 -35 -29 -64 -64 -64v-80c27 0 48 -21 48 -48h80zM416 176v80c-35 0 -64 29 -64 64h-64c20 -24 32 -58 32 -96s-12 -72 -32 -96h80c0 27 22 48 48 48zM0 32v32h448v-32h-448z" /> <glyph glyph-name="ion-ios-person-add" unicode="" horiz-adv-x="384" d="M321 62c14 -5 56 -20 63 -52c1 -5 -3 -10 -8 -10h-184h-184c-5 0 -9 5 -8 10c7 32 49 47 63 52c16 6 38 7 52 10c8 2 20 6 24 11c4 4 2 38 2 47c0 1 -1 3 -2 4c-2 4 -7 12 -10 20s-6 25 -7 33c0 2 -2 5 -4 6c-3 2 -6 5 -8 13c-3 16 -9 22 -8 34c0 5 2 7 4 9s3 5 2 8 c-2 8 -6 22 -6 45c-1 41 31 82 90 82c58 0 91 -41 90 -82c0 -23 -4 -37 -6 -45c-1 -3 0 -6 2 -8s4 -4 4 -9c1 -12 -5 -18 -8 -34c-2 -8 -5 -11 -8 -13c-2 -1 -4 -4 -4 -6c-1 -8 -4 -25 -7 -33s-9 -16 -11 -20c-1 -1 -1 -3 -1 -4c0 -9 -2 -43 2 -47c4 -5 16 -9 24 -11 c14 -3 36 -4 52 -10zM373 154c6 0 11 -4 11 -10v0c0 -6 -5 -10 -11 -10h-27v-28c0 -6 -4 -10 -10 -10v0c-6 0 -11 4 -11 10v28h-27c-6 0 -10 4 -10 10v0c0 6 4 10 10 10h27v28c0 6 5 10 11 10v0c6 0 10 -4 10 -10v-28h27z" /> <glyph glyph-name="ion-ios-git-commit" unicode="" horiz-adv-x="448" d="M434 206c8 0 14 -6 14 -14s-6 -14 -14 -14h-77c-3 -32 -17 -62 -41 -84c-25 -24 -58 -36 -92 -36s-67 12 -92 36c-24 22 -38 52 -41 84h-77c-8 0 -14 6 -14 14s6 14 14 14h77c3 32 17 62 41 84c25 24 58 36 92 36s67 -12 92 -36c24 -22 38 -52 41 -84h77zM299 117 c20 20 31 47 31 75s-11 55 -31 75s-47 31 -75 31s-55 -11 -75 -31s-31 -47 -31 -75s11 -55 31 -75s47 -31 75 -31s55 11 75 31z" /> <glyph glyph-name="ion-ios-close-circle" unicode="" d="M208 400c115 0 208 -93 208 -208s-93 -208 -208 -208s-208 93 -208 208s93 208 208 208zM261 117c6 -6 16 -6 22 0s6 16 0 22l-52 53l52 53c6 6 6 16 0 22s-16 6 -22 0l-53 -52l-53 52c-6 6 -16 6 -22 0c-3 -3 -5 -7 -5 -11s2 -8 5 -11l52 -53l-52 -53 c-3 -3 -5 -7 -5 -11s2 -8 5 -11c6 -6 16 -6 22 0l53 52z" /> <glyph glyph-name="ion-ios-close" unicode="" horiz-adv-x="191" d="M118 192l68 -68c6 -6 6 -17 0 -23s-16 -6 -22 0l-68 68l-69 -68c-6 -6 -16 -6 -22 0c-3 3 -5 7 -5 11s2 9 5 12l68 68l-68 68c-3 3 -5 8 -5 12s2 8 5 11c6 6 16 6 22 0l69 -68l68 68c6 6 16 6 22 0s6 -17 0 -23z" /> <glyph glyph-name="ion-md-camera" unicode="" horiz-adv-x="448" d="M161 168c0 35 28 63 63 63s63 -28 63 -63s-28 -63 -63 -63s-63 28 -63 63zM408 352c22 0 40 -18 40 -40v-272c0 -22 -18 -40 -40 -40h-368c-22 0 -40 18 -40 40v272c0 22 18 40 40 40h88l32 32h128l32 -32h88zM224 56c62 0 112 50 112 112s-50 112 -112 112 s-112 -50 -112 -112s50 -112 112 -112z" /> <glyph glyph-name="ion-ios-resize" unicode="" horiz-adv-x="352" d="M338 368c8 0 14 -6 14 -14v-110c0 -8 -6 -14 -14 -14v0c-8 0 -14 6 -14 14v76l-276 -276h76c8 0 14 -6 14 -14v0c0 -8 -6 -14 -14 -14h-110c-8 0 -14 6 -14 14v110c0 8 6 14 14 14v0c8 0 14 -6 14 -14v-76l276 276h-76c-8 0 -14 6 -14 14v0c0 8 6 14 14 14h110z" /> <glyph glyph-name="ion-md-arrow-round-forward" unicode="" horiz-adv-x="352" d="M205 35c-12 -12 -31 -12 -43 0s-12 34 0 46l83 79h-214c-17 0 -31 14 -31 32s14 32 31 32h214l-83 79c-12 12 -12 34 0 46s31 12 43 0l138 -134c6 -6 9 -14 9 -23v0c0 -9 -3 -17 -9 -23z" /> <glyph glyph-name="ion-ios-football" unicode="" d="M208 400c115 0 208 -93 208 -208s-93 -208 -208 -208s-208 93 -208 208s93 208 208 208zM335 319c-20 20 -43 35 -69 44c-1 0 -3 0 -4 -1l-38 -26c-1 -1 -2 -2 -2 -3v-63c0 -1 1 -2 2 -3l56 -48c1 -1 3 -2 4 -1l58 27c1 0 2 1 2 2l14 41c0 1 1 3 0 4c-6 10 -15 19 -23 27 zM261 22l17 43v3l-23 42c-1 1 -1 2 -3 2h-88c-1 0 -2 -1 -3 -2l-23 -42v-3l17 -43c0 -1 1 -3 2 -3c16 -5 33 -7 51 -7c17 0 35 2 51 7c1 0 2 2 2 3zM194 333c0 1 -1 3 -2 3l-38 26c-1 1 -3 0 -4 0c-26 -9 -49 -23 -69 -43c-8 -8 -17 -17 -23 -27c-1 -1 0 -3 0 -4l14 -41 c0 -1 1 -2 2 -2l58 -27c1 -1 3 0 4 1l57 47c1 1 1 3 1 4v63zM30 184c-1 -1 -2 -2 -2 -3c2 -35 15 -68 35 -96c1 -1 2 -1 3 -1l46 -1c2 0 3 1 4 2l23 44v3l-14 57c0 1 -2 3 -3 3l-52 24c-1 1 -3 0 -4 -1zM300 85c1 -1 2 -2 4 -2l46 1c1 0 2 0 3 1c20 28 33 61 35 96 c0 1 -1 2 -2 3l-36 31c-1 1 -3 2 -4 1l-52 -24c-1 0 -3 -2 -3 -3l-14 -57v-3z" /> <glyph glyph-name="ion-ios-headset" unicode="" horiz-adv-x="448" d="M224 324c24 0 47 -10 64 -28s26 -34 26 -60c0 -8 -6 -14 -13 -14s-13 6 -13 14c0 17 -7 33 -19 44s-28 16 -45 16s-33 -5 -45 -16s-19 -27 -19 -44c0 -8 -6 -14 -13 -14s-13 6 -13 14c0 26 9 42 26 60s40 28 64 28zM425 169c15 -15 23 -34 23 -55v-12 c0 -21 -8 -40 -23 -55s-34 -23 -55 -23h-6c-4 0 -7 -1 -10 -4c-2 -2 -6 -4 -10 -4c-8 0 -14 6 -14 14v204c0 28 -11 55 -31 75s-47 31 -75 31s-55 -11 -75 -31s-31 -47 -31 -75v-204c0 -8 -6 -14 -14 -14c-4 0 -8 2 -10 4c-3 3 -6 4 -10 4h-6c-21 0 -40 8 -55 23 s-23 34 -23 55v12c0 21 8 40 23 55s34 23 55 23h8c2 0 4 2 4 4v38c0 36 14 70 39 95s59 39 95 39s70 -14 95 -40c25 -25 39 -58 39 -94v-38c0 -2 2 -4 4 -4h8c21 0 40 -8 55 -23z" /> <glyph glyph-name="ion-md-arrow-dropleft-circle" unicode="" d="M416 192c0 -115 -93 -208 -208 -208s-208 93 -208 208s93 208 208 208s208 -93 208 -208zM144 192l96 -96v192z" /> <glyph glyph-name="ion-ios-analytics" unicode="" d="M208 400c115 0 208 -93 208 -208s-93 -208 -208 -208s-208 93 -208 208s93 208 208 208zM28 192c0 -12 1 -23 3 -34c6 -5 20 -16 37 -13c12 2 28 25 38 41c4 6 8 12 11 16c17 21 34 23 45 21c24 -3 43 -27 52 -49c7 -18 20 -28 33 -29c15 -1 31 10 42 29c1 2 3 5 4 7 c9 17 23 43 51 43c20 0 35 -14 44 -24c-2 45 -21 87 -53 119c-34 34 -79 53 -127 53s-93 -19 -127 -53s-53 -79 -53 -127z" /> <glyph glyph-name="ion-ios-hammer" unicode="" d="M229 201c4 -9 3 -18 -3 -25c-6 -6 -19 -18 -39 -38c-40 -40 -90 -97 -119 -132c-6 -7 -17 -8 -24 -1l-39 39c-7 7 -6 18 1 24c34 29 92 78 132 118l39 39s15 8 23 4c2 -1 5 -2 7 -4l18 -18c2 -2 3 -4 4 -6zM414 230c2 -2 2 -6 0 -8l-56 -55c-1 -1 -3 -2 -4 -2 c-2 0 -3 1 -4 2l-34 34c-2 2 -2 6 0 8l2 2c7 6 6 17 0 24c-1 1 -2 1 -3 2c-4 2 -13 5 -23 5c-4 0 -9 -1 -13 -2c-9 -2 -17 -9 -31 -23c-3 -3 -9 -3 -12 0l-19 20c-3 3 -3 8 0 11c15 17 20 28 19 45c-1 23 -15 40 -31 53c-10 8 -29 10 -45 10c-10 0 -19 0 -23 -1h-3 c-8 0 -3 9 3 14c7 7 29 15 55 15c14 0 30 -2 47 -9c47 -19 75 -46 82 -53s18 -18 24 -27s-2 -22 5 -29c3 -3 8 -5 12 -5s8 1 10 3v0c1 1 3 2 4 2c2 0 3 -1 4 -2z" /> <glyph glyph-name="ion-md-open" unicode="" horiz-adv-x="384" d="M341 43v133h43v-133c0 -23 -20 -43 -43 -43h-298c-23 0 -43 20 -43 43v298c0 23 20 43 43 43h133v-43h-133v-298h298zM224 384h160v-160h-43v87l-215 -215l-30 30l215 215h-87v43z" /> <glyph glyph-name="ion-md-return-left" unicode="" horiz-adv-x="448" d="M401 312h47v-144h-358l85 -86l-33 -34l-142 144l142 144l33 -34l-85 -86h311v96z" /> <glyph glyph-name="ion-md-square-outline" unicode="" horiz-adv-x="384" d="M341 341h-298v-298h298v298zM341 384v0c24 0 43 -19 43 -43v-298c0 -24 -19 -43 -43 -43h-298c-24 0 -43 19 -43 43v298c0 24 19 43 43 43h298z" /> <glyph glyph-name="ion-md-phone-landscape" unicode="" horiz-adv-x="448" d="M448 89c0 -23 -19 -41 -41 -41h-366c-22 0 -41 18 -41 41v206c0 23 19 41 41 41h366c22 0 41 -18 41 -41v-206zM80 84h288v216h-288v-216z" /> <glyph glyph-name="ion-md-stopwatch" unicode="" horiz-adv-x="384" d="M168 141v131h48v-131h-48zM344 278c25 -33 40 -74 40 -118c0 -106 -86 -192 -192 -192s-192 86 -192 192s86 192 192 192c44 0 85 -15 118 -40l31 30l33 -33zM298 54c28 28 44 66 44 106s-16 78 -44 106s-66 44 -106 44s-78 -16 -106 -44s-44 -66 -44 -106 s16 -78 44 -106s66 -44 106 -44s78 16 106 44zM128 368v48h128v-48h-128z" /> <glyph glyph-name="ion-logo-python" unicode="" horiz-adv-x="384" d="M129 199c-29 -5 -49 -30 -49 -57v-43v-3h-15c-29 0 -54 29 -62 69c-2 9 -3 17 -3 27v1c0 53 29 95 65 95h127v16h-96v29c0 26 7 40 46 47c13 2 29 4 45 4s39 -1 55 -4c25 -4 46 -22 46 -47v-57v-31c0 -21 -14 -38 -33 -43c-4 -1 -8 -2 -13 -2h-104h3c-4 0 -8 0 -12 -1z M140 321c10 0 17 7 17 17s-7 18 -17 18s-18 -8 -18 -18s8 -17 18 -17zM380 225c3 -10 4 -21 4 -33c0 -16 -3 -30 -7 -43c-11 -31 -33 -53 -58 -53h-127v-16h96v-26c0 -26 -23 -40 -46 -47c-35 -10 -68 -9 -97 0c-25 7 -49 22 -49 47v54v33c0 21 14 36 33 41c4 1 8 2 13 2 h104c3 0 6 1 9 1c27 4 49 28 49 62v38v3h15c28 0 52 -26 61 -63zM244 65c-10 0 -18 -7 -18 -17s8 -18 18 -18s17 8 17 18s-7 17 -17 17z" /> <glyph glyph-name="ion-logo-hackernews" unicode="" horiz-adv-x="384" d="M0 384h384v-384h-384v384zM214 169l64 120h-45l-38 -84l-40 84h-47l66 -120v-72h40v72z" /> <glyph glyph-name="ion-md-cut" unicode="" horiz-adv-x="448" d="M171 290l277 -277v-23h-67l-157 157l-53 -53c5 -11 8 -23 8 -36c0 -50 -39 -90 -89 -90s-90 40 -90 90s40 89 90 89c13 0 25 -3 36 -8l53 53l-53 53c-11 -5 -23 -8 -36 -8c-50 0 -90 39 -90 89s40 90 90 90s89 -40 89 -90c0 -13 -3 -25 -8 -36zM90 282c25 0 44 19 44 44 s-19 45 -44 45s-45 -20 -45 -45s20 -44 45 -44zM90 13c25 0 44 20 44 45s-19 44 -44 44s-45 -19 -45 -44s20 -45 45 -45zM224 181c6 0 11 5 11 11s-5 11 -11 11s-11 -5 -11 -11s5 -11 11 -11zM381 394h67v-23l-157 -157l-45 45z" /> <glyph glyph-name="ion-md-photos" unicode="" d="M352 27c0 -24 -20 -43 -43 -43h-266c-24 0 -43 19 -43 43v266c0 24 19 43 43 43h266c24 0 43 -19 43 -43v-266zM109 144l-66 -96h266l-88 128l-66 -96zM373 400c24 0 43 -19 43 -43v-266c0 -24 -19 -43 -43 -43h-5v32v229c0 24 -19 43 -43 43h-229h-32v5 c0 24 19 43 43 43h266z" /> <glyph glyph-name="ion-ios-locate" unicode="" horiz-adv-x="415" d="M347 189c0 1 -1 2 -1 3s1 2 1 3c0 -1 -1 -1 -1 -2s1 -3 1 -4zM411 178c2 0 4 -2 4 -4c-9 -100 -89 -180 -189 -189c-2 0 -5 2 -5 4v50c0 8 -5 14 -13 14s-15 -6 -15 -14v-50c0 -2 -2 -4 -4 -4c-100 9 -180 89 -189 189c0 2 2 4 4 4h50c8 0 14 5 14 13s-6 15 -14 15h-50 c-2 0 -4 2 -4 4c9 100 89 180 189 189c2 0 4 -2 4 -4v-50c0 -8 6 -14 14 -14s14 6 14 14v50c0 2 3 4 5 4c100 -9 180 -89 189 -189c0 -2 -2 -4 -4 -4h-50c-7 0 -13 -5 -14 -11c0 -1 -1 -2 -1 -3s1 -2 1 -3c1 -6 6 -11 13 -11h51zM207 122c39 0 70 31 70 70s-31 70 -70 70 s-70 -31 -70 -70s31 -70 70 -70z" /> <glyph glyph-name="ion-md-mic-off" unicode="" horiz-adv-x="408" d="M316 93l58 -58l-58 58l58 -58l34 -33l-24 -24l-95 95c-19 -11 -40 -20 -62 -23v-82h-46v82c-75 10 -137 76 -137 153h39c0 -68 58 -117 121 -117c20 0 40 5 57 14l-32 33c-8 -3 -16 -5 -25 -5c-38 0 -69 31 -69 69v29l-135 134l24 24l111 -110v0l140 -140l5 -5l9 -9z M273 197c0 -4 0 -8 -1 -12l-137 137v25c0 38 31 69 69 69s69 -31 69 -69v-150zM365 203c0 -31 -10 -60 -27 -84l-27 28c9 17 15 36 15 56h39zM408 2v0l-34 33z" /> <glyph glyph-name="ion-md-cloudy" unicode="" horiz-adv-x="448" d="M91 265h2h-2zM361 229c48 -3 87 -44 87 -93c0 -52 -41 -94 -93 -94h-243c-62 0 -112 50 -112 112c0 55 38 100 91 111c6 1 15 2 21 2c50 0 91 -31 106 -75h33c-6 24 -19 47 -37 65c-25 25 -57 37 -91 40c25 31 61 45 101 45c68 0 124 -48 137 -113z" /> <glyph glyph-name="ion-ios-podium" unicode="" horiz-adv-x="384" d="M0 248c0 4 4 8 8 8h96c4 0 8 -4 8 -8v-208c0 -4 -4 -8 -8 -8h-96c-4 0 -8 4 -8 8v208zM136 352h112c4 0 8 -4 8 -8v-304c0 -4 -4 -8 -8 -8h-119h-1v312c0 4 4 8 8 8zM376 192c4 0 8 -4 8 -8v-144c0 -4 -4 -8 -8 -8h-96c-4 0 -8 4 -8 8v144c0 4 4 8 8 8h96z" /> <glyph glyph-name="ion-ios-print" unicode="" d="M80 200c0 9 7 16 16 16h224c9 0 16 -7 16 -16v-200c0 -9 -7 -16 -16 -16h-224c-9 0 -16 7 -16 16v200zM336 400c9 0 16 -7 16 -16v-20c0 -2 -2 -4 -4 -4h-280c-2 0 -4 2 -4 4v20c0 9 7 16 16 16h256zM384 336c18 0 32 -13 32 -31v-175c0 -18 -14 -32 -32 -32h-16 c-4 0 -8 4 -8 8v106c0 16 -12 28 -28 28h-248c-16 0 -28 -12 -28 -28v-106c0 -4 -4 -8 -8 -8h-16c-18 0 -32 14 -32 32v175c0 18 14 31 32 31h352z" /> <glyph glyph-name="ion-md-browsers" unicode="" horiz-adv-x="432" d="M384 384c27 0 48 -22 48 -48v-288c0 -26 -22 -48 -48 -48h-336c-27 0 -48 22 -48 48v288c0 26 21 48 48 48h336zM384 48v224h-336v-224h336z" /> <glyph glyph-name="ion-ios-calculator" unicode="" horiz-adv-x="296" d="M264 400c18 0 32 -14 32 -32v-352c0 -18 -14 -32 -32 -32h-232c-18 0 -32 14 -32 32v352c0 18 14 32 32 32h232zM252 128c0 13 -11 24 -24 24v0c-13 0 -24 -11 -24 -24v-80c0 -13 11 -24 24 -24v0c13 0 24 11 24 24v80zM252 208c0 13 -11 24 -24 24v0 c-13 0 -24 -11 -24 -24v0c0 -13 11 -24 24 -24v0c13 0 24 11 24 24v0zM172 48c0 13 -11 24 -24 24v0c-13 0 -24 -11 -24 -24v0c0 -13 11 -24 24 -24v0c13 0 24 11 24 24v0zM172 128c0 13 -11 24 -24 24v0c-13 0 -24 -11 -24 -24v0c0 -13 11 -24 24 -24v0c13 0 24 11 24 24v0 zM172 208c0 13 -11 24 -24 24v0c-13 0 -24 -11 -24 -24v0c0 -13 11 -24 24 -24v0c13 0 24 11 24 24v0zM92 48c0 13 -11 24 -24 24v0c-13 0 -24 -11 -24 -24v0c0 -13 11 -24 24 -24v0c13 0 24 11 24 24v0zM92 128c0 13 -11 24 -24 24v0c-13 0 -24 -11 -24 -24v0 c0 -13 11 -24 24 -24v0c13 0 24 11 24 24v0zM92 208c0 13 -11 24 -24 24v0c-13 0 -24 -11 -24 -24v0c0 -13 11 -24 24 -24v0c13 0 24 11 24 24v0zM44 288c0 -9 7 -16 16 -16h176c9 0 16 7 16 16v48c0 9 -7 16 -16 16h-176c-9 0 -16 -7 -16 -16v-48z" /> <glyph glyph-name="ion-md-gift" unicode="" horiz-adv-x="420" d="M378 314c23 0 42 -19 42 -43v-245c0 -24 -20 -42 -43 -42h-336c-23 0 -41 18 -41 42v245c0 24 19 43 42 43h46c-2 7 -4 13 -4 21c0 35 28 65 63 65c22 0 42 -13 53 -30l10 -14l10 14c11 17 31 28 53 28c35 0 63 -28 63 -63c0 -7 -2 -14 -4 -21h46zM274 357 c-12 0 -21 -9 -21 -21s9 -21 21 -21s21 9 21 21s-9 21 -21 21zM146 357c-12 0 -21 -9 -21 -21s9 -21 21 -21s21 9 21 21s-9 21 -21 21zM42 271v-245h147v229v0l-50 -69l-34 24l44 61h-107zM378 26v245h-107l44 -61l-34 -24l-50 69v-229h147z" /> <glyph glyph-name="ion-md-thumbs-down" unicode="" d="M266 384c21 0 38 -17 38 -38v-192c0 -11 -4 -20 -11 -27l-126 -127l-20 20c-5 5 -9 12 -9 20l1 6l18 82h-119c-21 0 -38 24 -38 45v38c0 5 1 10 3 14l57 136c6 14 18 23 34 23h172zM352 160v224h64v-224h-64z" /> <glyph glyph-name="ion-md-arrow-dropright-circle" unicode="" d="M208 -16c-115 0 -208 93 -208 208s93 208 208 208s208 -93 208 -208s-93 -208 -208 -208zM176 96l96 96l-96 96v-192z" /> <glyph glyph-name="ion-ios-battery-dead" unicode="" horiz-adv-x="480" d="M380 304c26 0 48 -22 48 -48v-128c0 -26 -22 -48 -48 -48h-332c-26 0 -48 22 -48 48v128c0 26 22 48 48 48h332zM400 128v128c0 11 -9 20 -20 20h-332c-11 0 -20 -9 -20 -20v-128c0 -11 9 -20 20 -20h332c11 0 20 9 20 20zM448 243c16 0 32 -27 32 -51s-16 -51 -32 -51 v102z" /> <glyph glyph-name="ion-ios-add" unicode="" horiz-adv-x="257" d="M241 208c9 0 16 -7 16 -16s-7 -16 -16 -16h-97v-96c0 -9 -7 -16 -16 -16c-4 0 -8 1 -11 4s-5 8 -5 12v96h-96c-4 0 -8 2 -11 5s-5 7 -5 11c0 9 7 16 16 16h96v96c0 9 7 16 16 16s16 -7 16 -16v-96h97z" /> <glyph glyph-name="ion-md-rocket" unicode="" horiz-adv-x="288" d="M144 26c18 0 33 7 43 11c5 2 11 -1 11 -7l-4 -51c0 -3 -4 -5 -6 -3l-15 11c-2 1 -4 1 -5 -1l-21 -32c-2 -2 -4 -2 -6 0l-21 32c-1 2 -4 2 -6 1l-14 -11c-2 -2 -6 0 -6 3l-4 51c0 6 6 9 11 7c10 -4 25 -11 43 -11zM286 155c2 -2 2 -4 2 -7l-18 -112c-1 -6 -7 -8 -12 -5 l-67 45s-20 -20 -46 -20s-48 20 -48 20l-67 -45c-5 -3 -10 -1 -11 5l-19 112c0 3 0 5 2 7l48 49c0 158 94 228 94 228s94 -70 94 -228zM144 256c17 0 31 14 31 32s-14 32 -31 32s-30 -14 -30 -32s13 -32 30 -32z" /> <glyph glyph-name="ion-md-briefcase" unicode="" d="M304 304h112v-264c0 -22 -18 -40 -40 -40h-336c-22 0 -40 18 -40 40v264h112v40c0 22 18 40 40 40h112c22 0 40 -18 40 -40v-40zM264 304v40h-112v-40h112z" /> <glyph glyph-name="ion-ios-flower" unicode="" d="M337 218c52 0 79 -11 79 -26s-27 -26 -79 -26c-27 0 -60 6 -86 13c-1 -3 -2 -6 -4 -9c23 -14 52 -32 71 -51c37 -37 48 -63 37 -74c-3 -2 -6 -4 -10 -4c-14 0 -36 13 -64 41c-19 19 -37 48 -51 71c-3 -2 -7 -3 -10 -4c7 -26 14 -59 14 -86c0 -52 -11 -79 -26 -79 s-26 27 -26 79c0 27 7 60 14 86c-3 1 -6 2 -9 4c-14 -23 -33 -52 -52 -71c-28 -28 -50 -41 -64 -41c-4 0 -7 1 -10 4c-11 11 0 37 37 74c19 19 48 37 71 51c-2 3 -3 6 -4 9c-26 -7 -59 -13 -86 -13c-52 0 -79 11 -79 26s27 26 79 26c27 0 60 -7 86 -14c1 3 2 6 4 9 c-23 14 -52 33 -71 52c-37 37 -48 63 -37 74c3 2 6 4 10 4c14 0 36 -13 64 -41c19 -19 37 -48 51 -71c3 2 6 3 9 4c-7 26 -13 59 -13 86c0 52 11 79 26 79s26 -27 26 -79c0 -27 -7 -60 -14 -86c3 -1 7 -2 10 -4c14 23 32 52 51 71c28 28 50 41 64 41c4 0 7 -1 10 -4 c11 -11 0 -37 -37 -74c-19 -19 -48 -38 -71 -52c2 -3 3 -6 4 -9c26 7 59 14 86 14zM270 72c7 -7 14 -14 20 -19c9 -31 7 -50 -4 -54c-2 -1 -3 -1 -5 -1c-10 0 -22 11 -34 33c1 10 2 20 2 32s-1 25 -3 38c8 -11 16 -21 24 -29zM146 312c-7 7 -14 13 -20 18c-9 31 -7 51 4 55 c2 1 3 1 5 1c10 0 22 -11 34 -33c-1 -10 -2 -20 -2 -32s1 -25 3 -38c-8 11 -16 21 -24 29zM88 129c-7 -7 -14 -14 -19 -20c-13 -4 -24 -5 -32 -5c-12 0 -19 4 -22 10c-4 10 6 24 32 38c10 -1 20 -1 32 -1s25 1 38 3c-11 -8 -21 -17 -29 -25zM328 254c7 7 14 14 19 20 c13 4 24 6 32 6c12 0 19 -4 22 -10c4 -10 -6 -25 -32 -39c-10 1 -20 2 -32 2s-25 -2 -38 -4c11 8 21 17 29 25zM146 72c8 8 16 18 24 29c-2 -13 -3 -26 -3 -38c0 -10 0 -20 1 -28c-14 -24 -26 -36 -36 -36c-2 0 -3 0 -5 1c-10 4 -13 22 -5 50c8 6 16 14 24 22zM270 312 c-8 -8 -16 -19 -24 -30c2 13 3 27 3 39c0 10 0 19 -1 27c14 24 26 36 36 36c2 0 3 1 5 0c10 -4 13 -23 5 -51c-8 -6 -16 -13 -24 -21zM52 232c-28 16 -41 30 -36 41c3 6 11 10 22 10c8 0 17 -2 28 -5c6 -8 14 -16 22 -24s18 -17 29 -25c-13 2 -26 4 -38 4 c-10 0 -19 0 -27 -1zM364 152c28 -16 41 -31 36 -42c-3 -6 -11 -9 -22 -9c-8 0 -17 2 -28 5c-6 8 -14 15 -22 23s-18 17 -29 25c13 -2 26 -3 38 -3c10 0 19 0 27 1z" /> <glyph glyph-name="ion-logo-github" unicode="" horiz-adv-x="448" d="M224 416c124 0 224 -103 224 -230c0 -101 -64 -188 -153 -218h-4c-8 0 -12 7 -12 12c0 8 1 31 1 62c0 21 -8 36 -16 43c50 6 103 25 103 113c0 25 -9 46 -23 62c2 6 10 29 -2 61h-5c-8 0 -27 -3 -57 -24c-18 5 -37 8 -56 8s-38 -3 -56 -8c-30 21 -49 24 -57 24h-5 c-12 -32 -4 -55 -2 -61c-14 -16 -23 -37 -23 -62c0 -88 52 -107 102 -113c-6 -6 -12 -16 -14 -31c-6 -3 -16 -6 -26 -6c-13 0 -28 5 -39 25c0 0 -13 22 -35 24v0c-2 0 -21 0 -1 -14c0 0 15 -8 25 -34c0 0 10 -33 53 -33c7 0 14 0 22 2v-39c0 -5 -3 -11 -11 -11h-4 c-89 30 -153 116 -153 218c0 127 100 230 224 230z" /> <glyph glyph-name="ion-ios-play" unicode="" horiz-adv-x="256" d="M0 344c0 6 7 10 12 7l240 -152c5 -3 5 -11 0 -14l-240 -152c-5 -3 -12 1 -12 7v304z" /> <glyph glyph-name="ion-md-globe" unicode="" d="M208 400c115 0 208 -93 208 -208s-93 -208 -208 -208s-208 93 -208 208s93 208 208 208zM186 15c6 15 21 29 8 39c-8 7 -16 14 -23 21c-2 2 -11 20 -9 23c5 9 6 14 8 24c3 12 -3 16 -13 22c-15 10 -29 23 -43 34c-7 5 -17 10 -20 19s-5 20 -10 28c-14 20 -12 34 -10 58 c0 7 -1 16 -2 25c-28 -32 -42 -73 -42 -116c0 -48 18 -92 52 -126c29 -29 65 -46 104 -51zM334 66c23 23 39 51 47 82c-8 -1 -19 2 -19 2s-21 24 -23 45c-2 22 0 39 -3 57c-3 16 -20 31 -27 46c-7 14 -13 28 -20 42c2 -1 5 -2 7 -3c5 1 10 2 14 2c-23 16 -49 25 -76 29v-8 l4 -9l-14 -13l-9 3l-10 10l-10 12l-14 5c-16 -2 -31 -7 -45 -13v-7c7 3 16 5 23 8c3 1 13 -7 16 -9c-4 -5 -21 -15 -22 -21c0 -2 7 -6 7 -10c0 -6 -1 -11 -1 -17c3 3 20 21 22 21c13 3 35 -19 37 -26s-22 -24 -33 -34c-8 -8 -25 -12 -20 -24c2 -4 10 -20 5 -24 c-6 -5 -14 9 -17 12c-8 10 -26 7 -38 7c0 -17 -1 -31 15 -43c15 -11 30 -25 47 -33c13 -6 36 7 47 -1c16 -11 29 -21 47 -29c8 -3 33 -20 26 -31c-5 -8 -10 -15 -14 -23s-13 -20 -20 -25c-8 -6 -16 -17 -21 -29c35 7 66 23 92 49z" /> <glyph glyph-name="ion-md-cloud" unicode="" horiz-adv-x="480" d="M387 231c52 -3 93 -46 93 -99c0 -55 -45 -100 -100 -100h-260c-66 0 -120 54 -120 120c0 62 47 113 107 119c25 48 75 81 133 81c73 0 133 -52 147 -121z" /> <glyph glyph-name="ion-md-egg" unicode="" horiz-adv-x="352" d="M176 416c70 0 176 -133 176 -257s-70 -191 -176 -191s-176 67 -176 191s106 257 176 257z" /> <glyph glyph-name="ion-ios-easel" unicode="" horiz-adv-x="448" d="M402 -14c2 -4 1 -8 -1 -12s-7 -6 -11 -6h-1c-6 0 -11 3 -13 8l-26 70c-2 4 0 8 2 12s7 6 11 6c5 0 10 -3 12 -8zM86 64c4 0 9 -2 11 -6c3 -4 3 -8 1 -12l-26 -70c-2 -5 -6 -8 -12 -8h-1c-4 0 -9 2 -11 6s-3 8 -1 12l26 70c2 5 7 8 13 8zM225 64c7 0 13 -6 13 -13v-37 c0 -7 -6 -14 -13 -14h-1c-7 0 -14 7 -14 14v37c0 7 7 13 14 13h1zM392 320c4 0 8 -4 8 -8v-176c0 -4 -4 -8 -8 -8h-336c-4 0 -8 4 -8 8v176c0 4 4 8 8 8h336zM416 368c18 0 32 -14 32 -32v-224c0 -18 -14 -32 -32 -32h-384c-18 0 -32 14 -32 32v224c0 18 14 32 32 32h384z M420 124v0v205c0 3 -1 6 -3 8v0c-2 2 -5 3 -8 3h-365c-9 0 -16 -7 -16 -16v-200c0 -9 7 -16 16 -16h360c9 0 16 7 16 16zM224 416c13 0 24 -13 24 -26h-48c0 13 11 26 24 26z" /> <glyph glyph-name="ion-ios-log-out" unicode="" d="M264 76c8 0 14 -6 14 -14c0 -25 -21 -46 -46 -46h-186c-25 0 -46 21 -46 46v260c0 25 21 46 46 46h186c25 0 46 -21 46 -46c0 -8 -6 -14 -14 -14s-14 6 -14 14c0 10 -8 18 -18 18h-186c-10 0 -18 -8 -18 -18v-260c0 -10 8 -18 18 -18h186c10 0 18 8 18 18c0 8 6 14 14 14 zM325 290l84 -84c4 -4 7 -10 7 -15s-3 -11 -7 -15l-82 -82c-3 -3 -6 -4 -10 -4s-7 2 -10 4v0c-5 6 -5 15 0 20l64 64h-257c-8 0 -14 6 -14 14s6 14 14 14h256l-65 64c-6 6 -6 14 0 20c3 3 6 4 10 4s7 -1 10 -4z" /> <glyph glyph-name="ion-md-options" unicode="" horiz-adv-x="448" d="M0 32v32h272v-32h-272zM368 32v32h80v-32h-80zM352 0c0 -18 -14 -32 -32 -32v0c-18 0 -32 14 -32 32v96c0 18 14 32 32 32v0c18 0 32 -14 32 -32v-96zM0 176v32h80v-32h-80zM176 176v32h272v-32h-272zM160 144c0 -18 -14 -32 -32 -32v0c-18 0 -32 14 -32 32v96 c0 18 14 32 32 32v0c18 0 32 -14 32 -32v-96zM0 320v32h272v-32h-272zM368 320v32h80v-32h-80zM352 288c0 -18 -14 -32 -32 -32v0c-18 0 -32 14 -32 32v96c0 18 14 32 32 32v0c18 0 32 -14 32 -32v-96z" /> <glyph glyph-name="ion-md-color-filter" unicode="" horiz-adv-x="384" d="M378 328c8 -8 8 -22 0 -30l-67 -67l41 -41l-30 -30l-30 30l-191 -190h-101v101l190 191l-30 30l30 30l41 -41l67 67c8 8 22 8 30 0zM84 43l172 171l-42 42l-171 -172z" /> <glyph glyph-name="ion-ios-heart" unicode="" d="M304 392c62 -1 112 -51 112 -113c0 -37 -16 -90 -48 -133c-60 -82 -160 -154 -160 -154s-100 72 -160 154c-32 43 -48 96 -48 133c0 62 50 112 112 113v0v0h1c40 0 75 -21 95 -52c20 31 55 52 95 52h1v0v0z" /> <glyph glyph-name="ion-md-rewind" unicode="" horiz-adv-x="448" d="M218 46l-218 146l218 146v-292zM230 192l218 146v-292z" /> <glyph glyph-name="ion-md-reorder" unicode="" horiz-adv-x="320" d="M0 64v36h320v-36h-320zM0 284v36h320v-36h-320zM0 212v35h320v-35h-320zM0 137v35h320v-35h-320z" /> <glyph glyph-name="ion-md-bus" unicode="" horiz-adv-x="352" d="M0 96v204c0 75 82 84 176 84s176 -9 176 -84v-204c0 -18 -14 -24 -27 -36v-39c0 -12 -9 -21 -21 -21h-21c-12 0 -22 9 -22 21v22h-170v-22c0 -12 -10 -21 -22 -21h-21c-12 0 -21 9 -21 21v39c-13 12 -27 17 -27 36zM80 80c18 0 32 14 32 32s-14 32 -32 32 s-32 -14 -32 -32s14 -32 32 -32zM272 80c18 0 32 14 32 32s-14 32 -32 32s-32 -14 -32 -32s14 -32 32 -32zM304 203v106h-256v-106h256z" /> <glyph glyph-name="ion-ios-medical" unicode="" horiz-adv-x="353" d="M351 274c4 -7 1 -17 -6 -21l-99 -57c-3 -2 -3 -5 0 -7l99 -57c7 -4 10 -15 6 -22l-17 -28c-4 -7 -14 -10 -21 -6l-99 57c-3 2 -6 0 -6 -3v-115c0 -9 -6 -15 -15 -15h-33c-9 0 -16 6 -16 15v115c0 3 -3 5 -6 3l-98 -57c-7 -4 -17 -1 -21 6l-17 28c-4 7 -1 17 6 21l98 57 c3 2 3 5 0 7l-98 57c-7 4 -10 15 -6 22l17 28c4 7 14 10 21 6l98 -57c3 -2 6 0 6 3v114c0 9 7 16 16 16h33c9 0 15 -7 15 -16v-114c0 -3 3 -5 6 -3l99 57c7 4 17 1 21 -6z" /> <glyph glyph-name="ion-ios-stats" unicode="" horiz-adv-x="352" d="M104 0c-4 0 -8 4 -8 8v368c0 4 4 8 8 8h48c4 0 8 -4 8 -8v-368c0 -4 -4 -8 -8 -8h-48zM8 0c-4 0 -8 4 -8 8v144c0 4 4 8 8 8h48c4 0 8 -4 8 -8v-144c0 -4 -4 -8 -8 -8h-48zM200 0c-4 0 -8 4 -8 8v208c0 4 4 8 8 8h48c4 0 8 -4 8 -8v-208c0 -4 -4 -8 -8 -8h-48zM288 312 c0 4 4 8 8 8h48c4 0 8 -4 8 -8v-304c0 -4 -4 -8 -8 -8h-48c-4 0 -8 4 -8 8v304z" /> <glyph glyph-name="ion-ios-battery-charging" unicode="" horiz-adv-x="480" d="M380 304c26 0 48 -22 48 -48v-128c0 -26 -22 -48 -48 -48h-332c-26 0 -48 22 -48 48v128c0 26 22 48 48 48h332zM400 128v128c0 11 -9 20 -20 20h-332c-11 0 -20 -9 -20 -20v-128c0 -11 9 -20 20 -20h332c11 0 20 9 20 20zM448 243c16 0 32 -27 32 -51s-16 -51 -32 -51 v102zM368 256c7 0 12 -5 12 -12v-104c0 -7 -5 -12 -12 -12h-308c-7 0 -12 5 -12 12v104c0 7 5 12 12 12h308zM203 140l45 61h-27l8 43l-45 -61h27z" /> <glyph glyph-name="ion-logo-pinterest" unicode="" horiz-adv-x="448" d="M224 416c124 0 224 -100 224 -224s-100 -224 -224 -224c-22 0 -44 3 -64 9c8 14 18 31 23 48c3 10 16 62 16 62c8 -15 30 -28 54 -28c72 0 121 65 121 153c0 66 -56 129 -142 129c-106 0 -160 -76 -160 -140c0 -39 15 -73 46 -86c5 -2 10 0 12 6c1 4 3 14 4 18 c2 6 1 7 -3 12c-9 11 -15 24 -15 44c0 57 42 107 110 107c60 0 94 -36 94 -85c0 -65 -29 -119 -71 -119c-24 0 -42 19 -36 43c7 28 20 59 20 79c0 18 -10 34 -30 34c-24 0 -43 -25 -43 -58c0 -21 7 -36 7 -36s-25 -104 -29 -122c-4 -17 -5 -35 -4 -51 c-79 35 -134 113 -134 205c0 124 100 224 224 224z" /> <glyph glyph-name="ion-md-call" unicode="" horiz-adv-x="384" d="M363 117c12 0 21 -9 21 -21v-75c0 -12 -9 -21 -21 -21c-201 0 -363 162 -363 363c0 12 9 21 21 21h75c12 0 21 -9 21 -21c0 -27 4 -52 13 -77c2 -7 0 -16 -5 -21l-47 -47c31 -61 80 -110 141 -141l47 47c5 6 14 7 21 5c23 -7 49 -12 76 -12z" /> <glyph glyph-name="ion-ios-redo" unicode="" horiz-adv-x="448" d="M0 16v37c0 20 -4 97 57 159c40 41 91 61 163 65c2 0 4 2 4 4v83c0 3 3 5 6 3l216 -142c2 -2 2 -5 0 -7l-216 -142c-3 -2 -6 1 -6 4v81c0 2 -2 4 -4 4c-44 -2 -69 -11 -97 -23c-36 -16 -73 -51 -95 -84c-13 -20 -19 -33 -21 -39c-1 -2 -2 -3 -4 -3h-3z" /> <glyph glyph-name="ion-md-sync" unicode="" horiz-adv-x="320" d="M160 355c88 0 160 -73 160 -163c0 -32 -9 -62 -25 -87l-29 30c9 17 14 37 14 57c0 67 -54 122 -120 122v-61l-80 82l80 81v-61zM160 70v61l80 -82l-80 -81v61c-88 0 -160 73 -160 163c0 32 9 63 25 87l29 -30c-9 -17 -14 -37 -14 -57c0 -67 54 -122 120 -122z" /> <glyph glyph-name="ion-ios-remove-circle" unicode="" d="M208 400c115 0 208 -93 208 -208s-93 -208 -208 -208s-208 93 -208 208s93 208 208 208zM298 176c9 0 16 7 16 16s-7 16 -16 16h-180c-9 0 -16 -6 -16 -16s8 -16 16 -16h180z" /> <glyph glyph-name="ion-md-medal" unicode="" d="M226 296h-226l54 104h241zM122 71c0 48 38 86 86 86s87 -38 87 -86s-39 -87 -87 -87s-86 39 -86 87zM301 149c-2 3 -5 5 -7 7c-23 23 -54 36 -86 36l139 208l69 -104zM158 181c-13 -6 -26 -14 -36 -24c-16 -16 -27 -36 -32 -57l-90 162h104z" /> <glyph glyph-name="ion-ios-mail-open" unicode="" d="M406 238c4 -4 10 -13 10 -25v-213c0 -18 -14 -32 -32 -32h-352c-18 0 -32 14 -32 32v212c0 11 5 21 10 26s159 162 159 162c10 11 24 16 39 16s29 -5 39 -16c0 0 155 -158 159 -162zM386 196c10 10 0 36 -16 36h-324s-26 -26 -16 -36l81 -85c1 -1 1 -2 0 -3l-75 -80 c-5 -5 -5 -13 0 -18c2 -2 6 -4 9 -4s7 2 9 4l151 161c2 2 4 2 6 0l151 -161c2 -2 6 -4 9 -4s7 2 9 4c5 5 5 13 0 18l-75 80c-1 1 -1 2 0 3z" /> <glyph glyph-name="ion-ios-checkbox" unicode="" horiz-adv-x="384" d="M352 384c18 0 32 -14 32 -32v-320c0 -18 -14 -32 -32 -32h-320c-18 0 -32 14 -32 32v320c0 18 14 32 32 32h320zM300 250c2 2 1 3 -1 5l-17 18c-1 1 -2 2 -3 2v0c-1 0 -2 -1 -3 -2l-122 -123l-44 45c-1 1 -2 1 -3 1s-2 0 -3 -1l-18 -18c-2 -2 -2 -4 0 -6l56 -56 c4 -4 8 -5 12 -5c5 0 10 3 12 5v0z" /> <glyph glyph-name="ion-ios-code-download" unicode="" horiz-adv-x="384" d="M268 305l114 -109c1 -1 2 -2 2 -4s-1 -3 -2 -4l-114 -109c-1 -1 -2 -2 -4 -2s-3 1 -4 2l-14 13c-1 1 -2 2 -2 4s1 3 2 4l96 92l-96 92c-1 1 -2 2 -2 4s1 3 2 4l14 13c1 1 3 2 4 2s3 -1 4 -2zM42 192l96 -92c1 -1 2 -2 2 -4s-1 -3 -2 -4l-14 -13c-1 -1 -2 -2 -4 -2 c-1 0 -3 1 -4 2l-114 109c-1 1 -2 2 -2 4s1 3 2 4l114 109c1 1 3 2 4 2s3 -1 4 -2l14 -13c1 -1 2 -2 2 -4s-1 -3 -2 -4zM269 181c0 -4 -2 -8 -5 -11l-62 -57c-3 -2 -6 -4 -10 -4s-7 2 -10 4l-62 57c-3 3 -5 7 -5 11s1 7 4 10v0c3 3 7 4 11 4c3 0 6 -1 9 -3l39 -35v106 c0 8 6 15 14 15s14 -7 14 -15v-106l39 35c3 2 5 4 9 4s7 -2 10 -5h1c3 -3 4 -6 4 -10z" /> <glyph glyph-name="ion-ios-alarm" unicode="" horiz-adv-x="384" d="M317 384c38 -2 67 -33 67 -69c0 -18 -7 -26 -16 -37c-1 -1 -3 -2 -5 -2h-1c-2 0 -3 1 -4 2l-90 80c-2 1 -2 4 -2 6s0 4 2 5c13 10 29 15 45 15v0h4zM0 315c0 36 29 67 67 69h4v0c16 0 32 -5 45 -15c2 -1 2 -3 2 -5s0 -5 -2 -6l-90 -80c-1 -1 -2 -2 -4 -2h-1 c-2 0 -4 1 -5 2c-9 11 -16 19 -16 37zM326 62l35 -36c6 -6 5 -15 -1 -21c-3 -3 -8 -5 -12 -5s-8 2 -11 5l-34 35c-30 -25 -69 -40 -111 -40s-81 15 -111 40l-35 -35c-3 -3 -7 -5 -11 -5s-8 2 -11 5c-6 6 -7 15 -1 21l35 36c-26 31 -42 70 -42 114c0 97 79 176 176 176 s176 -79 176 -176c0 -44 -16 -83 -42 -114zM206 174v116c0 8 -6 14 -14 14s-14 -6 -14 -14v-102h-68c-8 0 -14 -6 -14 -14s6 -14 14 -14h82c8 0 14 6 14 14z" /> <glyph glyph-name="ion-ios-send" unicode="" horiz-adv-x="384" d="M372 383c7 3 14 -4 11 -11l-152 -367c-3 -6 -12 -6 -15 0l-65 104c-4 6 -3 14 2 19l169 191c1 1 3 4 2 5s-5 -1 -6 -2l-195 -168c-5 -4 -13 -5 -19 -2l-99 56c-7 3 -6 12 0 15z" /> <glyph glyph-name="ion-ios-fastforward" unicode="" horiz-adv-x="448" d="M444 199c5 -3 5 -11 0 -14l-208 -120c-5 -3 -12 1 -12 7v115l-212 -122c-5 -3 -12 1 -12 7v240c0 6 7 10 12 7l212 -122v115c0 6 7 10 12 7z" /> <glyph glyph-name="ion-ios-timer" unicode="" horiz-adv-x="400" d="M200 -8c-110 0 -200 90 -200 200c0 55 21 106 61 144c6 6 17 6 23 0s6 -17 0 -23c-33 -32 -52 -75 -52 -121c0 -92 76 -168 168 -168s168 76 168 168c0 87 -67 159 -152 167v-63c0 -9 -7 -16 -16 -16s-16 7 -16 16v80c0 9 7 16 16 16c110 0 200 -90 200 -200 s-90 -200 -200 -200zM120 286l99 -71c14 -10 17 -28 7 -42s-28 -17 -42 -7c-3 2 -5 4 -7 7l-71 99c-3 4 -2 11 2 14s9 2 12 0z" /> <glyph glyph-name="ion-md-water" unicode="" horiz-adv-x="352" d="M300 285c69 -72 69 -191 0 -263c-34 -36 -79 -54 -124 -54s-91 18 -125 54c-69 72 -69 191 0 263l125 131z" /> <glyph glyph-name="ion-ios-heart-empty" unicode="" d="M304 392c62 -1 112 -51 112 -113c0 -37 -16 -90 -48 -133c-60 -82 -160 -154 -160 -154s-100 72 -160 154c-32 43 -48 96 -48 133c0 62 50 112 112 113v0v0h1c40 0 75 -21 95 -52c20 31 55 52 95 52h1v0v0zM346 163c29 40 42 87 42 116c0 22 -8 44 -24 60s-38 25 -60 25 v0h-1v0c-14 0 -28 -4 -41 -11c-12 -7 -22 -16 -30 -28c-5 -8 -14 -13 -24 -13s-18 5 -23 13c-8 12 -19 21 -31 28c-13 7 -27 11 -41 11v0h-1v0c-23 0 -43 -9 -59 -25s-25 -37 -25 -60c0 -29 13 -76 42 -116c43 -58 108 -112 138 -136c30 24 95 78 138 136z" /> <glyph glyph-name="ion-md-radio-button-off" unicode="" d="M208 400c114 0 208 -94 208 -208s-94 -208 -208 -208s-208 94 -208 208s94 208 208 208zM208 26c92 0 166 74 166 166s-74 166 -166 166s-166 -74 -166 -166s74 -166 166 -166z" /> <glyph glyph-name="ion-md-chatboxes" unicode="" d="M344 384c4 0 7 -4 7 -8v-214c0 -4 -3 -9 -7 -9h-187l-90 -89v89h-57c-4 0 -10 5 -10 9v214c0 4 6 8 10 8h334zM408 321c4 0 8 -5 8 -9v-214c0 -4 -4 -9 -8 -9h-57v-89l-90 89h-130l39 39h181c18 0 25 10 25 26v167h32z" /> <glyph glyph-name="ion-md-exit" unicode="" horiz-adv-x="384" d="M151 115l55 56h-206v42h207l-56 56l30 30l107 -107l-107 -107zM341 384c23 0 43 -20 43 -43v-298c0 -23 -20 -43 -43 -43h-298c-23 0 -43 20 -43 43v85h43v-85h298v298h-298v-85h-43v85c0 23 20 43 43 43h298z" /> <glyph glyph-name="ion-ios-pulse" unicode="" horiz-adv-x="448" d="M403 176c25 -1 44 -21 45 -46c1 -27 -21 -50 -48 -50c-20 0 -38 13 -45 31h-51c-7 0 -13 5 -15 11l-16 47l-50 -173c-2 -7 -8 -12 -15 -12h-1c-8 0 -14 6 -15 13l-51 308l-37 -182c-2 -7 -9 -12 -16 -12h-72c-9 0 -16 7 -16 16v0c0 9 7 16 16 16h59l53 245 c2 7 9 12 17 12s14 -5 15 -13l52 -315l45 156c2 7 8 11 15 11v0c7 0 13 -4 15 -11l29 -85h38c7 20 27 34 49 33z" /> <glyph glyph-name="ion-md-folder" unicode="" horiz-adv-x="448" d="M181 352l43 -48h181c23 0 43 -20 43 -43v-186c0 -23 -20 -43 -43 -43h-362c-23 0 -43 20 -43 43v234c0 23 20 43 43 43h138z" /> <glyph glyph-name="ion-ios-copy" unicode="" horiz-adv-x="384" d="M288 333c-10 0 -19 9 -19 19v72c0 4 3 8 7 8v0c6 0 16 -4 21 -8l77 -64c6 -5 10 -13 10 -21v0c0 -3 -3 -6 -6 -6h-90zM243 352c0 -25 20 -45 45 -45h96v-243c0 -18 -14 -32 -32 -32h-240c-18 0 -32 14 -32 32v336c0 18 14 32 32 32h131v-80zM52 36c0 -18 14 -32 32 -32 h236v-20c0 -18 -14 -32 -32 -32h-256c-18 0 -32 14 -32 32v352c0 18 14 32 32 32h20v-332z" /> <glyph glyph-name="ion-md-basket" unicode="" horiz-adv-x="448" d="M330 243h98c11 0 20 -9 20 -20l-1 -6l-51 -187c-5 -17 -21 -30 -40 -30h-264c-19 0 -35 13 -40 30l-51 187c-1 2 -1 4 -1 6c0 11 9 20 20 20h98l89 132c4 6 11 9 17 9s13 -2 17 -8zM163 243h122l-61 89zM224 81c22 0 41 18 41 40s-19 41 -41 41s-41 -19 -41 -41 s19 -40 41 -40z" /> <glyph glyph-name="ion-ios-contacts" unicode="" d="M208 400c115 0 208 -93 208 -208s-93 -208 -208 -208s-208 93 -208 208s93 208 208 208zM351 136c9 -3 17 -8 23 -15c10 22 14 46 14 71c0 49 -19 94 -54 128c-34 33 -80 52 -128 52c-47 0 -91 -19 -125 -52c-34 -34 -53 -80 -53 -128c0 -33 9 -64 25 -92 c13 7 27 8 42 11c7 1 23 5 25 13s2 15 2 23c0 3 -1 3 -3 5c-4 4 -6 9 -8 14c-2 8 -3 16 -4 24c-9 -2 -10 16 -12 21c-1 4 -2 19 4 22c-3 5 -4 12 -5 18c-2 13 -2 26 3 39c10 26 36 39 63 38c26 -1 52 -15 60 -41c4 -12 3 -27 1 -40c-1 -5 -3 -10 -5 -14c8 -3 4 -21 3 -24 c-2 -5 -2 -21 -11 -19c-1 -10 -2 -22 -7 -31c-1 -2 -8 -8 -8 -10v-11c0 -5 0 -10 2 -15s10 -7 14 -8c14 -5 28 -5 42 -10c28 -10 45 -35 45 -65v0c0 -2 3 -3 5 -2s3 2 5 3c4 3 6 8 6 12c-2 17 -7 31 -20 44c-20 19 -46 25 -46 25c-3 1 -8 2 -12 3s-4 6 0 8c8 3 13 5 16 6 c4 1 15 4 16 9v14c-21 2 -29 6 -29 6c-6 3 -2 6 0 11c14 32 -10 88 32 105c7 3 15 4 25 4c12 0 23 -2 31 -7c15 -9 20 -27 20 -44c0 -20 -4 -44 7 -62c2 -3 4 -4 0 -6c0 0 -6 -5 -31 -6c0 0 -2 -13 1 -17c6 -7 21 -7 29 -10z" /> <glyph glyph-name="ion-ios-desktop" unicode="" horiz-adv-x="448" d="M320 6c0 -3 -2 -6 -5 -6h-182c-3 0 -5 3 -5 6c0 2 2 4 4 4l22 2c12 3 21 16 23 28l1 8h92l1 -8c2 -12 11 -25 23 -28l22 -2c2 0 4 -2 4 -4zM441 377c4 -4 7 -11 7 -17v-272c0 -6 -3 -13 -7 -17s-11 -7 -17 -7h-400c-6 0 -13 3 -17 7s-7 11 -7 17v272c0 6 3 13 7 17 s11 7 17 7h400c6 0 13 -3 17 -7zM224 88c4 0 8 4 8 8s-4 8 -8 8s-8 -4 -8 -8s4 -8 8 -8zM428 128c2 0 4 2 4 4v224c0 7 -5 12 -12 12h-392c-7 0 -12 -5 -12 -12v-224c0 -2 2 -4 4 -4h408z" /> <glyph glyph-name="ion-logo-yahoo" unicode="" horiz-adv-x="320" d="M289 380c11 0 21 1 31 4l-128 -213v-171c-10 4 -21 4 -32 4s-22 0 -32 -4v171l-128 213c10 -4 21 -4 32 -4s22 0 32 4l96 -160l96 160c10 -4 22 -4 33 -4z" /> <glyph glyph-name="ion-ios-laptop" unicode="" horiz-adv-x="480" d="M432 80h48v0c0 -10 -10 -19 -20 -23s-28 -9 -48 -9h-344c-20 0 -38 5 -49 10c-9 4 -19 12 -19 22v0h48v239c0 10 8 17 17 17h350c9 0 17 -8 17 -17v-239zM240 328c-2 0 -4 -2 -4 -4s2 -4 4 -4s4 2 4 4s-2 4 -4 4zM66 312c-1 0 -2 -1 -2 -2v-212c0 -1 1 -2 2 -2h348 c1 0 2 1 2 2v212c0 1 -1 2 -2 2h-348zM282 72c7 0 10 6 10 8h-104c0 -2 5 -8 10 -8h84z" /> <glyph glyph-name="ion-ios-flame" unicode="" horiz-adv-x="288" d="M108 400c98 -59 187 -161 180 -267c-8 -125 -117 -149 -143 -149s-144 38 -145 149c-1 136 137 132 108 267zM182 45c2 6 3 12 3 18c0 41 -41 88 -41 88s-40 -47 -40 -88c0 -6 0 -12 2 -18c10 -39 66 -39 76 0z" /> <glyph glyph-name="ion-md-contract" unicode="" horiz-adv-x="384" d="M0 77v51h128v-128h-51v77h-77zM77 307v77h51v-128h-128v51h77zM256 0v128h128v-51h-77v-77h-51zM307 307h77v-51h-128v128h51v-77z" /> <glyph glyph-name="ion-md-female" unicode="" horiz-adv-x="288" d="M288 272c0 -71 -52 -131 -120 -142v-50h72v-48h-72v-64h-48v64h-72v48h72v50c-68 11 -120 71 -120 142c0 80 64 144 144 144s144 -64 144 -144zM48 272c0 -53 43 -96 96 -96s96 43 96 96s-43 96 -96 96s-96 -43 -96 -96z" /> <glyph glyph-name="ion-md-share" unicode="" horiz-adv-x="384" d="M320 104c34 0 62 -28 62 -62s-28 -62 -62 -62s-62 28 -62 62c0 5 1 10 2 14l-152 88c-12 -11 -27 -17 -44 -17c-35 0 -64 29 -64 64s28 64 63 64c17 0 32 -6 44 -17l151 87c-1 5 -2 10 -2 15c0 35 29 64 64 64s64 -29 64 -64s-29 -64 -64 -64c-17 0 -32 6 -44 17 l-151 -87c1 -5 2 -10 2 -15s-1 -10 -2 -15l153 -88c11 11 26 16 42 16z" /> <glyph glyph-name="ion-md-calculator" unicode="" horiz-adv-x="320" d="M272 400c27 0 48 -22 48 -48v-320c0 -26 -22 -48 -48 -48h-224c-27 0 -48 22 -48 48v320c0 26 21 48 48 48h224zM104 32v48h-48v-48h48zM104 120v48h-48v-48h48zM104 208v48h-48v-48h48zM184 32v48h-48v-48h48zM184 120v48h-48v-48h48zM184 208v48h-48v-48h48zM264 32 v136h-48v-136h48zM264 208v48h-48v-48h48zM264 304v48h-208v-48h208z" /> <glyph glyph-name="ion-ios-nutrition" unicode="" horiz-adv-x="384" d="M295 216v0c6 -6 9 -14 9 -23c0 -11 -5 -20 -13 -26v0s-44 -33 -97 -72c-3 -2 -7 -2 -10 0l-37 26c-4 3 -8 3 -10 1v0c-2 -2 -2 -6 1 -10l21 -32c2 -4 1 -9 -2 -11l-105 -77c-6 -4 -12 -8 -20 -8c-18 0 -32 14 -32 32c0 7 2 13 5 18v0c1 2 11 18 29 46c2 4 6 5 10 3l17 -8 c4 -3 8 -3 10 -1v0c2 2 2 6 -1 10l-14 24c-2 3 -2 6 0 8c24 39 49 79 71 114c2 4 7 4 11 2l32 -20c4 -3 8 -3 10 -1v0c2 2 2 6 -1 10l-27 41c-2 3 -2 5 0 8l12 20v0c6 10 16 16 28 16c9 0 18 -4 24 -10v0l79 -79v-1v0zM383 317c2 -4 1 -9 -3 -11l-92 -47l-28 29l57 108 c2 4 7 5 11 3l18 -8c4 -2 5 -7 3 -11l-48 -79l60 37c4 2 9 1 11 -3z" /> <glyph glyph-name="ion-md-folder-open" unicode="" horiz-adv-x="448" d="M405 304c23 0 43 -20 43 -43v-186c0 -23 -20 -43 -43 -43h-362c-23 0 -43 20 -43 43v234c0 23 20 43 43 43h138l43 -48h181zM416 75v186c0 6 -5 11 -11 11h-373v-197c0 -6 5 -11 11 -11h362c6 0 11 5 11 11z" /> <glyph glyph-name="ion-md-bug" unicode="" horiz-adv-x="384" d="M384 288v-48h-50c1 -8 2 -16 2 -24v-24h48v-48h-48v-24c0 -8 -1 -16 -2 -24h50v-48h-67c-25 -43 -72 -72 -125 -72s-100 29 -125 72h-67v48h50c-1 8 -2 16 -2 24v24h-48v48h48v24c0 8 1 16 2 24h-50v48h68c11 19 25 35 43 47l-39 39l34 34l52 -52c11 3 22 4 34 4 s23 -1 34 -4l52 52l34 -34l-39 -39c18 -12 33 -28 44 -47h67z" /> <glyph glyph-name="ion-md-arrow-round-up" unicode="" horiz-adv-x="332" d="M323 221c12 -12 12 -31 0 -43s-34 -12 -46 0l-79 83v-214c0 -17 -14 -31 -32 -31s-32 14 -32 31v214l-79 -83c-12 -12 -34 -12 -46 0s-12 31 0 43l134 138c6 6 14 9 23 9v0c9 0 17 -3 23 -9z" /> <glyph glyph-name="ion-ios-save" unicode="" horiz-adv-x="384" d="M208 384c4 0 8 -4 8 -8v-72c0 -4 -4 -8 -8 -8h-12c-4 0 -12 4 -12 8v72c0 4 4 8 8 8h16zM370 318c9 -9 14 -21 14 -34v-252c0 -18 -14 -32 -32 -32h-320c-18 0 -32 14 -32 32v320c0 18 14 32 32 32h32c9 0 16 -7 16 -16v-80c0 -9 7 -16 16 -16h128c9 0 16 7 16 16v80 c0 9 7 16 16 16h28c13 0 25 -5 34 -14zM258 48v96c0 9 -8 16 -18 16h-160c-10 0 -18 -7 -18 -16v-96c0 -9 8 -16 18 -16h160c10 0 18 7 18 16z" /> <glyph glyph-name="ion-md-ribbon" unicode="" horiz-adv-x="384" d="M192 416c71 0 128 -57 128 -128s-57 -128 -128 -128s-128 57 -128 128s57 128 128 128zM192 208c44 0 80 36 80 80s-36 80 -80 80s-80 -36 -80 -80s36 -80 80 -80zM130 141c20 -8 40 -13 62 -13c9 0 18 1 26 2l-26 -56l-48 -106l-48 80h-96l75 131c1 -2 3 -3 4 -4 c15 -15 32 -26 51 -34zM309 179l75 -131h-96l-48 -80l-32 70l22 49l24 54c19 8 36 19 51 34z" /> <glyph glyph-name="ion-ios-sunny" unicode="" d="M208 61c8 0 15 -7 15 -15v-47c0 -8 -7 -15 -15 -15s-15 7 -15 15v47c0 8 7 15 15 15zM208 400c8 0 15 -7 15 -15v-47c0 -8 -7 -15 -15 -15s-15 7 -15 15v47c0 8 7 15 15 15zM77 192c0 -8 -7 -15 -15 -15h-47c-8 0 -15 7 -15 15s7 15 15 15h47c8 0 15 -7 15 -15zM401 207 c8 0 15 -7 15 -15s-7 -15 -15 -15h-47c-8 0 -15 7 -15 15s7 15 15 15h47zM104 104c4 0 8 -2 11 -5c6 -6 6 -15 0 -21l-32 -33c-3 -3 -7 -5 -11 -5s-8 2 -11 5s-5 7 -5 11s2 8 5 11l33 32c3 3 6 5 10 5zM312 280c-4 0 -8 2 -11 5s-5 7 -5 11s2 7 5 10l32 33c3 3 7 5 11 5 s8 -2 11 -5s5 -7 5 -11s-2 -8 -5 -11l-33 -32c-3 -3 -6 -5 -10 -5zM83 339l32 -33c3 -3 5 -6 5 -10s-2 -8 -5 -11s-7 -5 -11 -5s-7 2 -10 5l-33 32c-3 3 -5 7 -5 11s2 8 5 11s7 5 11 5s8 -2 11 -5zM322 99l33 -32c3 -3 5 -7 5 -11s-2 -8 -5 -11s-7 -5 -11 -5s-8 2 -11 5 l-32 33c-6 6 -6 15 0 21c3 3 7 5 11 5s7 -2 10 -5zM208 288v0c53 0 96 -43 96 -96s-43 -96 -96 -96s-96 43 -96 96s43 96 96 96z" /> <glyph glyph-name="ion-ios-subway" unicode="" horiz-adv-x="320" d="M256 416c35 0 64 -29 64 -64v-232c0 -35 -29 -64 -64 -64h-192c-35 0 -64 29 -64 64v232c0 35 29 64 64 64h192zM104 392c-4 0 -8 -4 -8 -8s4 -8 8 -8h112c4 0 8 4 8 8s-4 8 -8 8h-112zM72 88c16 0 28 12 28 28s-12 28 -28 28s-28 -12 -28 -28s12 -28 28 -28zM248 88 c16 0 28 12 28 28s-12 28 -28 28s-28 -12 -28 -28s12 -28 28 -28zM288 240v96c0 9 -7 16 -16 16h-224c-9 0 -16 -7 -16 -16v-96c0 -9 7 -16 16 -16h224c9 0 16 7 16 16zM298 -8c6 -5 6 -14 0 -20c-3 -3 -6 -4 -10 -4s-7 1 -10 4l-14 14h-208l-14 -14c-3 -3 -6 -4 -10 -4 s-7 1 -10 4c-5 6 -6 15 0 20l50 48c6 5 15 6 20 0s6 -15 0 -20l-6 -6h148l-6 6c-6 5 -5 14 0 20s14 5 20 0z" /> <glyph glyph-name="ion-md-clock" unicode="" d="M355 339c81 -81 81 -213 0 -294s-213 -81 -294 0s-81 213 0 294s213 81 294 0zM339 286c-8 -4 -10 -14 -6 -22s14 -10 22 -6s10 14 6 22s-14 10 -22 6zM32 192c0 -9 7 -16 16 -16s16 7 16 16s-7 16 -16 16s-16 -7 -16 -16zM77 98c8 4 10 14 6 22s-14 10 -22 6 s-9 -14 -5 -22s13 -10 21 -6zM83 264c4 8 2 18 -6 22s-17 2 -21 -6s-3 -18 5 -22s18 -2 22 6zM120 344c-8 -4 -10 -14 -6 -22s14 -9 22 -5s10 13 6 21s-14 10 -22 6zM112 234l80 -47v-123h31v139l-95 57zM142 45c4 8 2 18 -6 22s-18 2 -22 -6s-2 -17 6 -21s18 -3 22 5z M208 16c9 0 16 7 16 16s-7 16 -16 16s-16 -7 -16 -16s7 -16 16 -16zM208 336c9 0 16 7 16 16s-7 16 -16 16s-16 -7 -16 -16s7 -16 16 -16zM296 40c8 4 10 14 6 22s-14 9 -22 5s-10 -13 -6 -21s14 -10 22 -6zM302 323c4 8 2 17 -6 21s-18 3 -22 -5s-2 -18 6 -22s18 -2 22 6z M360 104c4 8 3 18 -5 22s-18 2 -22 -6s-2 -18 6 -22s17 -2 21 6zM368 176c9 0 16 7 16 16s-7 16 -16 16s-16 -7 -16 -16s7 -16 16 -16z" /> <glyph glyph-name="ion-ios-notifications-outline" unicode="" horiz-adv-x="320" d="M193 45v0c8 0 15 -8 13 -16c-5 -22 -20 -37 -46 -37s-42 15 -47 37c-2 8 5 16 13 16v0c6 0 11 -4 12 -10c1 -4 3 -8 5 -11c1 -1 6 -6 17 -6s15 4 16 6c2 3 4 7 5 11c1 6 6 10 12 10zM316 96c10 -13 0 -32 -16 -32h-140h-140c-16 0 -26 19 -16 32c15 20 46 32 46 123 c0 93 41 131 79 140c4 1 7 2 7 6v3c0 13 11 24 24 24v0v0c13 0 24 -11 24 -24v-3c0 -4 2 -5 6 -6c38 -9 80 -47 80 -140c0 -91 31 -103 46 -123zM277 90c4 0 5 4 3 7c-7 8 -16 19 -22 34c-10 23 -14 51 -14 88s-7 67 -21 87c-12 18 -28 25 -39 27c-7 2 -13 5 -18 11 c-3 4 -9 4 -12 0c-4 -5 -11 -9 -19 -11c-11 -2 -27 -9 -39 -27c-14 -20 -21 -50 -21 -87s-4 -65 -14 -88c-6 -15 -14 -26 -21 -34c-2 -3 -1 -7 3 -7h234z" /> <glyph glyph-name="ion-ios-quote" unicode="" horiz-adv-x="320" d="M113 352v0c18 0 31 -13 31 -31v-192c0 -52 -21 -84 -28 -94c-2 -2 -5 -3 -7 -3h-40c-7 0 -11 8 -6 13c12 14 30 38 32 74c0 5 -3 9 -8 9h-39c-26 0 -48 22 -48 48v128c0 26 22 48 48 48h65zM289 352v0c18 0 31 -13 31 -31v-192c0 -52 -21 -84 -28 -94c-2 -2 -5 -3 -7 -3 h-40c-7 0 -11 8 -6 13c12 14 30 38 32 74c0 5 -3 9 -8 9h-39c-26 0 -48 22 -48 48v128c0 26 22 48 48 48h65z" /> <glyph glyph-name="ion-ios-pause" unicode="" horiz-adv-x="256" d="M72 32h-64c-4 0 -8 4 -8 8v304c0 4 4 8 8 8h64c4 0 8 -4 8 -8v-304c0 -4 -4 -8 -8 -8zM248 32h-64c-4 0 -8 4 -8 8v304c0 4 4 8 8 8h64c4 0 8 -4 8 -8v-304c0 -4 -4 -8 -8 -8z" /> <glyph glyph-name="ion-ios-remove" unicode="" horiz-adv-x="257" d="M241 208c9 0 16 -7 16 -16s-7 -16 -16 -16h-225c-4 0 -8 2 -11 5s-5 7 -5 11c0 9 7 16 16 16h225z" /> <glyph glyph-name="ion-ios-done-all" unicode="" horiz-adv-x="320" d="M222 238l-67 -69l-26 27l66 69c1 1 3 2 4 2v0c1 0 2 -1 3 -2l20 -21c2 -2 2 -4 0 -6zM28 195l76 -79l-13 -14v0c-2 -2 -7 -6 -13 -6c-4 0 -9 3 -13 7l-64 65c-2 2 -2 4 0 6l20 21c1 1 3 1 4 1s2 0 3 -1zM319 266c2 -2 2 -5 0 -7l-151 -156v0c-2 -2 -7 -6 -13 -6 c-4 0 -10 2 -14 6l-63 65c-2 2 -2 5 0 7l20 21c1 1 2 1 3 1s3 0 4 -1l50 -52l138 143c1 1 2 1 3 1v0c1 0 2 0 3 -1z" /> <glyph glyph-name="ion-md-recording" unicode="" horiz-adv-x="420" d="M324 288c53 0 96 -43 96 -96s-43 -96 -96 -96h-228c-53 0 -96 43 -96 96s43 96 96 96s97 -43 97 -96c0 -24 -8 -44 -22 -61h79c-14 17 -22 37 -22 61c0 53 43 96 96 96zM96 131c34 0 61 27 61 61s-27 61 -61 61s-61 -27 -61 -61s27 -61 61 -61zM324 131c34 0 61 27 61 61 s-27 61 -61 61s-61 -27 -61 -61s27 -61 61 -61z" /> <glyph glyph-name="ion-ios-archive" unicode="" d="M412 328h-408c-2 0 -4 2 -4 4v20c0 18 14 32 32 32h352c18 0 32 -14 32 -32v-20c0 -2 -2 -4 -4 -4zM392 302c4 0 8 -4 8 -8v-262c0 -18 -14 -32 -32 -32h-320c-18 0 -32 14 -32 32v262c0 4 4 8 8 8h368zM258 160c8 0 15 8 14 16c-1 7 -7 12 -14 12h-100 c-8 0 -15 -8 -14 -16c1 -7 7 -12 14 -12h100z" /> <glyph glyph-name="ion-ios-text" unicode="" d="M208 384c115 0 208 -75 208 -168s-93 -168 -208 -168c-10 0 -19 1 -28 2c-6 -7 -25 -27 -47 -37c-18 -8 -39 -12 -51 -13c-3 0 -5 4 -3 6c12 14 28 35 33 61c-67 28 -112 84 -112 149c0 93 93 168 208 168z" /> <glyph glyph-name="ion-ios-remove-circle-outline" unicode="" d="M298 208c9 0 16 -7 16 -16s-7 -16 -16 -16h-180c-8 0 -16 6 -16 16s7 16 16 16h180zM208 372c-48 0 -93 -19 -127 -53s-53 -79 -53 -127s19 -93 53 -127s79 -53 127 -53s93 19 127 53s53 79 53 127s-19 93 -53 127s-79 53 -127 53zM208 400v0c115 0 208 -93 208 -208 s-93 -208 -208 -208s-208 93 -208 208s93 208 208 208z" /> <glyph glyph-name="ion-ios-attach" unicode="" horiz-adv-x="231" d="M216 287c9 0 15 -7 15 -16v-194c0 -14 -3 -28 -9 -42c-6 -13 -14 -25 -24 -35c-21 -20 -48 -32 -76 -32h-13c-28 0 -55 11 -76 32c-20 20 -33 49 -33 78v251c0 24 9 45 26 61s38 26 62 26s46 -10 62 -26c17 -16 26 -38 26 -61v-235c0 -18 -7 -33 -18 -44s-26 -18 -42 -18 c-34 0 -60 26 -60 62v134c0 9 7 16 16 16s15 -7 15 -16v-134c0 -19 15 -32 29 -32c15 0 29 15 29 32v235c0 15 -7 29 -17 39s-25 16 -40 16s-30 -6 -41 -16c-11 -11 -17 -24 -17 -39v-251c0 -20 9 -39 24 -55s35 -25 55 -25h13c20 0 42 9 56 24s22 35 22 55v194 c0 9 7 16 16 16z" /> <glyph glyph-name="ion-md-undo" unicode="" horiz-adv-x="448" d="M230 268c102 0 188 -66 218 -157l-52 -15c-23 70 -89 118 -166 118c-43 0 -82 -16 -112 -41l80 -77h-198v192l80 -76c40 35 92 56 150 56z" /> <glyph glyph-name="ion-md-refresh-circle" unicode="" d="M208 400c114 0 208 -94 208 -208s-94 -208 -208 -208s-208 94 -208 208s94 208 208 208zM320 206v98l-33 -33c-20 20 -48 33 -79 33c-62 0 -112 -50 -112 -112s50 -112 112 -112c51 0 93 34 107 80h-29c-12 -31 -43 -52 -78 -52c-46 0 -84 38 -84 84s38 84 84 84 c23 0 44 -10 59 -25l-45 -45h98z" /> <glyph glyph-name="ion-ios-switch" unicode="" d="M54 80c0 23 19 42 42 42s42 -19 42 -42s-19 -42 -42 -42s-42 19 -42 42zM320 176c53 0 96 -43 96 -96s-43 -96 -96 -96h-224c-53 0 -96 43 -96 96s43 96 96 96h224zM96 16c35 0 64 29 64 64s-29 64 -64 64s-64 -29 -64 -64s29 -64 64 -64zM278 304c0 23 19 42 42 42 s42 -19 42 -42s-19 -42 -42 -42s-42 19 -42 42zM96 208c-53 0 -96 43 -96 96s43 96 96 96h224c53 0 96 -43 96 -96s-43 -96 -96 -96h-224zM320 368c-35 0 -64 -29 -64 -64s29 -64 64 -64s64 29 64 64s-29 64 -64 64z" /> <glyph glyph-name="ion-logo-bitcoin" unicode="" horiz-adv-x="320" d="M314 169c4 -10 7 -30 6 -44c-1 -16 -5 -37 -16 -51s-26 -24 -45 -31c-15 -6 -33 -10 -59 -11v-64h-40v64h-32v-64h-41v64h-87l9 48h26c9 0 9 0 12 1s4 4 5 7s2 8 2 17v173c0 9 -1 16 -2 18s-3 4 -6 6s-9 2 -18 2h-28v48h87v64h41v-64h32v64h40v-64c20 -1 33 -4 46 -9 c16 -6 28 -15 37 -27s12 -28 13 -45c1 -10 0 -20 -3 -28c-2 -8 -8 -16 -16 -23c-6 -6 -11 -9 -16 -11c9 -2 17 -6 25 -10c15 -8 23 -18 28 -30zM128 298v-74h32v74h-32zM128 86h32v90h-32v-90zM200 294v-66c6 3 9 7 13 12c5 6 7 12 7 20s-2 15 -6 21c-4 5 -8 11 -14 13z M229 107c8 7 10 15 10 26c0 9 -3 19 -8 25s-12 10 -20 13c-4 2 -6 2 -11 3v-82c2 0 5 1 7 2c10 4 14 6 22 13z" /> <glyph glyph-name="ion-ios-return-left" unicode="" horiz-adv-x="384" d="M6 183l60 59c3 3 6 4 10 4s7 -1 10 -4s4 -6 4 -10s-1 -7 -4 -10v0l-41 -40h261c13 0 25 5 35 15c10 9 15 22 15 35v48c0 8 6 14 14 14s14 -6 14 -14v-48c0 -21 -8 -40 -23 -55s-34 -23 -55 -23h-262l40 -40c3 -3 4 -6 4 -10s-1 -7 -4 -10v0c-3 -2 -6 -4 -10 -4 s-7 1 -10 4l-58 58c-4 4 -6 9 -6 15s2 12 6 16z" /> <glyph glyph-name="ion-ios-trending-down" unicode="" horiz-adv-x="448" d="M448 79c0 -8 -7 -15 -15 -15h-121c-8 0 -15 7 -15 15s7 15 15 15h84l-138 142l-86 -84c-3 -3 -7 -5 -11 -5s-8 2 -11 5l-146 143c-2 2 -4 6 -4 11c0 4 1 7 4 10s7 4 11 4s8 -1 11 -4l135 -133l86 84c3 3 7 4 11 4s8 -1 11 -4l149 -152v82c0 8 7 15 15 15s15 -7 15 -15 v-118z" /> <glyph glyph-name="ion-logo-tumblr" unicode="" horiz-adv-x="256" d="M193 52c21 0 42 6 63 20v-65c-18 -8 -34 -15 -48 -18s-28 -5 -45 -5c-19 0 -35 2 -50 7c-14 5 -28 12 -38 21s-17 18 -21 28s-6 25 -6 44v140h-48v58c16 5 30 14 42 24s19 21 26 35s11 37 14 59h62v-112h96v-64h-96v-101c0 -24 1 -40 4 -47c2 -7 7 -12 14 -16 c9 -6 19 -8 31 -8z" /> <glyph glyph-name="ion-ios-notifications" unicode="" horiz-adv-x="320" d="M160 -8c-31 0 -48 22 -48 53h96c0 -31 -17 -53 -48 -53zM316 96c10 -13 0 -32 -16 -32h-140h-140c-16 0 -26 19 -16 32c15 20 46 32 46 123c0 93 41 131 79 140c4 1 7 2 7 6v3c0 13 11 24 24 24s24 -11 24 -24v-3c0 -4 3 -5 7 -6c38 -9 79 -47 79 -140 c0 -91 31 -103 46 -123z" /> <glyph glyph-name="ion-ios-cash" unicode="" horiz-adv-x="448" d="M434 92c8 0 14 -6 14 -14s-6 -14 -14 -14h-420c-8 0 -14 6 -14 14s6 14 14 14h420zM434 44c8 0 14 -6 14 -14s-6 -14 -14 -14h-420c-8 0 -14 6 -14 14s6 14 14 14h420zM413 368c19 0 35 -16 35 -35v-178c0 -19 -16 -35 -35 -35h-378c-19 0 -35 16 -35 35v178 c0 19 16 35 35 35h378zM82 152c8 0 14 6 14 14s-6 14 -14 14h-36c-8 0 -14 -6 -14 -14s6 -14 14 -14h36zM82 308c8 0 14 6 14 14s-6 14 -14 14h-36c-8 0 -14 -6 -14 -14s6 -14 14 -14h36zM224 164c44 0 80 36 80 80s-36 80 -80 80s-80 -36 -80 -80s36 -80 80 -80zM402 152 c8 0 14 6 14 14s-6 14 -14 14h-36c-8 0 -14 -6 -14 -14s6 -14 14 -14h36zM402 308c8 0 14 6 14 14s-6 14 -14 14h-36c-8 0 -14 -6 -14 -14s6 -14 14 -14h36zM171 242c0 29 24 53 53 53s53 -24 53 -53s-24 -53 -53 -53s-53 24 -53 53z" /> <glyph glyph-name="ion-md-menu" unicode="" horiz-adv-x="384" d="M0 64v43h384v-43h-384zM0 171v42h384v-42h-384zM0 320h384v-43h-384v43z" /> <glyph glyph-name="ion-ios-eye-off" unicode="" horiz-adv-x="448" d="M56 380l356 -356c6 -6 6 -14 0 -20c-2 -2 -5 -3 -7 -4c-5 -1 -9 0 -13 4l-356 356c-6 6 -6 14 0 20s14 6 20 0zM228 102c12 1 24 4 35 9l43 -44c-25 -12 -52 -19 -82 -19c-98 0 -155 61 -220 133c-6 6 -6 16 0 22c30 32 57 60 85 81l54 -54c-5 -10 -8 -22 -9 -34 c-2 -53 41 -96 94 -94zM444 182c-24 -26 -52 -57 -85 -82l-54 54c5 10 8 22 9 34c2 53 -41 96 -94 94c-12 0 -25 -4 -35 -9l-43 44c26 12 53 19 82 19c96 0 168 -69 220 -133c5 -6 5 -15 0 -21zM160 187c-1 8 1 17 3 24l79 -80c-7 -2 -15 -4 -23 -3c-31 2 -57 28 -59 59z M288 192c0 -6 -1 -13 -3 -19l-18 19h3c6 0 12 2 18 4v-4zM224 239v-5l-19 19c6 2 13 3 19 3h3c-2 -5 -3 -11 -3 -17z" /> <glyph glyph-name="ion-ios-radio-button-on" unicode="" d="M208 372c-48 0 -93 -19 -127 -53s-53 -79 -53 -127s19 -93 53 -127s79 -53 127 -53s93 19 127 53s53 79 53 127s-19 93 -53 127s-79 53 -127 53zM208 400v0c115 0 208 -93 208 -208s-93 -208 -208 -208s-208 93 -208 208s93 208 208 208zM316 300c29 -29 44 -67 44 -108 s-15 -79 -44 -108s-67 -44 -108 -44s-79 15 -108 44s-44 67 -44 108s15 79 44 108s67 44 108 44s79 -15 108 -44z" /> <glyph glyph-name="ion-logo-xbox" unicode="" horiz-adv-x="448" d="M95 200c-49 -72 -50 -139 -50 -143c-28 38 -45 84 -45 135c0 67 30 128 77 169l3 -1c51 -18 93 -68 93 -68s-38 -33 -78 -92zM448 192c0 -51 -17 -97 -45 -135c0 4 -1 71 -50 143c-40 59 -78 92 -78 92s42 50 93 68l3 1c47 -41 77 -102 77 -169zM169 367 c-37 17 -65 12 -72 10c36 25 80 39 127 39s91 -14 127 -39c-7 2 -35 6 -72 -10c-29 -13 -55 -35 -55 -35s-26 22 -55 35zM327 155c40 -49 54 -85 62 -108l2 -5c-41 -46 -101 -74 -167 -74s-126 28 -167 74l1 5c8 23 23 59 63 108c46 57 103 94 103 94s57 -37 103 -94z" /> <glyph glyph-name="ion-logo-html5" unicode="" horiz-adv-x="384" d="M0 416h384l-35 -403l-157 -45l-157 45zM308 284l4 50h-241l13 -150h167l-6 -64l-53 -15l-54 15l-3 39h-48l6 -78l99 -27l98 28l14 151h-176l-4 51h184z" /> <glyph glyph-name="ion-ios-globe" unicode="" d="M208 400c115 0 208 -93 208 -208s-93 -208 -208 -208v0h-1c-55 0 -107 22 -146 61s-61 91 -61 147s22 108 61 147s91 61 146 61h1v0zM388 206c-3 36 -16 69 -38 97c-16 -8 -32 -15 -49 -21c6 -24 9 -49 10 -76h77zM194 206v62c-18 1 -36 3 -53 7c-5 -21 -8 -45 -9 -69h62 zM194 178h-62c1 -24 4 -48 9 -69c17 4 35 6 53 7v62zM222 178v-62c18 -1 35 -3 52 -7c5 21 8 45 9 69h-61zM222 206h61c-1 24 -4 48 -9 69c-17 -4 -34 -6 -52 -7v-62zM331 324c-19 17 -40 31 -64 39c10 -15 19 -34 26 -55c13 4 26 10 38 16zM267 301c-11 34 -28 59 -45 68 v-74c15 1 30 3 45 6zM194 369c-17 -9 -34 -34 -46 -68c15 -3 31 -5 46 -6v74zM148 363c-24 -8 -45 -22 -63 -39c12 -6 24 -12 37 -16c7 21 16 41 26 55zM66 303c-22 -28 -35 -62 -38 -97h77c1 27 4 52 10 76c-17 5 -33 13 -49 21zM28 178c3 -36 15 -69 37 -97 c16 8 33 15 50 21c-6 24 -9 49 -10 76h-77zM84 60c18 -17 40 -31 64 -39c-10 15 -19 34 -26 55c-13 -4 -26 -10 -38 -16zM148 83c12 -34 29 -59 46 -68v74c-15 -1 -31 -3 -46 -6zM222 15c17 9 34 34 45 68c-15 3 -30 5 -45 6v-74zM267 21c24 8 46 22 65 39 c-12 6 -25 12 -38 16c-7 -21 -17 -40 -27 -55zM350 81c22 28 35 61 38 97h-77c-1 -27 -4 -52 -10 -76c17 -6 33 -13 49 -21z" /> <glyph glyph-name="ion-md-print" unicode="" d="M352 288c35 0 64 -29 64 -64v-139h-80v-85h-256v85h-80v139c0 35 29 64 64 64h288zM304 32v128h-192v-128h192zM336 384v0v-80h-256v80h256z" /> <glyph glyph-name="ion-md-information-circle" unicode="" d="M208 400c115 0 208 -93 208 -208s-93 -208 -208 -208s-208 93 -208 208s93 208 208 208zM229 88v125h-42v-125h42zM229 254v42h-42v-42h42z" /> <glyph glyph-name="ion-ios-open" unicode="" d="M180 148c5 -5 13 -5 18 0l134 134c3 -5 4 -12 4 -18v-224c0 -22 -18 -40 -40 -40h-256c-22 0 -40 18 -40 40v224c0 22 18 40 40 40h256c6 0 13 -1 18 -4l-134 -134c-5 -5 -5 -13 0 -18zM412 380c2 -2 4 -6 4 -10v-98c0 -7 -6 -13 -13 -13s-13 6 -13 13v67l-58 -57 c-4 8 -10 14 -18 18l57 58h-67c-7 0 -13 6 -13 13s6 13 13 13h97c4 0 9 -2 11 -4z" /> <glyph glyph-name="ion-md-mic" unicode="" horiz-adv-x="320" d="M160 128c-38 0 -69 31 -69 69v150c0 38 31 69 69 69s69 -31 69 -69v-150c0 -38 -31 -69 -69 -69zM281 203h39c0 -78 -62 -142 -137 -153v-82h-46v82c-75 10 -137 75 -137 153h39c0 -69 58 -116 121 -116s121 47 121 116z" /> <glyph glyph-name="ion-md-cloud-circle" unicode="" d="M208 400c114 0 208 -94 208 -208s-94 -208 -208 -208s-208 94 -208 208s94 208 208 208zM302 109c29 0 52 23 52 52s-23 52 -52 52h-11c0 46 -37 83 -83 83c-38 0 -71 -26 -80 -62h-3c-34 0 -63 -29 -63 -63s29 -62 63 -62h177z" /> <glyph glyph-name="ion-md-heart" unicode="" d="M208 0l-30 27c-107 98 -178 162 -178 242c0 65 50 115 114 115c36 0 71 -17 94 -44c23 27 58 44 94 44c64 0 114 -50 114 -115c0 -80 -71 -144 -178 -242z" /> <glyph glyph-name="ion-ios-musical-notes" unicode="" horiz-adv-x="320" d="M310 400c6 1 10 -4 10 -8v-302c0 -21 -9 -38 -27 -48c-13 -8 -29 -12 -37 -13s-13 -1 -19 -1c-16 1 -42 14 -42 48c0 37 40 47 64 52c5 1 11 2 14 3c8 2 14 7 17 13c2 4 2 9 2 13v131c0 5 -5 9 -10 8l-152 -31c-4 -1 -6 -3 -6 -7v-213c0 -26 -13 -41 -24 -48 c-15 -10 -44 -13 -51 -13v0c-3 0 -5 1 -7 1c-19 2 -42 16 -42 47c0 37 40 47 64 52c5 1 11 2 14 3c8 2 13 7 16 13c2 4 2 10 2 12v240c0 4 4 7 8 8s201 39 206 40z" /> <glyph glyph-name="ion-ios-pin" unicode="" horiz-adv-x="288" d="M144 400c80 0 144 -60 144 -134c0 -104 -144 -282 -144 -282s-144 178 -144 282c0 74 64 134 144 134zM144 209c26 0 47 21 47 47s-21 47 -47 47s-47 -21 -47 -47s21 -47 47 -47z" /> <glyph glyph-name="ion-ios-cloud" unicode="" horiz-adv-x="512" d="M437 218c43 -8 75 -47 75 -92c0 -50 -41 -94 -91 -94h-330c-50 0 -91 44 -91 94c0 41 26 80 66 93c1 39 33 74 72 74c10 0 19 -3 27 -6c27 39 72 65 123 65c77 0 141 -59 149 -134z" /> <glyph glyph-name="ion-md-easel" unicode="" d="M80 144v128h256v-128h-256zM400 352c9 0 16 -7 16 -16v-256c0 -9 -7 -16 -16 -16h-384c-9 0 -16 7 -16 16v256c0 9 7 16 16 16h384zM368 112v192h-320v-192h320zM32 -16l23 64h57l-23 -64h-57zM231 400l12 -32h-70l12 32h46zM327 -16l-23 64h57l23 -64h-57zM184 16v32h48 v-32h-48z" /> <glyph glyph-name="ion-md-pie" unicode="" horiz-adv-x="448" d="M1 192c0 5 -1 11 -1 16c0 115 93 208 208 208c5 0 11 -1 16 -1v-32v-191h-191h-32zM78 46c-26 32 -42 71 -45 114h223v223c43 -3 82 -19 114 -45c47 -38 78 -96 78 -162c0 -115 -93 -208 -208 -208c-66 0 -124 31 -162 78z" /> <glyph glyph-name="ion-md-done-all" unicode="" horiz-adv-x="512" d="M388 308l-140 -139l-31 31l140 139zM481 339l31 -31l-264 -263l-122 123l30 31l92 -91zM0 168l32 31l122 -123l-31 -31z" /> <glyph glyph-name="ion-md-volume-low" unicode="" horiz-adv-x="288" d="M0 256h85l107 112v-352l-107 112h-85v128zM288 192c0 -38 -21 -73 -53 -88v177c32 -16 53 -51 53 -89z" /> <glyph glyph-name="ion-md-help" unicode="" horiz-adv-x="256" d="M161 0h-66v65h66v-65zM160 98h-64c0 101 96 95 96 159c0 35 -29 63 -64 63s-64 -30 -64 -64h-64c0 71 57 128 128 128s128 -56 128 -127c0 -80 -96 -89 -96 -159z" /> <glyph glyph-name="ion-ios-contract" unicode="" horiz-adv-x="384" d="M120 243l-116 117c-5 5 -5 15 0 20c3 3 6 4 10 4s7 -1 10 -4l117 -116v77c0 8 6 14 14 14v0c8 0 14 -6 14 -14v-112c0 -8 -6 -14 -14 -14h-112c-8 0 -14 6 -14 14v0c0 8 6 14 14 14h77zM229 215c-8 0 -14 6 -14 14v112c0 8 6 14 14 14v0c8 0 14 -6 14 -14v-77l117 116 c3 3 6 4 10 4s7 -1 10 -4c5 -5 5 -15 0 -20l-116 -117h77c8 0 14 -6 14 -14v0c0 -8 -6 -14 -14 -14h-112zM14 0c-4 0 -7 1 -10 4c-5 5 -5 15 0 20l116 117h-77c-8 0 -14 6 -14 14v0c0 8 6 14 14 14h112c8 0 14 -6 14 -14v-112c0 -8 -6 -14 -14 -14v0c-8 0 -14 6 -14 14v77 l-117 -116c-3 -3 -6 -4 -10 -4zM229 29c-8 0 -14 6 -14 14v112c0 8 6 14 14 14h112c8 0 14 -6 14 -14v0c0 -8 -6 -14 -14 -14h-77l116 -117c5 -5 5 -15 0 -20c-3 -3 -6 -4 -10 -4s-7 1 -10 4l-117 116v-77c0 -8 -6 -14 -14 -14v0z" /> <glyph glyph-name="ion-md-megaphone" unicode="" horiz-adv-x="448" d="M350 305c21 -21 34 -50 34 -81s-13 -60 -34 -81l-23 23c15 15 24 36 24 58s-9 43 -24 58zM396 349c32 -32 52 -76 52 -125s-20 -93 -52 -125l-22 23c26 26 42 62 42 102s-16 76 -42 102zM288 264c18 -2 32 -19 32 -40s-14 -38 -32 -40v-104h-32l-96 64h-30l30 -128h-48 l-80 128l-32 16v112l32 16h128l96 80h32v-104z" /> <glyph glyph-name="ion-md-speedometer" unicode="" d="M80 -16v48h256v-48h-256zM208 160c-18 0 -32 14 -32 32c0 3 0 6 1 9l-49 67l4 4l67 -49c3 1 6 1 9 1c18 0 32 -14 32 -32s-14 -32 -32 -32zM208 400c115 0 208 -93 208 -208c0 -48 -16 -93 -44 -128h-59l-4 4l-22 22l23 23l22 -22c20 24 32 54 35 85h-31v32h31 c-3 31 -15 61 -35 85l-22 -22l-23 23l22 22c-24 20 -54 32 -85 35v-31h-32v31c-31 -3 -61 -15 -85 -35l22 -22l-23 -23l-22 22c-20 -24 -32 -54 -35 -85h31v-32h-31c3 -31 15 -61 35 -85l22 22l23 -23l-22 -22l-4 -4h-59c-28 35 -44 80 -44 128c0 115 93 208 208 208z" /> <glyph glyph-name="ion-md-pint" unicode="" horiz-adv-x="384" d="M0 400h384l-43 -379c-3 -21 -20 -37 -42 -37h-214c-22 0 -39 16 -42 37zM327 275l9 83h-288l9 -83h270z" /> <glyph glyph-name="ion-md-contacts" unicode="" horiz-adv-x="448" d="M207 104c47 -14 76 -62 87 -104h-294c11 42 40 90 87 104c18 -10 38 -16 60 -16s42 6 60 16zM147 328c58 0 106 -48 106 -106s-48 -106 -106 -106s-106 48 -106 106s48 106 106 106zM147 141c34 0 62 23 74 51h-148c12 -28 40 -51 74 -51zM291 64c-13 20 -34 43 -60 53 c11 9 21 23 28 35c13 -5 27 -8 42 -8c22 0 42 6 60 16c47 -14 76 -54 87 -96h-157zM275 248c-8 37 -31 69 -63 87c19 29 52 49 89 49c58 0 106 -48 106 -106s-48 -106 -106 -106c-11 0 -22 2 -32 5c3 8 6 16 7 25c8 -3 16 -4 25 -4c34 0 62 22 74 50h-100z" /> <glyph glyph-name="ion-ios-bonfire" unicode="" horiz-adv-x="384" d="M207 97l15 -75c1 -3 1 -5 1 -8c0 -18 -14 -30 -32 -30s-32 12 -32 30c0 2 1 5 1 7l15 79v0c2 7 8 12 16 12s15 -7 16 -15zM242 93v0v0zM325 62c9 -8 9 -25 0 -35c-10 -10 -27 -9 -35 0c-1 1 -2 2 -3 4l-45 62c-3 5 -2 11 2 15c4 5 10 5 16 1l60 -43c2 -1 3 -3 5 -4z M308 113v0v0zM371 128c8 0 13 -6 13 -18c0 -9 -10 -17 -18 -15l-57 18h-1v0c-3 2 -5 5 -4 9s4 6 8 6h59zM75 113v0v0zM75 113v0l-58 -18c-8 -2 -17 6 -17 15s4 18 12 18h60s7 -2 8 -6s-2 -7 -5 -9v0zM124 109c5 4 11 3 16 -1c4 -4 5 -10 2 -15l-45 -61c-1 -2 -2 -4 -3 -5 c-10 -10 -25 -10 -35 0s-10 25 0 35c2 2 3 3 5 4zM295 309c0 -30 -10 -55 -51 -81c-37 -24 -93 -43 -109 -100c0 0 -58 23 -48 91s124 100 112 181c24 0 96 -33 96 -91zM295 188c-16 -47 -44 -60 -80 -60c-15 0 -36 12 -47 28c12 14 28 24 47 34c9 5 20 10 29 16 c21 14 39 28 48 46c5 -14 8 -49 3 -64zM98 276c-6 4 -12 16 -11 29c2 21 34 36 32 65c14 2 34 -6 45 -26c-5 -10 -15 -20 -28 -32s-26 -21 -38 -36z" /> <glyph glyph-name="ion-logo-googleplus" unicode="" horiz-adv-x="512" d="M318 217c0 0 2 -11 2 -29c0 -43 -14 -84 -42 -113c-28 -30 -68 -46 -110 -46c-46 0 -91 17 -123 50c-30 31 -45 72 -45 113s16 85 46 115c31 31 74 48 118 48v0c57 0 94 -29 108 -41l-48 -48c-8 7 -28 21 -58 21c-27 0 -51 -7 -69 -25s-28 -43 -28 -70s10 -52 29 -70 c18 -18 43 -26 69 -26c36 0 75 19 84 64h-91v64h157zM512 224v-41h-57v-57h-41v57h-57v41h57v57h41v-57h57z" /> <glyph glyph-name="ion-md-stats" unicode="" horiz-adv-x="352" d="M96 0v384h64v-384h-64zM0 0v112h64v-112h-64zM192 0v176h64v-176h-64zM288 0v272h64v-272h-64z" /> <glyph glyph-name="ion-ios-rewind" unicode="" horiz-adv-x="448" d="M4 199l208 120c5 3 12 -1 12 -7v-115l212 122c5 3 12 -1 12 -7v-240c0 -6 -7 -10 -12 -7l-212 122v-115c0 -6 -7 -10 -12 -7l-208 120c-5 3 -5 11 0 14z" /> <glyph glyph-name="ion-logo-polymer" unicode="" horiz-adv-x="448" d="M360 352l88 -160l-88 -160h-78l88 160l-51 93l-153 -253h-78l-88 160l88 160h78l-88 -160l51 -93l153 253h78z" /> <glyph glyph-name="ion-md-timer" unicode="" d="M185 76c0 13 10 24 23 24s23 -11 23 -24s-10 -23 -23 -23s-23 10 -23 23zM185 400h23c115 0 208 -93 208 -208s-93 -208 -208 -208s-208 93 -208 208c0 68 32 128 83 166v1l158 -157l-33 -33l-125 125c-23 -28 -37 -63 -37 -102c0 -89 72 -162 162 -162s162 73 162 162 c0 82 -61 149 -139 160v-44h-46v92zM347 192c0 -13 -10 -23 -23 -23s-24 10 -24 23s11 23 24 23s23 -10 23 -23zM69 192c0 13 10 23 23 23s24 -10 24 -23s-11 -23 -24 -23s-23 10 -23 23z" /> <glyph glyph-name="ion-md-checkmark" unicode="" horiz-adv-x="384" d="M122 108l230 230l32 -31l-262 -261l-122 122l32 31z" /> <glyph glyph-name="ion-ios-water" unicode="" horiz-adv-x="320" d="M256 302c37 -52 64 -111 64 -175c0 -79 -72 -143 -160 -143c-56 0 -106 26 -134 65c-6 8 -11 17 -15 26c-7 16 -11 34 -11 52v4c1 62 27 119 64 171c34 48 68 79 91 96c3 2 7 2 10 0c23 -18 57 -47 91 -96zM170 37c55 0 100 42 100 94v1c0 10 -13 12 -17 3 c-17 -42 -41 -67 -86 -81c-9 -3 -7 -17 3 -17v0z" /> <glyph glyph-name="ion-ios-cloudy" unicode="" horiz-adv-x="448" d="M204 352v0c70 0 113 -49 125 -103h6h7c58 0 106 -50 106 -109s-48 -108 -106 -108h-257c-47 0 -85 41 -85 88c0 44 34 84 77 88c0 4 -1 9 -1 13c0 71 58 131 128 131z" /> <glyph glyph-name="ion-md-podium" unicode="" horiz-adv-x="448" d="M0 32v192h128v-192h-128zM160 32v288h128v-288h-128zM320 32v128h128v-128h-128z" /> <glyph glyph-name="ion-ios-basketball" unicode="" d="M171 142c-22 23 -48 42 -77 56s-60 22 -92 24c5 33 18 64 36 90c64 -28 122 -68 172 -118c3 -3 5 -6 8 -9l-6 -6c-13 -13 -27 -25 -41 -37zM278 262c-21 21 -37 46 -49 73c-9 21 -15 43 -17 65c45 -1 87 -16 121 -42c-15 -34 -32 -67 -53 -97c-1 0 -2 1 -2 1zM351 213 c-18 8 -36 19 -52 31c21 30 40 62 55 96c37 -37 61 -88 62 -144c-22 2 -44 8 -65 17zM146 130c1 -1 2 -3 4 -4c-33 -24 -68 -46 -105 -63c-28 35 -45 80 -45 129v4c25 -2 50 -7 73 -17c27 -12 52 -28 73 -49zM236 204c-26 27 -56 52 -86 74c-30 21 -62 40 -95 55 c33 36 79 61 131 66c6 -61 35 -117 79 -159c-9 -12 -19 -25 -29 -36zM253 185c11 12 21 24 31 37c38 -29 83 -47 131 -52c-5 -52 -30 -97 -66 -131c-24 53 -57 102 -96 146zM187 122c17 14 34 28 49 44c38 -43 69 -91 92 -144c-26 -18 -57 -31 -90 -36c-4 49 -21 96 -51 136 zM167 106c11 -15 21 -31 28 -49c10 -23 15 -48 17 -73h-4c-56 0 -107 23 -145 59c37 17 72 39 104 63z" /> <glyph glyph-name="ion-ios-at" unicode="" horiz-adv-x="384" d="M384 214c0 -74 -35 -121 -90 -121c-28 0 -49 15 -53 37h-4c-10 -23 -30 -36 -57 -36c-49 0 -82 40 -82 98c0 56 33 94 81 94c25 0 46 -12 55 -32h4v28h39v-130c0 -16 9 -26 25 -26c28 0 46 34 46 86c0 83 -63 139 -155 139c-91 0 -156 -66 -156 -160 c0 -96 64 -158 164 -158c20 0 40 2 55 5c10 2 18 -6 18 -16v0c0 -7 -5 -13 -12 -15c-18 -4 -39 -7 -62 -7c-122 0 -200 75 -200 192c0 114 79 192 195 192c111 0 189 -69 189 -170zM141 191c0 -37 18 -60 46 -60c30 0 49 24 49 60s-20 59 -49 59s-46 -22 -46 -59z" /> <glyph glyph-name="ion-md-pulse" unicode="" horiz-adv-x="448" d="M396 179c29 0 52 -22 52 -51c0 -14 -5 -27 -15 -37s-23 -16 -37 -16c-20 0 -40 12 -48 31h-56c-9 0 -16 6 -19 14l-16 40l-40 -162c-2 -8 -10 -14 -19 -14h-1c-10 1 -17 7 -19 16l-54 282l-31 -161c-2 -9 -10 -15 -19 -15h-74v40h58l51 238c2 10 9 16 19 16s18 -8 20 -18 l55 -292l34 136c2 8 10 14 19 14v0c9 0 16 -5 19 -13l31 -81h42c8 20 26 33 48 33z" /> <glyph glyph-name="ion-ios-medal" unicode="" d="M2 324h126c1 0 2 -1 2 -2v-118c0 -1 -2 -2 -3 -2l-104 29c-14 4 -23 17 -23 31v60c0 1 1 2 2 2zM208 166zM156 322c0 1 1 2 2 2h106c1 0 2 -1 2 -2v-124c0 -1 0 -2 -1 -2l-56 -16h-1l-50 14c-1 0 -2 1 -2 2v126zM286 322c0 1 1 2 2 2h126c1 0 2 -1 2 -2v-60 c0 -14 -9 -27 -23 -31l-104 -30c-1 0 -3 1 -3 2v119zM0 384c0 18 14 32 32 32h352c18 0 32 -14 32 -32v-38c0 -1 -1 -2 -2 -2h-412c-1 0 -2 1 -2 2v38zM208 140zM152 96c0 31 25 56 56 56s56 -25 56 -56s-25 -56 -56 -56s-56 25 -56 56zM303 181c20 -23 33 -52 33 -85 c0 -71 -57 -128 -128 -128s-128 57 -128 128c0 33 13 63 33 86l51 -14c-24 -15 -40 -42 -40 -72c0 -46 38 -84 84 -84s84 38 84 84c0 30 -16 57 -40 72zM208 152c31 0 56 -25 56 -56s-25 -56 -56 -56s-56 25 -56 56s25 56 56 56z" /> <glyph glyph-name="ion-md-shuffle" unicode="" horiz-adv-x="384" d="M158 260l-34 -34l-124 124l34 34zM252 384h132v-132l-49 49l-301 -301l-34 34l301 301zM260 158l75 -75l49 49v-132h-132l49 49l-75 75z" /> <glyph glyph-name="ion-md-flower" unicode="" horiz-adv-x="384" d="M341 192c25 -12 43 -37 43 -67c0 -41 -34 -74 -75 -74c-16 0 -31 5 -43 13l1 -6c0 -41 -34 -74 -75 -74s-75 33 -75 74l1 6c-12 -8 -27 -13 -43 -13c-41 0 -75 33 -75 74c0 30 18 55 43 67c-25 12 -43 37 -43 67c0 41 34 74 75 74c16 0 31 -5 43 -13l-1 6 c0 41 34 74 75 74s75 -33 75 -74l-1 -6c12 8 27 13 43 13c41 0 75 -33 75 -74c0 -30 -18 -55 -43 -67zM192 118c41 0 75 33 75 74s-34 74 -75 74s-75 -33 -75 -74s34 -74 75 -74z" /> <glyph glyph-name="ion-md-walk" unicode="" horiz-adv-x="272" d="M168 336c-22 0 -40 18 -40 40s18 40 40 40s40 -18 40 -40s-18 -40 -40 -40zM168 216l-20 38l-20 -62l57 -96v-128h-38v96l-50 68l-57 -164h-40l81 320l-41 -16v-80h-40v112l111 38c4 1 10 1 13 1c13 0 23 -6 31 -18l45 -69h72v-40h-104z" /> <glyph glyph-name="ion-md-add-circle" unicode="" d="M208 400c115 0 208 -93 208 -208s-93 -208 -208 -208s-208 93 -208 208s93 208 208 208zM315 171v42h-86v86h-42v-86h-86v-42h86v-86h42v86h86z" /> <glyph glyph-name="ion-ios-thumbs-up" unicode="" horiz-adv-x="384" d="M367 59c-2 -2 -4 -5 -3 -8c0 -1 1 -2 1 -3c3 -6 5 -13 1 -23c-11 -26 -45 -33 -76 -37c-17 -2 -36 -4 -56 -4c-38 0 -81 4 -113 8c-22 3 -34 7 -46 12c-16 6 -31 12 -67 12c-5 0 -8 3 -8 8v160c0 4 4 8 8 8c6 0 15 3 22 10c3 3 9 11 14 19c8 12 17 25 26 33c2 2 6 5 10 9 c17 15 49 43 57 60c5 11 9 30 12 42c4 15 3 23 6 27c5 6 16 8 28 8s20 -9 26 -19c12 -21 13 -57 3 -90c-5 -17 -11 -28 -15 -36c-3 -6 -5 -11 -5 -13c1 -5 4 -6 17 -5c3 0 11 1 21 3c25 4 62 10 80 11c26 2 37 0 47 -12c8 -9 13 -24 8 -38c-2 -6 0 -14 4 -18 c5 -5 10 -11 10 -23c0 -13 -3 -21 -6 -26c-2 -3 -3 -6 -2 -10v-1c0 -1 1 -2 2 -3c5 -6 11 -15 11 -29c0 -15 -9 -26 -17 -32z" /> <glyph glyph-name="ion-ios-rocket" unicode="" d="M414 394c13 -57 -34 -180 -102 -248c-13 -13 -27 -24 -40 -33c2 -21 1 -41 -7 -59c-22 -50 -80 -66 -105 -70c-6 -1 -12 4 -11 10l9 81c-8 0 -14 1 -18 1s-8 3 -11 6l-32 31c-3 3 -5 7 -5 11s-1 10 -1 18l-81 -8c-6 -1 -11 4 -10 10c4 25 19 83 69 105c18 8 39 9 60 7 c9 13 20 27 33 40c68 68 195 115 249 102c2 0 3 -2 3 -4zM251 234c17 -17 43 -17 60 0s17 44 0 61s-43 17 -60 0s-17 -44 0 -61zM127 68c2 2 5 0 5 -3c-1 -10 -5 -19 -13 -27c-18 -18 -85 -20 -85 -20s2 67 20 85c8 8 17 12 27 13c3 0 5 -4 3 -6v0c-4 -4 -7 -12 -8 -20 c-3 -18 13 -33 31 -30c8 1 16 4 20 8v0z" /> <glyph glyph-name="ion-md-alarm" unicode="" horiz-adv-x="428" d="M428 323l-28 -33l-98 82l28 33zM125 373l-97 -83l-28 33l97 83zM225 275v0v-111l85 -50l-16 -27l-101 61v127h32zM214 360c106 0 193 -86 193 -191s-87 -191 -193 -191c-107 0 -193 86 -193 191s86 191 193 191zM214 20c82 0 150 66 150 149c0 82 -68 149 -150 149 s-150 -67 -150 -149s68 -149 150 -149z" /> <glyph glyph-name="ion-ios-sad" unicode="" d="M208 400c115 0 208 -93 208 -208s-93 -208 -208 -208s-208 93 -208 208s93 208 208 208zM134 248c-12 -1 -21 -10 -22 -22c-1 -15 11 -27 26 -26c12 1 21 10 22 22c1 15 -11 27 -26 26zM133 96c0 0 39 4 77 4s73 -4 73 -4c12 0 19 11 14 22c-15 34 -49 59 -89 59 s-74 -25 -89 -59c-5 -11 2 -22 14 -22zM282 200c12 1 21 10 22 22c1 15 -11 27 -26 26c-12 -1 -21 -10 -22 -22c-1 -15 11 -27 26 -26z" /> <glyph glyph-name="ion-md-nuclear" unicode="" horiz-adv-x="448" d="M304 176h144c0 -83 -46 -153 -114 -192l-71 122c-12 -6 -25 -10 -39 -10s-28 3 -40 10l-70 -122c-68 39 -114 109 -114 192h144c0 29 15 54 38 68l-71 125c33 19 72 31 113 31s80 -11 113 -30l-73 -124c24 -14 40 -40 40 -70z" /> <glyph glyph-name="ion-md-attach" unicode="" horiz-adv-x="235" d="M203 320h32v-235c0 -65 -53 -117 -118 -117s-117 52 -117 117v246c0 47 38 85 85 85s86 -38 86 -85v-246c0 -30 -24 -53 -54 -53s-53 23 -53 53v203h32v-203c0 -12 9 -21 21 -21s22 9 22 21v246c0 30 -24 53 -54 53s-53 -23 -53 -53v-246c0 -47 38 -85 85 -85 s86 38 86 85v235z" /> <glyph glyph-name="ion-ios-more" unicode="" horiz-adv-x="384" d="M192 230v0c21 0 38 -17 38 -38s-17 -38 -38 -38s-38 17 -38 38s17 38 38 38zM38 230v0c21 0 38 -17 38 -38s-17 -38 -38 -38s-38 17 -38 38s17 38 38 38zM346 230v0c21 0 38 -17 38 -38s-17 -38 -38 -38s-38 17 -38 38s17 38 38 38z" /> <glyph glyph-name="ion-md-tablet-portrait" unicode="" horiz-adv-x="320" d="M296 416c13 0 24 -11 24 -24v-400c0 -13 -11 -24 -24 -24h-272c-13 0 -24 11 -24 24v400c0 13 11 24 24 24h272zM288 32v336h-256v-336h256zM160 -14c8 0 14 6 14 14s-6 14 -14 14s-14 -6 -14 -14s6 -14 14 -14z" /> <glyph glyph-name="ion-md-journal" unicode="" horiz-adv-x="341" d="M32 405h203v-426h-203c-18 0 -32 14 -32 32v362c0 18 14 32 32 32zM299 405c23 0 42 -19 42 -42v-342c0 -23 -19 -42 -42 -42h-16v426h16z" /> <glyph glyph-name="ion-md-arrow-dropright" unicode="" horiz-adv-x="128" d="M0 320l128 -128l-128 -128v256z" /> <glyph glyph-name="ion-md-flame" unicode="" horiz-adv-x="320" d="M297 226c14 -24 23 -47 23 -85s-4 -74 -32 -106s-63 -51 -119 -51c-17 0 -34 1 -48 7s-25 13 -33 25c-11 16 -21 28 -25 52c-6 -25 -1 -48 6 -60c-43 26 -69 71 -69 125v4c5 78 65 93 90 135c8 14 14 30 10 48c11 -9 18 -26 18 -40c0 -16 -2 -28 -2 -28c4 8 12 18 14 31 c6 35 -10 70 -50 117l17 -2c94 -16 168 -56 188 -154c7 -36 -3 -68 -10 -83c14 11 21 43 22 55v10z" /> <glyph glyph-name="ion-ios-volume-low" unicode="" horiz-adv-x="256" d="M151 302c6 -3 9 -8 9 -14v-192c0 -6 -3 -11 -9 -14c-2 -1 -5 -2 -7 -2c-4 0 -7 2 -10 4l-65 52h-53c-9 0 -16 7 -16 16v80c0 9 7 16 16 16h53l65 52c3 2 6 4 10 4c2 0 5 -1 7 -2zM226 265c19 -20 30 -45 30 -73v0v0c0 -28 -11 -54 -30 -74c-2 -2 -5 -3 -8 -3s-6 1 -8 3 c-5 5 -5 12 0 17c15 15 22 36 22 57v0v0c0 22 -7 41 -22 56c-5 5 -5 13 0 18s11 4 16 -1z" /> <glyph glyph-name="ion-md-switch" unicode="" horiz-adv-x="288" d="M56 232c-31 0 -56 25 -56 56s25 56 56 56h95c14 15 35 24 57 24c44 0 80 -36 80 -80s-36 -80 -80 -80c-22 0 -43 9 -57 24h-95zM39 305c-5 -4 -7 -11 -7 -17s2 -12 7 -17c4 -5 11 -7 17 -7h76c-2 8 -4 16 -4 24s2 16 4 24h-76c-6 0 -12 -2 -17 -7zM232 152 c31 0 56 -25 56 -56s-25 -56 -56 -56h-95c-14 -15 -35 -24 -57 -24c-44 0 -80 36 -80 80s36 80 80 80c22 0 43 -9 57 -24h95zM249 79c5 4 7 11 7 17s-2 12 -7 17c-4 5 -11 7 -17 7h-76c2 -8 4 -16 4 -24s-2 -16 -4 -24h76c6 0 12 2 17 7z" /> <glyph glyph-name="ion-md-information-circle-outline" unicode="" d="M208 358c-44 0 -86 -18 -117 -49s-49 -73 -49 -117s18 -86 49 -117s73 -49 117 -49s86 18 117 49s49 73 49 117s-18 86 -49 117s-73 49 -117 49zM208 400v0c115 0 208 -93 208 -208s-93 -208 -208 -208s-208 93 -208 208s93 208 208 208zM229 88h-42v125h42v-125z M229 254h-42v42h42v-42z" /> <glyph glyph-name="ion-md-swap" unicode="" horiz-adv-x="448" d="M99 217v-75h175v-49h-175v-75l-99 99zM448 267l-99 -100v75h-175v49h175v75z" /> <glyph glyph-name="ion-md-film" unicode="" horiz-adv-x="320" d="M280 384h40v-384h-40v43h-40v-43h-160v43h-40v-43h-40v384h40v-43h40v43h160v-43h40v43zM80 85v43h-40v-43h40zM80 171v42h-40v-42h40zM80 256v43h-40v-43h40zM280 85v43h-40v-43h40zM280 171v42h-40v-42h40zM280 256v43h-40v-43h40z" /> <glyph glyph-name="ion-md-moon" unicode="" horiz-adv-x="410" d="M144 323c0 -106 86 -192 192 -192c26 0 51 5 74 15c-22 -91 -104 -159 -202 -159c-115 0 -208 93 -208 208c0 98 68 180 159 202c-10 -23 -15 -48 -15 -74z" /> <glyph glyph-name="ion-md-partly-sunny" unicode="" horiz-adv-x="448" d="M235 312l-19 19l25 25l19 -19zM144 322c30 0 56 -15 70 -39c-7 -2 -13 -4 -19 -7c-20 -9 -37 -22 -51 -39l-13 -16c-21 -5 -39 -15 -54 -28c-9 13 -15 29 -15 47c0 45 37 82 82 82zM130 343v41h28v-41h-28zM0 226v28h41v-28h-41zM50 171l18 -18l-25 -25l-19 19l25 25z M28 337l19 19l25 -25l-19 -19zM374 159c42 -3 74 -37 74 -79c0 -44 -36 -80 -80 -80h-208c-53 0 -96 43 -96 96c0 47 32 85 78 94c5 1 13 2 18 2c43 0 78 -27 91 -64h28c-6 21 -16 39 -32 55c-21 21 -48 32 -77 34c21 27 52 39 86 39c58 0 107 -42 118 -97z" /> <glyph glyph-name="ion-md-subway" unicode="" horiz-adv-x="352" d="M176 400c94 0 176 -10 176 -85v-214c0 -42 -33 -74 -75 -74l27 -27v-16h-256v16l27 27c-42 0 -75 32 -75 74v214c0 75 82 85 176 85zM80 64c18 0 32 14 32 32s-14 32 -32 32s-32 -14 -32 -32s14 -32 32 -32zM160 208v96h-112v-96h112zM272 64c18 0 32 14 32 32 s-14 32 -32 32s-32 -14 -32 -32s14 -32 32 -32zM304 208v96h-112v-96h112z" /> <glyph glyph-name="ion-ios-cloudy-night" unicode="" horiz-adv-x="448" d="M246 153c42 0 76 -35 76 -77s-34 -76 -76 -76h-186c-34 0 -60 29 -60 62c0 32 24 59 55 62v9c0 50 41 91 92 91c44 0 80 -30 89 -71h8h2zM420 143c7 0 16 2 23 3c4 0 6 -3 4 -6c-4 -6 -10 -13 -15 -19c-22 -25 -53 -43 -87 -51c0 2 1 4 1 6c0 26 -10 52 -29 71 c-17 17 -39 28 -63 30c-7 18 -19 34 -34 46c-21 17 -47 25 -73 25h-5c9 61 54 112 114 130c8 2 15 5 23 6c3 0 6 -3 4 -6l-11 -19c-10 -20 -16 -42 -16 -65c0 -40 16 -79 46 -107c30 -29 68 -45 110 -45c3 0 6 1 8 1z" /> <glyph glyph-name="ion-ios-ribbon" unicode="" horiz-adv-x="384" d="M191 155c-70 1 -129 59 -130 129c-1 73 59 133 132 132c70 -1 129 -60 130 -130c1 -73 -59 -132 -132 -131zM187 359c-37 -2 -66 -32 -68 -69c-3 -44 34 -81 78 -78c37 2 66 31 68 68c3 44 -34 82 -78 79zM192 140c9 0 18 0 27 2c3 1 5 -3 4 -6l-31 -69l-43 -94 c-3 -6 -12 -7 -15 -1l-39 65c-2 2 -4 4 -7 4h-80c-6 0 -10 6 -7 12l76 133c1 2 4 3 6 1c27 -29 66 -47 109 -47zM300 187c2 2 5 1 7 -1l76 -133c3 -6 -1 -12 -7 -12h-80c-3 0 -5 -2 -7 -4l-39 -65c-3 -6 -12 -5 -15 1l-34 74v4l45 97c0 1 1 3 2 3c20 8 37 20 52 36z" /> <glyph glyph-name="ion-logo-css3" unicode="" horiz-adv-x="384" d="M192 109v0zM0 416h384l-35 -403l-157 -45l-157 45zM291 81l22 252h-241l4 -49h184l-4 -51h-121l4 -50h112l-5 -64l-54 -15v0v0l-53 15l-4 40h-48l7 -78l98 -28z" /> <glyph glyph-name="ion-md-remove" unicode="" horiz-adv-x="320" d="M0 171v42h320v-42h-320z" /> <glyph glyph-name="ion-ios-share" unicode="" horiz-adv-x="320" d="M280 272c22 0 40 -18 40 -40v-208c0 -22 -18 -40 -40 -40h-240c-22 0 -40 18 -40 40v208c0 22 18 40 40 40h107v-147c0 -7 6 -13 14 -13c7 0 12 6 12 13v147h107zM173 356v-84h-26v84l-48 -47c-5 -5 -13 -5 -18 0s-5 13 0 18l70 69v0c1 1 2 2 4 3s3 1 5 1c3 0 7 -2 9 -4 l70 -69c5 -5 5 -13 0 -18s-13 -5 -18 0z" /> <glyph glyph-name="ion-ios-arrow-dropleft" unicode="" d="M253 300c8 -8 8 -19 0 -27l-81 -81l79 -81c8 -8 8 -19 0 -27c-4 -4 -8 -6 -13 -6s-10 2 -14 6l-94 94c-7 8 -6 20 1 27l95 95c8 8 19 8 27 0zM208 400c115 0 208 -93 208 -208s-93 -208 -208 -208s-208 93 -208 208s93 208 208 208zM332 68c33 33 52 77 52 124 s-19 91 -52 124s-77 52 -124 52s-91 -19 -124 -52s-52 -77 -52 -124s19 -91 52 -124s77 -52 124 -52s91 19 124 52z" /> <glyph glyph-name="ion-md-checkbox" unicode="" horiz-adv-x="384" d="M341 384c23 0 43 -20 43 -43v-298c0 -23 -20 -43 -43 -43h-298c-23 0 -43 20 -43 43v298c0 23 20 43 43 43h298zM149 85l192 192l-30 30l-162 -162l-76 77l-30 -30z" /> <glyph glyph-name="ion-ios-bookmarks" unicode="" horiz-adv-x="432" d="M376 416c30 0 56 -25 56 -55v-290c0 -30 -25 -55 -55 -55h-108c-4 0 -8 0 -12 -1c-16 -3 -27 -17 -27 -33c0 -8 -8 -15 -16 -14c-7 1 -12 7 -12 14c0 16 -12 30 -27 33c-4 1 -8 1 -12 1h-108c-30 0 -55 25 -55 55v290c0 30 25 55 55 55h106v0c22 0 41 -18 41 -41v-314 c0 -8 7 -14 15 -14s13 6 13 14v314c0 23 19 41 41 41v0h41v-128l23 15l9 6l9 -6l23 -15v128z" /> <glyph glyph-name="ion-ios-key" unicode="" d="M297 230c66 0 119 -54 119 -122s-53 -124 -119 -124s-119 56 -119 124c0 18 2 32 9 48c-3 5 -9 11 -10 17c-1 5 7 25 6 30s-8 10 -11 11c-9 2 -25 -11 -31 -10s-21 14 -22 24s15 24 5 34s-21 -3 -30 -3c-7 0 -11 4 -16 9c-6 6 -9 11 -9 19s4 18 3 24s-2 9 -10 12 s-27 -7 -36 3c-6 6 -10 9 -25 24c-5 5 21 33 28 40c5 4 13 10 21 10c5 0 10 -2 15 -7c10 -11 143 -124 194 -167c12 4 25 4 38 4zM320 48c18 0 32 14 32 32s-14 32 -32 32s-32 -14 -32 -32s14 -32 32 -32z" /> <glyph glyph-name="ion-md-basketball" unicode="" d="M144 176h48v-192c-42 3 -81 19 -113 44c38 41 61 93 65 148zM224 -16v192h49c4 -55 26 -107 64 -148c-32 -25 -71 -41 -113 -44zM192 400v-192h-48c-3 55 -26 107 -64 148c31 25 70 41 112 44zM273 208h-49v192c42 -3 80 -19 112 -44c-38 -41 -60 -93 -63 -148zM361 334 c31 -34 51 -78 55 -126h-110c2 22 6 43 14 63c9 23 24 45 41 63zM320 115c-8 20 -12 40 -14 61h110c-4 -48 -24 -91 -55 -125c-18 19 -31 40 -41 64zM96 271c8 -20 12 -41 14 -63h-110c4 48 25 92 56 126c17 -19 30 -40 40 -63zM55 51c-31 34 -51 77 -55 125h110 c-2 -21 -6 -41 -14 -61c-10 -24 -23 -45 -41 -64z" /> <glyph glyph-name="ion-md-pause" unicode="" horiz-adv-x="320" d="M0 0v384h107v-384h-107zM213 384h107v-384h-107v384z" /> <glyph glyph-name="ion-md-return-right" unicode="" horiz-adv-x="448" d="M0 312h47v-96h311l-85 86l33 34l142 -144l-142 -144l-33 34l85 86h-358v144z" /> <glyph glyph-name="ion-ios-star" unicode="" horiz-adv-x="448" d="M431 256c9 0 17 -7 17 -16c0 -4 -2 -8 -5 -11l-3 -2l-120 -86l46 -135c2 -7 1 -14 -5 -18c-3 -2 -6 -4 -9 -4s-7 2 -10 4l-118 84l-118 -84c-3 -2 -7 -4 -10 -4s-6 2 -9 4c-6 4 -7 12 -5 18l46 135l-121 85c-5 4 -7 7 -7 11v3c0 9 7 16 16 16v0h148l45 133 c2 6 8 11 15 11s13 -5 15 -11l45 -133h147z" /> <glyph glyph-name="ion-ios-female" unicode="" d="M14 -16c-4 0 -7 1 -10 4c-5 5 -5 14 0 19l45 45l-37 37c-5 5 -5 14 0 19c2 3 5 4 9 4s7 -1 10 -4l37 -37l50 50c-26 31 -40 70 -40 110c0 23 4 45 13 66c8 20 20 37 36 53s34 29 54 37c21 9 43 13 66 13s45 -4 66 -13c20 -8 37 -21 53 -37s29 -33 37 -53 c9 -21 13 -43 13 -66s-4 -45 -13 -66c-8 -20 -21 -38 -37 -54s-33 -28 -53 -36c-21 -9 -43 -13 -66 -13c-40 0 -79 14 -110 40l-50 -50l37 -37c5 -5 5 -14 0 -19c-2 -3 -5 -4 -9 -4s-7 1 -10 4l-37 37l-45 -45c-2 -3 -5 -4 -9 -4zM146 331c-27 -27 -41 -62 -41 -100 s15 -73 42 -100s62 -42 100 -42s73 15 100 42s42 62 42 100s-15 73 -42 100s-62 42 -100 42s-74 -15 -101 -42z" /> <glyph glyph-name="ion-logo-playstation" unicode="" horiz-adv-x="512" d="M400 245c0 -11 0 -22 -2 -33c-2 -10 -5 -20 -10 -28c-4 -7 -10 -13 -18 -17c-7 -4 -16 -6 -24 -6c-13 0 -31 4 -42 9v131v2c0 9 -7 17 -15 17h-1c-9 0 -16 -8 -16 -17v-3v-300l-80 26v358s28 -4 75 -18s67 -21 84 -31c8 -5 15 -11 21 -17c7 -7 13 -14 17 -23 c8 -16 10 -33 11 -50zM87 90c-4 -2 -8 -3 -11 -6c-1 -1 -3 -3 -2 -5s4 -4 6 -5c6 -2 13 -3 19 -3c7 0 15 0 22 2c5 1 9 3 14 5c30 10 41 12 41 12v-42c-14 -2 -36 -4 -50 -4c-30 -1 -60 4 -88 13c-9 3 -19 6 -27 12c-4 3 -8 8 -10 13c-2 4 -1 9 1 13s5 8 9 11 c9 6 18 10 28 14c8 4 17 7 26 10c35 12 111 37 111 37v-47s-62 -20 -89 -30zM512 102c0 -5 -2 -9 -5 -13c-6 -7 -14 -11 -22 -15s-17 -8 -26 -11c-54 -19 -171 -59 -171 -59v48s92 30 133 44c6 2 11 4 16 8c2 2 4 3 3 6c-1 2 -4 4 -6 5c-6 2 -13 3 -19 3 c-10 0 -20 -2 -30 -5c-29 -10 -97 -32 -97 -32v49s45 14 67 16c8 1 23 1 31 1c26 0 54 -3 79 -11c5 -2 8 -3 14 -5c9 -3 18 -8 25 -14c4 -4 8 -9 8 -15z" /> <glyph glyph-name="ion-ios-git-merge" unicode="" horiz-adv-x="384" d="M314 230c39 0 70 -31 70 -70s-31 -70 -70 -70c-33 0 -61 24 -68 56c-12 0 -25 3 -50 13c-31 12 -72 32 -113 89v-141c15 -3 29 -11 39 -22c12 -13 18 -30 18 -47c0 -39 -31 -70 -70 -70s-70 31 -70 70c0 17 6 33 17 46c10 11 24 19 38 22v172c-15 3 -28 11 -38 22 c-11 13 -17 29 -17 46c0 39 31 70 70 70s70 -31 70 -70c0 -30 -18 -56 -45 -66c40 -63 81 -83 111 -95c21 -8 29 -11 39 -11c6 32 35 56 69 56zM112 38c0 23 -19 42 -42 42s-42 -19 -42 -42s19 -42 42 -42s42 19 42 42zM70 304c23 0 42 19 42 42s-19 42 -42 42 s-42 -19 -42 -42s19 -42 42 -42zM314 118c23 0 42 19 42 42s-19 42 -42 42s-42 -19 -42 -42s19 -42 42 -42z" /> <glyph glyph-name="ion-md-remove-circle-outline" unicode="" d="M208 358c-44 0 -86 -18 -117 -49s-49 -73 -49 -117s18 -86 49 -117s73 -49 117 -49s86 18 117 49s49 73 49 117s-18 86 -49 117s-73 49 -117 49zM208 400v0c115 0 208 -93 208 -208s-93 -208 -208 -208s-208 93 -208 208s93 208 208 208zM315 171h-214v42h214v-42z" /> <glyph glyph-name="ion-ios-clock" unicode="" d="M355 339c81 -81 81 -213 0 -294s-213 -81 -294 0s-81 213 0 294s213 81 294 0zM42 184c3 1 5 3 6 6c1 6 -3 11 -9 10c-3 -1 -6 -3 -7 -6c-1 -6 4 -11 10 -10zM68 102c2 2 3 5 2 8c-2 5 -9 8 -13 4c-2 -2 -3 -5 -2 -8c2 -5 9 -8 13 -4zM70 274c1 3 0 6 -2 8 c-4 4 -11 1 -13 -4c-1 -3 0 -6 2 -8c4 -4 11 -1 13 4zM132 44c1 3 -1 6 -3 8c-4 4 -10 2 -12 -3c-1 -3 0 -7 2 -9c4 -4 11 -1 13 4zM129 332c2 2 4 5 3 8c-2 5 -9 8 -13 4c-2 -2 -3 -6 -2 -9c2 -5 8 -7 12 -3zM165 255l33 -61c1 -2 2 -5 2 -8v-122c0 -5 3 -8 8 -8s8 3 8 8 v122c0 5 -2 10 -4 15l-34 63c-2 4 -7 4 -11 2s-4 -7 -2 -11zM210 16c3 1 5 3 6 6c1 6 -3 11 -9 10c-3 -1 -6 -3 -7 -6c-1 -6 4 -11 10 -10zM210 352c3 1 5 3 6 6c1 6 -3 11 -9 10c-3 -1 -6 -3 -7 -6c-1 -6 4 -11 10 -10zM297 40c2 2 4 6 3 9c-2 5 -9 7 -13 3 c-2 -2 -3 -5 -2 -8c2 -5 8 -8 12 -4zM300 335c1 3 -1 7 -3 9c-4 4 -10 1 -12 -4c-1 -3 0 -6 2 -8c4 -4 11 -2 13 3zM361 106c1 3 0 6 -2 8c-4 4 -11 1 -13 -4c-1 -3 0 -6 2 -8c4 -4 11 -1 13 4zM359 270c2 2 3 5 2 8c-2 5 -9 8 -13 4c-2 -2 -3 -5 -2 -8c2 -5 9 -8 13 -4z M378 184c3 1 5 3 6 6c1 6 -3 11 -9 10c-3 -1 -6 -3 -7 -6c-1 -6 4 -11 10 -10z" /> <glyph glyph-name="ion-md-sunny" unicode="" horiz-adv-x="448" d="M245 416v0v-64h-42v64h42zM374 372v0l30 -30l-38 -38l-30 30zM74 372v0l38 -38l-30 -30l-38 38zM224 320v0c70 0 128 -58 128 -128s-58 -128 -128 -128s-128 58 -128 128s58 128 128 128zM448 213v0v-42h-64v42h64zM64 213v0v-42h-64v42h64zM366 80v0l38 -38l-30 -30 l-38 38zM82 80v0l30 -30l-38 -38l-30 30zM245 32v0v-64h-42v64h42z" /> <glyph glyph-name="ion-ios-add-circle" unicode="" d="M208 400c115 0 208 -93 208 -208s-93 -208 -208 -208s-208 93 -208 208s93 208 208 208zM298 176c9 0 16 7 16 16s-7 16 -16 16h-74v74c0 9 -7 16 -16 16s-16 -7 -16 -16v-74h-74c-9 0 -16 -7 -16 -16c0 -4 1 -8 4 -11s8 -5 12 -5h74v-74c0 -4 2 -9 5 -12s7 -4 11 -4 c9 0 16 7 16 16v74h74z" /> <glyph glyph-name="ion-ios-browsers" unicode="" d="M0 267c0 22 18 40 40 40h243c22 0 40 -18 40 -40v-243c0 -22 -18 -40 -40 -40h-243c-22 0 -40 18 -40 40v243zM93 360c0 22 18 40 40 40h243c22 0 40 -18 40 -40v-243c0 -22 -18 -40 -40 -40h-28c-2 0 -4 2 -4 4v199c0 26 -22 48 -48 48h-199c-2 0 -4 2 -4 4v28z" /> <glyph glyph-name="ion-ios-git-pull-request" unicode="" horiz-adv-x="384" d="M329 106c14 -3 28 -11 38 -22c11 -13 17 -29 17 -46c0 -39 -31 -70 -70 -70s-70 31 -70 70c0 17 6 34 18 47c10 11 24 19 39 22v135c0 17 -1 41 -9 58c-8 16 -22 24 -42 24h-77l41 -40v0c3 -3 4 -6 4 -10s-1 -7 -4 -10s-6 -4 -10 -4s-7 1 -10 4l-56 56 c-3 -11 -8 -21 -16 -29c-10 -11 -24 -19 -39 -22v-162c15 -3 29 -11 39 -22c12 -13 18 -30 18 -47c0 -39 -31 -70 -70 -70s-70 31 -70 70c0 17 6 33 17 46c10 11 24 19 38 22v164c-15 3 -28 11 -38 22c-11 13 -17 29 -17 46c0 39 31 70 70 70c32 0 59 -22 67 -51l55 55 c3 3 6 4 10 4s7 -2 10 -4v0c5 -6 5 -15 0 -20l-40 -40h78c34 0 58 -16 70 -45c9 -23 9 -50 9 -65v-136zM112 38c0 23 -19 42 -42 42s-42 -19 -42 -42s19 -42 42 -42s42 19 42 42zM70 296c23 0 42 19 42 42s-19 42 -42 42s-42 -19 -42 -42s19 -42 42 -42zM314 -4 c23 0 42 19 42 42s-19 42 -42 42s-42 -19 -42 -42s19 -42 42 -42z" /> <glyph glyph-name="ion-md-quote" unicode="" horiz-adv-x="383" d="M32 32l45 97h-77v223h160v-223l-51 -97h-77zM256 32l50 97h-82v223h159v-223l-50 -97h-77z" /> <glyph glyph-name="ion-md-pricetags" unicode="" horiz-adv-x="448" d="M410 341l38 -37v-128l-191 -180c-9 -9 -23 -12 -31 -12s-21 4 -29 12l213 204v141zM352 400l32 -32v-160l-188 -180c-9 -9 -23 -12 -31 -12s-21 4 -29 12l-124 124c-9 9 -12 21 -12 32s4 20 12 28l180 188h160zM321 297c10 3 19 12 22 22c6 22 -10 41 -31 41 c-18 0 -32 -14 -32 -32c0 -21 19 -37 41 -31z" /> <glyph glyph-name="ion-logo-angular" unicode="" horiz-adv-x="448" d="M182 192l42 89l42 -89h-84zM224 416l224 -80l-46 -272l-178 -96l-178 96l-46 272zM312 96h40l-128 280l-128 -280h40l27 56h122z" /> <glyph glyph-name="ion-md-thermometer" unicode="" horiz-adv-x="192" d="M143 148c29 -16 49 -48 49 -84c0 -53 -43 -96 -96 -96s-96 43 -96 96c0 36 20 68 49 84v222c0 26 21 46 47 46s47 -20 47 -46v-222zM80 370v-50h32v50c0 8 -8 14 -16 14s-16 -6 -16 -14z" /> <glyph glyph-name="ion-ios-information" unicode="" horiz-adv-x="41" d="M0 272c0 11 9 20 20 20s21 -9 21 -20s-10 -20 -21 -20s-20 9 -20 20zM1 236h39v-144h-39v144z" /> <glyph glyph-name="ion-ios-basket" unicode="" horiz-adv-x="448" d="M356 74v76h67l-18 -76h-49zM356 0v55h45l-6 -25c-5 -17 -20 -30 -39 -30v0zM233 0v56h104v-56h-104zM43 74l-17 76h66v-76h-49zM111 168v88h104v-88h-104zM233 168v88h104v-88h-104zM54 30l-7 26h45v-56v0c-19 0 -33 13 -38 30zM111 0v56h104v-56h-104zM233 74v76h104 v-76h-104zM111 74v76h104v-76h-104zM432 256c10 0 18 -10 16 -20l-20 -68h-72v174c0 8 -6 14 -14 14h-236c-8 0 -14 -6 -14 -14v-174h-72l-20 68c-2 10 6 20 16 20h48v96c0 18 14 32 32 32h256c18 0 32 -14 32 -32v-96h48z" /> <glyph glyph-name="ion-md-hourglass" unicode="" horiz-adv-x="256" d="M0 400h256v-123v0v0l-85 -85l85 -85v0v0v-123h-256v123v0v0l85 85l-85 85v0v0v123zM213 96l-85 85l-85 -85v-71h170v71zM128 203l85 85v72h-170v-72z" /> <glyph glyph-name="ion-ios-leaf" unicode="" d="M406 69c17 -3 10 -39 -5 -37c0 0 -20 1 -62 14c0 0 -15 -23 -38 -34c-25 -12 -117 -33 -195 38c-106 97 -118 354 -98 333c85 -90 194 -47 266 -106c54 -44 92 -122 76 -196c0 0 4 -4 56 -12zM314 62c5 5 10 16 10 24c-84 28 -151 72 -194 108c-4 3 -9 -2 -5 -6 c44 -45 111 -103 189 -126z" /> <glyph glyph-name="ion-ios-folder" unicode="" horiz-adv-x="448" d="M448 329v-42c0 -2 -2 -1 -3 0s-5 1 -7 1h-428c-2 0 -6 0 -7 -1s-3 -2 -3 0v74c0 13 11 23 25 23h96c8 0 12 -2 17 -7v0l23 -23c2 -2 3 -2 6 -2h258c13 0 23 -10 23 -23zM0 32v212c0 9 7 16 16 16h416c9 0 16 -7 16 -16v-212c0 -18 -14 -32 -32 -32h-384 c-17 0 -32 14 -32 32z" /> <glyph glyph-name="ion-md-laptop" unicode="" horiz-adv-x="512" d="M437 32h75c0 -23 -64 -32 -96 -32h-320c-32 0 -96 9 -96 32h75c-23 0 -43 20 -43 43v266c0 23 20 43 43 43h362c23 0 43 -20 43 -43v-266c0 -23 -20 -43 -43 -43zM75 341v-272h362v272h-362zM256 13c12 0 21 10 21 22s-9 21 -21 21s-21 -9 -21 -21s9 -22 21 -22z" /> <glyph glyph-name="ion-md-notifications-outline" unicode="" horiz-adv-x="352" d="M177 328c7 0 24 -5 24 -5c46 -10 78 -53 78 -100v-114v-13l9 -10l8 -8h-240l8 8l9 10v13v114c0 47 32 90 78 100c0 0 18 5 24 5zM176 400v0c18 0 31 -13 31 -31v-15c59 -14 104 -68 104 -131v-114l41 -42v-21h-352v21l41 42v114c0 63 45 117 104 131v15c0 18 13 31 31 31 zM217 26v0c0 -23 -18 -42 -41 -42s-41 19 -41 42h82z" /> <glyph glyph-name="ion-ios-tv" unicode="" horiz-adv-x="484" d="M438 370c26 0 46 -20 46 -46v-216c0 -26 -20 -46 -46 -46h-392c-26 0 -46 20 -46 46v216c0 26 20 46 46 46h392zM456 108v0v216c0 10 -8 18 -18 18h-392c-10 0 -18 -8 -18 -18v-216c0 -10 8 -18 18 -18h392c10 0 18 8 18 18zM422 320c7 0 12 -5 12 -12v-184 c0 -7 -5 -12 -12 -12h-360c-7 0 -12 5 -12 12v184c0 7 5 12 12 12h360zM356 42c8 0 14 -6 14 -14s-6 -14 -14 -14h-228c-8 0 -14 6 -14 14s6 14 14 14h228z" /> <glyph glyph-name="ion-ios-phone-landscape" unicode="" horiz-adv-x="448" d="M0 272c0 18 15 32 33 32h381c18 0 34 -14 34 -32v-159c0 -18 -16 -33 -34 -33h-381c-18 0 -33 15 -33 33v159zM23 177c0 -2 2 -4 4 -4s4 2 4 4v30c0 2 -2 4 -4 4s-4 -2 -4 -4v-30zM437 192c0 10 -7 18 -17 18s-18 -8 -18 -18s8 -17 18 -17s17 7 17 17zM392 288h-341v-192 h341v192zM410 192c0 6 5 10 10 10c6 0 10 -4 10 -10s-4 -10 -10 -10c-5 0 -10 4 -10 10z" /> <glyph glyph-name="ion-ios-warning" unicode="" d="M181 368c12 21 42 21 54 0l177 -323c11 -20 -4 -45 -27 -45h-354c-23 0 -38 25 -27 45zM226 234h-36l4 -122h28zM208 46c11 0 19 8 19 18s-8 18 -19 18s-19 -8 -19 -18s8 -18 19 -18z" /> <glyph glyph-name="ion-ios-arrow-round-back" unicode="" horiz-adv-x="288" d="M104 284c5 -5 5 -13 0 -18l-60 -61h231c7 0 13 -6 13 -13s-6 -13 -13 -13h-231l60 -61c5 -5 5 -13 0 -18s-13 -5 -18 0l-82 83v0c-1 1 -2 2 -3 4s-1 3 -1 5c0 3 2 7 4 9l82 83c5 5 13 5 18 0z" /> <glyph glyph-name="ion-ios-play-circle" unicode="" d="M208 400c115 0 208 -93 208 -208s-93 -208 -208 -208s-208 93 -208 208s93 208 208 208zM292 188c3 2 3 6 0 8l-137 83c-3 2 -7 0 -7 -4v-166c0 -4 4 -6 7 -4z" /> </font> </defs></svg> PK}w�\0(�0X�X�fonts/ionicons.ttfnu�[��� �PFFTM��p��<OS/2@�`tX`cmap�����Jcvt D�gasp���4glyf�1��l�Thead����6hhea�z$hmtx&��� �loca�F$�xmaxpq8 name��`��postY2����Xh/]*_<��H#)�H#*������.����@@.��LfGLf��PfEd�������.�A ����\��������������������� ��� �������������������������� ���@����������(�@�����������������������`����������������@���������������h`����0@�����@��� ������������������L���������U����@�������� ����������@��������������@����������� �P���@��@������������� ����������@�����`�` �����������@�@@���@`@����`��@���@��������@�@��������������������@���� �������@������@�������@������@��VV������V`L`LV������������������� ��������� `�@������@��������������*������������������������P������@@�`����� �@���@@�������@��������������������@������0��@@�`�@��`�����������@�����@l``��������@������� ��@��@�����@�������������`�@@�����������������������������`�`�� @�@��������`�@�����@����@`�������������P�P���������(����������������@������@ ���������)��a������`�@����������������������@����������������D(FF�������������������������������������������������������� ����������#�%�+�N�P�R�T�V�[�]�_�a�d�f�i�k�m�o�����4�O�T���������������������������������������� ���������� �%�'�)�+�-�/�1�3�5�7�?�C�F�H�J�M�P�T�\�_�a�h�l�n�p�r�x�z�|�~��������������������������������������������������������������������������������������� ����������!�%�'�-�P�R�T�V�X�]�_�a�c�f�h�k�m�o�q������6�T�V������������������������������������������������� �%�'�)�+�-�/�1�3�5�7�?�C�F�H�J�M�P�T�\�^�a�h�k�n�p�r�x�z�|�~������������������������������������������������������������������������������������������������������������|{xwvutsrnkihgfedcb_^]\XWVUTSRQPOHECBA?=:321+)('&! � � � � � � � � � �D***^�� H���Pv�f� Dx���,v���8�� B ~ � 2 l � �B�4�� 0 X 2P�� R���Z��J�X��*�d�P��$��n�����^�0v��&Xt>b ~ � �!!4!d!�!�"^"�"�##<#d#�#�$$�$�$�$�%%|%�&R&�'�(:(\(�(�)*)P)�)�*|*�+N+�,,�,�-R-t-�.4.�.�//6/�/�00T0�0�1�222�2�3d3�3�3�4.55^5�5�6.6l6�6�7,7^7�88T8�8�909�9�::v:�;�;�<><f<�<�=F=�=�>>N>�>�?j?�@"@b@�@�AnA�A�B$B|B�B�CC�C�C�DD&D�D�D�E(EZE�FFTF~F�F�G8GZG|H�H�H�INI�I�JvJ�K KBKtK�LPL�M*M\M�NTN~N�OODOxO�PP�QRQ�Q�Q�RR\R�R�SS�T>T�U2U�V\V�W�X8X�Y~Y�Y�ZZBZ�[[�\\B\x\�]F]�]�^^t^�_r_�_�`D`�`�`�`�a2aPa�a�b:bpb�b�b�b�ccc6cBcZcfc~c�c�c�c�dd:dNd�ee0erfFf~f�f�g$gDg�h\h�h�i2iTi�jj.jfj�j�j�k kdk�k�l l4l�l�l�mn�ooFo�ppBp�p�p�qq:qbq�q�q�q�r�r�r�r�ssrs�tt:tdt�t�uu,uXurvv:vdv�v�ww|w�w�x x<x�x�x�y yvy�y�y�zzzZznz�z�{{B{T{�{�||�}(}f}v}�}�~~,~|~�~�zҀ*�����r����Z�����ރ0�`�����҃��^�����Є��&���؆�.�N���ć�>�����ވ�J�z���Ȉ��6�P���Ȋ��:�Ȋ��0�B�x���� �8�d����,�����������(�J�����ԏ�L�j������������ґ��4�Z���Ғ� �2�h�Д�"�J�b�n������� �b�t����<�V��������F�d��������t�����ܙ�&�B�t������f������$�L�r���Ȝ�*�v��4�L�d������P�r���Ğ��0�H�������h���ܠ���6�T����̤J����(�l���&�x�ʧ�T�z�R���ʩ*�p�������^��P���֮�\���ί^���İ��T��(�P���ʳ"�:����B����(�V���ֵ�X���ʷN��n���ֹ�$�T���ں:�t���ܻh�����h�̽@����8���*�n�����J�x���U.�/<��2��<��2�/<��2��<��233'3#�wffU��3����#%2+"=#"4;5426"264$2"&4*J JJ :�jj�j���zz�z� JJ JJ�j�jj��z�zz�����!2"&424+54"#";32=z�zz�z*J JJ�z�zz�f JJJJ@@72+#"'&=#"&54;542�a` ` � `` ``��\�3T%2#!"54;275>4.'5&+"543!2+"3';26'.=4>76&+"N��!#""@!#""�� � ) .BB. .BB."$ 7 7 &����2"&474"25264&"z�zz�z�"�z�zz�sQ �`Ai!!%4'&'&"27676/3#"'&'&'&5476767632#54&#"325/3#"'&'&'&5476767632#54&#"325��@�/ � /1#�#1P.% ". �.% "- `���& 11 &,11+% &# % &# ������ir{.'76'&#"'76'4"5&"'76/&"'76'4"5&"'&272?272?272?72?6/"'7#2&7436j�_j�q F0%���0%�pj_�j_�� ��GI��GI��2+"&=463264&"264&" (88(�(88(((�((�8(�(88(�(8�(((( ����")AJQX73/&6'46#"'2/632&547+64?6;2+"/&5%#"&7&576&ʳ'@7R/*Y0*~�n�M�(,2G22G2%m&9M��N;M:7$�mw/�M;�22F22K/*'AM@N�( ����"3DGKt�%53!537#"'&"'&'#.54632227'27654&'&'&"'&'&#"'53'#54'&+"'&7'&'&5463"2;2#4'&+"&7>'ᑰH��R0z5?�]#!4?�]#!\7-� 1) � 2) 6-�"B( 6& �0000�i>]� i>]��� �-70PG-61Q �""000[ %��$9"/&4?62?6"/&4?6%"/&4?6?6s � $ � �= $ d# � $ � #5 � $ � ll6CCD ��-CCXCC1 1����U7'7'77&'&676>'&'7>.'.'.32?32?327>/73276/�@@@�%C|||&%C|||- @ @ �>>>>W||&%C|||&%C� > >! ! ����3H2"&47&+"327654/&+?6'&'&#";254+'3276/z�zz�z�| 6% 5-!�)1 �z�zz�� 6 > ZR%. @�@W%+"'&'&'&'&##"&'&'.54;227676'&'&'&5676322767676;2�5 >2 B ' J (�1 &6B" ",( 1- , +5�� '!"=463!22#!"&54326'&+"3��h`��� d H��� ���� %#"5'53+75'32cgc�h�QaQ;`������h����>76/462"&"26V QQ ^ _dz�zz�h�hh�h� QO ^ _h�zz�zhh�hh��� !11!517'1'3'75#UU�UU�UU�UU��{UU{{UU�UUG�UHH����#"/&?&2"&464&"� QO ^ _h�zz�zhh�hh: QQ ^ _dz�zz���h�hh�h����2"&46/&7z�zz�z$��z�zz�ZS�����6#"'&?'&462"264&"� _ ^ PR�z�zz�Zh�hh�,_ ^ QQ ��zz�z�hh�h�r+32#!"&=46354&#!"3!26'2#!"=432+"43��x� �x � "��&�r����� � ���������6&?6/"&462264&"r_ ^ QQ��zz�z��hh�h�_ ^ OQ�z�zz�Zh�hh�[ %32+/.54?_ <� �< RR% == SS��0�P6#"&/&765427� SS ==� RR =� �<[ %6'&?#"4;'� RR =� �< SS ==��0�P6/"='&?>32� == SS� <� �= RR����=2+"'&=47632#"&=43226=4'&#";26=4� "* , !"$$" ",� !-�%%�$#�� ��0� d(9L#"/#"=4;76321#"'&76514'&6#"'&76514'&61#"'&76514'&6� A55A�A :: A?. ((3. � 4P5p[A 8SS8 A�0 (::( ) ** "" �`22+"./&4767>3'76&'&?6[()� H+ �44554-55`(�*L - �55445.44P0(#"/#"=4;76321"'&76514'&76� A55AO . � 4P4' )* #" ����!%)E%5353#53%'3753353'3"353753#5372#54+"#'&6;5463!2dC1- �h��Bhh��-0hh�h� H�H 0JLLJ788JLL^XXXX�888JLLLL�D��D``P�0%172#!"&=46354&#!"3!2672#'2#!"=437#73|��`��L0P���--0�����{!$!shht=+=P�0%2#!"&=46354&#!"3!2672#|��`��L00�����{!$!P�0%12#!"&=46354&#!"3!2672#'2#!"=43|��`��L0P��0�����{!$!shh��37'#%5'5>4&'UkkU 5@UU@/;;/p��p@0�1�l�l-RfR����%2+"&54&'4>3!!=47#!"}%�& ���� � ��'& "$G����<62"7'&?654'&z�zz��QQ _ ^j�zz�z�OQ _ ^ ����-5R\#"&546=4&=463276327632;2'&+"2#!"432++"'&76=4;254&+3260 � ��" � �4 ` 3 ��` ��`���'/R7"27654'.2"&4$"&462"2654.2"&472+".'"=4.'&54?632]&6AL88L7.#(6&&AL77L8K9 1 H �6&8L77L��(4&&8L77L} 4ZB E <�����'27#"=&'&?'&65432'"?6'?6/&�tU lm VtX?B??s x�J [\I�y L�w5�A5����2"&4'76&3276z�zz�z�OQ _ ^ �z�zz��QQ _ ^����048Z%#&'#"'"47>?27"&/+&'#'&54?624"24"7/"5'&+"#&?6;76;232($$A<$%+j� 7007 �;Xh� "9# ���Un,,,uaVVa/����<62"732?6/&z�zz�zO ^ _ j�zz�z�Q ^ _ ����!"./:G\ju7"&54657632"'&/&762'72/#&7631&54;26&76?.7>'2#"'6?6767'&7>'6� %S- <? 9�:<+ -"�3- (+G<!& � #aK O>+3 ="�1 "!/"35�<)L ( ����"&462'7654/&7&�zz�z�Q ^ _ z�zz�zO ^ _ ���46;2/&5�uup��\\�����#7#"'&76'32''76#"&77&�� �5h?3*V�5h>3*V���Y ɶHq�Y ɶHq0�P)@%+./6764/67632#"&5463272#"&'67=4/&/7>N M! P� BK�"3 "PW98XAAX89W; A p37'#%5UkkU p��p@0�1������.72#"'&76546%'&54&'"'&?6312?632v): L I .d�-3$5 ��;+@ !!'8�� 4$/+�����C�:S72#"'&6323276767+"&7>54676=463122'&'&54'&'.3�&' ��� .! !/ % - %% 3 / @D D@ / 8998 ������ By#"'&'62&'&?67&'"#'&'&6;76367&'&'&'&'&7>2'&'"'&76'&'5>76?&762W%56% /��B'8, $ T $ +9'B A%%?V#.�4 +. ! m/+ 3�." ! ����(2"&42674"&'&63?64/&"z�zz�z�2J>*,@@-II5KK�z�zz��D1 )9?,-A*/ 5%KjK����*26#"'&#""&47676'&767323276'&� *�$ �/"-/�� =!� $� 71-/� ���x4%2+'"+"?4#'"+"?6/&;23725'&;237x (( Aa 2y&%z2 aA���.DE-����(�;CK+"=4?6&#"+"=4/&"+"5&'.'&5462"4;2#'"4;2#( YvY�$8L&* ^ * 3__3 *_ *&:SS��,�p!G$2"&=4#!""&=4623!254%"=463!2+"=4+"+"=4+"#� �� d��(bb� � � ^^ @� -7CMYa7:3+"'466+"5:>2+"&546;676&72=4+"3676&754+";2'24+"37&7���Wb�-bb�e����O�tN_t��R�.'08AI2+"&46354+54+"#";;2=322654#"264&#"6264&#"2654"Q.AA.�.AA.9#$##p>6&.>^@@^>y##$#5&S6�p &/%2#!"543++"&'&'&'4763!2>54'&'B��!$," < / & , 0'+!.9O �& J����-DYg1#"'&547654'&5476321#"'&4764'&5462'#"'&5147632#"'&5147622"=&54h88//3## �//884## 5(""�5IJ5->?,1!00! L,~,5JI5.L !00! $ �� $������(%'&'9&'&76?6762u AI42+$ -, *S%)41L@ ( -,������%%'&647&'&631326;1� �� Be</r��!+=""=/A j h ��4HR??!44B.G(�X#+3:@% '&=4>76;2"!4Ĉ&"4+";264&"+"537+"p02��2*:x:�'$��ppJ�U0�`V�),L L"\9 8� F����#+2#43&53+"&5426=4&"462"���� t(&�� L$$7 �` #!5463!25!#!"&7";24+";24#��@��@������@00��>����#-5=E463!2#!"&57676&7676&7676&24+"3724+"3724+"3Z��Y �����m��1 i i �hh �p'/7?GO%2#!"432#!"432#!"&=46324+"3724+"3264&"24+"3724+"3462"��\��\���/$$$�B//B/$$$�,,\0D�����/B//B;�X,,(�X5A462"27#!"&=462?632?6276/&?'"/63!@((��lK K!$K K/7Q0� ((��nP PP P0B"R����� H%#/&#"#"&547>32#267#"/"""'&764'&54?32769Gd`>Hfs 0H!84dG:dE9LbE/+N 8<%-A. Ed��/2#!"&54634#!"3!2'#"/&?62762`��D��88�8,z���@��8����8-{��"2#!"&54636/&"'&"27`��z,8���@�{-8����##"/&?62762&"264$2"&4;�8,z�jj�j���zz�z��8-{cj�jj��z�zz�����2"&46/&"'&"27z�zz�z:z,8�z�zz�{-8������&.C&?"&#"/&54&5&767667>2264&"6676726� >2 P Q 8$2�*�""o+�,�2$9 Q P 2> �#� C ��`�$.f4;2+"52+"=4;4767632676&72#!"546;2+"+";254+"=&+"5&'&63<����-� �� L� �? 1�� 8X % ��)"����$%/&?&'&6766"264$2"&4554.5543�jj�j���zz�z�445/445�j�jj��z�zz�����2"&46/76&'&?z�zz�z4455445�z�zz��5544554����/72#!"&54634&#!"3!262+"&=463'"4;2#D##��##(��< � d�#��##H#�|H�� � � 4����12"&46462"3"&4632'&#"2654/76?�N88N8�$$Gz�zzV1.!(Fdd�d 8N88NI$$++Vzz�z d�ddF#������#,5�%#&'.6?>766'66'&264&#"264&#"#5476724363676;272##"#?>37437&547&+##6'"'&7##3;#"&#"'"'&=�_?4Z _@9`�� � [ � �><R1+&8+=R91)%#7"%+&c )����2"&42654&'.#"&#"3z�zz�z#)(!�z�zz��&" $ �`ez���%"#+"5'#"&#""&#"++"5&5"&#&576764/"'&547676276767676327325476#%76276'.'&"2764'&'&#"32632>'&'&#"2754#"32632326� @ F0F A $"/."( �� '�' (|( � ($ �}�"]-0> ) 0 4yI W `)%#!"&5467>326326/&"'&"27� +6%��%6$*-N9VEz,8�4"&88&4 ,AM'{-8M�3)C"/&4?'&4?62"/&4?62"/&463254276323rr``�`rr�>>''1mm \\ s\ mm a99#jj#M�3)19A%"/&4?'&4?62"/&4?62462"&462"6462"~r``�`rr M s �m \\ q\ mm e M�3)"/&4?'&4?62"/&4?62rr``~``rr1mm \\ \\ mm ����%##5#53533&"264&2"&4;V*VV*V'�bb�b��zz�z�VV*VV�b�bb��z�zz�����*#""/.?'&4627'&#""&5476��r�U2(/02 -(-J�o~T1(011�16����%''575575462��0PP0���p0rr0(hq qh��!)19A%+"'&47632$264&"264&"6264&"264&"6264&"n <Y[>??C[M3## ��RT((:d 477�8<-W ����((� @`2#!"&546354+";2$����`��������� 7&?6&2"&476�b1>�zz�z�Q�Q�1b�z�zz��Q� �` #7'#'737hXXNX3�NXXNX3�`���]����]�������6C{�'#&7632'&?&'&#""/&?6376&76767632"'&'7#"'&#"#"&4767>767>7636'&767326'&li#2 $ !?"!0�78:/A$* w F9 ."5 3�� �/ $ #@" ! ��6B=3:! $A6 8053 � @�@6"&46272#5!#335,,�)#��##��**H(�33�x����2"&4654&#"6767654'&'&'.5&7&'&7>'726765&'./".#&47>3675'&7>7632z�zz�z_ lJG65"#0 - �z�zz�� (Lh45K0, ' 1 X ����%8K7'&762542+"43"=4276232#"'&?#"4;2"=6"=4;2+"/xt up�u tM�� tMpu�pMt u�u tMppMt u� upMtpu tM���� 2"&464&#z�zz�zjjJ�z�zz���j�j����1�������� A6+"=47%/&?632?6#!"&=46;;2t� ��"�##��&j�� ����##�"�&����"264&2"&4''7'77�bb�b��zz�z8KKKKKKKfb�bb��z�zz��KKKKKKK����7''.547'632632�\ -4.;�H�9%%90Bs��\)0,D5- M@M�,,B���� )/&4?6&=4?6%46/&5������d��> ^^ Q�b�]��]�_����%'5#5'7'53��H@l��@���Xk�0�(���h�+48H^g7#"'&4763276767>765?22654&"624"&'&547634#2#"'&'&'&'?62654&"� r =�| 0Ci/�&& $� ": �Z�t [�A<*:*" ! c��`�?!#53#7?0�@�+**�-�--�zz@vvJ@...��!%1%+"54376?32#!"&5463!24"72=4#!"3@�\r �p ����xv �� ��������'"264&2"&4535#4>54&"#462�bb�b��zz�z�**")1D1>fb�bb��z�zz��**?"11"7����2"&4264&"&2"&4264&"�L44L4J .�zz�z�^CC^C4L44LN �z�zz��C^CC^����"264&2"&4#535#53�bb�b��zz�z�****fb�bb��z�zz��})*��0� "&=432#';+"&546;� L�`��%H? �P��`B ,7'7632#"/&?632%#"/&?632762�CB�L @$�?2��EE.OAF�A4��� 462"27#!"&5463!'P&4&&44��e��&4&&4&� Cu+u����,8HU[+"/&7632%2+"'&?632+"&=4632#!"=43%2#!"&=46354&#!"3!22#4� �� � ���h�����h�0FFF % %��0�����4 ���� 2"&47'z�zz�z�}}�z�zz��^^��@� 2"&54ndnW�W��Z[dd[Z����"264&2"&4#53�bb�b��zz�z;��fb�bb��z�zz�k* �`!'46;2+"&=3?>54/&+3#"4`���/ EE /�SSS 8�k0 FF 0��%8K"/"=4;2#72"="'&?#"43232+"=4272+"4;'&76250u up�u uNm uNpu�pNu udu uNppNu u� upNupu uN�� �9A7276/&/&&5'47/#"&//4?4>?&264&"�� CC 0 !k3 3�p- -p1,P2&)1P,4������ .6=D'&667#".'&767%'676&"'632&7'.7'327''6;8d �� �+(*.T1)668668(+))pl ��O "~@ |�� d ��,)..:6(8R;6(8 ,� P" +������/:"'&?'&7627&547676762#"'"/264&#" -% %2( H4 $>02% %-{)TtTT:; -% %20>$ 4H (2% %-W);:TTtT ����-Dj�����#"'&54654'&'&762%"'&767632#"'&#"#"'&547632%+&76'.#"#'#&56'&'&7632+&'&7654'&'&#"#"&767632'+"&56'&76322+&?43'#"&5.#"+&76'&7632+"'&56'&'&7632� ��5DG< 4>:/I 3-) D-?L -/J9:" - � ~ '"$ &1 +!�"0 /+N;39$:DW V;4:R6$*2,)'C02�+"!(*0 "!$p> ;j/! � #�$N ENbV Q_&8;::-A: ����'32#!"&5463254#!"374;2+"54;2+"5U��&��"�������j�kb����"�����72&?#"&?6��4l�4� �����t2+#5#"&=4635!�f�en��t�((���������!546;2;2!32#!"'&'&3���` � �����I)I O���� �`'/7?GO62"#"'.+"#"'.7>76322632264&"264&"264&"6264&"264&"T&&^)!;; +' :6: '�� �88�&BY 4 4 YBFF FU""8L8����463!2/&=4/ v � 7�_ � � k ���L�08@H2"&547675&'&5462676767.54&264&"4&"26264&"�:) %4#):)):)1- �"";""�""`)'$ %))�))� &4""��""�"":�F%2+"'&'#"4;676264&"�M$&l&$MM$&l&$Y>>X>>�3!$$!33!$$!3x>X>>X>����+3_g7#"'&?#"'&=&'&5462;'&462&264&""&5476754'&+"/&54?63232264&"�;9 (Z3 ):) Y)�""m):) Y);9 (Z3 ""x; : (-*�))�((�""�))�'(; : (-*�""����,4<D%2#"&'"'&'"&547675&'&54623>4&"2264&"264&":))& D-):)):)-+D '�""""" ""�):) ?�))�))1D �""4""�""����1;CM2"&54675'&=&'&546275&'&543264&#"4&"2264&#":* u*:* u*:)jj�� i�*'9<,**',<9**'+77+""��""2""����DLT\%"&5476754'&+"/"&547675&'&546327632324&"2264&"264&"I):) M)8):))%7 (N3 �""""" ""j))�'(8�))�)7 (-*�"",""��""����3#"3!2#!"&546#32�� @��`@4��� ����������$*05:@GNTY^dk2+"&463&'#5&'#6?67'3&'7&'6&'6''6367&67&'&'7567&'67&'767#�VzzVUzzU�!u>>==m!*2." D!MF #*4-" B!M�z�zz�z�6+ "*>&&>>&&8 5JI6D#(*7*"m8) "*v 6JH5D"+6*"��2#!"&=46376!"467d##��##��� #�##�#_ ��_7"=4;2#'463!2#!"&5%24+"=4"+"=4"+";2+";22=4;22=4;24+"=43�d�@��J8d8888d88�dd����8888d8888d��U� 3#"&546!2+ ����V j ���������N7/&76?67"/&?6'4"'&#"/&76'&'&#"#"7676322762� 8?' _%' �8" (1!�8L 'Q%' 7" ! ��%17;#!"&5463!2#"4;2+"57>76&����4�*��Mk,�&����@�82+"&/.'&547654622=4622=4622=4"+#:% +K �)4 #'"&� � � � m����$,5>2#!"=46;&54632632'"3264&#";44;#"&5%2+��hT%!!%+""p"���x�8##L@@���������#2"&4"264&"2642676&+"z�zz�z"�B4 � �z�zz��(��!373#!"&'5463!� �X}"��9 ��q`�`�pA2"54'&""54+"#"=4&"#"&+"&=46;2=4632;�L48.. >X> .. N89&'D8 L. .�,>>,�. .&8N('7&\$%753%!!#5#75#35335#35!5#353353���r��r9�q9�9�99r�rrVVr�rrVVVV����$,2"&4%7."67'7&'6264&"67'6z�zz�zY>�>YY>D8((8(�Y )�z�zz�VY)>>)Y��Y)>Z(8((8c*Y����&/"264$2"&472#5&7654&#"#>4632"�jj�j���zz�z�##$# tj�jj��z�zz� � ����'2"&42654#"7654&#"3632354z�zz�z� >##$#�z�zz�� U ���� (07>2#!"&=46;&546327632&"264&"26435'75#'z��.%" #%1�}�2",�k,"2:��'%+J��E=��=E� �� � &1?K[kx�74&53/&?6'6&5/4366&5'/#&75767/&?676/&476&?6#"&/7&?632'76#"'&"'&#"&54766/&7>276m=g% 'C**)*)'&&< %E+'HN =T> *�?-%2� i,�)66(����4&'&54671326;654'&+"#"'&'&+"60/A0Pd<0A/=""=**#"2*/[[�B.E@$MHR@E.B44�::$ 2#::?II����%5A7"&?62#7&?62+"'7&7>7672#!"&546354#!"3!2A_`>5 G��]��J���: X� w��`��������+&'&54671326;654'&+"760/A0Pd<0A/=""=**# T�B.E@$MHR@E.B44�::$")�E������ 9HX7#'"?6#/&?67"&76327'%.?&'&67%6?>'4#"%4#/"325�F�\l.-9��)�����r4���{FN1#_��)C��5���,����462"3#"264$2"&4� &&]�jj�j���zz�z�j�jj��z�zz�����2"&45#6264&"z�zz�z�& �z�zz�������-2'.54632667654&#"'&#"7.0B;.44.;B09%%_(0"++"0(_ �B15D,00,D51B,,��X"2*#0 0#*2"X�� 2'.54632667654&#".0B;.44.;B09%%%i(0"*�B15D,00,D51B,,��a&2*#0!��@�+7CO[gs�����"&46;2#2+"=4+"+"&5&546354+";2=4+";2=4+";2=4+";254+";2=4+";2=4+";2=4+";254+";2=4+";2=4+";2=4+";22 � X X NPPp �� (( , ��HHH�HHH�HHH�� !%1593!35#75#75#75#5#75#75#75#5#3#3#7#5#5��`Հ**************��++++{++++�����**U++U++V**�**U++U++V**��+*++*�**U++����''7'?'767>7�y$4 !05<Rf)���"��)fR<50! 4$m ��*62+"&=43#!"&546;2;2=4;254+";2� ��� �<���HHB�@PP��``������3;%2"&547'&6'&'&#.'46'&#"&546'&'&'.'&76326264&")2EFbF " �#�GfII3 " ��0�P#*%3#!"'&535463!2&"2"3!2=4#25#3�0��0 ^ ��\� hP � ����� #!"&5463264&"75#+U��{4&&4&���U�*��&4&&4�UU������#%'&'&'&'&7665&'&� *6Y#I $fc+-( lVaE C�V'#l5 $Hc@�@%1?%#"=4;25462"&72+"=43"&=4622+"&=463@�� R�� F� R� � �Xp� � *pX����%'''7''7'7'7777�--J�J,-J�J�-,J�J-,J�J���� AI%4'565"2"=4#"#.'4;254+"5>722=43+"3264&"[@kK Kk22kKKk2�:)):)�Kk22kK Kk22kK8):)):��@�'/2+"&=46;546654&325754&"�9P7R 6(8(��0(98(/} E�0((0�p#:2#!"&5423!2654&#!""54637#"4;'&762#"'&p�� �� W@��A TR p�� �@@ TR�p#:62+"&546;2"54&+";2657#"'&?!"43!'&762��� � � KTR @��A L �� �TR @@ ���� $%/&'&"/&54632?'�9��:�)R<;)h�:�*�9�);<R)��h����/%#!"&=4?626&#!"2?6276/&7� �� �0��� QK �� K� �� ��.UP �� P0�P,76#!"&=462?632?6276/&7"/63!2���lK K!$K Ka� ` �-��nP PP P&������(02#"="'.'&4767676327#"5434&"2� [( H4 $>0ZKTtTTt�lKZ0>$ 4H ([ ��tTTtT����91"&462"&5##"'&=476;2#"'&=#"&'5#r& , z U&�{izz i�������� )746/&54?6&56&547'46/&5FEi>>Ed>>x3��2 $��%v��2<%��% ����&45=QY32#'&=4'4;2##'"574;2"5%463!2#!"5462"7"&5472654'2"&4~h�4j82�~h��`�d�8!.!!.v!KjK!3(2D2(C.!!.!Dv<��|~<�&�C.!!.!�&/5KK50&/"22"/!.!!.����|�'&'"547>32%#"'.#"#"&'&7>76.'&5467939313131;267632654'&#"326*"3 ),h ! 2 , Z )/ ( $.-$"( d6. �,+ \P�0!"43!2!"43!2!"43!2p��`��`��` ` ` �� �Yn7";2+";2#!"'&54;24+"4;24+"4;24+"5>762=422=422=4+";2#&;2""&=4#&�IIM��MIIIIM( (MI��/.�#9$)99)$8$�"))���62"&4&2"&4$2"&4� � J � P`"&462"&4626"&462P H �� ` ������:%&?#76/&65#/&?635&?6/3'&6�O 7�7 O O 7�7 O O 7�7 O O 7�7 �O 7�7 O O 7�7 O O 7�7 O O 7�7 ����C�!;"&53#"'&76;2+"&7>547+676=462�.`��� �(� �� !. t�|��� / / � D@ /����C�("&537+"&7>54676=462�.`l�� .!!. K / @D D@ /����/72"&4327'&7674;54'&''&#"/32&462"z�zz�zx)/0)2!d5335d!!.!!.�z�zz��V'J5 WX5J'0.!!.!��&6?#!"&=463!26"=&'7#"4;� ����:9C a� �����b C9:�p/76232+"'#"4376232+"'#"4376232+"'#"43� 6 KK 6 �K 6 �� 6 K� 6 KK 6 �H � � �r+72+"'.467632=4+"32=4&"372=4+"37,54-�-45,(oor^l]]l^�oow)(�QQ����%6/&&576?6'"'&/&/&47�R c&��5D��pH-N �� [m��)6Rd2"=+"4;7'&7632"7"'#&?622#"'&?%2+"&5467=6767632263.54632#� I��A&77&�,'5 (>�!+%7�x 31�8L9.- >3&(, =����BX%+"767>367654/&'4'&'.7476'&5&62272+#"=#"4;5432A8 �� 8 ) 1T1)= > - !11! -X P�0 $(463!2#!"&572=4"4#"32'!!642}�� � -��U � @ q�V���� ,2+"&5463";24#254&#"7254+"3� � @ o����} �f 1I���� �2.54264&"TxTH$$2&|((�N8.�/0ICQ8q((����'4E#"'&'4#'&7676326'&'&+"7676'&#"27676'&'"232��:kh=��u % R��( z ,_0 ���@�@9N%#"'&'&7632'&'&676326'&'&?6#"'&57547272�?�N;9< &4"%"* �#3#$0$` Q+10 !#4'! #$1 �`"54;2+"532+42+"=43``�pw�`��8��8����� ."&5476322654'&54632"&=4632<Dq�qD7\�\7 vP9XOppOX9.G@[[@F/�� � ����574;2+"52#!"=432+"=4&+"+"&=463P����0����@ �jj� ��!2C2+""=463!2"=4'&+"432+"&=423$2+"4;276=~<''<�<'B';<�<;''<<��'<<p;'< @`12+"&7674+"&=46;2+"&7674+"&=463q ('� ('` �6( #' � �6( #' �����"264$2"&4�jj�j���zz�ztj�jj��z�zz�����"264$2"&4$"&46�jj�j���zz�zXX�XXtj�jj��z�zz�BX�XX�X �`%;Oas{#"'&4762%#"'&764'&47632"'1&5476327#"'&764'1&7632"'&54762"&47654'&7622"&46>> 0>> 66� -/ '�/- %' � { R �;C�C CYXC ;�;�/?B/%86�/A@/ %n% + *+,+ ' ����%2+"436"264$2"&4*���jj�j���zz�z� �j�jj��z�zz�����2"&424+"3z�zz�z*��z�zz�f �� 72+"&543�� � �`=!%5!%5!`��`��`�887�J!D"&54?#""=46;'&5476362+#/&54?62326=$�. �u. � "$�"$ . x . " #`p2"=32+"=42#"43R��LnLpnL��nL �'52"=&546#3"=&546?3257325&2"=&54 M �& ����9>bk!��! @hhhhO1!��!1Z�&!?62!276=42#!#"/&54<). ��(:�;( 00 .(: Z�& %#"'&4?!"&=423!'&462z9(�� .)� :(. 00(������-A7.'&6'7>76&276"/&+"&?676+""/57436�5LN74MN;&/!'/ +'PL,�LP'"-�L47NM47M�(!/&!0�E^A�//�AJa����)2"&47676&6326'."7676&z�zz�z�'&I 0:0 ��z�zz��!!h�� 1746/&5&=4?66#"=4&/&47@������ ���K^LS^L^1�� �lv ��6"/&?6&/&47t�A �� c��h ��8���`%&=4#&7672=432}� U(� ��Ak�B��@�(2+"&=46;32=#5&?>32'�k0 FF ��� �TTT/ EE ����-=&=4&+"=4&/&7676322632&2654&""."�>�>D' " 'D�. @-=��=-@DD% @`76/+"54;2O��GG\������8 @`4;2+"=&546�GG��\����.��������%#"/"1"'47'"'&'"&="'&547675#"'&76'#"'&?'&763227'##"'&767'&7632>'5&7325&'&547625462>?627&563237632#"'".'>3632y ` !` ! `` ! `" ` ! `` f $8c & &c8$ 88 $8d & &c8" 88 @`%!"&5463!2$�� ��`�#/3"54;2+"=4;2#3"=4;2#4;2+"5h0�0�0(00p������8����@�'3M2+"&=463";24#264&"264&"754+";2"/#"'&?63'&76&&�&&(p��D�� � 2 � �&�&&�&���``� 0 #�]'$&?#"4;'&6/&546?632+n /� �/ EE�� EE /� �/� 00 FF� FF 00����#/76462"72+"&463264&"6462""&46;2#6"2646""�(88(�(88(4&&4&�""�(88(�(88(4&&4&?""�8P88P8�&4&&4�""68P88P8�&4&&4������1d%"/&76326'&'&'&"#"'&'&767676327632"'&'&'&7#"'&?62"/276767632� *+ H (%(O;H ;%$R$&" *+ <"L � ** "%) 6Bc S"1$( ++ T< �`63!2#!"&5244"'!! � �p � ��`R �� ����`�(4IS\753++"'&=#"&=#"562"&=4$2"&=47#67'4?63272254&#"3264&#"@� 1�����4{ g �LLZ4 44 4� ` ` ` ` e '@ H ����?''3373�***�.��.8(��(z�YY�P��``���8����2"&45&"3267##"&462z�zz�z@!!\BB.&: +"22D-�z�zz�Hb!!B\B-#2D2-��@�'2+"&#"+"'.76323267+&76�) $##" 0- , !&'@<852p0Z ����8m76"&54?676?36;2;#'&'&'+32?63#"#"&#&'1&'&76;676?654&"#.?6� BV>E" D,@{>E % D,:@ @kA>+-D D,@%>+-D D,??��B�59=ER$#5##5#732>=4'&'&+5353353'3535#76764'&654'&'&'2762#( )W W) ( � H �&! @@@@0�0@@@@ cJJ�ZvB � R��'?&4?62"'"/&4767627676"/&4767627676������{y#��{y RR R QQ <;u RR ;:P�0#6;#"&46;#"5372+53264&+5+)XX.BB.XX,�.BB.XX))X�8)+B\B+[,,�B\B+)8)+���� .C6462"7#"'157654'3&'27&'&54767'5676323&'##"�'8''8�bL f ��N>.C gr&4%&6] � 1�8''8'iOz�& �� .A_0(�,�) 0*) ���� +.6PZ]7&'76''&'77&='./67>7662"&454'.'&7>76'6547>7'7�>''"] D]((''s�����kS QQ RO&]=�5):>36? �������Q 8 6 P6 8 >3����7!'%7#3#31/#���#����yp650bm3�m--D�132@(N �`'3#'32654/3'35+532@f���?#*%(@$�((/5fvʝ-%kccS,Y��,8@2"&4%6&'"67&327&6767&'"&27&'&'767&p�pp�p:<86� 6-�@A8z(&T <N� K ,�B;( �p�pp�% 5`9!%!F4d=-G#� *% "@"+I# �s'7?7'77'5qOrNNrOOrNqqNrOOP"rr"sBG?}>FBBF>J�?GB�BDD��@�%73#327#"=#535#535432&#"3#�|u!.%8 37�2222�73 8%-"���0 " Au000uA 0��$2+537#546;5&#"#3#"&5463k k29# '"-..� � �� �8$4)$)8� V ��J�<2+"'&5463>'6&+"7676;274676&+"&=4;271Hs�/� F @ R ` �9mR � |��Rm ��T - ������!6'.7675'#"&/3326?''>./"'67676=&'.'&476?.7>7>7654&/66'&667>54&� �� .' -1(.$��!6 M; ( % , " *A �;-&#����?2#"54654'>54'6'#"&"&+#"'&'"327+.54���VC.9 "6" 8. DU��_Kx+/<$ $</'wL_����%%#"'&547632&#"3267#53�68U_=9;?WM<:!,9!''&5&Dt�� W9;@:VX;=5:#'57%$/(Rc!-%#"'&547632&#"3267#5;##5#5353>*+CK0-.0F<00",+0[��9)99)�F+.2/BE.0)0*+ @)99)99��!!?#'#3����@-&(/B(����xTTxH����!'7#3/#?#'�#��� �560cb���m--2�@'N�3��'/7#";26=4&'2+"&=463"&462"264&2"&4� 00 � 00 .BB.�.BB.�f4&&4&hP88P8`0 � 00 � 0 B.�.BB.�.Bp&4&&4F8P88P�p+#"'7326=72&#"#"'73254&'&546�y�1$ #$UDA7$&+4]EhՃ>&�@ F.<?&"D,:��02#!"&54635#62654&"54&#"5#3547632a �� V7#77� �� A ����� �d%&�a %^ �`"2#!"&54635#'#35737#5##����8**88**�F*8*`���DD�`66````����<g"/&76762?6=4/&6=4;2#"/&=4?67"&54;23254&'.4632+"5&#"#�5'���()��� -'/$#$'"K,)#( *% \�^^��� � _ _ � ^{" 23 ��Nk72#"'&547632#"&54767##'"'&'&'&'&'&547&767632676?654'&'&#"&#"&#";2� � ~" $@ " ,D() B* *2)%VT� t&:.*;%'/ '��=$ %>����B2#"'6?32654&#"74676'&54632#"&7>54&#".54����]"'6CP>JV. =1,2(<J���� >VC4MW5C ,?/&2E " ! hnD]��� Ac%#"'=4&+"'3276?#'.'&767676?%567676'&'&#"567632� P/? �� )+- o>��\) a--" � � ��f �* %/;0 1 ����&/QZ7#"&'&=46;5#5467632+3"7254#"+3'&=476;263>=32"3254�"&`"!h '`.3.1!h!� � +' (79" y ` (5!!6! "&#� �� >FOjs%462"&'462"&%#"&547&546326737632#"&5'632&"26467&#"6=&'&'.'&#"327654&#"#"'73267�BtRSt7JVEJ7?��Q2 6LM6 26MLt u /0 ) � 3 9QP9 &b&M& �� �"1 %% 1"%� n��62"&452#44#4&#!.!!.!i�P`P��P��p!.!!.��iP`�ៀ���u�����%'&76'&'&'&7&''&7>76'&''&7&'&7&'&767.'&7>&'&6337676'&>76726>7>7667676616'767676&766'76'6 "& ! <4< P^&%IK D7hT0 <%�t+hQMw $ * . (1%# , 5+, 32)-%`8 ��m%#"'#"&547&54632632654&'&'&'&/&'&5463232654'&'&'&#"#"'&'&'.#"3276u>,Lk>, LkY ! '#�,=jK,=iK? ����nv��%"###"'"&#&#""'.'&#""##"'&'5"'".#&'&=767654'&'.'&7>32&'&76267632$"2646&"'&26264&"� %D% '$ %'�'% $&�� X2B X " ;+--+: "�@5K5(2CV"&462&2##"&/#"&46326323747"264&"327'.7>&"#'&'3264&�,:()C�� +F&�f � �!))0N*O>( p ���#727#"'&'&'&=#567676733#�!"0>``4A �:+p@e& ��@�#!"&5463!"224"7!2 �� ����� �p � �i `����2#"'"&767.54z�zzV 3=�b�b P0F����(7"&5476=4622654&'&=4#"�*8P8*(G0"�2(88(2���#������I6'41'&76763232#"#"'&76765&"'&76'&5476/4'&54@"1@ # 1 >" E � +# #7 ����I%1#"'&'&#"=43276767>76767>7632727676o@"1@ # 1 ?# ; � +# #7 ����%�4<HP"/#"'&?63'&762.=46;4;2264&"754+";2462"� 2 � %H$$ "'`T((���~ 0 h%� �%��((�@@m����V^"=762#"/"'&?'#"&547'"'&?'#"=4;2+7632627#"54;24&"2� I5 0HC^5 % ]<% )Z)K< ]JNpNNp <H0H-) 5^CH0 %< ] % L ] �pNNpN@�@"%+"&46;'"/&54627625462� y T�V��V� O �T��T�R @�@#2"&=#"/"&54?627#"&463� �V��V�T @ v R�T��T� ��6BN2";2+"54;2=4'&'&'&#&'&54;54;254+"%674+"76�,#'!BPPB'"B��# $ #\7FQ Q#%5oK K����J+"'&'&#"+"'&'&#""&543232=&#"+"'&'&#"+"=476762g8 & 86N"M6BN � �$ OA?��@�!12+"&=46;54>1"514&"654&325�7P9(8(R ��/(89(((0} EP�0#"/#"=4;7632� A55A. � 4P4���� (6@"'&67#"/#"=43'6514'&6'6514'&6#'76F����3( A5p5 *:B?( /C0 ��|)E| 4P8Q>5DS8 BZ/&:( 1BR )���:C75#"'&547.>#"/4/&=#"&=4?6;27/5I. F �*\ D%9* FW[/43 .��h^L:A xDn F5����62#!"&?#3264&"� $ ����$p���zB ��1GHd��#"'&'&'&547632327676=4'&'&'&7632&=6;327632#"'2#"'&=476763232+"'543>'&'"&76;2'&#&'&6� ,@' 7'.#5% " '�& ? D56' "\�� � %-)'% )%�� </0B,-%$%,5R3 ��@�#"'&'&=6767626=4&@^BW/?+050);=.ZU;TASX<$*��7'>���`$/ '&'&"/&7&7632'&"'2/&7`^!/2l2-"N=RQ=,v,OF55`X ^77''55����*9;2+"4;2=4'.'&=476;25&'4+";�'9�9' x `��V'-ss-'V o#..#�����.6"&=##"'&=#7##"'&?>73#"/##"&462� ,,b--#$$0xxx�Z h i Z�xx&&����2"&45#5##335z�zz�z;V*VV*�z�zz�k*VV*VV @`%##5#53533@�*��*����*������ '7'7'5&2"&42654&"�b�aa�Ue;�qq�q�|XX|XC!R! S!S�o2=Up�pp��W>=XXz����#"&5463!2#!2+"#"&546k �� � ���� ����2"&45#75#z�zz�z�000�z�zz��((X��)�W 1567&%5$2"'=5##5##5#35335335++�++��<<�<� 0 0 0 0 �5&�&55&�&b%M F%%F Mb ����@327#!"&=73272654'&"5463!2'654&"&#"'54[ :��= :&�&(j)( W < '�99 ! _ &�P�"����%)/2"&464&"#6#7''6323&54'3'7#"������0pp�pp8�fH!81N<�fH!�8��1N<��������p�pp�pVV>��*7�Z~��*7�V>Z~ @`#5353#53'5335373+535353P(P�PPP(P(PPxP(PPPPP�PPPPxPPPP�PPPxPPxPP���� !6'3462&"347'��zh=V=H@.����(_�`�+==+N. ��UT����#!"&54?63!27#5##'!'!� �� ! �Q\Q =��\ ��! ' ��..�Vk%!'7V��w��x�*x��xVk7'7�x��xk��x��w���� 2"&47#z�zz�z�`��z�zz��`�!������ "&4625�z�zz��`�zz�z�`�@�@'��@������ "&4627'&�zz�z�``z�zz� ``@�@��@������ "&462'�z�zz� ``�zz�z�``�57�����Vk=!'7'7w��x�*x��x`f%2+"/&4?62A �S � � S�O � � OLp7&4625462762"' OO � � S� �S � `f7"&4?#"&46;'&462� S� �S � # OO � Lp%"/"&="&4?62C OO � � S� �S � Vk7#'7'�*x��xw��x����V7223#"'&7676&2"&46&#"32767'#"'&7>32#"'&57#3&'&#"32673276� Q�zz�zP@;<%$"!= /6-/. '�B �z�zz�P<F%$~%$13<81 S%����'3"&=462"&=326=4&"265� EbD2F3. .2F3@�1DD1�#22#��� ��#22# �`2#!"/763'7''7���``�??@?@@?@`����@@@@@@@@����+7333'533533#3#==3!3#53#H0`0x0`00��((XX0XX((@���������0(0((��(00����Gi�%"'677'674677'6735#&'7'.'&'7'&'62''#376?'&'7'&/7'&'35#677'5677&4777#3''> 8�8 8�83::��::-++ ++ "<�= �<�= ��$%32#!"/&546;76323'2654&"Jb3 �� 3bYNz=" ���� �Y�����%,373&'653#&'6#57#676&'3&'#67&'3�0>3;V1:3^0;1�1=3:S1n n1�n21n��(@l�V>(��T@'��(?)6H$!�"G6�$G7�6G"%����2+"&546;537#53� �%ZCY-Y-s�� W--���{�����2+"&546;53#� �%Z�s�� W--��3������2+"&546;53� �%Zs�� W--����%-+"&54&'4>3!32265#33+"5�&�& /^ ���� ��&&4 �p@�������,B��2++"&="&=&5462632632632=##"'#"'"&#'2767676327676323276546;2654&#"#&'&#"#"'.5&'&#""'&#"354&+326�!@&�&&4&0#( 0 7 P 4'`D!&&�7&&41 ! 6@ ?e` � ��*2:"&4622"&4264&"/#5'&4?63232"&4264&"9L77L8C6&&6'+' = H ";��L88L7B6''6&=�8L77Lg&6''6�-- pV& E < %8L77Lg&6''6��� #5'7'7537'aa�g ~~ g** ``��g }} g�VT*�*T������"';7'&76?546;7332#"'#"'#753#"'"'+26?243&@`@&3/''./&&0+��+9$2(Z(2$5'\#� b55b �++**T))T��$ ����2"&4##5###5!� �+*+��� x��+ ���� ,-9H\g7"&54657632"/&762'7/1&761#&54?66"&4767"&5472654&'264'�(^5 ED?�> A. 5�39?Z?,*&*&aY ]#B/7 Abh;-??-E4 �&6 "�r6'&=465#5'z&��&���&�p� � �� �� � � 2'463������@@X�� $2+654'#+"&546;5#7U&��p8���$*" ��*��� �`!37#"&=46;2'#"&54632%2#"&'6=4'>�((ojjjj�((GG��G0G��3#!"&53546;25#0p��pp(p0��((((��2#!"&54635!���P����� ��������62#"'2654'762Y:*8':$��A��)&6.�?�����/#3#3#"&'#53&=#53547#5367'7627�2002CCNCC2002D'"4&4"' 000!''!000'"44"'������%/&'.77'6�/�#LZ=X$U2/�S%X>XM# � 753+"&2+"&=&54P�XxT>| =tN8G(++(G8`�'/7;=4>2+"&=#+"&=.264&"264&"75!58P85 � B�@�`�##� ' ' ijj��15!2++"&=!35#p(/!�!/%((00�P@!//!�p@@ ��@�#'+/32+"&54635#75#75#5#75#75#5#75#75#�800000�00000�0000����@��00X00X00�00X00X00����00`00��%#57332#!"&546;5335!0`@0��0�H�а``� �� ������%2#"&546;276k �� K /0]/'u K ԗ )$ /]0/ ��#6462"72#!"&546;73264&"�%4%%4���X � �\BB\B�4%%4%��� ��B\BB\����Sv?%2#"&'&#"#"&'.546'&767676&67&7>7>76'&546326'.'&*37&7647636&'7./505656&'.76&'&'563233654&#"&6'.7&'&767>76'76'&'&=>'7676656654'.546/+"'"7>j ('%" !"B&� w . 0 V 4 #!'#E ! -, @ T !*. # !&���� !##5#5!373'53#53 �pP@@`p��P@` 0�0���p@@0���@@P������*#"'327.'327.=3&547&5462676��}PDC52 !-+ Mz8R !Ri�,*%5#5_)8#��@�EP_%#5"'&'.'35'.'&'&54767676753#&'&''5654'&'&'67676; @E @E � � � ##2 x !! j O\ � k �`!)-+"&=!+"&=76;2264&"264&"'!'#S- � -�����* �Kv� �v�YU�p2#!"&54635!%5!���f��f��p���̄��,,����$,62"&43!2+;#"&54?'#2"&4i""PD4 K���J*5""F""_*� (3���"" �`!!7&47##2%5"&5#3465!��@� @&P&@ P�t�`� &t&&P0P&&t&� ��2+5#"&=432+'#732=X�Z9 �9Z�'��� YY�? � YY'�����73+46;2'#"&=463U� �: 7L�P : �@��5���77'53#!"&546;#iB��` +�����B��`���*+����2#!"&54637''U��j��L���*���M����77'3"&4632&#"26{@��]*z�zzV(& Eaa�a�@��] Vzz�z a�aa���� 2"&47''z�zz�z���L�z�zz���M.�R?'7z� ��z l���z����%2#!"&546;>2*264##5#U��W#,#5�(�(p��: ��@HH������!(.59=DKRV"&4676'&246'&76&776&35'6'&24"24"6'&6'&6'&&24"&zz�zz��� , P_ 8 h P �z�zz�zrV u� ^ v/{�9� �� �U ����2"&4'7''7z�zz�z8KKKKKKKK�z�zz��KKKKKKKK+*U''7'77*wwwwwwww7wwwwwwww����2"&4264&+4&#"#"3z�zz�z.1"-&%�z�zz��,#0#&2% �`%#!"&5467>327''�'6;)��2F>-G+6R��o,�9();F2.D%,Eƍo-����4'&'&'&'&'&'767676767654&'&67>� 2#" , R (9"N.3*-E !&'7O G&i&+ 6����@2#"'7&546'&'.'&'&'&'&?676'4.'&+"7>����[73z( I $ ��'u5<[� �`%#!"&5467>32#7#5#�'6;)��2F>-G+6R�DddD@�9();F2.D%,EgddL �`&%#!"&5467>32264&+54&#"#"3�'6;)��2F>-G+6R##@.&: !//!�9();F2.D%,E�#2# .@-#/B/ �`%#!"&5467>323'33�'6;)��2F>-G+6RhDddD@�9();F2.D%,EoddL �`%#!"&5467>32�'6;)��2F>-G+6R�9();F2.D%,E����,43+"&54676323&'&'632'5467&#"'327&[� */!�(8," 1 .8+C� SA " $! x/ !/9(#5#"'7$Di!%k +*�V3+"&54676323&'&'632[$36'�.B3( %:! #8$A3L $6%'7B.)>*!%#-@@�@37'7'77'7�*-``--��b�bb�� ~-``,D��bbbb��@�@7'77'7'537#553���b�bb���(�(P(^��bbbb��l((((((((@�@7'77'7���b�bb��^��bbbb������;CLRZ`i%#''#5&''7&''7&'#5367'767'76753773*2647&='767527'"'77&'654'�# 8@8 ## 8@8 #�� /F9 WD & b/ 9S/ �8 ## 8@8 ## 8e&0m 22�&&� 2�'0���� 7'7'"&5467h6����fg49".!r�����gg=!!.��'#57'77627'zC)�e�)C�*�HC)�e�)C���*���%-52+"#"&46264&"6264&"264&"264&"�Oq?,& Ppp2S}S�dG,> p�p�Ch��'75353753''7'77'53��$�%%%4E!0/o///:A#�%�?DD�DDu%%a0000�00[%%����62"&4&2"&47�C�����U�U�ք������U������� B%//.?'&'.77'67/&?'&'7&/5276�)r` +iD N5LJ5 :�7# 9-)2$"7)qp+i IK5K5D :98" %9/ " ����2"&46"265427."z�zz�z�2%$4$��-UNU�z�zz�<%%%��C$$�� "57!>72&2"&4267#&'67327'&'632#"'673267�!- �� -!>JV??V?Q2( � �" C� 2 9+??+( h ;##; �>X>>X}j( L�;1>X> ��=3#=3#553#3#53�33��MM�3M3�M�M�3�̀3M33����� 2"&464&#z�zz�z^^B�z�zz��^�^����P�(7++"&546;546335#"5#";275+=+";2Ѐ�xS#� �0` H���� -S� ��8� `����57#'76�P�Pz(P(3P�P�*(P(3����%5#532!##5#"&=#53530���0J&�JJ&��&�!&PP�&J����)<2#"&=47376'"/&546?63#"/5&=4632��� ��� -��\�\2baQ��\����� (049#'#"&546327'#"&54632264&"264&"624"73'�C�54%&44&55&44&%4l&&&&��C�-"���5&44&%4554%&44&&&��&&���-����2+#57#"&54635!��*�*�j�����0 0������2"&4264&"62"&4z�zz�z�N77N7V �z�zz��7N77N< ��@� +"&54633'����pp���P�p-S '73'7'7���|��z\� z4����{[<{@� %'353!!@��[��@��������-����#75!72#!"5435!73#7'3'53P@��`��9�F�9�0������@@� �`@@ ��`� 2"&54yny_�_��Z[dd[Z�� ?#53'72#!"&=3!!#5463�7��8kk���+*��+s8*8kk+��UU*UU��%53#5#53#%#533#53M3�MM�3��3�MM�33M�33�MM�3��3���-3"'632'654&'7/#"&'67'327'#"&54?32�,'*Kz0;<�j< .+Kz3 B<* #8#/,TD8(;*;7��; TD>' A*;#/#)�W 2"&'6264&"62"&4��zz�z�T<<T<M2$$2$WSDDSSDD�<R<<Re#2##2.�R%#������$���� �3##5#535.5462264&" E3HH0HH3ETxT�8P88P5Q20@@02Q5<TTP88P8����)%#!"&=735735733'35355!3267���'�����(��S,:,�0��0 0 00 0 p P p %%@�#'+3#5##5##335335#75#75#5#75#75#(((�((((�(�(((((�(((((���++++�+++�++V**U++�++V**U++������b��7"'&7632'&#"#.'5.6763276'.#"'&7>32'.'.#"'"'&'&7632'&'&#"7"'.5&7676#"'1&#"1#"547343632=�M8"<j/M�&<%" K87(" Z?@2(! 2x3 ("8E"5. - �- , $Q$:0UT�e)#X#"�� 9%0/#B"* Y52H)"+<+ / 6JD.%>" .#9A0 (. $ s @�67#"'&#"+=763232, 8D7"2>m���5� ��@�%%#"'&'&'&=>76'676'67) -J E!. :��'.E%3 #*S"/(0E~+((����335#�@@�@��������%#!"&'4?5#53#3'#u#�%d � ���^%%�`00`p0����)1%#"'"&57#"&547&54632'462632264&"U+,,>,,++,,>,,�>,,>,�.+ ++ +..+ ++ +._+>++> �`2#!"&=46;54#!3!2����+���j0��0�� �`32#!"&=463�+���`0������#02"&437'367'?&''753273637'#z�zz�zO,:�9,'000=�.+= Z�z�zz�D&*"C`$(&Cu6'!/4�(64/��680�P753!!5!�`����@P 000 0y22��@�*2:B"&5475&546267676=&5462&"264264&"6264&"@ 7":&4& &4& . &4&� 8 � $ @# &&$�$&&$� $&&N �� � @�@%#"&'#53>2264&"�dEXDeeDXE�B//B.�@*66*@*66*p/B//B���� 8@755#"'&=&54623"264"&54754&+'732264&"�``7 &4& : 8 &4& ``80 B>``@$B�$&&$�- F ��$&&$�-@``>#B�� ����$,4<%2#"'"'&'"&5475&546236$264&"4&"26264&"@&&$?. &4& &4&$3.�� 8 � �&4& u$&&$�$&& = � �� � ����$,4<"&5475'5&546275&5462$"264264&"264&"� � &4& � &4& `` &4&�� H � `$]@5$&&$5@]$&&$5005$&& �� ( ���� 4<D%"&54754'&+'732264&"2"&5475&54264&"264&"` &4& ``70 �4& &4& 0 G$&&$�- A``=$B�� �&$�$&&$�$�~ ( p�1##"&=&#"#"&/#5;�*).31/**� 01)'33''30����(}2"&4>4'&'.7676'.'&'&'.74'767'&'&4'.'.'263&'/>76636.'Bz�zz�z� *4+�# , )$! 6�z�zz��� 0DJ4++#/ & ��#'+/32#!"&54635#75#75#5#75#75#5#75#75#Z��MMMMMM�LLLLL�MMMMM���4��MMtLLsMM�MMtLLsMM�MMtLLsMM������(%'&"/&?67&7676763�/� $;%&$6+ 2/ $;% & $������7%#"&'5'45'&>65'&>235462?>?6�`-7)@: " *�g"0%�X������*����%2"&4264&"6"&462"&462"&'3z�zz�z��aa�a��NH9 � �z�zz��a�aa�Z�'!!����2+5354&"3#"&=4p�p&@UW|WU@&�sR�'�+@YY@+�'�R��3'.54632632�4.;B09%%90B;.40,D51B,,B15D,0����'/2"&4>7'>7"2646&'77.'z�zz�z .( n.( K4&&4&H. (��. (�z�zz��. . ,&4&&4@.( �.( ����2"&45#74654&"3462z�zz�z�**>1D1)"�z�zz��**?7"11"�3#53'#4>54&"#462�BB@&4&@KjK$A!*%&5KJ5,(�� 3#5#7##5#�b>��>b`�������@�"7!#!"&547&54632>?632 ���, /(8��? ,&8(��%#!"&5463!2!'���*��J*`J+*�`�`������)5='%.?&/&67%6>3'#5&#"77#4#%"776"&462� �� ( �� ���U �� zE&.4 �� .� 6 �f� ǃQ"`� !*"/#"'&47632264&"'76327'&"2�<P&&())(l..!()�%%..)(8$$Rh* �$$*����2"&45#75#z�zz�z�***�z�zz��}}�**L04=3'53000L���00����''7'737'767>7��'7)0<?X n,���$��,n X?<0)7's X�(73##5##"&4632264&"��+Eg6!+<;*!8d�@@@)=V=)a ��@�!)19AIQ62"&42#"&42"&42"&4$"&4622"&462"&462"&4&2"&462"&4� ` ( � � _ 2""�"b""b""�""�""""�""""�""�#%3#!"&53"&5463!2!264&"�KA��AKj��j� ��5���� ��@�%#5.54>?@+&@&+!//7*#�*;11;*/W9- 07X��2#!"&54635#75#75#X��Ƞ�������0��00X00X00`h=!%5!%5!5!�@��`�� x00`00`00��00����'2"&43##5.'#53>753264&"�B//B/!!`C*C`!!`C*C`�|WW|W/B//B*C`!!`C*C`!!`�W|WW|��@�'2+"&=46;5462264&"754&"�;R;t f$4$��();;)(� �($$(����&2#"'&/3264&"#767653'7'7�VzzVB54.0�``�0.47��-``,�z�z&%; 0`�`0 ;%&�*-``-���� $753'7'727#"&4632&#"%'��-``,~D0 7@VzzVA6 0DE``�*-``-�0 &z�z%0`�`���`�,17'"&'&74>7654'&"./&54762'367'00 2 J ' 01��� ]1VD0F$ %, -2**)6V 48<V13��J,!"+!)��%#!"&=4?7'�����૫����ee�pUU�p2#!"&54635'���e���p�� [+uu+u����3#5"&46327#5264&"p00kTxTT<-&k^�P88P8�0�^k&-<TTxTk0��8P88P����+"&4622&=#&'5+&5#&=46;d %U r i�� ��i r��2'"#"54?6765'uy�iy�gs����)-)B)-(���,�����#73462"7''3��6�2H33H�$2�E��Zh(h��H22H3�$�hs !�����%'#5'7'7537,l0l`l0ll0l`l0�>T?}}?T>>T?}}?T��#3#!"&53546;2#355#5##3350p��pp�p808800��(((�088088�p"'64'7'64'#'##/57373^""E44**V `0P �` 1"^"DC4�4*x*> h@��pP@�@=!%5!%!!���������@++k**�+����!+13%''#5.53327'#"&='7''5462'65'<:::"_!.9P'H1 )�o� �)8)\R"]:::!_RRX92C!(�n� M�((�.&�!��@�6"&=46273#5.5326�8))8)4'P9.9P'HbH�(�((�#:WRRW:2BB���+#3#3#3+#5#"&=35#535#535#546;2888888 V ������ � P%+%+%*MM*%+%+%����327#"&5467�pP("pIVzZECOqEZzVIp#����%'5#'5%#5#5��������$����ٶ����b7"#"'"'23"&'.'&54%"?6=.#"'726&##'"33'726&#+67632�5 �]0?n9+' >- &?"9]#"2#��I��U5 %,'* 0OAq! :�Jq� H .����%5#3'35#'735#7#35�``@``@````@``@`�`@````@``@````@� 3#"&4632��U3F22#�U�#22F3��!"&46325#"&463275#` ):((�):((�����'%8%z�'%8%�55@�''�������@@��l� "&53'!57547'7'675462�"R�'$��)?%�-;L��$)s!@�^� I��`�%+#?=4676&2!57546754"&5�", � ,"-;)��);-H"H9$r r$9H I/r**r/I ����`�"&537!5754675462�"R^)��);--;d**r/I I/����%3'#"'.5347'6320�>4GF4>�&G6;=4I(�=ez ze=-}|����%#"&547563237'775 �� �m*D1 %� � � 8)�8��%53#!"&546;#3#5'7#U+������+��W+��*+��U�W�� ����'+/;=!353"&=462%5335!"&=462'5!353"&=462`P`��P`���`P` `P `P `����!.@2+"&=46354&+";26554&";2754&+";265R.@@.�.@@.!z"*g�B/�/BB/�/B�f e� �f e����5%''7�hhJ�I��E�s��`hh�Q �����'159=E2#!"&=46;543#367#"=4"32%#326'535353+26=�0"��#3f-*:& 2��Ƞ��������"02$� P �?�� 2 ��88@ @ ��">'72&54675353'7'7+"&54676323&'&'632�t/ 0�) A */!�(8+# 1 .8+C8'"0))u7��.!/8(#4$ '7@�133#kjkk������������/EU#"'.7>32#"'&767632.'&76732#"'&+"#"'&547&'&7>73� & �� &9# fX �"&(!(&#!% -s=# #=�%! #0�P &%"&4632#"&46322!54%2#54&'61$$$$�$$$$FZd��12]��#2##2##2##2#,& 66 66��$"&4622!5453##5#5353HP88P8�x���@@ @@ �8P88Ph5+00+� @@ @��6"&4622!54�P88P8�x����8P88Ph5+00+0�P%#!"&=463!2!5!���n�� ��Y����� �2+"&5463#�������n�� ������(%#!"&5463!2!'2+=4&+5463`�� �B XB�� �`�`@�� �����74&546323#&'35#"zV�-)�@2NzVc�Vz ��2@�)?cVz��@�2.54264&"^�^P((7*#�0!!0!�\A4�/.HDV!Ay!.!!.���� !+"&'%7!�+� �� ����SS����&57&5474'./6?%&62&&"'767>?_2-M.&9-2' *3M��)8�8+ �+B�B,49�IF=JfC" !CJ=FI. 2CI ''�48JJ66/%@�27&"5'277! � , � , `` |ի��������3#3##5#535'#53'37�p0IXXPXXJ0pPpp��00``00����#"'"&5&5474636;227'�+M�M+*Ia aI+�ґ�+6j6"//"65#H"//�bc���� "9'&7632264&"264&"6264&"7#"&#&#"#"/47632W��CTS�XX� KUSM Sba>��@ f�i� !���|D676.'&'&'>'&''.7.76&'#&3'&'6h28>E3<K2I &-36?AD&$ %$$ 1Q6<5)l>".:8�L r@-H !9?+! ��@� @����� �@=333353� � � �� ������#5"&5472654'�.�Iz�zI!<_�_<���2>`VzzV`>!2KC__CM0�� #"/&54?676&#"` � { �� �� { �g����!#"'7'#"/&54?676&#"�&��: �|��U%���� ��|�g�� 2#!5#54635#!5`&P�P&�� &�UU�&���`PP����&%2#"'#"/+&'+53762763236�# 8(6J:3 7"* �,(��(��܈ Q!�� +#546;#"%2#54+553+532!3#"&=300#CD4#0 CP0#DD��DC$0DDD#00#DD0��CC#11$CC ` ?#5337#53 -M�3�2R�2 a��aa��a����2"&4264&"z�zz�z��aa�a�z�zz��a�aa�����2"&462"&4264&"�V==V=�zz�z��aa�a(=V==V�z�zz��a�aa�����!%32#!"&54264&"%5!353����V4&&4&@���-2n#H���&4&&4�VV//���� +G7"&546?"&5467"&546?"&546?+"&54676323&'&'632k S S S $39'�.?3( %:! #8$A3L0 ' ' �6%';E/)>*!%#-@`� #2+"&4623&54264&"264&"P88(�(88P9O�4##4#4##4# 8P88P88(""(e#4##4##4##4`� 5>327#7&#"wLV@P�P1?9\oFW8L�M)A5`p72673#"&46327#7&#"�*C.]<IggIH44�F&67MM<.&8Hg�g44�F(MnM����2"&45#z�zz�z;��z�zz�k**�@�=!@�**@@@=!%5!5!5!@��@��@��@@$$�$$H##K##����#5!5553!'7U*UU*�UU(S}>SS>�S}>SS>���� 3'#57��A�@�A���@�A�@���7'&47''67&67>t[�V!����0M0 @�YE�����0>0K0�P 3!'7!�/��U!��!U78�V"��"V0�P 3!'7'7!/7U!��!U��8`V"��"V��+2#!"&546;735&"3267##"&4632���X � !!\BB.'; *"22"!-`�� �c!!B\B-$2D2-.�R7'77����.����������$2"&4264&"327'#77#'?67�jKKjK_B//B/ 00`K�K`0 �KjKKj�/B//Br 8jP��PF16����17&'.'>?"#"&54'2%&'&'67>3�:%&<>% 46<UG+@\4?Z6* @ +�K & )i\B&Q9�L9963.68@'���� %62#62"&4264&"6"&462"&462�B6��zz�z��aa�a���#z�zz��a�aa�Z��77'#5'R������)��RRURR.���i���%'5'#"&4632"264&"n!m(5;SS:;S"�R::R9�n!n"SvTT;5(9R::R��15-5*����++��������;C%/+"/&'/&?4&465'&?66?6;276264&"n/+6 U 6+-.+6 U 5+-�>,,>+�"G77 G ""G77 G ":*>**> �`%5"675��Oi()�ȓX49�U����$$2"&547'#"&46327&5462#"'&4$$4$�&%�&4&&��h$4$$X&4&W &&4&W X�� '!5726�M � M�%&%� `��` �� '7;''7#7'�"|"ڄ1��"-)K1�1K"|"�1��"-�K1�1K��7%!3k��@��������� !3��@@����������A%'/'#5'75'7'7'77''7'7'75'7537?7'7�9:9>@*0*@=:99X??X99:=@*0*@>9:9X<<X�!*!9X$G@*CB*AG#X9!)!$$!*"9 X#GA*BC*@G$X 9!*!##����?5!&"&547'7632&2#/767#53&''7&'#5'3#7#&54Pr1Cv�z,;$1 1$;,00�C1�zVI7$1 1$$1 1$7IV��!!2#!"&5463U��*��U��U��*��2#!"&5463U�����*�� %'7'?/?/�n!}}!n�99(<5F�`�KK�`���$D.@��� %'7'?/?/?�n!}}!n�99(<5FF5<�`�KK�`���$D.@@.D$ �� 77'?�}!n�99�n!KK�`��`�`�33#5335333`@�@�@ @���pp��������7537"&4632764&"53�0�(p�ppPA5!xXX|XX�����5APpp�p(!��X|XX|Xf00��`�%)2#!57"&=4264&"75#264&"75#\�\+ � +Bpp�@p�"3�++�3��~``�~`` ����#'#5'%'2"&4#5!#5/'#5�*�&��&&�hLLhL`@��@n&&�&�*�@@,&&&&LhLLh****�&&& @@�n 73#'%5#535c��c�c���K1Kc�dK1K p,97"&46;632#"/;&47#"2+#"&4632654'&+328!!_#!//!#pLL �!!_#!//!#pLL �!.!/B/I �!.!/B/I ��@�2'654&#'755"&547�B^G1PPPPB^Gc`C0'2H=RQ��=RQ=`C2%2H �`463!2#!"&5!!64" � �p ���P.H �� �r��@�2#!"&5463!24"( �� �r� �p � ��P��.���� ##"'654'624767&'&&547P@A:GH8@@7� 87�78dE�D--C`_E,�R%";RP<#wR%%<QS;#��2#!435#35#35#X��@ f&s&s&��@X(�((((((����7"&5475462#354&"�18P81(? �9(88(9�22��2'&5?#"&=4?6353 ~ w9 @�� R&������3"&=4?32#!53�~ w9 ��@� R&�������!&+7#7##"&54676323&'&'632535i$35(^!!cD0@3( %:! #8$A3L�Q;6%&,$Cg7-)>*!%#-@� �`����2"&4264&"7'5z�zz�z��aa�a�^m�z�zz��a�aa��m8A}����"*26462"32"&5475'2654&'#"&462462"� Vzz�zS�!}%_�_P;.� �� B [z�zzVh>�!}-9C__C=[,j ! ��`�#'+52##'##57"&=4>2654&"75#;5#2654&"�8E3- !,,S,1! -67Knn�nn?�(%�-!,,!-�$�� �WWW� ����2:3#53##5#535.547''7'#53#76327#264&"@�#X4'??*??'4(#�?% !-$Q?z4&&4&��EX)=.(88(.=)(E�#% Q�&4&&4@� 75!+"&!5373 � ��Pj+��F 3�@ %#7''777��3mZ� �Z�333nZ� �Y�43�@ 3'''77:�3�Z� �Zm@�3�Z� �Zn����)3=3;!53275&'&'&53<=!&'.5#67#6XH*g E�EC%*G��1 WM2'900!%.Q q#> $$ =$����0%"#&#"#"&=332=.#"#&#"#5467632#&j (!+ gNL9;� w$"vPt:=P`� 2.#"#56�Lw4\9?1P�P@XE5A)M�L8��@�%2+"&=46;54&"#462264&"��$4$&;R;t ��($$);;)(� .�R%7'#!"&=463!2``` �� . �b��bV � �p37'#UkkUp��p�� '%4&'5'6'''567''#537'7'5V</@U �3�($._kUU [3�3R-lE6* �h3��(! - _�p� [�3<1���"&462'#5'##576323� (9&29(Q)(o -HP �&>`�`D�@Pp&E(���� '5#75#���000��`@00P``��@�#'&4?3264&"@=�==��FdFFd �0ss0�0ssKdFFdF����`�#"'&4?,443IJ344}6�6666�6���562"&4'654&".5462&2'>54&".54�""�#)1D1)#IhIӬz9/&-a�a-&/9�""!9$0"00"0$9!3II�yU8^$L-DaaD-K$^8U��7'5!3!5337!����k�kK�+�ꫪ++��((*������%->73&/##&=#&=#7#&76"&4620 .+ *-�+h `� �` � ��#>J+"/&5476346732+"'&#"/"'"'&?&5462'54"#";2='Z��'ZF# "0~0# #*g�g�DR�)PE)P�$ #((# $2@IggI@>tf����#2#!"&=463%!"43!2'!"=43!2��f��d-�� & ��8 ����%2"&47676767>5632&'&"z�zz�z25�j�z�zz�V'+E25j���h7"/&?62:�����VP ?62/&462�������h7'&462"&47������`P*7"&4?6"'��������4=%#"&'##"&5463235332654&#"3276#"&546323264&"�1))%--$)'VEDXYK [mlWSj�,�7B$6,*4 �/'>MZFHV hXVj^G8 !6 �`2:BJRZ72+"54;2+"32+"&54;254+"'5'&632"="=42&2"=&2"=2"=J86(n9()��(\�F< �$��P����������������L�#5.532"&'"&?6'&'&'.'&?6'#&'&'&?6/&'&'&?6'5&&'&'&?6'&#"&=232?6?6?63?6?676354&'4?6'5&'&'&?6'5&'&'&?6'&'&'&?6'&'&'&?6'#&#&'#>7?63?6?6?67�Vz Vz � gH fH vzV �� zV �Hf Hg ���� (2:BK7&'&'677&'&'&'67&&=7&'&'6767&'67&'#"'6�!,+1`L OD5G"= �72-*+x$20/6M F:I;#":")1A S>4�#1)*L `+! (:'01/=SE(8I,%%";\C ,L7MBNL,*;����7462"2+&/&+"'.?576'&'#"&463�((� b b \(( '� x x �' ��.21"'.'&+"546!2+"'&"51546b+9+2+9)9-0,9�+'��)(" ��(('+����12+"'&4&'&+"&546;232546;?x! l l j ) �!�� " ��:��� -53"&=!#2!546;54;23546;2354;2#54+" ��` x hp��@(( ����%46;2+"&546;2+"=4&+"5��]���P�� ��(�#+3;CKS_2+"&54634&"265<&"24&"264&"264&"24&"264&"264&"2';2=4+"��BB"�����`�� P ��^^�^^h0��-5=2#!"&546;;2=3;2=54#!"3!26#54;2#54;2x��(�0��8�� � `���Դ�L0�P)596462"72#!"&=46;54;23276;23>76&624"�"0""0� ��&U &g!/4&!/4u�0!!0!�� � ++�.!%6.!&5���46462"2"&462#;2+"'&/&5&'&"43232X � 8����( )E /t/� ����+2+"/&+"&=463'"#"&=46;2z ?= � �2:�d � A��n�##"/&?62762��8,z��8-{����#,5DMW_gpy�"&46676&6.>'&6'&66'.2=4/&676&676&6'&6'&6'&656'.676&&zz�zzPH,!"1[ B�z�zz�z�Q��$E=zz ?�Q��.��SZ�&7/'&54?'&547676vDDEDDED�DDDDDDD���.+54"#"&5467>326325376#"/&6� +6%��%6$*-N9V�0 FF 4"&8� �8&4 ,AM��TT/ EE `(?"/&#"3!27654'&/&/&'&'2#!"&5467>326 ?% J "#/9V +6%��%6$*-D5 . M94"&88&4 ,A���(.+56/&#"?#"&5467>3263253"� +6%�0 FF 0�%6$*-N9V�4"&8�/ EE /�8&4 ,AM��ss `%#!"&5467>32632� +6%��%6$*-N9V�4"&88&4 ,AM��;72+"&54675463232724654'&'&'&+>72672326�-, �# 6&!1�"5$*>-./?�-@,%$ &5( '*.F !@+- �`2;2#!"&54674&546�2A +??+��#2- L`;,AX@4$!4 5N�����!%2#/&/&/&"/&#""&#"/&=4'.#&/&?6'.'&/&?6'.'&/&?6'&54/"=43765476/&?67>76/&?67>76/&?67>365'4?6;2?6?6?6?676/.676&+"326'26'.#"3� �88,-� o83N N38� waa*|*Ja>`0>a����+3FOYbu%#"'#"&54767&54762&"326;6543.'67&547&'&'32767&'&+654'+767#"2654'&'�J34#%23J%$%h%$&yR;4#%2d);)! J< +);�"+4J##J4+" 5$%%$5 �:* ## *�� "& "*:� +l x +�:*" &" ����$,4BQa%/&?66/&"=422"=64;2+&+"4;7'&7632#"2#"&54?67"'&54?632~�����Z � |*�����, � I% ` ` ����@2#1"&'&47>3654&"67654'&'&'&756'&7673�VzzVQvvQ�,j�j,4 '' 3�z�zkOOk��2DJjjJD2 ���� 1"&=432#';+"&546;;#!"&546; M �`�����MH@ �P�t`��-2"=;2+"&=422+"43$43!2"54#!@����������������@�!'2+"&=46;'&32?6&=#542�k0 FF 00���/ EE /�SSS ��0�P/2#".'&7>>76&7327'.'&6;�pl $;A".T1)>e="28(#18$)"&P� #/)..DA�2"(82"(8�&")?�A%&=&=46546����� xsz�zs��%-52#!"&546354#!";2;276;2'!"43!2!"43!2x��\��WHW2�������0���d@ �p'3?GS_kw2#!"&546354+";2=4+";2=4+";2=4+";224+"354+";2=4+";2=4+";2=4+";2���800000000��(00000000p�� ��00X00X00X00d�00X00X00X00��@�!6#"'&#"'&57632327267 %#4A 3!0<!o �� b ��%�#".54>654&/2lPi%3' ,3&&#B (<�0�K+@ >'%;&'9�� , /)����1%#!"&'4?=4#"=4;2#"326/&=#v#��%t���=I=^%%�NN�f NN f ����Sao|�����%2#"'#"'&'"547&'#"'&767&'#"43267&'&763267&542676326#"'654''&'&7632&#"'&7327>7632&"67#"'&7664'6;&7632&#"#"'&'&'2QOO&038)4)830&OO"418) 4)814! q 7' � '� � �+ 0, &�4 7)34"OO"41)7 47)30&OO"43)7�0!� 0!� V �$+&$, \ Q ��%'&#!"=46;23!2543!2#!"&��T` �@��� I*J ��������-@Rd2"&4%&'"?2575&75'&+"32724#'#3?6532?5'4#'&3727674/&"z�zz�zO&&8:[X:C&(:9� .4�. $4�z�zz�) ?0) ��+**+: )/V3-,9�-39`� -%2+"&54&""'&'#"4;676326267632�L7 7L$! !&�8( (8����&'&54671326;0/A0Pd<0A/=""=�B.E@$MHR@E.B44`� 2#5&7654&#"#>4632"A##$# � ����5+"=4+"+"=4?6"/"&4?54;2762Ӝl\l����+<RX}����}e��#\*CX�(;"/&#"32?6#"'&4763232764'&#"/&?632� Z}.--.}.- +* {8V{:\)$462"3# ''� �� #+3=EO%2"&546"2"&4'2"&46$2"&4&2"&4&2"&4$2#"&54&2"&4&2#"&4K.�,,V...k,,m..4.k,,m.k....�,,,,,,�....(�X'/<62"&462"462"%2+"432+"435"4;2#_�������� | � ��g�5/&+"=4/&?6/&?6=4;2?6_cc c!b bb b!c 999ss9 999rr9��!=2#!"&546;546;2'354+"24+=4"+";2=3���Tx��p� @� � �����&A"'&76''>325#"&7'6=422732+"4;5.=42�� �5x"&�K&�n $d$)70��|� �&�A�&&E�44>*EE"0����+6"&=4626232+"4;5.=4226=�4&&4&7)$d$)70D0p&�&&�jE*>44>*EE"00"E`�%276#"&54676763A9XOoJ;jJ^ DqP@e''Lj���� 6#"'.5476767651476� ] @ �K�! ' ���@�46#.54767676=4#"&#.54767676=472>6@ �@ dg���!' � �! ' �����2"&473z�zz�z�`��z�zz���`����3B%/&#"&5476766/&76766/&?6327'7676' ,5%i( OX\90<� !' M *2@) Od/lO%���� (08463%2#!"&546;25";24#";24#24+"3724+"3L ��BTT�0���p�� ��"�l� `7#"54;23#"54;2H@@�@@ 0��0�����p :HX+.7>;9#"'.76312#"&"#"&547>7>2'"&'&6732#"&'&67632y !jAN(NB.fW p+#+"Y..0�& &$.#+#+P.-.�R;b�%+467>76?&/"&'.563&54620#''#467676?'>&76;23&'>&76312+#&'&'&767>��"<# �P )*� ** Pq ! ## / )))) ����;%#!"767>36764'5&/"'.746;&'&620#2� �� 8 )1T1) 8 &#!11! ,��!2#!"&=463'"#"&5463!2���`0�������!43&'&?65'4>72"'.'�SuyVAj��1W8�|yTVyI;00$E>'�2) ����#+"&54654&5476;2'#3&'#�$�$�� � /V$< =#T0P$$a46&5��X� �����2"/&4?63676&��u�L�{�u�p����*2/&4?63>76&7"/65s�p�H r � �|�q�l =v� ����)%#"'#"/+"'+"4;76327623>�!32 3% H;5 4-&�/� 4� � �ŜU��A#"'&54?##"'&'&?##"'&54?##"'&'&?.54767676323d<"E 7#%#C 8#% -"$21 ,8)%_K2 \K2 2"!2!"R�.&2#!"&463123&54634&"2 264&"r.@@.��.@@..@ i!@.N.@..@��@..@..@\@@\@@\ !-.@�@..@..@..@�s=47672=4=4##9:i��017(%e:;S��Q;����'%2#"&54672=46&=4#32676q oKPpnN``B\_C@]� JepONo. CC 2]BC^V> 0�P!Ef2#!"&=46;54;23276;236&#"#"'&'32436/&#";327676'+&'&#"327632+7b ��&U &7 "< ! � � ++� **I +?�A?676//&4�����xsz�zsx ��@�*2"&547676766'7./>7&'67@"O�O]$:/�2B1�>5?\$#3(BM4C@3Q2 ^S4 � ��%"/#"&462264&"|j*7@YY�Y!�dFFdF k"Z~ZZ?6)FdFFd��3;$&#"&"&'6'&#"&'64'673276'6727327264&"` D D �B//B/�D D ~/B//B8�H(F%"&4?#"/+"4;7'#"4;23'&462/&?6;'&462"&4?#"V$"T55rk55kr|K{ (T"$K&�$ !CCBB�13" #/��%.<EM2#"'&"#"/&5472=4"24+"376/&6'&76?6&24+"3���8 5�5 8��$X �KW N$��]T@88@T]U$$�i /n _����#82#"/#"'&?'&=4;7626&+"/&"6/&7� x. vv .y�--daN V�TT�U��#X�8X����#H2#"/#"'&?'&=4;76276'&+"/&"+"?626/&� x. vv .y�--OacQNN V�TT�U��\9YY9X78X����#2#"/#"'&?'&=4;762� x. vv .y�-- V�TT�U������)9'&?6%'&?67"&546754;264'54"25`���H`p�p`H 0D lIPppPIl �*cc* ����#/<JXem62"&=42"&=4+"&46;2!2+"&4632"&4?67"&54?62'#"/&462"/&7632&2"&4� t / /M / � !� !� ! �! �P88P8= / /\ / /� g ! � ! ;! � ! �8P88P���� ().'632327654&#">7&547#'�RvL45yViIyVgH�jTy �vS45KvVyHhVyHg �jK wT�����$*2+76+76+";#"&54675463273&V,>=4T6<VCw#2, K53A �/E28,.@UJp34$!45E4*��kn����2"&454"#";2z�zz�z�R`�z�zz�h������,"&547622654&'"=432%'&/&76�v=4c�cX@ Rv��c GvRV:2GEccEA`?Pv��G c� #3+"&573'#5#37#2!4;76;2��&MFA��$@@��������-���s%#"'&'&'&'"/&?63�'810��i:95%:Q��S;:@�@!32+"/&=4?6#"&=46;2� VV���&� 7L7���� Bu�$�Be @ c ~ H� SCopyright (c) 2018, Adam BradleyCopyright (c) 2018, Adam BradleyIoniconsIoniconsRegularRegularFontForge 2.0 : Ionicons : 14-6-2018FontForge 2.0 : Ionicons : 14-6-2018IoniconsIoniconsVersion 001.000 Version 001.000 IoniconsIonicons��� !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~�������������������������������������������������������������������������������������������������������������������������������� !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~�������������������������������������������������������������������������������������������������������������������������������� !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~����������������������������������������������������������uniF100uniF101uniF102uniF103uniF104uniF105uniF106uniF107uniF108uniF109uniF10AuniF10BuniF10CuniF10DuniF10EuniF10FuniF110uniF111uniF112uniF113uniF114uniF115uniF116uniF117uniF118uniF119uniF11AuniF11BuniF11CuniF11DuniF11EuniF11FuniF120uniF121uniF122uniF123uniF124uniF125uniF126uniF127uniF128uniF129uniF12AuniF12BuniF12CuniF12DuniF12EuniF12FuniF130uniF131uniF132uniF133uniF134uniF135uniF136uniF137uniF138uniF139uniF13AuniF13BuniF13CuniF13DuniF13EuniF13FuniF140uniF141uniF142uniF143uniF144uniF145uniF146uniF147uniF148uniF149uniF14AuniF14BuniF14CuniF14DuniF14EuniF14FuniF150uniF151uniF152uniF153uniF154uniF155uniF156uniF157uniF158uniF159uniF15AuniF15BuniF15CuniF15DuniF15EuniF15FuniF160uniF161uniF162uniF163uniF164uniF165uniF166uniF167uniF168uniF169uniF16AuniF16BuniF16CuniF16DuniF16EuniF16FuniF170uniF171uniF172uniF173uniF174uniF175uniF176uniF177uniF178uniF179uniF17AuniF17BuniF17CuniF17DuniF17EuniF17FuniF180uniF181uniF182uniF183uniF184uniF185uniF186uniF187uniF188uniF189uniF18AuniF18BuniF18CuniF18DuniF18EuniF18FuniF190uniF191uniF192uniF193uniF194uniF195uniF196uniF197uniF198uniF199uniF19AuniF19BuniF19CuniF19DuniF19EuniF19FuniF1A0uniF1A1uniF1A2uniF1A3uniF1A4uniF1A5uniF1A6uniF1A7uniF1A8uniF1A9uniF1AAuniF1ABuniF1ACuniF1AEuniF1B0uniF1B1uniF1B2uniF1B4uniF1B6uniF1B8uniF1B9uniF1BBuniF1BDuniF1BFuniF1C1uniF1C3uniF1C6uniF1C8uniF1C9uniF1CBuniF1D1uniF1D3uniF1D5uniF1D7uniF1D9uniF1DBuniF1DDuniF1DFuniF1E1uniF1E2uniF1E3uniF1E5uniF1E7uniF1EBuniF1EDuniF1EFuniF1F1uniF1F3uniF1F5uniF1F6uniF1F7uniF1F9uniF1FAuniF1FBuniF1FCuniF1FDuniF1FEuniF1FFuniF201uniF202uniF203uniF205uniF207uniF209uniF20CuniF20FuniF211uniF213uniF215uniF217uniF218uniF21AuniF21CuniF21EuniF21FuniF221uniF222uniF223uniF225uniF227uniF228uniF229uniF22AuniF22BuniF22DuniF22EuniF22FuniF230uniF231uniF232uniF233uniF234uniF235uniF236uniF237uniF238uniF239uniF23AuniF23BuniF23CuniF23DuniF23EuniF23FuniF240uniF241uniF242uniF243uniF244uniF245uniF246uniF247uniF248uniF249uniF24AuniF24BuniF24CuniF24DuniF24EuniF250uniF252uniF254uniF256uniF258uniF259uniF25AuniF25BuniF25DuniF25FuniF261uniF263uniF264uniF266uniF268uniF269uniF26BuniF26DuniF26FuniF271uniF272uniF273uniF274uniF275uniF276uniF277uniF278uniF279uniF27AuniF27BuniF27CuniF27DuniF27EuniF27FuniF280uniF281uniF282uniF283uniF284uniF285uniF286uniF287uniF288uniF289uniF28AuniF28BuniF28CuniF28DuniF28EuniF28FuniF290uniF291uniF292uniF293uniF294uniF295uniF296uniF297uniF298uniF299uniF29AuniF29BuniF29CuniF29DuniF29EuniF29FuniF2A0uniF2A1uniF2A2uniF2A3uniF2A4uniF2A5uniF2A6uniF2A7uniF2A8uniF2A9uniF2AAuniF2ABuniF2ACuniF2ADuniF2AEuniF2AFuniF2B0uniF2B1uniF2B2uniF2B3uniF2B4uniF2B5uniF2B6uniF2B7uniF2B8uniF2B9uniF2BAuniF2BBuniF2BCuniF2BDuniF2BEuniF2BFuniF2C0uniF2C2uniF2C3uniF2C4uniF2C5uniF2C6uniF2C7uniF2C8uniF2C9uniF2CAuniF2CBuniF2CCuniF2CDuniF2CEuniF2CFuniF2D0uniF2D1uniF2D2uniF2D3uniF2D4uniF2D5uniF2D6uniF2D7uniF2D8uniF2D9uniF2DAuniF2DBuniF2DCuniF2DDuniF2DEuniF2DFuniF2E0uniF2E1uniF2E2uniF2E3uniF2E4uniF2E5uniF2E6uniF2E7uniF2E8uniF2E9uniF2EAuniF2EBuniF2ECuniF2EDuniF2EEuniF2EFuniF2F0uniF2F1uniF2F2uniF2F3uniF2F4uniF2F5uniF2F6uniF2F7uniF2FAuniF2FBuniF2FCuniF2FDuniF2FEuniF2FFuniF300uniF301uniF302uniF303uniF304uniF305uniF306uniF308uniF309uniF30AuniF30BuniF30CuniF30DuniF30EuniF30FuniF310uniF311uniF312uniF315uniF316uniF317uniF318uniF319uniF31AuniF31BuniF31CuniF31DuniF31EuniF31FuniF320uniF321uniF322uniF323uniF324uniF325uniF326uniF327uniF328uniF329uniF32AuniF32BuniF32CuniF32DuniF32EuniF32FuniF330uniF331uniF332uniF333uniF334uniF336uniF337uniF338uniF339uniF33AuniF33BuniF33CuniF33DuniF33EuniF33FuniF340uniF341uniF342uniF343uniF344uniF345uniF346uniF347uniF348uniF349uniF34AuniF34BuniF34CuniF34DuniF34EuniF34FuniF354uniF356uniF357uniF358uniF359uniF35AuniF35BuniF35CuniF35DuniF35EuniF35FuniF360uniF361uniF362uniF363uniF364uniF365uniF366uniF367uniF368uniF369uniF36AuniF36BuniF36CuniF36DuniF36EuniF36FuniF370uniF371uniF372uniF373uniF374uniF375uniF376uniF377uniF378uniF379uniF37AuniF37BuniF37CuniF37DuniF37EuniF37FuniF380uniF381uniF382uniF383uniF384uniF385uniF386uniF387uniF388uniF389uniF38AuniF38BuniF38CuniF38DuniF38EuniF38FuniF390uniF391uniF392uniF393uniF394uniF395uniF396uniF397uniF398uniF399uniF39AuniF39BuniF39CuniF39DuniF39EuniF39FuniF3A1uniF3A2uniF3A4uniF3A5uniF3A6uniF3A7uniF3A8uniF3A9uniF3AAuniF3C8uniF3CAuniF3CEuniF3CFuniF3D0uniF3D1uniF3D8uniF3DAuniF3DCuniF3DEuniF3E0uniF3E4uniF3E8uniF3EAuniF3EEuniF3F0uniF3F2uniF3F4uniF3F6uniF3F8uniF3FAuniF3FFuniF403uniF406uniF408uniF409uniF40BuniF40CuniF40EuniF410uniF412uniF414uniF416uniF41AuniF41CuniF41EuniF420uniF425uniF427uniF429uniF42BuniF42DuniF42FuniF431uniF433uniF435uniF437uniF43FuniF443uniF446uniF448uniF44AuniF44DuniF450uniF454uniF45CuniF45EuniF45FuniF461uniF468uniF46BuniF46CuniF46EuniF470uniF472uniF478uniF47AuniF47CuniF47EuniF482uniF484uniF486uniF488uniF48DuniF48FuniF493uniF495uniF497uniF499uniF49CuniF49FuniF4A1uniF4A3uniF4A5uniF4A7uniF4A9uniF4B0uniF4B1uniF4B2uniF4B3uniF4B5uniF4B7uniF4BBuniF4BDuniF4BFuniF4C1uniF4C5uniF4C7uniF4CD���,*H�H#)�H#*PK}w�\]�b � �fonts/ionicons.eotnu�[��� �X��LP*]/hIoniconsRegular Version 001.000 Ionicons �PFFTM��p��<OS/2@�`tX`cmap�����Jcvt D�gasp���4glyf�1��l�Thead����6hhea�z$hmtx&��� �loca�F$�xmaxpq8 name��`��postY2����Xh/]*_<��H#)�H#*������.����@@.��LfGLf��PfEd�������.�A ����\��������������������� ��� �������������������������� ���@����������(�@�����������������������`����������������@���������������h`����0@�����@��� ������������������L���������U����@�������� ����������@��������������@����������� �P���@��@������������� ����������@�����`�` �����������@�@@���@`@����`��@���@��������@�@��������������������@���� �������@������@�������@������@��VV������V`L`LV������������������� ��������� `�@������@��������������*������������������������P������@@�`����� �@���@@�������@��������������������@������0��@@�`�@��`�����������@�����@l``��������@������� ��@��@�����@�������������`�@@�����������������������������`�`�� @�@��������`�@�����@����@`�������������P�P���������(����������������@������@ ���������)��a������`�@����������������������@����������������D(FF�������������������������������������������������������� ����������#�%�+�N�P�R�T�V�[�]�_�a�d�f�i�k�m�o�����4�O�T���������������������������������������� ���������� �%�'�)�+�-�/�1�3�5�7�?�C�F�H�J�M�P�T�\�_�a�h�l�n�p�r�x�z�|�~��������������������������������������������������������������������������������������� ����������!�%�'�-�P�R�T�V�X�]�_�a�c�f�h�k�m�o�q������6�T�V������������������������������������������������� �%�'�)�+�-�/�1�3�5�7�?�C�F�H�J�M�P�T�\�^�a�h�k�n�p�r�x�z�|�~������������������������������������������������������������������������������������������������������������|{xwvutsrnkihgfedcb_^]\XWVUTSRQPOHECBA?=:321+)('&! � � � � � � � � � �D***^�� H���Pv�f� Dx���,v���8�� B ~ � 2 l � �B�4�� 0 X 2P�� R���Z��J�X��*�d�P��$��n�����^�0v��&Xt>b ~ � �!!4!d!�!�"^"�"�##<#d#�#�$$�$�$�$�%%|%�&R&�'�(:(\(�(�)*)P)�)�*|*�+N+�,,�,�-R-t-�.4.�.�//6/�/�00T0�0�1�222�2�3d3�3�3�4.55^5�5�6.6l6�6�7,7^7�88T8�8�909�9�::v:�;�;�<><f<�<�=F=�=�>>N>�>�?j?�@"@b@�@�AnA�A�B$B|B�B�CC�C�C�DD&D�D�D�E(EZE�FFTF~F�F�G8GZG|H�H�H�INI�I�JvJ�K KBKtK�LPL�M*M\M�NTN~N�OODOxO�PP�QRQ�Q�Q�RR\R�R�SS�T>T�U2U�V\V�W�X8X�Y~Y�Y�ZZBZ�[[�\\B\x\�]F]�]�^^t^�_r_�_�`D`�`�`�`�a2aPa�a�b:bpb�b�b�b�ccc6cBcZcfc~c�c�c�c�dd:dNd�ee0erfFf~f�f�g$gDg�h\h�h�i2iTi�jj.jfj�j�j�k kdk�k�l l4l�l�l�mn�ooFo�ppBp�p�p�qq:qbq�q�q�q�r�r�r�r�ssrs�tt:tdt�t�uu,uXurvv:vdv�v�ww|w�w�x x<x�x�x�y yvy�y�y�zzzZznz�z�{{B{T{�{�||�}(}f}v}�}�~~,~|~�~�zҀ*�����r����Z�����ރ0�`�����҃��^�����Є��&���؆�.�N���ć�>�����ވ�J�z���Ȉ��6�P���Ȋ��:�Ȋ��0�B�x���� �8�d����,�����������(�J�����ԏ�L�j������������ґ��4�Z���Ғ� �2�h�Д�"�J�b�n������� �b�t����<�V��������F�d��������t�����ܙ�&�B�t������f������$�L�r���Ȝ�*�v��4�L�d������P�r���Ğ��0�H�������h���ܠ���6�T����̤J����(�l���&�x�ʧ�T�z�R���ʩ*�p�������^��P���֮�\���ί^���İ��T��(�P���ʳ"�:����B����(�V���ֵ�X���ʷN��n���ֹ�$�T���ں:�t���ܻh�����h�̽@����8���*�n�����J�x���U.�/<��2��<��2�/<��2��<��233'3#�wffU��3����#%2+"=#"4;5426"264$2"&4*J JJ :�jj�j���zz�z� JJ JJ�j�jj��z�zz�����!2"&424+54"#";32=z�zz�z*J JJ�z�zz�f JJJJ@@72+#"'&=#"&54;542�a` ` � `` ``��\�3T%2#!"54;275>4.'5&+"543!2+"3';26'.=4>76&+"N��!#""@!#""�� � ) .BB. .BB."$ 7 7 &����2"&474"25264&"z�zz�z�"�z�zz�sQ �`Ai!!%4'&'&"27676/3#"'&'&'&5476767632#54&#"325/3#"'&'&'&5476767632#54&#"325��@�/ � /1#�#1P.% ". �.% "- `���& 11 &,11+% &# % &# ������ir{.'76'&#"'76'4"5&"'76/&"'76'4"5&"'&272?272?272?72?6/"'7#2&7436j�_j�q F0%���0%�pj_�j_�� ��GI��GI��2+"&=463264&"264&" (88(�(88(((�((�8(�(88(�(8�(((( ����")AJQX73/&6'46#"'2/632&547+64?6;2+"/&5%#"&7&576&ʳ'@7R/*Y0*~�n�M�(,2G22G2%m&9M��N;M:7$�mw/�M;�22F22K/*'AM@N�( ����"3DGKt�%53!537#"'&"'&'#.54632227'27654&'&'&"'&'&#"'53'#54'&+"'&7'&'&5463"2;2#4'&+"&7>'ᑰH��R0z5?�]#!4?�]#!\7-� 1) � 2) 6-�"B( 6& �0000�i>]� i>]��� �-70PG-61Q �""000[ %��$9"/&4?62?6"/&4?6%"/&4?6?6s � $ � �= $ d# � $ � #5 � $ � ll6CCD ��-CCXCC1 1����U7'7'77&'&676>'&'7>.'.'.32?32?327>/73276/�@@@�%C|||&%C|||- @ @ �>>>>W||&%C|||&%C� > >! ! ����3H2"&47&+"327654/&+?6'&'&#";254+'3276/z�zz�z�| 6% 5-!�)1 �z�zz�� 6 > ZR%. @�@W%+"'&'&'&'&##"&'&'.54;227676'&'&'&5676322767676;2�5 >2 B ' J (�1 &6B" ",( 1- , +5�� '!"=463!22#!"&54326'&+"3��h`��� d H��� ���� %#"5'53+75'32cgc�h�QaQ;`������h����>76/462"&"26V QQ ^ _dz�zz�h�hh�h� QO ^ _h�zz�zhh�hh��� !11!517'1'3'75#UU�UU�UU�UU��{UU{{UU�UUG�UHH����#"/&?&2"&464&"� QO ^ _h�zz�zhh�hh: QQ ^ _dz�zz���h�hh�h����2"&46/&7z�zz�z$��z�zz�ZS�����6#"'&?'&462"264&"� _ ^ PR�z�zz�Zh�hh�,_ ^ QQ ��zz�z�hh�h�r+32#!"&=46354&#!"3!26'2#!"=432+"43��x� �x � "��&�r����� � ���������6&?6/"&462264&"r_ ^ QQ��zz�z��hh�h�_ ^ OQ�z�zz�Zh�hh�[ %32+/.54?_ <� �< RR% == SS��0�P6#"&/&765427� SS ==� RR =� �<[ %6'&?#"4;'� RR =� �< SS ==��0�P6/"='&?>32� == SS� <� �= RR����=2+"'&=47632#"&=43226=4'&#";26=4� "* , !"$$" ",� !-�%%�$#�� ��0� d(9L#"/#"=4;76321#"'&76514'&6#"'&76514'&61#"'&76514'&6� A55A�A :: A?. ((3. � 4P5p[A 8SS8 A�0 (::( ) ** "" �`22+"./&4767>3'76&'&?6[()� H+ �44554-55`(�*L - �55445.44P0(#"/#"=4;76321"'&76514'&76� A55AO . � 4P4' )* #" ����!%)E%5353#53%'3753353'3"353753#5372#54+"#'&6;5463!2dC1- �h��Bhh��-0hh�h� H�H 0JLLJ788JLL^XXXX�888JLLLL�D��D``P�0%172#!"&=46354&#!"3!2672#'2#!"=437#73|��`��L0P���--0�����{!$!shht=+=P�0%2#!"&=46354&#!"3!2672#|��`��L00�����{!$!P�0%12#!"&=46354&#!"3!2672#'2#!"=43|��`��L0P��0�����{!$!shh��37'#%5'5>4&'UkkU 5@UU@/;;/p��p@0�1�l�l-RfR����%2+"&54&'4>3!!=47#!"}%�& ���� � ��'& "$G����<62"7'&?654'&z�zz��QQ _ ^j�zz�z�OQ _ ^ ����-5R\#"&546=4&=463276327632;2'&+"2#!"432++"'&76=4;254&+3260 � ��" � �4 ` 3 ��` ��`���'/R7"27654'.2"&4$"&462"2654.2"&472+".'"=4.'&54?632]&6AL88L7.#(6&&AL77L8K9 1 H �6&8L77L��(4&&8L77L} 4ZB E <�����'27#"=&'&?'&65432'"?6'?6/&�tU lm VtX?B??s x�J [\I�y L�w5�A5����2"&4'76&3276z�zz�z�OQ _ ^ �z�zz��QQ _ ^����048Z%#&'#"'"47>?27"&/+&'#'&54?624"24"7/"5'&+"#&?6;76;232($$A<$%+j� 7007 �;Xh� "9# ���Un,,,uaVVa/����<62"732?6/&z�zz�zO ^ _ j�zz�z�Q ^ _ ����!"./:G\ju7"&54657632"'&/&762'72/#&7631&54;26&76?.7>'2#"'6?6767'&7>'6� %S- <? 9�:<+ -"�3- (+G<!& � #aK O>+3 ="�1 "!/"35�<)L ( ����"&462'7654/&7&�zz�z�Q ^ _ z�zz�zO ^ _ ���46;2/&5�uup��\\�����#7#"'&76'32''76#"&77&�� �5h?3*V�5h>3*V���Y ɶHq�Y ɶHq0�P)@%+./6764/67632#"&5463272#"&'67=4/&/7>N M! P� BK�"3 "PW98XAAX89W; A p37'#%5UkkU p��p@0�1������.72#"'&76546%'&54&'"'&?6312?632v): L I .d�-3$5 ��;+@ !!'8�� 4$/+�����C�:S72#"'&6323276767+"&7>54676=463122'&'&54'&'.3�&' ��� .! !/ % - %% 3 / @D D@ / 8998 ������ By#"'&'62&'&?67&'"#'&'&6;76367&'&'&'&'&7>2'&'"'&76'&'5>76?&762W%56% /��B'8, $ T $ +9'B A%%?V#.�4 +. ! m/+ 3�." ! ����(2"&42674"&'&63?64/&"z�zz�z�2J>*,@@-II5KK�z�zz��D1 )9?,-A*/ 5%KjK����*26#"'&#""&47676'&767323276'&� *�$ �/"-/�� =!� $� 71-/� ���x4%2+'"+"?4#'"+"?6/&;23725'&;237x (( Aa 2y&%z2 aA���.DE-����(�;CK+"=4?6&#"+"=4/&"+"5&'.'&5462"4;2#'"4;2#( YvY�$8L&* ^ * 3__3 *_ *&:SS��,�p!G$2"&=4#!""&=4623!254%"=463!2+"=4+"+"=4+"#� �� d��(bb� � � ^^ @� -7CMYa7:3+"'466+"5:>2+"&546;676&72=4+"3676&754+";2'24+"37&7���Wb�-bb�e����O�tN_t��R�.'08AI2+"&46354+54+"#";;2=322654#"264&#"6264&#"2654"Q.AA.�.AA.9#$##p>6&.>^@@^>y##$#5&S6�p &/%2#!"543++"&'&'&'4763!2>54'&'B��!$," < / & , 0'+!.9O �& J����-DYg1#"'&547654'&5476321#"'&4764'&5462'#"'&5147632#"'&5147622"=&54h88//3## �//884## 5(""�5IJ5->?,1!00! L,~,5JI5.L !00! $ �� $������(%'&'9&'&76?6762u AI42+$ -, *S%)41L@ ( -,������%%'&647&'&631326;1� �� Be</r��!+=""=/A j h ��4HR??!44B.G(�X#+3:@% '&=4>76;2"!4Ĉ&"4+";264&"+"537+"p02��2*:x:�'$��ppJ�U0�`V�),L L"\9 8� F����#+2#43&53+"&5426=4&"462"���� t(&�� L$$7 �` #!5463!25!#!"&7";24+";24#��@��@������@00��>����#-5=E463!2#!"&57676&7676&7676&24+"3724+"3724+"3Z��Y �����m��1 i i �hh �p'/7?GO%2#!"432#!"432#!"&=46324+"3724+"3264&"24+"3724+"3462"��\��\���/$$$�B//B/$$$�,,\0D�����/B//B;�X,,(�X5A462"27#!"&=462?632?6276/&?'"/63!@((��lK K!$K K/7Q0� ((��nP PP P0B"R����� H%#/&#"#"&547>32#267#"/"""'&764'&54?32769Gd`>Hfs 0H!84dG:dE9LbE/+N 8<%-A. Ed��/2#!"&54634#!"3!2'#"/&?62762`��D��88�8,z���@��8����8-{��"2#!"&54636/&"'&"27`��z,8���@�{-8����##"/&?62762&"264$2"&4;�8,z�jj�j���zz�z��8-{cj�jj��z�zz�����2"&46/&"'&"27z�zz�z:z,8�z�zz�{-8������&.C&?"&#"/&54&5&767667>2264&"6676726� >2 P Q 8$2�*�""o+�,�2$9 Q P 2> �#� C ��`�$.f4;2+"52+"=4;4767632676&72#!"546;2+"+";254+"=&+"5&'&63<����-� �� L� �? 1�� 8X % ��)"����$%/&?&'&6766"264$2"&4554.5543�jj�j���zz�z�445/445�j�jj��z�zz�����2"&46/76&'&?z�zz�z4455445�z�zz��5544554����/72#!"&54634&#!"3!262+"&=463'"4;2#D##��##(��< � d�#��##H#�|H�� � � 4����12"&46462"3"&4632'&#"2654/76?�N88N8�$$Gz�zzV1.!(Fdd�d 8N88NI$$++Vzz�z d�ddF#������#,5�%#&'.6?>766'66'&264&#"264&#"#5476724363676;272##"#?>37437&547&+##6'"'&7##3;#"&#"'"'&=�_?4Z _@9`�� � [ � �><R1+&8+=R91)%#7"%+&c )����2"&42654&'.#"&#"3z�zz�z#)(!�z�zz��&" $ �`ez���%"#+"5'#"&#""&#"++"5&5"&#&576764/"'&547676276767676327325476#%76276'.'&"2764'&'&#"32632>'&'&#"2754#"32632326� @ F0F A $"/."( �� '�' (|( � ($ �}�"]-0> ) 0 4yI W `)%#!"&5467>326326/&"'&"27� +6%��%6$*-N9VEz,8�4"&88&4 ,AM'{-8M�3)C"/&4?'&4?62"/&4?62"/&463254276323rr``�`rr�>>''1mm \\ s\ mm a99#jj#M�3)19A%"/&4?'&4?62"/&4?62462"&462"6462"~r``�`rr M s �m \\ q\ mm e M�3)"/&4?'&4?62"/&4?62rr``~``rr1mm \\ \\ mm ����%##5#53533&"264&2"&4;V*VV*V'�bb�b��zz�z�VV*VV�b�bb��z�zz�����*#""/.?'&4627'&#""&5476��r�U2(/02 -(-J�o~T1(011�16����%''575575462��0PP0���p0rr0(hq qh��!)19A%+"'&47632$264&"264&"6264&"264&"6264&"n <Y[>??C[M3## ��RT((:d 477�8<-W ����((� @`2#!"&546354+";2$����`��������� 7&?6&2"&476�b1>�zz�z�Q�Q�1b�z�zz��Q� �` #7'#'737hXXNX3�NXXNX3�`���]����]�������6C{�'#&7632'&?&'&#""/&?6376&76767632"'&'7#"'&#"#"&4767>767>7636'&767326'&li#2 $ !?"!0�78:/A$* w F9 ."5 3�� �/ $ #@" ! ��6B=3:! $A6 8053 � @�@6"&46272#5!#335,,�)#��##��**H(�33�x����2"&4654&#"6767654'&'&'.5&7&'&7>'726765&'./".#&47>3675'&7>7632z�zz�z_ lJG65"#0 - �z�zz�� (Lh45K0, ' 1 X ����%8K7'&762542+"43"=4276232#"'&?#"4;2"=6"=4;2+"/xt up�u tM�� tMpu�pMt u�u tMppMt u� upMtpu tM���� 2"&464&#z�zz�zjjJ�z�zz���j�j����1�������� A6+"=47%/&?632?6#!"&=46;;2t� ��"�##��&j�� ����##�"�&����"264&2"&4''7'77�bb�b��zz�z8KKKKKKKfb�bb��z�zz��KKKKKKK����7''.547'632632�\ -4.;�H�9%%90Bs��\)0,D5- M@M�,,B���� )/&4?6&=4?6%46/&5������d��> ^^ Q�b�]��]�_����%'5#5'7'53��H@l��@���Xk�0�(���h�+48H^g7#"'&4763276767>765?22654&"624"&'&547634#2#"'&'&'&'?62654&"� r =�| 0Ci/�&& $� ": �Z�t [�A<*:*" ! c��`�?!#53#7?0�@�+**�-�--�zz@vvJ@...��!%1%+"54376?32#!"&5463!24"72=4#!"3@�\r �p ����xv �� ��������'"264&2"&4535#4>54&"#462�bb�b��zz�z�**")1D1>fb�bb��z�zz��**?"11"7����2"&4264&"&2"&4264&"�L44L4J .�zz�z�^CC^C4L44LN �z�zz��C^CC^����"264&2"&4#535#53�bb�b��zz�z�****fb�bb��z�zz��})*��0� "&=432#';+"&546;� L�`��%H? �P��`B ,7'7632#"/&?632%#"/&?632762�CB�L @$�?2��EE.OAF�A4��� 462"27#!"&5463!'P&4&&44��e��&4&&4&� Cu+u����,8HU[+"/&7632%2+"'&?632+"&=4632#!"=43%2#!"&=46354&#!"3!22#4� �� � ���h�����h�0FFF % %��0�����4 ���� 2"&47'z�zz�z�}}�z�zz��^^��@� 2"&54ndnW�W��Z[dd[Z����"264&2"&4#53�bb�b��zz�z;��fb�bb��z�zz�k* �`!'46;2+"&=3?>54/&+3#"4`���/ EE /�SSS 8�k0 FF 0��%8K"/"=4;2#72"="'&?#"43232+"=4272+"4;'&76250u up�u uNm uNpu�pNu udu uNppNu u� upNupu uN�� �9A7276/&/&&5'47/#"&//4?4>?&264&"�� CC 0 !k3 3�p- -p1,P2&)1P,4������ .6=D'&667#".'&767%'676&"'632&7'.7'327''6;8d �� �+(*.T1)668668(+))pl ��O "~@ |�� d ��,)..:6(8R;6(8 ,� P" +������/:"'&?'&7627&547676762#"'"/264&#" -% %2( H4 $>02% %-{)TtTT:; -% %20>$ 4H (2% %-W);:TTtT ����-Dj�����#"'&54654'&'&762%"'&767632#"'&#"#"'&547632%+&76'.#"#'#&56'&'&7632+&'&7654'&'&#"#"&767632'+"&56'&76322+&?43'#"&5.#"+&76'&7632+"'&56'&'&7632� ��5DG< 4>:/I 3-) D-?L -/J9:" - � ~ '"$ &1 +!�"0 /+N;39$:DW V;4:R6$*2,)'C02�+"!(*0 "!$p> ;j/! � #�$N ENbV Q_&8;::-A: ����'32#!"&5463254#!"374;2+"54;2+"5U��&��"�������j�kb����"�����72&?#"&?6��4l�4� �����t2+#5#"&=4635!�f�en��t�((���������!546;2;2!32#!"'&'&3���` � �����I)I O���� �`'/7?GO62"#"'.+"#"'.7>76322632264&"264&"264&"6264&"264&"T&&^)!;; +' :6: '�� �88�&BY 4 4 YBFF FU""8L8����463!2/&=4/ v � 7�_ � � k ���L�08@H2"&547675&'&5462676767.54&264&"4&"26264&"�:) %4#):)):)1- �"";""�""`)'$ %))�))� &4""��""�"":�F%2+"'&'#"4;676264&"�M$&l&$MM$&l&$Y>>X>>�3!$$!33!$$!3x>X>>X>����+3_g7#"'&?#"'&=&'&5462;'&462&264&""&5476754'&+"/&54?63232264&"�;9 (Z3 ):) Y)�""m):) Y);9 (Z3 ""x; : (-*�))�((�""�))�'(; : (-*�""����,4<D%2#"&'"'&'"&547675&'&54623>4&"2264&"264&":))& D-):)):)-+D '�""""" ""�):) ?�))�))1D �""4""�""����1;CM2"&54675'&=&'&546275&'&543264&#"4&"2264&#":* u*:* u*:)jj�� i�*'9<,**',<9**'+77+""��""2""����DLT\%"&5476754'&+"/"&547675&'&546327632324&"2264&"264&"I):) M)8):))%7 (N3 �""""" ""j))�'(8�))�)7 (-*�"",""��""����3#"3!2#!"&546#32�� @��`@4��� ����������$*05:@GNTY^dk2+"&463&'#5&'#6?67'3&'7&'6&'6''6367&67&'&'7567&'67&'767#�VzzVUzzU�!u>>==m!*2." D!MF #*4-" B!M�z�zz�z�6+ "*>&&>>&&8 5JI6D#(*7*"m8) "*v 6JH5D"+6*"��2#!"&=46376!"467d##��##��� #�##�#_ ��_7"=4;2#'463!2#!"&5%24+"=4"+"=4"+";2+";22=4;22=4;24+"=43�d�@��J8d8888d88�dd����8888d8888d��U� 3#"&546!2+ ����V j ���������N7/&76?67"/&?6'4"'&#"/&76'&'&#"#"7676322762� 8?' _%' �8" (1!�8L 'Q%' 7" ! ��%17;#!"&5463!2#"4;2+"57>76&����4�*��Mk,�&����@�82+"&/.'&547654622=4622=4622=4"+#:% +K �)4 #'"&� � � � m����$,5>2#!"=46;&54632632'"3264&#";44;#"&5%2+��hT%!!%+""p"���x�8##L@@���������#2"&4"264&"2642676&+"z�zz�z"�B4 � �z�zz��(��!373#!"&'5463!� �X}"��9 ��q`�`�pA2"54'&""54+"#"=4&"#"&+"&=46;2=4632;�L48.. >X> .. N89&'D8 L. .�,>>,�. .&8N('7&\$%753%!!#5#75#35335#35!5#353353���r��r9�q9�9�99r�rrVVr�rrVVVV����$,2"&4%7."67'7&'6264&"67'6z�zz�zY>�>YY>D8((8(�Y )�z�zz�VY)>>)Y��Y)>Z(8((8c*Y����&/"264$2"&472#5&7654&#"#>4632"�jj�j���zz�z�##$# tj�jj��z�zz� � ����'2"&42654#"7654&#"3632354z�zz�z� >##$#�z�zz�� U ���� (07>2#!"&=46;&546327632&"264&"26435'75#'z��.%" #%1�}�2",�k,"2:��'%+J��E=��=E� �� � &1?K[kx�74&53/&?6'6&5/4366&5'/#&75767/&?676/&476&?6#"&/7&?632'76#"'&"'&#"&54766/&7>276m=g% 'C**)*)'&&< %E+'HN =T> *�?-%2� i,�)66(����4&'&54671326;654'&+"#"'&'&+"60/A0Pd<0A/=""=**#"2*/[[�B.E@$MHR@E.B44�::$ 2#::?II����%5A7"&?62#7&?62+"'7&7>7672#!"&546354#!"3!2A_`>5 G��]��J���: X� w��`��������+&'&54671326;654'&+"760/A0Pd<0A/=""=**# T�B.E@$MHR@E.B44�::$")�E������ 9HX7#'"?6#/&?67"&76327'%.?&'&67%6?>'4#"%4#/"325�F�\l.-9��)�����r4���{FN1#_��)C��5���,����462"3#"264$2"&4� &&]�jj�j���zz�z�j�jj��z�zz�����2"&45#6264&"z�zz�z�& �z�zz�������-2'.54632667654&#"'&#"7.0B;.44.;B09%%_(0"++"0(_ �B15D,00,D51B,,��X"2*#0 0#*2"X�� 2'.54632667654&#".0B;.44.;B09%%%i(0"*�B15D,00,D51B,,��a&2*#0!��@�+7CO[gs�����"&46;2#2+"=4+"+"&5&546354+";2=4+";2=4+";2=4+";254+";2=4+";2=4+";2=4+";254+";2=4+";2=4+";2=4+";22 � X X NPPp �� (( , ��HHH�HHH�HHH�� !%1593!35#75#75#75#5#75#75#75#5#3#3#7#5#5��`Հ**************��++++{++++�����**U++U++V**�**U++U++V**��+*++*�**U++����''7'?'767>7�y$4 !05<Rf)���"��)fR<50! 4$m ��*62+"&=43#!"&546;2;2=4;254+";2� ��� �<���HHB�@PP��``������3;%2"&547'&6'&'&#.'46'&#"&546'&'&'.'&76326264&")2EFbF " �#�GfII3 " ��0�P#*%3#!"'&535463!2&"2"3!2=4#25#3�0��0 ^ ��\� hP � ����� #!"&5463264&"75#+U��{4&&4&���U�*��&4&&4�UU������#%'&'&'&'&7665&'&� *6Y#I $fc+-( lVaE C�V'#l5 $Hc@�@%1?%#"=4;25462"&72+"=43"&=4622+"&=463@�� R�� F� R� � �Xp� � *pX����%'''7''7'7'7777�--J�J,-J�J�-,J�J-,J�J���� AI%4'565"2"=4#"#.'4;254+"5>722=43+"3264&"[@kK Kk22kKKk2�:)):)�Kk22kK Kk22kK8):)):��@�'/2+"&=46;546654&325754&"�9P7R 6(8(��0(98(/} E�0((0�p#:2#!"&5423!2654&#!""54637#"4;'&762#"'&p�� �� W@��A TR p�� �@@ TR�p#:62+"&546;2"54&+";2657#"'&?!"43!'&762��� � � KTR @��A L �� �TR @@ ���� $%/&'&"/&54632?'�9��:�)R<;)h�:�*�9�);<R)��h����/%#!"&=4?626&#!"2?6276/&7� �� �0��� QK �� K� �� ��.UP �� P0�P,76#!"&=462?632?6276/&7"/63!2���lK K!$K Ka� ` �-��nP PP P&������(02#"="'.'&4767676327#"5434&"2� [( H4 $>0ZKTtTTt�lKZ0>$ 4H ([ ��tTTtT����91"&462"&5##"'&=476;2#"'&=#"&'5#r& , z U&�{izz i�������� )746/&54?6&56&547'46/&5FEi>>Ed>>x3��2 $��%v��2<%��% ����&45=QY32#'&=4'4;2##'"574;2"5%463!2#!"5462"7"&5472654'2"&4~h�4j82�~h��`�d�8!.!!.v!KjK!3(2D2(C.!!.!Dv<��|~<�&�C.!!.!�&/5KK50&/"22"/!.!!.����|�'&'"547>32%#"'.#"#"&'&7>76.'&5467939313131;267632654'&#"326*"3 ),h ! 2 , Z )/ ( $.-$"( d6. �,+ \P�0!"43!2!"43!2!"43!2p��`��`��` ` ` �� �Yn7";2+";2#!"'&54;24+"4;24+"4;24+"5>762=422=422=4+";2#&;2""&=4#&�IIM��MIIIIM( (MI��/.�#9$)99)$8$�"))���62"&4&2"&4$2"&4� � J � P`"&462"&4626"&462P H �� ` ������:%&?#76/&65#/&?635&?6/3'&6�O 7�7 O O 7�7 O O 7�7 O O 7�7 �O 7�7 O O 7�7 O O 7�7 O O 7�7 ����C�!;"&53#"'&76;2+"&7>547+676=462�.`��� �(� �� !. t�|��� / / � D@ /����C�("&537+"&7>54676=462�.`l�� .!!. K / @D D@ /����/72"&4327'&7674;54'&''&#"/32&462"z�zz�zx)/0)2!d5335d!!.!!.�z�zz��V'J5 WX5J'0.!!.!��&6?#!"&=463!26"=&'7#"4;� ����:9C a� �����b C9:�p/76232+"'#"4376232+"'#"4376232+"'#"43� 6 KK 6 �K 6 �� 6 K� 6 KK 6 �H � � �r+72+"'.467632=4+"32=4&"372=4+"37,54-�-45,(oor^l]]l^�oow)(�QQ����%6/&&576?6'"'&/&/&47�R c&��5D��pH-N �� [m��)6Rd2"=+"4;7'&7632"7"'#&?622#"'&?%2+"&5467=6767632263.54632#� I��A&77&�,'5 (>�!+%7�x 31�8L9.- >3&(, =����BX%+"767>367654/&'4'&'.7476'&5&62272+#"=#"4;5432A8 �� 8 ) 1T1)= > - !11! -X P�0 $(463!2#!"&572=4"4#"32'!!642}�� � -��U � @ q�V���� ,2+"&5463";24#254&#"7254+"3� � @ o����} �f 1I���� �2.54264&"TxTH$$2&|((�N8.�/0ICQ8q((����'4E#"'&'4#'&7676326'&'&+"7676'&#"27676'&'"232��:kh=��u % R��( z ,_0 ���@�@9N%#"'&'&7632'&'&676326'&'&?6#"'&57547272�?�N;9< &4"%"* �#3#$0$` Q+10 !#4'! #$1 �`"54;2+"532+42+"=43``�pw�`��8��8����� ."&5476322654'&54632"&=4632<Dq�qD7\�\7 vP9XOppOX9.G@[[@F/�� � ����574;2+"52#!"=432+"=4&+"+"&=463P����0����@ �jj� ��!2C2+""=463!2"=4'&+"432+"&=423$2+"4;276=~<''<�<'B';<�<;''<<��'<<p;'< @`12+"&7674+"&=46;2+"&7674+"&=463q ('� ('` �6( #' � �6( #' �����"264$2"&4�jj�j���zz�ztj�jj��z�zz�����"264$2"&4$"&46�jj�j���zz�zXX�XXtj�jj��z�zz�BX�XX�X �`%;Oas{#"'&4762%#"'&764'&47632"'1&5476327#"'&764'1&7632"'&54762"&47654'&7622"&46>> 0>> 66� -/ '�/- %' � { R �;C�C CYXC ;�;�/?B/%86�/A@/ %n% + *+,+ ' ����%2+"436"264$2"&4*���jj�j���zz�z� �j�jj��z�zz�����2"&424+"3z�zz�z*��z�zz�f �� 72+"&543�� � �`=!%5!%5!`��`��`�887�J!D"&54?#""=46;'&5476362+#/&54?62326=$�. �u. � "$�"$ . x . " #`p2"=32+"=42#"43R��LnLpnL��nL �'52"=&546#3"=&546?3257325&2"=&54 M �& ����9>bk!��! @hhhhO1!��!1Z�&!?62!276=42#!#"/&54<). ��(:�;( 00 .(: Z�& %#"'&4?!"&=423!'&462z9(�� .)� :(. 00(������-A7.'&6'7>76&276"/&+"&?676+""/57436�5LN74MN;&/!'/ +'PL,�LP'"-�L47NM47M�(!/&!0�E^A�//�AJa����)2"&47676&6326'."7676&z�zz�z�'&I 0:0 ��z�zz��!!h�� 1746/&5&=4?66#"=4&/&47@������ ���K^LS^L^1�� �lv ��6"/&?6&/&47t�A �� c��h ��8���`%&=4#&7672=432}� U(� ��Ak�B��@�(2+"&=46;32=#5&?>32'�k0 FF ��� �TTT/ EE ����-=&=4&+"=4&/&7676322632&2654&""."�>�>D' " 'D�. @-=��=-@DD% @`76/+"54;2O��GG\������8 @`4;2+"=&546�GG��\����.��������%#"/"1"'47'"'&'"&="'&547675#"'&76'#"'&?'&763227'##"'&767'&7632>'5&7325&'&547625462>?627&563237632#"'".'>3632y ` !` ! `` ! `" ` ! `` f $8c & &c8$ 88 $8d & &c8" 88 @`%!"&5463!2$�� ��`�#/3"54;2+"=4;2#3"=4;2#4;2+"5h0�0�0(00p������8����@�'3M2+"&=463";24#264&"264&"754+";2"/#"'&?63'&76&&�&&(p��D�� � 2 � �&�&&�&���``� 0 #�]'$&?#"4;'&6/&546?632+n /� �/ EE�� EE /� �/� 00 FF� FF 00����#/76462"72+"&463264&"6462""&46;2#6"2646""�(88(�(88(4&&4&�""�(88(�(88(4&&4&?""�8P88P8�&4&&4�""68P88P8�&4&&4������1d%"/&76326'&'&'&"#"'&'&767676327632"'&'&'&7#"'&?62"/276767632� *+ H (%(O;H ;%$R$&" *+ <"L � ** "%) 6Bc S"1$( ++ T< �`63!2#!"&5244"'!! � �p � ��`R �� ����`�(4IS\753++"'&=#"&=#"562"&=4$2"&=47#67'4?63272254&#"3264&#"@� 1�����4{ g �LLZ4 44 4� ` ` ` ` e '@ H ����?''3373�***�.��.8(��(z�YY�P��``���8����2"&45&"3267##"&462z�zz�z@!!\BB.&: +"22D-�z�zz�Hb!!B\B-#2D2-��@�'2+"&#"+"'.76323267+&76�) $##" 0- , !&'@<852p0Z ����8m76"&54?676?36;2;#'&'&'+32?63#"#"&#&'1&'&76;676?654&"#.?6� BV>E" D,@{>E % D,:@ @kA>+-D D,@%>+-D D,??��B�59=ER$#5##5#732>=4'&'&+5353353'3535#76764'&654'&'&'2762#( )W W) ( � H �&! @@@@0�0@@@@ cJJ�ZvB � R��'?&4?62"'"/&4767627676"/&4767627676������{y#��{y RR R QQ <;u RR ;:P�0#6;#"&46;#"5372+53264&+5+)XX.BB.XX,�.BB.XX))X�8)+B\B+[,,�B\B+)8)+���� .C6462"7#"'157654'3&'27&'&54767'5676323&'##"�'8''8�bL f ��N>.C gr&4%&6] � 1�8''8'iOz�& �� .A_0(�,�) 0*) ���� +.6PZ]7&'76''&'77&='./67>7662"&454'.'&7>76'6547>7'7�>''"] D]((''s�����kS QQ RO&]=�5):>36? �������Q 8 6 P6 8 >3����7!'%7#3#31/#���#����yp650bm3�m--D�132@(N �`'3#'32654/3'35+532@f���?#*%(@$�((/5fvʝ-%kccS,Y��,8@2"&4%6&'"67&327&6767&'"&27&'&'767&p�pp�p:<86� 6-�@A8z(&T <N� K ,�B;( �p�pp�% 5`9!%!F4d=-G#� *% "@"+I# �s'7?7'77'5qOrNNrOOrNqqNrOOP"rr"sBG?}>FBBF>J�?GB�BDD��@�%73#327#"=#535#535432&#"3#�|u!.%8 37�2222�73 8%-"���0 " Au000uA 0��$2+537#546;5&#"#3#"&5463k k29# '"-..� � �� �8$4)$)8� V ��J�<2+"'&5463>'6&+"7676;274676&+"&=4;271Hs�/� F @ R ` �9mR � |��Rm ��T - ������!6'.7675'#"&/3326?''>./"'67676=&'.'&476?.7>7>7654&/66'&667>54&� �� .' -1(.$��!6 M; ( % , " *A �;-&#����?2#"54654'>54'6'#"&"&+#"'&'"327+.54���VC.9 "6" 8. DU��_Kx+/<$ $</'wL_����%%#"'&547632&#"3267#53�68U_=9;?WM<:!,9!''&5&Dt�� W9;@:VX;=5:#'57%$/(Rc!-%#"'&547632&#"3267#5;##5#5353>*+CK0-.0F<00",+0[��9)99)�F+.2/BE.0)0*+ @)99)99��!!?#'#3����@-&(/B(����xTTxH����!'7#3/#?#'�#��� �560cb���m--2�@'N�3��'/7#";26=4&'2+"&=463"&462"264&2"&4� 00 � 00 .BB.�.BB.�f4&&4&hP88P8`0 � 00 � 0 B.�.BB.�.Bp&4&&4F8P88P�p+#"'7326=72&#"#"'73254&'&546�y�1$ #$UDA7$&+4]EhՃ>&�@ F.<?&"D,:��02#!"&54635#62654&"54&#"5#3547632a �� V7#77� �� A ����� �d%&�a %^ �`"2#!"&54635#'#35737#5##����8**88**�F*8*`���DD�`66````����<g"/&76762?6=4/&6=4;2#"/&=4?67"&54;23254&'.4632+"5&#"#�5'���()��� -'/$#$'"K,)#( *% \�^^��� � _ _ � ^{" 23 ��Nk72#"'&547632#"&54767##'"'&'&'&'&'&547&767632676?654'&'&#"&#"&#";2� � ~" $@ " ,D() B* *2)%VT� t&:.*;%'/ '��=$ %>����B2#"'6?32654&#"74676'&54632#"&7>54&#".54����]"'6CP>JV. =1,2(<J���� >VC4MW5C ,?/&2E " ! hnD]��� Ac%#"'=4&+"'3276?#'.'&767676?%567676'&'&#"567632� P/? �� )+- o>��\) a--" � � ��f �* %/;0 1 ����&/QZ7#"&'&=46;5#5467632+3"7254#"+3'&=476;263>=32"3254�"&`"!h '`.3.1!h!� � +' (79" y ` (5!!6! "&#� �� >FOjs%462"&'462"&%#"&547&546326737632#"&5'632&"26467&#"6=&'&'.'&#"327654&#"#"'73267�BtRSt7JVEJ7?��Q2 6LM6 26MLt u /0 ) � 3 9QP9 &b&M& �� �"1 %% 1"%� n��62"&452#44#4&#!.!!.!i�P`P��P��p!.!!.��iP`�ៀ���u�����%'&76'&'&'&7&''&7>76'&''&7&'&7&'&767.'&7>&'&6337676'&>76726>7>7667676616'767676&766'76'6 "& ! <4< P^&%IK D7hT0 <%�t+hQMw $ * . (1%# , 5+, 32)-%`8 ��m%#"'#"&547&54632632654&'&'&'&/&'&5463232654'&'&'&#"#"'&'&'.#"3276u>,Lk>, LkY ! '#�,=jK,=iK? ����nv��%"###"'"&#&#""'.'&#""##"'&'5"'".#&'&=767654'&'.'&7>32&'&76267632$"2646&"'&26264&"� %D% '$ %'�'% $&�� X2B X " ;+--+: "�@5K5(2CV"&462&2##"&/#"&46326323747"264&"327'.7>&"#'&'3264&�,:()C�� +F&�f � �!))0N*O>( p ���#727#"'&'&'&=#567676733#�!"0>``4A �:+p@e& ��@�#!"&5463!"224"7!2 �� ����� �p � �i `����2#"'"&767.54z�zzV 3=�b�b P0F����(7"&5476=4622654&'&=4#"�*8P8*(G0"�2(88(2���#������I6'41'&76763232#"#"'&76765&"'&76'&5476/4'&54@"1@ # 1 >" E � +# #7 ����I%1#"'&'&#"=43276767>76767>7632727676o@"1@ # 1 ?# ; � +# #7 ����%�4<HP"/#"'&?63'&762.=46;4;2264&"754+";2462"� 2 � %H$$ "'`T((���~ 0 h%� �%��((�@@m����V^"=762#"/"'&?'#"&547'"'&?'#"=4;2+7632627#"54;24&"2� I5 0HC^5 % ]<% )Z)K< ]JNpNNp <H0H-) 5^CH0 %< ] % L ] �pNNpN@�@"%+"&46;'"/&54627625462� y T�V��V� O �T��T�R @�@#2"&=#"/"&54?627#"&463� �V��V�T @ v R�T��T� ��6BN2";2+"54;2=4'&'&'&#&'&54;54;254+"%674+"76�,#'!BPPB'"B��# $ #\7FQ Q#%5oK K����J+"'&'&#"+"'&'&#""&543232=&#"+"'&'&#"+"=476762g8 & 86N"M6BN � �$ OA?��@�!12+"&=46;54>1"514&"654&325�7P9(8(R ��/(89(((0} EP�0#"/#"=4;7632� A55A. � 4P4���� (6@"'&67#"/#"=43'6514'&6'6514'&6#'76F����3( A5p5 *:B?( /C0 ��|)E| 4P8Q>5DS8 BZ/&:( 1BR )���:C75#"'&547.>#"/4/&=#"&=4?6;27/5I. F �*\ D%9* FW[/43 .��h^L:A xDn F5����62#!"&?#3264&"� $ ����$p���zB ��1GHd��#"'&'&'&547632327676=4'&'&'&7632&=6;327632#"'2#"'&=476763232+"'543>'&'"&76;2'&#&'&6� ,@' 7'.#5% " '�& ? D56' "\�� � %-)'% )%�� </0B,-%$%,5R3 ��@�#"'&'&=6767626=4&@^BW/?+050);=.ZU;TASX<$*��7'>���`$/ '&'&"/&7&7632'&"'2/&7`^!/2l2-"N=RQ=,v,OF55`X ^77''55����*9;2+"4;2=4'.'&=476;25&'4+";�'9�9' x `��V'-ss-'V o#..#�����.6"&=##"'&=#7##"'&?>73#"/##"&462� ,,b--#$$0xxx�Z h i Z�xx&&����2"&45#5##335z�zz�z;V*VV*�z�zz�k*VV*VV @`%##5#53533@�*��*����*������ '7'7'5&2"&42654&"�b�aa�Ue;�qq�q�|XX|XC!R! S!S�o2=Up�pp��W>=XXz����#"&5463!2#!2+"#"&546k �� � ���� ����2"&45#75#z�zz�z�000�z�zz��((X��)�W 1567&%5$2"'=5##5##5#35335335++�++��<<�<� 0 0 0 0 �5&�&55&�&b%M F%%F Mb ����@327#!"&=73272654'&"5463!2'654&"&#"'54[ :��= :&�&(j)( W < '�99 ! _ &�P�"����%)/2"&464&"#6#7''6323&54'3'7#"������0pp�pp8�fH!81N<�fH!�8��1N<��������p�pp�pVV>��*7�Z~��*7�V>Z~ @`#5353#53'5335373+535353P(P�PPP(P(PPxP(PPPPP�PPPPxPPPP�PPPxPPxPP���� !6'3462&"347'��zh=V=H@.����(_�`�+==+N. ��UT����#!"&54?63!27#5##'!'!� �� ! �Q\Q =��\ ��! ' ��..�Vk%!'7V��w��x�*x��xVk7'7�x��xk��x��w���� 2"&47#z�zz�z�`��z�zz��`�!������ "&4625�z�zz��`�zz�z�`�@�@'��@������ "&4627'&�zz�z�``z�zz� ``@�@��@������ "&462'�z�zz� ``�zz�z�``�57�����Vk=!'7'7w��x�*x��x`f%2+"/&4?62A �S � � S�O � � OLp7&4625462762"' OO � � S� �S � `f7"&4?#"&46;'&462� S� �S � # OO � Lp%"/"&="&4?62C OO � � S� �S � Vk7#'7'�*x��xw��x����V7223#"'&7676&2"&46&#"32767'#"'&7>32#"'&57#3&'&#"32673276� Q�zz�zP@;<%$"!= /6-/. '�B �z�zz�P<F%$~%$13<81 S%����'3"&=462"&=326=4&"265� EbD2F3. .2F3@�1DD1�#22#��� ��#22# �`2#!"/763'7''7���``�??@?@@?@`����@@@@@@@@����+7333'533533#3#==3!3#53#H0`0x0`00��((XX0XX((@���������0(0((��(00����Gi�%"'677'674677'6735#&'7'.'&'7'&'62''#376?'&'7'&/7'&'35#677'5677&4777#3''> 8�8 8�83::��::-++ ++ "<�= �<�= ��$%32#!"/&546;76323'2654&"Jb3 �� 3bYNz=" ���� �Y�����%,373&'653#&'6#57#676&'3&'#67&'3�0>3;V1:3^0;1�1=3:S1n n1�n21n��(@l�V>(��T@'��(?)6H$!�"G6�$G7�6G"%����2+"&546;537#53� �%ZCY-Y-s�� W--���{�����2+"&546;53#� �%Z�s�� W--��3������2+"&546;53� �%Zs�� W--����%-+"&54&'4>3!32265#33+"5�&�& /^ ���� ��&&4 �p@�������,B��2++"&="&=&5462632632632=##"'#"'"&#'2767676327676323276546;2654&#"#&'&#"#"'.5&'&#""'&#"354&+326�!@&�&&4&0#( 0 7 P 4'`D!&&�7&&41 ! 6@ ?e` � ��*2:"&4622"&4264&"/#5'&4?63232"&4264&"9L77L8C6&&6'+' = H ";��L88L7B6''6&=�8L77Lg&6''6�-- pV& E < %8L77Lg&6''6��� #5'7'7537'aa�g ~~ g** ``��g }} g�VT*�*T������"';7'&76?546;7332#"'#"'#753#"'"'+26?243&@`@&3/''./&&0+��+9$2(Z(2$5'\#� b55b �++**T))T��$ ����2"&4##5###5!� �+*+��� x��+ ���� ,-9H\g7"&54657632"/&762'7/1&761#&54?66"&4767"&5472654&'264'�(^5 ED?�> A. 5�39?Z?,*&*&aY ]#B/7 Abh;-??-E4 �&6 "�r6'&=465#5'z&��&���&�p� � �� �� � � 2'463������@@X�� $2+654'#+"&546;5#7U&��p8���$*" ��*��� �`!37#"&=46;2'#"&54632%2#"&'6=4'>�((ojjjj�((GG��G0G��3#!"&53546;25#0p��pp(p0��((((��2#!"&54635!���P����� ��������62#"'2654'762Y:*8':$��A��)&6.�?�����/#3#3#"&'#53&=#53547#5367'7627�2002CCNCC2002D'"4&4"' 000!''!000'"44"'������%/&'.77'6�/�#LZ=X$U2/�S%X>XM# � 753+"&2+"&=&54P�XxT>| =tN8G(++(G8`�'/7;=4>2+"&=#+"&=.264&"264&"75!58P85 � B�@�`�##� ' ' ijj��15!2++"&=!35#p(/!�!/%((00�P@!//!�p@@ ��@�#'+/32+"&54635#75#75#5#75#75#5#75#75#�800000�00000�0000����@��00X00X00�00X00X00����00`00��%#57332#!"&546;5335!0`@0��0�H�а``� �� ������%2#"&546;276k �� K /0]/'u K ԗ )$ /]0/ ��#6462"72#!"&546;73264&"�%4%%4���X � �\BB\B�4%%4%��� ��B\BB\����Sv?%2#"&'&#"#"&'.546'&767676&67&7>7>76'&546326'.'&*37&7647636&'7./505656&'.76&'&'563233654&#"&6'.7&'&767>76'76'&'&=>'7676656654'.546/+"'"7>j ('%" !"B&� w . 0 V 4 #!'#E ! -, @ T !*. # !&���� !##5#5!373'53#53 �pP@@`p��P@` 0�0���p@@0���@@P������*#"'327.'327.=3&547&5462676��}PDC52 !-+ Mz8R !Ri�,*%5#5_)8#��@�EP_%#5"'&'.'35'.'&'&54767676753#&'&''5654'&'&'67676; @E @E � � � ##2 x !! j O\ � k �`!)-+"&=!+"&=76;2264&"264&"'!'#S- � -�����* �Kv� �v�YU�p2#!"&54635!%5!���f��f��p���̄��,,����$,62"&43!2+;#"&54?'#2"&4i""PD4 K���J*5""F""_*� (3���"" �`!!7&47##2%5"&5#3465!��@� @&P&@ P�t�`� &t&&P0P&&t&� ��2+5#"&=432+'#732=X�Z9 �9Z�'��� YY�? � YY'�����73+46;2'#"&=463U� �: 7L�P : �@��5���77'53#!"&546;#iB��` +�����B��`���*+����2#!"&54637''U��j��L���*���M����77'3"&4632&#"26{@��]*z�zzV(& Eaa�a�@��] Vzz�z a�aa���� 2"&47''z�zz�z���L�z�zz���M.�R?'7z� ��z l���z����%2#!"&546;>2*264##5#U��W#,#5�(�(p��: ��@HH������!(.59=DKRV"&4676'&246'&76&776&35'6'&24"24"6'&6'&6'&&24"&zz�zz��� , P_ 8 h P �z�zz�zrV u� ^ v/{�9� �� �U ����2"&4'7''7z�zz�z8KKKKKKKK�z�zz��KKKKKKKK+*U''7'77*wwwwwwww7wwwwwwww����2"&4264&+4&#"#"3z�zz�z.1"-&%�z�zz��,#0#&2% �`%#!"&5467>327''�'6;)��2F>-G+6R��o,�9();F2.D%,Eƍo-����4'&'&'&'&'&'767676767654&'&67>� 2#" , R (9"N.3*-E !&'7O G&i&+ 6����@2#"'7&546'&'.'&'&'&'&?676'4.'&+"7>����[73z( I $ ��'u5<[� �`%#!"&5467>32#7#5#�'6;)��2F>-G+6R�DddD@�9();F2.D%,EgddL �`&%#!"&5467>32264&+54&#"#"3�'6;)��2F>-G+6R##@.&: !//!�9();F2.D%,E�#2# .@-#/B/ �`%#!"&5467>323'33�'6;)��2F>-G+6RhDddD@�9();F2.D%,EoddL �`%#!"&5467>32�'6;)��2F>-G+6R�9();F2.D%,E����,43+"&54676323&'&'632'5467&#"'327&[� */!�(8," 1 .8+C� SA " $! x/ !/9(#5#"'7$Di!%k +*�V3+"&54676323&'&'632[$36'�.B3( %:! #8$A3L $6%'7B.)>*!%#-@@�@37'7'77'7�*-``--��b�bb�� ~-``,D��bbbb��@�@7'77'7'537#553���b�bb���(�(P(^��bbbb��l((((((((@�@7'77'7���b�bb��^��bbbb������;CLRZ`i%#''#5&''7&''7&'#5367'767'76753773*2647&='767527'"'77&'654'�# 8@8 ## 8@8 #�� /F9 WD & b/ 9S/ �8 ## 8@8 ## 8e&0m 22�&&� 2�'0���� 7'7'"&5467h6����fg49".!r�����gg=!!.��'#57'77627'zC)�e�)C�*�HC)�e�)C���*���%-52+"#"&46264&"6264&"264&"264&"�Oq?,& Ppp2S}S�dG,> p�p�Ch��'75353753''7'77'53��$�%%%4E!0/o///:A#�%�?DD�DDu%%a0000�00[%%����62"&4&2"&47�C�����U�U�ք������U������� B%//.?'&'.77'67/&?'&'7&/5276�)r` +iD N5LJ5 :�7# 9-)2$"7)qp+i IK5K5D :98" %9/ " ����2"&46"265427."z�zz�z�2%$4$��-UNU�z�zz�<%%%��C$$�� "57!>72&2"&4267#&'67327'&'632#"'673267�!- �� -!>JV??V?Q2( � �" C� 2 9+??+( h ;##; �>X>>X}j( L�;1>X> ��=3#=3#553#3#53�33��MM�3M3�M�M�3�̀3M33����� 2"&464&#z�zz�z^^B�z�zz��^�^����P�(7++"&546;546335#"5#";275+=+";2Ѐ�xS#� �0` H���� -S� ��8� `����57#'76�P�Pz(P(3P�P�*(P(3����%5#532!##5#"&=#53530���0J&�JJ&��&�!&PP�&J����)<2#"&=47376'"/&546?63#"/5&=4632��� ��� -��\�\2baQ��\����� (049#'#"&546327'#"&54632264&"264&"624"73'�C�54%&44&55&44&%4l&&&&��C�-"���5&44&%4554%&44&&&��&&���-����2+#57#"&54635!��*�*�j�����0 0������2"&4264&"62"&4z�zz�z�N77N7V �z�zz��7N77N< ��@� +"&54633'����pp���P�p-S '73'7'7���|��z\� z4����{[<{@� %'353!!@��[��@��������-����#75!72#!"5435!73#7'3'53P@��`��9�F�9�0������@@� �`@@ ��`� 2"&54yny_�_��Z[dd[Z�� ?#53'72#!"&=3!!#5463�7��8kk���+*��+s8*8kk+��UU*UU��%53#5#53#%#533#53M3�MM�3��3�MM�33M�33�MM�3��3���-3"'632'654&'7/#"&'67'327'#"&54?32�,'*Kz0;<�j< .+Kz3 B<* #8#/,TD8(;*;7��; TD>' A*;#/#)�W 2"&'6264&"62"&4��zz�z�T<<T<M2$$2$WSDDSSDD�<R<<Re#2##2.�R%#������$���� �3##5#535.5462264&" E3HH0HH3ETxT�8P88P5Q20@@02Q5<TTP88P8����)%#!"&=735735733'35355!3267���'�����(��S,:,�0��0 0 00 0 p P p %%@�#'+3#5##5##335335#75#75#5#75#75#(((�((((�(�(((((�(((((���++++�+++�++V**U++�++V**U++������b��7"'&7632'&#"#.'5.6763276'.#"'&7>32'.'.#"'"'&'&7632'&'&#"7"'.5&7676#"'1&#"1#"547343632=�M8"<j/M�&<%" K87(" Z?@2(! 2x3 ("8E"5. - �- , $Q$:0UT�e)#X#"�� 9%0/#B"* Y52H)"+<+ / 6JD.%>" .#9A0 (. $ s @�67#"'&#"+=763232, 8D7"2>m���5� ��@�%%#"'&'&'&=>76'676'67) -J E!. :��'.E%3 #*S"/(0E~+((����335#�@@�@��������%#!"&'4?5#53#3'#u#�%d � ���^%%�`00`p0����)1%#"'"&57#"&547&54632'462632264&"U+,,>,,++,,>,,�>,,>,�.+ ++ +..+ ++ +._+>++> �`2#!"&=46;54#!3!2����+���j0��0�� �`32#!"&=463�+���`0������#02"&437'367'?&''753273637'#z�zz�zO,:�9,'000=�.+= Z�z�zz�D&*"C`$(&Cu6'!/4�(64/��680�P753!!5!�`����@P 000 0y22��@�*2:B"&5475&546267676=&5462&"264264&"6264&"@ 7":&4& &4& . &4&� 8 � $ @# &&$�$&&$� $&&N �� � @�@%#"&'#53>2264&"�dEXDeeDXE�B//B.�@*66*@*66*p/B//B���� 8@755#"'&=&54623"264"&54754&+'732264&"�``7 &4& : 8 &4& ``80 B>``@$B�$&&$�- F ��$&&$�-@``>#B�� ����$,4<%2#"'"'&'"&5475&546236$264&"4&"26264&"@&&$?. &4& &4&$3.�� 8 � �&4& u$&&$�$&& = � �� � ����$,4<"&5475'5&546275&5462$"264264&"264&"� � &4& � &4& `` &4&�� H � `$]@5$&&$5@]$&&$5005$&& �� ( ���� 4<D%"&54754'&+'732264&"2"&5475&54264&"264&"` &4& ``70 �4& &4& 0 G$&&$�- A``=$B�� �&$�$&&$�$�~ ( p�1##"&=&#"#"&/#5;�*).31/**� 01)'33''30����(}2"&4>4'&'.7676'.'&'&'.74'767'&'&4'.'.'263&'/>76636.'Bz�zz�z� *4+�# , )$! 6�z�zz��� 0DJ4++#/ & ��#'+/32#!"&54635#75#75#5#75#75#5#75#75#Z��MMMMMM�LLLLL�MMMMM���4��MMtLLsMM�MMtLLsMM�MMtLLsMM������(%'&"/&?67&7676763�/� $;%&$6+ 2/ $;% & $������7%#"&'5'45'&>65'&>235462?>?6�`-7)@: " *�g"0%�X������*����%2"&4264&"6"&462"&462"&'3z�zz�z��aa�a��NH9 � �z�zz��a�aa�Z�'!!����2+5354&"3#"&=4p�p&@UW|WU@&�sR�'�+@YY@+�'�R��3'.54632632�4.;B09%%90B;.40,D51B,,B15D,0����'/2"&4>7'>7"2646&'77.'z�zz�z .( n.( K4&&4&H. (��. (�z�zz��. . ,&4&&4@.( �.( ����2"&45#74654&"3462z�zz�z�**>1D1)"�z�zz��**?7"11"�3#53'#4>54&"#462�BB@&4&@KjK$A!*%&5KJ5,(�� 3#5#7##5#�b>��>b`�������@�"7!#!"&547&54632>?632 ���, /(8��? ,&8(��%#!"&5463!2!'���*��J*`J+*�`�`������)5='%.?&/&67%6>3'#5&#"77#4#%"776"&462� �� ( �� ���U �� zE&.4 �� .� 6 �f� ǃQ"`� !*"/#"'&47632264&"'76327'&"2�<P&&())(l..!()�%%..)(8$$Rh* �$$*����2"&45#75#z�zz�z�***�z�zz��}}�**L04=3'53000L���00����''7'737'767>7��'7)0<?X n,���$��,n X?<0)7's X�(73##5##"&4632264&"��+Eg6!+<;*!8d�@@@)=V=)a ��@�!)19AIQ62"&42#"&42"&42"&4$"&4622"&462"&462"&4&2"&462"&4� ` ( � � _ 2""�"b""b""�""�""""�""""�""�#%3#!"&53"&5463!2!264&"�KA��AKj��j� ��5���� ��@�%#5.54>?@+&@&+!//7*#�*;11;*/W9- 07X��2#!"&54635#75#75#X��Ƞ�������0��00X00X00`h=!%5!%5!5!�@��`�� x00`00`00��00����'2"&43##5.'#53>753264&"�B//B/!!`C*C`!!`C*C`�|WW|W/B//B*C`!!`C*C`!!`�W|WW|��@�'2+"&=46;5462264&"754&"�;R;t f$4$��();;)(� �($$(����&2#"'&/3264&"#767653'7'7�VzzVB54.0�``�0.47��-``,�z�z&%; 0`�`0 ;%&�*-``-���� $753'7'727#"&4632&#"%'��-``,~D0 7@VzzVA6 0DE``�*-``-�0 &z�z%0`�`���`�,17'"&'&74>7654'&"./&54762'367'00 2 J ' 01��� ]1VD0F$ %, -2**)6V 48<V13��J,!"+!)��%#!"&=4?7'�����૫����ee�pUU�p2#!"&54635'���e���p�� [+uu+u����3#5"&46327#5264&"p00kTxTT<-&k^�P88P8�0�^k&-<TTxTk0��8P88P����+"&4622&=#&'5+&5#&=46;d %U r i�� ��i r��2'"#"54?6765'uy�iy�gs����)-)B)-(���,�����#73462"7''3��6�2H33H�$2�E��Zh(h��H22H3�$�hs !�����%'#5'7'7537,l0l`l0ll0l`l0�>T?}}?T>>T?}}?T��#3#!"&53546;2#355#5##3350p��pp�p808800��(((�088088�p"'64'7'64'#'##/57373^""E44**V `0P �` 1"^"DC4�4*x*> h@��pP@�@=!%5!%!!���������@++k**�+����!+13%''#5.53327'#"&='7''5462'65'<:::"_!.9P'H1 )�o� �)8)\R"]:::!_RRX92C!(�n� M�((�.&�!��@�6"&=46273#5.5326�8))8)4'P9.9P'HbH�(�((�#:WRRW:2BB���+#3#3#3+#5#"&=35#535#535#546;2888888 V ������ � P%+%+%*MM*%+%+%����327#"&5467�pP("pIVzZECOqEZzVIp#����%'5#'5%#5#5��������$����ٶ����b7"#"'"'23"&'.'&54%"?6=.#"'726&##'"33'726&#+67632�5 �]0?n9+' >- &?"9]#"2#��I��U5 %,'* 0OAq! :�Jq� H .����%5#3'35#'735#7#35�``@``@````@``@`�`@````@``@````@� 3#"&4632��U3F22#�U�#22F3��!"&46325#"&463275#` ):((�):((�����'%8%z�'%8%�55@�''�������@@��l� "&53'!57547'7'675462�"R�'$��)?%�-;L��$)s!@�^� I��`�%+#?=4676&2!57546754"&5�", � ,"-;)��);-H"H9$r r$9H I/r**r/I ����`�"&537!5754675462�"R^)��);--;d**r/I I/����%3'#"'.5347'6320�>4GF4>�&G6;=4I(�=ez ze=-}|����%#"&547563237'775 �� �m*D1 %� � � 8)�8��%53#!"&546;#3#5'7#U+������+��W+��*+��U�W�� ����'+/;=!353"&=462%5335!"&=462'5!353"&=462`P`��P`���`P` `P `P `����!.@2+"&=46354&+";26554&";2754&+";265R.@@.�.@@.!z"*g�B/�/BB/�/B�f e� �f e����5%''7�hhJ�I��E�s��`hh�Q �����'159=E2#!"&=46;543#367#"=4"32%#326'535353+26=�0"��#3f-*:& 2��Ƞ��������"02$� P �?�� 2 ��88@ @ ��">'72&54675353'7'7+"&54676323&'&'632�t/ 0�) A */!�(8+# 1 .8+C8'"0))u7��.!/8(#4$ '7@�133#kjkk������������/EU#"'.7>32#"'&767632.'&76732#"'&+"#"'&547&'&7>73� & �� &9# fX �"&(!(&#!% -s=# #=�%! #0�P &%"&4632#"&46322!54%2#54&'61$$$$�$$$$FZd��12]��#2##2##2##2#,& 66 66��$"&4622!5453##5#5353HP88P8�x���@@ @@ �8P88Ph5+00+� @@ @��6"&4622!54�P88P8�x����8P88Ph5+00+0�P%#!"&=463!2!5!���n�� ��Y����� �2+"&5463#�������n�� ������(%#!"&5463!2!'2+=4&+5463`�� �B XB�� �`�`@�� �����74&546323#&'35#"zV�-)�@2NzVc�Vz ��2@�)?cVz��@�2.54264&"^�^P((7*#�0!!0!�\A4�/.HDV!Ay!.!!.���� !+"&'%7!�+� �� ����SS����&57&5474'./6?%&62&&"'767>?_2-M.&9-2' *3M��)8�8+ �+B�B,49�IF=JfC" !CJ=FI. 2CI ''�48JJ66/%@�27&"5'277! � , � , `` |ի��������3#3##5#535'#53'37�p0IXXPXXJ0pPpp��00``00����#"'"&5&5474636;227'�+M�M+*Ia aI+�ґ�+6j6"//"65#H"//�bc���� "9'&7632264&"264&"6264&"7#"&#&#"#"/47632W��CTS�XX� KUSM Sba>��@ f�i� !���|D676.'&'&'>'&''.7.76&'#&3'&'6h28>E3<K2I &-36?AD&$ %$$ 1Q6<5)l>".:8�L r@-H !9?+! ��@� @����� �@=333353� � � �� ������#5"&5472654'�.�Iz�zI!<_�_<���2>`VzzV`>!2KC__CM0�� #"/&54?676&#"` � { �� �� { �g����!#"'7'#"/&54?676&#"�&��: �|��U%���� ��|�g�� 2#!5#54635#!5`&P�P&�� &�UU�&���`PP����&%2#"'#"/+&'+53762763236�# 8(6J:3 7"* �,(��(��܈ Q!�� +#546;#"%2#54+553+532!3#"&=300#CD4#0 CP0#DD��DC$0DDD#00#DD0��CC#11$CC ` ?#5337#53 -M�3�2R�2 a��aa��a����2"&4264&"z�zz�z��aa�a�z�zz��a�aa�����2"&462"&4264&"�V==V=�zz�z��aa�a(=V==V�z�zz��a�aa�����!%32#!"&54264&"%5!353����V4&&4&@���-2n#H���&4&&4�VV//���� +G7"&546?"&5467"&546?"&546?+"&54676323&'&'632k S S S $39'�.?3( %:! #8$A3L0 ' ' �6%';E/)>*!%#-@`� #2+"&4623&54264&"264&"P88(�(88P9O�4##4#4##4# 8P88P88(""(e#4##4##4##4`� 5>327#7&#"wLV@P�P1?9\oFW8L�M)A5`p72673#"&46327#7&#"�*C.]<IggIH44�F&67MM<.&8Hg�g44�F(MnM����2"&45#z�zz�z;��z�zz�k**�@�=!@�**@@@=!%5!5!5!@��@��@��@@$$�$$H##K##����#5!5553!'7U*UU*�UU(S}>SS>�S}>SS>���� 3'#57��A�@�A���@�A�@���7'&47''67&67>t[�V!����0M0 @�YE�����0>0K0�P 3!'7!�/��U!��!U78�V"��"V0�P 3!'7'7!/7U!��!U��8`V"��"V��+2#!"&546;735&"3267##"&4632���X � !!\BB.'; *"22"!-`�� �c!!B\B-$2D2-.�R7'77����.����������$2"&4264&"327'#77#'?67�jKKjK_B//B/ 00`K�K`0 �KjKKj�/B//Br 8jP��PF16����17&'.'>?"#"&54'2%&'&'67>3�:%&<>% 46<UG+@\4?Z6* @ +�K & )i\B&Q9�L9963.68@'���� %62#62"&4264&"6"&462"&462�B6��zz�z��aa�a���#z�zz��a�aa�Z��77'#5'R������)��RRURR.���i���%'5'#"&4632"264&"n!m(5;SS:;S"�R::R9�n!n"SvTT;5(9R::R��15-5*����++��������;C%/+"/&'/&?4&465'&?66?6;276264&"n/+6 U 6+-.+6 U 5+-�>,,>+�"G77 G ""G77 G ":*>**> �`%5"675��Oi()�ȓX49�U����$$2"&547'#"&46327&5462#"'&4$$4$�&%�&4&&��h$4$$X&4&W &&4&W X�� '!5726�M � M�%&%� `��` �� '7;''7#7'�"|"ڄ1��"-)K1�1K"|"�1��"-�K1�1K��7%!3k��@��������� !3��@@����������A%'/'#5'75'7'7'77''7'7'75'7537?7'7�9:9>@*0*@=:99X??X99:=@*0*@>9:9X<<X�!*!9X$G@*CB*AG#X9!)!$$!*"9 X#GA*BC*@G$X 9!*!##����?5!&"&547'7632&2#/767#53&''7&'#5'3#7#&54Pr1Cv�z,;$1 1$;,00�C1�zVI7$1 1$$1 1$7IV��!!2#!"&5463U��*��U��U��*��2#!"&5463U�����*�� %'7'?/?/�n!}}!n�99(<5F�`�KK�`���$D.@��� %'7'?/?/?�n!}}!n�99(<5FF5<�`�KK�`���$D.@@.D$ �� 77'?�}!n�99�n!KK�`��`�`�33#5335333`@�@�@ @���pp��������7537"&4632764&"53�0�(p�ppPA5!xXX|XX�����5APpp�p(!��X|XX|Xf00��`�%)2#!57"&=4264&"75#264&"75#\�\+ � +Bpp�@p�"3�++�3��~``�~`` ����#'#5'%'2"&4#5!#5/'#5�*�&��&&�hLLhL`@��@n&&�&�*�@@,&&&&LhLLh****�&&& @@�n 73#'%5#535c��c�c���K1Kc�dK1K p,97"&46;632#"/;&47#"2+#"&4632654'&+328!!_#!//!#pLL �!!_#!//!#pLL �!.!/B/I �!.!/B/I ��@�2'654&#'755"&547�B^G1PPPPB^Gc`C0'2H=RQ��=RQ=`C2%2H �`463!2#!"&5!!64" � �p ���P.H �� �r��@�2#!"&5463!24"( �� �r� �p � ��P��.���� ##"'654'624767&'&&547P@A:GH8@@7� 87�78dE�D--C`_E,�R%";RP<#wR%%<QS;#��2#!435#35#35#X��@ f&s&s&��@X(�((((((����7"&5475462#354&"�18P81(? �9(88(9�22��2'&5?#"&=4?6353 ~ w9 @�� R&������3"&=4?32#!53�~ w9 ��@� R&�������!&+7#7##"&54676323&'&'632535i$35(^!!cD0@3( %:! #8$A3L�Q;6%&,$Cg7-)>*!%#-@� �`����2"&4264&"7'5z�zz�z��aa�a�^m�z�zz��a�aa��m8A}����"*26462"32"&5475'2654&'#"&462462"� Vzz�zS�!}%_�_P;.� �� B [z�zzVh>�!}-9C__C=[,j ! ��`�#'+52##'##57"&=4>2654&"75#;5#2654&"�8E3- !,,S,1! -67Knn�nn?�(%�-!,,!-�$�� �WWW� ����2:3#53##5#535.547''7'#53#76327#264&"@�#X4'??*??'4(#�?% !-$Q?z4&&4&��EX)=.(88(.=)(E�#% Q�&4&&4@� 75!+"&!5373 � ��Pj+��F 3�@ %#7''777��3mZ� �Z�333nZ� �Y�43�@ 3'''77:�3�Z� �Zm@�3�Z� �Zn����)3=3;!53275&'&'&53<=!&'.5#67#6XH*g E�EC%*G��1 WM2'900!%.Q q#> $$ =$����0%"#&#"#"&=332=.#"#&#"#5467632#&j (!+ gNL9;� w$"vPt:=P`� 2.#"#56�Lw4\9?1P�P@XE5A)M�L8��@�%2+"&=46;54&"#462264&"��$4$&;R;t ��($$);;)(� .�R%7'#!"&=463!2``` �� . �b��bV � �p37'#UkkUp��p�� '%4&'5'6'''567''#537'7'5V</@U �3�($._kUU [3�3R-lE6* �h3��(! - _�p� [�3<1���"&462'#5'##576323� (9&29(Q)(o -HP �&>`�`D�@Pp&E(���� '5#75#���000��`@00P``��@�#'&4?3264&"@=�==��FdFFd �0ss0�0ssKdFFdF����`�#"'&4?,443IJ344}6�6666�6���562"&4'654&".5462&2'>54&".54�""�#)1D1)#IhIӬz9/&-a�a-&/9�""!9$0"00"0$9!3II�yU8^$L-DaaD-K$^8U��7'5!3!5337!����k�kK�+�ꫪ++��((*������%->73&/##&=#&=#7#&76"&4620 .+ *-�+h `� �` � ��#>J+"/&5476346732+"'&#"/"'"'&?&5462'54"#";2='Z��'ZF# "0~0# #*g�g�DR�)PE)P�$ #((# $2@IggI@>tf����#2#!"&=463%!"43!2'!"=43!2��f��d-�� & ��8 ����%2"&47676767>5632&'&"z�zz�z25�j�z�zz�V'+E25j���h7"/&?62:�����VP ?62/&462�������h7'&462"&47������`P*7"&4?6"'��������4=%#"&'##"&5463235332654&#"3276#"&546323264&"�1))%--$)'VEDXYK [mlWSj�,�7B$6,*4 �/'>MZFHV hXVj^G8 !6 �`2:BJRZ72+"54;2+"32+"&54;254+"'5'&632"="=42&2"=&2"=2"=J86(n9()��(\�F< �$��P����������������L�#5.532"&'"&?6'&'&'.'&?6'#&'&'&?6/&'&'&?6'5&&'&'&?6'&#"&=232?6?6?63?6?676354&'4?6'5&'&'&?6'5&'&'&?6'&'&'&?6'&'&'&?6'#&#&'#>7?63?6?6?67�Vz Vz � gH fH vzV �� zV �Hf Hg ���� (2:BK7&'&'677&'&'&'67&&=7&'&'6767&'67&'#"'6�!,+1`L OD5G"= �72-*+x$20/6M F:I;#":")1A S>4�#1)*L `+! (:'01/=SE(8I,%%";\C ,L7MBNL,*;����7462"2+&/&+"'.?576'&'#"&463�((� b b \(( '� x x �' ��.21"'.'&+"546!2+"'&"51546b+9+2+9)9-0,9�+'��)(" ��(('+����12+"'&4&'&+"&546;232546;?x! l l j ) �!�� " ��:��� -53"&=!#2!546;54;23546;2354;2#54+" ��` x hp��@(( ����%46;2+"&546;2+"=4&+"5��]���P�� ��(�#+3;CKS_2+"&54634&"265<&"24&"264&"264&"24&"264&"264&"2';2=4+"��BB"�����`�� P ��^^�^^h0��-5=2#!"&546;;2=3;2=54#!"3!26#54;2#54;2x��(�0��8�� � `���Դ�L0�P)596462"72#!"&=46;54;23276;23>76&624"�"0""0� ��&U &g!/4&!/4u�0!!0!�� � ++�.!%6.!&5���46462"2"&462#;2+"'&/&5&'&"43232X � 8����( )E /t/� ����+2+"/&+"&=463'"#"&=46;2z ?= � �2:�d � A��n�##"/&?62762��8,z��8-{����#,5DMW_gpy�"&46676&6.>'&6'&66'.2=4/&676&676&6'&6'&6'&656'.676&&zz�zzPH,!"1[ B�z�zz�z�Q��$E=zz ?�Q��.��SZ�&7/'&54?'&547676vDDEDDED�DDDDDDD���.+54"#"&5467>326325376#"/&6� +6%��%6$*-N9V�0 FF 4"&8� �8&4 ,AM��TT/ EE `(?"/&#"3!27654'&/&/&'&'2#!"&5467>326 ?% J "#/9V +6%��%6$*-D5 . M94"&88&4 ,A���(.+56/&#"?#"&5467>3263253"� +6%�0 FF 0�%6$*-N9V�4"&8�/ EE /�8&4 ,AM��ss `%#!"&5467>32632� +6%��%6$*-N9V�4"&88&4 ,AM��;72+"&54675463232724654'&'&'&+>72672326�-, �# 6&!1�"5$*>-./?�-@,%$ &5( '*.F !@+- �`2;2#!"&54674&546�2A +??+��#2- L`;,AX@4$!4 5N�����!%2#/&/&/&"/&#""&#"/&=4'.#&/&?6'.'&/&?6'.'&/&?6'&54/"=43765476/&?67>76/&?67>76/&?67>365'4?6;2?6?6?6?676/.676&+"326'26'.#"3� �88,-� o83N N38� waa*|*Ja>`0>a����+3FOYbu%#"'#"&54767&54762&"326;6543.'67&547&'&'32767&'&+654'+767#"2654'&'�J34#%23J%$%h%$&yR;4#%2d);)! J< +);�"+4J##J4+" 5$%%$5 �:* ## *�� "& "*:� +l x +�:*" &" ����$,4BQa%/&?66/&"=422"=64;2+&+"4;7'&7632#"2#"&54?67"'&54?632~�����Z � |*�����, � I% ` ` ����@2#1"&'&47>3654&"67654'&'&'&756'&7673�VzzVQvvQ�,j�j,4 '' 3�z�zkOOk��2DJjjJD2 ���� 1"&=432#';+"&546;;#!"&546; M �`�����MH@ �P�t`��-2"=;2+"&=422+"43$43!2"54#!@����������������@�!'2+"&=46;'&32?6&=#542�k0 FF 00���/ EE /�SSS ��0�P/2#".'&7>>76&7327'.'&6;�pl $;A".T1)>e="28(#18$)"&P� #/)..DA�2"(82"(8�&")?�A%&=&=46546����� xsz�zs��%-52#!"&546354#!";2;276;2'!"43!2!"43!2x��\��WHW2�������0���d@ �p'3?GS_kw2#!"&546354+";2=4+";2=4+";2=4+";224+"354+";2=4+";2=4+";2=4+";2���800000000��(00000000p�� ��00X00X00X00d�00X00X00X00��@�!6#"'&#"'&57632327267 %#4A 3!0<!o �� b ��%�#".54>654&/2lPi%3' ,3&&#B (<�0�K+@ >'%;&'9�� , /)����1%#!"&'4?=4#"=4;2#"326/&=#v#��%t���=I=^%%�NN�f NN f ����Sao|�����%2#"'#"'&'"547&'#"'&767&'#"43267&'&763267&542676326#"'654''&'&7632&#"'&7327>7632&"67#"'&7664'6;&7632&#"#"'&'&'2QOO&038)4)830&OO"418) 4)814! q 7' � '� � �+ 0, &�4 7)34"OO"41)7 47)30&OO"43)7�0!� 0!� V �$+&$, \ Q ��%'&#!"=46;23!2543!2#!"&��T` �@��� I*J ��������-@Rd2"&4%&'"?2575&75'&+"32724#'#3?6532?5'4#'&3727674/&"z�zz�zO&&8:[X:C&(:9� .4�. $4�z�zz�) ?0) ��+**+: )/V3-,9�-39`� -%2+"&54&""'&'#"4;676326267632�L7 7L$! !&�8( (8����&'&54671326;0/A0Pd<0A/=""=�B.E@$MHR@E.B44`� 2#5&7654&#"#>4632"A##$# � ����5+"=4+"+"=4?6"/"&4?54;2762Ӝl\l����+<RX}����}e��#\*CX�(;"/&#"32?6#"'&4763232764'&#"/&?632� Z}.--.}.- +* {8V{:\)$462"3# ''� �� #+3=EO%2"&546"2"&4'2"&46$2"&4&2"&4&2"&4$2#"&54&2"&4&2#"&4K.�,,V...k,,m..4.k,,m.k....�,,,,,,�....(�X'/<62"&462"462"%2+"432+"435"4;2#_�������� | � ��g�5/&+"=4/&?6/&?6=4;2?6_cc c!b bb b!c 999ss9 999rr9��!=2#!"&546;546;2'354+"24+=4"+";2=3���Tx��p� @� � �����&A"'&76''>325#"&7'6=422732+"4;5.=42�� �5x"&�K&�n $d$)70��|� �&�A�&&E�44>*EE"0����+6"&=4626232+"4;5.=4226=�4&&4&7)$d$)70D0p&�&&�jE*>44>*EE"00"E`�%276#"&54676763A9XOoJ;jJ^ DqP@e''Lj���� 6#"'.5476767651476� ] @ �K�! ' ���@�46#.54767676=4#"&#.54767676=472>6@ �@ dg���!' � �! ' �����2"&473z�zz�z�`��z�zz���`����3B%/&#"&5476766/&76766/&?6327'7676' ,5%i( OX\90<� !' M *2@) Od/lO%���� (08463%2#!"&546;25";24#";24#24+"3724+"3L ��BTT�0���p�� ��"�l� `7#"54;23#"54;2H@@�@@ 0��0�����p :HX+.7>;9#"'.76312#"&"#"&547>7>2'"&'&6732#"&'&67632y !jAN(NB.fW p+#+"Y..0�& &$.#+#+P.-.�R;b�%+467>76?&/"&'.563&54620#''#467676?'>&76;23&'>&76312+#&'&'&767>��"<# �P )*� ** Pq ! ## / )))) ����;%#!"767>36764'5&/"'.746;&'&620#2� �� 8 )1T1) 8 &#!11! ,��!2#!"&=463'"#"&5463!2���`0�������!43&'&?65'4>72"'.'�SuyVAj��1W8�|yTVyI;00$E>'�2) ����#+"&54654&5476;2'#3&'#�$�$�� � /V$< =#T0P$$a46&5��X� �����2"/&4?63676&��u�L�{�u�p����*2/&4?63>76&7"/65s�p�H r � �|�q�l =v� ����)%#"'#"/+"'+"4;76327623>�!32 3% H;5 4-&�/� 4� � �ŜU��A#"'&54?##"'&'&?##"'&54?##"'&'&?.54767676323d<"E 7#%#C 8#% -"$21 ,8)%_K2 \K2 2"!2!"R�.&2#!"&463123&54634&"2 264&"r.@@.��.@@..@ i!@.N.@..@��@..@..@\@@\@@\ !-.@�@..@..@..@�s=47672=4=4##9:i��017(%e:;S��Q;����'%2#"&54672=46&=4#32676q oKPpnN``B\_C@]� JepONo. CC 2]BC^V> 0�P!Ef2#!"&=46;54;23276;236&#"#"'&'32436/&#";327676'+&'&#"327632+7b ��&U &7 "< ! � � ++� **I +?�A?676//&4�����xsz�zsx ��@�*2"&547676766'7./>7&'67@"O�O]$:/�2B1�>5?\$#3(BM4C@3Q2 ^S4 � ��%"/#"&462264&"|j*7@YY�Y!�dFFdF k"Z~ZZ?6)FdFFd��3;$&#"&"&'6'&#"&'64'673276'6727327264&"` D D �B//B/�D D ~/B//B8�H(F%"&4?#"/+"4;7'#"4;23'&462/&?6;'&462"&4?#"V$"T55rk55kr|K{ (T"$K&�$ !CCBB�13" #/��%.<EM2#"'&"#"/&5472=4"24+"376/&6'&76?6&24+"3���8 5�5 8��$X �KW N$��]T@88@T]U$$�i /n _����#82#"/#"'&?'&=4;7626&+"/&"6/&7� x. vv .y�--daN V�TT�U��#X�8X����#H2#"/#"'&?'&=4;76276'&+"/&"+"?626/&� x. vv .y�--OacQNN V�TT�U��\9YY9X78X����#2#"/#"'&?'&=4;762� x. vv .y�-- V�TT�U������)9'&?6%'&?67"&546754;264'54"25`���H`p�p`H 0D lIPppPIl �*cc* ����#/<JXem62"&=42"&=4+"&46;2!2+"&4632"&4?67"&54?62'#"/&462"/&7632&2"&4� t / /M / � !� !� ! �! �P88P8= / /\ / /� g ! � ! ;! � ! �8P88P���� ().'632327654&#">7&547#'�RvL45yViIyVgH�jTy �vS45KvVyHhVyHg �jK wT�����$*2+76+76+";#"&54675463273&V,>=4T6<VCw#2, K53A �/E28,.@UJp34$!45E4*��kn����2"&454"#";2z�zz�z�R`�z�zz�h������,"&547622654&'"=432%'&/&76�v=4c�cX@ Rv��c GvRV:2GEccEA`?Pv��G c� #3+"&573'#5#37#2!4;76;2��&MFA��$@@��������-���s%#"'&'&'&'"/&?63�'810��i:95%:Q��S;:@�@!32+"/&=4?6#"&=46;2� VV���&� 7L7���� Bu�$�Be @ c ~ H� SCopyright (c) 2018, Adam BradleyCopyright (c) 2018, Adam BradleyIoniconsIoniconsRegularRegularFontForge 2.0 : Ionicons : 14-6-2018FontForge 2.0 : Ionicons : 14-6-2018IoniconsIoniconsVersion 001.000 Version 001.000 IoniconsIonicons��� !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~�������������������������������������������������������������������������������������������������������������������������������� !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~�������������������������������������������������������������������������������������������������������������������������������� !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~����������������������������������������������������������uniF100uniF101uniF102uniF103uniF104uniF105uniF106uniF107uniF108uniF109uniF10AuniF10BuniF10CuniF10DuniF10EuniF10FuniF110uniF111uniF112uniF113uniF114uniF115uniF116uniF117uniF118uniF119uniF11AuniF11BuniF11CuniF11DuniF11EuniF11FuniF120uniF121uniF122uniF123uniF124uniF125uniF126uniF127uniF128uniF129uniF12AuniF12BuniF12CuniF12DuniF12EuniF12FuniF130uniF131uniF132uniF133uniF134uniF135uniF136uniF137uniF138uniF139uniF13AuniF13BuniF13CuniF13DuniF13EuniF13FuniF140uniF141uniF142uniF143uniF144uniF145uniF146uniF147uniF148uniF149uniF14AuniF14BuniF14CuniF14DuniF14EuniF14FuniF150uniF151uniF152uniF153uniF154uniF155uniF156uniF157uniF158uniF159uniF15AuniF15BuniF15CuniF15DuniF15EuniF15FuniF160uniF161uniF162uniF163uniF164uniF165uniF166uniF167uniF168uniF169uniF16AuniF16BuniF16CuniF16DuniF16EuniF16FuniF170uniF171uniF172uniF173uniF174uniF175uniF176uniF177uniF178uniF179uniF17AuniF17BuniF17CuniF17DuniF17EuniF17FuniF180uniF181uniF182uniF183uniF184uniF185uniF186uniF187uniF188uniF189uniF18AuniF18BuniF18CuniF18DuniF18EuniF18FuniF190uniF191uniF192uniF193uniF194uniF195uniF196uniF197uniF198uniF199uniF19AuniF19BuniF19CuniF19DuniF19EuniF19FuniF1A0uniF1A1uniF1A2uniF1A3uniF1A4uniF1A5uniF1A6uniF1A7uniF1A8uniF1A9uniF1AAuniF1ABuniF1ACuniF1AEuniF1B0uniF1B1uniF1B2uniF1B4uniF1B6uniF1B8uniF1B9uniF1BBuniF1BDuniF1BFuniF1C1uniF1C3uniF1C6uniF1C8uniF1C9uniF1CBuniF1D1uniF1D3uniF1D5uniF1D7uniF1D9uniF1DBuniF1DDuniF1DFuniF1E1uniF1E2uniF1E3uniF1E5uniF1E7uniF1EBuniF1EDuniF1EFuniF1F1uniF1F3uniF1F5uniF1F6uniF1F7uniF1F9uniF1FAuniF1FBuniF1FCuniF1FDuniF1FEuniF1FFuniF201uniF202uniF203uniF205uniF207uniF209uniF20CuniF20FuniF211uniF213uniF215uniF217uniF218uniF21AuniF21CuniF21EuniF21FuniF221uniF222uniF223uniF225uniF227uniF228uniF229uniF22AuniF22BuniF22DuniF22EuniF22FuniF230uniF231uniF232uniF233uniF234uniF235uniF236uniF237uniF238uniF239uniF23AuniF23BuniF23CuniF23DuniF23EuniF23FuniF240uniF241uniF242uniF243uniF244uniF245uniF246uniF247uniF248uniF249uniF24AuniF24BuniF24CuniF24DuniF24EuniF250uniF252uniF254uniF256uniF258uniF259uniF25AuniF25BuniF25DuniF25FuniF261uniF263uniF264uniF266uniF268uniF269uniF26BuniF26DuniF26FuniF271uniF272uniF273uniF274uniF275uniF276uniF277uniF278uniF279uniF27AuniF27BuniF27CuniF27DuniF27EuniF27FuniF280uniF281uniF282uniF283uniF284uniF285uniF286uniF287uniF288uniF289uniF28AuniF28BuniF28CuniF28DuniF28EuniF28FuniF290uniF291uniF292uniF293uniF294uniF295uniF296uniF297uniF298uniF299uniF29AuniF29BuniF29CuniF29DuniF29EuniF29FuniF2A0uniF2A1uniF2A2uniF2A3uniF2A4uniF2A5uniF2A6uniF2A7uniF2A8uniF2A9uniF2AAuniF2ABuniF2ACuniF2ADuniF2AEuniF2AFuniF2B0uniF2B1uniF2B2uniF2B3uniF2B4uniF2B5uniF2B6uniF2B7uniF2B8uniF2B9uniF2BAuniF2BBuniF2BCuniF2BDuniF2BEuniF2BFuniF2C0uniF2C2uniF2C3uniF2C4uniF2C5uniF2C6uniF2C7uniF2C8uniF2C9uniF2CAuniF2CBuniF2CCuniF2CDuniF2CEuniF2CFuniF2D0uniF2D1uniF2D2uniF2D3uniF2D4uniF2D5uniF2D6uniF2D7uniF2D8uniF2D9uniF2DAuniF2DBuniF2DCuniF2DDuniF2DEuniF2DFuniF2E0uniF2E1uniF2E2uniF2E3uniF2E4uniF2E5uniF2E6uniF2E7uniF2E8uniF2E9uniF2EAuniF2EBuniF2ECuniF2EDuniF2EEuniF2EFuniF2F0uniF2F1uniF2F2uniF2F3uniF2F4uniF2F5uniF2F6uniF2F7uniF2FAuniF2FBuniF2FCuniF2FDuniF2FEuniF2FFuniF300uniF301uniF302uniF303uniF304uniF305uniF306uniF308uniF309uniF30AuniF30BuniF30CuniF30DuniF30EuniF30FuniF310uniF311uniF312uniF315uniF316uniF317uniF318uniF319uniF31AuniF31BuniF31CuniF31DuniF31EuniF31FuniF320uniF321uniF322uniF323uniF324uniF325uniF326uniF327uniF328uniF329uniF32AuniF32BuniF32CuniF32DuniF32EuniF32FuniF330uniF331uniF332uniF333uniF334uniF336uniF337uniF338uniF339uniF33AuniF33BuniF33CuniF33DuniF33EuniF33FuniF340uniF341uniF342uniF343uniF344uniF345uniF346uniF347uniF348uniF349uniF34AuniF34BuniF34CuniF34DuniF34EuniF34FuniF354uniF356uniF357uniF358uniF359uniF35AuniF35BuniF35CuniF35DuniF35EuniF35FuniF360uniF361uniF362uniF363uniF364uniF365uniF366uniF367uniF368uniF369uniF36AuniF36BuniF36CuniF36DuniF36EuniF36FuniF370uniF371uniF372uniF373uniF374uniF375uniF376uniF377uniF378uniF379uniF37AuniF37BuniF37CuniF37DuniF37EuniF37FuniF380uniF381uniF382uniF383uniF384uniF385uniF386uniF387uniF388uniF389uniF38AuniF38BuniF38CuniF38DuniF38EuniF38FuniF390uniF391uniF392uniF393uniF394uniF395uniF396uniF397uniF398uniF399uniF39AuniF39BuniF39CuniF39DuniF39EuniF39FuniF3A1uniF3A2uniF3A4uniF3A5uniF3A6uniF3A7uniF3A8uniF3A9uniF3AAuniF3C8uniF3CAuniF3CEuniF3CFuniF3D0uniF3D1uniF3D8uniF3DAuniF3DCuniF3DEuniF3E0uniF3E4uniF3E8uniF3EAuniF3EEuniF3F0uniF3F2uniF3F4uniF3F6uniF3F8uniF3FAuniF3FFuniF403uniF406uniF408uniF409uniF40BuniF40CuniF40EuniF410uniF412uniF414uniF416uniF41AuniF41CuniF41EuniF420uniF425uniF427uniF429uniF42BuniF42DuniF42FuniF431uniF433uniF435uniF437uniF43FuniF443uniF446uniF448uniF44AuniF44DuniF450uniF454uniF45CuniF45EuniF45FuniF461uniF468uniF46BuniF46CuniF46EuniF470uniF472uniF478uniF47AuniF47CuniF47EuniF482uniF484uniF486uniF488uniF48DuniF48FuniF493uniF495uniF497uniF499uniF49CuniF49FuniF4A1uniF4A3uniF4A5uniF4A7uniF4A9uniF4B0uniF4B1uniF4B2uniF4B3uniF4B5uniF4B7uniF4BBuniF4BDuniF4BFuniF4C1uniF4C5uniF4C7uniF4CD���,*H�H#)�H#*PK}w�\]0U�xxfonts/ionicons.woffnu�[���wOFFx �XFFTM\��p�OS/2�J`@�`tcmap��J����cvt �DgaspT��glyf �O�T�1��head016���hhead!$�zhmtx�� �&��loca�xx�F$maxp� qname�p-��`post�� �XY2��x�c`d``��X�x~���L p�CYJk��?+�A ��, � #x�c`d``<�?���L�@d��d�@@.x�c`alc������Ø�����2H2�0001�23�����������Y��0�1dp 3")Q``P�xڍV�n1�� @�F[�<� �5�Ja: �!� ((N�-("�� &o� �@� )�\��=�};�8i���z~��f|��Q��#��*3�}�W���9��"�<��$�v��bGW�&�C8���,&�*A��5���2��}=Ob���5�ܰ�k�#��Q;��v�?��L���W��Ķ7��g���N�8��(�oJ,-o�s!�T�O��&�b������#8��\8�W���Slb�����/�uo5��wP�~K܉��=/[~��9�B1we�y���\qZ7+٧`"�(ֳ #��Ís���o��͝�=�y��\�]���F����K�2�#�t�u�¯ ��Ěk��=+zy�]f�ڠ5&�~;�� N�-5N�:�s���3Wo�������U�����x�}�qV=G?t��qm���~���љ~~�x���扛�>鿘��kF�G��k4·��D��{���Ը���{U:�A����`�n���R�ɑ�'�>'�=�$�ݒC��C�q|t��]��d��1�>}�v�����b���p�"�lx�j��ܗ�93ŷ��Y�g;;�x�z�I�_W�N�׆�/A��K�ۙ:��Լ���7��x�^y����uʝ1�s� � U�c���υ���e������흄�s��G3'e��C��D�C�/�Zp��c�%�<ӻS�}��ø��c631������l}�x���{h�u��߳��{?�%m���Nf!e �ek ^��l���.RR`&�QDD�]��l��e�9�S�Z&�]����s�7�ԧ�G2���_t�|���(���K[%��ܓn�L�30�e���'��>������:��k�u��6�Vk���v�n�k������;mf��,�ٞ�y^�]<��yw�齽Ћ������r�^��|�W�$���|�������[èP���������C����P�)'©p&xPh �BGH)[�*P����^�*R����J4H���5DCu�n�p�P�F�>ݯrUh��4I�zL3�fj���������zU�k���[z[��]-�"����>�Z��S�Ԩ ڤm�TY�v��8���c�5_�x��=�'�^�b�v,�W�^v��v�������z�ai�ʰ(|�q����;N�8�m��k9&��Y�D2"�E.p��蠝6Z9�Ns�~�$'8�1��G���� ��>�����b'߳��h�[�a;���la3Mlb#X�:���XM=_Q�*V��e,���X§��^c>�0����K��f���O3��̠��T�(�x��La2ULd��*y� b4R�(Fr/#���Ν�Pna�b %�}�C17R� ���J��L��K���|������8��\�����O"7����JG���}���?7D***^�� H���Pv�f� Dx���,v���8�� B ~ � 2 l � �B�4�� 0 X 2P�� R���Z��J�X��*�d�P��$��n�����^�0v��&Xt>b ~ � �!!4!d!�!�"^"�"�##<#d#�#�$$�$�$�$�%%|%�&R&�'�(:(\(�(�)*)P)�)�*|*�+N+�,,�,�-R-t-�.4.�.�//6/�/�00T0�0�1�222�2�3d3�3�3�4.55^5�5�6.6l6�6�7,7^7�88T8�8�909�9�::v:�;�;�<><f<�<�=F=�=�>>N>�>�?j?�@"@b@�@�AnA�A�B$B|B�B�CC�C�C�DD&D�D�D�E(EZE�FFTF~F�F�G8GZG|H�H�H�INI�I�JvJ�K KBKtK�LPL�M*M\M�NTN~N�OODOxO�PP�QRQ�Q�Q�RR\R�R�SS�T>T�U2U�V\V�W�X8X�Y~Y�Y�ZZBZ�[[�\\B\x\�]F]�]�^^t^�_r_�_�`D`�`�`�`�a2aPa�a�b:bpb�b�b�b�ccc6cBcZcfc~c�c�c�c�dd:dNd�ee0erfFf~f�f�g$gDg�h\h�h�i2iTi�jj.jfj�j�j�k kdk�k�l l4l�l�l�mn�ooFo�ppBp�p�p�qq:qbq�q�q�q�r�r�r�r�ssrs�tt:tdt�t�uu,uXurvv:vdv�v�ww|w�w�x x<x�x�x�y yvy�y�y�zzzZznz�z�{{B{T{�{�||�}(}f}v}�}�~~,~|~�~�zҀ*�����r����Z�����ރ0�`�����҃��^�����Є��&���؆�.�N���ć�>�����ވ�J�z���Ȉ��6�P���Ȋ��:�Ȋ��0�B�x���� �8�d����,�����������(�J�����ԏ�L�j������������ґ��4�Z���Ғ� �2�h�Д�"�J�b�n������� �b�t����<�V��������F�d��������t�����ܙ�&�B�t������f������$�L�r���Ȝ�*�v��4�L�d������P�r���Ğ��0�H�������h���ܠ���6�T����̤J����(�l���&�x�ʧ�T�z�R���ʩ*�p�������^��P���֮�\���ί^���İ��T��(�P���ʳ"�:����B����(�V���ֵ�X���ʷN��n���ֹ�$�T���ں:�t���ܻh�����h�̽@����8���*�n�����J�x��xڴ� �Gu/t������=3wf�,wf��z�tu�X��Y�-Y^�e#Y��06�`�@��Uf1$1�8�CB>BH��A�H� �3�蝪�;�J,�}�ouuuuw-���S�j$,��$�:,I�f?���͏*T�����O�%�� O�y� C?�(��M��֛nŽ��7܀���&��H�٧�tZJJ#RE�� ���T)�6�v��G�2�F�5�|V��Ф��)����N�|���?p����(��>�o�w'O��Hx�E*I��In����<|-�&��fcO����=2UtZ�� ��(Tޣ���#I���Z�Ғԍ�P)�k��v�"�u��Sǘ�+>Y<�_|Lg�1�9&���j�*�)]�[^Q*�� i��z�6� �Y�{SR6�8L�:��7:�Y��VP��s����ȷ:`۽'l�H.UFF�e̶Ѫm��Z�������ɢF����L�brd¶ KA��3�f��"%amH(ˆ!��Y��U��EU�ZYO�Znm]_+RB �z��*�B��f��5���Lr�c����y�O$.�y�S E�:o�Hۤ%�-��j�^��� S��0ht;��j� �]��[<��i6�T�ݪU {�w|�W͇�譢7y����9��P�He���h�q�N��UYf��ۉD�<k�)��o��%��a�3�D�ѱ�gj�J](ֲ�Ql�������{~v�K��,�*�r����f�/�����O���#�F�V�.HBeջa��J@�So��5%�ϡ~l-��F� �RA���� �.��(,��Wj�J��jvPp����<M� �I�g�j#�B����%� \E��غ�d�c$μk��:CU ���#���k����W5��O2!E1&��s��a-��|1�}{݅A��D�ց)܋��> �F#������4���gT_\�t<��}@���8��s"I����xr`�� {�K�����L�.���"N��F����(@� �I;�<���u�w�"^��e�'�� �+���I Vk��d�}�C�ՠ��!��q�s�W�O��=��w}�~8=6>�_�P�Bb�DU��7kK�~�{�:���@%��!x�����^������ �l�]�� ^�� �&1B�� ^�V�E�C�q{<��Oe�;����m�+�����R�v����C�2�F70�0 �nXF x� �y�Lxc?L�CxO��A���z�1�N3U��ݣ@�Фa%�T�`xA���C���3���lo}�*%DP�A�A����w�����ZlL�,�{��?/ow�GQGIZSdY��k���:�)v�[�#L��d�܌������߸�1m뽼����@�"_8�Y�$Ű�(�v��]��Y�Z���� p�m����*�L[�Xq��N�X�%�Ҙ��'.Nr! �Au�O�����<=߲^g�����|aĎ��U�WE�ݜ��c��\���Ო��;�fq�J��]%��k�p�/��쟡ZJJ�aD�T�À.�(+�9�\A�γ�F�"�gqY3D��Ρ��o���*�?Z�q��w�D8��DI��Fu�%�Q�$}���R��12����dԐ=�t���� +)��+!�I�pk��N%zQ����ϐ���X1�4�J.&�^JR��H�x�#k�����ġϢ*�[�uSh+�)\fpt��4ڀ���z�$�}$�GL�����w#�d�Su<ŴMW,Su�3 ;_z���X�T�wD�a*��a�����"@ �J�`)��8��X�+Aۇ��&��Y+�h�=x�r� ��11��� ��������P`�\����F �xG�m&�s)Y�XF�@ 1��Lr%�(Oӷ[%���<�@��ig�EdV��vd��1��8¯_HA�1a�.3]��xF:�Y�`�rb���2 oS(f3A���051�!r<.πl�s�!^*�T2Ji�\�%��n����d�Do흠����^Z�8���o1 a��n�۞g�4��~�c���ҙ G���B֤�z*���v���@��v��H�ij ?��'��%�K6ç�������:���H[ ��$��X�vBhx��9�ZA�R,_��K.�lƮ��k�zA���p<��.�ز��kL���O�['��H�K�8^uK�%\9�Э/�u%լwە�>�;|�a8����>|���|e�@sʩpN���$Ũ��_P0�|n�z?�*�Q��t�tpЍ��1�^�A�ă�JJ/ń���"�V��$9+N$�$72�̻,�Z˼��[�C��W�R�in��0f�?W�_`��m�Ut+|kT���GK�e"��KeQz �N�)���&��VΏ�٬���ͺڻC�uݯ�e���4QͶ� :ϭY�<��g�?�1��}+�;_uj�4�{)4(o÷[sC5�]Q��7E��5�ŗ�k�]��]��� 2F�D������d+���6ò��p�!��!T��-�-py)�D��J��O�y�� pf�uR ���jg�C��� �/�4]����Q����E�~]Y�=^TYo�.����Jn|���<P��+�=+P�Q�IQU�u�n\�-�⨚Qy�>%}��4�{��t�MC�G�WP� �&��Q��8��S��дDyҚ.����X6;�Ζ��x��=7��4u>�&R,�f~R�)]�vv�2r���g{I�ہ�8n�|63?��!�t8�8`�}PR�D��p݄DQb�$���ۘ������ ���ڎ��F��mT �-/k��m문R��UOm �����Y�?�SL[�A�MN]� D��x饋��nK�7/[^�����d�U��Ps8��:��:/5�5�Y��2s+r3Ű���+�P��U���{4��]5Ew��T�����ZF`���f�8�����Ob�%����}&OS����E9�3�J�x�tx�h���Q;�5cw};2J.��ҡ��@��u�բ��D�A��o�~6��%>2�H�d���Kih��T���_$P� e�Zo��pn�2��~��կ �B��}�I� B���;����Ή����މ�ה��<D�r��:�w�a��t�loϾ}{����"D�9 �~;�(.��{�Tw��m��N�<ƅ�1��,��)h?�k�҂�=����m�s��0� ����Dw����{��蘩�SMSE�Ts��}� ��Ϙ�gFԙ4����!x�^��w��J�7O�pܶejK�3��W,�/)��x�o��-��/mi��@JK�hv�z��3�]@�����n:���t:�^=|xunӦ9$��9���7>h.�;q�oߜ���p���{A�e��M%� [d��W���?�d�{�sX�z18@)�f��ִP� ���X��NcL��z���kY�0�'o��.$X]�E`�nFj�*�qpݎ��B&�.@��=)D�O.�������4#��C��R����|�Y� b�l'D����Z�jq�s5���H���BwO�T�љ�*��|$a��u��y� Ր���~]��g۽�XQ�Z��B��뀪����^TMT8�+j�5Uס�4U��i^�j���M��gs9�s�1?���LU�z��'}��j�T�M<4a��j���K]�s~ �.�9c�7c�p (&popKX�˳���0��Y�\0?+�'k���'��[\��E�9��y�츟��j�u���:Β�yl��$��03����,�(���J��?�[�y��ǟ��x^;��E�/.��%'Lv��l� =,f&l���,�쏠��q� �a�!j�Ȇ���J��TWĉ��ԏM�6*��lX7�b�h���A;ڊ�vnE���u5���N㪫��y���E���-腐���B� W�94=Ѓ#��ɚ+�w���c����9O�������ZҢt%�I���� 0��ꮠ�zZ(9�1e ��q�*����H+�+�h��|�C8;6�m�X� ��(��/�Q�̫�輪Ώ�s]���M���t���(�b�����3XF�6Z�Jz)��J!�6Ae�m[� �=�%�@6d|�!����~��1~������a�r�q���nNM�UI��"6��� �vҍ�q�':�������T�fa�,K�8)�t�UF&�G�+�?�`C�A��F� \7�n�� ���nlbe�vWH��e�����k�su���]�p@ b��K�0���oF��j�l ���\f���M)�"�`�]���Tf��j���*�̅��\�.��\��)vϹ,�\��Ȗ�Z���(K����m&<E����xLVfEn�#�{E�u�>��d)̕�#�wlι.c4�2&��)mܡ#U<O�ј��#�)�#4R�E�s;�9_G ��B�x�"{��G/j{���n���:�!M�e �����±�ٟ��2�!�y��<�O� �N���d�RW��rr�v���b���� N�O�2�ڜ<��}�dE�eS� z��(f�w�N�����#�=�X,��Gl:!��1,��h�CK�͆���0�1���W�h$�M�.�d���A�'��64" �B1M�;��/�F�~�����Tz�C%Db��r3P�J�9j��Rԑ�uY/�|i��mG�.��ˮ�Z�������:%p�zԱ�4� �=���b���π�h����f8��Յ���\h��e��g��g���{��fd��c��f���G5�l�Z�p�b�T_�r�Gב�Z�`26G�O1�5J$;~v���}�,]���'��5#C]��07�(����L�|~���Fd��?>̹E��͏3��:LLj2�"��T�LC��nΖ[�mV�3���� �N%ҦiZ�D�VlY��Y��t������3�\qu� 10R��HݹZ�s3��9�ťBH�������=�C�q���]z��띆R@a�V笓���B۳ �Z�P9�yZ�� 2��$�k�99Od�3!I�N��X��8�\MUjR�;���RYw��Y*��4�x>F ����L��.�9�%�����¾�r�a@���&SK��.�LK���C�ӆm�mA�ZM�����$-:���R��,B���o$-�T�`0 ��� ��[,W�hn�����a�H��#�-c����J ju�H�z~7>$�A%h�Sv�P:���"���E����ꓕ��U�VgTz�Cm�����\0��%��N�l��2��nY��=�7��;�ۓB/�;��8���NX�!��I��o�����6�0@/Wd��¤�����ZO����˖��(l�F�/i�������,�(�T,�ʎ�V��0By�Q��4C�F4 �����0�T�-3�,%�VԪ����b$ɣ�f�HE�f�Q/z��uTu�/��&+.�>!>f�"W �7����@�b�b�2��N�.��0�Wʃ�o��6�$�B����^R��� ���(�Vf�d(w��@��5`�?��3/ȁ�`���f MS�%&#)B5�rJ.\�+�k�c��h�@U �I�k���5��u�d굔^�BD�'�Eb$��l��|饽�r��,��'�G��Hc�#�TPk�(���[�a�~TAaxX���<��,�;C-��8�Q=�۞P�z*�ç-�1Ͳ4F)�gqcEQ����Z�c�(��C��\Ìԅ^�/]!]����Q�������M���� "B���&L��k��AR ��Rck��R�.=e� ��TBF�2�t�%,�������g�OX�c��rJ�w����z��H$��H�����}���N:� �z�� \L��mAµ�9���<�����|R��(m�.�����Ma[�#E���B)^�-ۅ&W�:�9W�~':�|q���m�f�%��9F�xT>�I�\������54�r���5+/ ����"Oۀ����$$��8��NI�T$���D\j�h#��M�%>彂� eh���返+�Y�\47�s���"��"���|�f���E�`��빑���I�f�.�L]7Ƶlҳ�=Rdϊ�q�k'P֯�y��;���x� hX����_� �~ȓ�S�� �잰gó���"�)���9 �4+`���\���SQ�L!���RLr�j{<WΕ���� Y!3+[��qJJ��%@5:�����j0��i R��sQ�Rj��;�u�� ���'�����ǒ|ȝ�������r)U X,�\9�X��B_��p��n�u�v �.j5��Z2m�#��"�yf:0�ML^j�͔��N����]��x�ձ�8������>�'?,�z9�{�[�� �8D\ou����4}s�@�'#t?�;BT�wZ�u�"{�s6ϡ[ӹ��KShKn[ 2��I�tµz�����֭�JZ-�}�B��q����o!�YZ�p���<�J�+e�*�p���lB}�E�W��NͳF��sgr��叄u$�e�ƒg�S�sj��?)f�O���?��ާ (���+{���K���a�Ţ#"��yY�G6.�ϓʠ��rK�F��j��6wN�a*��"�܃��(�p�]� }7p�PM�0x���r㵂�~�$���}c|��]�����^�(U�mԨ]JE��.o�F�L�V�{ā���*z$�^e���m���σ���3pZ��8ST��3�%n�����n�Ttw�ٟ'&�L�����J;��{�SW$0��� lۏ�?�-�GS�N�����\�8�R,�aM�v���d��·U��6ȁ�9�P�>�m�]�=j۽����ϯ���soD�k���m��5$�������չ�|.�v��G�3|!�{k.wz�?�Iď�}�t4��%�1����Z�F4O��{��Y�{���}йˠ7K� o6��uy �nFh��kۋ��)���.5m/Bsr7{Ib>�6�@��|��r��%��s>��bx6�� �+;��<�^Nr�3�3���ʹ�V)Gp�>O�Y�_ �>�c�XV�nۊ�n>U���q��� �.�` #�]x���VvߐE�T���\�Q�<a�LK��O�Y�HE)�A�8~�,���)�(�ڢ�Q�0��)��l�U��3��S$m�5�r �>���!$���G�T����h�HLqw�;�ާ��/���'+L^$��3}'��A�U��l<��az��3z�܅P�S�e*�["� <JˑŴ�]W�֝��M��Eٖ��>L@��kE�e�|���<u�m�%�t�j&��ʥ�j��_�[���o������2h�k)�����:����7��uZ7�T�h��W�UkS$(���7X�;�N�'�52R�z���pC�g� Ҩ �KQF��Y��1�m�m�<�-g�u��b�p0h�'s跧��p��p�B �*ǟ�*\��$t+���J6�yYu�"�����V��s8�@�����oѼ�����@;لZ݁�UJ���Ԏm�\��5p���EZh囝O9p<n�b�&XM�����@`��O�*z�>�]������&���փP���A[�W��)Lw]��F��0�jh���\DG9OS4Tհ�Gxh�YSF���z��:c��!ѷ51����,�̥ϲA�9L��L�ϱA�u�;L��Ct�]���}��������y�a�r�%ˆю�AaZpӔ�m�54oǥ�\<뼑K�9VHs�d���@�ޙ�T2�gx�ơ��LA����p�$��8��3��#"��L�w7�-X�G a�?�sB�|�ڄ�����2�M��4�����"�kNX�~����?Ɍe2c&ysY���6)��:~���®N��"�yϗ��:�[5�Ĵv ��]�A�A$����3��N�ͦA��Е�̤�Y��5@"|B�ޑ�/b�^��(B*b%C���f�N� sWFh��R|�P��m5�\�զS*�"�%T��[D�z�iUnA�H��ߓӊ}��֕#��V-˴�]]:�N����9�d�-�f0�*�>�)��D�L�6�O�1h� j� ���:�@-�A��w�°����C+d�!J��-Na�.�F'��M����T�ٺ�:�<D�xqIc>�M�9 g�̍��5��W�8�b�i&C!U����8��-�㳠�+�V"���J2�r�Dn<P�D���;��a�w�$_+� ���#�����HwJ����G�)PZ*�fR��D0���Z.#�4Z�/g�x'��U��5�!�m6x�k����bͰ�f0������#>���͆�h��D�U7�Z!�Q�[�r_v�Ved�Ż�wa����1��BC9�B� `)��J(c���8q�$f���,)��>n���y��1���TU�����C�2R��a+�x!�-�Y ��_L�� A���& ���m3W~��Â���������6>�:�Ȅ2�Uw@�h�abQ³Iɭ B�sr) 6� h�)$A��������˖X�r�� ����`a �<�&���U%1a$�i�[T9��pq�S�=^��d�pf,��\��E�*�k�-�0Ͷ��8��<� �iB`�p�7�.�ʺ�N4���$�e��I���[1����c�xa�Tt�k7^*�0��ȪB�z�Έ �pܼcNW_ �����Н�Ly��%�TI�d"q�B�Z�˂����y���>����T@/�X��sjS&�"|��✚��[��K����z��G��@�T�<�A�������Z�7��C�m�ZIUڕ6wtk�5 0���#p���������� G^s=Oz $d0_F�T,b!e�+*(z���?}���` �y��/U�z�a���|�����h�3�y����5�^�`����S�^�<A'R�e�n�T��+�n���ϣ�{f��3g���S:�����'�gy�����ׁ2Ri�� (v8����Bűؗ���w6��_��jH�|�je��W�oV*��l����I��C"�L���"~\��n�틛gF/��:`�W�[o����~G�䏉��t��-��lC�w4f���{��HU��:��b������W�\@�������`] Ǡ����[0^��K@P���}/ q�#���9���@�3Gr��#E�t�J��m��G�8��� ;s�̳~&�GЃ�}q�����)a�*��#�� 12yĊf�e�/[���n�ɡ�:��b���f�� �j0���O�)�h0yw�Z��A�� �:�P��ؚIi d�VJˀ�T=�-ͧ��)��]\�ٖKM�!�Ol�V�M7��v-a�.�����͖q�f�_4��i�^f�Tv�I ��9�2e����V))cU����%_띡���-�첃H2�f�Ӻ�_��O*n�@4�.E)�X�!n��=��EC��{��XZ��L:1'�6�R�R��ro�{����D�����+>R�,&w����l"��wl����y�Ny���S�:��v�۟"3���۸Χ�;�X����g8ܛ�v��X�-����}�G���c$x���7ﹰ�Ψ�.���2�*����Mh�D��*5��2#s�D\-T���n�@Iy ����D �`B��٫d}t|߉V{�4U��&�s�� �B���M��E�>R�@ �����e�,P��W�@s@��6ÚrT��Y���q�B�2�XG�c;���g`����� Z�re_@1m�ń�����҉L� !Rwܦ�Ԥ���S��Q;w;\�m�m��g��)H��Ȱ?����L�{� �o�����x2ʹ�n�5���u*nܓٓ'��-�!������d�a�<ڻ����K�\*��n>��x1��g�CV�M��<����m�e�4�YCOR�@'Ġ�����r����T�ߕ�kݒt��!5K�?��` �ޗ�k1�{��S�2b�C5�lГ�z�A��¿�.<��?$��b~���n� ���Ӿ�x �B���+ܳ$��+�Niݛ�ښ)Z��Ry���=�Y�V�淣�gzpϜ��������������Q���A1'=�_��_��d��/@�U�A�"�� �\�?�؇D�Q�>���1�V���!�8]BH�zc�Yp�c?�ó����r�� �R*���r���]h�vSAoJ?�{��4���{b�L?p���7e�:���3�\2<{�����k��g� ��Je0�,�<���.�G�R��J��A3��J(���!�"��:A��oIJm�L��$=/9�9��@Sc(� ����4�-��m۷�.�wFR�o�� ����Z6pf$d}̠��QE�'R�h��.���_��7�A[ȧ֛7���+?�(�ۊ�W��+��������D�/���Z�xv�S��s���5�W[mE���5�LU�V�LwIgW�|Ka��͙���s�/@{V��l��x�@���w~�/�5�`5��@���knc��D���2 �]�h2��ڶ�;�-R���Yj��0)c�b9T�P����i������4}�4���������|�z��Z��S��A������C?S�L,�\XY7B�arrk8j��ɸ充�HwÚ�x�`�/�km��Z�}�=�t���_}�;�ف�-~�@��yJ|�S;���$�J�s��5�[W��M¿u���OLF��4����W6����z�J����9��'UC1�}�|6y̳��6ė����Vխ�-d���@�=���I��vT\J�0"���x�V{BBuxn�ON�ˎ�v.Z}��}ƫ��� 6F���,�;�[�� ��w.�>Ef/������E�[�F!�Z����8�I�UE*���)�`�."O{Ps�Z������{���x(c'���#Hܨ ��E��e�l>��ۥh7�{���PoΑKW��VW�j�E��/M�?���L�ɡ5��/��c��|?�zЍ�t�l�j��e�p�+-�zK,�i�T������{�譗1��Z�A'����y[V�����Pa��R�"�R�*�*�HR��G������|�od�|�A-G�7�J}xm|=�}�ch��5���6�^��B�ܱ"���Ͻ���љ߽��ǯ�r�9���ۍT�6}�����?Gk�J�?$�Y���o�%|�Q��,��)\��:&<�D��i@o�8�=v饗Zh1��vn���]b1�.���Mg���_��>��t��_��Q`�80�Xq���ۇ������}K?��?�����@t���F�w�5�w��������mt;)E �7pյ]o�A7H���\\w+*�T-恧9@~t��ژRc����?k�ۡ�$�O�r����o�z^���hb� L��MH�X>e�_��f�����FMU�1�pp�J�'|����O���B��,�[���'(�E�N�� �쳢��|�BPe����[9�]�\���t�5�z����q]��_����Igj|r��� ��v@uYDRw����S7k�/!z�����0s5��Dw��:p<��{Oae:91;k�a'�_<�):cm:��:�)�圮%锜$���8/|��ī��t�9E�9��3 %&K%��&>'��*�>&�6�-#��vFZ�e�L�0�2߈o��5q�m�]��ɡ�6S�n�G�W� �L�go����lư���t�Ħ����}|B��vR:-�[���opl-q�j�N*���pC��ʁMtR�^V�r��MT�D��j_)�/��`��ڝ蝑�jc��a�"���A�/���Ug�z9�`<}Ј����[ͺ�M��(��[�v-r���[�6z���M��i8b�z�/���´w^���d&�����tV@�X'�&Ud"���p�6��U7�sf�>+�d�KU�<3�giY�s5�Č�5�.>�܉_If���&^�TC�0��ĂA&�0�G�a��L�~΅� �=�S\w44-@���A�A�Ґ^/��3�<2V�բ�(�e�4]&S%r�<��@��ԁM��^ͥ�块��:���|�326��C��Ȏ��L�ʹ��*�����H��5�%��Z1u���\ � +�0�Y��c�$�|���?���Z�/�nZ^6e�f�-g,����{�4�c��3�?Iwh�����#�>/�B��p��1?��tf/Nz��M]��N���g�`\�X�1�=�e蹇�ރb�4B���xF��G�Y�n�)�#yJ�OB>���姾��lr[�r���K�R�n:�����zn�At�n������Oû�,^��BD~q�+;�r��ฮ$��&:`�8�+!��Э�B5����I��t��E������<�Ls,���ڭ��4��D,k�լq4�0|� X�`7�y���j5t�C�L�N$K�қ�ɩ��q�E`[˝e�^�z��b����E�C����+4�JkZ�E�+��ڥ�D�j���0,�yQ����};{O�Ej�����7>�����4��I��nB~�ַ,�=&�:�e�&]~lM����}�W�=�Y���f��Z��/V����P��F-n��PqS���D1���V��X�p� p\�xN�^��(]|7�N��&��tl"���c�����j~b"��]���"�t��+���r-�o��z����]���WbwL&�R]�Ƅ0Bw,��/��n���עW��]Y��\�46VjƧ;x�ѕ~�q��=d�v�x3�J����&{k���>���p����g!��A)2c X�^��ޤ(K�����_�Lj�F���T5��@��s�nx�(2ޱI�Te�6>N�?�ҿ5�ǩ�>&Z�˲;t��L�[t��?��`�'NK-i3�L��D"ֳ�S�+>�N|�� b1-��ቖ��35�+� o��f�v�u��AQ�r��8}}�����J���94���1�ſ�i��ac=�j��@[��}=Ta��p��c��Q��IF���r˓�4�=Lx�<v;����ɓa�\�媂��L1�)���,\�3�|�,�x��2�Iq=�C��T�;%�:�e����� 5��<T���>�2�/@���#���5���]G��N��E��_P�l8�~̧��� �}nw�</.z�+�s���up>���L�w�>6�q;$��Z�� �l��pTq�B����#l�U��}�]��j�;���5���~��2�1{��q��|=) �oL�^�^�J�ݯ����K7q���U-|�`V�V�����[�[o�n 0cG����DЁ.�+y2� �v���ĵt_���;�<��y��˥LZŷB��`%,��ݲ��[FK ÙtsAc$�g��e�,�6ሊS� ϒI�rn̔GG�.��c���Ot�,�<����Z�6*����9#,�f;�]dw(�i�LZ��N��['�<���g��{��D[F�Ő���dY�͞A/|�?wG�2K�U�p_��3���DF��*V2��\+{v�ש�Ȯߗ�|w-�A���_�o� s���^,������ı���0>��G^��/�cۋ8�9�ȣQ8���8��K�gn�AB����0z�X�ѿ��RM�[����n�t��{G�:i%3n�a7���Gg�� m���+�ŊA&lXb����Ќo��W��<��T)�W����kLCYsq�i�M��j]����(]��A0M�,Y�S�%e�G�`���B��L�P���n �1�Y�6�x#���/�m�͆�U�%ȧu�����������D��nl]3�i�2K�C_�Κh��-i�i��/��P��|�KO:s��ϷM�"��ˤ�L�C�^:��K8��SC�i����?�V��, շR͡h��h_3�!��|1T�̩ʲ��4Q��( �r������h1��*�uZ6( j�/�r�h�C�e��U�~~H�nQ�fOA;����s�?B#�%(��S ���Ts 7���'��=]�\��]/�ْ㔲U�\�}�����?C�ճD�|oE��b6S�d�Uᴑ\}���g]���α�W�l�t�f��x��x&�,�c�.����d�*#-f�[��[�G)ctT��uF�F�ޗ�f��dT'b�z����Rp�yq��*^�d��^l?�c�5U�LZ��r����e.��=�h�,��0�2�ʵ�-Y,�l���ۄ>���M��n2����"c*���pfEHP�ťZ��h�bѶG�No#�]�7[4�����镕��ت�����n� ������`qO(����ZJ�����NQ�\\5S_͝�j��n}իn]�?��%$�)��=��t��ܭ�9r��t�4��Ԇ6��pЯU���ÀR�%�˅f����o�Cּ�^ybž�Xt�sq||q��G�+������?��2����]]9γ>{t����Z+C� ��Hm�°$�� xq��þ����� ɦ#��P[Z F�mC��z.qmGUs��ЬL��g��)m�g����Y�hm\�0���B�V�8�)�Z�2�+h� '�%��=75���#a���XZ�vr����P�-��&��)��;�F�:|v���@)��� ��Aw�܈�θ���-'uݫd�t�3��= ���Q���M��Z�x?��i2���l;W�*��)2�c��vAz�~�%}��<���"zd��� m��JWz�Cz/Pq+�H�Y$���݃|��֞�� ;�\�("6��>�хp�N� ��c>'��{i�w��L@ �����<���_�%����+�����X�swWPނ�B��1�5�� \�T�!]ǸNip�I��@�4AH�!5�7"[:�WT1�/@�ǘ�BI0��)Y�so�F�e�N;���@���v�.���WtiD�rيBt�DD��X!4�S�8��nxE2 y���d+�iB���f�b8��!i~����t��o �Y��Y�?�IM�o�<���&˦�!���L;>�_f�����t� �w��g� Z@�b�6�C�t�n�7��[���֢ ��o*t�ܶ���#����E�r''ә �+i�NB5|?�ʍɹ��B������O���^0��Z_[^Kgõ,�4���]4����T�3��\�tQnA�Ȼ�C�����m��k��0%�Y��@�M�f'1�uˇ�B;^�h�Yj�qF{�e�f��L�eB�%2~�-��/<q�z�OU�OUZ��S�RGF/ �_ܴ(��e��AQy�odJ.����~=$�[������Wm� AV�\��ea��-�H�Q��n�:R�t���2� E�VE��Qm����6�_߅yH���7�B������), hw��}�L�@9GP�@a��&�֧e��M�[Y��M�I�G�c�Vp�L3��I8�E��B�Z��v�6��$� ��2����]��i%Dl�?A���ś���Av}�r�F�Z�Y�2 EP�4�U� �^� ��Y��&�V3����y��>}&2��OI3��ݷq�%�%��,^����(���M���j��R���67>_�I�G����k)��ܾ�o�}��OO���(���|�P(�W&�T��xP��/+�y�_�q�?�K���_W�-������ڔ�%�b�D�&=_�Gz��F�]�J���5��P�P����`��~!g�C�Ƀ�� �����7�'Uݱ��*Dԣ����������7�)����u����:��a�h;��{F��}N����tI2�!�����g�c��6��пKn��w���繆�'���C���_��}�����=�g���]�z�C���?9yxj �#��g�u������|X�����}B$�Vוn}+�?�å�ξHk�4��nf��&�<�$��N��yf��ۜmϗ��So1Mk�kS��:�^ձ"�0^�:�NCd���TU�h�v��Qt�{'�ۛ�3�^u�*���v�i%�sЁ��)� )1���o��6�M��Z@�zM�&Xe�8D��ǩ��z4�/�����L4.�u�.MG*_n�A��T�(�Q �lk�lj�b}ج��_��.j��\�&*Ar���<��D#�2@�+�7�ǣuT�:(��*|�GU��Ik7��'R���Pb��}�F��M�ȼd{� �Q�?Q�G�\���� 9�P5]��K�uE����U���%(XB�0���;�O�Ok�%ܡ�*<|V��^��~�%���K���!�RV��Y�o�W羙ўk���K+���k�� *�2��+*em������1�~�"��.@>�:+4T5(�x��������ܦ �ۍe��h�S��gU`{�ZY3��} �Fw`c�+�!�Q2 ��'T� Ջ#�P�{]���I��l���,��2գp�p?E��+���ֆ�+_G�զ��p$��]��'D�Q�)�3�|aϣ{ ��t>_�_����!U�[w��E�@�N%v]����N�/��{�F ���qI�|�L��]ߨ�,�P�蚯��T���a��8�_��M{e+A�ޤІm7�5���������������n|���� �T�+V�k�7��îsb��#�ca�S~���+ �J|��K��<��䰟�:��#)�<��A0?����^���$53�/��O����s�]���P��z߀V#-�n�rs;M��>��ѩ��H����HNWQ����7U=7��|�_m��m� �2E9$&P�)�S��m��u�<���Ho5��}+.S�K���g�e�4ֹsƖ�H�q}��n�Mw�YJ��?��|�埄`�T�j�m#Iv�ͳf��S~�_2-*隍���\5�:�ď�k�"�E�Ĕ���W6�w%�T�a��(]���ġ͛&�_8�D YI8��E^��6��s�E��ezb'�aC�X LIt��\�]\�� z����H�'���e���woy#!o����=�9a�w�w:��g�\N=�����-���L�i�?@g���n+�U� e������v��.t�F2�t�m 4��K�t��sFQά�C�[{�h��{1F��b�����Q�n5����A۶�:�Wٕ{m��d���Ͷ����]eٽ��-�!��yR�*z�=�]�)^����78��!�0�9A�F��y~�������A:STMav"}g:a+�Bs�L�C�l�7��]���M�(̼3�z����_�֍�oَc��2�7�5]��w�v��I����-i(�nY�S���J/�7���?dP~���*]!��!ˤIh�/�ܠ锌Y�%U����ʽ?'��/6SR�|�8?���%wF�Qb���I-�3�%��F�e�1�z�L���w�J���]����]���i��{��Y�%�`r"|��Ob���7 !<Az_���w?�X�-�f_P�{ro�9����Jh'~�+���o�n���0ޜV �Ü�k�m�����+7幌#�v�IwK@]A����7E�ބ|c����,��m������,a��7��.��%�\�7�4�~2K>�������d�� ]��a��� ��H7<WN�%��*��aB�Ր�B�d�N���ӊW�D2ai(mۚ���ۊ��Q̐;��pa�������Q`x2I(�_Wd������Ԝ~\fL!�Nn�I� +��5:=U�d�W�sNK:���i$M���N���w��pFN�xLk|�tx��\n �p���Ƴذ7�/� �0�3��o����h��צy�8�f�{=��~Z�/i��(����e�_0A�9�2�}���IYN��ȪV�lj���i.�"c�� �[��:��vB`�7B�z�]���~�}k�#� (/!�#N_�i��W��:6�-�xu�܉�Œ�����3�tL�:��_��^�8�}�㔰|G��OZV����b���ϗ��=��'�ПPz1���w������]Ͻ�,]$.? `)���*�iѕ�;�3�;`�˒�&�7ͭ�$��y:PG2�%K��P�=�o��f��������N��7ƶ~�fὖ�l?�J����t�ֻ���:�=o�=W���(�� �#��Ϸ�w���{�]�7���u��2(�����Mq��ö=����Ƿ��⇞�|o��� W�<�M�m��w���wL��O40-az��H51q��EM�m�|�sWp��>��0<BpP'xO;a]�R19j��=��L�k�6��j�����^$& p�K���{�}4휕Ķ����U5��̥�u���b<�oA@�ʮ��K&[����$q7�z@_��ˮ�w�N���%~{ݽ����I���t���!'�� �O刉�Y�/�wX�>�1�7no+��O�[3��-�3��4f���:���<�nŹkn~V�n�&�?�����N�^����K(B��z�@� �؈���}G��6��G'��k�_��@��<�S9�����zrO�t��N���j%�F��ʣE(V�`id �i���5�$�؈d�k�y�k�.�p�˘�+.�����g%x���� �N��:u�������aFy����@�3���s��6#��y#�S���'Y±��y�|M���Y¾�gӌʄ~Yp����^c4։�݂m7��B�U� �?t0*��-A��ZBo��7��ͺ��-2���~����t+Լ(����,�Ű]��"'���R����k�Ax�/��qɞZ�[���D�eۼ�&�K��?K���U�0Z�%d��[V�t���B9X�3p-�WP�'��W�D|��Bn�a)�rR�FR|=�����(�������Uԍ�� !�_�ՉBXa��,Z��kЇE�{n�� TyC�b�!��>`��"�3'2��>�0�<���5�!��;���p������qftQU3 ,JFU�EE)&8����0 ��N\��X>�ffJn��VtN�/J����'YE��Ull�Ƽ�)Z`��]J'�]~��Z͠�:��D� �C��z$�-)�=�{�s���q���DB_�<Ǚ�"�woO$"[��y�_�������h�-?�p�b�A�����R��P�g��@�X�u�z��ǚa�e�{���j,Fq#�p�Lq큏���G����f���z&Sϐ3���6�S��*7wwS鼉m�~h;�X��%h�-� ��`����w"�i���w;��f;�,=�#Ly' ��Ly�ZA���n_t{?��)�a|h"��V����3U�a�dZ',�VM��}�eI��c����(��3;���M �U��0���/� *���Ob+��d��C!rs��.4��YR��HM��F��C�tC�K��k,�9��<43��/0F+��bYF*p6�劵�r5�b]�H�����t�[��*#� F��HzC��gq%Ix� �#T���4Rp�Re6()��3J��t�-���L�22��q�)�fD_�n�~�C��0"eC�3����Mْ6$X<%I�"��.Bޜ�Щ�s�>�dg�!,�"�H!�f�Q� �P�#��q̰'�����{ >�ȋ��7�,�RRUITU���ĕ�N]yb���O]�r�u+��yI0>���-���ے���N66�C��n�aY0� K��a����,��4gt6,�Ҟ�`�a�"g,4T�V�wG�!���wt���� Fej"�X��4[p8^A��!l��Tz�F���"H��0M�Y��YM�CD�^�*���ͬfhpz>�.�a���������bCHI����Q�逅$ߐ���hݭ;Y���<�g�Q�~�����[�:+s�@��/>��cl>��j� �k������^=��]T�u���; [Ŕ�!m�+�@��Ǯ��{y�5�K ��g��X�S�>?��53� ��;r�D�a@��5F݆�&�i|�f_��� �--C$ˤ��#+˝����~r&Q^���NO�{�@�y^8+˾�����&�Cc|�C��ᐥ�u 渽���q���{͉�<�̇�?G�~��^^��xU��u>:�ge�T_RUd~\��|��r�c���&�sxC�P�!����U��? v̲~ײ>2�����%��0Fe�(��eEǭ(���� �ΡD,�_��C�{A���b��`�$����!�HJn���F�l�۴�9��y�.������G`)S?�Jy0̓ȍ����GؔBߩ�I�Z�OlA���>��g���X��pO����P�8��|�� �0����@91���aeAV�� c���gx�T$����N=��a#���x��% �r v��d�@���Ej���Lp� CLt*��/"&��nˇumg4 �*s�d�X�AR,A�Gj98&�j���Z:y�[�Ȳ�H+�+���t;��������Z�>5�>1Z�P�%:��Ĩ��!,`��>a�P۽���^�[xrw�Խ�a4�Su�{vC�ݣ���lU0���CU���{����꽟�����͓�B����To��S/J�]�p��Gc¡w5Z��h�C=���Z�G��M�Zf���9%`����,�Ǵ����>@ȡ��AX�gk3]����:2+�q�e�]�9��M|��`ï�\'ʓL��l�!g��N���4�Բ���2@�\r#���$�<7=�ro��=9w3�]��b�;:$�����.zz�wFI{��1n��v�,sZcw��G�}3�A�p�!�K��d�>H���y����o`V��G��N����RwE���9.��$}�ST���p��x� ��68���7�^�!3<�=�(��~Ͽ�Q���>r�C�<w�1�/y/1��G�?-�d�<O�H|�<�"(ԏ��\�F�OB�@��Ԡ�Ri��` �p���� �����ﰢ�� f�=<����sYnU�EV(�e�y4��q-2n%���ӡ�ir�2��N� b%�sx V��w=zt�����f����~��:t1t?��oߌD���@x;�\�#KD9Q�;��E���ARɔ3��k�� ��;���@��0;� �O�~o��b���]3s��3jܖ%����v�߈t��Q~��H�n��_�]N���r�r���z+4��_Bky�C�K�q��� %O�X�m���axuX���z_�8Z��PƳ���F�N�焦�j�<#���n�:庡윢:���b=��H�1RM����T��)� �5�L�~�6�z�V�O�n�������{1B���~�%�X"y�&��i��6�����Y�&�&4{�0K��/r�ċZ)�s,ZIk���!�p�SXN7�ҠH���2�-S�dM�~�� �� !����V止.1�}Ě{�`r��x�[dY�1"�B��^0g��5,+�H���LK����{V^��4&t���n�_V�S���/,o�]5U��&JF�1O�b��8��A�z�s���ZQ[�7̾>�5�?�r�0[7���^�q^�GyN\��Bt�����$� Ѻ���sƝ����-`8�Z��R�@{���EM�HpU�$x�%-���z-dU���8gPĞ�&)��AQ$������kaW�`��˃��iY��Ȁ%5E�����ғ��n��F�ؑ4���M 4c'ҾPI�G��{]��� �� E9�g>�pFC��}���Lt���F�ځ>Ftw��o3�?'ٳ�)���a}n�~Wijh����E�������9X�R۳�I��$*�م��<}Kdm��*�N��W�Ԃ�6:����"F�x�?�u�s�+��_I�FQ�X���8�j�t1�?_L;t��n$��j�������<&��|u��H-_�4S�A9fԸ��*gd�Rد�p�Sd�s���bZ���㊄�E.�țfg�:w��1�M¡i��3#u�7e� �圣)C��J)6+D�����9��Yn��Jv Q����6��Y9���!��37�}�w> �1 �l���W�[T�Z+Q��h6���@��A�yƯ��t�O�L�8�n{껉��jB�#a���������yn�!l<�N��0��%^���M���5fa���Y|�Y㳆��{ë*AZ[�=�}`� �_��1��l�1�C� &&� ����|K%�n�ccc�>��)2W�ܬg�ݺ���g66��I�������v�K/ܭP�V ��+����S��jNO��͵�dD��?Y*�^�:Y�s͵fj2�}�<�Y��XiM� �E6��(�JҠ�G7���|��T}$GԊ�TT�/7�0'UeB�<�Dx?Ej������ ��� ˺���� �|�\�ŨI�|q��K��b�P9�X�B�`<�PL��aT� I;�U�̄F�x)Yf(A�\�zt�Vi�p|)�f�ØD�iQ('�3|}%��T�E�[�&ryoEd_e�U��!2Ռ#�6̑QfF� �no���%��" iOai|2��8�IǷXV��8�����M��:���f��ű�I�Q�-�],���о��������1�Cf��D�\%��7�ziG1�t�kAf����~��8_M�'+��ԋ�W�iY@�f��^=Z����b/]�d�Qཋ��4JN���(��_��JNBU� �5M��/�4�H�c�-MS%��^p��߸����,%e��m*��u��w� ж7�����Cp4-��y�}Q?.$����?��dIp��5��j��*�<����$���a�aX�E�'lt �Xv>�=�y���Yv7�O�*�V��{^ �E�"ri4���p����SУO��NlY��(�����8t���&&ބ�Q8·�~���܇��l�M��-D���f������9�Ɋ���#�\��=y ���-ݪ?�"� ����^G�nK��6[�un(�,����#x]p����^�z~�M�rr"!���߬O�Q��OO<CF�1�>��7Z�l��=��5N1��c��n@��,hSN��߬s�/�m?��bzu�~g0p�R;Ej1�J��<$��!R��n�/�R!`X V0 ���5�:�H�D=`���e�/��/���'w��#�,�W%$)q�NHWrl�V�/��gX�uӄ�.��[j��f�YNC���K��(�B��X웮�8}N�c����t�Ȳ��HD�b���Aݰ%�e�݊��g� ]dk�lVy�ļr��^͝�;m�!�|1i�^<9���Vs�4뇲}����������J� @�n+�a�H�fJ�r���~u�2f��:�2�x�N�۷��zd��w��]/x�f⚁�~3��0�LP��m�n �-��� 4J6T=��k~��s��W7N�N�=ٝZĹ���勝��}+�Ԟ�ܽ��Q��C\�C�4�p��_Q�x�8_W�L6��jFwx����wy��S�g��"-N^Z�8q�|L��� �+��eW+T���;�<� Sv��#�e����+m��+_v��ˮ���w�v�������W/]~�Ҿ��}K��������R^�/�r�O�_�)@�jw��]����k�{JS�9��H�>�m)s���C�O4�rNޣݓi4�=�9�c�r$�.#Kw��� �|k��S�����]���w5�]�]Q������B65�����n�0f�ёѹ�C��m��&�C{�b����CL(v²�KL��[�㐍j������]���8�&���C���zO�E4ү2�O���� ��Ò�l�9��~�a^�t���($�k�T��_,�,��0GUc&9��t[����>;��0&!J<�G��:�"�N0Š�#��[�H-=�I >�$h��@�z�ECSah�:�?�x�H�@I0\E5���p�x<��RO&��c4(�������yZ^�YVv�8Q��zϘ��Gb\/�EI�QU��i$K���A�7�@�0�-��ȣ&^`L��}!i��,GX��'g^���ug*c8fV⸑�?@ �T>�'B�+0�ӬefS���켫�0ܹj�p�nYb\0F�x���z*���e=����KG i��� �FM�i�"c0��uK�XU�����1Fp�ܞ#yq�!¦��RRZ���a�u&�fE�ʊh�R��+,�7�8�,��ЈgIһ`h3X����~�{D[�<�B��q�vA0���iĚ��+�s�\��5ş�RY�H:R� 2qCR��c��o��q'g�#�\1)I�b.=�0-� !�1���T� T�Un�%z86T�D�$ܡP�Ѡ�)��n��ҙ;v���.�.M�*h�&����|'��ջ�Wv?1��ޝ��nud�~����11�X }u�����nH�%�%fl|��ɩƾ�F#Y�Hes��|C��?�5�k��Ug�Tsz����h�Me��3�bq�����ʢ?� ��2��A&$�4���d�>�Z���>z���F�эl�I�N�t^��pf�����!���G���H��`^e��"[�>-ڏx��xԽ%�ER&oK�XQ��b�Q�+$����)�z+y�Nd#��b�V�(&M�J=�QH,6�%��X�h�t=�3�F�6�v�`�>�=��BR2��dof$^����ȱ�=��6>���p ����KKB�� �Z��7����e�f%������06Ҹ��_d'VA<��|�B�bh3�r3��m鉸q�k�mXH���'�]FJdɦ����vQd�n���?ۚnۺ��-�Z6��� ���8D� �k�y�Z��f�頵��۰�3766����#�q!FQa}!�������l�߶�&�-��nC�H��<�*۳�@Rg �����(T��[��]7�U����E��`�~$���-�Ȅ�]~�a`� �ԝ��i��Fm��p)N��3��t|�2���8���8�vc�"_�^d��'�9r#��H�/�$)�ړ<�d*�&�ė�M ,�s�k�)��������̴��,�B"�ت��#+���u�Гa����;p*�� �7D�9Bkգ�*#�|6bWi t������.CR��Ȳ� C�eE��� k���M7�gGV��k�mj�P�\�X��n6��u�]K�qc�Ɉ9AJ�I�VS����ѳ�wҺOh𗈣<-�k��힊砝8,L:�,��%��?6_5RA������l>��∯���2��U����\���PW�����c Pz��H�֥1/�^@��MG��P�;�e���K���m�7g&����q�*ZPCR��,y�Ek){|���{��� 8���Z�Ӳ�(�d��nw���K�n@��a�ؤ�~^��B��m#+;�#���4j&5+G�D��wv�&�%��݉�)�B{n��a8A��K������+��L��Ue�Yu4�O&�'gő��.���eh�_?�`�Sȧ�7Oz�?Y�eC���SE�~ݩ��7��VΈk������`�p�GQ�Q�`�� �%��o� ��0_�1��]/�����#u��&�PǢ�ѵB���b���V�r���Ty��Q�@#�E&tw봖�"��Ke�-�g�s��W�Z� N6/��LI�og%Ѷ% 91�ac�55����n�>48�S�莳A^7H�k�\��?��*�e��6����~�J��+uJE���r��V�DmRcT!C��q �b�bW��h�j�� o<��g���F�ե@sa:Bd�Q_e�#s� ���4��L�J��W8�x�ߟ�:]�:Y'��?n�j����W�L>�����q-O��N���]3��-{��Y�t��T�!W5 '�/0�;�+sP���ptMJߣ�y=9�ų8��m[`�w]���k�I;���ӎq���Xx��J��,�Ȃ�r�P'ժ�4A�)W߯؆#�/��y-� ;��/�j�("�JK�-Jw<����k����)���X�8������:~3�/�{8���'b��}�L��?����G����������O<1�@�i�f�i���g[^ػa0B��b��3�$���1u�}ީ�Ϡ��AY���#�G�\�:�P&�� K���(�I`+J2_����%�oJq��l�,c|�w��"H5W�Xg�P\��Vx߾� �7��b^~M���G�LC`3�:pQ� x�����-q���x�$��Puz� �7��@�w;�7!1�{���9�:�U��^���EU�4���xVO��|��`06�9�e��YA1�DA�(3e��-J��y�<_���t�p�J���lY<�~ٟH*�����-�DU���#VK����z��6�Mc~�2nZ��� ��K��8�%��+q��$,�To����W�����Ѱ����a��A���ˡ���;��]�a/'��KY�r�řK������0���$x�9�%Q�aZV,AT5�`K _�T���yN��ti��4E%M����H?�%'5��+�d&=�h1w\�/[�xZ���T8���DޒU�e��d�Jx� 0H���ω�*Cɲm����}\r�xI앱_�=͜e� �(j6��t�����Smj�P�3� �#�Hie��4��H���z��Jd$K�N�E��� ��5�� ����2�TU��Ve���Y��iq`�3�`�'�p>�[�8A%�T �CN�(*^/�#V��!ˆ|BЄx3kU ST�(.�a���d�Dhs�D� �Q�0f����,��ZH���㓓�=���&d|L�#N�`�w(����wk�c��]�^��:��FH��G�[4�\-�~C)��:��l��Z�n��@j>|-A10zx��$��ͻn~bw}4���%�Y�U�-\�t���}�L����nE�m��T��}5��*����5EV�p6vsK���h#�Iڇ��X�w���R����L=-�i/�b��pb�����lNl�b��(�ͮ;ГSEmH�u[��?(�ˆ��ܤa B�uMU�668V�f{L���6��[w���[�V^X�a|��N#�=�.�&'�MQ~�|>-30m�xr���ݑU�w �D���6-�T5[G�U���K%3�Ch-�͓o=ɤU�r1�7�E�]l�b��Q1�kx^ �p0냫�gv��|L��3�6ʮ-&o���5Ѭ��㥧@�)靕d</0�;������q�/N���l���`G-�����[�cxV�,�j|�iB�.P #��JٛYI'�I��KX �����"|��ͩ<�s)^րxm��\Q���AnM:+)����)��bE�F�W����a��6mW݂F�[�ޫ ��m�bP��Vsȱ&8���6@g�����/�lW/ƨ�_�0�^�9��*�����?�Ƅ{~�!6l5&�Bb����X ��H����V�g�I+H�ֆ��>c��`y�����E�j�VQ�`t�4����h�Dcc?�bY+�j{���-�v�c7§�À�Q8[�o2�n��ǡ� }S�IX�u"АH*2@�/k�9_7�R��ry�rVc���v���Wuø�0�Y�#��赣W,� ��N:t�$����������s�*�����7��߰��D�^d��,=�,[�,�P4��xSe��#{�y�}�0�a���-Yx5Z�}�8����$�{�q���+k�pB��~�����Ľ�(ǽ�0��Oe`���A G^p�p"��������3$�]p����Ȋ,�w��㎾�V�{�};\�E��V�?� FVRa3�/Ɔ�(2)�҂ʪ���F�TC� ���w�тR\�V c�Z7�U h�@c�����y�BL�H@��<���]r���'�0r�d�.]%�v�P� ��K���T�|2%KW�4��u9�l��ΨOKnD�x�:����@2����� u�"�%�$<����S��n?�'�J��Z��Xa�s�-�Ig���b%9t뿻������+�,K��o�N�3VB���A�Z"�;�(�gBo�"\�a<��l}�>��5��5]�cv� �`�D� �z�,iP��>��ma�ƾ��,��e��`��)N�R8���֭Y��y�I�S`��Ck[�Dt!�А���Ŷhdx1tc@_�����B��C���(���ꃇ ���nɒV�}Өˎ4��4I�[�`h��H������sW-y�#s2\t�t-�/�K�<���a��8�)F>L}kw��E��}��)�D�D��·��b��҇����?zN��eS��OF�G��å�67�8�Ř�|Y�\㸪��x]�w�uӳ�ВE �x��4�����ng�y�M���@�Ǖ��uzMb^"@v��M�uh��j�ꭡ��=J~!������S�c����F8`��u����o����J�8c���%3�Ka����D��!Z�/��n���.� � ��������� Z�^\�ܡ_b�z )�2u[���ߧ"��;��!&5=1���p�QE�0�ZN�]ud%a��J��9&x�ʨ�!�2/���{�h-�Z�����Y8�������T�:��5J��ЛY�g?m��Ts�볆永"���h���Ң� (_˱DQ���fF����F"I�z>C��e8|!=�X����$���BN�P�h&-ł�e��L���b�W���X��p5<� �D�~�EIY�P�E=jHl��ի�� ���Ϸ���Z��_{l���Le�#'FXv��݀q�g�X�β���k-��"EZ�⢾į����^��(�� �!���拚�e��C��x��E��?�� ^�r_L�@�m��� �/�](�ۥ{A��l!�*Dt�c��bcS�Cikd'��'>�_�E��@�<��4O>U�r �]��.����"����V�d6S$��m��L�8��/g�Y���#�ln�p�q���2E�T��4�лp�'��b�PS��Y��7MZ��'ӂ��>dc"��G�Eĉ !%����t�d<��XQPM!)MNVF��t�PO��DA�ӏ]�Ȳy��$$��aʒs�c�Ur唵�}-��6�T�梽ad�:|����.��H۾*bv��-���8��B��O��A�.ň�b�5IS�/��p�*��D�d��7go�<f�p���w����מ8��do�p�x�t�63�o8v��S���^Z<q���d"���tx��MLdsW?Jt��}���:)Qs&��IaH>�|��?�܉���a�=�h4�j�r�~bs��W��jؓ����r�VĶ7��s܋�ځ�/���?[mw|�<��\Xxp�|��t�ծ}������A���W���݃'���:ڂg��N�h����t�ab�ן���v��=�kC���uo��@���I��S?T˱�0p�(�D��kÑ��ݵK�K�@Я��o��e��]<���DL��7�,@㔆l#M����F�h�|,r���_�i9���Ŗӕ����^���5���Tr����47s�� {߂�����B�#���Ǘ�o�k����3�����K��(_��vd�D���І����=� ��ݖ�6Z4]��z}���밮�����:��ן�-��W�X�ڞw��0v�:A��,�qZ�,��g%�z� ���/�_��Я���~Ӈ ��o�/.��*{�?vt�^<���sX��bV���=(%�>%�})�QJ�E<K��7\u�UE���\��{��b���J��/�aj��~�V�%��]�E�n��0""9����?^8�ͱӰ͟~Nݥy�0������{����q�+aG<����m���$�0�] m>����P���lt9�%��I�v���&�^��.*��s�J�^��ƆF��F;ʱ}�����b�<py�@�`A;ޫ�7���\$���&��Z|P�/M6ȭ�/�����1g���d�:";)�!��#9Oǯ����&9?'+_9�??@Nay��쀳�!�ـ�4��A�|j�mv>[+b�D�AX2T�ן���s��\���>�^_�'{�s��>߃]\�݊M�u�իۯ�~fŒ(��6��ע"�P�ן �����u�}p�>XM�5`vC�-4<�v��.��!�(R��|�]�_���Ңe� Y�=�L�lgrz�ed��XF���ql��T�p6�v���� |��f|�����}Ց�W�j�,���3�����n�yDb9ϫf[�T�O����1�UZ�6~w_:Ң���'��/9����*L勚���ʿ̬����lV~����t�&FX(��xl�x6�hy]��v�!X���T7{?�Ս ���rj���2���Zg�X�!����g�y���X�Vݢ��1އ}�b�V� oWj刍��Zvec�q~�Fo(��q�D��Bbb���ßE���s �N�w�.5��jG���"�AO�t�.�f�m�]�. ��Z��oN��t����֬���� ��a~�-� ʡ%�q�&:e��]�@p k����,)��[����>,I�>O�I����â��|�@bBcA�I& f���bEf�n���%�I !\Rtɵz���'5a|\���q��Eމ�_P��jY�!@J9FVS- B ��30"A�R�Df���S���8�P�J�B=��y5�?编��цʇv��٨; Co���P�⋭@֑�OJiɅ�E4��5����]���T1�#M����= Ko��?� SK餰]��2mj�_�M`|t�8��-�u+�_i�>~�� I��p�; gK���3��֍ ~~���bk���%,B<�/f�7�T�&�Olq��m_��m] ��ˣ��#���gʗv2������\Z�T��wg i��1��BB�Cl����G4�Ѫ��f�I�rG�}S�՚39�Տ��c;��]��K�o>��GH���h� �zޒ�K����!گf�`��WD{�X�%�,��Wl�qd�hW�~�����5ٗ )bL�7�3�� ��#�G(rpR����d�WXɲz�0�FE���!����j��د���q2F28�R�i��Z~WV5�n"=6�=� r���)����3M?�ځ!&��(��ߎ�r\�t-���c(J�Y*�X���Z"k�fv:��L�I�kV#�K�Jݕeۤk�a�#�$j,'�S1Y�=U������u�W%�UmM'��#�N�p�"[|�7,X�"�!a�� ��V��I&�� ð�<K��1 9U�0j,!�������CD����dV0�Goa��xW|`N�����SX�^�a(g�H��5���5�7ַ@��)�3 #/���zG�\�,dW6�������Z������˺���{����܁�j':5������0������5=+_"[��Щ�}�]�@͠rf�J�FÀa�w�n��7o��_���m�76F����V|�늷=v������P�Ի�4�C�X��y��6 [>��i8��! ���a�L�`'��5g[@�����bmX+v�߆m�� ����㛛㢷�uG��k���k[Vp}�-�,p�I;�n��:4�-�������ѣ�gDw$��ee�t��Ų�bS ֥'(��ӛ�c㛘�b���=s����v� �W�(��4����a��vy�d*SC��P=�4A�1��� N�lfb9G�c�x���b���H@�G���f]b��Y�Q�|�k�\BXw���e�?*dI��="C�$E�ۄ=Kb�w�v-_�<A�c)S�25)1VK�|�� �%���xE��[�DI��:qD�qXAbL�E�0�D�-�=+ z�I�����Kf7����k�LJ��v:�S-��r�Q�1F00mt�Ÿ��W{챚g=��õ��)&i�8'�r��V�)������ ����B�g��3I�l&���VV� +�#Oa��� *P�p$nOh�%�P��~���|����Ssd3��#����LRv�);E�=[g�c;��Kt��@����G�è�[�d]e��Q�D~\G\\����L�!c�N�#VRτp��Y�KC[�KV��xwxf�9���@P�jG�K�I�T�V6��d�i��R7�z�oo�D�s�+��l�( �=A��{���ӣb"�{���g�5�pu"���;�>��f��\�{&ه,�����5��u�Rn�����P��4|��5nꙚ�`�=>l|-��Eǜ�w��E�'�M��`�{�{�/<X��Ay֬��� c�bÒ���d5JAP�m��q��ɅXN�q�[��e<UtC�n ��=���� �����\�xb�X>gM..@�+W8R=�t�6���Ԟ7F)'�h�t�0Z�o��G��K��ZI_L8��i���.���Zj�~��Oq"B��y�0�.1�<-�`�K���X�9�-%7Ӟ[�kgxAg5ٕ��tXk�.�4b�_�ʅ�Ɵg*8�V2.����y��y�F� �;�sXGΆ�J3p�x_;x�R���D�t�Li�T�z��Q`�J����K�O�ߡ簴/Np{*�/x8�������6��mn�ϑ3��h�_����8A�';>��ư-1K�+V�!�vv0J�A/kl�4���Gq�����{���8W�$���,{_��7�}N�TN�F��?�3�G� ���C���5���7L�Fp=���xrtD��ohL˜�3��f�f��aз����l�:�����Dq����WW�_};����E��U<��F:�H�@�`�f�u� ��*� �r���P�ti�����!\w�!�)�RRP [<t��C�H`���4r�i7ڝvowAQ~ZZ^+�"�kX6��pnd ڏ3�Q��92�#�mϠS%fG���h���y&$���;MbJ�7�&jM��.�{�;�� ,$��q|ݲ�Tyߔʆ�� 3"��q�����|�� S*�"��KbM4��%�$����% �W Pˈ/��$7�U@�k,oȪ(0�-�N$¨� @�',#{@c<�˪���}/I�D�Y��L#�����X����O�,�L���48�4�W�Kx[.�*��*{< 7�D�nB�lA�9�X��<>;�3<����Ȱ��q��W�^���v欤��Wx��Y��KV.�KR\6�I�S0�����.�2��1���#PJ��ܘ9��DF�Rr ��3�f�^�;���0QS^Rt]�"���3�j$ӂj�� �DEր�"< ��2D�tj#A86�1IY0���j>�HX�)1�0X�;Y�m��"��q�����Y�G�:ˡ��LNURɮq �����r�3/�bx��ͷK6jK�HSש��� r�wn}e��8� g{��LO��=���~�m��Ƒ1��)�r�S$�,�����G�o�,����u�k���]hʚ�X�I�������J�@g=��'�1R�1�;D˶S�M�h���x%��2���$����y�Gz)���-������;�!�F���g�à-���/�2����Ug�I�]/M.1�Τ���s�$�`�$� WS�%�k����Y˶$�I�2��+o��`}A2t�����=���RD�j�iE�O��biV�3:H��M/�.s'>��W^A�LW�?$���x<��U!Ve)6J%$��T<أ�z�"r!(rdf}Y���I!��d��x<�_t�}2V�>��gq�QU\�}�{~�8��X��آqAB��y�P���x:�*�ɭ�_��Si��,b��I�����fb"��?�6�6��F0z@ߗ�m����a�"��[P�E��('���Z��BBM}�e��Q"�.#mDNK�K��4�Iw�W� �{ Mj=�Gzj��^����\a�΅Ǩ���H���o��[9[,��҉,YO�V��l�XȅX���Z���M4�a��Z"{���L�9�ڡK��e��� �h�����kw�0Z�]�v]�+��Ȧ�|�5���,�^���N]~��/�E�v�9�ѯD�P��_��vۺ�']�=�����&�n���'+����k�����s�1�.����&/���c��77�2�F�,������Ig{ɘ��=5T�I�\/�V��r/ ˹s+��y��?Ƃz߄ă���<����B�_2;�kV>�;wI�Q[�z��%/���n~z�Ӑ�G��U ��m>�a=)>_�*�ͭ�o�����=��S�~�њc���P��b�g�_�B�?�-�w��ϩ�y�)>�A��mj�`���|e�·Ms�����л�ޟ��m��L��0�k�#de���V�����G�u)V�ME�Zk�+b��H��#���h� ���TzH$���ژ�Is�l�/Nsz�P8�� R� ��ۆ$���}�H���K)+J�9aH���z�&�GC����0ـc5�!�(eI���/�����b�� 2�5i��l1���e�ŋD�* �υ'�Ko+~�5�c�_h�3��l|殸"�_�����h>'c���0�- {K�^��|!ݡ��O�S�,Jʊ!`�S^>�3��Ȧj�t�(�O�+�J�֬F���0�9�w��;})���G��vЙ��oi2~�x��gޖ�D���]��}ͩ5�:qɟ@�d��F�������!���"����;-R�o |��+~�ج��G1}^aeQɺ��N���� �+Z��:�QwwYerh�56yI��Z�dн҈�2�;�KS����5��8�6.C�@�v�$jۘ(��Lh^�.z4��,+|| ��b* `��x�<r/���w]�uo�H.�X�0EV��ᤴ�PX�#]Y�л�cYI�l_�9Mξ�o�������CX���d��xB���S���n*��xͲ,�7��6c;�e�e�G���|̏��r���Ώy�-��Yf�y��#����p�J%�_���V�w��*͊2�2Y�^����G+�6����<��R�d���+�9E�,$�`G;/����x+��G� �Ⰵ�^�V^]�+)��@#b�:��ű�ҹ��D�3JV� S�����cȂV��INaGJjR �if�X��U��ERɕ�tGl~��T�g�fܥ���1x�����_�l�1Diu�M���\ݭ��lendO��G�N5�N�.I�X����+!]�`H0O$��AhDD a����&�����f��N��-)�~��k4�$M�U�,�b]q�(�Q����G�����z�ơ�^T����<���(q���� B��c{c`��6���0��<L G�h5V�+ 'I��t����"�������~E. ʠ�R"٪�B���gζ�+q˞s R��KN�B�w�i��N�*^�V,�5�x�:�#��Ӳv���k~��xqBnjͿ�j�P������? M�I�ػa���Ķ�%�U"?P�to������[o#���S��A^��S�鷽�ۜł_*�Ɣ5D�9�"-�p�����A�9��������W^��|~t��?����d?�`�_��,�>���'��Bzjcnĩd�«%"_j�kx�qI��֕w/O��$;��SM���� ��[.�X�놄+�Ξڢu�7N���v��B��ŝ��=�Y5�6�,}Ũ���y֮V�����闦�ӰL��C*��Z^[����{�՛�,�/��j5��7���[���<�0̈́��s<��}��c�61�0�mO{������{bEDi ���S�4A|�`X��ҍ�� _�6Mڡ��G!'�5^մ�m��H�;��Z*�[�� ���i}���� �)��v�59�)��8��x���S�1.�����җ�h_aj��{��q\����+;���)�lj��2��팝d�,ԧ�:�5/�B��Bb럛Ցّ���$�#��PM���T������Hv���EuhQR�q�:o �9d�ݭ��z��{~4r�8!h�_�&��w��Rn�����Ǘ�j���%]6u�-�&>�7��Ɨ��M[ ���˷+�ʼb=�tbi���r�wg]�|�J��|vRyK��~U�%�&e�EEG(鮸6�"m�Zh�y��f�`k��`�:�H��<��vD�:7U�On|�FdE��v�C[�:���Cy���p�����m����=NI<�m&-)����G*O%��ol��0���W�$�S�"ݙ<�T$1�w^��Xq�}>�A� <�F-B� ��#`���N�0[����2��@������_,��p�H�"�|��G�,���ko�@ͳ>P���{�j�����h��k�ț��ڔ8d�^��T��Q��Q�9�|����a8^�ȧE���!|w>����+�;��2Ǥ�?i��"�7��I�8���,{3/���*�?/��E�z"�O�"� ��y��@7�W q+�6� �0�� ��`(�-wa'��G��l�6;[s�v�qp�:��Z*������}l�#�����A�=�.M���C�������N>� #<E:'��V����E.�����������\�N�����t�����`s.2+鏻a_���n�P����u���bڂ�i��c�N��'�Q4[��f���SЬC�<s*��&�9{2�Fl�-���h8��[o}m����-�[ �o)����k �-^S��HP_W4̄V\"+g�^��w�Jo��G}������G�dC[ �Bi��m�q�ҍ-g�u[���&�G�mY�.���>��j����9Z�1 ����\Y!g�q�XY)F���;nPx�a�M��/y�M�������r�u�˭$�F���+"�-j�1�dC?Ŗ�p������]w���X���=5��_>7��d �:v��;��3�V��=��J���Y:�>q�^�m����ӆ0�P�7�z�x��e '�% �D�8`���߷� v�'�`�{3^c^\�I�ܙ^���!!ՒWՅ1�+rr��̱� �'��ks�y;16�M�~5=/;Gזy��ͫRI��t%����ȃ9ӧJ��ŭ���7��W<��pt�`sd�9B�>��v~_8��p���V��w��r���ή@k����w��w�k�w���,�1�).G�G5��i8R���c���%GO}�bF�}��l��4��U텣Gsrg�����3����t�i�w)�<)B�n� Bk��D�["0�F�<�?�g����~b��L�V*m�&�5pu�X\/�:S�f�8�+�}ȶV-E*}�&;�gb�&< ���:]}��J��5���������c��w(��@�� �5;{C콱'�������ie#��@M��9�ۉp�D��Yꓷ ăp��� i;�,[����SL5��|�p7�(���L2# |B�5�я����Ε}))-�9}��r��jqD�לjْ%^�M[�l���n��#$ ��ߔ� �Wy/ڧ�������z�������4���Z�d�e㥽�ac0� C��lF6�1K`XC0ID��e�poI�{�@?�C� KBi��;U��#ɹ�I=�N��:���|��t��������N��H��s���d�!k�:��'� Y*ef�3A&�0z�5N�� �,�k"�yƧ1\@O����^]dr�r�T�t���ѫ������b(Dz����<����ᐒ*!��Tv1��;4xNgY��V}O9S�^�3$b�����,ћ��X]�����|&�qz4<���)^��M�y n����֖��y5&�"��I��>�w8�ڝ1�zI T�W��u2���7�3K�ߌ�\����C�e1?���>揞i��WQ=[q�7�s�܆�DQ�B"3Qu;dH�NM�K�b%}�IOz}|�ш������+N.���KZ�H���*�ѐ/�q�e&��j�W�x>��o�8^6��5�����;Ġ��b��8Zi����,�W!��O,O��R�S����[o�q������j�ӵ����8����R�� �@��[Ir�:��M2>?NL;9^ݺ��q�nX�ɪ&$�դ�U���E�7U��y�P���m���p�p�I�M[f#]w���S�Ʃn(�7)�B������|F�3ŕ�9u%��Zg��OnVDz#q�t�N����;ԡ�0����,E�. �@�X\�`tw�Y��_5·���4�Ƌ�Z0^��xlr,X�a�4��]�3]�j�PɌ���J���{��`z��P��6�S��si'�f�ZV�g[�7E���3��^�����j���=�N���"�RwU�C��V�AC�#m���)�������d��?��&��d(���U�M�IS����l���a4����9��$V�^�%���?J7��tDv�D�ݴУ��a�ܸMY>���~��tlY��ũ�����J�]���),q��Է� }E� 6D�q��| �KɸO�(۱_/v,���z�ꌅ�{���6�g� �љx�FK�{�n.�����0)���hP�щ@�כ����漆���nw���b�.�)�X��sɋ�@\4��NS�c���+Fs��d��k��M���>�g��{w�~�TpG"�:K��?J7k� _�~�߉#7Z�u��Hw���-��Z��餽n���&���i�r����}��7���S��v3Rr�y���~��~����ΐ�/^��3��oy���yo�1BN?qz¿FN��w~Wlv����ۑ�rv��L��[���з �>N[.��A�� ����dC��Jy���D��T����s)b�B��b#dHj!W��/�<lΈ�y�A2�𠈽��5�����,h`����-N�@ �P⢉o�j7P�sH<Q�X4]kS���k;��g�� ��ϲ���a�/�2�f�o�j�b���q�'2��t�,�V�58F'&�E�Q��!N�g�'B�WVs|Z��xX�UMj�3s�W�.y9 ���קʜ�s�e�1CԖ�5�����ٛ�Ÿ�ۂ��XY�YYD�E��Y"2��Z�%�J���0�SJB8��M�/�Aű=�j1��-��G����8��,�鿍�o�����i���|��<��K2r�O��mϱ[.��s#:Q��� r���X2�m����c2�qy��LFԕB�]M$�e\�fR�9>G�o@)b��.�|>z����>:N<Tdž�Ul���yJ2m7C� g��C��ʇ1�>��p/1�)wU���C&�!$�h!�����浙����ay�_ �A,|g Sˣ��甐�(��O19]y����9���|&�|,���[iS����]���m(�^zN�������@ � M��3�}m ��5���:�?�=]L�G��ױ�F�v�KC�etz�t!�=z���������;b�s���v�犱w�l�k�<�Fq�E���Dsr�Z����Ekn���/�Ʀ����ZK�[cT��`<�� &�Y84�E ����B6� �ic�jɛ0O��42Þ�1�LxK����Xu���͌�]�Z����E�ɋ�?������B���R��^�.G2��u_�TB�Xfz:�D�zHOڮ��Cu+@w6PēmγN��A��[\D;� w��b"�ؙ�W�f������Z��Hi�ȴ�lǦL��-��=7Ko�� �]�0tOZ��:��/$����g�Ѱ�f�S�£�,�$�J3�ɂ�8���/5ΪA"�W�)��K��/;���E�"�_�#��`?�do�b9`���O���=-/:A�H1� Q@��v'�Ax�5l�Y>�t��6���>��E>*kD'��d�W�%A�dx �5��aHK��Gb�9*��m���,&�n�4���JV�ATy�E����0l۲WS�D y�E��{���L�Q��<O�Uʓ�V��t�"��t��t@ Ru�St�۾�(�rbl,Q.%��M&�>:e���]��ʥ���c�c�q_���)#�P.�y�Wl��H��?�+���.�Iy�A�(���O��)�0>��(��S�4�4mX@�k\���kۣ�1���{���z8���7~�{L\�n���N��GSu2h��{ɑ�u\y�j:�#����.ߩ����s���m�h��v�����M,��u����کN{f=;={=�65�� ��Ճ9���.��l_�-\��˽T$�7 ��ܔ����*<��<v�}X��(y/�3��='��H�ؚ�����ƀ�ߋ|����bG���K>�g���ܹ�Q-@����<5�K��~B)Q���(i�2�����f�:�!O��-\=������U�F�SS~C�:��zenL%��D��L]3;!˜^��\��ve/J�_����눻@=��>���uA��ވ�B����0�!hC���(�$uuȁ_���3�a�ڶ��Q�2���a_�{O�A�2�SėN��]�]=q�����L���Gh柯��ݟ�;~�]S/�DI�8�M[J��O�s��^I���f���;3¥��\��)��S��r��[�1�� ��(�X��!�E2Pt���s�gά.��67ɨV퍽�k��Lrv�s��Y�v �9��Y��{5+��s��\[��9�$9*q�1�8��Fǔ6_�A��]�%t���[�ٖ����r�G �q�8gxpy�=|� ��{��8�g����F�i����w�t��F�u�c4(��մ`���:�q>�����Մ�EY��V�~�c!U��Oy���ե���^!�qm�^���Rn�D ��MӜپ:��y�0��T�t�]��?�l [@� �Y�p�a�Ϛ�y�_�俊��߮��>zt4n�em���Lݨ���~��9j�K�S�K���[�w�Ϙ4ze�R\A��tͶ����Z�d���z�D�䍏:����n<Y��~5������kѺ��{Uy�k9#�p�P}=�;z+��㶔e�,3f�e�M|F�̓�!<��-{��K���T��銢��K�����{sw>�W+�$ C!�0:�n�*�k�^� �0w'/�*��KLy�L��E̖��L��U��R�̤�l��<�c���G,6������~}O���b����~?���뎓�����ȇ��s��p��[b�Q�_s�����d���]=�s6�W/<�����v�g���=�i(�����>�����.�!>��33Ϩ�j�%��b����:�l1kg�H���1�����f3T��"���%��Tj��"ә��RxW�]��2τR!�xwm �ie�f� n�+s��b^� �����J��ա�i�i��ȯ��b��{��~m�@w��d�&�Q����E�}۶m��M��ٕ��d4����o�_�f�k�7�g���b�Ù�t�� w��tl��KOG§༃���X�4vv���"=�(�O�#M��9r��gg��H��2K��=k������Ʋۮ���k���;���qH�?j�Z�8�P�?�O����� ;�4�����Sd%_���P��D�Bw�h9>�'~F�Iނ�s��J�E�[Ϟ^)e������n�Gv]� ��ugV���gGpR�k{��,�����l���i�����㱧���>��;F�m O�szl�vf=+��X5�c��jR5� 3" 17I��)�z�@� �\&��MM%����%�T o4LXy�����xBNq� š�F�F��u�?or,���r^o��dxu��l�����0R'#0{�;���hK���ŊlԮ2 ���X�#� ��Զ�IdYQ"�^��I`��-8Ix�l�ωz.�0�T\�p�0�7z�.��ۍ�<n|��b/�-ovsUX[;��]�g�Y;��l����^<����k��Tyt]C�Kw����Q�g�b~&ϝ�cg��VkS�ѥ���h��}�?�+���v}C[����N-5BHB�,�:�Va�;�Ulw\�+A�� �0)��\�ec!L���A�?1gD�~r��wp�*ߓNtÿ}��9����n[=:?�i�Hq,I�@���&ƈm�Ʊ� �I<��J/H��L@�������� �^��ݭɒ$kw�fE~mo��eU�ګ����Ql1��z%�i;#Oi�)<�N#Ç�m�B瑦�5g��/PD��/"N>��T����7�0��ws�l���ҹ�'�����;&�����lc�ڠE�=#�R� V�p�;����Q׃�=Zȧ�Ͻ��4��M�Տx�Eߐ���Z|��lY����z�ag�%3K��m~���տM��5Շ�$#Gׯ�R��):29��#�s�jʴ��g�)�\��Gʊ�K�#Fo��x@��Wz���.��#G�X\{�����#s'�LR\ً"��T;��'�j�n p���EG���nw�UɆL�%�tLU��w�R�J���3�H���C�L�v"���D��W��H�žu0?��,Fz�vG$�Ǐ������'�w���ǟ<DR�}��y�~�0|�i��l٥�FTӭfC��!b�C��1�,Dy���vѵ��?�����Q���6"�;c���uv��.}����U3��u�|;Ǒ5���L��{�I+^��t��`�K�T�h��H�_���Rh_�2$i`��A劎�u��y�/��#0 ��E�N�w�D uD��\3�) �r�Vń�%¾�O��# ;]ߑjV��w�k;�#d���,�G��E25�\�7���c�`&�驙R�)2�x�F7�{>*_��7`p��'O�<9��<��_�qN0��|���O�sMy���p� \٠���04�Snd���4�\�ݲ(xŀ,KIC���_�r@� ]�|�h$g�,ˇ|�J�|P��wbA���l�7��gP �l"$|!���$JX�dmVH�%�-D����)G���t4ojd�YCdYЌ�uF5��4!�P*�%9�c��c�ʕ����W�N�iH�f� �M�#�\���"/�����?O��7�������R�v*O�ۖ���Z輋c3����ڴrk�=�m{�}��M�o�2l�[�Z��0t�̱X��}Q��oV2z�s����@~�փʙӭ4���O |"9��ϒT������0��7G��|�Al ��O�/�oD���ҥoI�a�4�*�w�C6y�Q��E"[��h�M���z��� �[�Q�t핑���s���3���|a��}�[������z����D��]��p��Q��p-U}qQZ��q�T�R�Gk�t-M֯��|bjR��YZM�| �V��P����4KAF �|'m��*6�a����{��Æe�#G61#�U� ��#�F }�7E�+OD���v�.P5c�� �"�P�n�Od�IU-�ىz�(+�{������c3cU-&J��W���_.�����_{Ǿ;v)�i�]�v�����z�����R@�B�K�~�>�ݎL)J~+����#Z���*���"逶&������~���p�3_�un@C��2sD��E�a�aw����^߱c+ǎ�j�WN�&��Ւ�Z�W�'k�}��Cz��xcҷ �AV@6 :�A(~c=�w��?Y��<��d��*ɽ7{�7�MV�_y�qRm�hg�8n*�ne���}˭��<ޫ+e֘Y:���c$)\�4�9�,'��3E�\c�{7/�w]}�w)irl$}�"�2�G��#��L���)ҕu!~%g��@A��͜7�e ���4���G E�w��QT:m�̙�L;ๅ�<�)hcwЦ���Y�)��e�x(Y��_V �T�*lc��:�b{uoa��^عdr^9����z���Ʀ������%�/�w�������6C�?8��J8���ݝ����JX�.�_zv��N��h �0����[\#T8��g���)j?5�_ �(�0I�M�Zjcg��QLs�b�B�Bv�a��M�g�ٛ�~�#7m'g�|%���t}���n�u�62�k�Gۖ�ũ�7J�\`P�K}V�oh�'_�� ƺ&k��?֠|�N�oD���`nJk �E�g�jЯ~}[곸�_U?�a3G�k�P�g��Z���i�#��ʵ4JO9oxjz�:� �^X��Y)D_�8�CR�蛎}S�p���Fz++�q�����q'VX���H���Ht���6ys(�3��6��F�5������o[�Mq�k�|����ظ�H��N���~j���Ju%�n�>��|W�o�Hh:�"ŵ��k�Z6�kI%�H���Z�e#KKj�٥]�\�,--A�SV�nhvz:ٵK�v���<�ԏ��IM\o��~��������w1v��R�Q;�-V��m�ii_TˇVw�X�����>��Fv�O:ZAO0o�[��^y��Q��ϐ'��Y��86A꧲{��{�ߣ���NM mC�o��#Q,q�:�ڗ+] ��~��LM�\n�5f�?�\����ɚ&cD�a.r��o�[����V�l:nz�$E��,�9q���8�p��Eb��C�@֕�_�n6tU�=�l��%��IQ��gb�L�,-����ۃ��B��%�;V���WX��������f���Ζ�GNSt�:�C��b3t��K�4nؾ��;��i6߹���<�}�0���'�Ă�S/�ʖX;� ��7��u*�=?����m!�O��`9G����|=���?:�����?�r{�����K��0��h�jAM�@�h�x��\����<0��s�f$.���ߊ� +@�?>��W]�#g?��N�۔�|�<����B��iw H|�pu}�K"�w���J<�T�5�M���H�#�F�#O���'�x"��Zx>�Pj�T�D�4����A�4y|��Σ��K%2sv5s�lf���p��LO��sv��d�78�3�R�����I�N�`��7{�H�� @h���/.N�䄷���tt��B>sk:�x��D.<V_�G~}��Cԉ��o}K����[p>+w�H�}�����cg�"‼���'��DʁTB6��Zo?zn�� ��Bd}?��0U)߭13'V�B�WvO������z�z�T��cS�1��6��P^gqT���o�K&Sخ(�1�'��5�ۏZWT��7��+,����ەTW���q�����B��2�x��¡�7��k7��\0�Z�nQ�<[l�xm�b��bg�'��?\l������[ώ����Ӎ�}m�Yb1hS��������Ç�>L&מy�k[d�QG��*�sΚL��S闉��ܑ#��d�w���[O�O��̑W]}�\���b�V[<�N'H�G�?���j��H�'���;B�h��q(,JE�qyo����f� {��ȞI��1G�?NM \���Eb�G�@�Zm����!�[�>�%����+��LF���X��u$�#�,�{��ϰ���/v��m��W*��u��$�c�`��Y[�ꥥ�|�mǚ�=��Y?���ђs�< ����A�2�&�f.��1O#�B> �6��3�0�8�rQA:���kd>Zp2�|l�;8t.ң�`:(�:�f����vpM��@�4�1z(Vݔ�82��a���H�tV��{2�g���t��2Q�?���~�A�[�qZ2������i �O�����p�f[d,�<��<8�`!k�8':��a���w ]���5T�(ڃ �BDa�o Ƣ48�A�jL�f��g�dx���*��;郒Y����1iv6�͗�w���IJ���Ǟ2ҕ4dsWt�ʮ�Jh�Y�"]N��\8�KW2��c�+v�*��*v���1�,\�K��Y{�.D��ǃ�2�Ot��I�ƋYX-�q@�gK��YrT|$����sw<@��]��������+L��$��Ln:5�-��ƍZ�\@�]�4 Ŀsfu/�^zꠀ��]��X�����z1r�Q��������=8����.�}8�ζ� �m�I�aҞ�&|�m�)X�X�<y*���S��Ζ����;(�~�{l���z�#��-�T'&��f�s��\}>6Iг��Ƥ�7��/�@7��jp)'��i�ӡM i�N���J�W���F����r��A8>���ݵn������s�㑵�����d�W����Jfneg+��#c����oh�\��s�D���cN�;;J~D���\yhÝ��7*�-��Vh$�G����'0UuеO�v�O����7�aĪ�o4�_�r��zg�K�S�?JY��W��-$��&��8_��_T�I��($ k�8~��n�SPЇ#Q!���8� ��s���0�&�'w����)���P�X�ͭF��?��[���z��O��@>n��[�{�QJ�q D�S#94���aSK�����g�g �P�²�Ӣ((8��)>=���+(�(��~I�g��u�E�q��Q}�G�}S���xcdL�b�:YrkoW���&�{v>�0F\���iɨ��7�����s�*�f��erV�u�Z֡��#+�q�����)�.��ߊy�bx�0Q�>�t�d�i�i֦���ɸgK��0�!��7��!s]"��L_��ݹ�=3�n牰O��t������Nn[����Į�M��~8���^�Ͼ�p>�~��\<;bG�z���#>���I���kD�|7uG��OL�.9V��җ��ё�#���P88�: ��t�[Hɪ�dlx��l�;P�^$ɳs5��#`��0DuM�l��ך^x��fg�0a��̳a(�3��px�(H£��A��zCS@�� 1P�y�}�j���^�R�h��4J�҈N������I�|(��Ks�V��@:}�R�{��Cs$ɴ��ܮ;;������U�c]�uh��Q�ѹ��m����f";��=�+;D�gC2���5�d��Xp�M35�����{��oz䦕��k������EL4� �z|��N���Y��x�4~�V����5 �Q��q�la���`�a��p�#�lhXrnf�1�J���N�&�ڝ��5O�z�S4K�*��sɉ�2>��'���s��頦����5�\��;�F�@`���¡)�Ha�lǾ���ݵ�1�Y\X�,,�J09�,e��8�w�� Z8�H��ז��#��$��IiG9��/�e/i���R��(6bP�GE`�ltv�x�����$��X���U� ~�n'�.�#Tv��2Y�$6¡n<�x�uN=r�[��)�]���E� �F� �i��GR��e���߂��[�4�WK����p�x��N� ���Σ(��5�ߕo#�3�E�c{,���]�^�X��|�o]A����>��1�Lk�!�/B�9X/&�l<^���x:?yHPeE�'H���b,��ge�M�fG�ܔ_��P�,R��@w$��Lq5葬;�Qabe�D�k*��ñt8S���7VCw^�~��윩>��^�Ӄ��e�W�h4ʭ�R�m;V���`��E�( ��?<�j��~vaz��W�D=��k�,�80��Q�}���b��զ���m���,���ƣ }�>~�����Hw�E�"�4�z>����ɤ�-��߲����1<��A[WeZPI��ɓG��t���D )�<LI-�{�~(#Jy�V�� �L��n�� ����K�ɤu�ɣG�/ �i��6�� �]��J*����IiyB����5�%����vuz@�T>�ش��a"���� �I��Ͱ>M�\�4g��ҡr��7�N�!+�-��zK$]c�t��K#��Aw�b��:u�?��Z�m�{�Zm�����s�V�x`)���i {����\���w߶{�mD{g�{j����4.��Iq���s�%��fc�F��k�� ���~pDO$B�jmz ٦���v(� ��Ng��C_@P���f�f��xv��_�ؙ�)�0��D����{���O�sv-S����Ϧ{���5Ggn��K74�?���8st+�O�����4 3�褟y��=s���j���|�Z�胥a���|��pF�G�;�^p��uR��e1���5#č���F��U�'FeB����>J�B RUB�X�qE����N�z��9��dNS�LM��a-���si �i��E������;���x;�(�C.q�-4��f��� �%sØ����q.�{�e�;++�(��kkY^�9[��;�_��@2�r�o2� �9�[�����x�u�$W��R)��U�z� �W�Cz�_�y�VJ7f/ABi�ә&Lf1��f����s��߿S�u�x����4�4�����$�x|Fc4�]���@��䵫��@����އg�=,�V���P8@X; ��֓'\�j5`,ST�njb�$<����t\�h� r���A�i'贸�u�n��������Ô�A�;����}�MtCKc��v�=���x�~'���A�{m��n��P��l�#[���R�p�Y!z� t�����-w��-O�e�5qu�;1۲��(a��� ��ࢵ]�4��A�̵6]��X�(�'&re�+F����ұk�'"���/y�]�9���ƿ�Y4���x����ft�8��{Vy�TV<~l�čW̤�픋�<�:�a#f��t�8�X������lPsHG��pZ�Xh78��K9쩐/���m����y�7��%�W�8r��h�,��Y,�����o��w���yN�St#9���F���!]� ����?����?����x�A`��쀣 >L�""� .�:�f�}܁�Sl��{�Xِ�5�� �\K~ܵ��c4ߠ; 2z&2��f4��miz����g����m^�������<�_c��cqd��1��2�1�ID�#�"�E N���D��,ép�篞aU��c�"�3��3^�E�%A�.���,E�eY�˰��C� Ff""!��jT�� '�;�@��Ip��g�Т�1��8����YF�ڡ�@���%-V4�x��a�X'LY�ư>ڞ�\�BuP�,��*��+���ɫ�ܙU �@+�!�DN�5B��*XL$^$"�Z�@E�${x+��e����U���x�+3Ʈ�8�G0ޘ,��(�\������%&@�OA-�>x�{� ��DN"�� g�p>܁$�V�}�X���d�MZ9�i�jp�{���|�pJ���� �_�7�1��N�w�a�+?�Hlj�����&����c7������]�8�0tp��(�4�=�:d�@��xuZ�`�{iW%�:�Ԋį�F3���)שOT��r��T��ww@0|��s��e|�2�iag�;2�|,kY�t�rÃk�D5�bJۊ558=���̕왽���5'^��N��q�@�7��G�de.L��︺����@` R�p��&�U���>FGT���x%EG�x63^��ܢ�%E���T�Ç��_�&� <��B�h��qC7uFՊ��Ψ�}h~�S��c�*j*�l��LRj�L�͌OBp�# ��Z�Y�NÂtKu�%R5Y����f _��8"L��ag�Z�h�ϐx�aK�@2�T*��;L)N1��?�]r���h$E��m��q76���F�u�@i>��N��0�,���Iw٩�}��ia�zm����<>Taza�A��l��Sa�ρ\�����7B�{�� >U���Sq# i��P�) #Sz��t=��tIJI�~��C�tZ �pF7��Jz@�Խa��8���C�SI���� n٧����������a#���/qDq��]z�%3� �Z�h;h�S�4��x��F0�$�����1�.�B���E��ᖑ~ >����0�8����q9��X����L���=A�G�KK�F �qI��w\��rn��n��J�{��m�o�~`�[r��ޫ�!m�_MꟓT��Hj����d��HX��_�k���O`�n�k�FV`n)S��ш�[1��N��١���N��BV?��e2��h~����M�T��ĉ|A?�x�����E�{�ѷS��sz���i����*�ef2�o3�Zg��-<�#���J��hfi�L�/gjA� ���#'j�c���͟����f��c�Y�u��-UaK@d�)�LWU��9�N��d�}%?�x���Dg�����'���c7�t��YE��[�/c��Ad�]`��!:VB�w�S�$��.�-�a���B��H�-�}H3Mm'�SyNy�I4�F6wlT�}I4���<L�n�gX6��H<��)"�A�:S߂��Q;=a�s�s ��;=�=��<��J(K�m�" ��<L��u�b�ڬa ����j?�aD��Z��5�-֡��n9u$�[z�4k7�D���`D P=HE�!��1�3�x�1�+ ��e�� � ��� �+-B V��)���"l}M� &��m�C��8'�]�q�X��]���wF������\,��а��_�i�+d��D��^�u~ĩEb��v���<�'��Q�4E�5�@�TT��&��%�S��eE�%�W��%Z�X�t�Y��"pH6w_��C��㸖�.�LcG�vU.�>�f[��d�O����ѧ��\�T�c�����Fkހw7�nĻ!G�B3S�y���e��lʉqa����)8��0�2lX�p/=���^2w����N� g 3����������D>��$��E�"U��A�Dɾh �!|&;5�*�#�?��d�� ��]DC�4�H8`b@Ve2�����4|ϖwY��.��O���0F��ޫ�q�%}u�_]��7u_�c�����n걑���{��\['�.C��E�uZ}th�[[���P�?`^6ѫ�3��u�v�Zήw�T���)��z�C9Y����_&'�S��dSv����s��_ʹ�X,�̋���Q�ɩ��Dw< �o�UJʬ��E�|e,�Ƃ���:0L0��V'�g�7��q�|v���l}'�C?�![�H��77��X��K7��bZWR]й�H-�f�"%��{����o�e��n�j���0M"�xa4�Mi�ۃ����Z;~�=�Gt�8��^��*���9��d� u�ȝ����0F��U����*�!�5�u]Gin��C�"�����e�g�ձ���)W��g���̊���Y�,Q���/1� ̭���i���q�U�+�(�a�a�a�9��Ƙ�"�q��l>hQd�G$2l#�9/�]�Δ�k�W33����#K/�aW��ƕ��3ʕ�PP���_@���$����"b�ȕ�C{<-�BV0��3B�gb=x"�HD�x/p +�PN/a4*Lx��+�0h2��(#��F��7y�+p:��Fy�����<F��|D�֡I8��3�-��"!�Ӻh�Ҡ�W��q7�ת�_��>I���{�T�]�������G�C�� ���s��Z�-�{7��]�v�7�)�jMh��t�s���@�١��渊SMm���Ǚ�\�j�3&�E�5��|��/ɓ\�x>G �9<GT,U�m(=�_�Tl&nYJܴ��v�� @��>`�U��Td��-�<g�qŲ⌭��/e��}��f5�R����s-M��V���,ﭼ��w.2z�LAT�fp��e*����V�c��{�y]����E�cAӫ������_���.�t�E�!��V��hSZ,IW�*���v�!�HDC��8�%h�Nwnl�v'�PT��j��1^�Ϗ ��U��/�6���SS���M��Ď���+I��f������P��K����_����8��]4�Kk�[��e1�^�L��,���X�n�O�c���Fl�&N���6��.V B�k7�ǀ!�a�l�6v�U!ҫ=:~����86�ǀG3��@1hb�r��dL��'��U'���/�;qb�Rݔ`�S�����h�e��h\&D�jH:�}��%�9��A��ef���%b�l��$��"��ߊ{�dv�B@����MrP��HRWҀʉ��r�+� �R��xTg&R���|��4]No�n�4�l䚮}J���n<ן��F��(�?�������Q&���z�P?g��_�\�Ǻl�g46P���t0%I����������ɭi Ȩ�{�O�ҡS�8r��a/� ��?~���"��g��0O���C�!:�A�#�黼�hnngf��鲢�߾#S�գ���4 j9ng��uf�aY�g����I��w���gJ��`��`���������7@��D[%'*�� �`@���㤯q��}M����}��s�8�9s$�-~}�A�Kq�\9 2�EW�(��Qy����0�Q81�'(r�5F��k��|tg�:��C���r[<�E�@y+�L� \A�J'=��N�#;���y��y���u�J��k��H5鲿�Uu��ҋ'����tl�`�m��c�������!G�y��$��j�B!L�QB�?c8�x�|6�ܩ�LAT.�H�i �^��_�K�q��N�p��h��øИ� ��՜g�,�ھ��Zy)��EMob����Z�\b���l��jwL3R��\�8���״��*��m��H��D6c��˧�(Tef3c�� ��d�0D^�1K�0f�+9U}��r����^n��|���S�H�d�$��{%�]��ँ���f�U��=�z���s��9��1!7�%'2�ل) )��(J���K�`�S�õf��O�ae�����h`]���1q���!��y�m0(��f$V9\�qy��0�L�N]uU��0 s&(pv�L2���6*��1S+\uU��0ӡ�I��5u�I��I!���i]�k��� I�;q�0��X�C���)��X4��w(K,�U�͒�y>��?���_�AR���`��/X�VSؤ� re�A�ffpce.�qo��9ap�,i�xB(� �:_H�T���$�&����^�[�]����w�@0hJ9"V�BfAʉ���#��K��p�"~ ��n���2ḁaй�>�`�C`j^A�(��M�j`qt�'�6،���Y7p6тdo�2��>Y��Z���f_�h~��<st�s�sۦ�E�PDvl���[�V����g#S����( (���y8�L��ł{$��TE��ā��U�K`�i�/��9F�τ���]L�+��2���"�$��:_���I�er�{X�����2d�05��1eN�?_e+Sa��(�mlT��\�S�Ҙ �gg�0�&C�D�0I� C�k_�y�B�$�$� R[[J塵N1�T��]E���u���:�.wDm^��\ڶ�r\�Zv��;�GgJ�,�h8��AD#� ��9���;=Jm٩EE)R�ô�Ȑ���Zl%�m{m�ّ�ٍ<J'�������pwyr�4��o�<S�ν�*� ��C�ΓJ_�wƳq;�FÆfr$�h^K �T�uC��0ҼZ$��D@Nb�F�Rk`;D�2���S5>��0����@9���W�M���z�w3���O�iV��*��9,�"9�a~�0o���r;�K��y��Y���������s��R&7����h(��9G�Y V(�B>�L%�K<��,+%�d�dbr"�L&&&�c������J*�� Ӵf,�L�l�e�Dr5IK�m�f)�F�{�$�k��}�T�j��D2T�P������^��њ!6�Un$*�ʸc�X8�.�ls.HSk�1N����7�'���U;��L$����ɓ��e�XF�P�G��P�d�)L�ӱ6oL�SF~�<8����<%x�c[�3l'[q�w�w��ݶ2�;�C��?r����'鑷��G4�H*u*�M���@r'�!�)�v�a��͆�}r������_�n|iC�E��~��Bo��O�U�H@�f9vV��:d�{|�{Dw���mw��}�C\Nk8�c�E�H�2*�Av��:`7)U��3��*�w�I��5�H�4A���H�1pf�׆g� �����ۡWc��pڙ"� �pc��)��-$F �����m5�d�5Iу�W����j�%�\��O�X���~N�� �S�T�'9]�M�s�N�f��!U����l��_#���5R��h�^��f��n��M~��˙ڐ����m ��F�i�t]���!�ޣ�G �Gnd�vƐI���re���d-�<���StG4�sC�P#vw�Udg@bX"I�Ǯz��9]gXFa'����Q�W�to���'�~BG��`�u����A����OC�{��� �ͤ��B]�(<#��,� $��>��a��1����� 0�0~��w%m��6kw��ja�N}��6'����bЪ�3��x@�#�m0��Io����O�E<l�7�}Pf�D�:���������b���(�ί���7���$o��uq�������8�pǁ?���ν�c�Wo�|^�x�^�Jz�gb���+� cYU��U�8�,+D��]b��� 9]d�(/ )�;(�IWX4\�l�+p&d�g�U�I���]"'��UyN܂Wv#N�@_@�ދ��Yo�5r3+����q���`�k���,`�u�j�{R�k���#9�L,���w�0����w�t�uM �Y˺��hp3���EI�Gh��0����Һ���P�߀�����9��iA�7 �8Gf1��JF��5����]�2�s�! ��������v ��79.��A��5~I�&|�dx3͞Pw \,軲t�/c�EՎNF�����5ts��^gKN3�x$I4s�8���8�� �*��p8j�^�ȅÓ�H���d��'E&��,���Sr�[����U%Tu�i/��SD�h��n����jIb���aϤf�E*��,3��DD�ɻ��v�D�Qp��e�EUBCӢ^5�H�2/�ozS�'�8�aEg)�$cX>�=�2��Y�̅×e|\�Y�OBl�[1D���]9��ˤ�3,'r~�{�ST�ðހ$+\� ���y��̱4�*6.�q��"r�w,�͆5��U�<<��X8qJG���|��rheH��xT/��p\�8B$%��h��q>�*YK�A?��C~��9�I`�QP�F��| �q�aϪ�D�K�tF� T�fcg#k��?+3⌷����[�e_�@���Ә㠄���8�� S��Ȳ�2�&�(�\�K�#���N�g����$.��y8�3|�y*�K_� 0�P�J��A��s��GD���J�!�S�1q��Μ�]�gPd�f��E���r����JE����5�;O��s������p�9���c_s��k�;�15"�r��E�@$uV/k���y��(T�ąt��դ�9����Bg�>�3��#���Q[~Z�c��O����j@��3{um%��9ӎ������f\i�Mj��2֖Ľ��O"�8�y����Fצ���n;�3�iyP�s��"ҽ��KN8���Ä����!�!8�C�و�f0�c@���� 8�hl�C]:����{?�|�:-I�� {d?��6ǘw�:�O�-y ˑu�r��=�^%?��b�ga��b(���H�D������ML#�s�����v�B���ۂB�̴�P8�ΪDcyV�cs-Vט�f� |���DR��}U#�O��_�Z��ޭ(G}�-x5hnAWu�D�Tv �f/*ݤX(�� �m��3�F�f;�<'�8�\8�����f��떥&B���էSq�E�3�|bL�I`ьv&.���q_d��L=����z2 g�~��$բ�t�egސj�n�\�����n����n���䕓���I2ٽ�K���d�1ZH� �"�{'Rj� �:�N`L!;���M����զ;%�'���}ۜ���X�1N:�1Vd.��C|�דP��zHFO�;���j��Es\ ��&��Dx���ӧ��RO{��[���]�x�^q�����7){�]|���Kr�cnX�u��6�"p��7�q��ϗZ/�]�P��z���P��9B h�QDP�'���h/�"�h�:��v�0h��3#~�7a�cS�� 5k�!;7�vN`,ފ�b��g9 �78��4ϑԥ���%V14��G�!B� �d/ϥL�Gx �2�0L�����\��i!�"��c�hQ��R�9�K���cdׇum����}3x1>b���SZC�e=���<$�������W��U7�mS�)���"�����[�%J��y���E%+K�ŃVsW�q��G4��#M_ԧ� .���B�-�?<�d�)C��ߢ�|'z'z�e��C����N��kM�zi�5��Of�{�u�-����9�o���X�� �f��h')`��6�Ϸq[���;O�����둔���"z�g�P��,}�n��o�{X�� ��D����1N'��dX���BR�������n��E���n8CSM?���L���g�<�F���IVs���T�3��V������I]�[���op��2˖x�j�sA���Xn='xe!���k_\���2��r sp����L����&ۤg;��.��;�g�@����f���v�<�:2��+�ˠZ��b�i~�N���d�m�Zb�(°g�/���[��I,Uy?b'!��$M��1�Ԋ �ҔRY���VEHT����詗���@�K%z��������:v8�����j��vg���F��U��{��i�)Ӄ�m�s�jaxP-�_VMsM��=_���T��U������;�<>i&u���,�q�rRo���ӡz9��db\X�e���J�<e4J�^A펨`�ĭ�7)~g����@g��A&w��������}�㇠-_�9�#(dpF��u�R���뛌b��e]�!k"�(fU��jz�A;���N��X��g�W�ei���^OX��3�:ւ�#���<���ت��@;���C3���X�P��u@K7�4�BO�����Ͻ�'cR ��u��'n��@�"=��R`g1�'��K�/Ԃ�M2f����$��,��/o�?ko�k�Q�Ä���ߣw�qie��^_�dD]�7���r��b�38j�|�)xO=��M=K��/��B+����"���J@+Rٷ���,\�+#2�B/���6��m�M1C,�)���?��<Lm�f�w̤A�aj�s�����X�aA���H��������6�Lu��; �粔��S]Ǵ�=5}\_�Ŕ�k�%�#�U*9&��� t�,.�0p�Y.�`���ᓥr|�n�� �m�9�^FW/j�]5�u��T*��pi���b�m��\\5]�J]{�k[~��H���δ��9�SI xq�� 5Ɵ�/է��l\c ���y�J�0>�Z..7M-"�e����&?�H�g���b�h��7.c������̰�Dy��!��8[�Q�9�� �����C���qxu��!����9�����Q�tpp1S�:���I��~�Yv7:ݟZ&�!��%�3��ј%�CK�����;��n���%�4ec��Q17�{��Q��}q�<+�|N�;Ur<V�]k����������<�2�_3#)�k��P����ة��M�R J2� x/o�Y G�`,��19.������7_}�!���wfgʣ��M�9�at����!lnV�5�+�1�bA �(.2���Y���3��! |��8�ӿ0p��T�3�M?��?��B��N�x�}��n�@���OHѥ�"H`�B�*���6��-�d,:LA�GH���3�Q2>�&�N��xwvl������+�p |�{|n����詧���u�KݰS�x{�S +�����-��;p�>�����]�X��3 �ءf�=��hĘcD^"C���G�P�pk{8�"��2H�2��|$�,���%Yi����S_�lU��"��#�_)��x5��L�Z���a|��y���5�c�x�ɱ�U��.72��,亚Odzq��f�-w;J�%�m�#_�4�w,l%ZǑ�Zn��oRDx�m�c���F3��6��*��=�ڪ7�Զ�"ej&��m۶m۾�v��=?��<�Y����[c���0h����m����dnc��6� �qm<�&� m"��&�Im2�ܦ�)m*�ڦ�im�Mg��6��d�mf��f��lv��洹ln���l~[���l�U,,�X�jV��5ma[���lq[����c]�Yߖ��m[ֆ�r���`+�J���b��j���ak�Z���c��z��m`�F��mb��f��ma[�V6̶�ml[�Ά����h;�ζ���]m7���=m/���}m?����6�Fہv�l�ءv�nGؑv�m�رv�o'؉v��l��;�N���;�β��;�γ����.�����.��� �Ү����֮�����n�����n����������{����{���� {Ҟ���{֞���{�^���{�^��� {���{�����>�����>����Ҿ����־�����~�����~��������%�X[�h���x_hBM��5�&�d�\ShJM��5��� M��5�f�L��5�f�l�]shNͥ�5���|�_hA-�!�(�*����jja-�E���ZR-��QW=�����2ZVC���� ZQ+ie��U��V�ZSkim��u�����Picm�M��6��R[i���6�V�i����Q;ig��U�iw�=����>�W�i����:P�`�Cu��:RG�h�cu��� :Q'�d��1:U��t��3u���9:W��|]�u�.�%�T��r]�+u���5�V��zݠu�n�-�U��vݡ;u���=�W��~=����#zT��q=�'����3zV��y����^�+zU��u��7����;zW��}}���>�'�T��s}�/����7�V��{����~�/�U��w��?��ps��X>���}\�� |B��'�I|R��'�)|J�ʧ�i|Z���>���3�`��g�Y}6����9}.����y}>���}!�O/^���M_��E}1_ܗ�%��m�x�{��|i_Ɨ����/�+�����������k���������������o����o�[�����}�ַ�᾽��;�N����#|W��w�=|O���}|_���|����~���!~��~��G�1~��� ~���'�)>�O��t?���l?���|��/�b��/��r�¯�j�Ư��z��o�f�e����!CX+�������Zc��6X��-�6k����c�V�W�W�W�W�W�W�W�W�W�W�W�W�W�W�W����~��?����~��?�'����~�O� ?�'����~�O� ?��~�_��~�_��~�_��~�_�W�W�W�W�W�W�W�W�W�W�W�W�W�W�W�W�����������������������������������������������������������������7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�������������������y~��yn��9�|����y;�ﰿ���|����su�y�|���ׅ�c����9=���9=����c��}�����s����s�}�y^��g�����y~б�cAǂ~� z�)�QС�?Aw��� :�%�JЕ�'AO�� ��#�GЏ�A7�n��t#�FЍ�A7�n��t#�FЍ�A7�n��t#�FЍ�A7�n��t#�FЍ�A7�n�:�!�BЃ�A��x?�}����^|x<�w��߁����;�w��߁����;�w��߁����;�w��߁����;�w��߁����;�w��߁����;�w��߁����;�w��߁���G>>|�<���z���h���� �G>ޏ6|���t :p;p�Bt�҇�сK'�������D>]�.|�]�t&���Mt�ӝ�§?хO���= z=�t)z��S����ӭ�_уOǢ��E>]�>|��-�[е�kAׂ�]���iIߒ�%}K洤sɜ��gI�,�ϒ�%�Y2�%=L泤��|�t1�ǒ>&}L汤��<��2�ǒn&�L汤�I?�~&�X��dKz��4�i�Ӥ��<�t5�j�դ�IW��&]M���4�i�Ӥ�IO��&=Mz��4�i�Ӥ�IO��&=Mz��4�i�Ӥ�IO��&=Mz��4�Ò�&M櫤�IO��&=M櫤��|��5����&�U�ۤ��|�t7����&�M櫤��|��8���.'�U���I��>'}N���9�s���I��>'}N���9�s���I��>'}N���9�s���I��>'}N���9�s���I��>'}N���9�s���I��>'}N���9�r���I��'=Nz��8�qҫ�w8�(�Qң�/IW��$I��t"�Aҁ����'^O|�}�����/<\�p����[�n�������قO-���͂>,x�࿂� �+x��¼P�Z�O�S�M�3�����P�B��w�<�s��o���c��_���W�\�S��I�|�A�/������~���\�_���[xo��½�p/,����=�p�+�� ���|_���o��@<c���x�c```d��:Z ����&��0PJPK}w�\�L��~~ionicons/esckjbl8.sc.entry.jsnu�[���/*! Built with http://stenciljs.com */ const{h:t}=window.ionicons;function e(t,e,i,s){return e=(e||"md").toLowerCase(),i&&"ios"===e?t=i.toLowerCase():s&&"md"===e?t=s.toLowerCase():t&&(t=t.toLowerCase(),/^md-|^ios-|^logo-/.test(t)||(t=`${e}-${t}`)),"string"!=typeof t||""===t.trim()?null:""!==t.replace(/[a-z]|-|\d/gi,"")?null:t}function i(t){return"string"==typeof t&&(t=t.trim()).length>0&&/(\/|\.)/.test(t)?t:null}class s{constructor(){this.isVisible=!1,this.lazy=!1}componentWillLoad(){this.waitUntilVisible(this.el,"50px",()=>{this.isVisible=!0,this.loadIcon()})}componentDidUnload(){this.io&&(this.io.disconnect(),this.io=void 0)}waitUntilVisible(t,e,i){if(this.lazy&&this.win&&this.win.IntersectionObserver){const s=this.io=new this.win.IntersectionObserver(t=>{t[0].isIntersecting&&(s.disconnect(),this.io=void 0,i())},{rootMargin:e});s.observe(t)}else i()}loadIcon(){if(!this.isServer&&this.isVisible){const t=this.getUrl();t&&function(t,e,i){let s=n.get(e);return s||(s=fetch(e,{cache:"force-cache"}).then(t=>t.ok?t.text():Promise.resolve(null)).then(e=>(function(t,e,i){if(e){const i=t.createDocumentFragment(),s=t.createElement("div");s.innerHTML=e,i.appendChild(s);for(let t=s.childNodes.length-1;t>=0;t--)"svg"!==s.childNodes[t].nodeName.toLowerCase()&&s.removeChild(s.childNodes[t]);const n=s.firstElementChild;if(n&&"svg"===n.nodeName.toLowerCase()&&(n.setAttribute("class","s-ion-icon"),function t(e){if(1===e.nodeType){if("script"===e.nodeName.toLowerCase())return!1;for(let t=0;t<e.attributes.length;t++){const i=e.attributes[t].value;if("string"==typeof i&&0===i.toLowerCase().indexOf("on"))return!1}for(let i=0;i<e.childNodes.length;i++)if(!t(e.childNodes[i]))return!1}return!0}(n)))return s.innerHTML}return""})(t,e)),n.set(e,s)),s}(this.doc,t).then(t=>this.svgContent=t)}if(!this.ariaLabel){const t=e(this.name,this.mode,this.ios,this.md);t&&(this.ariaLabel=t.replace("ios-","").replace("md-","").replace(/\-/g," "))}}getUrl(){let t=i(this.src);return t||((t=e(this.name,this.mode,this.ios,this.md))?this.getNamedUrl(t):(t=i(this.icon))?t:(t=e(this.icon,this.mode,this.ios,this.md))?this.getNamedUrl(t):null)}getNamedUrl(t){return`${this.resourcesUrl}svg/${t}.svg`}hostData(){return{role:"img",class:Object.assign({},(t=this.color,t?{"ion-color":!0,[`ion-color-${t}`]:!0}:null),{[`icon-${this.size}`]:!!this.size})};var t}render(){return t("div",!this.isServer&&this.svgContent?{class:"icon-inner",innerHTML:this.svgContent}:{class:"icon-inner"})}static get is(){return"ion-icon"}static get encapsulation(){return"shadow"}static get properties(){return{ariaLabel:{type:String,attr:"aria-label",reflectToAttr:!0,mutable:!0},color:{type:String,attr:"color"},doc:{context:"document"},el:{elementRef:!0},icon:{type:String,attr:"icon",watchCallbacks:["loadIcon"]},ios:{type:String,attr:"ios"},isServer:{context:"isServer"},isVisible:{state:!0},lazy:{type:Boolean,attr:"lazy"},md:{type:String,attr:"md"},mode:{type:String,attr:"mode"},name:{type:String,attr:"name",watchCallbacks:["loadIcon"]},resourcesUrl:{context:"resourcesUrl"},size:{type:String,attr:"size"},src:{type:String,attr:"src",watchCallbacks:["loadIcon"]},svgContent:{state:!0},win:{context:"window"}}}static get style(){return".sc-ion-icon-h{display:inline-block;width:1em;height:1em;contain:strict;-webkit-box-sizing:content-box!important;box-sizing:content-box!important}.ion-color.sc-ion-icon-h{color:var(--ion-color-base)!important}.icon-small.sc-ion-icon-h{font-size:var(--ion-icon-size-small,18px)!important}.icon-large.sc-ion-icon-h{font-size:var(--ion-icon-size-large,32px)!important}.icon-inner.sc-ion-icon, svg.sc-ion-icon{display:block;fill:currentColor;stroke:currentColor;height:100%;width:100%}.ion-color-primary.sc-ion-icon-h{--ion-color-base:var(--ion-color-primary, #3880ff)}.ion-color-secondary.sc-ion-icon-h{--ion-color-base:var(--ion-color-secondary, #0cd1e8)}.ion-color-tertiary.sc-ion-icon-h{--ion-color-base:var(--ion-color-tertiary, #f4a942)}.ion-color-success.sc-ion-icon-h{--ion-color-base:var(--ion-color-success, #10dc60)}.ion-color-warning.sc-ion-icon-h{--ion-color-base:var(--ion-color-warning, #ffce00)}.ion-color-danger.sc-ion-icon-h{--ion-color-base:var(--ion-color-danger, #f14141)}.ion-color-light.sc-ion-icon-h{--ion-color-base:var(--ion-color-light, #f4f5f8)}.ion-color-medium.sc-ion-icon-h{--ion-color-base:var(--ion-color-medium, #989aa2)}.ion-color-dark.sc-ion-icon-h{--ion-color-base:var(--ion-color-dark, #222428)}"}}const n=new Map;export{s as IonIcon};PK}w�\��j�����ionicons/ionicons.z9r2cndl.jsnu�[���/*! document-register-element, 1.7.0 https://github.com/WebReflection/document-register-element (C) Andrea Giammarchi - @WebReflection - Mit Style License */ if (!window['s-ce1']) { window['s-ce1'] = true; (function(e,t){"use strict";function Ht(){var e=wt.splice(0,wt.length);Et=0;while(e.length)e.shift().call(null,e.shift())}function Bt(e,t){for(var n=0,r=e.length;n<r;n++)Jt(e[n],t)}function jt(e){for(var t=0,n=e.length,r;t<n;t++)r=e[t],Pt(r,A[It(r)])}function Ft(e){return function(t){ut(t)&&(Jt(t,e),O.length&&Bt(t.querySelectorAll(O),e))}}function It(e){var t=ht.call(e,"is"),n=e.nodeName.toUpperCase(),r=_.call(L,t?N+t.toUpperCase():T+n);return t&&-1<r&&!qt(n,t)?-1:r}function qt(e,t){return-1<O.indexOf(e+'[is="'+t+'"]')}function Rt(e){var t=e.currentTarget,n=e.attrChange,r=e.attrName,i=e.target,s=e[y]||2,o=e[w]||3;kt&&(!i||i===t)&&t[h]&&r!=="style"&&(e.prevValue!==e.newValue||e.newValue===""&&(n===s||n===o))&&t[h](r,n===s?null:e.prevValue,n===o?null:e.newValue)}function Ut(e){var t=Ft(e);return function(e){wt.push(t,e.target),Et&&clearTimeout(Et),Et=setTimeout(Ht,1)}}function zt(e){Ct&&(Ct=!1,e.currentTarget.removeEventListener(S,zt)),O.length&&Bt((e.target||n).querySelectorAll(O),e.detail===l?l:a),st&&Vt()}function Wt(e,t){var n=this;vt.call(n,e,t),Lt.call(n,{target:n})}function Xt(e,t){nt(e,t),Mt?Mt.observe(e,yt):(Nt&&(e.setAttribute=Wt,e[o]=Ot(e),e[u](x,Lt)),e[u](E,Rt)),e[m]&&kt&&(e.created=!0,e[m](),e.created=!1)}function Vt(){for(var e,t=0,n=at.length;t<n;t++)e=at[t],M.contains(e)||(n--,at.splice(t--,1),Jt(e,l))}function $t(e){throw new Error("A "+e+" type is already registered")}function Jt(e,t){var n,r=It(e),i;-1<r&&(Dt(e,A[r]),r=0,t===a&&!e[a]?(e[l]=!1,e[a]=!0,i="connected",r=1,st&&_.call(at,e)<0&&at.push(e)):t===l&&!e[l]&&(e[a]=!1,e[l]=!0,i="disconnected",r=1),r&&(n=e[t+f]||e[i+f])&&n.call(e))}function Kt(){}function Qt(e,t,r){var i=r&&r[c]||"",o=t.prototype,u=tt(o),a=t.observedAttributes||j,f={prototype:u};ot(u,m,{value:function(){if(Q)Q=!1;else if(!this[W]){this[W]=!0,new t(this),o[m]&&o[m].call(this);var e=G[Z.get(t)];(!V||e.create.length>1)&&Zt(this)}}}),ot(u,h,{value:function(e){-1<_.call(a,e)&&o[h].apply(this,arguments)}}),o[d]&&ot(u,p,{value:o[d]}),o[v]&&ot(u,g,{value:o[v]}),i&&(f[c]=i),e=e.toUpperCase(),G[e]={constructor:t,create:i?[i,et(e)]:[e]},Z.set(t,e),n[s](e.toLowerCase(),f),en(e),Y[e].r()}function Gt(e){var t=G[e.toUpperCase()];return t&&t.constructor}function Yt(e){return typeof e=="string"?e:e&&e.is||""}function Zt(e){var t=e[h],n=t?e.attributes:j,r=n.length,i;while(r--)i=n[r],t.call(e,i.name||i.nodeName,null,i.value||i.nodeValue)}function en(e){return e=e.toUpperCase(),e in Y||(Y[e]={},Y[e].p=new K(function(t){Y[e].r=t})),Y[e].p}function tn(){X&&delete e.customElements,B(e,"customElements",{configurable:!0,value:new Kt}),B(e,"CustomElementRegistry",{configurable:!0,value:Kt});for(var t=function(t){var r=e[t];if(r){e[t]=function(t){var i,s;return t||(t=this),t[W]||(Q=!0,i=G[Z.get(t.constructor)],s=V&&i.create.length===1,t=s?Reflect.construct(r,j,i.constructor):n.createElement.apply(n,i.create),t[W]=!0,Q=!1,s||Zt(t)),t},e[t].prototype=r.prototype;try{r.prototype.constructor=e[t]}catch(i){z=!0,B(r,W,{value:e[t]})}}},r=i.get(/^HTML[A-Z]*[a-z]/),o=r.length;o--;t(r[o]));n.createElement=function(e,t){var n=Yt(t);return n?gt.call(this,e,et(n)):gt.call(this,e)},St||(Tt=!0,n[s](""))}var n=e.document,r=e.Object,i=function(e){var t=/^[A-Z]+[a-z]/,n=function(e){var t=[],n;for(n in s)e.test(n)&&t.push(n);return t},i=function(e,t){t=t.toLowerCase(),t in s||(s[e]=(s[e]||[]).concat(t),s[t]=s[t.toUpperCase()]=e)},s=(r.create||r)(null),o={},u,a,f,l;for(a in e)for(l in e[a]){f=e[a][l],s[l]=f;for(u=0;u<f.length;u++)s[f[u].toLowerCase()]=s[f[u].toUpperCase()]=l}return o.get=function(r){return typeof r=="string"?s[r]||(t.test(r)?[]:""):n(r)},o.set=function(n,r){return t.test(n)?i(n,r):i(r,n),o},o}({collections:{HTMLAllCollection:["all"],HTMLCollection:["forms"],HTMLFormControlsCollection:["elements"],HTMLOptionsCollection:["options"]},elements:{Element:["element"],HTMLAnchorElement:["a"],HTMLAppletElement:["applet"],HTMLAreaElement:["area"],HTMLAttachmentElement:["attachment"],HTMLAudioElement:["audio"],HTMLBRElement:["br"],HTMLBaseElement:["base"],HTMLBodyElement:["body"],HTMLButtonElement:["button"],HTMLCanvasElement:["canvas"],HTMLContentElement:["content"],HTMLDListElement:["dl"],HTMLDataElement:["data"],HTMLDataListElement:["datalist"],HTMLDetailsElement:["details"],HTMLDialogElement:["dialog"],HTMLDirectoryElement:["dir"],HTMLDivElement:["div"],HTMLDocument:["document"],HTMLElement:["element","abbr","address","article","aside","b","bdi","bdo","cite","code","command","dd","dfn","dt","em","figcaption","figure","footer","header","i","kbd","mark","nav","noscript","rp","rt","ruby","s","samp","section","small","strong","sub","summary","sup","u","var","wbr"],HTMLEmbedElement:["embed"],HTMLFieldSetElement:["fieldset"],HTMLFontElement:["font"],HTMLFormElement:["form"],HTMLFrameElement:["frame"],HTMLFrameSetElement:["frameset"],HTMLHRElement:["hr"],HTMLHeadElement:["head"],HTMLHeadingElement:["h1","h2","h3","h4","h5","h6"],HTMLHtmlElement:["html"],HTMLIFrameElement:["iframe"],HTMLImageElement:["img"],HTMLInputElement:["input"],HTMLKeygenElement:["keygen"],HTMLLIElement:["li"],HTMLLabelElement:["label"],HTMLLegendElement:["legend"],HTMLLinkElement:["link"],HTMLMapElement:["map"],HTMLMarqueeElement:["marquee"],HTMLMediaElement:["media"],HTMLMenuElement:["menu"],HTMLMenuItemElement:["menuitem"],HTMLMetaElement:["meta"],HTMLMeterElement:["meter"],HTMLModElement:["del","ins"],HTMLOListElement:["ol"],HTMLObjectElement:["object"],HTMLOptGroupElement:["optgroup"],HTMLOptionElement:["option"],HTMLOutputElement:["output"],HTMLParagraphElement:["p"],HTMLParamElement:["param"],HTMLPictureElement:["picture"],HTMLPreElement:["pre"],HTMLProgressElement:["progress"],HTMLQuoteElement:["blockquote","q","quote"],HTMLScriptElement:["script"],HTMLSelectElement:["select"],HTMLShadowElement:["shadow"],HTMLSlotElement:["slot"],HTMLSourceElement:["source"],HTMLSpanElement:["span"],HTMLStyleElement:["style"],HTMLTableCaptionElement:["caption"],HTMLTableCellElement:["td","th"],HTMLTableColElement:["col","colgroup"],HTMLTableElement:["table"],HTMLTableRowElement:["tr"],HTMLTableSectionElement:["thead","tbody","tfoot"],HTMLTemplateElement:["template"],HTMLTextAreaElement:["textarea"],HTMLTimeElement:["time"],HTMLTitleElement:["title"],HTMLTrackElement:["track"],HTMLUListElement:["ul"],HTMLUnknownElement:["unknown","vhgroupv","vkeygen"],HTMLVideoElement:["video"]},nodes:{Attr:["node"],Audio:["audio"],CDATASection:["node"],CharacterData:["node"],Comment:["#comment"],Document:["#document"],DocumentFragment:["#document-fragment"],DocumentType:["node"],HTMLDocument:["#document"],Image:["img"],Option:["option"],ProcessingInstruction:["node"],ShadowRoot:["#shadow-root"],Text:["#text"],XMLDocument:["xml"]}});typeof t!="object"&&(t={type:t||"auto"});var s="registerElement",o="__"+s+(e.Math.random()*1e5>>0),u="addEventListener",a="attached",f="Callback",l="detached",c="extends",h="attributeChanged"+f,p=a+f,d="connected"+f,v="disconnected"+f,m="created"+f,g=l+f,y="ADDITION",b="MODIFICATION",w="REMOVAL",E="DOMAttrModified",S="DOMContentLoaded",x="DOMSubtreeModified",T="<",N="=",C=/^[A-Z][A-Z0-9]*(?:-[A-Z0-9]+)+$/,k=["ANNOTATION-XML","COLOR-PROFILE","FONT-FACE","FONT-FACE-SRC","FONT-FACE-URI","FONT-FACE-FORMAT","FONT-FACE-NAME","MISSING-GLYPH"],L=[],A=[],O="",M=n.documentElement,_=L.indexOf||function(e){for(var t=this.length;t--&&this[t]!==e;);return t},D=r.prototype,P=D.hasOwnProperty,H=D.isPrototypeOf,B=r.defineProperty,j=[],F=r.getOwnPropertyDescriptor,I=r.getOwnPropertyNames,q=r.getPrototypeOf,R=r.setPrototypeOf,U=!!r.__proto__,z=!1,W="__dreCEv1",X=e.customElements,V=!/^force/.test(t.type)&&!!(X&&X.define&&X.get&&X.whenDefined),$=r.create||r,J=e.Map||function(){var t=[],n=[],r;return{get:function(e){return n[_.call(t,e)]},set:function(e,i){r=_.call(t,e),r<0?n[t.push(e)-1]=i:n[r]=i}}},K=e.Promise||function(e){function i(e){n=!0;while(t.length)t.shift()(e)}var t=[],n=!1,r={"catch":function(){return r},then:function(e){return t.push(e),n&&setTimeout(i,1),r}};return e(i),r},Q=!1,G=$(null),Y=$(null),Z=new J,et=function(e){return e.toLowerCase()},tt=r.create||function sn(e){return e?(sn.prototype=e,new sn):this},nt=R||(U?function(e,t){return e.__proto__=t,e}:I&&F?function(){function e(e,t){for(var n,r=I(t),i=0,s=r.length;i<s;i++)n=r[i],P.call(e,n)||B(e,n,F(t,n))}return function(t,n){do e(t,n);while((n=q(n))&&!H.call(n,t));return t}}():function(e,t){for(var n in t)e[n]=t[n];return e}),rt=e.MutationObserver||e.WebKitMutationObserver,it=(e.HTMLElement||e.Element||e.Node).prototype,st=!H.call(it,M),ot=st?function(e,t,n){return e[t]=n.value,e}:B,ut=st?function(e){return e.nodeType===1}:function(e){return H.call(it,e)},at=st&&[],ft=it.attachShadow,lt=it.cloneNode,ct=it.dispatchEvent,ht=it.getAttribute,pt=it.hasAttribute,dt=it.removeAttribute,vt=it.setAttribute,mt=n.createElement,gt=mt,yt=rt&&{attributes:!0,characterData:!0,attributeOldValue:!0},bt=rt||function(e){Nt=!1,M.removeEventListener(E,bt)},wt,Et=0,St=s in n&&!/^force-all/.test(t.type),xt=!0,Tt=!1,Nt=!0,Ct=!0,kt=!0,Lt,At,Ot,Mt,_t,Dt,Pt;St||(R||U?(Dt=function(e,t){H.call(t,e)||Xt(e,t)},Pt=Xt):(Dt=function(e,t){e[o]||(e[o]=r(!0),Xt(e,t))},Pt=Dt),st?(Nt=!1,function(){var e=F(it,u),t=e.value,n=function(e){var t=new CustomEvent(E,{bubbles:!0});t.attrName=e,t.prevValue=ht.call(this,e),t.newValue=null,t[w]=t.attrChange=2,dt.call(this,e),ct.call(this,t)},r=function(e,t){var n=pt.call(this,e),r=n&&ht.call(this,e),i=new CustomEvent(E,{bubbles:!0});vt.call(this,e,t),i.attrName=e,i.prevValue=n?r:null,i.newValue=t,n?i[b]=i.attrChange=1:i[y]=i.attrChange=0,ct.call(this,i)},i=function(e){var t=e.currentTarget,n=t[o],r=e.propertyName,i;n.hasOwnProperty(r)&&(n=n[r],i=new CustomEvent(E,{bubbles:!0}),i.attrName=n.name,i.prevValue=n.value||null,i.newValue=n.value=t[r]||null,i.prevValue==null?i[y]=i.attrChange=0:i[b]=i.attrChange=1,ct.call(t,i))};e.value=function(e,s,u){e===E&&this[h]&&this.setAttribute!==r&&(this[o]={className:{name:"class",value:this.className}},this.setAttribute=r,this.removeAttribute=n,t.call(this,"propertychange",i)),t.call(this,e,s,u)},B(it,u,e)}()):rt||(M[u](E,bt),M.setAttribute(o,1),M.removeAttribute(o),Nt&&(Lt=function(e){var t=this,n,r,i;if(t===e.target){n=t[o],t[o]=r=Ot(t);for(i in r){if(!(i in n))return At(0,t,i,n[i],r[i],y);if(r[i]!==n[i])return At(1,t,i,n[i],r[i],b)}for(i in n)if(!(i in r))return At(2,t,i,n[i],r[i],w)}},At=function(e,t,n,r,i,s){var o={attrChange:e,currentTarget:t,attrName:n,prevValue:r,newValue:i};o[s]=e,Rt(o)},Ot=function(e){for(var t,n,r={},i=e.attributes,s=0,o=i.length;s<o;s++)t=i[s],n=t.name,n!=="setAttribute"&&(r[n]=t.value);return r})),n[s]=function(t,r){p=t.toUpperCase(),xt&&(xt=!1,rt?(Mt=function(e,t){function n(e,t){for(var n=0,r=e.length;n<r;t(e[n++]));}return new rt(function(r){for(var i,s,o,u=0,a=r.length;u<a;u++)i=r[u],i.type==="childList"?(n(i.addedNodes,e),n(i.removedNodes,t)):(s=i.target,kt&&s[h]&&i.attributeName!=="style"&&(o=ht.call(s,i.attributeName),o!==i.oldValue&&s[h](i.attributeName,i.oldValue,o)))})}(Ft(a),Ft(l)),_t=function(e){return Mt.observe(e,{childList:!0,subtree:!0}),e},_t(n),ft&&(it.attachShadow=function(){return _t(ft.apply(this,arguments))})):(wt=[],n[u]("DOMNodeInserted",Ut(a)),n[u]("DOMNodeRemoved",Ut(l))),n[u](S,zt),n[u]("readystatechange",zt),it.cloneNode=function(e){var t=lt.call(this,!!e),n=It(t);return-1<n&&Pt(t,A[n]),e&&O.length&&jt(t.querySelectorAll(O)),t});if(Tt)return Tt=!1;-2<_.call(L,N+p)+_.call(L,T+p)&&$t(t);if(!C.test(p)||-1<_.call(k,p))throw new Error("The type "+t+" is invalid");var i=function(){return o?n.createElement(f,p):n.createElement(f)},s=r||D,o=P.call(s,c),f=o?r[c].toUpperCase():p,p,d;return o&&-1<_.call(L,T+f)&&$t(f),d=L.push((o?N:T)+p)-1,O=O.concat(O.length?",":"",o?f+'[is="'+t.toLowerCase()+'"]':f),i.prototype=A[d]=P.call(s,"prototype")?s.prototype:tt(it),O.length&&Bt(n.querySelectorAll(O),a),i},n.createElement=gt=function(e,t){var r=Yt(t),i=r?mt.call(n,e,et(r)):mt.call(n,e),s=""+e,o=_.call(L,(r?N:T)+(r||s).toUpperCase()),u=-1<o;return r&&(i.setAttribute("is",r=r.toLowerCase()),u&&(u=qt(s.toUpperCase(),r))),kt=!n.createElement.innerHTMLHelper,u&&Pt(i,A[o]),i}),Kt.prototype={constructor:Kt,define:V?function(e,t,n){if(n)Qt(e,t,n);else{var r=e.toUpperCase();G[r]={constructor:t,create:[r]},Z.set(t,r),X.define(e,t)}}:Qt,get:V?function(e){return X.get(e)||Gt(e)}:Gt,whenDefined:V?function(e){return K.race([X.whenDefined(e),en(e)])}:en};if(!X||/^force/.test(t.type))tn();else if(!t.noBuiltIn)try{(function(t,r,i){r[c]="a",t.prototype=tt(HTMLAnchorElement.prototype),t.prototype.constructor=t,e.customElements.define(i,t,r);if(ht.call(n.createElement("a",{is:i}),"is")!==i||V&&ht.call(new t,"is")!==i)throw r})(function on(){return Reflect.construct(HTMLAnchorElement,[],on)},{},"document-register-element-a")}catch(nn){tn()}if(!t.noBuiltIn)try{mt.call(n,"a","a")}catch(rn){et=function(e){return{is:e.toLowerCase()}}}})(window); } /*! Element.closest and Element.matches https://github.com/jonathantneal/closest Creative Commons Zero v1.0 Universal */ (function(a){"function"!==typeof a.matches&&(a.matches=a.msMatchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||function(a){a=(this.document||this.ownerDocument).querySelectorAll(a);for(var b=0;a[b]&&a[b]!==this;)++b;return!!a[b]});"function"!==typeof a.closest&&(a.closest=function(a){for(var b=this;b&&1===b.nodeType;){if(b.matches(a))return b;b=b.parentNode}return null})})(window.Element.prototype); /*! Element.remove() https://developer.mozilla.org/en-US/docs/Web/API/ChildNode/remove */ (function(b){b.forEach(function(a){a.hasOwnProperty("remove")||Object.defineProperty(a,"remove",{configurable:!0,enumerable:!0,writable:!0,value:function(){null!==this.parentNode&&this.parentNode.removeChild(this)}})})})([Element.prototype,CharacterData.prototype,DocumentType.prototype]); /*! Array.prototype.find */ Array.prototype.find||Object.defineProperty(Array.prototype,"find",{writable:!0,configurable:!0,value:function(c,e){if(null==this)throw new TypeError('"this" is null or not defined');var b=Object(this),f=b.length>>>0;if("function"!==typeof c)throw new TypeError("predicate must be a function");for(var a=0;a<f;){var d=b[a];if(c.call(e,d,a,b))return d;a++}}}); /*! Array.from */ Array.from||(Array.from=function(){var l=Object.prototype.toString,h=function(c){return"function"===typeof c||"[object Function]"===l.call(c)},m=Math.pow(2,53)-1;return function(c){var k=Object(c);if(null==c)throw new TypeError("Array.from requires an array-like object - not null or undefined");var d=1<arguments.length?arguments[1]:void 0,f;if("undefined"!==typeof d){if(!h(d))throw new TypeError("Array.from: when provided, the second argument must be a function");2<arguments.length&&(f=arguments[2])}var a= Number(k.length);a=isNaN(a)?0:0!==a&&isFinite(a)?(0<a?1:-1)*Math.floor(Math.abs(a)):a;a=Math.min(Math.max(a,0),m);for(var g=h(this)?Object(new this(a)):Array(a),b=0,e;b<a;)e=k[b],g[b]=d?"undefined"===typeof f?d(e,b):d.call(f,e,b):e,b+=1;g.length=a;return g}}()); /*! Array.prototype.includes */ Array.prototype.includes||Object.defineProperty(Array.prototype,"includes",{writable:!0,configurable:!0,value:function(r,e){if(null==this)throw new TypeError('"this" is null or not defined');var t=Object(this),n=t.length>>>0;if(0===n)return!1;var i,o,a=0|e,u=Math.max(0<=a?a:n-Math.abs(a),0);for(;u<n;){if((i=t[u])===(o=r)||"number"==typeof i&&"number"==typeof o&&isNaN(i)&&isNaN(o))return!0;u++}return!1}}); /*! Object.assign */ "function"!=typeof Object.assign&&Object.defineProperty(Object,"assign",{value:function(d,f){if(null==d)throw new TypeError("Cannot convert undefined or null to object");for(var e=Object(d),b=1;b<arguments.length;b++){var a=arguments[b];if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(e[c]=a[c])}return e},writable:!0,configurable:!0}); /*! Object.entries */ Object.entries||(Object.entries=function(c){for(var b=Object.keys(c),a=b.length,d=Array(a);a--;)d[a]=[b[a],c[b[a]]];return d}); /*! Object.values */ Object.values||(Object.values=function(n){return Object.keys(n).map(function(r){return n[r]})}); /*! String.prototype.endsWith */ String.prototype.endsWith||Object.defineProperty(String.prototype,"endsWith",{writable:!0,configurable:!0,value:function(b,a){if(void 0===a||a>this.length)a=this.length;return this.substring(a-b.length,a)===b}}); /*! String.prototype.includes */ String.prototype.includes||(String.prototype.includes=function(b,a){"number"!==typeof a&&(a=0);return a+b.length>this.length?!1:-1!==this.indexOf(b,a)}); /*! String.prototype.startsWith */ String.prototype.startsWith||Object.defineProperty(String.prototype,"startsWith",{writable:!0,configurable:!0,value:function(b,a){return this.substr(!a||0>a?0:+a,b.length)===b}}); /*! es6-promise - a tiny implementation of Promises/A+. Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald) Licensed under MIT license See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE v4.2.4+314e4831 */ (window.ES6Promise=function(){function t(){var t=setTimeout;return function(){return t(r,1)}}function r(){for(var t=0;t<y;t+=2)(0,C[t])(C[t+1]),C[t]=void 0,C[t+1]=void 0;y=0}function e(t,r){var e=this,n=new this.constructor(o);void 0===n[O]&&_(n);var i=e._state;if(i){var s=arguments[i-1];g(function(){return v(i,n,s,e._result)})}else l(e,n,t,r);return n}function n(t){if(t&&"object"==typeof t&&t.constructor===this)return t;var r=new this(o);return u(r,t),r}function o(){}function i(t){try{return t.then}catch(t){return q.error=t,q}}function s(t,r,o){r.constructor===t.constructor&&o===e&&r.constructor.resolve===n?function(t,r){r._state===x?a(t,r._result):r._state===F?f(t,r._result):l(r,void 0,function(r){return u(t,r)},function(r){return f(t,r)})}(t,r):o===q?(f(t,q.error),q.error=null):void 0===o?a(t,r):"function"==typeof o?function(t,r,e){g(function(t){var n=!1,o=function(t,r,e,n){try{t.call(r,e,n)}catch(t){return t}}(e,r,function(e){n||(n=!0,r!==e?u(t,e):a(t,e))},function(r){n||(n=!0,f(t,r))},t._label);!n&&o&&(n=!0,f(t,o))},t)}(t,r,o):a(t,r)}function u(t,r){if(t===r)f(t,new TypeError("cannot resolve promise w/ itself"));else{var e=typeof r;null===r||"object"!==e&&"function"!==e?a(t,r):s(t,r,i(r))}}function c(t){t._onerror&&t._onerror(t._result),h(t)}function a(t,r){t._state===P&&(t._result=r,t._state=x,0!==t._subscribers.length&&g(h,t))}function f(t,r){t._state===P&&(t._state=F,t._result=r,g(c,t))}function l(t,r,e,n){var o=t._subscribers,i=o.length;t._onerror=null,o[i]=r,o[i+x]=e,o[i+F]=n,0===i&&t._state&&g(h,t)}function h(t){var r=t._subscribers,e=t._state;if(0!==r.length){for(var n,o,i=t._result,s=0;s<r.length;s+=3)n=r[s],o=r[s+e],n?v(e,n,o,i):o(i);t._subscribers.length=0}}function v(t,r,e,n){var o="function"==typeof e,i=void 0,s=void 0,c=void 0,l=void 0;if(o){try{i=e(n)}catch(t){q.error=t,i=q}if(i===q?(l=!0,s=i.error,i.error=null):c=!0,r===i)return void f(r,new TypeError("Cannot return same promise"))}else i=n,c=!0;r._state===P&&(o&&c?u(r,i):l?f(r,s):t===x?a(r,i):t===F&&f(r,i))}function _(t){t[O]=U++,t._state=void 0,t._result=void 0,t._subscribers=[]}var p,d=Array.isArray?Array.isArray:function(t){return"[object Array]"===Object.prototype.toString.call(t)},y=0,w=void 0,m=void 0,g=function(t,e){C[y]=t,C[y+1]=e,2===(y+=2)&&(m?m(r):T())},b=(p="undefined"!=typeof window?window:void 0)||{},A=b.MutationObserver||b.WebKitMutationObserver;b="undefined"==typeof self;var E,S,M,j="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel,C=Array(1e3),T=void 0;T=A?(E=0,S=new A(r),M=document.createTextNode(""),S.observe(M,{characterData:!0}),function(){M.data=E=++E%2}):j?function(){var t=new MessageChannel;return t.port1.onmessage=r,function(){return t.port2.postMessage(0)}}():void 0===p&&"function"==typeof require?function(){try{var e=Function("return this")().require("vertx");return void 0!==(w=e.runOnLoop||e.runOnContext)?function(){w(r)}:t()}catch(r){return t()}}():t();var O=Math.random().toString(36).substring(2),P=void 0,x=1,F=2,q={error:null},U=0,D=function(){function t(t,r){this._instanceConstructor=t,this.promise=new t(o),this.promise[O]||_(this.promise),d(r)?(this._remaining=this.length=r.length,this._result=Array(this.length),0===this.length?a(this.promise,this._result):(this.length=this.length||0,this._enumerate(r),0===this._remaining&&a(this.promise,this._result))):f(this.promise,Error("Array Methods must be provided an Array"))}return t.prototype._enumerate=function(t){for(var r=0;this._state===P&&r<t.length;r++)this._eachEntry(t[r],r)},t.prototype._eachEntry=function(t,r){var u=this._instanceConstructor,c=u.resolve;c===n?(c=i(t))===e&&t._state!==P?this._settledAt(t._state,r,t._result):"function"!=typeof c?(this._remaining--,this._result[r]=t):u===K?(s(u=new u(o),t,c),this._willSettleAt(u,r)):this._willSettleAt(new u(function(r){return r(t)}),r):this._willSettleAt(c(t),r)},t.prototype._settledAt=function(t,r,e){var n=this.promise;n._state===P&&(this._remaining--,t===F?f(n,e):this._result[r]=e),0===this._remaining&&a(n,this._result)},t.prototype._willSettleAt=function(t,r){var e=this;l(t,void 0,function(t){return e._settledAt(x,r,t)},function(t){return e._settledAt(F,r,t)})},t}(),K=function(){function t(r){if(this[O]=U++,this._result=this._state=void 0,this._subscribers=[],o!==r){if("function"!=typeof r)throw new TypeError("Must pass a resolver fn as 1st arg");if(!(this instanceof t))throw new TypeError("Failed to construct 'Promise': Use the 'new' operator.");!function(t,r){try{r(function(r){u(t,r)},function(r){f(t,r)})}catch(r){f(t,r)}}(this,r)}}return t.prototype.catch=function(t){return this.then(null,t)},t.prototype.finally=function(t){var r=this.constructor;return this.then(function(e){return r.resolve(t()).then(function(){return e})},function(e){return r.resolve(t()).then(function(){throw e})})},t}();return K.prototype.then=e,K.all=function(t){return new D(this,t).promise},K.race=function(t){var r=this;return d(t)?new r(function(e,n){for(var o=t.length,i=0;i<o;i++)r.resolve(t[i]).then(e,n)}):new r(function(t,r){return r(new TypeError("Must pass array to race"))})},K.resolve=n,K.reject=function(t){var r=new this(o);return f(r,t),r},K._setScheduler=function(t){m=t},K._setAsap=function(t){g=t},K._asap=g,K.polyfill=function(){var t=void 0;if("undefined"!=typeof global)t=global;else if("undefined"!=typeof self)t=self;else try{t=Function("return this")()}catch(t){throw Error("polyfill failed")}var r=t.Promise;if(r){var e=null;try{e=Object.prototype.toString.call(r.resolve())}catch(t){}if("[object Promise]"===e&&!r.cast)return}t.Promise=K},K.Promise=K,K.polyfill(),K}()); /*! whatwg-fetch, 2.0.3 https://github.com/github/fetch Copyright (c) 2014-2016 GitHub, Inc. - MIT License */ (function(e){function l(a){"string"!==typeof a&&(a=String(a));if(/[^a-z0-9\-#$%&'*+.\^_`|~]/i.test(a))throw new TypeError("Invalid character in header field name");return a.toLowerCase()}function q(a){"string"!==typeof a&&(a=String(a));return a}function n(a){var b={next:function(){var b=a.shift();return{done:void 0===b,value:b}}};g.iterable&&(b[Symbol.iterator]=function(){return b});return b}function d(a){this.map={};a instanceof d?a.forEach(function(a,c){this.append(c,a)},this):Array.isArray(a)? a.forEach(function(a){this.append(a[0],a[1])},this):a&&Object.getOwnPropertyNames(a).forEach(function(b){this.append(b,a[b])},this)}function p(a){if(a.bodyUsed)return Promise.reject(new TypeError("Already read"));a.bodyUsed=!0}function r(a){return new Promise(function(b,c){a.onload=function(){b(a.result)};a.onerror=function(){c(a.error)}})}function w(a){var b=new FileReader,c=r(b);b.readAsArrayBuffer(a);return c}function x(a){a=new Uint8Array(a);for(var b=Array(a.length),c=0;c<a.length;c++)b[c]=String.fromCharCode(a[c]); return b.join("")}function t(a){if(a.slice)return a.slice(0);var b=new Uint8Array(a.byteLength);b.set(new Uint8Array(a));return b.buffer}function u(){this.bodyUsed=!1;this._initBody=function(a){if(this._bodyInit=a)if("string"===typeof a)this._bodyText=a;else if(g.blob&&Blob.prototype.isPrototypeOf(a))this._bodyBlob=a;else if(g.formData&&FormData.prototype.isPrototypeOf(a))this._bodyFormData=a;else if(g.searchParams&&URLSearchParams.prototype.isPrototypeOf(a))this._bodyText=a.toString();else if(g.arrayBuffer&& g.blob&&y(a))this._bodyArrayBuffer=t(a.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer]);else if(g.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(a)||z(a)))this._bodyArrayBuffer=t(a);else throw Error("unsupported BodyInit type");else this._bodyText="";this.headers.get("content-type")||("string"===typeof a?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):g.searchParams&&URLSearchParams.prototype.isPrototypeOf(a)&& this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))};g.blob&&(this.blob=function(){var a=p(this);if(a)return a;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?p(this)||Promise.resolve(this._bodyArrayBuffer): this.blob().then(w)});this.text=function(){var a=p(this);if(a)return a;if(this._bodyBlob){a=this._bodyBlob;var b=new FileReader,c=r(b);b.readAsText(a);return c}if(this._bodyArrayBuffer)return Promise.resolve(x(this._bodyArrayBuffer));if(this._bodyFormData)throw Error("could not read FormData body as text");return Promise.resolve(this._bodyText)};g.formData&&(this.formData=function(){return this.text().then(A)});this.json=function(){return this.text().then(JSON.parse)};return this}function k(a,b){b= b||{};var c=b.body;if(a instanceof k){if(a.bodyUsed)throw new TypeError("Already read");this.url=a.url;this.credentials=a.credentials;b.headers||(this.headers=new d(a.headers));this.method=a.method;this.mode=a.mode;c||null==a._bodyInit||(c=a._bodyInit,a.bodyUsed=!0)}else this.url=String(a);this.credentials=b.credentials||this.credentials||"omit";if(b.headers||!this.headers)this.headers=new d(b.headers);var v=b.method||this.method||"GET",g=v.toUpperCase();this.method=-1<B.indexOf(g)?g:v;this.mode= b.mode||this.mode||null;this.referrer=null;if(("GET"===this.method||"HEAD"===this.method)&&c)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(c)}function A(a){var b=new FormData;a.trim().split("&").forEach(function(a){if(a){var c=a.split("=");a=c.shift().replace(/\+/g," ");c=c.join("=").replace(/\+/g," ");b.append(decodeURIComponent(a),decodeURIComponent(c))}});return b}function C(a){var b=new d;a.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach(function(a){var c= a.split(":");if(a=c.shift().trim())c=c.join(":").trim(),b.append(a,c)});return b}function h(a,b){b||(b={});this.type="default";this.status=void 0===b.status?200:b.status;this.ok=200<=this.status&&300>this.status;this.statusText="statusText"in b?b.statusText:"OK";this.headers=new d(b.headers);this.url=b.url||"";this._initBody(a)}if(!e.fetch){var D="Symbol"in e&&"iterator"in Symbol,m;if(m="FileReader"in e&&"Blob"in e)try{new Blob,m=!0}catch(a){m=!1}var g={searchParams:"URLSearchParams"in e,iterable:D, blob:m,formData:"FormData"in e,arrayBuffer:"ArrayBuffer"in e};if(g.arrayBuffer){var E="[object Int8Array];[object Uint8Array];[object Uint8ClampedArray];[object Int16Array];[object Uint16Array];[object Int32Array];[object Uint32Array];[object Float32Array];[object Float64Array]".split(";");var y=function(a){return a&&DataView.prototype.isPrototypeOf(a)};var z=ArrayBuffer.isView||function(a){return a&&-1<E.indexOf(Object.prototype.toString.call(a))}}d.prototype.append=function(a,b){a=l(a);b=q(b);var c= this.map[a];this.map[a]=c?c+","+b:b};d.prototype["delete"]=function(a){delete this.map[l(a)]};d.prototype.get=function(a){a=l(a);return this.has(a)?this.map[a]:null};d.prototype.has=function(a){return this.map.hasOwnProperty(l(a))};d.prototype.set=function(a,b){this.map[l(a)]=q(b)};d.prototype.forEach=function(a,b){for(var c in this.map)this.map.hasOwnProperty(c)&&a.call(b,this.map[c],c,this)};d.prototype.keys=function(){var a=[];this.forEach(function(b,c){a.push(c)});return n(a)};d.prototype.values= function(){var a=[];this.forEach(function(b){a.push(b)});return n(a)};d.prototype.entries=function(){var a=[];this.forEach(function(b,c){a.push([c,b])});return n(a)};g.iterable&&(d.prototype[Symbol.iterator]=d.prototype.entries);var B="DELETE GET HEAD OPTIONS POST PUT".split(" ");k.prototype.clone=function(){return new k(this,{body:this._bodyInit})};u.call(k.prototype);u.call(h.prototype);h.prototype.clone=function(){return new h(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new d(this.headers), url:this.url})};h.error=function(){var a=new h(null,{status:0,statusText:""});a.type="error";return a};var F=[301,302,303,307,308];h.redirect=function(a,b){if(-1===F.indexOf(b))throw new RangeError("Invalid status code");return new h(null,{status:b,headers:{location:a}})};e.Headers=d;e.Request=k;e.Response=h;e.fetch=function(a,b){return new Promise(function(c,d){var e=new k(a,b),f=new XMLHttpRequest;f.onload=function(){var a={status:f.status,statusText:f.statusText,headers:C(f.getAllResponseHeaders()|| "")};a.url="responseURL"in f?f.responseURL:a.headers.get("X-Request-URL");c(new h("response"in f?f.response:f.responseText,a))};f.onerror=function(){d(new TypeError("Network request failed"))};f.ontimeout=function(){d(new TypeError("Network request failed"))};f.open(e.method,e.url,!0);"include"===e.credentials?f.withCredentials=!0:"omit"===e.credentials&&(f.withCredentials=!1);"responseType"in f&&g.blob&&(f.responseType="blob");e.headers.forEach(function(a,b){f.setRequestHeader(b,a)});f.send("undefined"=== typeof e._bodyInit?null:e._bodyInit)})};e.fetch.polyfill=!0}})("undefined"!==typeof self?self:window); /*! url-polyfill, 1.0.14 https://github.com/lifaon74/url-polyfill MIT Licensed */ (function(e){var t=function(){try{return!!Symbol.iterator}catch(e){return false}};var n=t();var r=function(e){var t={next:function(){var t=e.shift();return{done:t===void 0,value:t}}};if(n){t[Symbol.iterator]=function(){return t}}return t};var i=function(e){return encodeURIComponent(e).replace(/%20/g,"+")};var o=function(e){return decodeURIComponent(e).replace(/\+/g," ")};var a=function(){var t=function(e){Object.defineProperty(this,"_entries",{value:{}});if(typeof e==="string"){if(e!==""){e=e.replace(/^\?/,"");var n=e.split("&");var r;for(var i=0;i<n.length;i++){r=n[i].split("=");this.append(o(r[0]),r.length>1?o(r[1]):"")}}}else if(e instanceof t){var a=this;e.forEach(function(e,t){a.append(e,t)})}};var a=t.prototype;a.append=function(e,t){if(e in this._entries){this._entries[e].push(t.toString())}else{this._entries[e]=[t.toString()]}};a.delete=function(e){delete this._entries[e]};a.get=function(e){return e in this._entries?this._entries[e][0]:null};a.getAll=function(e){return e in this._entries?this._entries[e].slice(0):[]};a.has=function(e){return e in this._entries};a.set=function(e,t){this._entries[e]=[t.toString()]};a.forEach=function(e,t){var n;for(var r in this._entries){if(this._entries.hasOwnProperty(r)){n=this._entries[r];for(var i=0;i<n.length;i++){e.call(t,n[i],r,this)}}}};a.keys=function(){var e=[];this.forEach(function(t,n){e.push(n)});return r(e)};a.values=function(){var e=[];this.forEach(function(t){e.push(t)});return r(e)};a.entries=function(){var e=[];this.forEach(function(t,n){e.push([n,t])});return r(e)};if(n){a[Symbol.iterator]=a.entries}a.toString=function(){var e=[];this.forEach(function(t,n){e.push(i(n)+"="+i(t))});return e.join("&")};e.URLSearchParams=t};if(!("URLSearchParams"in e)||new URLSearchParams("?a=1").toString()!=="a=1"){a()}})(typeof global!=="undefined"?global:typeof window!=="undefined"?window:typeof self!=="undefined"?self:this);(function(e){var t=function(){try{var e=new URL("b","http://a");e.pathname="c%20d";return e.href==="http://a/c%20d"&&e.searchParams}catch(e){return false}};var n=function(){var t=e.URL;var n=function(e,t){if(typeof e!=="string")e=String(e);var n=document.implementation.createHTMLDocument("");window.doc=n;if(t){var r=n.createElement("base");r.href=t;n.head.appendChild(r)}var i=n.createElement("a");i.href=e;n.body.appendChild(i);i.href=i.href;if(i.protocol===":"||!/:/.test(i.href)){throw new TypeError("Invalid URL")}Object.defineProperty(this,"_anchorElement",{value:i})};var r=n.prototype;var i=function(e){Object.defineProperty(r,e,{get:function(){return this._anchorElement[e]},set:function(t){this._anchorElement[e]=t},enumerable:true})};["hash","host","hostname","port","protocol","search"].forEach(function(e){i(e)});Object.defineProperties(r,{toString:{get:function(){var e=this;return function(){return e.href}}},href:{get:function(){return this._anchorElement.href.replace(/\?$/,"")},set:function(e){this._anchorElement.href=e},enumerable:true},pathname:{get:function(){return this._anchorElement.pathname.replace(/(^\/?)/,"/")},set:function(e){this._anchorElement.pathname=e},enumerable:true},origin:{get:function(){var e={"http:":80,"https:":443,"ftp:":21}[this._anchorElement.protocol];var t=this._anchorElement.port!=e&&this._anchorElement.port!=="";return this._anchorElement.protocol+"//"+this._anchorElement.hostname+(t?":"+this._anchorElement.port:"")},enumerable:true},password:{get:function(){return""},set:function(e){},enumerable:true},username:{get:function(){return""},set:function(e){},enumerable:true},searchParams:{get:function(){var e=new URLSearchParams(this.search);var t=this;["append","delete","set"].forEach(function(n){var r=e[n];e[n]=function(){r.apply(e,arguments);t.search=e.toString()}});return e},enumerable:true}});n.createObjectURL=function(e){return t.createObjectURL.apply(t,arguments)};n.revokeObjectURL=function(e){return t.revokeObjectURL.apply(t,arguments)};e.URL=n};if(!t()){n()}if(e.location!==void 0&&!("origin"in e.location)){var r=function(){return e.location.protocol+"//"+e.location.hostname+(e.location.port?":"+e.location.port:"")};try{Object.defineProperty(e.location,"origin",{get:r,enumerable:true})}catch(t){setInterval(function(){e.location.origin=r()},100)}}})(typeof global!=="undefined"?global:typeof window!=="undefined"?window:typeof self!=="undefined"?self:this); /*! Built with http://stenciljs.com */ (function(Context,namespace,hydratedCssClass,resourcesUrl,s){"use strict"; s=document.querySelector("script[data-namespace='ionicons']");if(s){resourcesUrl=s.getAttribute('data-resources-url');} this&&this.n||(Object.setPrototypeOf||Array);var n=this&&this.t||function(n,t,r,e){return new(r||(r=Promise))(function(i,u){function o(n){try{c(e.r(n))}catch(n){u(n)}}function f(n){try{c(e.throw(n))}catch(n){u(n)}}function c(n){n.e?i(n.value):new r(function(t){t(n.value)}).then(o,f)}c((e=e.apply(n,t||[])).r())})},t=this&&this.i||function(n,t){function r(r){return function(o){return function c(r){if(e)throw new TypeError("Generator is already executing.");for(;f;)try{if(e=1,i&&(u=2&r[0]?i.return:r[0]?i.throw||((u=i.return)&&u.call(i),0):i.r)&&!(u=u.call(i,r[1])).e)return u;switch(i=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return f.u++,{value:r[1],e:!1};case 5:f.u++,i=r[1],r=[0];continue;case 7:r=f.o.pop(),f.f.pop();continue;default:if(!(u=(u=f.f).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){f=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]<u[3])){f.u=r[1];break}if(6===r[0]&&f.u<u[1]){f.u=u[1],u=r;break}if(u&&f.u<u[2]){f.u=u[2],f.o.push(r);break}u[2]&&f.o.pop(),f.f.pop();continue}r=t.call(n,f)}catch(n){r=[6,n],i=0}finally{e=u=0}if(5&r[0])throw r[1];return{value:r[0]?r[1]:void 0,e:!0}}([r,o])}}var e,i,u,o,f={u:0,c:function(){if(1&u[0])throw u[1];return u[1]},f:[],o:[]};return o={r:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o};(function(r,e,i,u){"use strict";function o(n,t){return"sc-"+n.a+(t&&t!==F?"-"+t:"")}function f(n,t){return n+(t?"-h":"-s")}function c(n,t,r,e,i){if(e){var u=t.a+(i||F);t[u]||(t[u]=e)}}function a(n,t,r,e){void 0===e&&(e="boolean"==typeof r);var i=t!==(t=t.replace(/^xlink\:?/,""));null==r||e&&(!r||"false"===r)?i?n.removeAttributeNS(K,z(t)):n.removeAttribute(t):"function"!=typeof r&&(r=e?"":r.toString(),i?n.setAttributeNS(K,z(t),r):n.setAttribute(t,r))}function s(n,t,r,e,i,u,o){if("class"!==r||u)if("style"===r){for(var f in e)i&&null!=i[f]||(/-/.test(f)?t.style.s(f):t.style[f]="");for(var f in i)e&&i[f]===e[f]||(/-/.test(f)?t.style.setProperty(f,i[f]):t.style[f]=i[f])}else if("o"!==r[0]||"n"!==r[1]||!/[A-Z]/.test(r[2])||r in t)if("list"!==r&&"type"!==r&&!u&&(r in t||-1!==["object","function"].indexOf(typeof i)&&null!==i)){var c=n.l(t);c&&c.v&&c.v[r]?(v(t,r,i),o&&c.v[r].p&&a(t,c.v[r].d,i,4===c.v[r].m)):"ref"!==r&&(v(t,r,null==i?"":i),null!=i&&!1!==i||n.b.y(t,r))}else null!=i&&"key"!==r?a(t,r,i):(u||n.b.g(t,r)&&(null==i||!1===i))&&n.b.y(t,r);else r=z(r)in t?z(r.substring(2)):z(r[2])+r.substring(3),i?i!==e&&n.b.w(t,r,i):n.b.k(t,r);else if(e!==i){var s=l(e),p=l(i),h=s.filter(function(n){return!p.includes(n)}),d=l(t.className).filter(function(n){return!h.includes(n)}),m=p.filter(function(n){return!s.includes(n)&&!d.includes(n)});d.push.apply(d,m),t.className=d.join(" ")}}function l(n){return null==n||""===n?[]:n.trim().split(/\s+/)}function v(n,t,r){try{n[t]=r}catch(n){}}function p(n,t,r,e,i){var u=11===r.M.nodeType&&r.M.host?r.M.host:r.M,o=t&&t.vattrs||H,f=r.vattrs||H;for(i in o)f&&null!=f[i]||null==o[i]||s(n,u,i,o[i],void 0,e,r.j);for(i in f)i in o&&f[i]===("value"===i||"checked"===i?u[i]:o[i])||s(n,u,i,o[i],f[i],e,r.j)}function h(n,t){function r(i,u,o,f,c,l,y,b,g){if(b=u.vchildren[o],a||(v=!0,"slot"===b.vtag&&(s&&t.O(f,s+"-s"),b.vchildren?b.x=!0:b.C=!0)),Z(b.vtext))b.M=t.S(b.vtext);else if(b.C)b.M=t.S("");else{if(l=b.M=Q||"svg"===b.vtag?t.W("http://www.w3.org/2000/svg",b.vtag):t.A(b.x?"slot-fb":b.vtag),n.R(l)&&n.N.delete(m),Q="svg"===b.vtag||"foreignObject"!==b.vtag&&Q,p(n,null,b,Q),Z(s)&&l["s-si"]!==s&&t.O(l,l["s-si"]=s),b.vchildren)for(c=0;c<b.vchildren.length;++c)(y=r(i,b,c,l))&&t.T(l,y);"svg"===b.vtag&&(Q=!1)}return b.M["s-hn"]=d,(b.x||b.C)&&(b.M["s-sr"]=!0,b.M["s-cr"]=h,b.M["s-sn"]=b.vname||"",(g=i&&i.vchildren&&i.vchildren[o])&&g.vtag===b.vtag&&i.M&&e(i.M)),b.M}function e(r,i,u,o){n.L=!0;var a=t.P(r);for(u=a.length-1;u>=0;u--)(o=a[u])["s-hn"]!==d&&o["s-ol"]&&(t.D(o),t.I(c(o),o,f(o)),t.D(o["s-ol"]),o["s-ol"]=null,v=!0),i&&e(o,i);n.L=!1}function i(n,e,i,u,o,c,a,s){var l=n["s-cr"];for((a=l&&t.U(l)||n).shadowRoot&&t.q(a)===d&&(a=a.shadowRoot);o<=c;++o)u[o]&&(s=Z(u[o].vtext)?t.S(u[o].vtext):r(null,i,o,n))&&(u[o].M=s,t.I(a,s,f(e)))}function u(n,r,i,u){for(;r<=i;++r)Z(n[r])&&(u=n[r].M,l=!0,u["s-ol"]?t.D(u["s-ol"]):e(u,!0),t.D(u))}function o(n,t){return n.vtag===t.vtag&&n.vkey===t.vkey&&("slot"!==n.vtag||n.vname===t.vname)}function f(n){return n&&n["s-ol"]?n["s-ol"]:n}function c(n){return t.U(n["s-ol"]?n["s-ol"]:n)}var a,s,l,v,h,d,m,y=[];return function b(g,w,k,M,$,j,E,O,x,C,S,W){if(m=g,d=t.q(m),h=m["s-cr"],a=M,s=m["s-sc"],v=l=!1,function a(s,l,v){var h=l.M=s.M,d=s.vchildren,m=l.vchildren;Q=l.M&&Z(t.B(l.M))&&void 0!==l.M.ownerSVGElement,Q="svg"===l.vtag||"foreignObject"!==l.vtag&&Q,Z(l.vtext)?(v=h["s-cr"])?t._(t.U(v),l.vtext):s.vtext!==l.vtext&&t._(h,l.vtext):("slot"!==l.vtag&&p(n,s,l,Q),Z(d)&&Z(m)?function y(n,s,l,v,p,h,d,m){for(var y=0,b=0,g=s.length-1,w=s[0],k=s[g],M=v.length-1,$=v[0],j=v[M];y<=g&&b<=M;)if(null==w)w=s[++y];else if(null==k)k=s[--g];else if(null==$)$=v[++b];else if(null==j)j=v[--M];else if(o(w,$))a(w,$),w=s[++y],$=v[++b];else if(o(k,j))a(k,j),k=s[--g],j=v[--M];else if(o(w,j))"slot"!==w.vtag&&"slot"!==j.vtag||e(t.U(w.M)),a(w,j),t.I(n,w.M,t.F(k.M)),w=s[++y],j=v[--M];else if(o(k,$))"slot"!==w.vtag&&"slot"!==j.vtag||e(t.U(k.M)),a(k,$),t.I(n,k.M,w.M),k=s[--g],$=v[++b];else{for(p=null,h=y;h<=g;++h)if(s[h]&&Z(s[h].vkey)&&s[h].vkey===$.vkey){p=h;break}Z(p)?((m=s[p]).vtag!==$.vtag?d=r(s&&s[b],l,p,n):(a(m,$),s[p]=void 0,d=m.M),$=v[++b]):(d=r(s&&s[b],l,b,n),$=v[++b]),d&&t.I(c(w.M),d,f(w.M))}y>g?i(n,null==v[M+1]?null:v[M+1].M,l,v,b,M):b>M&&u(s,y,g)}(h,d,l,m):Z(m)?(Z(s.vtext)&&t._(h,""),i(h,null,l,m,0,m.length-1)):Z(d)&&u(d,0,d.length-1)),Q&&"svg"===l.vtag&&(Q=!1)}(w,k),v){for(function n(r,e,i,u,o,f,c,a,s,v){for(o=0,f=(e=t.P(r)).length;o<f;o++){if((i=e[o])["s-sr"]&&(u=i["s-cr"]))for(a=t.P(t.U(u)),s=i["s-sn"],c=a.length-1;c>=0;c--)(u=a[c])["s-cn"]||u["s-nr"]||u["s-hn"]===i["s-hn"]||((3===(v=t.H(u))||8===v)&&""===s||1===v&&null===t.Y(u,"slot")&&""===s||1===v&&t.Y(u,"slot")===s)&&(y.some(function(n){return n.Z===u})||(l=!0,u["s-sn"]=s,y.push({z:i,Z:u})));1===t.H(i)&&n(i)}}(k.M),E=0;E<y.length;E++)(O=y[E]).Z["s-ol"]||((x=t.S(""))["s-nr"]=O.Z,t.I(t.U(O.Z),O.Z["s-ol"]=x,O.Z));for(n.L=!0,E=0;E<y.length;E++){for(O=y[E],S=t.U(O.z),W=t.F(O.z),x=O.Z["s-ol"];x=t.G(x);)if((C=x["s-nr"])&&C&&C["s-sn"]===O.Z["s-sn"]&&S===t.U(C)&&(C=t.F(C))&&C&&!C["s-nr"]){W=C;break}(!W&&S!==t.U(O.Z)||t.F(O.Z)!==W)&&O.Z!==W&&(t.D(O.Z),t.I(S,O.Z,W))}n.L=!1}return l&&function n(r,e,i,u,o,f,c,a){for(u=0,o=(i=t.P(r)).length;u<o;u++)if(e=i[u],1===t.H(e)){if(e["s-sr"])for(c=e["s-sn"],e.hidden=!1,f=0;f<o;f++)if(i[f]["s-hn"]!==e["s-hn"])if(a=t.H(i[f]),""!==c){if(1===a&&c===t.Y(i[f],"slot")){e.hidden=!0;break}}else if(1===a||3===a&&""!==t.K(i[f]).trim()){e.hidden=!0;break}n(e)}}(k.M),y.length=0,k}}function d(n,t){n&&(n.vattrs&&n.vattrs.ref&&n.vattrs.ref(t?null:n.M),n.vchildren&&n.vchildren.forEach(function(n){d(n,t)}))}function m(n,t,r,e,i){var u,o,f,c,a=n.H(t);if(i&&1===a){(o=n.Y(t,_))&&(f=o.split("."))[0]===e&&((c={}).vtag=n.q(c.M=t),r.vchildren||(r.vchildren=[]),r.vchildren[f[1]]=c,r=c,i=""!==f[2]);for(var s=0;s<t.childNodes.length;s++)m(n,t.childNodes[s],r,e,i)}else 3===a&&(u=t.previousSibling)&&8===n.H(u)&&"s"===(f=n.K(u).split("."))[0]&&f[1]===e&&((c={vtext:n.K(t)}).M=t,r.vchildren||(r.vchildren=[]),r.vchildren[f[2]]=c)}function y(n,t){for(var r,e,i=null,u=!1,o=!1,f=arguments.length;f-- >2;)X.push(arguments[f]);for(;X.length>0;){var c=X.pop();if(c&&void 0!==c.pop)for(f=c.length;f--;)X.push(c[f]);else"boolean"==typeof c&&(c=null),(o="function"!=typeof n)&&(null==c?c="":"number"==typeof c?c=String(c):"string"!=typeof c&&(o=!1)),o&&u?i[i.length-1].vtext+=c:null===i?i=[o?{vtext:c}:c]:i.push(o?{vtext:c}:c),u=o}if(null!=t){if(t.className&&(t.class=t.className),"object"==typeof t.class){for(f in t.class)t.class[f]&&X.push(f);t.class=X.join(" "),X.length=0}null!=t.key&&(r=t.key),null!=t.name&&(e=t.name)}return"function"==typeof n?n(t,i||[],J):{vtag:n,vchildren:i,vtext:void 0,vattrs:t,vkey:r,vname:e,M:void 0,j:!1}}function b(n){return{vtag:n.vtag,vchildren:n.vchildren,vtext:n.vtext,vattrs:n.vattrs,vkey:n.vkey,vname:n.vname}}function g(n){return{Q:n[0],X:n[1],J:!!n[2],V:!!n[3],nn:!!n[4]}}function w(n,t){if(Z(t)&&"object"!=typeof t&&"function"!=typeof t){if(n===Boolean||4===n)return"false"!==t&&(""===t||!!t);if(n===Number||8===n)return parseFloat(t);if(n===String||2===n)return t.toString()}return t}function k(n,t){n.tn.add(t),n.rn.has(t)||(n.rn.set(t,!0),n.en?n.queue.write(function(){return M(n,t)}):n.queue.tick(function(){return M(n,t)}))}function M(r,e,i,u,o){return n(this,void 0,void 0,function(){var n,i;return t(this,function(t){switch(t.u){case 0:if(r.rn.delete(e),r.in.has(e))return[3,12];if(u=r.un.get(e))return[3,6];if((o=r.on.get(e))&&!o["s-rn"])return(o["s-rc"]=o["s-rc"]||[]).push(function(){M(r,e)}),[2];if(!(u=function c(n,t,r,e,i,u,o){try{e=new(i=n.l(t).fn),function f(n,t,r,e,i){n.cn.set(e,r),n.an.has(r)||n.an.set(r,{}),Object.entries(Object.assign({color:{type:String}},t.properties,{mode:{type:String}})).forEach(function(t){var u=t[0],o=t[1];(function f(n,t,r,e,i,u,o,c){if(t.type||t.state){var a=n.an.get(r);t.state||(!t.attr||void 0!==a[i]&&""!==a[i]||(o=u&&u.sn)&&Z(c=o[t.attr])&&(a[i]=w(t.type,c)),r.hasOwnProperty(i)&&(void 0===a[i]&&(a[i]=w(t.type,r[i])),"mode"!==i&&delete r[i])),e.hasOwnProperty(i)&&void 0===a[i]&&(a[i]=e[i]),t.watchCallbacks&&(a[V+i]=t.watchCallbacks.slice()),E(e,i,function s(t){return(t=n.an.get(n.cn.get(this)))&&t[i]},function l(r,e){(e=n.cn.get(this))&&(t.state||t.mutable)&&$(n,e,i,r)})}else if(t.elementRef)j(e,i,r);else if(t.context){var v=n.ln(t.context);void 0!==v&&j(e,i,v.vn&&v.vn(r)||v)}})(n,o,r,e,u,i)})}(n,i,t,e,r)}catch(r){e={},n.pn(r,7,t,!0)}return n.un.set(t,e),e}(r,e,r.hn.get(e))))return[3,5];t.u=1;case 1:return t.f.push([1,4,,5]),u.componentWillLoad?[4,u.componentWillLoad()]:[3,3];case 2:t.c(),t.u=3;case 3:return[3,5];case 4:return n=t.c(),r.pn(n,3,e),[3,5];case 5:return[3,11];case 6:if(!u)return[3,11];t.u=7;case 7:return t.f.push([7,10,,11]),u.componentWillUpdate?[4,u.componentWillUpdate()]:[3,9];case 8:t.c(),t.u=9;case 9:return[3,11];case 10:return i=t.c(),r.pn(i,5,e),[3,11];case 11:(function a(n,t,r,e){try{var i,u=t.fn.host,o=t.fn.encapsulation,c="shadow"===o&&n.b.dn,a=r;if(i=function s(n,t,r){return n&&Object.keys(n).forEach(function(e){n[e].reflectToAttr&&((r=r||{})[e]=t[e])}),r}(t.fn.properties,e),c&&(a=r.shadowRoot),!r["s-rn"]){n.mn(n,n.b,t,r);var l=r["s-sc"];l&&(n.b.O(r,f(l,!0)),"scoped"===o&&n.b.O(r,f(l)))}if(e.render||e.hostData||u||i){n.yn=!0;var v=e.render&&e.render(),p=void 0;p=e.hostData&&e.hostData(),i&&(p=p?Object.assign(p,i):i),n.yn=!1;var h=n.bn.get(r)||{};h.M=a;var d=y(null,p,v);d.j=!0,n.bn.set(r,n.render(r,h,d,c,o))}n.gn&&n.gn.wn(r),r["s-rn"]=!0,r["s-rc"]&&(r["s-rc"].forEach(function(n){return n()}),r["s-rc"]=null)}catch(t){n.yn=!1,n.pn(t,8,r,!0)}})(r,r.l(e),e,u),e["s-init"](),t.u=12;case 12:return[2]}})})}function $(n,t,r,e,i){var u=n.an.get(t);u||n.an.set(t,u={});var o=u[r];if(e!==o&&(u[r]=e,i=n.un.get(t))){var f=u[V+r];if(f)for(var c=0;c<f.length;c++)try{i[f[c]].call(i,e,o,r)}catch(n){}!n.yn&&t["s-rn"]&&k(n,t)}}function j(n,t,r){Object.defineProperty(n,t,{configurable:!0,value:r})}function E(n,t,r,e){Object.defineProperty(n,t,{configurable:!0,get:r,set:e})}function O(n,t,r,e,i,u){if(n.tn.delete(t),(i=n.on.get(t))&&((e=i["s-ld"])&&((r=e.indexOf(t))>-1&&e.splice(r,1),e.length||i["s-init"]&&i["s-init"]()),n.on.delete(t)),n.kn.length&&!n.tn.size)for(;u=n.kn.shift();)u()}function x(n,t,r,e){if(r.connectedCallback=function(){(function r(n,t,e){n.in.delete(e),n.Mn.has(e)||(n.tn.add(e),n.Mn.set(e,!0),e["s-id"]||(e["s-id"]=n.$n()),function i(n,t,r){for(r=t;r=n.b.B(r);)if(n.R(r)){n.N.has(t)||(n.on.set(t,r),(r["s-ld"]=r["s-ld"]||[]).push(t));break}}(n,e),n.queue.tick(function(){n.hn.set(e,function r(n,t,e,i,u){return e.mode||(e.mode=n.jn(e)),e["s-cr"]||n.Y(e,B)||n.dn&&1===t.En||(e["s-cr"]=n.S(""),e["s-cr"]["s-cn"]=!0,n.I(e,e["s-cr"],n.P(e)[0])),n.dn||1!==t.En||(e.shadowRoot=e),1===t.En&&n.dn&&!e.shadowRoot&&n.On(e,{mode:"open"}),i={xn:e["s-id"],sn:{}},t.v&&Object.keys(t.v).forEach(function(r){(u=t.v[r].d)&&(i.sn[u]=n.Y(e,u))}),i}(n.b,t,e)),n.Cn(t,e)}))})(n,t,this)},r.disconnectedCallback=function(){(function t(n,r){if(!n.L&&function e(n,t){for(;t;){if(!n.U(t))return 9!==n.H(t);t=n.U(t)}}(n.b,r)){n.in.set(r,!0),O(n,r),d(n.bn.get(r),!0),n.b.k(r),n.Sn.delete(r);var i=n.un.get(r);i&&i.componentDidUnload&&i.componentDidUnload(),n.gn&&n.gn.Wn(r),[n.on,n.An,n.hn].forEach(function(n){return n.delete(r)})}})(n,this)},r["s-init"]=function(){(function t(n,r,e,i,u,o){if(function n(t,r){for(var e=0;e<r.childNodes.length;e++){var i=r.childNodes[e];if(1===i.nodeType){if(t.l(i)&&!t.Mn.has(i))return!1;if(!n(t,i))return!1}}return!0}(n,r)&&n.un.get(r)&&!n.in.has(r)&&(!r["s-ld"]||!r["s-ld"].length)){n.N.set(r,!0),n.Rn.has(r)||(n.Rn.set(r,!0),r["s-ld"]=void 0,n.b.O(r,e));try{d(n.bn.get(r)),(u=n.An.get(r))&&(u.forEach(function(n){return n(r)}),n.An.delete(r))}catch(t){n.pn(t,4,r)}O(n,r)}})(n,this,e)},r.forceUpdate=function(){k(n,this)},t.v){var i=Object.entries(t.v),u={};i.forEach(function(n){var t=n[0],r=n[1].d;r&&(u[r]=t)}),u=Object.assign({},u),r.attributeChangedCallback=function(n,t,r){(function e(n,t,r,i){var u=n[z(r)];u&&(t[u]=i)})(u,this,n,r)},function o(n,t,r){t.forEach(function(t){var e=t[0],i=t[1],u=i.Nn;3&u?E(r,e,function t(){return(n.an.get(this)||{})[e]},function t(r){$(n,this,e,w(i.m,r))}):32===u&&j(r,e,G)})}(n,i,r)}}function C(n,t,r,e){return function(){var i=arguments;return function u(n,t,r){var e=t[r],i=n.Tn.body;return i?(e||(e=i.querySelector(r)),e||(e=t[r]=n.A(r),n.T(i,e)),e.componentOnReady()):Promise.resolve()}(n,t,r).then(function(n){return n[e].apply(n,i)})}}function S(n,t,r){n.lastIndex=0;var e=t.substring(r).match(n);if(e){var i=r+e.index;return{start:i,end:i+e[0].length}}return null}function W(n,t,r){var e=function i(n,t){var r=S(an,n,t);if(!r)return null;var e=function i(n,t){for(var r=0,e=t;e<n.length;e++){var i=n[e];if("("===i)r++;else if(")"===i&&--r<=0)return e+1}return e}(n,r.start),u=n.substring(r.end,e-1).split(","),o=u[0],f=u.slice(1);return{start:r.start,end:e,Ln:o.trim(),Pn:f.length>0?f.join(",").trim():void 0}}(n,r);if(!e)return t.push(n.substring(r,n.length)),n.length;var u=e.Ln,o=null!=e.Pn?N(e.Pn):void 0;return t.push(n.substring(r,e.start),function(n){return function t(n,r,e){return n[r]?n[r]:e?A(e,n):""}(n,u,o)}),e.end}function A(n,t){for(var r="",e=0;e<n.length;e++){var i=n[e];r+="string"==typeof i?i:i(t)}return r}function R(n,t){for(var r=!1,e=!1,i=t;i<n.length;i++){var u=n[i];if(r)e&&'"'===u&&(r=!1),e||"'"!==u||(r=!1);else if('"'===u)r=!0,e=!0;else if("'"===u)r=!0,e=!1;else{if(";"===u)return i+1;if("}"===u)return i}}return i}function N(n){var t=0;n=function r(n){for(var t="",r=0;;){var e=S(sn,n,r),i=e?e.start:n.length;if(t+=n.substring(r,i),!e)break;r=R(n,i)}return t}(n=n.replace(ln,"")).replace(pn,"").replace(vn,"");for(var e=[];t<n.length;)t=W(n,e,t);return e}function T(n){var t={};n.forEach(function(n){n.Dn.forEach(function(n){t[n.In]=n.value})});for(var r={},e=Object.entries(t),i=function(n){var t=!1;if(e.forEach(function(n){var e=n[0],i=A(n[1],r);i!==r[e]&&(r[e]=i,t=!0)}),!t)return"break"},u=0;u<10&&"break"!==i();u++);return r}function L(n){var t=(n=n.replace(/\s+/gim," ").trim()).endsWith(hn);return t&&(n=n.substr(0,n.length-hn.length).trim()),{value:n,Un:t}}function P(n){var t=[];return n.forEach(function(n){t.push.apply(t,n.qn)}),t}function D(n){var t=function r(n){return function n(t,r){var e=r.substring(t.start,t.end-1);if(t.parsedCssText=t.cssText=e.trim(),t.parent){var i=t.previous?t.previous.end:t.parent.start;e=(e=(e=function u(n){return n.replace(/\\([0-9a-f]{1,6})\s/gi,function(){for(var n=arguments[1],t=6-n.length;t--;)n="0"+n;return"\\"+n})}(e=r.substring(i,t.start-1))).replace(un.Bn," ")).substring(e.lastIndexOf(";")+1);var o=t.parsedSelector=t.selector=e.trim();t.atRule=0===o.indexOf(cn),t.atRule?0===o.indexOf(fn)?t.type=tn._n:o.match(un.Fn)&&(t.type=tn.Hn,t.keyframesName=t.selector.split(un.Bn).pop()):0===o.indexOf(on)?t.type=tn.Yn:t.type=tn.Zn}var f=t.rules;if(f)for(var c=0,a=f.length,s=void 0;c<a&&(s=f[c]);c++)n(s,r);return t}(function r(n){var t=new nn;t.start=0,t.end=n.length;for(var r=t,e=0,i=n.length;e<i;e++)if(n[e]===rn){r.rules||(r.rules=[]);var u=r,o=u.rules[u.rules.length-1]||null;(r=new nn).start=e+1,r.parent=u,r.previous=o,u.rules.push(r)}else n[e]===en&&(r.end=e+1,r=r.parent||t);return t}(n=function t(n){return n.replace(un.zn,"").replace(un.Gn,"")}(n)),n)}(n),e=N(n);return{Kn:n,Qn:e,qn:function i(n,t){if(void 0===t&&(t=0),!n.rules)return[];var r=[];return n.rules.filter(function(n){return n.type===tn.Zn}).forEach(function(n){var e=function i(n){for(var t,r=[];t=dn.exec(n.trim());){var e=L(t[2]),i=e.value,u=e.Un;r.push({In:t[1].trim(),value:N(i),Un:u})}return r}(n.cssText);e.length>0&&n.parsedSelector.split(",").forEach(function(n){n=n.trim(),r.push({selector:n,Dn:e,Xn:1,Jn:t})}),t++}),r}(t),Vn:e.length>1}}function I(n,t){var r=D(t.innerHTML);r.nt=t,n.push(r)}function U(n,t,r){return function e(n,t,r){return n.replace(new RegExp(t,"g"),r)}(n,"\\."+t,"."+r)}function q(n,t,r){var e=r.href;return fetch(e).then(function(n){return n.text()}).then(function(i){if(function u(n){return n.indexOf("var(")>-1||mn.test(n)}(i)&&r.parentNode){(function o(n){return yn.lastIndex=0,yn.test(n)})(i)&&(i=function f(n,t){var r=t.replace(/[^\/]*$/,"");return n.replace(yn,function(n,t){var e=r+t;return n.replace(t,e)})}(i,e));var c=n.createElement("style");c.innerHTML=i,I(t,c),r.parentNode.insertBefore(c,r),r.remove()}}).catch(function(n){})}var B="ssrv",_="ssrc",F="$",H={},Y={enter:13,escape:27,space:32,tab:9,left:37,up:38,right:39,down:40},Z=function(n){return null!=n},z=function(n){return n.toLowerCase()},G=function(){},K="http://www.w3.org/1999/xlink",Q=!1,X=[],J={forEach:function(n,t){n.forEach(function(n,r,e){return t(b(n),r,e)})},map:function(n,t){return n.map(function(n,r,e){return function i(n){return{vtag:n.vtag,vchildren:n.vchildren,vtext:n.vtext,vattrs:n.vattrs,vkey:n.vkey,vname:n.vname}}(t(b(n),r,e))})}},V="wc-",nn=function nn(){this.start=0,this.end=0,this.previous=null,this.parent=null,this.rules=null,this.parsedCssText="",this.cssText="",this.atRule=!1,this.type=0,this.keyframesName="",this.selector="",this.parsedSelector=""},tn={Zn:1,Hn:7,_n:4,Yn:1e3},rn="{",en="}",un={zn:/\/\*[^*]*\*+([^\/*][^*]*\*+)*\//gim,Gn:/@import[^;]*;/gim,tt:/(?:^[^;\-\s}]+)?--[^;{}]*?:[^{};]*?(?:[;\n]|$)/gim,rt:/(?:^[^;\-\s}]+)?--[^;{}]*?:[^{};]*?{[^}]*?}(?:[;\n]|$)?/gim,et:/@apply\s*\(?[^);]*\)?\s*(?:[;\n]|$)?/gim,it:/[^;:]*?:[^;]*?var\([^;]*\)(?:[;\n]|$)?/gim,Fn:/^@[^\s]*keyframes/,Bn:/\s+/g},on="--",fn="@media",cn="@",an=/\bvar\(/,sn=/\B--[\w-]+\s*:/,ln=/\/\*[^*]*\*+([^\/*][^*]*\*+)*\//gim,vn=/^[\t ]+\n/gm,pn=/[^{}]*{\s*}/gm,hn="!important",dn=/(?:^|[;\s{]\s*)(--[\w-]*?)\s*:\s*(?:((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};{])+)|\{([^}]*)\}(?:(?=[;\s}])|$))/gm,mn=/[\s;{]--[-a-zA-Z0-9]+\s*:/m,yn=/url[\s]*\([\s]*['"]?(?![http|\/])([^\'\"\)]*)[\s]*['"]?\)[\s]*/gim,bn=function(){function n(n,t){this.ut=n,this.ot=t,this.ft=0,this.ct=new WeakMap,this.at=new WeakMap,this.st=[],this.lt=new Map}return n.prototype.vt=function(){var n=this;return new Promise(function(t){n.ut.requestAnimationFrame(function(){(function r(n,t){return function r(n,t){for(var r=[],e=n.querySelectorAll('link[rel="stylesheet"][href]'),i=0;i<e.length;i++)r.push(q(n,t,e[i]));return Promise.all(r)}(n,t).then(function(){(function r(n,t){for(var r=n.querySelectorAll("style"),e=0;e<r.length;e++)I(t,r[e])})(n,t)})})(n.ot,n.st).then(function(){return t()})})})},n.prototype.pt=function(n){var t=this;return q(this.ot,this.st,n).then(function(){t.ht()})},n.prototype.dt=function(n){I(this.st,n),this.ht()},n.prototype.mt=function(n,t,r){if(this.at.has(n))return null;var e=n["s-sc"],i=this.yt(r,t,e),u=i.Vn&&i.bt;if(!u&&i.nt)return null;var o=this.ot.createElement("style");if(u){var f=i.bt+"-"+this.ft;n["s-sc"]=f,this.ct.set(n,o),this.at.set(n,function c(n,t){var r=n.Qn.map(function(r){return"string"==typeof r?U(r,n.bt,t):r}),e=n.qn.map(function(r){return Object.assign({},r,{selector:U(r.selector,n.bt,t)})});return Object.assign({},n,{Qn:r,qn:e,bt:t})}(i,f)),this.ft++}else i.nt=o,i.Vn||(o.innerHTML=A(i.Qn,{})),this.st.push(i),this.ht(),this.at.set(n,i);return o},n.prototype.Wn=function(n){var t=this.ct.get(n);t&&t.remove(),this.ct.delete(n),this.at.delete(n)},n.prototype.wn=function(n){var t=this.at.get(n);if(t&&t.Vn&&t.bt){var r=this.ct.get(n);if(r){var e=T(function i(n,t,r){return function i(n){return n.sort(function(n,t){return n.Xn===t.Xn?n.Jn-t.Jn:n.Xn-t.Xn}),n}(P(r.concat(function e(n,t){for(var r=[];t;){var e=n.get(t);e&&r.push(e),t=t.parentElement}return r}(t,n))).filter(function(t){return function r(n,t){return n.matches(t)}(n,t.selector)}))}(n,this.at,this.st));r.innerHTML=A(t.Qn,e)}}},n.prototype.ht=function(){(function n(t){var r=T(P(t));t.forEach(function(n){n.Vn&&(n.nt.innerHTML=A(n.Qn,r))})})(this.st)},n.prototype.yt=function(n,t,r){var e=this.lt.get(t);return e||((e=D(n)).bt=r,this.lt.set(t,e)),e},n}(),gn=void 0;!function wn(n){return!!(n.CSS&&n.CSS.supports&&n.CSS.supports("color","var(--c)"))}(r)&&(gn=new bn(r,e)),function kn(n,t,r,e,i,u,f){function a(n,t){if(!r.customElements.get(n.a)){R[n.a]=!0,x(T,M[n.a]=n,t.prototype,u);var e=[];for(var i in n.v)n.v[i].d&&e.push(n.v[i].d);t.observedAttributes=e,r.customElements.define(n.a,t)}}function s(n,t){return null==n?null:j.get(n.replace(/^\.\//,""))}function l(n){return"exports"===n||"require"===n||!!s(n)}function v(n,t,r){var e={};try{r.apply(null,t.map(function(n){return"exports"===n?e:"require"===n?p:s(n)}))}catch(n){}void 0!==n&&(j.set(n,e),n&&!n.endsWith(".js")&&Object.keys(e).forEach(function(n){for(var t=n.replace(/-/g,"").toLowerCase(),r=Object.keys(M),i=0;i<r.length;i++)if(r[i].replace(/-/g,"").toLowerCase()===t){var u=M[r[i]];u&&(u.fn=e[n],c(0,u,u.En,u.fn.style,u.fn.styleMode));break}}))}function p(n,t){d(void 0,n,t)}function d(n,t,r){var e=t.filter(function(n){return!l(n)});e.forEach(function(n){w(i+n.replace(".js",".es5.js"))}),$.push([n,t,r]),0===e.length&&function u(){for(var n=$.length-1;n>=0;n--){var t=$[n],r=t[0],e=t[1],i=t[2];e.every(l)&&!l(r)&&($.splice(n,1),v(r,e,i))}}()}function b(n,t){var r=!W.dn;w(i+n+(r?".sc":"")+".es5.entry.js")}function w(n){function t(){clearTimeout(r),e.onerror=e.onload=null,W.D(e),E.delete(n)}var r,e;E.has(n)||(E.add(n),(e=W.A("script")).charset="utf-8",e.async=!0,e.src=n,r=setTimeout(t,12e4),e.onerror=e.onload=t,W.T(W.Tn.head,e))}var M={html:{}},$=[],j=new Map,E=new Set,O={},S=r[n]=r[n]||{},W=function A(n,t,r){n.ael||(n.ael=function(n,t,r,e){return n.addEventListener(t,r,e)},n.rel=function(n,t,r,e){return n.removeEventListener(t,r,e)});var e=new WeakMap;"function"!=typeof t.CustomEvent&&(t.CustomEvent=function(n,t,e){return(e=r.createEvent("CustomEvent")).initCustomEvent(n,t.bubbles,t.cancelable,t.detail),e},t.CustomEvent.prototype=t.Event.prototype);var i={Tn:r,dn:!!r.documentElement.attachShadow,gt:!1,H:function(n){return n.nodeType},A:function(n){return r.createElement(n)},W:function(n,t){return r.createElementNS(n,t)},S:function(n){return r.createTextNode(n)},wt:function(n){return r.createComment(n)},I:function(n,t,r){return n.insertBefore(t,r)},D:function(n){return n.remove()},T:function(n,t){return n.appendChild(t)},O:function(n,t){if(n.classList)n.classList.add(t);else if("svg"===n.nodeName.toLowerCase()){var r=n.getAttribute("class")||"";r.split(" ").includes(t)||(r+=" "+t),n.setAttribute("class",r.trim())}},P:function(n){return n.childNodes},U:function(n){return n.parentNode},F:function(n){return n.nextSibling},G:function(n){return n.previousSibling},q:function(n){return z(n.nodeName)},K:function(n){return n.textContent},_:function(n,t){return n.textContent=t},Y:function(n,t){return n.getAttribute(t)},kt:function(n,t,r){return n.setAttribute(t,r)},Mt:function(n,t,r,e){return n.setAttributeNS(t,r,e)},y:function(n,t){return n.removeAttribute(t)},g:function(n,t){return n.hasAttribute(t)},jn:function(t){return t.getAttribute("mode")||(n.Context||{}).mode},$t:function(n,e){return"child"===e?n.firstElementChild:"parent"===e?i.B(n):"body"===e?r.body:"document"===e?r:"window"===e?t:n},w:function(t,r,u,o,f,c,a,s){var l=r,v=t,p=e.get(t);if(p&&p[l]&&p[l](),"string"==typeof c?v=i.$t(t,c):"object"==typeof c?v=c:(s=r.split(":")).length>1&&(v=i.$t(t,s[0]),r=s[1]),v){var h=u;(s=r.split(".")).length>1&&(r=s[0],h=function(n){n.keyCode===Y[s[1]]&&u(n)}),a=i.gt?{capture:!!o,passive:!!f}:!!o,n.ael(v,r,h,a),p||e.set(t,p={}),p[l]=function(){v&&n.rel(v,r,h,a),p[l]=null}}},k:function(n,t){var r=e.get(n);r&&(t?r[t]&&r[t]():Object.keys(r).forEach(function(n){r[n]&&r[n]()}))},jt:function(n,r,e){return n&&n.dispatchEvent(new t.CustomEvent(r,e))},B:function(n,t){return(t=i.U(n))&&11===i.H(t)?t.host:t},On:function(n,t){return n.attachShadow(t)}};return i}(S,r,e);t.isServer=t.isPrerender=!(t.isClient=!0),t.window=r,t.location=r.location,t.document=e,t.resourcesUrl=t.publicPath=i,S.h=y,S.Context=t;var R=r["s-defined"]=r["s-defined"]||{},N=0,T={b:W,Et:a,Ot:t.emit,gn:f,l:function(n){return M[W.q(n)]},ln:function(n){return t[n]},isClient:!0,R:function(n){return!(!R[W.q(n)]&&!T.l(n))},pn:function(n,t,r){},$n:function(){return n+N++},xt:function(n){return function t(n,r,e){return{create:C(n,r,e,"create"),componentOnReady:C(n,r,e,"componentOnReady")}}(W,O,n)},queue:t.queue=function L(n,t){function r(t){return function(r){t.push(r),p||(p=!0,n.raf(u))}}function e(n){for(var t=0;t<n.length;t++)try{n[t](o())}catch(n){}n.length=0}function i(n,t){for(var r,e=0;e<n.length&&(r=o())<t;)try{n[e++](r)}catch(n){}e===n.length?n.length=0:0!==e&&n.splice(0,e)}function u(){v++,e(a);var t=o()+7*Math.ceil(v*(1/22));i(s,t),i(l,t),s.length>0&&(l.push.apply(l,s),s.length=0),(p=a.length+s.length+l.length>0)?n.raf(u):v=0}var o=function(){return t.performance.now()},f=Promise.resolve(),c=[],a=[],s=[],l=[],v=0,p=!1;return n.raf||(n.raf=t.requestAnimationFrame.bind(t)),{tick:function(n){c.push(n),1===c.length&&f.then(function(){return e(c)})},read:r(a),write:r(s)}}(S,r),Cn:function P(n,t,r){var e="string"==typeof n.Ct?n.Ct:n.Ct[t.mode];s(e)?k(T,t):($.push([void 0,[e],function(){k(T,t)}]),f&&U?U.push(function(){return b(e)}):b(e))},en:!1,yn:!1,L:!1,on:new WeakMap,St:new WeakMap,Mn:new WeakMap,Sn:new WeakMap,Rn:new WeakMap,N:new WeakMap,cn:new WeakMap,hn:new WeakMap,un:new WeakMap,in:new WeakMap,rn:new WeakMap,An:new WeakMap,Wt:new WeakMap,bn:new WeakMap,an:new WeakMap,tn:new Set,kn:[]};S.onReady=function(){return new Promise(function(n){return T.queue.write(function(){return T.tn.size?T.kn.push(n):n()})})},T.render=h(T,W);var D=W.Tn.documentElement;D["s-ld"]=[],D["s-rn"]=!0,D["s-init"]=function(){T.N.set(D,S.loaded=T.en=!0),W.jt(r,"appload",{detail:{namespace:n}})},function I(n,t,r){var e,i,u,o,f,c,a=r.querySelectorAll("["+B+"]"),s=a.length;if(s>0)for(n.N.set(r,!0),o=0;o<s;o++)for(e=a[o],i=t.Y(e,B),(u={}).vtag=t.q(u.M=e),n.bn.set(e,u),f=0,c=e.childNodes.length;f<c;f++)m(t,e.childNodes[f],u,i,!0)}(T,W,D),S.loadBundle=d;var U=[];f&&f.vt().then(function(){for(;U.length;)U.shift()();U=null}),T.mn=function(n,t,r,e){(function i(n,t,r,e){var i=r.a+e.mode,u=r[i];if((2===r.En||1===r.En&&!n.b.dn)&&(e["s-sc"]=u?o(r,e.mode):o(r)),u||(u=r[i=r.a+F]),u){var f=t.Tn.head;if(t.dn)if(1===r.En)f=e.shadowRoot;else for(var c=e;c=t.U(c);)if(c.host&&c.host.shadowRoot){f=c.host.shadowRoot;break}var a=n.St.get(f);if(a||n.St.set(f,a={}),!a[i]){var s=void 0;if(n.gn?s=n.gn.mt(e,i,u):((s=t.A("style")).innerHTML=u,a[i]=!0),s){var l=f.querySelectorAll("[data-styles]");t.I(f,s,l.length&&l[l.length-1].nextSibling||f.firstChild)}}}})(n,t,r,e)},(S.components||[]).map(function(n){var t=function r(n){var t=n[0],r=n[1],e=n[3],i=n[4],u=n[5],o={color:{d:"color"}};if(e)for(var f=0;f<e.length;f++){var c=e[f];o[c[0]]={Nn:c[1],p:!!c[2],d:"string"==typeof c[3]?c[3]:c[3]?c[0]:0,m:c[4]}}return{a:t,Ct:r,v:Object.assign({},o),En:i,At:u?u.map(g):void 0}}(n);return M[t.a]=t}).forEach(function(n){function t(n){return HTMLElement.call(this,n)}t.prototype=Object.create(HTMLElement.prototype,{constructor:{value:t,configurable:!0}}),a(n,t)}),function q(n,t,r,e,i,u){if(t.componentOnReady=function(t,r){if(!t.nodeName.includes("-"))return r(null),!1;var e=n.l(t);if(e)if(n.N.has(t))r(t);else{var i=n.An.get(t)||[];i.push(r),n.An.set(t,i)}return!!e},i){for(u=i.length-1;u>=0;u--)t.componentOnReady(i[u][0],i[u][1])&&i.splice(u,1);for(u=0;u<e.length;u++)if(!r[e[u]].componentOnReady)return;for(u=0;u<i.length;u++)i[u][1](null);i.length=0}}(T,S,r,r["s-apps"],r["s-cr"]),S.initialized=!0}(u,i,r,e,resourcesUrl,hydratedCssClass,gn)})(window,document,Context,namespace); })({},"ionicons","hydrated");PK}w�\|�oionicons/esckjbl8.entry.jsnu�[���/*! Built with http://stenciljs.com */ const{h:t}=window.ionicons;function e(t,e,i,s){return e=(e||"md").toLowerCase(),i&&"ios"===e?t=i.toLowerCase():s&&"md"===e?t=s.toLowerCase():t&&(t=t.toLowerCase(),/^md-|^ios-|^logo-/.test(t)||(t=`${e}-${t}`)),"string"!=typeof t||""===t.trim()?null:""!==t.replace(/[a-z]|-|\d/gi,"")?null:t}function i(t){return"string"==typeof t&&(t=t.trim()).length>0&&/(\/|\.)/.test(t)?t:null}class s{constructor(){this.isVisible=!1,this.lazy=!1}componentWillLoad(){this.waitUntilVisible(this.el,"50px",()=>{this.isVisible=!0,this.loadIcon()})}componentDidUnload(){this.io&&(this.io.disconnect(),this.io=void 0)}waitUntilVisible(t,e,i){if(this.lazy&&this.win&&this.win.IntersectionObserver){const s=this.io=new this.win.IntersectionObserver(t=>{t[0].isIntersecting&&(s.disconnect(),this.io=void 0,i())},{rootMargin:e});s.observe(t)}else i()}loadIcon(){if(!this.isServer&&this.isVisible){const t=this.getUrl();t&&function(t,e,i){let s=n.get(e);return s||(s=fetch(e,{cache:"force-cache"}).then(t=>t.ok?t.text():Promise.resolve(null)).then(e=>(function(t,e,i){if(e){const i=t.createDocumentFragment(),s=t.createElement("div");s.innerHTML=e,i.appendChild(s);for(let t=s.childNodes.length-1;t>=0;t--)"svg"!==s.childNodes[t].nodeName.toLowerCase()&&s.removeChild(s.childNodes[t]);const n=s.firstElementChild;if(n&&"svg"===n.nodeName.toLowerCase()&&(n.setAttribute("class","s-ion-icon"),function t(e){if(1===e.nodeType){if("script"===e.nodeName.toLowerCase())return!1;for(let t=0;t<e.attributes.length;t++){const i=e.attributes[t].value;if("string"==typeof i&&0===i.toLowerCase().indexOf("on"))return!1}for(let i=0;i<e.childNodes.length;i++)if(!t(e.childNodes[i]))return!1}return!0}(n)))return s.innerHTML}return""})(t,e)),n.set(e,s)),s}(this.doc,t).then(t=>this.svgContent=t)}if(!this.ariaLabel){const t=e(this.name,this.mode,this.ios,this.md);t&&(this.ariaLabel=t.replace("ios-","").replace("md-","").replace(/\-/g," "))}}getUrl(){let t=i(this.src);return t||((t=e(this.name,this.mode,this.ios,this.md))?this.getNamedUrl(t):(t=i(this.icon))?t:(t=e(this.icon,this.mode,this.ios,this.md))?this.getNamedUrl(t):null)}getNamedUrl(t){return`${this.resourcesUrl}svg/${t}.svg`}hostData(){return{role:"img",class:Object.assign({},(t=this.color,t?{"ion-color":!0,[`ion-color-${t}`]:!0}:null),{[`icon-${this.size}`]:!!this.size})};var t}render(){return t("div",!this.isServer&&this.svgContent?{class:"icon-inner",innerHTML:this.svgContent}:{class:"icon-inner"})}static get is(){return"ion-icon"}static get encapsulation(){return"shadow"}static get properties(){return{ariaLabel:{type:String,attr:"aria-label",reflectToAttr:!0,mutable:!0},color:{type:String,attr:"color"},doc:{context:"document"},el:{elementRef:!0},icon:{type:String,attr:"icon",watchCallbacks:["loadIcon"]},ios:{type:String,attr:"ios"},isServer:{context:"isServer"},isVisible:{state:!0},lazy:{type:Boolean,attr:"lazy"},md:{type:String,attr:"md"},mode:{type:String,attr:"mode"},name:{type:String,attr:"name",watchCallbacks:["loadIcon"]},resourcesUrl:{context:"resourcesUrl"},size:{type:String,attr:"size"},src:{type:String,attr:"src",watchCallbacks:["loadIcon"]},svgContent:{state:!0},win:{context:"window"}}}static get style(){return":host{display:inline-block;width:1em;height:1em;contain:strict;-webkit-box-sizing:content-box!important;box-sizing:content-box!important}:host(.ion-color){color:var(--ion-color-base)!important}:host(.icon-small){font-size:var(--ion-icon-size-small,18px)!important}:host(.icon-large){font-size:var(--ion-icon-size-large,32px)!important}.icon-inner,svg{display:block;fill:currentColor;stroke:currentColor;height:100%;width:100%}:host(.ion-color-primary){--ion-color-base:var(--ion-color-primary, #3880ff)}:host(.ion-color-secondary){--ion-color-base:var(--ion-color-secondary, #0cd1e8)}:host(.ion-color-tertiary){--ion-color-base:var(--ion-color-tertiary, #f4a942)}:host(.ion-color-success){--ion-color-base:var(--ion-color-success, #10dc60)}:host(.ion-color-warning){--ion-color-base:var(--ion-color-warning, #ffce00)}:host(.ion-color-danger){--ion-color-base:var(--ion-color-danger, #f14141)}:host(.ion-color-light){--ion-color-base:var(--ion-color-light, #f4f5f8)}:host(.ion-color-medium){--ion-color-base:var(--ion-color-medium, #989aa2)}:host(.ion-color-dark){--ion-color-base:var(--ion-color-dark, #222428)}"}}const n=new Map;export{s as IonIcon};PK}w�\���)?e?eionicons/data.jsonnu�[���{"icons":[{"icons":["ios-add-circle-outline","md-add-circle-outline"],"tags":["circle"]},{"icons":["ios-add-circle","md-add-circle"],"tags":["add","circle"]},{"icons":["ios-add","md-add"],"tags":["add","include","invite","plus"]},{"icons":["ios-airplane","md-airplane"],"tags":["airplane","plane"]},{"icons":["ios-alarm","md-alarm"],"tags":["alarm"]},{"icons":["ios-albums","md-albums"],"tags":["albums","boxes","slides","square"]},{"icons":["ios-alert","md-alert"],"tags":["!","alert","attention","exclamation","notice","warning"]},{"icons":["ios-american-football","md-american-football"],"tags":["american","football"]},{"icons":["ios-analytics","md-analytics"],"tags":["analytics","data","metrics","track"]},{"icons":["ios-aperture","md-aperture"],"tags":["aperture","dark","images","levels","light","settings"]},{"icons":["ios-apps","md-apps"],"tags":["apps","applications"]},{"icons":["ios-appstore","md-appstore"],"tags":["appstore","store"]},{"icons":["ios-archive","md-archive"],"tags":["archive","email"]},{"icons":["ios-arrow-back","md-arrow-back"],"tags":["arrow","back","chevron","navigation"]},{"icons":["ios-arrow-down","md-arrow-down"],"tags":["arrow","chevron","down"]},{"icons":["ios-arrow-dropdown-circle","md-arrow-dropdown-circle"],"tags":["arrow","circle","dropdown"]},{"icons":["ios-arrow-dropdown","md-arrow-dropdown"],"tags":["arrow","dropdown"]},{"icons":["ios-arrow-dropleft-circle","md-arrow-dropleft-circle"],"tags":["arrow","circle","dropleft"]},{"icons":["ios-arrow-dropleft","md-arrow-dropleft"],"tags":["arrow","dropleft"]},{"icons":["ios-arrow-dropright-circle","md-arrow-dropright-circle"],"tags":["arrow","circle","dropright"]},{"icons":["ios-arrow-dropright","md-arrow-dropright"],"tags":["arrow","dropright"]},{"icons":["ios-arrow-dropup-circle","md-arrow-dropup-circle"],"tags":["arrow","circle","dropup"]},{"icons":["ios-arrow-dropup","md-arrow-dropup"],"tags":["arrow","dropup"]},{"icons":["ios-arrow-forward","md-arrow-forward"],"tags":["arrow","chevron","forward","navigation"]},{"icons":["ios-arrow-round-back","md-arrow-round-back"],"tags":["arrow","back","round"]},{"icons":["ios-arrow-round-down","md-arrow-round-down"],"tags":["arrow","down","round"]},{"icons":["ios-arrow-round-forward","md-arrow-round-forward"],"tags":["arrow","forward","round"]},{"icons":["ios-arrow-round-up","md-arrow-round-up"],"tags":["arrow","round","up"]},{"icons":["ios-arrow-up","md-arrow-up"],"tags":["arrow","chevron","up"]},{"icons":["ios-at","md-at"],"tags":["@","at"]},{"icons":["ios-attach","md-attach"],"tags":["attach"]},{"icons":["ios-backspace","md-backspace"],"tags":["backspace"]},{"icons":["ios-barcode","md-barcode"],"tags":["barcode","camera","reader"]},{"icons":["ios-baseball","md-baseball"],"tags":["baseball"]},{"icons":["ios-basket","md-basket"],"tags":["basket"]},{"icons":["ios-basketball","md-basketball"],"tags":["basketball"]},{"icons":["ios-battery-charging","md-battery-charging"],"tags":["battery","charging"]},{"icons":["ios-battery-dead","md-battery-dead"],"tags":["battery","dead"]},{"icons":["ios-battery-full","md-battery-full"],"tags":["battery","full"]},{"icons":["ios-beaker","md-beaker"],"tags":["beaker","flask","mixture","potion"]},{"icons":["ios-bed","md-bed"],"tags":["bed","sleep"]},{"icons":["ios-beer","md-beer"],"tags":["beer","drink","eat","food"]},{"icons":["ios-bicycle","md-bicycle"],"tags":["bicycle"]},{"icons":["ios-bluetooth","md-bluetooth"],"tags":["bluetooth","cloud","connection"]},{"icons":["ios-boat","md-boat"],"tags":["boat"]},{"icons":["ios-body","md-body"],"tags":["body"]},{"icons":["ios-bonfire","md-bonfire"],"tags":["bonfire","heat","hot"]},{"icons":["ios-book","md-book"],"tags":["book","read"]},{"icons":["ios-bookmark","md-bookmark"],"tags":["bookmark","favorite","save","tag"]},{"icons":["ios-bookmarks","md-bookmarks"],"tags":["bookmarks","favorite"]},{"icons":["ios-bowtie","md-bowtie"],"tags":["bowtie"]},{"icons":["ios-briefcase","md-briefcase"],"tags":["briefcase","folder","organize"]},{"icons":["ios-browsers","md-browsers"],"tags":["browsers","square"]},{"icons":["ios-brush","md-brush"],"tags":["brush"]},{"icons":["ios-bug","md-bug"],"tags":["bug","develop","error","hacker","program"]},{"icons":["ios-build","md-build"],"tags":["build"]},{"icons":["ios-bulb","md-bulb"],"tags":["bulb"]},{"icons":["ios-bus","md-bus"],"tags":["bus"]},{"icons":["ios-business","md-business"],"tags":["business"]},{"icons":["ios-cafe","md-cafe"],"tags":["cafe"]},{"icons":["ios-calculator","md-calculator"],"tags":["arithmatic","calculator","math"]},{"icons":["ios-calendar","md-calendar"],"tags":["calendar","date","month","week"]},{"icons":["ios-call","md-call"],"tags":["call","telephone"]},{"icons":["ios-camera","md-camera"],"tags":["camera","image","photo"]},{"icons":["ios-car","md-car"],"tags":["car"]},{"icons":["ios-card","md-card"],"tags":["$","card","cash","credit","debit","dollars","money","price","shopping"]},{"icons":["ios-cart","md-cart"],"tags":["cart"]},{"icons":["ios-cash","md-cash"],"tags":["$","cash","credit","debit","dollars","money","price","shopping"]},{"icons":["ios-cellular","md-cellular"],"tags":["cellular"]},{"icons":["ios-chatboxes","md-chatboxes"],"tags":["chatboxes","talk"]},{"icons":["ios-chatbubbles","md-chatbubbles"],"tags":["chatbubbles","talk"]},{"icons":["ios-checkbox-outline","md-checkbox-outline"],"tags":["checkbox"]},{"icons":["ios-checkbox","md-checkbox"],"tags":["checkbox"]},{"icons":["ios-checkmark-circle-outline","md-checkmark-circle-outline"],"tags":["checkmark"]},{"icons":["ios-checkmark-circle","md-checkmark-circle"],"tags":["checkmark","circle"]},{"icons":["ios-checkmark","md-checkmark"],"tags":["checkmark"]},{"icons":["ios-clipboard","md-clipboard"],"tags":["clipboard","write"]},{"icons":["ios-clock","md-clock"],"tags":["clock","time"]},{"icons":["ios-close-circle-outline","md-close-circle-outline"],"tags":["close","cicle"]},{"icons":["ios-close-circle","md-close-circle"],"tags":["circle","close"]},{"icons":["ios-close","md-close"],"tags":["close","delete","remove"]},{"icons":["ios-cloud-circle","md-cloud-circle"],"tags":["circle","cloud"]},{"icons":["ios-cloud-done","md-cloud-done"],"tags":["cloud","done"]},{"icons":["ios-cloud-download","md-cloud-download"],"tags":["cloud","download","storage"]},{"icons":["ios-cloud-outline","md-cloud-outline"],"tags":["cloud"]},{"icons":["ios-cloud-upload","md-cloud-upload"],"tags":["cloud","storage","upload"]},{"icons":["ios-cloud","md-cloud"],"tags":["cloud","storage","weather","whether"]},{"icons":["ios-cloudy-night","md-cloudy-night"],"tags":["cloudy","night","overcast","weather","whether"]},{"icons":["ios-cloudy","md-cloudy"],"tags":["cloudy","overcast","weather","whether"]},{"icons":["ios-code-download","md-code-download"],"tags":["code","develop","download","hacker","program"]},{"icons":["ios-code-working","md-code-working"],"tags":["code","develop","hacker","program","working"]},{"icons":["ios-code","md-code"],"tags":["code","develop","hacker","program"]},{"icons":["ios-cog","md-cog"],"tags":["cog","gear","options","settings"]},{"icons":["ios-color-fill","md-color-fill"],"tags":["color","fill"]},{"icons":["ios-color-filter","md-color-filter"],"tags":["color","filter"]},{"icons":["ios-color-palette","md-color-palette"],"tags":["color","palette"]},{"icons":["ios-color-wand","md-color-wand"],"tags":["color","wand"]},{"icons":["ios-compass","md-compass"],"tags":["compass","directions","location","navigation"]},{"icons":["ios-construct","md-construct"],"tags":["construct"]},{"icons":["ios-contact","md-contact"],"tags":["contact","people","users"]},{"icons":["ios-contacts","md-contacts"],"tags":["contacts","people","users"]},{"icons":["ios-contract","md-contract"],"tags":["contract"]},{"icons":["ios-contrast","md-contrast"],"tags":["contrast","dark","images","levels","light","settings"]},{"icons":["ios-copy","md-copy"],"tags":["copy","duplicate","paper"]},{"icons":["ios-create","md-create"],"tags":["create"]},{"icons":["ios-crop","md-crop"],"tags":["crop"]},{"icons":["ios-cube","md-cube"],"tags":["box","container","cube","square"]},{"icons":["ios-cut","md-cut"],"tags":["cut"]},{"icons":["ios-desktop","md-desktop"],"tags":["desktop"]},{"icons":["ios-disc","md-disc"],"tags":["cd","disc","vinyl"]},{"icons":["ios-document","md-document"],"tags":["document","file","paper"]},{"icons":["ios-done-all","md-done-all"],"tags":["all","done"]},{"icons":["ios-download","md-download"],"tags":["download","export"]},{"icons":["ios-easel","md-easel"],"tags":["easel"]},{"icons":["ios-egg","md-egg"],"tags":["baby","bird","birth","egg","twitter"]},{"icons":["ios-exit","md-exit"],"tags":["exit"]},{"icons":["ios-expand","md-expand"],"tags":["expand"]},{"icons":["ios-eye-off","md-eye-off"],"tags":["eye","off"]},{"icons":["ios-eye","md-eye"],"tags":["exposed","eye","look","see","view"]},{"icons":["ios-fastforward","md-fastforward"],"tags":["fastforward","jump","next","skip"]},{"icons":["ios-female","md-female"],"tags":["dudette","female","girl","lady"]},{"icons":["ios-filing","md-filing"],"tags":["archive","filing"]},{"icons":["ios-film","md-film"],"tags":["film"]},{"icons":["ios-finger-print","md-finger-print"],"tags":["finger","print"]},{"icons":["ios-fitness","md-fitness"],"tags":["fitness"]},{"icons":["ios-flag","md-flag"],"tags":["favorite","flag","marker"]},{"icons":["ios-flame","md-flame"],"tags":["fire","flame","heat","hot"]},{"icons":["ios-flash-off","md-flash-off"],"tags":["flash"]},{"icons":["ios-flash","md-flash"],"tags":["flash","lightning","weather","whether"]},{"icons":["ios-flashlight","md-flashlight"],"tags":["flashlight"]},{"icons":["ios-flask","md-flask"],"tags":["bubbles","flask","mixture","potion"]},{"icons":["ios-flower","md-flower"],"tags":["flower"]},{"icons":["ios-folder-open","md-folder-open"],"tags":["folder","open"]},{"icons":["ios-folder","md-folder"],"tags":["file","folder"]},{"icons":["ios-football","md-football"],"tags":["football","soccer"]},{"icons":["ios-funnel","md-funnel"],"tags":["funnel","sort"]},{"icons":["ios-gift","md-gift"],"tags":["gift"]},{"icons":["ios-git-branch","md-git-branch"],"tags":["branch","git"]},{"icons":["ios-git-commit","md-git-commit"],"tags":["commit","git"]},{"icons":["ios-git-compare","md-git-compare"],"tags":["compare","git"]},{"icons":["ios-git-merge","md-git-merge"],"tags":["git","merge"]},{"icons":["ios-git-network","md-git-network"],"tags":["git","network"]},{"icons":["ios-git-pull-request","md-git-pull-request"],"tags":["git","pull","request"]},{"icons":["ios-glasses","md-glasses"],"tags":["glasses","look","reading","see","steve"]},{"icons":["ios-globe","md-globe"],"tags":["globe"]},{"icons":["ios-grid","md-grid"],"tags":["grid","menu"]},{"icons":["ios-hammer","md-hammer"],"tags":["hammer","options","settings","tools"]},{"icons":["ios-hand","md-hand"],"tags":["hand","stop"]},{"icons":["ios-happy","md-happy"],"tags":["fun","good","happy","like","yes"]},{"icons":["ios-headset","md-headset"],"tags":["headset"]},{"icons":["ios-heart","md-heart"],"tags":["heart","love"]},{"icons":["ios-heart-dislike","md-heart-dislike"],"tags":["dislike","heart","love"]},{"icons":["ios-heart-empty","md-heart-empty"],"tags":["empty","heart","love"]},{"icons":["ios-heart-half","md-heart-half"],"tags":["half","heart","love"]},{"icons":["ios-help-buoy","md-help-buoy"],"tags":["?","buoy","help","question"]},{"icons":["ios-help-circle-outline","md-help-circle-outline"],"tags":["help"]},{"icons":["ios-help-circle","md-help-circle"],"tags":["circle","help"]},{"icons":["ios-help","md-help"],"tags":["?","help","information","question"]},{"icons":["ios-home","md-home"],"tags":["home","house"]},{"icons":["ios-hourglass","md-hourglass"],"tags":["hourglass"]},{"icons":["ios-ice-cream","md-ice-cream"],"tags":["cream","ice"]},{"icons":["ios-image","md-image"],"tags":["camera","image","photo"]},{"icons":["ios-images","md-images"],"tags":["images","photo"]},{"icons":["ios-infinite","md-infinite"],"tags":["forever","infinite","loop"]},{"icons":["ios-information-circle-outline","md-information-circle-outline"],"tags":["information"]},{"icons":["ios-information-circle","md-information-circle"],"tags":["circle","information"]},{"icons":["ios-information","md-information"],"tags":["help","information","knowledge"]},{"icons":["ios-jet","md-jet"],"tags":["fly","jet","plane"]},{"icons":["ios-journal","md-journal"],"tags":["journal"]},{"icons":["ios-key","md-key"],"tags":["access","key"]},{"icons":["ios-keypad","md-keypad"],"tags":["keypad","type"]},{"icons":["ios-laptop","md-laptop"],"tags":["apple","laptop","macbook","osx"]},{"icons":["ios-leaf","md-leaf"],"tags":["green","leaf","nature","plant","recycle"]},{"icons":["ios-link","md-link"],"tags":["anchor","attach","chain","href","link"]},{"icons":["ios-list-box","md-list-box"],"tags":["box","list"]},{"icons":["ios-list","md-list"],"tags":["list"]},{"icons":["ios-locate","md-locate"],"tags":["gps","locate","maps","navigate"]},{"icons":["ios-lock","md-lock"],"tags":["lock"]},{"icons":["ios-log-in","md-log-in"],"tags":["in","log","signin"]},{"icons":["ios-log-out","md-log-out"],"tags":["log","out","signout"]},{"icons":["ios-magnet","md-magnet"],"tags":["attraction","magnet","sticky"]},{"icons":["ios-mail-open","md-mail-open"],"tags":["mail","open"]},{"icons":["ios-mail-unread","md-mail-unread"],"tags":["mail","unread"]},{"icons":["ios-mail","md-mail"],"tags":["email","mail"]},{"icons":["ios-male","md-male"],"tags":["boy","dude","guy","male","male"]},{"icons":["ios-man","md-man"],"tags":["boy","dude","guy","male","man"]},{"icons":["ios-map","md-map"],"tags":["gps","map","navigation","pin"]},{"icons":["ios-medal","md-medal"],"tags":["medal"]},{"icons":["ios-medical","md-medical"],"tags":["medical"]},{"icons":["ios-medkit","md-medkit"],"tags":["case","disease","firstaid","health","medkit","sick"]},{"icons":["ios-megaphone","md-megaphone"],"tags":["megaphone"]},{"icons":["ios-menu","md-menu"],"tags":["menu"]},{"icons":["ios-mic-off","md-mic-off"],"tags":["mic","noise","off","sound","speaker","talk"]},{"icons":["ios-mic","md-mic"],"tags":["mic","noise","sound","speaker","talk"]},{"icons":["ios-microphone","md-microphone"],"tags":["microphone","music","noise","recorde","sound","speak"]},{"icons":["ios-moon","md-moon"],"tags":["dark","moon","night","sky"]},{"icons":["ios-more","md-more"],"tags":["more","options"]},{"icons":["ios-move","md-move"],"tags":["move"]},{"icons":["ios-musical-note","md-musical-note"],"tags":["listening","musical","noise","note","play","sound"]},{"icons":["ios-musical-notes","md-musical-notes"],"tags":["listening","musical","noise","notes","play","sound"]},{"icons":["ios-navigate","md-navigate"],"tags":["gps","location","map","navigate","pin"]},{"icons":["ios-notifications-off","md-notifications-off"],"tags":["notifications","off"]},{"icons":["ios-notifications-outline","md-notifications-outline"],"tags":["notifications"]},{"icons":["ios-notifications","md-notifications"],"tags":["notifications"]},{"icons":["ios-nuclear","md-nuclear"],"tags":["danger","hazard","nuclear","warning"]},{"icons":["ios-nutrition","md-nutrition"],"tags":["nutrition"]},{"icons":["ios-open","md-open"],"tags":["open"]},{"icons":["ios-options","md-options"],"tags":["options"]},{"icons":["ios-outlet","md-outlet"],"tags":["computer","digital","electricity","outlet"]},{"icons":["ios-paper-plane","md-paper-plane"],"tags":["paper","plane"]},{"icons":["ios-paper","md-paper"],"tags":["feed","paper","paper"]},{"icons":["ios-partly-sunny","md-partly-sunny"],"tags":["partly","sunny"]},{"icons":["ios-pause","md-pause"],"tags":["break","freeze","hold","music","pause"]},{"icons":["ios-paw","md-paw"],"tags":["paw"]},{"icons":["ios-people","md-people"],"tags":["head","human","people","person","stalker","users"]},{"icons":["ios-person-add","md-person-add"],"tags":["add","head","human","member","new","person","staff","users"]},{"icons":["ios-person","md-person"],"tags":["head","human","person","staff","users"]},{"icons":["ios-phone-landscape","md-phone-landscape"],"tags":["landscape","phone"]},{"icons":["ios-phone-portrait","md-phone-portrait"],"tags":["phone","portrait"]},{"icons":["ios-photos","md-photos"],"tags":["images","photos","square","stills"]},{"icons":["ios-pie","md-pie"],"tags":["cog","options","pie","settings"]},{"icons":["ios-pin","md-pin"],"tags":["gps","navigation","pin"]},{"icons":["ios-pint","md-pint"],"tags":["pint"]},{"icons":["ios-pizza","md-pizza"],"tags":["drink","eat","food","pizza"]},{"icons":["ios-planet","md-planet"],"tags":["globe","home","nature","planet","planet","space"]},{"icons":["ios-play-circle","md-play-circle"],"tags":["play"]},{"icons":["ios-play","md-play"],"tags":["arrow","music","play","right","watch"]},{"icons":["ios-podium","md-podium"],"tags":["award","compete","competition","lose","podium","win"]},{"icons":["ios-power","md-power"],"tags":["off","on","power"]},{"icons":["ios-pricetag","md-pricetag"],"tags":["$","commerce","items","money","pricetag","shopping"]},{"icons":["ios-pricetags","md-pricetags"],"tags":["$","commerce","items","money","pricetags","shopping"]},{"icons":["ios-print","md-print"],"tags":["print"]},{"icons":["ios-pulse","md-pulse"],"tags":["hot","live","pulse","rate"]},{"icons":["ios-qr-scanner","md-qr-scanner"],"tags":["qr","reader","scanner"]},{"icons":["ios-quote","md-quote"],"tags":["chat","quotation","quote"]},{"icons":["ios-radio-button-off","md-radio-button-off"],"tags":["button","off","radio"]},{"icons":["ios-radio-button-on","md-radio-button-on"],"tags":["button","on","radio"]},{"icons":["ios-radio","md-radio"],"tags":["radio"]},{"icons":["ios-rainy","md-rainy"],"tags":["cloud","rainy","water","weather","whether"]},{"icons":["ios-recording","md-recording"],"tags":["film","recording","tape","voicemail"]},{"icons":["ios-redo","md-redo"],"tags":["forward","redo"]},{"icons":["ios-refresh-circle","md-refresh-circle"],"tags":["circle","refresh"]},{"icons":["ios-refresh","md-refresh"],"tags":["refresh","reload","renew","reset"]},{"icons":["ios-remove-circle-outline","md-remove-circle-outline"],"tags":["remove"]},{"icons":["ios-remove-circle","md-remove-circle"],"tags":["circle","remove"]},{"icons":["ios-remove","md-remove"],"tags":["minus","remove","subtract"]},{"icons":["ios-reorder","md-reorder"],"tags":["reorder"]},{"icons":["ios-repeat","md-repeat"],"tags":["repeat"]},{"icons":["ios-resize","md-resize"],"tags":["resize"]},{"icons":["ios-restaurant","md-restaurant"],"tags":["restaurant"]},{"icons":["ios-return-left","md-return-left"],"tags":["left","return"]},{"icons":["ios-return-right","md-return-right"],"tags":["return","right"]},{"icons":["ios-reverse-camera","md-reverse-camera"],"tags":["camera","picture","reverse"]},{"icons":["ios-rewind","md-rewind"],"tags":["back","music","previous","rewind"]},{"icons":["ios-ribbon","md-ribbon"],"tags":["ribbon"]},{"icons":["ios-rocket","md-rocket"],"tags":["rocket"]},{"icons":["ios-rose","md-rose"],"tags":["rose"]},{"icons":["ios-sad","md-sad"],"tags":["bad","cry","no","sad"]},{"icons":["ios-save","md-save"],"tags":["save"]},{"icons":["ios-school","md-school"],"tags":["school"]},{"icons":["ios-search","md-search"],"tags":["magnifyingglass","search"]},{"icons":["ios-send","md-send"],"tags":["email","paper","send"]},{"icons":["ios-settings","md-settings"],"tags":["options","settings"]},{"icons":["ios-share-alt","md-share-alt"],"tags":["alt","share"]},{"icons":["ios-share","md-share"],"tags":["share"]},{"icons":["ios-shirt","md-shirt"],"tags":["shirt"]},{"icons":["ios-shuffle","md-shuffle"],"tags":["random","shuffle"]},{"icons":["ios-skip-backward","md-skip-backward"],"tags":["backward","music","previous","skip"]},{"icons":["ios-skip-forward","md-skip-forward"],"tags":["forward","music","next","skip"]},{"icons":["ios-snow","md-snow"],"tags":["snow"]},{"icons":["ios-speedometer","md-speedometer"],"tags":["drive","level","speed","speedometer"]},{"icons":["ios-square-outline","md-square-outline"],"tags":["square"]},{"icons":["ios-square","md-square"],"tags":["square"]},{"icons":["ios-star-half","md-star-half"],"tags":["favorite","half","rate","star"]},{"icons":["ios-star-outline","md-star-outline"],"tags":["star"]},{"icons":["ios-star","md-star"],"tags":["favorite","star"]},{"icons":["ios-stats","md-stats"],"tags":["stats"]},{"icons":["ios-stopwatch","md-stopwatch"],"tags":["stopwatch"]},{"icons":["ios-subway","md-subway"],"tags":["subway"]},{"icons":["ios-sunny","md-sunny"],"tags":["light","sky","sunny","weather","whether"]},{"icons":["ios-swap","md-swap"],"tags":["swap"]},{"icons":["ios-switch","md-switch"],"tags":["switch"]},{"icons":["ios-sync","md-sync"],"tags":["sync"]},{"icons":["ios-tablet-landscape","md-tablet-landscape"],"tags":["landscape","tablet"]},{"icons":["ios-tablet-portrait","md-tablet-portrait"],"tags":["portrait","tablet"]},{"icons":["ios-tennisball","md-tennisball"],"tags":["tennisball"]},{"icons":["ios-text","md-text"],"tags":["text"]},{"icons":["ios-thermometer","md-thermometer"],"tags":["cold","heat","hot","mercury","temperature","thermometer"]},{"icons":["ios-thumbs-down","md-thumbs-down"],"tags":["down","thumbs"]},{"icons":["ios-thumbs-up","md-thumbs-up"],"tags":["thumbs","up"]},{"icons":["ios-thunderstorm","md-thunderstorm"],"tags":["cloudy","lightning","overcast","rain","sky","storm","thunderstorm","weather","whether"]},{"icons":["ios-time","md-time"],"tags":["clock","hour","minute","second","time","watch"]},{"icons":["ios-timer","md-timer"],"tags":["clock","timer"]},{"icons":["ios-today","md-today"],"tags":["today"]},{"icons":["ios-train","md-train"],"tags":["train"]},{"icons":["ios-transgender","md-transgender"],"tags":["transgender"]},{"icons":["ios-trash","md-trash"],"tags":["close","delete","remove","trash"]},{"icons":["ios-trending-down","md-trending-down"],"tags":["down","trending"]},{"icons":["ios-trending-up","md-trending-up"],"tags":["trending","up"]},{"icons":["ios-trophy","md-trophy"],"tags":["award","compete","competition","lose","trophy","win"]},{"icons":["ios-tv","md-tv"],"tags":["television","tv"]},{"icons":["ios-umbrella","md-umbrella"],"tags":["dry","rain","shelter","umbrella","wet"]},{"icons":["ios-undo","md-undo"],"tags":["reply","undo"]},{"icons":["ios-unlock","md-unlock"],"tags":["unlock"]},{"icons":["ios-videocam","md-videocam"],"tags":["camera","film","movie","videocam"]},{"icons":["ios-volume-high","md-volume-high"],"tags":["volume"]},{"icons":["ios-volume-low","md-volume-low"],"tags":["volume"]},{"icons":["ios-volume-mute","md-volume-mute"],"tags":["mute","sound","volume"]},{"icons":["ios-volume-off","md-volume-off"],"tags":["off","volume"]},{"icons":["ios-wallet","md-wallet"],"tags":["cash","money","wallet"]},{"icons":["ios-walk","md-walk"],"tags":["walk"]},{"icons":["ios-warning","md-warning"],"tags":["warning"]},{"icons":["ios-watch","md-watch"],"tags":["watch"]},{"icons":["ios-water","md-water"],"tags":["water"]},{"icons":["ios-wifi","md-wifi"],"tags":["bars","connection","internet","wifi"]},{"icons":["ios-wine","md-wine"],"tags":["wine"]},{"icons":["ios-woman","md-woman"],"tags":["dudette","female","girl","lady","woman"]},{"icons":["logo-android"],"tags":["android"]},{"icons":["logo-angular"],"tags":["angular"]},{"icons":["logo-apple"],"tags":["apple"]},{"icons":["logo-bitbucket"],"tags":["bitbucket"]},{"icons":["logo-bitcoin"],"tags":["bitcoin"]},{"icons":["logo-buffer"],"tags":["buffer"]},{"icons":["logo-chrome"],"tags":["chrome"]},{"icons":["logo-closed-captioning"],"tags":["closed-captioning"]},{"icons":["logo-codepen"],"tags":["codepen"]},{"icons":["logo-css3"],"tags":["css3"]},{"icons":["logo-designernews"],"tags":["designernews"]},{"icons":["logo-dribbble"],"tags":["dribbble"]},{"icons":["logo-dropbox"],"tags":["dropbox"]},{"icons":["logo-euro"],"tags":["euro"]},{"icons":["logo-facebook"],"tags":["facebook"]},{"icons":["logo-flickr"],"tags":["flickr"]},{"icons":["logo-foursquare"],"tags":["foursquare"]},{"icons":["logo-freebsd-devil"],"tags":["freebsd-devil"]},{"icons":["logo-game-controller-a"],"tags":["controller","game"]},{"icons":["logo-game-controller-b"],"tags":["controller","game"]},{"icons":["logo-github"],"tags":["github"]},{"icons":["logo-google"],"tags":["google"]},{"icons":["logo-googleplus"],"tags":["googleplus"]},{"icons":["logo-hackernews"],"tags":["hackernews"]},{"icons":["logo-html5"],"tags":["html5"]},{"icons":["logo-instagram"],"tags":["instagram"]},{"icons":["logo-ionic"],"tags":["ionic"]},{"icons":["logo-ionitron"],"tags":["ionitron"]},{"icons":["logo-javascript"],"tags":["javascript"]},{"icons":["logo-linkedin"],"tags":["linkedin"]},{"icons":["logo-markdown"],"tags":["markdown"]},{"icons":["logo-model-s"],"tags":["model-s"]},{"icons":["logo-no-smoking"],"tags":["no-smoking"]},{"icons":["logo-nodejs"],"tags":["nodejs"]},{"icons":["logo-npm"],"tags":["npm"]},{"icons":["logo-octocat"],"tags":["octocat"]},{"icons":["logo-pinterest"],"tags":["pinterest"]},{"icons":["logo-playstation"],"tags":["playstation"]},{"icons":["logo-polymer"],"tags":["polymer"]},{"icons":["logo-python"],"tags":["python"]},{"icons":["logo-reddit"],"tags":["reddit"]},{"icons":["logo-rss"],"tags":["rss"]},{"icons":["logo-sass"],"tags":["sass"]},{"icons":["logo-skype"],"tags":["skype"]},{"icons":["logo-slack"],"tags":["slack"]},{"icons":["logo-snapchat"],"tags":["snapchat"]},{"icons":["logo-steam"],"tags":["steam"]},{"icons":["logo-tumblr"],"tags":["tumblr"]},{"icons":["logo-tux"],"tags":["tux"]},{"icons":["logo-twitch"],"tags":["twitch"]},{"icons":["logo-twitter"],"tags":["twitter"]},{"icons":["logo-usd"],"tags":["usd"]},{"icons":["logo-vimeo"],"tags":["vimeo"]},{"icons":["logo-vk"],"tags":["vk"]},{"icons":["logo-whatsapp"],"tags":["whatsapp"]},{"icons":["logo-windows"],"tags":["windows"]},{"icons":["logo-wordpress"],"tags":["wordpress"]},{"icons":["logo-xbox"],"tags":["xbox"]},{"icons":["logo-xing"],"tags":["xing"]},{"icons":["logo-yahoo"],"tags":["yahoo"]},{"icons":["logo-yen"],"tags":["yen"]},{"icons":["logo-youtube"],"tags":["youtube"]}],"version":"4.4.5"}PK}w�\ӵoDoDionicons/ionicons.uhp57gzi.jsnu�[���/*! Built with http://stenciljs.com */ (function(Context,namespace,hydratedCssClass,resourcesUrl,s){"use strict"; s=document.querySelector("script[data-namespace='ionicons']");if(s){resourcesUrl=s.getAttribute('data-resources-url');} (function(t,e,n,o){"use strict";function i(t,e){return"sc-"+t.t+(e&&e!==N?"-"+e:"")}function c(t,e){return t+(e?"-h":"-s")}function f(t,e,n,o){let c=n.t+o.mode,f=n[c];if((2===n.e||1===n.e&&!t.o.n)&&(o["s-sc"]=f?i(n,o.mode):i(n)),f||(f=n[c=n.t+N]),f){let i=e.i.head;if(e.n)if(1===n.e)i=o.shadowRoot;else{let t=o;for(;t=e.c(t);)if(t.host&&t.host.shadowRoot){i=t.host.shadowRoot;break}}let r=t.f.get(i);if(r||t.f.set(i,r={}),!r[c]){let t;{t=f.content.cloneNode(!0),r[c]=!0;const n=i.querySelectorAll("[data-styles]");e.r(i,t,n.length&&n[n.length-1].nextSibling||i.firstChild)}}}}function r(t,e,n,o="boolean"==typeof n){const i=e!==(e=e.replace(/^xlink\:?/,""));null==n||o&&(!n||"false"===n)?i?t.removeAttributeNS(D,T(e)):t.removeAttribute(e):"function"!=typeof n&&(n=o?"":n.toString(),i?t.setAttributeNS(D,T(e),n):t.setAttribute(e,n))}function s(t,e,n,o,i,c,f){if("class"!==n||c)if("style"===n){for(const t in o)i&&null!=i[t]||(/-/.test(t)?e.style.s(t):e.style[t]="");for(const t in i)o&&i[t]===o[t]||(/-/.test(t)?e.style.setProperty(t,i[t]):e.style[t]=i[t])}else if("o"!==n[0]||"n"!==n[1]||!/[A-Z]/.test(n[2])||n in e)if("list"!==n&&"type"!==n&&!c&&(n in e||-1!==["object","function"].indexOf(typeof i)&&null!==i)){const o=t.l(e);o&&o.u&&o.u[n]?(u(e,n,i),f&&o.u[n].a&&r(e,o.u[n].p,i,4===o.u[n].d)):"ref"!==n&&(u(e,n,null==i?"":i),null!=i&&!1!==i||t.o.v(e,n))}else null!=i&&"key"!==n?r(e,n,i):(c||t.o.m(e,n)&&(null==i||!1===i))&&t.o.v(e,n);else n=T(n)in e?T(n.substring(2)):T(n[2])+n.substring(3),i?i!==o&&t.o.b(e,n,i):t.o.y(e,n);else if(o!==i){const t=l(o),n=l(i),c=t.filter(t=>!n.includes(t)),f=l(e.className).filter(t=>!c.includes(t)),r=n.filter(e=>!t.includes(e)&&!f.includes(e));f.push(...r),e.className=f.join(" ")}}function l(t){return null==t||""===t?[]:t.trim().split(/\s+/)}function u(t,e,n){try{t[e]=n}catch(t){}}function a(t,e,n,o,i){const c=11===n.w.nodeType&&n.w.host?n.w.host:n.w,f=e&&e.vattrs||S,r=n.vattrs||S;for(i in f)r&&null!=r[i]||null==f[i]||s(t,c,i,f[i],void 0,o,n.g);for(i in r)i in f&&r[i]===("value"===i||"checked"===i?c[i]:f[i])||s(t,c,i,f[i],r[i],o,n.g)}function p(t,e){function n(i,c,f,r,s,p,y,h,w){if(h=c.vchildren[f],l||(d=!0,"slot"===h.vtag&&(u&&e.M(r,u+"-s"),h.vchildren?h.k=!0:h.C=!0)),R(h.vtext))h.w=e.j(h.vtext);else if(h.C)h.w=e.j("");else{if(p=h.w=P||"svg"===h.vtag?e.O("http://www.w3.org/2000/svg",h.vtag):e.x(h.k?"slot-fb":h.vtag),t.W(p)&&t.N.delete(b),P="svg"===h.vtag||"foreignObject"!==h.vtag&&P,a(t,null,h,P),R(u)&&p["s-si"]!==u&&e.M(p,p["s-si"]=u),h.vchildren)for(s=0;s<h.vchildren.length;++s)(y=n(i,h,s,p))&&e.S(p,y);"svg"===h.vtag&&(P=!1)}return h.w["s-hn"]=m,(h.k||h.C)&&(h.w["s-sr"]=!0,h.w["s-cr"]=v,h.w["s-sn"]=h.vname||"",(w=i&&i.vchildren&&i.vchildren[f])&&w.vtag===h.vtag&&i.w&&o(i.w)),h.w}function o(n,i,c,f){t.A=!0;const l=e.R(n);for(c=l.length-1;c>=0;c--)(f=l[c])["s-hn"]!==m&&f["s-ol"]&&(e.T(f),e.r(s(f),f,r(f)),e.T(f["s-ol"]),f["s-ol"]=null,d=!0),i&&o(f,i);t.A=!1}function i(t,o,i,c,f,s,l,u){const a=t["s-cr"];for((l=a&&e.c(a)||t).shadowRoot&&e.L(l)===m&&(l=l.shadowRoot);f<=s;++f)c[f]&&(u=R(c[f].vtext)?e.j(c[f].vtext):n(null,i,f,t))&&(c[f].w=u,e.r(l,u,r(o)))}function c(t,n,i,c){for(;n<=i;++n)R(t[n])&&(c=t[n].w,p=!0,c["s-ol"]?e.T(c["s-ol"]):o(c,!0),e.T(c))}function f(t,e){return t.vtag===e.vtag&&t.vkey===e.vkey&&("slot"!==t.vtag||t.vname===e.vname)}function r(t){return t&&t["s-ol"]?t["s-ol"]:t}function s(t){return e.c(t["s-ol"]?t["s-ol"]:t)}let l,u,p,d,v,m,b;const y=[];return function h(w,$,g,M,k,C,j,O,x,W,E,N){if(b=w,m=e.L(b),v=b["s-cr"],l=M,u=b["s-sc"],d=p=!1,function l(u,p,d){const v=p.w=u.w,m=u.vchildren,b=p.vchildren;P=p.w&&R(e.D(p.w))&&void 0!==p.w.ownerSVGElement,P="svg"===p.vtag||"foreignObject"!==p.vtag&&P,R(p.vtext)?(d=v["s-cr"])?e.P(e.c(d),p.vtext):u.vtext!==p.vtext&&e.P(v,p.vtext):("slot"!==p.vtag&&a(t,u,p,P),R(m)&&R(b)?function y(t,u,a,p,d,v,m,b){let y=0,h=0,w=u.length-1,$=u[0],g=u[w],M=p.length-1,k=p[0],C=p[M];for(;y<=w&&h<=M;)if(null==$)$=u[++y];else if(null==g)g=u[--w];else if(null==k)k=p[++h];else if(null==C)C=p[--M];else if(f($,k))l($,k),$=u[++y],k=p[++h];else if(f(g,C))l(g,C),g=u[--w],C=p[--M];else if(f($,C))"slot"!==$.vtag&&"slot"!==C.vtag||o(e.c($.w)),l($,C),e.r(t,$.w,e.q(g.w)),$=u[++y],C=p[--M];else if(f(g,k))"slot"!==$.vtag&&"slot"!==C.vtag||o(e.c(g.w)),l(g,k),e.r(t,g.w,$.w),g=u[--w],k=p[++h];else{for(d=null,v=y;v<=w;++v)if(u[v]&&R(u[v].vkey)&&u[v].vkey===k.vkey){d=v;break}R(d)?((b=u[d]).vtag!==k.vtag?m=n(u&&u[h],a,d,t):(l(b,k),u[d]=void 0,m=b.w),k=p[++h]):(m=n(u&&u[h],a,h,t),k=p[++h]),m&&e.r(s($.w),m,r($.w))}y>w?i(t,null==p[M+1]?null:p[M+1].w,a,p,h,M):h>M&&c(u,y,w)}(v,m,p,b):R(b)?(R(u.vtext)&&e.P(v,""),i(v,null,p,b,0,b.length-1)):R(m)&&c(m,0,m.length-1)),P&&"svg"===p.vtag&&(P=!1)}($,g),d){for(function t(n,o,i,c,f,r,s,l,u,a){for(f=0,r=(o=e.R(n)).length;f<r;f++){if((i=o[f])["s-sr"]&&(c=i["s-cr"]))for(l=e.R(e.c(c)),u=i["s-sn"],s=l.length-1;s>=0;s--)(c=l[s])["s-cn"]||c["s-nr"]||c["s-hn"]===i["s-hn"]||((3===(a=e.B(c))||8===a)&&""===u||1===a&&null===e.I(c,"slot")&&""===u||1===a&&e.I(c,"slot")===u)&&(y.some(t=>t.F===c)||(p=!0,c["s-sn"]=u,y.push({H:i,F:c})));1===e.B(i)&&t(i)}}(g.w),j=0;j<y.length;j++)(O=y[j]).F["s-ol"]||((x=e.j(""))["s-nr"]=O.F,e.r(e.c(O.F),O.F["s-ol"]=x,O.F));for(t.A=!0,j=0;j<y.length;j++){for(O=y[j],E=e.c(O.H),N=e.q(O.H),x=O.F["s-ol"];x=e.U(x);)if((W=x["s-nr"])&&W&&W["s-sn"]===O.F["s-sn"]&&E===e.c(W)&&(W=e.q(W))&&W&&!W["s-nr"]){N=W;break}(!N&&E!==e.c(O.F)||e.q(O.F)!==N)&&O.F!==N&&(e.T(O.F),e.r(E,O.F,N))}t.A=!1}return p&&function t(n,o,i,c,f,r,s,l){for(c=0,f=(i=e.R(n)).length;c<f;c++)if(o=i[c],1===e.B(o)){if(o["s-sr"])for(s=o["s-sn"],o.hidden=!1,r=0;r<f;r++)if(i[r]["s-hn"]!==o["s-hn"])if(l=e.B(i[r]),""!==s){if(1===l&&s===e.I(i[r],"slot")){o.hidden=!0;break}}else if(1===l||3===l&&""!==e.Q(i[r]).trim()){o.hidden=!0;break}t(o)}}(g.w),y.length=0,g}}function d(t,e){t&&(t.vattrs&&t.vattrs.ref&&t.vattrs.ref(e?null:t.w),t.vchildren&&t.vchildren.forEach(t=>{d(t,e)}))}function v(t,e,n,o,i){const c=t.B(e);let f,r,s,l;if(i&&1===c){(r=t.I(e,E))&&(s=r.split("."))[0]===o&&((l={}).vtag=t.L(l.w=e),n.vchildren||(n.vchildren=[]),n.vchildren[s[1]]=l,n=l,i=""!==s[2]);for(let c=0;c<e.childNodes.length;c++)v(t,e.childNodes[c],n,o,i)}else 3===c&&(f=e.previousSibling)&&8===t.B(f)&&"s"===(s=t.Q(f).split("."))[0]&&s[1]===o&&((l={vtext:t.Q(e)}).w=e,n.vchildren||(n.vchildren=[]),n.vchildren[s[2]]=l)}function m(t,e){let n,o,i=null,c=!1,f=!1;for(var r=arguments.length;r-- >2;)q.push(arguments[r]);for(;q.length>0;){let e=q.pop();if(e&&void 0!==e.pop)for(r=e.length;r--;)q.push(e[r]);else"boolean"==typeof e&&(e=null),(f="function"!=typeof t)&&(null==e?e="":"number"==typeof e?e=String(e):"string"!=typeof e&&(f=!1)),f&&c?i[i.length-1].vtext+=e:null===i?i=[f?{vtext:e}:e]:i.push(f?{vtext:e}:e),c=f}if(null!=e){if(e.className&&(e.class=e.className),"object"==typeof e.class){for(r in e.class)e.class[r]&&q.push(r);e.class=q.join(" "),q.length=0}null!=e.key&&(n=e.key),null!=e.name&&(o=e.name)}return"function"==typeof t?t(e,i||[],B):{vtag:t,vchildren:i,vtext:void 0,vattrs:e,vkey:n,vname:o,w:void 0,g:!1}}function b(t){return{vtag:t.vtag,vchildren:t.vchildren,vtext:t.vtext,vattrs:t.vattrs,vkey:t.vkey,vname:t.vname}}function y(t){const[e,n,,o,i,c]=t,f={color:{p:"color"}};if(o)for(let t=0;t<o.length;t++){const e=o[t];f[e[0]]={Z:e[1],a:!!e[2],p:"string"==typeof e[3]?e[3]:e[3]?e[0]:0,d:e[4]}}return{t:e,z:n,u:Object.assign({},f),e:i,G:c?c.map(h):void 0}}function h(t){return{J:t[0],K:t[1],V:!!t[2],X:!!t[3],Y:!!t[4]}}function w(t,e){if(R(e)&&"object"!=typeof e&&"function"!=typeof e){if(t===Boolean||4===t)return"false"!==e&&(""===e||!!e);if(t===Number||8===t)return parseFloat(e);if(t===String||2===t)return e.toString()}return e}function $(t,e){t._.add(e),t.tt.has(e)||(t.tt.set(e,!0),t.et?t.queue.write(()=>g(t,e)):t.queue.tick(()=>g(t,e)))}async function g(t,e,n,o,i){if(t.tt.delete(e),!t.nt.has(e)){if(o=t.ot.get(e)){if(o)try{o.componentWillUpdate&&await o.componentWillUpdate()}catch(n){t.it(n,5,e)}}else{if((i=t.ct.get(e))&&!i["s-rn"])return void(i["s-rc"]=i["s-rc"]||[]).push(()=>{g(t,e)});if(o=function f(t,e,n,o,i,c,r){try{o=new(i=t.l(e).ft),function s(t,e,n,o,i){t.rt.set(o,n),t.st.has(n)||t.st.set(n,{}),Object.entries(Object.assign({color:{type:String}},e.properties,{mode:{type:String}})).forEach(([e,c])=>{(function f(t,e,n,o,i,c,r,s){if(e.type||e.state){const f=t.st.get(n);e.state||(!e.attr||void 0!==f[i]&&""!==f[i]||(r=c&&c.lt)&&R(s=r[e.attr])&&(f[i]=w(e.type,s)),n.hasOwnProperty(i)&&(void 0===f[i]&&(f[i]=w(e.type,n[i])),"mode"!==i&&delete n[i])),o.hasOwnProperty(i)&&void 0===f[i]&&(f[i]=o[i]),e.watchCallbacks&&(f[I+i]=e.watchCallbacks.slice()),C(o,i,function l(e){return(e=t.st.get(t.rt.get(this)))&&e[i]},function u(n,o){(o=t.rt.get(this))&&(e.state||e.mutable)&&M(t,o,i,n)})}else if(e.elementRef)k(o,i,n);else if(e.context){const c=t.ut(e.context);void 0!==c&&k(o,i,c.at&&c.at(n)||c)}})(t,c,n,o,e,i)})}(t,i,e,o,n)}catch(n){o={},t.it(n,7,e,!0)}return t.ot.set(e,o),o}(t,e,t.pt.get(e)))try{o.componentWillLoad&&await o.componentWillLoad()}catch(n){t.it(n,3,e)}}(function r(t,e,n,o){try{const i=e.ft.host,f=e.ft.encapsulation,r="shadow"===f&&t.o.n;let s,l=n;if(s=function i(t,e,n){return t&&Object.keys(t).forEach(o=>{t[o].reflectToAttr&&((n=n||{})[o]=e[o])}),n}(e.ft.properties,o),r&&(l=n.shadowRoot),!n["s-rn"]){t.dt(t,t.o,e,n);const o=n["s-sc"];o&&(t.o.M(n,c(o,!0)),"scoped"===f&&t.o.M(n,c(o)))}if(o.render||o.hostData||i||s){t.vt=!0;const e=o.render&&o.render();let i;i=o.hostData&&o.hostData(),s&&(i=i?Object.assign(i,s):s),t.vt=!1;const c=t.mt.get(n)||{};c.w=l;const u=m(null,i,e);u.g=!0,t.mt.set(n,t.render(n,c,u,r,f))}n["s-rn"]=!0,n["s-rc"]&&(n["s-rc"].forEach(t=>t()),n["s-rc"]=null)}catch(e){t.vt=!1,t.it(e,8,n,!0)}})(t,t.l(e),e,o),e["s-init"]()}}function M(t,e,n,o,i){let c=t.st.get(e);c||t.st.set(e,c={});const f=c[n];if(o!==f&&(c[n]=o,i=t.ot.get(e))){{const t=c[I+n];if(t)for(let e=0;e<t.length;e++)try{i[t[e]].call(i,o,f,n)}catch(t){}}!t.vt&&e["s-rn"]&&$(t,e)}}function k(t,e,n){Object.defineProperty(t,e,{configurable:!0,value:n})}function C(t,e,n,o){Object.defineProperty(t,e,{configurable:!0,get:n,set:o})}function j(t,e,n,o,i,c){if(t._.delete(e),(i=t.ct.get(e))&&((o=i["s-ld"])&&((n=o.indexOf(e))>-1&&o.splice(n,1),o.length||i["s-init"]&&i["s-init"]()),t.ct.delete(e)),t.bt.length&&!t._.size)for(;c=t.bt.shift();)c()}function O(t,e,n,o){if(n.connectedCallback=function(){(function n(t,e,o){t.nt.delete(o),t.yt.has(o)||(t._.add(o),t.yt.set(o,!0),o["s-id"]||(o["s-id"]=t.ht()),function i(t,e,n){for(n=e;n=t.o.D(n);)if(t.W(n)){t.N.has(e)||(t.ct.set(e,n),(n["s-ld"]=n["s-ld"]||[]).push(e));break}}(t,o),t.queue.tick(()=>{t.pt.set(o,function n(t,e,o,i,c){return o.mode||(o.mode=t.wt(o)),o["s-cr"]||t.I(o,W)||t.n&&1===e.e||(o["s-cr"]=t.j(""),o["s-cr"]["s-cn"]=!0,t.r(o,o["s-cr"],t.R(o)[0])),t.n||1!==e.e||(o.shadowRoot=o),1===e.e&&t.n&&!o.shadowRoot&&t.$t(o,{mode:"open"}),i={gt:o["s-id"],lt:{}},e.u&&Object.keys(e.u).forEach(n=>{(c=e.u[n].p)&&(i.lt[c]=t.I(o,c))}),i}(t.o,e,o)),t.Mt(e,o)}))})(t,e,this)},n.disconnectedCallback=function(){(function e(t,n){if(!t.A&&function o(t,e){for(;e;){if(!t.c(e))return 9!==t.B(e);e=t.c(e)}}(t.o,n)){t.nt.set(n,!0),j(t,n),d(t.mt.get(n),!0),t.o.y(n),t.kt.delete(n);{const e=t.ot.get(n);e&&e.componentDidUnload&&e.componentDidUnload()}[t.ct,t.Ct,t.pt].forEach(t=>t.delete(n))}})(t,this)},n["s-init"]=function(){(function e(t,n,o,i,c,f){if(t.ot.get(n)&&!t.nt.has(n)&&(!n["s-ld"]||!n["s-ld"].length)){t.N.set(n,!0),t.jt.has(n)||(t.jt.set(n,!0),n["s-ld"]=void 0,t.o.M(n,o));try{d(t.mt.get(n)),(c=t.Ct.get(n))&&(c.forEach(t=>t(n)),t.Ct.delete(n))}catch(e){t.it(e,4,n)}j(t,n)}})(t,this,o)},n.forceUpdate=function(){$(t,this)},e.u){const o=Object.entries(e.u);{let t={};o.forEach(([e,{p:n}])=>{n&&(t[n]=e)}),t=Object.assign({},t),n.attributeChangedCallback=function(e,n,o){(function i(t,e,n,o){const i=t[T(n)];i&&(e[i]=o)})(t,this,e,o)}}(function i(t,e,n){e.forEach(([e,o])=>{const i=o.Z;3&i?C(n,e,function n(){return(t.st.get(this)||{})[e]},function n(i){M(t,this,e,w(o.d,i))}):32===i&&k(n,e,L)})})(t,o,n)}}function x(t,e,n,o){return function(){const i=arguments;return function c(t,e,n){let o=e[n];const i=t.i.body;return i?(o||(o=i.querySelector(n)),o||(o=e[n]=t.x(n),t.S(i,o)),o.componentOnReady()):Promise.resolve()}(t,e,n).then(t=>t[o].apply(t,i))}}const W="ssrv",E="ssrc",N="$",S={},A={enter:13,escape:27,space:32,tab:9,left:37,up:38,right:39,down:40},R=t=>null!=t,T=t=>t.toLowerCase(),L=()=>{},D="http://www.w3.org/1999/xlink";let P=!1;const q=[],B={forEach:(t,e)=>{t.forEach((t,n,o)=>e(b(t),n,o))},map:(t,e)=>t.map((t,n,o)=>(function i(t){return{vtag:t.vtag,vchildren:t.vchildren,vtext:t.vtext,vattrs:t.vattrs,vkey:t.vkey,vname:t.vname}})(e(b(t),n,o)))},I="wc-";(function F(t,e,n,o,i,c){function r(t,e){const o=t.t;n.customElements.get(o)||(O(w,s[o]=t,e.prototype,c),e.observedAttributes=Object.values(t.u).map(t=>t.p).filter(t=>!!t),n.customElements.define(t.t,e))}const s={html:{}},l={},u=n[t]=n[t]||{},a=function d(t,e,n){t.ael||(t.ael=((t,e,n,o)=>t.addEventListener(e,n,o)),t.rel=((t,e,n,o)=>t.removeEventListener(e,n,o)));const o=new WeakMap,i={i:n,n:!!n.documentElement.attachShadow,Ot:!1,B:t=>t.nodeType,x:t=>n.createElement(t),O:(t,e)=>n.createElementNS(t,e),j:t=>n.createTextNode(t),xt:t=>n.createComment(t),r:(t,e,n)=>t.insertBefore(e,n),T:t=>t.remove(),S:(t,e)=>t.appendChild(e),M:(t,e)=>{t.classList.add(e)},R:t=>t.childNodes,c:t=>t.parentNode,q:t=>t.nextSibling,U:t=>t.previousSibling,L:t=>T(t.nodeName),Q:t=>t.textContent,P:(t,e)=>t.textContent=e,I:(t,e)=>t.getAttribute(e),Wt:(t,e,n)=>t.setAttribute(e,n),Et:(t,e,n,o)=>t.setAttributeNS(e,n,o),v:(t,e)=>t.removeAttribute(e),m:(t,e)=>t.hasAttribute(e),wt:e=>e.getAttribute("mode")||(t.Context||{}).mode,Nt:(t,o)=>"child"===o?t.firstElementChild:"parent"===o?i.D(t):"body"===o?n.body:"document"===o?n:"window"===o?e:t,b:(e,n,c,f,r,s,l,u)=>{const a=n;let p=e,d=o.get(e);if(d&&d[a]&&d[a](),"string"==typeof s?p=i.Nt(e,s):"object"==typeof s?p=s:(u=n.split(":")).length>1&&(p=i.Nt(e,u[0]),n=u[1]),!p)return;let v=c;(u=n.split(".")).length>1&&(n=u[0],v=(t=>{t.keyCode===A[u[1]]&&c(t)})),l=i.Ot?{capture:!!f,passive:!!r}:!!f,t.ael(p,n,v,l),d||o.set(e,d={}),d[a]=(()=>{p&&t.rel(p,n,v,l),d[a]=null})},y:(t,e)=>{const n=o.get(t);n&&(e?n[e]&&n[e]():Object.keys(n).forEach(t=>{n[t]&&n[t]()}))},St:(t,n,o)=>t&&t.dispatchEvent(new e.CustomEvent(n,o)),D:(t,e)=>(e=i.c(t))&&11===i.B(e)?e.host:e,$t:(t,e)=>t.attachShadow(e)};return i}(u,n,o);e.isServer=e.isPrerender=!(e.isClient=!0),e.window=n,e.location=n.location,e.document=o,e.resourcesUrl=e.publicPath=i,u.h=m,u.Context=e;const b=n["s-defined"]=n["s-defined"]||{};let h=0;const w={o:a,At:r,Rt:e.emit,l:t=>s[a.L(t)],ut:t=>e[t],isClient:!0,W:t=>!(!b[a.L(t)]&&!w.l(t)),ht:()=>t+h++,it:(t,e,n)=>void 0,Tt:t=>(function e(t,n,o){return{create:x(t,n,o,"create"),componentOnReady:x(t,n,o,"componentOnReady")}})(a,l,t),queue:e.queue=function g(t,e){function n(e){return n=>{e.push(n),d||(d=!0,t.raf(c))}}function o(t){for(let e=0;e<t.length;e++)try{t[e](f())}catch(t){}t.length=0}function i(t,e){let n,o=0;for(;o<t.length&&(n=f())<e;)try{t[o++](n)}catch(t){}o===t.length?t.length=0:0!==o&&t.splice(0,o)}function c(){p++,o(l);const e=f()+7*Math.ceil(p*(1/22));i(u,e),i(a,e),u.length>0&&(a.push(...u),u.length=0),(d=l.length+u.length+a.length>0)?t.raf(c):p=0}const f=()=>e.performance.now(),r=Promise.resolve(),s=[],l=[],u=[],a=[];let p=0,d=!1;return t.raf||(t.raf=e.requestAnimationFrame.bind(e)),{tick(t){s.push(t),1===s.length&&r.then(()=>o(s))},read:n(l),write:n(u)}}(u,n),Mt:function M(t,e,n){if(t.ft)$(w,e);else{const n="string"==typeof t.z?t.z:t.z[e.mode],o=!a.n;import(i+n+(o?".sc":"")+".entry.js").then(n=>{try{t.ft=n[(t=>T(t).split("-").map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(""))(t.t)],function o(t,e,n,i,c){if(i){const n=e.t+(c||N);if(!e[n]){const o=t.x("template");e[n]=o,o.innerHTML=`<style>${i}</style>`,t.S(t.i.head,o)}}}(a,t,t.e,t.ft.style,t.ft.styleMode),$(w,e)}catch(e){t.ft=class{}}},t=>void 0)}},vt:!1,et:!1,A:!1,dt:f,ct:new WeakMap,f:new WeakMap,yt:new WeakMap,kt:new WeakMap,jt:new WeakMap,N:new WeakMap,rt:new WeakMap,pt:new WeakMap,ot:new WeakMap,nt:new WeakMap,tt:new WeakMap,Ct:new WeakMap,Lt:new WeakMap,mt:new WeakMap,st:new WeakMap,_:new Set,bt:[]};u.onReady=(()=>new Promise(t=>w.queue.write(()=>w._.size?w.bt.push(t):t()))),w.render=p(w,a);const k=a.i.documentElement;k["s-ld"]=[],k["s-rn"]=!0,k["s-init"]=(()=>{w.N.set(k,u.loaded=w.et=!0),a.St(n,"appload",{detail:{namespace:t}})}),function C(t,e,n){const o=n.querySelectorAll(`[${W}]`),i=o.length;let c,f,r,s,l,u;if(i>0)for(t.N.set(n,!0),s=0;s<i;s++)for(c=o[s],f=e.I(c,W),(r={}).vtag=e.L(r.w=c),t.mt.set(c,r),l=0,u=c.childNodes.length;l<u;l++)v(e,c.childNodes[l],r,f,!0)}(w,a,k),(u.components||[]).map(y).forEach(t=>r(t,class extends HTMLElement{})),function j(t,e,n,o,i,c){if(e.componentOnReady=((e,n)=>{if(!e.nodeName.includes("-"))return n(null),!1;const o=t.l(e);if(o)if(t.N.has(e))n(e);else{const o=t.Ct.get(e)||[];o.push(n),t.Ct.set(e,o)}return!!o}),i){for(c=i.length-1;c>=0;c--)e.componentOnReady(i[c][0],i[c][1])&&i.splice(c,1);for(c=0;c<o.length;c++)if(!n[o[c]].componentOnReady)return;for(c=0;c<i.length;c++)i[c][1](null);i.length=0}}(w,u,n,n["s-apps"],n["s-cr"]),u.initialized=!0})(o,n,t,e,resourcesUrl,hydratedCssClass)})(window,document,Context,namespace); })({},"ionicons","hydrated");PK}w�\V�m���!ionicons/esckjbl8.sc.es5.entry.jsnu�[���/*! Built with http://stenciljs.com */ ionicons.loadBundle("esckjbl8",["exports"],function(t){var e=window.ionicons.h;function i(t,e,i,n){return e=(e||"md").toLowerCase(),i&&"ios"===e?t=i.toLowerCase():n&&"md"===e?t=n.toLowerCase():t&&(t=t.toLowerCase(),/^md-|^ios-|^logo-/.test(t)||(t=e+"-"+t)),"string"!=typeof t||""===t.trim()?null:""!==t.replace(/[a-z]|-|\d/gi,"")?null:t}function n(t){return"string"==typeof t&&(t=t.trim()).length>0&&/(\/|\.)/.test(t)?t:null}var r=function(){function t(){this.isVisible=!1,this.lazy=!1}return t.prototype.componentWillLoad=function(){var t=this;this.waitUntilVisible(this.el,"50px",function(){t.isVisible=!0,t.loadIcon()})},t.prototype.componentDidUnload=function(){this.io&&(this.io.disconnect(),this.io=void 0)},t.prototype.waitUntilVisible=function(t,e,i){var n=this;if(this.lazy&&this.win&&this.win.IntersectionObserver){var r=this.io=new this.win.IntersectionObserver(function(t){t[0].isIntersecting&&(r.disconnect(),n.io=void 0,i())},{rootMargin:e});r.observe(t)}else i()},t.prototype.loadIcon=function(){var t=this;if(!this.isServer&&this.isVisible){var e=this.getUrl();e&&function(t,e,i){var n=o.get(e);return n||(n=fetch(e,{cache:"force-cache"}).then(function(t){return t.ok?t.text():Promise.resolve(null)}).then(function(e){return function(t,e,i){if(e){var n=t.createDocumentFragment(),r=t.createElement("div");r.innerHTML=e,n.appendChild(r);for(var o=r.childNodes.length-1;o>=0;o--)"svg"!==r.childNodes[o].nodeName.toLowerCase()&&r.removeChild(r.childNodes[o]);var s=r.firstElementChild;if(s&&"svg"===s.nodeName.toLowerCase()&&(s.setAttribute("class","s-ion-icon"),function t(e){if(1===e.nodeType){if("script"===e.nodeName.toLowerCase())return!1;for(var i=0;i<e.attributes.length;i++){var n=e.attributes[i].value;if("string"==typeof n&&0===n.toLowerCase().indexOf("on"))return!1}for(i=0;i<e.childNodes.length;i++)if(!t(e.childNodes[i]))return!1}return!0}(s)))return r.innerHTML}return""}(t,e)}),o.set(e,n)),n}(this.doc,e).then(function(e){return t.svgContent=e})}if(!this.ariaLabel){var n=i(this.name,this.mode,this.ios,this.md);n&&(this.ariaLabel=n.replace("ios-","").replace("md-","").replace(/\-/g," "))}},t.prototype.getUrl=function(){var t=n(this.src);return t||((t=i(this.name,this.mode,this.ios,this.md))?this.getNamedUrl(t):(t=n(this.icon))?t:(t=i(this.icon,this.mode,this.ios,this.md))?this.getNamedUrl(t):null)},t.prototype.getNamedUrl=function(t){return this.resourcesUrl+"svg/"+t+".svg"},t.prototype.hostData=function(){var t;return{role:"img",class:Object.assign({},function(t){var e;return t?((e={"ion-color":!0})["ion-color-"+t]=!0,e):null}(this.color),(t={},t["icon-"+this.size]=!!this.size,t))}},t.prototype.render=function(){return e("div",!this.isServer&&this.svgContent?{class:"icon-inner",innerHTML:this.svgContent}:{class:"icon-inner"})},Object.defineProperty(t,"is",{get:function(){return"ion-icon"},enumerable:!0,configurable:!0}),Object.defineProperty(t,"encapsulation",{get:function(){return"shadow"},enumerable:!0,configurable:!0}),Object.defineProperty(t,"properties",{get:function(){return{ariaLabel:{type:String,attr:"aria-label",reflectToAttr:!0,mutable:!0},color:{type:String,attr:"color"},doc:{context:"document"},el:{elementRef:!0},icon:{type:String,attr:"icon",watchCallbacks:["loadIcon"]},ios:{type:String,attr:"ios"},isServer:{context:"isServer"},isVisible:{state:!0},lazy:{type:Boolean,attr:"lazy"},md:{type:String,attr:"md"},mode:{type:String,attr:"mode"},name:{type:String,attr:"name",watchCallbacks:["loadIcon"]},resourcesUrl:{context:"resourcesUrl"},size:{type:String,attr:"size"},src:{type:String,attr:"src",watchCallbacks:["loadIcon"]},svgContent:{state:!0},win:{context:"window"}}},enumerable:!0,configurable:!0}),Object.defineProperty(t,"style",{get:function(){return".sc-ion-icon-h{display:inline-block;width:1em;height:1em;contain:strict;-webkit-box-sizing:content-box!important;box-sizing:content-box!important}.ion-color.sc-ion-icon-h{color:var(--ion-color-base)!important}.icon-small.sc-ion-icon-h{font-size:var(--ion-icon-size-small,18px)!important}.icon-large.sc-ion-icon-h{font-size:var(--ion-icon-size-large,32px)!important}.icon-inner.sc-ion-icon, svg.sc-ion-icon{display:block;fill:currentColor;stroke:currentColor;height:100%;width:100%}.ion-color-primary.sc-ion-icon-h{--ion-color-base:var(--ion-color-primary, #3880ff)}.ion-color-secondary.sc-ion-icon-h{--ion-color-base:var(--ion-color-secondary, #0cd1e8)}.ion-color-tertiary.sc-ion-icon-h{--ion-color-base:var(--ion-color-tertiary, #f4a942)}.ion-color-success.sc-ion-icon-h{--ion-color-base:var(--ion-color-success, #10dc60)}.ion-color-warning.sc-ion-icon-h{--ion-color-base:var(--ion-color-warning, #ffce00)}.ion-color-danger.sc-ion-icon-h{--ion-color-base:var(--ion-color-danger, #f14141)}.ion-color-light.sc-ion-icon-h{--ion-color-base:var(--ion-color-light, #f4f5f8)}.ion-color-medium.sc-ion-icon-h{--ion-color-base:var(--ion-color-medium, #989aa2)}.ion-color-dark.sc-ion-icon-h{--ion-color-base:var(--ion-color-dark, #222428)}"},enumerable:!0,configurable:!0}),t}(),o=new Map;t.IonIcon=r,Object.defineProperty(t,"__esModule",{value:!0})});PK}w�\����}}ionicons/esckjbl8.es5.entry.jsnu�[���/*! Built with http://stenciljs.com */ ionicons.loadBundle("esckjbl8",["exports"],function(t){var e=window.ionicons.h;function i(t,e,i,n){return e=(e||"md").toLowerCase(),i&&"ios"===e?t=i.toLowerCase():n&&"md"===e?t=n.toLowerCase():t&&(t=t.toLowerCase(),/^md-|^ios-|^logo-/.test(t)||(t=e+"-"+t)),"string"!=typeof t||""===t.trim()?null:""!==t.replace(/[a-z]|-|\d/gi,"")?null:t}function n(t){return"string"==typeof t&&(t=t.trim()).length>0&&/(\/|\.)/.test(t)?t:null}var r=function(){function t(){this.isVisible=!1,this.lazy=!1}return t.prototype.componentWillLoad=function(){var t=this;this.waitUntilVisible(this.el,"50px",function(){t.isVisible=!0,t.loadIcon()})},t.prototype.componentDidUnload=function(){this.io&&(this.io.disconnect(),this.io=void 0)},t.prototype.waitUntilVisible=function(t,e,i){var n=this;if(this.lazy&&this.win&&this.win.IntersectionObserver){var r=this.io=new this.win.IntersectionObserver(function(t){t[0].isIntersecting&&(r.disconnect(),n.io=void 0,i())},{rootMargin:e});r.observe(t)}else i()},t.prototype.loadIcon=function(){var t=this;if(!this.isServer&&this.isVisible){var e=this.getUrl();e&&function(t,e,i){var n=o.get(e);return n||(n=fetch(e,{cache:"force-cache"}).then(function(t){return t.ok?t.text():Promise.resolve(null)}).then(function(e){return function(t,e,i){if(e){var n=t.createDocumentFragment(),r=t.createElement("div");r.innerHTML=e,n.appendChild(r);for(var o=r.childNodes.length-1;o>=0;o--)"svg"!==r.childNodes[o].nodeName.toLowerCase()&&r.removeChild(r.childNodes[o]);var s=r.firstElementChild;if(s&&"svg"===s.nodeName.toLowerCase()&&(s.setAttribute("class","s-ion-icon"),function t(e){if(1===e.nodeType){if("script"===e.nodeName.toLowerCase())return!1;for(var i=0;i<e.attributes.length;i++){var n=e.attributes[i].value;if("string"==typeof n&&0===n.toLowerCase().indexOf("on"))return!1}for(i=0;i<e.childNodes.length;i++)if(!t(e.childNodes[i]))return!1}return!0}(s)))return r.innerHTML}return""}(t,e)}),o.set(e,n)),n}(this.doc,e).then(function(e){return t.svgContent=e})}if(!this.ariaLabel){var n=i(this.name,this.mode,this.ios,this.md);n&&(this.ariaLabel=n.replace("ios-","").replace("md-","").replace(/\-/g," "))}},t.prototype.getUrl=function(){var t=n(this.src);return t||((t=i(this.name,this.mode,this.ios,this.md))?this.getNamedUrl(t):(t=n(this.icon))?t:(t=i(this.icon,this.mode,this.ios,this.md))?this.getNamedUrl(t):null)},t.prototype.getNamedUrl=function(t){return this.resourcesUrl+"svg/"+t+".svg"},t.prototype.hostData=function(){var t;return{role:"img",class:Object.assign({},function(t){var e;return t?((e={"ion-color":!0})["ion-color-"+t]=!0,e):null}(this.color),(t={},t["icon-"+this.size]=!!this.size,t))}},t.prototype.render=function(){return e("div",!this.isServer&&this.svgContent?{class:"icon-inner",innerHTML:this.svgContent}:{class:"icon-inner"})},Object.defineProperty(t,"is",{get:function(){return"ion-icon"},enumerable:!0,configurable:!0}),Object.defineProperty(t,"encapsulation",{get:function(){return"shadow"},enumerable:!0,configurable:!0}),Object.defineProperty(t,"properties",{get:function(){return{ariaLabel:{type:String,attr:"aria-label",reflectToAttr:!0,mutable:!0},color:{type:String,attr:"color"},doc:{context:"document"},el:{elementRef:!0},icon:{type:String,attr:"icon",watchCallbacks:["loadIcon"]},ios:{type:String,attr:"ios"},isServer:{context:"isServer"},isVisible:{state:!0},lazy:{type:Boolean,attr:"lazy"},md:{type:String,attr:"md"},mode:{type:String,attr:"mode"},name:{type:String,attr:"name",watchCallbacks:["loadIcon"]},resourcesUrl:{context:"resourcesUrl"},size:{type:String,attr:"size"},src:{type:String,attr:"src",watchCallbacks:["loadIcon"]},svgContent:{state:!0},win:{context:"window"}}},enumerable:!0,configurable:!0}),Object.defineProperty(t,"style",{get:function(){return":host{display:inline-block;width:1em;height:1em;contain:strict;-webkit-box-sizing:content-box!important;box-sizing:content-box!important}:host(.ion-color){color:var(--ion-color-base)!important}:host(.icon-small){font-size:var(--ion-icon-size-small,18px)!important}:host(.icon-large){font-size:var(--ion-icon-size-large,32px)!important}.icon-inner,svg{display:block;fill:currentColor;stroke:currentColor;height:100%;width:100%}:host(.ion-color-primary){--ion-color-base:var(--ion-color-primary, #3880ff)}:host(.ion-color-secondary){--ion-color-base:var(--ion-color-secondary, #0cd1e8)}:host(.ion-color-tertiary){--ion-color-base:var(--ion-color-tertiary, #f4a942)}:host(.ion-color-success){--ion-color-base:var(--ion-color-success, #10dc60)}:host(.ion-color-warning){--ion-color-base:var(--ion-color-warning, #ffce00)}:host(.ion-color-danger){--ion-color-base:var(--ion-color-danger, #f14141)}:host(.ion-color-light){--ion-color-base:var(--ion-color-light, #f4f5f8)}:host(.ion-color-medium){--ion-color-base:var(--ion-color-medium, #989aa2)}:host(.ion-color-dark){--ion-color-base:var(--ion-color-dark, #222428)}"},enumerable:!0,configurable:!0}),t}(),o=new Map;t.IonIcon=r,Object.defineProperty(t,"__esModule",{value:!0})});PK}w�\H���ionicons/svg/ios-alert.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zm17.2 109.6l-3.1 115.1c-.2 8.2-5.9 14.8-14.1 14.8s-13.9-6.6-14.1-14.8l-3.1-115.1c-.2-9.6 7.5-17.6 17.2-17.6 9.6 0 17.4 7.9 17.2 17.6zM256 354c-10.7 0-19.1-8.1-19.1-18.4s8.4-18.4 19.1-18.4c10.7 0 19.1 8.1 19.1 18.4S266.7 354 256 354z"/></svg>PK}w�\p<�*��ionicons/svg/ios-archive.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M460 120H52c-2.2 0-4-1.8-4-4V96c0-17.7 14.3-32 32-32h352c17.7 0 32 14.3 32 32v20c0 2.2-1.8 4-4 4zM440 146H72c-4.4 0-8 3.6-8 8v262c0 17.6 14.4 32 32 32h320c17.6 0 32-14.4 32-32V154c0-4.4-3.6-8-8-8zM306 288h-99.6c-7.1 0-13.4-5.2-14.3-12.3-1-8.5 5.6-15.7 13.9-15.7h99.6c7.1 0 13.4 5.2 14.3 12.3 1 8.4-5.6 15.7-13.9 15.7z"/></svg>PK}w�\1�J�ppionicons/svg/md-refresh.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 388c-72.597 0-132-59.405-132-132 0-72.601 59.403-132 132-132 36.3 0 69.299 15.4 92.406 39.601L278 234h154V80l-51.698 51.702C348.406 99.798 304.406 80 256 80c-96.797 0-176 79.203-176 176s78.094 176 176 176c81.045 0 148.287-54.134 169.401-128H378.85c-18.745 49.561-67.138 84-122.85 84z"/></svg>PK}w�\���@@ionicons/svg/md-brush.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M149.9 302.2c-39.1 0-70.7 31-70.7 69.3 0 30.3-27.3 46.2-47.2 46.2C53.7 446 90.7 464 126.3 464c52.1 0 94.3-41.4 94.3-92.4 0-38.4-31.6-69.4-70.7-69.4zM473.1 85.7l-31.6-31c-9.2-9-24-9-33.2 0L197 261.8l64.8 63.5 211.2-207c9.3-9 9.3-23.6.1-32.6z"/></svg>PK}w�\%��pp'ionicons/svg/logo-game-controller-a.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M369.3 146H142.7C81.5 146 32 191.5 32 255.4c0 64 49.5 110.6 110.7 110.6h226.5c61.2 0 110.7-46.6 110.7-110.6.1-63.9-49.4-109.4-110.6-109.4zM200 266.7c0 2.7-2.4 5.3-5.2 5.3H160v35.1c0 2.8-3.1 4.9-5.8 4.9h-21.4c-2.6 0-4.8-1.9-4.8-4.5V272H92.9c-2.8 0-4.9-3.1-4.9-5.8v-21.4c0-2.6 1.9-4.8 4.5-4.8H128v-34.8c0-2.8 1.9-5.2 4.6-5.2h22.1c2.7 0 5.3 2.4 5.3 5.2V240h34.8c2.8 0 5.2 1.9 5.2 4.6v22.1zm119.8 8.8c-10.7 0-19.5-8.6-19.5-19.2s8.7-19.2 19.5-19.2 19.5 8.6 19.5 19.2-8.8 19.2-19.5 19.2zm42.5 41.8c-10.7 0-19.5-8.5-19.5-19.1 0-10.6 8.7-19.2 19.5-19.2s19.5 8.5 19.5 19.2c0 10.6-8.7 19.1-19.5 19.1zm0-83.7c-10.7 0-19.5-8.6-19.5-19.1 0-10.6 8.7-19.2 19.5-19.2s19.5 8.6 19.5 19.2c0 10.5-8.7 19.1-19.5 19.1zm42.6 41.9c-10.7 0-19.4-8.6-19.4-19.2s8.7-19.2 19.4-19.2 19.5 8.6 19.5 19.2c-.1 10.6-8.8 19.2-19.5 19.2z"/></svg>PK}w�\��qqionicons/svg/md-umbrella.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M410.1 244.1c12 0 26.6 10.9 33.8 25.9H464c-.3-50-21.2-101.5-59.4-140.9-36.3-37.4-83-60.5-132.6-65.7-3-9-11.5-15.4-21.6-15.4-10 0-18.5 6.5-21.5 15.3C125.3 73.8 48 159.7 48 266.2c0 1.1.1 1.8.4 3.8h21.8c6.8-15 22.2-25.9 35.3-25.9 17 0 31.5 10.9 36.5 25.9h19.8c4.1-15 16.9-25.7 33-25.7 17.8 0 33.1 14.5 34.1 32.6v118.3c0 9.3.1 24.1-13.4 24.1-6.9 0-16.6-1.8-16.6-16V382h-43v21.3c0 34.6 23.6 60.7 60 60.7 19.5 0 33.3-8.5 43.5-18.7 13.1-13.2 13.5-34.7 13.5-50.1V276.1c2-25.8 23.9-31.7 41.9-31.7 17.2 0 32.3 11.6 37.8 25.6h20.5c5.1-15 19.8-25.9 37-25.9z"/></svg>PK}w�\cr�ionicons/svg/md-hourglass.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M128 48v122.8h.2l-.2.2 85.3 85-85.3 85.2.2.2h-.2V464h256V341.4h-.2l.2-.2-85.3-85.2 85.3-85-.2-.2h.2V48H128zm213.3 303.9v71.5H170.7v-71.5l85.3-85.2 85.3 85.2zM256 245.4l-85.3-85.2V87.6h170.7v72.5L256 245.4z"/></svg>PK}w�\� ��ionicons/svg/md-flashlight.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M128 298l64 64v118h128V362l64-64V176l-255.2.4L128 298zM234.8 32h42.4v64h-42.4V32zM80 110.4L109.9 80l44.9 45.6-29.9 30.4L80 110.4zm277.1 15.2l45-45.5 29.9 30.4-44.9 45.5-30-30.4z"/></svg>PK}w�\L�;@@ionicons/svg/md-attach.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M341.334 128v234.666C341.334 409.604 302.938 448 256 448c-46.937 0-85.333-38.396-85.333-85.334V117.334C170.667 87.469 194.135 64 224 64c29.864 0 53.333 23.469 53.333 53.334v245.333c0 11.729-9.605 21.333-21.334 21.333s-21.333-9.604-21.333-21.333V160h-32v202.667C202.667 392.531 226.135 416 256 416c29.865 0 53.334-23.469 53.334-53.333V117.334C309.334 70.401 270.938 32 224 32s-85.334 38.401-85.334 85.334v245.332C138.667 427.729 190.938 480 256 480c65.062 0 117.334-52.271 117.334-117.334V128h-32z"/></svg>PK}w�\�QO�ionicons/svg/md-search.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M337.509 305.372h-17.501l-6.571-5.486c20.791-25.232 33.922-57.054 33.922-93.257C347.358 127.632 283.896 64 205.135 64 127.452 64 64 127.632 64 206.629s63.452 142.628 142.225 142.628c35.011 0 67.831-13.167 92.991-34.008l6.561 5.487v17.551L415.18 448 448 415.086 337.509 305.372zm-131.284 0c-54.702 0-98.463-43.887-98.463-98.743 0-54.858 43.761-98.742 98.463-98.742 54.7 0 98.462 43.884 98.462 98.742 0 54.856-43.762 98.743-98.462 98.743z"/></svg>PK}w�\O6��ionicons/svg/md-thermometer.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M303 300.2V78.4c0-25.7-21-46.5-47-46.5s-47 20.8-47 46.5v221.9c-29 16.5-48.9 47.8-48.9 83.7 0 53 43 96 96 96s96-43 96-96c0-36-20.1-67.3-49.1-83.8zM240 78.4c0-8 7.7-14.5 16-14.5s16 6.5 16 14.5V128h-32V78.4z"/></svg>PK}w�\��Z�@@ionicons/svg/ios-attach.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M355.9 161.1c-8.6 0-15.6 7-15.6 15.6v194.4c0 20.3-8 40.4-22 55.1-13.9 14.6-35.2 23.7-55.5 23.7h-13.6c-19.6 0-39.5-8.9-54.8-24.6-15.2-15.5-23.9-35.6-23.9-55.2V119.3c0-14.9 6.2-28.9 17.3-39.5 11.1-10.5 25.7-16.3 41-16.3 15.1 0 29.3 5.8 39.8 16.2 10.5 10.5 16.4 24.6 16.4 39.6v234.2c0 17.1-13.6 32.2-29 32.2-13.6 0-28.2-12.9-28.2-32.2V219.9c0-8.6-7-15.6-15.6-15.6s-15.6 7-15.6 15.6v133.6c0 35.5 25.5 62.3 59.4 62.3 16.5 0 31.7-6.1 42.7-17.3 11.3-11.4 17.5-27.4 17.5-45V119.3c0-23.4-9.1-45.4-25.7-61.8C274 41 252 32 228.5 32s-45.5 9-62.2 25.5c-16.7 16.5-25.9 38.4-25.9 61.9v250.8c0 28.7 12.2 57.9 32.6 78 20.9 20.6 47.9 31.9 76.1 31.9h13.6c27.6 0 55.3-11.7 75.9-32.1 10.2-10.1 18.2-21.7 23.9-34.6 5.9-13.5 8.9-27.7 8.9-42.1V176.7c.1-8.6-6.9-15.6-15.5-15.6z"/></svg>PK}w�\�&?ionicons/svg/ios-time.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zm14 226c0 7.7-6.3 14-14 14h-96c-7.7 0-14-6.3-14-14s6.3-14 14-14h82V128c0-7.7 6.3-14 14-14s14 6.3 14 14v146z"/></svg>PK}w�\��V���ionicons/svg/ios-flag.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M406.7 80.8c-3.1.5-6.4 1-9.9 1.4-13.2 1.7-42.8 5.2-60.6 5.2-27.7 0-52.8-6.8-78.2-12.2-25.8-5.5-52.4-11.2-80.6-11.2-56.2 0-75.3 12.1-77.3 13.4L96 80.3v353.3c0 7.2 5.2 13.4 12.3 14.3 8.5 1 15.7-5.6 15.7-13.9V279.6c0-3.8 2.7-7.1 6.4-7.9 10.5-2.1 25.8-3.9 47-3.9 26.2 0 50.7 10 76.6 15.5 26.4 5.6 48.6 11.5 83.4 11.5s71.8-6.6 71.8-6.6c3.9-.6 6.9-3.9 6.9-7.9V88.7c-.1-4.9-4.5-8.7-9.4-7.9z"/></svg>PK}w�\�.�]��ionicons/svg/ios-log-in.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M417 80H137c-25.4 0-46 20.6-46 46 0 7.7 6.3 14 14 14s14-6.3 14-14c0-9.9 8.1-18 18-18h280c9.9 0 18 8.1 18 18v260c0 9.9-8.1 18-18 18H137c-9.9 0-18-8.1-18-18 0-7.7-6.3-14-14-14s-14 6.3-14 14c0 25.4 20.6 46 46 46h280c25.4 0 46-20.6 46-46V126c0-25.4-20.6-46-46-46z"/><path d="M224 334.2c-5.4 5.4-5.4 14.3 0 19.8l.1.1c2.7 2.5 6.2 3.9 9.8 3.9 3.8 0 7.3-1.4 9.9-4.1l82.6-82.4c4.3-4.3 6.5-9.3 6.5-14.7 0-5.3-2.3-10.3-6.5-14.5l-84.6-84.4c-2.6-2.6-6.1-4.1-9.9-4.1-3.7 0-7.3 1.4-9.9 4.1-5.5 5.5-5.5 14.3 0 19.8l65.2 64.2H63c-7.7 0-14 6.3-14 14s6.3 14 14 14h224.6L224 334.2z"/></svg>PK}w�\�#��*ionicons/svg/ios-remove-circle-outline.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M346.5 240h-181c-8.8 0-16 6-16 16s7.5 16 16 16h181c8.8 0 16-7.2 16-16s-7.2-16-16-16z"/><path d="M256 76c48.1 0 93.3 18.7 127.3 52.7S436 207.9 436 256s-18.7 93.3-52.7 127.3S304.1 436 256 436c-48.1 0-93.3-18.7-127.3-52.7S76 304.1 76 256s18.7-93.3 52.7-127.3S207.9 76 256 76m0-28C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48z"/></svg>PK}w�\zBnV22ionicons/svg/md-contacts.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M239.208 343.937c-17.78 10.103-38.342 15.876-60.255 15.876-21.909 0-42.467-5.771-60.246-15.87C71.544 358.331 42.643 406 32 448h293.912c-10.639-42-39.537-89.683-86.704-104.063zM178.953 120.035c-58.479 0-105.886 47.394-105.886 105.858 0 58.464 47.407 105.857 105.886 105.857s105.886-47.394 105.886-105.857c0-58.464-47.408-105.858-105.886-105.858zm0 186.488c-33.671 0-62.445-22.513-73.997-50.523H252.95c-11.554 28.011-40.326 50.523-73.997 50.523z"/><g><path d="M322.602 384H480c-10.638-42-39.537-81.691-86.703-96.072-17.781 10.104-38.343 15.873-60.256 15.873-14.823 0-29.024-2.654-42.168-7.49-7.445 12.47-16.927 25.592-27.974 34.906C289.245 341.354 309.146 364 322.602 384zM306.545 200h100.493c-11.554 28-40.327 50.293-73.997 50.293-8.875 0-17.404-1.692-25.375-4.51a128.411 128.411 0 0 1-6.52 25.118c10.066 3.174 20.779 4.862 31.895 4.862 58.479 0 105.886-47.41 105.886-105.872 0-58.465-47.407-105.866-105.886-105.866-37.49 0-70.427 19.703-89.243 49.09C275.607 131.383 298.961 163 306.545 200z"/></g></svg>PK}w�\P�#�LLionicons/svg/md-baseball.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M365.9 402.6L343 416.1l-16-28 20.2-11.9c-5.2-8.5-9.8-17.4-13.9-26.7-1.4-3.1-2.7-6.3-3.9-9.5l-25.1 5.8-7.1-31.6 22.6-5.2c-2.8-12.1-4.7-24-5.5-37H290v-32h24.3c.8-12 2.7-24.8 5.5-36.8l-22.6-5.2 7.1-31.6 25.1 5.8c1.3-3.2 2.6-6.4 4-9.6 4.1-9.2 8.7-18.1 13.8-26.6L327 124.1l16-28 22.8 13.5c5.2-6.4 10.8-12.5 16.7-18.3C347.4 64.1 303.5 48 256 48s-91.4 16.1-126.5 43.2c5.9 5.8 11.5 12 16.7 18.3L169 96.1l16 28-20.2 11.9c5.1 8.5 9.8 17.4 13.8 26.6 1.4 3.2 2.7 6.4 4 9.6l25.1-5.8 7.1 31.6-22.6 5.2c2.8 12.1 4.6 24.8 5.5 36.8H222v32h-24.3c-.8 13-2.7 24.9-5.5 37l22.6 5.2-7.1 31.6-25.1-5.8c-1.2 3.2-2.5 6.3-3.9 9.5-4.1 9.2-8.7 18.1-13.9 26.7l20.2 11.9-16 28-22.9-13.5c-5.2 6.3-10.7 12.4-16.6 18.2 35.1 27.1 79 43.2 126.5 43.2s91.4-16.1 126.5-43.2c-5.9-5.8-11.4-11.9-16.6-18.2z"/><path d="M393.8 126l18.1 10.7-16 28-21.2-12.5c-5 8.3-9.5 16.9-13.3 25.9-.2.4-.4.9-.5 1.3l21 4.9-7.1 31.6-23.9-5.5c-2.3 9.7-3.8 19.6-4.6 29.6H370v32h-23.6c.8 10 2.3 20 4.6 29.8l23.9-5.5 7.1 31.6-21 4.9c.2.4.3.8.5 1.2 3.8 9 8.3 17.7 13.3 26l21.1-12.4 16 28-18 10.6c3.3 3.9 6.8 7.7 10.5 11.3l2 2C442 362 464 311.4 464 256s-22-106-57.7-143.4c-.7.7-1.4 1.3-2 2-3.7 3.7-7.2 7.5-10.5 11.4zM118.2 386.1l-18-10.6 16-28 21.1 12.4c5.1-8.3 9.5-17 13.3-26 .2-.4.3-.8.5-1.2l-21-4.9 7.1-31.6 23.9 5.5c2.3-9.8 3.8-19.8 4.6-29.8H142v-32h23.6c-.8-10-2.3-19.9-4.6-29.6l-23.9 5.5-7.1-31.6 21-4.9c-.2-.4-.3-.9-.5-1.3-3.8-9-8.2-17.7-13.3-25.9L116 164.6l-16-28 18.1-10.7c-3.4-3.9-6.9-7.7-10.6-11.4l-2-2C70 150 48 200.6 48 256s22 106 57.7 143.4c.7-.7 1.4-1.3 2-2 3.6-3.6 7.1-7.4 10.5-11.3z"/></svg>PK}w�\U�����ionicons/svg/md-shirt.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M320 64c-11.1 19.1-40.3 32-64 32s-52.9-12.9-64-32L64 96v96l77-16-13 272h256l-13-272 77 16V96L320 64z"/></svg>PK}w�\��ionicons/svg/ios-beaker.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M445.2 48H128.5C74.1 48 64 75.9 64 88.2c30.3 4.2 32 4.2 32 36.2v275.5c0 35.3 28.9 64 64.2 64H368c35.4 0 63-29.2 63-64.5V89.2c2-17.5 12.5-31.6 13.6-33.3 1.2-1.9 3.4-4.4 3.4-5.5 0-1.2-.3-2.4-2.8-2.4zm-333 29.3c0-.1 0-.1 0 0 6-1 12-1.3 16.3-1.3H405c-.9 3.7-1.5 7.1-1.8 10-.1 1.1-.2 2.1-.2 3.2v70.9-.1H124v-35.5c0-17.6 0-34.2-11.8-47.2z"/></svg>PK}w�\��^���ionicons/svg/md-business.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M261 149.3V64H48v384h416V149.3H261zm-127.8 256H90.6v-42.7h42.6v42.7zm0-85.3H90.6v-42.7h42.6V320zm0-85.3H90.6V192h42.6v42.7zm0-85.4H90.6v-42.7h42.6v42.7zm85.2 256h-42.6v-42.7h42.6v42.7zm0-85.3h-42.6v-42.7h42.6V320zm0-85.3h-42.6V192h42.6v42.7zm0-85.4h-42.6v-42.7h42.6v42.7zm203 256H261v-42.7h42.6V320H261v-42.7h42.6v-42.7H261V192h160.4v213.3zm-37.6-170.6h-42.6v42.7h42.6v-42.7zm0 85.3h-42.6v42.7h42.6V320z"/></svg>PK}w�\J�D66ionicons/svg/ios-analytics.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zM76 256c0-48.1 18.7-93.3 52.7-127.3S207.9 76 256 76c48.1 0 93.3 18.7 127.3 52.7 32.2 32.2 50.7 74.5 52.6 119.7-8.8-10.3-24.2-24-43.8-24-27.5 0-41.7 25.7-51 42.7-1.4 2.5-2.7 4.9-3.9 7-11.4 19.2-27.3 30-42.5 28.9-13.4-.9-24.8-11.2-32.2-28.8-9.2-22.1-29.1-45.8-52.9-49.2-11.3-1.6-28.1.8-44.7 21.4-3.2 4-6.9 9.4-11.1 15.6-10.4 15.5-26.2 38.8-38.1 40.8-17.3 2.8-30.9-7.5-36.4-12.3-2.2-11.2-3.3-22.8-3.3-34.5z"/></svg>PK}w�\���{!ionicons/svg/logo-playstation.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M399.8 203c-.8-17.1-3.3-34.5-10.8-50.1-4.1-8.6-9.7-16.5-16.5-23.2-6.3-6.4-13.6-11.7-21.3-16.3-17.1-10.2-37.5-17-84.4-31S192 64 192 64v358.3l79.9 25.7s.1-198.8.1-299.5v-3.8c0-9.3 7.5-16.8 16.1-16.8h.5c8.5 0 15.5 7.5 15.5 16.8V278c11 5.3 29.2 9.3 41.8 9.1 8.3.2 16.7-1.7 24-5.7 7.6-4.1 13.9-10.4 18.4-17.8 5.1-8.3 8.2-17.8 9.9-27.3 1.9-10.8 2-22.1 1.6-33.3zM86.7 357.8c27.4-9.8 89.3-29.5 89.3-29.5v-47.2s-76.5 24.8-111.3 37.1c-8.6 3.1-17.3 5.9-25.7 9.5-9.8 4.1-19.4 8.7-28.1 14.8-3.8 2.6-7.2 5.9-9.2 10.1s-2.2 9.2-.5 13.6c2 5.1 5.8 9.3 10.1 12.6 7.8 5.9 17.1 9.5 26.4 12.2 28.4 9.4 58.4 14 88.4 13.3 14.5-.2 36-1.9 50-4.4v-42s-11 2.5-41.3 12.5c-4.6 1.5-9.2 3.3-14 4.3-7.1 1.6-14.4 2.1-21.6 2.2-6.5-.3-13.2-.7-19.3-3.1-2.2-1-4.6-2.2-5.5-4.6-.8-2 .3-4 1.7-5.4 2.8-2.9 6.8-4.5 10.6-6z"/><path d="M512 345.9c-.1-6-3.7-11.2-7.9-15-7.1-6.3-15.9-10.3-24.7-13.5-5.5-1.9-9.3-3.3-14.7-5-25.2-8.2-51.9-11.2-78.3-11.3-8 .3-23.1.5-31 1.4-21.9 2.5-67.3 15.4-67.3 15.4v48.8s67.5-21.6 96.5-31.8c9.7-3.3 20.1-4.6 30.3-4.6 6.5.2 13.2.7 19.4 3.1 2.2.9 4.5 2.2 5.5 4.5.9 2.6-.9 5-2.9 6.5-4.7 3.8-10.7 5.3-16.2 7.4-41 14.5-132.7 44.7-132.7 44.7v47s117.2-39.6 170.8-58.8c8.9-3.3 17.9-6.1 26.4-10.4 7.9-4 15.8-8.6 21.8-15.3 3.1-3.6 5-8 5-13.1z"/></svg>PK}w�\Z�zUUionicons/svg/ios-bicycle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M125.3 289.3c17.3 0 33.7 6.8 46.1 19.2 12.4 12.4 19.2 28.8 19.2 46.1s-6.8 33.7-19.2 46.1c-12.4 12.4-28.8 19.2-46.1 19.2s-33.7-6.8-46.1-19.2C66.8 388.4 60 372 60 354.7s6.8-33.7 19.2-46.1c12.4-12.4 28.8-19.3 46.1-19.3m0-28c-51.3 0-93.3 42-93.3 93.3C32 406 74 448 125.3 448s93.3-42 93.3-93.3c.1-51.4-41.9-93.4-93.3-93.4zM319.8 127.8c17.8 0 32-14.2 32-32S337.8 64 320 64s-32.2 14-32.2 31.8c0 17.7 14.3 32 32 32zM386.7 289.3c17.3 0 33.7 6.8 46.1 19.2 12.4 12.4 19.2 28.8 19.2 46.1s-6.8 33.7-19.2 46.1C420.4 413.2 404 420 386.7 420s-33.7-6.8-46.1-19.2c-12.4-12.4-19.2-28.8-19.2-46.1s6.8-33.7 19.2-46.1c12.3-12.4 28.7-19.3 46.1-19.3m0-28c-51.3 0-93.3 42-93.3 93.3s42 93.3 93.3 93.3 93.3-42 93.3-93.3-42-93.3-93.3-93.3z"/><path d="M368 192h-48l-29.5-60.1c-5.6-9.3-15.9-15.9-27.1-15.9-8.4 0-16.8 3.7-22.4 9.3l-71.7 69.1c-5.6 5.6-9.3 14-9.3 22.4 0 17.4 12.6 23.6 18.5 27.1C224 270.1 240 273 240 286.1V352c0 8.8 7.2 16 16 16s16-7.2 16-16v-90c0-13.2-30.4-24-48.3-38l48.9-51.5c18.7 28.5 27.3 51.5 38 51.5H368c8.8 0 16-7.2 16-16s-7.2-16-16-16z"/></svg>PK}w�\�}a��ionicons/svg/md-heart-half.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M349.6 64c-36.4 0-70.7 16.7-93.6 43.9C233.1 80.7 198.8 64 162.4 64 97.9 64 48 114.2 48 179.1c0 79.5 70.7 143.3 177.8 241.7L256 448l30.2-27.2C393.3 322.4 464 258.6 464 179.1 464 114.2 414.1 64 349.6 64zM256 406V157.7l24.5-29.1c17.1-20.4 43-32.5 69.1-32.5 22.6 0 43.4 8.4 58.7 23.8 15.3 15.4 23.7 36.5 23.7 59.3 0 29-12.5 57.5-40.4 92.2C362.8 307 306.4 359.7 256 406z"/></svg>PK}w�\��t���ionicons/svg/md-play-circle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.2 48 48 141.2 48 256s93.2 208 208 208 208-93.2 208-208S370.8 48 256 48zm-41.6 301.6V162.4L339.2 256l-124.8 93.6z"/></svg>PK}w�\B��DDionicons/svg/ios-cut.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M308 277.2c25.5-33 80.5-111.5 90.2-135.4 7.2-17.6 10.6-32.8 10.4-46.2-.2-17.9-6-29.3-18.3-40.6-5.2-4.8-13.5-6.9-20-6.9L255.9 201.7l-10 13.4-2.9 3.9-.1.1-14.5 19.7c-.1.1-.2.3-.3.4-.5.8-7.5 10.9-15.2 22.7-3 4.6-6.1 9.5-9 14.1-3.5 5.6-6.6 11-8.8 15.2-3.6 7.1-7.3 14.4-10.7 21.5-3.7 7.5-7.2 14.6-10.4 20.7-10.2-7.3-22-11.1-34.3-11.1-17.5 0-33.7 7.7-45.8 21.6C82.4 357.1 76 374.6 76 393.1c0 18.5 6.4 36 17.9 49.3 12.1 13.9 28.4 21.6 45.8 21.6 14.4 0 28-5.2 39.2-15 10.5-9.1 18-21.3 21.8-35.4 1-3.1 11.6-34.7 26.1-57.3 9.2-14.4 22.2-23.4 29.6-27.8l13.5-9.7c0 .1 12.7-8.7 38.1-41.6zM139.9 421.1c-13.3 0-24-12.6-24-28s10.7-28 24-28 24 12.6 24 28c0 15.5-10.8 28-24 28zm116.2-132.9c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16z"/><path d="M191.5 260.4c.7 1 1.6 1.9 2.5 2.7 1.7-2.8 3.6-5.7 5.4-8.6l46.5-65.8L140.9 48c-8.9 0-14.4.9-18.5 3.9-11.9 8.9-19.1 25.6-19.3 43.6-.2 13.5 3.3 28.6 10.4 46.2 8.6 21 42.6 70.2 78 118.7zM372 322.3c-12.3 0-24.1 3.8-34.3 11.1-3.2-6.1-6.7-13.2-10.4-20.7-3.4-6.9-6.9-14-10.4-20.8L306 305.8l-36.4 33.1c5.2 4.6 10.7 10.4 15.3 17.5 14.5 22.6 25 54.2 26 57.3 3.8 14.1 11.3 26.3 21.8 35.4 11.3 9.8 24.9 15 39.2 15 35.3 0 64-31.8 64-70.9s-28.6-70.9-63.9-70.9zm.1 98.8c-13.3 0-24-12.6-24-28s10.7-28 24-28 24 12.6 24 28c0 15.5-10.7 28-24 28z"/></svg>PK}w�\�W�ii"ionicons/svg/md-arrow-dropleft.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M320 128L192 256l128 128z"/></svg>PK}w�\��Ȕ�ionicons/svg/ios-pie.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M276 68.1v219c0 3.7-2.5 6.8-6 7.7L81.1 343.4c-2.3.6-3.6 3.1-2.7 5.4C109.1 426 184.9 480.6 273.2 480c114.6-.7 206.8-93.5 206.8-208 0-112.1-88.6-203.5-199.8-207.8-2.3-.1-4.2 1.7-4.2 3.9z"/><path d="M32 239.3s.2 48.8 15.2 81.1c.8 1.8 2.8 2.7 4.6 2.2l193.8-49.7c3.5-.9 6.4-4.6 6.4-8.2V36c0-2.2-1.8-4-4-4C91 33.9 32 149 32 239.3z"/></svg>PK}w�\�/�wwionicons/svg/md-time.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><g fill-opacity=".9"><path d="M255.8 48C141 48 48 141.2 48 256s93 208 207.8 208c115 0 208.2-93.2 208.2-208S370.8 48 255.8 48zm.2 374.4c-91.9 0-166.4-74.5-166.4-166.4S164.1 89.6 256 89.6 422.4 164.1 422.4 256 347.9 422.4 256 422.4z"/><path d="M266.4 152h-31.2v124.8l109.2 65.5 15.6-25.6-93.6-55.5V152z"/></g></svg>PK}w�\�$����ionicons/svg/md-exit.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M215.469 332.802l29.863 29.864L352 256 245.332 149.333l-29.863 29.865 55.469 55.469H64v42.666h205.864l-54.395 55.469zM405.334 64H106.666C83.198 64 64 83.198 64 106.666V192h42.666v-85.333h298.668v298.668H106.666V320H64v85.334C64 428.802 83.198 448 106.666 448h298.668C428.802 448 448 428.802 448 405.334V106.666C448 83.198 428.802 64 405.334 64z"/></svg>PK}w�\��i�� ionicons/svg/ios-thermometer.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M309.8 304.6c-4.3-3-6.9-7.9-6.9-13.1v-213c0-25.7-21-46.5-47-46.5s-47 20.8-47 46.5v213c0 5.2-2.6 10.2-6.9 13.1-25.2 17.3-42 46.4-42 79.3 0 53 43 96 96 96s96-43 96-96c0-32.9-17-62.1-42.2-79.3zM256.1 445c-32 0-58.1-26.3-58.1-58.8 0-25.4 15.4-47.1 37.9-55.3 3.2-1.2 5.4-4.1 5.4-7.5V180.2c0-8 6.5-14.5 14.5-14.5s14.5 6.5 14.5 14.5v143.2c0 3.4 2.1 6.3 5.3 7.5 21.9 8.2 38.4 29.9 38.4 55.2 0 32.5-25.8 58.9-57.9 58.9z"/></svg>PK}w�\����ll'ionicons/svg/logo-closed-captioning.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M32 96v320h448V96H32zm406 159.8c0 23.4-1.4 41.2-3.3 70.2s-16.8 49.4-51.7 52.6c-34.9 3.2-83.8 3.5-127 3.4-42.9.1-92-.1-127-3.4-34.9-3.2-49.7-23.6-51.7-52.6S74 279.2 74 255.8c0-23.4.1-38.6 3.3-70.2s20.1-49.2 51.7-52.4 86-3.2 127-3.2 95.4 0 127 3.2c31.6 3.2 48.5 20.9 51.7 52.4 3.2 31.6 3.3 46.9 3.3 70.2z"/><path d="M357.5 280.4v.7c0 16.3-10.1 25.9-23.6 25.9-13.5 0-22.6-10.8-23.9-25.9 0 0-1.2-7.9-1.2-23.9s1.4-26 1.4-26c2.4-17 10.7-25.9 24.2-25.9 13.4 0 24.1 11.6 24.1 29.2v.5h45.1c0-21.9-5.5-41.6-16.6-54-11-12.4-27.5-18.6-49.3-18.6-10.9 0-20.9 1.4-30 4.3-9.1 2.9-17 7.9-23.6 15.1-6.6 7.2-11.7 16.8-15.4 28.9-3.6 12.1-5.5 27.3-5.5 45.7 0 18 1.5 33 4.4 45.1 3 12.1 7.3 21.7 13.1 28.9 5.8 7.2 13.1 12.2 21.8 15 8.8 2.8 19.1 4.2 30.9 4.2 25 0 43-6.4 53.8-18.7 10.8-12.3 16.2-30.3 16.2-53.9h-46.1c.2 0 .2 2.5.2 3.4zM202.6 280.4v.7c0 16.3-10.1 25.9-23.6 25.9-13.5 0-22.6-10.8-23.9-25.9 0 0-1.2-7.9-1.2-23.9s1.4-26 1.4-26c2.4-17 10.7-25.9 24.2-25.9 13.4 0 24.1 11.6 24.1 29.2v.5h45.1c0-21.9-5.5-41.6-16.6-54-11-12.4-27.5-18.6-49.3-18.6-10.9 0-20.9 1.4-30 4.3-9.1 2.9-17 7.9-23.6 15.1-6.6 7.2-11.7 16.8-15.4 28.9-3.6 12.1-5.5 27.3-5.5 45.7 0 18 1.5 33 4.4 45.1 3 12.1 7.3 21.7 13.1 28.9 5.8 7.2 13.1 12.2 21.8 15 8.8 2.8 19.1 4.2 30.9 4.2 25 0 43-6.4 53.8-18.7 10.8-12.3 16.2-30.3 16.2-53.9h-46.1c.2 0 .2 2.5.2 3.4z"/></svg>PK}w�\@�c eeionicons/svg/logo-github.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 32C132.3 32 32 134.9 32 261.7c0 101.5 64.2 187.5 153.2 217.9 1.4.3 2.6.4 3.8.4 8.3 0 11.5-6.1 11.5-11.4 0-5.5-.2-19.9-.3-39.1-8.4 1.9-15.9 2.7-22.6 2.7-43.1 0-52.9-33.5-52.9-33.5-10.2-26.5-24.9-33.6-24.9-33.6-19.5-13.7-.1-14.1 1.4-14.1h.1c22.5 2 34.3 23.8 34.3 23.8 11.2 19.6 26.2 25.1 39.6 25.1 10.5 0 20-3.4 25.6-6 2-14.8 7.8-24.9 14.2-30.7-49.7-5.8-102-25.5-102-113.5 0-25.1 8.7-45.6 23-61.6-2.3-5.8-10-29.2 2.2-60.8 0 0 1.6-.5 5-.5 8.1 0 26.4 3.1 56.6 24.1 17.9-5.1 37-7.6 56.1-7.7 19 .1 38.2 2.6 56.1 7.7 30.2-21 48.5-24.1 56.6-24.1 3.4 0 5 .5 5 .5 12.2 31.6 4.5 55 2.2 60.8 14.3 16.1 23 36.6 23 61.6 0 88.2-52.4 107.6-102.3 113.3 8 7.1 15.2 21.1 15.2 42.5 0 30.7-.3 55.5-.3 63 0 5.4 3.1 11.5 11.4 11.5 1.2 0 2.6-.1 4-.4C415.9 449.2 480 363.1 480 261.7 480 134.9 379.7 32 256 32z"/></svg>PK}w�\��jjionicons/svg/md-stopwatch.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M232 306.667h48V176h-48v130.667z"/><path d="M407.67 170.271l30.786-30.786-33.942-33.941-30.785 30.786C341.217 111.057 300.369 96 256 96 149.961 96 64 181.961 64 288s85.961 192 192 192 192-85.961 192-192c0-44.369-15.057-85.217-40.33-117.729zm-45.604 223.795C333.734 422.398 296.066 438 256 438s-77.735-15.602-106.066-43.934C121.602 365.735 106 328.066 106 288s15.602-77.735 43.934-106.066C178.265 153.602 215.934 138 256 138s77.734 15.602 106.066 43.934C390.398 210.265 406 247.934 406 288s-15.602 77.735-43.934 106.066zM192 32h128v48H192z"/></svg>PK}w�\�D���ionicons/svg/md-git-merge.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M384 224c-23.7 0-44.4 12.9-55.4 32-18.3-.5-52.4-4.1-75.5-18.1-32.3-19.4-64.6-53.1-87-90.5 15.7-11.7 26-30.3 26-51.4 0-35.3-28.7-64-64-64S64 60.7 64 96c0 23.7 12.9 44.3 32 55.4v209.2c-19.1 11.1-32 31.7-32 55.4 0 35.3 28.7 64 64 64s64-28.7 64-64c0-23.7-12.9-44.3-32-55.4V244.2c18.7 19.4 39.1 36 60 48.6 38.8 23.4 87 26.9 108.6 27.3 11.1 19.1 31.7 31.9 55.4 31.9 35.3 0 64-28.7 64-64s-28.7-64-64-64zM88 96c0-22.1 17.9-40 40-40s40 17.9 40 40-17.9 40-40 40-40-17.9-40-40zm80 320c0 22.1-17.9 40-40 40s-40-17.9-40-40 17.9-40 40-40 40 17.9 40 40zm216-88c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40z"/></svg>PK}w�\+�G��ionicons/svg/md-stats.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M176 64h64v384h-64zM80 336h64v112H80zM272 272h64v176h-64zM368 176h64v272h-64z"/></svg>PK}w�\}�L==ionicons/svg/ios-photos.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M464 144H128c-17.6 0-32 14.4-32 32v240c0 17.6 14.4 32 32 32h336c17.6 0 32-14.4 32-32V176c0-17.6-14.4-32-32-32z"/><path d="M100 116h332V96c0-17.6-14.4-32-32-32H48c-17.6 0-32 14.4-32 32v256c0 17.6 14.4 32 32 32h20V148c0-17.6 14.4-32 32-32z"/></svg>PK}w�\��L��ionicons/svg/ios-flashlight.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M317 32H195c-17.6 0-24 14.4-24 32h170c0-17.6-6.4-32-24-32zM196.1 147.5c7.6 8.8 11.9 20 11.9 31.7v265.9c0 21.9 17.9 34.9 39.9 34.9h16.3c21.9 0 39.9-12.9 39.9-34.9V179.2c0-11.7 4.3-22.8 11.9-31.7 15.4-17.9 25-34.5 25-67.5H171c0 35 9.6 49.6 25.1 67.5zm31.9 90.8c0-15.6 12.6-28.3 28-28.3s28 12.7 28 28.3v35.4c0 15.6-12.6 28.3-28 28.3s-28-12.7-28-28.3v-35.4z"/><circle cx="256" cy="273" r="20"/></svg>PK}w�\�y����ionicons/svg/md-bicycle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M330.666 131.202c18.668 0 33.598-14.935 33.598-33.601S349.334 64 330.666 64C312 64 297.07 78.935 297.07 97.601s14.93 33.601 33.596 33.601zm56 130.132c-51.332 0-93.332 42-93.332 93.333s42 93.333 93.332 93.333C438 448 480 406 480 354.667s-42-93.333-93.334-93.333zm0 158.666c-36.402 0-65.332-28.93-65.332-65.333s28.93-65.333 65.332-65.333c36.404 0 65.334 28.93 65.334 65.333S423.07 420 386.666 420zm-81.069-196H384v-32h-58.845l-34.62-60.134c-5.605-9.333-15.869-15.864-27.07-15.864-8.399 0-16.798 3.732-22.399 9.333L169.334 194.4c-5.601 5.601-9.333 14-9.333 22.399 0 12.131 9.202 21.465 18.535 27.065L240 282.134V368h32V256l-39.333-32 42.929-44.533L305.597 224zm-180.264 37.334C74 261.334 32 303.334 32 354.667S74 448 125.333 448s93.333-42 93.333-93.333-41.999-93.333-93.333-93.333zm0 158.666C88.934 420 60 391.07 60 354.667s28.934-65.333 65.333-65.333 65.333 28.93 65.333 65.333S161.732 420 125.333 420z"/></svg>PK}w�\Y����ionicons/svg/ios-wifi.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 96c-81.5 0-163 33.6-221.5 88.3-3.3 3-3.4 8.1-.3 11.4l26.7 27.9c3.1 3.3 8.3 3.4 11.6.3 23.3-21.6 49.9-38.8 79.3-51 33-13.8 68.1-20.7 104.3-20.7s71.3 7 104.3 20.7c29.4 12.3 56 29.4 79.3 51 3.3 3.1 8.5 3 11.6-.3l26.7-27.9c3.1-3.2 3-8.3-.3-11.4C419 129.6 337.5 96 256 96z"/><path d="M113.2 277.5l28.6 28.3c3.1 3 8 3.2 11.2.3 28.3-25.1 64.6-38.9 102.9-38.9s74.6 13.7 102.9 38.9c3.2 2.9 8.1 2.7 11.2-.3l28.6-28.3c3.3-3.3 3.2-8.6-.3-11.7-37.5-33.9-87.6-54.6-142.5-54.6s-105 20.7-142.5 54.6c-3.3 3.1-3.4 8.4-.1 11.7zM256 324.2c-23.4 0-44.6 9.8-59.4 25.5-3 3.2-2.9 8.1.2 11.2l53.4 52.7c3.2 3.2 8.4 3.2 11.6 0l53.4-52.7c3.1-3.1 3.2-8 .2-11.2-14.8-15.6-36-25.5-59.4-25.5z"/></svg>PK}w�\����ionicons/svg/md-card.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M435.2 80H76.8c-24.9 0-44.6 19.6-44.6 44L32 388c0 24.4 19.9 44 44.8 44h358.4c24.9 0 44.8-19.6 44.8-44V124c0-24.4-19.9-44-44.8-44zm0 308H76.8V256h358.4v132zm0-220H76.8v-44h358.4v44z"/></svg>PK}w�\��~3==ionicons/svg/md-thumbs-down.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M314 64H142c-15.7 0-28.6 9.6-34.2 23.4L50.6 222.8c-1.7 4.4-2.6 9-2.6 14v38.6c0 21.1 17 44.6 37.8 44.6h119.3l-18 81.5-.6 6c0 7.9 3.2 15.1 8.3 20.3l20 20.1L341 320.7c6.8-6.9 11-16.5 11-27.1v-192c0-21.1-17.2-37.6-38-37.6zM400 64h64v224h-64z"/></svg>PK}w�\�4vZffionicons/svg/ios-hand.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M394.9 117.3c-11.6 0-21.1 9.3-21.1 20.6v109.4c0 4.8-4 8.7-8.9 8.7s-8.9-3.9-8.9-8.7V85.9c0-11.3-9.5-20.6-21.1-20.6-11.6 0-21.1 9.3-21.1 20.6v126.8c0 4.8-4 8.7-8.9 8.7s-8.9-3.9-8.9-8.7V68.6c0-11.3-9.5-20.6-21.1-20.6-11.6 0-21.1 9.3-21.1 20.6V230c0 4.8-4 8.7-8.9 8.7s-8.9-3.9-8.9-8.7V103.2c0-11.3-9.5-20.6-21.1-20.6-11.6 0-21.1 9.3-21.1 20.6v218.3L166 297.9c-26.1-22.7-48.2-32.4-66.2-15.7-12.1 11.8 6.9 30.9 26.8 53.2 19.2 21.5 70 91.9 113.3 117.3 0 0 16.7 11.4 40.6 11.4h57.2c46.1 0 78.4-37.9 78.4-93.2v-233c-.1-11.3-9.6-20.6-21.2-20.6z"/></svg>PK}w�\.+_""ionicons/svg/ios-hammer.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M277.6 246.9c-1.1-2-2.5-3.9-4.1-5.5l-18.4-18.2c-1.9-1.9-4.1-3.5-6.6-4.6-8.2-3.6-17.4-1.7-23.4 4.3-6.4 6.3-18.1 17.8-39.2 38.7-40.4 40-98.1 89.6-132 118.2-7.2 6.1-7.7 17-1.1 23.7L92 443.2c6.7 6.7 17.6 6.3 23.8-.9 29.4-34.6 79.5-92.3 119.4-131.8 20.5-20.2 32-31.8 38.5-38.2 6.5-6.6 8.3-16.7 3.9-25.4zM462.4 218.1l-34.5-34.2c-1.1-1.1-2.5-1.6-4-1.6-1.4 0-2.9.5-4 1.6-2.5 2.5-6.1 3.8-9.6 3.3-4.5-.5-9.3-1.9-12.4-4.9-7-6.9 1.1-20.5-5.1-29.2-6.2-8.7-16.1-19.8-23.2-26.9-7.1-7-35-33.7-82-52.9-16.6-6.8-32.8-9.3-47.3-9.3-26.5 0-47.4 8.5-54.8 15.3-5.5 5.1-11.2 14.1-3.1 14.1.7 0 1.5-.1 2.4-.2 4.5-.7 13.3-1.5 23.4-1.5 15.7 0 34.5 2.1 44.6 10.1 16.3 13.1 29.8 30.6 30.9 53.2.8 16.8-3.4 28.2-18.7 45.5-2.8 3.2-2.6 8 .4 10.9l19.2 19.2c3.1 3.1 8.1 3.1 11.2.1 14-13.6 22.1-20.2 31.3-22.7 4-1.1 8.4-1.6 12.8-1.6 9.7 0 19.2 2.2 23.6 4.6 1.1.6 2.1 1.4 3.1 2.4 6.5 6.6 6.1 17.4-.5 23.9l-2 1.9c-2.2 2.2-2.2 5.7 0 7.9l34.5 34.2c1.1 1.1 2.5 1.6 4 1.6 1.4 0 2.9-.5 4-1.6l55.8-55.2c2.1-2.3 2.1-5.8 0-8z"/></svg>PK}w�\��W0��ionicons/svg/ios-apps.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M434.8 137.6L285.4 69.5c-16.2-7.4-42.7-7.4-58.9 0L77.2 137.6c-17.6 8-17.6 21.1 0 29.1l148 67.5c16.9 7.7 44.7 7.7 61.6 0l148-67.5c17.6-8 17.6-21.1 0-29.1zM225.2 375.2l-99.8-45.5c-4.2-1.9-9.1-1.9-13.3 0l-34.9 15.9c-17.6 8-17.6 21.1 0 29.1l148 67.5c16.9 7.7 44.7 7.7 61.6 0l148-67.5c17.6-8 17.6-21.1 0-29.1l-34.9-15.9c-4.2-1.9-9.1-1.9-13.3 0l-99.8 45.5c-16.9 7.7-44.7 7.7-61.6 0z"/><path d="M434.8 241.6l-31.7-14.4c-4.2-1.9-9-1.9-13.2 0l-108 48.9c-15.3 5.2-36.6 5.2-51.9 0l-108-48.9c-4.2-1.9-9-1.9-13.2 0l-31.7 14.4c-17.6 8-17.6 21.1 0 29.1l148 67.5c16.9 7.7 44.7 7.7 61.6 0l148-67.5c17.7-8 17.7-21.1.1-29.1z"/></svg>PK}w�\_;\ccionicons/svg/md-camera.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><circle cx="256" cy="280" r="63"/><path d="M440 96h-88l-32-32H192l-32 32H72c-22.092 0-40 17.908-40 40v272c0 22.092 17.908 40 40 40h368c22.092 0 40-17.908 40-40V136c0-22.092-17.908-40-40-40zM256 392c-61.855 0-112-50.145-112-112s50.145-112 112-112 112 50.145 112 112-50.145 112-112 112z"/></svg>PK}w�\Z�:�::ionicons/svg/ios-backspace.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M395 96H230c-46.7 0-73.2 34.7-102 63.5s-72.1 74.7-72.1 74.7C51 239.8 48 247 48 255.1c0 8 3 15.3 7.9 21 0 0 34.3 37.6 72.1 75.5 37.8 37.8 56.7 64.5 102 64.5h165c38.5 0 69-32.5 69-71V165c0-38.5-30.5-69-69-69zm-17.7 212.7c6.2 6.2 6.2 16.4 0 22.6-6.2 6.2-16.4 6.2-22.6 0L302 278.6l-52.7 52.7c-6.2 6.2-16.3 6.4-22.6 0-6.4-6.4-6.7-15.9 0-22.6l52.7-52.7-52.7-52.7c-6-6-7.1-15.6 0-22.6 7.1-7.1 16.4-6.2 22.6 0l52.7 52.7 52.7-52.7c6.2-6.2 16.4-6.2 22.6 0 6.2 6.2 6.2 16.4 0 22.6L324.6 256l52.7 52.7z"/></svg>PK}w�\9L����ionicons/svg/md-pizza.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M407.2 130.4C360.7 111.5 309.8 102 256 102c-53.9 0-108.3 10.3-151.2 28-8.1 3.3-15.3 9-10.1 19.5S255.9 480 255.9 480l161-329.9c3.2-6.9.9-15.4-9.7-19.7zm-221 73.6c-18.7 0-32-14.3-32-32s13.3-32 32-32 32 14.3 32 32-13.3 32-32 32zM256 347c-18.7 0-32-14.3-32-32s13.3-32 32-32 32 14.3 32 32-13.3 32-32 32zm69.8-123c-18.7 0-32-14.3-32-32s13.3-32 32-32 32 14.3 32 32-13.3 32-32 32z"/><path d="M436.9 66C384.7 45.4 320.3 32 256 32c-64.3 0-127.6 12.1-180.9 33.4C70.4 67.3 64 71 64 79.2l9.7 24.1c2.8 4.9 8.7 8.2 15.1 8.2 1.8 0 4.3-.3 7.3-1.5 49-18.9 103.1-29.6 160-29.6 56.9 0 115.2 11.6 160 29.6 3.6 1.4 5.6 1.5 7.3 1.5 6.6 0 12.2-3.3 15-8.1l9.8-24.1c-.2-7.3-5-10.8-11.3-13.3z"/></svg>PK}w�\f����ionicons/svg/md-volume-high.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M64 192v128h85.334L256 431.543V80.458L149.334 192H64zm288 64c0-38.399-21.333-72.407-53.333-88.863v176.636C330.667 328.408 352 294.4 352 256zM298.667 64v44.978C360.531 127.632 405.334 186.882 405.334 256c0 69.119-44.803 128.369-106.667 147.022V448C384 428.254 448 349.257 448 256c0-93.256-64-172.254-149.333-192z"/></svg>PK}w�\��hm��$ionicons/svg/ios-tablet-portrait.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M409 39c-4.5-4.5-10.6-7-16.9-7H119.9c-6.4 0-12.4 2.5-16.9 7-4.5 4.5-7 10.6-7 16.9V456c0 6.4 2.5 12.4 7 16.9 4.5 4.5 10.6 7 16.9 7H392c6.4 0 12.4-2.5 16.9-7 4.5-4.5 7-10.6 7-16.9V55.9c.1-6.3-2.4-12.4-6.9-16.9zm-153.4 9.7c3.9 0 7 3.1 7 7s-3.1 7-7 7-7-3.1-7-7c0-3.8 3.2-7 7-7zM256 470c-7.7 0-14-6.5-14-14.1 0-7.5 6.2-14 14-14 7.7 0 14.1 6.4 14.1 14-.1 7.6-6.4 14.1-14.1 14.1zm144-38H112V80h288v352z"/></svg>PK}w�\ ��� ionicons/svg/md-battery-dead.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M338.2 76.8h-37.4V32h-89.6v44.8h-37.4c-16.4 0-29.8 13.4-29.8 29.8V450c0 16.6 13.4 30 29.8 30H338c16.6 0 30-13.4 30-29.8V106.6c0-16.4-13.4-29.8-29.8-29.8zM320 432H192V124.8h128V432z"/></svg>PK}w�\�e���ionicons/svg/logo-reddit.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><circle cx="322.3" cy="288.4" r="31.8"/><circle cx="190.3" cy="288.4" r="31.8"/><path d="M480.5 251c0-27.7-22.2-50.2-49.5-50.2-13 0-24.7 5-33.6 13.3-33.2-23.4-78.4-38.5-128.7-40.7L292 95.7l69.6 13.9c.2 24.7 20.1 44.7 44.5 44.7 24.6 0 44.5-20.2 44.5-45.1S430.7 64 406.1 64c-18.6 0-34.5 11.6-41.2 28l-85.2-17-29.4 98.2-7.1.2c-50.3 2.2-95.5 17.4-128.7 40.7-8.8-8.3-20.6-13.3-33.6-13.3-27.3 0-49.5 22.5-49.5 50.2 0 19.6 11 36.5 27.1 44.8-.8 4.9-1.2 9.8-1.2 14.8C57.5 386.4 146.4 448 256 448s198.5-61.6 198.5-137.5c0-5-.4-9.9-1.1-14.8 16.1-8.3 27.1-25.2 27.1-44.7zM406.1 81.9c14.8 0 26.8 12.2 26.8 27.2s-12 27.2-26.8 27.2-26.8-12.2-26.8-27.2 12-27.2 26.8-27.2zM49.2 251c0-17.8 14.3-32.2 31.8-32.2 7.2 0 13.9 2.5 19.2 6.6-17.3 15.2-30.1 33-37 52.4-8.4-5.9-14-15.7-14-26.8zm337.2 141.9C351.8 416.8 305.5 430 256 430s-95.8-13.2-130.4-37.1c-32.5-22.5-50.4-51.8-50.4-82.4 0-3.2.2-6.5.6-9.7.7-6 2.2-11.9 4.3-17.7 5.6-15.6 16-30.3 30.7-43.4 4.4-3.9 9.2-7.7 14.4-11.3.1-.1.3-.2.4-.3C160.2 204.2 206.5 191 256 191s95.8 13.2 130.4 37.1c.1.1.3.2.4.3 5.2 3.6 10 7.4 14.4 11.3 14.7 13.1 25.1 27.8 30.7 43.4 2.1 5.8 3.5 11.7 4.3 17.7.4 3.2.6 6.4.6 9.7 0 30.6-17.9 59.9-50.4 82.4zm62.4-115.2c-6.9-19.4-19.7-37.2-37-52.4 5.3-4.1 12-6.6 19.2-6.6 17.5 0 31.8 14.5 31.8 32.2 0 11.2-5.6 21-14 26.8z"/><path d="M320.5 357.9c-.2.2-24.2 24.2-64.5 24.4-40.9-.2-64.4-24.2-64.6-24.4l-12.6 12.4c1.2 1.2 29.6 29.5 77.2 29.7 47.6-.2 75.9-28.5 77.1-29.7l-12.6-12.4z"/></svg>PK}w�\90���ionicons/svg/md-add-circle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.125 48 48 141.125 48 256s93.125 208 208 208 208-93.125 208-208S370.875 48 256 48zm107 229h-86v86h-42v-86h-86v-42h86v-86h42v86h86v42z"/></svg>PK}w�\�zޢ ionicons/svg/md-cloudy-night.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M123.4 183c.4-.1.8-.1 1.2-.2-.5.1-.8.2-1.2.2zM341.5 303.4C330.7 247.7 282.2 206 224 206c-34 0-65.1 12-86.5 39.1 29.4 2.2 56.7 13.1 77.7 34.2 15.6 15.7 26.6 34.9 32.1 55.8h-28.7c-13.1-37.6-48-64.5-90.6-64.5-5.1 0-12.3.6-17.7 1.7-45.7 9.4-78.3 47.6-78.3 95 0 53.4 43 96.8 96 96.8h208c44.1 0 80-36.1 80-80.6-.1-42.7-32.9-77.2-74.5-80.1z"/><path d="M112.5 225.4c13.6-17.3 30.7-30.5 50.8-39.2 18.4-8 38.8-12 60.7-12 6.1 0 12.2.4 18.2 1.1-6.1-18.1-9.4-37.6-9.4-57.8 0-24.6 4.9-48.1 13.8-69.4C161.9 68.7 99 145.7 99 237.3c0 1.6 0 3.2.1 4.8.1 0 .2-.1.3-.1l13.1-16.6zM417.6 306.8c13.3 14.2 22.6 31.5 27.1 50.1 16.5-21.4 28.7-46.4 35.3-73.5-21.2 9-44.5 13.9-68.9 13.9h-3.6c3.5 2.9 6.9 6.1 10.1 9.5z"/></svg>PK}w�\�D!Cionicons/svg/md-create.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M64 368v80h80l235.727-235.729-79.999-79.998L64 368zm377.602-217.602c8.531-8.531 8.531-21.334 0-29.865l-50.135-50.135c-8.531-8.531-21.334-8.531-29.865 0l-39.468 39.469 79.999 79.998 39.469-39.467z"/></svg>PK}w�\& %��ionicons/svg/ios-egg.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 32C192 32 96 165.2 96 288.9 96 412.6 160 480 256 480s160-67.4 160-191.1C416 165.2 320 32 256 32z"/></svg>PK}w�\��wwionicons/svg/md-information.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M232 235h48v137h-48zM232 140h48v48h-48z"/></svg>PK}w�\�>�&ll ionicons/svg/md-finger-print.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M78.1 205.6c-2.4 0-4.9-.6-7.1-1.9-6.7-3.9-9-12.4-5.1-19.1 17.8-30 71.9-100.1 190.1-100.1 51.2 0 96.1 13.6 133.4 40.4 30.7 22 47.9 46.9 56.1 58.9 4.4 6.4 2.7 15-3.7 19.4-6.4 4.3-15.2 2.7-19.6-3.7-14.9-21.6-60.1-87.2-166.2-87.2-103.6 0-150.4 60.4-165.7 86.3-2.6 4.6-7.3 7-12.2 7z"/><path d="M315.5 480c-1.2 0-2.3-.1-3.5-.4-85.7-21.5-117.7-108.1-119-111.7l-.2-.8c-.7-2.5-17.9-61.9 8.5-96.7 12.1-15.9 30.5-24 54.8-24 22.6 0 38.9 7.1 50.1 21.8 9.2 12 12.9 26.8 16.5 41.1 7.5 29.7 12.9 45.3 44.1 46.9 13.7.7 22.7-7.4 27.8-14.3 13.8-18.8 16.2-49.5 5.8-76.5-13.4-35-60.8-100.9-144.4-100.9-35.7 0-68.5 11.6-94.8 33.4-21.8 18.1-39.1 43.6-47.4 69.8-15.4 48.8 4.8 125.5 5 126.2 2 7.4-2.5 15.1-10 17-7.5 2-15.3-2.5-17.3-9.9-.9-3.5-22.5-85.3-4.7-141.7C106.2 198.2 166 136.6 256 136.6c41.6 0 80.9 14.3 113.7 41.3 25.4 21 46.2 49.2 57 77.4 13.8 36 10.1 76.4-9.4 102.8-13 17.6-31.5 26.8-52 25.8-53.4-2.7-63-40.4-70-67.9-7.2-28.2-11.8-41.8-39.3-41.8-15.1 0-25.7 4.2-32.3 12.9-9 11.9-9.7 30.5-8.7 44 1 14.1 4 25.5 4.7 27.8 2.2 5.6 30.8 76.5 99.3 93.7 7.6 1.9 12.1 9.5 10.2 16.9-1.7 6.3-7.4 10.5-13.7 10.5z"/><path d="M205.5 473.6c-3.8 0-7.5-1.5-10.3-4.4-34.3-36.4-53.7-77.1-61-128v-.3c-4.1-33.7 1.9-81.4 31.3-114.2 21.7-24.2 52.2-36.5 90.5-36.5 45.3 0 80.9 21.3 103.1 61.5 16.1 29.2 19.3 58.3 19.4 59.5.8 7.7-4.9 14.5-12.6 15.3-7.7.8-14.7-4.8-15.5-12.4 0-.3-2.8-25.3-16.5-49.7-17.2-30.7-43.4-46.3-78-46.3-29.9 0-53.3 9.1-69.4 27.1-23.2 25.9-27.7 65.8-24.5 92.2 6.4 45 23.5 80.8 53.7 112.8 5.3 5.6 5 14.5-.7 19.7-2.6 2.4-6.1 3.7-9.5 3.7z"/><path d="M363.5 433.5c-30 0-55.5-8.4-75.9-25.1-41-33.4-45.6-87.8-45.8-90.1-.6-7.7 5.2-14.4 13-15 7.8-.6 14.5 5.1 15.1 12.8.1.8 4.2 45.3 35.8 70.9 18.7 15.1 43.7 21.1 74.5 17.6 7.7-.9 14.7 4.6 15.6 12.3.9 7.7-4.7 14.6-12.4 15.4-6.8.8-13.5 1.2-19.9 1.2zM387.2 62.6C375.5 54.9 334 32 256 32c-81.9 0-123.5 25.3-132.7 31.7-.6.4-1.2.8-1.7 1.3-.1.1-.2.1-.2.1-2.9 2.6-4.7 6.3-4.7 10.4 0 7.7 6.3 13.9 14.1 13.9 3.1 0 5.9-1 8.2-2.6l-.1.1c.4-.3 36.3-27 117.1-27s116.7 26.8 117.1 27l-.1-.1.2-.2c2.4 1.8 5.3 2.8 8.5 2.8 7.8 0 14.1-6.2 14.1-13.9 0-5.8-3.5-10.8-8.6-12.9z"/></svg>PK}w�\)5-�DDionicons/svg/md-male.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M416 48H288v48h94.1L275.4 202.6C251.9 185.9 223.1 176 192 176c-79.5 0-144 64.5-144 144s64.5 144 144 144 144-64.5 144-144c0-31.1-9.9-59.9-26.6-83.4L416 129.9V224h48V48h-48zM192 416c-52.9 0-96-43.1-96-96s43.1-96 96-96 96 43.1 96 96-43.1 96-96 96z"/></svg>PK}w�\�:�99ionicons/svg/md-thumbs-up.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M198 448h172c15.7 0 28.6-9.6 34.2-23.4l57.1-135.4c1.7-4.4 2.6-9 2.6-14v-38.6c0-21.1-17-44.6-37.8-44.6H306.9l18-81.5.6-6c0-7.9-3.2-15.1-8.3-20.3L297 64 171 191.3c-6.8 6.9-11 16.5-11 27.1v192c0 21.1 17.2 37.6 38 37.6zM48 224h64v224H48z"/></svg>PK}w�\�˘�&ionicons/svg/ios-notifications-off.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M255.9 456c31.1 0 48.1-22 48.1-53h-96.3c0 31 17 53 48.2 53zM154.5 55c-2.5-4.3-7-6.8-11.6-7h.3-1.2c-2.3 0-4.7.7-6.9 1.9-6.8 3.9-9.1 12.6-5.1 19.3L357.5 457c2.6 4.5 7.4 7 12.3 7 2.4 0 4.9-.6 7.2-1.9 6.8-3.9 9.1-12.6 5.1-19.3L154.5 55zM296.1 384L159 150.5c-8.2 20.2-13.3 46-13.3 78.6 0 90.9-30.3 102.7-45.7 123.1-9.9 13.1-.5 31.8 15.9 31.8h180.2zM412 352.2c-15.4-20.3-45.7-32.2-45.7-123.1 0-93.3-41.2-130.8-79.6-139.8-3.6-.9-6.2-2.1-6.2-5.9v-2.9c0-13.4-11-24.7-24.4-24.6-13.4-.2-24.4 11.2-24.4 24.6v2.9c0 3.7-2.6 5-6.2 5.9-8.7 2-17.5 5.5-25.9 10.8L366.1 384H396c16.5 0 25.9-18.8 16-31.8z"/></svg>PK}w�\L;���ionicons/svg/ios-train.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M393.7 455.9l-50-48c-5.6-5.4-14.4-5.2-19.8.4-5.4 5.6-5.2 14.4.4 19.8l6.1 5.9H181.5l6.1-5.9c5.6-5.4 5.8-14.2.4-19.8-5.4-5.6-14.2-5.8-19.8-.4l-50 48c-5.6 5.4-5.8 14.2-.4 19.8 2.7 2.9 6.4 4.3 10.1 4.3 3.5 0 7-1.3 9.7-3.9l14.7-14.1h207.2l14.7 14.1c2.7 2.6 6.2 3.9 9.7 3.9 3.7 0 7.4-1.4 10.1-4.3 5.5-5.6 5.3-14.4-.3-19.8z"/><path d="M337 48h-17c0-8.8-7.2-16-16-16h-96c-8.8 0-16 7.2-16 16h-15c-35.3 0-65 27.7-65 63v236c0 35.3 144 65 144 65s144-29.7 144-65V111c0-35.3-27.7-63-63-63zm-81 304c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm96-160c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16v-64c0-8.8 7.2-16 16-16h160c8.8 0 16 7.2 16 16v64z"/><circle cx="256" cy="304" r="30.5"/></svg>PK}w�\��U��#ionicons/svg/logo-freebsd-devil.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M502.6 115c-22.5-43.7-58-51-58-51s15.5 32 16 51c.4 16.1-5.5 28-27.2 33.5s-30.8-2-47.8-17.5-41.6-26.5-72.6-28c-40-2-77 9-77 9-20-25 20-80 20-80-74.5 29.5-93.7 83.3-96 113.7-1.9 24.1 8.5 40.8 8.5 40.8s-.5 27.8-5 42c-3.1 9.8-16.9 25-26 34.5-12.2 12.7-12.5 38.5 0 57s44 27.5 67 39.5 31.5 21 31.5 21 1 8.3.5 15.3-3.2 14-9 18.2c-5.5 3.9-15.5.5-20.5-2s-5-6.2-10.5-8-7.3-4-6.5-11 2-9-3.5-18.5-18.5-9.5-29.5-8-17.3 6.8-17.3 6.8l-16.3-10s8.5-15.6 5.2-35.6c-7.3-43.8-50-62.8-50-62.8L89 309.3s1.1-2.6 6.4-6.4 8.1-3.6 8.1-3.6 6.6 7.6 9.1 25.3c2.5 18-6.7 27.2-6.7 27.2l-28.3-18 1-14.5L39.8 309 56 345.7l15-4 24 22.7s-15.7 11.7-33 11.7c-11 0-22-6-22-6s-1.4-1-.8-5.5c.7-5 6.8-12.5 6.8-12.5H0s27.3 38.7 65 38.7c31 0 44.2-12.5 44.2-12.5L128 397s3 5.5 0 7-7 3.5-9 15 18 29 18 29c21.8 17.8 7 32 7 32h272c-9-13-22.5-18-32-32 0 0-44.8-58.4-1.8-90.4 57.4-42.7 42.8-69.4 41.2-101.4 0 0 31.8-6.6 59.3-33.6s38.9-70.8 19.9-107.6zM195 203c-16.9 4.5-22.5 35.5-22.5 35.5 1.5-63 57.5-93 65-89s-6.5 39-21 64c0 0-8-14.1-21.5-10.5zm37 15s18-56 37.5-59.5 41.5 21 41.5 62-26 65.4-42.8 69.2c-16.5 3.8-23 2-23 2s27.5-21.6 23.5-56.8c-2.8-24.7-31.4-24.2-36.7-16.9z"/></svg>PK}w�\#�E���&ionicons/svg/md-add-circle-outline.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M363 277h-86v86h-42v-86h-86v-42h86v-86h42v86h86v42z"/><path d="M256 90c44.3 0 86 17.3 117.4 48.6C404.7 170 422 211.7 422 256s-17.3 86-48.6 117.4C342 404.7 300.3 422 256 422c-44.3 0-86-17.3-117.4-48.6C107.3 342 90 300.3 90 256c0-44.3 17.3-86 48.6-117.4C170 107.3 211.7 90 256 90m0-42C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48z"/></svg>PK}w�\� �G��ionicons/svg/md-grid.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M409.6 64H102.4C81.3 64 64 81.3 64 102.4v307.2c0 21.1 17.3 38.4 38.4 38.4h307.2c21.1 0 38.4-17.3 38.4-38.4V102.4c0-21.1-17.3-38.4-38.4-38.4zM179.2 409.6h-76.8v-76.8h76.8v76.8zm0-115.2h-76.8v-76.8h76.8v76.8zm0-115.2h-76.8v-76.8h76.8v76.8zm115.2 230.4h-76.8v-76.8h76.8v76.8zm0-115.2h-76.8v-76.8h76.8v76.8zm0-115.2h-76.8v-76.8h76.8v76.8zm115.2 230.4h-76.8v-76.8h76.8v76.8zm0-115.2h-76.8v-76.8h76.8v76.8zm0-115.2h-76.8v-76.8h76.8v76.8z"/></svg>PK}w�\��UK��ionicons/svg/ios-airplane.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M407.7 224c-3.4 0-14.8.1-18 .3l-64.9 1.7c-.7 0-1.4-.3-1.7-.9L225.8 79.4c-2.9-4.6-8.1-7.4-13.5-7.4h-23.7c-5.6 0-7.5 5.6-5.5 10.8l50.1 142.8c.5 1.3-.4 2.7-1.8 2.7L109 230.1c-2.6.1-5-1.1-6.6-3.1l-37-45c-3-3.9-7.7-6.1-12.6-6.1H36c-2.8 0-4.7 2.7-3.8 5.3l19.9 68.7c1.5 3.8 1.5 8.1 0 11.9l-19.9 68.7c-.9 2.6 1 5.3 3.8 5.3h16.7c4.9 0 9.6-2.3 12.6-6.1L103 284c1.6-2 4.1-3.2 6.6-3.1l121.7 2.7c1.4.1 2.3 1.4 1.8 2.7L183 429.2c-2 5.2-.1 10.8 5.5 10.8h23.7c5.5 0 10.6-2.8 13.5-7.4L323.1 287c.4-.6 1-.9 1.7-.9l64.9 1.7c3.3.2 14.6.3 18 .3 44.3 0 72.3-14.3 72.3-32S452.1 224 407.7 224z"/></svg>PK}w�\�?L7��ionicons/svg/ios-basket.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M387.9 373.7h49.2l17.5-75.4h-66.7zM387.9 448h.5c18.7 0 33.4-12.5 38.3-29.5l6-25.9h-44.8V448zM265.4 392.5h103.7V448H265.4zM75 373.7h49v-75.4H57.5zM142.9 192h103.7v87.5H142.9zM265.4 192h103.7v87.5H265.4zM85.5 418.3c4.7 17 19.4 29.7 38.1 29.7h.5v-55.5H79.4l6.1 25.8zM142.9 392.5h103.7V448H142.9zM265.4 298.3h103.7v75.4H265.4zM142.9 298.3h103.7v75.4H142.9z"/><path d="M464 192h-47.9V96c0-17.6-14.4-32-32-32H127.9c-17.6 0-32 14.4-32 32v96H48c-10.3 0-17.9 9.6-15.6 19.6l19.7 67.9H124V106c0-7.7 6.3-14 14-14h236c7.7 0 14 6.3 14 14v173.5h72l19.6-67.9c2.3-10-5.3-19.6-15.6-19.6z"/></svg>PK}w�\�vk;��ionicons/svg/ios-medical.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M430.3 174.3l-16.5-28.6c-4.3-7.4-13.8-10-21.2-5.7L294 197c-2.7 1.5-6-.4-6-3.5v-114c0-8.6-6.9-15.5-15.5-15.5h-33c-8.6 0-15.5 6.9-15.5 15.5v114.1c0 3.1-3.3 5-6 3.5l-98.6-57c-7.4-4.3-16.9-1.7-21.2 5.7l-16.5 28.6c-4.3 7.4-1.7 16.9 5.7 21.1l98.7 57.1c2.7 1.5 2.7 5.4 0 6.9l-98.7 57.1c-7.4 4.3-9.9 13.7-5.7 21.1l16.5 28.6c4.3 7.4 13.8 10 21.2 5.7l98.6-57c2.7-1.5 6 .4 6 3.5v114.1c0 8.6 6.9 15.5 15.5 15.5h33c8.6 0 15.5-6.9 15.5-15.5V318.4c0-3.1 3.4-5 6-3.5l98.6 57c7.4 4.3 16.9 1.7 21.2-5.7l16.5-28.6c4.3-7.4 1.7-16.9-5.7-21.1l-98.7-57.1c-2.7-1.5-2.7-5.4 0-6.9l98.7-57.1c7.4-4.2 9.9-13.7 5.7-21.1z"/></svg>PK}w�\G� ��"ionicons/svg/ios-notifications.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M255.9 456c31.1 0 48.1-22 48.1-53h-96.3c0 31 17 53 48.2 53zM412 352.2c-15.4-20.3-45.7-32.2-45.7-123.1 0-93.3-41.2-130.8-79.6-139.8-3.6-.9-6.2-2.1-6.2-5.9v-2.9c0-13.4-11-24.7-24.4-24.6-13.4-.2-24.4 11.2-24.4 24.6v2.9c0 3.7-2.6 5-6.2 5.9-38.5 9.1-79.6 46.5-79.6 139.8 0 90.9-30.3 102.7-45.7 123.1-9.9 13.1-.5 31.8 15.9 31.8h280.1c16.3 0 25.7-18.8 15.8-31.8z"/></svg>PK}w�\� Ċ��ionicons/svg/md-sad.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 288c-45.443 0-83.675 26.076-102.205 64h204.41c-18.53-37.924-56.762-64-102.205-64z"/><path d="M256 48C140.563 48 48 141.6 48 256s92.563 208 208 208 208-93.6 208-208S370.401 48 256 48zm0 374.4c-91.518 0-166.404-74.883-166.404-166.4 0-91.518 74.887-166.4 166.404-166.4S422.404 164.482 422.404 256 347.518 422.4 256 422.4z"/><path d="M328.8 235.2c17.683 0 31.201-13.518 31.201-31.2s-13.519-31.2-31.201-31.2c-17.682 0-31.2 13.518-31.2 31.2s13.518 31.2 31.2 31.2zM183.2 235.2c17.682 0 31.2-13.518 31.2-31.2s-13.519-31.2-31.2-31.2c-17.683 0-31.201 13.518-31.201 31.2s13.519 31.2 31.201 31.2z"/></svg>PK}w�\�2W���ionicons/svg/ios-cellular.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M408.4 51.8c-2.6-2.5-6.1-3.8-9.7-3.8-3.7 0-7.2 1.4-9.9 3.9-2.7 2.6-4.1 6-4.1 9.6 0 3.6 1.5 7 4.2 9.6 30.4 28.5 47.1 66.5 47.1 107.1 0 40.5-16.7 78.5-47.1 107.1-2.7 2.5-4.2 5.9-4.2 9.6 0 3.6 1.4 7 4.1 9.6 2.6 2.5 6.1 3.9 9.9 3.9 3.7 0 7.1-1.4 9.7-3.8C444.3 271 464 226.1 464 178.2v-.1c0-47.9-19.8-92.7-55.6-126.3z"/><path d="M351 96.8c-2.4-2.3-5.6-3.5-9-3.5-3.3 0-6.5 1.2-8.9 3.4-2.5 2.3-3.9 5.4-3.9 8.7 0 3.3 1.3 6.4 3.8 8.7 18 17 27.8 39.8 27.8 64 0 24.2-9.9 47-27.8 64-2.5 2.3-3.8 5.4-3.8 8.7 0 3.3 1.4 6.4 3.9 8.7 2.4 2.2 5.5 3.4 8.9 3.4 3.4 0 6.6-1.3 9-3.5 22.8-21.7 35.4-50.5 35.4-81.3v-.1c0-30.7-12.6-59.5-35.4-81.2zM123.1 71.1c2.7-2.5 4.2-5.9 4.2-9.6 0-3.6-1.4-7-4.1-9.6-2.6-2.5-6.1-3.9-9.9-3.9-3.7 0-7.1 1.4-9.7 3.8C67.7 85.4 48 130.3 48 178.2v.2c0 47.8 19.8 92.6 55.6 126.2 2.6 2.5 6.1 3.8 9.7 3.8 3.7 0 7.2-1.4 9.9-3.9 2.7-2.6 4.1-6 4.1-9.6 0-3.6-1.5-7-4.2-9.6C92.7 256.8 76 218.8 76 178.2c-.1-40.6 16.7-78.6 47.1-107.1z"/><path d="M179 114.1c2.5-2.3 3.8-5.4 3.8-8.7 0-3.3-1.4-6.4-3.9-8.7-2.4-2.2-5.5-3.4-8.9-3.4-3.4 0-6.6 1.3-9 3.5-22.8 21.7-35.4 50.5-35.4 81.3v.1c0 30.8 12.6 59.6 35.4 81.2 2.4 2.3 5.6 3.5 9 3.5 3.3 0 6.5-1.2 8.9-3.4 2.5-2.3 3.9-5.4 3.9-8.7 0-3.3-1.3-6.4-3.8-8.7-18-17-27.8-39.8-27.8-64-.1-24.2 9.8-46.9 27.8-64zM256 123.2c-26.5 0-48 21.5-48 48 0 21.6 14.3 39.9 34 45.9v233c0 7.7 6.3 13.9 14 13.9s14-6.2 14-13.9v-233c19.7-6 34-24.3 34-45.9 0-26.5-21.5-48-48-48z"/></svg>PK}w�\29$q��ionicons/svg/md-at.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M265.6 212.3c-10.5 0-18.5 4.4-24 13.2-5.5 8.8-9.1 22-10.8 39.6-.9 11.7 0 20.5 2.7 26.5s7.1 9 13.1 9c5.5 0 10.3-1.5 14.6-4.4 4.3-2.9 8.1-8.3 11.3-16.2l6.1-66c-2.2-.5-4.4-.9-6.5-1.2-2.3-.4-4.4-.5-6.5-.5z"/><path d="M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zm127.8 201.9c-.9 21.4-7.6 39.9-20 55.6-12.4 15.6-31 23.4-55.6 23.4-8.2 0-15.3-2.2-21.2-6.6-6-4.4-10.2-10.7-12.6-18.8-4.1 8.3-9.4 14.5-15.7 18.6-6.3 4.1-13.7 6.2-22.2 6.2-15.1 0-26.6-5.8-34.6-17.3s-10.9-26.8-8.8-45.9c2.6-24.4 10-44 22.2-58.7 12.2-14.7 27-22 44.4-22 12.2 0 22.1 1.3 29.5 3.8 7.4 2.5 15.6 5.7 24.5 11l-.5-.1h.8l-7.7 83.4c-.5 8.5.1 14.6 1.7 17.8 1.7 3.2 3.9 4.9 6.7 4.9 11.3 0 20.4-5.1 27.2-15.6 6.8-10.5 10.6-23.6 11.4-39.6 1.6-33-5.1-58.7-20.2-77.1-15.1-18.4-38.3-27.7-69.7-27.7-30.5 0-54.8 9.9-72.8 29.8s-27.7 46.9-29.3 81.2c-1.7 33.4 5.6 59.8 21.9 79.1 16.3 19.4 39.7 29.1 70.3 29.1 8.5 0 17.3-.9 26.5-2.7 9.1-1.8 17.1-4.1 23.7-6.8l5.8 24.2c-6.8 4.1-15.4 7.3-25.9 9.6-10.5 2.3-20.7 3.4-30.7 3.4-40.8 0-72.3-12.1-94.3-36.4-22-24.2-32.2-57.4-30.5-99.6 1.8-41.8 14.9-74.9 39.1-99.4 24.3-24.5 56.5-36.7 96.7-36.7 39.5 0 69.8 11.6 90.7 34.7 21.2 23.2 30.8 54.9 29.2 95.2z"/></svg>PK}w�\���X��ionicons/svg/md-crop.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M352 312.7h37.8V160c0-20.8-17-37.8-37.8-37.8H199.3V160H352v152.7zm-192 33.5V48h-37.8v74.2H48V160h74.2v186.2c0 20.8 17 37.8 37.8 37.8h192v80h37.8v-80H464v-37.8H160z"/></svg>PK}w�\ƛ>9��ionicons/svg/md-hand.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M450.679 273.5c-14.585-14.577-36.054-15.89-50.639-1.312l-41.687 41.664c-10.852 10.836-23.93 10.859-31.564 1.852-5.057-5.968-3.061-24.374-1.644-36.049l20.907-171.849c1.867-15.353-9.07-30.185-24.43-32.051-15.358-1.867-29.322 9.939-31.191 25.289L267.37 236.021c-1.205 3.358-3.79 3.938-4.081-.582L255.44 60c0-15.465-12.542-28-28.014-28-15.473 0-28.015 12.535-28.015 28l-.552 176.752c.146 2.04-1.604 2.624-1.92.294L172.016 99.077c-2.75-15.219-17.323-26.203-32.548-23.453-15.227 2.748-25.339 18.187-22.591 33.403l22.193 161.455c.023 2.872-.941 4.513-2.308.831l-33.109-88.517c-5.18-14.572-21.196-23.065-35.776-17.889-14.579 5.177-22.201 22.061-17.023 36.631l58.042 189.625c.303 1.046.624 2.085.953 3.118l.121.39c.011.031.025.058.035.088C126.079 444.233 172.57 480 227.427 480c35.116 0 71.591-12.378 99.357-33.672l.003-.002c29.99-18.051 126.071-121.347 126.071-121.347 14.587-14.577 12.408-36.899-2.179-51.479z"/></svg>PK}w�\��C�$$ ionicons/svg/md-code-working.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M190.4 354.1L91.9 256l98.4-98.1-30-29.9L32 256l128.4 128 30-29.9zm131.2 0L420 256l-98.4-98.1 30-29.9L480 256 351.6 384l-30-29.9z"/><path d="M155.6 276h40v-40h-40v40zm200.8-40h-40v40h40v-40zM236 276h40v-40h-40v40z"/></svg>PK}w�\ �xLLionicons/svg/md-desktop.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M437.333 32H74.667C51.198 32 32 51.197 32 74.666v282.667C32 380.802 51.198 400 74.667 400h138.666l-42.666 48v32h170.666v-32l-42.666-48h138.666C460.802 400 480 380.802 480 357.333V74.666C480 51.197 460.802 32 437.333 32zm0 288H74.667V74.666h362.666V320z"/></svg>PK}w�\�&�ionicons/svg/ios-sync.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M492 257.1c-2.6-2.6-6-4-9.6-4-3.6 0-7 1.4-9.6 4l-13 13c4.3-61.8-19.5-122.5-65.3-165C356.9 70.2 307.7 51 256.1 51c-26.7 0-52.8 5.1-77.4 15.1-25.5 10.4-48.3 25.6-67.7 45.3-13.2 13.4-24.6 28.5-33.6 44.8-1.9 3.4-2.3 7.4-1.2 11.1 1.1 3.7 3.8 6.8 7.2 8.5 2 1 4.2 1.5 6.4 1.5 5.2 0 9.9-2.8 12.4-7.3 7.9-14.3 17.8-27.5 29.4-39.1 16.8-16.8 36.3-29.8 58.1-38.7 21.1-8.6 43.4-12.9 66.2-12.9 22.9 0 45.2 4.3 66.3 12.9 21.8 8.9 41.4 21.9 58.2 38.8 20.3 20.4 35.4 45.6 43.8 73 7 22.9 9.2 47.3 6.6 71.2l-18.9-18.5c-2.5-2.4-5.8-3.8-9.3-3.8-3.5 0-6.9 1.4-9.4 3.9-5.2 5.2-5.2 13.6 0 18.8l42.8 42.9c1.9 1.9 4.4 2.9 7 2.9 2.6 0 5.1-1 7-2.9l42.1-42.2c5.2-5.3 5.2-13.9-.1-19.2zM428.6 335.9c-2-1-4.2-1.5-6.4-1.5-5.2 0-9.9 2.8-12.4 7.3-7.9 14.3-17.8 27.5-29.4 39.1-16.8 16.8-36.3 29.9-58.2 38.7-21.1 8.6-43.4 12.9-66.3 12.9s-45.2-4.3-66.2-12.9c-21.8-8.9-41.4-21.9-58.2-38.7-37.6-37.8-56-90.9-50.3-143.9l18.4 18.5c2.4 2.4 5.6 3.7 9 3.7 3.4 0 6.6-1.3 9-3.7l1.3-1.3c4.9-4.9 4.9-13 0-17.9l-42.9-43c-1.9-1.9-4.4-2.9-7-2.9-2.6 0-5.1 1-7 2.9l-42 42.3c-5.3 5.3-5.3 13.9 0 19.2 2.6 2.6 6 4 9.6 4 3.6 0 7-1.4 9.6-4l13-13.1c-1.8 25.8 1.3 52 9 76.5 9.9 31.4 26.8 59.3 50.3 82.8 19.5 19.6 42.2 34.7 67.6 45.1 24.5 10 50.4 15 76.9 15 26.5 0 52.4-5.1 76.9-15 25.4-10.3 48.1-25.5 67.6-45.1 13.5-13.5 25-28.8 34.2-45.4 1.9-3.4 2.3-7.4 1.2-11.1-1.2-3.7-3.8-6.8-7.3-8.5z"/></svg>PK}w�\=j� ionicons/svg/ios-help-circle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zm-4.3 304c-11.8 0-21.4-9-21.4-20.6 0-11.5 9.6-20.6 21.4-20.6 11.9 0 21.5 9 21.5 20.6 0 11.6-9.5 20.6-21.5 20.6zm40.2-96.9c-17.4 10.1-23.3 17.5-23.3 30.3v7.9h-34.7l-.3-8.6c-1.7-20.6 5.5-33.4 23.6-44 16.9-10.1 24-16.5 24-28.9s-12-21.5-26.9-21.5c-15.1 0-26 9.8-26.8 24.6H192c.7-32.2 24.5-55 64.7-55 37.5 0 63.3 20.8 63.3 50.7 0 19.9-9.6 33.6-28.1 44.5z"/></svg>PK}w�\�u�i22ionicons/svg/md-construct.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M430.9 393.4l-119.6-119-58.1-57.9-13.4-13.3c15.9-40.6 7.1-88.2-26.6-121.7-35.4-35.3-88.5-42.3-131-22.9l76.1 75.8-53.1 52.9-77.9-75.8C6.2 153.8 15 206.7 50.4 242c33.6 33.5 81.4 42.3 122.1 26.5l14.4 14.3L81.7 388c-7.6 5.7-7.6 19 1.9 26.6l43.8 43.7c7.6 7.6 19.1 7.6 26.7 0l96.1-112.4 113.4 112.9c7.1 7.1 17.7 7.1 24.8 0l40.7-40.6c8.9-7.1 8.9-19.5 1.8-24.8z"/><path d="M494.4 216.6l-34.5-34.1c-2.2-2.2-5.8-2.2-8 0l-3.7 3.7-18.5-15.8s1.2-10-4.9-18.7c-6.2-8.7-16.1-19.8-23.2-26.9-7.1-7-34.1-33.9-69.7-51.4C296.2 55.7 271 48 241 48v29.7s28.7 16.6 45.1 29.7c16.3 13.1 16.8 59.5 16.8 59.5l-28.5 28.5 56.5 56.1 31-36.3c12.9-3.5 23.8-3.8 30.2-.3l13.7 13.3-9.6 9.5c-2.2 2.2-2.2 5.7 0 7.9l34.5 34.1c2.2 2.2 5.8 2.2 8 0l55.7-55.2c2.1-2.2 2.1-5.8 0-7.9z"/></svg>PK}w�\I�����ionicons/svg/ios-woman.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M286 496c-6.1 0-11.8-2.3-16-6.6-3.2-3.3-7.1-9.1-7.1-18.6V351.4H249v119.4c0 9.5-4 15.4-7.4 18.7-4.3 4.2-10.1 6.5-16.3 6.5-6.2 0-11.9-2.3-16.3-6.5-3.4-3.3-7.4-9.1-7.4-18.7V351.4h-43.9l44.5-170.6h-6.8L171 271.2c-4 13.1-13.7 17.8-21.4 17.8-6.6 0-12.9-3.2-17-8.7-4.8-6.4-6.1-14.9-3.6-23.9l29-104.1c4.2-15.2 20.7-38.2 48.7-39.3H305.1c28.4 1.2 44.1 26 48.5 38.9l.1.4 29 104.3c2.4 9 1 17.6-3.9 24-4.1 5.4-10.4 8.6-16.9 8.6-7.7 0-17.3-4.8-21.3-18.1v-.2l-24.3-90.1h-7.7l45.5 170.6H309v119.4c0 9.5-3.9 15.3-7.1 18.6-4.2 4.3-9.8 6.6-15.9 6.6zM255.9 106.4c-24.2 0-43.9-20.3-43.9-45.2S231.7 16 255.9 16s43.9 20.3 43.9 45.2-19.7 45.2-43.9 45.2z"/></svg>PK}w�\�\4��ionicons/svg/md-paper.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M464 64H192c-8.8 0-16 7.7-16 16.5V112H74c-23.1 0-42 18.9-42 42v207.5c0 47.6 39 86.5 86 86.5h279.7c45.1 0 82.3-36.9 82.3-82V80c0-8.8-7.2-16-16-16zm-288 80v192h-42V163.2c0-6.8-.8-13.3-3.3-19.2H176zm-17 255.4C148 410 133.2 416 118.5 416c-14.5 0-28.1-5.7-38.5-16-10.3-10.3-16-24-16-38.5V163.2c0-10.6 8.4-19.2 19-19.2s19 8.6 19 19.2V352c0 8.8 7.2 16 16 16h57.5c-1.5 11.6-7.2 22.6-16.5 31.4zM448 366c0 13.3-5.4 25.8-14.9 35.3-9.5 9.5-22.2 14.7-35.4 14.7H187.3c12.8-14.9 20.7-33.9 20.7-54.5V97h240v269z"/><path d="M248 136h160v56H248zM248 224h160v32H248zM248 288h160v32H248zM408 352H248s0 32-8 32h148.7c19.3 0 19.3-21 19.3-32z"/></svg>PK}w�\�<X(("ionicons/svg/ios-cloud-outline.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M288 124c30.3 0 59.3 11.2 81.8 31.5 22.3 20.1 36.3 47.6 39.5 77.3l1.2 11.1c.6 5.8 5 10.5 10.7 11.5l11 2c14 2.5 27 10.4 36.7 22.1 9.8 12 15.2 26.9 15.2 42.1 0 17-6.9 34.1-18.9 46.8C453 381 437.4 388 421.1 388H90.9c-16.3 0-31.9-7-43.9-19.7s-18.9-29.7-18.9-46.8c0-14.4 4.6-28.9 13.1-40.9 8.6-12.2 20.2-20.9 33.7-25.1l10.3-3.3c5.3-1.7 9-6.6 9.1-12.2l.2-10.8c.2-11.8 5.1-23.6 13.5-32.4 8.3-8.7 18.9-13.4 29.9-13.4 5.6 0 11.1 1.1 16.3 3.2l11.1 4.5c5.7 2.3 12.2.4 15.7-4.7l6.8-9.8C210.4 143.7 248 124 288 124m0-28c-51.2 0-96.3 25.6-123.4 64.7-8.3-3.4-17.4-5.3-26.9-5.3-39.1 0-70.8 34.4-71.4 73.4C26.4 241.5 0 280.5 0 321.5 0 371.7 40.7 416 90.9 416h330.3c50.2 0 90.9-44.3 90.9-94.5 0-44.7-32.3-84.1-74.9-91.7C429 154.6 365.4 96 288 96z"/></svg>PK}w�\x�����ionicons/svg/ios-alarm.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M381.2 64.1c-1.3-.1-2.6-.1-3.9-.1h-.2c-16.2 0-32 5.4-44.6 15.1-1.6 1.3-2.6 3.2-2.7 5.2-.1 2 .8 4 2.3 5.4l89.8 80.5c1.3 1.1 2.9 1.8 4.6 1.8h.4c1.9-.1 3.6-1 4.8-2.4C440.9 159 448 150.8 448 133c.1-36.4-29.1-66.8-66.8-68.9zM64 133c0 17.8 7.1 26 16.3 36.6 1.2 1.4 2.9 2.3 4.8 2.4h.4c1.7 0 3.3-.6 4.6-1.8L180 89.7c1.5-1.4 2.4-3.3 2.3-5.4-.1-2-1-3.9-2.7-5.2C167 69.4 151.2 64 135 64h-.2c-1.3 0-2.6 0-3.9.1-37.7 2.1-67 32.5-66.9 68.9z"/><g><path d="M390 386c26.2-30.7 42-70.5 42-114 0-97.2-78.8-176-176-176S80 174.8 80 272c0 43.5 15.8 83.3 42 114l-34.7 35.5c-6.2 6.3-6 15.5.3 21.6 3.1 3 7.4 4.8 11.4 4.8 4.2 0 8.1-1.9 11.2-5.1l34.6-34.5c30.3 24.7 69 39.6 111.2 39.6s80.9-14.8 111.2-39.6l33.6 34.5c3.1 3.2 7.3 5.1 11.5 5.1 4 0 8.1-1.8 11.2-4.8 6.3-6.2 7.5-15.3 1.3-21.6L390 386zM270 274c0 7.7-6.3 14-14 14h-82c-7.7 0-14-6.3-14-14s6.3-14 14-14h68V158c0-7.7 6.3-14 14-14s14 6.3 14 14v116z"/></g></svg>PK}w�\s�.ccionicons/svg/logo-buffer.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M70.7 164.5l169.2 81.7c4.4 2.1 10.3 3.2 16.1 3.2s11.7-1.1 16.1-3.2l169.2-81.7c8.9-4.3 8.9-11.3 0-15.6L272.1 67.2c-4.4-2.1-10.3-3.2-16.1-3.2s-11.7 1.1-16.1 3.2L70.7 148.9c-8.9 4.3-8.9 11.3 0 15.6z"/><path d="M441.3 248.2s-30.9-14.9-35-16.9-5.2-1.9-9.5.1S272 291.6 272 291.6c-4.5 2.1-10.3 3.2-16.1 3.2s-11.7-1.1-16.1-3.2c0 0-117.3-56.6-122.8-59.3-6-2.9-7.7-2.9-13.1-.3l-33.4 16.1c-8.9 4.3-8.9 11.3 0 15.6l169.2 81.7c4.4 2.1 10.3 3.2 16.1 3.2s11.7-1.1 16.1-3.2l169.2-81.7c9.1-4.2 9.1-11.2.2-15.5z"/><path d="M441.3 347.5s-30.9-14.9-35-16.9-5.2-1.9-9.5.1S272.1 391 272.1 391c-4.5 2.1-10.3 3.2-16.1 3.2s-11.7-1.1-16.1-3.2c0 0-117.3-56.6-122.8-59.3-6-2.9-7.7-2.9-13.1-.3l-33.4 16.1c-8.9 4.3-8.9 11.3 0 15.6l169.2 81.7c4.4 2.2 10.3 3.2 16.1 3.2s11.7-1.1 16.1-3.2l169.2-81.7c9-4.3 9-11.3.1-15.6z"/></svg>PK}w�\����� ionicons/svg/logo-javascript.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M208 88.001h-80v212.498c0 52.58-18.032 67.261-49.412 67.261-14.705 0-27.948-2.521-38.25-6.063L32 423.904C46.7 428.966 69.259 432 86.907 432 158.955 432 208 398.129 208 301.02V88.001zM382.463 80C305.02 80 256 123.998 256 182.154c0 50.083 37.751 81.44 92.641 101.665 39.7 14.158 55.392 26.808 55.392 47.539 0 22.756-18.139 37.425-52.448 37.425-31.863 0-60.789-10.64-80.394-21.255v-.021L256 410.727c18.639 10.638 53.441 21.255 91.167 21.255C437.854 431.98 480 383.43 480 326.284c0-48.55-26.958-79.9-85.278-102.163-43.139-17.191-61.27-26.795-61.27-48.542 0-17.2 15.688-32.869 48.043-32.869 31.846 0 53.744 10.707 66.505 17.291l19.125-64C447.125 87.22 420.188 80 382.463 80z"/></svg>PK}w�\���**ionicons/svg/ios-swap.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M388.9 266.3c-5.1-5-5.2-13.3-.1-18.4L436 200H211c-7.2 0-13-5.8-13-13s5.8-13 13-13h224.9l-47.2-47.9c-5-5.1-5-13.3.1-18.4 5.1-5 13.3-5 18.4.1l69 70c1.1 1.2 2.1 2.5 2.7 4.1.7 1.6 1 3.3 1 5 0 3.4-1.3 6.6-3.7 9.1l-69 70c-5 5.2-13.2 5.3-18.3.3zM123.1 404.3c5.1-5 5.2-13.3.1-18.4L76.1 338H301c7.2 0 13-5.8 13-13s-5.8-13-13-13H76.1l47.2-47.9c5-5.1 5-13.3-.1-18.4-5.1-5-13.3-5-18.4.1l-69 70c-1.1 1.2-2.1 2.5-2.7 4.1-.7 1.6-1 3.3-1 5 0 3.4 1.3 6.6 3.7 9.1l69 70c5 5.2 13.2 5.3 18.3.3z"/></svg>PK}w�\;Mʫ ionicons/svg/md-copy.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M296 48H176.5C154.4 48 136 65.4 136 87.5V96h-7.5C106.4 96 88 113.4 88 135.5v288c0 22.1 18.4 40.5 40.5 40.5h208c22.1 0 39.5-18.4 39.5-40.5V416h8.5c22.1 0 39.5-18.4 39.5-40.5V176L296 48zm0 44.6l83.4 83.4H296V92.6zm48 330.9c0 4.7-3.4 8.5-7.5 8.5h-208c-4.4 0-8.5-4.1-8.5-8.5v-288c0-4.1 3.8-7.5 8.5-7.5h7.5v255.5c0 22.1 10.4 32.5 32.5 32.5H344v7.5zm48-48c0 4.7-3.4 8.5-7.5 8.5h-208c-4.4 0-8.5-4.1-8.5-8.5v-288c0-4.1 3.8-7.5 8.5-7.5H264v128h128v167.5z"/></svg>PK}w�\��QQionicons/svg/ios-contract.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M184.3 204.8h-77.7c-7.7 0-13.9 6.2-13.9 13.9v.2c0 7.7 6.2 13.9 13.9 13.9h112.2c7.7 0 13.9-6.2 13.9-13.9V106.6c0-7.7-6.2-13.9-13.9-13.9h-.2c-7.7 0-13.9 6.2-13.9 13.9v77.7L87.7 68c-2.6-2.6-6.1-4-9.8-4-3.7 0-7.2 1.4-9.8 4.1-5.4 5.4-5.4 14.2 0 19.6l116.2 117.1zM293.1 232.8h112.2c7.7 0 13.9-6.2 13.9-13.9v-.2c0-7.7-6.2-13.9-13.9-13.9h-77.7L444 87.7c5.4-5.4 5.4-14.2 0-19.6-2.6-2.6-6.1-4.1-9.8-4.1-3.7 0-7.2 1.4-9.8 4L307.3 184.3v-77.7c0-7.7-6.2-13.9-13.9-13.9h-.2c-7.7 0-13.9 6.2-13.9 13.9v112.2c0 7.7 6.2 14 13.8 14zM77.9 448c3.7 0 7.2-1.4 9.8-4l117.1-116.3v77.7c0 7.7 6.2 13.9 13.9 13.9h.2c7.7 0 13.9-6.2 13.9-13.9V293.1c0-7.7-6.2-13.9-13.9-13.9H106.6c-7.7 0-13.9 6.2-13.9 13.9v.2c0 7.7 6.2 13.9 13.9 13.9h77.7L68 424.3c-5.4 5.4-5.4 14.2 0 19.6 2.7 2.7 6.2 4.1 9.9 4.1zM293.1 419.2h.2c7.7 0 13.9-6.2 13.9-13.9v-77.7L424.3 444c2.6 2.6 6.1 4 9.8 4 3.7 0 7.2-1.4 9.8-4.1 5.4-5.4 5.4-14.2 0-19.6L327.7 307.2h77.7c7.7 0 13.9-6.2 13.9-13.9v-.2c0-7.7-6.2-13.9-13.9-13.9H293.1c-7.7 0-13.9 6.2-13.9 13.9v112.2c.1 7.7 6.3 13.9 13.9 13.9z"/></svg>PK}w�\-�Cccionicons/svg/md-car.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M403.208 117.333c-4.271-12.802-16-21.333-29.875-21.333H138.667c-13.875 0-25.604 8.531-29.875 21.333L64 234.667v160C64 406.396 73.604 416 85.333 416h21.334c11.729 0 21.333-9.604 21.333-21.333V384h256v10.667c0 11.729 9.604 21.333 21.333 21.333h21.334c11.729 0 21.333-9.604 21.333-21.333v-160l-44.792-117.334zM138.667 320c-18.125 0-32-13.865-32-32s13.875-32 32-32 32 13.866 32 32-13.875 32-32 32zm234.666 0c-18.125 0-32-13.865-32-32s13.875-32 32-32 32 13.866 32 32-13.875 32-32 32zM106.667 213.333l32-85.333h234.666l32 85.333H106.667z"/></svg>PK}w�\�+�A??$ionicons/svg/ios-arrow-dropright.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M210.7 147.6c7.5-7.5 19.8-7.5 27.3 0l95.4 95.7c7.3 7.3 7.5 19.1.6 26.6l-94 94.3c-3.8 3.8-8.7 5.7-13.7 5.7-4.9 0-9.9-1.9-13.6-5.6-7.5-7.5-7.6-19.7 0-27.3l79.9-81.1-81.9-81.1c-7.6-7.4-7.6-19.6 0-27.2z"/><path d="M48 256c0 114.9 93.1 208 208 208s208-93.1 208-208S370.9 48 256 48 48 141.1 48 256zm32 0c0-47 18.3-91.2 51.6-124.4C164.8 98.3 209 80 256 80s91.2 18.3 124.4 51.6C413.7 164.8 432 209 432 256s-18.3 91.2-51.6 124.4C347.2 413.7 303 432 256 432s-91.2-18.3-124.4-51.6C98.3 347.2 80 303 80 256z"/></svg>PK}w�\4��99ionicons/svg/ios-list-box.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M48 82.7v346.7c0 19.1 15.5 34.7 34.7 34.7h346.7c19.1 0 34.7-15.5 34.7-34.7V82.7c0-19.1-15.5-34.7-34.7-34.7H82.7C63.5 48 48 63.5 48 82.7zm89.3 297.1c-13.1 1.7-24.1-9.3-22.4-22.4 1.1-8.9 8.3-16.1 17.2-17.2 13.1-1.7 24.1 9.3 22.4 22.4-1.1 8.9-8.3 16.1-17.2 17.2zm0-104c-13.1 1.7-24.1-9.3-22.4-22.4 1.1-8.9 8.3-16.1 17.2-17.2 13.1-1.7 24.1 9.3 22.4 22.4-1.1 8.9-8.3 16.1-17.2 17.2zm0-104c-13.1 1.7-24.1-9.3-22.4-22.4 1.1-8.9 8.3-16.1 17.2-17.2 13.1-1.7 24.1 9.3 22.4 22.4-1.1 8.9-8.3 16.1-17.2 17.2zM384.7 374h-180c-7.7 0-14-6.3-14-14s6.3-14 14-14h180c7.7 0 14 6.3 14 14s-6.3 14-14 14zm0-104h-180c-7.7 0-14-6.3-14-14s6.3-14 14-14h180c7.7 0 14 6.3 14 14s-6.3 14-14 14zm0-104h-180c-7.7 0-14-6.3-14-14s6.3-14 14-14h180c7.7 0 14 6.3 14 14s-6.3 14-14 14z"/></svg>PK}w�\�SFF$ionicons/svg/md-arrow-round-down.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M99.4 284.9l134 138.1c5.8 6 13.7 9 22.4 9h.4c8.7 0 16.6-3 22.4-9l134-138.1c12.5-12 12.5-31.3 0-43.2-12.5-11.9-32.7-11.9-45.2 0l-79.4 83v-214c0-16.9-14.3-30.6-32-30.6-18 0-32 13.7-32 30.6v214l-79.4-83c-12.5-11.9-32.7-11.9-45.2 0s-12.5 31.2 0 43.2z"/></svg>PK}w�\9�����ionicons/svg/md-rainy.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M139 400s-23 25.3-23 40.7c0 12.8 10.3 23.3 23 23.3s23-10.5 23-23.3c0-15.4-23-40.7-23-40.7zM217 368s-23 25.3-23 40.7c0 12.8 10.4 23.3 23 23.3 12.7 0 23-10.5 23-23.3 0-15.4-23-40.7-23-40.7zM295 400s-23 25.3-23 40.7c0 12.8 10.3 23.3 23 23.3 12.6 0 23-10.5 23-23.3 0-15.4-23-40.7-23-40.7zM373 368s-23 25.3-23 40.7c0 12.8 10.4 23.3 23 23.3 12.7 0 23-10.5 23-23.3 0-15.4-23-40.7-23-40.7zM393.2 161.2C380.5 96.6 323.9 48 256 48c-39.7 0-76 14-100.9 45.4 34.3 2.6 66.1 15.2 90.7 39.8 18.2 18.2 31 40.5 37.4 64.8h-33.5c-15.3-43.7-56-75-105.7-75-6 0-14.3.7-20.6 2C70 136 32 180.4 32 235.5 32 297.6 79.4 352 141.2 352h242.7c51.5 0 96.2-46 96.2-97.8-.1-49.4-38.4-89.6-86.9-93z"/></svg>PK}w�\��IIionicons/svg/ios-funnel.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M48 87.2c0 5.8 2 11.4 5.6 15.7l152.2 179.8c3.6 4.3 5.6 9.9 5.6 15.7v107c0 10 5.9 18.8 14.6 22l55 19.8c9.6 3.5 19.6-4.3 19.6-15.3V298.3c0-5.8 2-11.4 5.6-15.7l152.2-179.8c3.6-4.3 5.6-9.9 5.6-15.7 0-12.8-9.6-23.2-21.4-23.2H69.4C57.6 64 48 74.4 48 87.2z"/></svg>PK}w�\�b���.ionicons/svg/md-information-circle-outline.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 90c44.3 0 86 17.3 117.4 48.6C404.7 170 422 211.7 422 256s-17.3 86-48.6 117.4C342 404.7 300.3 422 256 422s-86-17.3-117.4-48.6C107.3 342 90 300.3 90 256s17.3-86 48.6-117.4C170 107.3 211.7 90 256 90m0-42C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48z"/><path d="M277 360h-42V235h42v125zm0-166h-42v-42h42v42z"/></svg>PK}w�\��0�FFionicons/svg/ios-body.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><ellipse cx="256" cy="80" rx="48" ry="48"/><path d="M424 144H88c-13.3 0-24 10.7-24 24s10.7 24 24 24h98.5c5.6 1 13.2 3.8 17.2 14.2 4.7 12.1 2.4 33.6-.5 51.7l-3.8 21.4c0 .1 0 .2-.1.3l-30.4 172.2c-2.3 13 6.4 25.5 19.5 27.8 13.1 2.3 25.3-6.4 27.6-19.5l21-119.9v.2s6.2-32.5 18.5-32.5h1.1c12.5 0 18.5 32.5 18.5 32.5v-.1l21 119.9c2.3 13 14.7 21.7 27.7 19.4 13.1-2.3 21.7-14.8 19.4-27.8l-30.4-172.2c0-.1 0-.2-.1-.3l-3.8-21.4c-2.9-18.1-5.2-39.6-.5-51.7 4-10.4 11.6-13.2 17.2-14.2H424c13.3 0 24-10.7 24-24s-10.7-24-24-24z"/></svg>PK}w�\����CCionicons/svg/ios-subway.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M352 32H160c-35.2 0-64 28.8-64 64v232c0 35.2 28.8 64 64 64h192c35.2 0 64-28.8 64-64V96c0-35.2-28.8-64-64-64zM200 56h112c4.4 0 8 3.6 8 8s-3.6 8-8 8H200c-4.4 0-8-3.6-8-8s3.6-8 8-8zm-32 304c-15.5 0-28-12.5-28-28s12.5-28 28-28 28 12.5 28 28-12.5 28-28 28zm176 0c-15.5 0-28-12.5-28-28s12.5-28 28-28 28 12.5 28 28-12.5 28-28 28zm40-152c0 8.8-7.2 16-16 16H144.2c-8.8 0-16.2-7.2-16.2-16v-95.8c0-8.8 7.4-16.2 16.2-16.2H368c8.8 0 16 7.4 16 16.2V208zM393.7 455.9l-50-48c-5.6-5.4-14.4-5.2-19.8.4-5.4 5.6-5.2 14.4.4 19.8l6.1 5.9H181.5l6.1-5.9c5.6-5.4 5.8-14.2.4-19.8-5.4-5.6-14.2-5.8-19.8-.4l-50 48c-5.6 5.4-5.8 14.2-.4 19.8 2.7 2.9 6.4 4.3 10.1 4.3 3.5 0 7-1.3 9.7-3.9l14.7-14.1h207.2l14.7 14.1c2.7 2.6 6.2 3.9 9.7 3.9 3.7 0 7.4-1.4 10.1-4.3 5.5-5.6 5.3-14.4-.3-19.8z"/></svg>PK}w�\�V��ionicons/svg/ios-bus.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M109.6 416.7c-1.9-1.9-5.7-.5-5.6 2.2 1 21.5 1.4 29 5.5 29h55.1c4.4 0 3.3-11.5 3.3-22-34.3.1-46.9 2.3-58.3-9.2zM402.4 416.7c1.9-1.9 5.7-.5 5.6 2.2-1 21.5-1.4 29-5.5 29h-55.1c-4.4 0-3.3-11.5-3.3-22 34.3.1 46.9 2.3 58.3-9.2zM384 64H128c-17.6 0-32 14.4-32 32v276c0 22 18 40 40 40h240c22 0 40-18 40-40V96c0-17.6-14.4-32-32-32zM162 375.9c-14.8 1.2-27-11.1-25.9-25.9.9-11.6 10.3-21.1 22-22 14.8-1.2 27 11.1 25.9 25.9-1 11.7-10.4 21.1-22 22zm76-77.9h-97.8c-8.9 0-16.2-7.3-16.2-16.2V166.2c0-8.9 7.3-16.2 16.2-16.2H238c2.2 0 4 1.8 4 4v140c0 2.2-1.8 4-4 4zm115.9 77.9c-14.8 1.2-27-11.1-25.9-25.9.9-11.6 10.3-21.1 22-22 14.8-1.2 27 11.1 25.9 25.9-.9 11.7-10.3 21.1-22 22zM388 282c0 8.8-7.2 16-16 16h-98c-2.2 0-4-1.8-4-4V154c0-2.2 1.8-4 4-4h98c8.8 0 16 7.2 16 16v116zm-15-162H139c-8.8 0-15-6.3-15-14s6.2-14 15-14h234c8.8 0 15 6.3 15 14s-6.2 14-15 14z"/></svg>PK}w�\�\��{{ionicons/svg/md-albums.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M154.7 464h266.7c23.5 0 42.7-19.2 42.7-42.7V154.7c0-23.5-19.2-42.7-42.7-42.7H154.7c-23.5 0-42.7 19.2-42.7 42.7v266.7c0 23.4 19.2 42.6 42.7 42.6z"/><path d="M90.7 48h266.7c23.5 0 42.7 19.2 42.7 42.7V96H138.7C115.2 96 96 115.2 96 138.7V400h-5.3C67.2 400 48 380.8 48 357.3V90.7C48 67.2 67.2 48 90.7 48z"/></svg>PK}w�\��w%PP%ionicons/svg/ios-radio-button-off.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 76c48.1 0 93.3 18.7 127.3 52.7S436 207.9 436 256s-18.7 93.3-52.7 127.3S304.1 436 256 436c-48.1 0-93.3-18.7-127.3-52.7S76 304.1 76 256s18.7-93.3 52.7-127.3S207.9 76 256 76m0-28C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48z"/></svg>PK}w�\Hc�22$ionicons/svg/md-tablet-landscape.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M32 120v272c0 13.3 10.7 24 24 24h400c13.3 0 24-10.7 24-24V120c0-13.3-10.7-24-24-24H56c-13.3 0-24 10.7-24 24zm384 8v256H80V128h336zm46 128c0 7.7-6.5 14-14.1 14-7.5 0-14-6.2-14-14 0-7.7 6.4-14.1 14-14.1 7.6.1 14.1 6.4 14.1 14.1z"/></svg>PK}w�\4�i`55ionicons/svg/ios-images.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M262.3 199.2c-1.6-2.8-5.6-3.2-7.7-.7l-91.9 122.2c-2.5 2.9-.6 7.4 3.2 7.7l161.1 14c3.8.3 6.4-3.8 4.5-7.1l-69.2-136.1zM367.2 264.1c-1.6-2.8-5.6-3.2-7.7-.7l-24.8 25.1a4.68 4.68 0 0 0-.5 5.4l25.4 49.5c.8 1.3 2.1 2.2 3.7 2.3l44.9 3.9c3.8.3 6.4-3.8 4.5-7.1l-45.5-78.4zM378.1 224.4c11.2-.1 20.9-8.3 23-19.2 2.8-14.8-8.6-28.3-23.7-28.1-11.2.1-20.9 8.3-23 19.2-2.8 14.8 8.6 28.3 23.7 28.1z"/><path d="M455.2 129.3l-65.8-5.7-6.1-67c-1.3-14.9-14.5-25.9-29.5-24.5L56.7 58.9c-14.9 1.3-25.9 14.5-24.6 29.4l26.8 296.5c1.3 14.9 14.5 25.9 29.5 24.5l15.7-1.4-1.5 16.7c-1.3 14.9 9.7 28 24.7 29.3l297.3 25.9c14.9 1.3 28.1-9.7 29.4-24.6l26-296.6c1.2-14.8-9.8-28-24.8-29.3zM87.6 300.7c-3.7.3-7-2.4-7.4-6.1l-18-200c-.3-3.7 2.4-7 6.1-7.3l279.2-25.1c3.7-.3 7 2.4 7.4 6.1l4.8 52.8L158 103.4c-14.9-1.3-28.1 9.7-29.4 24.6l-14.9 170.3-26.1 2.4zm362.2-135.6l-17.5 200c-.3 3.7-3.6 6.5-7.3 6.2l-18.6-1.6L145.7 347c-3.7-.3-6.5-3.6-6.2-7.3l3.8-43.9L157 139.7c.3-3.7 3.6-6.5 7.3-6.2l198 17.3 29.7 2.6 51.6 4.5c3.8.2 6.6 3.5 6.2 7.2z"/></svg>PK}w�\���**ionicons/svg/md-medkit.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M352 144v-39.6C352 82 334 64 311.6 64H200.4C178 64 160 82 160 104.4V144H48v263.6C48 430 66 448 88.4 448h335.2c22.4 0 40.4-18 40.4-40.4V144H352zm-152-40h112v40H200v-40zm136 224h-56v56h-48v-56h-56v-48h56v-56h48v56h56v48z"/></svg>PK}w�\%�/�bbionicons/svg/md-remove.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M96 235h320v42H96z"/></svg>PK}w�\[~��ionicons/svg/ios-code.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M332 142.7c-1.2-1.1-2.7-1.7-4.1-1.7s-3 .6-4.1 1.7L310 155.9c-1.2 1.1-1.9 2.7-1.9 4.3 0 1.6.7 3.2 1.9 4.3l95.8 91.5-95.8 91.5c-1.2 1.1-1.9 2.7-1.9 4.3 0 1.6.7 3.2 1.9 4.3l13.8 13.2c1.2 1.1 2.6 1.7 4.1 1.7 1.5 0 3-.6 4.1-1.7l114.2-109c1.2-1.1 1.9-2.7 1.9-4.3 0-1.6-.7-3.2-1.9-4.3L332 142.7zM204 160.2c0-1.6-.7-3.2-1.9-4.3l-13.8-13.2c-1.2-1.1-2.7-1.7-4.1-1.7s-3 .6-4.1 1.7l-114.2 109c-1.2 1.1-1.9 2.7-1.9 4.3 0 1.6.7 3.2 1.9 4.3l114.2 109c1.2 1.1 2.7 1.7 4.1 1.7 1.5 0 3-.6 4.1-1.7l13.8-13.2c1.2-1.1 1.9-2.7 1.9-4.3 0-1.6-.7-3.2-1.9-4.3L106.3 256l95.8-91.5c1.2-1.1 1.9-2.7 1.9-4.3z"/></svg>PK}w�\�ZJq��ionicons/svg/md-fastforward.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M480 256L262.4 110v292L480 256zM32 110v292l217.6-146L32 110z"/></svg>PK}w�\��e�� ionicons/svg/ios-paper-plane.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M452.1 49L52.3 265.3c-6 3.3-5.6 12.1.6 14.9l68.2 25.7c4 1.5 7.2 4.5 9 8.4l53 109.1c1 4.8 9.9 6.1 10 1.2l-8.1-90.2c.5-6.7 3-13 7.3-18.2l207.3-203.1c1.2-1.2 2.9-1.6 4.5-1.3 3.4.8 4.8 4.9 2.6 7.6L228 338c-4 6-6 11-7 18l-10.7 77.9c.9 6.8 6.2 9.4 10.5 3.3l38.5-45.2c2.6-3.7 7.7-4.5 11.3-1.9l99.2 72.3c4.7 3.5 11.4.9 12.6-4.9L463.8 58c1.5-6.8-5.6-12.3-11.7-9z"/></svg>PK}w�\�/���ionicons/svg/logo-steam.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M478.8 208.2c0 19.8-16.1 36-36 36-19.8 0-36-16.1-36-36 0-19.8 16.1-36 36-36 19.8 0 36 16.2 36 36zM442.6 139c-38.1 0-69 30.7-69.4 68.7l-43.2 62c-1.8-.2-3.6-.3-5.4-.3-9.7 0-18.7 2.7-26.4 7.3L102.4 198c-5.1-23.2-25.9-40.7-50.6-40.7C23.3 157.2 0 180.6 0 209.1s23.3 51.8 51.8 51.8c9.7 0 18.7-2.7 26.4-7.3L274 332.2c5.1 23.3 25.8 40.8 50.6 40.8 26.8 0 49-20.6 51.5-46.7l66.5-48.6c38.3 0 69.4-31 69.4-69.3S480.9 139 442.6 139zm0 22.9c25.7 0 46.5 20.9 46.5 46.5 0 25.7-20.9 46.4-46.5 46.4-25.7 0-46.5-20.8-46.5-46.4 0-25.7 20.8-46.5 46.5-46.5zm-390.8 9c14.6 0 27.3 8.2 33.7 20.2l-18.9-7.6v.1c-15.3-5.5-32.2 2-38.3 17.1-6.1 15.2.9 32.3 15.7 38.9v.1l16.1 6.4c-2.6.6-5.4.9-8.2.9-21.1 0-38.1-17-38.1-38.1-.1-20.9 16.9-38 38-38zm272.8 112.2c21.1 0 38.1 17 38.1 38.1s-17 38.1-38.1 38.1c-14.7 0-27.4-8.2-33.7-20.3 6.3 2.5 12.5 5 18.8 7.6 15.5 6.2 33.2-1.3 39.4-16.8 6.2-15.5-1.3-33.1-16.9-39.4l-15.9-6.4c2.8-.5 5.5-.9 8.3-.9z"/></svg>PK}w�\�,��ionicons/svg/ios-moon.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M401.4 354.2c-2.9.1-5.8.2-8.7.2-47.9 0-93-18.9-126.8-53.4-33.9-34.4-52.5-80.1-52.5-128.8 0-27.7 6.1-54.5 17.5-78.7 3.1-6.6 9.3-16.6 13.6-23.4 1.9-2.9-.5-6.7-3.9-6.1-6 .9-15.2 2.9-27.7 6.8C135.1 95.5 80 168.7 80 255c0 106.6 85.1 193 190.1 193 58 0 110-26.4 144.9-68.1 6-7.2 11.5-13.8 16.4-21.8 1.8-3-.7-6.7-4.1-6.1-8.5 1.7-17.1 1.8-25.9 2.2z"/></svg>PK}w�\rm����!ionicons/svg/md-color-palette.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 64C150.401 64 64 150.401 64 256c0 105.604 86.401 192 192 192 18.136 0 32-13.864 32-32 0-8.531-3.198-16-8.531-21.333-5.333-5.334-8.531-12.803-8.531-21.334 0-18.135 13.864-32 32-32h38.396c58.667 0 106.667-48 106.667-106.666C448 140.802 361.604 64 256 64zM138.667 256c-18.136 0-32-13.864-32-32s13.864-32 32-32c18.135 0 32 13.864 32 32s-13.865 32-32 32zm64-85.333c-18.136 0-32-13.865-32-32 0-18.136 13.864-32 32-32 18.135 0 32 13.864 32 32 0 18.135-13.865 32-32 32zm106.666 0c-18.135 0-32-13.865-32-32 0-18.136 13.865-32 32-32 18.136 0 32 13.864 32 32 0 18.135-13.864 32-32 32zm64 85.333c-18.135 0-32-13.864-32-32s13.865-32 32-32c18.136 0 32 13.864 32 32s-13.864 32-32 32z"/></svg>PK}w�\-Jv��� ionicons/svg/ios-folder-open.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M448 119c0-13.3-9.4-23-22.8-23H230.9c-2.8 0-4.3-.6-6.1-2.4l-22.5-22.5-.2-.2c-4.9-4.6-8.9-6.9-17.3-6.9H88.7C74.9 64 64 74.3 64 87v73h384v-41zM64 188h-8.3c-12.8 0-25.3 5.1-23.5 24.3C34 231.5 55.7 423 55.7 423c2.7 17.8 11.7 25 25 25h352.5c12.7 0 21-7.8 23-25 0 0 22.2-184.9 23.6-205.5 1.4-20.5-8.9-29.5-23.6-29.5H64z"/></svg>PK}w�\���_��ionicons/svg/md-cog.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M480 288v-64h-34.7c-2-12.1-5.2-23.8-9.3-35l30-17.3-32-55.4-30 17.3c-7.7-9.3-16.3-17.9-25.6-25.6l17.3-30-55.4-32L323 76c-11.2-4.2-22.9-7.3-35-9.3V32h-64v34.7c-12.1 2-23.8 5.2-35 9.3l-17.3-30-55.4 32 17.3 30c-9.3 7.7-17.9 16.3-25.6 25.6l-30-17.3-32 55.4L76 189c-4.2 11.2-7.3 22.9-9.3 35H32v64h34.7c2 12.1 5.2 23.8 9.3 35l-30 17.3 32 55.4 30-17.3c7.7 9.3 16.3 17.9 25.6 25.6l-17.3 30 55.4 32 17.3-30c11.2 4.2 22.9 7.3 35 9.3V480h64v-34.7c12.1-2 23.8-5.2 35-9.3l17.3 30 55.4-32-17.3-30c9.3-7.7 17.9-16.3 25.6-25.6l30 17.3 32-55.4-30-17.3c4.2-11.2 7.3-22.9 9.3-35H480zm-224-64c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zM141.2 343c-18.3-24.2-29.2-54.3-29.2-87 0-6.1.4-12.1 1.1-18l46.9 17.1v.9c0 17.8 4.9 34.5 13.3 48.8L141.2 343zm40.7-148L135 177.9c20.1-31.1 51.8-53.9 89-62.3v49.9c-16.6 5.9-31.1 16.2-42.1 29.5zM256 400c-23.7 0-46-5.7-65.8-15.9l32.1-38.2c10.5 3.9 21.8 6.1 33.7 6.1s23.2-2.2 33.7-6.1l32.1 38.2C302 394.3 279.7 400 256 400zm32-234.5v-49.9c37.2 8.4 68.9 31.2 89 62.3L330.1 195c-11-13.3-25.5-23.6-42.1-29.5zM370.8 343l-32.1-38.2c8.4-14.3 13.3-31 13.3-48.8v-.9l46.9-17.1c.7 5.9 1.1 11.9 1.1 18 0 32.7-10.9 62.8-29.2 87z"/></svg>PK}w�\0KB4ionicons/svg/md-apps.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M96 176h80V96H96v80zm120 240h80v-80h-80v80zm-120 0h80v-80H96v80zm0-120h80v-80H96v80zm120 0h80v-80h-80v80zM336 96v80h80V96h-80zm-120 80h80V96h-80v80zm120 120h80v-80h-80v80zm0 120h80v-80h-80v80z"/></svg>PK}w�\�|��� ionicons/svg/md-star-outline.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M458 210.409l-145.267-12.476L256 64l-56.743 133.934L54 210.409l110.192 95.524L131.161 448 256 372.686 380.83 448l-33.021-142.066L458 210.409zM272.531 345.286L256 335.312l-16.53 9.973-59.988 36.191 15.879-68.296 4.369-18.79-14.577-12.637-52.994-45.939 69.836-5.998 19.206-1.65 7.521-17.75 27.276-64.381 27.27 64.379 7.52 17.751 19.208 1.65 69.846 5.998-52.993 45.939-14.576 12.636 4.367 18.788 15.875 68.299-59.984-36.189z"/></svg>PK}w�\�Q?���ionicons/svg/md-warning.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M32 464h448L256 48 32 464zm248-64h-48v-48h48v48zm0-80h-48v-96h48v96z"/></svg>PK}w�\ץz��ionicons/svg/md-bowtie.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M276 304h-40c-15.4 0-28-12.6-28-28v-40c0-15.4 12.6-28 28-28h40c15.4 0 28 12.6 28 28v40c0 15.4-12.6 28-28 28zM176 280v-48c0-18.2 8.7-34.4 22.2-44.6C192 160 96 96 64 96c-17.6 0-32 14.4-32 32v256c0 17.6 14.3 32 32 32 32 0 128-64 134.2-91.4-13.5-10.2-22.2-26.4-22.2-44.6zM448 96c-32 0-128 64-134.2 91.4 13.5 10.2 22.2 26.4 22.2 44.6v48c0 18.2-8.7 34.4-22.2 44.6C320 352 416 416 448 416c17.7 0 32-14.4 32-32V128c0-17.6-14.4-32-32-32z"/></svg>PK}w�\!%�XKKionicons/svg/md-jet.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M480 32s-23.4-.7-59.3 27.1C404 72 244.9 186.8 244.9 186.8l-168.8-4.2L32 222l109.8 55.2-8.6 10.8-87.9.1-7.2 40.5 63.1 48.7-26.6 59.8 60-26.4 48.7 63.1 40.5-7.2.1-87.8 10.9-8.5L290.1 480l39.3-44.1-4.2-168.7S440.1 108.2 453 91.6C480.7 55.5 480 32 480 32z"/></svg>PK}w�\~-�$$ionicons/svg/md-female.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M400 176c0-79.5-64.5-144-144-144S112 96.5 112 176c0 71.4 51.9 130.6 120 142v50h-72v48h72v64h48v-64h72v-48h-72v-50c68.1-11.4 120-70.6 120-142zm-240 0c0-52.9 43.1-96 96-96s96 43.1 96 96-43.1 96-96 96-96-43.1-96-96z"/></svg>PK}w�\�E��ionicons/svg/ios-trophy.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M450 100h-66V80c0-8.8-7.2-16-16-16H144c-8.8 0-16 7.2-16 16v20H62c-7.7 0-14 6.3-14 14 0 41.3 7.8 66 22.6 90.4 13.6 22.4 32.9 36.2 56.3 40.3 2.8.5 5.1 2.3 6.2 4.9 6.2 15.4 20.2 34.8 51.1 52.2 20.2 11.4 36.9 18.3 51.7 21.6 3.6.8 6.2 4.1 6.2 7.8V412c0 4.4-3.6 8-8 8h-65.6c-7.5 0-14 5.8-14.4 13.3-.4 8 6 14.7 14 14.7h175.6c7.5 0 14-5.8 14.4-13.3.4-8-6-14.7-14-14.7h-66c-4.4 0-8-3.6-8-8v-80.7c0-3.7 2.6-7 6.2-7.8 14.7-3.3 31.5-10.3 51.7-21.6 30.9-17.4 44.9-36.8 51.1-52.2 1.1-2.6 3.4-4.5 6.2-4.9 23.4-4.1 42.7-17.9 56.3-40.3C456.2 180 464 155.3 464 114c0-7.7-6.3-14-14-14zM128 210.6c0 2.8-2.8 4.8-5.4 3.8-12.8-4.9-23.2-14.7-30.6-28.9-5.8-11-12.6-21.4-15.1-48.8-.4-4.7 3.3-8.7 8-8.7H120c4.4 0 8 3.6 8 8v74.6zm292-25.1c-7.4 14.2-17.8 24-30.6 28.9-2.6 1-5.4-1-5.4-3.8V136c0-4.4 3.6-8 8-8h35.1c4.7 0 8.4 4 8 8.7-2.5 27.4-9.4 37.8-15.1 48.8z"/></svg>PK}w�\��V���ionicons/svg/md-megaphone.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M382.1 143.4l-23.1 23c14.7 14.7 23.9 35.2 23.9 57.6s-9.2 42.9-23.9 57.6l23.1 23.1c20.6-20.6 33.4-49.2 33.4-80.6s-12.8-60.1-33.4-80.7z"/><path d="M428.2 99l-22.7 22.7c26.1 26.1 42.3 62.4 42.3 102.3 0 39.8-16.1 76.1-42.3 102.3l22.7 22.7c31.9-32.1 51.8-76.3 51.8-125s-19.8-92.9-51.8-125zM320 184.1V80h-32l-96 80H64l-32 16v112l32 16 80 128h48l-30-128h30l96 64h32V263.9c18.4-1.7 32-18.9 32-39.9s-13.6-38.2-32-39.9z"/></svg>PK}w�\���k��ionicons/svg/ios-chatboxes.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M425.9 170.4H204.3c-21 0-38.1 17.1-38.1 38.1v154.3c0 21 17.1 38 38.1 38h126.8c2.8 0 5.6 1.2 7.6 3.2l63 58.1c3.5 3.4 9.3 2 9.3-2.9v-50.6c0-6 3.8-7.9 9.8-7.9h1c21 0 42.1-16.9 42.1-38V208.5c.1-21.1-17-38.1-38-38.1z"/><path d="M174.4 145.9h177.4V80.6c0-18-14.6-32.6-32.6-32.6H80.6C62.6 48 48 62.6 48 80.6v165.2c0 18 14.6 32.6 32.6 32.6h61.1v-99.9c.1-18 14.7-32.6 32.7-32.6z"/></svg>PK}w�\��~���ionicons/svg/md-cut.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M203.1 158.3c5.2-11.2 8.1-23.5 8.1-36.7 0-49.5-40.1-89.6-89.6-89.6S32 72.1 32 121.6s40.1 89.6 89.6 89.6c13.2 0 25.5-2.9 36.7-8.1l52.9 52.9-52.9 52.9c-11.2-5.2-23.5-8.1-36.7-8.1-49.5 0-89.6 40.1-89.6 89.6S72.1 480 121.6 480s89.6-40.1 89.6-89.6c0-13.2-2.9-25.5-8.1-36.7l52.9-52.9 156.8 156.8H480v-22.4L203.1 158.3zm-81.5 8.1c-24.6 0-44.8-19.9-44.8-44.8S97 76.8 121.6 76.8s44.8 19.9 44.8 44.8-20.2 44.8-44.8 44.8zm0 268.8c-24.6 0-44.8-19.9-44.8-44.8s20.2-44.8 44.8-44.8 44.8 19.9 44.8 44.8-20.2 44.8-44.8 44.8zm134.4-168c-6.3 0-11.2-4.9-11.2-11.2 0-6.3 4.9-11.2 11.2-11.2 6.3 0 11.2 4.9 11.2 11.2 0 6.3-4.9 11.2-11.2 11.2zM412.8 54.4L278.4 188.8l44.8 44.8L480 76.8V54.4h-67.2z"/></svg>PK}w�\�dɝ~~ionicons/svg/ios-pizza.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M446.6 109.8c-2.7-7.3-14.2-14-25-18.7-27-11.6-73.5-27.1-164.9-27.1-94 0-137.5 14.5-165 27.1-12.3 5.7-24.2 12.5-26.7 19.5-2.9 8 .8 15.3 4.1 21.8l1.5 3c3.1 6.4 12.9 12.8 22.8 13.8L251.3 445c1 1.9 3.1 3.1 5.3 3.1 2.2 0 4.3-1.2 5.3-3.1l157.6-295.1c5.6-.6 17.2-2.6 23.1-14.3 3.9-7.7 7.4-16.7 4-25.8zm-266 112.8c-1.2 3.5-2.9 6.6-5.1 9.5-1.8 2.3-5.3 2-6.7-.6-8.8-16.6-17.3-32.4-24.8-46.5-1.4-2.6.5-5.8 3.4-5.9h1c3.7 0 7.3.6 10.9 1.7 8.6 2.8 15.5 8.7 19.6 16.6 3.9 7.9 4.6 16.8 1.7 25.2zm116.6 97.5c-.8 1.4-2.3 2.3-3.9 2.1-17-1.8-30.2-15.8-30.2-32.8 0-18.2 15.2-33 33.9-33 9.9 0 19 4 25.3 11 1.1 1.2 1.3 3.1.5 4.5l-25.6 48.2zm35.2-176.8c-5.7 4.1-12.4 6.3-19.5 6.3-1.6 0-3.3-.1-4.9-.3-8.7-1.2-16.3-5.7-21.5-12.5-2-2.6-3.6-5.5-4.6-8.4-1-2.7 1.2-5.5 4-5.3 18.3 1 35.3 2.9 51.4 5.9 3.1.6 4.5 4.1 2.7 6.7-2 2.8-4.6 5.4-7.6 7.6z"/></svg>PK}w�\�C�U//ionicons/svg/logo-vk.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M427 299.1c-8.6-8-15.7-12.8-18.5-20.5-1-2.7-1.3-4.3-1-7.6.4-6 5.5-13.8 39.6-58.9 14.2-18.8 32.7-41.5 32.7-58.5 0-11-4.5-13.7-20.8-13.7h-74c-6.5 0-10.9 8.9-13.6 16.4-2.8 7.5-8.2 19-21.4 43.8-13.8 26-32.3 48.8-40 52.4-2.2 1-3.6 1-5.5.8-1.2-.1-3.8-.8-6.2-3.7-2.3-2.8-5.9-7.7-4.5-53.9.8-25.8 3.7-43.8-1.7-54.8-1.1-2.2-3.5-4.5-4.8-5.5-7.7-5.5-29.4-7.5-48-7.5s-32.9 2.1-40 4.2c-7.1 2.1-15.1 6.9-18.9 12-2.5 3.3 4.3 1.6 10.9 4.6 4 1.8 9.3 4.6 11.2 9.3 8 20.8 9.7 37.3 5.3 66.7-1.1 7.2-2.3 18.5-6.6 25.5-2.4 3.9-7.9 3.6-9.5 3.1-16.1-4.9-28.6-26-41.2-50.7-13.1-25.8-19.8-43.9-23.4-51.3s-9.1-11.4-18.4-11.4H42.3c-5.2 0-9.9 4.3-9.9 9 0 11 18.6 43 29.8 66 20.2 41.4 46.7 81.4 82.4 120.2C182 376.3 233 384 249.3 384s29-.6 33.3-1.5c2-.4 4.1-1.3 5.7-2.5 7.1-5.5 5.8-16 6.3-24.2.5-8.4 1.4-19.5 7-26 5.2-6.1 11.1-7.8 18.6-4.1 7 3.5 12 9.4 17.2 15.1 10.1 10.9 19.3 23.2 31.3 32.2 5.5 4.1 11.5 6.7 17.9 8.7 8.5 2.6 16.5 2.7 25.3 2.3 9.7-.4 17-.3 29-.3s27.7.5 33.1-3.5c2.6-2 6-5 6-11.3 0-11.9-12.2-31.7-53-69.8z"/></svg>PK}w�\%HqDDionicons/svg/ios-magnet.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M462.2 261.9L289.6 89.3C263 62.7 227.4 48 189.5 48c-38 0-73.5 14.7-100.2 41.3C62.7 116 48 151.5 48 189.5S62.7 263 89.3 289.6l172.6 172.6c1.1 1.1 2.7 1.8 4.3 1.8 1.6 0 3.1-.6 4.3-1.8l57.5-57.5c2.4-2.4 2.4-6.2 0-8.5L165.2 233.3c-13-13-21.2-27.8-22.9-41.7-1.8-13.6 2.7-25.8 13.1-36.3 9.9-9.9 22.4-14.3 36-12.6 14.3 1.7 29.2 9.7 42 22.5L396.2 328c2.4 2.4 6.2 2.4 8.5 0l57.5-57.5c2.4-2.4 2.4-6.2 0-8.6zM275.8 380.2l20.2 20.2-29.8 29.8-20.3-20.2 29.9-29.8zM400.4 296l-20.2-20.2L410 246l20.2 20.2-29.8 29.8z"/></svg>PK}w�\2:F. ionicons/svg/ios-crop.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M142 64c-7.7 0-14 6.3-14 14v20c0 7.7 6.3 14 14 14s14-6.3 14-14V78c0-7.7-6.3-14-14-14zM156 342V190c0-7.7-6.3-14-14-14s-14 6.3-14 14v166c0 15.5 12.5 28 28 28h166c7.7 0 14-6.3 14-14s-6.3-14-14-14H170c-7.7 0-14-6.3-14-14zM434 356h-20c-7.7 0-14 6.3-14 14s6.3 14 14 14h20c7.7 0 14-6.3 14-14s-6.3-14-14-14z"/><path d="M64 142c0 7.7 6.3 14 14 14h264c7.7 0 14 6.3 14 14v264c0 7.7 6.3 14 14 14s14-6.3 14-14V156c0-15.5-12.5-28-28-28H78c-7.7 0-14 6.3-14 14z"/></svg>PK}w�\2$����ionicons/svg/logo-nodejs.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M255.917 480a32.536 32.536 0 0 1-16.633-4.599l-52.985-32.44c-7.914-4.562-4.023-6.203-1.443-7.141 10.565-3.781 13.713-5.657 24.947-12.285 1.206-.667 2.747-.424 3.955.322l39.71 23.504c1.476.85 3.557.85 4.931 0l155.188-92.246c1.475-.877 2.415-2.646 2.415-4.441V163.869c0-1.85-.94-3.592-2.449-4.528l-155.12-94.672c-1.478-.894-3.421-.894-4.898 0L98.516 159.374c-1.544.903-2.516 2.698-2.516 4.495v186.805c0 1.813.972 3.513 2.481 4.389l39.929 23.972c23.61 12.204 37.59-.17 37.59-14.611V180.725c0-2.652 2.047-4.727 4.596-4.727h22.809c2.515 0 4.597 2.072 4.597 4.727v183.698c0 32.563-19.353 51.248-49.199 51.248-9.156 0-16.397 0-36.552-10.279l-41.584-24.781C70.371 374.459 64 362.965 64 350.656V161.191c0-12.316 6.371-23.784 16.665-29.917L239.35 36.41c10.027-5.88 23.374-5.88 33.332 0l158.65 94.864C441.63 137.423 448 148.899 448 161.191v189.465c0 12.309-6.37 23.75-16.668 29.953l-158.65 94.774a32.52 32.52 0 0 1-16.698 4.599l-.067.018z"/><path d="M304.943 351.998c-64.61 0-84.006-31.61-84.006-59.271 0-2.629 2.048-4.729 4.562-4.729h20.521c2.282 0 4.227 1.7 4.562 4.016 3.084 21.602 16.748 31.15 54.324 31.15 33.399 0 47.091-10.346 47.091-28.684 0-10.592-3.463-18.424-55.407-23.697-43.427-4.441-70.288-14.373-70.288-50.295 0-33.135 26.996-52.49 72.234-52.49 46.128 0 76.462 14 79.173 50.829.102 1.337-.368 2.629-1.241 3.644-.871.965-2.078 1.527-3.353 1.527h-20.591c-2.146 0-4.024-1.562-4.459-3.713-4.401-16.953-16.97-23.402-49.563-23.402-36.486 0-40.746 12.753-40.746 22.607 0 11.963 5.031 15.441 54.294 22.172 48.761 6.663 71.933 16.117 71.933 51.552 0 35.781-28.808 58.783-79.075 58.783l.035.001z"/></svg>PK}w�\�1���ionicons/svg/ios-arrow-down.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 294.1L383 167c9.4-9.4 24.6-9.4 33.9 0s9.3 24.6 0 34L273 345c-9.1 9.1-23.7 9.3-33.1.7L95 201.1c-4.7-4.7-7-10.9-7-17s2.3-12.3 7-17c9.4-9.4 24.6-9.4 33.9 0l127.1 127z"/></svg>PK}w�\�Ia�||ionicons/svg/md-nutrition.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M357.2 235.6L274.7 153h-.8c-8.1-6-18.2-10.3-28.4-10.3-13.7 0-26.1 6.3-34.3 16.3h-.6L53 414.1v.8c-3 6.2-5 13.3-5 20.8 0 24.4 19.7 44.3 44.3 44.3 9.4 0 18-2.9 27.4-9.1l232.9-168.1c10.9-8.3 17.4-21.6 17.4-36 0-12-4.7-23.2-12.8-31.2zM464 145.1l-29.2-49-36.6 20.3 31.5-55.9L380.6 32l-67.3 127.8 41.3 41.4z"/></svg>PK}w�\o�9�99ionicons/svg/ios-bulb.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M404 188.9C404 111 333.9 48 256 48s-148 63.1-148 140.9c0 31 13.2 56.1 30.2 80.1h-.3c10.9 15 21.4 17.7 31.5 35 14.7 25.2 18.1 40.7 18.7 55.7.4 8.6 7.5 15.3 16 15.3h8.9c2.2 0 4-1.8 4-4v-94.5c0-5-1.2-9.8-3.4-14.3l-21-42c-3.5-7 1.6-15.2 9.4-15.2 4 0 7.7 2.3 9.4 5.9l25.3 51.4c2.2 4.4 3.3 9.2 3.3 14.1V371c0 2.2 1.8 4 4 4h24c2.2 0 4-1.8 4-4v-94.6c0-4.9 1.1-9.7 3.3-14.1l25.4-51.6c1.7-3.4 5.2-5.6 9-5.6 7.5 0 12.4 7.9 9 14.6l-21.3 42.6c-2.2 4.5-3.4 9.4-3.4 14.3V371c0 2.2 1.8 4 4 4h10c8.5 0 15.5-6.6 16-15 .9-15.4 4.7-32.3 18.4-56 10.1-17.3 20.6-20 31.5-35h-.1c17-24 30.2-49.1 30.2-80.1zM238 464h36c7.7 0 14-6.3 14-14s-6.3-14-14-14h-36c-7.7 0-14 6.3-14 14s6.3 14 14 14zM218 420h76c7.7 0 14-6.3 14-14s-6.3-14-14-14h-76c-7.7 0-14 6.3-14 14s6.3 14 14 14z"/></svg>PK}w�\s��pqqionicons/svg/md-fitness.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M434.3 315.5l29.7-29.7-29.7-29.8-74.3 74.3L181.7 152 256 77.7 226.3 48l-29.7 29.7L166.8 48l-44.5 44.5-29.8-29.7-29.7 29.7 29.7 29.7L48 166.8l29.7 29.7L48 226.3 77.7 256l74.3-74.3L330.3 360 256 434.3l29.7 29.7 29.7-29.7 29.7 29.7 44.5-44.5 29.7 29.7 29.7-29.7-29.7-29.7 44.5-44.5-29.5-29.8z"/></svg>PK}w�\���ionicons/svg/ios-pin.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48c-79.5 0-144 59.9-144 133.7 0 104 144 282.3 144 282.3s144-178.3 144-282.3C400 107.9 335.5 48 256 48zm0 190.9c-25.9 0-46.9-21-46.9-46.9s21-46.9 46.9-46.9 46.9 21 46.9 46.9-21 46.9-46.9 46.9z"/></svg>PK}w�\�?$���ionicons/svg/md-images.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M457.6 140.2l-82.5-4-4.8-53.8c-1-11.3-11.1-19.2-22.9-18.3L51.5 88.4c-11.8 1-20.3 10.5-19.4 21.7l21.2 235.8c1 11.3 11.2 19.2 22.9 18.3l15-1.2-2.4 45.8c-.6 12.6 9.2 22.8 22.4 23.5L441.3 448c13.2.6 24.1-8.6 24.8-21.2L480 163.5c.6-12.5-9.3-22.7-22.4-23.3zm-354.9 5.3l-7.1 134.8L78.1 305 62 127v-.5-.5c1-5 4.4-9 9.6-9.4l261-21.4c5.2-.4 9.7 3 10.5 7.9 0 .2.3.2.3.4 0 .1.3.2.3.4l2.7 30.8-219-10.5c-13.2-.4-24.1 8.8-24.7 21.3zm334 236.9l-84.8-99.5-37.4 34.3-69.2-80.8-122.7 130.7L133 168v-.4c1-5.4 6.2-9.3 11.9-9l291.2 14c5.8.3 10.3 4.7 10.4 10.2 0 .2.3.3.3.5l-10.1 199.1z"/><path d="M384 256c17.6 0 32-14.4 32-32s-14.3-32-32-32c-17.6 0-32 14.3-32 32s14.3 32 32 32z"/></svg>PK}w�\�r�ionicons/svg/logo-linkedin.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M417.2 64H96.8C79.3 64 64 76.6 64 93.9V415c0 17.4 15.3 32.9 32.8 32.9h320.3c17.6 0 30.8-15.6 30.8-32.9V93.9C448 76.6 434.7 64 417.2 64zM183 384h-55V213h55v171zm-25.6-197h-.4c-17.6 0-29-13.1-29-29.5 0-16.7 11.7-29.5 29.7-29.5s29 12.7 29.4 29.5c0 16.4-11.4 29.5-29.7 29.5zM384 384h-55v-93.5c0-22.4-8-37.7-27.9-37.7-15.2 0-24.2 10.3-28.2 20.3-1.5 3.6-1.9 8.5-1.9 13.5V384h-55V213h55v23.8c8-11.4 20.5-27.8 49.6-27.8 36.1 0 63.4 23.8 63.4 75.1V384z"/></svg>PK}w�\�/66 ionicons/svg/md-color-filter.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M441.8 120.1l-49.9-49.9c-8.3-8.3-21.8-8.3-30.1 0l-66.6 66.6L254.1 96 224 126.1l30.3 30.3L64 346.7V448h101.3l190.3-190.3 30.3 30.3 30.1-30.1-41-41 66.6-66.6c8.5-8.4 8.5-21.8.2-30.2zM147.6 405.4l-41-41 171.9-171.9 41 41-171.9 171.9z"/></svg>PK}w�\l߮F��)ionicons/svg/md-arrow-dropdown-circle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.125 48 48 141.125 48 256s93.125 208 208 208 208-93.125 208-208S370.875 48 256 48zm0 272l-96-96h192l-96 96z"/></svg>PK}w�\��˗��ionicons/svg/md-switch.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M168 216h94.9c14.5 14.8 34.7 24 57.1 24 44.2 0 80-35.8 80-80s-35.8-80-80-80c-22.4 0-42.6 9.2-57.1 24H168c-30.8 0-56 25.2-56 56s25.2 56 56 56zm-16.9-72.9c4.6-4.6 10.6-7.1 16.9-7.1h75.7c-2.4 7.6-3.7 15.6-3.7 24s1.3 16.4 3.7 24H168c-6.3 0-12.4-2.5-16.9-7.1-4.6-4.6-7.1-10.6-7.1-16.9s2.5-12.4 7.1-16.9zM344 296h-94.9c-14.5-14.8-34.7-24-57.1-24-44.2 0-80 35.8-80 80s35.8 80 80 80c22.4 0 42.6-9.2 57.1-24H344c30.8 0 56-25.2 56-56s-25.2-56-56-56zm16.9 72.9c-4.6 4.6-10.6 7.1-16.9 7.1h-75.7c2.4-7.6 3.7-15.6 3.7-24s-1.3-16.4-3.7-24H344c6.3 0 12.4 2.5 16.9 7.1 4.6 4.6 7.1 10.6 7.1 16.9s-2.5 12.4-7.1 16.9z"/></svg>PK}w�\J��>��ionicons/svg/md-volume-low.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M64 192v128h85.334L256 431.543V80.458L149.334 192H64zm288 64c0-38.399-21.333-72.407-53.333-88.863v176.636C330.667 328.408 352 294.4 352 256z"/></svg>PK}w�\��#���ionicons/svg/ios-outlet.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M359 78H153c-2.8 0-5.6.8-8 2.3C86.7 116.9 48 182 48 256c0 73.9 38.7 138.1 97 175.6 2.4 1.6 5.2 2.4 8.1 2.4h205.8c2.9 0 5.7-.8 8.1-2.4 58.3-37.5 97-101.7 97-175.6 0-74-38.7-139.1-97-175.7-2.4-1.5-5.2-2.3-8-2.3zM192.9 270.8h-22.3c-2.1 0-3.7-1.7-3.7-3.7V155.9c0-2 1.7-3.7 3.7-3.7h22.3c2.1 0 3.7 1.7 3.7 3.7v111.2c0 2.1-1.7 3.7-3.7 3.7zM282 389.5h-52c-2.1 0-3.7-1.7-3.7-3.7v-40.2c0-16.5 13.6-30.5 30.1-30.3 16.2.2 29.3 13.5 29.3 29.7v40.8c0 2-1.6 3.7-3.7 3.7zM341.4 256h-22.3c-2.1 0-3.7-1.7-3.7-3.7v-81.6c0-2 1.7-3.7 3.7-3.7h22.3c2.1 0 3.7 1.7 3.7 3.7v81.6c0 2-1.6 3.7-3.7 3.7z"/></svg>PK}w�\ �2��ionicons/svg/md-trending-up.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M345.6 128l51.3 51.3-109.3 109.4-89.6-89.6L32 365.4 63.6 397 198 262.5l89.6 89.7 141.1-141 51.3 51.3V128H345.6z"/></svg>PK}w�\k�Lw��ionicons/svg/md-cloud-done.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M403.002 217.001C388.998 148.002 328.998 96 256 96c-57.998 0-107.998 32.998-132.998 81.001C63.002 183.002 16 233.998 16 296c0 65.996 53.999 120 120 120h260c55 0 100-45 100-100 0-52.998-40.996-96.001-92.998-98.999zM213.333 362.667L138.667 288l29.864-29.864 44.802 44.802L324.271 192l29.865 29.864-140.803 140.803z"/></svg>PK}w�\�����*ionicons/svg/md-arrow-dropright-circle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 464c114.875 0 208-93.125 208-208S370.875 48 256 48 48 141.125 48 256s93.125 208 208 208zm-32-112V160l96 96-96 96z"/></svg>PK}w�\By:?**ionicons/svg/ios-tv.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M451.7 78H60.3C34.8 78 14 98.8 14 124.3v215.5c0 25.5 20.8 46.3 46.3 46.3h391.5c25.5 0 46.3-20.8 46.3-46.3V124.3C498 98.8 477.2 78 451.7 78zM470 339.7c0 10.1-8.2 18.3-18.3 18.3H60.3c-10.1 0-18.3-8.2-18.3-18.3V124.3c0-10.1 8.2-18.3 18.3-18.3h391.5c10.1 0 18.3 8.2 18.3 18.3v215.4z"/><path d="M436 128H76c-6.6 0-12 5.4-12 12v184c0 6.6 5.4 12 12 12h360c6.6 0 12-5.4 12-12V140c0-6.6-5.4-12-12-12zM370 406H142c-7.7 0-14 6.3-14 14s6.3 14 14 14h228c7.7 0 14-6.3 14-14s-6.3-14-14-14z"/></svg>PK}w�\O��s~~ ionicons/svg/md-skip-forward.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M64 64v384l277.3-192L64 64zM384 64h64v384h-64z"/></svg>PK}w�\*���� ionicons/svg/md-battery-full.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M338.2 76.8h-37.4V32h-89.6v44.8h-37.4c-16.4 0-29.8 13.4-29.8 29.8V450c0 16.6 13.4 30 29.8 30H338c16.6 0 30-13.4 30-29.8V106.6c0-16.4-13.4-29.8-29.8-29.8z"/></svg>PK}w�\`-���ionicons/svg/md-paper-plane.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M48 270.9l118.9 44.6L181.7 464 256 360l104 104L464 48 48 270.9zm294.9 126L260 313.4 374.9 152 193.6 289.8 124.9 265l291-156.2-73 288.1z"/></svg>PK}w�\���Y++'ionicons/svg/md-help-circle-outline.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 90c44.3 0 86 17.3 117.4 48.6C404.7 170 422 211.7 422 256s-17.3 86-48.6 117.4C342 404.7 300.3 422 256 422s-86-17.3-117.4-48.6C107.3 342 90 300.3 90 256s17.3-86 48.6-117.4C170 107.3 211.7 90 256 90m0-42C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48z"/><path d="M235 339h42v42h-42zM276.8 318h-41.6c0-67 62.4-62.2 62.4-103.8 0-22.9-18.7-41.7-41.6-41.7S214.4 192 214.4 214h-41.6c0-46 37.2-83 83.2-83s83.2 37.1 83.2 83.1c0 52-62.4 57.9-62.4 103.9z"/></svg>PK}w�\�u����ionicons/svg/ios-square.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M388 416H124c-15.4 0-28-12.6-28-28V124c0-15.4 12.6-28 28-28h264c15.4 0 28 12.6 28 28v264c0 15.4-12.6 28-28 28z"/></svg>PK}w�\N��U??ionicons/svg/ios-text.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 64C141.1 64 48 139.2 48 232c0 64.9 45.6 121.2 112.3 149.2-5.2 25.8-21 47-33.5 60.5-2.3 2.5.2 6.5 3.6 6.3 11.5-.8 32.9-4.4 51-12.7 21.5-9.9 40.3-30.1 46.3-36.9 9.3 1 18.8 1.6 28.5 1.6 114.9 0 208-75.2 208-168C464 139.2 370.9 64 256 64z"/></svg>PK}w�\4L=�ionicons/svg/ios-ribbon.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M254.9 293.4c73 .6 132.3-58.7 131.7-131.8-.6-69.9-59.7-129-129.5-129.6-73-.6-132.3 58.7-131.7 131.8.6 69.9 59.7 129 129.5 129.6zm-3.7-204.1c44.3-2.8 80.9 33.8 78.1 78.2-2.3 36.6-31.9 66.2-68.5 68.6-44.3 2.8-80.9-33.8-78.1-78.2 2.3-36.6 31.9-66.2 68.5-68.6z"/><path d="M256 308.4c-42.8 0-81.4-18.1-108.5-47-1.9-2-5.2-1.7-6.6.7L65.1 394.8c-3.1 5.5.8 12.3 7.2 12.3h80.1c2.9 0 5.6 1.5 7.1 4l39 64.9c3.4 5.7 11.8 5.2 14.6-.8l43-94.6 31.3-68.9c1.4-3-1.2-6.3-4.5-5.7-8.8 1.5-17.7 2.4-26.9 2.4zM364.5 261.3c-14.6 15.5-32.4 28-52.5 36.1-1 .4-1.8 1.1-2.2 2.1l-44.7 97.7c-.5 1.1-.5 2.3 0 3.4l33.9 74.5c2.7 6 11.2 6.5 14.6.8l39-64.9c1.5-2.5 4.2-4 7.1-4h80.1c6.3 0 10.3-6.8 7.2-12.3l-75.8-132.8c-1.5-2.2-4.8-2.6-6.7-.6z"/></svg>PK}w�\ ��ddionicons/svg/md-cash.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M32 96v256h448V96H32zm160.5 224h-80.4c0-26.6-21.5-48.1-48.1-48.1V192c35.3 0 64-28.7 64-64h64.5c-19.9 23.5-32.5 57.8-32.5 96s12.6 72.5 32.5 96zM448 271.9c-26 0-48 21.5-48 48.1h-80.5c19.9-23.5 32.5-57.8 32.5-96s-12.6-72.5-32.5-96H384c0 35.3 28.7 64 64 64v79.9zM32 384h448v32H32z"/></svg>PK}w�\N��HEEionicons/svg/md-more.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M296 136c0-22.002-17.998-40-40-40s-40 17.998-40 40 17.998 40 40 40 40-17.998 40-40zm0 240c0-22.002-17.998-40-40-40s-40 17.998-40 40 17.998 40 40 40 40-17.998 40-40zm0-120c0-22.002-17.998-40-40-40s-40 17.998-40 40 17.998 40 40 40 40-17.998 40-40z"/></svg>PK}w�\� X���ionicons/svg/logo-snapchat.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M495.998 360.389l-.189-14.501-14.398-1.278c-15.413-1.396-43.8-7.219-54.301-16.9-16.281-15.011-35.688-36.199-35.688-51.893 0-1.014 0-2.546 4.15-5.186 4.985-3.174 12.589-5.584 19.297-7.71 5.217-1.654 10.144-3.217 14.394-5.236 9.236-4.39 18.498-15.978 17.471-28.807-1.215-15.166-14.424-27.046-30.072-27.046-4.021 0-8.068.76-12.027 2.259-8.027 3.041-13.743 4.41-17.705 4.962.747-9.319 1.791-20.12 3.211-30.67 5.111-37.948-5.281-73.509-29.264-101.042C335.498 48.208 297.376 32 256.283 32H256c-41.093 0-79.215 16.208-104.591 45.341-23.982 27.534-34.375 63.345-29.265 101.292 1.416 10.51 2.46 21.231 3.21 30.618-3.97-.559-9.686-1.998-17.703-5.034-3.965-1.502-8.017-2.295-12.043-2.295-15.641-.001-28.844 11.852-30.057 27.003-1.027 12.818 8.235 24.393 17.47 28.783 4.251 2.02 9.181 3.578 14.4 5.232 6.707 2.125 14.309 4.532 19.293 7.703 4.147 2.639 4.147 4.168 4.147 5.182 0 8.66-6.191 24.691-35.688 51.888-10.499 9.681-39.055 15.501-54.588 16.897l-14.572 1.311L16 360.603c0 1.679.312 10.546 6.485 20.319 5.246 8.306 16.073 19.283 37.863 24.407a1139.713 1139.713 0 0 0 15.208 3.454c2.306.512 4.555 1.01 6.454 1.453l.081.623c.9 7.004 1.611 12.535 4.392 17.75 2.453 4.6 8.574 12.316 22.015 12.316 2.478 0 5.249-.246 8.472-.751 1.672-.263 3.386-.554 5.2-.863 7.116-1.212 15.182-2.587 23.451-2.587 10.277 0 18.732 2.188 25.846 6.688 4.531 2.867 8.892 5.972 13.509 9.26C202.967 465.481 223.358 480 256 480c32.726 0 53.293-14.582 71.439-27.446 4.576-3.244 8.898-6.309 13.377-9.142 7.113-4.5 15.568-6.688 25.846-6.688 8.27 0 16.334 1.375 23.449 2.586 1.814.311 3.529.602 5.202.864 3.223.505 5.993.751 8.472.751 13.44 0 19.562-7.715 22.015-12.313 2.781-5.214 3.492-10.746 4.392-17.749l.082-.629c1.898-.441 4.148-.941 6.455-1.452 4.023-.892 9.029-2.001 15.206-3.454 21.851-5.139 32.611-16.17 37.79-24.518 6.097-9.828 6.296-18.736 6.273-20.421zM208 128c8.836 0 16 10.745 16 24s-7.164 24-16 24-16-10.745-16-24 7.164-24 16-24zm103.615 77.698C296.368 220.725 276.617 229 256 229c-20.838 0-40.604-8.29-55.657-23.343a8 8 0 1 1 11.313-11.313C223.688 206.374 239.436 213 256 213c16.387 0 32.15-6.64 44.385-18.698a8 8 0 0 1 11.23 11.396zM304 176c-8.836 0-16-10.746-16-24s7.164-24 16-24 16 10.746 16 24-7.164 24-16 24z"/></svg>PK}w�\�}���ionicons/svg/md-gift.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M424 134.5h-45.8c2.3-6.6 3.8-13.9 3.8-21.3 0-35.4-28.1-63.2-63-63.2-22.1 0-41.2 10.7-52.5 28L256 92.3l-10.5-14.5C234.2 60.7 215.1 48 193 48c-34.9 0-63 29.8-63 65.2 0 7.5 1.5 14.7 3.8 21.3H88c-23.3 0-41.8 19-41.8 42.7L46 421.8c0 23.7 17.4 42.2 40.7 42.2h336.7c23.3 0 42.7-18.5 42.7-42.2V177.2c-.1-23.7-18.8-42.7-42.1-42.7zM320 91c11.6 0 21 9.5 21 21 0 11.6-9.4 21-21 21s-21-9.5-21-21 9.4-21 21-21zm-128 0c11.6 0 21 9.5 21 21 0 11.6-9.4 21-21 21s-21-9.5-21-21 9.4-21 21-21zM88 177.2h106.7L151 237.5l34 25 50-69.1.2-.2-.2 228.6H88V177.2zm336 244.6H277V193.4l50 69.1 34-25-43.7-60.4H424v244.7z"/></svg>PK}w�\�L�� ionicons/svg/ios-aperture.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M250.2 371.4c-1.8 0-2.7 2.2-1.4 3.4l54.9 54.9L326 452c42.4-15.2 78.5-43.7 103.1-80.6H250.2zM167 334.6V444c27 12.8 57.1 20 89 20 14.1 0 27.9-1.4 41.2-4.1L170.4 333.2c-1.2-1.3-3.4-.4-3.4 1.4zM256 48c-13.9 0-27.4 1.4-40.5 4l126.8 126.8c1.3 1.3 3.4.4 3.4-1.4V68.3C318.6 55.3 288.2 48 256 48zM68.1 166.6C55.2 193.7 48 224 48 256c0 14.1 1.4 27.9 4.1 41.2L179.2 170c1.3-1.3.4-3.4-1.4-3.4H68.1zM186.7 59.9C144 75 107.7 103.6 83 140.7h179.7c1.8 0 2.7-2.2 1.4-3.4l-77.4-77.4zM167 220.6v70.7c0 1.1.4 2.1 1.2 2.8l50 50c.8.8 1.8 1.2 2.8 1.2h70.7c1.1 0 2.1-.4 2.8-1.2l50-50c.8-.8 1.2-1.8 1.2-2.8v-70.7c0-1.1-.4-2.1-1.2-2.8l-50-50c-.8-.8-1.8-1.2-2.8-1.2H221c-1.1 0-2.1.4-2.8 1.2l-50 50c-.7.8-1.2 1.8-1.2 2.8zM460 215.5L333.6 342c-1.3 1.3-.4 3.4 1.4 3.4h108.8c13-27.1 20.2-57.4 20.2-89.4 0-13.9-1.4-27.4-4-40.5zM371.8 83.2v179c0 1.8 2.2 2.7 3.4 1.4l76.9-76.9c-15-42.6-43.5-78.8-80.3-103.5zM60.1 325.9c15.2 42.6 43.9 78.8 81 103.4V249.8c0-1.8-2.2-2.7-3.4-1.4l-77.6 77.5z"/></svg>PK}w�\x1LLionicons/svg/ios-paper.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M124 80v322c0 7.7-6.3 14-14 14s-14-6.3-14-14V112H80c-17.7 0-32 14.3-32 32v288c0 17.7 14.3 32 32 32h353.1c17 0 30.9-13.8 30.9-30.9V80c0-17.7-14.3-32-32-32l-278 2c-17.7 0-30 12.3-30 30zm66 32h84c7.7 0 14 6.3 14 14s-6.3 14-14 14h-84c-7.7 0-14-6.3-14-14s6.3-14 14-14zm0 160h148c7.7 0 14 6.3 14 14s-6.3 14-14 14H190c-7.7 0-14-6.3-14-14s6.3-14 14-14zm196 108H190c-7.7 0-14-6.3-14-14s6.3-14 14-14h196c7.7 0 14 6.3 14 14s-6.3 14-14 14zm0-160H190c-7.7 0-14-6.3-14-14s6.3-14 14-14h196c7.7 0 14 6.3 14 14s-6.3 14-14 14z"/></svg>PK}w�\�o|[[+ionicons/svg/ios-arrow-dropright-circle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M48 256c0 114.9 93.1 208 208 208s208-93.1 208-208S370.9 48 256 48 48 141.1 48 256zm244.5 0l-81.9-81.1c-7.5-7.5-7.5-19.8 0-27.3s19.8-7.5 27.3 0l95.4 95.7c7.3 7.3 7.5 19.1.6 26.6l-94 94.3c-3.8 3.8-8.7 5.7-13.7 5.7-4.9 0-9.9-1.9-13.6-5.6-7.5-7.5-7.6-19.7 0-27.3l79.9-81z"/></svg>PK}w�\xU�Y ionicons/svg/ios-fastforward.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M476.1 249.3L268 129.1c-5.4-3.1-12.3.6-12.3 6.7V251L44.3 129.1c-5.4-3.1-12.3.6-12.3 6.7v240.3c0 6.1 6.9 9.8 12.3 6.7L255.6 261v115.2c0 6.1 6.9 9.8 12.3 6.7L476 262.7c5.3-3 5.3-10.4.1-13.4z"/></svg>PK}w�\7�G�^^ionicons/svg/md-checkbox.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M405.333 64H106.667C83.198 64 64 83.198 64 106.667v298.666C64 428.802 83.198 448 106.667 448h298.666C428.802 448 448 428.802 448 405.333V106.667C448 83.198 428.802 64 405.333 64zm-192 298.667L106.667 256l29.864-29.864 76.802 76.802 162.136-162.136 29.864 29.865-192 192z"/></svg>PK}w�\s�,66ionicons/svg/logo-dropbox.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M177 77L64 150.9l78.1 62.7L256 143.1zM64 276.3l113 73.9 79-66.1-113.9-70.5zM256 284.1l79 66.1 113-73.9-78.1-62.7zM448 150.9L335 77l-79 66.1 113.9 70.5z"/><path d="M256.2 298.3l-79.8 66-34.4-22.2V367l114 68 114-68v-24.9l-34.2 22.2z"/></svg>PK}w�\z�p���ionicons/svg/logo-xbox.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M126.8 248.3c39.7-58.6 77.9-92.8 77.9-92.8s-42.1-48.9-92.8-67.4l-3.3-.8C61.7 128.4 32 188.7 32 256c0 50.7 16.9 97.5 45.2 135 0-4.4.6-70.3 49.6-142.7zM480 256c0-67.3-29.7-127.6-76.6-168.7l-3.2.9c-50.7 18.5-92.9 67.4-92.9 67.4s38.2 34.2 77.9 92.8c49 72.4 49.6 138.3 49.5 142.7C463.2 353.5 480 306.7 480 256zM201.2 80.9c29.3 13.1 54.6 34.6 54.6 34.6s25.5-21.4 54.8-34.6c36.8-16.5 64.9-11.3 72.3-9.5C346.8 46.6 303.1 32 256 32s-90.8 14.6-126.9 39.4c7.2-1.8 35.2-7.1 72.1 9.5zM358.7 292.9C312.4 236 255.8 199 255.8 199s-56.3 37-102.7 93.9c-39.8 48.9-54.6 84.8-62.6 107.8l-1.3 4.8c41 45.7 100.5 74.5 166.8 74.5s125.8-28.8 166.8-74.5l-1.4-4.8c-8-23-22.9-58.9-62.7-107.8z"/></svg>PK}w�\v�ф��ionicons/svg/ios-medkit.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M432 128h-84V96c0-17.6-14.4-32-32-32H196c-17.6 0-32 14.4-32 32v32H80c-17.7 0-32 14.3-32 32v256c0 17.7 14.3 32 32 32h352c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32zm-240-28c0-4.4 3.6-8 8-8h112c4.4 0 8 3.6 8 8v28H192v-28zm128 204h-48v48c0 8.8-7.2 16-16 16s-16-7.2-16-16v-48h-48c-8.8 0-16-7.2-16-16s7.2-16 16-16h48v-48c0-8.8 7.2-16 16-16s16 7.2 16 16v48h48c8.8 0 16 7.2 16 16s-7.2 16-16 16z"/></svg>PK}w�\X��MMionicons/svg/logo-flickr.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M352 64H160c-52.8 0-96 43.2-96 96v192c0 52.8 43.2 96 96 96h192c52.8 0 96-43.2 96-96V160c0-52.8-43.2-96-96-96zM184 304c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm144 0c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48z"/></svg>PK}w�\C,�T��%ionicons/svg/md-american-football.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M32 256c14.1 35 36.2 66 64 90.6V165.4C68.2 190 46.1 221 32 256zM480 256c-14.1-35-36.2-66-64-90.6v181.2c27.8-24.6 49.9-55.6 64-90.6z"/><g><path d="M256 105c-47.1 0-91 13.4-128 36.5v228.9c37 23.1 80.9 36.5 128 36.5s91-13.4 128-36.5V141.5c-37-23.1-80.9-36.5-128-36.5zm96 135v64h-32v-32h-48v32h-32v-32h-48v32h-32v-96h32v32h48v-32h32v32h48v-32h32v32z"/></g></svg>PK}w�\ލ(��ionicons/svg/ios-car.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M416 196.2c-13.8-30.8-49-92.2-100-92.2H196c-51 0-84.8 59.4-100 92.2-24 23-48 45.7-48 84.8v76c0 3.7 2.6 7 6.2 7.8C69.1 368.2 116.4 375 256 375s186.9-6.8 201.8-10.2c3.6-.8 6.2-4.1 6.2-7.8v-76c0-39-22.3-63.1-48-84.8zM190 128h132c40.5 0 62 60 62 70H128c0-10 27-70 62-70zm-78 203.7c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32c0 17.6-14.3 32-32 32zM328 300c0 8.8-7.2 16-16 16H200c-8.8 0-16-7.2-16-16s7.2-16 16-16h112c8.8 0 16 7.2 16 16zm72 32c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zM160 384c-47.9 0-96-5-96-5 0 17-.3 29 6 29h85c6.3 0 5-13.2 5-24zM352 384c48 0 96-5 96-5 0 16 2 29-5 29h-86c-6.7 0-5-13.5-5-24z"/></svg>PK}w�\��./ionicons/svg/ios-print.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M128 248v200c0 8.8 7.2 16 16 16h224c8.8 0 16-7.2 16-16V248c0-8.8-7.2-16-16-16H144c-8.8 0-16 7.2-16 16zM384 48H128c-8.8 0-16 7.2-16 16v20c0 2.2 1.8 4 4 4h280c2.2 0 4-1.8 4-4V64c0-8.8-7.2-16-16-16z"/><path d="M432.5 112h-352C62.9 112 48 125.8 48 143.3v174.4c0 17.5 14.9 32.3 32.5 32.3H96c4.4 0 8-3.6 8-8V236c0-15.5 12.5-28 28-28h248c15.5 0 28 12.5 28 28v106c0 4.4 3.6 8 8 8h16.5c17.6 0 31.5-14.8 31.5-32.3V143.3c0-17.5-13.9-31.3-31.5-31.3z"/></svg>PK}w�\���k��!ionicons/svg/md-arrow-forward.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M85 277.375h259.704L225.002 397.077 256 427l171-171L256 85l-29.922 29.924 118.626 119.701H85v42.75z"/></svg>PK}w�\,i��ionicons/svg/ios-radio.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M60 256c0-51 18.6-97.9 54-135.6 5.3-5.7 5.2-14.8-.4-20.3-2.6-2.6-6.1-4.1-9.7-4.1-3.8 0-7.4 1.6-10.1 4.4C53.3 143.7 32 197.4 32 256c0 58.5 21.3 112.3 61.7 155.5 2.7 2.9 6.3 4.5 10.2 4.5 3.6 0 7.1-1.4 9.7-3.9 2.7-2.6 4.3-6.2 4.4-10 .1-3.9-1.3-7.6-4-10.3C78.6 353.9 60 307 60 256zM418.2 100.4c-2.6-2.8-6.2-4.4-10-4.4-3.6 0-7.1 1.4-9.7 3.9-2.7 2.6-4.3 6.2-4.4 10-.1 3.9 1.3 7.6 4 10.3 35.3 37.8 54 84.7 54 135.7s-18.6 97.9-54 135.7c-5.3 5.6-5.2 14.7.3 20.2 2.5 2.6 6 4 9.7 4 3.9 0 7.6-1.6 10.2-4.6 40.4-43 61.7-96.7 61.7-155.2 0-58.5-21.3-112.4-61.8-155.6z"/><path d="M159.2 347.7c-24.1-24.3-37.3-56.6-37.3-90.9 0-35 13.8-67.9 38.8-92.4 5.5-5.3 5.6-14.2.2-19.8-2.6-2.7-6.2-4.2-10-4.2-3.7 0-7.2 1.4-9.8 4C110.7 174.2 94 214.1 94 256.8c0 41.6 16.1 80.9 45.3 110.6 2.7 2.7 6.2 4.2 9.9 4.2s7.2-1.5 9.8-4.2c2.6-2.6 4.1-6.1 4.1-9.8.2-3.7-1.2-7.2-3.9-9.9zM371 144.5c-2.6-2.6-6-4-9.8-4-3.8 0-7.3 1.5-10 4.1-5.4 5.4-5.4 14.3.1 19.8 25 24.5 38.7 56.5 38.7 91.5 0 34.2-13.1 67.4-37.1 91.8-5.4 5.4-5.3 14.3.1 19.7 2.6 2.6 6.2 4.1 9.8 4.1 3.8 0 7.4-1.5 9.9-4.1C402 337.7 418 297.6 418 256c0-42.5-16.7-81.5-47-111.5z"/><path d="M207.1 183.4c-2.6-2.7-6.2-4.2-10-4.2-3.7 0-7.2 1.4-9.8 4.1-19.8 19.5-30.8 45.6-30.8 73.3 0 27.1 10.5 52.7 29.5 72.1 2.7 2.7 6.2 4.2 10 4.2 3.7 0 7.2-1.4 9.8-4 2.7-2.6 4.2-6.1 4.2-9.9 0-3.8-1.4-7.3-4.1-10-13.8-14-21.4-32.6-21.4-52.5 0-20.3 8-39.2 22.4-53.4 5.4-5.2 5.5-14.1.2-19.7zM325.7 183.2c-2.6-2.6-6-4-9.8-4-3.8 0-7.3 1.5-10 4.1-5.4 5.4-5.4 14.3.1 19.8 14.5 14.3 22.4 33.3 22.4 53.5 0 19.8-7.6 38.5-21.5 52.5-2.6 2.6-4.1 6.2-4 9.9 0 3.7 1.5 7.2 4.1 9.8 2.6 2.6 6.2 4.1 9.8 4.1 3.7 0 7.3-1.5 9.9-4.2 19.1-19.4 29.6-45 29.6-72.1.1-27.8-10.8-53.8-30.6-73.4zM256 218c-21 0-38 17-38 38s17 38 38 38 38-17 38-38-17.1-38-38-38z"/></svg>PK}w�\"�%��ionicons/svg/md-star.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 372.686L380.83 448l-33.021-142.066L458 210.409l-145.267-12.475L256 64l-56.743 133.934L54 210.409l110.192 95.525L131.161 448z"/></svg>PK}w�\�+r��ionicons/svg/md-unlock.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M376 186h-20v-40c0-55-45-100-100-100S156 91 156 146h37.998c0-34.004 28.003-62.002 62.002-62.002 34.004 0 62.002 27.998 62.002 62.002H318v40H136c-22.002 0-40 17.998-40 40v200c0 22.002 17.998 40 40 40h240c22.002 0 40-17.998 40-40V226c0-22.002-17.998-40-40-40zM256 368c-22.002 0-40-17.998-40-40s17.998-40 40-40 40 17.998 40 40-17.998 40-40 40z"/></svg>PK}w�\2�0LLionicons/svg/logo-model-s.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M443.6 208.4c-3.1-1.9-2.2-6.6 1.3-7.3l5.3-1.1c7.1 0 22.4-2.3 25.6-5.4 3.1-3.2 4.2-5.4 4.2-8.2s-1.7-7.7-4.8-11.1c-3-3.4-16-5.2-23.7-6.2s-8.7 0-10.7 1.2c-2 1.3-2.8 9.5-3.1 15-.1 1.2-.9 2.2-2.1 2.5l-.4.1c-3.3.7-6.6-1.1-7.8-4.3-4.6-13-10.7-32.5-19.4-48.4-11.5-20.8-23.5-27.4-28.5-29-4.9-1.5-9.4-2.6-43-6.1-33.8-3.6-63.1-4.1-80.5-4.1s-46.7.5-80.6 4.1c-33.6 3.4-38.1 4.5-43 6.1-5 1.6-17 8.2-28.5 29-9.4 17.1-15.7 38.3-20.4 51.3-.6 1.5-2.2 2.4-3.8 2.1-3.1-.7-5.4-3.3-5.6-6.5-.4-5-1.2-10.7-2.9-11.7-2-1.3-3-2.2-10.7-1.2s-20.6 2.8-23.7 6.2c-3 3.4-4.7 8.3-4.7 11.1s1.1 5.1 4.2 8.3c3.1 3.2 18.5 5.4 25.6 5.4l5.3 1.1c3.5.7 4.4 5.4 1.3 7.3-9.1 5.7-23.2 15.3-32.3 25.6 0 0-4.1 28.7-4.1 62.1 0 48 5.8 92.4 5.8 92.4 1.8.3 3.6.6 5.3.9 0 1.2.7 13.1 2 21.2.3 2 1.3 5.5 6.2 5.5h64.7c1.9 0 5.1-1.6 5.1-3.7l1-17c7.2.1 3.2.1 10.9 0 24.8-.3 15.6-7.5 27.1-7.3 11.3.2 55 3 96 3s84.7-2.8 96-3c11.5-.2 2.3 7.1 27.1 7.3 7.7.1 4.7.1 11.9 0l1 17c0 2.1 3.2 3.7 5.1 3.7h63.5c4.9 0 5.9-3.5 6.2-5.5 1.3-8.1 1.9-19.9 2-21.2l5.4-.9s5.8-44.3 5.8-92.4c0-33.5-4.1-62.1-4.1-62.1-9.3-10.5-23.4-20.1-32.5-25.8zm-320.2-53.6c2.2-5.1 5.9-11.6 10-17.2 5-6.7 12.4-11.2 20.6-12.5 16.7-2.7 52.6-7.3 101.9-7.3 49.3 0 85.2 4.6 101.9 7.3 8.2 1.3 15.6 5.8 20.6 12.5 4.2 5.6 7.9 12.1 10.1 17.2 3.9 9.2 10.4 30.7 9.4 33.2-1 2.5 1 3.7-12.2 2.6-13.1-1-90.6-2.1-129.7-2.1-39.2 0-116.7 1.1-129.7 2.1-13.2 1.1-11.3-.2-12.2-2.6s5.4-24 9.3-33.2zm8.4 116c-9.9 0-29.8-1-34.5-1.2-4.7-.1-8.8 3.8-11.2 3.8s-25.5-3.6-28-14.9c-1.7-7.5-1.1-15.2-.6-19.5.3-1.9 1.9-3.4 3.8-3.5 14.4-.5 29.2.5 55.3 7.9 17.3 4.9 29.8 12.6 36.9 17.8 2.8 2.1 1.8 6.5-1.7 7.2-6.1 1.1-14.4 2.4-20 2.4zm210.4 73c-12.7 1.7-58.5 2.2-86.2 2.2s-73.5-.5-86.2-2.2c-13.1-1.7-29.8-17.3-18.4-30.2 7.6-8.5 20.8-13.6 48.9-17.3 29.8-3.8 48.6-4.3 55.6-4.3s25.8.5 55.6 4.3c28.1 3.7 43.2 9.6 48.9 17.3 10.4 13.8-5.1 28.4-18.2 30.2zm111.7-85.2c-2.5 11.2-25.6 14.9-28 14.9s-6.5-3.9-11.2-3.8c-4.7.2-24.6 1.2-34.5 1.2-5.5 0-13.8-1.3-20-2.4-3.5-.6-4.5-5.1-1.7-7.2 7.1-5.2 19.6-12.9 36.9-17.8 26.1-7.4 40.8-8.4 55.3-7.9 2 .1 3.6 1.5 3.8 3.5.5 4.3 1.1 12-.6 19.5z"/></svg>PK}w�\��~���ionicons/svg/ios-key.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M344.8 218.1c-13 0-25.6 0-37.4 4.1-50.6-43.1-184.3-156.9-194.5-167.5-4.7-4.9-9.9-6.7-15-6.7-8.5 0-16.7 5.2-21.3 9.6-6.9 6.6-33 34.8-28 40 15 15.4 19 18.5 25.2 24.8 9.3 9.5 28.3-1 36 2.3 7.6 3.3 9.2 6.8 10.4 12.5s-2.9 15.8-3 23.7c-.1 8.3 3.4 12.8 9.2 19 4.6 5 8.9 8.6 15.6 8.7 9 .2 20.9-12.8 30.4-3.1s-6.2 23.7-5 34 15.5 22.8 21.6 24.1c6.1 1.3 21.8-11.7 30.7-9.7 3 .7 10 6.8 11 11.4s-6.9 25-5.9 29.6c1.2 5.6 7.1 12.1 10.4 17.4-6.7 15.5-9.4 29.6-9.4 47.7 0 68.5 53.4 124 119.2 124s119-55.5 119-124-53.4-121.9-119.2-121.9zM368 400c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"/></svg>PK}w�\�i�d``ionicons/svg/md-backspace.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M433.5 96H167.2c-12.2 0-21.8 6.2-28.2 15.6L43 256l96 144.2c6.4 9.4 16 15.8 28.2 15.8h266.2c19.5 0 35.5-16 35.5-35.6V131.6C469 112 453 96 433.5 96zm-53.3 223.8l-25 25.1-63.7-63.8-63.7 63.8-25-25.1 63.7-63.8-63.7-63.8 25-25.1 63.7 63.8 63.7-63.8 25 25.1-63.7 63.8 63.7 63.8z"/></svg>PK}w�\ }���ionicons/svg/ios-cube.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M440.8 129.5L261.7 49.2c-3.6-1.6-7.7-1.6-11.3 0L71.2 129.5c-6 2.7-6.2 11.8-.4 14.8l178.7 94.1c4.1 2.2 8.9 2.2 13 0l178.7-94.1c5.8-3 5.6-12.1-.4-14.8zM280.2 462.9l180.1-95.3c2.2-1.4 3.6-4 3.6-6.8V175.9c0-5.9-5.8-9.7-10.7-7.1l-180.1 92.8c-2.6 1.3-4.2 4.1-4.2 7.1V456c.1 6.2 6.4 10 11.3 6.9zM48 175.9v184.8c0 2.8 1.4 5.4 3.6 6.8l180.1 95.3c5 3.2 11.2-.6 11.2-6.8V268.7c0-3-1.6-5.8-4.2-7.1l-180-92.8c-4.9-2.6-10.7 1.3-10.7 7.1z"/></svg>PK}w�\�K���ionicons/svg/ios-copy.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M352 115h90c3.3 0 6-2.7 6-6 0-8.2-3.7-16-10-21.3l-77.1-64.2c-4.9-4.1-14.2-7.4-20.6-7.4-4.1 0-7.4 3.3-7.4 7.4V96c.1 10.5 8.6 19 19.1 19z"/><path d="M307 96V16H176c-17.6 0-32 14.4-32 32v336c0 17.6 14.4 32 32 32h240c17.6 0 32-14.4 32-32V141h-96c-24.8 0-45-20.2-45-45z"/><path d="M116 412V80H96c-17.6 0-32 14.4-32 32v352c0 17.6 14.4 32 32 32h256c17.6 0 32-14.4 32-32v-20H148c-17.6 0-32-14.4-32-32z"/></svg>PK}w�\�LL!ionicons/svg/ios-battery-dead.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M396 144H64c-26.4 0-48 21.6-48 48v128c0 26.4 21.6 48 48 48h332c26.4 0 48-21.6 48-48V192c0-26.4-21.6-48-48-48zm20 176c0 11-9 20-20 20H64c-11 0-20-9-20-20V192c0-11 9-20 20-20h332c11 0 20 9 20 20v128zM464 204.6v102.8c16 0 32-27.7 32-51.4s-16-51.4-32-51.4z"/></svg>PK}w�\�r�ܹ�ionicons/svg/ios-leaf.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M453.9 378.7c-51.8-8-55.7-11.7-55.7-11.7 15.6-74-22.4-151.1-76.3-195.6C250.1 112.2 141 155.2 56 65.2c-19.8-21-8.3 235.5 98.1 332.7 77.8 71 169.4 49.2 194.5 37.6 22.8-10.6 38.7-33.9 38.7-33.9 41.5 13 62 14.2 62 14.2 14.6 1.8 22-34.4 4.6-37.1zm-91.8 7.4c-77.7-23.3-145.3-81-189.1-126.2-3.6-3.7 1.6-9.2 5.5-6 43.1 35.5 108.9 80 193.3 107.9.2 8.1-4.5 19.7-9.7 24.3z"/></svg>PK}w�\�p9gVVionicons/svg/ios-snow.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M440.5 345.8L408.1 327c11.8-12.3 26-18.2 26.2-18.3 7.5-3 11.4-11.4 8.9-19.1-1.9-5.9-7.4-9.8-13.5-9.8-1.9 0-3.7.4-5.5 1.1-1 .4-24.4 10-41.9 31.2l-96.3-56 96.3-56c17.5 21.2 40.8 30.8 41.9 31.2 1.8.7 3.6 1.1 5.5 1.1 6.1 0 11.6-4 13.5-9.8 2.5-7.7-1.4-16.1-8.9-19.1-.1-.1-14.3-6-26.2-18.3l32.4-18.8c7.2-4.2 9.6-13.4 5.5-20.6-2.7-4.7-7.7-7.6-13.1-7.6-2.6 0-5.3.7-7.6 2L393.1 159c-4.5-16.2-2.7-31.4-2.6-32 1.1-8.1-4.1-15.6-12-17.3-1-.2-2-.3-3-.3-7.1 0-13 5.2-14.1 12.4-.2 1.1-3.6 26 6.1 52.2l-96 56v-99.2c26.9-4.7 46.8-20.2 47.7-20.9 3.1-2.5 5.1-6 5.4-10 .3-4-.9-7.8-3.6-10.8-2.9-3.2-7-5.1-11.4-5.1-3.4 0-6.8 1.2-9.5 3.3-.1.1-12.2 9.4-28.6 13.6V63.1c0-8.2-7.1-15.1-15.5-15.1s-15.5 6.9-15.5 15.1v37.5c-16.3-4.2-28.4-13.5-28.6-13.6-2.7-2.1-6-3.3-9.5-3.3-4.4 0-8.5 1.9-11.4 5.1-2.7 3-4 7-3.6 10.9.3 3.9 2.3 7.4 5.4 9.9.9.7 20.8 16.2 47.7 20.9v99.2l-96-56c9.6-26 6.2-51.1 6-52.2-1-7.2-6.9-12.4-14-12.4-1 0-2 .1-3 .3-7.9 1.6-13.2 9.3-12 17.3 0 .2 2 15.5-2.6 31.9L86.6 140c-2.3-1.3-4.9-2-7.6-2-5.4 0-10.4 2.9-13.1 7.6-4.1 7.2-1.7 16.5 5.5 20.6l32.4 18.8c-11.7 12.1-25.7 18.1-26.2 18.3-7.5 3-11.4 11.4-8.9 19.1 1.9 5.9 7.4 9.8 13.5 9.8 1.9 0 3.7-.4 5.5-1.1 1-.4 24.4-10 41.9-31.2l96.3 56-96.3 56c-17.5-21.2-40.8-30.8-41.9-31.2-1.8-.7-3.6-1.1-5.5-1.1-6.1 0-11.6 4-13.5 9.8-2.5 7.7 1.4 16 8.9 19.1.5.2 14.5 6.2 26.2 18.3l-32.4 18.8c-7.2 4.2-9.6 13.4-5.5 20.6 2.7 4.7 7.7 7.6 13.1 7.6 2.6 0 5.3-.7 7.6-2l32.3-18.8c4.6 16.5 2.6 31.8 2.6 32-1.2 8 4.1 15.7 12 17.3 1 .2 2 .3 3 .3 7.1 0 13-5.2 14.1-12.4.2-1.1 3.6-26-6.1-52.2l96-56v99.2c-26.9 4.7-46.8 20.2-47.7 20.9-3.1 2.5-5.1 6-5.4 10-.3 4 .9 7.8 3.6 10.8 2.9 3.2 7 5.1 11.4 5.1 3.4 0 6.8-1.2 9.5-3.3.1-.1 12.3-9.4 28.6-13.6v37.5c0 8.2 7.1 15.1 15.5 15.1s15.5-6.9 15.5-15.1v-37.5c16.3 4.2 28.4 13.5 28.6 13.6 2.7 2.1 6.1 3.3 9.5 3.3 4.4 0 8.5-1.9 11.4-5.1 2.7-3 4-7 3.6-10.9-.3-3.9-2.3-7.4-5.4-9.9-.9-.7-20.8-16.2-47.7-20.9V282l96 56c-9.6 26-6.2 51.1-6 52.2 1 7.2 6.9 12.4 14 12.4 1 0 2-.1 3-.3 7.9-1.6 13.1-9.2 12-17.3-.1-.5-1.9-15.7 2.6-32l32.2 18.8c2.3 1.3 4.9 2 7.6 2 5.4 0 10.4-2.9 13.1-7.6 4.1-6.9 1.7-16.2-5.5-20.4z"/></svg>PK}w�\ �fxxionicons/svg/md-watch.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M416 256c0-51.001-24.004-96.001-60.996-125L336 16H176l-19.004 115C120.004 159.999 96 204.999 96 256c0 50.996 24.004 95.996 60.996 125L176 496h160l19.004-115C391.996 351.996 416 306.996 416 256zm-280 0c0-66.001 54.004-120 120-120s120 53.999 120 120c0 65.996-54.004 120-120 120s-120-54.004-120-120z"/></svg>PK}w�\ga��LLionicons/svg/ios-send.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M435.9 64.9l-367.1 160c-6.5 3.1-6.3 12.4.3 15.3l99.3 56.1c5.9 3.3 13.2 2.6 18.3-1.8l195.8-168.8c1.3-1.1 4.4-3.2 5.6-2 1.3 1.3-.7 4.3-1.8 5.6L216.9 320.1c-4.7 5.3-5.4 13.1-1.6 19.1l64.9 104.1c3.2 6.3 12.3 6.2 15.2-.2L447.2 76c3.3-7.2-4.2-14.5-11.3-11.1z"/></svg>PK}w�\��C9 ionicons/svg/ios-play-circle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zm83.8 211.9l-137.2 83c-2.9 1.8-6.7-.4-6.7-3.9V173c0-3.5 3.7-5.7 6.7-3.9l137.2 83c2.9 1.7 2.9 6.1 0 7.8z"/></svg>PK}w�\L�9qqionicons/svg/ios-options.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M299.3 376c6.2-14.1 20.3-24 36.7-24s30.5 9.9 36.7 24H448c8.8 0 16 7.2 16 16s-7.2 16-16 16h-75.3c-6.2 14.1-20.3 24-36.7 24s-30.5-9.9-36.7-24H64c-8.8 0-16-7.2-16-16s7.2-16 16-16h235.3zM139.3 240c6.2-14.1 20.3-24 36.7-24s30.5 9.9 36.7 24H448c8.8 0 16 7.2 16 16s-7.2 16-16 16H212.7c-6.2 14.1-20.3 24-36.7 24s-30.5-9.9-36.7-24H64c-8.8 0-16-7.2-16-16s7.2-16 16-16h75.3zM299.3 104c6.2-14.1 20.3-24 36.7-24s30.5 9.9 36.7 24H448c8.8 0 16 7.2 16 16s-7.2 16-16 16h-75.3c-6.2 14.1-20.3 24-36.7 24s-30.5-9.9-36.7-24H64c-8.8 0-16-7.2-16-16s7.2-16 16-16h235.3z"/></svg>PK}w�\B�}nnionicons/svg/md-heart-empty.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M349.6 64c-36.4 0-70.7 16.7-93.6 43.9C233.1 80.7 198.8 64 162.4 64 97.9 64 48 114.2 48 179.1c0 79.5 70.7 143.3 177.8 241.7L256 448l30.2-27.2C393.3 322.4 464 258.6 464 179.1 464 114.2 414.1 64 349.6 64zm-80.8 329.3l-4.2 3.9-8.6 7.8-8.6-7.8-4.2-3.9c-50.4-46.3-94-86.3-122.7-122-28-34.7-40.4-63.1-40.4-92.2 0-22.9 8.4-43.9 23.7-59.3 15.2-15.4 36-23.8 58.6-23.8 26.1 0 52 12.2 69.1 32.5l24.5 29.1 24.5-29.1c17.1-20.4 43-32.5 69.1-32.5 22.6 0 43.4 8.4 58.7 23.8 15.3 15.4 23.7 36.5 23.7 59.3 0 29-12.5 57.5-40.4 92.2-28.8 35.7-72.3 75.7-122.8 122z"/></svg>PK}w�\V��8 8 ionicons/svg/ios-baseball.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256.3 74.2l9.7-3.1c4.7-1.5 9.7 1.1 11.2 5.7l.1.4c1.5 4.7-1.1 9.7-5.7 11.2L260.1 92c-2.1.7-3.2 2.9-2.6 4.9 2.1 6.9 4.5 13.7 7.2 20.5 1.9 4.6 3.9 9.2 6.1 13.7 1.1 2.2 3.8 3 5.9 1.6l8.5-5.8c4.1-2.7 9.6-1.7 12.3 2.4l.2.3c2.7 4.1 1.7 9.6-2.4 12.3l-10.4 7.1a4 4 0 0 0-1.2 5.4c7 11 14.9 21.5 23.7 31.3 1.5 1.7 4.2 1.8 5.8.2l7.5-7.5c3.5-3.5 9.1-3.5 12.5 0l.3.3c3.5 3.5 3.5 9.1 0 12.5l-7.5 7.5c-1.6 1.6-1.5 4.3.2 5.8 10.2 9.1 21 17.3 32.5 24.4a4 4 0 0 0 5.4-1.2l6.9-10.2c2.7-4.1 8.3-5.1 12.3-2.4l.3.2c4.1 2.7 5.1 8.3 2.4 12.3l-5.5 8.1c-1.4 2-.6 4.8 1.6 5.9 4.1 1.9 8.2 3.8 12.4 5.5 7.1 2.9 14.3 5.4 21.7 7.6 2.1.6 4.3-.5 5-2.6l3.5-10.8c1.5-4.7 6.5-7.2 11.2-5.7l.4.1c4.7 1.5 7.2 6.5 5.7 11.2l-2.8 8.8c-.7 2.3.7 4.7 3.1 5.2 7.1 1.3 14.3 2.3 21.5 2.9.1-2.6.2-5.3.2-7.9 0-114.9-93.1-208-208-208-2.7 0-5.3.1-8 .2.7 7.7 1.7 15.3 3.1 22.9.4 2.5 2.9 3.9 5.2 3.2zM258 447.2c-.4-2.4-2.8-3.9-5.2-3.2l-11.6 3.7c-4.7 1.5-9.7-1.1-11.2-5.7l-.1-.4c-1.5-4.7 1.1-9.7 5.7-11.2l13.8-4.4c2-.7 3.2-2.8 2.6-4.9-2.3-7.9-5-15.6-8.1-23.3-1.6-4-3.3-7.9-5.2-11.8-1-2.2-3.8-3-5.9-1.6l-10.9 7.4c-4.1 2.7-9.6 1.7-12.3-2.4l-.2-.3c-2.7-4.1-1.7-9.6 2.4-12.3l13-8.8a4 4 0 0 0 1.2-5.4c-7.2-11.7-15.5-22.7-24.8-33.1-1.5-1.7-4.2-1.8-5.8-.2l-9.9 9.9c-3.5 3.5-9.1 3.5-12.5 0l-.3-.3c-3.5-3.5-3.5-9.1 0-12.5l9.9-9.9c1.6-1.6 1.5-4.3-.2-5.8-10-9-20.6-17-31.9-24a4 4 0 0 0-5.4 1.2l-9 13.3c-2.7 4.1-8.3 5.1-12.3 2.4l-.3-.2c-4.1-2.7-5.1-8.3-2.4-12.3l7.6-11.3c1.4-2 .6-4.8-1.6-5.9-4.3-2.1-8.6-4-13.1-5.8-7.3-2.9-14.6-5.5-22.1-7.7-2-.6-4.3.6-4.9 2.6l-4.6 14.4c-1.5 4.7-6.5 7.2-11.2 5.7l-.4-.1c-4.7-1.5-7.2-6.5-5.7-11.2l4-12.4c.7-2.3-.7-4.8-3.1-5.2-5.8-1-11.7-1.8-17.6-2.4-.1 0-.3 0-.4-.1v4.2c0 114.9 93.1 208 208 208h4.2c0-.1-.1-.3-.1-.4-.5-5.4-1.2-10.9-2.1-16.3z"/><path d="M431.1 280.9l-5.9 18.4c-1.5 4.7-6.5 7.2-11.2 5.7l-.4-.1c-4.7-1.5-7.2-6.5-5.7-11.2l5.3-16.6c.7-2.1-.5-4.4-2.7-5.1-13.5-4-26.8-9.2-39.7-15.6-1.8-.9-4-.3-5.1 1.3l-10.5 15.4c-2.7 4.1-8.3 5.1-12.3 2.4l-.3-.2c-4.1-2.7-5.1-8.3-2.4-12.3l9.2-13.6c1.3-1.9.7-4.4-1.2-5.6-12.3-7.7-24.1-16.6-35.2-26.7-1.6-1.4-4-1.4-5.5.1L294.7 230c-3.5 3.5-9.1 3.5-12.5 0l-.3-.3c-3.5-3.5-3.5-9.1 0-12.5l12.8-12.8c1.5-1.5 1.6-3.9.1-5.5-9.7-10.8-18.4-22.2-26-34-1.2-1.9-3.8-2.5-5.6-1.2l-13.3 9c-4.1 2.7-9.6 1.7-12.3-2.4l-.2-.3c-2.7-4.1-1.7-9.6 2.4-12.3l15.1-10.2c1.7-1.1 2.2-3.3 1.3-5.1-6.4-12.9-11.7-26.2-15.8-39.7-.7-2.1-2.9-3.4-5.1-2.7l-15.9 5.1c-4.7 1.5-9.7-1.1-11.2-5.7l-.1-.4c-1.5-4.7 1.1-9.7 5.7-11.2l17.6-5.6c1.9-.6 3.1-2.6 2.7-4.6-1.8-9.2-3.1-18.6-3.9-27.9-95.4 11.8-170.8 88.2-181 184.1h1c7.5.7 15 1.8 22.4 3.2 2 .4 4-.8 4.6-2.7l4.7-14.8c1.5-4.7 6.5-7.2 11.2-5.7l.4.1c4.7 1.5 7.2 6.5 5.7 11.2l-4.2 13c-.7 2.2.5 4.4 2.7 5.1 13.9 4.1 27.5 9.4 40.7 16 1.8.9 4 .3 5.1-1.3l8.3-12.3c2.7-4.1 8.3-5.1 12.3-2.4l.3.2c4.1 2.7 5.1 8.3 2.4 12.3l-7.1 10.5c-1.3 1.9-.7 4.4 1.2 5.6 12.1 7.7 23.7 16.4 34.6 26.3 1.6 1.4 4 1.4 5.5-.1l10.4-10.4c3.5-3.5 9.1-3.5 12.5 0l.3.3c3.5 3.5 3.5 9.1 0 12.5L214 310.8c-1.5 1.5-1.6 3.9-.1 5.5 10.2 11.3 19.2 23.3 27 35.8 1.2 2 3.7 2.5 5.7 1.2l10.8-7.3c4.1-2.7 9.6-1.7 12.3 2.4l.2.3c2.7 4.1 1.7 9.6-2.4 12.3l-12.7 8.6c-1.7 1.1-2.2 3.3-1.3 5.1 6.4 13.2 11.7 26.7 15.7 40.6.6 2.2 2.9 3.4 5.1 2.7l13.6-4.4c4.7-1.5 9.7 1.1 11.2 5.7l.1.4c1.5 4.7-1.1 9.7-5.7 11.2l-15.6 5c-1.9.6-3.1 2.6-2.7 4.6 1.3 7 2.3 14.1 3 21.2v1c95.9-10.2 172.3-85.6 184.1-181-8.9-.7-17.9-1.9-26.7-3.6-1.9-.3-3.9.9-4.5 2.8z"/></svg>PK}w�\��O�OOionicons/svg/md-journal.svgnu�[���<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" x="0" y="0" viewBox="0 0 512 512" xml:space="preserve"><style>.st0{fill:#010101}</style><path class="st0" d="M117.3 42.7c-17.6 0-32 14.4-32 32v362.7c0 17.6 14.4 32 32 32H320V42.7H117.3zM384.7 42.7H368v426.7h16.7c23.1 0 42-18.9 42-42V84.7c0-23.1-18.9-42-42-42z"/></svg>PK}w�\=6��FFionicons/svg/ios-people.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M349.1 334.7c-11.2-4-29.5-4.2-37.6-7.3-5.6-2.2-14.5-4.6-17.4-8.1-2.9-3.5-2.9-28.5-2.9-28.5s7-6.6 9.9-14c2.9-7.3 4.8-27.5 4.8-27.5s6.6 2.8 9.2-10.4c2.2-11.4 6.4-17.4 5.3-25.8-1.2-8.4-5.8-6.4-5.8-6.4s5.8-8.5 5.8-37.4c0-29.8-22.5-59.1-64.6-59.1-42 0-64.7 29.4-64.7 59.1 0 28.9 5.7 37.4 5.7 37.4s-4.7-2-5.8 6.4c-1.2 8.4 3 14.4 5.3 25.8 2.6 13.3 9.2 10.4 9.2 10.4s1.9 20.1 4.8 27.5c2.9 7.4 9.9 14 9.9 14s0 25-2.9 28.5-11.8 5.9-17.4 8c-8 3.1-26.3 3.5-37.6 7.5-11.2 4-45.8 22.2-45.8 67.2h278.3c.1-45.1-34.5-63.3-45.7-67.3z"/><path d="M140 286s23.9-.8 33.4-9.3c-15.5-23.5-7.1-50.9-10.3-76.5-3.2-25.5-17.7-40.8-46.7-40.8h-.4c-28 0-43.1 15.2-46.3 40.8-3.2 25.5 5.7 56-10.2 76.5C69 285.3 93 285 93 285s1 14.4-1 16.8c-2 2.4-7.9 4.7-12 5.5-8.8 1.9-18.1 4.5-25.9 7.2-7.8 2.7-22.6 17.2-22.6 37.2h80.3c2.2-8 17.3-22.3 32-29.8 9-4.6 17.9-4.3 24.7-5.2 0 0 3.8-6-8.7-8.3 0 0-17.2-4.3-19.2-6.7-1.9-2.2-.6-15.7-.6-15.7zM372 286s-23.9-.8-33.4-9.3c15.5-23.5 7.1-50.9 10.3-76.5 3.2-25.5 17.7-40.8 46.7-40.8h.4c28 0 43.1 15.2 46.3 40.8 3.2 25.5-5.7 56 10.2 76.5-9.5 8.6-33.5 8.3-33.5 8.3s-1 14.4 1 16.8c2 2.4 7.9 4.7 12 5.5 8.8 1.9 18.1 4.5 25.9 7.2 7.8 2.7 22.6 17.2 22.6 37.2h-80.3c-2.2-8-17.3-22.3-32-29.8-9-4.6-17.9-4.3-24.7-5.2 0 0-3.8-6 8.7-8.3 0 0 17.2-4.3 19.2-6.7 1.9-2.2.6-15.7.6-15.7z"/></svg>PK}w�\�]c��ionicons/svg/ios-list.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><circle cx="92" cy="256" r="28"/><circle cx="92" cy="132" r="28"/><circle cx="92" cy="380" r="28"/><path d="M432 240H191.5c-8.8 0-16 7.2-16 16s7.2 16 16 16H432c8.8 0 16-7.2 16-16s-7.2-16-16-16zM432 364H191.5c-8.8 0-16 7.2-16 16s7.2 16 16 16H432c8.8 0 16-7.2 16-16s-7.2-16-16-16zM191.5 148H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H191.5c-8.8 0-16 7.2-16 16s7.2 16 16 16z"/></svg>PK}w�\�&�p�� ionicons/svg/md-thunderstorm.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M393.2 161.2C380.5 96.6 323.9 48 256 48c-39.7 0-76 14-100.9 45.4 34.3 2.6 66.1 15.2 90.7 39.8 18.2 18.2 31 40.5 37.4 64.8h-33.5c-15.3-43.7-56-75-105.7-75-6 0-14.3.7-20.6 2C70 136 32 180.4 32 235.5 32 297.6 82.2 336 144 336h68V233h99.1l-33.2 67H311l-18 36h93.7c51.5 0 93.3-30 93.3-81.8 0-49.4-38.3-89.6-86.8-93zM212 368h22v96l59-128h-81z"/></svg>PK}w�\�)��ionicons/svg/md-volume-mute.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M64 192v128h85.334L256 431.543V80.458L149.334 192H64z"/></svg>PK}w�\����#ionicons/svg/ios-reverse-camera.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M417.5 160H363c-4.6 0-8.9-2-12-5.4-28.4-31.8-39.1-42.6-50.7-42.6h-85.5c-11.7 0-23.2 10.8-51.7 42.7-3 3.4-7.4 5.3-11.9 5.3h-4.1v-8c0-4.4-3.6-8-8-8h-26c-4.4 0-8 3.6-8 8v8h-7.5C79.9 160 64 173.2 64 190.7v176c0 17.5 15.9 33.3 33.5 33.3h320c17.6 0 30.5-15.8 30.5-33.3v-176c0-17.5-12.9-30.7-30.5-30.7zM308.3 340.5c-.8 2.5-2.6 4.6-4.8 6.1-14.1 9.7-30.5 14.8-47.5 14.8-21 0-41.2-8.1-57.1-22.7-14.6-13.5-24.1-31.2-27-50.2h-20.4c-3.2 0-6-2.8-5.6-6.6.1-.7.3-1.3.7-1.8l31.5-42.3c1.1-1.4 2.7-2.2 4.4-2.2 1.7 0 3.3.8 4.4 2.2l32.2 41.8c2 2.6 1.5 6.4-1.8 8.5-.6.4-1.2.5-1.9.5h-20.8c2.7 12.8 9.7 24.8 19.9 34 11.6 10.6 26.3 16.4 41.4 16.4 12.3 0 24.4-4 35.1-11.5 1.9-1.3 4.2-2.1 6.5-2.1 3.2 0 6.2 1.3 8.3 3.7 2.9 3 3.9 7.3 2.5 11.4zm56.6-67.5l-31.2 42.9c-1.8 2.5-5.5 3.2-8.3.8-.2-.2-.4-.4-.5-.6L292.5 273c-2-2.6-1.4-6.5 1.9-8.5.6-.3 1.2-.5 1.9-.5h21c-2.7-13.6-9.7-26.1-19.9-35.6-11.5-10.7-26.2-16.6-41.3-16.6-12.5 0-24.6 3.9-35.2 11.3-1.9 1.3-4.1 2-6.4 2-3.1 0-6.1-1.3-8.2-3.6-2.8-3-3.8-7.4-2.5-11.5.8-2.5 2.6-4.6 4.7-6 14.1-9.7 30.6-14.8 47.6-14.8 21.7 0 42.2 7.9 57.8 22.3 13.3 12.3 23.2 32.1 26.2 52.4h21.1c.6 0 1.3.2 1.8.5 3.2 2.1 3.8 6 1.9 8.6z"/></svg>PK}w�\�9y��ionicons/svg/ios-help.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256.7 160c37.5 0 63.3 20.8 63.3 50.7 0 19.8-9.6 33.5-28.1 44.4-17.4 10.1-23.3 17.5-23.3 30.3v7.9h-34.7l-.3-8.6c-1.7-20.6 5.5-33.4 23.6-44 16.9-10.1 24-16.5 24-28.9s-12-21.5-26.9-21.5c-15.1 0-26 9.8-26.8 24.6H192c.7-32.2 24.5-54.9 64.7-54.9zm-26.3 171.4c0-11.5 9.6-20.6 21.4-20.6 11.9 0 21.5 9 21.5 20.6s-9.6 20.6-21.5 20.6-21.4-9-21.4-20.6z"/></svg>PK}w�\r0zzionicons/svg/md-flash.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M160 48v224h64v192l128-256h-64l64-160H160z"/></svg>PK}w�\���ionicons/svg/ios-bookmarks.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M416 32v127.9l-22.9-14.5-9.1-6.4-9.1 6.4-22.9 14.5V32h-41.4c-22.5.2-40.6 18.8-40.6 41.4v313.2c0 7.5-5.8 14-13.3 14.4-8 .4-14.7-6-14.7-14V73.4c0-22.6-18.1-41.2-40.6-41.4H95.1C64.8 32 40 56.8 40 87.1v289.8c0 30.3 24.8 55.1 55.1 55.1l108-.1c4.2.1 8.3.6 12.2 1.4 15.3 3.1 26.8 16.6 26.6 32.2-.1 7.2 5.2 13.6 12.4 14.4 8.5.9 15.7-5.7 15.6-14.1-.2-15.8 11.4-29.4 26.9-32.5 3.8-.8 7.9-1.2 12-1.3l108 .1c30.3 0 55.1-24.8 55.1-55.1V87.1C472 56.8 446.3 32 416 32z"/></svg>PK}w�\��cionicons/svg/ios-basketball.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M218.6 306.4c14.3-11.8 28.3-24.4 41.4-37.6l6.1-6.1c-2.8-2.9-5.6-5.8-8.3-8.5-49.9-49.9-107.7-89.6-171.8-118.1-18.4 26.1-31 56.6-35.8 89.6 32.2 2.3 63.2 10.5 92.2 24.5 28.8 13.9 54.4 32.8 76.2 56.2zM326.1 185.6c.5.5 1.1 1.1 1.7 1.6 20.9-30.5 38.8-63.2 53.5-97.4-33.8-25.5-75.6-41-121-41.9 2.4 22.3 8 44.1 16.7 64.7 11.5 27.4 28.1 52 49.1 73zM399 234.8c20.7 8.8 42.6 14.4 65 16.7-1.2-56.3-24.8-107.1-62.2-143.9-15 33.8-33.3 66.3-54.4 96.8 15.8 12.4 33.2 22.6 51.6 30.4zM193.9 318.1c-21.1-21.1-45.6-37.6-72.9-49.2-23.2-9.8-47.7-15.6-72.9-17.4 0 1.5-.1 3-.1 4.4 0 48.7 16.7 93.5 44.8 128.9 37.3-17 72.7-37.9 105.4-62.4-1.5-1.4-2.9-2.9-4.3-4.3zM283.8 243.6c10.1-11.3 19.7-23.1 28.8-35.1-44.5-42.3-72.1-98.6-78.2-159.5-51.9 5.4-98.1 29.8-131.5 66.2 33.4 15.3 65.5 33.8 95.6 55.1 30.5 21.7 59.2 46.3 85.3 73.3zM301.4 262.8c38.9 44 70.9 93.2 95.3 146.4 36.4-33.5 60.9-79.8 66.2-131.7-47.7-4.7-92.8-22.6-130.8-52-9.6 12.7-20 25.3-30.7 37.3zM235.3 326.2c29.9 39.5 47.5 86.2 51 135.6 33-4.8 63.5-17.4 89.5-35.8-23.4-52.6-54.3-101-92.2-144.2-15.2 15.6-31.4 30.5-48.3 44.4zM214.9 342.3c-32.4 24.4-67.4 45.5-104 62.8 37.5 36.5 88.6 59 145.1 59 1.5 0 3 0 4.5-.1-1.8-25.2-7.6-49.7-17.4-72.9-7.4-17.5-16.8-33.8-28.2-48.8z"/></svg>PK}w�\�o�iiionicons/svg/md-nuclear.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M336 272c0-29.8-16.3-55.7-40.4-69.5l73.1-124.1C335.6 59.1 297.1 48 256 48c-41.2 0-79.9 11.2-113.1 30.6l71.6 125C191.4 217.6 176 243 176 272H32c0 83.3 46.9 153.4 114.4 192l70.1-122.4c11.7 6.6 25.1 10.4 39.5 10.4 14.3 0 27.7-3.8 39.3-10.3L365.6 464C433.1 425.4 480 355.3 480 272H336z"/></svg>PK}w�\�DQPPionicons/svg/md-pie.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M32.6 256H256V32.6c-5-.4-10.6-.6-16-.6-114.9 0-208 93.1-208 208 0 5.4.2 11 .6 16z"/><path d="M109.8 402.2C147.9 449.6 206.4 480 272 480c114.9 0 208-93.1 208-208 0-65.6-30.4-124.1-77.8-162.2C370.5 84.3 331 67.9 288 64.6V288H64.6c3.3 43 19.7 82.5 45.2 114.2z"/></svg>PK}w�\��}��ionicons/svg/md-walk.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M288 112c22.223 0 39.997-17.776 39.997-40 0-22.225-17.774-40-39.997-40s-40.003 17.775-40.003 40c0 22.224 17.78 40 40.003 40zM288 232h104v-40h-72l-44.802-69.333c-7.698-11.667-18.136-18.136-30.933-18.136-3.198 0-8.828.531-12.799 1.747L120 144v112h40v-80l40.531-16L120 480h40l56.698-164.271L267 384v96h38V352l-57.031-96 19.745-61.864L288 232z"/></svg>PK}w�\�uuionicons/svg/md-contact.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.6 48 48 141.6 48 256s93.6 208 208 208 208-93.6 208-208S370.4 48 256 48zm0 62.4c34.3 0 62.4 28.1 62.4 62.4s-28.1 62.4-62.4 62.4-62.4-28.1-62.4-62.4 28.1-62.4 62.4-62.4zm0 300.4c-52 0-97.8-27-124.8-66.6 1-41.6 83.2-64.5 124.8-64.5s123.8 22.9 124.8 64.5c-27 39.5-72.8 66.6-124.8 66.6z"/></svg>PK}w�\4�C�++ionicons/svg/md-calendar.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M368.005 272h-96v96h96v-96zm-32-208v32h-160V64h-48v32h-24.01c-22.002 0-40 17.998-40 40v272c0 22.002 17.998 40 40 40h304.01c22.002 0 40-17.998 40-40V136c0-22.002-17.998-40-40-40h-24V64h-48zm72 344h-304.01V196h304.01v212z"/></svg>PK}w�\�h�"ionicons/svg/ios-heart-dislike.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M423.8 426.8L56.3 65.1c-5.6-5.5-14.6-5.5-20.1.1-5.5 5.5-5.5 14.5 0 20l367.5 361.7c3.7 3.7 9 4.9 13.7 3.6 2.4-.6 4.6-1.9 6.4-3.7 5.6-5.5 5.6-14.5 0-20zM64 169c0 37 15.2 89.5 46.8 132.7C171 384 272 456 272 456s29.3-20.3 65.7-51.6L68 139c-2.6 9.6-4 19.6-4 30zM434.2 301.7C465.8 258.5 480 206 480 169c0-62.1-50.1-112.4-112-113h-1c-39.7 0-74.8 21-95 52-20.2-31-55.3-52-95-52h-1c-29.2.3-55.8 11.6-75.7 30l281.9 277.4c19.3-19.1 36.2-40 52-61.7z"/></svg>PK}w�\Ss&��ionicons/svg/md-shuffle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M222.2 188.1L97.8 64 64 97.8l124.1 124.1 34.1-33.8zM316 64l49 49L64 414.2 97.8 448 399 147l49 49V64H316zm7.9 225.8l-33.8 33.8 75.1 75.1L316 448h132V316l-49 49-75.1-75.2z"/></svg>PK}w�\O�V}FFionicons/svg/logo-bitbucket.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M452.9 64.2c-.7-.1-1.5-.2-2.2-.2H61.5c-7.4-.1-13.4 5.9-13.5 13.5 0 .8 0 1.6.2 2.4l56.6 352.5c.7 4.3 2.9 8.2 6.1 11.1 3.2 2.9 7.4 4.5 11.7 4.5H394c6.6.1 12.3-4.8 13.3-11.5L441 224H316l-16 96h-88l-22.3-126.9h256.2l18-113.1c1.1-7.5-3.8-14.6-11-15.8z"/></svg>PK}w�\����ionicons/svg/md-podium.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M32 224h128v192H32zM192 128h128v288H192zM352 288h128v128H352z"/></svg>PK}w�\�cK���!ionicons/svg/ios-close-circle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zm52.7 283.3L256 278.6l-52.7 52.7c-6.2 6.2-16.4 6.2-22.6 0-3.1-3.1-4.7-7.2-4.7-11.3 0-4.1 1.6-8.2 4.7-11.3l52.7-52.7-52.7-52.7c-3.1-3.1-4.7-7.2-4.7-11.3 0-4.1 1.6-8.2 4.7-11.3 6.2-6.2 16.4-6.2 22.6 0l52.7 52.7 52.7-52.7c6.2-6.2 16.4-6.2 22.6 0 6.2 6.2 6.2 16.4 0 22.6L278.6 256l52.7 52.7c6.2 6.2 6.2 16.4 0 22.6-6.2 6.3-16.4 6.3-22.6 0z"/></svg>PK}w�\7_���ionicons/svg/md-ice-cream.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M128.1 256l128 224 128-224zM392 161c3-9 4.7-22.7 4.7-32.9 0-53.1-43-96.1-96.1-96.1-31.4 0-59.2 15-76.8 38.3 0 0-9.1 14-10.8 29l-3.4-1c-2.3-9-3.7-20 1.6-31.5-7.4-2.5-9.4-2.8-17.6-2.8-41.7 0-75.6 33.8-75.6 75.6 0 6.3.8 15.5 2.3 21.4-13.9 3.5-24.3 16.1-24.3 31 0 17.6 14.4 32 32 32h256c17.6 0 32-14.4 32-32 0-14.8-10.2-27.4-24-31z"/></svg>PK}w�\�K�ionicons/svg/ios-restaurant.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M384 64c-24.8 0-48 77.3-48 160 0 57 32 80 32 80v128c0 8.8 7.2 16 16 16s16-7.2 16-16V75c0-11-11-11-16-11zM288 64l10 104c0 4.4-3.6 8-8 8s-8-3.6-8-8l-6-104h-8l-6 104c0 4.4-3.6 8-8 8s-8-3.6-8-8l10-104h-8s-24 107.2-24 128 13.4 38.6 32 45.2V432c0 8.8 7.2 16 16 16s16-7.2 16-16V237.2c18.6-6.6 32-24.2 32-45.2S296 64 296 64h-8zM160 64c-26.5 0-48 64-48 128 0 20.8 13.4 38.6 32 45.2V432c0 8.8 7.2 16 16 16s16-7.2 16-16V237.2c18.6-6.6 32-24.2 32-45.2 0-64-21.5-128-48-128z"/></svg>PK}w�\�Ms���ionicons/svg/ios-color-wand.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M445.7 405.6L201.3 160.4c-3.1-3.1-8.2-3.1-11.3 0l-28.7 28.8c-3.1 3.1-3.1 8.2 0 11.3l244.4 245.2c3.1 3.1 8.2 3.1 11.3 0l28.6-28.8c3.2-3.1 3.2-8.2.1-11.3zm-25.5 14.3l-.1.1c-3.1 3.1-8.2 3.1-11.3 0L218.9 229.5c-3.1-3.1-3.1-8.2 0-11.3l.1-.1c3.1-3.1 8.2-3.1 11.3 0l189.9 190.5c3.1 3.1 3.1 8.2 0 11.3zM192.8 120.1c6.6 0 12-5.4 12-12V76c0-6.6-5.4-12-12-12s-12 5.4-12 12v32.1c0 6.6 5.4 12 12 12zM192.8 263.3c-6.6 0-12 5.4-12 12v32.1c0 6.6 5.4 12 12 12s12-5.4 12-12v-32.1c0-6.6-5.4-12-12-12zM270.7 190.2c0 6.6 5.4 12 12 12h32c6.6 0 12-5.4 12-12s-5.4-12-12-12h-32c-6.6 0-12 5.4-12 12zM119.9 190.2c0-6.6-5.4-12-12-12H76c-6.6 0-12 5.4-12 12s5.4 12 12 12h32c6.5 0 11.9-5.4 11.9-12zM124.8 141c2.3 2.3 5.3 3.5 8.5 3.5s6.2-1.3 8.5-3.5c4.7-4.7 4.7-12.3 0-17l-20.9-21c-2.3-2.3-5.3-3.5-8.5-3.5s-6.2 1.3-8.5 3.5c-4.7 4.7-4.7 12.3 0 17l20.9 21zM133.3 239.9c-3.2 0-6.2 1.3-8.5 3.5l-20.9 21c-2.3 2.3-3.5 5.3-3.5 8.5s1.2 6.2 3.5 8.5 5.3 3.5 8.5 3.5 6.2-1.3 8.5-3.5l20.9-21c4.7-4.7 4.7-12.3 0-17-2.3-2.2-5.3-3.5-8.5-3.5zM252.4 144.5c3.2 0 6.2-1.3 8.5-3.5l20.9-21c4.7-4.7 4.7-12.3 0-17-2.3-2.3-5.3-3.5-8.5-3.5s-6.2 1.3-8.5 3.5l-20.9 21c-2.3 2.3-3.5 5.3-3.5 8.5s1.2 6.2 3.5 8.5c2.3 2.2 5.3 3.5 8.5 3.5z"/></svg>PK}w�\ƫ��33ionicons/svg/ios-cloud-done.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M437.1 229.8C429 154.6 365.4 96 288 96c-51.2 0-96.3 25.6-123.4 64.7-8.3-3.4-17.4-5.3-26.9-5.3-39.1 0-70.8 34.4-71.4 73.4C26.4 241.5 0 280.5 0 321.5 0 371.7 40.7 416 90.9 416h330.3c50.2 0 90.9-44.3 90.9-94.5-.1-44.7-32.4-84.1-75-91.7zm-74.6-17.3L228.8 346.8h-.1c-1.7 1.7-6.3 5.5-11.6 5.5-3.8 0-8.1-2.1-11.7-5.7l-56-56c-1.6-1.6-1.6-4.1 0-5.7l17.8-17.8c.8-.8 1.8-1.2 2.8-1.2 1 0 2 .4 2.8 1.2l44.4 44.4 122-122.9c.8-.8 1.8-1.2 2.8-1.2 1.1 0 2.1.4 2.8 1.2l17.5 18.1c1.8 1.7 1.8 4.2.2 5.8z"/></svg>PK}w�\e+��bb*ionicons/svg/ios-arrow-dropdown-circle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M48 256c0 114.9 93.1 208 208 208s208-93.1 208-208S370.9 48 256 48 48 141.1 48 256zm289.1-43.4c7.5-7.5 19.8-7.5 27.3 0 3.8 3.8 5.6 8.7 5.6 13.6s-1.9 9.9-5.7 13.7l-94.3 94c-7.6 6.9-19.3 6.7-26.6-.6l-95.7-95.4c-7.5-7.5-7.6-19.7 0-27.3 7.5-7.5 19.7-7.6 27.3 0l81.1 81.9 81-79.9z"/></svg>PK}w�\�Z����ionicons/svg/md-funnel.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M208 400h96v-47.994h-96V400zM32 112v47.994h448V112H32zm80 168.783h288v-49.555H112v49.555z"/></svg>PK}w�\���c��ionicons/svg/md-code.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M190.4 354.1L91.9 256l98.4-98.1-30-29.9L32 256l128.4 128 30-29.9zm131.2 0L420 256l-98.4-98.1 30-29.9L480 256 351.6 384l-30-29.9z"/></svg>PK}w�\N����ionicons/svg/ios-pricetag.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M435.2 48H312.3c-3.8 0-7.5 1.5-10.2 4.2L56.4 297.9c-11.2 11.2-11.2 29.5 0 40.7l117 117c11.2 11.2 29.5 11.2 40.7 0L459.7 210c2.7-2.7 4.2-6.4 4.2-10.2v-123C464 60.9 451.1 48 435.2 48zm-47.7 111.8c-20.4 2.2-37.4-14.9-35.3-35.3 1.6-14.8 13.5-26.8 28.3-28.3 20.4-2.2 37.4 14.9 35.3 35.3-1.6 14.8-13.5 26.7-28.3 28.3z"/></svg>PK}w�\<�L��ionicons/svg/ios-folder.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M480 119c0-13.3-9.4-23-22.8-23H198.9c-2.8 0-4.3-.6-6.1-2.4l-22.5-22.5-.2-.2c-4.9-4.6-8.9-6.9-17.3-6.9H56.7C42.9 64 32 74.3 32 87v73.7c0 1.6 1.7 1.5 3 .7s5-1.4 7-1.4h428c2 0 5.7.6 7 1.4 1.3.8 3 .9 3-.7V119zM32 416.4c0 17.5 14.2 31.6 31.6 31.6H448c17.6 0 32-14.4 32-32V204c0-8.8-7.2-16-16-16H48c-8.8 0-16 7.2-16 16v212.4z"/></svg>PK}w�\�:8ooionicons/svg/ios-done-all.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M317.5 210.3c1.7-1.8 1.8-4.7 0-6.5l-19.8-21c-.8-.9-2-1.4-3.2-1.4-1.2 0-2.4.5-3.2 1.4l-66.5 69.1 26.4 27.1 66.3-68.7zM123.8 253.1c-.9-.9-2-1.4-3.2-1.4-1.2 0-2.3.5-3.2 1.4l-20.1 20.7c-1.8 1.8-1.8 4.8 0 6.6l63.2 65c4 4.2 9 6.6 13.2 6.6 6 0 11.1-4.5 13.1-6.4l.1-.1 13.4-13.8-76.5-78.6z"/><path d="M414.7 182.4l-19.8-21c-.8-.9-2-1.4-3.2-1.4-1.2 0-2.4.5-3.2 1.4L250.7 304.1l-50.1-51.6c-.9-.9-2-1.4-3.2-1.4-1.2 0-2.3.5-3.2 1.4l-20.1 20.7c-1.8 1.8-1.8 4.8 0 6.6l63.2 65c4 4.2 9 6.6 13.2 6.6 6 0 11.1-4.5 13.1-6.4l.1-.1 151-156.1c1.7-1.7 1.7-4.6 0-6.4z"/></svg>PK}w�\�57�44ionicons/svg/md-magnet.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M383.6 98.8C352.1 65.8 308 48.2 256 48c-51.9.2-96 17.8-127.5 50.8C96.8 132 80 178.8 80 234c0 43.5 1.8 69.2 12.9 115.8 0 0 22.7 75.7 35.5 104.1 3.5 7.8 7.4 11.8 15.5 9.3 6.4-2 46.8-17.9 54.7-21.6 7.9-3.6 11.6-8.6 8.9-15.2-3.8-9.2-33.9-95.6-33.9-95.6-8.4-36.3-11.6-53.9-11.6-94.3 0-28.2 9.8-54.1 27.7-72.9 17.5-18.3 41-28.4 66.3-28.4s48.8 10.1 66.3 28.4c17.9 18.8 27.7 44.6 27.7 72.8 0 40-3.2 64-11.7 94.4s-32.2 90.1-33.9 95.6c-1.7 5.6 2.1 12.5 8.9 15.2 6.8 2.7 49.3 19.6 54.7 21.6 5.4 2 10.6.6 14.5-7.7 4-8.3 24.6-61.4 36.5-105.7 12-44.3 13-72.3 13-115.8 0-55.2-16.7-101.9-48.4-135.2zM173.1 419.7l-22.9 9.6c-6.9-16.3-17.2-43.2-25.9-77.2l22-6.5 26.8 74.1zm188.6 9.6l-22.9-9.6c7.2-16.6 19.1-45.1 26.6-74.1l22 6.5c-8.4 33.9-18.7 60.9-25.7 77.2z"/></svg>PK}w�\��� ��ionicons/svg/ios-watch.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M440.3 161.3c-15-23.9-36.3-43.3-61.4-56.1-1.9-.9-3.9-1.4-6-1.4-5 0-9.5 2.8-11.8 7.2-1.6 3.1-1.9 6.7-.8 10 1.1 3.3 3.4 6.1 6.6 7.7 20.9 10.7 38.6 26.8 51.1 46.7 12.8 20.4 19.6 44 19.6 68v40.5c0 17.2-3.3 33.4-9.9 48-6.3 14-15.4 26.3-27 36.6-23.2 20.5-55.1 31.9-89.9 31.9-34.4 0-43.6-5.2-52.4-10.2-8.1-4.6-17.3-9.8-37.7-11-31.7-2-56.9-12.4-77.2-31.8-2.5-2.4-5.7-3.7-9.1-3.7-3.6 0-7 1.5-9.5 4.1-2.4 2.5-3.7 5.7-3.7 9.1 0 3.6 1.5 7 4.1 9.5 25 23.9 55.7 36.7 93.8 39.1 14.4.9 19.4 3.7 26.4 7.7 11.3 6.4 24.1 13.6 65.4 13.6 41.6 0 80-13.9 108.1-39.2 14.2-12.8 25.3-28 33-45.2 8-18 12.1-37.6 12.1-58.5v-40.5c-.1-29.1-8.3-57.5-23.8-82.1z"/><path d="M284 383c8.7 1.4 17.2 2.1 25.4 2.1 16 0 31.2-2.7 45-8 13.9-5.4 26.5-13.4 37.5-23.9 5.3-5 5.4-13.4.4-18.6-2.5-2.6-5.9-4.1-9.5-4.1-3.4 0-6.7 1.3-9.1 3.7-17.1 16.3-38.8 24.6-64.5 24.6-6.8 0-13.8-.6-21-1.8-.7-.1-1.4-.2-2.1-.2-6.5 0-12 4.6-13 11-.1.7-.2 1.4-.2 2.1 0 6.6 4.7 12 11.1 13.1zm2.1-21.1h.1-.3.2zM222.9 421.7c-39.9 0-72.8-13.4-102.7-40.3-29.1-26.2-45.8-60.7-45.8-94.5v-43.6c0-24.1 6.8-47.6 19.6-68 12.5-19.9 30.2-36 51.1-46.7 3.1-1.6 5.5-4.3 6.6-7.7 1.1-3.3.8-6.9-.8-10.1-2.3-4.4-6.8-7.2-11.8-7.2-2.1 0-4.1.5-6 1.4-25.1 12.8-46.4 32.2-61.4 56.1-15.5 24.6-23.7 53-23.7 82v43.6c0 41.2 19.9 82.8 54.5 114 34.6 31.2 74 47.1 120.4 47.1 7.3 0 13.2-5.9 13.2-13.2-.1-7-6-12.9-13.2-12.9z"/><g><path d="M348.4 115.1c.8-11.9 10.3-21.6 22.2-22.6 4.3-.4 8.4.4 12 2 2.6 1.1 5.1-1.6 3.9-4.1-2.7-5.7-6.6-10.9-11.5-15.1C366.6 68 355.9 64 344.8 64H167.2c-17.9 0-33.9 10.3-41.5 25.8-1.2 2.5 1.2 5.2 3.9 4.2 3.3-1.3 7-1.8 10.8-1.5 11.9 1 21.4 10.8 22.2 22.7.8 13.6-9.5 25-22.8 25.8-.9.1-1.8.7-2.1 1.5-.4 1.1-.1 2.3.8 3 8.1 6.2 18.1 9.7 28.7 9.7h177.6c10.9 0 21.2-3.6 29.4-10.2 1.7-1.3.7-4-1.4-4h-.1c-14 0-25.2-11.7-24.3-25.9zm-21.6-10.3c3.5 15.8-10.7 30-26.5 26.5-8.4-1.9-15.2-8.6-17-17-3.5-15.8 10.7-30 26.5-26.5 8.4 1.9 15.2 8.6 17 17z"/></g></svg>PK}w�\��//ionicons/svg/ios-cloudy.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M236 96c-70 0-127.8 59.7-127.8 130.8 0 4.3.3 8.6.8 12.8-43.2 3.9-77 44-77 88.4 0 47 37.9 88 84.6 88h257.8c58.3 0 105.6-49.4 105.6-108s-47.3-108.8-105.6-108.8c-2.3 0-4.8-.2-7.2-.2-2.1 0-4.2 0-6.1.1C349.3 145.6 306 96 236 96z"/></svg>PK}w�\�6 d<<ionicons/svg/ios-timer.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 456c-110.3 0-200-89.7-200-200 0-54.8 21.7-105.9 61.2-144 6.4-6.2 16.6-6 22.7.4 6.2 6.4 6 16.6-.4 22.7-33.1 32-51.3 74.9-51.3 120.9 0 92.5 75.3 167.8 167.8 167.8S423.8 348.5 423.8 256c0-87.1-66.7-159-151.8-167.1v62.6c0 8.9-7.2 16.1-16.1 16.1s-16.1-7.2-16.1-16.1V72.1c0-8.9 7.2-16.1 16.1-16.1 110.3 0 200 89.7 200 200S366.3 456 256 456z"/><path d="M175.9 161.9l99.5 71.5c13.5 9.7 16.7 28.5 7 42s-28.5 16.7-42 7c-2.8-2-5.2-4.4-7-7l-71.5-99.5c-3.2-4.5-2.2-10.8 2.3-14 3.6-2.6 8.3-2.4 11.7 0z"/></svg>PK}w�\a�⮙�ionicons/svg/md-timer.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M232.9 371.6c0 12.7 10.4 23.1 23.1 23.1s23.1-10.4 23.1-23.1c0-12.7-10.4-23.1-23.1-23.1s-23.1 10.3-23.1 23.1zm0-323.6v92.4h46.2V96.1c78.3 11.3 138.7 78.3 138.7 159.9 0 89.4-72.3 161.8-161.8 161.8S94.2 345.4 94.2 256c0-38.8 13.6-74.4 36.5-102.2L256 279.1l32.6-32.6L131.4 89.4v.5C80.8 127.7 48 187.8 48 256c0 114.9 92.9 208 208 208 114.9 0 208-93.1 208-208S370.9 48 256 48h-23.1zm161.8 208c0-12.7-10.4-23.1-23.1-23.1-12.7 0-23.1 10.4-23.1 23.1s10.4 23.1 23.1 23.1c12.7 0 23.1-10.4 23.1-23.1zm-277.4 0c0 12.7 10.4 23.1 23.1 23.1s23.1-10.4 23.1-23.1-10.4-23.1-23.1-23.1-23.1 10.4-23.1 23.1z"/></svg>PK}w�\��� ionicons/svg/logo-apple.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M333.6 153.9c-33.6 0-47.8 16.5-71.2 16.5-24 0-42.3-16.4-71.4-16.4-28.5 0-58.9 17.9-78.2 48.4-27.1 43-22.5 124 21.4 193 15.7 24.7 36.7 52.4 64.2 52.7h.5c23.9 0 31-16.1 63.9-16.3h.5c32.4 0 38.9 16.2 62.7 16.2h.5c27.5-.3 49.6-31 65.3-55.6 11.3-17.7 15.5-26.6 24.2-46.6-63.5-24.8-73.7-117.4-10.9-152.9-19.2-24.7-46.1-39-71.5-39z"/><path d="M326.2 64c-20 1.4-43.3 14.5-57 31.6-12.4 15.5-22.6 38.5-18.6 60.8h1.6c21.3 0 43.1-13.2 55.8-30.1 12.3-16.1 21.6-38.9 18.2-62.3z"/></svg>PK}w�\����zz)ionicons/svg/ios-close-circle-outline.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M331.3 308.7L278.6 256l52.7-52.7c6.2-6.2 6.2-16.4 0-22.6-6.2-6.2-16.4-6.2-22.6 0L256 233.4l-52.7-52.7c-6.2-6.2-15.6-7.1-22.6 0-7.1 7.1-6 16.6 0 22.6l52.7 52.7-52.7 52.7c-6.7 6.7-6.4 16.3 0 22.6 6.4 6.4 16.4 6.2 22.6 0l52.7-52.7 52.7 52.7c6.2 6.2 16.4 6.2 22.6 0 6.3-6.2 6.3-16.4 0-22.6z"/><path d="M256 76c48.1 0 93.3 18.7 127.3 52.7S436 207.9 436 256s-18.7 93.3-52.7 127.3S304.1 436 256 436c-48.1 0-93.3-18.7-127.3-52.7S76 304.1 76 256s18.7-93.3 52.7-127.3S207.9 76 256 76m0-28C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48z"/></svg>PK}w�\f�_��ionicons/svg/logo-wordpress.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M259 271.3L226.2 367h-.1l-25.4 73.1c1.8.5 3.5.9 5.3 1.4h.3c15.8 4.2 32.4 6.5 49.5 6.5 8.5 0 16.8-.5 24.9-1.8 11.2-1.4 22-3.8 32.5-7.1 2.6-.8 5.2-1.7 7.8-2.6-2.8-6-8.8-19.3-9.1-19.9L259 271.3zM80.8 180.5C70.8 203.1 64 230.9 64 256c0 6.3.3 12.6.9 18.8 6.9 71.2 52.9 131 116.1 157.9 2.6 1.1 5.3 2.2 8 3.2L96 180.6c-8-.3-9.5.2-15.2-.1z"/><path d="M430.2 175.4c-4.3-9.3-9.4-18.2-15.1-26.6-1.6-2.4-3.4-4.8-5.1-7.2-21.5-28.8-50.8-51.4-84.9-64.6-21.4-8.4-44.8-13-69.2-13-60.3 0-114.2 28-149.4 71.7-6.5 8-12.3 16.6-17.5 25.6 14.2.1 31.8.1 33.8.1 18.1 0 46-2.2 46-2.2 9.4-.6 10.4 13.1 1.1 14.2 0 0-9.4 1.1-19.8 1.6L213 362l37.8-113.3-26.8-73.6c-9.4-.5-18.1-1.6-18.1-1.6-9.4-.5-8.2-14.8 1-14.2 0 0 28.5 2.2 45.5 2.2 18.1 0 46-2.2 46-2.2 9.3-.6 10.5 13.1 1.1 14.2 0 0-9.3 1.1-19.7 1.6l62.3 185.6 17.3-57.6c8.7-22.4 13.1-40.9 13.1-55.7 0-21.3-7.7-36.1-14.3-47.6-8.7-14.3-16.9-26.3-16.9-40.4 0-15.9 12-30.7 29-30.7h2.2c26.2-.7 34.8 25.3 35.9 43v.6c.4 7.2.1 12.5.1 18.8 0 17.4-3.3 37.1-13.1 61.8l-39 112.8-22.3 65.7c1.8-.8 3.5-1.6 5.3-2.5 56.7-27.4 98-82 106.7-146.7 1.3-8.5 1.9-17.2 1.9-26 0-28.9-6.4-56.3-17.8-80.8z"/></svg>PK}w�\_��ionicons/svg/ios-heart-half.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M352 56h-1c-39.7 0-74.8 21-95 52-20.2-31-55.3-52-95-52h-1c-61.9.6-112 50.9-112 113 0 37 16.2 89.5 47.8 132.7C156 384 256 456 256 456s100-72 160.2-154.3C447.8 258.5 464 206 464 169c0-62.1-50.1-112.4-112-113zm41.6 229.2C356.4 336 302.2 383.6 269 410.5c-5.2 4.2-13 .5-13-6.2V198.6c0-26.8 8.5-52.7 23.3-75 .1-.1.1-.2.2-.2 7.7-11.8 18.2-21.6 30.4-28.5 12.6-7.1 26.8-10.8 41.1-10.8h.9c22.5.2 43.7 9.1 59.6 25.1 15.9 16 24.6 37.3 24.6 59.8-.1 29-13.2 76.1-42.5 116.2z"/></svg>PK}w�\H�@)��ionicons/svg/ios-close.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M278.6 256l68.2-68.2c6.2-6.2 6.2-16.4 0-22.6-6.2-6.2-16.4-6.2-22.6 0L256 233.4l-68.2-68.2c-6.2-6.2-16.4-6.2-22.6 0-3.1 3.1-4.7 7.2-4.7 11.3 0 4.1 1.6 8.2 4.7 11.3l68.2 68.2-68.2 68.2c-3.1 3.1-4.7 7.2-4.7 11.3 0 4.1 1.6 8.2 4.7 11.3 6.2 6.2 16.4 6.2 22.6 0l68.2-68.2 68.2 68.2c6.2 6.2 16.4 6.2 22.6 0 6.2-6.2 6.2-16.4 0-22.6L278.6 256z"/></svg>PK}w�\-e�C��ionicons/svg/md-cloudy.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M123.4 183c.4-.1.8-.1 1.2-.2-.5.1-.8.2-1.2.2z"/><path d="M393.2 219.2C380.5 154.6 323.9 106 256 106c-39.7 0-76 14-100.9 45.4 34.3 2.6 66.1 15.2 90.7 39.8 18.2 18.2 31 40.5 37.4 64.8h-33.5c-15.3-43.7-56-75-105.7-75-6 0-14.3.7-20.6 2C70 194 32 238.4 32 293.5 32 355.6 82.2 406 144 406h242.7c51.5 0 93.3-42 93.3-93.8 0-49.4-38.3-89.6-86.8-93z"/></svg>PK}w�\������ionicons/svg/md-help.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M289 448h-66v-65h66v65zm-1-98h-64c0-101 96-95.1 96-159 0-35.2-28.8-63.4-64-63.4S192 158 192 192h-64c0-71 57.3-128 128-128s128 56.4 128 127c0 79.9-96 89-96 159z"/></svg>PK}w�\�x�DD$ionicons/svg/md-arrow-round-back.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M401.4 224h-214l83-79.4c11.9-12.5 11.9-32.7 0-45.2s-31.2-12.5-43.2 0L89 233.4c-6 5.8-9 13.7-9 22.4v.4c0 8.7 3 16.6 9 22.4l138.1 134c12 12.5 31.3 12.5 43.2 0 11.9-12.5 11.9-32.7 0-45.2l-83-79.4h214c16.9 0 30.6-14.3 30.6-32 .1-18-13.6-32-30.5-32z"/></svg>PK}w�\I�a�22!ionicons/svg/ios-cloud-upload.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M437.1 165.8C429 90.6 365.4 32 288 32c-51.2 0-96.3 25.6-123.4 64.7-8.3-3.4-17.4-5.3-26.9-5.3-39.1 0-70.8 34.4-71.4 73.4C26.4 177.5 0 216.5 0 257.5 0 307.7 40.7 352 90.9 352H243V210.1l-47.9 47.2c-5.1 5-13.3 5-18.4-.1-5-5.1-5-13.3.1-18.4l70-69c1.2-1.1 2.5-2.1 4.1-2.7 1.6-.7 3.3-1 5-1 3.4 0 6.6 1.3 9.1 3.7l70 69c5.1 5 5.2 13.3.1 18.4-5 5.1-13.3 5.2-18.4.1L269 210.1V352h152.1c50.2 0 90.9-44.3 90.9-94.5 0-44.7-32.3-84.1-74.9-91.7zM243 467c0 7.2 5.8 13 13 13s13-5.8 13-13V352h-26v115z"/></svg>PK}w�\̨d��ionicons/svg/ios-mic-off.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M369.8 464c-4.9 0-9.7-2.5-12.3-7L129.9 69.3c-4-6.7-1.7-15.4 5.1-19.3 6.8-3.9 15.5-1.7 19.5 5.1l227.6 387.7c4 6.7 1.7 15.4-5.1 19.3-2.3 1.3-4.8 1.9-7.2 1.9zM320 272V112c0-35.2-28.8-64-64-64-28.4 0-52.6 18.8-60.9 44.5L315 296.8c3.2-7.6 5-16 5-24.8zM192 272c0 35.2 28.8 64 64 64 3.9 0 7.6-.4 11.3-1L192 206.6V272zM366 275v-69c0-7.7-6.3-14-14-14s-14 6.3-14 14v69c0 15.2-4.2 29.4-11.4 41.6l15.6 26.6c14.9-18.7 23.8-42.4 23.8-68.2z"/><path d="M256 357c-45.2 0-82-36.8-82-82v-69c0-7.7-6.3-14-14-14s-14 6.3-14 14v69c0 55.9 41.9 102.2 96 109.1V436h-36c-7.7 0-14 6.3-14 14s6.3 14 14 14h100c7.7 0 14-6.3 14-14s-6.3-14-14-14h-36v-51.9c7.9-1 15.6-2.9 22.9-5.5l-14.5-24.8c-7.1 2.1-14.6 3.2-22.4 3.2z"/></svg>PK}w�\��E��ionicons/svg/ios-play.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M128 104.3v303.4c0 6.4 6.5 10.4 11.7 7.2l240.5-151.7c5.1-3.2 5.1-11.1 0-14.3L139.7 97.2c-5.2-3.3-11.7.7-11.7 7.1z"/></svg>PK}w�\XG�ionicons/svg/md-headset.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C150 48 64 136.2 64 245.1v153.3c0 36.3 28.6 65.7 64 65.7h64V288h-85.3v-42.9c0-84.7 66.8-153.3 149.3-153.3s149.3 68.5 149.3 153.3V288H320v176h64c35.4 0 64-29.3 64-65.7V245.1C448 136.2 362 48 256 48z"/></svg>PK}w�\Bz�__ionicons/svg/ios-move.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M475.9 246.2l-79.4-79.4c-5.4-5.4-14.2-5.4-19.6 0l-.2.2c-5.4 5.4-5.4 14.2 0 19.6l54.9 54.9-161.8.5.5-161.8 54.9 54.9c5.4 5.4 14.2 5.4 19.6 0l.2-.2c5.4-5.4 5.4-14.2 0-19.6l-79.4-79.4c-5.4-5.4-14.2-5.4-19.6 0l-79.4 79.4c-5.4 5.4-5.4 14.2 0 19.6l.2.2c5.4 5.4 14.2 5.4 19.6 0l54.9-54.9.5 161.8-161.8-.5 54.9-54.9c5.4-5.4 5.4-14.2 0-19.6l-.2-.2c-5.4-5.4-14.2-5.4-19.6 0l-79.4 79.4c-5.4 5.4-5.4 14.2 0 19.6l79.4 79.4c5.4 5.4 14.2 5.4 19.6 0l.2-.2c5.4-5.4 5.4-14.2 0-19.6L80 270.5l161.8-.5-.5 161.8-54.9-54.9c-5.4-5.4-14.2-5.4-19.6 0l-.2.2c-5.4 5.4-5.4 14.2 0 19.6l79.4 79.4c5.4 5.4 14.2 5.4 19.6 0l79.4-79.4c5.4-5.4 5.4-14.2 0-19.6l-.2-.2c-5.4-5.4-14.2-5.4-19.6 0l-54.9 54.9-.5-161.8 161.8.5-54.9 54.9c-5.4 5.4-5.4 14.2 0 19.6l.2.2c5.4 5.4 14.2 5.4 19.6 0l79.4-79.4c5.5-5.4 5.5-14.2 0-19.6z"/></svg>PK}w�\���ionicons/svg/logo-yahoo.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M384.6 68.4c-11.3 0-22.5-.8-32.6-4.4l-96 160-96-160c-10.1 3.6-20.7 4.4-32 4.4-11.1 0-22.1-.9-32-4.4l128 212.7V448c10-3.5 20.8-4.4 32-4.4s22 .9 32 4.4V277L416 64c-9.9 3.4-20.3 4.4-31.4 4.4z"/></svg>PK}w�\�&���ionicons/svg/ios-stopwatch.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M415.9 143.7c3.1 3.1 8.2 3.1 11.3 0l11.3-11.3c3.1-3.1 3.1-8.2 0-11.3L413 95.6c-3.1-3.1-8.2-3.1-11.3 0l-11.3 11.3c-3.1 3.1-3.1 8.2 0 11.3l25.5 25.5zM84.8 143.7c3.1 3.1 8.2 3.1 11.3 0l25.5-25.5c3.1-3.1 3.1-8.2 0-11.3l-11.3-11.3c-3.1-3.1-8.2-3.1-11.3 0L73.5 121c-3.1 3.1-3.1 8.2 0 11.3l11.3 11.4z"/><path d="M280 81.5V64c0-8.8-7.2-16-16-16h-16c-8.8 0-16 7.2-16 16v17.5C137.3 93.3 64 174.1 64 272c0 106 86 192 192 192s192-86 192-192c0-97.9-73.3-178.7-168-190.5zm-10 219.3V320c0 7.7-6.3 14-14 14s-14-6.3-14-14v-19.2c-10.7-5.2-18-16.1-18-28.8s7.3-23.6 18-28.8V144c0-7.7 6.3-14 14-14s14 6.3 14 14v99.2c10.7 5.2 18 16.1 18 28.8s-7.3 23.6-18 28.8z"/></svg>PK}w�\��K��!ionicons/svg/md-cloud-outline.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M403.001 217.001C388.997 148.002 328.998 96 256 96c-57.998 0-107.999 32.998-132.997 81C63.002 183.002 16 233.998 16 296c0 65.996 54.004 120 120 120h260c55 0 100-45 100-100.001 0-52.997-40.997-95.999-92.999-98.998zM396 376H136c-44.004 0-80-35.996-80-80 0-44 35.996-80 80-80h14.004c12.998-46 55-80 105.996-80 60.996 0 110 49 110 110v10h30c32.998 0 60 27.003 60 60 0 32.998-27.002 60-60 60z"/></svg>PK}w�\5?�2��ionicons/svg/logo-octocat.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M178.4 287.5c-9.1 0-16.9 4.2-23.2 12.8-6.3 8.5-9.4 19-9.4 31.4 0 12.5 3.2 23 9.4 31.5 6.3 8.5 14 12.8 23.2 12.8 8.5 0 15.9-4.3 22.1-12.8 6.3-8.5 9.4-19 9.4-31.5 0-12.4-3.2-22.9-9.4-31.4-6.3-8.6-13.6-12.8-22.1-12.8zM334.7 287.5c-9 0-16.9 4.2-23.2 12.8-6.3 8.5-9.4 19-9.4 31.4 0 12.5 3.2 23 9.4 31.5 6.3 8.5 14.1 12.8 23.2 12.8 8.5 0 15.9-4.3 22.2-12.8 6.3-8.5 9.4-19 9.4-31.5 0-12.4-3.2-22.9-9.4-31.4-6.3-8.6-13.6-12.8-22.2-12.8z"/><path d="M445.8 172c-.1 0 2.7-14.3.3-39.2-2.2-24.9-7.5-47.8-16.1-68.8 0 0-4.4.8-12.8 2.9s-22.1 6.3-40.9 14.8c-18.5 8.5-38 19.8-58.3 33.5-13.8-3.9-34.4-5.9-62-5.9-26.3 0-46.9 2-62 5.9-44.6-30.9-81.9-48-112.1-51.2-8.6 21-13.9 44-16 69-2.4 24.9.4 39.3.4 39.3C42 198.6 32 236.5 32 267.8c0 24.2.7 46.1 6.1 65.5 5.6 19.3 12.7 35.1 21.1 47.2 8.6 12.1 19 22.8 31.6 31.9 12.5 9.3 24 16 34.4 20.2 10.5 4.4 22.4 7.6 36 9.9 13.3 2.4 23.4 3.6 30.5 4 0 0 28 1.5 64.4 1.5s64.3-1.5 64.3-1.5c7-.4 17.1-1.6 30.5-4 13.5-2.3 25.5-5.6 35.9-9.9 10.4-4.3 21.9-10.9 34.5-20.2 12.5-9 22.9-19.7 31.5-31.9 8.4-12.1 15.5-27.9 21.1-47.2 5.5-19.4 6.1-41.4 6.1-65.6 0-30.3-10-68.7-34.2-95.7zm-65.4 233.6c-27.9 13.1-68.9 18.4-123.3 18.4H255c-54.4 0-95.4-5.2-122.8-18.4-27.5-13.1-41.3-40.1-41.3-80.7 0-24.3 8.6-44 25.5-59.1 7.4-6.5 16.4-11 27.6-13.7 11.1-2.6 21.4-2.8 31-2.5 9.4.4 22.6 2.2 39.3 3.5 16.8 1.3 29.3 3 41.8 3 11.7 0 27.2-2 52.1-4 25-2 43.5-3 55.5-1 12.3 2 23 6.2 32.1 14.7 17.7 15.8 26.6 35.5 26.6 59.1-.1 40.6-14.2 67.6-42 80.7z"/></svg>PK}w�\wЬ�&&ionicons/svg/ios-pause.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M199.9 416h-63.8c-4.5 0-8.1-3.6-8.1-8V104c0-4.4 3.6-8 8.1-8h63.8c4.5 0 8.1 3.6 8.1 8v304c0 4.4-3.6 8-8.1 8zM375.9 416h-63.8c-4.5 0-8.1-3.6-8.1-8V104c0-4.4 3.6-8 8.1-8h63.8c4.5 0 8.1 3.6 8.1 8v304c0 4.4-3.6 8-8.1 8z"/></svg>PK}w�\�E���ionicons/svg/ios-bookmark.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M128 80v380c0 3.3 3.8 5.2 6.4 3.2l116.8-92c2.9-2.1 6.8-2.1 9.6 0l116.8 92c2.6 2 6.4.1 6.4-3.2V80c0-17.7-14.3-32-32-32H160c-17.7 0-32 14.3-32 32z"/></svg>PK}w�\;QG̩�ionicons/svg/ios-resize.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M418.3 80H307.8c-7.5 0-13.7 6.1-13.7 13.7v.2c0 7.5 6.1 13.7 13.7 13.7h76.5L107.6 384.3v-76.5c0-7.5-6.1-13.7-13.7-13.7h-.2c-7.5 0-13.7 6.1-13.7 13.7v110.5c0 7.5 6.1 13.7 13.7 13.7h110.5c7.5 0 13.7-6.1 13.7-13.7v-.2c0-7.5-6.1-13.7-13.7-13.7h-76.5l276.7-276.7v76.5c0 7.5 6.1 13.7 13.7 13.7h.2c7.5 0 13.7-6.1 13.7-13.7V93.7c0-7.6-6.1-13.7-13.7-13.7z"/></svg>PK}w�\�s'�EEionicons/svg/md-pin.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 32c-88.004 0-160 70.557-160 156.801C96 306.4 256 480 256 480s160-173.6 160-291.199C416 102.557 344.004 32 256 32zm0 212.801c-31.996 0-57.144-24.645-57.144-56 0-31.357 25.147-56 57.144-56s57.144 24.643 57.144 56c0 31.355-25.148 56-57.144 56z"/></svg>PK}w�\�oiionicons/svg/md-infinite.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M434.7 188c-18.8-18-43.8-28-70.5-28-26.6 0-51.6 9.9-70.4 27.9l-17.6 15.9 33.1 32.1 17-15.4.1-.1c10.1-9.6 23.5-15 37.7-15 14.2 0 27.6 5.3 37.7 14.9 10 9.6 15.4 22.3 15.4 35.8 0 13.5-5.5 26.1-15.4 35.6-10.1 9.6-23.5 15-37.7 15s-27.6-5.3-37.7-14.9L218.2 188c-18.9-18-43.9-28-70.4-28-26.7 0-51.7 9.9-70.5 28C58.4 206.1 48 230.2 48 256c0 25.7 10.4 49.9 29.3 68 18.8 18 43.8 28 70.5 28 26.7 0 51.7-9.9 70.4-28l37.8-36.1 37.7 36.1c18.9 18 43.9 28 70.4 28 26.7 0 51.7-9.9 70.4-27.9 19-18.1 29.4-42.2 29.4-68 .1-25.8-10.3-50-29.2-68.1zM185.5 291.7c-10.1 9.6-23.5 15-37.7 15-14.2 0-27.6-5.3-37.7-14.9-10-9.6-15.4-22.3-15.4-35.8 0-13.5 5.5-26.1 15.4-35.6 10.1-9.6 23.5-15 37.7-15 14.2 0 27.6 5.3 37.7 14.9l37.4 35.8-37.4 35.6z"/></svg>PK}w�\[�EY>>ionicons/svg/logo-xing.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M313.8 303.9L469 32H365L209.4 303.8c-.4.7-.4 1.1 0 1.7l98.9 173.8c.4.7.8.7 1.6.7H413l-99.3-174.7c-.2-.3-.1-1 .1-1.4zM221.9 216.2L163 113c-.5-.8-1-1-2-1H65l58.9 104.4c.1.2.2.6.1.8L43 352h96.8c.8 0 1.2-.2 1.6-.9l80.5-133.7c.1-.3.1-.9 0-1.2z"/></svg>PK}w�\o��\��ionicons/svg/md-cube.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M467.3 168.1c-1.8 0-3.5.3-5.1 1l-177.6 92.1h-.1c-7.6 4.7-12.5 12.5-12.5 21.4v185.9c0 6.4 5.6 11.5 12.7 11.5 2.2 0 4.3-.5 6.1-1.4.2-.1.4-.2.5-.3L466 385.6l.3-.1c8.2-4.5 13.7-12.7 13.7-22.1V179.6c0-6.4-5.7-11.5-12.7-11.5zM454.3 118.5L272.6 36.8S261.9 32 256 32c-5.9 0-16.5 4.8-16.5 4.8L57.6 118.5s-8 3.3-8 9.5c0 6.6 8.3 11.5 8.3 11.5l185.5 97.8c3.8 1.7 8.1 2.6 12.6 2.6 4.6 0 8.9-1 12.7-2.7l185.4-97.9s7.5-4 7.5-11.5c.1-6.3-7.3-9.3-7.3-9.3zM227.5 261.2L49.8 169c-1.5-.6-3.3-1-5.1-1-7 0-12.7 5.1-12.7 11.5v183.8c0 9.4 5.5 17.6 13.7 22.1l.2.1 174.7 92.7c1.9 1.1 4.2 1.7 6.6 1.7 7 0 12.7-5.2 12.7-11.5V282.6c.1-8.9-4.9-16.8-12.4-21.4z"/></svg>PK}w�\kF8�ffionicons/svg/md-cellular.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M64 448h384V64L64 448z"/></svg>PK}w�\z3P'��ionicons/svg/md-wifi.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 228.719c-22.879 0-41.597 18.529-41.597 41.18 0 22.652 18.718 41.182 41.597 41.182 22.878 0 41.597-18.529 41.597-41.182 0-22.651-18.719-41.18-41.597-41.18zm124.8 41.179c0-67.946-56.163-123.539-124.8-123.539s-124.8 55.593-124.8 123.539c0 45.303 24.961 85.447 62.396 107.072l20.807-36.032c-24.972-14.417-41.604-40.153-41.604-71.04 0-45.295 37.433-82.358 83.201-82.358 45.771 0 83.201 37.063 83.201 82.358 0 30.887-16.633 56.623-41.604 71.04l20.807 36.032c37.433-21.624 62.396-61.769 62.396-107.072zM256 64C141.597 64 48 156.654 48 269.898 48 346.085 89.592 411.968 152 448l20.799-36.032c-49.919-28.824-83.207-81.324-83.207-142.069 0-90.593 74.891-164.718 166.408-164.718 91.517 0 166.406 74.125 166.406 164.718 0 60.745-33.284 114.271-83.205 142.069L360 448c62.406-36.032 104-101.915 104-178.102C464 156.654 370.403 64 256 64z"/></svg>PK}w�\7<.ҳ�ionicons/svg/md-arrow-up.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M277.375 427V167.296l119.702 119.702L427 256 256 85 85 256l29.924 29.922 119.701-118.626V427h42.75z"/></svg>PK}w�\j��==ionicons/svg/md-build.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M474.1 398.2L289.1 212c18.3-47 8.1-102.3-30.5-141.1C217.9 30 156.9 21.8 108.1 44.3l87.4 88-61 61.4-89.5-88c-24.3 49-14.1 110.4 26.5 151.3 38.6 38.9 93.5 49.1 140.3 30.7l185 186.2c8.1 8.2 20.3 8.2 28.5 0l46.8-47c10.2-8.3 10.2-22.6 2-28.7z"/></svg>PK}w�\"˫�[[ionicons/svg/ios-camera.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><circle cx="256" cy="275" r="57.5"/><path d="M417.5 160H363c-4.6 0-8.9-2-12-5.4-28.4-31.8-39.1-42.6-50.7-42.6h-85.5c-11.7 0-23.2 10.8-51.7 42.7-3 3.4-7.4 5.3-11.9 5.3h-4.1v-8c0-4.4-3.6-8-8-8h-26c-4.4 0-8 3.6-8 8v8h-7.5C79.9 160 64 173.2 64 190.7v176c0 17.5 15.9 33.3 33.5 33.3h320c17.6 0 30.5-15.8 30.5-33.3v-176c0-17.5-12.9-30.7-30.5-30.7zM260 360.4c-50.3 2.3-91.7-39.1-89.4-89.4 2-43.9 37.5-79.4 81.4-81.4 50.3-2.3 91.7 39.1 89.4 89.4-2 43.9-37.5 79.4-81.4 81.4zM352 218c-7.2 0-13-5.8-13-13s5.8-13 13-13 13 5.8 13 13-5.8 13-13 13z"/></svg>PK}w�\�z(��ionicons/svg/ios-mail.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M460.6 147.3L353 256.9c-.8.8-.8 2 0 2.8l75.3 80.2c5.1 5.1 5.1 13.3 0 18.4-2.5 2.5-5.9 3.8-9.2 3.8s-6.7-1.3-9.2-3.8l-75-79.9c-.8-.8-2.1-.8-2.9 0L313.7 297c-15.3 15.5-35.6 24.1-57.4 24.2-22.1.1-43.1-9.2-58.6-24.9l-17.6-17.9c-.8-.8-2.1-.8-2.9 0l-75 79.9c-2.5 2.5-5.9 3.8-9.2 3.8s-6.7-1.3-9.2-3.8c-5.1-5.1-5.1-13.3 0-18.4l75.3-80.2c.7-.8.7-2 0-2.8L51.4 147.3c-1.3-1.3-3.4-.4-3.4 1.4V368c0 17.6 14.4 32 32 32h352c17.6 0 32-14.4 32-32V148.7c0-1.8-2.2-2.6-3.4-1.4z"/><path d="M256 295.1c14.8 0 28.7-5.8 39.1-16.4L452 119c-5.5-4.4-12.3-7-19.8-7H79.9c-7.5 0-14.4 2.6-19.8 7L217 278.7c10.3 10.5 24.2 16.4 39 16.4z"/></svg>PK}w�\�d)N""'ionicons/svg/ios-information-circle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zm19 304h-38.2V207.9H275V352zm-19.1-159.8c-11.3 0-20.5-8.6-20.5-20s9.3-19.9 20.5-19.9c11.4 0 20.7 8.5 20.7 19.9s-9.3 20-20.7 20z"/></svg>PK}w�\J�ionicons/svg/logo-pinterest.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 32C132.3 32 32 132.3 32 256c0 91.7 55.2 170.5 134.1 205.2-.6-15.6-.1-34.4 3.9-51.4 4.3-18.2 28.8-122.1 28.8-122.1s-7.2-14.3-7.2-35.4c0-33.2 19.2-58 43.2-58 20.4 0 30.2 15.3 30.2 33.6 0 20.5-13.1 51.1-19.8 79.5-5.6 23.8 11.9 43.1 35.4 43.1 42.4 0 71-54.5 71-119.1 0-49.1-33.1-85.8-93.2-85.8-67.9 0-110.3 50.7-110.3 107.3 0 19.5 5.8 33.3 14.8 43.9 4.1 4.9 4.7 6.9 3.2 12.5-1.1 4.1-3.5 14-4.6 18-1.5 5.7-6.1 7.7-11.2 5.6-31.3-12.8-45.9-47-45.9-85.6 0-63.6 53.7-139.9 160.1-139.9 85.5 0 141.8 61.9 141.8 128.3 0 87.9-48.9 153.5-120.9 153.5-24.2 0-46.9-13.1-54.7-27.9 0 0-13 51.6-15.8 61.6-4.7 17.3-14 34.5-22.5 48 20.1 5.9 41.4 9.2 63.5 9.2 123.7 0 224-100.3 224-224C480 132.3 379.7 32 256 32z"/></svg>PK}w�\�&�6PP(ionicons/svg/ios-arrow-round-forward.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M295.6 163.7c-5.1 5-5.1 13.3-.1 18.4l60.8 60.9H124.9c-7.1 0-12.9 5.8-12.9 13s5.8 13 12.9 13h231.3l-60.8 60.9c-5 5.1-4.9 13.3.1 18.4 5.1 5 13.2 5 18.3-.1l82.4-83c1.1-1.2 2-2.5 2.7-4.1.7-1.6 1-3.3 1-5 0-3.4-1.3-6.6-3.7-9.1l-82.4-83c-4.9-5.2-13.1-5.3-18.2-.3z"/></svg>PK}w�\f[����ionicons/svg/md-bug.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M448 160h-67.4c-10.8-18.7-25.7-34.8-43.7-47L376 73.8 342.2 40l-52.1 52.1C279 89.4 267.8 88 256 88s-23 1.4-33.8 4.1L169.8 40 136 73.8l38.9 39.1c-17.8 12.2-32.6 28.3-43.4 47H64v48h50.2c-1.2 7.9-2.2 15.8-2.2 24v24H64v48h48v24c0 8.2 1 16.1 2.2 24H64v48h67.4c25 43 71.3 72 124.6 72s99.6-29 124.6-72H448v-48h-50.2c1.2-7.9 2.2-15.8 2.2-24v-24h48v-48h-48v-24c0-8.2-1-16.1-2.2-24H448V160z"/></svg>PK}w�\HT ���ionicons/svg/md-redo.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M32 337.2L83.8 352c22.9-69.7 88.7-117.8 166-117.8 42.8 0 81.5 15.7 111.8 41.1L282.5 352H480V160l-79.6 76.3c-40.4-35.2-92.8-56.8-150.7-56.8-101.5.1-187.3 66.2-217.7 157.7z"/></svg>PK}w�\�Ȓ�� ionicons/svg/ios-speedometer.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 64C132.3 64 32 164.2 32 287.9c0 57 21.3 109 56.3 148.5 1.1 1.2 2.1 2.4 3.2 3.5C96.3 445 103 448 110 448c7.1 0 13.8-3 18.6-8.2 31.6-34.4 77-55.9 127.4-55.9s95.8 21.6 127.4 55.9c4.8 5.2 11.5 8.2 18.6 8.2 7 0 13.7-2.9 18.5-8.1 1.1-1.2 2.1-2.3 3.2-3.5 35-39.5 56.3-91.5 56.3-148.5C480 164.2 379.7 64 256 64zm-14 45.9c0-7.7 6.3-14 14-14s14 6.3 14 14v36c0 7.7-6.3 14-14 14s-14-6.3-14-14v-36zm-128 192H78c-7.7 0-14-6.3-14-14s6.3-14 14-14h36c7.7 0 14 6.3 14 14s-6.3 14-14 14zm51.5-104.5c-5.4 5.4-14.4 5.4-19.8 0L120.2 172c-5.4-5.4-5.4-14.4 0-19.8s14.4-5.4 19.8 0l25.5 25.5c5.4 5.4 5.4 14.3 0 19.7zm160.6 34.5l-47.5 75.5c-1.9 2.6-4.3 5.1-7 7-13.5 9.7-32.3 6.5-42-7s-6.5-32.3 7-42l75.5-47.5c3.4-2.4 8.1-2.5 11.7 0 4.5 3.2 5.5 9.5 2.3 14zm40.2-34.5c-5.4 5.4-14.4 5.4-19.8 0s-5.4-14.4 0-19.8l25.5-25.5c5.4-5.4 14.4-5.4 19.8 0s5.4 14.4 0 19.8l-25.5 25.5zM434 301.9h-36c-7.7 0-14-6.3-14-14s6.3-14 14-14h36c7.7 0 14 6.3 14 14s-6.3 14-14 14z"/></svg>PK}w�\��,���ionicons/svg/md-resize.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M297.6 48l64.9 64.9-249.6 249.6L48 297.6V464h166.4l-64.9-64.9 249.6-249.6 64.9 64.9V48z"/></svg>PK}w�\P��((!ionicons/svg/md-code-download.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M234.6 160v125.7l-44.7-43.6L160 272l96 96 96-96-29.9-31-44.7 44.7V160h-42.8z"/><path d="M190.4 354.1L91.9 256l98.4-98.1-30-29.9L32 256l128.4 128 30-29.9zm131.2 0L420 256l-98.4-98.1 30-29.9L480 256 351.6 384l-30-29.9z"/></svg>PK}w�\)���ionicons/svg/md-sunny.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M277.3 32h-42.7v64h42.7V32zm129.1 43.7L368 114.1l29.9 29.9 38.4-38.4-29.9-29.9zm-300.8 0l-29.9 29.9 38.4 38.4 29.9-29.9-38.4-38.4zM256 128c-70.4 0-128 57.6-128 128s57.6 128 128 128 128-57.6 128-128-57.6-128-128-128zm224 106.7h-64v42.7h64v-42.7zm-384 0H32v42.7h64v-42.7zM397.9 368L368 397.9l38.4 38.4 29.9-29.9-38.4-38.4zm-283.8 0l-38.4 38.4 29.9 29.9 38.4-38.4-29.9-29.9zm163.2 48h-42.7v64h42.7v-64z"/></svg>PK}w�\}l���ionicons/svg/md-git-compare.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M192 382h-22c-24.6 0-29-3.6-33.8-9.6-5.5-6.9-8.2-19.1-8.2-54.2V151.4c19.1-11.1 32-31.7 32-55.4 0-35.3-28.7-64-64-64S32 60.7 32 96c0 23.7 12.9 44.3 32 55.4v166.8c0 46.4 3.7 70.8 22.1 94 19.9 25.1 45 35.8 83.9 35.8h22v64l96-96-96-96v62zM96 56c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40zM448 360.6V190.8c0-46.4-3.7-70.8-22.1-94C406 71.7 380.9 62 342 62h-22V0l-96 96 96 96v-64h22c24.6 0 29 2.6 33.8 8.6 5.5 6.9 8.2 19.1 8.2 54.2v169.8c-19.1 11.1-32 31.7-32 55.4 0 35.3 28.7 64 64 64s64-28.7 64-64c0-23.7-12.9-44.3-32-55.4zM416 456c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40z"/></svg>PK}w�\��X�ggionicons/svg/ios-gift.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M432 136h-84.3c12.4-11 20.3-26.6 20.3-44 0-33.1-28.3-60-63.1-60-20.6 0-37.9 9.7-48.9 27.4C245 41.7 227.7 32 207.1 32 172.3 32 144 58.9 144 92c0 17.4 7.8 33 20.3 44H80c-17.7 0-32 14.3-32 32v20c0 2.2 1.8 4 4 4h408c2.2 0 4-1.8 4-4v-20c0-17.7-14.3-32-32-32zM304.9 60c18.6 0 33.7 14.3 33.7 32s-15.1 32-33.7 32h-33.7c0-48 15.1-64 33.7-64zm-97.8 0c18.6 0 33.7 16 33.7 64h-33.7c-18.6 0-33.7-14.3-33.7-32s15.1-32 33.7-32zM64 226v222c0 17.6 14.4 32 32 32h146V218H72c-4.4 0-8 3.6-8 8zM440 218H270v262h146c17.6 0 32-14.4 32-32V226c0-4.4-3.6-8-8-8z"/></svg>PK}w�\L��k��ionicons/svg/ios-navigate.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zm0 336V256H128.3L352 160l-96 224z"/></svg>PK}w�\-�VFllionicons/svg/md-locate.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 176c-44.004 0-80.001 36-80.001 80 0 44.004 35.997 80 80.001 80 44.005 0 79.999-35.996 79.999-80 0-44-35.994-80-79.999-80zm190.938 58.667c-9.605-88.531-81.074-160-169.605-169.599V32h-42.666v33.067c-88.531 9.599-160 81.068-169.604 169.599H32v42.667h33.062c9.604 88.531 81.072 160 169.604 169.604V480h42.666v-33.062c88.531-9.604 160-81.073 169.605-169.604H480v-42.667h-33.062zM256 405.333c-82.137 0-149.334-67.198-149.334-149.333 0-82.136 67.197-149.333 149.334-149.333 82.135 0 149.332 67.198 149.332 149.333S338.135 405.333 256 405.333z"/></svg>PK}w�\����ionicons/svg/md-document.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M288 48H136c-22.092 0-40 17.908-40 40v336c0 22.092 17.908 40 40 40h240c22.092 0 40-17.908 40-40V176L288 48zm-16 144V80l112 112H272z"/></svg>PK}w�\7���++$ionicons/svg/md-radio-button-off.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.601 48 48 141.601 48 256s93.601 208 208 208 208-93.601 208-208S370.399 48 256 48zm0 374.399c-91.518 0-166.399-74.882-166.399-166.399S164.482 89.6 256 89.6 422.4 164.482 422.4 256 347.518 422.399 256 422.399z"/></svg>PK}w�\� �Q�� ionicons/svg/logo-foursquare.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M376.764 32H138.541C105.666 32 96 56.798 96 72.414v379.64c0 17.591 9.425 24.117 14.718 26.267 5.299 2.155 19.916 3.971 28.673-6.168 0 0 112.469-130.895 114.4-132.834 2.921-2.93 2.921-2.93 5.844-2.93h72.767c30.574 0 35.49-21.869 38.684-34.752 2.659-10.789 32.489-163.962 42.452-212.559C421.143 51.993 411.745 32 376.764 32zm-5.678 269.637c2.659-10.789 32.489-163.962 42.452-212.559m-50.846 7.592l-9.999 51.734c-1.195 5.65-8.287 11.595-14.863 11.595h-95.917C231.473 160 224 166.138 224 176.602v13.448c0 10.473 7.519 17.894 17.965 17.894h81.848c7.374 0 14.61 8.109 13.016 16.005-1.602 7.908-9.086 46.569-9.984 50.89-.902 4.328-5.845 11.725-14.611 11.725h-64.269c-11.705 0-15.244 1.533-23.074 11.293-7.837 9.77-78.256 94.592-78.256 94.592-.713.822-1.41.584-1.41-.312V95.896c0-6.684 5.793-14.523 14.479-14.523h191.173c7.035-.001 13.611 6.631 11.815 15.297z"/></svg>PK}w�\�$����ionicons/svg/md-expand.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M396.795 396.8H320V448h128V320h-51.205zM396.8 115.205V192H448V64H320v51.205zM115.205 115.2H192V64H64v128h51.205zM115.2 396.795V320H64v128h128v-51.205z"/></svg>PK}w�\xr ��,ionicons/svg/md-checkmark-circle-outline.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M170.718 216.482L141.6 245.6l93.6 93.6 208-208-29.118-29.118L235.2 279.918l-64.482-63.436zM422.4 256c0 91.518-74.883 166.4-166.4 166.4S89.6 347.518 89.6 256 164.482 89.6 256 89.6c15.6 0 31.2 2.082 45.764 6.241L334 63.6C310.082 53.2 284.082 48 256 48 141.6 48 48 141.6 48 256s93.6 208 208 208 208-93.6 208-208h-41.6z"/></svg>PK}w�\�ՈF��*ionicons/svg/ios-notifications-outline.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M289.7 403c-6.1 0-11.4 4.2-12.7 10.2-1 4.5-2.7 8.2-5 10.9-1.3 1.5-5.1 5.9-16.1 5.9-11 0-14.8-4.5-16.1-5.9-2.3-2.7-4-6.4-5-10.9-1.3-6-6.6-10.2-12.7-10.2-8.4 0-14.5 7.8-12.7 15.9 5 22.3 21 37.1 46.5 37.1s41.5-14.7 46.5-37.1c1.8-8.1-4.4-15.9-12.7-15.9zM412 352.2c-15.4-20.3-45.7-32.2-45.7-123.1 0-93.3-41.2-130.8-79.6-139.8-3.6-.9-6.2-2.1-6.2-5.9v-2.9c0-13.3-10.8-24.6-24-24.6h-.6c-13.2 0-24 11.3-24 24.6v2.9c0 3.7-2.6 5-6.2 5.9-38.5 9.1-79.6 46.5-79.6 139.8 0 90.9-30.3 102.7-45.7 123.1-9.9 13.1-.5 31.8 15.9 31.8h280.1c16.1 0 25.4-18.8 15.6-31.8zm-39 5.8H139.8c-3.8 0-5.8-4.4-3.3-7.3 7-8 14.7-18.5 21-33.4 9.6-22.6 14.3-51.5 14.3-88.2 0-37.3 7-66.5 20.9-86.8 12.4-18.2 27.9-25.1 38.7-27.6 8.4-2 14.4-5.8 18.6-10.5 3.2-3.6 8.7-3.8 11.9-.2 5.1 5.7 12 9.1 18.8 10.7 10.8 2.5 26.3 9.4 38.7 27.6 13.9 20.3 20.9 49.5 20.9 86.8 0 36.7 4.7 65.6 14.3 88.2 6.5 15.2 14.4 25.9 21.5 33.9 2.2 2.7.4 6.8-3.1 6.8z"/></svg>PK}w�\{��F��ionicons/svg/ios-rose.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M416 141.1c-18.9 3.9-36.8 8.2-53.7 12.8-40.5 11-75.5 24.9-105.4 38.2-19.3 8.6-26.2 12.4-51.5 25.9C147 248.9 112 289 112 349c0 67.8 55.6 115 144 115s144-51.2 144-119c0-67.7-61-114.7 16-203.9zM135.4 241.8c12.8-10.5 31.2-23.9 56.1-38.4 6.4-3.8 13.3-7.6 20.6-11.4 11.6-6.1 23.5-11.9 35.8-17.4-9.1-10.1-22.1-19.1-36.6-27C162.6 121.1 96 107.4 96 107.4c41.5 43.7 44.6 96.5 39.4 134.4zM352 77.7s-73.8-.9-125.8 55c0 0 27.7 17.3 42.7 32.3 37.2-15.6 82.3-28.6 115.2-36-6.5-21.7-32.1-51.3-32.1-51.3zM239.7 97C210.3 59.5 176 48 176 48c-15.3 20.8-24.3 38-29 51.7 21.1 5.9 36.5 12.3 62.4 24.7 9.5-10.6 18.1-19.1 30.3-27.4z"/></svg>PK}w�\�����ionicons/svg/md-body.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48c22 0 40 18 40 40s-18 40-40 40-40-18-40-40 18-40 40-40zm192 144.1H320V464h-42.7V320h-42.7v144H192V192.1H64v-42.7h384v42.7z"/></svg>PK}w�\��0�XXionicons/svg/logo-whatsapp.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M260.062 32C138.605 32 40.134 129.701 40.134 250.232c0 41.23 11.532 79.79 31.559 112.687L32 480l121.764-38.682c31.508 17.285 67.745 27.146 106.298 27.146C381.535 468.464 480 370.749 480 250.232 480 129.701 381.535 32 260.062 32zm109.362 301.11c-5.174 12.827-28.574 24.533-38.899 25.072-10.314.547-10.608 7.994-66.84-16.434-56.225-24.434-90.052-83.844-92.719-87.67-2.669-3.812-21.78-31.047-20.749-58.455 1.038-27.413 16.047-40.346 21.404-45.725 5.351-5.387 11.486-6.352 15.232-6.413 4.428-.072 7.296-.132 10.573-.011 3.274.124 8.192-.685 12.45 10.639 4.256 11.323 14.443 39.153 15.746 41.989 1.302 2.839 2.108 6.126.102 9.771-2.012 3.653-3.042 5.935-5.961 9.083-2.935 3.148-6.174 7.042-8.792 9.449-2.92 2.665-5.97 5.572-2.9 11.269 3.068 5.693 13.653 24.356 29.779 39.736 20.725 19.771 38.598 26.329 44.098 29.317 5.515 3.004 8.806 2.67 12.226-.929 3.404-3.599 14.639-15.746 18.596-21.169 3.955-5.438 7.661-4.373 12.742-2.329 5.078 2.052 32.157 16.556 37.673 19.551 5.51 2.989 9.193 4.529 10.51 6.9 1.317 2.38.901 13.531-4.271 26.359z"/></svg>PK}w�\�(<�kkionicons/svg/logo-chrome.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M188.8 255.925c0 36.946 30.243 67.178 67.2 67.178s67.199-30.231 67.199-67.178c0-36.945-30.242-67.179-67.199-67.179s-67.2 30.234-67.2 67.179z"/><path d="M476.752 217.795c-.009.005-.016.038-.024.042-1.701-9.877-4.04-19.838-6.989-28.838h-.107c2.983 9 5.352 19 7.072 29h-.002c-1.719-10-4.088-20-7.07-29h-155.39c19.044 17 31.358 40.175 31.358 67.052 0 16.796-4.484 31.284-12.314 44.724L231.044 478.452s-.009.264-.014.264l-.01.284h.015l-.005-.262c8.203.92 16.531 1.262 24.97 1.262 6.842 0 13.609-.393 20.299-1.002a223.86 223.86 0 0 0 29.777-4.733C405.68 451.525 480 362.404 480 255.941c0-12.999-1.121-25.753-3.248-38.146z"/><path d="M256 345.496c-33.601 0-61.601-17.91-77.285-44.785L76.006 123.047l-.137-.236a223.516 223.516 0 0 0-25.903 45.123C38.407 194.945 32 224.686 32 255.925c0 62.695 25.784 119.36 67.316 160.009 29.342 28.719 66.545 49.433 108.088 58.619l.029-.051 77.683-134.604c-8.959 3.358-19.031 5.598-29.116 5.598z"/><path d="M91.292 104.575l77.35 133.25C176.483 197.513 212.315 166 256 166h205.172c-6.921-15-15.594-30.324-25.779-43.938.039.021.078.053.117.074C445.644 135.712 454.278 151 461.172 166h.172c-6.884-15-15.514-30.38-25.668-43.99-.115-.06-.229-.168-.342-.257C394.475 67.267 329.359 32 256 32c-26.372 0-51.673 4.569-75.172 12.936-34.615 12.327-65.303 32.917-89.687 59.406l.142.243.009-.01z"/></svg>PK}w�\�D*�JJionicons/svg/ios-add.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M368.5 240H272v-96.5c0-8.8-7.2-16-16-16s-16 7.2-16 16V240h-96.5c-8.8 0-16 7.2-16 16 0 4.4 1.8 8.4 4.7 11.3 2.9 2.9 6.9 4.7 11.3 4.7H240v96.5c0 4.4 1.8 8.4 4.7 11.3 2.9 2.9 6.9 4.7 11.3 4.7 8.8 0 16-7.2 16-16V272h96.5c8.8 0 16-7.2 16-16s-7.2-16-16-16z"/></svg>PK}w�\�� gww"ionicons/svg/ios-musical-notes.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M406.3 48.2c-4.7.9-202 39.2-206.2 40-4.2.8-8.1 3.6-8.1 8v240.1c0 1.6-.1 7.2-2.4 11.7-3.1 5.9-8.5 10.2-16.1 12.7-3.3 1.1-7.8 2.1-13.1 3.3-24.1 5.4-64.4 14.6-64.4 51.8 0 31.1 22.4 45.1 41.7 47.5 2.1.3 4.5.7 7.1.7 6.7 0 36-3.3 51.2-13.2 11-7.2 24.1-21.4 24.1-47.8V190.5c0-3.8 2.7-7.1 6.4-7.8l152-30.7c5-1 9.6 2.8 9.6 7.8v130.9c0 4.1-.2 8.9-2.5 13.4-3.1 5.9-8.5 10.2-16.2 12.7-3.3 1.1-8.8 2.1-14.1 3.3-24.1 5.4-64.4 14.5-64.4 51.7 0 33.7 25.4 47.2 41.8 48.3 6.5.4 11.2.3 19.4-.9s23.5-5.5 36.5-13c17.9-10.3 27.5-26.8 27.5-48.2V55.9c-.1-4.4-3.8-8.9-9.8-7.7z"/></svg>PK}w�\'����ionicons/svg/logo-dribbble.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 64C150 64 64 150 64 256c0 106.1 86 192 192 192s192-85.9 192-192c0-106-86-192-192-192zm121.9 88.5c21.6 25.4 35.3 57.6 37.7 92.9-34.6-1.8-76-1.8-109.2 1.3-4.2-10.6-8.5-21-13.2-31 38.3-16.6 67.8-38.4 84.7-63.2zM256 96c38.8 0 74.4 13.8 102.1 36.8-17.4 22-44.7 41.1-78.7 55.6-18.6-34.4-40-64-62.8-87.3 12.7-3.2 25.8-5.1 39.4-5.1zm-72.4 17.5c23.1 23 44.8 52.3 63.8 86.6-36.1 11-77.5 17.3-121.7 17.3-8.4 0-16.6-.3-24.7-.8 11.5-45.1 42-82.5 82.6-103.1zM96.3 248.4c9.1.4 18.3.6 27.6.5 50.4-.6 97.3-8.5 137.6-21.4 3.8 7.9 7.4 16 10.8 24.3-5.5 1.3-10.4 2.7-14.3 4.3-55.1 23.1-98.5 60.4-122 105.5-24.8-28.2-40-65.1-40-105.6 0-2.6.1-5.1.3-7.6zM256 416c-37 0-71-12.6-98.1-33.7 21.3-42.2 59.3-77.1 107.2-98.8 4.5-2.1 10.5-3.8 17.4-5.3 5.7 15.8 10.8 32.2 15.3 49.2 6.9 26.5 11.8 52.7 14.8 78.1C295 412.2 276 416 256 416zm86.5-25.5c-3-25.7-7.9-52.1-14.9-78.9-3.4-13-7.3-25.6-11.5-37.9 31.4-2.6 69-2.2 98.9 0-5.4 49.1-33 91.3-72.5 116.8z"/></svg>PK}w�\C{z� ionicons/svg/ios-volume-high.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M215.4 145.5c-2.2-1.1-4.6-1.6-6.9-1.6-3.6 0-7.1 1.2-10 3.5L133.3 200H80.5c-8.8 0-16 7.2-16 16v80c0 8.8 7.2 16 16 16h52.8l65.2 52.5c2.9 2.3 6.5 3.5 10 3.5 2.3 0 4.7-.5 6.9-1.6 5.6-2.7 9.1-8.3 9.1-14.4V160c0-6.2-3.5-11.8-9.1-14.5zM447.5 256c0-59.3-23.2-114.8-65.4-156.5-4.7-4.7-12.3-4.6-17 .1-4.7 4.7-4.6 12.3.1 17 37.6 37.1 58.2 86.6 58.2 139.4 0 52.8-20.7 102.3-58.2 139.4-4.7 4.7-4.8 12.3-.1 17 2.3 2.4 5.4 3.6 8.5 3.6 3 0 6.1-1.2 8.4-3.5 42.3-41.6 65.5-97.2 65.5-156.5z"/><path d="M384.9 256c0-43.5-16.6-84.3-46.8-114.9-4.7-4.7-12.3-4.8-17-.1-4.7 4.7-4.8 12.3-.1 17 25.7 26.1 39.9 60.9 39.9 98.1 0 37.2-14.2 72-39.9 98.1-4.7 4.7-4.6 12.3.1 17 2.3 2.3 5.4 3.5 8.4 3.5 3.1 0 6.2-1.2 8.5-3.6 30.2-30.8 46.9-71.6 46.9-115.1z"/><path d="M287.5 182.5c-4.7-4.7-12.3-4.8-17-.1-4.7 4.7-4.8 12.3-.1 17 14.8 15 23 35.1 23 56.6 0 21.4-8.2 41.5-23 56.6-4.7 4.7-4.6 12.3.1 17 2.3 2.3 5.4 3.5 8.4 3.5 3.1 0 6.2-1.2 8.5-3.6 19.3-19.6 29.9-45.6 29.9-73.4.1-27.9-10.5-54-29.8-73.6z"/></svg>PK}w�\0�1��ionicons/svg/ios-at.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M448 234.3c0 74.1-34.7 120.8-89.6 120.8-28.1 0-49.5-15-53.2-37.3h-4c-9.9 23.2-30.3 35.9-57.7 35.9-48.8 0-81.4-39.1-81.4-97.3 0-55.9 32.8-94.8 80.7-94.8 24.6 0 45.5 12.4 54.7 32.7h4v-27.8h39.9v129.3c0 16.1 8.9 25.8 24.9 25.8 27.7 0 45.3-33.6 45.3-85.8 0-83.3-62.4-139-154.6-139-91.2 0-156.2 66.5-156.2 160.6 0 96.2 64.3 157.6 164.4 157.6 19.6 0 39.3-1.7 54.4-4.6 9.8-1.8 18.8 5.6 18.8 15.5 0 7.3-5 13.7-12.1 15.4-18.2 4.3-40.1 6.8-62.7 6.8C141.9 448 64 372.8 64 256.1 64 142.2 143.5 64 259.4 64 370.8 64 448 133.5 448 234.3zm-242.8 23c0 37 17.4 59.4 45.7 59.4 29.8 0 48.6-23 48.6-59.4s-18.8-58.9-48.1-58.9c-29.1 0-46.2 21.8-46.2 58.9z"/></svg>PK}w�\$� ���ionicons/svg/ios-eye-off.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M88.3 68.1c-5.6-5.5-14.6-5.5-20.1.1-5.5 5.5-5.5 14.5 0 20l355.5 355.7c3.7 3.7 9 4.9 13.7 3.6 2.4-.6 4.6-1.9 6.4-3.7 5.5-5.5 5.5-14.5 0-20L88.3 68.1zM260.2 345.9c-53 2.4-96.6-41.2-94.1-94.1.6-12.2 3.6-23.8 8.6-34.3L121.3 164c-27.7 21.4-55.4 48.9-85.1 81.3-5.5 6.1-5.6 15.2-.1 21.3C101 338.3 158.2 400 255.8 400c29.7 0 57.1-7.4 82.3-19.2l-43.5-43.5c-10.6 5-22.2 8-34.4 8.6zM475.8 266c5.3-5.8 5.6-14.6.5-20.7C424 181.8 351.5 112 255.8 112c-29.1 0-56 6.6-82 19l43.7 43.7c10.5-5 22.1-8.1 34.3-8.6 53-2.4 96.6 41.2 94.1 94.1-.6 12.2-3.6 23.8-8.6 34.3l53.5 53.5c33-25.3 61.3-55.9 85-82z"/><path d="M192.2 260.9c2.4 31.3 27.6 56.5 58.9 58.9 8.2.6 16.1-.3 23.4-2.6l-79.8-79.8c-2.2 7.4-3.1 15.3-2.5 23.5zM320 256c0-1.3-.1-2.6-.1-3.9-5.6 2.5-11.7 3.9-18.2 3.9-1.1 0-2.1 0-3.1-.1l18.6 18.7c1.8-5.9 2.8-12.2 2.8-18.6zM256 209c0-6 1.1-11.7 3.1-16.9-1 0-2-.1-3.1-.1-6.4 0-12.6 1-18.5 2.8l18.7 18.7c-.1-1.5-.2-3-.2-4.5z"/></svg>PK}w�\$��KIIionicons/svg/md-keypad.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 398.5c-22.3 0-40.5 18.3-40.5 40.7 0 22.4 18.2 40.7 40.5 40.7s40.5-18.3 40.5-40.7c0-22.3-18.2-40.7-40.5-40.7zM136.5 32C114.2 32 96 50.3 96 72.7s18.2 40.7 40.5 40.7S177 95.1 177 72.7 158.8 32 136.5 32zm0 122.2c-22.3 0-40.5 18.3-40.5 40.7s18.2 40.7 40.5 40.7 40.5-18.3 40.5-40.7-18.2-40.7-40.5-40.7zm0 122.2c-22.3 0-40.5 18.3-40.5 40.7 0 22.4 18.2 40.7 40.5 40.7s40.5-18.3 40.5-40.7c0-22.4-18.2-40.7-40.5-40.7zm239-162.9c22.3 0 40.5-18.3 40.5-40.7S397.8 32 375.5 32 335 50.3 335 72.7s18.2 40.8 40.5 40.8zM256 276.4c-22.3 0-40.5 18.3-40.5 40.7 0 22.4 18.2 40.7 40.5 40.7s40.5-18.3 40.5-40.7c0-22.4-18.2-40.7-40.5-40.7zm119.5 0c-22.3 0-40.5 18.3-40.5 40.7 0 22.4 18.2 40.7 40.5 40.7s40.5-18.3 40.5-40.7c0-22.4-18.2-40.7-40.5-40.7zm0-122.2c-22.3 0-40.5 18.3-40.5 40.7s18.2 40.7 40.5 40.7 40.5-18.3 40.5-40.7-18.2-40.7-40.5-40.7zm-119.5 0c-22.3 0-40.5 18.3-40.5 40.7s18.2 40.7 40.5 40.7 40.5-18.3 40.5-40.7-18.2-40.7-40.5-40.7zM256 32c-22.3 0-40.5 18.3-40.5 40.7s18.2 40.7 40.5 40.7 40.5-18.3 40.5-40.7S278.3 32 256 32z"/></svg>PK}w�\R:9��ionicons/svg/ios-share.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M376 176H269v146.6c0 7-5.4 13-12.4 13.4-7.5.4-13.6-5.6-13.6-13V176H136c-22 0-40 18-40 40v208c0 22 18 40 40 40h240c22 0 40-18 40-40V216c0-22-18-40-40-40zM269 92.1l47.9 47.2c5.1 5 13.3 5 18.4-.1 5-5.1 5-13.3-.1-18.4l-70-69c-2.5-2.4-5.8-3.7-9.1-3.7-1.7 0-3.4.3-5 1-1.5.6-2.9 1.6-4.1 2.7l-70 69c-5.1 5-5.2 13.3-.1 18.4 5 5.1 13.3 5.2 18.4.1L243 92.1V176h26V92.1z"/></svg>PK}w�\`��+��ionicons/svg/md-trash.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M128 405.429C128 428.846 147.198 448 170.667 448h170.667C364.802 448 384 428.846 384 405.429V160H128v245.429zM416 96h-80l-26.785-32H202.786L176 96H96v32h320V96z"/></svg>PK}w�\,�1GGionicons/svg/md-color-wand.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M200.8 157.2l-36.4 37.4L411.7 448l36.3-37.4zM181 64h37v68h-37zM181 262h37v68h-37zM270 176h69v37h-69zM305.6 115.8l-25.7-26.3-47.1 48.3 25.6 26.2zM168.8 137.8l-47.1-48.3-25.6 26.3 47.1 48.2zM96.1 277.9l25.6 26.2 47.1-48.2-25.6-26.3zM64 176h65v37H64z"/></svg>PK}w�\v�AGGionicons/svg/ios-bonfire.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M270.9 350.6c-.7-8.2-7.6-14.6-15.9-14.6-7.6 0-14 5.4-15.6 12.5L223.8 427c-.5 2.3-.8 4.6-.8 7 0 17.7 14.3 30 32 30s32-12.3 32-30c0-2.9-.4-5.7-1.1-8.4l-15-75zM305.9 355zM388.9 386.3c-1.7-1.4-3.3-2.9-5.1-3.9l-59.6-43.5c-5.8-3.8-12-3.7-16.5.9-4.1 4.1-4.7 10.4-1.7 15.4l45 61.8c.9 1.5 2.2 2.8 3.4 4.2 7.8 9.1 25.1 9.6 34.6 0 9.4-9.8 9.3-27.2-.1-34.9zM372.5 335zM435.4 320h-59.5c-3.9 0-7.4 2.2-8.1 6.2-.6 3.6 1.3 7.1 4.7 8.8h.1l57.7 17.8c8.3 1.9 17.7-5.5 17.7-14.8 0-11.8-4.8-18-12.6-18zM139.2 335zM139.2 335c3.3-1.6 5.3-5.2 4.7-8.8-.7-4-3.9-6.2-8.1-6.2H76.3c-7.6 0-12.3 8.3-12.3 17.6s9.1 17.1 17.4 15.2l57.7-17.8h.1zM187.9 338.8l-59.6 43.4c-1.8 1.1-3.6 2.4-5.1 3.9-9.6 9.6-9.6 25.1 0 34.6 9.6 9.6 25.1 9.6 34.6 0 1.3-1.3 2.4-2.7 3.4-4.2l45-61.6c3-5 2.5-11.2-1.7-15.3-4.6-4.5-11.8-4.8-16.6-.8zM358.7 138.7c0-57.6-72.4-90.7-96-90.7 12 80.8-101.7 113-112 181.3-10.3 68.3 48 90.7 48 90.7 16.3-56.6 72.4-75.6 109.7-99.8 40.7-26.4 50.3-51.3 50.3-81.5zM358.7 259.6c5-14.7 1.9-49.3-3-63.4-9 17.5-26.3 32.4-47.2 46-8.6 5.6-20.9 10.8-29.8 15.9-18.7 10.5-34 20.6-46.3 34.4 11.3 16.4 31.3 27.7 46.3 27.7 36-.2 64-13.7 80-60.6z"/><path d="M161.8 171.9c11.7-15.1 24.9-23.8 38.2-36.2 13.4-12.5 22.1-21.2 27.5-31.3-10.7-20.1-30.8-28.1-44.7-26.1 2.3 28.6-30 44-32 64.8-1.3 12.6 5.4 25 11 28.8z"/></svg>PK}w�\�Ok+��ionicons/svg/md-football.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.3 48 48 141.3 48 256s93.3 208 208 208 208-93.3 208-208S370.7 48 256 48zM127 238.2l39.2 17.9 17.1 66.9-15.6 29.3-57.2-.7C95.6 329 86.2 303.1 83 276.3l44-38.1zm217.3 114.1L328.7 323l17.1-67 39.1-17.8 44 38.1c-3.1 26.8-12.6 52.7-27.5 75.3l-57.1.7zm32.4-146.2l-43.6 19.6-61.1-51.6v-47.2l47.9-32.6c29.8 11.9 56.4 32.3 75.6 57.8l-18.8 54zM191.3 94.4l47.7 32.5v47.2l-61 51.5-43-19.6-18.7-53.6c19.3-26.1 45.1-46 75-58zM218.4 426c-.7-.2-1.3-.3-2-.5l-20.5-55.1 14.7-29.4h90.8l15 30.3-19.8 53.9c-1 .2-2 .5-3 .7-11.5 2.3-27 3.8-40.4 4.1-11.7-.1-23.4-1.5-34.8-4z"/></svg>PK}w�\��vjOOionicons/svg/ios-male.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M450.4 48H341.5c-7.5 0-13.6 6.1-13.6 13.6s6.1 13.6 13.6 13.6h75.4L326.7 166c-30.6-26-69.3-40.3-109.6-40.3-22.8 0-45 4.5-65.8 13.3-20.1 8.5-38.2 20.7-53.8 36.2C82 190.8 69.8 208.9 61.3 229 52.5 249.9 48 272 48 294.9s4.5 45 13.3 65.8c8.5 20.1 20.7 38.2 36.2 53.8 15.5 15.5 33.6 27.7 53.8 36.2 20.9 8.8 43 13.3 65.8 13.3 22.8 0 45-4.5 65.8-13.3 20.1-8.5 38.2-20.7 53.8-36.2 15.5-15.5 27.7-33.6 36.2-53.8 8.8-20.9 13.3-43 13.3-65.8 0-40.3-14.3-79-40.3-109.6L436.7 95v75.4c0 7.5 6.1 13.6 13.6 13.6s13.6-6.1 13.6-13.6V61.6c.1-7.5-6-13.6-13.5-13.6zM359 294.9c0 37.9-14.8 73.5-41.6 100.3-26.8 26.8-62.4 41.6-100.3 41.6s-73.5-14.8-100.3-41.6C90 368.4 75.2 332.8 75.2 294.9s14.8-73.5 41.6-100.3c26.8-26.8 62.4-41.6 100.3-41.6s73.5 14.8 100.3 41.6C344.3 221.3 359 257 359 294.9z"/></svg>PK}w�\W�PHH!ionicons/svg/ios-star-outline.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M463 192H315.9L271.2 58.6C269 52.1 262.9 48 256 48s-13 4.1-15.2 10.6L196.1 192H48c-8.8 0-16 7.2-16 16 0 .9.1 1.9.3 2.7.2 3.5 1.8 7.4 6.7 11.3l120.9 85.2-46.4 134.9c-2.3 6.5 0 13.8 5.5 18 2.9 2.1 5.6 3.9 9 3.9 3.3 0 7.2-1.7 10-3.6l118-84.1 118 84.1c2.8 2 6.7 3.6 10 3.6 3.4 0 6.1-1.7 8.9-3.9 5.6-4.2 7.8-11.4 5.5-18L352 307.2l119.9-86 2.9-2.5c2.6-2.8 5.2-6.6 5.2-10.7 0-8.8-8.2-16-17-16zm-127.2 92.5c-10 7.2-14.2 20.2-10.2 31.8l30.1 87.7c1.3 3.7-2.9 6.8-6.1 4.6l-77.4-55.2c-4.9-3.5-10.6-5.2-16.3-5.2-5.7 0-11.4 1.7-16.2 5.2l-77.4 55.1c-3.2 2.3-7.4-.9-6.1-4.6l30.1-87.7c4-11.8-.2-24.8-10.3-32l-81-57.1c-3.2-2.2-1.6-7.3 2.3-7.3H196c12 0 22.7-7.7 26.5-19.1l29.6-88.2c1.2-3.6 6.4-3.6 7.6 0l29.6 88.2c3.8 11.4 14.5 19.1 26.5 19.1h97.3c3.9 0 5.5 5 2.3 7.2l-79.6 57.5z"/></svg>PK}w�\�<��ionicons/svg/md-briefcase.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M352 144v-39.6C352 82 334 64 311.6 64H200.4C178 64 160 82 160 104.4V144H48v263.6C48 430 66 448 88.4 448h335.2c22.4 0 40.4-18 40.4-40.4V144H352zm-40 0H200v-40h112v40z"/></svg>PK}w�\)�x33ionicons/svg/ios-cash.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M466 355.9H46c-7.7 0-14 6.3-14 14s6.3 14 14 14h420c7.7 0 14-6.3 14-14s-6.3-14-14-14zM466 403.9H46c-7.7 0-14 6.3-14 14s6.3 14 14 14h420c7.7 0 14-6.3 14-14s-6.3-14-14-14zM444.9 80.1H67.1C47.8 80.1 32 95.9 32 115.2V293c0 19.3 15.8 35.1 35.1 35.1h377.8c19.3 0 35.1-15.8 35.1-35.1V115.2c0-19.3-15.8-35.1-35.1-35.1zM114 296.1H78c-7.7 0-14-6.3-14-14s6.3-14 14-14h36c7.7 0 14 6.3 14 14s-6.3 14-14 14zm0-156H78c-7.7 0-14-6.3-14-14s6.3-14 14-14h36c7.7 0 14 6.3 14 14s-6.3 14-14 14zm142 144c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80zm178 12h-36c-7.7 0-14-6.3-14-14s6.3-14 14-14h36c7.7 0 14 6.3 14 14s-6.3 14-14 14zm0-156h-36c-7.7 0-14-6.3-14-14s6.3-14 14-14h36c7.7 0 14 6.3 14 14s-6.3 14-14 14z"/><circle cx="256" cy="206" r="53"/></svg>PK}w�\��;ZWW-ionicons/svg/ios-checkmark-circle-outline.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M362.6 192.9L345 174.8c-.7-.8-1.8-1.2-2.8-1.2-1.1 0-2.1.4-2.8 1.2l-122 122.9-44.4-44.4c-.8-.8-1.8-1.2-2.8-1.2-1 0-2 .4-2.8 1.2l-17.8 17.8c-1.6 1.6-1.6 4.1 0 5.7l56 56c3.6 3.6 8 5.7 11.7 5.7 5.3 0 9.9-3.9 11.6-5.5h.1l133.7-134.4c1.4-1.7 1.4-4.2-.1-5.7z"/><path d="M256 76c48.1 0 93.3 18.7 127.3 52.7S436 207.9 436 256s-18.7 93.3-52.7 127.3S304.1 436 256 436c-48.1 0-93.3-18.7-127.3-52.7S76 304.1 76 256s18.7-93.3 52.7-127.3S207.9 76 256 76m0-28C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48z"/></svg>PK}w�\��aaionicons/svg/md-disc.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.2 48 48 141.2 48 256s93.2 208 208 208 208-93.2 208-208S370.8 48 256 48zm0 301.6c-51.8 0-93.6-41.8-93.6-93.6s41.8-93.6 93.6-93.6 93.6 41.8 93.6 93.6-41.8 93.6-93.6 93.6zm0-114.4c-11.4 0-20.8 9.4-20.8 20.8s9.4 20.8 20.8 20.8 20.8-9.4 20.8-20.8-9.4-20.8-20.8-20.8z"/></svg>PK}w�\�U��ionicons/svg/ios-log-out.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M312 372c-7.7 0-14 6.3-14 14 0 9.9-8.1 18-18 18H94c-9.9 0-18-8.1-18-18V126c0-9.9 8.1-18 18-18h186c9.9 0 18 8.1 18 18 0 7.7 6.3 14 14 14s14-6.3 14-14c0-25.4-20.6-46-46-46H94c-25.4 0-46 20.6-46 46v260c0 25.4 20.6 46 46 46h186c25.4 0 46-20.6 46-46 0-7.7-6.3-14-14-14z"/><path d="M372.9 158.1c-2.6-2.6-6.1-4.1-9.9-4.1-3.7 0-7.3 1.4-9.9 4.1-5.5 5.5-5.5 14.3 0 19.8l65.2 64.2H162c-7.7 0-14 6.3-14 14s6.3 14 14 14h256.6L355 334.2c-5.4 5.4-5.4 14.3 0 19.8l.1.1c2.7 2.5 6.2 3.9 9.8 3.9 3.8 0 7.3-1.4 9.9-4.1l82.6-82.4c4.3-4.3 6.5-9.3 6.5-14.7 0-5.3-2.3-10.3-6.5-14.5l-84.5-84.2z"/></svg>PK}w�\���ionicons/svg/ios-clipboard.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M140.5 160v240c0 8.8 7.2 16 16 16h200c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16h-200c-8.8 0-16 7.2-16 16zM321.5 81h-17c0-5.6-1-11-2.7-16-2.1-6-5.3-11.4-9.4-16-8.8-9.9-21.6-17-35.9-17s-27.1 7.1-35.9 17c-4.1 4.6-7.3 10-9.4 16-1.7 5-2.7 10.4-2.7 16H194c-9.6 0-17.5 7.9-17.5 17.5V114c0 1.1.9 2 2 2h156c1.1 0 2-.9 2-2V96c0-8.3-6.7-15-15-15zm-62.9 15.5c-10.5 1.3-19.3-7.5-17.9-17.9.9-7.1 6.7-12.9 13.8-13.8 10.5-1.3 19.3 7.5 17.9 17.9-.9 7.2-6.7 12.9-13.8 13.8z"/><path d="M400 48h-75.2c-1.7 0-2.6 1.9-1.6 3.2 2.9 3.9 5.3 8.1 7 12.8.3.8 1 1.3 1.9 1.3h.5c18.7 0 26.9 14.9 27.5 33.5V114c0 1.1.9 2 2 2h20.3c8.8 0 16 7.2 16 16v297.4c0 8.8-7.2 16-16 16h-253c-8.8 0-16-7.2-16-16V132c0-8.8 7.2-16 16-16h21.3c1.1 0 2-.9 2-2v-8.8c0-19.1 5.6-36.7 27.6-36.7h.3c.9 0 1.8-.6 1.9-1.6 1.5-6.9 4.1-11.7 7.2-15.8 1-1.3.1-3.2-1.6-3.2l-76.3-.1C94.3 47.9 80 62.1 80 79.7V424c0 41.7 14.3 56 32 56h288.5c17.4 0 31.5-14.1 31.5-31.5V80c0-17.7-14.3-32-32-32z"/></svg>PK}w�\�=�Dionicons/svg/md-flask.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M436.9 354.4L336 192V96h32V48H144v48h32v96L76.1 354.4C67.7 370.3 63.6 385.8 64 400c1.1 36.5 28.7 64 65.1 64H385c36.3 0 62.1-27.6 63-64 .3-14.2-2.6-29.7-11.1-45.6zM155.1 304l29.5-48h143.1l29.8 48H155.1z"/></svg>PK}w�\��@�YYionicons/svg/index.jsnu�[��� require.context('!!file-loader?name=[name].[ext]&outputPath=svg!./', false, /.svg$/); PK}w�\@���ionicons/svg/ios-nuclear.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zm-88.5 364.8l49.2-85.8c1.1-1.9.5-4.2-1.3-5.4-20.2-12.9-34-35-35.2-60.3-.1-2.1-1.8-3.8-4-3.8H76V256c0-48.1 18.7-93.3 52.7-127.3 10.8-10.8 22.7-20 35.4-27.6l50.5 87.9c1.1 1.9 3.5 2.5 5.4 1.5 10.7-5.8 22.9-9 35.9-9 12.5 0 24.4 3.1 34.8 8.5 1.9 1 4.2.3 5.3-1.5l51.1-87.7c13 7.7 25.1 17 36.1 28 34 34 52.7 79.2 52.7 127.3v1.5h-100c-2.1 0-3.9 1.7-4 3.8-1.3 25.4-15 47.5-35.2 60.3-1.8 1.2-2.4 3.5-1.3 5.4l49.2 85.8c-26.7 15.1-57 23.2-88.5 23.2-31.6-.1-61.9-8.2-88.6-23.3z"/><circle cx="256" cy="256" r="56"/></svg>PK}w�\,^���ionicons/svg/ios-remove.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M368.5 240h-225c-8.8 0-16 7.2-16 16 0 4.4 1.8 8.4 4.7 11.3 2.9 2.9 6.9 4.7 11.3 4.7h225c8.8 0 16-7.2 16-16s-7.2-16-16-16z"/></svg>PK}w�\���}kkionicons/svg/ios-share-alt.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M444.7 230.4l-141.1-132c-1.7-1.6-3.3-2.5-5.6-2.4-4.4.2-10 3.3-10 8v66.2c0 2-1.6 3.8-3.6 4.1C144.1 195.8 85 300.8 64.1 409.8c-.8 4.3 5 8.3 7.7 4.9 51.2-64.5 113.5-106.6 212-107.4 2.2 0 4.2 2.6 4.2 4.8v65c0 7 9.3 10.1 14.5 5.3l142.1-134.3c2.6-2.4 3.4-5.2 3.5-8.4-.1-3.2-.9-6.9-3.4-9.3z"/></svg>PK}w�\���ionicons/svg/md-train.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48c-88 0-176 10.9-176 87.6v208c0 42.3 34.5 76.6 77 76.6L124 453v11h49.1l44-43.8H300l44 43.8h44v-10.9l-33-32.8c42.5 0 77-34.4 77-76.6v-208C432 58.9 353.2 48 256 48zm-99 328.4c-18.3 0-33-14.7-33-32.8s14.7-32.8 33-32.8 33 14.7 33 32.8-14.7 32.8-33 32.8zm77-153.2H124v-87.6h110v87.6zm44 0v-87.6h110v87.6H278zm77 153.2c-18.3 0-33-14.7-33-32.8s14.7-32.8 33-32.8 33 14.7 33 32.8-14.7 32.8-33 32.8z"/></svg>PK}w�\nYYionicons/svg/ios-walk.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M201.1 361.2l-67.8 48.9c-3.7 3.6-5.2 9.1-5.3 13.9-.1 4.8 1.2 8.8 4.7 12.5 3.6 3.9 8.8 6.2 13.6 6.2 4.5 0 12.5-4.9 16-8.4l69.7-51.6c3.6-3.5 5.7-8.4 5.7-13.5l9.1-52.5-45.7-46.7v91.2z"/><ellipse transform="rotate(-80.781 274.673 69.329)" cx="274.7" cy="69.3" rx="37.3" ry="37.3"/><path d="M350.7 459.2l-15.2-117.4c-.5-3.5-1.9-6.8-4.2-9.5l-57-68.8V143.9c0-11.3-6.3-15.9-18.3-15.9h-37c-2.8 0-5.2 1-7.7 2.3l-68 31.7c-10 5.3-15.3 15.4-15.3 28.7V256c0 10.3 8.2 18.7 18.3 18.7 10.1 0 18.3-8.4 18.3-18.7v-58.2c0-3 1.7-5.8 4.4-7.1l32.2-16.4v75.3c0 4.2 1.6 8.2 4.6 11.2l92.4 94.4c1.2 1.2 2 2.8 2.2 4.5l14.2 104.7c1.3 9.3 9.1 15.7 18.1 15.7h2c9.9-1.5 17.4-10.7 16-20.9z"/><path d="M378.4 232.4l-95-96.2v52.6l69.2 70.1c7.2 7.3 18.7 7.2 25.9-.1 3.5-3.6 5.5-7.5 5.5-12.2 0-4.8-2-10.5-5.6-14.2z"/></svg>PK}w�\o���ionicons/svg/ios-today.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M388 32H124c-33.1 0-60 26.9-60 60v328c0 33.1 26.9 60 60 60h264c33.1 0 60-26.9 60-60V92c0-33.1-26.9-60-60-60zm32 388c0 17.6-14.4 32-32 32H124c-17.6 0-32-14.4-32-32V92c0-17.6 14.4-32 32-32h264c17.6 0 32 14.4 32 32v328z"/><path d="M360 176H152c-13.2 0-24 10.8-24 24v192c0 13.2 10.8 24 24 24h208c13.2 0 24-10.8 24-24V200c0-13.2-10.8-24-24-24zM142 124h100c7.7 0 14-6.3 14-14s-6.3-14-14-14H142c-7.7 0-14 6.3-14 14s6.3 14 14 14z"/></svg>PK}w�\<�94��ionicons/svg/ios-beer.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M112 162c0-13.3 10.7-24 24-24h229.5c4.9 0 9.6 1.5 13.5 4.4 2 1.5 4.9 0 4.8-2.5-.1-5.7-.2-9.3-.2-21.6 0-20.8-17.2-38.3-38.1-38.3h-.2c-5.7-.4-10.8-4-12.9-9.3-9-22.6-32.3-38.6-56.4-38.6-21 0-34.2 7-44 18.3-4.4 5-11.8 5.9-17.4 2.4-7.3-4.6-16.1-7.1-25.5-7.1-14.4 0-27.2 7.1-35.8 17.4-4 4.9-10.4 7-16.6 5.9-5.2-1-12.6-1.8-22.7-1.8-25 0-50 16.6-50 42.4v4c0 28.8 16 22.9 16 41.8v50.8c0 13.4-11.2 19.3-11.2 35.2 0 8.8 8 16.8 16.8 16.8H112V162zM386 452H110c-7.7 0-14 6.3-14 14s6.3 14 14 14h276c7.7 0 14-6.3 14-14s-6.3-14-14-14z"/><path d="M400 194h-32v-24c0-8.8-7.2-16-16-16H144c-8.8 0-16 7.2-16 16v213.8c0 12.1-1.1 18.2-3.2 30.1l-.1.5c-.8 4.7.2 9.5 2.8 13.5 3.4 5.1 9.1 8.2 15.3 8.2h213.9c4.1 0 8.1-1.4 11.1-4.1 4.7-4.1 6.5-10.3 5.2-16-2.7-11.8-4.5-17.8-4.8-29.9H400c26.4 0 48-21.6 48-48v-96c0-26.5-21.6-48.1-48-48.1zm20 144c0 11-9 20-20 20h-32V222h32c11 0 20 9 20 20v96z"/></svg>PK}w�\yD�kkionicons/svg/ios-desktop.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M352 442.2c-.3-2.2-2-3.9-4.2-4.3l-22.3-1.9c-11.8-3.1-20.5-16.2-22.3-28.3L302 400h-92l-1.2 7.6c-1.9 12.1-10.5 25.2-22.3 28.3l-22.3 1.9c-2.1.5-3.9 2.2-4.2 4.3-.4 3.1 2 5.8 5.1 5.8h181.8c3 .1 5.5-2.6 5.1-5.7zM472.9 71c-4.5-4.5-10.7-7-17-7H56.2c-6.4 0-12.5 2.5-17 7S32 81.7 32 88v272c0 6.4 2.7 12.5 7.2 17s10.5 7 16.8 7h400c6.4 0 12.3-2.5 16.8-7s7.2-10.7 7.2-17V88c.1-6.3-2.6-12.5-7.1-17zM256 360c-4.4 0-8-3.6-8-8s3.6-8 8-8 8 3.6 8 8-3.6 8-8 8zm203.9-40H52.2c-2.2 0-4-1.8-4-4V92c0-6.6 5.4-12 12-12h391.7c6.6 0 12 5.4 12 12v224c0 2.2-1.8 4-4 4z"/></svg>PK}w�\�k���"ionicons/svg/ios-color-palette.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M430.1 347.9c-6.6-6.1-16.3-7.6-24.6-9-11.5-1.9-15.9-4-22.6-10-14.3-12.7-14.3-31.1 0-43.8l30.3-26.9c46.4-41 46.4-108.2 0-149.2-34.2-30.1-80.1-45-127.8-45-55.7 0-113.9 20.3-158.8 60.1-83.5 73.8-83.5 194.7 0 268.5 41.5 36.7 97.5 55 152.9 55.4h1.7c55.4 0 110-17.9 148.8-52.4 14.4-12.7 12-36.6.1-47.7zM120 216c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm40 126c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm64-161c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm72 219c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm24-208c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"/></svg>PK}w�\)Uʫ$ionicons/svg/md-battery-charging.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M338.2 76.8h-37.4V32h-89.6v44.8h-37.4c-16.4 0-29.8 13.4-29.8 29.8V450c0 16.6 13.4 30 29.8 30H338c16.6 0 30-13.4 30-29.8V106.6c0-16.4-13.4-29.8-29.8-29.8zM233.6 435.2V312h-44.8l89.6-168v123.2h44.8l-89.6 168z"/></svg>PK}w�\�5Pf""ionicons/svg/ios-pricetags.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M403.3 32H285.1c-3.7 0-7.2 1.5-9.8 4.1L40.1 272.2c-10.8 10.8-10.8 28.4 0 39.2l111.5 112.5C162.4 434.7 179 440 195 426l231.9-232.3c2.6-2.6 4.1-6.1 4.1-9.8V59.7c0-15.3-12.4-27.7-27.7-27.7zm-45.9 107.5c-19.6 2.1-36-14.4-33.9-33.9 1.5-14.3 13-25.7 27.3-27.3 19.6-2.1 36 14.4 33.9 33.9-1.5 14.3-13 25.8-27.3 27.3z"/><path d="M456 80.3V194c0 3.7-1.5 7.2-4.1 9.8L192.7 463l8.8 8.8c10.8 10.8 28.4 10.8 39.2 0l235.2-236.2c2.6-2.6 4.1-6.1 4.1-9.8V107.7c0-14-10.5-25.6-24-27.4z"/></svg>PK}w�\��4��ionicons/svg/ios-pint.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M372 175.2c0-19.5-1-81.7-19.3-115.6-4.5-8.2-9.5-11.6-28.7-11.6H188c-19.3 0-24.2 3.4-28.7 11.6-18.3 33.9-19.3 96.5-19.3 116 0 91 36 93.1 36 167.8 0 36.7-16 66.7-16 92.7 0 25.1 6 27.8 29 27.8h134c23 0 29-2.9 29-27.9 0-26-16-55.7-16-92.4 0-74.7 36-77.4 36-168.4zM188 76h136c2.4 0 4.3.1 5.7.2 5.4 11.6 9.4 29.3 11.8 50.8h-171c2.4-21.6 6.5-39.3 11.8-50.8 1.4-.1 3.3-.2 5.7-.2z"/></svg>PK}w�\Y]* ??#ionicons/svg/ios-arrow-dropdown.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M147.6 210.7c-7.5 7.5-7.5 19.8 0 27.3l95.7 95.4c7.3 7.3 19.1 7.5 26.6.6l94.3-94c3.8-3.8 5.7-8.7 5.7-13.7 0-4.9-1.9-9.9-5.6-13.6-7.5-7.5-19.7-7.6-27.3 0l-81 79.8-81.1-81.9c-7.5-7.5-19.7-7.5-27.3.1z"/><path d="M48 256c0 114.9 93.1 208 208 208s208-93.1 208-208S370.9 48 256 48 48 141.1 48 256zm332.4-124.4C413.7 164.8 432 209 432 256s-18.3 91.2-51.6 124.4C347.2 413.7 303 432 256 432s-91.2-18.3-124.4-51.6C98.3 347.2 80 303 80 256s18.3-91.2 51.6-124.4C164.8 98.3 209 80 256 80s91.2 18.3 124.4 51.6z"/></svg>PK}w�\� e�''ionicons/svg/md-git-commit.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M480 224h-99.8c-14.2-55.2-64.2-96-123.7-96S147 168.8 132.8 224H32v64h100.8c14.2 55.2 64.2 96 123.7 96s109.5-40.8 123.7-96H480v-64zM256.5 336c-44 0-79.8-35.9-79.8-80s35.8-80 79.8-80 79.8 35.9 79.8 80-35.8 80-79.8 80z"/></svg>PK}w�\O6��ionicons/svg/logo-yen.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M448 32h-80L256 253.128 144 32H64l112.368 208H128v48h73.564L216 319v17h-88v48h88v96h80v-96h88v-48h-88v-17l14.891-31H384v-48h-48.289L448 32z"/></svg>PK}w�\��7�ionicons/svg/ios-person-add.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M385.3 386c-15.6-5.5-37.8-6.8-52.1-10-8.2-1.8-20.1-6.3-24.1-11.1-3.5-4.2-2.1-38.4-1.7-47.2.1-1.3.5-2.6 1.1-3.8 2.2-3.6 7.2-12.2 10.3-20 3-7.6 6.2-25 7.6-33.3.4-2.4 1.9-4.5 4-5.6 2.6-1.5 6.1-4.9 7.8-13.4 3.1-15.7 8-21.8 7.4-33.5-.3-5.2-1.7-8-3.2-9.5-2-1.9-2.7-4.8-2-7.4 1.9-7.6 4.7-22.6 5.2-45.6.9-41.1-31.3-81.6-89.5-81.6-59.1 0-90.5 40.5-89.6 81.6.5 23 3.3 38 5.1 45.6.6 2.7-.1 5.5-2 7.4-1.5 1.5-3 4.3-3.2 9.5-.6 11.7 4.3 17.8 7.4 33.5 1.7 8.4 5.2 11.9 7.8 13.4 2.1 1.2 3.6 3.2 4 5.6 1.4 8.3 4.6 25.7 7.6 33.3 3.1 7.8 8.2 16.5 10.3 20 .7 1.1 1.1 2.4 1.1 3.8.4 8.8 1.8 43.1-1.7 47.2-4 4.8-15.9 9.3-24.1 11.1-14.3 3.2-36.5 4.5-52.1 10-14.2 5-55.3 20.5-62.5 52.3-1.1 5 2.7 9.7 7.9 9.7H440c5.1 0 8.9-4.7 7.8-9.7-7.2-31.8-48.3-47.3-62.5-52.3z"/><path d="M437.5 293.5h-27v-27c0-5.8-4.7-10.5-10.5-10.5s-10.5 4.7-10.5 10.5v27h-27c-5.8 0-10.5 4.7-10.5 10.5s4.7 10.5 10.5 10.5h27v27c0 5.8 4.7 10.5 10.5 10.5s10.5-4.7 10.5-10.5v-27h27c5.8 0 10.5-4.7 10.5-10.5s-4.7-10.5-10.5-10.5z"/></svg>PK}w�\r�tionicons/svg/ios-heart.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M352 56h-1c-39.7 0-74.8 21-95 52-20.2-31-55.3-52-95-52h-1c-61.9.6-112 50.9-112 113 0 37 16.2 89.5 47.8 132.7C156 384 256 456 256 456s100-72 160.2-154.3C447.8 258.5 464 206 464 169c0-62.1-50.1-112.4-112-113z"/></svg>PK}w�\p����ionicons/svg/ios-mic.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 336c35.2 0 64-28.8 64-64V112c0-35.2-28.8-64-64-64s-64 28.8-64 64v160c0 35.2 28.8 64 64 64z"/><path d="M352 192c-7.7 0-14 6.3-14 14v69c0 45.2-36.8 82-82 82s-82-36.8-82-82v-69c0-7.7-6.3-14-14-14s-14 6.3-14 14v69c0 55.9 41.9 102.2 96 109.1V436h-36c-7.7 0-14 6.3-14 14s6.3 14 14 14h100c7.7 0 14-6.3 14-14s-6.3-14-14-14h-36v-51.9c54.1-6.9 96-53.2 96-109.1v-69c0-7.7-6.3-14-14-14z"/></svg>PK}w�\&W�!ionicons/svg/md-notifications.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 464c22.779 0 41.411-18.719 41.411-41.6h-82.823c0 22.881 18.633 41.6 41.412 41.6zm134.589-124.8V224.8c0-63.44-44.516-117.518-103.53-131.041V79.2c0-17.682-13.457-31.2-31.059-31.2s-31.059 13.518-31.059 31.2v14.559c-59.015 13.523-103.53 67.601-103.53 131.041v114.4L80 380.8v20.8h352v-20.8l-41.411-41.6z"/></svg>PK}w�\�t7Y��ionicons/svg/ios-stats.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M184 448h48c4.4 0 8-3.6 8-8V72c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v368c0 4.4 3.6 8 8 8zM88 448h48c4.4 0 8-3.6 8-8V296c0-4.4-3.6-8-8-8H88c-4.4 0-8 3.6-8 8v144c0 4.4 3.6 8 8 8zM280.1 448h47.8c4.5 0 8.1-3.6 8.1-8.1V232.1c0-4.5-3.6-8.1-8.1-8.1h-47.8c-4.5 0-8.1 3.6-8.1 8.1v207.8c0 4.5 3.6 8.1 8.1 8.1zM368 136.1v303.8c0 4.5 3.6 8.1 8.1 8.1h47.8c4.5 0 8.1-3.6 8.1-8.1V136.1c0-4.5-3.6-8.1-8.1-8.1h-47.8c-4.5 0-8.1 3.6-8.1 8.1z"/></svg>PK}w�\�I�@��ionicons/svg/md-medical.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M351.9 256L460 193.6l-48-83.2-108 62.4V48h-96v124.8l-108-62.4-48 83.2L160.1 256 52 318.4l48 83.2 108-62.4V464h96V339.2l108 62.4 48-83.2z"/></svg>PK}w�\5aԎ�ionicons/svg/md-navigate.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 64L96 433.062 110.938 448 256 384l145.062 64L416 433.062z"/></svg>PK}w�\wN���ionicons/svg/md-flash-off.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M459.9 435.5L76.1 52.5 51.9 76.6 160 184.3V272h64v192l72-144 139.9 139.5zM352 208h-64l64-160H160v40.3l168 167.6z"/></svg>PK}w�\����ionicons/svg/md-analytics.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M379.4 178.3l-87.2 133.4C299 320 303 330.5 303 342c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-3 .3-6 .8-8.9l-57.6-33.5c-8.6 8.3-20.3 13.4-33.3 13.4-8.6 0-16.6-2.3-23.6-6.2L32 364.2v57.2c0 23.5 19.2 42.7 42.7 42.7h362.7c23.5 0 42.7-19.2 42.7-42.7V208.8l-58.6-38.9c-8.1 6.3-18.3 10.1-29.4 10.1-4.4 0-8.7-.6-12.7-1.7z"/><path d="M117 217c26.5 0 48 21.5 48 48 0 2.1-.2 4.2-.4 6.2l60.1 33.6c8.3-6.8 18.8-10.8 30.4-10.8 3.6 0 7.1.4 10.4 1.1l87.4-135.4c-5.6-7.8-8.9-17.4-8.9-27.8 0-26.5 21.5-48 48-48s48 21.5 48 48c0 3.9-.5 7.7-1.3 11.3l41.3 27.6V90.7c0-23.5-19.2-42.7-42.7-42.7H74.7C51.2 48 32 67.2 32 90.7V320l40-38.3c-1.9-5.2-3-10.8-3-16.7 0-26.5 21.5-48 48-48z"/></svg>PK}w�\R�N���ionicons/svg/md-close.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M405 136.798L375.202 107 256 226.202 136.798 107 107 136.798 226.202 256 107 375.202 136.798 405 256 285.798 375.202 405 405 375.202 285.798 256z"/></svg>PK}w�\�{��ionicons/svg/md-recording.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M369.8 160c-53.4 0-96.2 42.8-96.2 96 0 23.6 7.9 44.5 21.9 61.1h-78.8c14-16.6 21.9-37.5 21.9-61.1 0-53.2-42.9-96-96.2-96S46 202.8 46 256s42.9 96 96.2 96h227.5c53.4 0 96.2-42.8 96.2-96s-42.8-96-96.1-96zM142.2 317.1C108.1 317.1 81 290 81 256s27.1-61.1 61.2-61.1 61.2 27.1 61.2 61.1-27 61.1-61.2 61.1zm227.6 0c-34.1 0-61.2-27.1-61.2-61.1s27.1-61.1 61.2-61.1S431 222 431 256s-27.1 61.1-61.2 61.1z"/></svg>PK}w�\.$�1 ionicons/svg/ios-git-merge.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M378 218c-33.5 0-62.1 23.8-68.6 56.1-10.3-.5-18.4-2.7-39.2-10.8-30.5-11.9-71.8-33.2-111.5-95.8 27.1-10.1 45.4-36 45.4-65.5 0-38.6-31.4-70-70-70s-70 31.4-70 70c0 17 6.2 33.3 17.3 46.1 9.9 11.3 23.1 19.1 37.7 22.3v171.3c-14.5 3.2-27.8 11-37.7 22.3C70.2 376.7 64 393 64 410c0 38.6 31.4 70 70 70s70-31.4 70-70c0-17.4-6.4-34-18-46.9-10.3-11.4-24-19.1-39-21.9V200.3c40.8 56.8 82 77 113 89.1 25.2 9.8 37.1 12.3 49.5 12.8 6.6 32.2 35.2 55.8 68.5 55.8 38.6 0 70-31.4 70-70s-31.4-70-70-70zM176 410c0 23.2-18.8 42-42 42s-42-18.8-42-42 18.8-42 42-42 42 18.8 42 42zm-42-266c-23.2 0-42-18.8-42-42s18.8-42 42-42 42 18.8 42 42-18.8 42-42 42zm244 186c-23.2 0-42-18.8-42-42s18.8-42 42-42 42 18.8 42 42-18.8 42-42 42z"/></svg>PK}w�\���llionicons/svg/logo-instagram.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M336 96c21.2 0 41.3 8.4 56.5 23.5S416 154.8 416 176v160c0 21.2-8.4 41.3-23.5 56.5S357.2 416 336 416H176c-21.2 0-41.3-8.4-56.5-23.5S96 357.2 96 336V176c0-21.2 8.4-41.3 23.5-56.5S154.8 96 176 96h160m0-32H176c-61.6 0-112 50.4-112 112v160c0 61.6 50.4 112 112 112h160c61.6 0 112-50.4 112-112V176c0-61.6-50.4-112-112-112z"/><path d="M360 176c-13.3 0-24-10.7-24-24s10.7-24 24-24c13.2 0 24 10.7 24 24s-10.8 24-24 24zM256 192c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64m0-32c-53 0-96 43-96 96s43 96 96 96 96-43 96-96-43-96-96-96z"/></svg>PK}w�\I n�ionicons/svg/md-map.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M437.333 64c-2.176 0-4.396 1.369-9.176 3.207L320 108.802 192 64 71.469 104.531C67.197 105.604 64 109.864 64 115.197v322.136C64 443.729 68.271 448 74.666 448c1.828 0 6.505-2.33 9.087-3.319L192 403.197 320 448l120.531-40.531c4.271-1.073 7.469-5.334 7.469-10.667V74.666C448 68.271 443.729 64 437.333 64zM320 405.333l-128-44.802V106.666l128 44.803v253.864z"/></svg>PK}w�\�u���ionicons/svg/md-person.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 256c52.805 0 96-43.201 96-96s-43.195-96-96-96-96 43.201-96 96 43.195 96 96 96zm0 48c-63.598 0-192 32.402-192 96v48h384v-48c0-63.598-128.402-96-192-96z"/></svg>PK}w�\� �z��ionicons/svg/md-sync.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 93.09V32l-80 81.454 80 81.456v-61.093c65.996 0 120 54.982 120 122.183 0 20.363-5 39.714-14.004 57.016L391 342.547c15.996-25.457 25-54.988 25-86.547 0-89.599-72.002-162.91-160-162.91zm0 285.094c-66.001 0-120-54.988-120-122.184 0-20.363 5-39.709 13.999-57.02L121 169.454C104.999 193.89 96 224.436 96 256c0 89.599 72.002 162.91 160 162.91V480l80-81.453-80-81.457v61.094z"/></svg>PK}w�\�@�#iiionicons/svg/logo-sass.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M511.784 329.108c-1.67-13.599-9.236-24.146-20.795-32.416 2.857 2.04 5.275 3.766-.055-.041-7.189-5.131-3.38-2.411-.047-.032-28.5-20.301-65.676-15.789-96.733-4.511-12.447-20.295-12.987-35.783-5.816-57.937.929-2.8.295-4.354-2.624-5.604-7.086-3.03-17.291-1.427-24.422.463-2.462.646-4.254 1.9-4.8 4.381-5.154 24.243-21.009 46.448-34.828 66.886-9.731-18.652-8.96-33.087-2.414-52.516.798-2.366.431-3.624-1.937-4.879-7.26-3.757-18.401-1.912-25.8.276-8.509 2.482-21.29 44.594-25.372 52.946-8.531 17.442-16.091 44.665-30.585 58.502-12.3-15.807 22.526-51.517 10.882-65.851-3.938-4.848-11.063-4.723-15.586-.616 1.085-7.608 1.648-12.609-.32-19.063-2.081-6.79-7.361-10.687-15.09-10.49-17.995.527-33.843 13.815-44.641 26.397-10.277 12.105-37.381 19.627-51.953 26.927-25.032-21.807-79.221-44.947-80.632-82.081-1.528-41.846 48.319-70.245 81.597-87.228 43.28-22.104 109.961-49.608 159.138-25.436 13.049 6.414 18.299 20.171 14.707 33.348-9.368 34.366-47.198 57.293-80.103 67.807-16.189 5.175-33.969 9.027-51.1 8.026-22.955-1.343-40.83-15.224-43.281-16.086-2.049-.389-1.888 2.261-1.347 3.664 23.816 62.433 144.417 16.681 175.956-15.371 15.189-15.421 24.413-30.365 28.351-53.894 4.616-27.583-15.634-44.842-31.004-51.957-77.918-36.072-185.636 11.168-244.553 59.327-25.568 20.901-57.552 54.11-42.874 88.946 15.93 37.805 64.736 57.19 96.503 80.312-25.704 12.773-57.862 25.983-74.518 49.933-9.524 13.729-12.903 28.359-5.811 43.966 12.572 27.568 58.285 15.622 77.573 3.471 17.67-11.13 29.563-26.07 34.7-45.228 4.455-16.609 3.541-33.866-3.856-49.512l28.585-14.458c-7.697 23.076-11.097 52.003 4.881 72.855 6.402 8.338 23.017 8.675 29.817.311 8.816-10.943 14.664-24.655 20.503-37.206-.682 9.373-1.856 19.996 1.377 28.165 3.71 9.373 12.126 11.291 20.792 5.343 26.52-18.203 43.398-68.652 56.463-98.062 3.552 12.829 7.473 24.548 13.957 36.376 1.602 2.903 1.407 4.774-.796 7.195-9.685 10.675-32.826 28.479-35.069 42.899-.524 3.371 1.713 6.599 5.686 7.37 15.573 3.108 32.838-2.531 45.482-11.078 13.188-8.922 17.446-21.087 14.245-35.515-4.576-20.771 10.993-43.98 25.801-61.03 2.719 12.908 6.816 25.331 14.143 36.606-13.075 11.483-32.58 27.764-29.779 46.939.988 6.865 7.135 11.301 14.514 9.736 15.783-3.324 29.416-10.113 39.37-22.146 9.023-10.855 5.792-22.701 1.856-34.635 23.872-6.815 48.022-8.177 71.831-.027 11.495 3.91 20.755 10.5 26.248 20.818 6.726 12.644 2.939 24.292-10.05 32.604-3.287 2.104-5.562 3.833-4.45 4.743 1.112.911 4.9 2.113 13.284-3.152 8.384-5.267 13.51-12.383 14.823-21.725a37.09 37.09 0 0 0-.024-7.755zm-398.838 25.259c-1.358 16.673-9.636 30.193-23.175 41.114-7.617 6.158-17.102 11.176-26.52 12.092-9.418.917-16.751-1.461-17.378-11.23-1.764-27.493 40.923-54.424 64.625-62.533 2.02 6.86 3.011 13.666 2.432 20.587l.016-.03zm103.102-72.453c-3.903 22.309-14.83 62.347-32.314 78.336-2.356 2.143-4.61 2.018-5.809-.771-10.345-24.059 3.671-73.669 33.082-81.328 3.457-.889 5.602.582 5.041 3.763zm70.311 81.768c8.422-8.962 16.834-17.916 25.269-26.927 1.043 10.021-17.571 29.964-25.269 26.927zm80.714-17.696c-2.348 1.273-7.621 2.515-7.827.835-1.482-12.085 11.816-24.874 20.067-30.867 4.453 11.343-.818 23.834-12.24 30.032z"/></svg>PK}w�\�f�o88ionicons/svg/ios-filing.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M424 64H88c-22 0-40 18-40 40v304c0 22 18 40 40 40h336c22 0 40-18 40-40V104c0-22-18-40-40-40zm12 176c0 8.8-7.2 16-16 16h-86.8c-6.8 0-12.8 4.2-15.1 10.6C314 278.2 303.8 288 292 288h-72c-11.9 0-22.1-9.8-26.1-21.4-2.2-6.4-8.3-10.6-15.1-10.6H92c-8.8 0-16-7.2-16-16V108c0-8.8 7.2-16 16-16h328c8.8 0 16 7.2 16 16v132z"/><path d="M386 156H126c-7.7 0-14-6.3-14-14s6.3-14 14-14h260c7.7 0 14 6.3 14 14s-6.3 14-14 14zM386 220H126c-7.7 0-14-6.3-14-14s6.3-14 14-14h260c7.7 0 14 6.3 14 14s-6.3 14-14 14z"/></svg>PK}w�\5��VVionicons/svg/ios-rainy.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M433.9 175.6c-19-17.6-44.6-27.3-72.1-27.3h-5.6c-6.5-23.5-19.4-43.5-37.6-58.2C297.3 73 269.5 64 238.1 64c-32.7 0-63.2 11.7-86 32.9-22.8 21.2-35.5 50-36.1 81.4-17.5 4-33.6 13.7-46 27.9-14.2 16.2-22 36.6-22 57.4 0 44.6 34.9 82.6 77.4 86L101.2 382c-2.4 3.2-3.3 7.2-2.7 11.1.6 3.9 2.8 7.3 6 9.6 2.5 1.8 5.5 2.7 8.6 2.7 5.2 0 9.8-2.1 12.5-5.8l37.1-50h35.1l-55.3 75.1c-2.3 3.2-3.4 6.9-2.9 10.6.5 3.9 2.6 7.4 5.9 9.8 3.5 2.5 7.5 2.8 9 2.8 7.2 0 11.2-3.5 13.4-6.4l67.4-91.8H270L246 382c-2.4 3.3-3.4 7.2-2.7 11.1.6 3.9 2.8 7.3 6 9.6 2.5 1.8 5.5 2.7 8.6 2.7 5.2 0 9.8-2.1 12.5-5.8l37-50h35.1l-55.3 75.1c-2.3 3.2-3.4 7-2.9 10.6.5 3.8 2.6 7.2 5.9 9.6 2.6 1.9 5.9 3 8.9 3 5.1 0 9.7-2.2 12.5-6l69.7-95.1c22.4-4.5 43-16.6 58.1-34.5 15.9-18.8 24.7-42.6 24.7-67.1-.1-26.8-10.8-51.6-30.2-69.6z"/></svg>PK}w�\1�~�VVionicons/svg/ios-eye.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M255.8 112c-80.4 0-143.8 50.6-219.6 133.3-5.5 6.1-5.6 15.2-.1 21.3C101 338.3 158.2 400 255.8 400c96.4 0 168.7-77.7 220.1-134 5.3-5.8 5.6-14.6.5-20.7C424 181.8 351.5 112 255.8 112zm4.4 233.9c-53 2.4-96.6-41.2-94.1-94.1 2.1-46.2 39.5-83.6 85.7-85.7 53-2.4 96.6 41.2 94.1 94.1-2.1 46.2-39.5 83.6-85.7 85.7z"/><path d="M256 209c0-6 1.1-11.7 3.1-16.9-1 0-2-.1-3.1-.1-36.9 0-66.6 31.4-63.8 68.9 2.4 31.3 27.6 56.5 58.9 58.9 37.5 2.8 68.9-26.9 68.9-63.8 0-1.3-.1-2.6-.1-3.9-5.6 2.5-11.7 3.9-18.2 3.9-25.2 0-45.7-21.1-45.7-47z"/></svg>PK}w�\��Yionicons/svg/ios-rewind.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M35.9 249.3L244 129.1c5.4-3.1 12.3.6 12.3 6.7V251l211.3-121.9c5.4-3.1 12.3.6 12.3 6.7v240.3c0 6.1-6.9 9.8-12.3 6.7L256.4 261v115.2c0 6.1-6.9 9.8-12.3 6.7L35.9 262.7c-5.2-3-5.2-10.4 0-13.4z"/></svg>PK}w�\�B���ionicons/svg/md-list.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M80 280h256v48H80zM80 184h320v48H80zM80 88h352v48H80z"/><g><path d="M80 376h288v48H80z"/></g></svg>PK}w�\����ionicons/svg/md-share.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M383.822 344.427c-16.045 0-31.024 5.326-41.721 15.979l-152.957-88.42c1.071-5.328 2.142-9.593 2.142-14.919 0-5.328-1.071-9.593-2.142-14.919l150.826-87.35c11.762 10.653 26.741 17.041 43.852 17.041 35.295 0 64.178-28.766 64.178-63.92C448 72.767 419.117 44 383.822 44c-35.297 0-64.179 28.767-64.179 63.92 0 5.327 1.065 9.593 2.142 14.919l-150.821 87.35c-11.767-10.654-26.741-17.041-43.856-17.041-35.296 0-63.108 28.766-63.108 63.92 0 35.153 28.877 63.92 64.178 63.92 17.115 0 32.089-6.389 43.856-17.042l151.891 88.421c-1.076 4.255-2.141 8.521-2.141 13.847 0 34.094 27.806 61.787 62.037 61.787 34.229 0 62.036-27.693 62.036-61.787.001-34.094-27.805-61.787-62.035-61.787z"/></svg>PK}w�\Ͷg��ionicons/svg/ios-umbrella.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M407.1 137.9c-34.9-41.6-81.3-67.3-131.2-72.6-2-9.9-10.2-17.3-19.9-17.3s-17.9 7.3-19.9 17.2c-50.6 5.2-97.4 30.3-132.1 71.2-35.8 42.2-55.6 85.5-55.8 143.7-.1.5-.2 1.2-.2 2.1.1 3.2 2.7 5.8 5.8 5.8h3.1c2.6 0 4.9-1.8 5.6-4.4 2.7-10.1 8.4-19.1 16-25.5 7.7-6.5 16.9-9.9 26.6-9.9 9.6 0 18.8 3.4 26.5 10 7.6 6.4 13.2 15.4 16 25.5.7 2.6 3 4.4 5.6 4.4h4.8c2.6 0 4.9-1.8 5.6-4.4 5.7-20.9 23.3-35.4 42.8-35.4 14.8 0 28.8 8.4 36.9 21.9V418c0 9.9-8 18-17.7 18s-17.6-8.1-17.6-18c0-7.7-6.1-14-13.7-14-7.5 0-13.6 6.3-13.6 14 0 25.4 20.2 46 44.9 46 24.8 0 44.9-20.6 44.9-46V270.8c8.2-14.2 21.9-22.6 36.9-22.6 9.6 0 18.7 3.4 26.4 9.9 7.5 6.4 13.1 15.4 15.9 25.5.7 2.6 3 4.4 5.6 4.4h4.8c2.6 0 4.9-1.8 5.6-4.4 2.7-10.1 8.4-19.2 16-25.6 7.7-6.5 16.9-10 26.6-10 9.7 0 19 3.4 26.7 10 7.6 6.4 13.2 15.5 15.9 25.6.7 2.6 3 4.4 5.6 4.4h1.5c1.6 0 3.1-.6 4.2-1.8s1.7-2.7 1.7-4.3c-.8-57.9-21-101.3-56.8-144z"/></svg>PK}w�\o�$I99ionicons/svg/ios-cloud.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M437.1 229.8C429 154.6 365.4 96 288 96c-51.2 0-96.3 25.6-123.4 64.7-8.3-3.4-17.4-5.3-26.9-5.3-39.1 0-70.8 34.4-71.4 73.4C26.4 241.5 0 280.5 0 321.5 0 371.7 40.7 416 90.9 416h330.3c50.2 0 90.9-44.3 90.9-94.5-.1-44.7-32.4-84.1-75-91.7z"/></svg>PK}w�\�L�NN"ionicons/svg/md-cloud-download.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M403.002 217.001C388.998 148.002 328.998 96 256 96c-57.998 0-107.998 32.998-132.998 81.001C63.002 183.002 16 233.998 16 296c0 65.996 53.999 120 120 120h260c55 0 100-45 100-100 0-52.998-40.996-96.001-92.998-98.999zM224 268v-76h64v76h68L256 368 156 268h68z"/></svg>PK}w�\+��j��ionicons/svg/ios-hourglass.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M415.6 434h-5.1c-6.5 0-12-.9-12.7-7.4v-.1C383.2 290.6 297.6 288 297.6 256s85.7-34.6 100.2-170.5v-.1c.7-6.5 6.2-7.4 12.7-7.4h5.1c7.5 0 14-5.8 14.4-13.3.4-8-6-14.7-14-14.7H96.4c-7.5 0-14 5.8-14.4 13.3-.4 8 6 14.7 14 14.7h5.5c6.5 0 12 .9 12.7 7.4v.1C128.8 221.4 214.4 224 214.4 256s-85.7 34.6-100.2 170.5v.1c-.7 6.5-6.2 7.4-12.7 7.4h-5.1c-7.5 0-14 5.8-14.4 13.3-.4 8 6 14.7 14 14.7h320c8 0 14.4-6.6 14-14.7-.4-7.5-6.9-13.3-14.4-13.3zm-252.3-34.2c28.7-79.8 79.6-70.1 79.6-101.6v-55.6c0-19.4-36.8-32.9-59.8-64.4-3.8-5.2 0-12.4 6.5-12.4h132.9c6.5 0 10.4 7 6.7 12.2-22.6 31.6-60.1 45.2-60.1 64.6v55.6c0 31.2 48.9 22.7 79.8 101.6 2.8 7.1.7 16-6.9 16H170.2c-7.7 0-9.5-8.8-6.9-16z"/></svg>PK}w�\Y���ionicons/svg/ios-checkbox.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M416 64H96c-17.7 0-32 14.3-32 32v320c0 17.7 14.3 32 32 32h320c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-52.5 134.5L229.8 332.8h-.1c-1.7 1.7-6.3 5.5-11.6 5.5-3.8 0-8.1-2.1-11.7-5.7l-56-56c-1.6-1.6-1.6-4.1 0-5.7l17.8-17.8c.8-.8 1.8-1.2 2.8-1.2 1 0 2 .4 2.8 1.2l44.4 44.4 122-122.9c.8-.8 1.8-1.2 2.8-1.2 1.1 0 2.1.4 2.8 1.2l17.5 18.1c1.8 1.7 1.8 4.2.2 5.8z"/></svg>PK}w�\n%T���ionicons/svg/md-folder-open.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M437.334 144H256.006l-42.668-48H74.666C51.197 96 32 115.198 32 138.667v234.666C32 396.802 51.197 416 74.666 416h362.668C460.803 416 480 396.802 480 373.333V186.667C480 163.198 460.803 144 437.334 144zM448 373.333c0 5.782-4.885 10.667-10.666 10.667H74.666C68.884 384 64 379.115 64 373.333V176h373.334c5.781 0 10.666 4.885 10.666 10.667v186.666z"/></svg>PK}w�\`�/���ionicons/svg/md-tennisball.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M383.8 92.2C348.5 64.5 304.1 48 256 48c-48 0-92.3 16.5-127.6 44 41.6 44.8 64.3 103 64 164.3-.3 61-23.3 118.6-64.9 162.9 35.4 28 80.1 44.8 128.5 44.8 48.5 0 93.3-16.8 128.8-45-41.5-44.3-64.5-101.8-64.8-162.7-.3-61.2 22.3-119.3 63.8-164.1z"/><path d="M353.1 255.1c0 26.9 5.1 53 15.1 77.8 9.6 23.6 23.3 44.9 40.8 63.6 34.1-37.1 55-86.5 55-140.5 0-54.5-21.2-104.2-55.8-141.4-17.1 18.5-30.6 39.6-40 62.7-10 24.8-15.1 51-15.1 77.8zM159.3 255.1c0-26.9-5.1-53-15.1-77.8-9.4-23.2-22.9-44.4-40.2-62.9-34.7 37.2-56 87-56 141.6 0 54.2 21 103.6 55.2 140.7 17.6-18.7 31.4-40.1 41-63.8 10-24.7 15.1-50.9 15.1-77.8z"/></svg>PK}w�\o�&mKKionicons/svg/ios-checkmark.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M362.6 192.9L345 174.8c-.7-.8-1.8-1.2-2.8-1.2-1.1 0-2.1.4-2.8 1.2l-122 122.9-44.4-44.4c-.8-.8-1.8-1.2-2.8-1.2-1 0-2 .4-2.8 1.2l-17.8 17.8c-1.6 1.6-1.6 4.1 0 5.7l56 56c3.6 3.6 8 5.7 11.7 5.7 5.3 0 9.9-3.9 11.6-5.5h.1l133.7-134.4c1.4-1.7 1.4-4.2-.1-5.7z"/></svg>PK}w�\[��h((%ionicons/svg/md-notifications-off.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 463.656c22.814 0 41.475-18.656 41.475-41.656h-82.95c0 23 18.661 41.656 41.475 41.656z"/><path d="M131.083 107.172l.053.074L98.09 74.277 74.004 98.383l63.042 63.153C126.888 180.521 121 202.196 121 225.07v114.555l-41 41.656V402h297.743l36.182 36.33 24.079-24.301L425.9 402h.316L131.083 107.172zM391 225.07c0-63.526-45-117.677-104-131.218V79.274c0-17.706-13.371-31.243-31-31.243-17.628 0-31 13.537-31 31.243v14.578c-15 3.438-29.048 9.501-41.75 17.663L391 319.355V225.07z"/></svg>PK}w�\���ss#ionicons/svg/md-radio-button-on.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 152c-57.2 0-104 46.8-104 104s46.8 104 104 104 104-46.8 104-104-46.8-104-104-104zm0-104C141.601 48 48 141.601 48 256s93.601 208 208 208 208-93.601 208-208S370.399 48 256 48zm0 374.4c-91.518 0-166.4-74.883-166.4-166.4S164.482 89.6 256 89.6 422.4 164.482 422.4 256 347.518 422.4 256 422.4z"/></svg>PK}w�\����XXionicons/svg/ios-call.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M436.9 364.8c-14.7-14.7-50-36.8-67.4-45.1-20.2-9.7-27.6-9.5-41.9.8-11.9 8.6-19.6 16.6-33.3 13.6-13.7-2.9-40.7-23.4-66.9-49.5-26.2-26.2-46.6-53.2-49.5-66.9-2.9-13.8 5.1-21.4 13.6-33.3 10.3-14.3 10.6-21.7.8-41.9C184 125 162 89.8 147.2 75.1c-14.7-14.7-18-11.5-26.1-8.6 0 0-12 4.8-23.9 12.7-14.7 9.8-22.9 18-28.7 30.3-5.7 12.3-12.3 35.2 21.3 95 27.1 48.3 53.7 84.9 93.2 124.3l.1.1.1.1c39.5 39.5 76 66.1 124.3 93.2 59.8 33.6 82.7 27 95 21.3 12.3-5.7 20.5-13.9 30.3-28.7 7.9-11.9 12.7-23.9 12.7-23.9 2.9-8.1 6.2-11.4-8.6-26.1z"/></svg>PK}w�\�^���ionicons/svg/md-egg.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 32C185.6 32 80 165.2 80 288.9S150.4 480 256 480s176-67.4 176-191.1S326.4 32 256 32z"/></svg>PK}w�\���uuionicons/svg/ios-card.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M480 128c0-17.6-14.4-32-32-32H64c-17.6 0-32 14.4-32 32v48h448v-48zM32 384c0 17.6 14.4 32 32 32h384c17.6 0 32-14.4 32-32V224H32v160zm142-48h164c7.7 0 14 6.3 14 14s-6.3 14-14 14H174c-7.7 0-14-6.3-14-14s6.3-14 14-14zm-72 0h12c7.7 0 14 6.3 14 14s-6.3 14-14 14h-12c-7.7 0-14-6.3-14-14s6.3-14 14-14z"/></svg>PK}w�\�[���ionicons/svg/md-pint.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M64 48l42.9 379.2c2.6 20.8 20.5 36.8 42.5 36.8h213.3c22 0 39.9-16 42.5-36.8L448 48H64zm327 124.8H121l-9.4-83.2h288.6l-9.2 83.2z"/></svg>PK}w�\iKLbggionicons/svg/ios-volume-off.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M390.1 464c-4.9 0-9.7-2.5-12.3-7L149.7 69.3c-4-6.7-1.7-15.4 5.1-19.3 6.8-3.9 15.5-1.7 19.5 5.1l228.1 387.7c4 6.7 1.7 15.4-5.1 19.3-2.2 1.3-4.7 1.9-7.2 1.9zM133 200H80c-8.9 0-16 7.2-16 16v80c0 8.8 7.2 16 16 16h53l65.4 52.5c2.9 2.3 6.5 3.5 10.1 3.5 2.4 0 4.7-.5 6.9-1.6 5.6-2.7 9.1-8.3 9.1-14.4V227.9L184 159.1 133 200zM448 256c0-59.3-23.3-114.9-65.5-156.5-4.7-4.7-12.3-4.6-17 .1-4.7 4.7-4.6 12.3.1 17C403.3 153.7 424 203.2 424 256c0 44.4-14.7 86.4-41.7 120.8l13 22C429.4 359.1 448 309 448 256z"/><path d="M385.2 256c0-43.5-16.7-84.3-46.9-114.9-4.7-4.7-12.3-4.8-17-.1-4.7 4.7-4.8 12.3-.1 17 25.8 26.1 40 60.9 40 98.1 0 21.6-4.8 42.5-13.9 61.2l14.2 24.1c15.4-25.4 23.7-54.7 23.7-85.4zM317.6 256c0-27.8-10.7-53.9-30-73.4-4.7-4.7-12.3-4.8-17-.1-.6.6-1.1 1.2-1.6 1.9l48.1 81.8c.3-3.4.5-6.8.5-10.2z"/></svg>PK}w�\��g��ionicons/svg/logo-polymer.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M392.3 96h-77.9L160.8 348.6 109.9 256l87.7-160h-77.9L32 256l87.7 160h77.9l153.7-252.6 50.8 92.6-87.7 160h77.9L480 256 392.3 96z"/></svg>PK}w�\=��1��ionicons/svg/md-bus.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M80 352c0 19.198 13.864 24.531 26.667 36.271v38.396c0 11.729 9.599 21.334 21.333 21.334h21.333c11.734 0 21.334-9.604 21.334-21.334v-21.333h170.666v21.333c0 11.729 9.604 21.334 21.334 21.334H384c11.729 0 21.333-9.604 21.333-21.334v-38.396C418.136 376.531 432 370.136 432 352V148.334C432 73.667 349.864 64 256 64S80 73.667 80 148.334V352zm80 15.989c-18.136 0-32-13.864-32-32 0-18.135 13.864-32 32-32s32 13.865 32 32c0 18.136-13.864 32-32 32zm192 0c-18.136 0-32-13.864-32-32 0-18.135 13.864-32 32-32s32 13.865 32 32c0 18.136-13.864 32-32 32zm32-122.656H128V138.667h256v106.666z"/></svg>PK}w�\��܇��ionicons/svg/logo-windows.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M480 265H232v179l248 36V265zM216 265H32v150l184 26.7V265zM480 32L232 67.4V249h248V32zM216 69.7L32 96v153h184V69.7z"/></svg>PK}w�\^�1�s s ionicons/svg/logo-tux.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M426.3 396c-6.7-4-13.2-11-12-18.8 2.3-15.3 2.5-21.5-.2-25.8-1.9-3.2-5.5-5-8.6-5.8 2-2.5 3.1-5.4 3.8-10.9 1.3-10-4.7-41-12.7-65.7s-29.9-50-44.7-68c-26-31.8-22.8-39.2-26.3-99.7C323.4 62.8 306.3 32 256 32s-67 32-67 59c0 28.7 2 51 2 51 1.3 33.4 1 39.4-8 55.3-4.9 8.7-27 30-35.7 44.7s-7.6 29.5-24.6 52.8c-12.4 17-13.8 28.4-9.7 44-7 8.2-3.6 19.9-5 24.9-2.6 8.7-13.7 10.3-22.3 11s-15.3 0-18.7 5.3.7 16 4.3 30-7.3 15-7.3 31 30 16 59.7 22.7 40.7 16.3 56 16.3 26.8-10.2 38-19.3c7.2-5.9 29-3.7 42.3-3.7s34.3-.6 45.7 2.4S317 480 345 480s34.7-20.7 61-34.3 42-20 42-29.7-15-16-21.7-20zm-226.5 55.5c-1.3 13-12.6 17.1-24.1 16.1-13-1.1-29-7.6-44.1-12.1s-35.5-7.5-49-9.9c-15.3-2.7 0-13.6-.2-34.2-.1-8-7.1-19.4-4.2-24.7s17.3-2.4 22.3-3.8 12.7-5.7 15.3-11.9c1.4-3.4 1.8-17.7 2.9-22.8 1.1-4.9 7.9-7.2 22.2.1s28.9 38.1 42.3 59.8 17.9 30.4 16.6 43.4zm118.5-65.8c2 10.3 3.2 24.5.7 36.3s-7 15.5-10.7 23c-2.2-6.8 5.3-13.8 4.4-30.8-.5-9.5-.8-7.8-11.5 1.8-12.2 10.8-27.6 20.1-53 22.5-21 2-32.5-8.3-32.5-8.3 5 16-4.3 24.7-4.3 24.7.3-3.7.8-14.3-2.5-21.6-4-9-9.3-18.7-9.3-18.7s8.6-2.7 11.6-10 2-17.3-8.7-27.7-52.5-37.6-55.9-42.1c-4.9-6.5-6.7-10.2-7-23.2s5.4-24.8 4.3-20.3c-.8 3.2.1 6.8.1 19.8s7.6 23.3 13.9 25c9.5 2.6 2-26.1 8-53.1s11.7-32.8 19.2-43.8 19.2-20.5 17-43.1-.1-20.1 5.1-11.8c4 6.5 13.3 24 24.7 22 19.4-3.3 43.9-24.6 47.6-28.2 3.7-3.6.7-7.1-2.3-5.8-15.5 6.7-44.3 21.5-51.5 18.2s-18.1-20.6-16.8-19.5c15.4 13.6 19.9 11.1 26.4 9 8.4-2.8 12.8-4.3 28.5-11.3s20.7-5.3 22.3-8.7-.4-6.7-4.7-5.7c-6.4 1.5-3.4 5.1-22.7 12.3-25.3 9.5-33.3 10.3-44 3-8.6-5.9-15-12.7-15-16.7s8.3-8.3 12.3-11.3 12.3-10.9 12.3-10.9 1-7.2-.6-12.7c-1.9-6.5-7.8-9.3-11.9-8.1-4.1 1.1-8 5.5-6.8 14.8 1 8.3 7 11 7 11s-2.7 3.5-5.2 4.7c0 0-.8-.3-3.5-6.3s-6.6-19.5-.3-31.1 19.6-5.2 23.8 3.8c3.9 8.3 2.4 22.7 2.4 22.7 6-2.2 13-2 21 3.5-7.1-29.8 9.5-41.1 22-41.1s22.3 9.6 22.3 25c0 12-3.5 18.2-6.9 22-4.1-.5-8.2-1.5-6.3-3.4 1.3-1.4 4.4-5.7 4.4-13.2s-5.9-13.7-13.7-13.7c-9.2 0-12.6 8.3-13.7 13s-.4 8.6-.2 10.4c.6 5 10.9 9.6 23.9 12.9s11.3 9 8.3 25.3 6.3 18.3 14.3 33.8 5.7 21.8 15.9 35.2 19 47.8 16.4 76.8c-.9 10.5-3.9 10.2 7.3 6.7 5.6-1.7 12-2.7 12-2.7 3.1-6.3 3.4-16.3 3.5-22.3.2-13.5.7-41.5-26.7-71.5 0 0 29.5 21.7 34 62 2.5 22.3-2 32.4-2 32.4 5.3 1.3 9.8 7.3 12.6 11.8 3.7 6.1-3.9-5.8-20-5.8-8.5 0-15.3 3.9-18.5 7.9s-3.1 7.6-3.2 11.7c-7.1-1.2-12.4 0-16.8 4.9-5.6 7-2.8 24.2-.8 34.6zm90.1 47.2c-24.1 10.4-32.7 23.5-47.7 31.5s-27.7 2.3-33.7-8 10.4-28.2 4.7-59.6c-4.4-24.2-6.3-31-4.9-36.8 1.4-5.5 9.4-4.4 11.5-3.9 1.3 5.4 6.7 19.5 27 19.5 0 0 23.2 2.6 32.7-21.2 0 0 5.7-.2 7.2 3.5 2.3 5.8-2.9 16.5-2.8 21.3.3 15.7 11.7 21.1 28.4 32 8.2 5.6 2.1 11.1-22.4 21.7z"/></svg>PK}w�\:(�x��ionicons/svg/md-bonfire.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M272.2 350.6c-.8-8.2-8.2-14.6-17.3-14.6-8.3 0-15.2 5.4-16.9 12.5L221.1 441c-.5 2.3-.8 4.6-.8 7 0 17.7 15.5 32 34.7 32s34.7-14.3 34.7-32c0-2.9-.4-5.7-1.2-8.4l-16.3-89zM310.1 355zM404.3 390.3c-1.9-1.4-3.6-2.9-5.6-3.9l-68.9-47.5c-6.3-3.8-13-3.7-17.9.9-4.5 4.1-5.1 10.4-1.8 15.4l53 65.8c1 1.5 2.3 2.8 3.6 4.2 8.5 9.1 27.2 9.6 37.5 0 10.4-9.8 10.3-27.2.1-34.9zM382.2 335zM450.4 322.5l-64.5-2.3c-4.2-.6-8 2.1-8.7 6-.7 3.6 1.5 7.1 5.1 8.8h.1l62.5 17.8c9 1.9 19.1-2.3 19.1-11.6 0-11.9-3.3-17.5-13.6-18.7zM129.5 335zM129.5 335c3.6-1.6 5.7-5.2 5.1-8.8-.7-4-4.5-6.6-8.7-6l-64.5 2.3C51 323.7 48 329.3 48 341.1c0 9.3 9.9 13.6 18.8 11.6l62.5-17.8c.1.1.1.1.2.1zM182.2 338.8l-68.9 47.4c-2 1.1-3.9 2.4-5.6 3.9-10.4 9.6-10.4 25.1 0 34.6 10.4 9.6 27.1 9.6 37.5 0 1.4-1.3 2.6-2.7 3.6-4.2l53-65.6c3.3-5 2.7-11.2-1.8-15.3-4.8-4.5-12.6-4.8-17.8-.8zM256 32s30.2 35.4 30.2 64.4c0 27.8-18.2 50.3-45.9 50.3-27.9 0-48.9-22.5-48.9-50.3l.4-6.9c-27.2 32.3-43.5 76.2-43.5 121.8 0 59.6 48.2 107.8 107.8 107.8s107.8-48.2 107.8-107.8C363.8 138.7 328 53.7 256 32zm-3.9 246.7c-24 0-43.4-18.9-43.4-42.3 0-21.8 14.1-37.2 37.9-42 23.8-4.9 48.5-16.3 62.3-34.8 5.3 17.4 7.9 35.7 7.9 54.4 0 35.7-29 64.7-64.7 64.7z"/></svg>PK}w�\G����ionicons/svg/md-rocket.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 421.6c-18.1 0-33.2-6.8-42.9-10.9-5.4-2.3-11.3 1.8-10.9 7.6l3.5 51c.2 3.1 3.8 4.7 6.3 2.8l14.5-11c1.8-1.4 4.5-.9 5.7 1l20.5 32.1c1.5 2.4 5.1 2.4 6.6 0l20.5-32.1c1.2-1.9 3.9-2.4 5.7-1l14.5 11c2.5 1.9 6.1.3 6.3-2.8l3.5-51c.4-5.8-5.5-10-10.9-7.6-9.8 4.1-24.8 10.9-42.9 10.9z"/><path d="M397.7 293.1l-48-49.1c0-158-93.2-228-93.2-228s-94.1 70-94.1 228l-48 49.1c-1.8 1.8-2.6 4.5-2.2 7.1L130.6 412c.9 5.7 7.1 8.5 11.8 5.4l67.1-45.4s20.7 20 47.1 20c26.4 0 46.1-20 46.1-20l67.1 45.4c4.6 3.1 10.8.3 11.8-5.4l18.5-111.9c.2-2.6-.6-5.2-2.4-7zM256.5 192c-17 0-30.7-14.3-30.7-32s13.8-32 30.7-32c17 0 30.7 14.3 30.7 32s-13.7 32-30.7 32z"/></svg>PK}w�\d�%���ionicons/svg/md-aperture.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 32C132.288 32 32 132.288 32 256s100.288 224 224 224 224-100.288 224-224S379.712 32 256 32zm135.765 359.765C355.5 428.028 307.285 448 256 448s-99.5-19.972-135.765-56.235C83.972 355.5 64 307.285 64 256s19.972-99.5 56.235-135.765C156.5 83.972 204.715 64 256 64s99.5 19.972 135.765 56.235C428.028 156.5 448 204.715 448 256s-19.972 99.5-56.235 135.765z"/><path d="M200.043 106.067c-40.631 15.171-73.434 46.382-90.717 85.933H256l-55.957-85.933zM412.797 288A160.723 160.723 0 0 0 416 256c0-36.624-12.314-70.367-33.016-97.334L311 288h101.797zM359.973 134.395C332.007 110.461 295.694 96 256 96c-7.966 0-15.794.591-23.448 1.715L310.852 224l49.121-89.605zM99.204 224A160.65 160.65 0 0 0 96 256c0 36.639 12.324 70.394 33.041 97.366L201 224H99.204zM311.959 405.932c40.631-15.171 73.433-46.382 90.715-85.932H256l55.959 85.932zM152.046 377.621C180.009 401.545 216.314 416 256 416c7.969 0 15.799-.592 23.456-1.716L201.164 288l-49.118 89.621z"/></svg>PK}w�\۷���ionicons/svg/md-man.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 106.6c20.6.1 37.3-16.6 37.3-37.3 0-20.6-16.7-37.3-37.3-37.3-20.6 0-37.3 16.7-37.3 37.3 0 20.6 16.7 37.3 37.3 37.3zM293.4 115h-74.8c-28.2 0-46.6 24.8-46.6 48.4V277c0 22 31 22 31 0V172h6v285.6c0 30.4 42 29.4 43 0V293h8v164.7c1.7 31.2 43 28.2 43-.1V172h5v105c0 22 32 22 32 0V163.4c0-23.5-18.5-48.4-46.6-48.4z"/></svg>PK}w�\b�j��ionicons/svg/md-barcode.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M88 128h48v256H88zM232 128h48v256h-48zM160 144h48v224h-48zM304 144h48v224h-48zM376 128h48v256h-48z"/><path d="M104 104V56H16v400h88v-48H64V104zM408 56v48h40v304h-40v48h88V56z"/></svg>PK}w�\�� ionicons/svg/ios-fitness.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M352 280H160c-4.4 0-8-3.6-8-8v-32c0-4.4 3.6-8 8-8h192c4.4 0 8 3.6 8 8v32c0 4.4-3.6 8-8 8zM378 362V150c0-12.1 9.9-22 22-22s22 9.9 22 22v212c0 12.1-9.9 22-22 22s-22-9.9-22-22zM460 192h-12c-4.4 0-8 3.6-8 8v112c0 4.4 3.6 8 8 8h12c11 0 20-9 20-20v-88c0-11-9-20-20-20zM134 362V150c0-12.1-9.9-22-22-22s-22 9.9-22 22v212c0 12.1 9.9 22 22 22s22-9.9 22-22zM64 192H52c-11 0-20 9-20 20v88c0 11 9 20 20 20h12c4.4 0 8-3.6 8-8V200c0-4.4-3.6-8-8-8z"/></svg>PK}w�\���V��ionicons/svg/md-undo.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M262.3 179.6c-57.9 0-110.3 21.6-150.7 56.8L32 160v192h197.5l-79.1-76.8c30.4-25.3 69-41.1 111.8-41.1 77.3 0 143.1 48.2 166 117.8l51.8-14.8c-30.4-91.4-116.2-157.5-217.7-157.5z"/></svg>PK}w�\�ށ��ionicons/svg/md-tv.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M439.3 76H72.7C50.3 76 32 94 32 116v240c0 22 18.3 40 40.7 40h101.8v40h162.9v-40h101.8c22.4 0 40.5-18 40.5-40l.2-240c.1-22-18.2-40-40.6-40zm0 280H72.7V116h366.5v240z"/></svg>PK}w�\��ٸ||ionicons/svg/ios-sunny.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 387c-8.5 0-15.4 6.9-15.4 15.4v46.2c0 8.5 6.9 15.4 15.4 15.4s15.4-6.9 15.4-15.4v-46.2c0-8.5-6.9-15.4-15.4-15.4zM256 48c-8.5 0-15.4 6.9-15.4 15.4v46.2c0 8.5 6.9 15.4 15.4 15.4s15.4-6.9 15.4-15.4V63.4c0-8.5-6.9-15.4-15.4-15.4zM125 256c0-8.5-6.9-15.4-15.4-15.4H63.4c-8.5 0-15.4 6.9-15.4 15.4s6.9 15.4 15.4 15.4h46.2c8.5 0 15.4-6.9 15.4-15.4zM448.6 240.6h-46.2c-8.5 0-15.4 6.9-15.4 15.4s6.9 15.4 15.4 15.4h46.2c8.5 0 15.4-6.9 15.4-15.4s-6.9-15.4-15.4-15.4zM152.5 344.1c-4.1 0-8 1.6-10.9 4.5l-32.7 32.7c-2.9 2.9-4.5 6.8-4.5 10.9s1.6 8 4.5 10.9c2.9 2.9 6.8 4.5 10.9 4.5 4.1 0 8-1.6 10.9-4.5l32.7-32.7c6-6 6-15.8 0-21.8-2.9-2.9-6.8-4.5-10.9-4.5zM359.5 167.9c4.1 0 8-1.6 10.9-4.5l32.7-32.7c2.9-2.9 4.5-6.8 4.5-10.9s-1.6-8-4.5-10.9c-2.9-2.9-6.8-4.5-10.9-4.5-4.1 0-8 1.6-10.9 4.5l-32.7 32.7c-2.9 2.9-4.5 6.8-4.5 10.9s1.6 8 4.5 10.9c2.9 2.9 6.8 4.5 10.9 4.5zM130.7 108.9c-2.9-2.9-6.8-4.5-10.9-4.5-4.1 0-8 1.6-10.9 4.5-2.9 2.9-4.5 6.8-4.5 10.9 0 4.1 1.6 8 4.5 10.9l32.7 32.7c2.9 2.9 6.8 4.5 10.9 4.5 4.1 0 8-1.6 10.9-4.5 2.9-2.9 4.5-6.8 4.5-10.9s-1.6-8-4.5-10.9l-32.7-32.7zM370.4 348.6c-2.9-2.9-6.8-4.5-10.9-4.5-4.1 0-8 1.6-10.9 4.5-6 6-6 15.8 0 21.8l32.7 32.7c2.9 2.9 6.8 4.5 10.9 4.5 4.1 0 8-1.6 10.9-4.5 2.9-2.9 4.5-6.8 4.5-10.9s-1.6-8-4.5-10.9l-32.7-32.7zM256 160c-52.9 0-96 43.1-96 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96z"/></svg>PK}w�\�/��/ionicons/svg/ios-information-circle-outline.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M235.4 172.2c0-11.4 9.3-19.9 20.5-19.9 11.4 0 20.7 8.5 20.7 19.9s-9.3 20-20.7 20c-11.2 0-20.5-8.6-20.5-20zm1.4 35.7H275V352h-38.2V207.9z"/><path d="M256 76c48.1 0 93.3 18.7 127.3 52.7S436 207.9 436 256s-18.7 93.3-52.7 127.3S304.1 436 256 436c-48.1 0-93.3-18.7-127.3-52.7S76 304.1 76 256s18.7-93.3 52.7-127.3S207.9 76 256 76m0-28C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48z"/></svg>PK}w�\���e��ionicons/svg/md-bookmark.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M360 64H152c-22.002 0-40 17.998-40 40v344l144-64 144 64V104c0-22.002-17.998-40-40-40z"/></svg>PK}w�\�E��!ionicons/svg/ios-code-working.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M446.1 251.6L332 142.7c-1.2-1.1-2.7-1.7-4.1-1.7s-3 .6-4.1 1.7L310 155.9c-1.2 1.1-1.9 2.7-1.9 4.3 0 1.6.7 3.2 1.9 4.3l95.8 91.5-95.8 91.5c-1.2 1.1-1.9 2.7-1.9 4.3 0 1.6.7 3.2 1.9 4.3l13.8 13.2c1.2 1.1 2.6 1.7 4.1 1.7 1.5 0 3-.6 4.1-1.7l114.2-109c1.2-1.1 1.9-2.7 1.9-4.3-.1-1.7-.8-3.2-2-4.4zM106.3 256l95.8-91.5c1.2-1.1 1.9-2.7 1.9-4.3 0-1.6-.7-3.2-1.9-4.3l-13.8-13.2c-1.2-1.1-2.7-1.7-4.1-1.7s-3 .6-4.1 1.7l-114.2 109c-1.2 1.1-1.9 2.7-1.9 4.3 0 1.6.7 3.2 1.9 4.3l114.2 109c1.2 1.1 2.7 1.7 4.1 1.7 1.5 0 3-.6 4.1-1.7l13.8-13.2c1.2-1.1 1.9-2.7 1.9-4.3 0-1.6-.7-3.2-1.9-4.3L106.3 256z"/><circle cx="256" cy="256" r="22"/><circle cx="192" cy="256" r="22"/><circle cx="320" cy="256" r="22"/></svg>PK}w�\9A���ionicons/svg/md-ribbon.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 32c-70.7 0-128 57.3-128 128s57.3 128 128 128 128-57.3 128-128S326.7 32 256 32zm0 208c-44.2 0-80-35.8-80-80s35.8-80 80-80 80 35.8 80 80-35.8 80-80 80zM193.7 307.4c-19.1-8.1-36.2-19.6-50.8-34.3-1.4-1.4-2.8-2.8-4.1-4.3L64 400h96l48 80 48-105.8 25.5-56.2c-8.4 1.3-16.9 2-25.5 2-21.6 0-42.5-4.2-62.3-12.6zM373.3 268.9c-1.3 1.4-2.7 2.9-4.1 4.3-14.6 14.6-31.7 26.2-50.7 34.2L294 361.2l-21.9 48.4L304 480l48-80h96l-74.7-131.1z"/></svg>PK}w�\*�ZC��ionicons/svg/ios-disc.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 165.8c-49.9 0-90.3 40.4-90.3 90.3s40.4 90.2 90.3 90.2 90.3-40.4 90.3-90.2c0-49.9-40.4-90.3-90.3-90.3zm0 130.6c-22.3 0-40.4-18.1-40.4-40.4s18.1-40.4 40.4-40.4 40.4 18.1 40.4 40.4-18.1 40.4-40.4 40.4z"/><path d="M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zm0 322c-63 0-114-51.1-114-114 0-63 51.1-114 114-114s114 51 114 114-51 114-114 114z"/></svg>PK}w�\y���!ionicons/svg/md-skip-backward.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M170.7 256L448 448V64L170.7 256zM64 64h64v384H64z"/></svg>PK}w�\ꫢ�NN%ionicons/svg/ios-arrow-round-back.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M216.4 163.7c5.1 5 5.1 13.3.1 18.4L155.8 243h231.3c7.1 0 12.9 5.8 12.9 13s-5.8 13-12.9 13H155.8l60.8 60.9c5 5.1 4.9 13.3-.1 18.4-5.1 5-13.2 5-18.3-.1l-82.4-83c-1.1-1.2-2-2.5-2.7-4.1-.7-1.6-1-3.3-1-5 0-3.4 1.3-6.6 3.7-9.1l82.4-83c4.9-5.2 13.1-5.3 18.2-.3z"/></svg>PK}w�\nٝ+��ionicons/svg/md-airplane.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M448 336v-40L288 192V79.2c0-17.7-14.8-31.2-32-31.2s-32 13.5-32 31.2V192L64 296v40l160-48v113.6l-48 31.2V464l80-16 80 16v-31.2l-48-31.2V288l160 48z"/></svg>PK}w�\CA_ionicons/svg/md-list-box.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M408 64H104c-22.091 0-40 17.908-40 40v304c0 22.092 17.909 40 40 40h304c22.092 0 40-17.908 40-40V104c0-22.092-17.908-40-40-40zM304 368H144v-48h160v48zm64-88H144v-48h224v48zm0-88H144v-48h224v48z"/></svg>PK}w�\f�"ionicons/svg/md-people.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M337.454 232c33.599 0 61.092-27.002 61.092-60 0-32.997-27.493-60-61.092-60s-61.09 27.003-61.09 60c0 32.998 27.491 60 61.09 60zm-162.908 0c33.599 0 61.09-27.002 61.09-60 0-32.997-27.491-60-61.09-60s-61.092 27.003-61.092 60c0 32.998 27.493 60 61.092 60zm0 44C126.688 276 32 298.998 32 346v54h288v-54c0-47.002-97.599-70-145.454-70zm162.908 11.003c-6.105 0-10.325 0-17.454.997 23.426 17.002 32 28 32 58v54h128v-54c0-47.002-94.688-58.997-142.546-58.997z"/></svg>PK}w�\����ionicons/svg/ios-lock.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M376 192h-24v-46.7c0-52.7-42-96.5-94.7-97.3-53.4-.7-97.3 42.8-97.3 96v48h-24c-22 0-40 18-40 40v192c0 22 18 40 40 40h240c22 0 40-18 40-40V232c0-22-18-40-40-40zM270 316.8v68.8c0 7.5-5.8 14-13.3 14.4-8 .4-14.7-6-14.7-14v-69.2c-11.5-5.6-19.1-17.8-17.9-31.7 1.4-15.5 14.1-27.9 29.6-29 18.7-1.3 34.3 13.5 34.3 31.9 0 12.7-7.3 23.6-18 28.8zM324 192H188v-48c0-18.1 7.1-35.1 20-48s29.9-20 48-20 35.1 7.1 48 20 20 29.9 20 48v48z"/></svg>PK}w�\`��� ionicons/svg/ios-thumbs-down.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M80.7 123.2c-7.5 6.3-16.7 16.1-16.7 31.4 0 13.7 5.7 22.8 10.9 29.1.6 1.2 1.1 2.3 1.6 3.4l.2 1.1c.7 3.5 0 7.1-2 10-3.4 5-5.8 12.3-5.8 25.7 0 11.6 4.8 18.4 9.7 23.2 4.4 4.3 6.1 12.5 4.1 18.3-4.8 13.9-.2 28.4 8.2 37.8 10.5 11.8 20.3 13.2 46.4 11.7 18-1.1 55.5-6.9 80.2-10.8 10.1-1.6 18.9-3 21.6-3.2 12.7-1.3 15.2 0 16.4 4.9.5 2.1-1.9 6.9-4.9 13-4 8.1-9.5 19.2-14.5 35.8-10.1 33.2-9 69.2 2.7 90.2 5.5 9.9 14.8 19.1 26.3 19.1s23.3-2.4 27.9-7.9c3.4-4 2.3-11.6 6.2-26.8 3.1-12.4 7-30.9 12-42 7.5-16.6 39.7-45.1 57-60.4 4.1-3.6 7.6-6.7 10.1-9.1 8.7-8.1 17.6-21.1 25.5-32.7 5.4-7.8 10.4-15.2 13.7-18.5 7.1-7.1 16.6-10.9 22.3-10.9 4.4 0 8-3.6 8-8V88.1c0-4.6-3.7-8.3-8.3-8.3C404 79.8 389 74 373.1 68c-12.2-4.7-24.9-9.5-46.4-12.1-32.4-4-74.2-8.1-112.6-8.1-20.4 0-39.9 2-56.6 3.9-31 3.6-64.2 10.8-75.2 37-4.1 9.7-2.2 17.6.5 23.7.4.8.7 1.7.8 2.6.6 3.3-.6 6.3-2.9 8.2z"/></svg>PK}w�\���jionicons/svg/md-square.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M405.333 64H106.667C83.198 64 64 83.198 64 106.667v298.666C64 428.802 83.198 448 106.667 448h298.666C428.802 448 448 428.802 448 405.333V106.667C448 83.198 428.802 64 405.333 64z"/></svg>PK}w�\��GOO'ionicons/svg/md-arrow-round-forward.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M284.9 412.6l138.1-134c6-5.8 9-13.7 9-22.4v-.4c0-8.7-3-16.6-9-22.4l-138.1-134c-12-12.5-31.3-12.5-43.2 0-11.9 12.5-11.9 32.7 0 45.2l83 79.4h-214c-17 0-30.7 14.3-30.7 32 0 18 13.7 32 30.6 32h214l-83 79.4c-11.9 12.5-11.9 32.7 0 45.2 12 12.5 31.3 12.5 43.3 0z"/></svg>PK}w�\Q��!ionicons/svg/ios-return-right.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M441.5 265.4L381.9 206c-2.6-2.6-6.1-4.1-9.9-4.1-3.7 0-7.3 1.4-9.9 4.1-2.6 2.6-4.1 6.1-4.1 9.9s1.5 7.3 4.1 9.9l.1.1 41.1 40.1H142c-13.2 0-25.8-5.2-35.3-14.7-9.5-9.5-14.7-22-14.7-35.3v-48c0-7.7-6.3-14-14-14s-14 6.3-14 14v48c0 20.8 8.1 40.3 22.9 55.1 14.8 14.8 34.3 22.9 55.1 22.9h261.7L364 334.2c-2.6 2.6-4.1 6.1-4.1 9.9 0 3.7 1.4 7.3 4.1 9.9l.1.1c2.7 2.5 6.2 3.9 9.8 3.9 3.9 0 7.3-1.4 9.9-4.1l57.6-57.4c4.2-4.2 6.5-9.8 6.5-15.7.1-5.8-2.2-11.3-6.4-15.4z"/></svg>PK}w�\u�2��ionicons/svg/logo-tumblr.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M321.2 396.3c-11.8 0-22.4-2.8-31.5-8.3-6.9-4.1-11.5-9.6-14-16.4-2.6-6.9-3.6-22.3-3.6-46.4V224h96v-64h-96V48h-61.9c-2.7 21.5-7.5 44.7-14.5 58.6-7 13.9-14 25.8-25.6 35.7-11.6 9.9-25.6 17.9-41.9 23.3V224h48v140.4c0 19 2 33.5 5.9 43.5 4 10 11.1 19.5 21.4 28.4 10.3 8.9 22.8 15.7 37.3 20.5 14.6 4.8 31.4 7.2 50.4 7.2 16.7 0 30.3-1.7 44.7-5.1 14.4-3.4 30.5-9.3 48.2-17.6v-65.6c-20.9 13.7-41.8 20.6-62.9 20.6z"/></svg>PK}w�\���[iiionicons/svg/md-options.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M32 384h272v32H32zM400 384h80v32h-80zM384 447.5c0 17.949-14.327 32.5-32 32.5-17.673 0-32-14.551-32-32.5v-95c0-17.949 14.327-32.5 32-32.5 17.673 0 32 14.551 32 32.5v95z"/><g><path d="M32 240h80v32H32zM208 240h272v32H208zM192 303.5c0 17.949-14.327 32.5-32 32.5-17.673 0-32-14.551-32-32.5v-95c0-17.949 14.327-32.5 32-32.5 17.673 0 32 14.551 32 32.5v95z"/></g><g><path d="M32 96h272v32H32zM400 96h80v32h-80zM384 159.5c0 17.949-14.327 32.5-32 32.5-17.673 0-32-14.551-32-32.5v-95c0-17.949 14.327-32.5 32-32.5 17.673 0 32 14.551 32 32.5v95z"/></g></svg>PK}w�\�q�6]](ionicons/svg/ios-arrow-dropup-circle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 464c114.9 0 208-93.1 208-208S370.9 48 256 48 48 141.1 48 256s93.1 208 208 208zm0-244.5l-81.1 81.9c-7.5 7.5-19.8 7.5-27.3 0s-7.5-19.8 0-27.3l95.7-95.4c7.3-7.3 19.1-7.5 26.6-.6l94.3 94c3.8 3.8 5.7 8.7 5.7 13.7 0 4.9-1.9 9.9-5.6 13.6-7.5 7.5-19.7 7.6-27.3 0l-81-79.9z"/></svg>PK}w�\, �*aa*ionicons/svg/ios-arrow-dropleft-circle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zm43.4 289.1c7.5 7.5 7.5 19.8 0 27.3-3.8 3.8-8.7 5.6-13.6 5.6s-9.9-1.9-13.7-5.7l-94-94.3c-6.9-7.6-6.7-19.3.6-26.6l95.4-95.7c7.5-7.5 19.7-7.6 27.3 0 7.5 7.5 7.6 19.7 0 27.3l-81.9 81 79.9 81.1z"/></svg>PK}w�\�S�rionicons/svg/ios-megaphone.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M90.1 187c0-33.4 17.1-62.8 43.5-78.9 2.8-1.7 1.6-6-1.7-6-38.2 0-68.5 30.4-74.1 69.8-5.6.9-9.9 7.3-9.9 14.9 0 8 4.7 14.3 10.8 14.8 6.7 33.8 33.8 55.4 61.2 64.5 4.3.9 7.1-4.5 3.8-7.5-19.6-17.7-33.6-44.3-33.6-71.6z"/><path d="M450.2 102.8c-1-2.7-2.1-5.2-3.2-7.7-6-13.4-13.4-24.2-21.7-32.2-10.5-9.7-21.4-14.9-34.8-14.9-13.5 0-21.5 5.2-25.8 7.8-43.1 25.9-112.3 46-154 46s-39.4.2-39.4.2c-31.6 14-54.8 46.9-54.8 85 0 34.2 17.8 64.2 44.4 80 12.1 10.1 23.6 8.8 21.1 22.2-2.5 13.4-22.5 97.5-25 115s-2.9 27.5 4 36c7 8.5 49.5 23.8 68 23.8s13.8-8.7 13.8-43.8-9.3-131.7 16.5-131.7c48.3 0 73.5 17.3 111.3 31.7 9 3.4 14.1 4.7 20.1 4.7 6 0 18.7-1.9 34.7-18.2 9.2-9.4 15.7-18.8 21.7-32.2 1.1-2.6 2.2-5.2 3.3-8 8.9-23.2 13.7-51.9 13.7-81.9-.1-29.8-4.9-58.6-13.9-81.8zm-26.6 157c-6.4 15.7-17.6 28.2-26.9 28.2-9.3 0-17.8-12.5-24.2-28.2-7.5-18.3-12.3-45-12.3-74.7 0-29.8 4.8-56.6 12.3-74.9 6.4-15.6 14.9-25 24.1-25 9.3 0 20.3 9.5 26.8 25 7.6 18.3 14.5 45.1 14.5 74.9.1 29.7-6.8 56.4-14.3 74.7z"/></svg>PK}w�\*���ionicons/svg/ios-refresh.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M433 288.8c-7.7 0-14.3 5.9-14.9 13.6-6.9 83.1-76.8 147.9-161.8 147.9-89.5 0-162.4-72.4-162.4-161.4 0-87.6 70.6-159.2 158.2-161.4 2.3-.1 4.1 1.7 4.1 4v50.3c0 12.6 13.9 20.2 24.6 13.5L377 128c10-6.3 10-20.8 0-27.1l-96.1-66.4c-10.7-6.7-24.6.9-24.6 13.5v45.7c0 2.2-1.7 4-3.9 4C148 99.8 64 184.6 64 288.9 64 394.5 150.1 480 256.3 480c100.8 0 183.4-76.7 191.6-175.1.8-8.7-6.2-16.1-14.9-16.1z"/></svg>PK}w�\`>��ionicons/svg/ios-happy.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zm72 152c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm-144 0c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm72 169c-44.7 0-82.3-29.9-94.2-70.7-1.5-5.1 2.3-10.3 7.7-10.3h172.9c5.3 0 9.2 5.1 7.7 10.3-11.8 40.8-49.4 70.7-94.1 70.7z"/></svg>PK}w�\P�IIionicons/svg/ios-flask.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M437.4 354.4L320.7 159.9c-.4-.6-.6-1.3-.6-2.1V80c0-2.2 1.8-4 4-4 6.6 0 12-5.4 12-12v-4c0-6.6-5.4-12-12-12H187.8c-6.6 0-12 5.4-12 12v4c0 6.6 5.4 12 12 12 2.2 0 4 1.8 4 4v77.9c0 .7-.2 1.4-.6 2L75.7 354.4c-8.4 15.8-12.5 31.4-12.1 45.6 1.1 36.5 28.8 64 65.2 64h256.6c36.4 0 62.3-27.6 63.2-64 .2-14.2-2.7-29.7-11.2-45.6zM161.8 288c-6.2 0-10.1-6.8-6.9-12.1l60.5-101.7c2.9-4.9 4.5-10.6 4.5-16.3V80c0-1.4-.1-2.7-.2-4h72.7c-.2 1.3-.2 2.6-.2 4v77.9c0 5.8 1.6 11.5 4.6 16.4l60.4 101.6c3.2 5.3-.7 12.1-6.9 12.1H161.8z"/></svg>PK}w�\�w�;;ionicons/svg/ios-sad.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.1 48 48 141.1 48 256c0 114.7 93.3 208 208 208 114.9 0 208-93.1 208-208 0-114.7-93.3-208-208-208zm-73.9 152.1c14.8-1.2 27 11.1 25.9 25.9-.9 11.6-10.3 21.1-22 22-14.8 1.2-27-11.1-25.9-25.9.9-11.7 10.3-21.1 22-22zm-.7 151.9c-11.5 0-19.3-11.8-14.7-22.4 15-34.5 49.2-58.6 89.3-58.6s74.2 24.1 89.3 58.6c4.6 10.6-3.1 22.4-14.7 22.4 0 0-34.7-4-73.1-4-38.5 0-76.1 4-76.1 4zm148.5-104.1c-14.8 1.2-27-11.1-25.9-25.9.9-11.6 10.3-21.1 22-22 14.8-1.2 27 11.1 25.9 25.9-.9 11.7-10.3 21.1-22 22z"/></svg>PK}w�\%5Jɴ�ionicons/svg/md-lock.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M376 186h-20v-40c0-55-45-100-100-100S156 91 156 146v40h-20c-22.002 0-40 17.998-40 40v200c0 22.002 17.998 40 40 40h240c22.002 0 40-17.998 40-40V226c0-22.002-17.998-40-40-40zM256 368c-22.002 0-40-17.998-40-40s17.998-40 40-40 40 17.998 40 40-17.998 40-40 40zm62.002-182H193.998v-40c0-34.004 28.003-62.002 62.002-62.002 34.004 0 62.002 27.998 62.002 62.002v40z"/></svg>PK}w�\�G�K��ionicons/svg/ios-thumbs-up.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M431.3 388.8c7.5-6.3 16.7-16.1 16.7-31.4 0-13.7-5.7-22.8-10.9-29.1-.6-1.2-1.1-2.3-1.6-3.4l-.2-1.1c-.7-3.5 0-7.1 2-10 3.4-5 5.8-12.3 5.8-25.7 0-11.6-4.8-18.4-9.7-23.2-4.4-4.3-6.1-12.5-4.1-18.3 4.8-13.9.2-28.4-8.2-37.8-10.5-11.8-20.3-13.2-46.4-11.7-18 1.1-55.5 6.9-80.2 10.8-10.1 1.6-18.9 3-21.6 3.2-12.7 1.3-15.2 0-16.4-4.9-.5-2.1 1.9-6.9 4.9-13 4-8.1 9.5-19.2 14.5-35.8 10.1-33.2 9-69.2-2.7-90.2-5.5-9.9-14.8-19.1-26.3-19.1S223.6 50.5 219 56c-3.4 4-2.3 11.6-6.2 26.8-3.1 12.4-7 30.9-12 42-7.5 16.6-39.7 45.1-57 60.4-4.1 3.6-7.6 6.7-10.1 9.1-8.7 8.1-17.6 21.1-25.5 32.7-5.4 7.8-10.4 15.2-13.7 18.5-7.1 7.1-16.6 10.9-22.3 10.9-4.4 0-8 3.6-8 8v159.5c0 4.6 3.7 8.3 8.3 8.3 35.5 0 50.5 5.8 66.4 11.8 12.2 4.7 24.9 9.5 46.4 12.1 32.4 4 74.2 8.1 112.6 8.1 20.4 0 39.9-2 56.6-3.9 31-3.6 64.2-10.8 75.2-37 4.1-9.7 2.2-17.6-.5-23.7-.4-.8-.7-1.7-.8-2.6-.6-3.3.6-6.3 2.9-8.2z"/></svg>PK}w�\e�5`$ionicons/svg/ios-phone-landscape.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M32 176.3v158.5c0 18.3 14.6 33.1 32.9 33.1h381c18.4 0 34.1-14.8 34.1-33.1V176.3c0-18.3-15.7-32.3-34.1-32.3h-381C46.6 144 32 158 32 176.3zM55 271v-30c0-2.2 1.8-4 4-4s4 1.8 4 4v30c0 2.2-1.8 4-4 4s-4-1.8-4-4zm414-15.5c0 9.6-7.8 17.4-17.4 17.4-9.6 0-17.4-7.8-17.4-17.4 0-9.6 7.8-17.4 17.4-17.4 9.6 0 17.4 7.8 17.4 17.4zM424 160v192H83V160h341z"/><path d="M441.6 255.5c0 5.5 4.5 10 9.9 10 5.5 0 10-4.5 10-10s-4.5-10-10-10c-5.4.1-9.9 4.5-9.9 10z"/></svg>PK}w�\,0�R��#ionicons/svg/ios-phone-portrait.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M335.7 32H177.1C158.8 32 144 46.6 144 64.9v381c0 18.4 14.8 34.1 33.1 34.1h158.5c18.3 0 32.3-15.7 32.3-34.1v-381C368 46.6 354 32 335.7 32zM241 55h30c2.2 0 4 1.8 4 4s-1.8 4-4 4h-30c-2.2 0-4-1.8-4-4s1.8-4 4-4zm15.5 410c-9.6 0-17.4-7.8-17.4-17.4 0-9.6 7.8-17.4 17.4-17.4 9.6 0 17.4 7.8 17.4 17.4 0 9.6-7.8 17.4-17.4 17.4zm93.5-49H162c-1.1 0-2-.9-2-2V85c0-1.1.9-2 2-2h188c1.1 0 2 .9 2 2v329c0 1.1-.9 2-2 2z"/></svg>PK}w�\o�x��ionicons/svg/logo-markdown.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M447.659 96H64.341C46.504 96 32 110.484 32 128.308v255.349C32 401.493 46.504 416 64.341 416h383.318C465.496 416 480 401.493 480 383.656V128.308C480 110.484 465.496 96 447.659 96zM284.023 352h-56.048v-96l-42.04 53.878L143.913 256v96H87.869V160h56.044l42.022 67.98 42.04-67.98h56.048v192zm83.657 0l-69.635-96h42v-96h56.043v96h42.027l-70.453 96h.018z"/></svg>PK}w�\l˩���ionicons/svg/ios-build.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M441.1 131.1l-44.9 45.1c-.9.9-2.3 1.3-3.5 1.1l-46.4-8.4c-1.6-.3-2.9-1.6-3.2-3.2l-8.3-46.4c-.2-1.3.2-2.6 1.1-3.5l44.8-45c3.5-3.5 3-9.3-1-12.1-10.1-7.2-22.1-10.7-31.8-10.7-.7 0-1.4 0-2 .1-12.5.7-39.3 7.7-60 29.7-20.1 21.2-41.1 60.6-22.5 104.5 2.2 5.3 4.7 12.3-2.7 19.7C253.1 209.4 61 390.3 61 390.3c-18 15.5-16.7 44.2-.1 60.9 8.5 8.4 20 12.8 31.3 12.8 11.1 0 21.9-4.2 29.6-13.1 0 0 179.4-191.1 188.2-199.8 4-3.9 7.7-5.1 11.1-5.1 3.3 0 6.3 1.2 8.6 2.4 9.9 5.1 21 7.4 32.4 7.4 26.8 0 55-12.4 72.2-29.6 24.4-24.4 28.9-48 29.6-60.1.6-9.9-2.2-22.6-10.7-34.2-2.9-3.8-8.6-4.2-12.1-.8zM102.5 429.3c-5.5 5.4-14.4 5.4-19.9 0-5.4-5.5-5.4-14.4 0-19.9 5.5-5.4 14.4-5.4 19.9 0 5.4 5.6 5.4 14.5 0 19.9z"/></svg>PK}w�\X@�7��ionicons/svg/ios-create.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M404.3 86l-202 202c-1.5 1.5-2.3 3.5-2.3 5.6v26.5c0 4.4 3.6 7.9 7.9 7.9h26.3c2.1 0 4.2-.8 5.7-2.3l202.1-202c3.1-3.1 3.1-8.1 0-11.2L415.5 86c-3.1-3.1-8.1-3.1-11.2 0zM475.6 67l-14.4-14.4-.2-.2c-3.1-2.7-7.2-4.4-11.5-4.4-4.4 0-8.5 1.7-11.6 4.5l-11.3 11.4c-1.5 1.6-1.5 4.1 0 5.6L437 79.9l21.7 21.7c1.6 1.6 4.1 1.6 5.7 0l11.3-11.3c2.8-3.1 4.4-7.1 4.4-11.6-.1-4.4-1.7-8.6-4.5-11.7z"/><g><path d="M250 342c-3 3-7.1 4.7-11.3 4.7H197.3c-8.8 0-16-7.2-16-16V289.2c0-4.2 1.7-8.3 4.7-11.3l.8-.8 147.6-147.6c2.5-2.5.7-6.8-2.8-6.8H90.7C58.3 122.7 32 149 32 181.4v224c0 32.4 26.3 58.7 58.7 58.7h256c32.4 0 58.7-26.3 58.7-58.7v-209c0-3.6-4.3-5.3-6.8-2.8L250.8 341.2l-.8.8z"/></g></svg>PK}w�\92���"ionicons/svg/ios-arrow-forward.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M294.1 256L167 129c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.3 34 0L345 239c9.1 9.1 9.3 23.7.7 33.1L201.1 417c-4.7 4.7-10.9 7-17 7s-12.3-2.3-17-7c-9.4-9.4-9.4-24.6 0-33.9l127-127.1z"/></svg>PK}w�\�Y���%ionicons/svg/ios-tablet-landscape.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M39 103c-4.5 4.5-7 10.6-7 16.9V392c0 6.4 2.5 12.4 7 16.9 4.5 4.5 10.6 7 16.9 7H456c6.4 0 12.4-2.5 16.9-7 4.5-4.5 7-10.6 7-16.9V119.9c0-6.4-2.5-12.4-7-16.9-4.5-4.5-10.6-7-16.9-7H55.9c-6.3 0-12.4 2.5-16.9 7zm9.7 153.4c0-3.9 3.1-7 7-7s7 3.1 7 7-3.1 7-7 7c-3.8 0-7-3.2-7-7zM470 256c0 7.7-6.5 14-14.1 14-7.5 0-14-6.2-14-14 0-7.7 6.4-14.1 14-14.1 7.6.1 14.1 6.4 14.1 14.1zm-38-144v288H80V112h352z"/></svg>PK}w�\s��Dddionicons/svg/logo-facebook.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M426.8 64H85.2C73.5 64 64 73.5 64 85.2v341.6c0 11.7 9.5 21.2 21.2 21.2H256V296h-45.9v-56H256v-41.4c0-49.6 34.4-76.6 78.7-76.6 21.2 0 44 1.6 49.3 2.3v51.8h-35.3c-24.1 0-28.7 11.4-28.7 28.2V240h57.4l-7.5 56H320v152h106.8c11.7 0 21.2-9.5 21.2-21.2V85.2c0-11.7-9.5-21.2-21.2-21.2z"/></svg>PK}w�\���4QQionicons/svg/ios-jet.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M464 48s-19.8 1.4-53.1 27.2c-15.5 12-162.2 120.6-162.2 120.6L89 187.9l-41 36.5 102 51.2-8 10.1-81.6 4.1-6.7 33.6 60.6 47.2-26.7 53.6 53.7-26.5 47.3 60.6 33.6-6.7 4.1-81.6 10.1-7.9L287.6 464l36.5-40.9-7.9-159.7s108.6-146.7 120.6-162C462.7 67.8 464 48 464 48z"/></svg>PK}w�\��9:��)ionicons/svg/md-arrow-dropleft-circle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M464 256c0-114.875-93.125-208-208-208S48 141.125 48 256s93.125 208 208 208 208-93.125 208-208zm-272 0l96-96v192l-96-96z"/></svg>PK}w�\@�v5ionicons/svg/ios-arrow-up.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 217.9L383 345c9.4 9.4 24.6 9.4 33.9 0 9.4-9.4 9.3-24.6 0-34L273 167c-9.1-9.1-23.7-9.3-33.1-.7L95 310.9c-4.7 4.7-7 10.9-7 17s2.3 12.3 7 17c9.4 9.4 24.6 9.4 33.9 0l127.1-127z"/></svg>PK}w�\�_�a��ionicons/svg/ios-videocam.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M450.6 153.6c-3.3 0-6.5.9-9.3 2.7l-86.5 54.6c-2.5 1.6-4 4.3-4 7.2v76c0 2.9 1.5 5.6 4 7.2l86.5 54.6c2.8 1.7 6 2.7 9.3 2.7h20.8c4.8 0 8.6-3.8 8.6-8.5v-188c0-4.7-3.9-8.5-8.6-8.5h-20.8zM273.5 384h-190C55.2 384 32 360.8 32 332.6V179.4c0-28.3 23.2-51.4 51.4-51.4h190c28.3 0 51.4 23.2 51.4 51.4v153.1c.1 28.3-23 51.5-51.3 51.5z"/></svg>PK}w�\k$�{{ionicons/svg/md-mail-unread.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><circle cx="432" cy="128" r="64"/><path d="M382.9 203.4L256 288 80 170.7V128l176 117.3 101.1-67.4c-9.5-14.3-15.1-31.5-15.1-49.9 0-17.6 5.1-34.1 13.9-48H74.7C51.2 80 32 99.2 32 122.7v266.7c0 23.5 19.2 42.7 42.7 42.7h362.7c23.5 0 42.7-19.2 42.7-42.7V204.1c-13.9 8.8-30.4 13.9-48 13.9-18.2 0-35.1-5.4-49.2-14.6z"/></svg>PK}w�\L�bGggionicons/svg/ios-calculator.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M372 48H140c-17.7 0-32 14.3-32 32v352c0 17.7 14.3 32 32 32h232c17.7 0 32-14.3 32-32V80c0-17.7-14.3-32-32-32zm-12 272v80c0 13.3-10.7 24-24 24s-24-10.7-24-24v-80c0-13.3 10.7-24 24-24s24 10.7 24 24zm0-80c0 13.3-10.7 24-24 24s-24-10.7-24-24 10.7-24 24-24 24 10.7 24 24zm-80 160c0 13.3-10.7 24-24 24s-24-10.7-24-24 10.7-24 24-24 24 10.7 24 24zm0-80c0 13.3-10.7 24-24 24s-24-10.7-24-24 10.7-24 24-24 24 10.7 24 24zm0-80c0 13.3-10.7 24-24 24s-24-10.7-24-24 10.7-24 24-24 24 10.7 24 24zm-80 160c0 13.3-10.7 24-24 24s-24-10.7-24-24 10.7-24 24-24 24 10.7 24 24zm0-80c0 13.3-10.7 24-24 24s-24-10.7-24-24 10.7-24 24-24 24 10.7 24 24zm0-80c0 13.3-10.7 24-24 24s-24-10.7-24-24 10.7-24 24-24 24 10.7 24 24zm-48-80v-48c0-8.8 7.2-16 16-16h176c8.8 0 16 7.2 16 16v48c0 8.8-7.2 16-16 16H168c-8.8 0-16-7.2-16-16z"/></svg>PK}w�\�3Lmmionicons/svg/ios-rocket.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M461.8 53.6c-.4-1.7-1.6-3-3.3-3.4-54.4-13.3-180.1 34.1-248.2 102.2-13.3 13.3-24.2 26.4-33.1 39.1-21-1.9-42-.3-59.9 7.5-50.5 22.2-65.2 80.2-69.3 105.1-1 5.9 3.9 11 9.8 10.4l81.1-8.9c.1 7.8.6 14 1.1 18.3.4 4.2 2.3 8.1 5.3 11.1l31.4 31.4c3 3 6.9 4.9 11.1 5.3 4.3.5 10.5 1 18.2 1.1l-8.9 81c-.6 5.9 4.5 10.8 10.4 9.8 24.9-4 83-18.7 105.1-69.2 7.8-17.9 9.4-38.8 7.6-59.7 12.7-8.9 25.9-19.8 39.2-33.1 68.4-68 115.5-190.9 102.4-248zM298.6 213.5c-16.7-16.7-16.7-43.7 0-60.4 16.7-16.7 43.7-16.7 60.4 0 16.7 16.7 16.7 43.7 0 60.4-16.7 16.7-43.7 16.7-60.4 0z"/><path d="M174.5 380.5c-4.2 4.2-11.7 6.6-19.8 8-18.2 3.1-34.1-12.8-31-31 1.4-8.1 3.7-15.6 7.9-19.7l.1-.1c2.3-2.3.4-6.1-2.8-5.7-9.8 1.2-19.4 5.6-26.9 13.1-18 18-19.7 84.8-19.7 84.8s66.9-1.7 84.9-19.7c7.6-7.6 11.9-17.1 13.1-26.9.3-3.2-3.6-5.1-5.8-2.8z"/></svg>PK}w�\L�U��$ionicons/svg/md-checkmark-circle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.6 48 48 141.6 48 256s93.6 208 208 208 208-93.6 208-208S370.4 48 256 48zm-42.7 318.9L106.7 260.3l29.9-29.9 76.8 76.8 162.1-162.1 29.9 29.9-192.1 191.9z"/></svg>PK}w�\Rus���ionicons/svg/md-clock.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M403.1 108.9c-81.2-81.2-212.9-81.2-294.2 0-81.3 81.2-81.2 212.9 0 294.2 81.2 81.2 212.9 81.2 294.2 0 81.2-81.2 81.2-213 0-294.2zm-16.5 53.2c7.6-4.4 17.5-1.8 21.9 5.9 4.4 7.6 1.8 17.5-5.9 21.9-7.6 4.4-17.5 1.8-21.9-5.9-4.4-7.6-1.8-17.5 5.9-21.9zM80 256c0-8.8 7.2-16 16-16s16 7.2 16 16-7.2 16-16 16-16-7.2-16-16zm45.4 93.9c-7.6 4.4-17.5 1.8-21.9-5.9-4.4-7.6-1.8-17.5 5.9-21.9 7.6-4.4 17.5-1.8 21.9 5.9 4.4 7.6 1.8 17.5-5.9 21.9zm5.9-165.9c-4.4 7.6-14.2 10.3-21.9 5.9-7.6-4.4-10.3-14.2-5.9-21.9 4.4-7.6 14.2-10.3 21.9-5.9 7.7 4.4 10.3 14.3 5.9 21.9zm36.7-80.4c7.6-4.4 17.5-1.8 21.9 5.9 4.4 7.6 1.8 17.5-5.9 21.9s-17.5 1.8-21.9-5.9c-4.4-7.7-1.7-17.5 5.9-21.9zm-7.8 110.7l15.6-26.6 95.2 56.9V384h-31V260.6l-79.8-46.3zm29.7 188.3c-4.4 7.6-14.2 10.3-21.9 5.9s-10.3-14.2-5.9-21.9c4.4-7.6 14.2-10.3 21.9-5.9 7.6 4.4 10.3 14.2 5.9 21.9zM256 432c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm0-320c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm88 296.4c-7.6 4.4-17.5 1.8-21.9-5.9-4.4-7.6-1.8-17.5 5.9-21.9 7.6-4.4 17.5-1.8 21.9 5.9 4.4 7.7 1.7 17.5-5.9 21.9zm5.9-283c-4.4 7.6-14.2 10.3-21.9 5.9s-10.3-14.2-5.9-21.9c4.4-7.6 14.2-10.3 21.9-5.9s10.3 14.3 5.9 21.9zM408.4 344c-4.4 7.6-14.2 10.3-21.9 5.9-7.6-4.4-10.3-14.2-5.9-21.9 4.4-7.6 14.2-10.3 21.9-5.9 7.7 4.4 10.3 14.3 5.9 21.9zm7.6-72c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16z"/></svg>PK}w�\�<I3==ionicons/svg/md-image.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M448 405.333V106.667C448 83.198 428.802 64 405.333 64H106.667C83.198 64 64 83.198 64 106.667v298.666C64 428.802 83.198 448 106.667 448h298.666C428.802 448 448 428.802 448 405.333zM181.333 288l53.334 64 74.666-96 96 128H106.667l74.666-96z"/></svg>PK}w�\E]��MMionicons/svg/md-mail-open.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M480 201.667c0-14.933-7.469-28.803-20.271-36.266L256 64 52.271 165.401C40.531 172.864 32 186.734 32 201.667v203.666C32 428.802 51.197 448 74.666 448h362.668C460.803 448 480 428.802 480 405.333V201.667zM256 304L84.631 192 256 106.667 427.369 192 256 304z"/></svg>PK}w�\@~S���ionicons/svg/ios-laptop.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M448 367.5V129.1c0-9.4-7.9-17.1-17.2-17.1H81.2c-9.3 0-17.2 7.6-17.2 17.1v238.4H15.9c0 9.9 9.9 18.8 18.9 22.7C45.7 394.8 64 400 84 400h344c20 0 38.2-4.5 48.3-8.8 9.5-4 19.8-13.4 19.8-23.7H448zM256 120c2.2 0 4 1.8 4 4s-1.8 4-4 4-4-1.8-4-4 1.8-4 4-4zM82 136.2h348c1.1 0 2 .9 2 2v211.3c0 1.1-.9 2-2 2H82c-1.1 0-2-.9-2-2V138.2c0-1.2.9-2 2-2zm216.3 239.3h-84.6c-5.2 0-9.7-6-9.7-7.5h104c0 1.5-3 7.5-9.7 7.5z"/></svg>PK}w�\%��CWWionicons/svg/ios-document.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M312 155h91c2.8 0 5-2.2 5-5 0-8.9-3.9-17.3-10.7-22.9L321 63.5c-5.8-4.8-13-7.4-20.6-7.4-4.1 0-7.4 3.3-7.4 7.4V136c0 10.5 8.5 19 19 19z"/><path d="M267 136V56H136c-17.6 0-32 14.4-32 32v336c0 17.6 14.4 32 32 32h240c17.6 0 32-14.4 32-32V181h-96c-24.8 0-45-20.2-45-45z"/></svg>PK}w�\�>�Ossionicons/svg/ios-appstore.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zm-78.9 296.9c-2.7 4.6-7.5 7.1-12.5 7.1-2.5 0-5-.6-7.3-2-6.9-4-9.2-12.8-5.2-19.7l14.2-23.6c1.5-2.5 4.1-4 7-4h2.1c10.3 0 17.5 6.2 19.6 12.2l-17.9 30zm120.2-46.4l-93 .1h-61.8c-8.2 0-14.8-6.8-14.4-15 .3-7.8 7.1-13.7 14.9-13.7h44.8l53.1-90.4-17.2-29.3c-3.9-6.7-2.2-15.5 4.4-19.7 7-4.5 16.2-2.2 20.3 4.8l9.2 15.7h.1l9.2-15.7c4.1-7 13.4-9.3 20.3-4.8 6.6 4.2 8.3 13 4.4 19.7l-17.2 29.3-16.7 28.5-36.3 61.9v.1h53.5c6.7 0 15.1 3.6 18.5 9.4l.3.6c3 5.1 4.7 8.6 4.7 13.7-.1 2.8-1.1 4.8-1.1 4.8zm72.2.1h-25.2v.1l18.4 31.3c4 6.8 2.1 15.8-4.8 20-2.3 1.4-4.9 2.1-7.5 2.1-5 0-9.8-2.6-12.5-7.1l-27.2-46.3-16.9-28.8-21.8-37.3c-6.4-10.9-6.7-24.5-.6-35.3 4.3-7.6 7.6-9.6 7.6-9.6l48.5 82.1h41.7c7.8 0 14.5 6 14.9 13.7.3 8.3-6.3 15.1-14.6 15.1z"/></svg>PK}w�\��u��ionicons/svg/md-move.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M480 256l-96-96v64h-96v-96h64l-96-96-96 96h64v96h-96v-64l-96 96 96 96v-64h96v96h-64l96 96 96-96h-64v-96h96v64z"/></svg>PK}w�\�����ionicons/svg/ios-contacts.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zm143.3 263.9c-8.1-2.6-23.7-3.4-29.5-10.4-2.9-3.5-1-16.6-1-16.6 25.2-1.4 31-6.1 31-6.1 3.9-2.3 2.1-2.7.1-6.1-10.9-18.3-6-41.5-6.5-61.6-.4-16.7-4.8-35-20-44.4-7.6-4.7-19.7-6.9-31.4-6.9-9.5 0-18.7 1.4-25.3 4.1-42.4 17-17.4 73.2-31.9 105.4-2.5 5.4-6.1 7.3.2 10.5 0 0 7.5 4.4 28.9 6.3 0 0 .3 12.6 0 13.9-1.1 4.9-11.8 8.3-15.8 9.4-2.7.7-8.7 2.5-16.4 5.7-3.7 1.5-3.1 6.9.8 7.6 3.9.7 8.1 1.7 11.5 2.9 0 0 26.4 6 46 25 13.2 12.7 18.1 27.6 20 44.6.5 4.5-1.7 8.9-5.5 11.5l-5.7 3.6c-1.9 1.1-4.2-.2-4.3-2.4 0-29.5-17.8-55.5-45.8-65.2-13.5-4.7-28.1-5-41.6-9.7-4.1-1.4-12.2-3.1-13.9-7.8-1.6-4.6-1.6-10-1.9-14.8-.2-3.8-.3-7.6-.3-11.4 0-2.5 6.4-7.8 7.8-10.1 5.4-9 5.9-21.1 6.9-31.3 8.7 2.4 9.8-13.7 11.3-18.6 1.1-3.4 5-20.9-2.6-23.6 2.5-4.4 3.5-9.8 4.2-14.7 2-12.8 2.8-26.8-1.1-39.3-8.1-26-33-40.6-59.3-41.4-26.7-.9-53.5 11.9-63.5 37.8-4.8 12.6-4.4 26.3-2.8 39.5.7 6 1.7 12.7 4.7 18.1-6.4 2.8-4.5 17.7-3.4 21.3 1.6 5.1 3 23.4 12.1 20.9.8 8.1 1.7 16.4 3.9 24.3 1.5 5.3 4.6 9.8 8.2 13.9 1.8 2 2.7 2.2 2.6 4.8-.1 7.8.1 16.2-1.9 23.8s-18.7 10.8-25.4 12.2c-14.8 3-28.6 4.7-41.4 11.5C84.8 320.6 76 289 76 256c0-47.9 19.2-94 53.2-127.7C162.7 95 207.1 76.4 254.3 76c47.6-.4 93.7 18.1 127.8 51.5 34.8 34.1 54 79.9 54 128.5 0 24.9-5 48.9-14.5 71.1-5.6-7-13.4-12.3-22.3-15.2z"/></svg>PK}w�\�ץ��ionicons/svg/md-photos.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M400 421.3V154.7c0-23.5-19.2-42.7-42.7-42.7H90.7C67.2 112 48 131.2 48 154.7v266.7c0 23.5 19.2 42.7 42.7 42.7h266.7c23.4-.1 42.6-19.3 42.6-42.8zM157.3 304l45.3 64 66.7-96 88 128H90.7l66.6-96z"/><path d="M421.3 48H154.7C131.2 48 112 67.2 112 90.7V96h261.3c23.5 0 42.7 19.2 42.7 42.7V400h5.3c23.5 0 42.7-19.2 42.7-42.7V90.7c0-23.5-19.2-42.7-42.7-42.7z"/></svg>PK}w�\�j�ionicons/svg/ios-arrow-back.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M217.9 256L345 129c9.4-9.4 9.4-24.6 0-33.9-9.4-9.4-24.6-9.3-34 0L167 239c-9.1 9.1-9.3 23.7-.7 33.1L310.9 417c4.7 4.7 10.9 7 17 7s12.3-2.3 17-7c9.4-9.4 9.4-24.6 0-33.9L217.9 256z"/></svg>PK}w�\�e��ggionicons/svg/ios-medal.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M50 124c-1.1 0-2 .9-2 2v59.9c0 14.4 9.6 27 23.4 30.8l104 29.4c1.3.4 2.5-.6 2.5-1.9V126c0-1.1-.9-2-2-2H50zM204 126v126.2c0 .9.6 1.7 1.5 1.9l50 13.9c.4.1.7.1 1.1 0l56-15.6c.9-.2 1.5-1 1.5-1.9V126c0-1.1-.9-2-2-2H206c-1.1 0-2 .9-2 2zM334 126v119.2c0 1.3 1.3 2.3 2.6 1.9l104-30.4c13.8-3.9 23.4-16.5 23.4-30.8V126c0-1.1-.9-2-2-2H336c-1.1 0-2 .9-2 2zM48 64v38c0 1.1.9 2 2 2h412c1.1 0 2-.9 2-2V64c0-17.7-14.3-32-32-32H80c-17.7 0-32 14.3-32 32z"/><g><circle cx="256" cy="352" r="56"/><path d="M351.3 266.6l-51.5 13.8c24 14.8 40.1 41.3 40.1 71.6 0 46.3-37.7 84-84 84s-84-37.7-84-84c0-30.4 16.2-57 40.4-71.8L161 266.1c-20.5 22.7-33 52.8-33 85.9 0 70.7 57.3 128 128 128s128-57.3 128-128c0-32.8-12.4-62.7-32.7-85.4z"/><path d="M256 296c30.9 0 56 25.1 56 56s-25.1 56-56 56-56-25.1-56-56 25.1-56 56-56z"/></g></svg>PK}w�\�qea��ionicons/svg/ios-image.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M112.6 312.3h190.7c4.5 0 7.1-5.1 4.5-8.8l-95.4-153.4c-2.2-3.2-6.9-3.2-9.1 0L108 303.5c-2.6 3.7.1 8.8 4.6 8.8zM306.7 254.3l35 55.7c1 1.5 2.7 2.4 4.5 2.4h53.2c4.5 0 7.1-5.1 4.5-8.8l-61.6-87.7c-2.2-3.2-6.9-3.2-9.1 0L306.6 248c-1.2 1.8-1.2 4.3.1 6.3zM351.1 167.9c13.1-1.3 23.7-11.9 25-25 1.8-17.7-13-32.5-30.7-30.7-13.1 1.3-23.7 11.9-25 25-1.7 17.7 13 32.5 30.7 30.7z"/><path d="M432 48H80c-17.7 0-32 14.3-32 32v352c0 17.7 14.3 32 32 32h352c17.7 0 32-14.3 32-32V80c0-17.7-14.3-32-32-32zm-2.7 280c0 4.4-3.6 8-8 8H90.7c-4.4 0-8-3.6-8-8V90.7c0-4.4 3.6-8 8-8h330.7c4.4 0 8 3.6 8 8V328z"/></svg>PK}w�\��S�ionicons/svg/md-text.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M408 64H96c-22.002 0-32 17.998-32 40v344l64-64h280c22.002 0 40-17.998 40-40V104c0-22.002-17.998-40-40-40zM198.4 242H160v-40h38.4v40zm76.8 0h-38.4v-40h38.4v40zm76.8 0h-38.4v-40H352v40z"/></svg>PK}w�\o� ionicons/svg/ios-return-left.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M70.5 265.4l59.6-59.4c2.6-2.6 6.1-4.1 9.9-4.1 3.7 0 7.3 1.4 9.9 4.1 2.6 2.6 4.1 6.1 4.1 9.9s-1.5 7.3-4.1 9.9l-.1.1-41.1 40.1H370c13.2 0 25.8-5.2 35.3-14.7 9.5-9.4 14.7-21.9 14.7-35.3v-48c0-7.7 6.3-14 14-14s14 6.3 14 14v48c0 20.8-8.1 40.3-22.9 55.1-14.8 14.8-34.3 22.9-55.1 22.9H108.3l39.6 40.2c2.6 2.6 4.1 6.1 4.1 9.9 0 3.7-1.4 7.3-4.1 9.9l-.1.1c-2.7 2.5-6.2 3.9-9.8 3.9-3.9 0-7.3-1.4-9.9-4.1l-57.6-57.4c-4.2-4.2-6.5-9.8-6.5-15.7 0-5.8 2.3-11.3 6.5-15.4z"/></svg>PK}w�\��U+��ionicons/svg/ios-cafe.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M369.7 404H110.1c-7.6 0-14.1 5.8-14.4 13.4-.4 8 6 14.6 14 14.6h259.6c7.6 0 14.1-5.8 14.4-13.4.3-8-6.1-14.6-14-14.6zM399.2 118.5c.1-10.8-4.2-20.9-12.2-28.4-7.2-6.6-16.7-10.1-26.5-10.1H86.8c-9.9 0-19.7 3.6-26.9 10.4-8.1 7.7-12.4 18.2-11.9 29.3C50.4 172 58.3 218 71.8 256.3c11 31.6 25.8 58.1 43.9 78.9 31.8 36.6 68.8 48.8 77.9 48.8h60.1c5.5 0 25-7.2 44.2-19.5 22.4-14.4 42.4-36.7 58.1-64.6 2 .1 4 .2 5.9.2 27.2 0 52.8-9.7 72.1-27.4 19.4-17.8 30.1-41.4 30.1-66.6-.1-38.9-25.9-73.5-64.9-87.6zm-29.7 153.1c14.2-34.5 23.6-76 27.8-123.4 0 0 0-.1.1 0 10.3 5 19.1 12.2 25.8 20.9 8.4 10.9 12.8 23.7 12.8 37 0 34-29.2 62.1-66.5 65.5z"/></svg>PK}w�\ĥ7���ionicons/svg/md-basket.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M362.1 205.2L272.9 72.5C269 66.8 262.5 64 256 64c-6.5 0-13 2.8-16.9 8.7l-89.2 132.5H52.4c-11.2 0-20.4 9.1-20.4 20.2 0 1.8.2 3.6.8 5.5l51.7 187.5c4.7 17 20.4 29.5 39.1 29.5h264.7c18.7 0 34.4-12.5 39.3-29.5l51.7-187.5.6-5.5c0-11.1-9.2-20.2-20.4-20.2h-97.4zm-167.2 0l61.1-89 61.1 89H194.9zM256 367.1c-22.4 0-40.7-18.2-40.7-40.5s18.3-40.5 40.7-40.5 40.7 18.2 40.7 40.5-18.3 40.5-40.7 40.5z"/></svg>PK}w�\�.���ionicons/svg/md-pricetags.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M442 107v141L229.2 451.7c8 8 20.8 12.3 28.8 12.3s22.8-3.7 31.4-12.3L480 272V144l-38-37z"/><path d="M384 48H224L44.3 235.6c-8 8-12 17.8-12.3 28.4-.3 11.3 3.7 23.3 12.3 31.9l123.8 123.6c8 8 20.8 12.5 28.8 12.5s22.7-3.9 31.3-12.5L416 240V80l-32-32zm-30.7 102.7c-21.7 6.1-41.3-10-41.3-30.7 0-17.7 14.3-32 32-32 20.7 0 36.8 19.6 30.7 41.3-2.9 10.3-11.1 18.5-21.4 21.4z"/></svg>PK}w�\�JdoSSionicons/svg/md-flower.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M405.1 256c25.2-11.9 42.9-37.1 42.9-66.9 0-41-33.6-74.3-75-74.3-15.9 0-30.3 4.8-42.6 13.1l.6-5.6c0-41-33.6-74.3-75-74.3s-75 33.3-75 74.3l.6 5.6c-12-8.3-26.7-13.1-42.6-13.1-41.4 0-75 33.3-75 74.3 0 29.7 17.7 55 42.9 66.9C81.7 267.9 64 293.1 64 322.9c0 41 33.6 74.3 75 74.3 15.9 0 30.3-4.8 42.6-13.1l-.6 5.6c0 41 33.6 74.3 75 74.3s75-33.3 75-74.3l-.6-5.6c12 8.3 26.7 13.1 42.6 13.1 41.4 0 75-33.3 75-74.3 0-29.8-17.7-55-42.9-66.9zM256 330.3c-41.4 0-75-33.3-75-74.3s33.6-74.3 75-74.3 75 33.3 75 74.3-33.6 74.3-75 74.3z"/></svg>PK}w�\�-����!ionicons/svg/ios-thunderstorm.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M374.4 141.9l-13.3-.1C349.4 88.2 306 48 236 48S108.2 98.4 108.2 169.5l.3 4.8C66.3 179.9 32 219.6 32 264c0 47 37.9 88 84.7 88H236l13.8-50.6H183c-2.6 0-4.5-2.4-3.9-4.9l23.2-113c.4-1.8 2-3.1 3.9-3.1h86.1c2.7 0 4.6 2.6 3.8 5.2l-22.5 74.9h60.1c3.1 0 5.1 3.5 3.4 6.1L283.4 352H367c72 0 113-52 113-110 0-58.6-47.3-100.1-105.6-100.1zM206.8 458.9c-1.2 4.4 4.8 7 7.2 3.2L283.4 352H236l-29.2 106.9z"/></svg>PK}w�\��5��ionicons/svg/ios-paw.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M324.3 80.3c-1.2-.2-2.4-.3-3.6-.3v.4-.3h-.4c-22 0-42.9 25.9-47.8 60.3-5.3 36.6 9.4 69 32.7 72.4 1.3.2 2.7.3 4 .3 22 0 42.9-25.9 47.8-60.3 5.3-36.7-9.4-69.1-32.7-72.5zM320.6 80zM442.3 169.4c-3.5-1.4-7.1-2.1-10.9-2.1h-.4c-19.7.3-41.8 19.2-53.4 47.8-13.9 34.2-7.5 69.2 14.4 78.2 3.5 1.4 7.1 2.1 10.9 2.1 19.8 0 42.2-19 53.9-47.8 13.8-34.2 7.3-69.2-14.5-78.2zM327.6 295.4c-27.8-43.6-39.8-60-71.6-60s-43.9 16.5-71.7 60c-23.8 37.2-71.9 40.3-83.9 71.9-2.4 5.6-3.6 11.7-3.6 18.2 0 25.7 20.8 46.5 46.4 46.5 31.8 0 75.1-24 112.9-24s80.9 24 112.7 24c25.6 0 46.3-20.8 46.3-46.5 0-6.5-1.3-12.6-3.7-18.2-12-31.7-60-34.7-83.8-71.9zM202.8 213c1.3 0 2.7-.1 4-.3 23.4-3.4 38-35.8 32.7-72.4-5-34.5-25.9-60.3-47.8-60.3-1.3 0-2.7.1-4 .3-23.4 3.4-38 35.8-32.7 72.4 5 34.4 25.9 60.3 47.8 60.3zM120.1 293.3c21.9-9 28.3-44 14.4-78.2-11.7-28.8-34.1-47.8-53.9-47.8-3.8 0-7.4.7-10.9 2.1-21.9 9-28.3 44-14.4 78.2 11.7 28.8 34.1 47.8 53.9 47.8 3.8 0 7.4-.7 10.9-2.1z"/></svg>PK}w�\+��]]'ionicons/svg/logo-game-controller-b.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M135.1 204.6c-10.7 0-19.3 8.7-19.3 19.4s8.7 19.4 19.3 19.4c10.6 0 19.3-8.7 19.3-19.4s-8.6-19.4-19.3-19.4z"/><path d="M466.3 248.9c-21.2-88.5-43.6-135.5-88.5-148.8-9.8-2.9-18.1-4-25.7-4-27.6 0-46.9 14.7-96.1 14.7-49.2 0-68.5-14.7-96.1-14.7-7.7 0-16 1.1-25.7 4-44.9 13.3-67.3 60.4-88.5 148.8-21.2 88.5-17.3 152.4 7.7 164.3 4.1 1.9 8.2 2.8 12.5 2.8 21.7 0 45.1-23.8 67.7-52 25.7-32.1 32.1-33 110.3-33h24.3c78.1 0 84.6.8 110.3 33 22.5 28.2 46 52 67.7 52 4.2 0 8.4-.9 12.5-2.8 24.9-12 28.7-75.9 7.6-164.3zm-331.1 14.7c-21.6 0-39.2-17.8-39.2-39.6s17.6-39.6 39.2-39.6c21.7 0 39.2 17.8 39.2 39.6.1 21.9-17.5 39.6-39.2 39.6zm172.9-19.5c-11.1 0-20.1-9-20.1-20.1 0-11.1 9-20.1 20.1-20.1 11.1 0 20.1 9 20.1 20.1 0 11.1-9 20.1-20.1 20.1zM352 288c-11.1 0-20.1-9-20.1-20 0-11.2 9-20.1 20.1-20.1 11.1 0 20.1 8.9 20.1 20.1 0 11-9 20-20.1 20zm0-87.8c-11.1 0-20.1-9-20.1-20.1 0-11.1 9-20.1 20.1-20.1 11.1 0 20.1 9 20.1 20.1 0 11.1-9 20.1-20.1 20.1zm43.9 43.9c-11.1 0-20.1-9-20.1-20.1 0-11.1 9-20.1 20.1-20.1 11.1 0 20.1 9 20.1 20.1 0 11.1-9 20.1-20.1 20.1z"/></svg>PK}w�\�%�Hionicons/svg/ios-search.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M443.5 420.2L336.7 312.4c20.9-26.2 33.5-59.4 33.5-95.5 0-84.5-68.5-153-153.1-153S64 132.5 64 217s68.5 153 153.1 153c36.6 0 70.1-12.8 96.5-34.2l106.1 107.1c3.2 3.4 7.6 5.1 11.9 5.1 4.1 0 8.2-1.5 11.3-4.5 6.6-6.3 6.8-16.7.6-23.3zm-226.4-83.1c-32.1 0-62.3-12.5-85-35.2-22.7-22.7-35.2-52.9-35.2-84.9 0-32.1 12.5-62.3 35.2-84.9 22.7-22.7 52.9-35.2 85-35.2s62.3 12.5 85 35.2c22.7 22.7 35.2 52.9 35.2 84.9 0 32.1-12.5 62.3-35.2 84.9-22.7 22.7-52.9 35.2-85 35.2z"/></svg>PK}w�\�*����ionicons/svg/logo-euro.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M234 272v-48h131.094l7.149-48H234v-1.83c0-35.92 14.975-58.086 79.25-58.086 26.264 0 55.867 2.498 93.189 8.742L416 59.866C377.988 51.123 345.306 48 310.057 48 195.326 48 146 89.225 146 165.43V176H96v48h50v48H96v48h50v26.57C146 422.774 195.297 464 310.027 464c35.25 0 67.848-3.123 105.859-11.866l-9.619-64.96c-37.322 6.244-66.781 8.742-93.045 8.742-64.276 0-79.223-18.739-79.223-63.086V320h116.795l7.148-48H234z"/></svg>PK}w�\�|�Lrrionicons/svg/md-git-network.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M448 96c0-35.3-28.7-64-64-64s-64 28.7-64 64c0 23.6 12.9 44.3 32 55.4v52.8l-96 48-96-48v-52.8c19.1-11.1 32-31.8 32-55.4 0-35.3-28.7-64-64-64S64 60.7 64 96c0 23.6 12.9 44.3 32 55.4v92.4l128 64v52.8c-19.1 11.1-32 31.8-32 55.4 0 35.3 28.7 64 64 64s64-28.7 64-64c0-23.6-12.9-44.3-32-55.4v-52.8l128-64v-92.4c19.1-11.1 32-31.8 32-55.4zM128 56c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40zm128 400c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40zm128-320c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40z"/></svg>PK}w�\y���#ionicons/svg/md-phone-landscape.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M480 358.856V153.143C480 130.512 461.674 112 439.272 112H72.728C50.326 112 32 130.512 32 153.143v205.713C32 381.488 50.326 400 72.728 400h366.545C461.674 400 480 381.488 480 358.856zM112 364V148h288v216H112z"/></svg>PK}w�\�}�fiiionicons/svg/md-play.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M96 52v408l320-204L96 52z"/></svg>PK}w�\ Hionicons/svg/ios-school.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M96.9 270.3V363c0 2.9 1.5 5.5 4 7l132 75.9c5.3 3.1 12-.8 12-7v-93.8c0-2.9-1.5-5.5-4-7l-132-74.9c-5.4-2.9-12 1-12 7.1zM280.9 445.9L413 370c2.5-1.4 4-4.1 4-7v-93.7c0-6.2-6.6-10-12-7l-132 75.9c-2.5 1.4-4 4.1-4 7V439c-.1 6.1 6.6 10 11.9 6.9z"/><path d="M249 65.1L37 188.9c-5.4 3.1-5.4 10.8 0 13.9l212 117.8c4.9 2.8 11 2.8 15.9 0L453 212.9c5.3-3.1 7 .8 7 7v153.4c0 6.8 3.9 10 11 10 4.4 0 10-3.2 10-10V201.5c0-2.9-1.5-5.5-4-7L264.9 65.1c-4.9-2.8-11-2.8-15.9 0z"/></svg>PK}w�\�ionicons/svg/logo-vimeo.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M476.9 114c-5-23.4-17.5-38.8-40.6-46.3s-64.9-4.5-94.1 16.8c-29.9 21.8-47.6 59.7-53.8 83.8 14.7-6.3 24-7.7 39-6.9s24.5 12 24.9 25.3c.3 9.8-.2 18.7-3.6 27.7-10.8 28.7-27.7 56.5-47.6 80.8-2.9 3.6-6.4 6.9-10 9.9-10.2 8.3-18.8 6.1-25.4-5.2-5.4-9.3-9-18.9-12.2-29.1-12.4-39.7-16.8-80.9-23.8-121.6-3.3-19.5-7-39.8-18-56.9-11.6-17.8-28.6-24.6-50-22-14.7 1.8-36.9 17.5-47.8 26.4 0 0-56 46.9-81.8 71.4l21.2 27s17.9-12.5 27.5-18.3c5.7-3.4 12.4-4.1 17.2.2 4.5 3.9 9.6 9 12.3 14.1 5.7 10.7 11.2 21.9 14.7 33.4 13.2 44.3 25.5 88.7 37.8 133.3 6.3 22.8 13.9 44.2 28 63.6 19.3 26.6 39.6 32.7 70.9 21.5 25.4-9.1 46.6-26.2 66-43.9 33.1-30.2 59.1-65.4 85.5-101.2 20.4-27.7 37.3-55.7 51.4-87 13.9-31 19.4-63.5 12.3-96.8z"/></svg>PK}w�\�kNNionicons/svg/ios-expand.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M112.4 92h77.7c7.7 0 13.9-6.2 13.9-13.9v-.2c0-7.7-6.2-13.9-13.9-13.9H77.9C70.2 64 64 70.2 64 77.9v112.2c0 7.7 6.2 13.9 13.9 13.9h.2c7.7 0 13.9-6.2 13.9-13.9v-77.7l117.1 116.3c2.6 2.6 6.1 4 9.8 4 3.7 0 7.2-1.4 9.8-4.1 5.4-5.4 5.4-14.2 0-19.6L112.4 92zM434.1 64H321.9c-7.7 0-13.9 6.2-13.9 13.9v.2c0 7.7 6.2 13.9 13.9 13.9h77.7L283.3 209.1c-5.4 5.4-5.4 14.2 0 19.6 2.6 2.6 6.1 4.1 9.8 4.1 3.7 0 7.2-1.4 9.8-4L420 112.4v77.7c0 7.7 6.2 13.9 13.9 13.9h.2c7.7 0 13.9-6.2 13.9-13.9V77.9c0-7.7-6.2-13.9-13.9-13.9zM218.9 279.2c-3.7 0-7.2 1.4-9.8 4L92 399.6v-77.7c0-7.7-6.2-13.9-13.9-13.9h-.2c-7.7 0-13.9 6.2-13.9 13.9v112.2c0 7.7 6.2 13.9 13.9 13.9h112.2c7.7 0 13.9-6.2 13.9-13.9v-.2c0-7.7-6.2-13.9-13.9-13.9h-77.7l116.3-117.1c5.4-5.4 5.4-14.2 0-19.6-2.6-2.6-6.1-4.1-9.8-4.1zM434.1 308h-.2c-7.7 0-13.9 6.2-13.9 13.9v77.7L302.9 283.3c-2.6-2.6-6.1-4-9.8-4-3.7 0-7.2 1.4-9.8 4.1-5.4 5.4-5.4 14.2 0 19.6l116.3 117h-77.7c-7.7 0-13.9 6.2-13.9 13.9v.2c0 7.7 6.2 13.9 13.9 13.9h112.2c7.7 0 13.9-6.2 13.9-13.9V321.9c0-7.7-6.2-13.9-13.9-13.9z"/></svg>PK}w�\3{凧�ionicons/svg/ios-podium.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M64 199.9v208.2c0 4.4 3.5 7.9 7.9 7.9h96.2c4.4 0 7.9-3.5 7.9-7.9V199.9c0-4.4-3.5-7.9-7.9-7.9H71.9c-4.4 0-7.9 3.5-7.9 7.9zM199.9 96c-4.4 0-7.9 3.5-7.9 7.9V416h120.1c4.4 0 7.9-3.5 7.9-7.9V103.9c0-4.4-3.5-7.9-7.9-7.9H199.9zM440.1 256h-96.2c-4.4 0-7.9 3.5-7.9 7.9v144.2c0 4.4 3.5 7.9 7.9 7.9h96.2c4.4 0 7.9-3.5 7.9-7.9V263.9c0-4.4-3.5-7.9-7.9-7.9z"/></svg>PK}w�\J���!!ionicons/svg/ios-save.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M272 64h-16c-4.4 0-8 3.6-8 8v72c0 4.4 7.6 8 12 8h12c4.4 0 8-3.6 8-8V72c0-4.4-3.6-8-8-8z"/><path d="M433.9 130.1L382 78.2c-9-9-21.3-14.2-34.1-14.2h-28c-8.8 0-16 7.3-16 16.2v80c0 8.8-7.2 16-16 16H160c-8.8 0-16-7.2-16-16v-80c0-8.8-7.2-16.2-16-16.2H96c-17.6 0-32 14.4-32 32v320c0 17.6 14.4 32 32 32h320c17.6 0 32-14.4 32-32V164c0-12.7-5.1-24.9-14.1-33.9zM322 400.1c0 8.8-8 16-17.8 16H143.8c-9.8 0-17.8-7.2-17.8-16v-96c0-8.8 8-16 17.8-16h160.4c9.8 0 17.8 7.2 17.8 16v96z"/></svg>PK}w�\�J[{{ionicons/svg/ios-mail-open.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M453.5 209.8c-4-4-158.3-161.4-158.3-161.4C284.8 37.8 270.9 32 256 32c-14.9 0-28.8 5.8-39.2 16.5 0 0-153.6 156.5-158.3 161.4C53.9 214.7 48 224.7 48 236v212c0 17.6 14.4 32 32 32h352c17.6 0 32-14.4 32-32V235c0-11.7-6.6-21.1-10.5-25.2zm-19.4 42.3L353 336.9c-.8.8-.8 2 0 2.8l75.3 80.2c5.1 5.1 5.1 13.3 0 18.4-2.5 2.5-5.9 3.8-9.2 3.8s-6.7-1.3-9.2-3.8l-151-161.2c-1.6-1.7-4.3-1.7-5.8 0L102.2 438.2c-2.5 2.5-5.9 3.8-9.2 3.8s-6.7-1.3-9.2-3.8c-5.1-5.1-5.1-13.3 0-18.4l75.3-80.2c.7-.8.7-2 0-2.8L77.7 252c-9.7-9.9-2.4-35.8 16.1-35.8h324.4c16.5-.1 25.6 26.1 15.9 35.9z"/></svg>PK}w�\S3�Ӭ�ionicons/svg/ios-glasses.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M464.5 240.9h-6.2c-3.3-21.1-13.3-40.5-28.5-55.2-17.3-16.6-39.8-25.8-63.4-25.8-20.5 0-40 6.7-56.2 19.4-13.8 10.8-24.2 25.1-30.5 41.7-7-4.6-15.4-7.3-23.7-7.3-8.3 0-16.7 2.6-23.7 7.3-6.2-16.6-16.6-30.9-30.5-41.7-16.2-12.7-35.7-19.4-56.2-19.4-23.6 0-46.1 9.1-63.4 25.6C67 200.4 57 219.9 53.7 241h-6.2c-8 0-14.5 6.7-14.5 15s6.5 15 14.5 15h6.2c3.3 21.2 13.3 40.6 28.5 55.3 17.3 16.6 39.8 25.8 63.4 25.8 51.3 0 93.1-43 93.1-95.9v-.2c0-5.9 6.9-14.9 17.3-14.9s17.3 9 17.3 14.9v.1c0 52.9 41.8 95.9 93.1 95.9 23.7 0 46.2-9.1 63.4-25.8 15.2-14.7 25.2-34.2 28.5-55.4h6.2c8 0 14.5-6.7 14.5-15 0-8.1-6.5-14.9-14.5-14.9z"/></svg>PK}w�\m�_���ionicons/svg/ios-man.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M255.7 106.6h-.2c-25 0-45.5-20.3-45.5-45.3 0-25 20.4-45.3 45.5-45.3S301 36.3 301 61.3c0 12.1-4.7 23.5-13.3 32-8.5 8.6-19.9 13.3-32 13.3zM221.2 496c-14.4 0-27-10.5-27-30.4l1-277.6h-10v105c0 9.3-3 15.1-6.4 18.3-4.3 4.1-9.1 6.4-15.2 6.4-6.2 0-10.9-2.3-15.2-6.4-3.4-3.2-6.4-8.9-6.4-18.3V171.4c0-13.8 4.4-27.8 13.8-38.4 10.4-11.6 23.6-18 39-18h122.3c15.4 0 28.6 6.4 39 18.1 9.4 10.6 13.8 24.5 13.8 38.3V293c0 7.3-1.7 13.8-6.6 18.3-4.4 4-9.3 6.2-15.5 6.2s-11.1-2.2-15.5-6.2c-4.9-4.5-6.6-11-6.6-18.3V188h-9v277.6c0 19.7-13.4 30.4-27.8 30.4-13.4 0-26.3-9.3-27.4-29.8V325h-12v140.9c-.7 19.7-13.8 30.1-28.3 30.1z"/></svg>PK}w�\�� �LLionicons/svg/md-appstore.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M464 152H360c0-57-46.562-103.859-104-103.859S152 95 152 152H48c18.688 216 13 312 13 312h389.999c-.001 0-5.688-98 13.001-312zM256 74.105c43.008 0 77.999 34.895 77.999 77.895H178c0-43 34.991-77.895 78-77.895zM204 397.64V228.867l142.999 84.387L204 397.64z"/></svg>PK}w�\�m��ionicons/svg/ios-film.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M447.9 80H64.1C46.5 80 32 94.5 32 112.1v287.7c0 17.7 14.5 32.1 32.1 32.1h383.7c17.7 0 32.1-14.5 32.1-32.1V112.1c.1-17.6-14.4-32.1-32-32.1zM120 400c0 4.4-3.6 8-8 8H64c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v48zm0-80c0 4.4-3.6 8-8 8H64c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v48zm0-80c0 4.4-3.6 8-8 8H64c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v48zm0-80c0 4.4-3.6 8-8 8H64c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v48zm232 108H160c-6.6 0-12-5.4-12-12s5.4-12 12-12h192c6.6 0 12 5.4 12 12s-5.4 12-12 12zm104 132c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v48zm0-80c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v48zm0-80c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v48zm0-80c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v48z"/></svg>PK}w�\��44ionicons/svg/logo-usd.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M411.387 303.256c-3.119-9.577-7.891-18.561-14.301-26.952-6.422-8.382-14.396-15.826-23.93-22.331-9.539-6.498-20.721-11.63-33.553-15.4-5.143-1.363-14.189-3.506-26.104-6.418-8.516-2.074-16.5-4.2-25.5-6.367V120.065c9 2.396 15.252 6.202 21.926 10.43C324.204 139.535 333.157 155 335.78 176h69.174c-.654-18-4.65-32.76-11.996-46.02-8.07-14.543-18.977-27.024-32.73-36.956-13.75-9.922-30.225-17.49-48.377-22.455C303.967 68.416 297 66.605 288 65.386V32h-64v33.167c-7 1.044-15.148 2.445-22.426 4.25-17.242 4.283-32.388 10.868-45.951 19.764-13.571 8.905-24.352 20.112-32.604 33.627-8.251 13.523-12.312 29.52-12.312 48 0 9.585 1.407 18.993 4.157 28.235 2.752 9.241 7.442 17.967 14.042 26.181 6.603 8.214 15.495 15.658 26.687 22.332 11.183 6.672 24.705 12.064 41.576 16.171 9.287 2.345 18.83 4.534 26.83 6.576v119.586c-11-2.919-21.889-7.399-30.678-13.479-9.17-6.327-16.066-13.953-21.198-23.884-4.779-9.229-7.073-20.526-7.407-32.526H96c.695 21 5.25 39.494 13.672 55.371 8.799 16.604 20.533 29.96 35.204 40.562 14.662 10.613 31.393 18.356 51.198 23.491 8.885 2.304 18.926 3.96 27.926 5.23V480h64v-34.54c10-1.069 18.957-2.69 28.527-4.879 18.701-4.273 35.645-11.036 50.316-20.276 14.662-9.24 26.621-21.128 35.611-35.681 8.98-14.541 13.545-32.085 13.545-52.619.001-9.578-1.501-19.164-4.612-28.749zM224 209.699c-12-3.743-23.912-9.088-32.051-16.048-8.621-7.355-12.673-17.534-12.673-30.545 0-9.241 2.414-16.94 7.004-23.102 4.58-6.161 9.912-11.038 16.88-14.631 6.18-3.189 13.84-5.565 20.84-7.138v91.464zm118.902 149.772c-2.939 6.673-7.699 12.576-14.303 17.711-6.602 5.133-15.744 9.328-26.377 12.577-4.5 1.378-8.223 2.444-14.223 3.236v-107.11c10 2.624 18.18 5.332 26.326 8.131 8.062 2.744 15.748 7.443 22.537 14.116 6.785 6.676 10.309 17.03 10.309 31.06.001 6.85-1.337 13.605-4.269 20.279z"/></svg>PK}w�\p��{!!ionicons/svg/md-contrast.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zm113.1 321.1C338.9 399.4 298.7 416 256 416V96c42.7 0 82.9 16.6 113.1 46.9C399.4 173.1 416 213.3 416 256s-16.6 82.9-46.9 113.1z"/></svg>PK}w�\�(O���"ionicons/svg/ios-skip-backward.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M175 100v137.8L403.9 98.1c5.3-3.1 12.1.7 12.1 6.9v302c0 6.2-6.7 10-12.1 6.9L175 274.2V412c0 2.2-1.8 4-4 4h-71c-2.2 0-4-1.8-4-4V100c0-2.2 1.8-4 4-4h71c2.2 0 4 1.8 4 4z"/></svg>PK}w�\@����ionicons/svg/ios-water.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M352 146.4c-34.4-48.6-67.5-78.5-90.8-96.6-3.1-2.4-7.3-2.4-10.4-.1-23 17.1-56.1 48.4-90.5 96.5-37.3 52-63 108.4-64.2 170.9 0 1.2-.1 2.5-.1 3.7 0 18.4 3.9 35.9 10.9 52.1 4.1 9.3 9.2 18.1 15.2 26.3 28.5 39 77.8 64.8 133.8 64.8 88.4 0 160.1-64.1 160.1-143.2 0-63.7-27-122.2-64-174.4zm-86 264.3h-.5c-9.9 0-12-14.1-2.6-17.1 45.1-14.2 69.6-38.5 86.4-80.8 3.5-8.9 16.7-6.5 16.8 3.1v1.4c-.1 51.6-44.9 93.4-100.1 93.4z"/></svg>PK}w�\KXg�\\ionicons/svg/md-power.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M279.1 48h-46.2v231.1h46.2V48zm111.6 50.2L357.9 131c36.5 29.4 59.9 74.4 59.9 125 0 89.4-72.3 161.8-161.8 161.8S94.2 345.4 94.2 256c0-50.6 23.3-95.7 59.6-125.3l-32.6-32.6C76.4 136.3 48 192.7 48 256c0 114.9 93.1 208 208 208s208-93.1 208-208c0-63.3-28.4-119.7-73.3-157.8z"/></svg>PK}w�\P`���ionicons/svg/md-pause.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M96 448h106.7V64H96v384zM309.3 64v384H416V64H309.3z"/></svg>PK}w�\,C�x��%ionicons/svg/ios-battery-charging.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M396 144H64c-26.4 0-48 21.6-48 48v128c0 26.4 21.6 48 48 48h332c26.4 0 48-21.6 48-48V192c0-26.4-21.6-48-48-48zm20 176c0 11-9 20-20 20H64c-11 0-20-9-20-20V192c0-11 9-20 20-20h332c11 0 20 9 20 20v128zM464 204.6v102.8c16 0 32-27.7 32-51.4s-16-51.4-32-51.4z"/><path d="M384 192H76c-6.6 0-12 5.4-12 12v104c0 6.6 5.4 12 12 12h308c6.6 0 12-5.4 12-12V204c0-6.6-5.4-12-12-12zM218.8 308l8.4-43H200l45.2-61-8.4 43H264l-45.2 61z"/></svg>PK}w�\ǭ�Ҩ�ionicons/svg/ios-redo.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M32 432h2.9c1.8 0 3.5-1.1 4.1-2.8 2.2-5.7 8.3-19.8 21.4-39.7 21.5-32.7 58.4-67.4 94.5-83.5 27.6-12.4 53-21.5 97.1-23.2 2.3-.1 4.2 1.7 4.2 4v81.6c0 3.2 3.6 5.1 6.2 3.4l215.9-142.2c2.4-1.6 2.4-5.1 0-6.7l-216-142.2c-2.7-1.8-6.2.1-6.2 3.4v82.6c0 2.2-1.7 3.9-3.8 4-71.6 3.8-123.1 24.8-163.4 65.5-61 61.6-56.8 139.1-56.8 158.7 0 10.3-.1 25.3-.1 37.1z"/></svg>PK}w�\T쀧ionicons/svg/ios-quote.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M209 96h-65c-26.4 0-48 21.6-48 48v128c0 26.4 21.6 48 48 48h38.7c4.6 0 8.3 3.9 8 8.6-2.3 35.5-18.8 60.2-31.3 74.1-4.7 5.2-1 13.4 5.9 13.4h39.9c2.5 0 4.8-1.1 6.3-3.1 7.4-9.6 28.5-41.6 28.5-93.9v-192c0-17.8-13.3-31.1-31-31.1zM385 96h-65c-26.4 0-48 21.6-48 48v128c0 26.4 21.6 48 48 48h38.7c4.6 0 8.3 3.9 8 8.6-2.3 35.5-18.8 60.2-31.3 74.1-4.7 5.2-1 13.4 5.9 13.4h39.9c2.5 0 4.8-1.1 6.3-3.1 7.4-9.6 28.5-41.6 28.5-93.9v-192c0-17.8-13.3-31.1-31-31.1z"/></svg>PK}w�\b7��WWionicons/svg/ios-flame.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M220.1 48C249.1 182.6 111 179.9 112 315.4c.8 111 118.4 148.6 144.5 148.6 26.1 0 134.8-23.6 143.1-148.6 7.1-106.4-81.7-208-179.5-267.4zm74.3 354.7c-10.2 38.9-66 39-76.4.1-1.5-5.6-2.4-11.5-2.4-17.5 0-41 40.6-88.3 40.6-88.3s40.4 47.3 40.4 88.3c.1 6-.7 11.8-2.2 17.4z"/></svg>PK}w�\�5�ZZionicons/svg/md-pricetag.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M416 64H257.6L76.5 251.6c-8 8-12.3 18.5-12.5 29-.3 11.3 3.9 22.6 12.5 31.2l123.7 123.6c8 8 20.8 12.5 28.8 12.5s22.8-3.9 31.4-12.5L448 256V96l-32-32zm-30.7 102.7c-21.7 6.1-41.3-10-41.3-30.7 0-17.7 14.3-32 32-32 20.7 0 36.8 19.6 30.7 41.3-2.9 10.3-11.1 18.5-21.4 21.4z"/></svg>PK}w�\pF��nn"ionicons/svg/logo-designernews.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M290.4 145L227 96l63.6 102.2z"/><path d="M329 96v163h-36.4l-63.2-98.6 1.7 98.6H191V152l-37.3-29.3c1 1.2 2 2.4 2.9 3.7 10 13.9 15 30.5 15 50.5 0 49.2-30.6 82.1-76.9 82.1H32v.4L231.6 416H480V214.1L329 96z"/><path d="M129.9 178.1c0-29-14.2-45.1-39.7-45.1H71v89h19c26 0 39.9-15.4 39.9-43.9z"/></svg>PK}w�\(z��44#ionicons/svg/ios-cloud-download.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M437.1 165.8C429 90.6 365.4 32 288 32c-51.2 0-96.3 25.6-123.4 64.7-8.3-3.4-17.4-5.3-26.9-5.3-39.1 0-70.8 34.4-71.4 73.4C26.4 177.5 0 216.5 0 257.5 0 307.7 40.7 352 90.9 352H243V211c0-7.2 5.8-13 13-13s13 5.8 13 13v141h152.1c50.2 0 90.9-44.3 90.9-94.5 0-44.7-32.3-84.1-74.9-91.7zM243 435.9l-47.9-47.2c-5.1-5-13.3-5-18.4.1-5 5.1-5 13.3.1 18.4l70 69c2.5 2.4 5.8 3.7 9.1 3.7 1.7 0 3.4-.3 5-1 1.5-.6 2.9-1.6 4.1-2.7l70-69c5.1-5 5.2-13.3.1-18.4-5-5.1-13.3-5.2-18.4-.1L269 435.9V352h-26v83.9z"/></svg>PK}w�\�� LL%ionicons/svg/ios-arrow-round-down.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M348.3 295.6c-5-5.1-13.3-5.1-18.4-.1L269 356.2V124.9c0-7.1-5.8-12.9-13-12.9s-13 5.8-13 12.9v231.3l-60.9-60.8c-5.1-5-13.3-4.9-18.4.1-5 5.1-5 13.2.1 18.3l83 82.4c1.2 1.1 2.5 2 4.1 2.7 1.6.7 3.3 1 5 1 3.4 0 6.6-1.3 9.1-3.7l83-82.4c5.2-4.9 5.3-13.1.3-18.2z"/></svg>PK}w�\kWb44ionicons/svg/ios-football.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.1 48 48 141.1 48 256c0 114.7 93.3 208 208 208 114.9 0 208-93.1 208-208 0-114.7-93.3-208-208-208zm127.3 80.7c8.5 8.5 16.1 17.7 22.6 27.5.7 1 .9 2.4.4 3.5L391.9 201c-.4 1-1.1 1.9-2.1 2.3l-57.5 26.2c-1.4.6-3 .4-4.2-.6l-56.6-47.6a4.1 4.1 0 0 1-1.4-3.1v-63.1c0-1.3.7-2.6 1.8-3.3l38.4-26.1c1-.7 2.3-.9 3.5-.5 25.8 8.9 49.6 23.6 69.5 43.5zm-73.9 297.6c-.4 1.2-1.4 2.1-2.6 2.4-16.3 4.8-33.4 7.2-50.8 7.2-17.5 0-34.5-2.5-50.8-7.2-1.2-.4-2.2-1.3-2.6-2.4l-16.4-43c-.4-1.1-.3-2.3.2-3.3l22.3-42.3c.7-1.3 2.1-2.1 3.5-2.1h87.5c1.5 0 2.8.8 3.5 2.1l22.3 42.3c.5 1 .6 2.2.2 3.3l-16.3 43zm-67.4-311v63.1c0 1.2-.5 2.3-1.4 3.1L183.9 229c-1.2 1-2.8 1.2-4.2.6l-57.5-26.2c-1-.5-1.8-1.3-2.1-2.3l-14.4-41.2c-.4-1.2-.3-2.5.4-3.5 6.5-9.8 14.1-19 22.6-27.5 19.9-19.9 43.7-34.6 69.6-43.3 1.2-.4 2.5-.2 3.5.5l38.4 26.1c1.1.5 1.8 1.7 1.8 3.1zM77.7 264.1l36.1-31.2c1.2-1 2.9-1.3 4.3-.6l52.4 23.8c1.1.5 1.9 1.5 2.2 2.7l14.6 57.3c.2 1 .1 2-.3 2.9l-23.2 43.9c-.7 1.3-2.1 2.2-3.6 2.1l-46-.6c-1.2 0-2.4-.6-3.2-1.6-20.5-27.7-32.5-60.6-34.7-95.4 0-1.3.5-2.5 1.4-3.3zm270.4 98.7L325 319c-.5-.9-.6-1.9-.3-2.9l14.6-57.3c.3-1.2 1.1-2.2 2.2-2.7l52.4-23.8c1.4-.6 3.1-.4 4.3.6l36.1 31.2c.9.8 1.5 2 1.4 3.3-2.1 34.8-14.2 67.6-34.7 95.4-.7 1-1.9 1.6-3.2 1.6l-46.1.6c-1.5-.1-2.9-.9-3.6-2.2z"/></svg>PK}w�\p[ddionicons/svg/md-film.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M376 64v42.667h-40V64H176v42.667h-40V64H96v384h40v-42.666h40V448h160v-42.666h40V448h40V64h-40zM176 362.667h-40V320h40v42.667zm0-85.333h-40v-42.667h40v42.667zM176 192h-40v-42.666h40V192zm200 170.667h-40V320h40v42.667zm0-85.333h-40v-42.667h40v42.667zM376 192h-40v-42.666h40V192z"/></svg>PK}w�\ϩ����ionicons/svg/md-leaf.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M416 287.6C416 120.9 256 32 256 32S96 120.9 96 287.6c0 118.8 81.3 140.5 128 143.2V480h64v-49.3c46.7-2.6 128-24.3 128-143.1z"/></svg>PK}w�\�v/��)ionicons/svg/md-remove-circle-outline.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 90c44.3 0 86 17.3 117.4 48.6C404.7 170 422 211.7 422 256s-17.3 86-48.6 117.4C342 404.7 300.3 422 256 422s-86-17.3-117.4-48.6C107.3 342 90 300.3 90 256s17.3-86 48.6-117.4C170 107.3 211.7 90 256 90m0-42C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48z"/><path d="M363 277H149v-42h214v42z"/></svg>PK}w�\���ionicons/svg/ios-link.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M280 341.1l-1.2.1c-3.6.4-7 2-9.6 4.5l-64.6 64.6c-13.7 13.7-32 21.2-51.5 21.2s-37.8-7.5-51.5-21.2c-13.7-13.7-21.2-32-21.2-51.5s7.5-37.8 21.2-51.5l68.6-68.6c3.5-3.5 7.3-6.6 11.4-9.3 4.6-3 9.6-5.6 14.8-7.5 4.8-1.8 9.9-3 15-3.7 3.4-.5 6.9-.7 10.2-.7 1.4 0 2.8.1 4.6.2 17.7 1.1 34.4 8.6 46.8 21 7.7 7.7 13.6 17.1 17.1 27.3 2.8 8 11.2 12.5 19.3 10.1.1 0 .2-.1.3-.1.1 0 .2 0 .2-.1 8.1-2.5 12.8-11 10.5-19.1-4.4-15.6-12.2-28.7-24.6-41-15.6-15.6-35.9-25.8-57.6-29.3-1.9-.3-3.8-.6-5.7-.8-3.7-.4-7.4-.6-11.1-.6-2.6 0-5.2.1-7.7.3-5.4.4-10.8 1.2-16.2 2.5-1.1.2-2.1.5-3.2.8-6.7 1.8-13.3 4.2-19.5 7.3-10.3 5.1-19.6 11.7-27.7 19.9l-68.6 68.6C58.9 304.4 48 330.8 48 359c0 28.2 10.9 54.6 30.7 74.4C98.5 453.1 124.9 464 153 464c28.2 0 54.6-10.9 74.4-30.7l65.3-65.3c10.4-10.5 2-28.3-12.7-26.9z"/><path d="M433.3 78.7C413.5 58.9 387.1 48 359 48s-54.6 10.9-74.4 30.7l-63.7 63.7c-9.7 9.7-3.6 26.3 10.1 27.4 4.7.4 9.3-1.3 12.7-4.6l63.8-63.6c13.7-13.7 32-21.2 51.5-21.2s37.8 7.5 51.5 21.2c13.7 13.7 21.2 32 21.2 51.5s-7.5 37.8-21.2 51.5l-68.6 68.6c-3.5 3.5-7.3 6.6-11.4 9.3-4.6 3-9.6 5.6-14.8 7.5-4.8 1.8-9.9 3-15 3.7-3.4.5-6.9.7-10.2.7-1.4 0-2.9-.1-4.6-.2-17.7-1.1-34.4-8.6-46.8-21-7.3-7.3-12.8-16-16.4-25.5-2.9-7.7-11.1-11.9-19.1-9.8-8.9 2.3-14.1 11.7-11.3 20.5 4.5 14 12.1 25.9 23.7 37.5l.2.2c16.9 16.9 39.4 27.6 63.3 30.1 3.7.4 7.4.6 11.1.6 2.6 0 5.2-.1 7.8-.3 6.5-.5 13-1.6 19.3-3.2 6.7-1.8 13.3-4.2 19.5-7.3 10.3-5.1 19.6-11.7 27.7-19.9l68.6-68.6c19.8-19.8 30.7-46.2 30.7-74.4s-11.1-54.6-30.9-74.4z"/></svg>PK}w�\�wkq��ionicons/svg/md-beaker.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M448.1 34.9c0-1.2-.4-2.9-2.9-2.9H128.5c-54.3 0-64.4 27.4-64.4 39.8C94.4 76 96 76.5 96 108.5v307c0 35.3 28.9 64.5 64.3 64.5H368c35.3 0 64-29.2 64-64.5V73.3c2.2-17.5 12-31.8 13.1-33.5 1.2-1.9 3-3.8 3-4.9zM354.2 432H176.3c-15.9 0-29.7-11.9-32.3-27.1V80h240v319.7c0 18-12.4 32.3-29.8 32.3z"/><path d="M182 160v226c0 4.4 3.6 8 8 8h148c4.4 0 8-3.6 8-8V160H182z"/></svg>PK}w�\c��F��ionicons/svg/md-globe.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.124 48 48 141.125 48 256s93.124 208 208 208c114.875 0 208-93.125 208-208S370.875 48 256 48zm-21.549 384.999c-39.464-4.726-75.978-22.392-104.519-50.932C96.258 348.393 77.714 303.622 77.714 256c0-42.87 15.036-83.424 42.601-115.659.71 8.517 2.463 17.648 2.014 24.175-1.64 23.795-3.988 38.687 9.94 58.762 5.426 7.819 6.759 19.028 9.4 28.078 2.583 8.854 12.902 13.498 20.019 18.953 14.359 11.009 28.096 23.805 43.322 33.494 10.049 6.395 16.326 9.576 13.383 21.839-2.367 9.862-3.028 15.937-8.13 24.723-1.557 2.681 5.877 19.918 8.351 22.392 7.498 7.497 14.938 14.375 23.111 21.125 12.671 10.469-1.231 24.072-7.274 39.117zm147.616-50.932c-25.633 25.633-57.699 42.486-92.556 49.081 4.94-12.216 13.736-23.07 21.895-29.362 7.097-5.476 15.986-16.009 19.693-24.352 3.704-8.332 8.611-15.555 13.577-23.217 7.065-10.899-17.419-27.336-25.353-30.781-17.854-7.751-31.294-18.21-47.161-29.375-11.305-7.954-34.257 4.154-47.02-1.417-17.481-7.633-31.883-20.896-47.078-32.339-15.68-11.809-14.922-25.576-14.922-42.997 12.282.453 29.754-3.399 37.908 6.478 2.573 3.117 11.42 17.042 17.342 12.094 4.838-4.043-3.585-20.249-5.212-24.059-5.005-11.715 11.404-16.284 19.803-24.228 10.96-10.364 34.47-26.618 32.612-34.047s-23.524-28.477-36.249-25.193c-1.907.492-18.697 18.097-21.941 20.859.086-5.746.172-11.491.26-17.237.055-3.628-6.768-7.352-6.451-9.692.8-5.914 17.262-16.647 21.357-21.357-2.869-1.793-12.659-10.202-15.622-8.968-7.174 2.99-15.276 5.05-22.45 8.039 0-2.488-.302-4.825-.662-7.133a176.585 176.585 0 0 1 45.31-13.152l14.084 5.66 9.944 11.801 9.924 10.233 8.675 2.795 13.779-12.995L282 87.929V79.59c27.25 3.958 52.984 14.124 75.522 29.8-4.032.361-8.463.954-13.462 1.59-2.065-1.22-4.714-1.774-6.965-2.623 6.531 14.042 13.343 27.89 20.264 41.746 7.393 14.801 23.793 30.677 26.673 46.301 3.394 18.416 1.039 35.144 2.896 56.811 1.788 20.865 23.524 44.572 23.524 44.572s10.037 3.419 18.384 2.228c-7.781 30.783-23.733 59.014-46.769 82.052z"/></svg>PK}w�\2��yyionicons/svg/md-settings.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M413.967 276.8c1.06-6.235 1.06-13.518 1.06-20.8s-1.06-13.518-1.06-20.8l44.667-34.318c4.26-3.118 5.319-8.317 2.13-13.518L418.215 115.6c-2.129-4.164-8.507-6.235-12.767-4.164l-53.186 20.801c-10.638-8.318-23.394-15.601-36.16-20.801l-7.448-55.117c-1.06-4.154-5.319-8.318-10.638-8.318h-85.098c-5.318 0-9.577 4.164-10.637 8.318l-8.508 55.117c-12.767 5.2-24.464 12.482-36.171 20.801l-53.186-20.801c-5.319-2.071-10.638 0-12.767 4.164L49.1 187.365c-2.119 4.153-1.061 10.399 2.129 13.518L96.97 235.2c0 7.282-1.06 13.518-1.06 20.8s1.06 13.518 1.06 20.8l-44.668 34.318c-4.26 3.118-5.318 8.317-2.13 13.518L92.721 396.4c2.13 4.164 8.508 6.235 12.767 4.164l53.187-20.801c10.637 8.318 23.394 15.601 36.16 20.801l8.508 55.117c1.069 5.2 5.318 8.318 10.637 8.318h85.098c5.319 0 9.578-4.164 10.638-8.318l8.518-55.117c12.757-5.2 24.464-12.482 36.16-20.801l53.187 20.801c5.318 2.071 10.637 0 12.767-4.164l42.549-71.765c2.129-4.153 1.06-10.399-2.13-13.518l-46.8-34.317zm-158.499 52c-41.489 0-74.46-32.235-74.46-72.8s32.971-72.8 74.46-72.8 74.461 32.235 74.461 72.8-32.972 72.8-74.461 72.8z"/></svg>PK}w�\����ionicons/svg/md-contract.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M64 371.2h76.795V448H192V320H64v51.2zm76.795-230.4H64V192h128V64h-51.205v76.8zM320 448h51.2v-76.8H448V320H320v128zm51.2-307.2V64H320v128h128v-51.2h-76.8z"/></svg>PK}w�\lM��ionicons/svg/md-water.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M380.5 163.3L256 32 131.5 163.3c-68.6 72.4-68.6 190 0 262.4C165.8 461.9 210.9 480 256 480s90.2-18.1 124.5-54.3c68.7-72.4 68.7-190 0-262.4z"/></svg>PK}w�\fyZ�� ionicons/svg/md-cloud-circle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.6 48 48 141.6 48 256s93.6 208 208 208 208-93.6 208-208S370.4 48 256 48zm93.6 291.2H172.801c-34.318 0-62.4-28.082-62.4-62.399 0-34.319 28.082-62.4 62.4-62.4h3.117c9.364-36.4 41.601-62.399 80.083-62.399 45.764 0 83.199 37.435 83.199 83.198h10.4c29.118 0 52 22.882 52 52.001 0 29.117-22.882 51.999-52 51.999z"/></svg>PK}w�\ �����ionicons/svg/md-download.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M416 199.5h-91.4V64H187.4v135.5H96l160 158.1 160-158.1zM96 402.8V448h320v-45.2H96z"/></svg>PK}w�\�8O""ionicons/svg/ios-ice-cream.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M220.8 406.1l4.8 14.8c.4 1.2 1.9 1.8 3 1.1l6.8-4.2c2.5-1.6 2.5-5.2 0-6.8l-11.5-7.2c-1.7-1-3.6.5-3.1 2.3zM286.6 421l4.9-15.2c.6-1.8-1.4-3.3-3-2.3l-11.9 7.4a4.02 4.02 0 0 0 0 6.8l7 4.4c1.2.7 2.6.1 3-1.1zM188.6 242.2c-3.9 3.5-9.6 6.4-15.7 8.5-1 .4-1.6 1.5-1.2 2.5l9.3 28.9 3.8 11.8c.4 1.2 1.9 1.8 3 1.1l7-4.3 36.6-22.5c3-1.9 2.3-6.5-1.2-7.3-14.3-3.3-26.5-9.8-36.2-18.5-1.6-1.4-3.9-1.5-5.4-.2zM192.6 310.8l-2 1.2 14.6 45.3c.4 1.2 1.9 1.8 3 1.1l27.2-16.9c2.5-1.6 2.5-5.2 0-6.8l-38.5-23.9c-1.4-.8-3-.8-4.3 0zM258.1 348.9c-1.3-.8-2.9-.8-4.2 0L212 374.5l-.1.1c-1 .8-1 2.4 0 3.2l.7.5 41.3 25.3c1.3.8 2.9.8 4.2 0l41.7-25.5.4-.3c1-.8 1-2.2 0-3l-42.1-25.9zM296.7 296.6l-38.5-23.9c-1.3-.8-2.9-.8-4.2 0l-38.5 23.9a4.02 4.02 0 0 0 0 6.8l38.5 23.9c1.3.8 2.9.8 4.2 0l38.5-23.9c2.5-1.5 2.5-5.2 0-6.8zM318.1 242.3c-9.7 8.7-22 15.1-36.2 18.5-3.5.8-4.2 5.4-1.2 7.3l36.6 22.5 7.4 4.6c1.1.7 2.6.2 3-1.1l4-12.4 9.8-30.3c-6.9-2.1-13.6-5.3-18-9.2-1.6-1.3-3.9-1.2-5.4.1zM232.4 442l1.6 5s7.5 19 22 19c15 0 22.2-19 22.2-19l1.6-4.8c.6-1.7-.1-3.7-1.7-4.6l-20-12.4c-1.3-.8-2.9-.8-4.2 0l-19.8 12.3c-1.6.8-2.3 2.7-1.7 4.5zM276.7 341.5l27.5 17.1c1.1.7 2.6.2 3-1.1l14.2-43.8c.3-.9-.1-1.8-.8-2.3l-1-.6c-1.3-.8-2.9-.8-4.2 0l-38.5 23.9c-2.8 1.6-2.8 5.3-.2 6.8z"/><path d="M376.1 168.2c-6.2 5.4-13.2 8.7-18 10.5-1.8.7-3.5-1.4-2.3-3l4-5.7c6.1-8.7 8.5-19.4 6.8-29.8C357.9 86.8 311.7 46 256 46c-55.7 0-101.9 41.2-110.6 94.7-1.7 10.5.8 21.2 6.9 29.8l4 5.6c1.2 1.6-.5 3.8-2.4 3-5.4-2.1-13.5-6.2-20.1-12.8-1.4-1.4-3.6-1.5-5.2-.4-10.2 7.3-16.8 19.1-16.8 32.5 0 22.1 17.9 40 40 40 11.3 0 28-4.7 36.6-12.3 1.5-1.3 3.8-1.3 5.3.1 15.2 13.4 36.6 20.2 62.1 20.2s47-6.8 62.1-20.2c1.5-1.3 3.8-1.4 5.3-.1 8.5 7.6 25.3 12.3 36.6 12.3 22.1 0 40-18 40-40.1 0-11.9-5.2-22.6-13.5-30-2.7-2.6-7.2-2.7-10.2-.1z"/></svg>PK}w�\�=��"ionicons/svg/md-reverse-camera.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M440 96h-88l-32-32H192l-32 32H72c-22.1 0-40 17.9-40 40v272c0 22.1 17.9 40 40 40h368c22.1 0 40-17.9 40-40V136c0-22.1-17.9-40-40-40zm-72 171h-97.7l44.8-45.1c-14.7-15.4-35.7-25.5-58.8-25.5-46.2 0-84 37.8-84 84s37.8 84 84 84c35.5 0 66.2-21.5 78.2-53.5h29.6c-13.4 47-56.2 81.5-107.8 81.5-62.3 0-112-50.4-112-112s50.4-112 112-112c30.8 0 58.7 12.6 79 32.9l32.8-32.9V267z"/></svg>PK}w�\ �+��ionicons/svg/md-paw.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M459.5 165.9c-4.7-10.5-12.7-18.1-23.1-22-4.8-1.7-9.7-2.6-14.8-2.6-21.7 0-43.7 16.7-54.9 41.6-13.8 30.9-5.8 61 18.6 70.3 4.9 1.8 10.1 2.8 15.6 2.8 22.1 0 44.6-15.3 55.9-38.1 8.5-17.5 9.5-36.8 2.7-52zM145.3 182.8c-11.1-24.9-33.2-41.6-54.9-41.6-5.1 0-10.1.9-14.8 2.6-10.4 3.9-18.3 11.5-23.1 22-6.9 15.2-5.9 34.6 2.7 51.9 11.3 22.8 33.8 38.1 55.9 38.1 5.4 0 10.7-.9 15.6-2.8 24.4-9.1 32.4-39.3 18.6-70.2zM193.5 179.4c2 .1 4 0 6-.2 11.7-.9 22.3-5.9 30.6-14.3 13.4-13.6 17.1-34.9 14.3-56.8-4.3-33.7-25.8-59-54.8-60.1 0 0-4.1 0-6.2.2-12.8 1.1-24.4 6.5-33.5 15.9-13.3 13.6-19.7 33.7-17.1 53.8 4.3 33.4 30.9 60.4 60.7 61.5zM256 224c-69.3 0-138.7 97.1-138.7 176.3 0 23.6 11.8 42.6 23.5 50.4 14.4 9.6 24.5 13.4 45.5 13.4 13.4 0 21.6-2.5 28.1-6.1 12.3-6.7 25.9-10.4 39.9-10.4h3.5c14 0 27.6 3.8 39.9 10.4 6.5 3.5 14.7 6.1 28.1 6.1 21.1 0 31.2-3.8 45.5-13.4 11.6-7.8 23.5-26.8 23.5-50.4C394.7 321 325.3 224 256 224zM312.6 179.1c2 .2 4 .2 6 .2 29.8-1.1 56.5-28 60.8-61.5 2.6-20.2-3.8-40.4-17.1-53.8-9.2-9.3-20.3-14.6-33.1-15.6-2.1-.2-6.7-.2-6.7-.2-28.9 1.1-50.4 26.1-54.8 59.9-2.8 21.9.9 43.3 14.3 56.8 8.4 8.3 19 13.2 30.6 14.2z"/></svg>PK}w�\��DDionicons/svg/ios-git-branch.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M352 96c-38.6 0-70 31.4-70 70 0 33.4 23.7 61.9 55.9 68.5-1.2 19.1-10.3 29.3-27 42.2-20.4 15.7-46.7 20-65.3 23.4-40.7 7.4-62.9 27-72.5 40V170.8c15-2.8 28.7-10.5 39-21.9 11.6-12.9 18-29.5 18-46.9 0-38.6-31.4-70-70-70s-70 31.4-70 70c0 17 6.2 33.3 17.3 46.1 9.9 11.3 23.1 19.1 37.7 22.3v171.3c-14.5 3.2-27.8 11-37.7 22.3C96.2 376.7 90 393 90 410c0 38.6 31.4 70 70 70s70-31.4 70-70c0-23.4-11.6-44.9-30.7-57.9 8.6-9.7 24.5-19.6 51.1-24.4 21.6-3.9 52.6-9.6 77.4-28.8 23.6-18.2 36.7-36.5 38-64.3 32.3-6.5 56.1-35.1 56.1-68.6.1-38.6-31.3-70-69.9-70zm-234 6c0-23.2 18.8-42 42-42s42 18.8 42 42-18.8 42-42 42-42-18.8-42-42zm84 308c0 23.2-18.8 42-42 42s-42-18.8-42-42 18.8-42 42-42 42 18.8 42 42zm150-202c-23.2 0-42-18.8-42-42s18.8-42 42-42 42 18.8 42 42-18.8 42-42 42z"/></svg>PK}w�\E%�~�� ionicons/svg/md-musical-note.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 64v225.1c-12.6-7.3-27.1-11.7-42.7-11.7-47.1 0-85.3 38.2-85.3 85.3s38.2 85.3 85.3 85.3 85.3-38.2 85.3-85.3V149.3H384V64H256z"/></svg>PK}w�\?a����ionicons/svg/md-laptop.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M437.334 416C460.803 416 480 396.803 480 373.334V106.668C480 83.199 460.803 64 437.334 64H74.666C51.197 64 32 83.199 32 106.668v266.666C32 396.803 51.197 416 74.666 416H0c0 23.469 64 32 96 32h320c32 0 96-8.531 96-32h-74.666zM74.666 106.668h362.668v271.998H74.666V106.668zM256 434.666c-11.729 0-21.333-9.604-21.333-21.334 0-11.729 9.604-21.332 21.333-21.332s21.333 9.604 21.333 21.332c0 11.73-9.604 21.334-21.333 21.334z"/></svg>PK}w�\t�"KKionicons/svg/md-log-in.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48c-42.9 0-84.2 13-119.2 37.5-34.2 24-60.2 57.2-75.1 96.1L58 192h45.7l1.9-5c8.2-17.8 19.4-33.9 33.5-48 31.2-31.2 72.7-48.4 116.9-48.4s85.7 17.2 116.9 48.4c31.2 31.2 48.4 72.7 48.4 116.9 0 44.1-17.2 85.7-48.4 116.9-31.2 31.2-72.7 48.4-116.9 48.4-44.1 0-85.6-17.2-116.9-48.4-14-14-25.3-30.1-33.5-47.9l-1.9-5H58l3.6 10.4c14.9 38.9 40.9 72.1 75.1 96.1C171.8 451.1 213 464 256 464c114.7 0 208-93.3 208-208S370.7 48 256 48z"/><path d="M48 277.4h189.7l-43.6 44.7L224 352l96-96-96-96-31 29.9 44.7 44.7H48v42.8z"/></svg>PK}w�\=�F��ionicons/svg/ios-bed.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M458.2 208h-.4c-12 0-21.8 9.8-21.8 21.8 0 1.2-1 2.2-2.2 2.2H78.2c-1.2 0-2.2-1-2.2-2.2 0-12-9.8-21.8-21.8-21.8h-.4c-12 0-21.8 9.8-21.8 21.8v180.4c0 12 9.8 21.8 21.8 21.8h.4c12 0 21.8-9.8 21.8-21.8V404c0-2.2 1.8-4 4-4h352c2.2 0 4 1.8 4 4v6.2c0 12 9.8 21.8 21.8 21.8h.4c12 0 21.8-9.8 21.8-21.8V229.8c0-12-9.8-21.8-21.8-21.8z"/><path d="M84 214h22.5c2.2 0 4-1.8 4-4v-13c0-8.8 7.2-16 16-16H224c8.8 0 16 7.2 16 16v13c0 2.2 1.8 4 4 4h24c2.2 0 4-1.8 4-4v-13c0-8.8 7.2-16 16-16h97.5c8.8 0 16 7.2 16 16v13c0 2.2 1.8 4 4 4H428c4.4 0 8-3.6 8-8v-94c0-17.6-14.4-32-32-32H108c-17.6 0-32 14.4-32 32v94c0 4.4 3.6 8 8 8z"/></svg>PK}w�\!A��ionicons/svg/md-checkmark.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M186.301 339.893L96 249.461l-32 30.507L186.301 402 448 140.506 416 110z"/></svg>PK}w�\����ionicons/svg/ios-flash-off.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M382.1 442.7L154.5 55c-4-6.7-12.7-9-19.5-5.1-6.8 3.9-9.1 12.6-5.1 19.3L357.5 457c2.6 4.5 7.4 7 12.3 7 2.4 0 4.9-.6 7.2-1.9 6.7-4 9-12.6 5.1-19.4zM324.6 313.3l57.9-75.8c3.8-5.6.2-13.4-6.3-13.4h-104l52.4 89.2zM320.4 37.1c.9-4.5-4.6-7.1-7.2-3.4L227 146.9l42.4 72.3 51-182.1zM187.4 198.7l-57.9 75.8c-3.8 5.6-.2 13.4 6.3 13.4h103.9l-52.3-89.2zM191.6 474.9c-.9 4.5 4.6 7.1 7.2 3.4L285 365.1l-42.4-72.3-51 182.1z"/></svg>PK}w�\�� ��ionicons/svg/ios-cog.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M456.9 242.2l-26.1-4.2c-3.5-.6-6.1-3.3-6.6-6.8-.5-3.2-1-6.4-1.7-9.5-.7-3.4.9-6.9 3.9-8.6l23.1-12.8c3.6-1.8 5.3-6.1 3.9-9.9l-4-11c-1.4-3.8-5.4-6-9.4-5l-25.9 5c-3.4.7-6.9-1-8.6-4.1-1.5-2.8-3.1-5.6-4.8-8.4-1.8-3-1.6-6.8.7-9.5l17.3-19.9c2.8-3 2.9-7.5.3-10.6l-7.5-9c-2.6-3.1-7.1-3.8-10.5-1.5L378.3 130c-3 1.8-6.8 1.4-9.4-.9-2.4-2.1-4.9-4.2-7.4-6.2-2.7-2.2-3.8-5.9-2.5-9.1l9.4-24.7c1.6-3.7.2-8.1-3.3-10.1l-10.2-5.9c-3.5-2-8-1.1-10.4 2.2l-16.6 20.8c-2 2.5-4.9 3.8-8.5 2.5 0 0-5.6-2.3-9.8-3.7-3.3-1.1-5.6-4.2-5.5-7.7l.4-26.4c.2-4.1-2.6-7.7-6.6-8.4l-11.6-2c-4-.7-7.9 1.7-9.1 5.6l-8.6 25c-1.1 3.3-4.3 5.5-7.8 5.4-1.6 0-3.3-.1-4.9-.1s-3.3 0-4.9.1c-3.5.1-6.6-2.1-7.8-5.4l-8.6-25c-1.2-3.9-5.1-6.3-9.1-5.6l-11.6 2c-4 .7-6.8 4.3-6.6 8.4l.4 26.4c.1 3.5-2.1 6.4-5.5 7.7-2.3.9-7.3 2.8-9.7 3.7-2.8 1-6.1.2-8.8-2.9l-16.5-20.3c-2.4-3.3-6.9-4.2-10.4-2.2l-10.2 5.9c-3.5 2-5 6.4-3.3 10.1l9.4 24.7c1.2 3.3.2 7-2.5 9.1-2.5 2-5 4.1-7.4 6.2-2.6 2.3-6.4 2.7-9.4.9L111 116.3c-3.4-2.2-7.9-1.6-10.5 1.5l-7.5 9c-2.6 3.1-2.5 7.7.3 10.6l17.3 19.9c2.3 2.6 2.6 6.5.7 9.5-1.7 2.7-3.3 5.5-4.8 8.4-1.7 3.1-5.1 4.7-8.6 4.1l-25.9-5c-4-.9-8 1.2-9.4 5l-4 11c-1.4 3.8.3 8.1 3.9 9.9L85.6 213c3.1 1.7 4.6 5.2 3.9 8.6-.6 3.2-1.2 6.3-1.7 9.5-.5 3.5-3.2 6.2-6.6 6.8l-26.1 4.2c-4 .5-7.1 3.9-7.1 7.9v11.7c0 4.1 3 7.5 7.1 7.9l26.1 4.2c3.5.6 6.1 3.3 6.6 6.8.5 3.2 1 6.4 1.7 9.5.7 3.4-.9 6.9-3.9 8.6l-23.1 12.8c-3.6 1.8-5.3 6.1-3.9 9.9l4 11c1.4 3.8 5.4 6 9.4 5l25.9-5c3.4-.7 6.9 1 8.6 4.1 1.5 2.8 3.1 5.6 4.8 8.4 1.8 3 1.6 6.8-.7 9.5l-17.3 19.9c-2.8 3-2.9 7.5-.3 10.6l7.5 9c2.6 3.1 7.1 3.8 10.5 1.5l22.7-13.6c3-1.8 6.8-1.4 9.4.9 2.4 2.1 4.9 4.2 7.4 6.2 2.7 2.2 3.8 5.9 2.5 9.1l-9.4 24.7c-1.6 3.7-.2 8.1 3.3 10.1l10.2 5.9c3.5 2 8 1.1 10.4-2.2l16.8-20.6c2.1-2.6 5.5-3.7 8.2-2.6 3.4 1.4 5.7 2.2 9.9 3.6 3.3 1.1 5.6 4.2 5.5 7.7l-.4 26.4c-.2 4.1 2.6 7.7 6.6 8.4l11.6 2c4 .7 7.9-1.7 9.1-5.6l8.6-25c1.1-3.3 4.3-5.5 7.8-5.4 1.6 0 3.3.1 4.9.1s3.3 0 4.9-.1c3.5-.1 6.6 2.1 7.8 5.4l8.6 25c1.2 3.9 5.1 6.3 9.1 5.6l11.6-2c4-.7 6.8-4.3 6.6-8.4l-.4-26.4c-.1-3.5 2.2-6.6 5.5-7.7 4.2-1.4 7-2.5 9.6-3.5 2.6-.9 5.8-1 8.3 2.1l17 20.9c2.4 3.3 6.9 4.2 10.4 2.2l10.2-5.9c3.5-2 5-6.4 3.3-10.1l-9.4-24.7c-1.2-3.3-.2-7 2.5-9.1 2.5-2 5-4.1 7.4-6.2 2.6-2.3 6.4-2.7 9.4-.9l22.7 13.6c3.4 2.2 7.9 1.6 10.5-1.5l7.5-9c2.6-3.1 2.5-7.7-.3-10.6l-17.3-19.9c-2.3-2.6-2.6-6.5-.7-9.5 1.7-2.7 3.3-5.5 4.8-8.4 1.7-3.1 5.1-4.7 8.6-4.1l25.9 5c4 .9 8-1.2 9.4-5l4-11c1.4-3.8-.3-8.1-3.9-9.9l-23.1-12.8c-3.1-1.7-4.6-5.2-3.9-8.6.6-3.2 1.2-6.3 1.7-9.5.5-3.5 3.2-6.2 6.6-6.8l26.1-4.2c4-.5 7.1-3.9 7.1-7.9v-11.7c-.2-3.8-3.2-7.3-7.3-7.7zM181.8 356.9c-5.2 9-17.4 10.7-25 3.6C129.2 334.2 112 297.1 112 256c0-40.9 17.1-77.9 44.5-104.1 7.5-7.2 19.8-5.5 25 3.5l56 96.6c1.4 2.5 1.4 5.5 0 8l-55.7 96.9zM396 289.7C380.9 353 323.9 400 256 400c-14.1 0-27.8-2-40.6-5.8-9.9-2.9-14.5-14.4-9.3-23.3l55.7-96.9c1.4-2.5 4.1-4 6.9-4h111.7c10.4 0 18 9.6 15.6 19.7zM380.5 242H268.7c-2.9 0-5.5-1.5-6.9-4l-56.1-96.7c-5.2-8.9-.7-20.4 9.2-23.4 13-3.9 26.8-5.9 41.1-5.9 67.9 0 124.9 47 140 110.3 2.4 10.1-5.2 19.7-15.5 19.7z"/></svg>PK}w�\%ا��ionicons/svg/ios-keypad.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M394.6 341.2c-29.5 0-53.4 23.9-53.4 53.4s23.9 53.4 53.4 53.4 53.4-23.9 53.4-53.4-23.9-53.4-53.4-53.4zM256 341.2c-29.5 0-53.4 23.9-53.4 53.4S226.5 448 256 448s53.4-23.9 53.4-53.4-23.9-53.4-53.4-53.4zM117.4 341.2c-29.5 0-53.4 23.9-53.4 53.4S87.9 448 117.4 448s53.4-23.9 53.4-53.4-23.9-53.4-53.4-53.4zM394.6 202.6c-29.5 0-53.4 23.9-53.4 53.4s23.9 53.4 53.4 53.4S448 285.5 448 256s-23.9-53.4-53.4-53.4zM256 202.6c-29.5 0-53.4 23.9-53.4 53.4s23.9 53.4 53.4 53.4 53.4-23.9 53.4-53.4-23.9-53.4-53.4-53.4zM117.4 202.6C87.9 202.6 64 226.5 64 256s23.9 53.4 53.4 53.4 53.4-23.9 53.4-53.4-23.9-53.4-53.4-53.4zM394.6 64c-29.5 0-53.4 23.9-53.4 53.4s23.9 53.4 53.4 53.4 53.4-23.9 53.4-53.4S424.1 64 394.6 64zM256 64c-29.5 0-53.4 23.9-53.4 53.4s23.9 53.4 53.4 53.4 53.4-23.9 53.4-53.4S285.5 64 256 64zM117.4 64C87.9 64 64 87.9 64 117.4s23.9 53.4 53.4 53.4 53.4-23.9 53.4-53.4S146.9 64 117.4 64z"/></svg>PK}w�\�@����ionicons/svg/ios-briefcase.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M80 448h352c17.7 0 32-14.3 32-32V224H48v192c0 17.7 14.3 32 32 32zM432 128h-8v-8c0-4.4-3.6-8-8-8h-32c-4.4 0-8 3.6-8 8v8h-28V96c0-17.6-14.4-32-32-32H196c-17.6 0-32 14.4-32 32v32h-28v-8c0-4.4-3.6-8-8-8H96c-4.4 0-8 3.6-8 8v8h-8c-17.7 0-32 14.3-32 32v40h416v-40c0-17.7-14.3-32-32-32zm-112 0H192v-28c0-4.4 3.6-8 8-8h112c4.4 0 8 3.6 8 8v28z"/></svg>PK}w�\�N����ionicons/svg/md-glasses.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M480 176H272v.1h-32v-.1H32v48h11l5 21.5C64 313 88.5 336 144 336s96-17.4 96-90.5V224s1.5-16 16-16 16 16 16 16v21.8c0 73 42.1 90.2 97 90.2s79-25 95-90.2l5-21.8h11v-48z"/></svg>PK}w�\+����� ionicons/svg/ios-information.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M235.4 176c0-11.4 9.3-19.9 20.5-19.9 11.4 0 20.7 8.5 20.7 19.9s-9.3 20-20.7 20c-11.2.1-20.5-8.6-20.5-20zm1.4 35.8H275v144.1h-38.2V211.8z"/></svg>PK}w�\�|�}EE$ionicons/svg/ios-radio-button-on.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 76c48.1 0 93.3 18.7 127.3 52.7S436 207.9 436 256s-18.7 93.3-52.7 127.3S304.1 436 256 436c-48.1 0-93.3-18.7-127.3-52.7S76 304.1 76 256s18.7-93.3 52.7-127.3S207.9 76 256 76m0-28C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48z"/><path d="M363.5 148.5C334.8 119.8 296.6 104 256 104c-40.6 0-78.8 15.8-107.5 44.5C119.8 177.2 104 215.4 104 256s15.8 78.8 44.5 107.5C177.2 392.2 215.4 408 256 408c40.6 0 78.8-15.8 107.5-44.5C392.2 334.8 408 296.6 408 256s-15.8-78.8-44.5-107.5z"/></svg>PK}w�\�v����ionicons/svg/md-woman.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M190.4 148.6L161 252.9c-6.3 22.8 20.7 31.7 27.3 10.3l26.3-96.2h7.4l-45.2 169H219v127c0 23 32 23 32 0V336h10v127c0 23 31 23 31 0V336h43.4l-46.2-169h8.4l26.3 96.2c6.5 21.9 33.3 12.5 27.3-10.2l-29.4-104.4c-4-11.8-18.2-32.6-42-33.6h-47.3c-24.6 1-38.7 21.6-42.1 33.6zM292.6 69.2c0-20.6-16.4-37.3-36.6-37.3-20.2 0-36.6 16.7-36.6 37.3 0 20.6 16.4 37.3 36.6 37.3 20.2 0 36.6-16.7 36.6-37.3z"/></svg>PK}w�\]�?ffionicons/svg/md-filing.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M449.2 208H423v-32l-14.4-48H383V96l-15-48H144l-15 48v32h-25.6L89 176v32H62.8L48 256v165.3c0 23.5 35.2 42.7 58.7 42.7h314.7c21.8 0 42.7-19.7 42.7-41V256l-14.9-48zM176 96h160v32H176V96zm-41 80h242v32H135v-32zm282 112h-82.6c-7.4 36.5-39.7 64-78.4 64s-71-27.5-78.4-64H95v-32h322v32z"/></svg>PK}w�\E� �%%ionicons/svg/md-cloud.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M403.002 217.001C388.998 148.002 328.998 96 256 96c-57.998 0-107.998 32.998-132.998 81.001C63.002 183.002 16 233.998 16 296c0 65.996 53.999 120 120 120h260c55 0 100-45 100-100 0-52.998-40.996-96.001-92.998-98.999z"/></svg>PK}w�\�N�'ionicons/svg/ios-git-commit.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M466 242h-76.7c-3.3-31.9-17.8-61.3-41.3-83.5-25-23.5-57.7-36.5-92-36.5s-67 13-91.9 36.5c-23.5 22.2-38 51.6-41.3 83.5H46c-7.7 0-14 6.3-14 14s6.3 14 14 14h76.7c3.3 31.9 17.8 61.3 41.3 83.5 25 23.5 57.7 36.5 92 36.5s67-13 91.9-36.5c23.5-22.2 38-51.6 41.3-83.5H466c7.7 0 14-6.3 14-14s-6.3-14-14-14zm-135 89c-20 20-46.6 31-75 31-28.3 0-54.9-11-75-31-20-20-31-46.6-31-75s11-54.9 31-75c20-20 46.6-31 75-31 28.3 0 54.9 11 75 31 20 20 31 46.6 31 75s-11 54.9-31 75z"/></svg>PK}w�\c�E&&ionicons/svg/ios-grid.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M206 308h100c1.1 0 2-.9 2-2V206c0-1.1-.9-2-2-2H206c-1.1 0-2 .9-2 2v100c0 1.1.9 2 2 2z"/><path d="M64 96v320c0 17.7 14.3 32 32 32h320c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H96c-17.7 0-32 14.3-32 32zm330 108h-56c-1.1 0-2 .9-2 2v100c0 1.1.9 2 2 2h56c7.7 0 14 6.3 14 14s-6.3 14-14 14h-56c-1.1 0-2 .9-2 2v56c0 7.7-6.3 14-14 14s-14-6.3-14-14v-56c0-1.1-.9-2-2-2H206c-1.1 0-2 .9-2 2v56c0 7.7-6.3 14-14 14s-14-6.3-14-14v-56c0-1.1-.9-2-2-2h-56c-7.7 0-14-6.3-14-14s6.3-14 14-14h56c1.1 0 2-.9 2-2V206c0-1.1-.9-2-2-2h-56c-7.7 0-14-6.3-14-14s6.3-14 14-14h56c1.1 0 2-.9 2-2v-56c0-7.7 6.3-14 14-14s14 6.3 14 14v56c0 1.1.9 2 2 2h100c1.1 0 2-.9 2-2v-56c0-7.7 6.3-14 14-14s14 6.3 14 14v56c0 1.1.9 2 2 2h56c7.7 0 14 6.3 14 14s-6.3 14-14 14z"/></svg>PK}w�\��66ionicons/svg/md-done-all.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M387.581 139.712L356.755 109 216.913 248.319l30.831 30.719 139.837-139.326zM481.172 109L247.744 340.469l-91.39-91.051-30.827 30.715L247.744 403 512 139.712 481.172 109zM0 280.133L123.321 403l30.829-30.713L31.934 249.418 0 280.133z"/></svg>PK}w�\E��̊�!ionicons/svg/ios-cloud-circle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zm82.6 272H173.4c-25.1 0-45.4-21.4-45.4-47.2 0-21 13.2-39.8 33.2-46.2.3-20 16.2-36.1 35.7-36.1 5.3 0 10.4 1.2 14.9 3.4 13.1-20.5 36.9-33.8 62.5-33.8 37.7 0 67.5 29.3 71.4 66.9 21.7 3.5 38.3 22.7 38.3 45.9 0 25.7-20.3 47.1-45.4 47.1z"/></svg>PK}w�\��q�YYionicons/svg/md-help-circle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.2 48 48 141.2 48 256s93.2 208 208 208 208-93.2 208-208S370.8 48 256 48zm21 333h-42v-42h42v42zm-.2-63h-41.6c0-67 62.4-62.2 62.4-103.8 0-22.9-18.7-41.7-41.6-41.7S214.4 192 214.4 214h-41.6c0-46 37.2-83 83.2-83s83.2 37.1 83.2 83.1c0 52-62.4 57.9-62.4 103.9z"/></svg>PK}w�\��v��ionicons/svg/logo-youtube.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M508.6 148.8c0-45-33.1-81.2-74-81.2C379.2 65 322.7 64 265 64h-18c-57.6 0-114.2 1-169.6 3.6C36.6 67.6 3.5 104 3.5 149 1 184.6-.1 220.2 0 255.8c-.1 35.6 1 71.2 3.4 106.9 0 45 33.1 81.5 73.9 81.5 58.2 2.7 117.9 3.9 178.6 3.8 60.8.2 120.3-1 178.6-3.8 40.9 0 74-36.5 74-81.5 2.4-35.7 3.5-71.3 3.4-107 .2-35.6-.9-71.2-3.3-106.9zM207 353.9V157.4l145 98.2-145 98.3z"/></svg>PK}w�\1�X��ionicons/svg/md-boat.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M84.255 413h1.063c34.123 0 63.977-19.021 85.305-42.494 21.325 23.473 51.18 42.762 85.304 42.762s63.979-19.334 85.305-42.806C362.559 393.934 392.412 413 426.535 413h1.062l51.253-138.78c2.126-5.329 1.063-11.641-1.07-16.976-2.136-5.333-7.237-8.487-12.567-10.623L427 234.133v-98.15C427 112.51 407.344 93 383.884 93h-63.979l-15.993-53h-95.969l-15.995 53h-63.979C104.511 93 85 112.51 85 135.982v98.15l-38.074 12.533c-5.33 2.136-10.582 5.334-12.718 10.667-2.135 5.335-3.158 10.49-1.031 16.887L84.255 413zM128 136h256v84.261l-128-41.605-128 41.605V136z"/><path d="M341.231 408.007c-52.253 36.267-118.356 36.258-170.608-.009 0 0-57.638 64.002-106.632 64.002h21.327c29.854 0 58.646-11.726 85.305-25.594 53.315 27.734 117.293 27.728 170.608-.007C367.89 460.268 396.681 472 426.535 472h21.328c-47.651 0-106.632-63.993-106.632-63.993z"/></svg>PK}w�\"笴��ionicons/svg/md-wallet.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M202.7 341.3V170.7c0-23.5 19-42.7 42.7-42.7h197v-21.3c0-23.5-18.9-42.7-42.3-42.7H92c-23.7 0-44 18.5-44 42v300c0 23.5 20.3 42 44 42h308c23.5 0 42.3-19.2 42.3-42.7V384h-197c-23.6 0-42.6-19.2-42.6-42.7z"/><path d="M245 186v140c0 8.8 7.2 16 16 16h187c8.8 0 16-7.2 16-16V186c0-8.8-7.2-16-16-16H261c-8.8 0-16 7.2-16 16zm77.1 101.9c-19.3 1.2-35.2-14.7-34-34 1-15.9 13.9-28.8 29.9-29.9 19.3-1.2 35.2 14.7 34 34-1.1 16-14 28.9-29.9 29.9z"/></svg>PK}w�\�2��ionicons/svg/md-clipboard.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M405.333 80h-87.35C310.879 52.396 285.821 32 256 32s-54.879 20.396-61.983 48h-87.35C83.198 80 64 99.198 64 122.667v314.665C64 460.801 83.198 480 106.667 480h298.666C428.802 480 448 460.801 448 437.332V122.667C448 99.198 428.802 80 405.333 80zM256 80c11.729 0 21.333 9.599 21.333 21.333s-9.604 21.334-21.333 21.334-21.333-9.6-21.333-21.334S244.271 80 256 80zm152 360H104V120h40v72h224v-72h40v320z"/></svg>PK}w�\3�rNionicons/svg/md-bluetooth.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M399 159.9L270.5 32H248v170L144.7 99.2 113 130.8 238.8 256 113 381.2l31.7 31.6L248 310v170h22.5L399 352.1 302.2 256l96.8-96.1zm-106-42.1l42.3 42.1L293 202v-84.2zm42.3 234.3L293 394.2V310l42.3 42.1z"/></svg>PK}w�\�:`p��ionicons/svg/md-print.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M399.95 160h-287.9C76.824 160 48 188.803 48 224v138.667h79.899V448H384.1v-85.333H464V224c0-35.197-28.825-64-64.05-64zM352 416H160V288h192v128zm32.101-352H127.899v80H384.1V64z"/></svg>PK}w�\���P"ionicons/svg/ios-code-download.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M332 142.7c-1.2-1.1-2.7-1.7-4.1-1.7s-3 .6-4.1 1.7L310 155.9c-1.2 1.1-1.9 2.7-1.9 4.3 0 1.6.7 3.2 1.9 4.3l95.8 91.5-95.8 91.5c-1.2 1.1-1.9 2.7-1.9 4.3 0 1.6.7 3.2 1.9 4.3l13.8 13.2c1.2 1.1 2.6 1.7 4.1 1.7 1.5 0 3-.6 4.1-1.7l114.2-109c1.2-1.1 1.9-2.7 1.9-4.3 0-1.6-.7-3.2-1.9-4.3L332 142.7zM106.3 256l95.8-91.5c1.2-1.1 1.9-2.7 1.9-4.3 0-1.6-.7-3.2-1.9-4.3l-13.8-13.2c-1.2-1.1-2.7-1.7-4.1-1.7s-3 .6-4.1 1.7l-114.2 109c-1.2 1.1-1.9 2.7-1.9 4.3 0 1.6.7 3.2 1.9 4.3l114.2 109c1.2 1.1 2.7 1.7 4.1 1.7 1.5 0 3-.6 4.1-1.7l13.8-13.2c1.2-1.1 1.9-2.7 1.9-4.3 0-1.6-.7-3.2-1.9-4.3L106.3 256z"/><path d="M332.8 267.2c.1-3.9-1.4-7.6-4.2-10.4l-.1-.1c-2.7-2.7-6.2-4.2-10-4.2-3.5 0-6.8 1.3-9.4 3.6l-38.9 34.6V184.6c0-7.8-6.4-14.2-14.2-14.2-7.8 0-14.2 6.4-14.2 14.2v106.2l-38.9-34.6c-2.6-2.3-6-3.6-9.4-3.6-3.8 0-7.4 1.5-10.1 4.2l-.1.1c-2.8 2.8-4.2 6.4-4.2 10.4.1 3.9 1.7 7.5 4.6 10.2l62.8 57.7c2.6 2.4 6 3.7 9.5 3.7s6.9-1.3 9.5-3.7l62.8-57.7c2.8-2.8 4.5-6.4 4.5-10.3z"/></svg>PK}w�\���!ionicons/svg/md-remove-circle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.125 48 48 141.125 48 256s93.125 208 208 208 208-93.125 208-208S370.875 48 256 48zm107 229H149v-42h214v42z"/></svg>PK}w�\�4~7&&ionicons/svg/md-mic-off.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M367.951 354.654l-26.616-26.562-9.568-9.548-4.698-4.706L187 174.041v.346L76.112 63.531 51.921 87.572 187 222.47v28.816c0 37.79 31.121 68.714 68.91 68.714a68.6 68.6 0 0 0 24.565-4.545l32.389 32.274c-17.333 8.793-36.812 13.86-56.782 13.86-62.986 0-121.365-48.59-121.365-116.59H95.773C95.773 322 158 387.701 233 398.013V480h46v-81.987c22-3.352 43.066-11.222 61.627-22.622l95.278 95.078 24.033-24-33.847-33.785-58.216-57.959 58.224 57.959-58.148-58.03zM325 251.286V100.714C325 62.924 293.791 32 256 32s-69 30.924-69 68.714v25.244l137.109 136.968c.67-3.791.891-7.679.891-11.64zM416.439 245h-38.941c0 20.496-5.498 39.676-14.931 56.197l27.572 27.516c16.523-24.11 26.3-52.787 26.3-83.713zM459.999 446.427l-33.897-33.743 33.855 33.785z"/></svg>PK}w�\$�K~��ionicons/svg/md-arrow-down.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M277.375 85v259.704l119.702-119.702L427 256 256 427 85 256l29.924-29.922 119.701 118.626V85h42.75z"/></svg>PK}w�\��+p��ionicons/svg/ios-trash.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M133.1 128l23.6 290.7c0 16.2 13.1 29.3 29.3 29.3h141c16.2 0 29.3-13.1 29.3-29.3L379.6 128H133.1zm61.6 265L188 160h18.5l6.9 233h-18.7zm70.3 0h-18V160h18v233zm52.3 0h-18.6l6.8-233H324l-6.7 233zM364 92h-36l-26.3-23c-3.7-3.2-8.4-5-13.2-5h-64.8c-4.9 0-9.7 1.8-13.4 5L184 92h-36c-17.6 0-30 8.4-30 26h276c0-17.6-12.4-26-30-26z"/></svg>PK}w�\F�}y&ionicons/svg/ios-american-football.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M378.6 133.4C338.1 92.9 283.9 71 231.4 59.6L59.6 231.4C71 284 92.9 338.1 133.4 378.6c40.5 40.5 94.7 62.4 147.2 73.8l171.8-171.8c-11.4-52.5-33.3-106.7-73.8-147.2zM344.1 288l-19.2 19.2 14.8 14.8c4.9 4.9 4.9 12.7 0 17.6-4.9 4.9-12.7 4.9-17.6 0l-14.8-14.8-19.3 19.4c-2 2-4.5 3.4-7.3 3.9-4.2.7-8.4-.7-11.3-3.6-1.5-1.5-2.6-3.3-3.2-5.3-1.4-4.9-.1-9.7 3.2-13.1l19.5-19.5-15.6-15.6-19.3 19.3c-2.1 2.1-4.7 3.5-7.6 3.9-5.5.7-10.7-1.9-13.4-7-.3-.6-.6-1.2-.8-1.9-1.5-4.9-.2-9.8 3.2-13.2l19.5-19.5-15.5-15.6-19.3 19.3c-2.1 2.1-4.7 3.5-7.6 3.9-5.5.7-10.7-1.9-13.4-7-.3-.6-.6-1.2-.8-1.9-1.5-4.9-.2-9.8 3.2-13.2l19.5-19.5-15.5-15.6-19.3 19.3c-2.1 2.1-4.7 3.5-7.6 3.9-5.5.7-10.7-1.9-13.4-7-.3-.6-.6-1.2-.8-1.9-1.5-4.9-.2-9.8 3.2-13.2l19.5-19.5-14.8-14.8c-4.9-4.9-4.9-12.7 0-17.6 4.9-4.9 12.7-4.9 17.6 0l14.8 14.8 19.3-19.3c2.1-2.1 4.7-3.5 7.6-3.9 5.5-.7 10.7 1.9 13.4 7 .3.6.6 1.2.8 1.9 1.5 4.9.2 9.8-3.2 13.2l-19.5 19.5 15.6 15.6 19.3-19.3c2-2 4.5-3.4 7.3-3.9 4.2-.7 8.4.7 11.3 3.6 1.5 1.4 2.6 3.2 3.2 5.2 1.5 4.9.2 9.8-3.2 13.2L257 239.4l15.6 15.6 19.3-19.3c2.1-2.1 4.7-3.5 7.6-3.9 5.5-.7 10.7 1.9 13.4 7 .3.6.6 1.2.8 1.9 1.5 4.9.2 9.8-3.2 13.2L291 273.4l15.6 15.6 19.3-19.3c2.2-2.2 5-3.6 8-4 4.4-.5 8.6 1.2 11.4 4.6 4.1 5 3.5 13.1-1.2 17.7zM395.1 464c27.6 0 48.8-1.8 58.8-2.9 3.7-.4 6.7-3.4 7.1-7.1 2-18.9 6.8-77.6-3.2-143.7L310.3 457.9c31 4.7 60.4 6.1 84.8 6.1zM116.8 48C89.3 48 68 49.8 58 50.9c-3.7.4-6.7 3.4-7.1 7.1-2 18.9-6.8 77.6 3.2 143.6L201.6 54.1c-31-4.7-60.4-6.1-84.8-6.1z"/></svg>PK}w�\'Zvionicons/svg/logo-ionitron.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M468.4 269.2c-2.7-34.2-12.2-59.2-32.9-57.3 6.4 14.6 12.2 48.1 8.7 72-1.4-25.9-6.3-50.2-17.2-72-32.1-64.6-100.6-107.4-177.5-103.1-85.9 4.8-155 66.7-172 146.8l-11.4 1.6c-17.2 2.4-26.9 34.9-21.7 72.5 5.3 37.7 23.5 66.2 40.7 63.8l15.8-2.2c34.7 56.3 98.5 92.3 169.3 88.4 85.3-4.7 154-65.9 171.7-145.2l7.4-.4c15.2-2.5 21.8-31.2 19.1-64.9zM90.3 264c10.7 8.2 25.4 28.3 29.1 55.1 3.9 27.7-4.8 54.1-13.4 64.3 6-14.8 8.1-37.3 4.7-61.9-3.3-24-11-44.7-20.4-57.5zm183.8 116.2c-8.5.5-15.8-6-16.3-14.5s6-15.7 14.6-16.2c8.5-.5 15.8 6 16.3 14.5s-6.1 15.7-14.6 16.2zm81-4.7c-8.5.5-15.8-6-16.3-14.5s6-15.7 14.6-16.2c8.5-.5 15.8 6 16.3 14.5.4 8.5-6.1 15.8-14.6 16.2zM165.5 70s0 .1 0 0c.1.1.1.2.1.2.1.2.2.3.3.5v.1c.4 1 1.1 1.9 2.3 2.7 2 1.5 5 2.4 8.6 3 3.4.5 7.5.7 11.9.5 1 0 1.9-.1 2.9-.2-.4-.4-.8-.9-1.2-1.3h-1.3c-4.3.1-8.2-.2-11.6-.9-3.5-.7-6.4-1.8-8.4-3.4-.6-.5-1-.9-1.4-1.4-.2-.7-.2-1.5 0-2.3.5-2.3 2.4-4.8 5.5-7.4 2.7-2.3 6.4-4.7 10.9-7 .9-.4 1.7-.9 2.6-1.3.1-.1.3-.1.5-.2-.8 3.3-.9 6.9-.2 10.5 2.3 11.9 11.6 20.3 23.2 20.6l4 24.3 12.7-2-4-24.3c10.8-4.6 16.3-16.1 14-28-.7-3.5-2-6.7-3.9-9.5-5.3-.8-15.6-.8-29.2 2.1 1.1-.3 2.1-.7 3.2-1 7.6-2.1 14.9-3.5 21.5-4.2.6-.1 1.2-.1 1.8-.2 1.2-.1 2.4-.2 3.5-.3h.6c4.1-.2 7.7-.1 10.8.3 2.4.3 4.4.8 6.1 1.4-.6.9-.9 2-.9 3.2 0 2.7 1.8 5 4.3 5.8-.6.9-1.3 1.9-2.1 2.8-.8.9-1.8 1.9-2.9 2.8-1.1.9-2.3 1.8-3.5 2.7l-6.5 3.8-.3 1.5c.1 0 .2-.1.2-.1l8.4-4.7c1.2-.8 2.4-1.6 3.4-2.4 1.2-.9 2.2-1.8 3.2-2.8.9-.9 1.7-1.9 2.4-2.8l.3-.6c3-.4 5.4-2.9 5.4-6 0-3.4-2.7-6.1-6.1-6.1-1 0-1.9.3-2.8.7-2-1.2-4.8-2.1-8.2-2.7-4.3-.8-9.6-1-15.5-.6-.7 0-1.4.1-2.1.2-.7.1-1.3.2-2 .2-5.3-3.5-11.9-5-18.7-3.7-7.9 1.5-14.2 6.5-17.8 13-1.3.5-2.6 1.1-3.8 1.7-.7.3-1.3.6-2 .9-5.9 2.9-10.6 6.1-13.9 9.1-3.1 2.9-4.9 5.7-5.3 8.3-.2 1.4 0 2.8.7 4 .1.1.2.3.3.5z"/></svg>PK}w�\��[##ionicons/svg/ios-headset.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 123.8c-24.3 0-46.9 10.1-63.9 28.4-17 18.3-26.1 33.2-26.1 59.6 0 7.7 5.9 14 13.2 14 7.3 0 13.2-6.3 13.2-14 0-17.3 6.6-32.4 19-43.5 11.8-10.6 27.7-16.5 44.7-16.5s32.9 5.8 44.7 16.5c12.4 11.2 19 26.2 19 43.5 0 7.7 5.9 14 13.2 14 7.3 0 13.2-6.3 13.2-14 0-26.4-9.2-41.3-26.1-59.6-17.2-18.4-39.8-28.4-64.1-28.4z"/><path d="M457.1 278.9C442.3 264.1 422.8 256 402 256h-8c-2.2 0-4-1.8-4-4v-37.8c0-35.7-14-69.3-39.4-94.7C325.3 94 291.7 80 256 80c-35.7 0-69.3 14-94.6 39.4-25.4 25.4-39.4 59-39.4 94.7V252c0 2.2-1.8 4-4 4h-8c-20.8 0-40.3 8.1-55.1 22.9C40.1 293.7 32 313.2 32 334v11.8c0 20.8 8.1 40.4 22.9 55.2 14.8 14.8 34.4 23 55.1 23h5.6c4 0 8 1.4 10.9 4.1 2.5 2.3 5.9 3.8 9.5 3.8 7.7 0 14-6.3 14-14.1V214.1c0-28.2 11.1-54.8 31.2-74.9 20.1-20.1 46.7-31.2 74.8-31.2 28.2 0 54.8 11.1 74.8 31.2 20.1 20.1 31.2 46.7 31.2 74.9v203.8c0 7.8 6.3 14.1 14 14.1 3.6 0 7-1.5 9.5-3.8 2.9-2.7 6.9-4.1 10.9-4.1h5.6c20.7 0 40.3-8.2 55.1-23 14.8-14.8 22.9-34.4 22.9-55.2V334c0-20.8-8.1-40.3-22.9-55.1z"/></svg>PK}w�\��E�NN!ionicons/svg/ios-partly-sunny.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M168.2 64h-.3c-8.7 0-15.8 7.1-15.8 15.8v30.3c0 8.7 7.1 15.8 15.8 15.8h.3c8.7 0 15.8-7.1 15.8-15.8V79.8c0-8.7-7.1-15.8-15.8-15.8zM79 216.2v-.3c0-8.7-7.1-15.8-15.8-15.8H31.8c-8.7 0-15.8 7.1-15.8 15.8v.3c0 8.7 7.1 15.8 15.8 15.8h31.3c8.8 0 15.9-7.1 15.9-15.8zM79.7 149c3 3 7 4.7 11.2 4.7 4.2 0 8.2-1.7 11.2-4.7 6.1-6.2 6.1-16.2 0-22.3l-20.3-20.5c-3-3-7-4.7-11.2-4.7-4.2 0-8.2 1.7-11.2 4.7-6.1 6.2-6.1 16.2 0 22.3L79.7 149zM271 105.2c-3-3-7-4.7-11.2-4.7-4.2 0-8.2 1.7-11.2 4.7l-20.3 20.4c-6.1 6.2-6.1 16.2 0 22.3l.3.3h.1c2.9 2.8 6.8 4.3 10.8 4.3 4.2 0 8.2-1.7 11.2-4.7l20.3-20.4c6.1-6 6.1-16 0-22.2zM92.9 273.3c-4.2 0-8.2 1.7-11.2 4.7l-20.3 20.5c-6.1 6.2-6.1 16.2 0 22.3 3 3 7 4.7 11.2 4.7 4.2 0 8.2-1.7 11.2-4.7l20.3-20.5c6.1-6.2 6.1-16.2 0-22.3-3-3-7-4.7-11.2-4.7zM403.3 259.2h-2.4c-3.1 0-6.1 0-9 .4-11.3-50.3-56.1-88.2-109.7-88.2-14.6 0-28.6 2.8-41.4 7.9-5.1 2-10 4.4-14.7 7.1-32 18.5-54.1 52.4-56.2 91.6-.1 2.1-.2 4.1-.2 6.2 0 3.4.2 6.8.5 10.1 0 .4.1.8.1 1.1-37.9 3.4-67.6 37.1-67.6 76 0 41.1 33.3 76.7 74.3 76.7h226.4c51.2 0 92.7-43.4 92.7-94.8-.1-51.4-41.6-94.1-92.8-94.1z"/><path d="M150.7 283.6v-.3c-.3-3.4-.5-6.8-.5-10.2 0-2.1.1-4.2.2-6.3 2.2-39.9 24.6-74.3 57.2-93.1 4.8-2.8 9.8-5.2 14.9-7.2h.1c-13.4-17-34.2-28-57.6-28-40.5 0-73.3 32.8-73.3 73.3 0 35.5 25.3 65.1 59 71.8z"/></svg>PK}w�\�'ionicons/svg/ios-add-circle-outline.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M346.5 240H272v-74.5c0-8.8-7.2-16-16-16s-16 7.2-16 16V240h-74.5c-8.8 0-16 6-16 16s7.5 16 16 16H240v74.5c0 9.5 7 16 16 16s16-7.2 16-16V272h74.5c8.8 0 16-7.2 16-16s-7.2-16-16-16z"/><path d="M256 76c48.1 0 93.3 18.7 127.3 52.7S436 207.9 436 256s-18.7 93.3-52.7 127.3S304.1 436 256 436c-48.1 0-93.3-18.7-127.3-52.7S76 304.1 76 256s18.7-93.3 52.7-127.3S207.9 76 256 76m0-28C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48z"/></svg>PK}w�\ Ҫ���ionicons/svg/md-cafe.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M48 400h368v48H48zM424 64H80v224c0 44 36 80 80 80h144c44 0 80-36 80-80v-64h40c22 0 40-18 40-40v-80c0-22-18-40-40-40zm0 112h-40v-64h40v64z"/></svg>PK}w�\mQK(SSionicons/svg/ios-map.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M64 72.5v316.3c0 2.8 1.3 5.5 3.5 7l69.8 50.2c5.2 3.7 12.1-.3 12.1-7V122.7c0-2.8-1.3-5.5-3.5-7L76.1 65.4c-5.2-3.7-12.1.3-12.1 7.1zM168.7 123.3v316.3c0 6.7 6.9 10.8 12.1 7l62-36.7c2.2-1.6 3.5-4.2 3.5-7V86.6c0-6.7-6.9-10.8-12.1-7l-62 36.7c-2.2 1.5-3.5 4.1-3.5 7zM435.9 65.5l-69.8 50.7c-2.2 1.6-3.5 4.2-3.5 7v316.2c0 6.8 6.9 10.8 12.1 7l69.8-50.7c2.2-1.6 3.5-4.2 3.5-7V72.5c0-6.7-6.9-10.7-12.1-7zM265.7 85.6v316.2c0 2.8 1.3 5.5 3.5 7l62 37c5.2 3.8 12.1-.3 12.1-7V122.6c0-2.8-1.3-5.5-3.5-7l-62-37c-5.2-3.7-12.1.3-12.1 7z"/></svg>PK}w�\��l�yyionicons/svg/md-calculator.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M368 48H144c-26.6 0-48 21.6-48 48v320c0 26.4 21.4 48 48 48h224c26.4 0 48-21.6 48-48V96c0-26.4-21.4-48-48-48zM200 416h-48v-48h48v48zm0-88h-48v-48h48v48zm0-88h-48v-48h48v48zm80 176h-48v-48h48v48zm0-88h-48v-48h48v48zm0-88h-48v-48h48v48zm80 176h-48V280h48v136zm0-176h-48v-48h48v48zm0-96H152V96h208v48z"/></svg>PK}w�\zsh:��ionicons/svg/md-reorder.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M96 348h320v36H96zM96 128h320v36H96zM96 200.7h320v35.6H96zM96 275.8h320v35.6H96z"/></svg>PK}w�\�>���ionicons/svg/ios-flash.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M376.2 224H268l52.4-186.9c.9-4.5-4.6-7.1-7.2-3.4L129.5 274.6c-3.8 5.6-.2 13.4 6.3 13.4H244l-52.4 186.9c-.9 4.5 4.6 7.1 7.2 3.4l183.7-240.8c3.7-5.7.2-13.5-6.3-13.5z"/></svg>PK}w�\��pii ionicons/svg/md-arrow-dropup.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M128 320l128-128 128 128z"/></svg>PK}w�\*�q���ionicons/svg/logo-bitcoin.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M410.5 279.2c-5-11.5-12.7-21.6-28.1-30.1-8.2-4.5-16.1-7.8-25.4-10 5.4-2.5 10-5.4 16.3-11 7.5-6.6 13.1-15.7 15.6-23.3 2.6-7.5 4.1-18 3.5-28.2-1.1-16.8-4.4-33.1-13.2-44.8-8.8-11.7-21.2-20.7-37.6-27-12.6-4.8-25.5-7.8-45.5-8.9V32h-40v64h-32V32h-41v64H96v48h27.9c8.7 0 14.6.8 17.6 2.3 3.1 1.5 5.3 3.5 6.5 6 1.3 2.5 1.9 8.4 1.9 17.5V343c0 9-.6 14.8-1.9 17.4-1.3 2.6-2 4.9-5.1 6.3-3.1 1.4-3.2 1.3-11.8 1.3h-26.4L96 416h87v64h41v-64h32v64h40v-64.4c26-1.3 44.5-4.7 59.4-10.3 19.3-7.2 34.1-17.7 44.7-31.5 10.6-13.8 14.9-34.9 15.8-51.2.7-14.5-.9-33.2-5.4-43.4zM224 150h32v74h-32v-74zm0 212v-90h32v90h-32zm72-208.1c6 2.5 9.9 7.5 13.8 12.7 4.3 5.7 6.5 13.3 6.5 21.4 0 7.8-2.9 14.5-7.5 20.5-3.8 4.9-6.8 8.3-12.8 11.1v-65.7zm28.8 186.7c-7.8 6.9-12.3 10.1-22.1 13.8-2 .8-4.7 1.4-6.7 1.9v-82.8c5 .8 7.6 1.8 11.3 3.4 7.8 3.3 15.2 6.9 19.8 13.2 4.6 6.3 8 15.6 8 24.7 0 10.9-2.8 19.2-10.3 25.8z"/></svg>PK}w�\BF�mionicons/svg/ios-more.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M255.8 218c-21 0-38 17-38 38s17 38 38 38 38-17 38-38-17-38-38-38zM102 218c-21 0-38 17-38 38s17 38 38 38 38-17 38-38-17-38-38-38zM410 218c-21 0-38 17-38 38s17 38 38 38 38-17 38-38-17-38-38-38z"/></svg>PK}w�\U���� ionicons/svg/ios-trending-up.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M464.9 128H344.1c-8.3 0-15.1 6.6-15.1 14.8s6.8 14.8 15.1 14.8h83.7l-138 142.2-85.9-84.1c-2.9-2.8-6.6-4.3-10.7-4.3-4 0-7.8 1.5-10.7 4.3L36.2 358.8c-1.9 1.9-4.2 5.2-4.2 10.7 0 4.1 1.4 7.5 4.2 10.2 2.9 2.8 6.6 4.3 10.7 4.3 4 0 7.8-1.5 10.7-4.3L193.2 247l85.9 84.1c2.9 2.8 6.6 4.3 10.7 4.3 4 0 7.8-1.5 10.7-4.3l149.4-151.9v81.7c0 8.1 6.8 14.8 15.1 14.8s15.1-6.6 15.1-14.8V142.8c-.1-8.2-6.9-14.8-15.2-14.8z"/></svg>PK}w�\���99ionicons/svg/md-key.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M249.2 224c-14.2-40.2-55.1-72-100.2-72-57.2 0-101 46.8-101 104s45.8 104 103 104c45.1 0 84.1-31.8 98.2-72H352v64h69.1v-64H464v-64H249.2zm-97.6 66.5c-19 0-34.5-15.5-34.5-34.5s15.5-34.5 34.5-34.5 34.5 15.5 34.5 34.5-15.5 34.5-34.5 34.5z"/></svg>PK}w�\�����!ionicons/svg/md-heart-dislike.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M51.9 76.6l25 25c-18.1 20.3-29 47.3-29 77.6 0 79.5 70.7 143.3 177.8 241.7L256 448l30.2-27.2c20.6-18.9 39.9-36.6 57.5-53.3l92.2 92 24-24-383.8-383-24.2 24.1zM464 179.1C464 114.2 414.1 64 349.6 64c-36.4 0-70.7 16.7-93.6 43.9C233.1 80.7 198.8 64 162.4 64c-8.4 0-16.5.9-24.3 2.5l253.7 253.1C437.3 270.9 464 228 464 179.1z"/></svg>PK}w�\��ionicons/svg/ios-unlock.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M376 192H188v-48c0-18.1 7.1-35.1 20-48s29.9-20 48-20 35.1 7.1 48 20 20 29.9 20 48c0 7.7 6.3 14 14 14s14-6.3 14-14c0-53.2-43.9-96.7-97.3-96-52.7.7-94.7 44.5-94.7 97.3V192h-24c-22 0-40 18-40 40v192c0 22 18 40 40 40h240c22 0 40-18 40-40V232c0-22-18-40-40-40zM270 316.8v68.8c0 7.5-5.8 14-13.3 14.4-8 .4-14.7-6-14.7-14v-69.2c-11.5-5.6-19.1-17.8-17.9-31.7 1.4-15.5 14.1-27.9 29.6-29 18.7-1.3 34.3 13.5 34.3 31.9 0 12.7-7.3 23.6-18 28.8z"/></svg>PK}w�\���ddionicons/svg/md-alarm.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M470 124.837l-98.443-81.78-27.814 32.931 98.442 81.769L470 124.837zM167.192 74.919L139.366 42 42 124.837l27.814 32.919 97.378-82.837zm99.509 97.709H234.6v127.446l101.649 60.539L352.3 334.06l-85.6-49.917V172.628zM256 87.665c-107 0-192.601 86.021-192.601 191.166C63.399 383.98 149 470 256 470c105.936 0 192.601-86.02 192.601-191.169 0-105.144-86.665-191.166-192.601-191.166zm0 339.855c-82.393 0-149.8-66.906-149.8-148.688 0-81.777 67.407-148.684 149.8-148.684 82.394 0 149.8 66.906 149.8 148.684 0 82.839-67.406 148.688-149.8 148.688z"/></svg>PK}w�\�z���ionicons/svg/md-planet.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M135.7 151c-2.5 3-4.9 6-7.2 9.2 32.2 36.3 76.1 76.5 124.2 113.7 37.8 29.2 76.3 55.2 111.4 75.1 5.9 3.3 11.7 6.5 17.3 9.4 2.5-3 4.9-6 7.2-9.2 11.7-16.1 18.1-33.2 23.3-53.6.8-3.2 1.5-6.4 2.1-9.5 15.8-83-35.6-164.9-118.5-185.9-37-9.4-74.1-5.1-106.3 9.7-21.4 9.9-38.2 22.9-53.5 41.1z"/><path d="M418.2 326.8c-4.1 11-7.4 17.5-7.4 17.5 18.2 21.1 24.6 33.9 31.9 46.4 2.4 4.1 7.4 13.1.9 12.4-1.7-.3-3.5-.7-5.5-1.3-21.3-5.4-51.2-18.7-84.3-37.4-35.8-20.3-74.9-46.7-113.3-76.3-51.1-39.5-97.5-82.3-130.6-120.5-15.3-17.6-27.6-34.2-35.7-47.9-2.4-4.1-3.9-6.3-5.6-10.4-2.5-6.2 5-5.1 7-4.6 14.9 3.8 35 9.9 58.2 23.8 0 0 4.3-4.8 13.9-11.4-22.8-15.4-44.6-27.7-65.2-35.5-23.1-8.8-41.1-6.8-47.5 3.7-12.2 19.9 14 72.3 65.3 132-21.5 86 30.6 173.3 116.5 195 41.1 10.4 82.4 3.9 116.8-15 38.1 17.6 72.1 28.6 96.9 34.9 23.9 6.1 40.4 5.5 46.8-4.9 11.1-18.2-12.1-51.8-59.1-100.5z"/></svg>PK}w�\ �(Μ�ionicons/svg/ios-compass.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M280.5 280.5l-49-49c-.9-.9-2.5-.7-3.2.4l-49.5 98.5c-1.1 1.8 1 3.9 2.8 2.8l98.5-49.5c1.1-.7 1.3-2.3.4-3.2z"/><path d="M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zm40.6 249.3L137 377.8c-1.8 1.1-3.9-1-2.8-2.8l80.6-159.6c.2-.3.4-.5.7-.7L375 134.2c1.8-1.1 3.9 1 2.8 2.8l-80.6 159.6c-.1.3-.3.5-.6.7z"/></svg>PK}w�\��a��"ionicons/svg/md-refresh-circle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.6 48 48 141.6 48 256s93.6 208 208 208 208-93.6 208-208S370.4 48 256 48zm112 194h-98l44.8-44.8C300.1 181.8 279.1 172 256 172c-46.2 0-84 37.8-84 84s37.8 84 84 84c34.9 0 65.3-21.2 77.6-52h29.8c-13.9 46.3-56.3 80-107.4 80-62.3 0-112-50.4-112-112s50.4-112 112-112c30.8 0 58.8 12.6 79.1 32.9L368 144v98z"/></svg>PK}w�\�.�!��ionicons/svg/md-cart.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M169.6 377.6c-22.882 0-41.6 18.718-41.6 41.601 0 22.882 18.718 41.6 41.6 41.6s41.601-18.718 41.601-41.6c-.001-22.884-18.72-41.601-41.601-41.601zM48 51.2v41.6h41.6l74.883 151.682-31.308 50.954c-3.118 5.2-5.2 12.482-5.2 19.765 0 27.85 19.025 41.6 44.825 41.6H416v-40H177.893c-3.118 0-5.2-2.082-5.2-5.2 0-1.036 2.207-5.2 2.207-5.2l20.782-32.8h154.954c15.601 0 29.128-8.317 36.4-21.836l74.882-128.8c1.237-2.461 2.082-6.246 2.082-10.399 0-11.446-9.364-19.765-20.8-19.765H135.364L115.6 51.2H48zm326.399 326.4c-22.882 0-41.6 18.718-41.6 41.601 0 22.882 18.718 41.6 41.6 41.6S416 442.082 416 419.2c0-22.883-18.719-41.6-41.601-41.6z"/></svg>PK}w�\���``ionicons/svg/ios-tennisball.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M250.4 464c1-7.9 1.6-15.9 1.6-23.9 0-48.1-18.7-94.3-52.7-128.3S119 260 70.9 260c-7.7 0-15.4.5-22.9 1.4 2.8 110.3 92.3 199.3 202.4 202.6z"/><path d="M230 74c0-8.3.5-16.4 1.4-24.5-95.3 11.7-171.7 89-182.2 184.7 7.2-.7 14.4-1.1 21.8-1.1 114.9 0 207.1 92.2 207.1 207 0 7.7-.4 15.3-1.3 22.8 96.6-10.1 174.6-86.2 185.8-182.4-8.4 1-16.9.6-25.5.6C322.1 281 230 188.9 230 74z"/><path d="M308.7 202.3c34 34 80.2 52.7 128.3 52.7 9.1 0 18.1-.7 27-2-2.2-112-93.9-203.5-206.1-205-1.2 8.5-1.9 17.2-1.9 26 0 48.1 18.7 94.3 52.7 128.3zM232 49.3z"/></svg>PK}w�\�;MM#ionicons/svg/ios-arrow-round-up.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M348.3 216.4c-5 5.1-13.3 5.1-18.4.1L269 155.8v231.3c0 7.1-5.8 12.9-13 12.9s-13-5.8-13-12.9V155.8l-60.9 60.8c-5.1 5-13.3 4.9-18.4-.1-5-5.1-5-13.2.1-18.3l83-82.4c1.2-1.1 2.5-2 4.1-2.7 1.6-.7 3.3-1 5-1 3.4 0 6.6 1.3 9.1 3.7l83 82.4c5.2 4.9 5.3 13.1.3 18.2z"/></svg>PK}w�\�|ionicons/svg/md-flame.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M393.3 222.1l-.2 10.4c-.8 11.7-7.9 43.4-22.1 54.7 7-15.2 17.3-47.2 10.2-82.7C361.6 107 287.5 65.6 193 50l-17.2-2.2c39.5 47.2 56.1 81.7 49.7 116.8-2.3 12.6-10 23.4-14 31.6 0 0 2.4-12.9 2-28.7-.3-14.2-6.6-31-18-39.6 3.5 18.4-.8 33.5-9.1 47.7-24.7 42.2-85.4 57.8-90.4 135.8v3.8c0 53.7 25.6 99 68.7 125-6.8-12.3-12-35.2-5.7-60.2 4 23.7 14 36 24.9 51.8 8.2 11.7 19.1 19.3 33.1 24.9s31 7.2 47.9 7.2c55.8 0 91.4-18.1 119.1-50.5s32.1-68 32.1-106.4-8.5-60.9-22.8-84.9z"/></svg>PK}w�\�H���ionicons/svg/ios-nutrition.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M359.1 231.9h-.1c-.1-.1-.3-.4-.4-.6l-78.9-79.6c-5.8-6-14.2-10.2-23.6-10.2-11.8 0-22.2 6.2-27.7 16.3 0 0-3.4 5.1-12.6 19.8-1.6 2.6-1.6 6 .1 8.6l26.8 41.2c2.9 3.8 3.3 8 1.4 9.9l-.1.1c-2.3 2.3-5.9 1.5-9.8-1.4l-32.3-20.5c-3.8-2.4-8.7-1.2-11.1 2.5-21.9 35.1-46.8 74.7-71.2 114-1.6 2.5-1.6 5.7-.1 8.3l14.1 24.1c2.9 3.8 3.3 8 1.4 9.9l-.1.1c-2.3 2.3-5.9 1.5-9.8-1.4l-16.6-8.4c-3.7-1.9-8.2-.6-10.4 2.9-17.7 28.3-28 44.7-29.1 46.5-3 5.1-5 11.2-5 17.8 0 17.8 14.2 32.2 31.9 32.2 7.8 0 14.4-3.4 20.6-7.6L221 378.8c3.4-2.5 4.2-7.2 2-10.7L202.5 336c-2.9-3.8-3.3-8-1.4-9.9l.1-.1c2.3-2.3 5.9-1.5 9.8 1.4l37.4 25.6c2.8 1.9 6.5 1.9 9.3-.2 53-39.1 97.5-72.2 97.5-72.2 7.9-6 13-15.4 13-26 0-8.7-3.1-16.8-9.1-22.7zM446.9 131.2l-11.2-17.9c-2.2-3.8-7.1-5.1-10.9-2.9L365.4 147l47.3-78.9c2.2-3.8.9-8.8-2.9-11l-17.7-8c-3.9-2.3-8.8-.9-11 3l-57.6 108.3 28.6 28.8 91.8-46.8c3.9-2.2 5.3-7.2 3-11.2z"/></svg>PK}w�\���.�� ionicons/svg/logo-hackernews.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M64 64v384h384V64H64zm214 215v72h-40v-72l-66-120h47.1l39.7 83.6 38-83.6H342l-64 120z"/></svg>PK}w�\.Nl33 ionicons/svg/ios-volume-mute.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M326.9 145.6c-2.2-1.1-4.6-1.6-6.9-1.6-3.6 0-7.1 1.2-10 3.5L244.8 200H192c-8.8 0-16 7.2-16 16v80c0 8.8 7.2 16 16 16h52.8l65.2 52.5c2.9 2.3 6.5 3.5 10 3.5 2.3 0 4.7-.5 6.9-1.6 5.6-2.7 9.1-8.3 9.1-14.4V160c0-6.2-3.5-11.8-9.1-14.4z"/></svg>PK}w�\Ѣɐ��ionicons/svg/md-menu.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M64 384h384v-42.666H64V384zm0-106.666h384v-42.667H64v42.667zM64 128v42.665h384V128H64z"/></svg>PK}w�\5NM�||ionicons/svg/logo-rss.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M119.9 336.1c-30.8 0-55.9 25.1-55.9 55.8 0 30.8 25.1 55.6 55.9 55.6 30.9 0 55.9-24.9 55.9-55.6 0-30.7-25-55.8-55.9-55.8z"/><path d="M64 192v79.9c48 0 94.1 14.2 128 48.1 33.9 33.9 48 79.9 48 128h80c0-139.9-116-256-256-256z"/><path d="M64 64v79.9c171 0 303.9 133 303.9 304.1H448C448 236.3 276 64 64 64z"/></svg>PK}w�\�u�"ionicons/svg/md-phone-portrait.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M358.856 32H153.143C130.512 32 112 50.326 112 72.728v366.545C112 461.674 130.512 480 153.143 480h205.713C381.488 480 400 461.674 400 439.272V72.728C400 50.326 381.488 32 358.856 32zM364 400H148V112h216v288z"/></svg>PK}w�\���??ionicons/svg/md-mail.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M437.332 80H74.668C51.199 80 32 99.198 32 122.667v266.666C32 412.802 51.199 432 74.668 432h362.664C460.801 432 480 412.802 480 389.333V122.667C480 99.198 460.801 80 437.332 80zM432 170.667L256 288 80 170.667V128l176 117.333L432 128v42.667z"/></svg>PK}w�\ۅQ)ionicons/svg/ios-contrast.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zm127.3 335.3c-34 34-79.2 52.7-127.3 52.7V76c48.1 0 93.3 18.7 127.3 52.7S436 207.9 436 256s-18.7 93.3-52.7 127.3z"/></svg>PK}w�\�~���ionicons/svg/md-speedometer.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M128 416h256v48H128zM256 288c17.7 0 32-14.3 32-32s-14.3-32-32-32c-3 0-6 .4-8.8 1.2l-66.7-48.7-4 3.5 48.9 66.7c-.9 2.9-1.4 6-1.4 9.3 0 17.7 14.3 32 32 32z"/><path d="M256 48C141.1 48 48 141.1 48 256c0 48.3 16.5 92.7 44.1 128h58.8l4-4 22.1-22.1-22.9-22.9-22.1 22c-19.9-24.3-32.1-54-35.2-85H128v-32H96.8c3.1-31 15.3-60.7 35.2-85l22.1 22 22.9-22.9-22-22.1c24.3-19.9 54-32.1 85-35.2V128h32V96.8c31 3.1 60.7 15.3 85 35.2l-22 22.1 22.9 22.9 22.1-22c19.9 24.3 32.1 54 35.2 85H384v32h31.2c-3.1 31-15.3 60.7-35.2 85l-22.1-22-22.9 22.9 22.1 22.1 4 4h58.8c27.6-35.3 44.1-79.7 44.1-128 0-114.9-93.1-208-208-208z"/></svg>PK}w�\� ionicons/svg/ios-planet.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M462.5 352.3c-1.9-5.5-5.6-11.5-11.4-18.3-10.2-12-30.8-29.3-54.8-47.2-2.6-2-6.4-.8-7.5 2.3l-4.7 13.4c-.7 2 0 4.3 1.7 5.5 15.9 11.6 35.9 27.9 41.8 35.9 2 2.8-.5 6.6-3.9 5.8-10-2.3-29-7.3-44.2-12.8-8.6-3.1-17.7-6.7-27.2-10.6 16-20.8 24.7-46.3 24.7-72.6 0-32.8-13.2-63.6-37.1-86.4-22.9-21.9-53.8-34.1-85.7-33.7-25.7.3-50.1 8.4-70.7 23.5-18.3 13.4-32.2 31.3-40.6 52-8.3-6-16.1-11.9-23.2-17.6-13.7-10.9-28.4-22-38.7-34.7-2.2-2.8.9-6.7 4.4-5.9 11.3 2.6 35.4 10.9 56.4 18.9 1.5.6 3.2.3 4.5-.8l11.1-10.1c2.4-2.1 1.7-6-1.3-7.2C121 137.4 89.2 128 73.2 128c-11.5 0-19.3 3.5-23.3 10.4-7.6 13.3 7.1 35.2 45.1 66.8 34.1 28.5 82.6 61.8 136.5 92 87.5 49.1 171.1 81 208 81 11.2 0 18.7-3.1 22.1-9.1 2.8-4.7 3.1-10.4.9-16.8zM312 354c-29.1-12.8-59.3-26-92.6-44.8-30.1-16.9-59.4-36.5-84.4-53.6-1-.7-2.2-1.1-3.4-1.1-.9 0-1.9.2-2.8.7-2 1-3.3 3-3.3 5.2 0 1.2-.1 2.4-.1 3.5 0 32.1 12.6 62.3 35.5 84.9 22.9 22.7 53.4 35.2 85.8 35.2 23.6 0 46.5-6.7 66.2-19.5 1.9-1.2 2.9-3.3 2.7-5.5-.1-2.2-1.5-4.1-3.6-5z"/></svg>PK}w�\�7$-::ionicons/svg/md-log-out.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M192 277.4h189.7l-43.6 44.7L368 352l96-96-96-96-31 29.9 44.7 44.7H192v42.8z"/><path d="M255.7 421.3c-44.1 0-85.5-17.2-116.7-48.4-31.2-31.2-48.3-72.7-48.3-116.9 0-44.1 17.2-85.7 48.3-116.9 31.2-31.2 72.6-48.4 116.7-48.4 44 0 85.3 17.1 116.5 48.2l30.3-30.3c-8.5-8.4-17.8-16.2-27.7-23.2C339.7 61 298.6 48 255.7 48 141.2 48 48 141.3 48 256s93.2 208 207.7 208c42.9 0 84-13 119-37.5 10-7 19.2-14.7 27.7-23.2l-30.2-30.2c-31.1 31.1-72.5 48.2-116.5 48.2zM448.004 256.847l-.849-.848.849-.849.848.849z"/></svg>PK}w�\F�",��ionicons/svg/ios-bug.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M374.6 127.3C345.4 88.5 303.1 64 256 64c-47.1 0-89.4 24.5-118.6 63.3 6.4 15.6 15.8 30 28.1 42.3 24.2 24.2 56.3 37.5 90.5 37.5s66.3-13.3 90.5-37.5c12.3-12.3 21.8-26.6 28.1-42.3z"/><path d="M122 150s-3.8-1.6-5.9-3.3c-2.1-1.7-5-4.9-6.5-8.4 5.4-11.3 1.2-25-9.9-31.3-11.8-6.6-26.9-2.2-33.1 10-4.5 8.9-2.9 19.8 3.8 27.1 1.8 1.9 3.7 3.4 5.7 4.6 2.8 1.6 4.9 4 6.4 6.8 2.7 5.2 6.4 10.7 11.1 14.6 4.2 3.5 8.8 7.1 15.2 10.7-7.2 20.3-11.6 42.3-12.5 65.4-11 .2-18.6 2.1-25.5 4.1-4.2 1.2-8.2 3.4-11.8 5.9-1-.1-1.9-.2-2.9-.2-13.8 0-24.8 11.6-24 25.6.7 11.8 10.3 21.5 22.2 22.4 11 .8 20.6-5.9 24.3-15.5 2-5.3 6.7-9.2 12.4-9.9 1.9-.2 3.9-.4 6.2-.4 3.2 33 13.3 63.5 28.6 89.2-14.2 11-22.9 23-26.6 36.3 0 0-.8.4-1.9 1.4-1 .8-1.9 1.6-2.8 2.6-8.9 9.9-8.1 25 1.8 33.9 9.9 8.9 25 8.1 33.9-1.8 6.2-6.9 7.6-16.3 4.6-24.5-2.2-6-.7-12.7 3.9-17 1.6-1.5 3.5-3.1 5.7-4.9 27.1 31.7 59.4 52 99.7 54.4V232.9C190.8 230 144.4 195.3 122 150zM456 256.1c-1 0-2 .1-2.9.2-3.6-2.5-7.7-4.6-11.8-5.9-6.9-2-14.4-3.9-25.5-4.1-1-23.1-5.4-45.2-12.5-65.4 6.4-3.6 11-7.2 15.2-10.7 4.9-4.1 8.7-10 11.5-15.3 1.3-2.5 3.3-4.5 5.8-5.9 0 0 .1 0 .1-.1 11.6-6.5 15.7-21.1 9.2-32.7-6.5-11.6-21.1-15.7-32.7-9.2-11.1 6.2-15.3 19.9-9.9 31.3-1.6 3.4-3.4 5.7-6.5 8.4-2.3 2-5.9 4.3-5.9 4.3-22.4 45.3-68.8 79-122 81.9V448c40.3-2.4 72.6-22.8 99.7-54.4 2.1 1.7 3.9 3.2 5.4 4.6 4.8 4.4 6.4 11.3 4.2 17.5-3 8.1-1.5 17.5 4.7 24.3 8.9 9.9 24 10.7 33.9 1.8 9.9-8.9 10.7-24 1.8-33.9-.9-1-1.8-1.8-2.8-2.6-1.1-.9-1.9-1.4-1.9-1.4-3.7-13.3-12.4-25.3-26.6-36.3 15.3-25.7 25.4-56.2 28.6-89.2 2.1 0 4.1.2 5.9.4 5.9.7 10.7 4.7 12.9 10.2 3.7 9.4 13.2 15.9 24.1 15.1 11.8-.9 21.4-10.5 22.2-22.4.6-14-10.4-25.6-24.2-25.6z"/></svg>PK}w�\k�� ionicons/svg/logo-skype.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M436.9 296.8c2.8-12.5 4.2-25.4 4.2-38.7 0-99.7-82-180.6-183.2-180.6-10.7 0-21.1.9-31.3 2.6C210.3 69.9 191 64 170.2 64 111.6 64 64 110.9 64 168.7c0 19.4 5.3 37.5 14.6 53-2.4 11.7-3.7 23.9-3.7 36.3 0 99.8 82 180.6 183.1 180.6 11.5 0 22.7-1 33.5-3 15 7.9 32.1 12.4 50.2 12.4 58.7 0 106.2-46.9 106.2-104.7.1-16.7-3.9-32.5-11-46.5zm-85 47.5c-8.5 11.8-21 21.2-37.2 27.8-16.1 6.6-35.3 9.9-57.3 9.9-26.3 0-48.3-4.6-65.6-13.6-12.3-6.6-22.4-15.4-30.2-26.4-7.8-11-11.7-22-11.7-32.6 0-6.6 2.6-12.3 7.6-17.1 5-4.6 11.5-7 19.1-7 6.3 0 11.7 1.8 16.1 5.5 4.2 3.5 7.8 8.7 10.7 15.5 3.3 7.3 6.8 13.5 10.6 18.4 3.6 4.7 8.7 8.6 15.3 11.7 6.7 3.1 15.6 4.7 26.6 4.7 15.1 0 27.5-3.2 36.8-9.5 9.2-6.1 13.6-13.5 13.6-22.5 0-7.1-2.3-12.7-7.1-17.1-5-4.6-11.5-8.2-19.6-10.6-8.3-2.6-19.6-5.3-33.6-8.2-19-4-35.1-8.8-48-14.2-13.1-5.5-23.7-13.2-31.5-22.7-7.9-9.7-11.8-21.9-11.8-36.2 0-13.7 4.2-25.9 12.4-36.5 8.2-10.5 20.1-18.7 35.6-24.3 15.2-5.6 33.3-8.4 53.7-8.4 16.4 0 30.7 1.9 42.7 5.5 12.1 3.7 22.2 8.7 30.3 14.9 8 6.2 14 12.8 17.8 19.7 3.8 7 5.7 13.9 5.7 20.6 0 6.4-2.5 12.3-7.5 17.4-5 5.1-11.3 7.8-18.8 7.8-6.8 0-12.1-1.6-15.8-4.8-3.4-3-7-7.6-10.9-14.3-4.6-8.5-10.1-15.3-16.4-20.1-6.2-4.6-16.4-7-30.6-7-13.1 0-23.8 2.6-31.7 7.7-7.6 4.9-11.3 10.6-11.3 17.3 0 4.1 1.2 7.5 3.7 10.5 2.6 3.1 6.2 5.9 10.9 8.2 4.8 2.4 9.8 4.3 14.7 5.6 5.1 1.4 13.6 3.5 25.3 6.1 14.9 3.1 28.5 6.7 40.5 10.4 12.2 3.9 22.7 8.6 31.3 14.1 8.8 5.6 15.7 12.9 20.7 21.5 4.9 8.6 7.4 19.4 7.4 31.8.4 15.1-3.9 28.7-12.5 40.5z"/></svg>PK}w�\�cr�ionicons/svg/md-pulse.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M428 269c-21.5 0-40.6 13.1-48.4 33h-41.2L307 221.3c-2.7-8.2-10.3-13.7-19-13.7h-.4c-8.8.2-16.4 6-18.8 14.5l-33.6 135.4-55.5-291.8C178 55.6 169.6 48 160 48c-9.5 0-16.9 6.2-19.4 16.2L90.3 302H32v40h74c9.2 0 17.2-6.2 19.4-15.2l30.7-160.6 54.1 282.1c1.5 8.8 8.9 15.1 18.6 15.7h1.2c9.3 0 16.9-5.3 19.2-13.5l40.2-162.9 15.5 40.7c2.7 8.2 10.3 13.7 19 13.7h56.4c8.3 19 27.1 31 47.6 31 13.9 0 26.9-5.6 36.8-15.8 9.8-10.1 15.2-23.3 15.2-37.2.1-28.6-22.7-51-51.9-51z"/></svg>PK}w�\k�3$�� ionicons/svg/ios-heart-empty.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M352 56h-1c-39.7 0-74.8 21-95 52-20.2-31-55.3-52-95-52h-1c-61.9.6-112 50.9-112 113 0 37 16.2 89.5 47.8 132.7C156 384 256 456 256 456s100-72 160.2-154.3C447.8 258.5 464 206 464 169c0-62.1-50.1-112.4-112-113zm41.6 229.2C351 343.5 286.1 397.3 256 420.8c-30.1-23.5-95-77.4-137.6-135.7C89.1 245.1 76 198 76 169c0-22.6 8.8-43.8 24.6-59.8 15.9-16 37-24.9 59.6-25.1H161.1c14.3 0 28.5 3.7 41.1 10.8 12.2 6.9 22.8 16.7 30.4 28.5 5.2 7.9 14 12.7 23.5 12.7s18.3-4.8 23.5-12.7c7.7-11.8 18.2-21.6 30.4-28.5 12.6-7.1 26.8-10.8 41.1-10.8h.9c22.5.2 43.7 9.1 59.6 25.1 15.9 16 24.6 37.3 24.6 59.8-.2 29-13.3 76.1-42.6 116.2z"/></svg>PK}w�\��Z��ionicons/svg/md-mic.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 320c37.712 0 68.571-30.924 68.571-68.714V100.714C324.571 62.924 293.712 32 256 32s-68.571 30.924-68.571 68.714v150.572c0 37.79 30.859 68.714 68.571 68.714zm121.139-75.452c0 68.714-58.282 116.815-121.139 116.815s-121.139-48.102-121.139-116.815H96c0 77.873 61.719 143.153 137.144 153.465V480h45.713v-81.987C354.281 386.561 416 322.421 416 244.548h-38.861z"/></svg>PK}w�\�Pc��ionicons/svg/ios-download.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M376 144H269v179.9l47.9-47.2c5.1-5 13.3-5 18.4.1 5 5.1 5 13.3-.1 18.4l-70 69c-2.5 2.4-5.8 3.7-9.1 3.7-1.7 0-3.4-.3-5-1-1.5-.6-2.9-1.6-4.1-2.7l-70-69c-5.1-5-5.2-13.3-.1-18.4 5-5.1 13.3-5.2 18.4-.1l47.9 47.2V144H136c-22 0-40 18-40 40v240c0 22 18 40 40 40h240c22 0 40-18 40-40V184c0-22-18-40-40-40zM269 61c0-7.2-5.8-13-13-13s-13 5.8-13 13v83h26V61z"/></svg>PK}w�\����!ionicons/svg/md-trending-down.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M480 397V262.5l-51.3 51.3-141.1-141-89.6 89.7L63.6 128 32 159.6l166 166.3 89.6-89.7 109.3 109.4-51.3 51.4H480z"/></svg>PK}w�\�K�yVV!ionicons/svg/ios-finger-print.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M450.8 182c-8.6-24.4-20.3-44.9-33-57.5-2.6-2.6-6-4-9.7-4-3.7 0-7.1 1.4-9.7 4-5.3 5.3-5.3 14 0 19.4 9.9 9.9 19.6 27.4 26.8 48.1 7.3 21.2 11.4 43.6 11.4 63.1 0 3-.1 7.6-.2 10.1-.2 3.7 1.1 7.1 3.6 9.8 2.5 2.7 5.8 4.3 9.5 4.4h.6c7.3 0 13.3-5.7 13.7-13.1.1-3.1.2-8.1.2-11.3 0-22.8-4.7-48.8-13.2-73zM143 110.6c2.9 0 5.6-.9 8-2.6 29.9-21.4 66.2-32.7 105-32.7 40.8 0 80.1 14.8 113.7 42.8 2.5 2 5.6 3.2 8.8 3.2 4.1 0 7.9-1.8 10.5-4.9 4.8-5.8 4-14.4-1.7-19.3C348.6 65 303.3 48 256 48c-44.6 0-86.4 13.1-121 37.8-3 2.1-4.9 5.3-5.5 8.9-.6 3.6.2 7.2 2.4 10.2 2.5 3.6 6.7 5.7 11.1 5.7zM75.4 255c0-43.7 15.8-85.8 44.5-118.7 2.4-2.8 3.6-6.3 3.3-9.9-.2-3.6-1.9-7-4.7-9.4-2.5-2.2-5.7-3.4-9-3.4-4 0-7.7 1.7-10.3 4.7C66.2 156.2 48 204.7 48 255c0 32.8 5.9 58.8 15.4 90.2 1.8 5.8 7 9.7 13.1 9.7 1.3 0 2.7-.2 4-.6 3.5-1.1 6.4-3.4 8.1-6.6 1.7-3.2 2.1-6.9 1-10.4-8.8-29-14.2-52.8-14.2-82.3z"/><path d="M355.7 129.8C328.4 106.1 295 93.6 259 93.6c-48.3 0-91.4 17.8-121.5 50.1-28.7 30.8-42.8 71.7-39.7 115.1 2.3 32.7 6 50.7 9.3 66.6 4.3 21.1 7.7 37.8 5.1 84.1-.4 6.7 3.7 12.7 10 14.6 1.2.4 2.3.5 3.6.5 7.2 0 13.2-5.7 13.7-12.9 2.9-50.4-.8-68.7-5.5-91.9-3.1-15.1-6.6-32.2-8.8-63.1-2.6-35.7 9-69.3 32.4-94.5 24.8-26.7 60.9-41.4 101.4-41.4 29.3 0 56.5 10.2 78.7 29.5 22.3 19.3 39.2 47.4 49 81.1 11.4 39.3 14.5 89.3 9.1 144.5-.7 7.5 4.8 14.2 12.3 15 .4 0 .9.1 1.3.1 7.1 0 12.9-5.3 13.6-12.4 5.8-58.7 2.3-112.2-10.1-154.8-11.1-38.6-30.9-71.2-57.2-94z"/><path d="M373.5 267.5c-5.9-37.5-19.9-68.8-40.6-90.6-20.8-22-47.4-33.7-76.9-33.7-19 0-37.7 4.1-54.1 12-3.7 1.8-6.4 5.1-7.4 9.1-1 4.1-.1 8.3 2.5 11.6 2.6 3.4 6.5 5.3 10.8 5.3 2.1 0 4-.5 5.9-1.3 12.6-6 27.2-9.2 42.2-9.2 22.4 0 42.5 9.2 58.3 26.6 16.1 17.8 27.3 43.6 32.1 74.6 4.7 29.6 7 53.5 7.1 73.1.2 39.7-4.8 72.7-4.8 73.1-.6 3.6.3 7.2 2.5 10.2 2.2 3 5.3 4.9 8.9 5.5.7.1 1.4.2 2.1.2 6.8 0 12.5-4.9 13.5-11.6.2-1.4 5.4-35.2 5.2-77.5 0-21.3-2.4-46.5-7.3-77.4zM185.3 203.5c4-5.8 2.9-13.6-2.5-18.2-2.5-2.1-5.6-3.2-8.8-3.2-4.5 0-8.7 2.2-11.3 5.9-14.7 21.5-19.7 49.1-14.4 79.8 8.9 51.3 16.9 111.1 9.4 165-.5 3.8.5 7.7 2.9 10.7 2.3 3 5.7 4.8 9.4 5.1.4 0 .8.1 1.2.1 6.8 0 12.6-5.1 13.5-11.8 8.2-57.7-.2-120.2-9.5-173.8-4.1-23.8-.7-43.9 10.1-59.6zM317.5 388h-.5c-7.6.3-13.5 6.6-13.2 14.2 0 .2.6 17.9-2.6 34.7-1.3 6.9 2.6 13.7 9.1 15.8 1.4.4 2.8.7 4.3.7 6.6 0 12.2-4.7 13.4-11.1 3.8-20.1 3.1-40.2 3.1-41.1-.2-7.5-6.2-13.2-13.6-13.2z"/><path d="M294.6 205.9c-11.2-10.5-25.2-16.1-40.5-16.1-19.8 0-36.7 7.3-47.6 20.5-8.3 10.1-17 28.8-10.9 60 12.3 62.5 15 121.6 8.1 175.6-1 7.5 4.4 14.4 11.8 15.3.6.1 1.2.1 1.7.1 6.9 0 12.7-5.1 13.6-12 7.3-57 4.5-119-8.3-184.4-3.2-16.4-1.4-29.3 5.1-37.3 5.6-6.8 15-10.5 26.4-10.5 25 0 35.1 27.6 38.3 39.4 6.9 25.7 10.9 63 11.5 107.7.1 7.4 6.2 13.5 13.7 13.5h.2c3.6-.1 7-1.5 9.6-4.1 2.5-2.6 3.9-6.1 3.9-9.7-.7-47-5-86.5-12.5-114.4-4.9-18.5-13.1-33.2-24.1-43.6z"/><path d="M265.2 245.9c-2.1-5.1-7.1-8.5-12.7-8.5-1.8 0-3.6.4-5.2 1-7 2.9-10.3 10.9-7.4 17.9 6.6 16 11.8 46.2 14.1 82.8 2.4 36.9 1.7 76.9-2 109.6-.4 3.6.6 7.2 2.9 10.1 2.3 2.9 5.5 4.6 9.2 5 .5.1 1 .1 1.5.1 7 0 12.8-5.2 13.6-12.2 3.9-35.5 4.6-76.6 2-115.8-2.5-39.3-8.2-71.3-16-90z"/></svg>PK}w�\1�UFFionicons/svg/md-bulb.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M192 428c0 10.6 8.6 20 20 20h88c11.4 0 20-9.4 20-20v-18H192v18zm64-364c-79.7 0-144 59.9-144 134 0 45.7 24.1 86.2 61.4 110.6V352c0 10.6 9.3 19.2 20.6 19.2h123.9c11.4 0 20.6-8.6 20.6-19.2v-43.4C375.9 284.2 400 243.7 400 198c0-74.1-64.3-134-144-134z"/></svg>PK}w�\�8i�GG"ionicons/svg/md-arrow-round-up.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M412.6 227.1L278.6 89c-5.8-6-13.7-9-22.4-9h-.4c-8.7 0-16.6 3-22.4 9l-134 138.1c-12.5 12-12.5 31.3 0 43.2 12.5 11.9 32.7 11.9 45.2 0l79.4-83v214c0 16.9 14.3 30.6 32 30.6 18 0 32-13.7 32-30.6v-214l79.4 83c12.5 11.9 32.7 11.9 45.2 0s12.5-31.2 0-43.2z"/></svg>PK}w�\&�^��ionicons/svg/ios-settings.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M416.3 256c0-21 13.1-38.9 31.7-46.1-4.9-20.5-13-39.7-23.7-57.1-6.4 2.8-13.2 4.3-20.1 4.3-12.6 0-25.2-4.8-34.9-14.4-14.9-14.9-18.2-36.8-10.2-55-17.3-10.7-36.6-18.8-57-23.7C295 82.5 277 95.7 256 95.7S217 82.5 209.9 64c-20.5 4.9-39.7 13-57.1 23.7 8.1 18.1 4.7 40.1-10.2 55-9.6 9.6-22.3 14.4-34.9 14.4-6.9 0-13.7-1.4-20.1-4.3C77 170.3 68.9 189.5 64 210c18.5 7.1 31.7 25 31.7 46.1 0 21-13.1 38.9-31.6 46.1 4.9 20.5 13 39.7 23.7 57.1 6.4-2.8 13.2-4.2 20-4.2 12.6 0 25.2 4.8 34.9 14.4 14.8 14.8 18.2 36.8 10.2 54.9 17.4 10.7 36.7 18.8 57.1 23.7 7.1-18.5 25-31.6 46-31.6s38.9 13.1 46 31.6c20.5-4.9 39.7-13 57.1-23.7-8-18.1-4.6-40 10.2-54.9 9.6-9.6 22.2-14.4 34.9-14.4 6.8 0 13.7 1.4 20 4.2 10.7-17.4 18.8-36.7 23.7-57.1-18.4-7.2-31.6-25.1-31.6-46.2zm-159.4 79.9c-44.3 0-80-35.9-80-80s35.7-80 80-80 80 35.9 80 80-35.7 80-80 80z"/></svg>PK}w�\�����&ionicons/svg/md-information-circle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.2 48 48 141.2 48 256s93.2 208 208 208 208-93.2 208-208S370.8 48 256 48zm21 312h-42V235h42v125zm0-166h-42v-42h42v42z"/></svg>PK}w�\szt��ionicons/svg/md-home.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M208 448V320h96v128h97.6V256H464L256 64 48 256h62.4v192z"/></svg>PK}w�\�U%ionicons/svg/md-folder.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M213.338 96H74.666C51.197 96 32 115.198 32 138.667v234.666C32 396.802 51.197 416 74.666 416h362.668C460.803 416 480 396.802 480 373.333V186.667C480 163.198 460.803 144 437.334 144H256.006l-42.668-48z"/></svg>PK}w�\4 f���ionicons/svg/ios-infinite.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M456.8 182.4c-20-19.6-46.8-30.4-75.2-30.4-28.5 0-55.2 10.8-75.2 30.4l-31.2 30c-1.6 1.6-1.6 4.2 0 5.7l19.4 19.1c1.5 1.5 4 1.5 5.6 0l31-30.1c13.5-13.1 31.3-20.3 50.3-20.3 19 0 36.8 7.2 50.3 20.3 13.4 13.1 20.7 30.5 20.7 49 0 18.4-7.4 35.8-20.7 48.7-13.5 13.1-31.3 20.3-50.3 20.3-19 0-36.8-7.2-50.3-20.3L205.6 182.4c-20.2-19.6-46.9-30.4-75.2-30.4-28.5 0-55.2 10.8-75.2 30.4C35.1 202 24 228.1 24 256c0 27.8 11.1 54 31.2 73.6 20 19.6 46.8 30.4 75.2 30.4 28.5 0 55.2-10.8 75.2-30.4l31-30c1.6-1.6 1.6-4.2 0-5.7L217.2 275c-1.5-1.5-4-1.5-5.6 0l-31 29.9c-13.5 13.1-31.3 20.3-50.3 20.3-19 0-36.8-7.2-50.3-20.3-13.4-13.1-20.7-30.5-20.7-49 0-18.4 7.4-35.7 20.7-48.7 13.5-13.1 31.3-20.3 50.3-20.3 19 0 36.8 7.2 50.3 20.3l125.5 122.5c20.2 19.6 46.9 30.4 75.2 30.4 28.5 0 55.2-10.8 75.2-30.4 20.2-19.6 31.3-45.7 31.3-73.6.2-27.9-10.9-54.1-31-73.7z"/></svg>PK}w�\eʵW%%ionicons/svg/md-help-buoy.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zm61 356l-12.2-39.6c13-5.8 24.9-14 35.3-24.4 10.4-10.4 18.6-22.3 24.4-35.3l39.5 12.1c-7.9 19.3-19.7 37-34.9 52.2-15.1 15.3-32.8 27.1-52.1 35zM195 108l12.2 39.6c-13 5.8-24.9 14-35.3 24.4-10.4 10.4-18.6 22.3-24.4 35.3L108 195.2c7.9-19.3 19.7-37 34.9-52.2 15.1-15.3 32.8-27.1 52.1-35zm61 84c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm113.1-49.1c15.2 15.2 26.9 32.9 34.9 52.1l-39.5 12.2c-5.9-13-14-24.9-24.4-35.3-10.4-10.4-22.3-18.6-35.3-24.4l12.1-39.5c19.3 7.9 37 19.7 52.2 34.9zM142.9 369.1c-15.2-15.1-27-32.8-34.9-52.1l39.5-12.2c5.9 13 14 24.9 24.4 35.3 10.4 10.4 22.3 18.6 35.3 24.4L195.1 404c-19.3-7.9-37-19.7-52.2-34.9z"/></svg>PK}w�\v7T���ionicons/svg/md-wine.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M234.667 277.333V408H128v40h256v-40H277.333V277.333L448 106.667V64H64v42.667l170.667 170.666zm-74.667-128l-42.667-42.666h277.334L352 149.333H160z"/></svg>PK}w�\G���00ionicons/svg/md-color-fill.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M136.5 77.7l37 67L32 285.7 216.4 464l152.4-148.6 54.4-11.4L166.4 48l-29.9 29.7zm184 208H114.9l102.8-102.3 102.8 102.3zM423.3 304s-56.7 61.5-56.7 92.1c0 30.7 25.4 55.5 56.7 55.5 31.3 0 56.7-24.9 56.7-55.5S423.3 304 423.3 304z"/></svg>PK}w�\:$y� ionicons/svg/md-subway.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48c-93.864 0-176 10.668-176 85.334v213.332c0 41.604 33.062 74.666 74.667 74.666L128 448v16h256v-16l-26.667-26.668c41.604 0 74.667-33.062 74.667-74.666V133.334C432 58.668 349.864 48 256 48zm-96 336c-18.136 0-32-13.865-32-32 0-18.137 13.864-32 32-32s32 13.863 32 32c0 18.135-13.864 32-32 32zm80-144H128v-96h112v96zm112 144c-18.136 0-32-13.865-32-32 0-18.137 13.864-32 32-32s32 13.863 32 32c0 18.135-13.864 32-32 32zm32-144H272v-96h112v96z"/></svg>PK}w�\��R�ionicons/svg/ios-brush.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M149.6 283.3c-51.9 0-83.9 45.7-83.9 95.1 0 21.3-10.9 37.1-31.4 46.4-2.2 1-3 3.8-1.7 5.8 16.7 24.6 63.3 33.3 95.3 33.3 8.4 0 15.9-.6 21.8-1.7 35.6-6.4 80.1-24.9 90.7-77 12.2-60.5-38.9-101.9-90.8-101.9z"/><path d="M467.7 60.4C460 52.7 450.9 48 441.6 48c-6.3 0-12.7 2.2-18.8 7L257.7 200.3c-5.4 4.8-12.4 7.4-19.7 7.4h-.1-.1c-5.6 0-11.1 2.1-15.4 5.8l-53.6 43.8c-2.1 1.8-2.7 4.8-1.4 7.2.9 1.7 2.6 2.9 4.5 3.1 45.6 4.5 87 37 87.3 86.6 0 1.7.7 3.4 2 4.5 2.5 2.1 6 1.7 8-.6l45.1-52.2c3.5-4 5.8-9.1 6-14.5v-1.2c0-7.5 3-14.8 8-20.4l144.8-164.4c11.9-15.1 7.6-32.1-5.4-45z"/></svg>PK}w�\�f�=��ionicons/svg/ios-undo.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M479.9 394.9c0-19.6 4.2-97.1-56.8-158.7-40.4-40.7-91.9-61.7-163.4-65.5-2.1-.1-3.8-1.9-3.8-4V84c0-3.2-3.5-5.1-6.2-3.4L33.8 222.8c-2.4 1.6-2.4 5.1 0 6.7l215.9 142.2c2.7 1.8 6.2-.1 6.2-3.4v-81.6c0-2.3 1.9-4.1 4.2-4 44.1 1.7 69.5 10.9 97.1 23.2 36.1 16.2 72.9 50.9 94.5 83.5 13.1 19.9 19.2 33.9 21.4 39.7.7 1.7 2.3 2.8 4.1 2.8h2.9c-.1-11.7-.2-26.7-.2-37z"/></svg>PK}w�\�#ionicons/svg/ios-square-outline.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M388 96H124c-15.4 0-28 12.6-28 28v264c0 15.4 12.6 28 28 28h264c15.4 0 28-12.6 28-28V124c0-15.4-12.6-28-28-28zm0 284c0 4.4-3.6 8-8 8H132c-4.4 0-8-3.6-8-8V132c0-4.4 3.6-8 8-8h248c4.4 0 8 3.6 8 8v248z"/></svg>PK}w�\��eionicons/svg/ios-open.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M227.8 300.2c-5.1-5.1-5.1-13.3 0-18.4l133.7-133.7c-5.3-2.6-11.2-4.1-17.5-4.1H88c-22 0-40 18-40 40v224c0 22 18 40 40 40h256c22 0 40-18 40-40V184c0-6.3-1.5-12.2-4.1-17.5L246.2 300.2c-5.1 5.1-13.3 5.1-18.4 0z"/><path d="M459.5 68.5C457 66 453 64 449 64h-97c-7.2-.1-13.1 5.7-13.1 12.9-.1 7.2 5.7 13.1 12.9 13.1l67.3.5-57.6 57.6c8 3.9 14.5 10.4 18.4 18.4l57.6-57.6.5 67.3c.1 7.2 5.9 13 13.1 12.9 7.2-.1 13-5.9 12.9-13.1V78c0-3.5-2-7-4.5-9.5z"/></svg>PK}w�\�F�l��ionicons/svg/md-repeat.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M149.3 152h213.3v62.4l85.3-83.2L362.7 48v62.4h-256v124.8h42.7V152zm213.4 208H149.3v-62.4L64 380.8l85.3 83.2v-62.4h256V276.8h-42.7V360z"/></svg>PK}w�\x�{ ionicons/svg/ios-mail-unread.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><circle cx="416" cy="152" r="48"/><path d="M416 218.5c-5.4 0-10.6-.7-15.6-1.9L353 264.9c-.8.8-.8 2 0 2.8l75.3 80.2c5.1 5.1 5.1 13.3 0 18.4-2.5 2.5-5.9 3.8-9.2 3.8s-6.7-1.3-9.2-3.8l-75-79.9c-.8-.8-2.1-.8-2.9 0L313.7 305c-15.3 15.5-35.6 24.1-57.4 24.2-22.1.1-43.1-9.2-58.6-24.9l-17.6-17.9c-.8-.8-2.1-.8-2.9 0l-75 79.9c-2.5 2.5-5.9 3.8-9.2 3.8s-6.7-1.3-9.2-3.8c-5.1-5.1-5.1-13.3 0-18.4l75.3-80.2c.7-.8.7-2 0-2.8L51.4 155.3c-1.3-1.3-3.4-.4-3.4 1.4V376c0 17.6 14.4 32 32 32h352c17.6 0 32-14.4 32-32V198c-12.1 12.6-29.1 20.5-48 20.5z"/><path d="M349.5 152c0-11.6 3-22.5 8.2-32H79.9c-7.5 0-14.4 2.6-19.8 7L217 286.7c10.4 10.6 24.3 16.4 39.1 16.4s28.7-5.8 39.1-16.4l80.5-81.9c-16-12.2-26.2-31.3-26.2-52.8z"/></svg>PK}w�\�ukM��ionicons/svg/md-arrow-back.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M427 234.625H167.296l119.702-119.702L256 85 85 256l171 171 29.922-29.924-118.626-119.701H427v-42.75z"/></svg>PK}w�\X����ionicons/svg/ios-female.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M61.6 464c3.6 0 7.1-1.4 9.6-4l44.8-44.8 37 37c2.6 2.6 6 4 9.6 4 3.6 0 7.1-1.4 9.6-4 5.3-5.3 5.3-13.9 0-19.2l-37-37 50-50c30.6 26 69.3 40.3 109.6 40.3 22.8 0 45-4.5 65.8-13.3 20.1-8.5 38.2-20.7 53.8-36.2 15.5-15.5 27.7-33.6 36.2-53.8 8.8-20.9 13.3-43 13.3-65.8s-4.5-45-13.3-65.8c-8.5-20.1-20.7-38.2-36.2-53.8-15.5-15.5-33.6-27.7-53.8-36.2-20.9-8.8-43-13.3-65.8-13.3-22.8 0-45 4.5-65.8 13.3-20.1 8.5-38.2 20.7-53.8 36.2-15.5 15.5-27.7 33.6-36.2 53.8-8.8 20.9-13.3 43-13.3 65.8 0 40.3 14.3 79 40.3 109.6l-50 50-37-37c-2.6-2.6-6-4-9.6-4-3.6 0-7.1 1.4-9.6 4-5.3 5.3-5.3 13.9 0 19.2l37 37L52 440.8c-5.3 5.3-5.3 13.9 0 19.2 2.6 2.6 6 4 9.6 4zm132.9-347.2C221.3 90 257 75.2 294.9 75.2c37.9 0 73.5 14.8 100.3 41.6 26.8 26.8 41.6 62.4 41.6 100.3s-14.8 73.5-41.6 100.3c-26.8 26.8-62.4 41.6-100.3 41.6s-73.5-14.8-100.3-41.6C167.7 290.7 153 255 153 217.1s14.7-73.5 41.5-100.3z"/></svg>PK}w�\a����ionicons/svg/ios-construct.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M380 64.4zM275.1 57.6c-9.4-5.9-23.3-9.6-37.9-9.6-14.3 0-30.3 2.5-46.7 9.2-46.5 19-74 45.4-81.1 52.4-7 7-16.8 18-22.9 26.6-6.1 8.7 1.9 21-6.1 29s-24.7 0-24.7 0c-1.4 0-2.9.5-3.9 1.6l-34.1 33.9c-2.2 2.1-2.2 5.7 0 7.8l63.5 63.1c1.1 1.1 2.5 1.6 3.9 1.6s2.9-.5 3.9-1.6l33.2-34.8c2.2-2.1 2.2-5.7 0-7.8 0 0-5.3-5.2-12.1-12s.8-19.3 5.3-23.4c4.5-4.1 11.6-6.8 21.1-6.8 4.3 0 7.4.7 11.4 1.8 12.2 3.4 25.8 15.9 50.9 40.8l-3.9 6.5c-2.3 3.8-.9 8.3 1.3 10.4 0 0-5-4.9 13.1 13.1l50-47.2c-19.1-18.9-14.5-14.1-14.5-14.1-1.4-1.4-3.8-2.3-6.3-2.3-1.4 0-2.9.3-4.2 1l-5.6 3c-28-27.8-35.3-40.2-34.3-61.7 1.1-22.4 12.3-37.1 30.5-52.7 24.7-21.1 60.6-15.2 60.6-15.2 8-.1-4.2-8.6-10.4-12.6zM462.5 399.9s-68.9-57.2-130.2-115.7l-47.7 50.6c58.5 60.6 114.9 127.6 114.9 127.6 1.1 1.1 2.5 1.6 3.9 1.6s2.9-.5 3.9-1.6l55.1-54.7c2.2-2.1 2.2-5.7.1-7.8z"/><path d="M479.2 125.3l-52.4 52.6-51.1-9.3-9.2-51.1 52.4-52.6c-11.1-11.1-26.8-16.6-39-16.6-.7 0-1.4 0-2 .1-12.5.6-39.2 7.7-59.9 29.7-20 21.1-41.1 60.6-22.4 104.3 2.2 5.3 4.7 12.2-2.7 19.7-1.5 1.4-9.9 9.4-22.5 21.3-3.6 3.4-7.4 7-11.6 11-8 7.6-17.1 16.2-26.8 25.2-3.8 3.6-7.7 7.2-11.6 11-57 53.8-126.9 119.5-126.9 119.5-18 15.5-16.7 44.1-.1 60.8 8.5 8.4 20 12.8 31.3 12.8 11 0 21.9-4.2 29.5-13.1 0 0 65.5-69.8 119.3-126.9 3.7-4 7.4-7.8 11-11.7 9.3-9.9 18-19.1 25.8-27.3 3.9-4.2 7.6-8.1 11-11.6 11.5-12.2 19.3-20.4 21-22 4-3.9 7.7-5.1 11.1-5.1 3.3 0 6.2 1.2 8.6 2.4 9.9 5.1 21 7.3 32.4 7.3 26.7 0 55-12.4 72.1-29.5 24.4-24.4 28.8-47.9 29.6-60 .6-11.8-3.6-27.6-16.9-40.9zM137.4 426.1c-5.5 5.4-14.4 5.4-19.8 0-5.4-5.5-5.4-14.4 0-19.8 5.5-5.4 14.4-5.4 19.8 0 5.4 5.5 5.4 14.4 0 19.8z"/></svg>PK}w�\�İU��ionicons/svg/md-send.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M48 448l416-192L48 64v149.333L346 256 48 298.667z"/></svg>PK}w�\��X�� ionicons/svg/ios-transgender.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M450.4 168.5c7.5 0 13.6-6.1 13.6-13.6V61.6c0-7.5-6.1-13.6-13.6-13.6h-93.3c-7.5 0-13.6 6.1-13.6 13.6s6.1 13.6 13.6 13.6H417l-75 75.4c-25.7-16.3-55.4-24.8-86-24.8-30.7 0-60.3 8.6-86 24.8l-19-19.1 28.2-28.2c5.3-5.3 5.3-13.9 0-19.2-2.6-2.6-6-4-9.6-4-3.6 0-7.1 1.4-9.6 4l-28.1 28.1-36.8-37H155c7.5 0 13.6-6.1 13.6-13.6S162.5 48 155 48H61.6C54.1 48 48 54.1 48 61.6v93.3c0 7.5 6.1 13.6 13.6 13.6s13.6-6.1 13.6-13.6V95.1l36.9 36.7-30 30c-5.3 5.3-5.3 13.9 0 19.2 2.6 2.6 6 4 9.6 4 3.6 0 7.1-1.4 9.6-4l30.1-30.1 16.5 16.4c-33.9 30.6-53.3 73.9-53.3 119.8 0 43.1 16.8 83.6 47.3 114.1 30.5 30.5 71 47.3 114.1 47.3 45.9 0 89.2-19.4 119.9-53.3l16.4 16.4-29.3 29.2c-5.3 5.3-5.3 13.9 0 19.2 2.6 2.6 6 4 9.6 4 3.6 0 7.1-1.4 9.6-4l29.3-29.3 29.3 29.3c2.6 2.6 6 4 9.6 4 3.6 0 7.1-1.4 9.6-4 5.3-5.3 5.3-13.9 0-19.2l-29.3-29.3 29.3-29.3c5.3-5.3 5.3-13.9 0-19.2-2.6-2.6-6-4-9.6-4-3.6 0-7.1 1.4-9.6 4l-29.3 29.3-19-19c16.3-25.8 24.9-55.4 24.9-86.1 0-45.9-19.3-89.2-53.3-119.8l72.7-72.2v59.9c0 7.3 6.1 13.4 13.6 13.4zm-60.3 118.6c0 35.8-14 69.5-39.3 94.8-25.3 25.3-59 39.3-94.8 39.3s-69.5-14-94.8-39.3c-25.3-25.3-39.3-59-39.3-94.8s14-69.5 39.3-94.8c25.3-25.3 59-39.3 94.8-39.3s69.5 14 94.8 39.3c25.4 25.3 39.3 59 39.3 94.8z"/></svg>PK}w�\Q�o��'ionicons/svg/md-arrow-dropup-circle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M464 256c0-114.875-93.125-208-208-208S48 141.125 48 256s93.125 208 208 208 208-93.125 208-208zm-112 32H160l96-96 96 96z"/></svg>PK}w�\<��q��#ionicons/svg/ios-refresh-circle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zm0 336.1c-70.7 0-128-57.3-128-128.1s57.3-128.1 128-128.1v-37c0-6.4 7.1-10.2 12.4-6.7l72.9 52.6c4.9 3.3 4.7 10.6-.4 13.6L268 196.7c-5.3 3.1-12-.8-12-6.9v-41.9c-60.3 0-109.2 49.7-108.1 110.2 1.1 59.1 50.3 106.7 109.5 106 55.9-.7 101.8-43.7 106.3-99 .4-5.2 4.7-9.1 9.9-9.1 5.8 0 10.4 4.9 9.9 10.7-5.4 66-60.4 117.4-127.5 117.4z"/></svg>PK}w�\&�`=��ionicons/svg/md-swap.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M131.3 231.1L32 330.6l99.3 99.4v-74.6h174.5v-49.7H131.3v-74.6zM480 181.4L380.7 82v74.6H206.2v49.7h174.5v74.6l99.3-99.5z"/></svg>PK}w�\�P``ionicons/svg/md-medal.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M273.5 152.1H48l54.1-103.9h240.7z"/><circle cx="256.2" cy="377.2" r="86.6"/><path d="M348.9 299.1l115.1-147-69.3-103.9L256.4 256c32.3 0 62.7 12.7 85.5 35.5 2.5 2.5 4.8 5 7 7.6zM205.8 266.6L152.3 186H48.4l90.1 161.5c5.2-21.2 16.1-40.6 32-56.4 10.4-10.3 22.3-18.6 35.3-24.5z"/></svg>PK}w�\���vvionicons/svg/md-radio.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M73.8 141.9c-15.2 6-25.8 21.8-25.8 39.5v256c0 23.5 18.5 42.7 41.6 42.7h332.8c23.1 0 41.6-19.2 41.6-42.7v-256c0-23.7-18.5-42.7-41.6-42.7H179l171.8-71.3L336.7 32 73.8 141.9zM160 438c-35.4 0-64-28.6-64-64s28.6-64 64-64 64 28.6 64 64-28.6 64-64 64zm256-171.3h-32v-46.2h-44.8v46.2H96v-85.3h320v85.3z"/></svg>PK}w�\믣��ionicons/svg/ios-star.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M463 192H315.9L271.2 58.6C269 52.1 262.9 48 256 48s-13 4.1-15.2 10.6L196.1 192H48c-8.8 0-16 7.2-16 16 0 .9.1 1.9.3 2.7.2 3.5 1.8 7.4 6.7 11.3l120.9 85.2-46.4 134.9c-2.3 6.5 0 13.8 5.5 18 2.9 2.1 5.6 3.9 9 3.9 3.3 0 7.2-1.7 10-3.6l118-84.1 118 84.1c2.8 2 6.7 3.6 10 3.6 3.4 0 6.1-1.7 8.9-3.9 5.6-4.2 7.8-11.4 5.5-18L352 307.2l119.9-86 2.9-2.5c2.6-2.8 5.2-6.6 5.2-10.7 0-8.8-8.2-16-17-16z"/></svg>PK}w�\��3'ionicons/svg/ios-pulse.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M434.6 272.1c-22.4-1.2-41.6 13.2-48.2 32.9h-38.9l-28.4-85.4c-2.2-6.6-8.3-11-15.2-11h-.3c-7 .1-13.1 4.8-15 11.6l-44.5 155.3-52.3-314.1c-1.2-7.5-7.6-13.1-15.2-13.4-7.6-.3-14.3 4.8-16.2 12.1l-53 244.9H48c-8.8 0-16 7.2-16 16s7.2 16 16 16h72c7.3 0 13.8-5 15.5-12.1l37.4-182.2 51.3 307.9c1.2 7.4 7.4 12.9 14.9 13.3h.9c7.1 0 13.4-4.7 15.4-11.6l49.7-173.6 15.7 47.3c2.2 6.5 8.3 11 15.2 11h51.1c6.9 18 24.4 31 44.9 31 27 0 48.8-22.3 48-49.5-.8-24.8-20.7-45.1-45.4-46.4z"/></svg>PK}w�\�B�bb!ionicons/svg/md-musical-notes.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M160 64v257.6c-8.2-2.7-17.2-4.1-26.6-4.1-38.3 0-69.4 27.1-69.4 65.4 0 38.3 31.1 65.1 69.4 65.1 38.3 0 69.6-28.2 69.6-69.1V200h202v121.6c-8.2-2.7-17.2-4.1-26.6-4.1-38.3 0-69.4 27.1-69.4 65.4 0 38.3 31.1 65.1 69.4 65.1 38.3 0 69.6-28.2 69.6-69.1V64H160zm245 96H203v-53h202v53z"/></svg>PK}w�\_��IIionicons/svg/md-rose.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M260.6 214.8c23.8-40.9 48-71.6 91.4-96.4 8.3-4.8 21.2-8 22.8-8.9C290.7 83.7 256 32 256 32s-34.7 51.7-120.5 76.5c5.8 3.4 16.5 6.5 30.7 13.7 34.5 17.4 62.5 51.3 94.4 92.6zM246.3 253.4C186.7 161.2 131.4 126.8 48 126.8c54.2 78.6 52 174.6 52 215.4 0 76.1 69.8 137.8 156 137.8 57.6 0 107.9-27.6 135-68.7-35.5-27.6-85.1-65.7-144.7-157.9zM464 126.8s-55.2-2.3-85.2 15.4c-43 25.5-74.4 61.3-95.4 103.2 38.8 52 73 87.9 95.4 109.4 10.7 10.2 19.8 18.2 27.5 24.5 3.7-11.8 5.8-24.3 5.8-37.2-.1-40.8-17.4-114.1 51.9-215.3z"/></svg>PK}w�\�ʏ�� ionicons/svg/md-partly-sunny.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M248.03 116.81l24.679-24.678 19.233 19.234-24.678 24.677zM176 125.7c-45.3 0-82.3 37-82.3 82.3 0 17.5 5.5 33.7 14.9 47 15.3-13 33.9-22.6 54.7-27.6l13.2-16.6c13.6-17.1 30.7-30.2 50.8-38.9 6.1-2.6 12.4-4.8 19-6.6-14.5-23.7-40.6-39.6-70.3-39.6zM162 64h28v41h-28zM32 194h41v28H32zM81.6 276.8l-.8-.8-24.7 24.7 19.2 19.2 24.7-24.7zM79.289 92.13l24.678 24.678-19.233 19.233-24.678-24.678zM405.6 288.6C394.7 233.4 346.2 192 288 192c-34 0-65.1 11.9-86.5 38.8 29.4 2.2 56.7 13 77.8 33.9 15.6 15.6 26.6 34.6 32.1 55.3h-28.7c-13.1-37.3-48-64-90.6-64-5.1 0-12.3.6-17.7 1.7C128.6 267.1 96 305 96 352c0 53 43 96 96 96h208c44.2 0 80-35.8 80-80 0-42.2-32.8-76.5-74.4-79.4z"/></svg>PK}w�\C�c;��ionicons/svg/ios-add-circle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zm90.5 224H272v74.5c0 8.8-7.2 16-16 16-4.4 0-8.4-1.8-11.3-4.7-2.9-2.9-4.7-6.9-4.7-11.3V272h-74.5c-4.4 0-8.4-1.8-11.3-4.7-2.9-2.9-4.7-6.9-4.7-11.3 0-8.8 7.2-16 16-16H240v-74.5c0-8.8 7.2-16 16-16s16 7.2 16 16V240h74.5c8.8 0 16 7.2 16 16s-7.2 16-16 16z"/></svg>PK}w�\�kY&��ionicons/svg/md-moon.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M195 125c0-26.3 5.3-51.3 14.9-74.1C118.7 73 51 155.1 51 253c0 114.8 93.2 208 208 208 97.9 0 180-67.7 202.1-158.9-22.8 9.6-47.9 14.9-74.1 14.9-106 0-192-86-192-192z"/></svg>PK}w�\� ��DD%ionicons/svg/ios-git-pull-request.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M393 341.6V206c0-14.7 0-42.1-9.4-65.3-11.9-29.2-36-44.7-69.6-44.7h-77.7L276 55.8c5.4-5.4 5.4-14.3 0-19.8l-.1-.1c-2.7-2.5-6.2-3.9-9.8-3.9-3.8 0-7.3 1.4-9.9 4.1l-54.8 54.6C192.9 61.5 165.9 40 134 40c-38.6 0-70 31.4-70 70 0 17 6.2 33.3 17.3 46.1 9.9 11.3 23.1 19.1 37.7 22.3v163.3c-14.5 3.2-27.8 11-37.7 22.3C70.2 376.7 64 393 64 410c0 38.6 31.4 70 70 70s70-31.4 70-70c0-17.4-6.4-34-18-46.9-10.3-11.4-24-19.1-39-21.9V178.8c15-2.8 28.7-10.5 39-21.9 7.6-8.4 12.9-18.4 15.7-29.1l56.4 56.2c2.6 2.6 6.1 4.1 9.9 4.1 3.7 0 7.3-1.4 9.9-4.1 2.6-2.6 4.1-6.1 4.1-9.9 0-3.7-1.4-7.3-4.1-9.9l-.1-.1-41.1-40.1H314c20.4 0 33.6 7.5 41.6 23.5 8.4 17 9.4 41.5 9.4 58.5v135.2c-15 2.8-28.7 10.5-39 21.9-11.6 12.9-18 29.5-18 46.9 0 38.6 31.4 70 70 70s70-31.4 70-70c0-17-6.2-33.3-17.3-46.1-9.9-11.3-23.2-19.1-37.7-22.3zM176 410c0 23.2-18.8 42-42 42s-42-18.8-42-42 18.8-42 42-42 42 18.8 42 42zm-42-258c-23.2 0-42-18.8-42-42s18.8-42 42-42 42 18.8 42 42-18.8 42-42 42zm244 300c-23.2 0-42-18.8-42-42s18.8-42 42-42 42 18.8 42 42-18.8 42-42 42z"/></svg>PK}w�\<��mmionicons/svg/logo-twitter.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M492 109.5c-17.4 7.7-36 12.9-55.6 15.3 20-12 35.4-31 42.6-53.6-18.7 11.1-39.4 19.2-61.5 23.5C399.8 75.8 374.6 64 346.8 64c-53.5 0-96.8 43.4-96.8 96.9 0 7.6.8 15 2.5 22.1-80.5-4-151.9-42.6-199.6-101.3-8.3 14.3-13.1 31-13.1 48.7 0 33.6 17.2 63.3 43.2 80.7-16-.4-31-4.8-44-12.1v1.2c0 47 33.4 86.1 77.7 95-8.1 2.2-16.7 3.4-25.5 3.4-6.2 0-12.3-.6-18.2-1.8 12.3 38.5 48.1 66.5 90.5 67.3-33.1 26-74.9 41.5-120.3 41.5-7.8 0-15.5-.5-23.1-1.4C62.8 432 113.7 448 168.3 448 346.6 448 444 300.3 444 172.2c0-4.2-.1-8.4-.3-12.5C462.6 146 479 129 492 109.5z"/></svg>PK}w�\G�!ZZionicons/svg/logo-css3.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256.282 339.488zM64 32l34.946 403.219L255.767 480l157.259-44.85L448 32H64zm290.676 334.898l-98.607 28.125-98.458-28.248L150.864 289h48.253l3.433 39.562 53.586 15.163.132.273h.034l53.467-14.852L315.381 265H203l-4-50h120.646l4.396-51H140l-4-49h240.58l-21.904 251.898z"/></svg>PK}w�\�".3��ionicons/svg/logo-android.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M144 268.4V358c0 6.9 4.5 14 11.4 14H184v52c0 13.3 10.7 24 24 24s24-10.7 24-24v-52h49v52c0 7.5 3.4 14.2 8.8 18.6 3.9 3.4 9.1 5.4 14.7 5.4h.5c13.3 0 24-10.7 24-24v-52h27.6c7 0 11.4-7.1 11.4-13.9V192H144v76.4zM408 176c-13.3 0-24 10.7-24 24v96c0 13.3 10.7 24 24 24s24-10.7 24-24v-96c0-13.3-10.7-24-24-24zM104 176c-13.3 0-24 10.7-24 24v96c0 13.3 10.7 24 24 24s24-10.7 24-24v-96c0-13.3-10.7-24-24-24z"/><g><path d="M311.2 89.1l18.5-21.9c.4-.5-.2-1.6-1.3-2.5-1.1-.8-2.4-1-2.7-.4l-19.2 22.8c-13.6-5.4-30.2-8.8-50.6-8.8-20.5-.1-37.2 3.2-50.8 8.5l-19-22.4c-.4-.5-1.6-.4-2.7.4s-1.7 1.8-1.3 2.5l18.3 21.6c-48.2 20.9-55.4 72.2-56.4 87.2h223.6c-.9-15.1-8-65.7-56.4-87zm-104.4 49.8c-7.4 0-13.5-6-13.5-13.3 0-7.3 6-13.3 13.5-13.3 7.4 0 13.5 6 13.5 13.3 0 7.3-6 13.3-13.5 13.3zm98.4 0c-7.4 0-13.5-6-13.5-13.3 0-7.3 6-13.3 13.5-13.3 7.4 0 13.5 6 13.5 13.3 0 7.3-6.1 13.3-13.5 13.3z"/></g></svg>PK}w�\`��%��ionicons/svg/ios-qr-scanner.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M174 64h-58.8C78.1 64 48 94.1 48 131.2V190c0 7.7 6.3 14 14 14s14-6.3 14-14v-59.8c0-9.1 4.3-18.7 11.7-26.2 7.5-7.6 17.2-12 26.5-12H174c7.7 0 14-6.3 14-14s-6.3-14-14-14zM397.8 64H338c-7.7 0-14 6.3-14 14s6.3 14 14 14h59.8c9.3 0 19 4.4 26.5 12 7.4 7.5 11.7 17.1 11.7 26.2V190c0 7.7 6.3 14 14 14s14-6.3 14-14v-59.8c0-36.5-29.7-66.2-66.2-66.2zM174 420h-59.8c-9.3 0-19-4.4-26.5-12-7.4-7.5-11.7-17.1-11.7-26.2V322c0-7.7-6.3-14-14-14s-14 6.3-14 14v59.8c0 36.5 29.7 66.2 66.2 66.2H174c7.7 0 14-6.3 14-14s-6.3-14-14-14zM450 308c-7.7 0-14 6.3-14 14v59.8c0 9.1-4.3 18.7-11.7 26.2-7.5 7.6-17.2 12-26.5 12H338c-7.7 0-14 6.3-14 14s6.3 14 14 14h58.8c37 0 67.2-30.1 67.2-67.2V322c0-7.7-6.3-14-14-14z"/></svg>PK}w�\��0��ionicons/svg/ios-book.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M146 64.1c54.1 0 100 27.9 100 82V446c0 2.2-3.1 2.7-3.8.7v-.1c-10.3-34.2-38.2-67.6-82.3-70.5-34.2-2.2-66.9 12.9-93.1 37.1-1.6 1.5-4.3 2.9-6.6 2.9h-4.5c-3.7 0-7.6-2.7-7.6-6.1V120.2C48 88.1 91.9 64.1 146 64.1zM366 64c-54.1 0-100 27.9-100 82v299.9c0 2.2 3.1 2.7 3.8.7v-.1c10.3-34.2 39.4-67.9 82.3-70.5 32.9-2 63.9 11 93.1 37.1 1.6 1.4 4.3 2.9 6.6 2.9h4.5c3.7 0 7.6-2.7 7.6-6.1V120c.1-32-43.8-56-97.9-56z"/></svg>PK}w�\���ionicons/svg/md-happy.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C140.563 48 48 141.6 48 256s92.563 208 208 208 208-93.6 208-208S370.401 48 256 48zm0 374.4c-91.518 0-166.404-74.883-166.404-166.4 0-91.518 74.887-166.4 166.404-166.4S422.404 164.482 422.404 256 347.518 422.4 256 422.4zm72.8-187.2c17.683 0 31.201-13.518 31.201-31.2s-13.519-31.2-31.201-31.2c-17.682 0-31.2 13.518-31.2 31.2s13.518 31.2 31.2 31.2zm-145.6 0c17.682 0 31.2-13.518 31.2-31.2s-13.519-31.2-31.2-31.2c-17.683 0-31.201 13.518-31.201 31.2s13.519 31.2 31.201 31.2zM256 370.4c48.883 0 89.436-30.164 106.081-72.801H149.919C166.564 340.236 207.117 370.4 256 370.4z"/></svg>PK}w�\�Jj���ionicons/svg/md-videocam.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M384 219.5v-85.2c0-13.4-11.2-24.3-24.9-24.3H56.9C43.2 110 32 120.9 32 134.3v243.3C32 391 43.2 402 56.9 402h302.2c13.7 0 24.9-11 24.9-24.3v-85.2l96 97.3V122.2l-96 97.3z"/></svg>PK}w�\[%�ionicons/svg/ios-cart.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><ellipse transform="rotate(-1.057 159.995 423.97) scale(.99997)" cx="160" cy="424" rx="24" ry="24"/><ellipse transform="matrix(.02382 -.9997 .9997 .02382 -48.51 798.282)" cx="384.5" cy="424" rx="24" ry="24"/><path d="M463.8 132.2c-.7-2.4-2.8-4-5.2-4.2L132.9 96.5c-2.8-.3-6.2-2.1-7.5-4.7-3.8-7.1-6.2-11.1-12.2-18.6-7.7-9.4-22.2-9.1-48.8-9.3-9-.1-16.3 5.2-16.3 14.1 0 8.7 6.9 14.1 15.6 14.1s21.3.5 26 1.9c4.7 1.4 8.5 9.1 9.9 15.8 0 .1 0 .2.1.3.2 1.2 2 10.2 2 10.3l40 211.6c2.4 14.5 7.3 26.5 14.5 35.7 8.4 10.8 19.5 16.2 32.9 16.2h236.6c7.6 0 14.1-5.8 14.4-13.4.4-8-6-14.6-14-14.6H188.9c-2 0-4.9 0-8.3-2.8-3.5-3-8.3-9.9-11.5-26l-4.3-23.7c0-.3.1-.5.4-.6l277.7-47c2.6-.4 4.6-2.5 4.9-5.2l16-115.8c.2-.8.2-1.7 0-2.6z"/></svg>PK}w�\���IIionicons/svg/ios-journal.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M92.1 32C76.6 32 64 44.6 64 60.1V452c0 15.5 12.6 28.1 28.1 28.1H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H112.5c-8.2 0-15.4-6-16.4-14.1-1.1-9.7 6.5-18 15.9-18h208V32H92.1z"/><path d="M432 416c8.8 0 16-7.2 16-16V60.1c0-15.5-12.6-28.1-28.1-28.1H368v384h64z"/></svg>PK}w�\�=gPii#ionicons/svg/md-arrow-dropright.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M192 128l128 128-128 128z"/></svg>PK}w�\�T���ionicons/svg/logo-google.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M457.6 224l-2.1-8.9H262V297h115.6c-12 57-67.7 87-113.2 87-33.1 0-68-13.9-91.1-36.3-23.7-23-38.8-56.9-38.8-91.8 0-34.5 15.5-69 38.1-91.7 22.5-22.6 56.6-35.4 90.5-35.4 38.8 0 66.6 20.6 77 30l58.2-57.9c-17.1-15-64-52.8-137.1-52.8-56.4 0-110.5 21.6-150 61C72.2 147.9 52 204 52 256s19.1 105.4 56.9 144.5c40.4 41.7 97.6 63.5 156.5 63.5 53.6 0 104.4-21 140.6-59.1 35.6-37.5 54-89.4 54-143.8 0-22.9-2.3-36.5-2.4-37.1z"/></svg>PK}w�\* ���ionicons/svg/ios-repeat.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M336.6 157.5L303 124.1c-3.5-3.5-8.5-4.9-13.6-3.6-1.2.3-2.4.8-3.5 1.5-4.7 2.9-7.2 7.8-6.8 13.1.2 3.4 1.9 6.6 4.3 9.1l16 15.9H142c-20.8 0-40.3 8.1-55.1 22.9C72.1 197.7 64 217.2 64 238v16c0 7.7 6.3 14 14 14s14-6.3 14-14v-16c0-13.3 5.2-25.8 14.7-35.3 9.5-9.5 22-14.7 35.3-14.7h155.4l-16 15.9c-2.4 2.4-4 5.4-4.3 8.7-.4 4.2 1.1 8.3 4.1 11.3 2.6 2.6 6.2 4.1 9.9 4.1s7.2-1.4 9.9-4.1l35.6-35.4c4.2-4.1 6.5-9.7 6.5-15.5-.1-5.9-2.4-11.4-6.5-15.5zM434 244c-7.7 0-14 6.3-14 14v16c0 13.3-5.2 25.8-14.7 35.3-9.5 9.5-22 14.7-35.3 14.7H214.6l16-15.9c2.4-2.4 4-5.4 4.3-8.8.4-4.2-1.1-8.3-4.1-11.3-2.6-2.6-6.2-4.1-9.9-4.1s-7.2 1.4-9.9 4.1l-35.6 35.4c-4.2 4.1-6.5 9.7-6.5 15.5 0 5.9 2.3 11.4 6.5 15.5l33.6 33.4c3.5 3.5 8.5 4.9 13.6 3.6 1.2-.3 2.4-.8 3.5-1.5 4.7-2.9 7.2-7.8 6.8-13.1-.2-3.4-1.9-6.6-4.3-9.1l-16-15.9H370c43 0 78-35 78-78v-16c0-7.5-6.3-13.8-14-13.8z"/></svg>PK}w�\w�R��ionicons/svg/md-browsers.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M424 64H88c-26.6 0-48 21.6-48 48v288c0 26.4 21.4 48 48 48h336c26.4 0 48-21.6 48-48V112c0-26.4-21.4-48-48-48zm0 336H88V176h336v224z"/></svg>PK}w�\����ionicons/svg/md-share-alt.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M448 248L288 96v85.334C138.666 202.667 85.333 309.334 64 416c53.333-74.666 117.333-108.802 224-108.802v87.469L448 248z"/></svg>PK}w�\�Xzionicons/svg/ios-recording.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M386.2 146h-.1c-60.6 0-109.8 49.2-109.8 110.1 0 30.5 12.3 58 32.3 77.9H203.5c19.9-19.9 32.3-47.5 32.3-77.9 0-60.8-49.2-110.1-109.8-110.1h-.1-.1C65.2 146 16 195.2 16 256s49.2 110 109.8 110h260.4c60.6 0 109.8-49.2 109.8-110s-49.2-110-109.8-110zM464 256c0 43.1-34.9 78.2-77.9 78.2s-77.9-35.1-77.9-78.2 34.9-78.2 77.9-78.2S464 212.9 464 256zm-338.1 78.2C83 334.2 48 299.1 48 256s34.9-78.2 77.9-78.2 77.9 35.1 77.9 78.2-34.9 78.2-77.9 78.2z"/></svg>PK}w�\Aw̧��ionicons/svg/md-rewind.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M249.6 402V110L32 256l217.6 146zm12.8-146L480 402V110L262.4 256z"/></svg>PK}w�\��ionicons/svg/ios-switch.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><circle cx="144" cy="368" r="42"/><path d="M367.5 272h-223C91.2 272 48 315.2 48 368.5S91.2 464 144.5 464h223c53.3 0 96.5-42.2 96.5-95.5S420.8 272 367.5 272zM144 432c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64z"/><circle cx="368" cy="144" r="42"/><path d="M144.5 240h223c53.3 0 96.5-42.2 96.5-95.5S420.8 48 367.5 48h-223C91.2 48 48 91.2 48 144.5S91.2 240 144.5 240zM368 80c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64z"/></svg>PK}w�\1��� ionicons/svg/ios-git-network.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M377.4 32c-38.9 0-70.6 31.7-70.6 70.7 0 17.1 6.2 33.7 17.5 46.6 10 11.5 23.5 19.4 38.2 22.5v43.1L256 270.3l-106.4-55.4v-43.1c32.2-6.9 55.7-35.6 55.7-69.1 0-39-31.7-70.7-70.6-70.7S64 63.7 64 102.7c0 17.1 6.2 33.7 17.5 46.6 10 11.5 23.5 19.4 38.2 22.5v57.4c0 2.7 1.5 5.1 3.9 6.3l117.5 60.8v43.9c-32.2 6.9-55.7 35.6-55.7 69.1 0 39 31.7 70.7 70.6 70.7s70.6-31.7 70.6-70.7c0-17.1-6.2-33.7-17.5-46.6-10-11.5-23.5-19.4-38.2-22.5v-43.9l117.5-60.8c2.4-1.2 3.9-3.6 3.9-6.3v-57.4c32.2-6.9 55.7-35.6 55.7-69.1 0-39-31.7-70.7-70.6-70.7zM93.8 102.7c0-22.5 18.3-40.8 40.8-40.8s40.8 18.3 40.8 40.8c0 22.5-18.3 40.8-40.8 40.8s-40.8-18.3-40.8-40.8zm203 306.6c0 22.5-18.3 40.8-40.8 40.8s-40.8-18.3-40.8-40.8c0-22.5 18.3-40.8 40.8-40.8s40.8 18.3 40.8 40.8zm80.6-265.7c-22.5 0-40.8-18.3-40.8-40.8 0-22.5 18.3-40.8 40.8-40.8 22.5 0 40.8 18.3 40.8 40.8 0 22.4-18.3 40.8-40.8 40.8z"/></svg>PK}w�\����ionicons/svg/md-alert.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.6 48 48 141.601 48 256s93.6 208 208 208 208-93.601 208-208S370.4 48 256 48zm24 312h-48v-40h48v40zm0-88h-48V144h48v128z"/></svg>PK}w�\���ionicons/svg/ios-globe.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48h-.7c-55.4.2-107.4 21.9-146.6 61.1C69.6 148.4 48 200.5 48 256s21.6 107.6 60.8 146.9c39.1 39.2 91.2 60.9 146.6 61.1h.7c114.7 0 208-93.3 208-208S370.7 48 256 48zm180.2 194h-77.6c-.9-26.7-4.2-52.2-9.8-76.2 17.1-5.5 33.7-12.5 49.7-21 22 28.2 35 61.6 37.7 97.2zM242 242h-61.8c.8-24.5 3.8-47.7 8.8-69.1 17.4 3.9 35.1 6.3 53 7.1v62zm0 28v61.9c-17.8.8-35.6 3.2-53 7.1-5-21.4-8-44.6-8.8-69H242zm28 0h61.3c-.8 24.4-3.8 47.6-8.8 68.9-17.2-3.9-34.8-6.2-52.5-7V270zm0-28v-62c17.8-.8 35.4-3.2 52.5-7 5 21.4 8 44.5 8.8 69H270zm109.4-117.9c-12.3 6.1-25 11.3-38 15.5-7.1-21.4-16.1-39.9-26.5-54.5 24 8.3 45.9 21.6 64.5 39zM315 146.8c-14.7 3.2-29.8 5.2-45 6V79.4c17 9.2 33.6 33.9 45 67.4zM242 79v73.7c-15.4-.8-30.6-2.8-45.5-6.1 11.6-33.8 28.4-58.5 45.5-67.6zm-45.6 6.4c-10.3 14.5-19.2 32.9-26.3 54.1-12.8-4.2-25.4-9.4-37.5-15.4 18.4-17.3 40.1-30.5 63.8-38.7zm-82.9 59.5c15.8 8.4 32.3 15.4 49.2 20.8-5.7 23.9-9 49.5-9.8 76.2h-77c2.6-35.4 15.6-68.8 37.6-97zM75.8 270h77c.9 26.7 4.2 52.3 9.8 76.2-16.9 5.5-33.4 12.5-49.2 20.8-21.9-28.1-34.9-61.5-37.6-97zm56.7 117.9c12.1-6 24.7-11.2 37.6-15.4 7.1 21.3 16 39.6 26.3 54.2-23.7-8.4-45.4-21.5-63.9-38.8zm64-22.6c14.9-3.3 30.2-5.3 45.5-6.1V433c-17.2-9.1-33.9-33.9-45.5-67.7zm73.5 67.3v-73.5c15.2.8 30.3 2.8 45 6-11.4 33.6-28 58.3-45 67.5zm45-5.7c10.4-14.6 19.4-33.1 26.5-54.5 13 4.2 25.8 9.5 38 15.6-18.6 17.3-40.6 30.6-64.5 38.9zm83.5-59.8c-16-8.5-32.6-15.5-49.7-21 5.6-23.9 8.9-49.4 9.8-76.1h77.6c-2.7 35.5-15.6 68.9-37.7 97.1z"/></svg>PK}w�\Bc҉�� ionicons/svg/ios-chatbubbles.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M431 320.6c0-4.4 1.2-8.6 3.3-12.2.6-1.1 1.4-2.1 2.1-3.1 17.4-26 27.6-57.1 27.6-90.3.3-92.2-77.5-167-173.7-167-83.9 0-153.9 57.1-170.3 132.9-2.4 11.1-3.7 22.4-3.7 34.2 0 92.3 74.8 169.1 171 169.1 15.3 0 35.9-4.6 47.2-7.7 11.3-3.1 22.5-7.2 25.4-8.3 2.9-1.1 6.1-1.7 9.3-1.7 3.6 0 7 .7 10.1 2l56.7 20.1s2.4 1 3.9 1c4.4 0 8-3.5 8-8 0-1-.5-2.7-.5-2.7L431 320.6z"/><path d="M318.5 392.5c-3.6 1-8.2 2.1-13.2 3.2-10.5 2.2-23.9 4.5-34 4.5-96.2 0-171-76.8-171-169.1 0-6.6.7-15 1.5-21.4.6-4.3 1.3-8.6 2.3-12.8 1-4.5 2.2-9 3.5-13.4l-8 7.1C66.8 219.2 48 260 48 302.5c0 29.3 8.5 57.5 24.8 82 2.3 3.5 3.6 6.2 3.2 8-.4 1.8-11.9 62-11.9 62-.6 2.9.5 5.8 2.7 7.7 1.5 1.2 3.3 1.8 5.1 1.8 1 0 2-.2 2.9-.6l56.1-22.1c1.8-.7 3.7-1.1 5.7-1.1 0 0 2.4-.2 6.3 1.3 18.9 7.4 39.8 12 60.7 12 46.6 0 90.4-20.1 120.1-55.1 0 0 3.2-4.4 6.9-9.6-3.7 1.3-7.9 2.6-12.1 3.7z"/></svg>PK}w�\-�^oionicons/svg/logo-slack.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M213.6 236.216l64.003-21.438 20.708 61.823-64.004 21.438z"/><path d="M213.6 236.216l64.003-21.438 20.708 61.823-64.004 21.438z"/><path d="M475.9 190C426.4 25 355-13.4 190 36.1S-13.4 157 36.1 322 157 525.4 322 475.9 525.4 355 475.9 190zm-83.3 107.1l-31.1 10.4 10.7 32.2c4.2 13-2.7 27.2-15.7 31.5-2.7.8-5.8 1.5-8.4 1.2-10-.4-19.6-6.9-23-16.9l-10.7-32.2-64.1 21.5L261 377c4.2 13-2.7 27.2-15.7 31.5-2.7.8-5.8 1.5-8.4 1.2-10-.4-19.6-6.9-23-16.9L203 360.4l-31 10.3c-2.7.8-5.8 1.5-8.4 1.2-10-.4-19.6-6.9-23-16.9-4.2-13 2.7-27.2 15.7-31.5l31.1-10.4-20.7-61.8-31.1 10.4c-2.7.8-5.8 1.5-8.4 1.2-10-.4-19.6-6.9-23-16.9-4.2-13 2.7-27.2 15.7-31.5l31.1-10.4-10.9-32.1c-4.2-13 2.7-27.2 15.7-31.5 13-4.2 27.2 2.7 31.5 15.7l10.7 32.2 64.1-21.5-10.7-32.2c-4.2-13 2.7-27.2 15.7-31.5 13-4.2 27.2 2.7 31.5 15.7l10.7 32.2 31.1-10.4c13-4.2 27.2 2.7 31.5 15.7 4.2 13-2.7 27.2-15.7 31.5l-31.1 10.4 20.7 61.8 31.1-10.4c13-4.2 27.2 2.7 31.5 15.7 4.2 13.2-2.7 27.4-15.8 31.7z"/></svg>PK}w�\��1��ionicons/svg/md-eye.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 105c-101.8 0-188.4 62.4-224 151 35.6 88.6 122.2 151 224 151s188.4-62.4 224-151c-35.6-88.6-122.2-151-224-151zm0 251.7c-56 0-101.8-45.3-101.8-100.7S200 155.3 256 155.3 357.8 200.6 357.8 256 312 356.7 256 356.7zm0-161.1c-33.6 0-61.1 27.2-61.1 60.4s27.5 60.4 61.1 60.4 61.1-27.2 61.1-60.4-27.5-60.4-61.1-60.4z"/></svg>PK}w�\ ��� � ionicons/svg/ios-flower.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M385.1 230.2c-26.7 0-60.1 6.9-86.3 13.5-.9-3.2-2.1-6.2-3.7-9.1 23.2-13.8 51.7-32.5 70.5-51.4 36.7-36.7 48.3-63.6 37.6-74.3-2.6-2.6-6-3.8-10.3-3.8-13.8 0-36 13.4-64 41.4-18.8 18.8-37.6 47.2-51.4 70.4-2.8-1.6-5.9-2.8-9.1-3.8 6.7-26.2 13.5-59.5 13.5-86.1 0-51.9-10.8-79.1-26-79.1s-26 27.2-26 79.1c0 26.6 6.8 60 13.5 86.1-3.2.9-6.2 2.2-9.1 3.8-13.8-23.2-32.5-51.6-51.4-70.4-28-28-50.3-41.4-64-41.4-4.3 0-7.7 1.3-10.3 3.8-10.8 10.8.8 37.6 37.6 74.3 18.9 18.9 47.3 37.6 70.5 51.4-1.5 2.8-2.8 5.9-3.7 9.1-26.2-6.7-59.6-13.5-86.3-13.5-51.8 0-78.7 10.6-78.7 25.8s26.9 26.2 78.9 26.2c26.7 0 60.2-6.9 86.4-13.6.9 3.1 2.2 6.2 3.8 9-23.3 13.8-51.8 32.6-70.7 51.5-36.7 36.7-48.3 63.6-37.6 74.3 2.6 2.6 6 3.8 10.3 3.8 13.8 0 36-13.4 64-41.4 18.9-18.9 37.8-47.5 51.6-70.8 2.8 1.5 5.8 2.8 9 3.7-6.7 26.2-13.6 59.8-13.6 86.5 0 51.9 10.8 78.6 26 78.6s26-26.7 26-78.6c0-26.8-6.9-60.3-13.6-86.5 3.1-.9 6.1-2.1 9-3.7 13.8 23.3 32.6 51.9 51.6 70.8 28 28 50.3 41.4 64 41.4 4.3 0 7.7-1.3 10.3-3.8 10.8-10.8-.8-37.6-37.6-74.3-18.9-18.9-47.5-37.7-70.7-51.5 1.6-2.8 2.8-5.8 3.8-9 26.2 6.7 59.7 13.6 86.4 13.6 51.9 0 78.9-10.8 78.9-26-.2-15.2-27.1-26-79.1-26z"/><path d="M318.4 376.4c-8.5-8.5-16.9-18.7-24.8-29.5 2 13.2 3.3 26.4 3.3 38.4 0 11.7-.5 22.5-1.6 32.1 12.3 21.8 24.3 32.7 34 32.7 1.6 0 3.2-.3 4.7-.9 11-4.5 13.3-23.3 4.5-54.3-6.4-5.3-13.1-11.5-20.1-18.5zM193.8 136.1c8.4 8.4 16.7 18.5 24.6 29.2-2-13.2-3.2-26.3-3.2-38.2 0-11.7.5-22.5 1.6-32.1-12.3-21.8-24.3-32.7-34-32.7-1.6 0-3.2.3-4.7.9-11 4.5-13.3 23.3-4.5 54.3 6.4 5.4 13.2 11.6 20.2 18.6zM135.8 318.6c8.5-8.5 18.7-16.9 29.5-24.8-13.2 2-26.4 3.3-38.4 3.3-11.7 0-22.5-.5-32.1-1.6-25.5 14.4-36.1 28.2-31.8 38.7 2.6 6.4 10.1 9.9 22.1 9.9 8.5 0 19.3-1.7 32.2-5.4 5.4-6.4 11.5-13.1 18.5-20.1zM376.2 193.8c-8.5 8.5-18.7 16.9-29.5 24.8 13.2-2 26.4-3.3 38.4-3.3 11.7 0 22.5.5 32.1 1.6 25.5-14.4 36.1-28.2 31.8-38.7-2.6-6.4-10.1-9.9-22.1-9.9-8.5 0-19.3 1.7-32.2 5.4-5.4 6.5-11.5 13.2-18.5 20.1zM193.6 376.4c-8.3 8.3-16.3 15.6-23.8 21.6-7.8 28.2-5.5 45.4 4.9 49.9 1.6.7 3.2 1 4.9 1 10.3 0 23.2-12 36.7-36.2-.7-8.4-1.1-17.5-1.1-27.3 0-12 1.3-25.2 3.3-38.4-8 10.7-16.4 20.9-24.9 29.4zM318.4 136.2c8.3-8.3 16.2-15.5 23.7-21.5 7.9-28.4 5.7-45.8-4.8-50.2-1.6-.7-3.2-1-4.9-1-10.3 0-23.2 12-36.7 36.2.7 8.4 1.1 17.5 1.1 27.3 0 12.1-1.3 25.3-3.3 38.7 8-10.7 16.4-21 24.9-29.5zM99.6 216.5c8.4-.7 17.5-1.1 27.3-1.1 12 0 25.1 1.3 38.3 3.3-10.7-7.9-20.9-16.3-29.4-24.8-8.3-8.3-15.6-16.3-21.7-23.9-11.3-3.1-20.9-4.6-28.6-4.6-11.4 0-18.6 3.3-21.2 9.5-4.6 10.9 7.1 25.9 35.3 41.6zM412.4 296c-8.4.7-17.5 1.1-27.3 1.1-12 0-25.2-1.3-38.4-3.3 10.8 7.9 21 16.4 29.5 24.8 8.3 8.3 15.5 16.3 21.6 23.8 11.4 3.2 20.9 4.7 28.6 4.7 11.4 0 18.6-3.3 21.2-9.5 4.7-11-7-25.9-35.2-41.6z"/></svg>PK}w�\��j���"ionicons/svg/ios-remove-circle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zm90.5 224h-181c-8.5 0-16-6-16-16s7.2-16 16-16h181c8.8 0 16 7.2 16 16s-7.2 16-16 16z"/></svg>PK}w�\ B'PVVionicons/svg/ios-microphone.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M315 204h72.6c6.6 0 12.3-5.2 12.4-11.8.1-6.7-5.3-12.2-12-12.2h-73c-6.7 0-12.1-5.5-12-12.2.1-6.6 5.8-11.8 12.4-11.8h76.5c4.5 0 8.2-3.7 8-8.2-1.7-47.5-31.2-88.1-72.7-106-5.3-2.3-11.2 1.6-11.2 7.3v35.5c0 6.6-5.2 12.3-11.8 12.4-6.7.1-12.2-5.3-12.2-12V44c0-6.6-5.4-12-12-12s-12 5.4-12 12v56.6c0 6.6-5.2 12.3-11.8 12.4-6.7.1-12.2-5.3-12.2-12V44c0-6.6-5.4-12-12-12s-12 5.4-12 12v40.6c0 6.6-5.2 12.3-11.8 12.4-6.7.1-12.2-5.3-12.2-12V49.1c0-5.8-5.9-9.6-11.2-7.3-41.5 17.9-71.1 58.6-72.7 106-.2 4.5 3.5 8.2 8 8.2h76.5c6.6 0 12.3 5.2 12.4 11.8.1 6.7-5.3 12.2-12 12.2h-72.6c-6.6 0-12.3 5.2-12.4 11.8-.1 6.7 5.3 12.2 12 12.2h72.6c6.6 0 12.3 5.2 12.4 11.8.1 6.7-5.3 12.2-12 12.2h-72.6c-6.6 0-12.3 5.2-12.4 11.8-.1 6.7 5.3 12.2 12 12.2h72.6c6.6 0 12.3 5.2 12.4 11.8.1 6.7-5.3 12.2-12 12.2h-76.9c-4.5 0-8.2 3.7-8 8.2.5 13.6 3.3 26.7 7.9 38.8 1.2 3.1 4.2 5 7.4 5h257.1c3.3 0 6.3-2 7.4-5 4.7-12.1 7.5-25.2 7.9-38.8.2-4.5-3.5-8.2-8-8.2h-76.5c-6.6 0-12.3-5.2-12.4-11.8-.1-6.7 5.3-12.2 12-12.2h72.6c6.6 0 12.3-5.2 12.4-11.8.1-6.7-5.3-12.2-12-12.2h-72.6c-6.6 0-12.3-5.2-12.4-11.8 0-6.7 5.4-12.2 12.1-12.2zM141.5 358.6c19 22 45.2 37.2 75.4 40.8 4 .5 7.1 3.9 7.1 7.9V448c0 17.7 14.3 32 32 32s32-14.3 32-32v-40.7c0-4.1 3.1-7.5 7.1-7.9 30.3-3.5 56.4-18.7 75.4-40.8 2.2-2.6.3-6.6-3.1-6.6H144.5c-3.4 0-5.2 4-3 6.6z"/></svg>PK}w�\�;+U ionicons/svg/logo-googleplus.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M318.2 230.9l-1.6-7H160V288h90.7c-9.4 45-48.4 63.6-84.1 63.6-26 0-50.2-7.8-68.3-25.3-18.6-18.1-28.9-43.1-28.9-70.4 0-27.1 9.8-51.8 27.6-69.6 17.7-17.7 42-25.4 68.7-25.4 30.5 0 49.9 13.8 58.1 21.1l48-47.7C258.3 122.6 221.5 93 164.1 93c-44.3 0-86.7 16.8-117.7 47.8C15.9 171.3 0 215.2 0 256s15 82.6 44.6 113.3C76.3 402 121.2 419 167.5 419c42.1 0 81.9-16.5 110.3-46.3 28-29.4 42.4-70.1 42.4-112.7-.1-18-1.9-28.7-2-29.1zM512 224h-57v-57h-41v57h-57v41h57v57h41v-57h57z"/></svg>PK}w�\���О�%ionicons/svg/ios-checkmark-circle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zm106.5 150.5L228.8 332.8h-.1c-1.7 1.7-6.3 5.5-11.6 5.5-3.8 0-8.1-2.1-11.7-5.7l-56-56c-1.6-1.6-1.6-4.1 0-5.7l17.8-17.8c.8-.8 1.8-1.2 2.8-1.2 1 0 2 .4 2.8 1.2l44.4 44.4 122-122.9c.8-.8 1.8-1.2 2.8-1.2 1.1 0 2.1.4 2.8 1.2l17.5 18.1c1.8 1.7 1.8 4.2.2 5.8z"/></svg>PK}w�\nj*ڨ�ionicons/svg/ios-exit.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M144 136v107h179.9l-47.2-47.9c-5-5.1-5-13.3.1-18.4 5.1-5 13.3-5 18.4.1l69 70c2.4 2.5 3.7 5.8 3.7 9.1 0 1.7-.3 3.4-1 5-.6 1.5-1.6 2.9-2.7 4.1l-69 70c-5 5.1-13.3 5.2-18.4.1-5.1-5-5.2-13.3-.1-18.4l47.2-47.9H144v107c0 22 18 40 40 40h240c22 0 40-18 40-40V136c0-22-18-40-40-40H184c-22 0-40 18-40 40zM61 243c-7.2 0-13 5.8-13 13s5.8 13 13 13h83v-26H61z"/></svg>PK}w�\sa2L��ionicons/svg/md-return-left.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M432.8 136v96H122.3l84.4-86.2-33.2-33.8L32 256l141.5 144 33.2-33.8-84.4-86.2H480V136h-47.2z"/></svg>PK}w�\|�"ddionicons/svg/ios-color-fill.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M231.5 118.3c.1 0 .1-.1 0 0L175.3 62c-9.3-9.3-21.6-14-33.9-14-12.3 0-24.6 4.7-33.9 14-18.7 18.7-18.7 49.2 0 67.9l49.3 49.3-84.5 84c-11.1 11.1-11 29.2.3 40l131.2 126c10.9 10.4 28 10.4 38.9-.1 37.8-36.6 118.3-114.5 126.7-122.9 5.8-5.8 18.2-7.1 28.7-7.1h.3c5.9 0 8.8-7.1 4.6-11.2L231.5 118.3zm-103.9-7.9c-7.2-7.2-8.3-18.8-2-26.8 3.8-4.9 9.6-7.6 15.8-7.6 5.4 0 10.4 2.1 14.1 5.8l49.3 49.3-28.3 28.3-48.9-49zM403 339.5c-1.6-1.9-4.5-1.9-6.1 0-10.5 12.2-45 53.9-45 76.4 0 26.6 21.5 48.1 48 48.1s48-21.6 48-48.1c.1-22.6-34.3-64.2-44.9-76.4z"/></svg>PK}w�\�i� !ionicons/svg/ios-cloudy-night.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M277.8 294.8c-.5 0-1.1-.1-1.6-.1-2.6 0-5.2 0-7.8.3-9.3-40.8-45.9-71.5-89.7-71.5-50.8 0-91.9 40.9-91.9 91.4 0 3.1.2 6.1.5 9.1-31 2.7-55.3 30.1-55.3 61.6C32 419 58.8 448 92.3 448h185.5c41.9 0 75.8-34.7 75.8-76.3 0-41.6-33.9-76.9-75.8-76.9z"/><path d="M452.1 305.4c-2.5.1-5 .2-7.6.2-41.7 0-80.8-15.7-110.3-44.3-29.5-28.5-45.7-66.5-45.7-106.8 0-23 5.3-45.2 15.2-65.3L315.4 70c1.7-2.9-.8-6.5-4.1-6-7.6 1.2-15.7 4-23.2 6.3-59.5 18.2-104.4 68.1-113.7 129.3 1.4-.1 2.9-.1 4.3-.1 26.5 0 52.4 9.2 73 25.9 15.1 12.2 26.9 28 34.2 45.7 23.7 2 45.7 12.4 62.7 29.8 18.7 19.1 29 44.2 29 70.7 0 2.3-.1 4.6-.2 6.8 34.2-8.1 64.3-26.6 86.4-51.8 4.8-5.5 11.3-12.8 15.3-18.5 2-2.8-.3-6.7-3.8-6.3-6.8 1-15.9 3.2-23.2 3.6z"/></svg>PK}w�\.�D���ionicons/svg/md-call.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M426.666 330.667a250.385 250.385 0 0 1-75.729-11.729c-7.469-2.136-16-1.073-21.332 5.333l-46.939 46.928c-60.802-30.928-109.864-80-140.802-140.803l46.939-46.927c5.332-5.333 7.462-13.864 5.332-21.333-8.537-24.531-12.802-50.136-12.802-76.803C181.333 73.604 171.734 64 160 64H85.333C73.599 64 64 73.604 64 85.333 64 285.864 226.136 448 426.666 448c11.73 0 21.334-9.604 21.334-21.333V352c0-11.729-9.604-21.333-21.334-21.333z"/></svg>PK}w�\P-�55ionicons/svg/logo-codepen.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M241.239 303.936c-15.322-10.357-30.742-20.569-46.062-30.93-2.03-1.373-3.43-1.472-5.502-.029l-38.871 26.154C181.966 319.905 244 361.317 244 361.317v-53.786c-.012-1.224-1.553-2.78-2.761-3.595zM195.092 240.666c15.454-10.16 30.851-20.409 46.109-30.86 1.486-1.018 2.775-3.509 2.799-5.334v-51.706s-62.033 41.124-93.262 61.942c13.7 9.159 26.671 17.913 39.787 26.443 1.02.662 3.396.284 4.567-.485zM269.838 209.354a4521.517 4521.517 0 0 0 47.627 31.815c.916.604 2.92.602 3.839 0l39.751-26.467L268 152.484v53.35c.01 1.201.805 2.821 1.838 3.52zM258.109 230.369c-1.21-.802-3.611-.528-4.743.168-4.817 2.962-9.463 6.203-14.164 9.355-8.248 5.53-25.356 17.023-25.356 17.023l38.842 25.865c1.748 1.157 4.436 1.22 6.26.111l39.014-25.993c.001 0-34.079-22.701-39.853-26.529zM141 237.116v39.609l29.622-19.838z"/><path d="M256 32C132.288 32 32 132.288 32 256s100.288 224 224 224 224-100.288 224-224S379.712 32 256 32zm139 265.006c0 5.785-2.652 9.868-7.511 13.094a38019.909 38019.909 0 0 0-123.286 82.188c-5.854 3.918-11.174 3.754-16.984-.137-40.783-27.314-81.719-54.546-122.625-81.676-5.11-3.389-7.594-7.557-7.594-13.73v-79.729c0-6.141 2.521-10.332 7.624-13.716 40.906-27.13 81.939-54.363 122.724-81.676 5.818-3.896 11.094-4.007 16.938-.095a41090.004 41090.004 0 0 0 123.261 82.195c4.678 3.106 7.453 6.943 7.453 12.66v80.622z"/><path d="M316.247 273.234a3826.352 3826.352 0 0 1-45.386 30.332c-2.412 1.588-2.888 3.318-2.861 6.189v51.346l93.039-62.004-38.527-25.882c-2.345-1.604-3.93-1.567-6.265.019zM370 276.676V237.06l-29.59 19.873z"/></svg>PK}w�\�蟤hhionicons/svg/md-flag.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M396 83.2c-13.8 1.7-31.1 4.2-49.6 4.2-28.8 0-55-6.8-81.5-12.2C238 69.7 210.2 64 180.8 64c-58.6 0-78.5 12.1-80.6 13.4L96 80.3V448h48V269.8c9.7-1.2 21.9-2 36.9-2 27.3 0 52.8 10 79.8 15.5 27.6 5.6 56 11.5 86.9 11.5 18.4 0 34.6-2.4 48.4-4 7.5-.9 14-1.7 20-2.7V80.2c-5 1-12.5 2.1-20 3z"/></svg>PK}w�\Ө&ffionicons/svg/md-trophy.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M392 105c.9-27 .2-56 .1-57H119.3c0 1-.8 30 .1 57H48c0 68 9.9 102.3 21 126.7S95.4 277 127.7 302c30.1 23.3 95.5 53.6 104.3 57.6v28.3c-4.6 10-23.5 28.2-83.3 28.2H128v48h256v-48h-25.7c-60.7 0-75-19.1-78.3-28.2v-28.3c9.3-4.6 80.9-40.3 104.4-57.5 25.2-18.4 50.9-51.5 58.7-70.3S464 167 464 105h-72zM109.6 211.9c-8.8-18.2-14-37.9-15.7-61.9h28.7c.7 6 1.4 11.3 2.3 16.3 6.6 39.2 14.8 70.2 25.7 96.5-17.3-13.5-31.3-30.8-41-50.9zm292.8 0c-9.9 20.3-24 37.7-41.6 51.3 11-26.2 19-56.8 25.8-96.9.8-5 1.6-10.3 2.3-16.3h29.3c-1.8 24-6.9 43.7-15.8 61.9z"/></svg>PK}w�\u&&Dii"ionicons/svg/md-arrow-dropdown.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M128 192l128 128 128-128z"/></svg>PK}w�\mL"���"ionicons/svg/md-square-outline.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M405.3 106.7v298.7H106.7V106.7h298.6m0-42.7H106.7C83.2 64 64 83.2 64 106.7v298.7c0 23.5 19.2 42.7 42.7 42.7h298.7c23.5 0 42.7-19.2 42.7-42.7V106.7C448 83.2 428.8 64 405.3 64z"/></svg>PK}w�\�ۺ�CC#ionicons/svg/ios-arrow-dropleft.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M301.3 147.6c-7.5-7.5-19.8-7.5-27.3 0l-95.4 95.7c-7.3 7.3-7.5 19.1-.6 26.6l94 94.3c3.8 3.8 8.7 5.7 13.7 5.7 4.9 0 9.9-1.9 13.6-5.6 7.5-7.5 7.6-19.7 0-27.3l-79.8-81 81.9-81.1c7.5-7.5 7.5-19.7-.1-27.3z"/><path d="M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zm124.4 332.4C347.2 413.7 303 432 256 432s-91.2-18.3-124.4-51.6C98.3 347.2 80 303 80 256s18.3-91.2 51.6-124.4C164.8 98.3 209 80 256 80s91.2 18.3 124.4 51.6C413.7 164.8 432 209 432 256s-18.3 91.2-51.6 124.4z"/></svg>PK}w�\�$>�� ionicons/svg/md-return-right.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M32 136v144h357.7l-84.4 86.2 33.2 33.8L480 256 338.5 112l-33.2 33.8 84.4 86.2H79.2v-96H32z"/></svg>PK}w�\�ǁ�QQ ionicons/svg/md-cloud-upload.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M403.002 217.001C388.998 148.002 328.998 96 256 96c-57.998 0-107.998 32.998-132.998 81.001C63.002 183.002 16 233.998 16 296c0 65.996 53.999 120 120 120h260c55 0 100-45 100-100 0-52.998-40.996-96.001-92.998-98.999zM288 276v76h-64v-76h-68l100-100 100 100h-68z"/></svg>PK}w�\��S�ttionicons/svg/ios-bluetooth.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M378.5 333l-88.3-77 88.2-76.1c6.9-6 7.4-16.3 1.1-22.9L262.7 35.6c-2.2-2.3-5.4-3.6-8.6-3.6-6.1 0-11.1 4.9-11.1 10.8V212l-86.3-73.3c-7.1-6-17.8-5.3-24.1 1.5-6.5 7-5.8 17.9 1.6 24.1L243 256l-108.1 90.9c-7.3 6.1-8.1 16.8-1.7 23.9l.3.3c6.3 7 17.3 7.7 24.5 1.5l85-73.6v169.8c0 6.2 5.1 11.2 11.5 11.2 3.2 0 6.2-1.3 8.4-3.5L379.6 356c6.3-6.6 5.8-16.9-1.1-23zm-99.1-232.1l62.7 65.9c.8.8.7 2.1-.2 2.9l-62.7 53c-1.3 1.1-3.4.2-3.4-1.5V102.3c.1-1.9 2.4-2.7 3.6-1.4zm-3.5 309V291.6c0-1.7 2.1-2.6 3.4-1.5l62.7 53c.9.7.9 2 .2 2.9l-62.7 65.3c-1.3 1.3-3.6.4-3.6-1.4z"/></svg>PK}w�\0�={{ionicons/svg/ios-contact.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C148.5 48 60.1 129.5 49.2 234.1c-.8 7.2-1.2 14.5-1.2 21.9 0 7.4.4 14.7 1.2 21.9C60.1 382.5 148.5 464 256 464c114.9 0 208-93.1 208-208S370.9 48 256 48zm135.8 326.1c-22.7-8.6-59.5-21.2-82.4-28-2.4-.7-2.7-.9-2.7-10.7 0-8.1 3.3-16.3 6.6-23.3 3.6-7.5 7.7-20.2 9.2-31.6 4.2-4.9 10-14.5 13.6-32.9 3.2-16.2 1.7-22.1-.4-27.6-.2-.6-.5-1.2-.6-1.7-.8-3.8.3-23.5 3.1-38.8 1.9-10.5-.5-32.8-14.9-51.3-9.1-11.7-26.6-26-58.5-28h-17.5c-31.4 2-48.8 16.3-58 28-14.5 18.5-16.9 40.8-15 51.3 2.8 15.3 3.9 35 3.1 38.8-.2.7-.4 1.2-.6 1.8-2.1 5.5-3.7 11.4-.4 27.6 3.7 18.4 9.4 28 13.6 32.9 1.5 11.4 5.7 24 9.2 31.6 2.6 5.5 3.8 13 3.8 23.6 0 9.9-.4 10-2.6 10.7-23.7 7-58.9 19.4-80 27.8C91.6 341.4 76 299.9 76 256c0-48.1 18.7-93.3 52.7-127.3S207.9 76 256 76c48.1 0 93.3 18.7 127.3 52.7S436 207.9 436 256c0 43.9-15.6 85.4-44.2 118.1z"/></svg>PK}w�\P�)��!ionicons/svg/ios-skip-forward.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M337 100v137.8L108.1 98.1C102.7 95 96 98.8 96 105v302c0 6.2 6.7 10 12.1 6.9L337 274.2V412c0 2.2 1.8 4 4 4h71c2.2 0 4-1.8 4-4V100c0-2.2-1.8-4-4-4h-71c-2.2 0-4 1.8-4 4z"/></svg>PK}w�\�C���ionicons/svg/ios-help-buoy.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zm54.6 36.4c27.1 8.6 52 23.6 72.7 44.3 20.7 20.7 35.7 45.6 44.3 72.7l-88.8 6c-8.2-14-19.9-25.7-33.9-34l5.7-89zm-181.9 44.3c20.7-20.7 45.5-35.7 72.7-44.3l5.7 89c-13.9 8.3-25.6 20-33.9 33.9l-88.9-5.9c8.7-27.1 23.7-52 44.4-72.7zm72.7 298.9c-27.1-8.6-52-23.6-72.7-44.3-20.7-20.7-35.7-45.6-44.3-72.7l89-5.7c8.2 13.9 19.9 25.5 33.8 33.8l-5.8 88.9zM256 324c-37.5 0-68-30.5-68-68s30.5-68 68-68 68 30.5 68 68-30.5 68-68 68zm127.3 59.3c-20.7 20.7-45.6 35.7-72.7 44.3l-5.9-88.9c14.1-8.3 25.8-20.1 34.1-34.2l88.8 6c-8.6 27.2-23.6 52.1-44.3 72.8z"/></svg>PK}w�\�� RRionicons/svg/md-easel.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M128 176h256v128H128z"/><path d="M448 96H64c-8.8 0-16 7.2-16 16v256c0 8.8 6.9 16 15.8 16H448c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16zm-32 240H96V144h320v192zM80 464h57l22.5-64h-56.4zM279.4 48h-46.8l-11.5 32h69.8zM375 464h57l-23-64h-56.5zM232 400h48v32h-48z"/></svg>PK}w�\ ���$$ionicons/svg/ios-volume-low.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M278.9 145.6c-2.2-1.1-4.6-1.6-6.9-1.6-3.6 0-7.1 1.2-10 3.5L196.8 200H144c-8.8 0-16 7.2-16 16v80c0 8.8 7.2 16 16 16h52.8l65.2 52.5c2.9 2.3 6.5 3.5 10 3.5 2.3 0 4.7-.5 6.9-1.6 5.6-2.7 9.1-8.3 9.1-14.4V160c0-6.2-3.5-11.8-9.1-14.4zM354.4 182.6c-4.6-4.7-12.1-4.8-16.8-.1-4.7 4.7-4.7 12.3-.1 17 14.7 15 22.8 35.1 22.8 56.6 0 21.4-8.1 41.5-22.8 56.6-4.6 4.7-4.6 12.3.1 17 2.3 2.3 5.3 3.5 8.3 3.5 3.1 0 6.1-1.2 8.5-3.6C373.5 310 384 284 384 256.2h-.2c0-28-10.3-54.1-29.4-73.6z"/></svg>PK}w�\��{�RRionicons/svg/md-chatbubbles.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M132.8 368c-20.2 0-44.8-24.6-44.8-44.8V160h-9.6C61.7 160 48 173.7 48 190.4V464l58.5-58h215.1c16.7 0 30.4-14.1 30.4-30.9V368H132.8z"/><path d="M429.1 48H149.9C130.7 48 115 63.7 115 82.9V309c0 19.2 15.7 35 34.9 35h238.2l75.9 53V82.9c0-19.2-15.7-34.9-34.9-34.9z"/></svg>PK}w�\K٪��ionicons/svg/ios-easel.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M434 461.5l-26.6-69.1c-2.1-5.1-7-8.4-12.4-8.4-4.5 0-8.6 2.2-11.1 5.9s-3 8.4-1.4 12.5l26 69.1c2.1 5.1 7 8.5 12.5 8.5h.5c4.5 0 8.7-2.2 11.2-5.9 2.5-3.8 3-8.5 1.3-12.6zM117.6 384c-5.5 0-10.4 3.3-12.4 8.4l-26.6 69.1c-1.7 4.2-1.2 8.9 1.3 12.6 2.5 3.7 6.7 5.9 11.2 5.9h.5c5.5 0 10.4-3.3 12.5-8.5l26-69.1c1.7-4.1 1.2-8.8-1.4-12.5-2.4-3.7-6.6-5.9-11.1-5.9zM256.6 384h-1.1c-7.4 0-13.4 6-13.4 13.4v36.1c0 7.4 6 14.4 13.4 14.4h1.1c7.4 0 13.4-7 13.4-14.4v-36.1c0-7.4-6-13.4-13.4-13.4z"/><g><path d="M424 128H88c-4.4 0-8 3.6-8 8v176c0 4.4 3.6 8 8 8h336c4.4 0 8-3.6 8-8V136c0-4.4-3.6-8-8-8z"/><path d="M448 80H63.9C46.3 80 32 94.3 32 111.9v224.2c0 17.6 14.3 31.9 31.9 31.9H448c17.7 0 32-14.3 32-32V112c0-17.7-14.3-32-32-32zm4 244c0 8.8-7.2 16-16 16H76c-8.8 0-16-7.2-16-16V124c0-8.8 7.2-16 16-16h364.6c3 0 5.9 1.2 8 3.3 2.1 2.1 3.3 5 3.3 8V324z"/></g><path d="M256 32c-13.4-.2-24.4 12.2-24.4 25.6h48.7c.1-13.4-10.9-25.8-24.3-25.6z"/></svg>PK}w�\0 � ionicons/svg/ios-git-compare.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M233.9 328.1c-2.6-2.6-6.1-4.1-9.9-4.1-3.7 0-7.3 1.4-9.9 4.1-2.6 2.6-4.1 6.1-4.1 9.9 0 3.7 1.4 7.3 4.1 9.9l.1.1 41.1 40.1H166c-20.4 0-33.6-7.5-41.6-23.5-8.4-17-9.4-41.5-9.4-58.5V170.8c15-2.8 28.7-10.5 39-21.9 11.6-12.9 18-29.5 18-46.9 0-38.6-31.4-70-70-70s-70 31.4-70 70c0 17 6.2 33.3 17.3 46.1 9.9 11.3 23.1 19.1 37.7 22.3V306c0 14.7 0 42.1 9.4 65.3 11.9 29.3 36 44.7 69.6 44.7h89.7L216 456.2c-5.4 5.4-5.4 14.3 0 19.8l.1.1c2.7 2.5 6.2 3.9 9.8 3.9 3.8 0 7.3-1.4 9.9-4.1l57.6-57.4c4.2-4.2 6.5-9.8 6.5-15.7 0-5.9-2.3-11.3-6.5-15.5l-59.5-59.2zM102 144c-23.2 0-42-18.8-42-42s18.8-42 42-42 42 18.8 42 42-18.8 42-42 42zM425 341.6V206c0-14.7 0-42.1-9.4-65.3-11.9-29.2-36-44.7-69.6-44.7h-89.7L296 55.8c5.4-5.4 5.4-14.3 0-19.8l-.1-.1c-2.7-2.5-6.2-3.9-9.8-3.9-3.8 0-7.3 1.4-9.9 4.1l-57.6 57.4c-4.2 4.2-6.5 9.8-6.5 15.7 0 5.9 2.3 11.3 6.5 15.5l59.6 59.4c2.6 2.6 6.1 4.1 9.9 4.1 3.7 0 7.3-1.4 9.9-4.1 2.6-2.6 4.1-6.1 4.1-9.9 0-3.7-1.4-7.3-4.1-9.9l-.1-.1-41.2-40.2H346c20.4 0 33.6 7.5 41.6 23.5 8.4 17 9.4 41.5 9.4 58.5v135.2c-15 2.8-28.7 10.5-39 21.9-11.6 12.9-18 29.5-18 46.9 0 38.6 31.4 70 70 70s70-31.4 70-70c0-17-6.2-33.3-17.3-46.1-9.9-11.3-23.2-19.1-37.7-22.3zM410 452c-23.2 0-42-18.8-42-42s18.8-42 42-42 42 18.8 42 42-18.8 42-42 42z"/></svg>PK}w�\=�D���ionicons/svg/md-qr-scanner.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M96 124.2c0-6.9 5.2-12.2 12.2-12.2H176V64h-66.8C75.7 64 48 90.7 48 124.2V192h48v-67.8zM403.6 64H336v48h67.2c6.9 0 12.8 5.2 12.8 12.2V192h48v-67.8c0-33.5-27-60.2-60.4-60.2zM416 386.8c0 6.9-5.2 12.2-12.2 12.2H336v49h67.8c33.5 0 60.2-27.7 60.2-61.2V320h-48v66.8zM108.2 399c-6.9 0-12.2-5.2-12.2-12.2V320H48v66.8c0 33.5 27.7 61.2 61.2 61.2H176v-49h-67.8z"/></svg>PK}w�\? �<88ionicons/svg/ios-wallet.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M404 160H108c-33.1 0-60 26.9-60 60v168c0 33.1 26.9 60 60 60h296c33.1 0 60-26.9 60-60V220c0-33.1-26.9-60-60-60zM342.9 65L108 110.9c-18 4-44 22.1-44 44.1 0 0 15-19 49-19h287v-20.5c0-12.6-5-28.7-13.9-37.6-11.3-11.3-27.5-16.2-43.2-12.9z"/></svg>PK}w�\c���@@!ionicons/svg/ios-arrow-dropup.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M147.6 301.3c-7.5-7.5-7.5-19.8 0-27.3l95.7-95.4c7.3-7.3 19.1-7.5 26.6-.6l94.3 94c3.8 3.8 5.7 8.7 5.7 13.7 0 4.9-1.9 9.9-5.6 13.6-7.5 7.5-19.7 7.6-27.3 0l-81-79.8-81.1 81.9c-7.5 7.5-19.7 7.5-27.3-.1z"/><path d="M256 464c114.9 0 208-93.1 208-208S370.9 48 256 48 48 141.1 48 256s93.1 208 208 208zm0-32c-47 0-91.2-18.3-124.4-51.6C98.3 347.2 80 303 80 256s18.3-91.2 51.6-124.4C164.8 98.3 209 80 256 80s91.2 18.3 124.4 51.6C413.7 164.8 432 209 432 256s-18.3 91.2-51.6 124.4C347.2 413.7 303 432 256 432z"/></svg>PK}w�\�p���(ionicons/svg/md-close-circle-outline.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 90c44.3 0 86 17.3 117.4 48.6C404.7 170 422 211.7 422 256s-17.3 86-48.6 117.4C342 404.7 300.3 422 256 422s-86-17.3-117.4-48.6C107.3 342 90 300.3 90 256s17.3-86 48.6-117.4C170 107.3 211.7 90 256 90m0-42C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48z"/><path d="M360 330.9L330.9 360 256 285.1 181.1 360 152 330.9l74.9-74.9-74.9-74.9 29.1-29.1 74.9 74.9 74.9-74.9 29.1 29.1-74.9 74.9z"/></svg>PK}w�\�!,, ionicons/svg/logo-no-smoking.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M360 256h16v48h-16zM112 304h129.6l-48-48H112z"/><path d="M364.5 60.1c-.4-.2-.7-.4-1-.6-10.9-6-22.5-10.7-34.4-14.8l-5.4-1.8C302.3 36.1 279.6 32 256 32 132.3 32 32 132.3 32 256c0 84.3 46.6 157.6 115.4 195.8.4.2.7.5 1.1.7 10.9 6 22.5 10.7 34.4 14.8l5.4 1.8c21.4 6.8 44 10.9 67.7 10.9 123.7 0 224-100.3 224-224 0-84.3-46.6-157.7-115.5-195.9zM256 426.4c-9.3 0-18.4-.9-27.2-2.4-9.8-1.6-19.3-4.1-28.5-7.3-1.9-.6-3.8-1.2-5.6-1.9-6.5-2.5-12.9-5.3-19-8.6-53.6-28.7-90.1-85.2-90.1-150.3 0-37.2 12.4-71.4 32.7-99.4l237.2 237.2c-28.1 20.3-62.3 32.7-99.5 32.7zm137.8-71L156.6 118.2c28-20.2 62.1-32.6 99.4-32.6 9.3 0 18.3.9 27.2 2.4 9.8 1.6 19.3 4.1 28.5 7.3 1.8.6 3.7 1.2 5.6 1.9 6.2 2.4 12.2 5 18 8.1 54.2 28.5 91.2 85.3 91.2 150.8-.1 37.2-12.5 71.3-32.7 99.3z"/><path d="M352 256h-34l34 34zM384 256h16v48h-16zM360.1 212.7c-8.8-4.1-22-5.7-45.6-5.7h-3.6c-12.7.1-15.9-.1-20-6.1-2.8-4.2-1-14.8 3.7-21.9 1.6-2.4 1.8-5.6.4-8.2-1.4-2.6-4.1-4.2-7-4.3-.1 0-9.4-.1-18.3-3.9-10.6-4.5-15.6-12.1-15.6-23.1 0-25.8 21.8-27.7 22.8-27.7v-16c-12 0-38.8 11-38.8 43.7 0 17.5 9 31 25.7 38 4.2 1.7 8.4 2.9 12 3.6-3.3 9.8-3.6 20.9 1.7 28.7 9 13.3 20.3 13.2 33.3 13.1h3.5c26.3 0 34.6 2.3 38.9 4.3 5.7 2.6 6.8 7.5 6.6 15.7v1h16v-1c0-7.1.3-22.8-15.7-30.2z"/><path d="M400 244c0-25.7-3-39.2-9.1-49.6C382.3 180 368.5 172 352 172h-17.4c2.9-8.3 5.4-19.8 3.5-30.9-3.2-18.8-19.1-30-43.1-30v16c21 0 26.1 9.1 27.4 16.7 2.5 14.5-6.8 32.1-6.9 32.3-1.4 2.5-1.3 5.5.1 7.9s4.1 3.9 6.9 3.9H352c10.9 0 19.4 4.9 25.1 14.6 3.1 5.3 6.9 13.5 6.9 41.4h16v.1z"/></svg>PK}w�\{��!ionicons/svg/ios-musical-note.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M364.3 48.2c-4.7.9-118 24.1-122.2 24.9-4.2.8-8.1 3.6-8.1 8v255.1c0 1.6-.1 7.2-2.4 11.7-3.1 5.9-8.5 10.2-16.1 12.7-3.3 1.1-7.8 2.1-13.1 3.3-24.1 5.4-64.4 14.6-64.4 51.8 0 30.1 21.7 44.5 35 47.1 5 1 11 1 13.8 1 8.2 0 36-3.3 51.2-13.2 11-7.2 24.1-21.4 24.1-47.8V173.1c0-3.8 2.7-7.1 6.4-7.8l92.8-19c7.4-1.5 12.8-8.1 12.8-15.7V55.8c-.1-4.3-3.8-8.8-9.8-7.6z"/></svg>PK}w�\Y�Y��ionicons/svg/ios-albums.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M460.9 161H51.1C31.8 161 16 176.8 16 196.1V428c0 19.3 15.8 35.1 35.1 35.1H461c19.3 0 35.1-15.8 35.1-35.1V196.1c-.1-19.3-15.9-35.1-35.2-35.1zM434 133H78c-7.7 0-14-6.3-14-14s6.3-14 14-14h356c7.7 0 14 6.3 14 14s-6.3 14-14 14zM403.2 77H108.8c-7 0-12.8-5.8-12.8-12.8v-2.4c0-7 5.8-12.8 12.8-12.8h294.4c7 0 12.8 5.8 12.8 12.8v2.4c0 7-5.8 12.8-12.8 12.8z"/></svg>PK}w�\(�yyionicons/svg/md-volume-off.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M405.5 256c0 22.717-4.883 44.362-13.603 63.855l31.88 31.88C439.283 323.33 448 290.653 448 256c0-93.256-64-172.254-149-192v44.978C361 127.632 405.5 186.882 405.5 256zM256 80.458l-51.021 52.48L256 183.957zM420.842 396.885L91.116 67.157l-24 24 90.499 90.413-8.28 10.43H64v128h85.334L256 431.543V280l94.915 94.686C335.795 387.443 318 397.213 299 403.022V448c31-7.172 58.996-22.163 82.315-42.809l39.61 39.693 24-24.043-24.002-24.039-.081.083z"/><path d="M352.188 256c0-38.399-21.188-72.407-53.188-88.863v59.82l50.801 50.801A100.596 100.596 0 0 0 352.188 256z"/></svg>PK}w�\IXV�ionicons/svg/md-bed.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M168.7 264.5c29 0 52.4-22.9 52.4-51.2s-23.4-51.2-52.4-51.2-52.4 22.9-52.4 51.2 23.5 51.2 52.4 51.2zm209.5-102.4H238.5v119.5H98.9V128H64v256h34.9v-51.2h314.2V384H448V230.4c0-37.7-31.2-68.3-69.8-68.3z"/></svg>PK}w�\Иr��ionicons/svg/ios-reorder.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M80 304h352v16H80zM80 248h352v16H80zM80 192h352v16H80z"/></svg>PK}w�\d7�8��ionicons/svg/logo-angular.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M213.573 256h84.846l-42.427-89.356z"/><path d="M255.981 32L32 112l46.12 272L256 480l177.75-96L480 112 255.981 32zM344 352l-26.589-56H194.584L168 352h-40L256 72l128 280h-40z"/></svg>PK}w�\ ��66#ionicons/svg/md-tablet-portrait.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M392 32H120c-13.3 0-24 10.7-24 24v400c0 13.3 10.7 24 24 24h272c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24zm-8 384H128V80h256v336zm-128 46c-7.7 0-14-6.5-14-14.1 0-7.5 6.2-14 14-14 7.7 0 14.1 6.4 14.1 14-.1 7.6-6.4 14.1-14.1 14.1z"/></svg>PK}w�\�:���ionicons/svg/md-eye-off.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256.1 144.8c56.2 0 101.9 45.3 101.9 101.1 0 13.1-2.6 25.5-7.3 37l59.5 59c30.8-25.5 55-58.4 69.9-96-35.3-88.7-122.3-151.6-224.2-151.6-28.5 0-55.8 5.1-81.1 14.1l44 43.7c11.6-4.6 24.1-7.3 37.3-7.3zM52.4 89.7l46.5 46.1 9.4 9.3c-33.9 26-60.4 60.8-76.3 100.8 35.2 88.7 122.2 151.6 224.1 151.6 31.6 0 61.7-6.1 89.2-17l8.6 8.5 59.7 59 25.9-25.7L78.2 64 52.4 89.7zM165 201.4l31.6 31.3c-1 4.2-1.6 8.7-1.6 13.1 0 33.5 27.3 60.6 61.1 60.6 4.5 0 9-.6 13.2-1.6l31.6 31.3c-13.6 6.7-28.7 10.7-44.8 10.7-56.2 0-101.9-45.3-101.9-101.1 0-15.8 4.1-30.7 10.8-44.3zm87.8-15.7l64.2 63.7.4-3.2c0-33.5-27.3-60.6-61.1-60.6l-3.5.1z"/></svg>PK}w�\�X?��ionicons/svg/md-chatboxes.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M391.553 64H57.607C53.131 64 48 67.745 48 72.159v214.217c0 4.413 5.131 8.624 9.607 8.624H115v88.894L205.128 295h186.425c4.477 0 7.447-4.211 7.447-8.624V72.159c0-4.414-2.971-8.159-7.447-8.159z"/><path d="M456.396 127H424v166.57c0 15.987-6.915 26.43-25.152 26.43H218.096l-38.905 39h129.688L399 448v-89h57.396c4.478 0 7.604-4.262 7.604-8.682V136.103c0-4.414-3.126-9.103-7.604-9.103z"/></svg>PK}w�\���`��(ionicons/svg/ios-help-circle-outline.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 76c48.1 0 93.3 18.7 127.3 52.7S436 207.9 436 256s-18.7 93.3-52.7 127.3S304.1 436 256 436c-48.1 0-93.3-18.7-127.3-52.7S76 304.1 76 256s18.7-93.3 52.7-127.3S207.9 76 256 76m0-28C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48z"/><path d="M256.7 160c37.5 0 63.3 20.8 63.3 50.7 0 19.8-9.6 33.5-28.1 44.4-17.4 10.1-23.3 17.5-23.3 30.3v7.9h-34.7l-.3-8.6c-1.7-20.6 5.5-33.4 23.6-44 16.9-10.1 24-16.5 24-28.9s-12-21.5-26.9-21.5c-15.1 0-26 9.8-26.8 24.6H192c.7-32.2 24.5-54.9 64.7-54.9zm-26.3 171.4c0-11.5 9.6-20.6 21.4-20.6 11.9 0 21.5 9 21.5 20.6s-9.6 20.6-21.5 20.6-21.4-9-21.4-20.6z"/></svg>PK}w�\���y��ionicons/svg/ios-calendar.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M424 96h-40v24c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8V96H160v24c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8V96H88c-22 0-40 18-40 40v272c0 22 18 40 40 40h336c22 0 40-18 40-40V136c0-22-18-40-40-40zm8 300c0 11-9 20-20 20H100c-11 0-20-9-20-20V216c0-4.4 3.6-8 8-8h336c4.4 0 8 3.6 8 8v180zM160 72c0-4.4-3.6-8-8-8h-16c-4.4 0-8 3.6-8 8v24h32V72zM384 72c0-4.4-3.6-8-8-8h-16c-4.4 0-8 3.6-8 8v24h32V72z"/></svg>PK}w�\��}�,,ionicons/svg/md-save.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M362.7 64h-256C83 64 64 83.2 64 106.7v298.7c0 23.5 19 42.7 42.7 42.7h298.7c23.5 0 42.7-19.2 42.7-42.7v-256L362.7 64zM256 405.3c-35.4 0-64-28.6-64-64s28.6-64 64-64 64 28.6 64 64-28.6 64-64 64zM320 192H106.7v-85.3H320V192z"/></svg>PK}w�\OЩ���ionicons/svg/md-bookmarks.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M405.2 64h-21c15 5.7 22.8 20.6 22.8 42.7v298.7c0 22.1-7 37.3-22.8 42.7h21c23.7 0 42.8-19.2 42.8-42.7V106.7c0-23.5-19.1-42.7-42.8-42.7zM345.5 64.2c-1.4-.1-2.8-.2-4.2-.2H106.7C83.2 64 64 83.2 64 106.7v298.7c0 23.5 19.2 42.7 42.7 42.7h234.7c1.4 0 2.8-.1 4.2-.2 21.5-2.1 38.5-20.4 38.5-42.5V106.7c-.1-22.1-17.1-40.4-38.6-42.5zM208 256l-56-32-56 32V96h112v160z"/></svg>PK}w�\B*r��ionicons/svg/md-quote.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M96.4 416h77.1l50.9-96.6V96h-160v223.4h77.1L96.4 416zm224 0h77.1l50-96.6V96H288.4v223.4h82l-50 96.6z"/></svg>PK}w�\�T�ionicons/svg/ios-locate.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M395.3 259c-.3-1.2-.4-2.4-.3-3.6 0-.8.2-1.6.3-2.4-.4.9-.6 2-.6 3 .1 1.1.3 2.1.6 3z"/><path d="M459.4 270H409c-6.7 0-12.3-4.7-13.7-11-.3-.9-.5-1.9-.5-3s.2-2.1.6-3c1.4-6.4 7.3-11 14.1-11h49.9c2.4 0 4.2-2 4-4.4-8.8-100.3-88.7-180.2-189-189-2.3-.2-4.4 1.6-4.4 4V103c0 7.9-6.6 14.3-14.6 14-7.6-.3-13.4-6.9-13.4-14.4v-50c0-2.4-2-4.2-4.4-4-100.3 8.8-180.2 88.7-189 189-.2 2.3 1.6 4.4 4 4.4H103c7.9 0 14.3 6.6 14 14.6-.3 7.6-6.9 13.4-14.4 13.4h-50c-2.4 0-4.2 2-4 4.4 8.8 100.3 88.7 180.2 189 189 2.3.2 4.4-1.6 4.4-4V409c0-7.9 6.6-14.3 14.6-14 7.6.3 13.4 6.9 13.4 14.4v49.9c0 2.4 2 4.2 4.4 4 100.3-8.8 180.2-88.7 189-189 .2-2.3-1.7-4.3-4-4.3zM256 326c-38.7 0-70-31.3-70-70s31.3-70 70-70 70 31.3 70 70-31.3 70-70 70z"/></svg>PK}w�\l��Q��!ionicons/svg/ios-color-filter.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M442 248.9c-15.7-20.6-37.7-35.9-62.1-43.6 1-6.3 1.4-12.7 1.4-19.1 0-33.7-13-65.4-36.7-89.2C321 73.1 289.5 60 256 60s-65 13.1-88.6 37c-23.7 23.8-36.7 55.5-36.7 89.2 0 6.4.5 12.8 1.4 19.1-24.5 7.7-46.4 23.1-62.1 43.6-17 22.2-26 48.8-26 76.9 0 33.7 13 65.4 36.7 89.2 23.7 23.8 55.2 37 88.6 37 32.6 0 63.2-12.4 86.7-35 23.4 22.6 54.1 35 86.7 35 33.5 0 65-13.1 88.6-37 23.7-23.8 36.7-55.5 36.7-89.2 0-28.1-9-54.7-26-76.9zM256 85.5c55.1 0 100 45.2 100 100.7 0 4.7-.3 9.4-1 14.1-4.1-.4-8.2-.6-12.4-.6-32.6 0-63.2 12.4-86.7 35-23.4-22.6-54.1-35-86.7-35-4.1 0-8.3.2-12.4.6-.6-4.6-1-9.4-1-14.1.2-55.6 45.1-100.7 100.2-100.7zm0 201.4c-1.8 0-3.7-.1-5.5-.2 1.6-3.8 3.4-7.5 5.5-11.1 2.1 3.6 3.9 7.3 5.5 11.1-1.8.2-3.7.2-5.5.2zm-46.6 131.2c-12.7 5.6-26.1 8.4-40.1 8.4-55.1 0-100-45.2-100-100.7 0-22.3 7.1-43.5 20.6-61.2 12.3-16.1 29.4-28.3 48.5-34.6 6.6 17.9 17.3 34.3 31.2 47.6 13.9 13.4 30.9 23.4 49.2 29.1-1 6.3-1.4 12.7-1.4 19.1 0 25.8 7.7 50.6 22.2 71.7-8.8 8.7-19 15.6-30.2 20.6zM225.1 282c-27.6-9-50-29.8-61.3-56.7 1.8-.1 3.7-.2 5.5-.2 13.9 0 27.4 2.8 40.1 8.4 11.2 5 21.4 11.9 30.1 20.6-5.9 8.7-10.8 18-14.4 27.9zm30.9 94c-8.7-15.2-13.3-32.5-13.3-50.2 0-4.7.3-9.4 1-14.1a128.658 128.658 0 0 0 24.8 0c.6 4.6 1 9.4 1 14.1-.2 17.7-4.8 35-13.5 50.2zm46.6-142.5c12.7-5.6 26.1-8.4 40.1-8.4 1.8 0 3.7.1 5.5.2-11.3 26.9-33.7 47.7-61.3 56.7-3.6-9.8-8.5-19.2-14.4-27.9 8.7-8.7 18.9-15.6 30.1-20.6zm40.1 193c-13.9 0-27.4-2.8-40.1-8.4-11.2-5-21.4-11.9-30.1-20.6 14.5-21.1 22.2-45.8 22.2-71.7 0-6.4-.5-12.8-1.4-19.1 18.3-5.7 35.2-15.7 49.2-29.1 13.8-13.3 24.5-29.6 31.2-47.6 19.1 6.3 36.2 18.4 48.5 34.6 13.5 17.7 20.6 38.9 20.6 61.2-.1 55.6-45 100.7-100.1 100.7z"/></svg>PK}w�\��iFionicons/svg/md-person-add.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M304 256c52.805 0 96-43.201 96-96s-43.195-96-96-96-96 43.201-96 96 43.195 96 96 96zm0 48c-63.598 0-192 32.402-192 96v48h384v-48c0-63.598-128.402-96-192-96zM112 224v-64H80v64H16v32h64v64h32v-64h64v-32h-64z"/></svg>PK}w�\uعԄ�ionicons/svg/ios-business.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M146 80h220c9.9 0 18-8.1 18-18s-8.1-18-18-18H146c-9.9 0-18 8.1-18 18s8.1 18 18 18zM398 100H114c-9.9 0-18 8.1-18 18 0 9.3 6.9 17.1 16 18v300c0 13.2 10.8 24 24 24h88c4.4 0 8-3.6 8-8v-40c0-4.4 3.6-8 8-8h32c4.4 0 8 3.6 8 8v40c0 4.4 3.6 8 8 8h88c13.2 0 24-10.8 24-24V136c9.1-.9 16-8.7 16-18 0-9.9-8.1-18-18-18zM192 364c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v16zm0-64c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v16zm0-64c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v16zm0-64c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v16zm80 192c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v16zm0-64c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v16zm0-64c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v16zm0-64c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v16zm80 192c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v16zm0-64c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v16zm0-64c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v16zm0-64c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v16z"/></svg>PK}w�\���ionicons/svg/md-basketball.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M191.6 272c-3.8 55-26.4 107.1-64.5 147.7 31.6 25 70.9 41 112.9 44.3V272h-48.4zM272 464c42-3.3 81.5-19.4 113.1-44.5-38-40.6-60.5-92.5-64.3-147.5H272v192zM240 48c-42 3.2-80.5 19-111.9 43.6 38 40.9 60.3 93.4 63.7 148.4H240V48zM320.7 240c3.4-55 25.6-107.4 63.5-148.3C352.7 67.1 314 51.2 272 48v192h48.7zM408.6 114.2c-17.2 18.5-30.7 39.7-40.1 62.9-8.2 20.2-13.1 40.9-14.6 62.9H464c-3.7-48-24.1-92.2-55.4-125.8zM368.5 333.1c9.6 23.7 23.3 45.1 40.9 63.8C440.3 363.4 460.3 320 464 272H354.1c1.6 21 6.5 41.5 14.4 61.1zM143.9 177.1c-9.5-23.3-23-44.5-40.3-63.1-31.4 33.6-51.9 78-55.6 126h110.5c-1.6-22-6.5-42.8-14.6-62.9zM102.7 397.1c17.7-18.8 31.5-40.3 41.1-64 8-19.6 12.8-40.1 14.5-61.1H48c3.7 48 23.8 91.6 54.7 125.1z"/></svg>PK}w�\���77ionicons/svg/md-book.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M426.2 80.4l-170.2 32-170.2-32C64 77 48 97.3 48 118v244.5c0 20.7 16 32.6 37.8 37.6L256 432l170.2-32c21.8-5 37.8-16.9 37.8-37.6V118c0-20.7-16-41-37.8-37.6zm0 282l-151.2 32V149.9l151.2-32v244.5zm-189.2 32l-151.2-32V118L237 150v244.4z"/></svg>PK}w�\����ionicons/svg/ios-person.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M447.8 438.3c-7.2-31.8-48.3-47.3-62.5-52.3-15.6-5.5-37.8-6.8-52.1-10-8.2-1.8-20.1-6.3-24.1-11.1s-1.6-49.3-1.6-49.3 7.4-11.5 11.4-21.7c4-10.1 8.4-37.9 8.4-37.9s8.2 0 11.1-14.4c3.1-15.7 8-21.8 7.4-33.5-.6-11.5-6.9-11.2-6.9-11.2s6.1-16.7 6.8-51.3c.9-41.1-31.3-81.6-89.6-81.6-59.1 0-90.6 40.5-89.7 81.6.8 34.6 6.7 51.3 6.7 51.3s-6.3-.3-6.9 11.2c-.6 11.7 4.3 17.8 7.4 33.5 2.8 14.4 11.1 14.4 11.1 14.4s4.4 27.8 8.4 37.9c4 10.2 11.4 21.7 11.4 21.7s2.4 44.5-1.6 49.3c-4 4.8-15.9 9.3-24.1 11.1-14.3 3.2-36.5 4.5-52.1 10-14.2 5-55.3 20.5-62.5 52.3-1.1 5 2.7 9.7 7.9 9.7H440c5.1 0 8.9-4.7 7.8-9.7z"/></svg>PK}w�\�ZG11ionicons/svg/md-transgender.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M352 32v35h63.1l-81.4 80.5c-7.5-7.2-13.2-11-13.2-11C302.2 123.6 280 116 256 116c-30.2 0-57.6 12-77.8 31.4l-15.2-15 31.4-31.4-28.5-28.5-31.5 31.5-37.5-37H160V32H32v128h35V91.3l40.3 39.9-31.2 31.2 28.5 28.5 31.4-31.4 19.4 19.2c-7.3 14.9-11.5 31.7-11.5 49.5 0 54.8 39.5 100.4 91.1 110.2v45.3h-63V424h63v56h42v-56h63v-40.2h-63v-45.3c50.8-9.9 91.2-55.5 91.2-110.3 0-17.7-4.2-34.8-11.5-49.6L445 91.3V160h35V32H352zm-96 258c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64z"/></svg>PK}w�\0��llionicons/svg/md-outlet.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M369.5 32H142.4C81.5 32 32 82.6 32 144.6v222.8c0 62 49.5 112.6 110.4 112.6h227.2c60.9 0 110.5-50.6 110.5-112.6V144.6C480 82.6 430.5 32 369.5 32zM175 251v.7c0 10.9-9.1 20.4-19.9 20.4h-23.3c-10.8 0-19.9-9.5-19.9-20.4V148.1c1-10.8 9.2-20.2 19.9-20.2h23.3c10.9 0 19.9 9.8 19.9 20.8V251zm122 147.4c0 11.4-8.9 17.6-20.1 17.6h-41.8c-11.2 0-20.1-8.1-20.1-19.6v-29.3c0-23.3 18.1-42.3 41-42.3s41 19 41 42.3v31.3zM400 251v.7c0 10.9-9.1 20.4-19.9 20.4h-24.3c-10.8 0-19.9-9.5-19.9-20.4V148.1c1-10.8 9.2-20.2 19.9-20.2h24.3c10.8 0 19.9 9.8 19.9 20.8V251z"/></svg>PK}w�\ ���~~ ionicons/svg/md-close-circle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C140.559 48 48 140.559 48 256c0 115.436 92.559 208 208 208 115.435 0 208-92.564 208-208 0-115.441-92.564-208-208-208zm104.002 282.881l-29.12 29.117L256 285.117l-74.881 74.881-29.121-29.117L226.881 256l-74.883-74.881 29.121-29.116L256 226.881l74.881-74.878 29.12 29.116L285.119 256l74.883 74.881z"/></svg>PK}w�\����ionicons/svg/md-restaurant.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M164.852 279.939l61.834-60.251L73.72 71.706c-33.626 32.764-33.626 86.677 0 119.44l91.132 88.793z"/><path d="M312.389 241.88c33.636 14.802 80.283 4.232 113.91-29.593 41.222-40.165 49.909-98.303 17.363-128.96-31.465-31.71-91.131-23.245-132.354 16.921-34.718 33.825-45.566 79.276-30.374 110.986-47.739 47.568-211.552 207.173-211.552 207.173L99.759 448l149.71-145.866L399.177 448l30.374-29.593-149.709-145.869 32.547-30.658z"/></svg>PK}w�\�n�+��ionicons/svg/logo-twitch.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M80 32l-32 80v304h96v64h64l64-64h80l112-112V32H80zm336 256l-64 64h-96.001L192 416v-64h-80V80h304v208z"/><path d="M320 143h48v129h-48zM208 143h48v129h-48z"/></svg>PK}w�\�|�QQionicons/svg/ios-clock.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M403.1 108.9c-81.2-81.2-212.9-81.2-294.2 0-81.3 81.2-81.2 212.9 0 294.2 81.2 81.2 212.9 81.2 294.2 0 81.2-81.2 81.2-213 0-294.2zM89.6 263.8c-5.6 1.1-10.5-3.8-9.4-9.4.6-3.1 3.1-5.7 6.3-6.3 5.6-1.1 10.5 3.8 9.4 9.4-.6 3.2-3.2 5.7-6.3 6.3zm26.2 82.2c-4.3 3.7-11 1.9-12.8-3.5-1-3-.1-6.5 2.3-8.5 4.3-3.7 11-1.9 12.8 3.5 1 3 .1 6.4-2.3 8.5zm2.3-171.5c-1.9 5.4-8.5 7.2-12.8 3.5-2.4-2.1-3.3-5.5-2.3-8.5 1.9-5.4 8.5-7.2 12.8-3.5 2.4 2.1 3.3 5.5 2.3 8.5zM179.6 404c-1.9 5.4-8.5 7.2-12.8 3.5-2.4-2.1-3.3-5.5-2.3-8.5 1.9-5.4 8.5-7.2 12.8-3.5 2.4 2.1 3.3 5.5 2.3 8.5zm-2.3-287.5c-4.3 3.7-11 1.9-12.8-3.5-1-3-.1-6.5 2.3-8.5 4.3-3.7 11-1.9 12.8 3.5 1 3 .1 6.4-2.3 8.5zm35.4 76.3c-2.3-3.8-1-8.7 2.7-11 3.8-2.3 8.7-1 11 2.7l33.7 62.3c2.5 4.7 3.9 9.9 3.9 15.2v122c0 5-3 8-8 8s-8-3-8-8V262c0-2.7-.7-5.3-1.9-7.6l-33.4-61.6zm44.9 239c-5.6 1.1-10.5-3.8-9.4-9.4.6-3.1 3.1-5.7 6.3-6.3 5.6-1.1 10.5 3.8 9.4 9.4-.6 3.2-3.2 5.7-6.3 6.3zm0-336c-5.6 1.1-10.5-3.8-9.4-9.4.6-3.1 3.1-5.7 6.3-6.3 5.6-1.1 10.5 3.8 9.4 9.4-.6 3.2-3.2 5.7-6.3 6.3zm87.7 311.7c-4.3 3.7-11 1.9-12.8-3.5-1-3-.1-6.5 2.3-8.5 4.3-3.7 11-1.9 12.8 3.5 1 3 .1 6.4-2.3 8.5zm2.3-294.5c-1.9 5.4-8.5 7.2-12.8 3.5-2.4-2.1-3.3-5.5-2.3-8.5 1.9-5.4 8.5-7.2 12.8-3.5 2.4 2.1 3.3 5.5 2.3 8.5zm61.5 229.5c-1.9 5.4-8.5 7.2-12.8 3.5-2.4-2.1-3.3-5.5-2.3-8.5 1.9-5.4 8.5-7.2 12.8-3.5 2.4 2.1 3.3 5.5 2.3 8.5zM406.8 178c-4.3 3.7-11 1.9-12.8-3.5-1-3-.1-6.5 2.3-8.5 4.3-3.7 11-1.9 12.8 3.5 1 3 .1 6.4-2.3 8.5zm18.8 85.8c-5.6 1.1-10.5-3.8-9.4-9.4.6-3.1 3.1-5.7 6.3-6.3 5.6-1.1 10.5 3.8 9.4 9.4-.6 3.2-3.2 5.7-6.3 6.3z"/></svg>PK}w�\C���kkionicons/svg/ios-browsers.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M48 181.4V424c0 22.1 17.9 40 40 40h242.6c22.1 0 40-17.9 40-40V181.4c0-22.1-17.9-40-40-40H88c-22.1 0-40 17.9-40 40z"/><path d="M141.4 88v28.4c0 2.2 1.8 4 4 4h198.2c26.4 0 48 21.6 48 48v198.2c0 2.2 1.8 4 4 4H424c22.1 0 40-17.9 40-40V88c0-22.1-17.9-40-40-40H181.4c-22.1 0-40 17.9-40 40z"/></svg>PK}w�\���1LLionicons/svg/logo-ionic.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 161.2c-52.3 0-94.8 42.5-94.8 94.8s42.5 94.8 94.8 94.8 94.8-42.5 94.8-94.8-42.5-94.8-94.8-94.8z"/><circle cx="392.1" cy="126.4" r="43.2"/><path d="M445.3 169.8l-1.8-4-2.9 3.3c-7.1 8-16.1 14.2-26.1 17.9l-2.8 1 1.1 2.7c8.6 20.7 13 42.7 13 65.2 0 93.7-76.2 169.9-169.9 169.9S86.1 349.7 86.1 256 162.3 86.1 256 86.1c25.4 0 49.9 5.5 72.8 16.4l2.7 1.3 1.2-2.7c4.2-9.8 10.8-18.5 19.2-25.2l3.4-2.7-3.9-2C321.6 55.8 289.5 48 256 48 141.3 48 48 141.3 48 256s93.3 208 208 208 208-93.3 208-208c0-30-6.3-59-18.7-86.2z"/></svg>PK}w�\��>mmionicons/svg/md-compass.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 231.358c-13.442 0-24.643 11.2-24.643 24.642s11.2 24.643 24.643 24.643 24.643-11.2 24.643-24.643-11.201-24.642-24.643-24.642zM256 32C132.8 32 32 132.8 32 256s100.8 224 224 224 224-100.8 224-224S379.2 32 256 32zm49.284 273.284L121.6 390.4l85.116-183.679L390.4 121.6l-85.116 183.684z"/></svg>PK}w�\ˆ�%��ionicons/svg/md-git-branch.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M416 160c0-35.3-28.7-64-64-64s-64 28.7-64 64c0 23.7 12.9 44.3 32 55.4v8.6c0 19.9-7.8 33.7-25.3 44.9-15.4 9.8-38.1 17.1-67.5 21.5-14 2.1-25.7 6-35.2 10.7V151.4c19.1-11.1 32-31.7 32-55.4 0-35.3-28.7-64-64-64S96 60.7 96 96c0 23.7 12.9 44.3 32 55.4v209.2c-19.1 11.1-32 31.7-32 55.4 0 35.3 28.7 64 64 64s64-28.7 64-64c0-16.6-6.3-31.7-16.7-43.1 1.9-4.9 9.7-16.3 29.4-19.3 38.8-5.8 68.9-15.9 92.3-30.8 36-22.8 55-57 55-98.8v-8.6c19.1-11.1 32-31.7 32-55.4zM160 56c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40zm0 400c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40zm192-256c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40z"/></svg>PK}w�\Ƕ����ionicons/svg/md-today.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M405.3 32H106.7C83.2 32 64 51.2 64 74.7v362.7c0 23.5 19.2 42.7 42.7 42.7h298.7c23.5 0 42.7-19.2 42.7-42.7V74.7C448 51.2 428.8 32 405.3 32zm-4 405.3H110.7c-2.2 0-4-1.8-4-4V78.7c0-2.2 1.8-4 4-4h290.7c2.2 0 4 1.8 4 4v354.7c-.1 2.1-1.9 3.9-4.1 3.9z"/><path d="M145 194v204c0 1.1.9 2 2 2h218c1.1 0 2-.9 2-2V194c0-1.1-.9-2-2-2H147c-1.1 0-2 .9-2 2zM145 114.7v34c0 1.1.9 2 2 2h171c1.1 0 2-.9 2-2v-34c0-1.1-.9-2-2-2H147c-1.1 0-2 .9-2 2z"/></svg>PK}w�\�dITTionicons/svg/md-open.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M405.34 405.332H106.66V106.668H240V64H106.66C83.191 64 64 83.197 64 106.668v298.664C64 428.803 83.191 448 106.66 448h298.68c23.469 0 42.66-19.197 42.66-42.668V272h-42.66v133.332zM288 64v42.668h87.474L159.999 322.133l29.866 29.866 215.476-215.47V224H448V64H288z"/></svg>PK}w�\t��NEEionicons/svg/ios-barcode.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M121.6 388H80.8c-2.2 0-4-1.8-4-4V128c0-2.2 1.8-4 4-4h40.5c7.9 0 14.5-6.4 14.7-14 .1-3.9-1.3-7.2-4.1-10-2.7-2.8-8-4-11.9-4H66c-10 0-18 6-18 16v288c0 10 7 16 17 16h56.3c7.9 0 14.5-5.2 14.7-12.8.1-3.9-1.3-7.5-4.1-10.3-2.7-2.8-6.4-4.9-10.3-4.9zM447 96h-56.3c-9.5 0-17.1 8.3-14 18.3.2.7.5 1.3.8 1.9 2.7 5.2 7.6 7.8 12.9 7.8h40.8c2.2 0 4 1.8 4 4v255.9c0 2.2-1.8 4-4 4h-40.5c-7.9 0-14.5 6.2-14.7 13.9-.1 3.9 1.3 7.6 4.1 10.4 2.7 2.8 6.4 3.8 10.3 3.8H447c10 0 17-6 17-16.4V112c0-10-7-16-17-16z"/><path d="M122.5 176c-7.7 0-14 6.3-14 13.9V322c0 7.7 6.3 13.9 14 13.9s14-6.3 14-13.9V189.9c0-7.6-6.3-13.9-14-13.9zM389.5 336c7.7 0 14-6.3 14-13.9V189.9c0-7.7-6.3-13.9-14-13.9s-14 6.3-14 13.9V322c0 7.7 6.3 14 14 14zM326.5 144c-7.7 0-14 6.5-14 14.4v195.1c0 8 6.3 14.4 14 14.4s14-6.5 14-14.4V158.4c0-7.9-6.3-14.4-14-14.4zM185.5 144c-7.7 0-14 6.5-14 14.4v195.1c0 8 6.3 14.4 14 14.4s14-6.5 14-14.4V158.4c0-7.9-6.2-14.4-14-14.4zM256 160c-7.7 0-14 6.4-14 14.2v163.5c0 7.8 6.3 14.2 14 14.2s14-6.4 14-14.2V174.2c0-7.8-6.3-14.2-14-14.2z"/></svg>PK}w�\=�@eeionicons/svg/md-link.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M74.6 256c0-38.3 31.1-69.4 69.4-69.4h88V144h-88c-61.8 0-112 50.2-112 112s50.2 112 112 112h88v-42.6h-88c-38.3 0-69.4-31.1-69.4-69.4zm85.4 22h192v-44H160v44zm208-134h-88v42.6h88c38.3 0 69.4 31.1 69.4 69.4s-31.1 69.4-69.4 69.4h-88V368h88c61.8 0 112-50.2 112-112s-50.2-112-112-112z"/></svg>PK}w�\z��[[)ionicons/svg/md-notifications-outline.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M257 120.471c7.083 0 23.911 4.479 23.911 4.479 45.589 10.447 77.678 52.439 77.678 99.85V352.412l9.321 9.364 7.788 7.823H136.302l7.788-7.823 9.321-9.364V224.8c0-47.41 32.089-89.403 77.678-99.85 0 0 18.043-4.479 23.911-4.479M256 48c-17.602 0-31.059 13.518-31.059 31.2v14.559c-59.015 13.523-103.53 67.601-103.53 131.041v114.4L80 380.8v20.8h352v-20.8l-41.411-41.6V224.8c0-63.44-44.516-117.518-103.53-131.041V79.2c0-17.682-13.457-31.2-31.059-31.2zm41.411 374.4h-82.823c0 22.881 18.633 41.6 41.412 41.6s41.411-18.719 41.411-41.6z"/></svg>PK}w�\�G+�ionicons/svg/md-star-half.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M458 210.409l-145.267-12.476L256 64l-56.743 133.934L54 210.409l110.192 95.524L131.161 448 256 372.686 380.83 448l-33.021-142.066L458 210.409zM272.531 345.287L256 335.313l-.002-189.277 27.27 64.379 7.52 17.751 19.208 1.65 69.846 5.998-52.993 45.939-14.576 12.636 4.367 18.788 15.875 68.299-59.984-36.189z"/></svg>PK}w�\�0r���ionicons/svg/md-archive.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M453.594 100.001l-32.353-39.299C415.469 52.627 405.083 48 394.664 48H117.335c-10.416 0-20.801 4.627-26.576 12.702l-32.351 39.299C51.468 106.923 48 117.335 48 128.886v288.89C48 443.2 68.8 464 94.225 464h323.553C443.202 464 464 443.2 464 417.775v-288.89c0-11.55-3.463-21.962-10.406-28.884zM256 383.109L128.89 256h80.89v-46.224h92.443V256h80.89L256 383.109zM96.534 94.221L115.02 71.11h277.331l21.965 23.111H96.534z"/></svg>PK}w�\��P@@ionicons/svg/logo-python.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M193.46 249.056a65.316 65.316 0 0 1 11.586-1.041l-3.122-.015h103.823c4.503 0 8.806-.617 12.908-1.754 19.37-5.363 33.345-22.537 33.345-43.663v-87.224c0-24.832-21.15-43.484-46.289-47.606-15.931-2.624-39.258-3.827-55.089-3.749-15.829.086-30.981 1.404-44.277 3.749C167.143 74.576 160 88.928 160 115.359V144h96v16H128.82c-35.628 0-64.538 42.571-64.813 95.242-.002.253-.007.505-.007.758 0 9.523.94 18.72 2.685 27.404C74.648 323.07 99.451 352 128.82 352H144v-45.935c0-26.827 20.146-51.733 49.46-57.009zm10.196-122.054c-9.592 0-17.384-7.785-17.384-17.403 0-9.664 7.774-17.52 17.384-17.52 9.574 0 17.399 7.855 17.399 17.52.001 9.618-7.809 17.403-17.399 17.403z"/><path d="M443.951 222.543C434.78 186.021 411.033 160 383.18 160H368v40.672c0 33.915-22.286 58.474-49.489 62.681a53.943 53.943 0 0 1-8.301.646H206.351a51.41 51.41 0 0 0-13.049 1.672C174.18 270.689 160 286.6 160 307.236v87.227c0 24.832 24.977 39.426 49.481 46.551 29.327 8.531 61.267 10.068 96.366 0C329.15 434.354 352 420.893 352 394.463V368h-96v-16h127.18c25.24 0 47.107-21.365 57.814-52.549C445.474 286.404 448 271.641 448 256c0-11.768-1.433-23.038-4.049-33.457zM307.867 382.82c9.59 0 17.381 7.785 17.381 17.4 0 9.65-7.791 17.521-17.381 17.521-9.577 0-17.399-7.871-17.399-17.521 0-9.63 7.806-17.4 17.399-17.4z"/></svg>PK}w�\c��rrionicons/svg/ios-power.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M380.4 111.7c-3.3-2.8-7.5-4.3-11.8-4.3-5.3 0-10.4 2.3-13.8 6.4-3.2 3.7-4.7 8.4-4.3 13.3.4 4.8 2.7 9.3 6.4 12.4 34.8 29.5 54.8 72.3 54.8 117.4 0 85.4-69.8 154.8-155.6 154.8s-155.6-69.5-155.6-154.8c0-45.2 20-88 54.8-117.4 3.7-3.1 6-7.5 6.4-12.4.4-4.8-1.1-9.6-4.3-13.3-3.5-4-8.5-6.4-13.8-6.4-4.3 0-8.5 1.5-11.8 4.3C88.7 148.1 64 201 64 256.8 64 362.2 150.1 448 256 448s192-85.8 192-191.2c0-55.8-24.7-108.7-67.6-145.1z"/><path d="M256.9 274.5c10.2 0 18.5-8.3 18.5-18.5V82.5c0-10.2-8.3-18.5-18.5-18.5s-18.5 8.3-18.5 18.5V256c0 10.2 8.3 18.5 18.5 18.5z"/></svg>PK}w�\pR�PPionicons/svg/ios-warning.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M228.9 79.9L51.8 403.1C40.6 423.3 55.5 448 78.9 448h354.3c23.3 0 38.2-24.7 27.1-44.9L283.1 79.9c-11.7-21.2-42.5-21.2-54.2 0zM273.6 214L270 336h-28l-3.6-122h35.2zM256 402.4c-10.7 0-19.1-8.1-19.1-18.4s8.4-18.4 19.1-18.4 19.1 8.1 19.1 18.4-8.4 18.4-19.1 18.4z"/></svg>PK}w�\�i�K��ionicons/svg/ios-wine.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M328.9 51.2c-2-5.5-7-9.2-12.9-9.2H196c-6 0-10.9 3.7-13 9.2-9.3 25-31 87.1-31 124.8v4.8c0 19.2 0 45.4 28.4 74.5 6.5 6.7 14.3 12.9 22.5 19.5 19.1 15.3 38.8 31.1 38.8 50.2v115c0 1.1-.9 2-2 2h-57.1c-7.9 0-14.3 6.3-14.3 14s6.4 14 14.3 14h146.8c7.9 0 14.3-6.3 14.3-14s-6.4-14-14.3-14h-57.1c-1.1 0-2-.9-2-2V325c0-19.1 19.7-34.9 38.8-50.2 8.2-6.6 15.9-12.8 22.5-19.5C360 226.2 360 200 360 180.8V176c0-37.5-21.7-99.8-31.1-124.8zm-1.4 102.1c-.2.3-.7.7-1.6.7H186.1c-.8 0-1.3-.5-1.6-.7-.2-.3-.6-.8-.4-1.7 5.1-26.1 14.8-59.6 21.6-80.2.3-.8 1.1-1.4 1.9-1.4h96.8c.9 0 1.7.6 1.9 1.4 6.7 20.7 16.4 54.1 21.6 80.2.2.8-.2 1.4-.4 1.7z"/></svg>PK}w�\������ionicons/svg/ios-bowtie.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M290.8 213.5C286 205 277 202.2 266 202.2v-.2c-6 0-14.3 1.3-22.6 2.9-11.9 2.3-19.7 7.1-19.7 7.1s3.6 27.3.1 58.5-7.9 42.5-7.9 42.5 5.3 12.1 40 15c3.9.3 7.6.5 11 .5 24.5 0 36.4-7.3 36.4-7.3s3.3-5.4 4.3-22.1c1.9-32.2-7-68.5-16.8-85.6zM205.7 208.8c-22-40.2-86.2-96.8-121.3-96.8C57.9 112 32 180.5 32 256s23 144 51.5 144c33.4 0 110.5-80 110.5-80s5.7-12.6 9.9-33.6l1.8-10.4c.7-4.7 1.3-9.7 1.7-15 .3-3.5.5-6.8.6-9.9l.3-9.8c.7-16-2.6-32.5-2.6-32.5zM427.6 112c-36.4 0-96.4 56.5-118.3 96.8l-.8 1.4s1.4 2.5 1.9 3.4c3.4 6 6.7 14.3 9.4 24l2.9 11.7c2.2 10.2 3.7 21.2 4.2 32.2l.2 9c0 2.9-.1 5.7-.3 8.5-1 16.7-4.6 22.1-4.6 22.1 7.6 10.5 69 78.9 106.2 78.9 28.5 0 51.5-68.5 51.5-144s-25.8-144-52.3-144z"/></svg>PK}w�\x2�!��"ionicons/svg/ios-trending-down.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M480 369.2V251.1c0-8.1-6.8-14.8-15.1-14.8s-15.1 6.6-15.1 14.8v81.7L300.5 181c-2.8-2.8-6.6-4.3-10.7-4.3-4 0-7.8 1.5-10.7 4.3l-85.9 84.1L57.5 132.3c-2.9-2.8-6.6-4.3-10.7-4.3-4 0-7.8 1.5-10.7 4.3-2.8 2.7-4.2 6.2-4.2 10.2 0 5.4 2.3 8.8 4.2 10.7l146.3 143.2c2.9 2.8 6.6 4.3 10.7 4.3 4 0 7.8-1.5 10.7-4.3l85.9-84.1 138 142.2H344c-8.3 0-15.1 6.6-15.1 14.8 0 8.1 6.8 14.8 15.1 14.8h120.8c8.4-.1 15.2-6.7 15.2-14.9z"/></svg>PK}w�\����ionicons/svg/ios-home.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M258.5 104.1c-1.5-1.2-3.5-1.2-5 0l-156 124.8c-.9.8-1.5 1.9-1.5 3.1v230c0 1.1.9 2 2 2h108c1.1 0 2-.9 2-2V322c0-1.1.9-2 2-2h92c1.1 0 2 .9 2 2v140c0 1.1.9 2 2 2h108c1.1 0 2-.9 2-2V232c0-1.2-.6-2.4-1.5-3.1l-156-124.8z"/><path d="M458.7 204.2l-189-151.4C265.9 49.7 261 48 256 48s-9.9 1.7-13.7 4.8L160 119.7V77.5c0-1.1-.9-2-2-2H98c-1.1 0-2 .9-2 2v92.2l-42.7 35.1c-3.1 2.5-5.1 6.2-5.3 10.2-.2 4 1.3 7.9 4.1 10.7 2.6 2.6 6.1 4.1 9.9 4.1 3.2 0 6.3-1.1 8.8-3.1l183.9-148c.5-.4.9-.4 1.3-.4s.8.1 1.3.4l183.9 147.4c2.5 2 5.6 3.1 8.8 3.1 3.7 0 7.2-1.4 9.9-4.1 2.9-2.8 4.4-6.7 4.2-10.7-.3-4-2.2-7.7-5.4-10.2z"/></svg>PK}w�\����ionicons/svg/ios-shuffle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M405.9 288.1c-2.6-2.6-6.2-4.1-9.9-4.1s-7.2 1.4-9.9 4.1c-2.7 2.6-4.1 6.2-4.1 9.9s1.5 7.2 4.1 9.9l16.3 16.2h-75.5l-124-155-.1-.1c-2.6-3.1-6.7-5-10.8-5H78c-7.7 0-14 6.3-14 14s6.3 14 14 14h107.4l52.5 66-52.5 66H78c-7.7 0-14 6.3-14 14s6.3 14 14 14h114c4.1 0 8-1.8 10.7-5l.1-.1 53.2-66.8 53.2 66.8.1.1c2.7 3.2 6.6 5 10.7 5h84.4l-16.3 16.2c-2.7 2.6-4.1 6.1-4.1 9.9 0 3.7 1.5 7.2 4.1 9.9 2.6 2.6 6.2 4.1 9.9 4.1s7.2-1.4 9.9-4.1l33.6-33.4c4.2-4.1 6.5-9.6 6.5-15.5s-2.3-11.4-6.5-15.5l-35.6-35.5z"/><path d="M279.4 235.4c1.1 1.4 2.8 2.1 4.6 2.1h.1c1.8 0 3.5-.8 4.6-2.2l37.9-47.3h75.8l-16.3 16.2c-2.7 2.6-4.1 6.1-4.1 9.9 0 3.7 1.5 7.2 4.1 9.9 2.6 2.6 6.2 4.1 9.9 4.1s7.2-1.4 9.9-4.1l35.6-35.4c4.2-4.1 6.5-9.7 6.5-15.5 0-5.9-2.3-11.4-6.5-15.5l-33.6-33.4c-2.6-2.6-6.2-4.1-9.9-4.1s-7.2 1.4-9.9 4.1c-2.7 2.6-4.1 6.2-4.1 9.9s1.5 7.2 4.1 9.9l16.3 16.2H320c-4.1 0-8 1.8-10.7 5l-.1.1-40.3 50.2c-1.8 2.2-1.8 5.4.1 7.6l10.4 12.3z"/></svg>PK}w�\�d�)FFionicons/svg/ios-menu.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M432 176H80c-8.8 0-16-7.2-16-16s7.2-16 16-16h352c8.8 0 16 7.2 16 16s-7.2 16-16 16zM432 272H80c-8.8 0-16-7.2-16-16s7.2-16 16-16h352c8.8 0 16 7.2 16 16s-7.2 16-16 16zM432 368H80c-8.8 0-16-7.2-16-16s7.2-16 16-16h352c8.8 0 16 7.2 16 16s-7.2 16-16 16z"/></svg>PK}w�\Gw��ionicons/svg/ios-star-half.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M463 192H315.9L271.2 58.6C269 52.1 262.9 48 256 48s-13 4.1-15.2 10.6L196.1 192H48c-8.8 0-16 7.2-16 16 0 .9.1 1.9.3 2.7.2 3.5 1.8 7.4 6.7 11.3l120.9 85.2-46.4 134.9c-2.3 6.5 0 13.8 5.5 18 2.9 2.1 5.6 3.9 9 3.9 3.3 0 7.2-1.7 10-3.6l118-84.1 118 84.1c2.8 2 6.7 3.6 10 3.6 3.4 0 6.1-1.7 8.9-3.9 5.6-4.2 7.8-11.4 5.5-18L352 307.2l119.9-86 2.9-2.5c2.6-2.8 5.2-6.6 5.2-10.7 0-8.8-8.2-16-17-16zm-47.4 35.2l-79.8 57.3c-10 7.2-14.2 20.2-10.2 31.8l30.1 87.7c1.3 3.7-2.9 6.8-6.1 4.6l-77.4-55.2-.1-.1c-10-7-16.1-18.3-16.1-30.5V113.3c0-2.2 3.1-2.7 3.8-.6l29.6 88.2c3.8 11.4 14.5 19.1 26.5 19.1h97.3c3.9 0 5.5 5 2.4 7.2z"/></svg>PK}w�\ɐW���ionicons/svg/md-school.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M113.5 281.2v85.3L256 448l142.5-81.5v-85.3L256 362.7l-142.5-81.5zM256 64L32 192l224 128 183.3-104.7v147.4H480V192L256 64z"/></svg>PK}w�\���Xeeionicons/svg/ios-boat.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M351.8 422c-26.2 9.2-66.5 14.9-96.1 14.9-29.6 0-69.9-5.7-96.1-14.9 0 0-26.1 23.9-62.3 36.2-2.3.8-1.5 4.2.9 3.9 22.6-2.6 40.2-6.5 61.4-12 23 9 66.7 13.9 96.1 13.9 29.4 0 74.1-3.8 96.1-13.9 21.5 5.6 38.8 9.6 62 12.1 2.4.3 3.2-3.1.9-3.9-35.7-12.4-62.9-36.3-62.9-36.3zM445.5 263l-186.2-85.5c-2.1-1-4.6-1-6.7 0L66.5 263c-6.2 2.9-10.5 9.1-10.5 16.4 0 2.4.5 4.6 1.3 6.7L112 422c27.5 0 56.7-22 56.7-22 18 9 53.1 17.1 79.3 18.6 2.8.2 5.5.2 8 .2s5.2-.1 8-.2c26.2-1.5 61.3-9.5 79.3-18.6 0 0 29.2 22 56.7 22l54.7-135.9c.8-2.1 1.3-4.3 1.3-6.7 0-7.3-4.3-13.5-10.5-16.4zM212 288c-6.6 0-12-9.8-12-22s5.4-22 12-22 12 9.8 12 22-5.4 22-12 22zm88 0c-6.6 0-12-9.8-12-22s5.4-22 12-22 12 9.8 12 22-5.4 22-12 22z"/><path d="M391.9 127v-.1C386.3 100.3 374.4 80 352 80h-34.6l-2-8c-3.6-14.1-16.4-24-31-24h-57c-14.6 0-27.4 9.9-31 24.1l-2 7.9H160c-22.9 0-35.1 20.7-39.8 47L102 223.8c-.6 3.2 2.6 5.7 5.6 4.4l25.3-11.6c1.2-.5 2-1.6 2.3-2.9l16.2-85.6c2.5-10.7 7.3-16 16.1-16h177.1c8.9 0 13.1 5 16.1 16l16.2 85.6c.2 1.3 1.1 2.4 2.3 2.9l25.4 11.7c3 1.4 6.2-1.2 5.6-4.4L391.9 127z"/></svg>PK}w�\�U���!ionicons/svg/ios-battery-full.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M396 144H64c-26.4 0-48 21.6-48 48v128c0 26.4 21.6 48 48 48h332c26.4 0 48-21.6 48-48V192c0-26.4-21.6-48-48-48zm20 176c0 11-9 20-20 20H64c-11 0-20-9-20-20V192c0-11 9-20 20-20h332c11 0 20 9 20 20v128zM464 204.6v102.8c16 0 32-27.7 32-51.4s-16-51.4-32-51.4z"/><path d="M384 192H76c-6.6 0-12 5.4-12 12v104c0 6.6 5.4 12 12 12h308c6.6 0 12-5.4 12-12V204c0-6.6-5.4-12-12-12z"/></svg>PK}w�\m�<<ionicons/svg/md-microphone.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M384 112V84.4c0-29-24.5-52.4-54.8-52.4H182.9C152.5 32 128 55.4 128 84.4V112h152v37H128v43h152v37H128v43h152v37H128v41.8c0 29 24.5 52.2 54.9 52.2H213v77h86v-77h30.2c30.3 0 54.8-23.2 54.8-52.2V309h-56v-37h56v-43h-56v-37h56v-43h-56v-37h56z"/></svg>PK}w�\�{�PPionicons/svg/logo-html5.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M64 32l34.936 403.213L255.769 480l157.245-44.854L448 32H64zm307.997 132h-184l3.991 51h176.008l-13.505 151.386-98.5 28.094-98.682-27.976L150.545 289h48.254l3.423 39.287 53.769 14.781 53.422-14.915L314.987 264H147.986l-12.571-149.589 240.789.016L371.997 164z"/></svg>PK}w�\�ڤW��ionicons/svg/md-add.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M416 277.333H277.333V416h-42.666V277.333H96v-42.666h138.667V96h42.666v138.667H416v42.666z"/></svg>PK}w�\�%�ODDionicons/svg/md-heart.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 448l-30.164-27.211C118.718 322.442 48 258.61 48 179.095 48 114.221 97.918 64 162.4 64c36.399 0 70.717 16.742 93.6 43.947C278.882 80.742 313.199 64 349.6 64 414.082 64 464 114.221 464 179.095c0 79.516-70.719 143.348-177.836 241.694L256 448z"/></svg>PK}w�\�;��hh$ionicons/svg/md-checkbox-outline.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M168.531 215.469l-29.864 29.864 96 96L448 128l-29.864-29.864-183.469 182.395-66.136-65.062zm236.802 189.864H106.667V106.667H320V64H106.667C83.198 64 64 83.198 64 106.667v298.666C64 428.802 83.198 448 106.667 448h298.666C428.802 448 448 428.802 448 405.333V234.667h-42.667v170.666z"/></svg>PK}w�\�;�(��ionicons/svg/md-hammer.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M474.1 398.2L229.8 167.8s8.8-57.7 26.2-71.8c17.5-14.2 48-32 48-32V32c-32 0-58.8 8.3-96.9 27.3-38 18.9-66.8 47.8-74.4 55.4-7.6 7.6-18.1 19.5-24.7 28.9s-5.3 20.1-5.3 20.1l-19.7 17-4-4c-2.3-2.3-6.2-2.3-8.5 0l-36.8 36.8c-2.3 2.3-2.3 6.2 0 8.5l59.4 59.4c2.3 2.3 6.2 2.3 8.5 0l36.8-36.8c2.3-2.3 2.3-6.2 0-8.5l-10.3-10.3 14.6-14.3c6.8-3.7 25.4-8.9 39.1-5.1l214.9 267.3c8.1 8.2 20.3 8.2 28.5 0l46.8-47.1c10.3-8 10.3-22.3 2.1-28.4z"/></svg>PK}w�\�[9zzionicons/svg/md-beer.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M416 140h-16v-6c8.9-9 16-22.9 16-38 0-35.3-28.7-64-64-64-16.3 0-31.1 6.1-42.4 16.1C297.2 38 281.4 32 264.2 32c-15.8 0-30.4 5.1-42.3 13.7C212 37.2 199 32 184.9 32c-17.1 0-32.4 7.6-42.8 19.5-11.7-12-28-19.5-46.1-19.5-35.3 0-64 28.7-64 64 0 16.2 6.1 31 16 42.3V193c0 26.5 21.5 48 48 48v174.5c0 35.3 28.8 64.5 64.2 64.5H336c35.3 0 64.1-29.2 64.1-64.5V372h16c50 0 64-32.7 64-68v-96c-.1-35.3-17.1-68-64.1-68zm-64 52H144v-53.7c.3-.4.7-.8 1-1.2 1.2-1.5 2.4-3 3.5-4.6 1.5 1.2 3 2.4 4.6 3.4 9.1 6.1 20 9.7 31.7 9.7 6.4 0 12.6-1.1 18.3-3 12.8 20.2 35.3 33.7 61 33.7 22 0 41.7-9.9 54.9-25.4 5.7-6.7 10.2-14.4 13.1-22.9H352v64zM96 128.1v75c-9 0-16-7.2-16-16v-63.3c-8-4.5-13.4-12.1-15.3-21-.5-2.1-.7-4.4-.7-6.7 0-17.6 14.4-32 32-32 11.8 0 23.3 7.7 30.1 15.4s26.7 7.7 33.9 0c6.8-7.3 14.3-15.4 24.8-15.4 6 0 11.6 2.2 15.9 5.8 1.9 1.6 3.6 3.5 4.9 5.6 1.1 1.8 2 4.2 3.1 5.8 2.7 3.4 6.5 5.5 11.2 5.5 4.4 0 8.3-1.9 11-5 .6-.7 1.2-1.5 1.7-2.3 2-2.5 4.2-4.8 6.7-6.8 6.8-5.4 15.5-8.6 24.8-8.6 10.6 0 20.2 4.1 27.4 10.9 1.7 1.6 6.7 4.5 13.2 5.1 4.5.4 6.1.3 8.2 0 10.3-1.3 14.4-4.7 16.4-6.6 5.8-5.8 13.8-9.4 22.6-9.4 17.6 0 32 14.4 32 32 .2 3.1-.3 6.2-1.2 9.1-2.5-5.5-8.1-9.2-14.6-9.2h-55s-8.7-.7-8.7 8.2c0 8.9-2.9 17.1-7.8 23.7-7.3 9.9-19.1 16.4-32.4 16.4-14.9 0-27.9-8.1-34.8-20.2-1.6-2.7-2.8-5.6-3.7-8.6-.1-.6-.3-1.1-.4-1.6-2-5.9-7.5-10.2-14.1-10.2-3.9 0-7.5 1.5-10.2 4l-.1.1c-2.4 2.1-5.3 3.7-8.4 4.7-2.4.8-5 1.2-7.7 1.2-7.5 0-14.7-4-18.8-8.6-10-11.4-23.7-6.8-29.7-5.5-6 1.3-12.2 11.7-12.2 11.7-1.1 2.1-2.4 4-3.9 5.8-6 6.7-15.2 11-24.2 11zM432 304c0 17.7-6.3 24-24 24h-8V184h8c17.7 0 24 6.3 24 24v96z"/></svg>PK}w�\ �W ��$ionicons/svg/md-git-pull-request.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M416 376.6V206.8c0-46.4-3.7-70.8-22.1-94C374 87.7 348.9 77 310 77h-22V16l-96 96 96 96v-65h22c24.6 0 29 3.6 33.8 9.6 5.5 6.9 8.2 19.1 8.2 54.2v169.8c-19.1 11.1-32 31.7-32 55.4 0 35.3 28.7 64 64 64s64-28.7 64-64c0-23.7-12.9-44.3-32-55.4zM384 472c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40zM128 48c-35.3 0-64 28.7-64 64 0 23.7 12.9 44.3 32 55.4v209.2c-19.1 11.1-32 31.7-32 55.4 0 35.3 28.7 64 64 64s64-28.7 64-64c0-23.7-12.9-44.3-32-55.4V167.4c19.1-11.1 32-31.7 32-55.4 0-35.3-28.7-64-64-64zm0 424c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40zm0-320c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40z"/></svg>PK}w�\�苷33ionicons/svg/ios-shirt.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M461.8 181.7c1.3-1.6 1.2-3.8-.2-5.3-11.5-12.1-61.3-63.7-89.1-83.7C352 78 332 64 310 64s-22 8-54 8-32-8-54-8-42 14-62.5 28.7c-27.8 20-77.6 71.6-89.1 83.7-1.4 1.5-1.5 3.7-.2 5.3l61.7 64c2.4 2.9 7.1 1.2 7.1-2.5v-44.9c0-4.5 3.2-8.5 7.6-9.2 5.6-.9 10.4 3.5 10.4 8.9v242c0 4.4 3.6 8 8 8h222c4.4 0 8-3.6 8-8V198.3c0-4.5 3.2-8.5 7.6-9.2 5.6-.9 10.4 3.5 10.4 8.9v45.2c0 3.8 4.7 5.4 7.1 2.5l61.7-64zM256 143c-30 0-54-12.7-54-36 0-30 24-10.7 54-10.7 29.8 0 54-19.3 54 10.7 0 23.3-24.2 36-54 36z"/></svg>PK}w�\���x��ionicons/svg/md-snow.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M461.4 298.5l-8.3-30.9-88 23.6-60.4-34.9 60.4-34.9 88 23.6 8.3-30.9-57.1-15.3 57.7-33.3-24-41.5-56.6 32.7 15.3-57.1-30.9-8.3-23.6 88-62.2 35.9v-71.1l64.5-64.4-22.7-22.6L280 98.9V32h-48v65.6l-41.7-41.7-22.6 22.6 64.3 64.4v71.4l-60.7-35-23.6-88-30.9 8.3 15.3 57.1-57.7-33.4-24 41.6 56.7 32.7L50 212.9l8.3 30.9 87.9-23.6 62.6 36.1-62.6 36.2-87.9-23.6-8.3 30.9 57.1 15.3-56.7 32.7 24 41.5 57.7-33.3-15.3 57 30.9 8.3 23.6-87.9 60.7-35.1v70.9l-64.3 64.4 22.6 22.6 41.7-41.8V480h48v-66.8l41.9 41.7 22.5-22.6L280 368v-70.6l62.2 36 23.6 87.9 30.9-8.3-15.3-57 56.6 32.7 24-41.6-57.7-33.3z"/></svg>PK}w�\�J����ionicons/svg/logo-npm.svgnu�[���<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" x="0" y="0" viewBox="0 0 512 512" xml:space="preserve"><style>.st0{fill:#010101}</style><path class="st0" d="M227.6 213.1H256v57.1h-28.4z"/><path class="st0" d="M0 156v171.4h142.2V356H256v-28.6h256V156H0zm142.2 142.9h-28.4v-85.7H85.3v85.7H28.4V184.6h113.8v114.3zm142.2 0h-56.9v28.6h-56.9V184.6h113.8v114.3zm199.2 0h-28.4v-85.7h-28.4v85.7h-28.4v-85.7H370v85.7h-56.9V184.6h170.7v114.3z"/></svg>PK}w�\}��%ionicons/svg/ios-checkbox-outline.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M416 64H96c-17.7 0-32 14.3-32 32v320c0 17.7 14.3 32 32 32h320c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm4 348c0 4.4-3.6 8-8 8H100c-4.4 0-8-3.6-8-8V100c0-4.4 3.6-8 8-8h312c4.4 0 8 3.6 8 8v312z"/><path d="M363.6 192.9L346 174.8c-.7-.8-1.8-1.2-2.8-1.2-1.1 0-2.1.4-2.8 1.2l-122 122.9-44.4-44.4c-.8-.8-1.8-1.2-2.8-1.2-1 0-2 .4-2.8 1.2l-17.8 17.8c-1.6 1.6-1.6 4.1 0 5.7l56 56c3.6 3.6 8 5.7 11.7 5.7 5.3 0 9.9-3.9 11.6-5.5h.1l133.7-134.4c1.4-1.7 1.4-4.2-.1-5.7z"/></svg>PK}w�\���P:P:cheatsheet.htmlnu�[���<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Ionicons Cheatsheet</title> <style> * { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; margin: 0; padding: 0; } /* Eina Bold */ @font-face { font-family: 'Eina'; src: url('../assets/fonts/34E6DB_F_0.eot'); src: url('../assets/fonts/34E6DB_F_0.eot?#iefix') format('embedded-opentype'), url('../assets/fonts/34E6DB_F_0.woff2') format('woff2'), url('../assets/fonts/34E6DB_F_0.woff') format('woff'), url('../assets/fonts/34E6DB_F_0.ttf') format('truetype'); font-weight: 700; unicode-range: U+000-5FF; } /* Eina Regular */ @font-face { font-family: 'Eina'; src: url('../assets/fonts/34E6DB_D_0.eot'); src: url('../assets/fonts/34E6DB_D_0.eot?#iefix') format('embedded-opentype'), url('../assets/fonts/34E6DB_D_0.woff2') format('woff2'), url('../assets/fonts/34E6DB_D_0.woff') format('woff'), url('../assets/fonts/34E6DB_D_0.ttf') format('truetype'); font-weight: 400; unicode-range: U+000-5FF; } body { background: #fff; color: #444; font: 16px/1.5 'Eina', "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 400; } a, a:visited { color: #888; text-decoration: underline; } a:hover, a:focus { color: #000; } header { overflow: hidden; padding: 20px 0; } h1 { float: left; font-size: 24px; font-weight: 700; } main { margin: 0 auto; padding: 0 20px; width: 100%; } table { width: 100%; border-spacing: 0; } tr { padding: 0 0 10px; margin-bottom: 10px; } th, td { padding: 4px; width: 33%; border: 0; border-bottom: 1px solid #ddd; white-space: nowrap; text-align: left; } th { color: #888; } ion-icon { display: block; margin: 5px 0; font-size: 32px; } footer { color: #888; font-size: 12px; padding: 20px 0; } .heart { display: inline-block; padding-top: 4px; width: 18px; height: 18px; color: red; vertical-align: sub; } </style> <script src="ionicons.js"></script> </head> <body> <main> <header> <h1>Ionicons Cheatsheet, 318 icons</h1> </header> <table> <tr> <th> Icon Name </th> <th> iOS </th> <th> Material Design </th> </tr> <tr class="mode-row"> <td> add </td> <td class="align-center"> <ion-icon name="ios-add" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-add" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> add-circle </td> <td class="align-center"> <ion-icon name="ios-add-circle" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-add-circle" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> add-circle-outline </td> <td class="align-center"> <ion-icon name="ios-add-circle-outline" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-add-circle-outline" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> airplane </td> <td class="align-center"> <ion-icon name="ios-airplane" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-airplane" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> alarm </td> <td class="align-center"> <ion-icon name="ios-alarm" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-alarm" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> albums </td> <td class="align-center"> <ion-icon name="ios-albums" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-albums" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> alert </td> <td class="align-center"> <ion-icon name="ios-alert" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-alert" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> american-football </td> <td class="align-center"> <ion-icon name="ios-american-football" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-american-football" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> analytics </td> <td class="align-center"> <ion-icon name="ios-analytics" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-analytics" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> aperture </td> <td class="align-center"> <ion-icon name="ios-aperture" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-aperture" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> apps </td> <td class="align-center"> <ion-icon name="ios-apps" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-apps" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> appstore </td> <td class="align-center"> <ion-icon name="ios-appstore" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-appstore" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> archive </td> <td class="align-center"> <ion-icon name="ios-archive" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-archive" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> arrow-back </td> <td class="align-center"> <ion-icon name="ios-arrow-back" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-arrow-back" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> arrow-down </td> <td class="align-center"> <ion-icon name="ios-arrow-down" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-arrow-down" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> arrow-dropdown </td> <td class="align-center"> <ion-icon name="ios-arrow-dropdown" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-arrow-dropdown" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> arrow-dropdown-circle </td> <td class="align-center"> <ion-icon name="ios-arrow-dropdown-circle" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-arrow-dropdown-circle" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> arrow-dropleft </td> <td class="align-center"> <ion-icon name="ios-arrow-dropleft" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-arrow-dropleft" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> arrow-dropleft-circle </td> <td class="align-center"> <ion-icon name="ios-arrow-dropleft-circle" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-arrow-dropleft-circle" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> arrow-dropright </td> <td class="align-center"> <ion-icon name="ios-arrow-dropright" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-arrow-dropright" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> arrow-dropright-circle </td> <td class="align-center"> <ion-icon name="ios-arrow-dropright-circle" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-arrow-dropright-circle" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> arrow-dropup </td> <td class="align-center"> <ion-icon name="ios-arrow-dropup" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-arrow-dropup" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> arrow-dropup-circle </td> <td class="align-center"> <ion-icon name="ios-arrow-dropup-circle" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-arrow-dropup-circle" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> arrow-forward </td> <td class="align-center"> <ion-icon name="ios-arrow-forward" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-arrow-forward" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> arrow-round-back </td> <td class="align-center"> <ion-icon name="ios-arrow-round-back" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-arrow-round-back" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> arrow-round-down </td> <td class="align-center"> <ion-icon name="ios-arrow-round-down" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-arrow-round-down" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> arrow-round-forward </td> <td class="align-center"> <ion-icon name="ios-arrow-round-forward" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-arrow-round-forward" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> arrow-round-up </td> <td class="align-center"> <ion-icon name="ios-arrow-round-up" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-arrow-round-up" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> arrow-up </td> <td class="align-center"> <ion-icon name="ios-arrow-up" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-arrow-up" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> at </td> <td class="align-center"> <ion-icon name="ios-at" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-at" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> attach </td> <td class="align-center"> <ion-icon name="ios-attach" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-attach" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> backspace </td> <td class="align-center"> <ion-icon name="ios-backspace" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-backspace" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> barcode </td> <td class="align-center"> <ion-icon name="ios-barcode" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-barcode" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> baseball </td> <td class="align-center"> <ion-icon name="ios-baseball" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-baseball" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> basket </td> <td class="align-center"> <ion-icon name="ios-basket" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-basket" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> basketball </td> <td class="align-center"> <ion-icon name="ios-basketball" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-basketball" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> battery-charging </td> <td class="align-center"> <ion-icon name="ios-battery-charging" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-battery-charging" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> battery-dead </td> <td class="align-center"> <ion-icon name="ios-battery-dead" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-battery-dead" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> battery-full </td> <td class="align-center"> <ion-icon name="ios-battery-full" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-battery-full" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> beaker </td> <td class="align-center"> <ion-icon name="ios-beaker" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-beaker" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> bed </td> <td class="align-center"> <ion-icon name="ios-bed" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-bed" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> beer </td> <td class="align-center"> <ion-icon name="ios-beer" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-beer" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> bicycle </td> <td class="align-center"> <ion-icon name="ios-bicycle" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-bicycle" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> bluetooth </td> <td class="align-center"> <ion-icon name="ios-bluetooth" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-bluetooth" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> boat </td> <td class="align-center"> <ion-icon name="ios-boat" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-boat" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> body </td> <td class="align-center"> <ion-icon name="ios-body" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-body" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> bonfire </td> <td class="align-center"> <ion-icon name="ios-bonfire" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-bonfire" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> book </td> <td class="align-center"> <ion-icon name="ios-book" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-book" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> bookmark </td> <td class="align-center"> <ion-icon name="ios-bookmark" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-bookmark" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> bookmarks </td> <td class="align-center"> <ion-icon name="ios-bookmarks" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-bookmarks" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> bowtie </td> <td class="align-center"> <ion-icon name="ios-bowtie" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-bowtie" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> briefcase </td> <td class="align-center"> <ion-icon name="ios-briefcase" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-briefcase" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> browsers </td> <td class="align-center"> <ion-icon name="ios-browsers" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-browsers" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> brush </td> <td class="align-center"> <ion-icon name="ios-brush" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-brush" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> bug </td> <td class="align-center"> <ion-icon name="ios-bug" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-bug" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> build </td> <td class="align-center"> <ion-icon name="ios-build" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-build" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> bulb </td> <td class="align-center"> <ion-icon name="ios-bulb" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-bulb" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> bus </td> <td class="align-center"> <ion-icon name="ios-bus" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-bus" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> business </td> <td class="align-center"> <ion-icon name="ios-business" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-business" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> cafe </td> <td class="align-center"> <ion-icon name="ios-cafe" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-cafe" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> calculator </td> <td class="align-center"> <ion-icon name="ios-calculator" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-calculator" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> calendar </td> <td class="align-center"> <ion-icon name="ios-calendar" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-calendar" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> call </td> <td class="align-center"> <ion-icon name="ios-call" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-call" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> camera </td> <td class="align-center"> <ion-icon name="ios-camera" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-camera" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> car </td> <td class="align-center"> <ion-icon name="ios-car" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-car" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> card </td> <td class="align-center"> <ion-icon name="ios-card" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-card" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> cart </td> <td class="align-center"> <ion-icon name="ios-cart" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-cart" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> cash </td> <td class="align-center"> <ion-icon name="ios-cash" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-cash" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> cellular </td> <td class="align-center"> <ion-icon name="ios-cellular" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-cellular" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> chatboxes </td> <td class="align-center"> <ion-icon name="ios-chatboxes" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-chatboxes" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> chatbubbles </td> <td class="align-center"> <ion-icon name="ios-chatbubbles" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-chatbubbles" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> checkbox </td> <td class="align-center"> <ion-icon name="ios-checkbox" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-checkbox" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> checkbox-outline </td> <td class="align-center"> <ion-icon name="ios-checkbox-outline" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-checkbox-outline" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> checkmark </td> <td class="align-center"> <ion-icon name="ios-checkmark" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-checkmark" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> checkmark-circle </td> <td class="align-center"> <ion-icon name="ios-checkmark-circle" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-checkmark-circle" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> checkmark-circle-outline </td> <td class="align-center"> <ion-icon name="ios-checkmark-circle-outline" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-checkmark-circle-outline" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> clipboard </td> <td class="align-center"> <ion-icon name="ios-clipboard" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-clipboard" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> clock </td> <td class="align-center"> <ion-icon name="ios-clock" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-clock" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> close </td> <td class="align-center"> <ion-icon name="ios-close" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-close" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> close-circle </td> <td class="align-center"> <ion-icon name="ios-close-circle" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-close-circle" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> close-circle-outline </td> <td class="align-center"> <ion-icon name="ios-close-circle-outline" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-close-circle-outline" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> cloud </td> <td class="align-center"> <ion-icon name="ios-cloud" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-cloud" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> cloud-circle </td> <td class="align-center"> <ion-icon name="ios-cloud-circle" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-cloud-circle" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> cloud-done </td> <td class="align-center"> <ion-icon name="ios-cloud-done" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-cloud-done" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> cloud-download </td> <td class="align-center"> <ion-icon name="ios-cloud-download" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-cloud-download" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> cloud-outline </td> <td class="align-center"> <ion-icon name="ios-cloud-outline" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-cloud-outline" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> cloud-upload </td> <td class="align-center"> <ion-icon name="ios-cloud-upload" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-cloud-upload" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> cloudy </td> <td class="align-center"> <ion-icon name="ios-cloudy" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-cloudy" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> cloudy-night </td> <td class="align-center"> <ion-icon name="ios-cloudy-night" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-cloudy-night" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> code </td> <td class="align-center"> <ion-icon name="ios-code" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-code" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> code-download </td> <td class="align-center"> <ion-icon name="ios-code-download" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-code-download" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> code-working </td> <td class="align-center"> <ion-icon name="ios-code-working" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-code-working" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> cog </td> <td class="align-center"> <ion-icon name="ios-cog" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-cog" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> color-fill </td> <td class="align-center"> <ion-icon name="ios-color-fill" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-color-fill" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> color-filter </td> <td class="align-center"> <ion-icon name="ios-color-filter" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-color-filter" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> color-palette </td> <td class="align-center"> <ion-icon name="ios-color-palette" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-color-palette" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> color-wand </td> <td class="align-center"> <ion-icon name="ios-color-wand" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-color-wand" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> compass </td> <td class="align-center"> <ion-icon name="ios-compass" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-compass" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> construct </td> <td class="align-center"> <ion-icon name="ios-construct" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-construct" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> contact </td> <td class="align-center"> <ion-icon name="ios-contact" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-contact" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> contacts </td> <td class="align-center"> <ion-icon name="ios-contacts" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-contacts" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> contract </td> <td class="align-center"> <ion-icon name="ios-contract" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-contract" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> contrast </td> <td class="align-center"> <ion-icon name="ios-contrast" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-contrast" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> copy </td> <td class="align-center"> <ion-icon name="ios-copy" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-copy" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> create </td> <td class="align-center"> <ion-icon name="ios-create" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-create" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> crop </td> <td class="align-center"> <ion-icon name="ios-crop" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-crop" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> cube </td> <td class="align-center"> <ion-icon name="ios-cube" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-cube" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> cut </td> <td class="align-center"> <ion-icon name="ios-cut" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-cut" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> desktop </td> <td class="align-center"> <ion-icon name="ios-desktop" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-desktop" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> disc </td> <td class="align-center"> <ion-icon name="ios-disc" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-disc" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> document </td> <td class="align-center"> <ion-icon name="ios-document" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-document" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> done-all </td> <td class="align-center"> <ion-icon name="ios-done-all" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-done-all" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> download </td> <td class="align-center"> <ion-icon name="ios-download" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-download" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> easel </td> <td class="align-center"> <ion-icon name="ios-easel" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-easel" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> egg </td> <td class="align-center"> <ion-icon name="ios-egg" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-egg" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> exit </td> <td class="align-center"> <ion-icon name="ios-exit" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-exit" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> expand </td> <td class="align-center"> <ion-icon name="ios-expand" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-expand" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> eye </td> <td class="align-center"> <ion-icon name="ios-eye" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-eye" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> eye-off </td> <td class="align-center"> <ion-icon name="ios-eye-off" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-eye-off" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> fastforward </td> <td class="align-center"> <ion-icon name="ios-fastforward" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-fastforward" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> female </td> <td class="align-center"> <ion-icon name="ios-female" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-female" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> filing </td> <td class="align-center"> <ion-icon name="ios-filing" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-filing" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> film </td> <td class="align-center"> <ion-icon name="ios-film" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-film" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> finger-print </td> <td class="align-center"> <ion-icon name="ios-finger-print" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-finger-print" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> fitness </td> <td class="align-center"> <ion-icon name="ios-fitness" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-fitness" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> flag </td> <td class="align-center"> <ion-icon name="ios-flag" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-flag" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> flame </td> <td class="align-center"> <ion-icon name="ios-flame" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-flame" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> flash </td> <td class="align-center"> <ion-icon name="ios-flash" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-flash" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> flash-off </td> <td class="align-center"> <ion-icon name="ios-flash-off" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-flash-off" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> flashlight </td> <td class="align-center"> <ion-icon name="ios-flashlight" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-flashlight" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> flask </td> <td class="align-center"> <ion-icon name="ios-flask" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-flask" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> flower </td> <td class="align-center"> <ion-icon name="ios-flower" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-flower" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> folder </td> <td class="align-center"> <ion-icon name="ios-folder" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-folder" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> folder-open </td> <td class="align-center"> <ion-icon name="ios-folder-open" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-folder-open" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> football </td> <td class="align-center"> <ion-icon name="ios-football" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-football" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> funnel </td> <td class="align-center"> <ion-icon name="ios-funnel" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-funnel" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> gift </td> <td class="align-center"> <ion-icon name="ios-gift" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-gift" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> git-branch </td> <td class="align-center"> <ion-icon name="ios-git-branch" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-git-branch" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> git-commit </td> <td class="align-center"> <ion-icon name="ios-git-commit" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-git-commit" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> git-compare </td> <td class="align-center"> <ion-icon name="ios-git-compare" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-git-compare" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> git-merge </td> <td class="align-center"> <ion-icon name="ios-git-merge" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-git-merge" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> git-network </td> <td class="align-center"> <ion-icon name="ios-git-network" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-git-network" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> git-pull-request </td> <td class="align-center"> <ion-icon name="ios-git-pull-request" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-git-pull-request" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> glasses </td> <td class="align-center"> <ion-icon name="ios-glasses" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-glasses" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> globe </td> <td class="align-center"> <ion-icon name="ios-globe" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-globe" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> grid </td> <td class="align-center"> <ion-icon name="ios-grid" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-grid" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> hammer </td> <td class="align-center"> <ion-icon name="ios-hammer" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-hammer" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> hand </td> <td class="align-center"> <ion-icon name="ios-hand" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-hand" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> happy </td> <td class="align-center"> <ion-icon name="ios-happy" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-happy" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> headset </td> <td class="align-center"> <ion-icon name="ios-headset" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-headset" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> heart </td> <td class="align-center"> <ion-icon name="ios-heart" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-heart" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> heart-dislike </td> <td class="align-center"> <ion-icon name="ios-heart-dislike" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-heart-dislike" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> heart-empty </td> <td class="align-center"> <ion-icon name="ios-heart-empty" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-heart-empty" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> heart-half </td> <td class="align-center"> <ion-icon name="ios-heart-half" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-heart-half" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> help </td> <td class="align-center"> <ion-icon name="ios-help" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-help" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> help-buoy </td> <td class="align-center"> <ion-icon name="ios-help-buoy" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-help-buoy" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> help-circle </td> <td class="align-center"> <ion-icon name="ios-help-circle" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-help-circle" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> help-circle-outline </td> <td class="align-center"> <ion-icon name="ios-help-circle-outline" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-help-circle-outline" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> home </td> <td class="align-center"> <ion-icon name="ios-home" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-home" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> hourglass </td> <td class="align-center"> <ion-icon name="ios-hourglass" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-hourglass" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> ice-cream </td> <td class="align-center"> <ion-icon name="ios-ice-cream" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-ice-cream" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> image </td> <td class="align-center"> <ion-icon name="ios-image" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-image" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> images </td> <td class="align-center"> <ion-icon name="ios-images" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-images" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> infinite </td> <td class="align-center"> <ion-icon name="ios-infinite" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-infinite" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> information </td> <td class="align-center"> <ion-icon name="ios-information" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-information" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> information-circle </td> <td class="align-center"> <ion-icon name="ios-information-circle" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-information-circle" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> information-circle-outline </td> <td class="align-center"> <ion-icon name="ios-information-circle-outline" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-information-circle-outline" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> jet </td> <td class="align-center"> <ion-icon name="ios-jet" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-jet" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> journal </td> <td class="align-center"> <ion-icon name="ios-journal" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-journal" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> key </td> <td class="align-center"> <ion-icon name="ios-key" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-key" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> keypad </td> <td class="align-center"> <ion-icon name="ios-keypad" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-keypad" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> laptop </td> <td class="align-center"> <ion-icon name="ios-laptop" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-laptop" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> leaf </td> <td class="align-center"> <ion-icon name="ios-leaf" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-leaf" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> link </td> <td class="align-center"> <ion-icon name="ios-link" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-link" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> list </td> <td class="align-center"> <ion-icon name="ios-list" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-list" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> list-box </td> <td class="align-center"> <ion-icon name="ios-list-box" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-list-box" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> locate </td> <td class="align-center"> <ion-icon name="ios-locate" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-locate" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> lock </td> <td class="align-center"> <ion-icon name="ios-lock" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-lock" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> log-in </td> <td class="align-center"> <ion-icon name="ios-log-in" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-log-in" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> log-out </td> <td class="align-center"> <ion-icon name="ios-log-out" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-log-out" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> magnet </td> <td class="align-center"> <ion-icon name="ios-magnet" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-magnet" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> mail </td> <td class="align-center"> <ion-icon name="ios-mail" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-mail" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> mail-open </td> <td class="align-center"> <ion-icon name="ios-mail-open" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-mail-open" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> mail-unread </td> <td class="align-center"> <ion-icon name="ios-mail-unread" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-mail-unread" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> male </td> <td class="align-center"> <ion-icon name="ios-male" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-male" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> man </td> <td class="align-center"> <ion-icon name="ios-man" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-man" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> map </td> <td class="align-center"> <ion-icon name="ios-map" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-map" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> medal </td> <td class="align-center"> <ion-icon name="ios-medal" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-medal" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> medical </td> <td class="align-center"> <ion-icon name="ios-medical" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-medical" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> medkit </td> <td class="align-center"> <ion-icon name="ios-medkit" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-medkit" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> megaphone </td> <td class="align-center"> <ion-icon name="ios-megaphone" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-megaphone" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> menu </td> <td class="align-center"> <ion-icon name="ios-menu" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-menu" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> mic </td> <td class="align-center"> <ion-icon name="ios-mic" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-mic" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> mic-off </td> <td class="align-center"> <ion-icon name="ios-mic-off" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-mic-off" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> microphone </td> <td class="align-center"> <ion-icon name="ios-microphone" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-microphone" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> moon </td> <td class="align-center"> <ion-icon name="ios-moon" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-moon" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> more </td> <td class="align-center"> <ion-icon name="ios-more" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-more" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> move </td> <td class="align-center"> <ion-icon name="ios-move" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-move" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> musical-note </td> <td class="align-center"> <ion-icon name="ios-musical-note" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-musical-note" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> musical-notes </td> <td class="align-center"> <ion-icon name="ios-musical-notes" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-musical-notes" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> navigate </td> <td class="align-center"> <ion-icon name="ios-navigate" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-navigate" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> notifications </td> <td class="align-center"> <ion-icon name="ios-notifications" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-notifications" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> notifications-off </td> <td class="align-center"> <ion-icon name="ios-notifications-off" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-notifications-off" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> notifications-outline </td> <td class="align-center"> <ion-icon name="ios-notifications-outline" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-notifications-outline" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> nuclear </td> <td class="align-center"> <ion-icon name="ios-nuclear" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-nuclear" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> nutrition </td> <td class="align-center"> <ion-icon name="ios-nutrition" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-nutrition" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> open </td> <td class="align-center"> <ion-icon name="ios-open" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-open" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> options </td> <td class="align-center"> <ion-icon name="ios-options" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-options" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> outlet </td> <td class="align-center"> <ion-icon name="ios-outlet" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-outlet" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> paper </td> <td class="align-center"> <ion-icon name="ios-paper" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-paper" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> paper-plane </td> <td class="align-center"> <ion-icon name="ios-paper-plane" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-paper-plane" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> partly-sunny </td> <td class="align-center"> <ion-icon name="ios-partly-sunny" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-partly-sunny" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> pause </td> <td class="align-center"> <ion-icon name="ios-pause" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-pause" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> paw </td> <td class="align-center"> <ion-icon name="ios-paw" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-paw" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> people </td> <td class="align-center"> <ion-icon name="ios-people" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-people" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> person </td> <td class="align-center"> <ion-icon name="ios-person" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-person" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> person-add </td> <td class="align-center"> <ion-icon name="ios-person-add" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-person-add" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> phone-landscape </td> <td class="align-center"> <ion-icon name="ios-phone-landscape" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-phone-landscape" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> phone-portrait </td> <td class="align-center"> <ion-icon name="ios-phone-portrait" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-phone-portrait" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> photos </td> <td class="align-center"> <ion-icon name="ios-photos" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-photos" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> pie </td> <td class="align-center"> <ion-icon name="ios-pie" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-pie" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> pin </td> <td class="align-center"> <ion-icon name="ios-pin" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-pin" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> pint </td> <td class="align-center"> <ion-icon name="ios-pint" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-pint" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> pizza </td> <td class="align-center"> <ion-icon name="ios-pizza" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-pizza" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> planet </td> <td class="align-center"> <ion-icon name="ios-planet" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-planet" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> play </td> <td class="align-center"> <ion-icon name="ios-play" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-play" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> play-circle </td> <td class="align-center"> <ion-icon name="ios-play-circle" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-play-circle" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> podium </td> <td class="align-center"> <ion-icon name="ios-podium" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-podium" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> power </td> <td class="align-center"> <ion-icon name="ios-power" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-power" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> pricetag </td> <td class="align-center"> <ion-icon name="ios-pricetag" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-pricetag" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> pricetags </td> <td class="align-center"> <ion-icon name="ios-pricetags" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-pricetags" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> print </td> <td class="align-center"> <ion-icon name="ios-print" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-print" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> pulse </td> <td class="align-center"> <ion-icon name="ios-pulse" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-pulse" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> qr-scanner </td> <td class="align-center"> <ion-icon name="ios-qr-scanner" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-qr-scanner" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> quote </td> <td class="align-center"> <ion-icon name="ios-quote" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-quote" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> radio </td> <td class="align-center"> <ion-icon name="ios-radio" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-radio" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> radio-button-off </td> <td class="align-center"> <ion-icon name="ios-radio-button-off" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-radio-button-off" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> radio-button-on </td> <td class="align-center"> <ion-icon name="ios-radio-button-on" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-radio-button-on" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> rainy </td> <td class="align-center"> <ion-icon name="ios-rainy" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-rainy" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> recording </td> <td class="align-center"> <ion-icon name="ios-recording" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-recording" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> redo </td> <td class="align-center"> <ion-icon name="ios-redo" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-redo" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> refresh </td> <td class="align-center"> <ion-icon name="ios-refresh" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-refresh" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> refresh-circle </td> <td class="align-center"> <ion-icon name="ios-refresh-circle" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-refresh-circle" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> remove </td> <td class="align-center"> <ion-icon name="ios-remove" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-remove" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> remove-circle </td> <td class="align-center"> <ion-icon name="ios-remove-circle" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-remove-circle" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> remove-circle-outline </td> <td class="align-center"> <ion-icon name="ios-remove-circle-outline" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-remove-circle-outline" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> reorder </td> <td class="align-center"> <ion-icon name="ios-reorder" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-reorder" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> repeat </td> <td class="align-center"> <ion-icon name="ios-repeat" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-repeat" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> resize </td> <td class="align-center"> <ion-icon name="ios-resize" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-resize" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> restaurant </td> <td class="align-center"> <ion-icon name="ios-restaurant" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-restaurant" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> return-left </td> <td class="align-center"> <ion-icon name="ios-return-left" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-return-left" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> return-right </td> <td class="align-center"> <ion-icon name="ios-return-right" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-return-right" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> reverse-camera </td> <td class="align-center"> <ion-icon name="ios-reverse-camera" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-reverse-camera" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> rewind </td> <td class="align-center"> <ion-icon name="ios-rewind" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-rewind" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> ribbon </td> <td class="align-center"> <ion-icon name="ios-ribbon" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-ribbon" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> rocket </td> <td class="align-center"> <ion-icon name="ios-rocket" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-rocket" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> rose </td> <td class="align-center"> <ion-icon name="ios-rose" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-rose" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> sad </td> <td class="align-center"> <ion-icon name="ios-sad" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-sad" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> save </td> <td class="align-center"> <ion-icon name="ios-save" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-save" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> school </td> <td class="align-center"> <ion-icon name="ios-school" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-school" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> search </td> <td class="align-center"> <ion-icon name="ios-search" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-search" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> send </td> <td class="align-center"> <ion-icon name="ios-send" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-send" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> settings </td> <td class="align-center"> <ion-icon name="ios-settings" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-settings" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> share </td> <td class="align-center"> <ion-icon name="ios-share" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-share" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> share-alt </td> <td class="align-center"> <ion-icon name="ios-share-alt" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-share-alt" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> shirt </td> <td class="align-center"> <ion-icon name="ios-shirt" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-shirt" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> shuffle </td> <td class="align-center"> <ion-icon name="ios-shuffle" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-shuffle" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> skip-backward </td> <td class="align-center"> <ion-icon name="ios-skip-backward" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-skip-backward" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> skip-forward </td> <td class="align-center"> <ion-icon name="ios-skip-forward" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-skip-forward" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> snow </td> <td class="align-center"> <ion-icon name="ios-snow" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-snow" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> speedometer </td> <td class="align-center"> <ion-icon name="ios-speedometer" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-speedometer" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> square </td> <td class="align-center"> <ion-icon name="ios-square" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-square" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> square-outline </td> <td class="align-center"> <ion-icon name="ios-square-outline" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-square-outline" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> star </td> <td class="align-center"> <ion-icon name="ios-star" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-star" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> star-half </td> <td class="align-center"> <ion-icon name="ios-star-half" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-star-half" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> star-outline </td> <td class="align-center"> <ion-icon name="ios-star-outline" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-star-outline" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> stats </td> <td class="align-center"> <ion-icon name="ios-stats" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-stats" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> stopwatch </td> <td class="align-center"> <ion-icon name="ios-stopwatch" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-stopwatch" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> subway </td> <td class="align-center"> <ion-icon name="ios-subway" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-subway" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> sunny </td> <td class="align-center"> <ion-icon name="ios-sunny" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-sunny" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> swap </td> <td class="align-center"> <ion-icon name="ios-swap" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-swap" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> switch </td> <td class="align-center"> <ion-icon name="ios-switch" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-switch" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> sync </td> <td class="align-center"> <ion-icon name="ios-sync" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-sync" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> tablet-landscape </td> <td class="align-center"> <ion-icon name="ios-tablet-landscape" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-tablet-landscape" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> tablet-portrait </td> <td class="align-center"> <ion-icon name="ios-tablet-portrait" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-tablet-portrait" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> tennisball </td> <td class="align-center"> <ion-icon name="ios-tennisball" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-tennisball" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> text </td> <td class="align-center"> <ion-icon name="ios-text" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-text" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> thermometer </td> <td class="align-center"> <ion-icon name="ios-thermometer" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-thermometer" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> thumbs-down </td> <td class="align-center"> <ion-icon name="ios-thumbs-down" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-thumbs-down" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> thumbs-up </td> <td class="align-center"> <ion-icon name="ios-thumbs-up" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-thumbs-up" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> thunderstorm </td> <td class="align-center"> <ion-icon name="ios-thunderstorm" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-thunderstorm" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> time </td> <td class="align-center"> <ion-icon name="ios-time" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-time" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> timer </td> <td class="align-center"> <ion-icon name="ios-timer" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-timer" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> today </td> <td class="align-center"> <ion-icon name="ios-today" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-today" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> train </td> <td class="align-center"> <ion-icon name="ios-train" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-train" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> transgender </td> <td class="align-center"> <ion-icon name="ios-transgender" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-transgender" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> trash </td> <td class="align-center"> <ion-icon name="ios-trash" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-trash" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> trending-down </td> <td class="align-center"> <ion-icon name="ios-trending-down" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-trending-down" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> trending-up </td> <td class="align-center"> <ion-icon name="ios-trending-up" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-trending-up" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> trophy </td> <td class="align-center"> <ion-icon name="ios-trophy" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-trophy" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> tv </td> <td class="align-center"> <ion-icon name="ios-tv" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-tv" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> umbrella </td> <td class="align-center"> <ion-icon name="ios-umbrella" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-umbrella" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> undo </td> <td class="align-center"> <ion-icon name="ios-undo" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-undo" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> unlock </td> <td class="align-center"> <ion-icon name="ios-unlock" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-unlock" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> videocam </td> <td class="align-center"> <ion-icon name="ios-videocam" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-videocam" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> volume-high </td> <td class="align-center"> <ion-icon name="ios-volume-high" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-volume-high" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> volume-low </td> <td class="align-center"> <ion-icon name="ios-volume-low" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-volume-low" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> volume-mute </td> <td class="align-center"> <ion-icon name="ios-volume-mute" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-volume-mute" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> volume-off </td> <td class="align-center"> <ion-icon name="ios-volume-off" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-volume-off" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> walk </td> <td class="align-center"> <ion-icon name="ios-walk" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-walk" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> wallet </td> <td class="align-center"> <ion-icon name="ios-wallet" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-wallet" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> warning </td> <td class="align-center"> <ion-icon name="ios-warning" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-warning" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> watch </td> <td class="align-center"> <ion-icon name="ios-watch" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-watch" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> water </td> <td class="align-center"> <ion-icon name="ios-water" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-water" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> wifi </td> <td class="align-center"> <ion-icon name="ios-wifi" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-wifi" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> wine </td> <td class="align-center"> <ion-icon name="ios-wine" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-wine" lazy></ion-icon> </div> </tr> <tr class="mode-row"> <td> woman </td> <td class="align-center"> <ion-icon name="ios-woman" lazy></ion-icon> </div> <td class="align-center"> <ion-icon name="md-woman" lazy></ion-icon> </div> </tr> </table> <footer> Made with <ion-icon class="heart" name="md-heart"></ion-icon> by the <a href="http://ionicframework.com/">Ionic Team</a> </footer> </main> </body> </html> PK}w�\I~��H�Hscss/ionicons-common.scssnu�[���@charset "UTF-8"; // Ionicons Common CSS // -------------------------- .ionicons, .ion-ios-add:before, .ion-ios-add-circle:before, .ion-ios-add-circle-outline:before, .ion-ios-airplane:before, .ion-ios-alarm:before, .ion-ios-albums:before, .ion-ios-alert:before, .ion-ios-american-football:before, .ion-ios-analytics:before, .ion-ios-aperture:before, .ion-ios-apps:before, .ion-ios-appstore:before, .ion-ios-archive:before, .ion-ios-arrow-back:before, .ion-ios-arrow-down:before, .ion-ios-arrow-dropdown:before, .ion-ios-arrow-dropdown-circle:before, .ion-ios-arrow-dropleft:before, .ion-ios-arrow-dropleft-circle:before, .ion-ios-arrow-dropright:before, .ion-ios-arrow-dropright-circle:before, .ion-ios-arrow-dropup:before, .ion-ios-arrow-dropup-circle:before, .ion-ios-arrow-forward:before, .ion-ios-arrow-round-back:before, .ion-ios-arrow-round-down:before, .ion-ios-arrow-round-forward:before, .ion-ios-arrow-round-up:before, .ion-ios-arrow-up:before, .ion-ios-at:before, .ion-ios-attach:before, .ion-ios-backspace:before, .ion-ios-barcode:before, .ion-ios-baseball:before, .ion-ios-basket:before, .ion-ios-basketball:before, .ion-ios-battery-charging:before, .ion-ios-battery-dead:before, .ion-ios-battery-full:before, .ion-ios-beaker:before, .ion-ios-bed:before, .ion-ios-beer:before, .ion-ios-bicycle:before, .ion-ios-bluetooth:before, .ion-ios-boat:before, .ion-ios-body:before, .ion-ios-bonfire:before, .ion-ios-book:before, .ion-ios-bookmark:before, .ion-ios-bookmarks:before, .ion-ios-bowtie:before, .ion-ios-briefcase:before, .ion-ios-browsers:before, .ion-ios-brush:before, .ion-ios-bug:before, .ion-ios-build:before, .ion-ios-bulb:before, .ion-ios-bus:before, .ion-ios-business:before, .ion-ios-cafe:before, .ion-ios-calculator:before, .ion-ios-calendar:before, .ion-ios-call:before, .ion-ios-camera:before, .ion-ios-car:before, .ion-ios-card:before, .ion-ios-cart:before, .ion-ios-cash:before, .ion-ios-cellular:before, .ion-ios-chatboxes:before, .ion-ios-chatbubbles:before, .ion-ios-checkbox:before, .ion-ios-checkbox-outline:before, .ion-ios-checkmark:before, .ion-ios-checkmark-circle:before, .ion-ios-checkmark-circle-outline:before, .ion-ios-clipboard:before, .ion-ios-clock:before, .ion-ios-close:before, .ion-ios-close-circle:before, .ion-ios-close-circle-outline:before, .ion-ios-cloud:before, .ion-ios-cloud-circle:before, .ion-ios-cloud-done:before, .ion-ios-cloud-download:before, .ion-ios-cloud-outline:before, .ion-ios-cloud-upload:before, .ion-ios-cloudy:before, .ion-ios-cloudy-night:before, .ion-ios-code:before, .ion-ios-code-download:before, .ion-ios-code-working:before, .ion-ios-cog:before, .ion-ios-color-fill:before, .ion-ios-color-filter:before, .ion-ios-color-palette:before, .ion-ios-color-wand:before, .ion-ios-compass:before, .ion-ios-construct:before, .ion-ios-contact:before, .ion-ios-contacts:before, .ion-ios-contract:before, .ion-ios-contrast:before, .ion-ios-copy:before, .ion-ios-create:before, .ion-ios-crop:before, .ion-ios-cube:before, .ion-ios-cut:before, .ion-ios-desktop:before, .ion-ios-disc:before, .ion-ios-document:before, .ion-ios-done-all:before, .ion-ios-download:before, .ion-ios-easel:before, .ion-ios-egg:before, .ion-ios-exit:before, .ion-ios-expand:before, .ion-ios-eye:before, .ion-ios-eye-off:before, .ion-ios-fastforward:before, .ion-ios-female:before, .ion-ios-filing:before, .ion-ios-film:before, .ion-ios-finger-print:before, .ion-ios-fitness:before, .ion-ios-flag:before, .ion-ios-flame:before, .ion-ios-flash:before, .ion-ios-flash-off:before, .ion-ios-flashlight:before, .ion-ios-flask:before, .ion-ios-flower:before, .ion-ios-folder:before, .ion-ios-folder-open:before, .ion-ios-football:before, .ion-ios-funnel:before, .ion-ios-gift:before, .ion-ios-git-branch:before, .ion-ios-git-commit:before, .ion-ios-git-compare:before, .ion-ios-git-merge:before, .ion-ios-git-network:before, .ion-ios-git-pull-request:before, .ion-ios-glasses:before, .ion-ios-globe:before, .ion-ios-grid:before, .ion-ios-hammer:before, .ion-ios-hand:before, .ion-ios-happy:before, .ion-ios-headset:before, .ion-ios-heart:before, .ion-ios-heart-dislike:before, .ion-ios-heart-empty:before, .ion-ios-heart-half:before, .ion-ios-help:before, .ion-ios-help-buoy:before, .ion-ios-help-circle:before, .ion-ios-help-circle-outline:before, .ion-ios-home:before, .ion-ios-hourglass:before, .ion-ios-ice-cream:before, .ion-ios-image:before, .ion-ios-images:before, .ion-ios-infinite:before, .ion-ios-information:before, .ion-ios-information-circle:before, .ion-ios-information-circle-outline:before, .ion-ios-jet:before, .ion-ios-journal:before, .ion-ios-key:before, .ion-ios-keypad:before, .ion-ios-laptop:before, .ion-ios-leaf:before, .ion-ios-link:before, .ion-ios-list:before, .ion-ios-list-box:before, .ion-ios-locate:before, .ion-ios-lock:before, .ion-ios-log-in:before, .ion-ios-log-out:before, .ion-ios-magnet:before, .ion-ios-mail:before, .ion-ios-mail-open:before, .ion-ios-mail-unread:before, .ion-ios-male:before, .ion-ios-man:before, .ion-ios-map:before, .ion-ios-medal:before, .ion-ios-medical:before, .ion-ios-medkit:before, .ion-ios-megaphone:before, .ion-ios-menu:before, .ion-ios-mic:before, .ion-ios-mic-off:before, .ion-ios-microphone:before, .ion-ios-moon:before, .ion-ios-more:before, .ion-ios-move:before, .ion-ios-musical-note:before, .ion-ios-musical-notes:before, .ion-ios-navigate:before, .ion-ios-notifications:before, .ion-ios-notifications-off:before, .ion-ios-notifications-outline:before, .ion-ios-nuclear:before, .ion-ios-nutrition:before, .ion-ios-open:before, .ion-ios-options:before, .ion-ios-outlet:before, .ion-ios-paper:before, .ion-ios-paper-plane:before, .ion-ios-partly-sunny:before, .ion-ios-pause:before, .ion-ios-paw:before, .ion-ios-people:before, .ion-ios-person:before, .ion-ios-person-add:before, .ion-ios-phone-landscape:before, .ion-ios-phone-portrait:before, .ion-ios-photos:before, .ion-ios-pie:before, .ion-ios-pin:before, .ion-ios-pint:before, .ion-ios-pizza:before, .ion-ios-planet:before, .ion-ios-play:before, .ion-ios-play-circle:before, .ion-ios-podium:before, .ion-ios-power:before, .ion-ios-pricetag:before, .ion-ios-pricetags:before, .ion-ios-print:before, .ion-ios-pulse:before, .ion-ios-qr-scanner:before, .ion-ios-quote:before, .ion-ios-radio:before, .ion-ios-radio-button-off:before, .ion-ios-radio-button-on:before, .ion-ios-rainy:before, .ion-ios-recording:before, .ion-ios-redo:before, .ion-ios-refresh:before, .ion-ios-refresh-circle:before, .ion-ios-remove:before, .ion-ios-remove-circle:before, .ion-ios-remove-circle-outline:before, .ion-ios-reorder:before, .ion-ios-repeat:before, .ion-ios-resize:before, .ion-ios-restaurant:before, .ion-ios-return-left:before, .ion-ios-return-right:before, .ion-ios-reverse-camera:before, .ion-ios-rewind:before, .ion-ios-ribbon:before, .ion-ios-rocket:before, .ion-ios-rose:before, .ion-ios-sad:before, .ion-ios-save:before, .ion-ios-school:before, .ion-ios-search:before, .ion-ios-send:before, .ion-ios-settings:before, .ion-ios-share:before, .ion-ios-share-alt:before, .ion-ios-shirt:before, .ion-ios-shuffle:before, .ion-ios-skip-backward:before, .ion-ios-skip-forward:before, .ion-ios-snow:before, .ion-ios-speedometer:before, .ion-ios-square:before, .ion-ios-square-outline:before, .ion-ios-star:before, .ion-ios-star-half:before, .ion-ios-star-outline:before, .ion-ios-stats:before, .ion-ios-stopwatch:before, .ion-ios-subway:before, .ion-ios-sunny:before, .ion-ios-swap:before, .ion-ios-switch:before, .ion-ios-sync:before, .ion-ios-tablet-landscape:before, .ion-ios-tablet-portrait:before, .ion-ios-tennisball:before, .ion-ios-text:before, .ion-ios-thermometer:before, .ion-ios-thumbs-down:before, .ion-ios-thumbs-up:before, .ion-ios-thunderstorm:before, .ion-ios-time:before, .ion-ios-timer:before, .ion-ios-today:before, .ion-ios-train:before, .ion-ios-transgender:before, .ion-ios-trash:before, .ion-ios-trending-down:before, .ion-ios-trending-up:before, .ion-ios-trophy:before, .ion-ios-tv:before, .ion-ios-umbrella:before, .ion-ios-undo:before, .ion-ios-unlock:before, .ion-ios-videocam:before, .ion-ios-volume-high:before, .ion-ios-volume-low:before, .ion-ios-volume-mute:before, .ion-ios-volume-off:before, .ion-ios-walk:before, .ion-ios-wallet:before, .ion-ios-warning:before, .ion-ios-watch:before, .ion-ios-water:before, .ion-ios-wifi:before, .ion-ios-wine:before, .ion-ios-woman:before, .ion-logo-android:before, .ion-logo-angular:before, .ion-logo-apple:before, .ion-logo-bitbucket:before, .ion-logo-bitcoin:before, .ion-logo-buffer:before, .ion-logo-chrome:before, .ion-logo-closed-captioning:before, .ion-logo-codepen:before, .ion-logo-css3:before, .ion-logo-designernews:before, .ion-logo-dribbble:before, .ion-logo-dropbox:before, .ion-logo-euro:before, .ion-logo-facebook:before, .ion-logo-flickr:before, .ion-logo-foursquare:before, .ion-logo-freebsd-devil:before, .ion-logo-game-controller-a:before, .ion-logo-game-controller-b:before, .ion-logo-github:before, .ion-logo-google:before, .ion-logo-googleplus:before, .ion-logo-hackernews:before, .ion-logo-html5:before, .ion-logo-instagram:before, .ion-logo-ionic:before, .ion-logo-ionitron:before, .ion-logo-javascript:before, .ion-logo-linkedin:before, .ion-logo-markdown:before, .ion-logo-model-s:before, .ion-logo-no-smoking:before, .ion-logo-nodejs:before, .ion-logo-npm:before, .ion-logo-octocat:before, .ion-logo-pinterest:before, .ion-logo-playstation:before, .ion-logo-polymer:before, .ion-logo-python:before, .ion-logo-reddit:before, .ion-logo-rss:before, .ion-logo-sass:before, .ion-logo-skype:before, .ion-logo-slack:before, .ion-logo-snapchat:before, .ion-logo-steam:before, .ion-logo-tumblr:before, .ion-logo-tux:before, .ion-logo-twitch:before, .ion-logo-twitter:before, .ion-logo-usd:before, .ion-logo-vimeo:before, .ion-logo-vk:before, .ion-logo-whatsapp:before, .ion-logo-windows:before, .ion-logo-wordpress:before, .ion-logo-xbox:before, .ion-logo-xing:before, .ion-logo-yahoo:before, .ion-logo-yen:before, .ion-logo-youtube:before, .ion-md-add:before, .ion-md-add-circle:before, .ion-md-add-circle-outline:before, .ion-md-airplane:before, .ion-md-alarm:before, .ion-md-albums:before, .ion-md-alert:before, .ion-md-american-football:before, .ion-md-analytics:before, .ion-md-aperture:before, .ion-md-apps:before, .ion-md-appstore:before, .ion-md-archive:before, .ion-md-arrow-back:before, .ion-md-arrow-down:before, .ion-md-arrow-dropdown:before, .ion-md-arrow-dropdown-circle:before, .ion-md-arrow-dropleft:before, .ion-md-arrow-dropleft-circle:before, .ion-md-arrow-dropright:before, .ion-md-arrow-dropright-circle:before, .ion-md-arrow-dropup:before, .ion-md-arrow-dropup-circle:before, .ion-md-arrow-forward:before, .ion-md-arrow-round-back:before, .ion-md-arrow-round-down:before, .ion-md-arrow-round-forward:before, .ion-md-arrow-round-up:before, .ion-md-arrow-up:before, .ion-md-at:before, .ion-md-attach:before, .ion-md-backspace:before, .ion-md-barcode:before, .ion-md-baseball:before, .ion-md-basket:before, .ion-md-basketball:before, .ion-md-battery-charging:before, .ion-md-battery-dead:before, .ion-md-battery-full:before, .ion-md-beaker:before, .ion-md-bed:before, .ion-md-beer:before, .ion-md-bicycle:before, .ion-md-bluetooth:before, .ion-md-boat:before, .ion-md-body:before, .ion-md-bonfire:before, .ion-md-book:before, .ion-md-bookmark:before, .ion-md-bookmarks:before, .ion-md-bowtie:before, .ion-md-briefcase:before, .ion-md-browsers:before, .ion-md-brush:before, .ion-md-bug:before, .ion-md-build:before, .ion-md-bulb:before, .ion-md-bus:before, .ion-md-business:before, .ion-md-cafe:before, .ion-md-calculator:before, .ion-md-calendar:before, .ion-md-call:before, .ion-md-camera:before, .ion-md-car:before, .ion-md-card:before, .ion-md-cart:before, .ion-md-cash:before, .ion-md-cellular:before, .ion-md-chatboxes:before, .ion-md-chatbubbles:before, .ion-md-checkbox:before, .ion-md-checkbox-outline:before, .ion-md-checkmark:before, .ion-md-checkmark-circle:before, .ion-md-checkmark-circle-outline:before, .ion-md-clipboard:before, .ion-md-clock:before, .ion-md-close:before, .ion-md-close-circle:before, .ion-md-close-circle-outline:before, .ion-md-cloud:before, .ion-md-cloud-circle:before, .ion-md-cloud-done:before, .ion-md-cloud-download:before, .ion-md-cloud-outline:before, .ion-md-cloud-upload:before, .ion-md-cloudy:before, .ion-md-cloudy-night:before, .ion-md-code:before, .ion-md-code-download:before, .ion-md-code-working:before, .ion-md-cog:before, .ion-md-color-fill:before, .ion-md-color-filter:before, .ion-md-color-palette:before, .ion-md-color-wand:before, .ion-md-compass:before, .ion-md-construct:before, .ion-md-contact:before, .ion-md-contacts:before, .ion-md-contract:before, .ion-md-contrast:before, .ion-md-copy:before, .ion-md-create:before, .ion-md-crop:before, .ion-md-cube:before, .ion-md-cut:before, .ion-md-desktop:before, .ion-md-disc:before, .ion-md-document:before, .ion-md-done-all:before, .ion-md-download:before, .ion-md-easel:before, .ion-md-egg:before, .ion-md-exit:before, .ion-md-expand:before, .ion-md-eye:before, .ion-md-eye-off:before, .ion-md-fastforward:before, .ion-md-female:before, .ion-md-filing:before, .ion-md-film:before, .ion-md-finger-print:before, .ion-md-fitness:before, .ion-md-flag:before, .ion-md-flame:before, .ion-md-flash:before, .ion-md-flash-off:before, .ion-md-flashlight:before, .ion-md-flask:before, .ion-md-flower:before, .ion-md-folder:before, .ion-md-folder-open:before, .ion-md-football:before, .ion-md-funnel:before, .ion-md-gift:before, .ion-md-git-branch:before, .ion-md-git-commit:before, .ion-md-git-compare:before, .ion-md-git-merge:before, .ion-md-git-network:before, .ion-md-git-pull-request:before, .ion-md-glasses:before, .ion-md-globe:before, .ion-md-grid:before, .ion-md-hammer:before, .ion-md-hand:before, .ion-md-happy:before, .ion-md-headset:before, .ion-md-heart:before, .ion-md-heart-dislike:before, .ion-md-heart-empty:before, .ion-md-heart-half:before, .ion-md-help:before, .ion-md-help-buoy:before, .ion-md-help-circle:before, .ion-md-help-circle-outline:before, .ion-md-home:before, .ion-md-hourglass:before, .ion-md-ice-cream:before, .ion-md-image:before, .ion-md-images:before, .ion-md-infinite:before, .ion-md-information:before, .ion-md-information-circle:before, .ion-md-information-circle-outline:before, .ion-md-jet:before, .ion-md-journal:before, .ion-md-key:before, .ion-md-keypad:before, .ion-md-laptop:before, .ion-md-leaf:before, .ion-md-link:before, .ion-md-list:before, .ion-md-list-box:before, .ion-md-locate:before, .ion-md-lock:before, .ion-md-log-in:before, .ion-md-log-out:before, .ion-md-magnet:before, .ion-md-mail:before, .ion-md-mail-open:before, .ion-md-mail-unread:before, .ion-md-male:before, .ion-md-man:before, .ion-md-map:before, .ion-md-medal:before, .ion-md-medical:before, .ion-md-medkit:before, .ion-md-megaphone:before, .ion-md-menu:before, .ion-md-mic:before, .ion-md-mic-off:before, .ion-md-microphone:before, .ion-md-moon:before, .ion-md-more:before, .ion-md-move:before, .ion-md-musical-note:before, .ion-md-musical-notes:before, .ion-md-navigate:before, .ion-md-notifications:before, .ion-md-notifications-off:before, .ion-md-notifications-outline:before, .ion-md-nuclear:before, .ion-md-nutrition:before, .ion-md-open:before, .ion-md-options:before, .ion-md-outlet:before, .ion-md-paper:before, .ion-md-paper-plane:before, .ion-md-partly-sunny:before, .ion-md-pause:before, .ion-md-paw:before, .ion-md-people:before, .ion-md-person:before, .ion-md-person-add:before, .ion-md-phone-landscape:before, .ion-md-phone-portrait:before, .ion-md-photos:before, .ion-md-pie:before, .ion-md-pin:before, .ion-md-pint:before, .ion-md-pizza:before, .ion-md-planet:before, .ion-md-play:before, .ion-md-play-circle:before, .ion-md-podium:before, .ion-md-power:before, .ion-md-pricetag:before, .ion-md-pricetags:before, .ion-md-print:before, .ion-md-pulse:before, .ion-md-qr-scanner:before, .ion-md-quote:before, .ion-md-radio:before, .ion-md-radio-button-off:before, .ion-md-radio-button-on:before, .ion-md-rainy:before, .ion-md-recording:before, .ion-md-redo:before, .ion-md-refresh:before, .ion-md-refresh-circle:before, .ion-md-remove:before, .ion-md-remove-circle:before, .ion-md-remove-circle-outline:before, .ion-md-reorder:before, .ion-md-repeat:before, .ion-md-resize:before, .ion-md-restaurant:before, .ion-md-return-left:before, .ion-md-return-right:before, .ion-md-reverse-camera:before, .ion-md-rewind:before, .ion-md-ribbon:before, .ion-md-rocket:before, .ion-md-rose:before, .ion-md-sad:before, .ion-md-save:before, .ion-md-school:before, .ion-md-search:before, .ion-md-send:before, .ion-md-settings:before, .ion-md-share:before, .ion-md-share-alt:before, .ion-md-shirt:before, .ion-md-shuffle:before, .ion-md-skip-backward:before, .ion-md-skip-forward:before, .ion-md-snow:before, .ion-md-speedometer:before, .ion-md-square:before, .ion-md-square-outline:before, .ion-md-star:before, .ion-md-star-half:before, .ion-md-star-outline:before, .ion-md-stats:before, .ion-md-stopwatch:before, .ion-md-subway:before, .ion-md-sunny:before, .ion-md-swap:before, .ion-md-switch:before, .ion-md-sync:before, .ion-md-tablet-landscape:before, .ion-md-tablet-portrait:before, .ion-md-tennisball:before, .ion-md-text:before, .ion-md-thermometer:before, .ion-md-thumbs-down:before, .ion-md-thumbs-up:before, .ion-md-thunderstorm:before, .ion-md-time:before, .ion-md-timer:before, .ion-md-today:before, .ion-md-train:before, .ion-md-transgender:before, .ion-md-trash:before, .ion-md-trending-down:before, .ion-md-trending-up:before, .ion-md-trophy:before, .ion-md-tv:before, .ion-md-umbrella:before, .ion-md-undo:before, .ion-md-unlock:before, .ion-md-videocam:before, .ion-md-volume-high:before, .ion-md-volume-low:before, .ion-md-volume-mute:before, .ion-md-volume-off:before, .ion-md-walk:before, .ion-md-wallet:before, .ion-md-warning:before, .ion-md-watch:before, .ion-md-water:before, .ion-md-wifi:before, .ion-md-wine:before, .ion-md-woman:before { @extend .ion; }PK}w�\�� ���scss/ionicons-variables.scssnu�[���@charset "UTF-8"; // Ionicons Variables // -------------------------- $ionicons-font-path: "../fonts" !default; $ionicons-font-family: "Ionicons" !default; $ionicons-version: "4.4.5" !default;PK}w�\��!scss/ionicons.scssnu�[���@import "ionicons-variables"; /*! Ionicons, v#{$ionicons-version} Created by Ben Sperry for the Ionic Framework, http://ionicons.com/ https://twitter.com/benjsperry https://twitter.com/ionicframework MIT License: https://github.com/driftyco/ionicons Android-style icons originally built by Google’s Material Design Icons: https://github.com/google/material-design-icons used under CC BY http://creativecommons.org/licenses/by/4.0/ Modified icons to fit ionicon’s grid from original. */ // Ionicons // -------------------------- @font-face { font-family: "Ionicons"; src:url("#{$ionicons-font-path}/ionicons.eot?v=#{$ionicons-version}"); src:url("#{$ionicons-font-path}/ionicons.eot?v=#{$ionicons-version}#iefix") format("embedded-opentype"), url("#{$ionicons-font-path}/ionicons.woff2?v=#{$ionicons-version}") format("woff2"), url("#{$ionicons-font-path}/ionicons.woff?v=#{$ionicons-version}") format("woff"), url("#{$ionicons-font-path}/ionicons.ttf?v=#{$ionicons-version}") format("truetype"), url("#{$ionicons-font-path}/ionicons.svg?v=#{$ionicons-version}#Ionicons") format("svg"); font-weight: normal; font-style: normal; } .ion { display: inline-block; font-family: "Ionicons"; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; text-rendering: auto; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } @import "ionicons-common"; @import "ionicons-icons"; PK}w�\��� %%scss/ionicons-core.scssnu�[���@import "ionicons-variables"; /*! Ionicons, v#{$ionicons-version} Created by Ben Sperry for the Ionic Framework, http://ionicons.com/ https://twitter.com/benjsperry https://twitter.com/ionicframework MIT License: https://github.com/driftyco/ionicons Android-style icons originally built by Google’s Material Design Icons: https://github.com/google/material-design-icons used under CC BY http://creativecommons.org/licenses/by/4.0/ Modified icons to fit ionicon’s grid from original. */ @import "ionicons-icons"; PK}w�\i�����scss/ionicons-icons.scssnu�[���@charset "UTF-8"; // Ionicons Icon Font CSS // -------------------------- .ion-ios-add:before { content: "\f102"; } .ion-ios-add-circle:before { content: "\f101"; } .ion-ios-add-circle-outline:before { content: "\f100"; } .ion-ios-airplane:before { content: "\f137"; } .ion-ios-alarm:before { content: "\f3c8"; } .ion-ios-albums:before { content: "\f3ca"; } .ion-ios-alert:before { content: "\f104"; } .ion-ios-american-football:before { content: "\f106"; } .ion-ios-analytics:before { content: "\f3ce"; } .ion-ios-aperture:before { content: "\f108"; } .ion-ios-apps:before { content: "\f10a"; } .ion-ios-appstore:before { content: "\f10c"; } .ion-ios-archive:before { content: "\f10e"; } .ion-ios-arrow-back:before { content: "\f3cf"; } .ion-ios-arrow-down:before { content: "\f3d0"; } .ion-ios-arrow-dropdown:before { content: "\f110"; } .ion-ios-arrow-dropdown-circle:before { content: "\f125"; } .ion-ios-arrow-dropleft:before { content: "\f112"; } .ion-ios-arrow-dropleft-circle:before { content: "\f129"; } .ion-ios-arrow-dropright:before { content: "\f114"; } .ion-ios-arrow-dropright-circle:before { content: "\f12b"; } .ion-ios-arrow-dropup:before { content: "\f116"; } .ion-ios-arrow-dropup-circle:before { content: "\f12d"; } .ion-ios-arrow-forward:before { content: "\f3d1"; } .ion-ios-arrow-round-back:before { content: "\f117"; } .ion-ios-arrow-round-down:before { content: "\f118"; } .ion-ios-arrow-round-forward:before { content: "\f119"; } .ion-ios-arrow-round-up:before { content: "\f11a"; } .ion-ios-arrow-up:before { content: "\f3d8"; } .ion-ios-at:before { content: "\f3da"; } .ion-ios-attach:before { content: "\f11b"; } .ion-ios-backspace:before { content: "\f11d"; } .ion-ios-barcode:before { content: "\f3dc"; } .ion-ios-baseball:before { content: "\f3de"; } .ion-ios-basket:before { content: "\f11f"; } .ion-ios-basketball:before { content: "\f3e0"; } .ion-ios-battery-charging:before { content: "\f120"; } .ion-ios-battery-dead:before { content: "\f121"; } .ion-ios-battery-full:before { content: "\f122"; } .ion-ios-beaker:before { content: "\f124"; } .ion-ios-bed:before { content: "\f139"; } .ion-ios-beer:before { content: "\f126"; } .ion-ios-bicycle:before { content: "\f127"; } .ion-ios-bluetooth:before { content: "\f128"; } .ion-ios-boat:before { content: "\f12a"; } .ion-ios-body:before { content: "\f3e4"; } .ion-ios-bonfire:before { content: "\f12c"; } .ion-ios-book:before { content: "\f3e8"; } .ion-ios-bookmark:before { content: "\f12e"; } .ion-ios-bookmarks:before { content: "\f3ea"; } .ion-ios-bowtie:before { content: "\f130"; } .ion-ios-briefcase:before { content: "\f3ee"; } .ion-ios-browsers:before { content: "\f3f0"; } .ion-ios-brush:before { content: "\f132"; } .ion-ios-bug:before { content: "\f134"; } .ion-ios-build:before { content: "\f136"; } .ion-ios-bulb:before { content: "\f138"; } .ion-ios-bus:before { content: "\f13a"; } .ion-ios-business:before { content: "\f1a3"; } .ion-ios-cafe:before { content: "\f13c"; } .ion-ios-calculator:before { content: "\f3f2"; } .ion-ios-calendar:before { content: "\f3f4"; } .ion-ios-call:before { content: "\f13e"; } .ion-ios-camera:before { content: "\f3f6"; } .ion-ios-car:before { content: "\f140"; } .ion-ios-card:before { content: "\f142"; } .ion-ios-cart:before { content: "\f3f8"; } .ion-ios-cash:before { content: "\f144"; } .ion-ios-cellular:before { content: "\f13d"; } .ion-ios-chatboxes:before { content: "\f3fa"; } .ion-ios-chatbubbles:before { content: "\f146"; } .ion-ios-checkbox:before { content: "\f148"; } .ion-ios-checkbox-outline:before { content: "\f147"; } .ion-ios-checkmark:before { content: "\f3ff"; } .ion-ios-checkmark-circle:before { content: "\f14a"; } .ion-ios-checkmark-circle-outline:before { content: "\f149"; } .ion-ios-clipboard:before { content: "\f14c"; } .ion-ios-clock:before { content: "\f403"; } .ion-ios-close:before { content: "\f406"; } .ion-ios-close-circle:before { content: "\f14e"; } .ion-ios-close-circle-outline:before { content: "\f14d"; } .ion-ios-cloud:before { content: "\f40c"; } .ion-ios-cloud-circle:before { content: "\f152"; } .ion-ios-cloud-done:before { content: "\f154"; } .ion-ios-cloud-download:before { content: "\f408"; } .ion-ios-cloud-outline:before { content: "\f409"; } .ion-ios-cloud-upload:before { content: "\f40b"; } .ion-ios-cloudy:before { content: "\f410"; } .ion-ios-cloudy-night:before { content: "\f40e"; } .ion-ios-code:before { content: "\f157"; } .ion-ios-code-download:before { content: "\f155"; } .ion-ios-code-working:before { content: "\f156"; } .ion-ios-cog:before { content: "\f412"; } .ion-ios-color-fill:before { content: "\f159"; } .ion-ios-color-filter:before { content: "\f414"; } .ion-ios-color-palette:before { content: "\f15b"; } .ion-ios-color-wand:before { content: "\f416"; } .ion-ios-compass:before { content: "\f15d"; } .ion-ios-construct:before { content: "\f15f"; } .ion-ios-contact:before { content: "\f41a"; } .ion-ios-contacts:before { content: "\f161"; } .ion-ios-contract:before { content: "\f162"; } .ion-ios-contrast:before { content: "\f163"; } .ion-ios-copy:before { content: "\f41c"; } .ion-ios-create:before { content: "\f165"; } .ion-ios-crop:before { content: "\f41e"; } .ion-ios-cube:before { content: "\f168"; } .ion-ios-cut:before { content: "\f16a"; } .ion-ios-desktop:before { content: "\f16c"; } .ion-ios-disc:before { content: "\f16e"; } .ion-ios-document:before { content: "\f170"; } .ion-ios-done-all:before { content: "\f171"; } .ion-ios-download:before { content: "\f420"; } .ion-ios-easel:before { content: "\f173"; } .ion-ios-egg:before { content: "\f175"; } .ion-ios-exit:before { content: "\f177"; } .ion-ios-expand:before { content: "\f178"; } .ion-ios-eye:before { content: "\f425"; } .ion-ios-eye-off:before { content: "\f17a"; } .ion-ios-fastforward:before { content: "\f427"; } .ion-ios-female:before { content: "\f17b"; } .ion-ios-filing:before { content: "\f429"; } .ion-ios-film:before { content: "\f42b"; } .ion-ios-finger-print:before { content: "\f17c"; } .ion-ios-fitness:before { content: "\f1ab"; } .ion-ios-flag:before { content: "\f42d"; } .ion-ios-flame:before { content: "\f42f"; } .ion-ios-flash:before { content: "\f17e"; } .ion-ios-flash-off:before { content: "\f12f"; } .ion-ios-flashlight:before { content: "\f141"; } .ion-ios-flask:before { content: "\f431"; } .ion-ios-flower:before { content: "\f433"; } .ion-ios-folder:before { content: "\f435"; } .ion-ios-folder-open:before { content: "\f180"; } .ion-ios-football:before { content: "\f437"; } .ion-ios-funnel:before { content: "\f182"; } .ion-ios-gift:before { content: "\f191"; } .ion-ios-git-branch:before { content: "\f183"; } .ion-ios-git-commit:before { content: "\f184"; } .ion-ios-git-compare:before { content: "\f185"; } .ion-ios-git-merge:before { content: "\f186"; } .ion-ios-git-network:before { content: "\f187"; } .ion-ios-git-pull-request:before { content: "\f188"; } .ion-ios-glasses:before { content: "\f43f"; } .ion-ios-globe:before { content: "\f18a"; } .ion-ios-grid:before { content: "\f18c"; } .ion-ios-hammer:before { content: "\f18e"; } .ion-ios-hand:before { content: "\f190"; } .ion-ios-happy:before { content: "\f192"; } .ion-ios-headset:before { content: "\f194"; } .ion-ios-heart:before { content: "\f443"; } .ion-ios-heart-dislike:before { content: "\f13f"; } .ion-ios-heart-empty:before { content: "\f19b"; } .ion-ios-heart-half:before { content: "\f19d"; } .ion-ios-help:before { content: "\f446"; } .ion-ios-help-buoy:before { content: "\f196"; } .ion-ios-help-circle:before { content: "\f198"; } .ion-ios-help-circle-outline:before { content: "\f197"; } .ion-ios-home:before { content: "\f448"; } .ion-ios-hourglass:before { content: "\f103"; } .ion-ios-ice-cream:before { content: "\f19a"; } .ion-ios-image:before { content: "\f19c"; } .ion-ios-images:before { content: "\f19e"; } .ion-ios-infinite:before { content: "\f44a"; } .ion-ios-information:before { content: "\f44d"; } .ion-ios-information-circle:before { content: "\f1a0"; } .ion-ios-information-circle-outline:before { content: "\f19f"; } .ion-ios-jet:before { content: "\f1a5"; } .ion-ios-journal:before { content: "\f189"; } .ion-ios-key:before { content: "\f1a7"; } .ion-ios-keypad:before { content: "\f450"; } .ion-ios-laptop:before { content: "\f1a8"; } .ion-ios-leaf:before { content: "\f1aa"; } .ion-ios-link:before { content: "\f22a"; } .ion-ios-list:before { content: "\f454"; } .ion-ios-list-box:before { content: "\f143"; } .ion-ios-locate:before { content: "\f1ae"; } .ion-ios-lock:before { content: "\f1b0"; } .ion-ios-log-in:before { content: "\f1b1"; } .ion-ios-log-out:before { content: "\f1b2"; } .ion-ios-magnet:before { content: "\f1b4"; } .ion-ios-mail:before { content: "\f1b8"; } .ion-ios-mail-open:before { content: "\f1b6"; } .ion-ios-mail-unread:before { content: "\f145"; } .ion-ios-male:before { content: "\f1b9"; } .ion-ios-man:before { content: "\f1bb"; } .ion-ios-map:before { content: "\f1bd"; } .ion-ios-medal:before { content: "\f1bf"; } .ion-ios-medical:before { content: "\f45c"; } .ion-ios-medkit:before { content: "\f45e"; } .ion-ios-megaphone:before { content: "\f1c1"; } .ion-ios-menu:before { content: "\f1c3"; } .ion-ios-mic:before { content: "\f461"; } .ion-ios-mic-off:before { content: "\f45f"; } .ion-ios-microphone:before { content: "\f1c6"; } .ion-ios-moon:before { content: "\f468"; } .ion-ios-more:before { content: "\f1c8"; } .ion-ios-move:before { content: "\f1cb"; } .ion-ios-musical-note:before { content: "\f46b"; } .ion-ios-musical-notes:before { content: "\f46c"; } .ion-ios-navigate:before { content: "\f46e"; } .ion-ios-notifications:before { content: "\f1d3"; } .ion-ios-notifications-off:before { content: "\f1d1"; } .ion-ios-notifications-outline:before { content: "\f133"; } .ion-ios-nuclear:before { content: "\f1d5"; } .ion-ios-nutrition:before { content: "\f470"; } .ion-ios-open:before { content: "\f1d7"; } .ion-ios-options:before { content: "\f1d9"; } .ion-ios-outlet:before { content: "\f1db"; } .ion-ios-paper:before { content: "\f472"; } .ion-ios-paper-plane:before { content: "\f1dd"; } .ion-ios-partly-sunny:before { content: "\f1df"; } .ion-ios-pause:before { content: "\f478"; } .ion-ios-paw:before { content: "\f47a"; } .ion-ios-people:before { content: "\f47c"; } .ion-ios-person:before { content: "\f47e"; } .ion-ios-person-add:before { content: "\f1e1"; } .ion-ios-phone-landscape:before { content: "\f1e2"; } .ion-ios-phone-portrait:before { content: "\f1e3"; } .ion-ios-photos:before { content: "\f482"; } .ion-ios-pie:before { content: "\f484"; } .ion-ios-pin:before { content: "\f1e5"; } .ion-ios-pint:before { content: "\f486"; } .ion-ios-pizza:before { content: "\f1e7"; } .ion-ios-planet:before { content: "\f1eb"; } .ion-ios-play:before { content: "\f488"; } .ion-ios-play-circle:before { content: "\f113"; } .ion-ios-podium:before { content: "\f1ed"; } .ion-ios-power:before { content: "\f1ef"; } .ion-ios-pricetag:before { content: "\f48d"; } .ion-ios-pricetags:before { content: "\f48f"; } .ion-ios-print:before { content: "\f1f1"; } .ion-ios-pulse:before { content: "\f493"; } .ion-ios-qr-scanner:before { content: "\f1f3"; } .ion-ios-quote:before { content: "\f1f5"; } .ion-ios-radio:before { content: "\f1f9"; } .ion-ios-radio-button-off:before { content: "\f1f6"; } .ion-ios-radio-button-on:before { content: "\f1f7"; } .ion-ios-rainy:before { content: "\f495"; } .ion-ios-recording:before { content: "\f497"; } .ion-ios-redo:before { content: "\f499"; } .ion-ios-refresh:before { content: "\f49c"; } .ion-ios-refresh-circle:before { content: "\f135"; } .ion-ios-remove:before { content: "\f1fc"; } .ion-ios-remove-circle:before { content: "\f1fb"; } .ion-ios-remove-circle-outline:before { content: "\f1fa"; } .ion-ios-reorder:before { content: "\f1fd"; } .ion-ios-repeat:before { content: "\f1fe"; } .ion-ios-resize:before { content: "\f1ff"; } .ion-ios-restaurant:before { content: "\f201"; } .ion-ios-return-left:before { content: "\f202"; } .ion-ios-return-right:before { content: "\f203"; } .ion-ios-reverse-camera:before { content: "\f49f"; } .ion-ios-rewind:before { content: "\f4a1"; } .ion-ios-ribbon:before { content: "\f205"; } .ion-ios-rocket:before { content: "\f14b"; } .ion-ios-rose:before { content: "\f4a3"; } .ion-ios-sad:before { content: "\f207"; } .ion-ios-save:before { content: "\f1a6"; } .ion-ios-school:before { content: "\f209"; } .ion-ios-search:before { content: "\f4a5"; } .ion-ios-send:before { content: "\f20c"; } .ion-ios-settings:before { content: "\f4a7"; } .ion-ios-share:before { content: "\f211"; } .ion-ios-share-alt:before { content: "\f20f"; } .ion-ios-shirt:before { content: "\f213"; } .ion-ios-shuffle:before { content: "\f4a9"; } .ion-ios-skip-backward:before { content: "\f215"; } .ion-ios-skip-forward:before { content: "\f217"; } .ion-ios-snow:before { content: "\f218"; } .ion-ios-speedometer:before { content: "\f4b0"; } .ion-ios-square:before { content: "\f21a"; } .ion-ios-square-outline:before { content: "\f15c"; } .ion-ios-star:before { content: "\f4b3"; } .ion-ios-star-half:before { content: "\f4b1"; } .ion-ios-star-outline:before { content: "\f4b2"; } .ion-ios-stats:before { content: "\f21c"; } .ion-ios-stopwatch:before { content: "\f4b5"; } .ion-ios-subway:before { content: "\f21e"; } .ion-ios-sunny:before { content: "\f4b7"; } .ion-ios-swap:before { content: "\f21f"; } .ion-ios-switch:before { content: "\f221"; } .ion-ios-sync:before { content: "\f222"; } .ion-ios-tablet-landscape:before { content: "\f223"; } .ion-ios-tablet-portrait:before { content: "\f24e"; } .ion-ios-tennisball:before { content: "\f4bb"; } .ion-ios-text:before { content: "\f250"; } .ion-ios-thermometer:before { content: "\f252"; } .ion-ios-thumbs-down:before { content: "\f254"; } .ion-ios-thumbs-up:before { content: "\f256"; } .ion-ios-thunderstorm:before { content: "\f4bd"; } .ion-ios-time:before { content: "\f4bf"; } .ion-ios-timer:before { content: "\f4c1"; } .ion-ios-today:before { content: "\f14f"; } .ion-ios-train:before { content: "\f258"; } .ion-ios-transgender:before { content: "\f259"; } .ion-ios-trash:before { content: "\f4c5"; } .ion-ios-trending-down:before { content: "\f25a"; } .ion-ios-trending-up:before { content: "\f25b"; } .ion-ios-trophy:before { content: "\f25d"; } .ion-ios-tv:before { content: "\f115"; } .ion-ios-umbrella:before { content: "\f25f"; } .ion-ios-undo:before { content: "\f4c7"; } .ion-ios-unlock:before { content: "\f261"; } .ion-ios-videocam:before { content: "\f4cd"; } .ion-ios-volume-high:before { content: "\f11c"; } .ion-ios-volume-low:before { content: "\f11e"; } .ion-ios-volume-mute:before { content: "\f263"; } .ion-ios-volume-off:before { content: "\f264"; } .ion-ios-walk:before { content: "\f266"; } .ion-ios-wallet:before { content: "\f18b"; } .ion-ios-warning:before { content: "\f268"; } .ion-ios-watch:before { content: "\f269"; } .ion-ios-water:before { content: "\f26b"; } .ion-ios-wifi:before { content: "\f26d"; } .ion-ios-wine:before { content: "\f26f"; } .ion-ios-woman:before { content: "\f271"; } .ion-logo-android:before { content: "\f225"; } .ion-logo-angular:before { content: "\f227"; } .ion-logo-apple:before { content: "\f229"; } .ion-logo-bitbucket:before { content: "\f193"; } .ion-logo-bitcoin:before { content: "\f22b"; } .ion-logo-buffer:before { content: "\f22d"; } .ion-logo-chrome:before { content: "\f22f"; } .ion-logo-closed-captioning:before { content: "\f105"; } .ion-logo-codepen:before { content: "\f230"; } .ion-logo-css3:before { content: "\f231"; } .ion-logo-designernews:before { content: "\f232"; } .ion-logo-dribbble:before { content: "\f233"; } .ion-logo-dropbox:before { content: "\f234"; } .ion-logo-euro:before { content: "\f235"; } .ion-logo-facebook:before { content: "\f236"; } .ion-logo-flickr:before { content: "\f107"; } .ion-logo-foursquare:before { content: "\f237"; } .ion-logo-freebsd-devil:before { content: "\f238"; } .ion-logo-game-controller-a:before { content: "\f13b"; } .ion-logo-game-controller-b:before { content: "\f181"; } .ion-logo-github:before { content: "\f239"; } .ion-logo-google:before { content: "\f23a"; } .ion-logo-googleplus:before { content: "\f23b"; } .ion-logo-hackernews:before { content: "\f23c"; } .ion-logo-html5:before { content: "\f23d"; } .ion-logo-instagram:before { content: "\f23e"; } .ion-logo-ionic:before { content: "\f150"; } .ion-logo-ionitron:before { content: "\f151"; } .ion-logo-javascript:before { content: "\f23f"; } .ion-logo-linkedin:before { content: "\f240"; } .ion-logo-markdown:before { content: "\f241"; } .ion-logo-model-s:before { content: "\f153"; } .ion-logo-no-smoking:before { content: "\f109"; } .ion-logo-nodejs:before { content: "\f242"; } .ion-logo-npm:before { content: "\f195"; } .ion-logo-octocat:before { content: "\f243"; } .ion-logo-pinterest:before { content: "\f244"; } .ion-logo-playstation:before { content: "\f245"; } .ion-logo-polymer:before { content: "\f15e"; } .ion-logo-python:before { content: "\f246"; } .ion-logo-reddit:before { content: "\f247"; } .ion-logo-rss:before { content: "\f248"; } .ion-logo-sass:before { content: "\f249"; } .ion-logo-skype:before { content: "\f24a"; } .ion-logo-slack:before { content: "\f10b"; } .ion-logo-snapchat:before { content: "\f24b"; } .ion-logo-steam:before { content: "\f24c"; } .ion-logo-tumblr:before { content: "\f24d"; } .ion-logo-tux:before { content: "\f2ae"; } .ion-logo-twitch:before { content: "\f2af"; } .ion-logo-twitter:before { content: "\f2b0"; } .ion-logo-usd:before { content: "\f2b1"; } .ion-logo-vimeo:before { content: "\f2c4"; } .ion-logo-vk:before { content: "\f10d"; } .ion-logo-whatsapp:before { content: "\f2c5"; } .ion-logo-windows:before { content: "\f32f"; } .ion-logo-wordpress:before { content: "\f330"; } .ion-logo-xbox:before { content: "\f34c"; } .ion-logo-xing:before { content: "\f10f"; } .ion-logo-yahoo:before { content: "\f34d"; } .ion-logo-yen:before { content: "\f34e"; } .ion-logo-youtube:before { content: "\f34f"; } .ion-md-add:before { content: "\f273"; } .ion-md-add-circle:before { content: "\f272"; } .ion-md-add-circle-outline:before { content: "\f158"; } .ion-md-airplane:before { content: "\f15a"; } .ion-md-alarm:before { content: "\f274"; } .ion-md-albums:before { content: "\f275"; } .ion-md-alert:before { content: "\f276"; } .ion-md-american-football:before { content: "\f277"; } .ion-md-analytics:before { content: "\f278"; } .ion-md-aperture:before { content: "\f279"; } .ion-md-apps:before { content: "\f27a"; } .ion-md-appstore:before { content: "\f27b"; } .ion-md-archive:before { content: "\f27c"; } .ion-md-arrow-back:before { content: "\f27d"; } .ion-md-arrow-down:before { content: "\f27e"; } .ion-md-arrow-dropdown:before { content: "\f280"; } .ion-md-arrow-dropdown-circle:before { content: "\f27f"; } .ion-md-arrow-dropleft:before { content: "\f282"; } .ion-md-arrow-dropleft-circle:before { content: "\f281"; } .ion-md-arrow-dropright:before { content: "\f284"; } .ion-md-arrow-dropright-circle:before { content: "\f283"; } .ion-md-arrow-dropup:before { content: "\f286"; } .ion-md-arrow-dropup-circle:before { content: "\f285"; } .ion-md-arrow-forward:before { content: "\f287"; } .ion-md-arrow-round-back:before { content: "\f288"; } .ion-md-arrow-round-down:before { content: "\f289"; } .ion-md-arrow-round-forward:before { content: "\f28a"; } .ion-md-arrow-round-up:before { content: "\f28b"; } .ion-md-arrow-up:before { content: "\f28c"; } .ion-md-at:before { content: "\f28d"; } .ion-md-attach:before { content: "\f28e"; } .ion-md-backspace:before { content: "\f28f"; } .ion-md-barcode:before { content: "\f290"; } .ion-md-baseball:before { content: "\f291"; } .ion-md-basket:before { content: "\f292"; } .ion-md-basketball:before { content: "\f293"; } .ion-md-battery-charging:before { content: "\f294"; } .ion-md-battery-dead:before { content: "\f295"; } .ion-md-battery-full:before { content: "\f296"; } .ion-md-beaker:before { content: "\f297"; } .ion-md-bed:before { content: "\f160"; } .ion-md-beer:before { content: "\f298"; } .ion-md-bicycle:before { content: "\f299"; } .ion-md-bluetooth:before { content: "\f29a"; } .ion-md-boat:before { content: "\f29b"; } .ion-md-body:before { content: "\f29c"; } .ion-md-bonfire:before { content: "\f29d"; } .ion-md-book:before { content: "\f29e"; } .ion-md-bookmark:before { content: "\f29f"; } .ion-md-bookmarks:before { content: "\f2a0"; } .ion-md-bowtie:before { content: "\f2a1"; } .ion-md-briefcase:before { content: "\f2a2"; } .ion-md-browsers:before { content: "\f2a3"; } .ion-md-brush:before { content: "\f2a4"; } .ion-md-bug:before { content: "\f2a5"; } .ion-md-build:before { content: "\f2a6"; } .ion-md-bulb:before { content: "\f2a7"; } .ion-md-bus:before { content: "\f2a8"; } .ion-md-business:before { content: "\f1a4"; } .ion-md-cafe:before { content: "\f2a9"; } .ion-md-calculator:before { content: "\f2aa"; } .ion-md-calendar:before { content: "\f2ab"; } .ion-md-call:before { content: "\f2ac"; } .ion-md-camera:before { content: "\f2ad"; } .ion-md-car:before { content: "\f2b2"; } .ion-md-card:before { content: "\f2b3"; } .ion-md-cart:before { content: "\f2b4"; } .ion-md-cash:before { content: "\f2b5"; } .ion-md-cellular:before { content: "\f164"; } .ion-md-chatboxes:before { content: "\f2b6"; } .ion-md-chatbubbles:before { content: "\f2b7"; } .ion-md-checkbox:before { content: "\f2b9"; } .ion-md-checkbox-outline:before { content: "\f2b8"; } .ion-md-checkmark:before { content: "\f2bc"; } .ion-md-checkmark-circle:before { content: "\f2bb"; } .ion-md-checkmark-circle-outline:before { content: "\f2ba"; } .ion-md-clipboard:before { content: "\f2bd"; } .ion-md-clock:before { content: "\f2be"; } .ion-md-close:before { content: "\f2c0"; } .ion-md-close-circle:before { content: "\f2bf"; } .ion-md-close-circle-outline:before { content: "\f166"; } .ion-md-cloud:before { content: "\f2c9"; } .ion-md-cloud-circle:before { content: "\f2c2"; } .ion-md-cloud-done:before { content: "\f2c3"; } .ion-md-cloud-download:before { content: "\f2c6"; } .ion-md-cloud-outline:before { content: "\f2c7"; } .ion-md-cloud-upload:before { content: "\f2c8"; } .ion-md-cloudy:before { content: "\f2cb"; } .ion-md-cloudy-night:before { content: "\f2ca"; } .ion-md-code:before { content: "\f2ce"; } .ion-md-code-download:before { content: "\f2cc"; } .ion-md-code-working:before { content: "\f2cd"; } .ion-md-cog:before { content: "\f2cf"; } .ion-md-color-fill:before { content: "\f2d0"; } .ion-md-color-filter:before { content: "\f2d1"; } .ion-md-color-palette:before { content: "\f2d2"; } .ion-md-color-wand:before { content: "\f2d3"; } .ion-md-compass:before { content: "\f2d4"; } .ion-md-construct:before { content: "\f2d5"; } .ion-md-contact:before { content: "\f2d6"; } .ion-md-contacts:before { content: "\f2d7"; } .ion-md-contract:before { content: "\f2d8"; } .ion-md-contrast:before { content: "\f2d9"; } .ion-md-copy:before { content: "\f2da"; } .ion-md-create:before { content: "\f2db"; } .ion-md-crop:before { content: "\f2dc"; } .ion-md-cube:before { content: "\f2dd"; } .ion-md-cut:before { content: "\f2de"; } .ion-md-desktop:before { content: "\f2df"; } .ion-md-disc:before { content: "\f2e0"; } .ion-md-document:before { content: "\f2e1"; } .ion-md-done-all:before { content: "\f2e2"; } .ion-md-download:before { content: "\f2e3"; } .ion-md-easel:before { content: "\f2e4"; } .ion-md-egg:before { content: "\f2e5"; } .ion-md-exit:before { content: "\f2e6"; } .ion-md-expand:before { content: "\f2e7"; } .ion-md-eye:before { content: "\f2e9"; } .ion-md-eye-off:before { content: "\f2e8"; } .ion-md-fastforward:before { content: "\f2ea"; } .ion-md-female:before { content: "\f2eb"; } .ion-md-filing:before { content: "\f2ec"; } .ion-md-film:before { content: "\f2ed"; } .ion-md-finger-print:before { content: "\f2ee"; } .ion-md-fitness:before { content: "\f1ac"; } .ion-md-flag:before { content: "\f2ef"; } .ion-md-flame:before { content: "\f2f0"; } .ion-md-flash:before { content: "\f2f1"; } .ion-md-flash-off:before { content: "\f169"; } .ion-md-flashlight:before { content: "\f16b"; } .ion-md-flask:before { content: "\f2f2"; } .ion-md-flower:before { content: "\f2f3"; } .ion-md-folder:before { content: "\f2f5"; } .ion-md-folder-open:before { content: "\f2f4"; } .ion-md-football:before { content: "\f2f6"; } .ion-md-funnel:before { content: "\f2f7"; } .ion-md-gift:before { content: "\f199"; } .ion-md-git-branch:before { content: "\f2fa"; } .ion-md-git-commit:before { content: "\f2fb"; } .ion-md-git-compare:before { content: "\f2fc"; } .ion-md-git-merge:before { content: "\f2fd"; } .ion-md-git-network:before { content: "\f2fe"; } .ion-md-git-pull-request:before { content: "\f2ff"; } .ion-md-glasses:before { content: "\f300"; } .ion-md-globe:before { content: "\f301"; } .ion-md-grid:before { content: "\f302"; } .ion-md-hammer:before { content: "\f303"; } .ion-md-hand:before { content: "\f304"; } .ion-md-happy:before { content: "\f305"; } .ion-md-headset:before { content: "\f306"; } .ion-md-heart:before { content: "\f308"; } .ion-md-heart-dislike:before { content: "\f167"; } .ion-md-heart-empty:before { content: "\f1a1"; } .ion-md-heart-half:before { content: "\f1a2"; } .ion-md-help:before { content: "\f30b"; } .ion-md-help-buoy:before { content: "\f309"; } .ion-md-help-circle:before { content: "\f30a"; } .ion-md-help-circle-outline:before { content: "\f16d"; } .ion-md-home:before { content: "\f30c"; } .ion-md-hourglass:before { content: "\f111"; } .ion-md-ice-cream:before { content: "\f30d"; } .ion-md-image:before { content: "\f30e"; } .ion-md-images:before { content: "\f30f"; } .ion-md-infinite:before { content: "\f310"; } .ion-md-information:before { content: "\f312"; } .ion-md-information-circle:before { content: "\f311"; } .ion-md-information-circle-outline:before { content: "\f16f"; } .ion-md-jet:before { content: "\f315"; } .ion-md-journal:before { content: "\f18d"; } .ion-md-key:before { content: "\f316"; } .ion-md-keypad:before { content: "\f317"; } .ion-md-laptop:before { content: "\f318"; } .ion-md-leaf:before { content: "\f319"; } .ion-md-link:before { content: "\f22e"; } .ion-md-list:before { content: "\f31b"; } .ion-md-list-box:before { content: "\f31a"; } .ion-md-locate:before { content: "\f31c"; } .ion-md-lock:before { content: "\f31d"; } .ion-md-log-in:before { content: "\f31e"; } .ion-md-log-out:before { content: "\f31f"; } .ion-md-magnet:before { content: "\f320"; } .ion-md-mail:before { content: "\f322"; } .ion-md-mail-open:before { content: "\f321"; } .ion-md-mail-unread:before { content: "\f172"; } .ion-md-male:before { content: "\f323"; } .ion-md-man:before { content: "\f324"; } .ion-md-map:before { content: "\f325"; } .ion-md-medal:before { content: "\f326"; } .ion-md-medical:before { content: "\f327"; } .ion-md-medkit:before { content: "\f328"; } .ion-md-megaphone:before { content: "\f329"; } .ion-md-menu:before { content: "\f32a"; } .ion-md-mic:before { content: "\f32c"; } .ion-md-mic-off:before { content: "\f32b"; } .ion-md-microphone:before { content: "\f32d"; } .ion-md-moon:before { content: "\f32e"; } .ion-md-more:before { content: "\f1c9"; } .ion-md-move:before { content: "\f331"; } .ion-md-musical-note:before { content: "\f332"; } .ion-md-musical-notes:before { content: "\f333"; } .ion-md-navigate:before { content: "\f334"; } .ion-md-notifications:before { content: "\f338"; } .ion-md-notifications-off:before { content: "\f336"; } .ion-md-notifications-outline:before { content: "\f337"; } .ion-md-nuclear:before { content: "\f339"; } .ion-md-nutrition:before { content: "\f33a"; } .ion-md-open:before { content: "\f33b"; } .ion-md-options:before { content: "\f33c"; } .ion-md-outlet:before { content: "\f33d"; } .ion-md-paper:before { content: "\f33f"; } .ion-md-paper-plane:before { content: "\f33e"; } .ion-md-partly-sunny:before { content: "\f340"; } .ion-md-pause:before { content: "\f341"; } .ion-md-paw:before { content: "\f342"; } .ion-md-people:before { content: "\f343"; } .ion-md-person:before { content: "\f345"; } .ion-md-person-add:before { content: "\f344"; } .ion-md-phone-landscape:before { content: "\f346"; } .ion-md-phone-portrait:before { content: "\f347"; } .ion-md-photos:before { content: "\f348"; } .ion-md-pie:before { content: "\f349"; } .ion-md-pin:before { content: "\f34a"; } .ion-md-pint:before { content: "\f34b"; } .ion-md-pizza:before { content: "\f354"; } .ion-md-planet:before { content: "\f356"; } .ion-md-play:before { content: "\f357"; } .ion-md-play-circle:before { content: "\f174"; } .ion-md-podium:before { content: "\f358"; } .ion-md-power:before { content: "\f359"; } .ion-md-pricetag:before { content: "\f35a"; } .ion-md-pricetags:before { content: "\f35b"; } .ion-md-print:before { content: "\f35c"; } .ion-md-pulse:before { content: "\f35d"; } .ion-md-qr-scanner:before { content: "\f35e"; } .ion-md-quote:before { content: "\f35f"; } .ion-md-radio:before { content: "\f362"; } .ion-md-radio-button-off:before { content: "\f360"; } .ion-md-radio-button-on:before { content: "\f361"; } .ion-md-rainy:before { content: "\f363"; } .ion-md-recording:before { content: "\f364"; } .ion-md-redo:before { content: "\f365"; } .ion-md-refresh:before { content: "\f366"; } .ion-md-refresh-circle:before { content: "\f228"; } .ion-md-remove:before { content: "\f368"; } .ion-md-remove-circle:before { content: "\f367"; } .ion-md-remove-circle-outline:before { content: "\f176"; } .ion-md-reorder:before { content: "\f369"; } .ion-md-repeat:before { content: "\f36a"; } .ion-md-resize:before { content: "\f36b"; } .ion-md-restaurant:before { content: "\f36c"; } .ion-md-return-left:before { content: "\f36d"; } .ion-md-return-right:before { content: "\f36e"; } .ion-md-reverse-camera:before { content: "\f36f"; } .ion-md-rewind:before { content: "\f370"; } .ion-md-ribbon:before { content: "\f371"; } .ion-md-rocket:before { content: "\f179"; } .ion-md-rose:before { content: "\f372"; } .ion-md-sad:before { content: "\f373"; } .ion-md-save:before { content: "\f1a9"; } .ion-md-school:before { content: "\f374"; } .ion-md-search:before { content: "\f375"; } .ion-md-send:before { content: "\f376"; } .ion-md-settings:before { content: "\f377"; } .ion-md-share:before { content: "\f379"; } .ion-md-share-alt:before { content: "\f378"; } .ion-md-shirt:before { content: "\f37a"; } .ion-md-shuffle:before { content: "\f37b"; } .ion-md-skip-backward:before { content: "\f37c"; } .ion-md-skip-forward:before { content: "\f37d"; } .ion-md-snow:before { content: "\f37e"; } .ion-md-speedometer:before { content: "\f37f"; } .ion-md-square:before { content: "\f381"; } .ion-md-square-outline:before { content: "\f380"; } .ion-md-star:before { content: "\f384"; } .ion-md-star-half:before { content: "\f382"; } .ion-md-star-outline:before { content: "\f383"; } .ion-md-stats:before { content: "\f385"; } .ion-md-stopwatch:before { content: "\f386"; } .ion-md-subway:before { content: "\f387"; } .ion-md-sunny:before { content: "\f388"; } .ion-md-swap:before { content: "\f389"; } .ion-md-switch:before { content: "\f38a"; } .ion-md-sync:before { content: "\f38b"; } .ion-md-tablet-landscape:before { content: "\f38c"; } .ion-md-tablet-portrait:before { content: "\f38d"; } .ion-md-tennisball:before { content: "\f38e"; } .ion-md-text:before { content: "\f38f"; } .ion-md-thermometer:before { content: "\f390"; } .ion-md-thumbs-down:before { content: "\f391"; } .ion-md-thumbs-up:before { content: "\f392"; } .ion-md-thunderstorm:before { content: "\f393"; } .ion-md-time:before { content: "\f394"; } .ion-md-timer:before { content: "\f395"; } .ion-md-today:before { content: "\f17d"; } .ion-md-train:before { content: "\f396"; } .ion-md-transgender:before { content: "\f397"; } .ion-md-trash:before { content: "\f398"; } .ion-md-trending-down:before { content: "\f399"; } .ion-md-trending-up:before { content: "\f39a"; } .ion-md-trophy:before { content: "\f39b"; } .ion-md-tv:before { content: "\f17f"; } .ion-md-umbrella:before { content: "\f39c"; } .ion-md-undo:before { content: "\f39d"; } .ion-md-unlock:before { content: "\f39e"; } .ion-md-videocam:before { content: "\f39f"; } .ion-md-volume-high:before { content: "\f123"; } .ion-md-volume-low:before { content: "\f131"; } .ion-md-volume-mute:before { content: "\f3a1"; } .ion-md-volume-off:before { content: "\f3a2"; } .ion-md-walk:before { content: "\f3a4"; } .ion-md-wallet:before { content: "\f18f"; } .ion-md-warning:before { content: "\f3a5"; } .ion-md-watch:before { content: "\f3a6"; } .ion-md-water:before { content: "\f3a7"; } .ion-md-wifi:before { content: "\f3a8"; } .ion-md-wine:before { content: "\f3a9"; } .ion-md-woman:before { content: "\f3aa"; }PK}w�\'�o���index.jsnu�[��� 'use strict' if (process.env.NODE_ENV === 'production') { module.exports = require('./shallowequal.cjs.production.min.js') } else { module.exports = require('./shallowequal.cjs.development.js') } PK}w�\��� types/components.d.tsnu�[���/* tslint:disable */ /** * This is an autogenerated file created by the Stencil compiler. * It contains typing information for all components that exist in this project. */ import './stencil.core'; export namespace Components { interface IonIcon { /** * Specifies the label to use for accessibility. Defaults to the icon name. */ 'ariaLabel'?: string; /** * The color to use for the background of the item. */ 'color'?: string; /** * A combination of both `name` and `src`. If a `src` url is detected it will set the `src` property. Otherwise it assumes it's a built-in named SVG and set the `name` property. */ 'icon'?: string; /** * Specifies which icon to use on `ios` mode. */ 'ios'?: string; /** * If enabled, ion-icon will be loaded lazily when it's visible in the viewport. Default, `false`. */ 'lazy': boolean; /** * Specifies which icon to use on `md` mode. */ 'md'?: string; /** * The mode determines which platform styles to use. Possible values are: `"ios"` or `"md"`. */ 'mode'?: 'ios' | 'md'; /** * Specifies which icon to use from the built-in set of icons. */ 'name'?: string; /** * The size of the icon. Available options are: `"small"` and `"large"`. */ 'size'?: string; /** * Specifies the exact `src` of an SVG file to use. */ 'src'?: string; } interface IonIconAttributes extends StencilHTMLAttributes { /** * Specifies the label to use for accessibility. Defaults to the icon name. */ 'ariaLabel'?: string; /** * The color to use for the background of the item. */ 'color'?: string; /** * A combination of both `name` and `src`. If a `src` url is detected it will set the `src` property. Otherwise it assumes it's a built-in named SVG and set the `name` property. */ 'icon'?: string; /** * Specifies which icon to use on `ios` mode. */ 'ios'?: string; /** * If enabled, ion-icon will be loaded lazily when it's visible in the viewport. Default, `false`. */ 'lazy'?: boolean; /** * Specifies which icon to use on `md` mode. */ 'md'?: string; /** * The mode determines which platform styles to use. Possible values are: `"ios"` or `"md"`. */ 'mode'?: 'ios' | 'md'; /** * Specifies which icon to use from the built-in set of icons. */ 'name'?: string; /** * The size of the icon. Available options are: `"small"` and `"large"`. */ 'size'?: string; /** * Specifies the exact `src` of an SVG file to use. */ 'src'?: string; } } declare global { interface StencilElementInterfaces { 'IonIcon': Components.IonIcon; } interface StencilIntrinsicElements { 'ion-icon': Components.IonIconAttributes; } interface HTMLIonIconElement extends Components.IonIcon, HTMLStencilElement {} var HTMLIonIconElement: { prototype: HTMLIonIconElement; new (): HTMLIonIconElement; }; interface HTMLElementTagNameMap { 'ion-icon': HTMLIonIconElement } interface ElementTagNameMap { 'ion-icon': HTMLIonIconElement; } } PK}w�\����types/icon/utils.d.tsnu�[���export declare function getName(name: string | undefined, mode: string | undefined, ios: string | undefined, md: string | undefined): string | null; export declare function getSrc(src: string | undefined): string | null; export declare function isValid(elm: HTMLElement): boolean; PK}w�\%A3@��types/icon/icon.d.tsnu�[���import '../stencil.core'; export declare class Icon { private io?; el: HTMLElement; private svgContent?; private isVisible; isServer: boolean; resourcesUrl: string; doc: Document; win: any; /** * The color to use for the background of the item. */ color?: string; /** * The mode determines which platform styles to use. * Possible values are: `"ios"` or `"md"`. */ mode?: 'ios' | 'md'; /** * Specifies the label to use for accessibility. Defaults to the icon name. */ ariaLabel?: string; /** * Specifies which icon to use on `ios` mode. */ ios?: string; /** * Specifies which icon to use on `md` mode. */ md?: string; /** * Specifies which icon to use from the built-in set of icons. */ name?: string; /** * Specifies the exact `src` of an SVG file to use. */ src?: string; /** * A combination of both `name` and `src`. If a `src` url is detected * it will set the `src` property. Otherwise it assumes it's a built-in named * SVG and set the `name` property. */ icon?: string; /** * The size of the icon. * Available options are: `"small"` and `"large"`. */ size?: string; /** * If enabled, ion-icon will be loaded lazily when it's visible in the viewport. * Default, `false`. */ lazy: boolean; componentWillLoad(): void; componentDidUnload(): void; private waitUntilVisible; loadIcon(): void; getUrl(): string | null; private getNamedUrl; hostData(): { 'role': string; class: {}; }; render(): JSX.Element; } PK}w�\�?�m��types/stencil.core.d.tsnu�[���/** * This file gets copied to all distributions of stencil component collections. * - no imports */ export interface ComponentWillLoad { /** * The component is about to load and it has not * rendered yet. * * This is the best place to make any data updates * before the first render. * * componentWillLoad will only be called once. */ componentWillLoad: () => Promise<void> | void; } export interface ComponentDidLoad { /** * The component has loaded and has already rendered. * * Updating data in this method will cause the * component to re-render. * * componentDidLoad will only be called once. */ componentDidLoad: () => void; } export interface ComponentWillUpdate { /** * The component is about to update and re-render. * * Called multiple times throughout the life of * the component as it updates. * * componentWillUpdate is not called on the first render. */ componentWillUpdate: () => Promise<void> | void; } export interface ComponentDidUpdate { /** * The component has just re-rendered. * * Called multiple times throughout the life of * the component as it updates. * * componentWillUpdate is not called on the * first render. */ componentDidUpdate: () => void; } export interface ComponentDidUnload { /** * The component did unload and the element * will be destroyed. */ componentDidUnload: () => void; } export interface ComponentInstance { /** * The component is about to load and it has not * rendered yet. * * This is the best place to make any data updates * before the first render. * * componentWillLoad will only be called once. */ componentWillLoad?: () => Promise<void> | void; /** * The component has loaded and has already rendered. * * Updating data in this method will cause the * component to re-render. * * componentDidLoad will only be called once. */ componentDidLoad?: () => void; /** * The component is about to update and re-render. * * Called multiple times throughout the life of * the component as it updates. * * componentWillUpdate is not called on the first render. */ componentWillUpdate?: () => Promise<void> | void; /** * The component has just re-rendered. * * Called multiple times throughout the life of * the component as it updates. * * componentWillUpdate is not called on the * first render. */ componentDidUpdate?: () => void; /** * The component did unload and the element * will be destroyed. */ componentDidUnload?: () => void; render?: () => any; /** * Used to dynamically set host element attributes. * Should be placed directly above render() */ hostData?: () => { class?: {[className: string]: boolean}; style?: any; [attrName: string]: any; }; [memberName: string]: any; } /** * General types important to applications using stencil built components */ export interface EventEmitter<T= any> { emit: (data?: T) => void; } export interface EventListenerEnable { (instance: any, eventName: string, enabled: boolean, attachTo?: string|Element, passive?: boolean): void; } export interface QueueApi { tick: (cb: RafCallback) => void; read: (cb: RafCallback) => void; write: (cb: RafCallback) => void; clear?: () => void; flush?: (cb?: () => void) => void; } export interface RafCallback { (timeStamp: number): void; } /** * This file gets copied to all distributions of stencil component collections. * - no imports */ declare global { interface HTMLStencilElement extends HTMLElement { componentOnReady(): Promise<this>; forceUpdate(): void; } interface StencilHTMLAttributes extends JSXElements.HTMLAttributes {} interface StencilIntrinsicElements extends JSXElements.DefaultIntrinsicElements {} interface StencilElementInterfaces {} interface StencilGlobalHTMLAttributes {} } export namespace JSXElements { export interface DefaultIntrinsicElements { // Stencil elements slot: JSXElements.SlotAttributes; // HTML a: JSXElements.AnchorHTMLAttributes<HTMLAnchorElement>; abbr: JSXElements.HTMLAttributes; address: JSXElements.HTMLAttributes; area: JSXElements.AreaHTMLAttributes<HTMLAreaElement>; article: JSXElements.HTMLAttributes; aside: JSXElements.HTMLAttributes; audio: JSXElements.AudioHTMLAttributes<HTMLAudioElement>; b: JSXElements.HTMLAttributes; base: JSXElements.BaseHTMLAttributes<HTMLBaseElement>; bdi: JSXElements.HTMLAttributes; bdo: JSXElements.HTMLAttributes; big: JSXElements.HTMLAttributes; blockquote: JSXElements.BlockquoteHTMLAttributes<HTMLQuoteElement>; body: JSXElements.HTMLAttributes<HTMLBodyElement>; br: JSXElements.HTMLAttributes<HTMLBRElement>; button: JSXElements.ButtonHTMLAttributes<HTMLButtonElement>; canvas: JSXElements.CanvasHTMLAttributes<HTMLCanvasElement>; caption: JSXElements.HTMLAttributes<HTMLTableCaptionElement>; cite: JSXElements.HTMLAttributes; code: JSXElements.HTMLAttributes; col: JSXElements.ColHTMLAttributes<HTMLTableColElement>; colgroup: JSXElements.ColgroupHTMLAttributes<HTMLTableColElement>; data: JSXElements.HTMLAttributes<HTMLDataElement>; datalist: JSXElements.HTMLAttributes<HTMLDataListElement>; dd: JSXElements.HTMLAttributes; del: JSXElements.DelHTMLAttributes<HTMLModElement>; details: JSXElements.DetailsHTMLAttributes<HTMLElement>; dfn: JSXElements.HTMLAttributes; dialog: JSXElements.DialogHTMLAttributes<HTMLDialogElement>; div: JSXElements.HTMLAttributes<HTMLDivElement>; dl: JSXElements.HTMLAttributes<HTMLDListElement>; dt: JSXElements.HTMLAttributes; em: JSXElements.HTMLAttributes; embed: JSXElements.EmbedHTMLAttributes<HTMLEmbedElement>; fieldset: JSXElements.FieldsetHTMLAttributes<HTMLFieldSetElement>; figcaption: JSXElements.HTMLAttributes; figure: JSXElements.HTMLAttributes; footer: JSXElements.HTMLAttributes; form: JSXElements.FormHTMLAttributes<HTMLFormElement>; h1: JSXElements.HTMLAttributes<HTMLHeadingElement>; h2: JSXElements.HTMLAttributes<HTMLHeadingElement>; h3: JSXElements.HTMLAttributes<HTMLHeadingElement>; h4: JSXElements.HTMLAttributes<HTMLHeadingElement>; h5: JSXElements.HTMLAttributes<HTMLHeadingElement>; h6: JSXElements.HTMLAttributes<HTMLHeadingElement>; head: JSXElements.HTMLAttributes<HTMLHeadElement>; header: JSXElements.HTMLAttributes; hgroup: JSXElements.HTMLAttributes; hr: JSXElements.HTMLAttributes<HTMLHRElement>; html: JSXElements.HTMLAttributes<HTMLHtmlElement>; i: JSXElements.HTMLAttributes; iframe: JSXElements.IframeHTMLAttributes<HTMLIFrameElement>; img: JSXElements.ImgHTMLAttributes<HTMLImageElement>; input: JSXElements.InputHTMLAttributes<HTMLInputElement>; ins: JSXElements.InsHTMLAttributes<HTMLModElement>; kbd: JSXElements.HTMLAttributes; keygen: JSXElements.KeygenHTMLAttributes<HTMLElement>; label: JSXElements.LabelHTMLAttributes<HTMLLabelElement>; legend: JSXElements.HTMLAttributes<HTMLLegendElement>; li: JSXElements.LiHTMLAttributes<HTMLLIElement>; link: JSXElements.LinkHTMLAttributes<HTMLLinkElement>; main: JSXElements.HTMLAttributes; map: JSXElements.MapHTMLAttributes<HTMLMapElement>; mark: JSXElements.HTMLAttributes; menu: JSXElements.MenuHTMLAttributes<HTMLMenuElement>; menuitem: JSXElements.HTMLAttributes; meta: JSXElements.MetaHTMLAttributes<HTMLMetaElement>; meter: JSXElements.MeterHTMLAttributes<HTMLMeterElement>; nav: JSXElements.HTMLAttributes; noscript: JSXElements.HTMLAttributes; object: JSXElements.ObjectHTMLAttributes<HTMLObjectElement>; ol: JSXElements.OlHTMLAttributes<HTMLOListElement>; optgroup: JSXElements.OptgroupHTMLAttributes<HTMLOptGroupElement>; option: JSXElements.OptionHTMLAttributes<HTMLOptionElement>; output: JSXElements.OutputHTMLAttributes<HTMLOutputElement>; p: JSXElements.HTMLAttributes<HTMLParagraphElement>; param: JSXElements.ParamHTMLAttributes<HTMLParamElement>; picture: JSXElements.HTMLAttributes<HTMLPictureElement>; pre: JSXElements.HTMLAttributes<HTMLPreElement>; progress: JSXElements.ProgressHTMLAttributes<HTMLProgressElement>; q: JSXElements.QuoteHTMLAttributes<HTMLQuoteElement>; rp: JSXElements.HTMLAttributes; rt: JSXElements.HTMLAttributes; ruby: JSXElements.HTMLAttributes; s: JSXElements.HTMLAttributes; samp: JSXElements.HTMLAttributes; script: JSXElements.ScriptHTMLAttributes<HTMLScriptElement>; section: JSXElements.HTMLAttributes; select: JSXElements.SelectHTMLAttributes<HTMLSelectElement>; small: JSXElements.HTMLAttributes; source: JSXElements.SourceHTMLAttributes<HTMLSourceElement>; span: JSXElements.HTMLAttributes<HTMLSpanElement>; strong: JSXElements.HTMLAttributes; style: JSXElements.StyleHTMLAttributes<HTMLStyleElement>; sub: JSXElements.HTMLAttributes; summary: JSXElements.HTMLAttributes; sup: JSXElements.HTMLAttributes; table: JSXElements.TableHTMLAttributes<HTMLTableElement>; tbody: JSXElements.HTMLAttributes<HTMLTableSectionElement>; td: JSXElements.TdHTMLAttributes<HTMLTableDataCellElement>; textarea: JSXElements.TextareaHTMLAttributes<HTMLTextAreaElement>; tfoot: JSXElements.HTMLAttributes<HTMLTableSectionElement>; th: JSXElements.ThHTMLAttributes<HTMLTableHeaderCellElement>; thead: JSXElements.HTMLAttributes<HTMLTableSectionElement>; time: JSXElements.TimeHTMLAttributes<HTMLTimeElement>; title: JSXElements.HTMLAttributes<HTMLTitleElement>; tr: JSXElements.HTMLAttributes<HTMLTableRowElement>; track: JSXElements.TrackHTMLAttributes<HTMLTrackElement>; u: JSXElements.HTMLAttributes; ul: JSXElements.HTMLAttributes<HTMLUListElement>; 'var': JSXElements.HTMLAttributes; video: JSXElements.VideoHTMLAttributes<HTMLVideoElement>; wbr: JSXElements.HTMLAttributes; } export interface SlotAttributes { name?: string; slot?: string; } export interface AnchorHTMLAttributes<T> extends HTMLAttributes<T> { download?: any; href?: string; hrefLang?: string; hreflang?: string; media?: string; rel?: string; target?: string; } export interface AudioHTMLAttributes<T> extends MediaHTMLAttributes<T> {} export interface AreaHTMLAttributes<T> extends HTMLAttributes<T> { alt?: string; coords?: string; download?: any; href?: string; hrefLang?: string; hreflang?: string; media?: string; rel?: string; shape?: string; target?: string; } export interface BaseHTMLAttributes<T> extends HTMLAttributes<T> { href?: string; target?: string; } export interface BlockquoteHTMLAttributes<T> extends HTMLAttributes<T> { cite?: string; } export interface ButtonHTMLAttributes<T> extends HTMLAttributes<T> { autoFocus?: boolean; disabled?: boolean; form?: string; formAction?: string; formaction?: string; formEncType?: string; formenctype?: string; formMethod?: string; formmethod?: string; formNoValidate?: boolean; formnovalidate?: boolean; formTarget?: string; formtarget?: string; name?: string; type?: string; value?: string | string[] | number; } export interface CanvasHTMLAttributes<T> extends HTMLAttributes<T> { height?: number | string; width?: number | string; } export interface ColHTMLAttributes<T> extends HTMLAttributes<T> { span?: number; } export interface ColgroupHTMLAttributes<T> extends HTMLAttributes<T> { span?: number; } export interface DetailsHTMLAttributes<T> extends HTMLAttributes<T> { open?: boolean; } export interface DelHTMLAttributes<T> extends HTMLAttributes<T> { cite?: string; dateTime?: string; datetime?: string; } export interface DialogHTMLAttributes<T> extends HTMLAttributes<T> { open?: boolean; returnValue?: string; } export interface EmbedHTMLAttributes<T> extends HTMLAttributes<T> { height?: number | string; src?: string; type?: string; width?: number | string; } export interface FieldsetHTMLAttributes<T> extends HTMLAttributes<T> { disabled?: boolean; form?: string; name?: string; } export interface FormHTMLAttributes<T> extends HTMLAttributes<T> { acceptCharset?: string; acceptcharset?: string; action?: string; autoComplete?: string; autocomplete?: string; encType?: string; enctype?: string; method?: string; name?: string; noValidate?: boolean; novalidate?: boolean | string; target?: string; } export interface HtmlHTMLAttributes<T> extends HTMLAttributes<T> { manifest?: string; } export interface IframeHTMLAttributes<T> extends HTMLAttributes<T> { allowFullScreen?: boolean; allowfullScreen?: string | boolean; allowTransparency?: boolean; allowtransparency?: string | boolean; frameBorder?: number | string; frameborder?: number | string; height?: number | string; marginHeight?: number; marginheight?: string | number; marginWidth?: number; marginwidth?: string | number; name?: string; sandbox?: string; scrolling?: string; seamless?: boolean; src?: string; srcDoc?: string; srcdoc?: string; width?: number | string; } export interface ImgHTMLAttributes<T> extends HTMLAttributes<T> { alt?: string; decoding?: 'async' | 'auto' | 'sync'; height?: number | string; sizes?: string; src?: string; srcSet?: string; srcset?: string; useMap?: string; usemap?: string; width?: number | string; } export interface InsHTMLAttributes<T> extends HTMLAttributes<T> { cite?: string; dateTime?: string; datetime?: string; } export interface InputHTMLAttributes<T> extends HTMLAttributes<T> { accept?: string; alt?: string; autoComplete?: string; autocomplete?: string; autoFocus?: boolean; autofocus?: boolean | string; capture?: string; // https://www.w3.org/TR/html-media-capture/#the-capture-attribute checked?: boolean; crossOrigin?: string; crossorigin?: string; disabled?: boolean; form?: string; formAction?: string; formaction?: string; formEncType?: string; formenctype?: string; formMethod?: string; formmethod?: string; formNoValidate?: boolean; formnovalidate?: boolean; formTarget?: string; formtarget?: string; height?: number | string; list?: string; max?: number | string; maxLength?: number; maxlength?: number | string; min?: number | string; minLength?: number; minlength?: number | string; multiple?: boolean; name?: string; pattern?: string; placeholder?: string; readOnly?: boolean; readonly?: boolean | string; required?: boolean; size?: number; src?: string; step?: number | string; type?: string; value?: string | string[] | number; width?: number | string; } export interface KeygenHTMLAttributes<T> extends HTMLAttributes<T> { autoFocus?: boolean; autofocus?: boolean | string; challenge?: string; disabled?: boolean; form?: string; keyType?: string; keytype?: string; keyParams?: string; keyparams?: string; name?: string; } export interface LabelHTMLAttributes<T> extends HTMLAttributes<T> { form?: string; htmlFor?: string; htmlfor?: string; } export interface LiHTMLAttributes<T> extends HTMLAttributes<T> { value?: string | string[] | number; } export interface LinkHTMLAttributes<T> extends HTMLAttributes<T> { href?: string; hrefLang?: string; hreflang?: string; integrity?: string; media?: string; rel?: string; sizes?: string; type?: string; } export interface MapHTMLAttributes<T> extends HTMLAttributes<T> { name?: string; } export interface MenuHTMLAttributes<T> extends HTMLAttributes<T> { type?: string; } export interface MediaHTMLAttributes<T> extends HTMLAttributes<T> { autoPlay?: boolean; autoplay?: boolean | string; controls?: boolean; crossOrigin?: string; crossorigin?: string; loop?: boolean; mediaGroup?: string; mediagroup?: string; muted?: boolean; preload?: string; src?: string; } export interface MetaHTMLAttributes<T> extends HTMLAttributes<T> { charSet?: string; charset?: string; content?: string; httpEquiv?: string; httpequiv?: string; name?: string; } export interface MeterHTMLAttributes<T> extends HTMLAttributes<T> { form?: string; high?: number; low?: number; max?: number | string; min?: number | string; optimum?: number; value?: string | string[] | number; } export interface QuoteHTMLAttributes<T> extends HTMLAttributes<T> { cite?: string; } export interface ObjectHTMLAttributes<T> extends HTMLAttributes<T> { classID?: string; classid?: string; data?: string; form?: string; height?: number | string; name?: string; type?: string; useMap?: string; usemap?: string; width?: number | string; wmode?: string; } export interface OlHTMLAttributes<T> extends HTMLAttributes<T> { reversed?: boolean; start?: number; } export interface OptgroupHTMLAttributes<T> extends HTMLAttributes<T> { disabled?: boolean; label?: string; } export interface OptionHTMLAttributes<T> extends HTMLAttributes<T> { disabled?: boolean; label?: string; selected?: boolean; value?: string | string[] | number; } export interface OutputHTMLAttributes<T> extends HTMLAttributes<T> { form?: string; htmlFor?: string; htmlfor?: string; name?: string; } export interface ParamHTMLAttributes<T> extends HTMLAttributes<T> { name?: string; value?: string | string[] | number; } export interface ProgressHTMLAttributes<T> extends HTMLAttributes<T> { max?: number | string; value?: string | string[] | number; } export interface ScriptHTMLAttributes<T> extends HTMLAttributes<T> { async?: boolean; charSet?: string; charset?: string; crossOrigin?: string; crossorigin?: string; defer?: boolean; integrity?: string; nonce?: string; src?: string; type?: string; } export interface SelectHTMLAttributes<T> extends HTMLAttributes<T> { autoFocus?: boolean; disabled?: boolean; form?: string; multiple?: boolean; name?: string; required?: boolean; size?: number; } export interface SourceHTMLAttributes<T> extends HTMLAttributes<T> { media?: string; sizes?: string; src?: string; srcSet?: string; type?: string; } export interface StyleHTMLAttributes<T> extends HTMLAttributes<T> { media?: string; nonce?: string; scoped?: boolean; type?: string; } export interface TableHTMLAttributes<T> extends HTMLAttributes<T> { cellPadding?: number | string; cellpadding?: number | string; cellSpacing?: number | string; cellspacing?: number | string; summary?: string; } export interface TextareaHTMLAttributes<T> extends HTMLAttributes<T> { autoFocus?: boolean; autofocus?: boolean | string; cols?: number; disabled?: boolean; form?: string; maxLength?: number; maxlength?: number | string; minLength?: number; minlength?: number | string; name?: string; placeholder?: string; readOnly?: boolean; readonly?: boolean | string; required?: boolean; rows?: number; value?: string | string[] | number; wrap?: string; } export interface TdHTMLAttributes<T> extends HTMLAttributes<T> { colSpan?: number; headers?: string; rowSpan?: number; } export interface ThHTMLAttributes<T> extends HTMLAttributes<T> { colSpan?: number; headers?: string; rowSpan?: number; rowspan?: number | string; scope?: string; } export interface TimeHTMLAttributes<T> extends HTMLAttributes<T> { dateTime?: string; } export interface TrackHTMLAttributes<T> extends HTMLAttributes<T> { default?: boolean; kind?: string; label?: string; src?: string; srcLang?: string; srclang?: string; } export interface VideoHTMLAttributes<T> extends MediaHTMLAttributes<T> { height?: number | string; playsInline?: boolean; playsinline?: boolean | string; poster?: string; width?: number | string; } export interface HTMLAttributes<T = HTMLElement> extends StencilGlobalHTMLAttributes, DOMAttributes { // vdom specific innerHTML?: string; ref?: (elm?: T) => void; key?: string | number; // Standard HTML Attributes accessKey?: string; class?: string | { [className: string]: boolean }; contentEditable?: boolean | string; contenteditable?: boolean | string; contextMenu?: string; contextmenu?: string; dir?: string; draggable?: boolean; hidden?: boolean; id?: string; lang?: string; slot?: string; spellCheck?: boolean; spellcheck?: boolean | string; style?: { [key: string]: string }; tabIndex?: number; tabindex?: number | string; title?: string; // Unknown inputMode?: string; inputmode?: string; is?: string; radioGroup?: string; // <command>, <menuitem> radiogroup?: string; // WAI-ARIA role?: string; // RDFa Attributes about?: string; datatype?: string; inlist?: any; prefix?: string; property?: string; resource?: string; typeof?: string; vocab?: string; // Non-standard Attributes autoCapitalize?: string; autocapitalize?: string; autoCorrect?: string; autocorrect?: string; autoSave?: string; autosave?: string; color?: string; itemProp?: string; itemprop?: string; itemScope?: boolean; itemscope?: boolean; itemType?: string; itemtype?: string; itemID?: string; itemid?: string; itemRef?: string; itemref?: string; results?: number; security?: string; unselectable?: boolean; } export interface SVGAttributes extends StencilGlobalHTMLAttributes, DOMAttributes { // Attributes which also defined in HTMLAttributes // See comment in SVGDOMPropertyConfig.js class?: string | { [className: string]: boolean }; color?: string; height?: number | string; id?: string; lang?: string; max?: number | string; media?: string; method?: string; min?: number | string; name?: string; style?: { [key: string]: any; }; target?: string; type?: string; width?: number | string; // Other HTML properties supported by SVG elements in browsers role?: string; tabIndex?: number; // SVG Specific attributes accentHeight?: number | string; accumulate?: 'none' | 'sum'; additive?: 'replace' | 'sum'; alignmentBaseline?: 'auto' | 'baseline' | 'before-edge' | 'text-before-edge' | 'middle' | 'central' | 'after-edge' | 'text-after-edge' | 'ideographic' | 'alphabetic' | 'hanging' | 'mathematical' | 'inherit'; allowReorder?: 'no' | 'yes'; alphabetic?: number | string; amplitude?: number | string; arabicForm?: 'initial' | 'medial' | 'terminal' | 'isolated'; ascent?: number | string; attributeName?: string; attributeType?: string; autoReverse?: number | string; azimuth?: number | string; baseFrequency?: number | string; baselineShift?: number | string; baseProfile?: number | string; bbox?: number | string; begin?: number | string; bias?: number | string; by?: number | string; calcMode?: number | string; capHeight?: number | string; clip?: number | string; clipPath?: string; clipPathUnits?: number | string; clipRule?: number | string; colorInterpolation?: number | string; colorInterpolationFilters?: 'auto' | 'sRGB' | 'linearRGB' | 'inherit'; colorProfile?: number | string; colorRendering?: number | string; contentScriptType?: number | string; contentStyleType?: number | string; cursor?: number | string; cx?: number | string; cy?: number | string; d?: string; decelerate?: number | string; descent?: number | string; diffuseConstant?: number | string; direction?: number | string; display?: number | string; divisor?: number | string; dominantBaseline?: number | string; dur?: number | string; dx?: number | string; dy?: number | string; edgeMode?: number | string; elevation?: number | string; enableBackground?: number | string; end?: number | string; exponent?: number | string; externalResourcesRequired?: number | string; fill?: string; fillOpacity?: number | string; fillRule?: 'nonzero' | 'evenodd' | 'inherit'; filter?: string; filterRes?: number | string; filterUnits?: number | string; floodColor?: number | string; floodOpacity?: number | string; focusable?: number | string; fontFamily?: string; fontSize?: number | string; fontSizeAdjust?: number | string; fontStretch?: number | string; fontStyle?: number | string; fontVariant?: number | string; fontWeight?: number | string; format?: number | string; from?: number | string; fx?: number | string; fy?: number | string; g1?: number | string; g2?: number | string; glyphName?: number | string; glyphOrientationHorizontal?: number | string; glyphOrientationVertical?: number | string; glyphRef?: number | string; gradientTransform?: string; gradientUnits?: string; hanging?: number | string; horizAdvX?: number | string; horizOriginX?: number | string; ideographic?: number | string; imageRendering?: number | string; in2?: number | string; in?: string; intercept?: number | string; k1?: number | string; k2?: number | string; k3?: number | string; k4?: number | string; k?: number | string; kernelMatrix?: number | string; kernelUnitLength?: number | string; kerning?: number | string; keyPoints?: number | string; keySplines?: number | string; keyTimes?: number | string; lengthAdjust?: number | string; letterSpacing?: number | string; lightingColor?: number | string; limitingConeAngle?: number | string; local?: number | string; markerEnd?: string; markerHeight?: number | string; markerMid?: string; markerStart?: string; markerUnits?: number | string; markerWidth?: number | string; mask?: string; maskContentUnits?: number | string; maskUnits?: number | string; mathematical?: number | string; mode?: number | string; numOctaves?: number | string; offset?: number | string; opacity?: number | string; operator?: number | string; order?: number | string; orient?: number | string; orientation?: number | string; origin?: number | string; overflow?: number | string; overlinePosition?: number | string; overlineThickness?: number | string; paintOrder?: number | string; panose1?: number | string; pathLength?: number | string; patternContentUnits?: string; patternTransform?: number | string; patternUnits?: string; pointerEvents?: number | string; points?: string; pointsAtX?: number | string; pointsAtY?: number | string; pointsAtZ?: number | string; preserveAlpha?: number | string; preserveAspectRatio?: string; primitiveUnits?: number | string; r?: number | string; radius?: number | string; refX?: number | string; refY?: number | string; renderingIntent?: number | string; repeatCount?: number | string; repeatDur?: number | string; requiredExtensions?: number | string; requiredFeatures?: number | string; restart?: number | string; result?: string; rotate?: number | string; rx?: number | string; ry?: number | string; scale?: number | string; seed?: number | string; shapeRendering?: number | string; slope?: number | string; spacing?: number | string; specularConstant?: number | string; specularExponent?: number | string; speed?: number | string; spreadMethod?: string; startOffset?: number | string; stdDeviation?: number | string; stemh?: number | string; stemv?: number | string; stitchTiles?: number | string; stopColor?: string; stopOpacity?: number | string; strikethroughPosition?: number | string; strikethroughThickness?: number | string; string?: number | string; stroke?: string; strokeDasharray?: string | number; strokeDashoffset?: string | number; strokeLinecap?: 'butt' | 'round' | 'square' | 'inherit'; strokeLinejoin?: 'miter' | 'round' | 'bevel' | 'inherit'; strokeMiterlimit?: string; strokeOpacity?: number | string; strokeWidth?: number | string; surfaceScale?: number | string; systemLanguage?: number | string; tableValues?: number | string; targetX?: number | string; targetY?: number | string; textAnchor?: string; textDecoration?: number | string; textLength?: number | string; textRendering?: number | string; to?: number | string; transform?: string; u1?: number | string; u2?: number | string; underlinePosition?: number | string; underlineThickness?: number | string; unicode?: number | string; unicodeBidi?: number | string; unicodeRange?: number | string; unitsPerEm?: number | string; vAlphabetic?: number | string; values?: string; vectorEffect?: number | string; version?: string; vertAdvY?: number | string; vertOriginX?: number | string; vertOriginY?: number | string; vHanging?: number | string; vIdeographic?: number | string; viewBox?: string; viewTarget?: number | string; visibility?: number | string; vMathematical?: number | string; widths?: number | string; wordSpacing?: number | string; writingMode?: number | string; x1?: number | string; x2?: number | string; x?: number | string; xChannelSelector?: string; xHeight?: number | string; xlinkActuate?: string; xlinkArcrole?: string; xlinkHref?: string; xlinkRole?: string; xlinkShow?: string; xlinkTitle?: string; xlinkType?: string; xmlBase?: string; xmlLang?: string; xmlns?: string; xmlnsXlink?: string; xmlSpace?: string; y1?: number | string; y2?: number | string; y?: number | string; yChannelSelector?: string; z?: number | string; zoomAndPan?: string; } export interface DOMAttributes { // Clipboard Events onCopy?: (event: ClipboardEvent) => void; onCopyCapture?: (event: ClipboardEvent) => void; onCut?: (event: ClipboardEvent) => void; onCutCapture?: (event: ClipboardEvent) => void; onPaste?: (event: ClipboardEvent) => void; onPasteCapture?: (event: ClipboardEvent) => void; // Composition Events onCompositionEnd?: (event: CompositionEvent) => void; onCompositionEndCapture?: (event: CompositionEvent) => void; onCompositionStart?: (event: CompositionEvent) => void; onCompositionStartCapture?: (event: CompositionEvent) => void; onCompositionUpdate?: (event: CompositionEvent) => void; onCompositionUpdateCapture?: (event: CompositionEvent) => void; // Focus Events onFocus?: (event: FocusEvent) => void; onFocusCapture?: (event: FocusEvent) => void; onBlur?: (event: FocusEvent) => void; onBlurCapture?: (event: FocusEvent) => void; // Form Events onChange?: (event: Event) => void; onChangeCapture?: (event: Event) => void; onInput?: (event: Event) => void; onInputCapture?: (event: Event) => void; onReset?: (event: Event) => void; onResetCapture?: (event: Event) => void; onSubmit?: (event: Event) => void; onSubmitCapture?: (event: Event) => void; onInvalid?: (event: Event) => void; onInvalidCapture?: (event: Event) => void; // Image Events onLoad?: (event: Event) => void; onLoadCapture?: (event: Event) => void; onError?: (event: Event) => void; // also a Media Event onErrorCapture?: (event: Event) => void; // also a Media Event // Keyboard Events onKeyDown?: (event: KeyboardEvent) => void; onKeyDownCapture?: (event: KeyboardEvent) => void; onKeyPress?: (event: KeyboardEvent) => void; onKeyPressCapture?: (event: KeyboardEvent) => void; onKeyUp?: (event: KeyboardEvent) => void; onKeyUpCapture?: (event: KeyboardEvent) => void; // MouseEvents onAuxClick?: (event: MouseEvent) => void; onClick?: (event: MouseEvent) => void; onClickCapture?: (event: MouseEvent) => void; onContextMenu?: (event: MouseEvent) => void; onContextMenuCapture?: (event: MouseEvent) => void; onDblClick?: (event: MouseEvent) => void; onDblClickCapture?: (event: MouseEvent) => void; onDrag?: (event: DragEvent) => void; onDragCapture?: (event: DragEvent) => void; onDragEnd?: (event: DragEvent) => void; onDragEndCapture?: (event: DragEvent) => void; onDragEnter?: (event: DragEvent) => void; onDragEnterCapture?: (event: DragEvent) => void; onDragExit?: (event: DragEvent) => void; onDragExitCapture?: (event: DragEvent) => void; onDragLeave?: (event: DragEvent) => void; onDragLeaveCapture?: (event: DragEvent) => void; onDragOver?: (event: DragEvent) => void; onDragOverCapture?: (event: DragEvent) => void; onDragStart?: (event: DragEvent) => void; onDragStartCapture?: (event: DragEvent) => void; onDrop?: (event: DragEvent) => void; onDropCapture?: (event: DragEvent) => void; onMouseDown?: (event: MouseEvent) => void; onMouseDownCapture?: (event: MouseEvent) => void; onMouseEnter?: (event: MouseEvent) => void; onMouseLeave?: (event: MouseEvent) => void; onMouseMove?: (event: MouseEvent) => void; onMouseMoveCapture?: (event: MouseEvent) => void; onMouseOut?: (event: MouseEvent) => void; onMouseOutCapture?: (event: MouseEvent) => void; onMouseOver?: (event: MouseEvent) => void; onMouseOverCapture?: (event: MouseEvent) => void; onMouseUp?: (event: MouseEvent) => void; onMouseUpCapture?: (event: MouseEvent) => void; // Touch Events onTouchCancel?: (event: TouchEvent) => void; onTouchCancelCapture?: (event: TouchEvent) => void; onTouchEnd?: (event: TouchEvent) => void; onTouchEndCapture?: (event: TouchEvent) => void; onTouchMove?: (event: TouchEvent) => void; onTouchMoveCapture?: (event: TouchEvent) => void; onTouchStart?: (event: TouchEvent) => void; onTouchStartCapture?: (event: TouchEvent) => void; // UI Events onScroll?: (event: UIEvent) => void; onScrollCapture?: (event: UIEvent) => void; // Wheel Events onWheel?: (event: WheelEvent) => void; onWheelCapture?: (event: WheelEvent) => void; // Animation Events onAnimationStart?: (event: AnimationEvent) => void; onAnimationStartCapture?: (event: AnimationEvent) => void; onAnimationEnd?: (event: AnimationEvent) => void; onAnimationEndCapture?: (event: AnimationEvent) => void; onAnimationIteration?: (event: AnimationEvent) => void; onAnimationIterationCapture?: (event: AnimationEvent) => void; // Transition Events onTransitionEnd?: (event: TransitionEvent) => void; onTransitionEndCapture?: (event: TransitionEvent) => void; } } export interface FunctionalUtilities { forEach: (children: FVNode[], cb: (vnode: ChildNode, index: number, array: FVNode[]) => void) => void; map: (children: FVNode[], cb: (vnode: ChildNode, index: number, array: FVNode[]) => ChildNode) => FVNode[]; } export interface FunctionalComponent<T = {}> { (props: T, children: FVNode[], utils: FunctionalUtilities): FVNode | FVNode[]; } export interface FVNode { // using v prefixes largely so closure has no issue property renaming vtag?: string | number | Function; vkey?: string | number; vtext?: string; vchildren?: FVNode[]; vattrs?: any; vname?: string; ishost?: boolean; isSlotFallback?: boolean; isSlotReference?: boolean; } export interface ChildNode { vtag?: string | number | Function; vkey?: string | number; vtext?: string; vchildren?: ChildNode[]; vattrs?: any; vname?: string; } PK}w�\����ssloader/package.jsonnu�[���{ "name": "loader", "typings": "./index.d.ts", "module": "./index.js", "es2017": "./index.es2017.js" }PK}w�\�{E`..loader/index.jsnu�[���export * from '../esm/es5/ionicons.define.js';PK}w�\Hv11loader/index.es2017.jsnu�[���export * from '../esm/es2017/ionicons.define.js';PK}w�\���XFFloader/index.d.tsnu�[���export declare function defineCustomElements(win: any): Promise<void>;PK}w�\M��}E�E�css/ionicons.cssnu�[���@charset "UTF-8"; /*! Ionicons, v4.4.5 Created by Ben Sperry for the Ionic Framework, http://ionicons.com/ https://twitter.com/benjsperry https://twitter.com/ionicframework MIT License: https://github.com/driftyco/ionicons Android-style icons originally built by Google’s Material Design Icons: https://github.com/google/material-design-icons used under CC BY http://creativecommons.org/licenses/by/4.0/ Modified icons to fit ionicon’s grid from original. */ @font-face { font-family: "Ionicons"; src: url("../fonts/ionicons.eot?v=4.4.5"); src: url("../fonts/ionicons.eot?v=4.4.5#iefix") format("embedded-opentype"), url("../fonts/ionicons.woff2?v=4.4.5") format("woff2"), url("../fonts/ionicons.woff?v=4.4.5") format("woff"), url("../fonts/ionicons.ttf?v=4.4.5") format("truetype"), url("../fonts/ionicons.svg?v=4.4.5#Ionicons") format("svg"); font-weight: normal; font-style: normal; } .ion, .ionicons, .ion-ios-add:before, .ion-ios-add-circle:before, .ion-ios-add-circle-outline:before, .ion-ios-airplane:before, .ion-ios-alarm:before, .ion-ios-albums:before, .ion-ios-alert:before, .ion-ios-american-football:before, .ion-ios-analytics:before, .ion-ios-aperture:before, .ion-ios-apps:before, .ion-ios-appstore:before, .ion-ios-archive:before, .ion-ios-arrow-back:before, .ion-ios-arrow-down:before, .ion-ios-arrow-dropdown:before, .ion-ios-arrow-dropdown-circle:before, .ion-ios-arrow-dropleft:before, .ion-ios-arrow-dropleft-circle:before, .ion-ios-arrow-dropright:before, .ion-ios-arrow-dropright-circle:before, .ion-ios-arrow-dropup:before, .ion-ios-arrow-dropup-circle:before, .ion-ios-arrow-forward:before, .ion-ios-arrow-round-back:before, .ion-ios-arrow-round-down:before, .ion-ios-arrow-round-forward:before, .ion-ios-arrow-round-up:before, .ion-ios-arrow-up:before, .ion-ios-at:before, .ion-ios-attach:before, .ion-ios-backspace:before, .ion-ios-barcode:before, .ion-ios-baseball:before, .ion-ios-basket:before, .ion-ios-basketball:before, .ion-ios-battery-charging:before, .ion-ios-battery-dead:before, .ion-ios-battery-full:before, .ion-ios-beaker:before, .ion-ios-bed:before, .ion-ios-beer:before, .ion-ios-bicycle:before, .ion-ios-bluetooth:before, .ion-ios-boat:before, .ion-ios-body:before, .ion-ios-bonfire:before, .ion-ios-book:before, .ion-ios-bookmark:before, .ion-ios-bookmarks:before, .ion-ios-bowtie:before, .ion-ios-briefcase:before, .ion-ios-browsers:before, .ion-ios-brush:before, .ion-ios-bug:before, .ion-ios-build:before, .ion-ios-bulb:before, .ion-ios-bus:before, .ion-ios-business:before, .ion-ios-cafe:before, .ion-ios-calculator:before, .ion-ios-calendar:before, .ion-ios-call:before, .ion-ios-camera:before, .ion-ios-car:before, .ion-ios-card:before, .ion-ios-cart:before, .ion-ios-cash:before, .ion-ios-cellular:before, .ion-ios-chatboxes:before, .ion-ios-chatbubbles:before, .ion-ios-checkbox:before, .ion-ios-checkbox-outline:before, .ion-ios-checkmark:before, .ion-ios-checkmark-circle:before, .ion-ios-checkmark-circle-outline:before, .ion-ios-clipboard:before, .ion-ios-clock:before, .ion-ios-close:before, .ion-ios-close-circle:before, .ion-ios-close-circle-outline:before, .ion-ios-cloud:before, .ion-ios-cloud-circle:before, .ion-ios-cloud-done:before, .ion-ios-cloud-download:before, .ion-ios-cloud-outline:before, .ion-ios-cloud-upload:before, .ion-ios-cloudy:before, .ion-ios-cloudy-night:before, .ion-ios-code:before, .ion-ios-code-download:before, .ion-ios-code-working:before, .ion-ios-cog:before, .ion-ios-color-fill:before, .ion-ios-color-filter:before, .ion-ios-color-palette:before, .ion-ios-color-wand:before, .ion-ios-compass:before, .ion-ios-construct:before, .ion-ios-contact:before, .ion-ios-contacts:before, .ion-ios-contract:before, .ion-ios-contrast:before, .ion-ios-copy:before, .ion-ios-create:before, .ion-ios-crop:before, .ion-ios-cube:before, .ion-ios-cut:before, .ion-ios-desktop:before, .ion-ios-disc:before, .ion-ios-document:before, .ion-ios-done-all:before, .ion-ios-download:before, .ion-ios-easel:before, .ion-ios-egg:before, .ion-ios-exit:before, .ion-ios-expand:before, .ion-ios-eye:before, .ion-ios-eye-off:before, .ion-ios-fastforward:before, .ion-ios-female:before, .ion-ios-filing:before, .ion-ios-film:before, .ion-ios-finger-print:before, .ion-ios-fitness:before, .ion-ios-flag:before, .ion-ios-flame:before, .ion-ios-flash:before, .ion-ios-flash-off:before, .ion-ios-flashlight:before, .ion-ios-flask:before, .ion-ios-flower:before, .ion-ios-folder:before, .ion-ios-folder-open:before, .ion-ios-football:before, .ion-ios-funnel:before, .ion-ios-gift:before, .ion-ios-git-branch:before, .ion-ios-git-commit:before, .ion-ios-git-compare:before, .ion-ios-git-merge:before, .ion-ios-git-network:before, .ion-ios-git-pull-request:before, .ion-ios-glasses:before, .ion-ios-globe:before, .ion-ios-grid:before, .ion-ios-hammer:before, .ion-ios-hand:before, .ion-ios-happy:before, .ion-ios-headset:before, .ion-ios-heart:before, .ion-ios-heart-dislike:before, .ion-ios-heart-empty:before, .ion-ios-heart-half:before, .ion-ios-help:before, .ion-ios-help-buoy:before, .ion-ios-help-circle:before, .ion-ios-help-circle-outline:before, .ion-ios-home:before, .ion-ios-hourglass:before, .ion-ios-ice-cream:before, .ion-ios-image:before, .ion-ios-images:before, .ion-ios-infinite:before, .ion-ios-information:before, .ion-ios-information-circle:before, .ion-ios-information-circle-outline:before, .ion-ios-jet:before, .ion-ios-journal:before, .ion-ios-key:before, .ion-ios-keypad:before, .ion-ios-laptop:before, .ion-ios-leaf:before, .ion-ios-link:before, .ion-ios-list:before, .ion-ios-list-box:before, .ion-ios-locate:before, .ion-ios-lock:before, .ion-ios-log-in:before, .ion-ios-log-out:before, .ion-ios-magnet:before, .ion-ios-mail:before, .ion-ios-mail-open:before, .ion-ios-mail-unread:before, .ion-ios-male:before, .ion-ios-man:before, .ion-ios-map:before, .ion-ios-medal:before, .ion-ios-medical:before, .ion-ios-medkit:before, .ion-ios-megaphone:before, .ion-ios-menu:before, .ion-ios-mic:before, .ion-ios-mic-off:before, .ion-ios-microphone:before, .ion-ios-moon:before, .ion-ios-more:before, .ion-ios-move:before, .ion-ios-musical-note:before, .ion-ios-musical-notes:before, .ion-ios-navigate:before, .ion-ios-notifications:before, .ion-ios-notifications-off:before, .ion-ios-notifications-outline:before, .ion-ios-nuclear:before, .ion-ios-nutrition:before, .ion-ios-open:before, .ion-ios-options:before, .ion-ios-outlet:before, .ion-ios-paper:before, .ion-ios-paper-plane:before, .ion-ios-partly-sunny:before, .ion-ios-pause:before, .ion-ios-paw:before, .ion-ios-people:before, .ion-ios-person:before, .ion-ios-person-add:before, .ion-ios-phone-landscape:before, .ion-ios-phone-portrait:before, .ion-ios-photos:before, .ion-ios-pie:before, .ion-ios-pin:before, .ion-ios-pint:before, .ion-ios-pizza:before, .ion-ios-planet:before, .ion-ios-play:before, .ion-ios-play-circle:before, .ion-ios-podium:before, .ion-ios-power:before, .ion-ios-pricetag:before, .ion-ios-pricetags:before, .ion-ios-print:before, .ion-ios-pulse:before, .ion-ios-qr-scanner:before, .ion-ios-quote:before, .ion-ios-radio:before, .ion-ios-radio-button-off:before, .ion-ios-radio-button-on:before, .ion-ios-rainy:before, .ion-ios-recording:before, .ion-ios-redo:before, .ion-ios-refresh:before, .ion-ios-refresh-circle:before, .ion-ios-remove:before, .ion-ios-remove-circle:before, .ion-ios-remove-circle-outline:before, .ion-ios-reorder:before, .ion-ios-repeat:before, .ion-ios-resize:before, .ion-ios-restaurant:before, .ion-ios-return-left:before, .ion-ios-return-right:before, .ion-ios-reverse-camera:before, .ion-ios-rewind:before, .ion-ios-ribbon:before, .ion-ios-rocket:before, .ion-ios-rose:before, .ion-ios-sad:before, .ion-ios-save:before, .ion-ios-school:before, .ion-ios-search:before, .ion-ios-send:before, .ion-ios-settings:before, .ion-ios-share:before, .ion-ios-share-alt:before, .ion-ios-shirt:before, .ion-ios-shuffle:before, .ion-ios-skip-backward:before, .ion-ios-skip-forward:before, .ion-ios-snow:before, .ion-ios-speedometer:before, .ion-ios-square:before, .ion-ios-square-outline:before, .ion-ios-star:before, .ion-ios-star-half:before, .ion-ios-star-outline:before, .ion-ios-stats:before, .ion-ios-stopwatch:before, .ion-ios-subway:before, .ion-ios-sunny:before, .ion-ios-swap:before, .ion-ios-switch:before, .ion-ios-sync:before, .ion-ios-tablet-landscape:before, .ion-ios-tablet-portrait:before, .ion-ios-tennisball:before, .ion-ios-text:before, .ion-ios-thermometer:before, .ion-ios-thumbs-down:before, .ion-ios-thumbs-up:before, .ion-ios-thunderstorm:before, .ion-ios-time:before, .ion-ios-timer:before, .ion-ios-today:before, .ion-ios-train:before, .ion-ios-transgender:before, .ion-ios-trash:before, .ion-ios-trending-down:before, .ion-ios-trending-up:before, .ion-ios-trophy:before, .ion-ios-tv:before, .ion-ios-umbrella:before, .ion-ios-undo:before, .ion-ios-unlock:before, .ion-ios-videocam:before, .ion-ios-volume-high:before, .ion-ios-volume-low:before, .ion-ios-volume-mute:before, .ion-ios-volume-off:before, .ion-ios-walk:before, .ion-ios-wallet:before, .ion-ios-warning:before, .ion-ios-watch:before, .ion-ios-water:before, .ion-ios-wifi:before, .ion-ios-wine:before, .ion-ios-woman:before, .ion-logo-android:before, .ion-logo-angular:before, .ion-logo-apple:before, .ion-logo-bitbucket:before, .ion-logo-bitcoin:before, .ion-logo-buffer:before, .ion-logo-chrome:before, .ion-logo-closed-captioning:before, .ion-logo-codepen:before, .ion-logo-css3:before, .ion-logo-designernews:before, .ion-logo-dribbble:before, .ion-logo-dropbox:before, .ion-logo-euro:before, .ion-logo-facebook:before, .ion-logo-flickr:before, .ion-logo-foursquare:before, .ion-logo-freebsd-devil:before, .ion-logo-game-controller-a:before, .ion-logo-game-controller-b:before, .ion-logo-github:before, .ion-logo-google:before, .ion-logo-googleplus:before, .ion-logo-hackernews:before, .ion-logo-html5:before, .ion-logo-instagram:before, .ion-logo-ionic:before, .ion-logo-ionitron:before, .ion-logo-javascript:before, .ion-logo-linkedin:before, .ion-logo-markdown:before, .ion-logo-model-s:before, .ion-logo-no-smoking:before, .ion-logo-nodejs:before, .ion-logo-npm:before, .ion-logo-octocat:before, .ion-logo-pinterest:before, .ion-logo-playstation:before, .ion-logo-polymer:before, .ion-logo-python:before, .ion-logo-reddit:before, .ion-logo-rss:before, .ion-logo-sass:before, .ion-logo-skype:before, .ion-logo-slack:before, .ion-logo-snapchat:before, .ion-logo-steam:before, .ion-logo-tumblr:before, .ion-logo-tux:before, .ion-logo-twitch:before, .ion-logo-twitter:before, .ion-logo-usd:before, .ion-logo-vimeo:before, .ion-logo-vk:before, .ion-logo-whatsapp:before, .ion-logo-windows:before, .ion-logo-wordpress:before, .ion-logo-xbox:before, .ion-logo-xing:before, .ion-logo-yahoo:before, .ion-logo-yen:before, .ion-logo-youtube:before, .ion-md-add:before, .ion-md-add-circle:before, .ion-md-add-circle-outline:before, .ion-md-airplane:before, .ion-md-alarm:before, .ion-md-albums:before, .ion-md-alert:before, .ion-md-american-football:before, .ion-md-analytics:before, .ion-md-aperture:before, .ion-md-apps:before, .ion-md-appstore:before, .ion-md-archive:before, .ion-md-arrow-back:before, .ion-md-arrow-down:before, .ion-md-arrow-dropdown:before, .ion-md-arrow-dropdown-circle:before, .ion-md-arrow-dropleft:before, .ion-md-arrow-dropleft-circle:before, .ion-md-arrow-dropright:before, .ion-md-arrow-dropright-circle:before, .ion-md-arrow-dropup:before, .ion-md-arrow-dropup-circle:before, .ion-md-arrow-forward:before, .ion-md-arrow-round-back:before, .ion-md-arrow-round-down:before, .ion-md-arrow-round-forward:before, .ion-md-arrow-round-up:before, .ion-md-arrow-up:before, .ion-md-at:before, .ion-md-attach:before, .ion-md-backspace:before, .ion-md-barcode:before, .ion-md-baseball:before, .ion-md-basket:before, .ion-md-basketball:before, .ion-md-battery-charging:before, .ion-md-battery-dead:before, .ion-md-battery-full:before, .ion-md-beaker:before, .ion-md-bed:before, .ion-md-beer:before, .ion-md-bicycle:before, .ion-md-bluetooth:before, .ion-md-boat:before, .ion-md-body:before, .ion-md-bonfire:before, .ion-md-book:before, .ion-md-bookmark:before, .ion-md-bookmarks:before, .ion-md-bowtie:before, .ion-md-briefcase:before, .ion-md-browsers:before, .ion-md-brush:before, .ion-md-bug:before, .ion-md-build:before, .ion-md-bulb:before, .ion-md-bus:before, .ion-md-business:before, .ion-md-cafe:before, .ion-md-calculator:before, .ion-md-calendar:before, .ion-md-call:before, .ion-md-camera:before, .ion-md-car:before, .ion-md-card:before, .ion-md-cart:before, .ion-md-cash:before, .ion-md-cellular:before, .ion-md-chatboxes:before, .ion-md-chatbubbles:before, .ion-md-checkbox:before, .ion-md-checkbox-outline:before, .ion-md-checkmark:before, .ion-md-checkmark-circle:before, .ion-md-checkmark-circle-outline:before, .ion-md-clipboard:before, .ion-md-clock:before, .ion-md-close:before, .ion-md-close-circle:before, .ion-md-close-circle-outline:before, .ion-md-cloud:before, .ion-md-cloud-circle:before, .ion-md-cloud-done:before, .ion-md-cloud-download:before, .ion-md-cloud-outline:before, .ion-md-cloud-upload:before, .ion-md-cloudy:before, .ion-md-cloudy-night:before, .ion-md-code:before, .ion-md-code-download:before, .ion-md-code-working:before, .ion-md-cog:before, .ion-md-color-fill:before, .ion-md-color-filter:before, .ion-md-color-palette:before, .ion-md-color-wand:before, .ion-md-compass:before, .ion-md-construct:before, .ion-md-contact:before, .ion-md-contacts:before, .ion-md-contract:before, .ion-md-contrast:before, .ion-md-copy:before, .ion-md-create:before, .ion-md-crop:before, .ion-md-cube:before, .ion-md-cut:before, .ion-md-desktop:before, .ion-md-disc:before, .ion-md-document:before, .ion-md-done-all:before, .ion-md-download:before, .ion-md-easel:before, .ion-md-egg:before, .ion-md-exit:before, .ion-md-expand:before, .ion-md-eye:before, .ion-md-eye-off:before, .ion-md-fastforward:before, .ion-md-female:before, .ion-md-filing:before, .ion-md-film:before, .ion-md-finger-print:before, .ion-md-fitness:before, .ion-md-flag:before, .ion-md-flame:before, .ion-md-flash:before, .ion-md-flash-off:before, .ion-md-flashlight:before, .ion-md-flask:before, .ion-md-flower:before, .ion-md-folder:before, .ion-md-folder-open:before, .ion-md-football:before, .ion-md-funnel:before, .ion-md-gift:before, .ion-md-git-branch:before, .ion-md-git-commit:before, .ion-md-git-compare:before, .ion-md-git-merge:before, .ion-md-git-network:before, .ion-md-git-pull-request:before, .ion-md-glasses:before, .ion-md-globe:before, .ion-md-grid:before, .ion-md-hammer:before, .ion-md-hand:before, .ion-md-happy:before, .ion-md-headset:before, .ion-md-heart:before, .ion-md-heart-dislike:before, .ion-md-heart-empty:before, .ion-md-heart-half:before, .ion-md-help:before, .ion-md-help-buoy:before, .ion-md-help-circle:before, .ion-md-help-circle-outline:before, .ion-md-home:before, .ion-md-hourglass:before, .ion-md-ice-cream:before, .ion-md-image:before, .ion-md-images:before, .ion-md-infinite:before, .ion-md-information:before, .ion-md-information-circle:before, .ion-md-information-circle-outline:before, .ion-md-jet:before, .ion-md-journal:before, .ion-md-key:before, .ion-md-keypad:before, .ion-md-laptop:before, .ion-md-leaf:before, .ion-md-link:before, .ion-md-list:before, .ion-md-list-box:before, .ion-md-locate:before, .ion-md-lock:before, .ion-md-log-in:before, .ion-md-log-out:before, .ion-md-magnet:before, .ion-md-mail:before, .ion-md-mail-open:before, .ion-md-mail-unread:before, .ion-md-male:before, .ion-md-man:before, .ion-md-map:before, .ion-md-medal:before, .ion-md-medical:before, .ion-md-medkit:before, .ion-md-megaphone:before, .ion-md-menu:before, .ion-md-mic:before, .ion-md-mic-off:before, .ion-md-microphone:before, .ion-md-moon:before, .ion-md-more:before, .ion-md-move:before, .ion-md-musical-note:before, .ion-md-musical-notes:before, .ion-md-navigate:before, .ion-md-notifications:before, .ion-md-notifications-off:before, .ion-md-notifications-outline:before, .ion-md-nuclear:before, .ion-md-nutrition:before, .ion-md-open:before, .ion-md-options:before, .ion-md-outlet:before, .ion-md-paper:before, .ion-md-paper-plane:before, .ion-md-partly-sunny:before, .ion-md-pause:before, .ion-md-paw:before, .ion-md-people:before, .ion-md-person:before, .ion-md-person-add:before, .ion-md-phone-landscape:before, .ion-md-phone-portrait:before, .ion-md-photos:before, .ion-md-pie:before, .ion-md-pin:before, .ion-md-pint:before, .ion-md-pizza:before, .ion-md-planet:before, .ion-md-play:before, .ion-md-play-circle:before, .ion-md-podium:before, .ion-md-power:before, .ion-md-pricetag:before, .ion-md-pricetags:before, .ion-md-print:before, .ion-md-pulse:before, .ion-md-qr-scanner:before, .ion-md-quote:before, .ion-md-radio:before, .ion-md-radio-button-off:before, .ion-md-radio-button-on:before, .ion-md-rainy:before, .ion-md-recording:before, .ion-md-redo:before, .ion-md-refresh:before, .ion-md-refresh-circle:before, .ion-md-remove:before, .ion-md-remove-circle:before, .ion-md-remove-circle-outline:before, .ion-md-reorder:before, .ion-md-repeat:before, .ion-md-resize:before, .ion-md-restaurant:before, .ion-md-return-left:before, .ion-md-return-right:before, .ion-md-reverse-camera:before, .ion-md-rewind:before, .ion-md-ribbon:before, .ion-md-rocket:before, .ion-md-rose:before, .ion-md-sad:before, .ion-md-save:before, .ion-md-school:before, .ion-md-search:before, .ion-md-send:before, .ion-md-settings:before, .ion-md-share:before, .ion-md-share-alt:before, .ion-md-shirt:before, .ion-md-shuffle:before, .ion-md-skip-backward:before, .ion-md-skip-forward:before, .ion-md-snow:before, .ion-md-speedometer:before, .ion-md-square:before, .ion-md-square-outline:before, .ion-md-star:before, .ion-md-star-half:before, .ion-md-star-outline:before, .ion-md-stats:before, .ion-md-stopwatch:before, .ion-md-subway:before, .ion-md-sunny:before, .ion-md-swap:before, .ion-md-switch:before, .ion-md-sync:before, .ion-md-tablet-landscape:before, .ion-md-tablet-portrait:before, .ion-md-tennisball:before, .ion-md-text:before, .ion-md-thermometer:before, .ion-md-thumbs-down:before, .ion-md-thumbs-up:before, .ion-md-thunderstorm:before, .ion-md-time:before, .ion-md-timer:before, .ion-md-today:before, .ion-md-train:before, .ion-md-transgender:before, .ion-md-trash:before, .ion-md-trending-down:before, .ion-md-trending-up:before, .ion-md-trophy:before, .ion-md-tv:before, .ion-md-umbrella:before, .ion-md-undo:before, .ion-md-unlock:before, .ion-md-videocam:before, .ion-md-volume-high:before, .ion-md-volume-low:before, .ion-md-volume-mute:before, .ion-md-volume-off:before, .ion-md-walk:before, .ion-md-wallet:before, .ion-md-warning:before, .ion-md-watch:before, .ion-md-water:before, .ion-md-wifi:before, .ion-md-wine:before, .ion-md-woman:before { display: inline-block; font-family: "Ionicons"; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; text-rendering: auto; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .ion-ios-add:before { content: "\f102"; } .ion-ios-add-circle:before { content: "\f101"; } .ion-ios-add-circle-outline:before { content: "\f100"; } .ion-ios-airplane:before { content: "\f137"; } .ion-ios-alarm:before { content: "\f3c8"; } .ion-ios-albums:before { content: "\f3ca"; } .ion-ios-alert:before { content: "\f104"; } .ion-ios-american-football:before { content: "\f106"; } .ion-ios-analytics:before { content: "\f3ce"; } .ion-ios-aperture:before { content: "\f108"; } .ion-ios-apps:before { content: "\f10a"; } .ion-ios-appstore:before { content: "\f10c"; } .ion-ios-archive:before { content: "\f10e"; } .ion-ios-arrow-back:before { content: "\f3cf"; } .ion-ios-arrow-down:before { content: "\f3d0"; } .ion-ios-arrow-dropdown:before { content: "\f110"; } .ion-ios-arrow-dropdown-circle:before { content: "\f125"; } .ion-ios-arrow-dropleft:before { content: "\f112"; } .ion-ios-arrow-dropleft-circle:before { content: "\f129"; } .ion-ios-arrow-dropright:before { content: "\f114"; } .ion-ios-arrow-dropright-circle:before { content: "\f12b"; } .ion-ios-arrow-dropup:before { content: "\f116"; } .ion-ios-arrow-dropup-circle:before { content: "\f12d"; } .ion-ios-arrow-forward:before { content: "\f3d1"; } .ion-ios-arrow-round-back:before { content: "\f117"; } .ion-ios-arrow-round-down:before { content: "\f118"; } .ion-ios-arrow-round-forward:before { content: "\f119"; } .ion-ios-arrow-round-up:before { content: "\f11a"; } .ion-ios-arrow-up:before { content: "\f3d8"; } .ion-ios-at:before { content: "\f3da"; } .ion-ios-attach:before { content: "\f11b"; } .ion-ios-backspace:before { content: "\f11d"; } .ion-ios-barcode:before { content: "\f3dc"; } .ion-ios-baseball:before { content: "\f3de"; } .ion-ios-basket:before { content: "\f11f"; } .ion-ios-basketball:before { content: "\f3e0"; } .ion-ios-battery-charging:before { content: "\f120"; } .ion-ios-battery-dead:before { content: "\f121"; } .ion-ios-battery-full:before { content: "\f122"; } .ion-ios-beaker:before { content: "\f124"; } .ion-ios-bed:before { content: "\f139"; } .ion-ios-beer:before { content: "\f126"; } .ion-ios-bicycle:before { content: "\f127"; } .ion-ios-bluetooth:before { content: "\f128"; } .ion-ios-boat:before { content: "\f12a"; } .ion-ios-body:before { content: "\f3e4"; } .ion-ios-bonfire:before { content: "\f12c"; } .ion-ios-book:before { content: "\f3e8"; } .ion-ios-bookmark:before { content: "\f12e"; } .ion-ios-bookmarks:before { content: "\f3ea"; } .ion-ios-bowtie:before { content: "\f130"; } .ion-ios-briefcase:before { content: "\f3ee"; } .ion-ios-browsers:before { content: "\f3f0"; } .ion-ios-brush:before { content: "\f132"; } .ion-ios-bug:before { content: "\f134"; } .ion-ios-build:before { content: "\f136"; } .ion-ios-bulb:before { content: "\f138"; } .ion-ios-bus:before { content: "\f13a"; } .ion-ios-business:before { content: "\f1a3"; } .ion-ios-cafe:before { content: "\f13c"; } .ion-ios-calculator:before { content: "\f3f2"; } .ion-ios-calendar:before { content: "\f3f4"; } .ion-ios-call:before { content: "\f13e"; } .ion-ios-camera:before { content: "\f3f6"; } .ion-ios-car:before { content: "\f140"; } .ion-ios-card:before { content: "\f142"; } .ion-ios-cart:before { content: "\f3f8"; } .ion-ios-cash:before { content: "\f144"; } .ion-ios-cellular:before { content: "\f13d"; } .ion-ios-chatboxes:before { content: "\f3fa"; } .ion-ios-chatbubbles:before { content: "\f146"; } .ion-ios-checkbox:before { content: "\f148"; } .ion-ios-checkbox-outline:before { content: "\f147"; } .ion-ios-checkmark:before { content: "\f3ff"; } .ion-ios-checkmark-circle:before { content: "\f14a"; } .ion-ios-checkmark-circle-outline:before { content: "\f149"; } .ion-ios-clipboard:before { content: "\f14c"; } .ion-ios-clock:before { content: "\f403"; } .ion-ios-close:before { content: "\f406"; } .ion-ios-close-circle:before { content: "\f14e"; } .ion-ios-close-circle-outline:before { content: "\f14d"; } .ion-ios-cloud:before { content: "\f40c"; } .ion-ios-cloud-circle:before { content: "\f152"; } .ion-ios-cloud-done:before { content: "\f154"; } .ion-ios-cloud-download:before { content: "\f408"; } .ion-ios-cloud-outline:before { content: "\f409"; } .ion-ios-cloud-upload:before { content: "\f40b"; } .ion-ios-cloudy:before { content: "\f410"; } .ion-ios-cloudy-night:before { content: "\f40e"; } .ion-ios-code:before { content: "\f157"; } .ion-ios-code-download:before { content: "\f155"; } .ion-ios-code-working:before { content: "\f156"; } .ion-ios-cog:before { content: "\f412"; } .ion-ios-color-fill:before { content: "\f159"; } .ion-ios-color-filter:before { content: "\f414"; } .ion-ios-color-palette:before { content: "\f15b"; } .ion-ios-color-wand:before { content: "\f416"; } .ion-ios-compass:before { content: "\f15d"; } .ion-ios-construct:before { content: "\f15f"; } .ion-ios-contact:before { content: "\f41a"; } .ion-ios-contacts:before { content: "\f161"; } .ion-ios-contract:before { content: "\f162"; } .ion-ios-contrast:before { content: "\f163"; } .ion-ios-copy:before { content: "\f41c"; } .ion-ios-create:before { content: "\f165"; } .ion-ios-crop:before { content: "\f41e"; } .ion-ios-cube:before { content: "\f168"; } .ion-ios-cut:before { content: "\f16a"; } .ion-ios-desktop:before { content: "\f16c"; } .ion-ios-disc:before { content: "\f16e"; } .ion-ios-document:before { content: "\f170"; } .ion-ios-done-all:before { content: "\f171"; } .ion-ios-download:before { content: "\f420"; } .ion-ios-easel:before { content: "\f173"; } .ion-ios-egg:before { content: "\f175"; } .ion-ios-exit:before { content: "\f177"; } .ion-ios-expand:before { content: "\f178"; } .ion-ios-eye:before { content: "\f425"; } .ion-ios-eye-off:before { content: "\f17a"; } .ion-ios-fastforward:before { content: "\f427"; } .ion-ios-female:before { content: "\f17b"; } .ion-ios-filing:before { content: "\f429"; } .ion-ios-film:before { content: "\f42b"; } .ion-ios-finger-print:before { content: "\f17c"; } .ion-ios-fitness:before { content: "\f1ab"; } .ion-ios-flag:before { content: "\f42d"; } .ion-ios-flame:before { content: "\f42f"; } .ion-ios-flash:before { content: "\f17e"; } .ion-ios-flash-off:before { content: "\f12f"; } .ion-ios-flashlight:before { content: "\f141"; } .ion-ios-flask:before { content: "\f431"; } .ion-ios-flower:before { content: "\f433"; } .ion-ios-folder:before { content: "\f435"; } .ion-ios-folder-open:before { content: "\f180"; } .ion-ios-football:before { content: "\f437"; } .ion-ios-funnel:before { content: "\f182"; } .ion-ios-gift:before { content: "\f191"; } .ion-ios-git-branch:before { content: "\f183"; } .ion-ios-git-commit:before { content: "\f184"; } .ion-ios-git-compare:before { content: "\f185"; } .ion-ios-git-merge:before { content: "\f186"; } .ion-ios-git-network:before { content: "\f187"; } .ion-ios-git-pull-request:before { content: "\f188"; } .ion-ios-glasses:before { content: "\f43f"; } .ion-ios-globe:before { content: "\f18a"; } .ion-ios-grid:before { content: "\f18c"; } .ion-ios-hammer:before { content: "\f18e"; } .ion-ios-hand:before { content: "\f190"; } .ion-ios-happy:before { content: "\f192"; } .ion-ios-headset:before { content: "\f194"; } .ion-ios-heart:before { content: "\f443"; } .ion-ios-heart-dislike:before { content: "\f13f"; } .ion-ios-heart-empty:before { content: "\f19b"; } .ion-ios-heart-half:before { content: "\f19d"; } .ion-ios-help:before { content: "\f446"; } .ion-ios-help-buoy:before { content: "\f196"; } .ion-ios-help-circle:before { content: "\f198"; } .ion-ios-help-circle-outline:before { content: "\f197"; } .ion-ios-home:before { content: "\f448"; } .ion-ios-hourglass:before { content: "\f103"; } .ion-ios-ice-cream:before { content: "\f19a"; } .ion-ios-image:before { content: "\f19c"; } .ion-ios-images:before { content: "\f19e"; } .ion-ios-infinite:before { content: "\f44a"; } .ion-ios-information:before { content: "\f44d"; } .ion-ios-information-circle:before { content: "\f1a0"; } .ion-ios-information-circle-outline:before { content: "\f19f"; } .ion-ios-jet:before { content: "\f1a5"; } .ion-ios-journal:before { content: "\f189"; } .ion-ios-key:before { content: "\f1a7"; } .ion-ios-keypad:before { content: "\f450"; } .ion-ios-laptop:before { content: "\f1a8"; } .ion-ios-leaf:before { content: "\f1aa"; } .ion-ios-link:before { content: "\f22a"; } .ion-ios-list:before { content: "\f454"; } .ion-ios-list-box:before { content: "\f143"; } .ion-ios-locate:before { content: "\f1ae"; } .ion-ios-lock:before { content: "\f1b0"; } .ion-ios-log-in:before { content: "\f1b1"; } .ion-ios-log-out:before { content: "\f1b2"; } .ion-ios-magnet:before { content: "\f1b4"; } .ion-ios-mail:before { content: "\f1b8"; } .ion-ios-mail-open:before { content: "\f1b6"; } .ion-ios-mail-unread:before { content: "\f145"; } .ion-ios-male:before { content: "\f1b9"; } .ion-ios-man:before { content: "\f1bb"; } .ion-ios-map:before { content: "\f1bd"; } .ion-ios-medal:before { content: "\f1bf"; } .ion-ios-medical:before { content: "\f45c"; } .ion-ios-medkit:before { content: "\f45e"; } .ion-ios-megaphone:before { content: "\f1c1"; } .ion-ios-menu:before { content: "\f1c3"; } .ion-ios-mic:before { content: "\f461"; } .ion-ios-mic-off:before { content: "\f45f"; } .ion-ios-microphone:before { content: "\f1c6"; } .ion-ios-moon:before { content: "\f468"; } .ion-ios-more:before { content: "\f1c8"; } .ion-ios-move:before { content: "\f1cb"; } .ion-ios-musical-note:before { content: "\f46b"; } .ion-ios-musical-notes:before { content: "\f46c"; } .ion-ios-navigate:before { content: "\f46e"; } .ion-ios-notifications:before { content: "\f1d3"; } .ion-ios-notifications-off:before { content: "\f1d1"; } .ion-ios-notifications-outline:before { content: "\f133"; } .ion-ios-nuclear:before { content: "\f1d5"; } .ion-ios-nutrition:before { content: "\f470"; } .ion-ios-open:before { content: "\f1d7"; } .ion-ios-options:before { content: "\f1d9"; } .ion-ios-outlet:before { content: "\f1db"; } .ion-ios-paper:before { content: "\f472"; } .ion-ios-paper-plane:before { content: "\f1dd"; } .ion-ios-partly-sunny:before { content: "\f1df"; } .ion-ios-pause:before { content: "\f478"; } .ion-ios-paw:before { content: "\f47a"; } .ion-ios-people:before { content: "\f47c"; } .ion-ios-person:before { content: "\f47e"; } .ion-ios-person-add:before { content: "\f1e1"; } .ion-ios-phone-landscape:before { content: "\f1e2"; } .ion-ios-phone-portrait:before { content: "\f1e3"; } .ion-ios-photos:before { content: "\f482"; } .ion-ios-pie:before { content: "\f484"; } .ion-ios-pin:before { content: "\f1e5"; } .ion-ios-pint:before { content: "\f486"; } .ion-ios-pizza:before { content: "\f1e7"; } .ion-ios-planet:before { content: "\f1eb"; } .ion-ios-play:before { content: "\f488"; } .ion-ios-play-circle:before { content: "\f113"; } .ion-ios-podium:before { content: "\f1ed"; } .ion-ios-power:before { content: "\f1ef"; } .ion-ios-pricetag:before { content: "\f48d"; } .ion-ios-pricetags:before { content: "\f48f"; } .ion-ios-print:before { content: "\f1f1"; } .ion-ios-pulse:before { content: "\f493"; } .ion-ios-qr-scanner:before { content: "\f1f3"; } .ion-ios-quote:before { content: "\f1f5"; } .ion-ios-radio:before { content: "\f1f9"; } .ion-ios-radio-button-off:before { content: "\f1f6"; } .ion-ios-radio-button-on:before { content: "\f1f7"; } .ion-ios-rainy:before { content: "\f495"; } .ion-ios-recording:before { content: "\f497"; } .ion-ios-redo:before { content: "\f499"; } .ion-ios-refresh:before { content: "\f49c"; } .ion-ios-refresh-circle:before { content: "\f135"; } .ion-ios-remove:before { content: "\f1fc"; } .ion-ios-remove-circle:before { content: "\f1fb"; } .ion-ios-remove-circle-outline:before { content: "\f1fa"; } .ion-ios-reorder:before { content: "\f1fd"; } .ion-ios-repeat:before { content: "\f1fe"; } .ion-ios-resize:before { content: "\f1ff"; } .ion-ios-restaurant:before { content: "\f201"; } .ion-ios-return-left:before { content: "\f202"; } .ion-ios-return-right:before { content: "\f203"; } .ion-ios-reverse-camera:before { content: "\f49f"; } .ion-ios-rewind:before { content: "\f4a1"; } .ion-ios-ribbon:before { content: "\f205"; } .ion-ios-rocket:before { content: "\f14b"; } .ion-ios-rose:before { content: "\f4a3"; } .ion-ios-sad:before { content: "\f207"; } .ion-ios-save:before { content: "\f1a6"; } .ion-ios-school:before { content: "\f209"; } .ion-ios-search:before { content: "\f4a5"; } .ion-ios-send:before { content: "\f20c"; } .ion-ios-settings:before { content: "\f4a7"; } .ion-ios-share:before { content: "\f211"; } .ion-ios-share-alt:before { content: "\f20f"; } .ion-ios-shirt:before { content: "\f213"; } .ion-ios-shuffle:before { content: "\f4a9"; } .ion-ios-skip-backward:before { content: "\f215"; } .ion-ios-skip-forward:before { content: "\f217"; } .ion-ios-snow:before { content: "\f218"; } .ion-ios-speedometer:before { content: "\f4b0"; } .ion-ios-square:before { content: "\f21a"; } .ion-ios-square-outline:before { content: "\f15c"; } .ion-ios-star:before { content: "\f4b3"; } .ion-ios-star-half:before { content: "\f4b1"; } .ion-ios-star-outline:before { content: "\f4b2"; } .ion-ios-stats:before { content: "\f21c"; } .ion-ios-stopwatch:before { content: "\f4b5"; } .ion-ios-subway:before { content: "\f21e"; } .ion-ios-sunny:before { content: "\f4b7"; } .ion-ios-swap:before { content: "\f21f"; } .ion-ios-switch:before { content: "\f221"; } .ion-ios-sync:before { content: "\f222"; } .ion-ios-tablet-landscape:before { content: "\f223"; } .ion-ios-tablet-portrait:before { content: "\f24e"; } .ion-ios-tennisball:before { content: "\f4bb"; } .ion-ios-text:before { content: "\f250"; } .ion-ios-thermometer:before { content: "\f252"; } .ion-ios-thumbs-down:before { content: "\f254"; } .ion-ios-thumbs-up:before { content: "\f256"; } .ion-ios-thunderstorm:before { content: "\f4bd"; } .ion-ios-time:before { content: "\f4bf"; } .ion-ios-timer:before { content: "\f4c1"; } .ion-ios-today:before { content: "\f14f"; } .ion-ios-train:before { content: "\f258"; } .ion-ios-transgender:before { content: "\f259"; } .ion-ios-trash:before { content: "\f4c5"; } .ion-ios-trending-down:before { content: "\f25a"; } .ion-ios-trending-up:before { content: "\f25b"; } .ion-ios-trophy:before { content: "\f25d"; } .ion-ios-tv:before { content: "\f115"; } .ion-ios-umbrella:before { content: "\f25f"; } .ion-ios-undo:before { content: "\f4c7"; } .ion-ios-unlock:before { content: "\f261"; } .ion-ios-videocam:before { content: "\f4cd"; } .ion-ios-volume-high:before { content: "\f11c"; } .ion-ios-volume-low:before { content: "\f11e"; } .ion-ios-volume-mute:before { content: "\f263"; } .ion-ios-volume-off:before { content: "\f264"; } .ion-ios-walk:before { content: "\f266"; } .ion-ios-wallet:before { content: "\f18b"; } .ion-ios-warning:before { content: "\f268"; } .ion-ios-watch:before { content: "\f269"; } .ion-ios-water:before { content: "\f26b"; } .ion-ios-wifi:before { content: "\f26d"; } .ion-ios-wine:before { content: "\f26f"; } .ion-ios-woman:before { content: "\f271"; } .ion-logo-android:before { content: "\f225"; } .ion-logo-angular:before { content: "\f227"; } .ion-logo-apple:before { content: "\f229"; } .ion-logo-bitbucket:before { content: "\f193"; } .ion-logo-bitcoin:before { content: "\f22b"; } .ion-logo-buffer:before { content: "\f22d"; } .ion-logo-chrome:before { content: "\f22f"; } .ion-logo-closed-captioning:before { content: "\f105"; } .ion-logo-codepen:before { content: "\f230"; } .ion-logo-css3:before { content: "\f231"; } .ion-logo-designernews:before { content: "\f232"; } .ion-logo-dribbble:before { content: "\f233"; } .ion-logo-dropbox:before { content: "\f234"; } .ion-logo-euro:before { content: "\f235"; } .ion-logo-facebook:before { content: "\f236"; } .ion-logo-flickr:before { content: "\f107"; } .ion-logo-foursquare:before { content: "\f237"; } .ion-logo-freebsd-devil:before { content: "\f238"; } .ion-logo-game-controller-a:before { content: "\f13b"; } .ion-logo-game-controller-b:before { content: "\f181"; } .ion-logo-github:before { content: "\f239"; } .ion-logo-google:before { content: "\f23a"; } .ion-logo-googleplus:before { content: "\f23b"; } .ion-logo-hackernews:before { content: "\f23c"; } .ion-logo-html5:before { content: "\f23d"; } .ion-logo-instagram:before { content: "\f23e"; } .ion-logo-ionic:before { content: "\f150"; } .ion-logo-ionitron:before { content: "\f151"; } .ion-logo-javascript:before { content: "\f23f"; } .ion-logo-linkedin:before { content: "\f240"; } .ion-logo-markdown:before { content: "\f241"; } .ion-logo-model-s:before { content: "\f153"; } .ion-logo-no-smoking:before { content: "\f109"; } .ion-logo-nodejs:before { content: "\f242"; } .ion-logo-npm:before { content: "\f195"; } .ion-logo-octocat:before { content: "\f243"; } .ion-logo-pinterest:before { content: "\f244"; } .ion-logo-playstation:before { content: "\f245"; } .ion-logo-polymer:before { content: "\f15e"; } .ion-logo-python:before { content: "\f246"; } .ion-logo-reddit:before { content: "\f247"; } .ion-logo-rss:before { content: "\f248"; } .ion-logo-sass:before { content: "\f249"; } .ion-logo-skype:before { content: "\f24a"; } .ion-logo-slack:before { content: "\f10b"; } .ion-logo-snapchat:before { content: "\f24b"; } .ion-logo-steam:before { content: "\f24c"; } .ion-logo-tumblr:before { content: "\f24d"; } .ion-logo-tux:before { content: "\f2ae"; } .ion-logo-twitch:before { content: "\f2af"; } .ion-logo-twitter:before { content: "\f2b0"; } .ion-logo-usd:before { content: "\f2b1"; } .ion-logo-vimeo:before { content: "\f2c4"; } .ion-logo-vk:before { content: "\f10d"; } .ion-logo-whatsapp:before { content: "\f2c5"; } .ion-logo-windows:before { content: "\f32f"; } .ion-logo-wordpress:before { content: "\f330"; } .ion-logo-xbox:before { content: "\f34c"; } .ion-logo-xing:before { content: "\f10f"; } .ion-logo-yahoo:before { content: "\f34d"; } .ion-logo-yen:before { content: "\f34e"; } .ion-logo-youtube:before { content: "\f34f"; } .ion-md-add:before { content: "\f273"; } .ion-md-add-circle:before { content: "\f272"; } .ion-md-add-circle-outline:before { content: "\f158"; } .ion-md-airplane:before { content: "\f15a"; } .ion-md-alarm:before { content: "\f274"; } .ion-md-albums:before { content: "\f275"; } .ion-md-alert:before { content: "\f276"; } .ion-md-american-football:before { content: "\f277"; } .ion-md-analytics:before { content: "\f278"; } .ion-md-aperture:before { content: "\f279"; } .ion-md-apps:before { content: "\f27a"; } .ion-md-appstore:before { content: "\f27b"; } .ion-md-archive:before { content: "\f27c"; } .ion-md-arrow-back:before { content: "\f27d"; } .ion-md-arrow-down:before { content: "\f27e"; } .ion-md-arrow-dropdown:before { content: "\f280"; } .ion-md-arrow-dropdown-circle:before { content: "\f27f"; } .ion-md-arrow-dropleft:before { content: "\f282"; } .ion-md-arrow-dropleft-circle:before { content: "\f281"; } .ion-md-arrow-dropright:before { content: "\f284"; } .ion-md-arrow-dropright-circle:before { content: "\f283"; } .ion-md-arrow-dropup:before { content: "\f286"; } .ion-md-arrow-dropup-circle:before { content: "\f285"; } .ion-md-arrow-forward:before { content: "\f287"; } .ion-md-arrow-round-back:before { content: "\f288"; } .ion-md-arrow-round-down:before { content: "\f289"; } .ion-md-arrow-round-forward:before { content: "\f28a"; } .ion-md-arrow-round-up:before { content: "\f28b"; } .ion-md-arrow-up:before { content: "\f28c"; } .ion-md-at:before { content: "\f28d"; } .ion-md-attach:before { content: "\f28e"; } .ion-md-backspace:before { content: "\f28f"; } .ion-md-barcode:before { content: "\f290"; } .ion-md-baseball:before { content: "\f291"; } .ion-md-basket:before { content: "\f292"; } .ion-md-basketball:before { content: "\f293"; } .ion-md-battery-charging:before { content: "\f294"; } .ion-md-battery-dead:before { content: "\f295"; } .ion-md-battery-full:before { content: "\f296"; } .ion-md-beaker:before { content: "\f297"; } .ion-md-bed:before { content: "\f160"; } .ion-md-beer:before { content: "\f298"; } .ion-md-bicycle:before { content: "\f299"; } .ion-md-bluetooth:before { content: "\f29a"; } .ion-md-boat:before { content: "\f29b"; } .ion-md-body:before { content: "\f29c"; } .ion-md-bonfire:before { content: "\f29d"; } .ion-md-book:before { content: "\f29e"; } .ion-md-bookmark:before { content: "\f29f"; } .ion-md-bookmarks:before { content: "\f2a0"; } .ion-md-bowtie:before { content: "\f2a1"; } .ion-md-briefcase:before { content: "\f2a2"; } .ion-md-browsers:before { content: "\f2a3"; } .ion-md-brush:before { content: "\f2a4"; } .ion-md-bug:before { content: "\f2a5"; } .ion-md-build:before { content: "\f2a6"; } .ion-md-bulb:before { content: "\f2a7"; } .ion-md-bus:before { content: "\f2a8"; } .ion-md-business:before { content: "\f1a4"; } .ion-md-cafe:before { content: "\f2a9"; } .ion-md-calculator:before { content: "\f2aa"; } .ion-md-calendar:before { content: "\f2ab"; } .ion-md-call:before { content: "\f2ac"; } .ion-md-camera:before { content: "\f2ad"; } .ion-md-car:before { content: "\f2b2"; } .ion-md-card:before { content: "\f2b3"; } .ion-md-cart:before { content: "\f2b4"; } .ion-md-cash:before { content: "\f2b5"; } .ion-md-cellular:before { content: "\f164"; } .ion-md-chatboxes:before { content: "\f2b6"; } .ion-md-chatbubbles:before { content: "\f2b7"; } .ion-md-checkbox:before { content: "\f2b9"; } .ion-md-checkbox-outline:before { content: "\f2b8"; } .ion-md-checkmark:before { content: "\f2bc"; } .ion-md-checkmark-circle:before { content: "\f2bb"; } .ion-md-checkmark-circle-outline:before { content: "\f2ba"; } .ion-md-clipboard:before { content: "\f2bd"; } .ion-md-clock:before { content: "\f2be"; } .ion-md-close:before { content: "\f2c0"; } .ion-md-close-circle:before { content: "\f2bf"; } .ion-md-close-circle-outline:before { content: "\f166"; } .ion-md-cloud:before { content: "\f2c9"; } .ion-md-cloud-circle:before { content: "\f2c2"; } .ion-md-cloud-done:before { content: "\f2c3"; } .ion-md-cloud-download:before { content: "\f2c6"; } .ion-md-cloud-outline:before { content: "\f2c7"; } .ion-md-cloud-upload:before { content: "\f2c8"; } .ion-md-cloudy:before { content: "\f2cb"; } .ion-md-cloudy-night:before { content: "\f2ca"; } .ion-md-code:before { content: "\f2ce"; } .ion-md-code-download:before { content: "\f2cc"; } .ion-md-code-working:before { content: "\f2cd"; } .ion-md-cog:before { content: "\f2cf"; } .ion-md-color-fill:before { content: "\f2d0"; } .ion-md-color-filter:before { content: "\f2d1"; } .ion-md-color-palette:before { content: "\f2d2"; } .ion-md-color-wand:before { content: "\f2d3"; } .ion-md-compass:before { content: "\f2d4"; } .ion-md-construct:before { content: "\f2d5"; } .ion-md-contact:before { content: "\f2d6"; } .ion-md-contacts:before { content: "\f2d7"; } .ion-md-contract:before { content: "\f2d8"; } .ion-md-contrast:before { content: "\f2d9"; } .ion-md-copy:before { content: "\f2da"; } .ion-md-create:before { content: "\f2db"; } .ion-md-crop:before { content: "\f2dc"; } .ion-md-cube:before { content: "\f2dd"; } .ion-md-cut:before { content: "\f2de"; } .ion-md-desktop:before { content: "\f2df"; } .ion-md-disc:before { content: "\f2e0"; } .ion-md-document:before { content: "\f2e1"; } .ion-md-done-all:before { content: "\f2e2"; } .ion-md-download:before { content: "\f2e3"; } .ion-md-easel:before { content: "\f2e4"; } .ion-md-egg:before { content: "\f2e5"; } .ion-md-exit:before { content: "\f2e6"; } .ion-md-expand:before { content: "\f2e7"; } .ion-md-eye:before { content: "\f2e9"; } .ion-md-eye-off:before { content: "\f2e8"; } .ion-md-fastforward:before { content: "\f2ea"; } .ion-md-female:before { content: "\f2eb"; } .ion-md-filing:before { content: "\f2ec"; } .ion-md-film:before { content: "\f2ed"; } .ion-md-finger-print:before { content: "\f2ee"; } .ion-md-fitness:before { content: "\f1ac"; } .ion-md-flag:before { content: "\f2ef"; } .ion-md-flame:before { content: "\f2f0"; } .ion-md-flash:before { content: "\f2f1"; } .ion-md-flash-off:before { content: "\f169"; } .ion-md-flashlight:before { content: "\f16b"; } .ion-md-flask:before { content: "\f2f2"; } .ion-md-flower:before { content: "\f2f3"; } .ion-md-folder:before { content: "\f2f5"; } .ion-md-folder-open:before { content: "\f2f4"; } .ion-md-football:before { content: "\f2f6"; } .ion-md-funnel:before { content: "\f2f7"; } .ion-md-gift:before { content: "\f199"; } .ion-md-git-branch:before { content: "\f2fa"; } .ion-md-git-commit:before { content: "\f2fb"; } .ion-md-git-compare:before { content: "\f2fc"; } .ion-md-git-merge:before { content: "\f2fd"; } .ion-md-git-network:before { content: "\f2fe"; } .ion-md-git-pull-request:before { content: "\f2ff"; } .ion-md-glasses:before { content: "\f300"; } .ion-md-globe:before { content: "\f301"; } .ion-md-grid:before { content: "\f302"; } .ion-md-hammer:before { content: "\f303"; } .ion-md-hand:before { content: "\f304"; } .ion-md-happy:before { content: "\f305"; } .ion-md-headset:before { content: "\f306"; } .ion-md-heart:before { content: "\f308"; } .ion-md-heart-dislike:before { content: "\f167"; } .ion-md-heart-empty:before { content: "\f1a1"; } .ion-md-heart-half:before { content: "\f1a2"; } .ion-md-help:before { content: "\f30b"; } .ion-md-help-buoy:before { content: "\f309"; } .ion-md-help-circle:before { content: "\f30a"; } .ion-md-help-circle-outline:before { content: "\f16d"; } .ion-md-home:before { content: "\f30c"; } .ion-md-hourglass:before { content: "\f111"; } .ion-md-ice-cream:before { content: "\f30d"; } .ion-md-image:before { content: "\f30e"; } .ion-md-images:before { content: "\f30f"; } .ion-md-infinite:before { content: "\f310"; } .ion-md-information:before { content: "\f312"; } .ion-md-information-circle:before { content: "\f311"; } .ion-md-information-circle-outline:before { content: "\f16f"; } .ion-md-jet:before { content: "\f315"; } .ion-md-journal:before { content: "\f18d"; } .ion-md-key:before { content: "\f316"; } .ion-md-keypad:before { content: "\f317"; } .ion-md-laptop:before { content: "\f318"; } .ion-md-leaf:before { content: "\f319"; } .ion-md-link:before { content: "\f22e"; } .ion-md-list:before { content: "\f31b"; } .ion-md-list-box:before { content: "\f31a"; } .ion-md-locate:before { content: "\f31c"; } .ion-md-lock:before { content: "\f31d"; } .ion-md-log-in:before { content: "\f31e"; } .ion-md-log-out:before { content: "\f31f"; } .ion-md-magnet:before { content: "\f320"; } .ion-md-mail:before { content: "\f322"; } .ion-md-mail-open:before { content: "\f321"; } .ion-md-mail-unread:before { content: "\f172"; } .ion-md-male:before { content: "\f323"; } .ion-md-man:before { content: "\f324"; } .ion-md-map:before { content: "\f325"; } .ion-md-medal:before { content: "\f326"; } .ion-md-medical:before { content: "\f327"; } .ion-md-medkit:before { content: "\f328"; } .ion-md-megaphone:before { content: "\f329"; } .ion-md-menu:before { content: "\f32a"; } .ion-md-mic:before { content: "\f32c"; } .ion-md-mic-off:before { content: "\f32b"; } .ion-md-microphone:before { content: "\f32d"; } .ion-md-moon:before { content: "\f32e"; } .ion-md-more:before { content: "\f1c9"; } .ion-md-move:before { content: "\f331"; } .ion-md-musical-note:before { content: "\f332"; } .ion-md-musical-notes:before { content: "\f333"; } .ion-md-navigate:before { content: "\f334"; } .ion-md-notifications:before { content: "\f338"; } .ion-md-notifications-off:before { content: "\f336"; } .ion-md-notifications-outline:before { content: "\f337"; } .ion-md-nuclear:before { content: "\f339"; } .ion-md-nutrition:before { content: "\f33a"; } .ion-md-open:before { content: "\f33b"; } .ion-md-options:before { content: "\f33c"; } .ion-md-outlet:before { content: "\f33d"; } .ion-md-paper:before { content: "\f33f"; } .ion-md-paper-plane:before { content: "\f33e"; } .ion-md-partly-sunny:before { content: "\f340"; } .ion-md-pause:before { content: "\f341"; } .ion-md-paw:before { content: "\f342"; } .ion-md-people:before { content: "\f343"; } .ion-md-person:before { content: "\f345"; } .ion-md-person-add:before { content: "\f344"; } .ion-md-phone-landscape:before { content: "\f346"; } .ion-md-phone-portrait:before { content: "\f347"; } .ion-md-photos:before { content: "\f348"; } .ion-md-pie:before { content: "\f349"; } .ion-md-pin:before { content: "\f34a"; } .ion-md-pint:before { content: "\f34b"; } .ion-md-pizza:before { content: "\f354"; } .ion-md-planet:before { content: "\f356"; } .ion-md-play:before { content: "\f357"; } .ion-md-play-circle:before { content: "\f174"; } .ion-md-podium:before { content: "\f358"; } .ion-md-power:before { content: "\f359"; } .ion-md-pricetag:before { content: "\f35a"; } .ion-md-pricetags:before { content: "\f35b"; } .ion-md-print:before { content: "\f35c"; } .ion-md-pulse:before { content: "\f35d"; } .ion-md-qr-scanner:before { content: "\f35e"; } .ion-md-quote:before { content: "\f35f"; } .ion-md-radio:before { content: "\f362"; } .ion-md-radio-button-off:before { content: "\f360"; } .ion-md-radio-button-on:before { content: "\f361"; } .ion-md-rainy:before { content: "\f363"; } .ion-md-recording:before { content: "\f364"; } .ion-md-redo:before { content: "\f365"; } .ion-md-refresh:before { content: "\f366"; } .ion-md-refresh-circle:before { content: "\f228"; } .ion-md-remove:before { content: "\f368"; } .ion-md-remove-circle:before { content: "\f367"; } .ion-md-remove-circle-outline:before { content: "\f176"; } .ion-md-reorder:before { content: "\f369"; } .ion-md-repeat:before { content: "\f36a"; } .ion-md-resize:before { content: "\f36b"; } .ion-md-restaurant:before { content: "\f36c"; } .ion-md-return-left:before { content: "\f36d"; } .ion-md-return-right:before { content: "\f36e"; } .ion-md-reverse-camera:before { content: "\f36f"; } .ion-md-rewind:before { content: "\f370"; } .ion-md-ribbon:before { content: "\f371"; } .ion-md-rocket:before { content: "\f179"; } .ion-md-rose:before { content: "\f372"; } .ion-md-sad:before { content: "\f373"; } .ion-md-save:before { content: "\f1a9"; } .ion-md-school:before { content: "\f374"; } .ion-md-search:before { content: "\f375"; } .ion-md-send:before { content: "\f376"; } .ion-md-settings:before { content: "\f377"; } .ion-md-share:before { content: "\f379"; } .ion-md-share-alt:before { content: "\f378"; } .ion-md-shirt:before { content: "\f37a"; } .ion-md-shuffle:before { content: "\f37b"; } .ion-md-skip-backward:before { content: "\f37c"; } .ion-md-skip-forward:before { content: "\f37d"; } .ion-md-snow:before { content: "\f37e"; } .ion-md-speedometer:before { content: "\f37f"; } .ion-md-square:before { content: "\f381"; } .ion-md-square-outline:before { content: "\f380"; } .ion-md-star:before { content: "\f384"; } .ion-md-star-half:before { content: "\f382"; } .ion-md-star-outline:before { content: "\f383"; } .ion-md-stats:before { content: "\f385"; } .ion-md-stopwatch:before { content: "\f386"; } .ion-md-subway:before { content: "\f387"; } .ion-md-sunny:before { content: "\f388"; } .ion-md-swap:before { content: "\f389"; } .ion-md-switch:before { content: "\f38a"; } .ion-md-sync:before { content: "\f38b"; } .ion-md-tablet-landscape:before { content: "\f38c"; } .ion-md-tablet-portrait:before { content: "\f38d"; } .ion-md-tennisball:before { content: "\f38e"; } .ion-md-text:before { content: "\f38f"; } .ion-md-thermometer:before { content: "\f390"; } .ion-md-thumbs-down:before { content: "\f391"; } .ion-md-thumbs-up:before { content: "\f392"; } .ion-md-thunderstorm:before { content: "\f393"; } .ion-md-time:before { content: "\f394"; } .ion-md-timer:before { content: "\f395"; } .ion-md-today:before { content: "\f17d"; } .ion-md-train:before { content: "\f396"; } .ion-md-transgender:before { content: "\f397"; } .ion-md-trash:before { content: "\f398"; } .ion-md-trending-down:before { content: "\f399"; } .ion-md-trending-up:before { content: "\f39a"; } .ion-md-trophy:before { content: "\f39b"; } .ion-md-tv:before { content: "\f17f"; } .ion-md-umbrella:before { content: "\f39c"; } .ion-md-undo:before { content: "\f39d"; } .ion-md-unlock:before { content: "\f39e"; } .ion-md-videocam:before { content: "\f39f"; } .ion-md-volume-high:before { content: "\f123"; } .ion-md-volume-low:before { content: "\f131"; } .ion-md-volume-mute:before { content: "\f3a1"; } .ion-md-volume-off:before { content: "\f3a2"; } .ion-md-walk:before { content: "\f3a4"; } .ion-md-wallet:before { content: "\f18f"; } .ion-md-warning:before { content: "\f3a5"; } .ion-md-watch:before { content: "\f3a6"; } .ion-md-water:before { content: "\f3a7"; } .ion-md-wifi:before { content: "\f3a8"; } .ion-md-wine:before { content: "\f3a9"; } .ion-md-woman:before { content: "\f3aa"; } PK}w�\/�A�ipipcss/ionicons-core.min.cssnu�[���/*! Ionicons, v4.4.5 Created by Ben Sperry for the Ionic Framework, http://ionicons.com/ https://twitter.com/benjsperry https://twitter.com/ionicframework MIT License: https://github.com/driftyco/ionicons Android-style icons originally built by Google’s Material Design Icons: https://github.com/google/material-design-icons used under CC BY http://creativecommons.org/licenses/by/4.0/ Modified icons to fit ionicon’s grid from original. */.ion-ios-add:before{content:"\f102"}.ion-ios-add-circle:before{content:"\f101"}.ion-ios-add-circle-outline:before{content:"\f100"}.ion-ios-airplane:before{content:"\f137"}.ion-ios-alarm:before{content:"\f3c8"}.ion-ios-albums:before{content:"\f3ca"}.ion-ios-alert:before{content:"\f104"}.ion-ios-american-football:before{content:"\f106"}.ion-ios-analytics:before{content:"\f3ce"}.ion-ios-aperture:before{content:"\f108"}.ion-ios-apps:before{content:"\f10a"}.ion-ios-appstore:before{content:"\f10c"}.ion-ios-archive:before{content:"\f10e"}.ion-ios-arrow-back:before{content:"\f3cf"}.ion-ios-arrow-down:before{content:"\f3d0"}.ion-ios-arrow-dropdown:before{content:"\f110"}.ion-ios-arrow-dropdown-circle:before{content:"\f125"}.ion-ios-arrow-dropleft:before{content:"\f112"}.ion-ios-arrow-dropleft-circle:before{content:"\f129"}.ion-ios-arrow-dropright:before{content:"\f114"}.ion-ios-arrow-dropright-circle:before{content:"\f12b"}.ion-ios-arrow-dropup:before{content:"\f116"}.ion-ios-arrow-dropup-circle:before{content:"\f12d"}.ion-ios-arrow-forward:before{content:"\f3d1"}.ion-ios-arrow-round-back:before{content:"\f117"}.ion-ios-arrow-round-down:before{content:"\f118"}.ion-ios-arrow-round-forward:before{content:"\f119"}.ion-ios-arrow-round-up:before{content:"\f11a"}.ion-ios-arrow-up:before{content:"\f3d8"}.ion-ios-at:before{content:"\f3da"}.ion-ios-attach:before{content:"\f11b"}.ion-ios-backspace:before{content:"\f11d"}.ion-ios-barcode:before{content:"\f3dc"}.ion-ios-baseball:before{content:"\f3de"}.ion-ios-basket:before{content:"\f11f"}.ion-ios-basketball:before{content:"\f3e0"}.ion-ios-battery-charging:before{content:"\f120"}.ion-ios-battery-dead:before{content:"\f121"}.ion-ios-battery-full:before{content:"\f122"}.ion-ios-beaker:before{content:"\f124"}.ion-ios-bed:before{content:"\f139"}.ion-ios-beer:before{content:"\f126"}.ion-ios-bicycle:before{content:"\f127"}.ion-ios-bluetooth:before{content:"\f128"}.ion-ios-boat:before{content:"\f12a"}.ion-ios-body:before{content:"\f3e4"}.ion-ios-bonfire:before{content:"\f12c"}.ion-ios-book:before{content:"\f3e8"}.ion-ios-bookmark:before{content:"\f12e"}.ion-ios-bookmarks:before{content:"\f3ea"}.ion-ios-bowtie:before{content:"\f130"}.ion-ios-briefcase:before{content:"\f3ee"}.ion-ios-browsers:before{content:"\f3f0"}.ion-ios-brush:before{content:"\f132"}.ion-ios-bug:before{content:"\f134"}.ion-ios-build:before{content:"\f136"}.ion-ios-bulb:before{content:"\f138"}.ion-ios-bus:before{content:"\f13a"}.ion-ios-business:before{content:"\f1a3"}.ion-ios-cafe:before{content:"\f13c"}.ion-ios-calculator:before{content:"\f3f2"}.ion-ios-calendar:before{content:"\f3f4"}.ion-ios-call:before{content:"\f13e"}.ion-ios-camera:before{content:"\f3f6"}.ion-ios-car:before{content:"\f140"}.ion-ios-card:before{content:"\f142"}.ion-ios-cart:before{content:"\f3f8"}.ion-ios-cash:before{content:"\f144"}.ion-ios-cellular:before{content:"\f13d"}.ion-ios-chatboxes:before{content:"\f3fa"}.ion-ios-chatbubbles:before{content:"\f146"}.ion-ios-checkbox:before{content:"\f148"}.ion-ios-checkbox-outline:before{content:"\f147"}.ion-ios-checkmark:before{content:"\f3ff"}.ion-ios-checkmark-circle:before{content:"\f14a"}.ion-ios-checkmark-circle-outline:before{content:"\f149"}.ion-ios-clipboard:before{content:"\f14c"}.ion-ios-clock:before{content:"\f403"}.ion-ios-close:before{content:"\f406"}.ion-ios-close-circle:before{content:"\f14e"}.ion-ios-close-circle-outline:before{content:"\f14d"}.ion-ios-cloud:before{content:"\f40c"}.ion-ios-cloud-circle:before{content:"\f152"}.ion-ios-cloud-done:before{content:"\f154"}.ion-ios-cloud-download:before{content:"\f408"}.ion-ios-cloud-outline:before{content:"\f409"}.ion-ios-cloud-upload:before{content:"\f40b"}.ion-ios-cloudy:before{content:"\f410"}.ion-ios-cloudy-night:before{content:"\f40e"}.ion-ios-code:before{content:"\f157"}.ion-ios-code-download:before{content:"\f155"}.ion-ios-code-working:before{content:"\f156"}.ion-ios-cog:before{content:"\f412"}.ion-ios-color-fill:before{content:"\f159"}.ion-ios-color-filter:before{content:"\f414"}.ion-ios-color-palette:before{content:"\f15b"}.ion-ios-color-wand:before{content:"\f416"}.ion-ios-compass:before{content:"\f15d"}.ion-ios-construct:before{content:"\f15f"}.ion-ios-contact:before{content:"\f41a"}.ion-ios-contacts:before{content:"\f161"}.ion-ios-contract:before{content:"\f162"}.ion-ios-contrast:before{content:"\f163"}.ion-ios-copy:before{content:"\f41c"}.ion-ios-create:before{content:"\f165"}.ion-ios-crop:before{content:"\f41e"}.ion-ios-cube:before{content:"\f168"}.ion-ios-cut:before{content:"\f16a"}.ion-ios-desktop:before{content:"\f16c"}.ion-ios-disc:before{content:"\f16e"}.ion-ios-document:before{content:"\f170"}.ion-ios-done-all:before{content:"\f171"}.ion-ios-download:before{content:"\f420"}.ion-ios-easel:before{content:"\f173"}.ion-ios-egg:before{content:"\f175"}.ion-ios-exit:before{content:"\f177"}.ion-ios-expand:before{content:"\f178"}.ion-ios-eye:before{content:"\f425"}.ion-ios-eye-off:before{content:"\f17a"}.ion-ios-fastforward:before{content:"\f427"}.ion-ios-female:before{content:"\f17b"}.ion-ios-filing:before{content:"\f429"}.ion-ios-film:before{content:"\f42b"}.ion-ios-finger-print:before{content:"\f17c"}.ion-ios-fitness:before{content:"\f1ab"}.ion-ios-flag:before{content:"\f42d"}.ion-ios-flame:before{content:"\f42f"}.ion-ios-flash:before{content:"\f17e"}.ion-ios-flash-off:before{content:"\f12f"}.ion-ios-flashlight:before{content:"\f141"}.ion-ios-flask:before{content:"\f431"}.ion-ios-flower:before{content:"\f433"}.ion-ios-folder:before{content:"\f435"}.ion-ios-folder-open:before{content:"\f180"}.ion-ios-football:before{content:"\f437"}.ion-ios-funnel:before{content:"\f182"}.ion-ios-gift:before{content:"\f191"}.ion-ios-git-branch:before{content:"\f183"}.ion-ios-git-commit:before{content:"\f184"}.ion-ios-git-compare:before{content:"\f185"}.ion-ios-git-merge:before{content:"\f186"}.ion-ios-git-network:before{content:"\f187"}.ion-ios-git-pull-request:before{content:"\f188"}.ion-ios-glasses:before{content:"\f43f"}.ion-ios-globe:before{content:"\f18a"}.ion-ios-grid:before{content:"\f18c"}.ion-ios-hammer:before{content:"\f18e"}.ion-ios-hand:before{content:"\f190"}.ion-ios-happy:before{content:"\f192"}.ion-ios-headset:before{content:"\f194"}.ion-ios-heart:before{content:"\f443"}.ion-ios-heart-dislike:before{content:"\f13f"}.ion-ios-heart-empty:before{content:"\f19b"}.ion-ios-heart-half:before{content:"\f19d"}.ion-ios-help:before{content:"\f446"}.ion-ios-help-buoy:before{content:"\f196"}.ion-ios-help-circle:before{content:"\f198"}.ion-ios-help-circle-outline:before{content:"\f197"}.ion-ios-home:before{content:"\f448"}.ion-ios-hourglass:before{content:"\f103"}.ion-ios-ice-cream:before{content:"\f19a"}.ion-ios-image:before{content:"\f19c"}.ion-ios-images:before{content:"\f19e"}.ion-ios-infinite:before{content:"\f44a"}.ion-ios-information:before{content:"\f44d"}.ion-ios-information-circle:before{content:"\f1a0"}.ion-ios-information-circle-outline:before{content:"\f19f"}.ion-ios-jet:before{content:"\f1a5"}.ion-ios-journal:before{content:"\f189"}.ion-ios-key:before{content:"\f1a7"}.ion-ios-keypad:before{content:"\f450"}.ion-ios-laptop:before{content:"\f1a8"}.ion-ios-leaf:before{content:"\f1aa"}.ion-ios-link:before{content:"\f22a"}.ion-ios-list:before{content:"\f454"}.ion-ios-list-box:before{content:"\f143"}.ion-ios-locate:before{content:"\f1ae"}.ion-ios-lock:before{content:"\f1b0"}.ion-ios-log-in:before{content:"\f1b1"}.ion-ios-log-out:before{content:"\f1b2"}.ion-ios-magnet:before{content:"\f1b4"}.ion-ios-mail:before{content:"\f1b8"}.ion-ios-mail-open:before{content:"\f1b6"}.ion-ios-mail-unread:before{content:"\f145"}.ion-ios-male:before{content:"\f1b9"}.ion-ios-man:before{content:"\f1bb"}.ion-ios-map:before{content:"\f1bd"}.ion-ios-medal:before{content:"\f1bf"}.ion-ios-medical:before{content:"\f45c"}.ion-ios-medkit:before{content:"\f45e"}.ion-ios-megaphone:before{content:"\f1c1"}.ion-ios-menu:before{content:"\f1c3"}.ion-ios-mic:before{content:"\f461"}.ion-ios-mic-off:before{content:"\f45f"}.ion-ios-microphone:before{content:"\f1c6"}.ion-ios-moon:before{content:"\f468"}.ion-ios-more:before{content:"\f1c8"}.ion-ios-move:before{content:"\f1cb"}.ion-ios-musical-note:before{content:"\f46b"}.ion-ios-musical-notes:before{content:"\f46c"}.ion-ios-navigate:before{content:"\f46e"}.ion-ios-notifications:before{content:"\f1d3"}.ion-ios-notifications-off:before{content:"\f1d1"}.ion-ios-notifications-outline:before{content:"\f133"}.ion-ios-nuclear:before{content:"\f1d5"}.ion-ios-nutrition:before{content:"\f470"}.ion-ios-open:before{content:"\f1d7"}.ion-ios-options:before{content:"\f1d9"}.ion-ios-outlet:before{content:"\f1db"}.ion-ios-paper:before{content:"\f472"}.ion-ios-paper-plane:before{content:"\f1dd"}.ion-ios-partly-sunny:before{content:"\f1df"}.ion-ios-pause:before{content:"\f478"}.ion-ios-paw:before{content:"\f47a"}.ion-ios-people:before{content:"\f47c"}.ion-ios-person:before{content:"\f47e"}.ion-ios-person-add:before{content:"\f1e1"}.ion-ios-phone-landscape:before{content:"\f1e2"}.ion-ios-phone-portrait:before{content:"\f1e3"}.ion-ios-photos:before{content:"\f482"}.ion-ios-pie:before{content:"\f484"}.ion-ios-pin:before{content:"\f1e5"}.ion-ios-pint:before{content:"\f486"}.ion-ios-pizza:before{content:"\f1e7"}.ion-ios-planet:before{content:"\f1eb"}.ion-ios-play:before{content:"\f488"}.ion-ios-play-circle:before{content:"\f113"}.ion-ios-podium:before{content:"\f1ed"}.ion-ios-power:before{content:"\f1ef"}.ion-ios-pricetag:before{content:"\f48d"}.ion-ios-pricetags:before{content:"\f48f"}.ion-ios-print:before{content:"\f1f1"}.ion-ios-pulse:before{content:"\f493"}.ion-ios-qr-scanner:before{content:"\f1f3"}.ion-ios-quote:before{content:"\f1f5"}.ion-ios-radio:before{content:"\f1f9"}.ion-ios-radio-button-off:before{content:"\f1f6"}.ion-ios-radio-button-on:before{content:"\f1f7"}.ion-ios-rainy:before{content:"\f495"}.ion-ios-recording:before{content:"\f497"}.ion-ios-redo:before{content:"\f499"}.ion-ios-refresh:before{content:"\f49c"}.ion-ios-refresh-circle:before{content:"\f135"}.ion-ios-remove:before{content:"\f1fc"}.ion-ios-remove-circle:before{content:"\f1fb"}.ion-ios-remove-circle-outline:before{content:"\f1fa"}.ion-ios-reorder:before{content:"\f1fd"}.ion-ios-repeat:before{content:"\f1fe"}.ion-ios-resize:before{content:"\f1ff"}.ion-ios-restaurant:before{content:"\f201"}.ion-ios-return-left:before{content:"\f202"}.ion-ios-return-right:before{content:"\f203"}.ion-ios-reverse-camera:before{content:"\f49f"}.ion-ios-rewind:before{content:"\f4a1"}.ion-ios-ribbon:before{content:"\f205"}.ion-ios-rocket:before{content:"\f14b"}.ion-ios-rose:before{content:"\f4a3"}.ion-ios-sad:before{content:"\f207"}.ion-ios-save:before{content:"\f1a6"}.ion-ios-school:before{content:"\f209"}.ion-ios-search:before{content:"\f4a5"}.ion-ios-send:before{content:"\f20c"}.ion-ios-settings:before{content:"\f4a7"}.ion-ios-share:before{content:"\f211"}.ion-ios-share-alt:before{content:"\f20f"}.ion-ios-shirt:before{content:"\f213"}.ion-ios-shuffle:before{content:"\f4a9"}.ion-ios-skip-backward:before{content:"\f215"}.ion-ios-skip-forward:before{content:"\f217"}.ion-ios-snow:before{content:"\f218"}.ion-ios-speedometer:before{content:"\f4b0"}.ion-ios-square:before{content:"\f21a"}.ion-ios-square-outline:before{content:"\f15c"}.ion-ios-star:before{content:"\f4b3"}.ion-ios-star-half:before{content:"\f4b1"}.ion-ios-star-outline:before{content:"\f4b2"}.ion-ios-stats:before{content:"\f21c"}.ion-ios-stopwatch:before{content:"\f4b5"}.ion-ios-subway:before{content:"\f21e"}.ion-ios-sunny:before{content:"\f4b7"}.ion-ios-swap:before{content:"\f21f"}.ion-ios-switch:before{content:"\f221"}.ion-ios-sync:before{content:"\f222"}.ion-ios-tablet-landscape:before{content:"\f223"}.ion-ios-tablet-portrait:before{content:"\f24e"}.ion-ios-tennisball:before{content:"\f4bb"}.ion-ios-text:before{content:"\f250"}.ion-ios-thermometer:before{content:"\f252"}.ion-ios-thumbs-down:before{content:"\f254"}.ion-ios-thumbs-up:before{content:"\f256"}.ion-ios-thunderstorm:before{content:"\f4bd"}.ion-ios-time:before{content:"\f4bf"}.ion-ios-timer:before{content:"\f4c1"}.ion-ios-today:before{content:"\f14f"}.ion-ios-train:before{content:"\f258"}.ion-ios-transgender:before{content:"\f259"}.ion-ios-trash:before{content:"\f4c5"}.ion-ios-trending-down:before{content:"\f25a"}.ion-ios-trending-up:before{content:"\f25b"}.ion-ios-trophy:before{content:"\f25d"}.ion-ios-tv:before{content:"\f115"}.ion-ios-umbrella:before{content:"\f25f"}.ion-ios-undo:before{content:"\f4c7"}.ion-ios-unlock:before{content:"\f261"}.ion-ios-videocam:before{content:"\f4cd"}.ion-ios-volume-high:before{content:"\f11c"}.ion-ios-volume-low:before{content:"\f11e"}.ion-ios-volume-mute:before{content:"\f263"}.ion-ios-volume-off:before{content:"\f264"}.ion-ios-walk:before{content:"\f266"}.ion-ios-wallet:before{content:"\f18b"}.ion-ios-warning:before{content:"\f268"}.ion-ios-watch:before{content:"\f269"}.ion-ios-water:before{content:"\f26b"}.ion-ios-wifi:before{content:"\f26d"}.ion-ios-wine:before{content:"\f26f"}.ion-ios-woman:before{content:"\f271"}.ion-logo-android:before{content:"\f225"}.ion-logo-angular:before{content:"\f227"}.ion-logo-apple:before{content:"\f229"}.ion-logo-bitbucket:before{content:"\f193"}.ion-logo-bitcoin:before{content:"\f22b"}.ion-logo-buffer:before{content:"\f22d"}.ion-logo-chrome:before{content:"\f22f"}.ion-logo-closed-captioning:before{content:"\f105"}.ion-logo-codepen:before{content:"\f230"}.ion-logo-css3:before{content:"\f231"}.ion-logo-designernews:before{content:"\f232"}.ion-logo-dribbble:before{content:"\f233"}.ion-logo-dropbox:before{content:"\f234"}.ion-logo-euro:before{content:"\f235"}.ion-logo-facebook:before{content:"\f236"}.ion-logo-flickr:before{content:"\f107"}.ion-logo-foursquare:before{content:"\f237"}.ion-logo-freebsd-devil:before{content:"\f238"}.ion-logo-game-controller-a:before{content:"\f13b"}.ion-logo-game-controller-b:before{content:"\f181"}.ion-logo-github:before{content:"\f239"}.ion-logo-google:before{content:"\f23a"}.ion-logo-googleplus:before{content:"\f23b"}.ion-logo-hackernews:before{content:"\f23c"}.ion-logo-html5:before{content:"\f23d"}.ion-logo-instagram:before{content:"\f23e"}.ion-logo-ionic:before{content:"\f150"}.ion-logo-ionitron:before{content:"\f151"}.ion-logo-javascript:before{content:"\f23f"}.ion-logo-linkedin:before{content:"\f240"}.ion-logo-markdown:before{content:"\f241"}.ion-logo-model-s:before{content:"\f153"}.ion-logo-no-smoking:before{content:"\f109"}.ion-logo-nodejs:before{content:"\f242"}.ion-logo-npm:before{content:"\f195"}.ion-logo-octocat:before{content:"\f243"}.ion-logo-pinterest:before{content:"\f244"}.ion-logo-playstation:before{content:"\f245"}.ion-logo-polymer:before{content:"\f15e"}.ion-logo-python:before{content:"\f246"}.ion-logo-reddit:before{content:"\f247"}.ion-logo-rss:before{content:"\f248"}.ion-logo-sass:before{content:"\f249"}.ion-logo-skype:before{content:"\f24a"}.ion-logo-slack:before{content:"\f10b"}.ion-logo-snapchat:before{content:"\f24b"}.ion-logo-steam:before{content:"\f24c"}.ion-logo-tumblr:before{content:"\f24d"}.ion-logo-tux:before{content:"\f2ae"}.ion-logo-twitch:before{content:"\f2af"}.ion-logo-twitter:before{content:"\f2b0"}.ion-logo-usd:before{content:"\f2b1"}.ion-logo-vimeo:before{content:"\f2c4"}.ion-logo-vk:before{content:"\f10d"}.ion-logo-whatsapp:before{content:"\f2c5"}.ion-logo-windows:before{content:"\f32f"}.ion-logo-wordpress:before{content:"\f330"}.ion-logo-xbox:before{content:"\f34c"}.ion-logo-xing:before{content:"\f10f"}.ion-logo-yahoo:before{content:"\f34d"}.ion-logo-yen:before{content:"\f34e"}.ion-logo-youtube:before{content:"\f34f"}.ion-md-add:before{content:"\f273"}.ion-md-add-circle:before{content:"\f272"}.ion-md-add-circle-outline:before{content:"\f158"}.ion-md-airplane:before{content:"\f15a"}.ion-md-alarm:before{content:"\f274"}.ion-md-albums:before{content:"\f275"}.ion-md-alert:before{content:"\f276"}.ion-md-american-football:before{content:"\f277"}.ion-md-analytics:before{content:"\f278"}.ion-md-aperture:before{content:"\f279"}.ion-md-apps:before{content:"\f27a"}.ion-md-appstore:before{content:"\f27b"}.ion-md-archive:before{content:"\f27c"}.ion-md-arrow-back:before{content:"\f27d"}.ion-md-arrow-down:before{content:"\f27e"}.ion-md-arrow-dropdown:before{content:"\f280"}.ion-md-arrow-dropdown-circle:before{content:"\f27f"}.ion-md-arrow-dropleft:before{content:"\f282"}.ion-md-arrow-dropleft-circle:before{content:"\f281"}.ion-md-arrow-dropright:before{content:"\f284"}.ion-md-arrow-dropright-circle:before{content:"\f283"}.ion-md-arrow-dropup:before{content:"\f286"}.ion-md-arrow-dropup-circle:before{content:"\f285"}.ion-md-arrow-forward:before{content:"\f287"}.ion-md-arrow-round-back:before{content:"\f288"}.ion-md-arrow-round-down:before{content:"\f289"}.ion-md-arrow-round-forward:before{content:"\f28a"}.ion-md-arrow-round-up:before{content:"\f28b"}.ion-md-arrow-up:before{content:"\f28c"}.ion-md-at:before{content:"\f28d"}.ion-md-attach:before{content:"\f28e"}.ion-md-backspace:before{content:"\f28f"}.ion-md-barcode:before{content:"\f290"}.ion-md-baseball:before{content:"\f291"}.ion-md-basket:before{content:"\f292"}.ion-md-basketball:before{content:"\f293"}.ion-md-battery-charging:before{content:"\f294"}.ion-md-battery-dead:before{content:"\f295"}.ion-md-battery-full:before{content:"\f296"}.ion-md-beaker:before{content:"\f297"}.ion-md-bed:before{content:"\f160"}.ion-md-beer:before{content:"\f298"}.ion-md-bicycle:before{content:"\f299"}.ion-md-bluetooth:before{content:"\f29a"}.ion-md-boat:before{content:"\f29b"}.ion-md-body:before{content:"\f29c"}.ion-md-bonfire:before{content:"\f29d"}.ion-md-book:before{content:"\f29e"}.ion-md-bookmark:before{content:"\f29f"}.ion-md-bookmarks:before{content:"\f2a0"}.ion-md-bowtie:before{content:"\f2a1"}.ion-md-briefcase:before{content:"\f2a2"}.ion-md-browsers:before{content:"\f2a3"}.ion-md-brush:before{content:"\f2a4"}.ion-md-bug:before{content:"\f2a5"}.ion-md-build:before{content:"\f2a6"}.ion-md-bulb:before{content:"\f2a7"}.ion-md-bus:before{content:"\f2a8"}.ion-md-business:before{content:"\f1a4"}.ion-md-cafe:before{content:"\f2a9"}.ion-md-calculator:before{content:"\f2aa"}.ion-md-calendar:before{content:"\f2ab"}.ion-md-call:before{content:"\f2ac"}.ion-md-camera:before{content:"\f2ad"}.ion-md-car:before{content:"\f2b2"}.ion-md-card:before{content:"\f2b3"}.ion-md-cart:before{content:"\f2b4"}.ion-md-cash:before{content:"\f2b5"}.ion-md-cellular:before{content:"\f164"}.ion-md-chatboxes:before{content:"\f2b6"}.ion-md-chatbubbles:before{content:"\f2b7"}.ion-md-checkbox:before{content:"\f2b9"}.ion-md-checkbox-outline:before{content:"\f2b8"}.ion-md-checkmark:before{content:"\f2bc"}.ion-md-checkmark-circle:before{content:"\f2bb"}.ion-md-checkmark-circle-outline:before{content:"\f2ba"}.ion-md-clipboard:before{content:"\f2bd"}.ion-md-clock:before{content:"\f2be"}.ion-md-close:before{content:"\f2c0"}.ion-md-close-circle:before{content:"\f2bf"}.ion-md-close-circle-outline:before{content:"\f166"}.ion-md-cloud:before{content:"\f2c9"}.ion-md-cloud-circle:before{content:"\f2c2"}.ion-md-cloud-done:before{content:"\f2c3"}.ion-md-cloud-download:before{content:"\f2c6"}.ion-md-cloud-outline:before{content:"\f2c7"}.ion-md-cloud-upload:before{content:"\f2c8"}.ion-md-cloudy:before{content:"\f2cb"}.ion-md-cloudy-night:before{content:"\f2ca"}.ion-md-code:before{content:"\f2ce"}.ion-md-code-download:before{content:"\f2cc"}.ion-md-code-working:before{content:"\f2cd"}.ion-md-cog:before{content:"\f2cf"}.ion-md-color-fill:before{content:"\f2d0"}.ion-md-color-filter:before{content:"\f2d1"}.ion-md-color-palette:before{content:"\f2d2"}.ion-md-color-wand:before{content:"\f2d3"}.ion-md-compass:before{content:"\f2d4"}.ion-md-construct:before{content:"\f2d5"}.ion-md-contact:before{content:"\f2d6"}.ion-md-contacts:before{content:"\f2d7"}.ion-md-contract:before{content:"\f2d8"}.ion-md-contrast:before{content:"\f2d9"}.ion-md-copy:before{content:"\f2da"}.ion-md-create:before{content:"\f2db"}.ion-md-crop:before{content:"\f2dc"}.ion-md-cube:before{content:"\f2dd"}.ion-md-cut:before{content:"\f2de"}.ion-md-desktop:before{content:"\f2df"}.ion-md-disc:before{content:"\f2e0"}.ion-md-document:before{content:"\f2e1"}.ion-md-done-all:before{content:"\f2e2"}.ion-md-download:before{content:"\f2e3"}.ion-md-easel:before{content:"\f2e4"}.ion-md-egg:before{content:"\f2e5"}.ion-md-exit:before{content:"\f2e6"}.ion-md-expand:before{content:"\f2e7"}.ion-md-eye:before{content:"\f2e9"}.ion-md-eye-off:before{content:"\f2e8"}.ion-md-fastforward:before{content:"\f2ea"}.ion-md-female:before{content:"\f2eb"}.ion-md-filing:before{content:"\f2ec"}.ion-md-film:before{content:"\f2ed"}.ion-md-finger-print:before{content:"\f2ee"}.ion-md-fitness:before{content:"\f1ac"}.ion-md-flag:before{content:"\f2ef"}.ion-md-flame:before{content:"\f2f0"}.ion-md-flash:before{content:"\f2f1"}.ion-md-flash-off:before{content:"\f169"}.ion-md-flashlight:before{content:"\f16b"}.ion-md-flask:before{content:"\f2f2"}.ion-md-flower:before{content:"\f2f3"}.ion-md-folder:before{content:"\f2f5"}.ion-md-folder-open:before{content:"\f2f4"}.ion-md-football:before{content:"\f2f6"}.ion-md-funnel:before{content:"\f2f7"}.ion-md-gift:before{content:"\f199"}.ion-md-git-branch:before{content:"\f2fa"}.ion-md-git-commit:before{content:"\f2fb"}.ion-md-git-compare:before{content:"\f2fc"}.ion-md-git-merge:before{content:"\f2fd"}.ion-md-git-network:before{content:"\f2fe"}.ion-md-git-pull-request:before{content:"\f2ff"}.ion-md-glasses:before{content:"\f300"}.ion-md-globe:before{content:"\f301"}.ion-md-grid:before{content:"\f302"}.ion-md-hammer:before{content:"\f303"}.ion-md-hand:before{content:"\f304"}.ion-md-happy:before{content:"\f305"}.ion-md-headset:before{content:"\f306"}.ion-md-heart:before{content:"\f308"}.ion-md-heart-dislike:before{content:"\f167"}.ion-md-heart-empty:before{content:"\f1a1"}.ion-md-heart-half:before{content:"\f1a2"}.ion-md-help:before{content:"\f30b"}.ion-md-help-buoy:before{content:"\f309"}.ion-md-help-circle:before{content:"\f30a"}.ion-md-help-circle-outline:before{content:"\f16d"}.ion-md-home:before{content:"\f30c"}.ion-md-hourglass:before{content:"\f111"}.ion-md-ice-cream:before{content:"\f30d"}.ion-md-image:before{content:"\f30e"}.ion-md-images:before{content:"\f30f"}.ion-md-infinite:before{content:"\f310"}.ion-md-information:before{content:"\f312"}.ion-md-information-circle:before{content:"\f311"}.ion-md-information-circle-outline:before{content:"\f16f"}.ion-md-jet:before{content:"\f315"}.ion-md-journal:before{content:"\f18d"}.ion-md-key:before{content:"\f316"}.ion-md-keypad:before{content:"\f317"}.ion-md-laptop:before{content:"\f318"}.ion-md-leaf:before{content:"\f319"}.ion-md-link:before{content:"\f22e"}.ion-md-list:before{content:"\f31b"}.ion-md-list-box:before{content:"\f31a"}.ion-md-locate:before{content:"\f31c"}.ion-md-lock:before{content:"\f31d"}.ion-md-log-in:before{content:"\f31e"}.ion-md-log-out:before{content:"\f31f"}.ion-md-magnet:before{content:"\f320"}.ion-md-mail:before{content:"\f322"}.ion-md-mail-open:before{content:"\f321"}.ion-md-mail-unread:before{content:"\f172"}.ion-md-male:before{content:"\f323"}.ion-md-man:before{content:"\f324"}.ion-md-map:before{content:"\f325"}.ion-md-medal:before{content:"\f326"}.ion-md-medical:before{content:"\f327"}.ion-md-medkit:before{content:"\f328"}.ion-md-megaphone:before{content:"\f329"}.ion-md-menu:before{content:"\f32a"}.ion-md-mic:before{content:"\f32c"}.ion-md-mic-off:before{content:"\f32b"}.ion-md-microphone:before{content:"\f32d"}.ion-md-moon:before{content:"\f32e"}.ion-md-more:before{content:"\f1c9"}.ion-md-move:before{content:"\f331"}.ion-md-musical-note:before{content:"\f332"}.ion-md-musical-notes:before{content:"\f333"}.ion-md-navigate:before{content:"\f334"}.ion-md-notifications:before{content:"\f338"}.ion-md-notifications-off:before{content:"\f336"}.ion-md-notifications-outline:before{content:"\f337"}.ion-md-nuclear:before{content:"\f339"}.ion-md-nutrition:before{content:"\f33a"}.ion-md-open:before{content:"\f33b"}.ion-md-options:before{content:"\f33c"}.ion-md-outlet:before{content:"\f33d"}.ion-md-paper:before{content:"\f33f"}.ion-md-paper-plane:before{content:"\f33e"}.ion-md-partly-sunny:before{content:"\f340"}.ion-md-pause:before{content:"\f341"}.ion-md-paw:before{content:"\f342"}.ion-md-people:before{content:"\f343"}.ion-md-person:before{content:"\f345"}.ion-md-person-add:before{content:"\f344"}.ion-md-phone-landscape:before{content:"\f346"}.ion-md-phone-portrait:before{content:"\f347"}.ion-md-photos:before{content:"\f348"}.ion-md-pie:before{content:"\f349"}.ion-md-pin:before{content:"\f34a"}.ion-md-pint:before{content:"\f34b"}.ion-md-pizza:before{content:"\f354"}.ion-md-planet:before{content:"\f356"}.ion-md-play:before{content:"\f357"}.ion-md-play-circle:before{content:"\f174"}.ion-md-podium:before{content:"\f358"}.ion-md-power:before{content:"\f359"}.ion-md-pricetag:before{content:"\f35a"}.ion-md-pricetags:before{content:"\f35b"}.ion-md-print:before{content:"\f35c"}.ion-md-pulse:before{content:"\f35d"}.ion-md-qr-scanner:before{content:"\f35e"}.ion-md-quote:before{content:"\f35f"}.ion-md-radio:before{content:"\f362"}.ion-md-radio-button-off:before{content:"\f360"}.ion-md-radio-button-on:before{content:"\f361"}.ion-md-rainy:before{content:"\f363"}.ion-md-recording:before{content:"\f364"}.ion-md-redo:before{content:"\f365"}.ion-md-refresh:before{content:"\f366"}.ion-md-refresh-circle:before{content:"\f228"}.ion-md-remove:before{content:"\f368"}.ion-md-remove-circle:before{content:"\f367"}.ion-md-remove-circle-outline:before{content:"\f176"}.ion-md-reorder:before{content:"\f369"}.ion-md-repeat:before{content:"\f36a"}.ion-md-resize:before{content:"\f36b"}.ion-md-restaurant:before{content:"\f36c"}.ion-md-return-left:before{content:"\f36d"}.ion-md-return-right:before{content:"\f36e"}.ion-md-reverse-camera:before{content:"\f36f"}.ion-md-rewind:before{content:"\f370"}.ion-md-ribbon:before{content:"\f371"}.ion-md-rocket:before{content:"\f179"}.ion-md-rose:before{content:"\f372"}.ion-md-sad:before{content:"\f373"}.ion-md-save:before{content:"\f1a9"}.ion-md-school:before{content:"\f374"}.ion-md-search:before{content:"\f375"}.ion-md-send:before{content:"\f376"}.ion-md-settings:before{content:"\f377"}.ion-md-share:before{content:"\f379"}.ion-md-share-alt:before{content:"\f378"}.ion-md-shirt:before{content:"\f37a"}.ion-md-shuffle:before{content:"\f37b"}.ion-md-skip-backward:before{content:"\f37c"}.ion-md-skip-forward:before{content:"\f37d"}.ion-md-snow:before{content:"\f37e"}.ion-md-speedometer:before{content:"\f37f"}.ion-md-square:before{content:"\f381"}.ion-md-square-outline:before{content:"\f380"}.ion-md-star:before{content:"\f384"}.ion-md-star-half:before{content:"\f382"}.ion-md-star-outline:before{content:"\f383"}.ion-md-stats:before{content:"\f385"}.ion-md-stopwatch:before{content:"\f386"}.ion-md-subway:before{content:"\f387"}.ion-md-sunny:before{content:"\f388"}.ion-md-swap:before{content:"\f389"}.ion-md-switch:before{content:"\f38a"}.ion-md-sync:before{content:"\f38b"}.ion-md-tablet-landscape:before{content:"\f38c"}.ion-md-tablet-portrait:before{content:"\f38d"}.ion-md-tennisball:before{content:"\f38e"}.ion-md-text:before{content:"\f38f"}.ion-md-thermometer:before{content:"\f390"}.ion-md-thumbs-down:before{content:"\f391"}.ion-md-thumbs-up:before{content:"\f392"}.ion-md-thunderstorm:before{content:"\f393"}.ion-md-time:before{content:"\f394"}.ion-md-timer:before{content:"\f395"}.ion-md-today:before{content:"\f17d"}.ion-md-train:before{content:"\f396"}.ion-md-transgender:before{content:"\f397"}.ion-md-trash:before{content:"\f398"}.ion-md-trending-down:before{content:"\f399"}.ion-md-trending-up:before{content:"\f39a"}.ion-md-trophy:before{content:"\f39b"}.ion-md-tv:before{content:"\f17f"}.ion-md-umbrella:before{content:"\f39c"}.ion-md-undo:before{content:"\f39d"}.ion-md-unlock:before{content:"\f39e"}.ion-md-videocam:before{content:"\f39f"}.ion-md-volume-high:before{content:"\f123"}.ion-md-volume-low:before{content:"\f131"}.ion-md-volume-mute:before{content:"\f3a1"}.ion-md-volume-off:before{content:"\f3a2"}.ion-md-walk:before{content:"\f3a4"}.ion-md-wallet:before{content:"\f18f"}.ion-md-warning:before{content:"\f3a5"}.ion-md-watch:before{content:"\f3a6"}.ion-md-water:before{content:"\f3a7"}.ion-md-wifi:before{content:"\f3a8"}.ion-md-wine:before{content:"\f3a9"}.ion-md-woman:before{content:"\f3aa"} PK}w�\K7ϓϓcss/ionicons-core.cssnu�[���@charset "UTF-8"; /*! Ionicons, v4.4.5 Created by Ben Sperry for the Ionic Framework, http://ionicons.com/ https://twitter.com/benjsperry https://twitter.com/ionicframework MIT License: https://github.com/driftyco/ionicons Android-style icons originally built by Google’s Material Design Icons: https://github.com/google/material-design-icons used under CC BY http://creativecommons.org/licenses/by/4.0/ Modified icons to fit ionicon’s grid from original. */ .ion-ios-add:before { content: "\f102"; } .ion-ios-add-circle:before { content: "\f101"; } .ion-ios-add-circle-outline:before { content: "\f100"; } .ion-ios-airplane:before { content: "\f137"; } .ion-ios-alarm:before { content: "\f3c8"; } .ion-ios-albums:before { content: "\f3ca"; } .ion-ios-alert:before { content: "\f104"; } .ion-ios-american-football:before { content: "\f106"; } .ion-ios-analytics:before { content: "\f3ce"; } .ion-ios-aperture:before { content: "\f108"; } .ion-ios-apps:before { content: "\f10a"; } .ion-ios-appstore:before { content: "\f10c"; } .ion-ios-archive:before { content: "\f10e"; } .ion-ios-arrow-back:before { content: "\f3cf"; } .ion-ios-arrow-down:before { content: "\f3d0"; } .ion-ios-arrow-dropdown:before { content: "\f110"; } .ion-ios-arrow-dropdown-circle:before { content: "\f125"; } .ion-ios-arrow-dropleft:before { content: "\f112"; } .ion-ios-arrow-dropleft-circle:before { content: "\f129"; } .ion-ios-arrow-dropright:before { content: "\f114"; } .ion-ios-arrow-dropright-circle:before { content: "\f12b"; } .ion-ios-arrow-dropup:before { content: "\f116"; } .ion-ios-arrow-dropup-circle:before { content: "\f12d"; } .ion-ios-arrow-forward:before { content: "\f3d1"; } .ion-ios-arrow-round-back:before { content: "\f117"; } .ion-ios-arrow-round-down:before { content: "\f118"; } .ion-ios-arrow-round-forward:before { content: "\f119"; } .ion-ios-arrow-round-up:before { content: "\f11a"; } .ion-ios-arrow-up:before { content: "\f3d8"; } .ion-ios-at:before { content: "\f3da"; } .ion-ios-attach:before { content: "\f11b"; } .ion-ios-backspace:before { content: "\f11d"; } .ion-ios-barcode:before { content: "\f3dc"; } .ion-ios-baseball:before { content: "\f3de"; } .ion-ios-basket:before { content: "\f11f"; } .ion-ios-basketball:before { content: "\f3e0"; } .ion-ios-battery-charging:before { content: "\f120"; } .ion-ios-battery-dead:before { content: "\f121"; } .ion-ios-battery-full:before { content: "\f122"; } .ion-ios-beaker:before { content: "\f124"; } .ion-ios-bed:before { content: "\f139"; } .ion-ios-beer:before { content: "\f126"; } .ion-ios-bicycle:before { content: "\f127"; } .ion-ios-bluetooth:before { content: "\f128"; } .ion-ios-boat:before { content: "\f12a"; } .ion-ios-body:before { content: "\f3e4"; } .ion-ios-bonfire:before { content: "\f12c"; } .ion-ios-book:before { content: "\f3e8"; } .ion-ios-bookmark:before { content: "\f12e"; } .ion-ios-bookmarks:before { content: "\f3ea"; } .ion-ios-bowtie:before { content: "\f130"; } .ion-ios-briefcase:before { content: "\f3ee"; } .ion-ios-browsers:before { content: "\f3f0"; } .ion-ios-brush:before { content: "\f132"; } .ion-ios-bug:before { content: "\f134"; } .ion-ios-build:before { content: "\f136"; } .ion-ios-bulb:before { content: "\f138"; } .ion-ios-bus:before { content: "\f13a"; } .ion-ios-business:before { content: "\f1a3"; } .ion-ios-cafe:before { content: "\f13c"; } .ion-ios-calculator:before { content: "\f3f2"; } .ion-ios-calendar:before { content: "\f3f4"; } .ion-ios-call:before { content: "\f13e"; } .ion-ios-camera:before { content: "\f3f6"; } .ion-ios-car:before { content: "\f140"; } .ion-ios-card:before { content: "\f142"; } .ion-ios-cart:before { content: "\f3f8"; } .ion-ios-cash:before { content: "\f144"; } .ion-ios-cellular:before { content: "\f13d"; } .ion-ios-chatboxes:before { content: "\f3fa"; } .ion-ios-chatbubbles:before { content: "\f146"; } .ion-ios-checkbox:before { content: "\f148"; } .ion-ios-checkbox-outline:before { content: "\f147"; } .ion-ios-checkmark:before { content: "\f3ff"; } .ion-ios-checkmark-circle:before { content: "\f14a"; } .ion-ios-checkmark-circle-outline:before { content: "\f149"; } .ion-ios-clipboard:before { content: "\f14c"; } .ion-ios-clock:before { content: "\f403"; } .ion-ios-close:before { content: "\f406"; } .ion-ios-close-circle:before { content: "\f14e"; } .ion-ios-close-circle-outline:before { content: "\f14d"; } .ion-ios-cloud:before { content: "\f40c"; } .ion-ios-cloud-circle:before { content: "\f152"; } .ion-ios-cloud-done:before { content: "\f154"; } .ion-ios-cloud-download:before { content: "\f408"; } .ion-ios-cloud-outline:before { content: "\f409"; } .ion-ios-cloud-upload:before { content: "\f40b"; } .ion-ios-cloudy:before { content: "\f410"; } .ion-ios-cloudy-night:before { content: "\f40e"; } .ion-ios-code:before { content: "\f157"; } .ion-ios-code-download:before { content: "\f155"; } .ion-ios-code-working:before { content: "\f156"; } .ion-ios-cog:before { content: "\f412"; } .ion-ios-color-fill:before { content: "\f159"; } .ion-ios-color-filter:before { content: "\f414"; } .ion-ios-color-palette:before { content: "\f15b"; } .ion-ios-color-wand:before { content: "\f416"; } .ion-ios-compass:before { content: "\f15d"; } .ion-ios-construct:before { content: "\f15f"; } .ion-ios-contact:before { content: "\f41a"; } .ion-ios-contacts:before { content: "\f161"; } .ion-ios-contract:before { content: "\f162"; } .ion-ios-contrast:before { content: "\f163"; } .ion-ios-copy:before { content: "\f41c"; } .ion-ios-create:before { content: "\f165"; } .ion-ios-crop:before { content: "\f41e"; } .ion-ios-cube:before { content: "\f168"; } .ion-ios-cut:before { content: "\f16a"; } .ion-ios-desktop:before { content: "\f16c"; } .ion-ios-disc:before { content: "\f16e"; } .ion-ios-document:before { content: "\f170"; } .ion-ios-done-all:before { content: "\f171"; } .ion-ios-download:before { content: "\f420"; } .ion-ios-easel:before { content: "\f173"; } .ion-ios-egg:before { content: "\f175"; } .ion-ios-exit:before { content: "\f177"; } .ion-ios-expand:before { content: "\f178"; } .ion-ios-eye:before { content: "\f425"; } .ion-ios-eye-off:before { content: "\f17a"; } .ion-ios-fastforward:before { content: "\f427"; } .ion-ios-female:before { content: "\f17b"; } .ion-ios-filing:before { content: "\f429"; } .ion-ios-film:before { content: "\f42b"; } .ion-ios-finger-print:before { content: "\f17c"; } .ion-ios-fitness:before { content: "\f1ab"; } .ion-ios-flag:before { content: "\f42d"; } .ion-ios-flame:before { content: "\f42f"; } .ion-ios-flash:before { content: "\f17e"; } .ion-ios-flash-off:before { content: "\f12f"; } .ion-ios-flashlight:before { content: "\f141"; } .ion-ios-flask:before { content: "\f431"; } .ion-ios-flower:before { content: "\f433"; } .ion-ios-folder:before { content: "\f435"; } .ion-ios-folder-open:before { content: "\f180"; } .ion-ios-football:before { content: "\f437"; } .ion-ios-funnel:before { content: "\f182"; } .ion-ios-gift:before { content: "\f191"; } .ion-ios-git-branch:before { content: "\f183"; } .ion-ios-git-commit:before { content: "\f184"; } .ion-ios-git-compare:before { content: "\f185"; } .ion-ios-git-merge:before { content: "\f186"; } .ion-ios-git-network:before { content: "\f187"; } .ion-ios-git-pull-request:before { content: "\f188"; } .ion-ios-glasses:before { content: "\f43f"; } .ion-ios-globe:before { content: "\f18a"; } .ion-ios-grid:before { content: "\f18c"; } .ion-ios-hammer:before { content: "\f18e"; } .ion-ios-hand:before { content: "\f190"; } .ion-ios-happy:before { content: "\f192"; } .ion-ios-headset:before { content: "\f194"; } .ion-ios-heart:before { content: "\f443"; } .ion-ios-heart-dislike:before { content: "\f13f"; } .ion-ios-heart-empty:before { content: "\f19b"; } .ion-ios-heart-half:before { content: "\f19d"; } .ion-ios-help:before { content: "\f446"; } .ion-ios-help-buoy:before { content: "\f196"; } .ion-ios-help-circle:before { content: "\f198"; } .ion-ios-help-circle-outline:before { content: "\f197"; } .ion-ios-home:before { content: "\f448"; } .ion-ios-hourglass:before { content: "\f103"; } .ion-ios-ice-cream:before { content: "\f19a"; } .ion-ios-image:before { content: "\f19c"; } .ion-ios-images:before { content: "\f19e"; } .ion-ios-infinite:before { content: "\f44a"; } .ion-ios-information:before { content: "\f44d"; } .ion-ios-information-circle:before { content: "\f1a0"; } .ion-ios-information-circle-outline:before { content: "\f19f"; } .ion-ios-jet:before { content: "\f1a5"; } .ion-ios-journal:before { content: "\f189"; } .ion-ios-key:before { content: "\f1a7"; } .ion-ios-keypad:before { content: "\f450"; } .ion-ios-laptop:before { content: "\f1a8"; } .ion-ios-leaf:before { content: "\f1aa"; } .ion-ios-link:before { content: "\f22a"; } .ion-ios-list:before { content: "\f454"; } .ion-ios-list-box:before { content: "\f143"; } .ion-ios-locate:before { content: "\f1ae"; } .ion-ios-lock:before { content: "\f1b0"; } .ion-ios-log-in:before { content: "\f1b1"; } .ion-ios-log-out:before { content: "\f1b2"; } .ion-ios-magnet:before { content: "\f1b4"; } .ion-ios-mail:before { content: "\f1b8"; } .ion-ios-mail-open:before { content: "\f1b6"; } .ion-ios-mail-unread:before { content: "\f145"; } .ion-ios-male:before { content: "\f1b9"; } .ion-ios-man:before { content: "\f1bb"; } .ion-ios-map:before { content: "\f1bd"; } .ion-ios-medal:before { content: "\f1bf"; } .ion-ios-medical:before { content: "\f45c"; } .ion-ios-medkit:before { content: "\f45e"; } .ion-ios-megaphone:before { content: "\f1c1"; } .ion-ios-menu:before { content: "\f1c3"; } .ion-ios-mic:before { content: "\f461"; } .ion-ios-mic-off:before { content: "\f45f"; } .ion-ios-microphone:before { content: "\f1c6"; } .ion-ios-moon:before { content: "\f468"; } .ion-ios-more:before { content: "\f1c8"; } .ion-ios-move:before { content: "\f1cb"; } .ion-ios-musical-note:before { content: "\f46b"; } .ion-ios-musical-notes:before { content: "\f46c"; } .ion-ios-navigate:before { content: "\f46e"; } .ion-ios-notifications:before { content: "\f1d3"; } .ion-ios-notifications-off:before { content: "\f1d1"; } .ion-ios-notifications-outline:before { content: "\f133"; } .ion-ios-nuclear:before { content: "\f1d5"; } .ion-ios-nutrition:before { content: "\f470"; } .ion-ios-open:before { content: "\f1d7"; } .ion-ios-options:before { content: "\f1d9"; } .ion-ios-outlet:before { content: "\f1db"; } .ion-ios-paper:before { content: "\f472"; } .ion-ios-paper-plane:before { content: "\f1dd"; } .ion-ios-partly-sunny:before { content: "\f1df"; } .ion-ios-pause:before { content: "\f478"; } .ion-ios-paw:before { content: "\f47a"; } .ion-ios-people:before { content: "\f47c"; } .ion-ios-person:before { content: "\f47e"; } .ion-ios-person-add:before { content: "\f1e1"; } .ion-ios-phone-landscape:before { content: "\f1e2"; } .ion-ios-phone-portrait:before { content: "\f1e3"; } .ion-ios-photos:before { content: "\f482"; } .ion-ios-pie:before { content: "\f484"; } .ion-ios-pin:before { content: "\f1e5"; } .ion-ios-pint:before { content: "\f486"; } .ion-ios-pizza:before { content: "\f1e7"; } .ion-ios-planet:before { content: "\f1eb"; } .ion-ios-play:before { content: "\f488"; } .ion-ios-play-circle:before { content: "\f113"; } .ion-ios-podium:before { content: "\f1ed"; } .ion-ios-power:before { content: "\f1ef"; } .ion-ios-pricetag:before { content: "\f48d"; } .ion-ios-pricetags:before { content: "\f48f"; } .ion-ios-print:before { content: "\f1f1"; } .ion-ios-pulse:before { content: "\f493"; } .ion-ios-qr-scanner:before { content: "\f1f3"; } .ion-ios-quote:before { content: "\f1f5"; } .ion-ios-radio:before { content: "\f1f9"; } .ion-ios-radio-button-off:before { content: "\f1f6"; } .ion-ios-radio-button-on:before { content: "\f1f7"; } .ion-ios-rainy:before { content: "\f495"; } .ion-ios-recording:before { content: "\f497"; } .ion-ios-redo:before { content: "\f499"; } .ion-ios-refresh:before { content: "\f49c"; } .ion-ios-refresh-circle:before { content: "\f135"; } .ion-ios-remove:before { content: "\f1fc"; } .ion-ios-remove-circle:before { content: "\f1fb"; } .ion-ios-remove-circle-outline:before { content: "\f1fa"; } .ion-ios-reorder:before { content: "\f1fd"; } .ion-ios-repeat:before { content: "\f1fe"; } .ion-ios-resize:before { content: "\f1ff"; } .ion-ios-restaurant:before { content: "\f201"; } .ion-ios-return-left:before { content: "\f202"; } .ion-ios-return-right:before { content: "\f203"; } .ion-ios-reverse-camera:before { content: "\f49f"; } .ion-ios-rewind:before { content: "\f4a1"; } .ion-ios-ribbon:before { content: "\f205"; } .ion-ios-rocket:before { content: "\f14b"; } .ion-ios-rose:before { content: "\f4a3"; } .ion-ios-sad:before { content: "\f207"; } .ion-ios-save:before { content: "\f1a6"; } .ion-ios-school:before { content: "\f209"; } .ion-ios-search:before { content: "\f4a5"; } .ion-ios-send:before { content: "\f20c"; } .ion-ios-settings:before { content: "\f4a7"; } .ion-ios-share:before { content: "\f211"; } .ion-ios-share-alt:before { content: "\f20f"; } .ion-ios-shirt:before { content: "\f213"; } .ion-ios-shuffle:before { content: "\f4a9"; } .ion-ios-skip-backward:before { content: "\f215"; } .ion-ios-skip-forward:before { content: "\f217"; } .ion-ios-snow:before { content: "\f218"; } .ion-ios-speedometer:before { content: "\f4b0"; } .ion-ios-square:before { content: "\f21a"; } .ion-ios-square-outline:before { content: "\f15c"; } .ion-ios-star:before { content: "\f4b3"; } .ion-ios-star-half:before { content: "\f4b1"; } .ion-ios-star-outline:before { content: "\f4b2"; } .ion-ios-stats:before { content: "\f21c"; } .ion-ios-stopwatch:before { content: "\f4b5"; } .ion-ios-subway:before { content: "\f21e"; } .ion-ios-sunny:before { content: "\f4b7"; } .ion-ios-swap:before { content: "\f21f"; } .ion-ios-switch:before { content: "\f221"; } .ion-ios-sync:before { content: "\f222"; } .ion-ios-tablet-landscape:before { content: "\f223"; } .ion-ios-tablet-portrait:before { content: "\f24e"; } .ion-ios-tennisball:before { content: "\f4bb"; } .ion-ios-text:before { content: "\f250"; } .ion-ios-thermometer:before { content: "\f252"; } .ion-ios-thumbs-down:before { content: "\f254"; } .ion-ios-thumbs-up:before { content: "\f256"; } .ion-ios-thunderstorm:before { content: "\f4bd"; } .ion-ios-time:before { content: "\f4bf"; } .ion-ios-timer:before { content: "\f4c1"; } .ion-ios-today:before { content: "\f14f"; } .ion-ios-train:before { content: "\f258"; } .ion-ios-transgender:before { content: "\f259"; } .ion-ios-trash:before { content: "\f4c5"; } .ion-ios-trending-down:before { content: "\f25a"; } .ion-ios-trending-up:before { content: "\f25b"; } .ion-ios-trophy:before { content: "\f25d"; } .ion-ios-tv:before { content: "\f115"; } .ion-ios-umbrella:before { content: "\f25f"; } .ion-ios-undo:before { content: "\f4c7"; } .ion-ios-unlock:before { content: "\f261"; } .ion-ios-videocam:before { content: "\f4cd"; } .ion-ios-volume-high:before { content: "\f11c"; } .ion-ios-volume-low:before { content: "\f11e"; } .ion-ios-volume-mute:before { content: "\f263"; } .ion-ios-volume-off:before { content: "\f264"; } .ion-ios-walk:before { content: "\f266"; } .ion-ios-wallet:before { content: "\f18b"; } .ion-ios-warning:before { content: "\f268"; } .ion-ios-watch:before { content: "\f269"; } .ion-ios-water:before { content: "\f26b"; } .ion-ios-wifi:before { content: "\f26d"; } .ion-ios-wine:before { content: "\f26f"; } .ion-ios-woman:before { content: "\f271"; } .ion-logo-android:before { content: "\f225"; } .ion-logo-angular:before { content: "\f227"; } .ion-logo-apple:before { content: "\f229"; } .ion-logo-bitbucket:before { content: "\f193"; } .ion-logo-bitcoin:before { content: "\f22b"; } .ion-logo-buffer:before { content: "\f22d"; } .ion-logo-chrome:before { content: "\f22f"; } .ion-logo-closed-captioning:before { content: "\f105"; } .ion-logo-codepen:before { content: "\f230"; } .ion-logo-css3:before { content: "\f231"; } .ion-logo-designernews:before { content: "\f232"; } .ion-logo-dribbble:before { content: "\f233"; } .ion-logo-dropbox:before { content: "\f234"; } .ion-logo-euro:before { content: "\f235"; } .ion-logo-facebook:before { content: "\f236"; } .ion-logo-flickr:before { content: "\f107"; } .ion-logo-foursquare:before { content: "\f237"; } .ion-logo-freebsd-devil:before { content: "\f238"; } .ion-logo-game-controller-a:before { content: "\f13b"; } .ion-logo-game-controller-b:before { content: "\f181"; } .ion-logo-github:before { content: "\f239"; } .ion-logo-google:before { content: "\f23a"; } .ion-logo-googleplus:before { content: "\f23b"; } .ion-logo-hackernews:before { content: "\f23c"; } .ion-logo-html5:before { content: "\f23d"; } .ion-logo-instagram:before { content: "\f23e"; } .ion-logo-ionic:before { content: "\f150"; } .ion-logo-ionitron:before { content: "\f151"; } .ion-logo-javascript:before { content: "\f23f"; } .ion-logo-linkedin:before { content: "\f240"; } .ion-logo-markdown:before { content: "\f241"; } .ion-logo-model-s:before { content: "\f153"; } .ion-logo-no-smoking:before { content: "\f109"; } .ion-logo-nodejs:before { content: "\f242"; } .ion-logo-npm:before { content: "\f195"; } .ion-logo-octocat:before { content: "\f243"; } .ion-logo-pinterest:before { content: "\f244"; } .ion-logo-playstation:before { content: "\f245"; } .ion-logo-polymer:before { content: "\f15e"; } .ion-logo-python:before { content: "\f246"; } .ion-logo-reddit:before { content: "\f247"; } .ion-logo-rss:before { content: "\f248"; } .ion-logo-sass:before { content: "\f249"; } .ion-logo-skype:before { content: "\f24a"; } .ion-logo-slack:before { content: "\f10b"; } .ion-logo-snapchat:before { content: "\f24b"; } .ion-logo-steam:before { content: "\f24c"; } .ion-logo-tumblr:before { content: "\f24d"; } .ion-logo-tux:before { content: "\f2ae"; } .ion-logo-twitch:before { content: "\f2af"; } .ion-logo-twitter:before { content: "\f2b0"; } .ion-logo-usd:before { content: "\f2b1"; } .ion-logo-vimeo:before { content: "\f2c4"; } .ion-logo-vk:before { content: "\f10d"; } .ion-logo-whatsapp:before { content: "\f2c5"; } .ion-logo-windows:before { content: "\f32f"; } .ion-logo-wordpress:before { content: "\f330"; } .ion-logo-xbox:before { content: "\f34c"; } .ion-logo-xing:before { content: "\f10f"; } .ion-logo-yahoo:before { content: "\f34d"; } .ion-logo-yen:before { content: "\f34e"; } .ion-logo-youtube:before { content: "\f34f"; } .ion-md-add:before { content: "\f273"; } .ion-md-add-circle:before { content: "\f272"; } .ion-md-add-circle-outline:before { content: "\f158"; } .ion-md-airplane:before { content: "\f15a"; } .ion-md-alarm:before { content: "\f274"; } .ion-md-albums:before { content: "\f275"; } .ion-md-alert:before { content: "\f276"; } .ion-md-american-football:before { content: "\f277"; } .ion-md-analytics:before { content: "\f278"; } .ion-md-aperture:before { content: "\f279"; } .ion-md-apps:before { content: "\f27a"; } .ion-md-appstore:before { content: "\f27b"; } .ion-md-archive:before { content: "\f27c"; } .ion-md-arrow-back:before { content: "\f27d"; } .ion-md-arrow-down:before { content: "\f27e"; } .ion-md-arrow-dropdown:before { content: "\f280"; } .ion-md-arrow-dropdown-circle:before { content: "\f27f"; } .ion-md-arrow-dropleft:before { content: "\f282"; } .ion-md-arrow-dropleft-circle:before { content: "\f281"; } .ion-md-arrow-dropright:before { content: "\f284"; } .ion-md-arrow-dropright-circle:before { content: "\f283"; } .ion-md-arrow-dropup:before { content: "\f286"; } .ion-md-arrow-dropup-circle:before { content: "\f285"; } .ion-md-arrow-forward:before { content: "\f287"; } .ion-md-arrow-round-back:before { content: "\f288"; } .ion-md-arrow-round-down:before { content: "\f289"; } .ion-md-arrow-round-forward:before { content: "\f28a"; } .ion-md-arrow-round-up:before { content: "\f28b"; } .ion-md-arrow-up:before { content: "\f28c"; } .ion-md-at:before { content: "\f28d"; } .ion-md-attach:before { content: "\f28e"; } .ion-md-backspace:before { content: "\f28f"; } .ion-md-barcode:before { content: "\f290"; } .ion-md-baseball:before { content: "\f291"; } .ion-md-basket:before { content: "\f292"; } .ion-md-basketball:before { content: "\f293"; } .ion-md-battery-charging:before { content: "\f294"; } .ion-md-battery-dead:before { content: "\f295"; } .ion-md-battery-full:before { content: "\f296"; } .ion-md-beaker:before { content: "\f297"; } .ion-md-bed:before { content: "\f160"; } .ion-md-beer:before { content: "\f298"; } .ion-md-bicycle:before { content: "\f299"; } .ion-md-bluetooth:before { content: "\f29a"; } .ion-md-boat:before { content: "\f29b"; } .ion-md-body:before { content: "\f29c"; } .ion-md-bonfire:before { content: "\f29d"; } .ion-md-book:before { content: "\f29e"; } .ion-md-bookmark:before { content: "\f29f"; } .ion-md-bookmarks:before { content: "\f2a0"; } .ion-md-bowtie:before { content: "\f2a1"; } .ion-md-briefcase:before { content: "\f2a2"; } .ion-md-browsers:before { content: "\f2a3"; } .ion-md-brush:before { content: "\f2a4"; } .ion-md-bug:before { content: "\f2a5"; } .ion-md-build:before { content: "\f2a6"; } .ion-md-bulb:before { content: "\f2a7"; } .ion-md-bus:before { content: "\f2a8"; } .ion-md-business:before { content: "\f1a4"; } .ion-md-cafe:before { content: "\f2a9"; } .ion-md-calculator:before { content: "\f2aa"; } .ion-md-calendar:before { content: "\f2ab"; } .ion-md-call:before { content: "\f2ac"; } .ion-md-camera:before { content: "\f2ad"; } .ion-md-car:before { content: "\f2b2"; } .ion-md-card:before { content: "\f2b3"; } .ion-md-cart:before { content: "\f2b4"; } .ion-md-cash:before { content: "\f2b5"; } .ion-md-cellular:before { content: "\f164"; } .ion-md-chatboxes:before { content: "\f2b6"; } .ion-md-chatbubbles:before { content: "\f2b7"; } .ion-md-checkbox:before { content: "\f2b9"; } .ion-md-checkbox-outline:before { content: "\f2b8"; } .ion-md-checkmark:before { content: "\f2bc"; } .ion-md-checkmark-circle:before { content: "\f2bb"; } .ion-md-checkmark-circle-outline:before { content: "\f2ba"; } .ion-md-clipboard:before { content: "\f2bd"; } .ion-md-clock:before { content: "\f2be"; } .ion-md-close:before { content: "\f2c0"; } .ion-md-close-circle:before { content: "\f2bf"; } .ion-md-close-circle-outline:before { content: "\f166"; } .ion-md-cloud:before { content: "\f2c9"; } .ion-md-cloud-circle:before { content: "\f2c2"; } .ion-md-cloud-done:before { content: "\f2c3"; } .ion-md-cloud-download:before { content: "\f2c6"; } .ion-md-cloud-outline:before { content: "\f2c7"; } .ion-md-cloud-upload:before { content: "\f2c8"; } .ion-md-cloudy:before { content: "\f2cb"; } .ion-md-cloudy-night:before { content: "\f2ca"; } .ion-md-code:before { content: "\f2ce"; } .ion-md-code-download:before { content: "\f2cc"; } .ion-md-code-working:before { content: "\f2cd"; } .ion-md-cog:before { content: "\f2cf"; } .ion-md-color-fill:before { content: "\f2d0"; } .ion-md-color-filter:before { content: "\f2d1"; } .ion-md-color-palette:before { content: "\f2d2"; } .ion-md-color-wand:before { content: "\f2d3"; } .ion-md-compass:before { content: "\f2d4"; } .ion-md-construct:before { content: "\f2d5"; } .ion-md-contact:before { content: "\f2d6"; } .ion-md-contacts:before { content: "\f2d7"; } .ion-md-contract:before { content: "\f2d8"; } .ion-md-contrast:before { content: "\f2d9"; } .ion-md-copy:before { content: "\f2da"; } .ion-md-create:before { content: "\f2db"; } .ion-md-crop:before { content: "\f2dc"; } .ion-md-cube:before { content: "\f2dd"; } .ion-md-cut:before { content: "\f2de"; } .ion-md-desktop:before { content: "\f2df"; } .ion-md-disc:before { content: "\f2e0"; } .ion-md-document:before { content: "\f2e1"; } .ion-md-done-all:before { content: "\f2e2"; } .ion-md-download:before { content: "\f2e3"; } .ion-md-easel:before { content: "\f2e4"; } .ion-md-egg:before { content: "\f2e5"; } .ion-md-exit:before { content: "\f2e6"; } .ion-md-expand:before { content: "\f2e7"; } .ion-md-eye:before { content: "\f2e9"; } .ion-md-eye-off:before { content: "\f2e8"; } .ion-md-fastforward:before { content: "\f2ea"; } .ion-md-female:before { content: "\f2eb"; } .ion-md-filing:before { content: "\f2ec"; } .ion-md-film:before { content: "\f2ed"; } .ion-md-finger-print:before { content: "\f2ee"; } .ion-md-fitness:before { content: "\f1ac"; } .ion-md-flag:before { content: "\f2ef"; } .ion-md-flame:before { content: "\f2f0"; } .ion-md-flash:before { content: "\f2f1"; } .ion-md-flash-off:before { content: "\f169"; } .ion-md-flashlight:before { content: "\f16b"; } .ion-md-flask:before { content: "\f2f2"; } .ion-md-flower:before { content: "\f2f3"; } .ion-md-folder:before { content: "\f2f5"; } .ion-md-folder-open:before { content: "\f2f4"; } .ion-md-football:before { content: "\f2f6"; } .ion-md-funnel:before { content: "\f2f7"; } .ion-md-gift:before { content: "\f199"; } .ion-md-git-branch:before { content: "\f2fa"; } .ion-md-git-commit:before { content: "\f2fb"; } .ion-md-git-compare:before { content: "\f2fc"; } .ion-md-git-merge:before { content: "\f2fd"; } .ion-md-git-network:before { content: "\f2fe"; } .ion-md-git-pull-request:before { content: "\f2ff"; } .ion-md-glasses:before { content: "\f300"; } .ion-md-globe:before { content: "\f301"; } .ion-md-grid:before { content: "\f302"; } .ion-md-hammer:before { content: "\f303"; } .ion-md-hand:before { content: "\f304"; } .ion-md-happy:before { content: "\f305"; } .ion-md-headset:before { content: "\f306"; } .ion-md-heart:before { content: "\f308"; } .ion-md-heart-dislike:before { content: "\f167"; } .ion-md-heart-empty:before { content: "\f1a1"; } .ion-md-heart-half:before { content: "\f1a2"; } .ion-md-help:before { content: "\f30b"; } .ion-md-help-buoy:before { content: "\f309"; } .ion-md-help-circle:before { content: "\f30a"; } .ion-md-help-circle-outline:before { content: "\f16d"; } .ion-md-home:before { content: "\f30c"; } .ion-md-hourglass:before { content: "\f111"; } .ion-md-ice-cream:before { content: "\f30d"; } .ion-md-image:before { content: "\f30e"; } .ion-md-images:before { content: "\f30f"; } .ion-md-infinite:before { content: "\f310"; } .ion-md-information:before { content: "\f312"; } .ion-md-information-circle:before { content: "\f311"; } .ion-md-information-circle-outline:before { content: "\f16f"; } .ion-md-jet:before { content: "\f315"; } .ion-md-journal:before { content: "\f18d"; } .ion-md-key:before { content: "\f316"; } .ion-md-keypad:before { content: "\f317"; } .ion-md-laptop:before { content: "\f318"; } .ion-md-leaf:before { content: "\f319"; } .ion-md-link:before { content: "\f22e"; } .ion-md-list:before { content: "\f31b"; } .ion-md-list-box:before { content: "\f31a"; } .ion-md-locate:before { content: "\f31c"; } .ion-md-lock:before { content: "\f31d"; } .ion-md-log-in:before { content: "\f31e"; } .ion-md-log-out:before { content: "\f31f"; } .ion-md-magnet:before { content: "\f320"; } .ion-md-mail:before { content: "\f322"; } .ion-md-mail-open:before { content: "\f321"; } .ion-md-mail-unread:before { content: "\f172"; } .ion-md-male:before { content: "\f323"; } .ion-md-man:before { content: "\f324"; } .ion-md-map:before { content: "\f325"; } .ion-md-medal:before { content: "\f326"; } .ion-md-medical:before { content: "\f327"; } .ion-md-medkit:before { content: "\f328"; } .ion-md-megaphone:before { content: "\f329"; } .ion-md-menu:before { content: "\f32a"; } .ion-md-mic:before { content: "\f32c"; } .ion-md-mic-off:before { content: "\f32b"; } .ion-md-microphone:before { content: "\f32d"; } .ion-md-moon:before { content: "\f32e"; } .ion-md-more:before { content: "\f1c9"; } .ion-md-move:before { content: "\f331"; } .ion-md-musical-note:before { content: "\f332"; } .ion-md-musical-notes:before { content: "\f333"; } .ion-md-navigate:before { content: "\f334"; } .ion-md-notifications:before { content: "\f338"; } .ion-md-notifications-off:before { content: "\f336"; } .ion-md-notifications-outline:before { content: "\f337"; } .ion-md-nuclear:before { content: "\f339"; } .ion-md-nutrition:before { content: "\f33a"; } .ion-md-open:before { content: "\f33b"; } .ion-md-options:before { content: "\f33c"; } .ion-md-outlet:before { content: "\f33d"; } .ion-md-paper:before { content: "\f33f"; } .ion-md-paper-plane:before { content: "\f33e"; } .ion-md-partly-sunny:before { content: "\f340"; } .ion-md-pause:before { content: "\f341"; } .ion-md-paw:before { content: "\f342"; } .ion-md-people:before { content: "\f343"; } .ion-md-person:before { content: "\f345"; } .ion-md-person-add:before { content: "\f344"; } .ion-md-phone-landscape:before { content: "\f346"; } .ion-md-phone-portrait:before { content: "\f347"; } .ion-md-photos:before { content: "\f348"; } .ion-md-pie:before { content: "\f349"; } .ion-md-pin:before { content: "\f34a"; } .ion-md-pint:before { content: "\f34b"; } .ion-md-pizza:before { content: "\f354"; } .ion-md-planet:before { content: "\f356"; } .ion-md-play:before { content: "\f357"; } .ion-md-play-circle:before { content: "\f174"; } .ion-md-podium:before { content: "\f358"; } .ion-md-power:before { content: "\f359"; } .ion-md-pricetag:before { content: "\f35a"; } .ion-md-pricetags:before { content: "\f35b"; } .ion-md-print:before { content: "\f35c"; } .ion-md-pulse:before { content: "\f35d"; } .ion-md-qr-scanner:before { content: "\f35e"; } .ion-md-quote:before { content: "\f35f"; } .ion-md-radio:before { content: "\f362"; } .ion-md-radio-button-off:before { content: "\f360"; } .ion-md-radio-button-on:before { content: "\f361"; } .ion-md-rainy:before { content: "\f363"; } .ion-md-recording:before { content: "\f364"; } .ion-md-redo:before { content: "\f365"; } .ion-md-refresh:before { content: "\f366"; } .ion-md-refresh-circle:before { content: "\f228"; } .ion-md-remove:before { content: "\f368"; } .ion-md-remove-circle:before { content: "\f367"; } .ion-md-remove-circle-outline:before { content: "\f176"; } .ion-md-reorder:before { content: "\f369"; } .ion-md-repeat:before { content: "\f36a"; } .ion-md-resize:before { content: "\f36b"; } .ion-md-restaurant:before { content: "\f36c"; } .ion-md-return-left:before { content: "\f36d"; } .ion-md-return-right:before { content: "\f36e"; } .ion-md-reverse-camera:before { content: "\f36f"; } .ion-md-rewind:before { content: "\f370"; } .ion-md-ribbon:before { content: "\f371"; } .ion-md-rocket:before { content: "\f179"; } .ion-md-rose:before { content: "\f372"; } .ion-md-sad:before { content: "\f373"; } .ion-md-save:before { content: "\f1a9"; } .ion-md-school:before { content: "\f374"; } .ion-md-search:before { content: "\f375"; } .ion-md-send:before { content: "\f376"; } .ion-md-settings:before { content: "\f377"; } .ion-md-share:before { content: "\f379"; } .ion-md-share-alt:before { content: "\f378"; } .ion-md-shirt:before { content: "\f37a"; } .ion-md-shuffle:before { content: "\f37b"; } .ion-md-skip-backward:before { content: "\f37c"; } .ion-md-skip-forward:before { content: "\f37d"; } .ion-md-snow:before { content: "\f37e"; } .ion-md-speedometer:before { content: "\f37f"; } .ion-md-square:before { content: "\f381"; } .ion-md-square-outline:before { content: "\f380"; } .ion-md-star:before { content: "\f384"; } .ion-md-star-half:before { content: "\f382"; } .ion-md-star-outline:before { content: "\f383"; } .ion-md-stats:before { content: "\f385"; } .ion-md-stopwatch:before { content: "\f386"; } .ion-md-subway:before { content: "\f387"; } .ion-md-sunny:before { content: "\f388"; } .ion-md-swap:before { content: "\f389"; } .ion-md-switch:before { content: "\f38a"; } .ion-md-sync:before { content: "\f38b"; } .ion-md-tablet-landscape:before { content: "\f38c"; } .ion-md-tablet-portrait:before { content: "\f38d"; } .ion-md-tennisball:before { content: "\f38e"; } .ion-md-text:before { content: "\f38f"; } .ion-md-thermometer:before { content: "\f390"; } .ion-md-thumbs-down:before { content: "\f391"; } .ion-md-thumbs-up:before { content: "\f392"; } .ion-md-thunderstorm:before { content: "\f393"; } .ion-md-time:before { content: "\f394"; } .ion-md-timer:before { content: "\f395"; } .ion-md-today:before { content: "\f17d"; } .ion-md-train:before { content: "\f396"; } .ion-md-transgender:before { content: "\f397"; } .ion-md-trash:before { content: "\f398"; } .ion-md-trending-down:before { content: "\f399"; } .ion-md-trending-up:before { content: "\f39a"; } .ion-md-trophy:before { content: "\f39b"; } .ion-md-tv:before { content: "\f17f"; } .ion-md-umbrella:before { content: "\f39c"; } .ion-md-undo:before { content: "\f39d"; } .ion-md-unlock:before { content: "\f39e"; } .ion-md-videocam:before { content: "\f39f"; } .ion-md-volume-high:before { content: "\f123"; } .ion-md-volume-low:before { content: "\f131"; } .ion-md-volume-mute:before { content: "\f3a1"; } .ion-md-volume-off:before { content: "\f3a2"; } .ion-md-walk:before { content: "\f3a4"; } .ion-md-wallet:before { content: "\f18f"; } .ion-md-warning:before { content: "\f3a5"; } .ion-md-watch:before { content: "\f3a6"; } .ion-md-water:before { content: "\f3a7"; } .ion-md-wifi:before { content: "\f3a8"; } .ion-md-wine:before { content: "\f3a9"; } .ion-md-woman:before { content: "\f3aa"; } PK}w�\X��n � �css/ionicons.min.cssnu�[���/*! Ionicons, v4.4.5 Created by Ben Sperry for the Ionic Framework, http://ionicons.com/ https://twitter.com/benjsperry https://twitter.com/ionicframework MIT License: https://github.com/driftyco/ionicons Android-style icons originally built by Google’s Material Design Icons: https://github.com/google/material-design-icons used under CC BY http://creativecommons.org/licenses/by/4.0/ Modified icons to fit ionicon’s grid from original. */@font-face{font-family:"Ionicons";src:url("../fonts/ionicons.eot?v=4.4.5");src:url("../fonts/ionicons.eot?v=4.4.5#iefix") format("embedded-opentype"),url("../fonts/ionicons.woff2?v=4.4.5") format("woff2"),url("../fonts/ionicons.woff?v=4.4.5") format("woff"),url("../fonts/ionicons.ttf?v=4.4.5") format("truetype"),url("../fonts/ionicons.svg?v=4.4.5#Ionicons") format("svg");font-weight:normal;font-style:normal}.ion,.ionicons,.ion-ios-add:before,.ion-ios-add-circle:before,.ion-ios-add-circle-outline:before,.ion-ios-airplane:before,.ion-ios-alarm:before,.ion-ios-albums:before,.ion-ios-alert:before,.ion-ios-american-football:before,.ion-ios-analytics:before,.ion-ios-aperture:before,.ion-ios-apps:before,.ion-ios-appstore:before,.ion-ios-archive:before,.ion-ios-arrow-back:before,.ion-ios-arrow-down:before,.ion-ios-arrow-dropdown:before,.ion-ios-arrow-dropdown-circle:before,.ion-ios-arrow-dropleft:before,.ion-ios-arrow-dropleft-circle:before,.ion-ios-arrow-dropright:before,.ion-ios-arrow-dropright-circle:before,.ion-ios-arrow-dropup:before,.ion-ios-arrow-dropup-circle:before,.ion-ios-arrow-forward:before,.ion-ios-arrow-round-back:before,.ion-ios-arrow-round-down:before,.ion-ios-arrow-round-forward:before,.ion-ios-arrow-round-up:before,.ion-ios-arrow-up:before,.ion-ios-at:before,.ion-ios-attach:before,.ion-ios-backspace:before,.ion-ios-barcode:before,.ion-ios-baseball:before,.ion-ios-basket:before,.ion-ios-basketball:before,.ion-ios-battery-charging:before,.ion-ios-battery-dead:before,.ion-ios-battery-full:before,.ion-ios-beaker:before,.ion-ios-bed:before,.ion-ios-beer:before,.ion-ios-bicycle:before,.ion-ios-bluetooth:before,.ion-ios-boat:before,.ion-ios-body:before,.ion-ios-bonfire:before,.ion-ios-book:before,.ion-ios-bookmark:before,.ion-ios-bookmarks:before,.ion-ios-bowtie:before,.ion-ios-briefcase:before,.ion-ios-browsers:before,.ion-ios-brush:before,.ion-ios-bug:before,.ion-ios-build:before,.ion-ios-bulb:before,.ion-ios-bus:before,.ion-ios-business:before,.ion-ios-cafe:before,.ion-ios-calculator:before,.ion-ios-calendar:before,.ion-ios-call:before,.ion-ios-camera:before,.ion-ios-car:before,.ion-ios-card:before,.ion-ios-cart:before,.ion-ios-cash:before,.ion-ios-cellular:before,.ion-ios-chatboxes:before,.ion-ios-chatbubbles:before,.ion-ios-checkbox:before,.ion-ios-checkbox-outline:before,.ion-ios-checkmark:before,.ion-ios-checkmark-circle:before,.ion-ios-checkmark-circle-outline:before,.ion-ios-clipboard:before,.ion-ios-clock:before,.ion-ios-close:before,.ion-ios-close-circle:before,.ion-ios-close-circle-outline:before,.ion-ios-cloud:before,.ion-ios-cloud-circle:before,.ion-ios-cloud-done:before,.ion-ios-cloud-download:before,.ion-ios-cloud-outline:before,.ion-ios-cloud-upload:before,.ion-ios-cloudy:before,.ion-ios-cloudy-night:before,.ion-ios-code:before,.ion-ios-code-download:before,.ion-ios-code-working:before,.ion-ios-cog:before,.ion-ios-color-fill:before,.ion-ios-color-filter:before,.ion-ios-color-palette:before,.ion-ios-color-wand:before,.ion-ios-compass:before,.ion-ios-construct:before,.ion-ios-contact:before,.ion-ios-contacts:before,.ion-ios-contract:before,.ion-ios-contrast:before,.ion-ios-copy:before,.ion-ios-create:before,.ion-ios-crop:before,.ion-ios-cube:before,.ion-ios-cut:before,.ion-ios-desktop:before,.ion-ios-disc:before,.ion-ios-document:before,.ion-ios-done-all:before,.ion-ios-download:before,.ion-ios-easel:before,.ion-ios-egg:before,.ion-ios-exit:before,.ion-ios-expand:before,.ion-ios-eye:before,.ion-ios-eye-off:before,.ion-ios-fastforward:before,.ion-ios-female:before,.ion-ios-filing:before,.ion-ios-film:before,.ion-ios-finger-print:before,.ion-ios-fitness:before,.ion-ios-flag:before,.ion-ios-flame:before,.ion-ios-flash:before,.ion-ios-flash-off:before,.ion-ios-flashlight:before,.ion-ios-flask:before,.ion-ios-flower:before,.ion-ios-folder:before,.ion-ios-folder-open:before,.ion-ios-football:before,.ion-ios-funnel:before,.ion-ios-gift:before,.ion-ios-git-branch:before,.ion-ios-git-commit:before,.ion-ios-git-compare:before,.ion-ios-git-merge:before,.ion-ios-git-network:before,.ion-ios-git-pull-request:before,.ion-ios-glasses:before,.ion-ios-globe:before,.ion-ios-grid:before,.ion-ios-hammer:before,.ion-ios-hand:before,.ion-ios-happy:before,.ion-ios-headset:before,.ion-ios-heart:before,.ion-ios-heart-dislike:before,.ion-ios-heart-empty:before,.ion-ios-heart-half:before,.ion-ios-help:before,.ion-ios-help-buoy:before,.ion-ios-help-circle:before,.ion-ios-help-circle-outline:before,.ion-ios-home:before,.ion-ios-hourglass:before,.ion-ios-ice-cream:before,.ion-ios-image:before,.ion-ios-images:before,.ion-ios-infinite:before,.ion-ios-information:before,.ion-ios-information-circle:before,.ion-ios-information-circle-outline:before,.ion-ios-jet:before,.ion-ios-journal:before,.ion-ios-key:before,.ion-ios-keypad:before,.ion-ios-laptop:before,.ion-ios-leaf:before,.ion-ios-link:before,.ion-ios-list:before,.ion-ios-list-box:before,.ion-ios-locate:before,.ion-ios-lock:before,.ion-ios-log-in:before,.ion-ios-log-out:before,.ion-ios-magnet:before,.ion-ios-mail:before,.ion-ios-mail-open:before,.ion-ios-mail-unread:before,.ion-ios-male:before,.ion-ios-man:before,.ion-ios-map:before,.ion-ios-medal:before,.ion-ios-medical:before,.ion-ios-medkit:before,.ion-ios-megaphone:before,.ion-ios-menu:before,.ion-ios-mic:before,.ion-ios-mic-off:before,.ion-ios-microphone:before,.ion-ios-moon:before,.ion-ios-more:before,.ion-ios-move:before,.ion-ios-musical-note:before,.ion-ios-musical-notes:before,.ion-ios-navigate:before,.ion-ios-notifications:before,.ion-ios-notifications-off:before,.ion-ios-notifications-outline:before,.ion-ios-nuclear:before,.ion-ios-nutrition:before,.ion-ios-open:before,.ion-ios-options:before,.ion-ios-outlet:before,.ion-ios-paper:before,.ion-ios-paper-plane:before,.ion-ios-partly-sunny:before,.ion-ios-pause:before,.ion-ios-paw:before,.ion-ios-people:before,.ion-ios-person:before,.ion-ios-person-add:before,.ion-ios-phone-landscape:before,.ion-ios-phone-portrait:before,.ion-ios-photos:before,.ion-ios-pie:before,.ion-ios-pin:before,.ion-ios-pint:before,.ion-ios-pizza:before,.ion-ios-planet:before,.ion-ios-play:before,.ion-ios-play-circle:before,.ion-ios-podium:before,.ion-ios-power:before,.ion-ios-pricetag:before,.ion-ios-pricetags:before,.ion-ios-print:before,.ion-ios-pulse:before,.ion-ios-qr-scanner:before,.ion-ios-quote:before,.ion-ios-radio:before,.ion-ios-radio-button-off:before,.ion-ios-radio-button-on:before,.ion-ios-rainy:before,.ion-ios-recording:before,.ion-ios-redo:before,.ion-ios-refresh:before,.ion-ios-refresh-circle:before,.ion-ios-remove:before,.ion-ios-remove-circle:before,.ion-ios-remove-circle-outline:before,.ion-ios-reorder:before,.ion-ios-repeat:before,.ion-ios-resize:before,.ion-ios-restaurant:before,.ion-ios-return-left:before,.ion-ios-return-right:before,.ion-ios-reverse-camera:before,.ion-ios-rewind:before,.ion-ios-ribbon:before,.ion-ios-rocket:before,.ion-ios-rose:before,.ion-ios-sad:before,.ion-ios-save:before,.ion-ios-school:before,.ion-ios-search:before,.ion-ios-send:before,.ion-ios-settings:before,.ion-ios-share:before,.ion-ios-share-alt:before,.ion-ios-shirt:before,.ion-ios-shuffle:before,.ion-ios-skip-backward:before,.ion-ios-skip-forward:before,.ion-ios-snow:before,.ion-ios-speedometer:before,.ion-ios-square:before,.ion-ios-square-outline:before,.ion-ios-star:before,.ion-ios-star-half:before,.ion-ios-star-outline:before,.ion-ios-stats:before,.ion-ios-stopwatch:before,.ion-ios-subway:before,.ion-ios-sunny:before,.ion-ios-swap:before,.ion-ios-switch:before,.ion-ios-sync:before,.ion-ios-tablet-landscape:before,.ion-ios-tablet-portrait:before,.ion-ios-tennisball:before,.ion-ios-text:before,.ion-ios-thermometer:before,.ion-ios-thumbs-down:before,.ion-ios-thumbs-up:before,.ion-ios-thunderstorm:before,.ion-ios-time:before,.ion-ios-timer:before,.ion-ios-today:before,.ion-ios-train:before,.ion-ios-transgender:before,.ion-ios-trash:before,.ion-ios-trending-down:before,.ion-ios-trending-up:before,.ion-ios-trophy:before,.ion-ios-tv:before,.ion-ios-umbrella:before,.ion-ios-undo:before,.ion-ios-unlock:before,.ion-ios-videocam:before,.ion-ios-volume-high:before,.ion-ios-volume-low:before,.ion-ios-volume-mute:before,.ion-ios-volume-off:before,.ion-ios-walk:before,.ion-ios-wallet:before,.ion-ios-warning:before,.ion-ios-watch:before,.ion-ios-water:before,.ion-ios-wifi:before,.ion-ios-wine:before,.ion-ios-woman:before,.ion-logo-android:before,.ion-logo-angular:before,.ion-logo-apple:before,.ion-logo-bitbucket:before,.ion-logo-bitcoin:before,.ion-logo-buffer:before,.ion-logo-chrome:before,.ion-logo-closed-captioning:before,.ion-logo-codepen:before,.ion-logo-css3:before,.ion-logo-designernews:before,.ion-logo-dribbble:before,.ion-logo-dropbox:before,.ion-logo-euro:before,.ion-logo-facebook:before,.ion-logo-flickr:before,.ion-logo-foursquare:before,.ion-logo-freebsd-devil:before,.ion-logo-game-controller-a:before,.ion-logo-game-controller-b:before,.ion-logo-github:before,.ion-logo-google:before,.ion-logo-googleplus:before,.ion-logo-hackernews:before,.ion-logo-html5:before,.ion-logo-instagram:before,.ion-logo-ionic:before,.ion-logo-ionitron:before,.ion-logo-javascript:before,.ion-logo-linkedin:before,.ion-logo-markdown:before,.ion-logo-model-s:before,.ion-logo-no-smoking:before,.ion-logo-nodejs:before,.ion-logo-npm:before,.ion-logo-octocat:before,.ion-logo-pinterest:before,.ion-logo-playstation:before,.ion-logo-polymer:before,.ion-logo-python:before,.ion-logo-reddit:before,.ion-logo-rss:before,.ion-logo-sass:before,.ion-logo-skype:before,.ion-logo-slack:before,.ion-logo-snapchat:before,.ion-logo-steam:before,.ion-logo-tumblr:before,.ion-logo-tux:before,.ion-logo-twitch:before,.ion-logo-twitter:before,.ion-logo-usd:before,.ion-logo-vimeo:before,.ion-logo-vk:before,.ion-logo-whatsapp:before,.ion-logo-windows:before,.ion-logo-wordpress:before,.ion-logo-xbox:before,.ion-logo-xing:before,.ion-logo-yahoo:before,.ion-logo-yen:before,.ion-logo-youtube:before,.ion-md-add:before,.ion-md-add-circle:before,.ion-md-add-circle-outline:before,.ion-md-airplane:before,.ion-md-alarm:before,.ion-md-albums:before,.ion-md-alert:before,.ion-md-american-football:before,.ion-md-analytics:before,.ion-md-aperture:before,.ion-md-apps:before,.ion-md-appstore:before,.ion-md-archive:before,.ion-md-arrow-back:before,.ion-md-arrow-down:before,.ion-md-arrow-dropdown:before,.ion-md-arrow-dropdown-circle:before,.ion-md-arrow-dropleft:before,.ion-md-arrow-dropleft-circle:before,.ion-md-arrow-dropright:before,.ion-md-arrow-dropright-circle:before,.ion-md-arrow-dropup:before,.ion-md-arrow-dropup-circle:before,.ion-md-arrow-forward:before,.ion-md-arrow-round-back:before,.ion-md-arrow-round-down:before,.ion-md-arrow-round-forward:before,.ion-md-arrow-round-up:before,.ion-md-arrow-up:before,.ion-md-at:before,.ion-md-attach:before,.ion-md-backspace:before,.ion-md-barcode:before,.ion-md-baseball:before,.ion-md-basket:before,.ion-md-basketball:before,.ion-md-battery-charging:before,.ion-md-battery-dead:before,.ion-md-battery-full:before,.ion-md-beaker:before,.ion-md-bed:before,.ion-md-beer:before,.ion-md-bicycle:before,.ion-md-bluetooth:before,.ion-md-boat:before,.ion-md-body:before,.ion-md-bonfire:before,.ion-md-book:before,.ion-md-bookmark:before,.ion-md-bookmarks:before,.ion-md-bowtie:before,.ion-md-briefcase:before,.ion-md-browsers:before,.ion-md-brush:before,.ion-md-bug:before,.ion-md-build:before,.ion-md-bulb:before,.ion-md-bus:before,.ion-md-business:before,.ion-md-cafe:before,.ion-md-calculator:before,.ion-md-calendar:before,.ion-md-call:before,.ion-md-camera:before,.ion-md-car:before,.ion-md-card:before,.ion-md-cart:before,.ion-md-cash:before,.ion-md-cellular:before,.ion-md-chatboxes:before,.ion-md-chatbubbles:before,.ion-md-checkbox:before,.ion-md-checkbox-outline:before,.ion-md-checkmark:before,.ion-md-checkmark-circle:before,.ion-md-checkmark-circle-outline:before,.ion-md-clipboard:before,.ion-md-clock:before,.ion-md-close:before,.ion-md-close-circle:before,.ion-md-close-circle-outline:before,.ion-md-cloud:before,.ion-md-cloud-circle:before,.ion-md-cloud-done:before,.ion-md-cloud-download:before,.ion-md-cloud-outline:before,.ion-md-cloud-upload:before,.ion-md-cloudy:before,.ion-md-cloudy-night:before,.ion-md-code:before,.ion-md-code-download:before,.ion-md-code-working:before,.ion-md-cog:before,.ion-md-color-fill:before,.ion-md-color-filter:before,.ion-md-color-palette:before,.ion-md-color-wand:before,.ion-md-compass:before,.ion-md-construct:before,.ion-md-contact:before,.ion-md-contacts:before,.ion-md-contract:before,.ion-md-contrast:before,.ion-md-copy:before,.ion-md-create:before,.ion-md-crop:before,.ion-md-cube:before,.ion-md-cut:before,.ion-md-desktop:before,.ion-md-disc:before,.ion-md-document:before,.ion-md-done-all:before,.ion-md-download:before,.ion-md-easel:before,.ion-md-egg:before,.ion-md-exit:before,.ion-md-expand:before,.ion-md-eye:before,.ion-md-eye-off:before,.ion-md-fastforward:before,.ion-md-female:before,.ion-md-filing:before,.ion-md-film:before,.ion-md-finger-print:before,.ion-md-fitness:before,.ion-md-flag:before,.ion-md-flame:before,.ion-md-flash:before,.ion-md-flash-off:before,.ion-md-flashlight:before,.ion-md-flask:before,.ion-md-flower:before,.ion-md-folder:before,.ion-md-folder-open:before,.ion-md-football:before,.ion-md-funnel:before,.ion-md-gift:before,.ion-md-git-branch:before,.ion-md-git-commit:before,.ion-md-git-compare:before,.ion-md-git-merge:before,.ion-md-git-network:before,.ion-md-git-pull-request:before,.ion-md-glasses:before,.ion-md-globe:before,.ion-md-grid:before,.ion-md-hammer:before,.ion-md-hand:before,.ion-md-happy:before,.ion-md-headset:before,.ion-md-heart:before,.ion-md-heart-dislike:before,.ion-md-heart-empty:before,.ion-md-heart-half:before,.ion-md-help:before,.ion-md-help-buoy:before,.ion-md-help-circle:before,.ion-md-help-circle-outline:before,.ion-md-home:before,.ion-md-hourglass:before,.ion-md-ice-cream:before,.ion-md-image:before,.ion-md-images:before,.ion-md-infinite:before,.ion-md-information:before,.ion-md-information-circle:before,.ion-md-information-circle-outline:before,.ion-md-jet:before,.ion-md-journal:before,.ion-md-key:before,.ion-md-keypad:before,.ion-md-laptop:before,.ion-md-leaf:before,.ion-md-link:before,.ion-md-list:before,.ion-md-list-box:before,.ion-md-locate:before,.ion-md-lock:before,.ion-md-log-in:before,.ion-md-log-out:before,.ion-md-magnet:before,.ion-md-mail:before,.ion-md-mail-open:before,.ion-md-mail-unread:before,.ion-md-male:before,.ion-md-man:before,.ion-md-map:before,.ion-md-medal:before,.ion-md-medical:before,.ion-md-medkit:before,.ion-md-megaphone:before,.ion-md-menu:before,.ion-md-mic:before,.ion-md-mic-off:before,.ion-md-microphone:before,.ion-md-moon:before,.ion-md-more:before,.ion-md-move:before,.ion-md-musical-note:before,.ion-md-musical-notes:before,.ion-md-navigate:before,.ion-md-notifications:before,.ion-md-notifications-off:before,.ion-md-notifications-outline:before,.ion-md-nuclear:before,.ion-md-nutrition:before,.ion-md-open:before,.ion-md-options:before,.ion-md-outlet:before,.ion-md-paper:before,.ion-md-paper-plane:before,.ion-md-partly-sunny:before,.ion-md-pause:before,.ion-md-paw:before,.ion-md-people:before,.ion-md-person:before,.ion-md-person-add:before,.ion-md-phone-landscape:before,.ion-md-phone-portrait:before,.ion-md-photos:before,.ion-md-pie:before,.ion-md-pin:before,.ion-md-pint:before,.ion-md-pizza:before,.ion-md-planet:before,.ion-md-play:before,.ion-md-play-circle:before,.ion-md-podium:before,.ion-md-power:before,.ion-md-pricetag:before,.ion-md-pricetags:before,.ion-md-print:before,.ion-md-pulse:before,.ion-md-qr-scanner:before,.ion-md-quote:before,.ion-md-radio:before,.ion-md-radio-button-off:before,.ion-md-radio-button-on:before,.ion-md-rainy:before,.ion-md-recording:before,.ion-md-redo:before,.ion-md-refresh:before,.ion-md-refresh-circle:before,.ion-md-remove:before,.ion-md-remove-circle:before,.ion-md-remove-circle-outline:before,.ion-md-reorder:before,.ion-md-repeat:before,.ion-md-resize:before,.ion-md-restaurant:before,.ion-md-return-left:before,.ion-md-return-right:before,.ion-md-reverse-camera:before,.ion-md-rewind:before,.ion-md-ribbon:before,.ion-md-rocket:before,.ion-md-rose:before,.ion-md-sad:before,.ion-md-save:before,.ion-md-school:before,.ion-md-search:before,.ion-md-send:before,.ion-md-settings:before,.ion-md-share:before,.ion-md-share-alt:before,.ion-md-shirt:before,.ion-md-shuffle:before,.ion-md-skip-backward:before,.ion-md-skip-forward:before,.ion-md-snow:before,.ion-md-speedometer:before,.ion-md-square:before,.ion-md-square-outline:before,.ion-md-star:before,.ion-md-star-half:before,.ion-md-star-outline:before,.ion-md-stats:before,.ion-md-stopwatch:before,.ion-md-subway:before,.ion-md-sunny:before,.ion-md-swap:before,.ion-md-switch:before,.ion-md-sync:before,.ion-md-tablet-landscape:before,.ion-md-tablet-portrait:before,.ion-md-tennisball:before,.ion-md-text:before,.ion-md-thermometer:before,.ion-md-thumbs-down:before,.ion-md-thumbs-up:before,.ion-md-thunderstorm:before,.ion-md-time:before,.ion-md-timer:before,.ion-md-today:before,.ion-md-train:before,.ion-md-transgender:before,.ion-md-trash:before,.ion-md-trending-down:before,.ion-md-trending-up:before,.ion-md-trophy:before,.ion-md-tv:before,.ion-md-umbrella:before,.ion-md-undo:before,.ion-md-unlock:before,.ion-md-videocam:before,.ion-md-volume-high:before,.ion-md-volume-low:before,.ion-md-volume-mute:before,.ion-md-volume-off:before,.ion-md-walk:before,.ion-md-wallet:before,.ion-md-warning:before,.ion-md-watch:before,.ion-md-water:before,.ion-md-wifi:before,.ion-md-wine:before,.ion-md-woman:before{display:inline-block;font-family:"Ionicons";speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;text-rendering:auto;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ion-ios-add:before{content:"\f102"}.ion-ios-add-circle:before{content:"\f101"}.ion-ios-add-circle-outline:before{content:"\f100"}.ion-ios-airplane:before{content:"\f137"}.ion-ios-alarm:before{content:"\f3c8"}.ion-ios-albums:before{content:"\f3ca"}.ion-ios-alert:before{content:"\f104"}.ion-ios-american-football:before{content:"\f106"}.ion-ios-analytics:before{content:"\f3ce"}.ion-ios-aperture:before{content:"\f108"}.ion-ios-apps:before{content:"\f10a"}.ion-ios-appstore:before{content:"\f10c"}.ion-ios-archive:before{content:"\f10e"}.ion-ios-arrow-back:before{content:"\f3cf"}.ion-ios-arrow-down:before{content:"\f3d0"}.ion-ios-arrow-dropdown:before{content:"\f110"}.ion-ios-arrow-dropdown-circle:before{content:"\f125"}.ion-ios-arrow-dropleft:before{content:"\f112"}.ion-ios-arrow-dropleft-circle:before{content:"\f129"}.ion-ios-arrow-dropright:before{content:"\f114"}.ion-ios-arrow-dropright-circle:before{content:"\f12b"}.ion-ios-arrow-dropup:before{content:"\f116"}.ion-ios-arrow-dropup-circle:before{content:"\f12d"}.ion-ios-arrow-forward:before{content:"\f3d1"}.ion-ios-arrow-round-back:before{content:"\f117"}.ion-ios-arrow-round-down:before{content:"\f118"}.ion-ios-arrow-round-forward:before{content:"\f119"}.ion-ios-arrow-round-up:before{content:"\f11a"}.ion-ios-arrow-up:before{content:"\f3d8"}.ion-ios-at:before{content:"\f3da"}.ion-ios-attach:before{content:"\f11b"}.ion-ios-backspace:before{content:"\f11d"}.ion-ios-barcode:before{content:"\f3dc"}.ion-ios-baseball:before{content:"\f3de"}.ion-ios-basket:before{content:"\f11f"}.ion-ios-basketball:before{content:"\f3e0"}.ion-ios-battery-charging:before{content:"\f120"}.ion-ios-battery-dead:before{content:"\f121"}.ion-ios-battery-full:before{content:"\f122"}.ion-ios-beaker:before{content:"\f124"}.ion-ios-bed:before{content:"\f139"}.ion-ios-beer:before{content:"\f126"}.ion-ios-bicycle:before{content:"\f127"}.ion-ios-bluetooth:before{content:"\f128"}.ion-ios-boat:before{content:"\f12a"}.ion-ios-body:before{content:"\f3e4"}.ion-ios-bonfire:before{content:"\f12c"}.ion-ios-book:before{content:"\f3e8"}.ion-ios-bookmark:before{content:"\f12e"}.ion-ios-bookmarks:before{content:"\f3ea"}.ion-ios-bowtie:before{content:"\f130"}.ion-ios-briefcase:before{content:"\f3ee"}.ion-ios-browsers:before{content:"\f3f0"}.ion-ios-brush:before{content:"\f132"}.ion-ios-bug:before{content:"\f134"}.ion-ios-build:before{content:"\f136"}.ion-ios-bulb:before{content:"\f138"}.ion-ios-bus:before{content:"\f13a"}.ion-ios-business:before{content:"\f1a3"}.ion-ios-cafe:before{content:"\f13c"}.ion-ios-calculator:before{content:"\f3f2"}.ion-ios-calendar:before{content:"\f3f4"}.ion-ios-call:before{content:"\f13e"}.ion-ios-camera:before{content:"\f3f6"}.ion-ios-car:before{content:"\f140"}.ion-ios-card:before{content:"\f142"}.ion-ios-cart:before{content:"\f3f8"}.ion-ios-cash:before{content:"\f144"}.ion-ios-cellular:before{content:"\f13d"}.ion-ios-chatboxes:before{content:"\f3fa"}.ion-ios-chatbubbles:before{content:"\f146"}.ion-ios-checkbox:before{content:"\f148"}.ion-ios-checkbox-outline:before{content:"\f147"}.ion-ios-checkmark:before{content:"\f3ff"}.ion-ios-checkmark-circle:before{content:"\f14a"}.ion-ios-checkmark-circle-outline:before{content:"\f149"}.ion-ios-clipboard:before{content:"\f14c"}.ion-ios-clock:before{content:"\f403"}.ion-ios-close:before{content:"\f406"}.ion-ios-close-circle:before{content:"\f14e"}.ion-ios-close-circle-outline:before{content:"\f14d"}.ion-ios-cloud:before{content:"\f40c"}.ion-ios-cloud-circle:before{content:"\f152"}.ion-ios-cloud-done:before{content:"\f154"}.ion-ios-cloud-download:before{content:"\f408"}.ion-ios-cloud-outline:before{content:"\f409"}.ion-ios-cloud-upload:before{content:"\f40b"}.ion-ios-cloudy:before{content:"\f410"}.ion-ios-cloudy-night:before{content:"\f40e"}.ion-ios-code:before{content:"\f157"}.ion-ios-code-download:before{content:"\f155"}.ion-ios-code-working:before{content:"\f156"}.ion-ios-cog:before{content:"\f412"}.ion-ios-color-fill:before{content:"\f159"}.ion-ios-color-filter:before{content:"\f414"}.ion-ios-color-palette:before{content:"\f15b"}.ion-ios-color-wand:before{content:"\f416"}.ion-ios-compass:before{content:"\f15d"}.ion-ios-construct:before{content:"\f15f"}.ion-ios-contact:before{content:"\f41a"}.ion-ios-contacts:before{content:"\f161"}.ion-ios-contract:before{content:"\f162"}.ion-ios-contrast:before{content:"\f163"}.ion-ios-copy:before{content:"\f41c"}.ion-ios-create:before{content:"\f165"}.ion-ios-crop:before{content:"\f41e"}.ion-ios-cube:before{content:"\f168"}.ion-ios-cut:before{content:"\f16a"}.ion-ios-desktop:before{content:"\f16c"}.ion-ios-disc:before{content:"\f16e"}.ion-ios-document:before{content:"\f170"}.ion-ios-done-all:before{content:"\f171"}.ion-ios-download:before{content:"\f420"}.ion-ios-easel:before{content:"\f173"}.ion-ios-egg:before{content:"\f175"}.ion-ios-exit:before{content:"\f177"}.ion-ios-expand:before{content:"\f178"}.ion-ios-eye:before{content:"\f425"}.ion-ios-eye-off:before{content:"\f17a"}.ion-ios-fastforward:before{content:"\f427"}.ion-ios-female:before{content:"\f17b"}.ion-ios-filing:before{content:"\f429"}.ion-ios-film:before{content:"\f42b"}.ion-ios-finger-print:before{content:"\f17c"}.ion-ios-fitness:before{content:"\f1ab"}.ion-ios-flag:before{content:"\f42d"}.ion-ios-flame:before{content:"\f42f"}.ion-ios-flash:before{content:"\f17e"}.ion-ios-flash-off:before{content:"\f12f"}.ion-ios-flashlight:before{content:"\f141"}.ion-ios-flask:before{content:"\f431"}.ion-ios-flower:before{content:"\f433"}.ion-ios-folder:before{content:"\f435"}.ion-ios-folder-open:before{content:"\f180"}.ion-ios-football:before{content:"\f437"}.ion-ios-funnel:before{content:"\f182"}.ion-ios-gift:before{content:"\f191"}.ion-ios-git-branch:before{content:"\f183"}.ion-ios-git-commit:before{content:"\f184"}.ion-ios-git-compare:before{content:"\f185"}.ion-ios-git-merge:before{content:"\f186"}.ion-ios-git-network:before{content:"\f187"}.ion-ios-git-pull-request:before{content:"\f188"}.ion-ios-glasses:before{content:"\f43f"}.ion-ios-globe:before{content:"\f18a"}.ion-ios-grid:before{content:"\f18c"}.ion-ios-hammer:before{content:"\f18e"}.ion-ios-hand:before{content:"\f190"}.ion-ios-happy:before{content:"\f192"}.ion-ios-headset:before{content:"\f194"}.ion-ios-heart:before{content:"\f443"}.ion-ios-heart-dislike:before{content:"\f13f"}.ion-ios-heart-empty:before{content:"\f19b"}.ion-ios-heart-half:before{content:"\f19d"}.ion-ios-help:before{content:"\f446"}.ion-ios-help-buoy:before{content:"\f196"}.ion-ios-help-circle:before{content:"\f198"}.ion-ios-help-circle-outline:before{content:"\f197"}.ion-ios-home:before{content:"\f448"}.ion-ios-hourglass:before{content:"\f103"}.ion-ios-ice-cream:before{content:"\f19a"}.ion-ios-image:before{content:"\f19c"}.ion-ios-images:before{content:"\f19e"}.ion-ios-infinite:before{content:"\f44a"}.ion-ios-information:before{content:"\f44d"}.ion-ios-information-circle:before{content:"\f1a0"}.ion-ios-information-circle-outline:before{content:"\f19f"}.ion-ios-jet:before{content:"\f1a5"}.ion-ios-journal:before{content:"\f189"}.ion-ios-key:before{content:"\f1a7"}.ion-ios-keypad:before{content:"\f450"}.ion-ios-laptop:before{content:"\f1a8"}.ion-ios-leaf:before{content:"\f1aa"}.ion-ios-link:before{content:"\f22a"}.ion-ios-list:before{content:"\f454"}.ion-ios-list-box:before{content:"\f143"}.ion-ios-locate:before{content:"\f1ae"}.ion-ios-lock:before{content:"\f1b0"}.ion-ios-log-in:before{content:"\f1b1"}.ion-ios-log-out:before{content:"\f1b2"}.ion-ios-magnet:before{content:"\f1b4"}.ion-ios-mail:before{content:"\f1b8"}.ion-ios-mail-open:before{content:"\f1b6"}.ion-ios-mail-unread:before{content:"\f145"}.ion-ios-male:before{content:"\f1b9"}.ion-ios-man:before{content:"\f1bb"}.ion-ios-map:before{content:"\f1bd"}.ion-ios-medal:before{content:"\f1bf"}.ion-ios-medical:before{content:"\f45c"}.ion-ios-medkit:before{content:"\f45e"}.ion-ios-megaphone:before{content:"\f1c1"}.ion-ios-menu:before{content:"\f1c3"}.ion-ios-mic:before{content:"\f461"}.ion-ios-mic-off:before{content:"\f45f"}.ion-ios-microphone:before{content:"\f1c6"}.ion-ios-moon:before{content:"\f468"}.ion-ios-more:before{content:"\f1c8"}.ion-ios-move:before{content:"\f1cb"}.ion-ios-musical-note:before{content:"\f46b"}.ion-ios-musical-notes:before{content:"\f46c"}.ion-ios-navigate:before{content:"\f46e"}.ion-ios-notifications:before{content:"\f1d3"}.ion-ios-notifications-off:before{content:"\f1d1"}.ion-ios-notifications-outline:before{content:"\f133"}.ion-ios-nuclear:before{content:"\f1d5"}.ion-ios-nutrition:before{content:"\f470"}.ion-ios-open:before{content:"\f1d7"}.ion-ios-options:before{content:"\f1d9"}.ion-ios-outlet:before{content:"\f1db"}.ion-ios-paper:before{content:"\f472"}.ion-ios-paper-plane:before{content:"\f1dd"}.ion-ios-partly-sunny:before{content:"\f1df"}.ion-ios-pause:before{content:"\f478"}.ion-ios-paw:before{content:"\f47a"}.ion-ios-people:before{content:"\f47c"}.ion-ios-person:before{content:"\f47e"}.ion-ios-person-add:before{content:"\f1e1"}.ion-ios-phone-landscape:before{content:"\f1e2"}.ion-ios-phone-portrait:before{content:"\f1e3"}.ion-ios-photos:before{content:"\f482"}.ion-ios-pie:before{content:"\f484"}.ion-ios-pin:before{content:"\f1e5"}.ion-ios-pint:before{content:"\f486"}.ion-ios-pizza:before{content:"\f1e7"}.ion-ios-planet:before{content:"\f1eb"}.ion-ios-play:before{content:"\f488"}.ion-ios-play-circle:before{content:"\f113"}.ion-ios-podium:before{content:"\f1ed"}.ion-ios-power:before{content:"\f1ef"}.ion-ios-pricetag:before{content:"\f48d"}.ion-ios-pricetags:before{content:"\f48f"}.ion-ios-print:before{content:"\f1f1"}.ion-ios-pulse:before{content:"\f493"}.ion-ios-qr-scanner:before{content:"\f1f3"}.ion-ios-quote:before{content:"\f1f5"}.ion-ios-radio:before{content:"\f1f9"}.ion-ios-radio-button-off:before{content:"\f1f6"}.ion-ios-radio-button-on:before{content:"\f1f7"}.ion-ios-rainy:before{content:"\f495"}.ion-ios-recording:before{content:"\f497"}.ion-ios-redo:before{content:"\f499"}.ion-ios-refresh:before{content:"\f49c"}.ion-ios-refresh-circle:before{content:"\f135"}.ion-ios-remove:before{content:"\f1fc"}.ion-ios-remove-circle:before{content:"\f1fb"}.ion-ios-remove-circle-outline:before{content:"\f1fa"}.ion-ios-reorder:before{content:"\f1fd"}.ion-ios-repeat:before{content:"\f1fe"}.ion-ios-resize:before{content:"\f1ff"}.ion-ios-restaurant:before{content:"\f201"}.ion-ios-return-left:before{content:"\f202"}.ion-ios-return-right:before{content:"\f203"}.ion-ios-reverse-camera:before{content:"\f49f"}.ion-ios-rewind:before{content:"\f4a1"}.ion-ios-ribbon:before{content:"\f205"}.ion-ios-rocket:before{content:"\f14b"}.ion-ios-rose:before{content:"\f4a3"}.ion-ios-sad:before{content:"\f207"}.ion-ios-save:before{content:"\f1a6"}.ion-ios-school:before{content:"\f209"}.ion-ios-search:before{content:"\f4a5"}.ion-ios-send:before{content:"\f20c"}.ion-ios-settings:before{content:"\f4a7"}.ion-ios-share:before{content:"\f211"}.ion-ios-share-alt:before{content:"\f20f"}.ion-ios-shirt:before{content:"\f213"}.ion-ios-shuffle:before{content:"\f4a9"}.ion-ios-skip-backward:before{content:"\f215"}.ion-ios-skip-forward:before{content:"\f217"}.ion-ios-snow:before{content:"\f218"}.ion-ios-speedometer:before{content:"\f4b0"}.ion-ios-square:before{content:"\f21a"}.ion-ios-square-outline:before{content:"\f15c"}.ion-ios-star:before{content:"\f4b3"}.ion-ios-star-half:before{content:"\f4b1"}.ion-ios-star-outline:before{content:"\f4b2"}.ion-ios-stats:before{content:"\f21c"}.ion-ios-stopwatch:before{content:"\f4b5"}.ion-ios-subway:before{content:"\f21e"}.ion-ios-sunny:before{content:"\f4b7"}.ion-ios-swap:before{content:"\f21f"}.ion-ios-switch:before{content:"\f221"}.ion-ios-sync:before{content:"\f222"}.ion-ios-tablet-landscape:before{content:"\f223"}.ion-ios-tablet-portrait:before{content:"\f24e"}.ion-ios-tennisball:before{content:"\f4bb"}.ion-ios-text:before{content:"\f250"}.ion-ios-thermometer:before{content:"\f252"}.ion-ios-thumbs-down:before{content:"\f254"}.ion-ios-thumbs-up:before{content:"\f256"}.ion-ios-thunderstorm:before{content:"\f4bd"}.ion-ios-time:before{content:"\f4bf"}.ion-ios-timer:before{content:"\f4c1"}.ion-ios-today:before{content:"\f14f"}.ion-ios-train:before{content:"\f258"}.ion-ios-transgender:before{content:"\f259"}.ion-ios-trash:before{content:"\f4c5"}.ion-ios-trending-down:before{content:"\f25a"}.ion-ios-trending-up:before{content:"\f25b"}.ion-ios-trophy:before{content:"\f25d"}.ion-ios-tv:before{content:"\f115"}.ion-ios-umbrella:before{content:"\f25f"}.ion-ios-undo:before{content:"\f4c7"}.ion-ios-unlock:before{content:"\f261"}.ion-ios-videocam:before{content:"\f4cd"}.ion-ios-volume-high:before{content:"\f11c"}.ion-ios-volume-low:before{content:"\f11e"}.ion-ios-volume-mute:before{content:"\f263"}.ion-ios-volume-off:before{content:"\f264"}.ion-ios-walk:before{content:"\f266"}.ion-ios-wallet:before{content:"\f18b"}.ion-ios-warning:before{content:"\f268"}.ion-ios-watch:before{content:"\f269"}.ion-ios-water:before{content:"\f26b"}.ion-ios-wifi:before{content:"\f26d"}.ion-ios-wine:before{content:"\f26f"}.ion-ios-woman:before{content:"\f271"}.ion-logo-android:before{content:"\f225"}.ion-logo-angular:before{content:"\f227"}.ion-logo-apple:before{content:"\f229"}.ion-logo-bitbucket:before{content:"\f193"}.ion-logo-bitcoin:before{content:"\f22b"}.ion-logo-buffer:before{content:"\f22d"}.ion-logo-chrome:before{content:"\f22f"}.ion-logo-closed-captioning:before{content:"\f105"}.ion-logo-codepen:before{content:"\f230"}.ion-logo-css3:before{content:"\f231"}.ion-logo-designernews:before{content:"\f232"}.ion-logo-dribbble:before{content:"\f233"}.ion-logo-dropbox:before{content:"\f234"}.ion-logo-euro:before{content:"\f235"}.ion-logo-facebook:before{content:"\f236"}.ion-logo-flickr:before{content:"\f107"}.ion-logo-foursquare:before{content:"\f237"}.ion-logo-freebsd-devil:before{content:"\f238"}.ion-logo-game-controller-a:before{content:"\f13b"}.ion-logo-game-controller-b:before{content:"\f181"}.ion-logo-github:before{content:"\f239"}.ion-logo-google:before{content:"\f23a"}.ion-logo-googleplus:before{content:"\f23b"}.ion-logo-hackernews:before{content:"\f23c"}.ion-logo-html5:before{content:"\f23d"}.ion-logo-instagram:before{content:"\f23e"}.ion-logo-ionic:before{content:"\f150"}.ion-logo-ionitron:before{content:"\f151"}.ion-logo-javascript:before{content:"\f23f"}.ion-logo-linkedin:before{content:"\f240"}.ion-logo-markdown:before{content:"\f241"}.ion-logo-model-s:before{content:"\f153"}.ion-logo-no-smoking:before{content:"\f109"}.ion-logo-nodejs:before{content:"\f242"}.ion-logo-npm:before{content:"\f195"}.ion-logo-octocat:before{content:"\f243"}.ion-logo-pinterest:before{content:"\f244"}.ion-logo-playstation:before{content:"\f245"}.ion-logo-polymer:before{content:"\f15e"}.ion-logo-python:before{content:"\f246"}.ion-logo-reddit:before{content:"\f247"}.ion-logo-rss:before{content:"\f248"}.ion-logo-sass:before{content:"\f249"}.ion-logo-skype:before{content:"\f24a"}.ion-logo-slack:before{content:"\f10b"}.ion-logo-snapchat:before{content:"\f24b"}.ion-logo-steam:before{content:"\f24c"}.ion-logo-tumblr:before{content:"\f24d"}.ion-logo-tux:before{content:"\f2ae"}.ion-logo-twitch:before{content:"\f2af"}.ion-logo-twitter:before{content:"\f2b0"}.ion-logo-usd:before{content:"\f2b1"}.ion-logo-vimeo:before{content:"\f2c4"}.ion-logo-vk:before{content:"\f10d"}.ion-logo-whatsapp:before{content:"\f2c5"}.ion-logo-windows:before{content:"\f32f"}.ion-logo-wordpress:before{content:"\f330"}.ion-logo-xbox:before{content:"\f34c"}.ion-logo-xing:before{content:"\f10f"}.ion-logo-yahoo:before{content:"\f34d"}.ion-logo-yen:before{content:"\f34e"}.ion-logo-youtube:before{content:"\f34f"}.ion-md-add:before{content:"\f273"}.ion-md-add-circle:before{content:"\f272"}.ion-md-add-circle-outline:before{content:"\f158"}.ion-md-airplane:before{content:"\f15a"}.ion-md-alarm:before{content:"\f274"}.ion-md-albums:before{content:"\f275"}.ion-md-alert:before{content:"\f276"}.ion-md-american-football:before{content:"\f277"}.ion-md-analytics:before{content:"\f278"}.ion-md-aperture:before{content:"\f279"}.ion-md-apps:before{content:"\f27a"}.ion-md-appstore:before{content:"\f27b"}.ion-md-archive:before{content:"\f27c"}.ion-md-arrow-back:before{content:"\f27d"}.ion-md-arrow-down:before{content:"\f27e"}.ion-md-arrow-dropdown:before{content:"\f280"}.ion-md-arrow-dropdown-circle:before{content:"\f27f"}.ion-md-arrow-dropleft:before{content:"\f282"}.ion-md-arrow-dropleft-circle:before{content:"\f281"}.ion-md-arrow-dropright:before{content:"\f284"}.ion-md-arrow-dropright-circle:before{content:"\f283"}.ion-md-arrow-dropup:before{content:"\f286"}.ion-md-arrow-dropup-circle:before{content:"\f285"}.ion-md-arrow-forward:before{content:"\f287"}.ion-md-arrow-round-back:before{content:"\f288"}.ion-md-arrow-round-down:before{content:"\f289"}.ion-md-arrow-round-forward:before{content:"\f28a"}.ion-md-arrow-round-up:before{content:"\f28b"}.ion-md-arrow-up:before{content:"\f28c"}.ion-md-at:before{content:"\f28d"}.ion-md-attach:before{content:"\f28e"}.ion-md-backspace:before{content:"\f28f"}.ion-md-barcode:before{content:"\f290"}.ion-md-baseball:before{content:"\f291"}.ion-md-basket:before{content:"\f292"}.ion-md-basketball:before{content:"\f293"}.ion-md-battery-charging:before{content:"\f294"}.ion-md-battery-dead:before{content:"\f295"}.ion-md-battery-full:before{content:"\f296"}.ion-md-beaker:before{content:"\f297"}.ion-md-bed:before{content:"\f160"}.ion-md-beer:before{content:"\f298"}.ion-md-bicycle:before{content:"\f299"}.ion-md-bluetooth:before{content:"\f29a"}.ion-md-boat:before{content:"\f29b"}.ion-md-body:before{content:"\f29c"}.ion-md-bonfire:before{content:"\f29d"}.ion-md-book:before{content:"\f29e"}.ion-md-bookmark:before{content:"\f29f"}.ion-md-bookmarks:before{content:"\f2a0"}.ion-md-bowtie:before{content:"\f2a1"}.ion-md-briefcase:before{content:"\f2a2"}.ion-md-browsers:before{content:"\f2a3"}.ion-md-brush:before{content:"\f2a4"}.ion-md-bug:before{content:"\f2a5"}.ion-md-build:before{content:"\f2a6"}.ion-md-bulb:before{content:"\f2a7"}.ion-md-bus:before{content:"\f2a8"}.ion-md-business:before{content:"\f1a4"}.ion-md-cafe:before{content:"\f2a9"}.ion-md-calculator:before{content:"\f2aa"}.ion-md-calendar:before{content:"\f2ab"}.ion-md-call:before{content:"\f2ac"}.ion-md-camera:before{content:"\f2ad"}.ion-md-car:before{content:"\f2b2"}.ion-md-card:before{content:"\f2b3"}.ion-md-cart:before{content:"\f2b4"}.ion-md-cash:before{content:"\f2b5"}.ion-md-cellular:before{content:"\f164"}.ion-md-chatboxes:before{content:"\f2b6"}.ion-md-chatbubbles:before{content:"\f2b7"}.ion-md-checkbox:before{content:"\f2b9"}.ion-md-checkbox-outline:before{content:"\f2b8"}.ion-md-checkmark:before{content:"\f2bc"}.ion-md-checkmark-circle:before{content:"\f2bb"}.ion-md-checkmark-circle-outline:before{content:"\f2ba"}.ion-md-clipboard:before{content:"\f2bd"}.ion-md-clock:before{content:"\f2be"}.ion-md-close:before{content:"\f2c0"}.ion-md-close-circle:before{content:"\f2bf"}.ion-md-close-circle-outline:before{content:"\f166"}.ion-md-cloud:before{content:"\f2c9"}.ion-md-cloud-circle:before{content:"\f2c2"}.ion-md-cloud-done:before{content:"\f2c3"}.ion-md-cloud-download:before{content:"\f2c6"}.ion-md-cloud-outline:before{content:"\f2c7"}.ion-md-cloud-upload:before{content:"\f2c8"}.ion-md-cloudy:before{content:"\f2cb"}.ion-md-cloudy-night:before{content:"\f2ca"}.ion-md-code:before{content:"\f2ce"}.ion-md-code-download:before{content:"\f2cc"}.ion-md-code-working:before{content:"\f2cd"}.ion-md-cog:before{content:"\f2cf"}.ion-md-color-fill:before{content:"\f2d0"}.ion-md-color-filter:before{content:"\f2d1"}.ion-md-color-palette:before{content:"\f2d2"}.ion-md-color-wand:before{content:"\f2d3"}.ion-md-compass:before{content:"\f2d4"}.ion-md-construct:before{content:"\f2d5"}.ion-md-contact:before{content:"\f2d6"}.ion-md-contacts:before{content:"\f2d7"}.ion-md-contract:before{content:"\f2d8"}.ion-md-contrast:before{content:"\f2d9"}.ion-md-copy:before{content:"\f2da"}.ion-md-create:before{content:"\f2db"}.ion-md-crop:before{content:"\f2dc"}.ion-md-cube:before{content:"\f2dd"}.ion-md-cut:before{content:"\f2de"}.ion-md-desktop:before{content:"\f2df"}.ion-md-disc:before{content:"\f2e0"}.ion-md-document:before{content:"\f2e1"}.ion-md-done-all:before{content:"\f2e2"}.ion-md-download:before{content:"\f2e3"}.ion-md-easel:before{content:"\f2e4"}.ion-md-egg:before{content:"\f2e5"}.ion-md-exit:before{content:"\f2e6"}.ion-md-expand:before{content:"\f2e7"}.ion-md-eye:before{content:"\f2e9"}.ion-md-eye-off:before{content:"\f2e8"}.ion-md-fastforward:before{content:"\f2ea"}.ion-md-female:before{content:"\f2eb"}.ion-md-filing:before{content:"\f2ec"}.ion-md-film:before{content:"\f2ed"}.ion-md-finger-print:before{content:"\f2ee"}.ion-md-fitness:before{content:"\f1ac"}.ion-md-flag:before{content:"\f2ef"}.ion-md-flame:before{content:"\f2f0"}.ion-md-flash:before{content:"\f2f1"}.ion-md-flash-off:before{content:"\f169"}.ion-md-flashlight:before{content:"\f16b"}.ion-md-flask:before{content:"\f2f2"}.ion-md-flower:before{content:"\f2f3"}.ion-md-folder:before{content:"\f2f5"}.ion-md-folder-open:before{content:"\f2f4"}.ion-md-football:before{content:"\f2f6"}.ion-md-funnel:before{content:"\f2f7"}.ion-md-gift:before{content:"\f199"}.ion-md-git-branch:before{content:"\f2fa"}.ion-md-git-commit:before{content:"\f2fb"}.ion-md-git-compare:before{content:"\f2fc"}.ion-md-git-merge:before{content:"\f2fd"}.ion-md-git-network:before{content:"\f2fe"}.ion-md-git-pull-request:before{content:"\f2ff"}.ion-md-glasses:before{content:"\f300"}.ion-md-globe:before{content:"\f301"}.ion-md-grid:before{content:"\f302"}.ion-md-hammer:before{content:"\f303"}.ion-md-hand:before{content:"\f304"}.ion-md-happy:before{content:"\f305"}.ion-md-headset:before{content:"\f306"}.ion-md-heart:before{content:"\f308"}.ion-md-heart-dislike:before{content:"\f167"}.ion-md-heart-empty:before{content:"\f1a1"}.ion-md-heart-half:before{content:"\f1a2"}.ion-md-help:before{content:"\f30b"}.ion-md-help-buoy:before{content:"\f309"}.ion-md-help-circle:before{content:"\f30a"}.ion-md-help-circle-outline:before{content:"\f16d"}.ion-md-home:before{content:"\f30c"}.ion-md-hourglass:before{content:"\f111"}.ion-md-ice-cream:before{content:"\f30d"}.ion-md-image:before{content:"\f30e"}.ion-md-images:before{content:"\f30f"}.ion-md-infinite:before{content:"\f310"}.ion-md-information:before{content:"\f312"}.ion-md-information-circle:before{content:"\f311"}.ion-md-information-circle-outline:before{content:"\f16f"}.ion-md-jet:before{content:"\f315"}.ion-md-journal:before{content:"\f18d"}.ion-md-key:before{content:"\f316"}.ion-md-keypad:before{content:"\f317"}.ion-md-laptop:before{content:"\f318"}.ion-md-leaf:before{content:"\f319"}.ion-md-link:before{content:"\f22e"}.ion-md-list:before{content:"\f31b"}.ion-md-list-box:before{content:"\f31a"}.ion-md-locate:before{content:"\f31c"}.ion-md-lock:before{content:"\f31d"}.ion-md-log-in:before{content:"\f31e"}.ion-md-log-out:before{content:"\f31f"}.ion-md-magnet:before{content:"\f320"}.ion-md-mail:before{content:"\f322"}.ion-md-mail-open:before{content:"\f321"}.ion-md-mail-unread:before{content:"\f172"}.ion-md-male:before{content:"\f323"}.ion-md-man:before{content:"\f324"}.ion-md-map:before{content:"\f325"}.ion-md-medal:before{content:"\f326"}.ion-md-medical:before{content:"\f327"}.ion-md-medkit:before{content:"\f328"}.ion-md-megaphone:before{content:"\f329"}.ion-md-menu:before{content:"\f32a"}.ion-md-mic:before{content:"\f32c"}.ion-md-mic-off:before{content:"\f32b"}.ion-md-microphone:before{content:"\f32d"}.ion-md-moon:before{content:"\f32e"}.ion-md-more:before{content:"\f1c9"}.ion-md-move:before{content:"\f331"}.ion-md-musical-note:before{content:"\f332"}.ion-md-musical-notes:before{content:"\f333"}.ion-md-navigate:before{content:"\f334"}.ion-md-notifications:before{content:"\f338"}.ion-md-notifications-off:before{content:"\f336"}.ion-md-notifications-outline:before{content:"\f337"}.ion-md-nuclear:before{content:"\f339"}.ion-md-nutrition:before{content:"\f33a"}.ion-md-open:before{content:"\f33b"}.ion-md-options:before{content:"\f33c"}.ion-md-outlet:before{content:"\f33d"}.ion-md-paper:before{content:"\f33f"}.ion-md-paper-plane:before{content:"\f33e"}.ion-md-partly-sunny:before{content:"\f340"}.ion-md-pause:before{content:"\f341"}.ion-md-paw:before{content:"\f342"}.ion-md-people:before{content:"\f343"}.ion-md-person:before{content:"\f345"}.ion-md-person-add:before{content:"\f344"}.ion-md-phone-landscape:before{content:"\f346"}.ion-md-phone-portrait:before{content:"\f347"}.ion-md-photos:before{content:"\f348"}.ion-md-pie:before{content:"\f349"}.ion-md-pin:before{content:"\f34a"}.ion-md-pint:before{content:"\f34b"}.ion-md-pizza:before{content:"\f354"}.ion-md-planet:before{content:"\f356"}.ion-md-play:before{content:"\f357"}.ion-md-play-circle:before{content:"\f174"}.ion-md-podium:before{content:"\f358"}.ion-md-power:before{content:"\f359"}.ion-md-pricetag:before{content:"\f35a"}.ion-md-pricetags:before{content:"\f35b"}.ion-md-print:before{content:"\f35c"}.ion-md-pulse:before{content:"\f35d"}.ion-md-qr-scanner:before{content:"\f35e"}.ion-md-quote:before{content:"\f35f"}.ion-md-radio:before{content:"\f362"}.ion-md-radio-button-off:before{content:"\f360"}.ion-md-radio-button-on:before{content:"\f361"}.ion-md-rainy:before{content:"\f363"}.ion-md-recording:before{content:"\f364"}.ion-md-redo:before{content:"\f365"}.ion-md-refresh:before{content:"\f366"}.ion-md-refresh-circle:before{content:"\f228"}.ion-md-remove:before{content:"\f368"}.ion-md-remove-circle:before{content:"\f367"}.ion-md-remove-circle-outline:before{content:"\f176"}.ion-md-reorder:before{content:"\f369"}.ion-md-repeat:before{content:"\f36a"}.ion-md-resize:before{content:"\f36b"}.ion-md-restaurant:before{content:"\f36c"}.ion-md-return-left:before{content:"\f36d"}.ion-md-return-right:before{content:"\f36e"}.ion-md-reverse-camera:before{content:"\f36f"}.ion-md-rewind:before{content:"\f370"}.ion-md-ribbon:before{content:"\f371"}.ion-md-rocket:before{content:"\f179"}.ion-md-rose:before{content:"\f372"}.ion-md-sad:before{content:"\f373"}.ion-md-save:before{content:"\f1a9"}.ion-md-school:before{content:"\f374"}.ion-md-search:before{content:"\f375"}.ion-md-send:before{content:"\f376"}.ion-md-settings:before{content:"\f377"}.ion-md-share:before{content:"\f379"}.ion-md-share-alt:before{content:"\f378"}.ion-md-shirt:before{content:"\f37a"}.ion-md-shuffle:before{content:"\f37b"}.ion-md-skip-backward:before{content:"\f37c"}.ion-md-skip-forward:before{content:"\f37d"}.ion-md-snow:before{content:"\f37e"}.ion-md-speedometer:before{content:"\f37f"}.ion-md-square:before{content:"\f381"}.ion-md-square-outline:before{content:"\f380"}.ion-md-star:before{content:"\f384"}.ion-md-star-half:before{content:"\f382"}.ion-md-star-outline:before{content:"\f383"}.ion-md-stats:before{content:"\f385"}.ion-md-stopwatch:before{content:"\f386"}.ion-md-subway:before{content:"\f387"}.ion-md-sunny:before{content:"\f388"}.ion-md-swap:before{content:"\f389"}.ion-md-switch:before{content:"\f38a"}.ion-md-sync:before{content:"\f38b"}.ion-md-tablet-landscape:before{content:"\f38c"}.ion-md-tablet-portrait:before{content:"\f38d"}.ion-md-tennisball:before{content:"\f38e"}.ion-md-text:before{content:"\f38f"}.ion-md-thermometer:before{content:"\f390"}.ion-md-thumbs-down:before{content:"\f391"}.ion-md-thumbs-up:before{content:"\f392"}.ion-md-thunderstorm:before{content:"\f393"}.ion-md-time:before{content:"\f394"}.ion-md-timer:before{content:"\f395"}.ion-md-today:before{content:"\f17d"}.ion-md-train:before{content:"\f396"}.ion-md-transgender:before{content:"\f397"}.ion-md-trash:before{content:"\f398"}.ion-md-trending-down:before{content:"\f399"}.ion-md-trending-up:before{content:"\f39a"}.ion-md-trophy:before{content:"\f39b"}.ion-md-tv:before{content:"\f17f"}.ion-md-umbrella:before{content:"\f39c"}.ion-md-undo:before{content:"\f39d"}.ion-md-unlock:before{content:"\f39e"}.ion-md-videocam:before{content:"\f39f"}.ion-md-volume-high:before{content:"\f123"}.ion-md-volume-low:before{content:"\f131"}.ion-md-volume-mute:before{content:"\f3a1"}.ion-md-volume-off:before{content:"\f3a2"}.ion-md-walk:before{content:"\f3a4"}.ion-md-wallet:before{content:"\f18f"}.ion-md-warning:before{content:"\f3a5"}.ion-md-watch:before{content:"\f3a6"}.ion-md-water:before{content:"\f3a7"}.ion-md-wifi:before{content:"\f3a8"}.ion-md-wine:before{content:"\f3a9"}.ion-md-woman:before{content:"\f3aa"} PK}w�\4QU%!!%esm/es2017/build/esckjbl8.sc.entry.jsnu�[���/*! Built with http://stenciljs.com */ import { h } from '../ionicons.core.js'; function getName(name, mode, ios, md) { mode = (mode || 'md').toLowerCase(); if (ios && mode === 'ios') { name = ios.toLowerCase(); } else if (md && mode === 'md') { name = md.toLowerCase(); } else if (name) { name = name.toLowerCase(); if (!/^md-|^ios-|^logo-/.test(name)) { name = `${mode}-${name}`; } } if (typeof name !== 'string' || name.trim() === '') { return null; } const invalidChars = name.replace(/[a-z]|-|\d/gi, ''); if (invalidChars !== '') { return null; } return name; } function getSrc(src) { if (typeof src === 'string') { src = src.trim(); if (src.length > 0 && /(\/|\.)/.test(src)) { return src; } } return null; } function isValid(elm) { if (elm.nodeType === 1) { if (elm.nodeName.toLowerCase() === 'script') { return false; } for (let i = 0; i < elm.attributes.length; i++) { const val = elm.attributes[i].value; if (typeof val === 'string' && val.toLowerCase().indexOf('on') === 0) { return false; } } for (let i = 0; i < elm.childNodes.length; i++) { if (!isValid(elm.childNodes[i])) { return false; } } } return true; } class Icon { constructor() { this.isVisible = false; this.lazy = false; } componentWillLoad() { this.waitUntilVisible(this.el, '50px', () => { this.isVisible = true; this.loadIcon(); }); } componentDidUnload() { if (this.io) { this.io.disconnect(); this.io = undefined; } } waitUntilVisible(el, rootMargin, cb) { if (this.lazy && this.win && this.win.IntersectionObserver) { const io = this.io = new this.win.IntersectionObserver((data) => { if (data[0].isIntersecting) { io.disconnect(); this.io = undefined; cb(); } }, { rootMargin }); io.observe(el); } else { cb(); } } loadIcon() { if (!this.isServer && this.isVisible) { const url = this.getUrl(); if (url) { getSvgContent(this.doc, url, 's-ion-icon') .then(svgContent => this.svgContent = svgContent); } } if (!this.ariaLabel) { const name = getName(this.name, this.mode, this.ios, this.md); if (name) { this.ariaLabel = name .replace('ios-', '') .replace('md-', '') .replace(/\-/g, ' '); } } } getUrl() { let url = getSrc(this.src); if (url) { return url; } url = getName(this.name, this.mode, this.ios, this.md); if (url) { return this.getNamedUrl(url); } url = getSrc(this.icon); if (url) { return url; } url = getName(this.icon, this.mode, this.ios, this.md); if (url) { return this.getNamedUrl(url); } return null; } getNamedUrl(name) { return `${this.resourcesUrl}svg/${name}.svg`; } hostData() { return { 'role': 'img', class: Object.assign({}, createColorClasses(this.color), { [`icon-${this.size}`]: !!this.size }) }; } render() { if (!this.isServer && this.svgContent) { return h("div", { class: "icon-inner", innerHTML: this.svgContent }); } return h("div", { class: "icon-inner" }); } static get is() { return "ion-icon"; } static get encapsulation() { return "shadow"; } static get properties() { return { "ariaLabel": { "type": String, "attr": "aria-label", "reflectToAttr": true, "mutable": true }, "color": { "type": String, "attr": "color" }, "doc": { "context": "document" }, "el": { "elementRef": true }, "icon": { "type": String, "attr": "icon", "watchCallbacks": ["loadIcon"] }, "ios": { "type": String, "attr": "ios" }, "isServer": { "context": "isServer" }, "isVisible": { "state": true }, "lazy": { "type": Boolean, "attr": "lazy" }, "md": { "type": String, "attr": "md" }, "mode": { "type": String, "attr": "mode" }, "name": { "type": String, "attr": "name", "watchCallbacks": ["loadIcon"] }, "resourcesUrl": { "context": "resourcesUrl" }, "size": { "type": String, "attr": "size" }, "src": { "type": String, "attr": "src", "watchCallbacks": ["loadIcon"] }, "svgContent": { "state": true }, "win": { "context": "window" } }; } static get style() { return ".sc-ion-icon-h{display:inline-block;width:1em;height:1em;contain:strict;-webkit-box-sizing:content-box!important;box-sizing:content-box!important}.ion-color.sc-ion-icon-h{color:var(--ion-color-base)!important}.icon-small.sc-ion-icon-h{font-size:var(--ion-icon-size-small,18px)!important}.icon-large.sc-ion-icon-h{font-size:var(--ion-icon-size-large,32px)!important}.icon-inner.sc-ion-icon, svg.sc-ion-icon{display:block;fill:currentColor;stroke:currentColor;height:100%;width:100%}.ion-color-primary.sc-ion-icon-h{--ion-color-base:var(--ion-color-primary, #3880ff)}.ion-color-secondary.sc-ion-icon-h{--ion-color-base:var(--ion-color-secondary, #0cd1e8)}.ion-color-tertiary.sc-ion-icon-h{--ion-color-base:var(--ion-color-tertiary, #f4a942)}.ion-color-success.sc-ion-icon-h{--ion-color-base:var(--ion-color-success, #10dc60)}.ion-color-warning.sc-ion-icon-h{--ion-color-base:var(--ion-color-warning, #ffce00)}.ion-color-danger.sc-ion-icon-h{--ion-color-base:var(--ion-color-danger, #f14141)}.ion-color-light.sc-ion-icon-h{--ion-color-base:var(--ion-color-light, #f4f5f8)}.ion-color-medium.sc-ion-icon-h{--ion-color-base:var(--ion-color-medium, #989aa2)}.ion-color-dark.sc-ion-icon-h{--ion-color-base:var(--ion-color-dark, #222428)}"; } } const requests = new Map(); function getSvgContent(doc, url, scopedId) { let req = requests.get(url); if (!req) { req = fetch(url, { cache: 'force-cache' }).then(rsp => { if (rsp.ok) { return rsp.text(); } return Promise.resolve(null); }).then(svgContent => validateContent(doc, svgContent, scopedId)); requests.set(url, req); } return req; } function validateContent(document, svgContent, scopeId) { if (svgContent) { const frag = document.createDocumentFragment(); const div = document.createElement('div'); div.innerHTML = svgContent; frag.appendChild(div); for (let i = div.childNodes.length - 1; i >= 0; i--) { if (div.childNodes[i].nodeName.toLowerCase() !== 'svg') { div.removeChild(div.childNodes[i]); } } const svgElm = div.firstElementChild; if (svgElm && svgElm.nodeName.toLowerCase() === 'svg') { if (scopeId) { svgElm.setAttribute('class', scopeId); } if (isValid(svgElm)) { return div.innerHTML; } } } return ''; } function createColorClasses(color) { return (color) ? { 'ion-color': true, [`ion-color-${color}`]: true } : null; } export { Icon as IonIcon }; PK}w�\N�� � "esm/es2017/build/esckjbl8.entry.jsnu�[���/*! Built with http://stenciljs.com */ import { h } from '../ionicons.core.js'; function getName(name, mode, ios, md) { mode = (mode || 'md').toLowerCase(); if (ios && mode === 'ios') { name = ios.toLowerCase(); } else if (md && mode === 'md') { name = md.toLowerCase(); } else if (name) { name = name.toLowerCase(); if (!/^md-|^ios-|^logo-/.test(name)) { name = `${mode}-${name}`; } } if (typeof name !== 'string' || name.trim() === '') { return null; } const invalidChars = name.replace(/[a-z]|-|\d/gi, ''); if (invalidChars !== '') { return null; } return name; } function getSrc(src) { if (typeof src === 'string') { src = src.trim(); if (src.length > 0 && /(\/|\.)/.test(src)) { return src; } } return null; } function isValid(elm) { if (elm.nodeType === 1) { if (elm.nodeName.toLowerCase() === 'script') { return false; } for (let i = 0; i < elm.attributes.length; i++) { const val = elm.attributes[i].value; if (typeof val === 'string' && val.toLowerCase().indexOf('on') === 0) { return false; } } for (let i = 0; i < elm.childNodes.length; i++) { if (!isValid(elm.childNodes[i])) { return false; } } } return true; } class Icon { constructor() { this.isVisible = false; this.lazy = false; } componentWillLoad() { this.waitUntilVisible(this.el, '50px', () => { this.isVisible = true; this.loadIcon(); }); } componentDidUnload() { if (this.io) { this.io.disconnect(); this.io = undefined; } } waitUntilVisible(el, rootMargin, cb) { if (this.lazy && this.win && this.win.IntersectionObserver) { const io = this.io = new this.win.IntersectionObserver((data) => { if (data[0].isIntersecting) { io.disconnect(); this.io = undefined; cb(); } }, { rootMargin }); io.observe(el); } else { cb(); } } loadIcon() { if (!this.isServer && this.isVisible) { const url = this.getUrl(); if (url) { getSvgContent(this.doc, url, 's-ion-icon') .then(svgContent => this.svgContent = svgContent); } } if (!this.ariaLabel) { const name = getName(this.name, this.mode, this.ios, this.md); if (name) { this.ariaLabel = name .replace('ios-', '') .replace('md-', '') .replace(/\-/g, ' '); } } } getUrl() { let url = getSrc(this.src); if (url) { return url; } url = getName(this.name, this.mode, this.ios, this.md); if (url) { return this.getNamedUrl(url); } url = getSrc(this.icon); if (url) { return url; } url = getName(this.icon, this.mode, this.ios, this.md); if (url) { return this.getNamedUrl(url); } return null; } getNamedUrl(name) { return `${this.resourcesUrl}svg/${name}.svg`; } hostData() { return { 'role': 'img', class: Object.assign({}, createColorClasses(this.color), { [`icon-${this.size}`]: !!this.size }) }; } render() { if (!this.isServer && this.svgContent) { return h("div", { class: "icon-inner", innerHTML: this.svgContent }); } return h("div", { class: "icon-inner" }); } static get is() { return "ion-icon"; } static get encapsulation() { return "shadow"; } static get properties() { return { "ariaLabel": { "type": String, "attr": "aria-label", "reflectToAttr": true, "mutable": true }, "color": { "type": String, "attr": "color" }, "doc": { "context": "document" }, "el": { "elementRef": true }, "icon": { "type": String, "attr": "icon", "watchCallbacks": ["loadIcon"] }, "ios": { "type": String, "attr": "ios" }, "isServer": { "context": "isServer" }, "isVisible": { "state": true }, "lazy": { "type": Boolean, "attr": "lazy" }, "md": { "type": String, "attr": "md" }, "mode": { "type": String, "attr": "mode" }, "name": { "type": String, "attr": "name", "watchCallbacks": ["loadIcon"] }, "resourcesUrl": { "context": "resourcesUrl" }, "size": { "type": String, "attr": "size" }, "src": { "type": String, "attr": "src", "watchCallbacks": ["loadIcon"] }, "svgContent": { "state": true }, "win": { "context": "window" } }; } static get style() { return ":host{display:inline-block;width:1em;height:1em;contain:strict;-webkit-box-sizing:content-box!important;box-sizing:content-box!important}:host(.ion-color){color:var(--ion-color-base)!important}:host(.icon-small){font-size:var(--ion-icon-size-small,18px)!important}:host(.icon-large){font-size:var(--ion-icon-size-large,32px)!important}.icon-inner,svg{display:block;fill:currentColor;stroke:currentColor;height:100%;width:100%}:host(.ion-color-primary){--ion-color-base:var(--ion-color-primary, #3880ff)}:host(.ion-color-secondary){--ion-color-base:var(--ion-color-secondary, #0cd1e8)}:host(.ion-color-tertiary){--ion-color-base:var(--ion-color-tertiary, #f4a942)}:host(.ion-color-success){--ion-color-base:var(--ion-color-success, #10dc60)}:host(.ion-color-warning){--ion-color-base:var(--ion-color-warning, #ffce00)}:host(.ion-color-danger){--ion-color-base:var(--ion-color-danger, #f14141)}:host(.ion-color-light){--ion-color-base:var(--ion-color-light, #f4f5f8)}:host(.ion-color-medium){--ion-color-base:var(--ion-color-medium, #989aa2)}:host(.ion-color-dark){--ion-color-base:var(--ion-color-dark, #222428)}"; } } const requests = new Map(); function getSvgContent(doc, url, scopedId) { let req = requests.get(url); if (!req) { req = fetch(url, { cache: 'force-cache' }).then(rsp => { if (rsp.ok) { return rsp.text(); } return Promise.resolve(null); }).then(svgContent => validateContent(doc, svgContent, scopedId)); requests.set(url, req); } return req; } function validateContent(document, svgContent, scopeId) { if (svgContent) { const frag = document.createDocumentFragment(); const div = document.createElement('div'); div.innerHTML = svgContent; frag.appendChild(div); for (let i = div.childNodes.length - 1; i >= 0; i--) { if (div.childNodes[i].nodeName.toLowerCase() !== 'svg') { div.removeChild(div.childNodes[i]); } } const svgElm = div.firstElementChild; if (svgElm && svgElm.nodeName.toLowerCase() === 'svg') { if (scopeId) { svgElm.setAttribute('class', scopeId); } if (isValid(svgElm)) { return div.innerHTML; } } } return ''; } function createColorClasses(color) { return (color) ? { 'ion-color': true, [`ion-color-${color}`]: true } : null; } export { Icon as IonIcon }; PK}w�\-��esm/es2017/index.jsnu�[���// ionicons: ES ModulePK}w�\�Y0�iiesm/es2017/ionicons.core.jsnu�[���/*! * ionicons: Core, es2017 * Built with http://stenciljs.com */ function n(n,t){return"sc-"+n.n+(t&&t!==O?"-"+t:"")}function t(n,t){return n+(t?"-h":"-s")}function e(t,e,r,i){var o=r.n+i.mode,u=r[o];if((2===r.t||1===r.t&&!t.r.e)&&(i["s-sc"]=u?n(r,i.mode):n(r)),u||(u=r[o=r.n+O]),u){var f=e.i.head;if(e.e)if(1===r.t)f=i.shadowRoot;else for(var c=i;c=e.o(c);)if(c.host&&c.host.shadowRoot){f=c.host.shadowRoot;break}var a=t.u.get(f);if(a||t.u.set(f,a={}),!a[o]){var s=void 0;if((s=e.f("style")).innerHTML=u,a[o]=!0,s){var l=f.querySelectorAll("[data-styles]");e.c(f,s,l.length&&l[l.length-1].nextSibling||f.firstChild)}}}}function r(n,t,e,r){void 0===r&&(r="boolean"==typeof e);var i=t!==(t=t.replace(/^xlink\:?/,""));null==e||r&&(!e||"false"===e)?i?n.removeAttributeNS(N,_(t)):n.removeAttribute(t):"function"!=typeof e&&(e=r?"":e.toString(),i?n.setAttributeNS(N,_(t),e):n.setAttribute(t,e))}function i(n,t,e,i,f,c,a){if("class"!==e||c)if("style"===e){for(var s in i)f&&null!=f[s]||(/-/.test(s)?t.style.a(s):t.style[s]="");for(var s in f)i&&f[s]===i[s]||(/-/.test(s)?t.style.setProperty(s,f[s]):t.style[s]=f[s])}else if("o"!==e[0]||"n"!==e[1]||!/[A-Z]/.test(e[2])||e in t)if("list"!==e&&"type"!==e&&!c&&(e in t||-1!==["object","function"].indexOf(typeof f)&&null!==f)){var l=n.s(t);l&&l.l&&l.l[e]?(u(t,e,f),a&&l.l[e].v&&r(t,l.l[e].p,f,4===l.l[e].d)):"ref"!==e&&(u(t,e,null==f?"":f),null!=f&&!1!==f||n.r.y(t,e))}else null!=f&&"key"!==e?r(t,e,f):(c||n.r.m(t,e)&&(null==f||!1===f))&&n.r.y(t,e);else e=_(e)in t?_(e.substring(2)):_(e[2])+e.substring(3),f?f!==i&&n.r.b(t,e,f):n.r.w(t,e);else if(i!==f){var v=o(i),p=o(f),d=v.filter(function(n){return!p.includes(n)}),h=o(t.className).filter(function(n){return!d.includes(n)}),y=p.filter(function(n){return!v.includes(n)&&!h.includes(n)});h.push.apply(h,y),t.className=h.join(" ")}}function o(n){return null==n||""===n?[]:n.trim().split(/\s+/)}function u(n,t,e){try{n[t]=e}catch(n){}}function f(n,t,e,r,o){var u=11===e.g.nodeType&&e.g.host?e.g.host:e.g,f=t&&t.vattrs||S,c=e.vattrs||S;for(o in f)c&&null!=c[o]||null==f[o]||i(n,u,o,f[o],void 0,r,e.M);for(o in c)o in f&&c[o]===("value"===o||"checked"===o?u[o]:f[o])||i(n,u,o,f[o],c[o],r,e.M)}function c(n,t){function e(i,o,u,c,a,v,m,b,w){if(b=o.vchildren[u],s||(p=!0,"slot"===b.vtag&&(l&&t.j(c,l+"-s"),b.vchildren?b.k=!0:b.A=!0)),P(b.vtext))b.g=t.C(b.vtext);else if(b.A)b.g=t.C("");else{if(v=b.g=R||"svg"===b.vtag?t.O("http://www.w3.org/2000/svg",b.vtag):t.f(b.k?"slot-fb":b.vtag),n.S(v)&&n.x.delete(y),R="svg"===b.vtag||"foreignObject"!==b.vtag&&R,f(n,null,b,R),P(l)&&v["s-si"]!==l&&t.j(v,v["s-si"]=l),b.vchildren)for(a=0;a<b.vchildren.length;++a)(m=e(i,b,a,v))&&t.P(v,m);"svg"===b.vtag&&(R=!1)}return b.g["s-hn"]=h,(b.k||b.A)&&(b.g["s-sr"]=!0,b.g["s-cr"]=d,b.g["s-sn"]=b.vname||"",(w=i&&i.vchildren&&i.vchildren[u])&&w.vtag===b.vtag&&i.g&&r(i.g)),b.g}function r(e,i,o,u){n._=!0;var f=t.T(e);for(o=f.length-1;o>=0;o--)(u=f[o])["s-hn"]!==h&&u["s-ol"]&&(t.W(u),t.c(a(u),u,c(u)),t.W(u["s-ol"]),u["s-ol"]=null,p=!0),i&&r(u,i);n._=!1}function i(n,r,i,o,u,f,a,s){var l=n["s-cr"];for((a=l&&t.o(l)||n).shadowRoot&&t.N(a)===h&&(a=a.shadowRoot);u<=f;++u)o[u]&&(s=P(o[u].vtext)?t.C(o[u].vtext):e(null,i,u,n))&&(o[u].g=s,t.c(a,s,c(r)))}function o(n,e,i,o){for(;e<=i;++e)P(n[e])&&(o=n[e].g,v=!0,o["s-ol"]?t.W(o["s-ol"]):r(o,!0),t.W(o))}function u(n,t){return n.vtag===t.vtag&&n.vkey===t.vkey&&("slot"!==n.vtag||n.vname===t.vname)}function c(n){return n&&n["s-ol"]?n["s-ol"]:n}function a(n){return t.o(n["s-ol"]?n["s-ol"]:n)}var s,l,v,p,d,h,y,m=[];return function b(w,g,M,j,k,$,A,E,C,O,S,x){if(y=w,h=t.N(y),d=y["s-cr"],s=j,l=y["s-sc"],p=v=!1,function s(l,v,p){var d=v.g=l.g,h=l.vchildren,y=v.vchildren;R=v.g&&P(t.R(v.g))&&void 0!==v.g.ownerSVGElement,R="svg"===v.vtag||"foreignObject"!==v.vtag&&R,P(v.vtext)?(p=d["s-cr"])?t.L(t.o(p),v.vtext):l.vtext!==v.vtext&&t.L(d,v.vtext):("slot"!==v.vtag&&f(n,l,v,R),P(h)&&P(y)?function m(n,f,l,v,p,d,h,y){for(var m=0,b=0,w=f.length-1,g=f[0],M=f[w],j=v.length-1,k=v[0],$=v[j];m<=w&&b<=j;)if(null==g)g=f[++m];else if(null==M)M=f[--w];else if(null==k)k=v[++b];else if(null==$)$=v[--j];else if(u(g,k))s(g,k),g=f[++m],k=v[++b];else if(u(M,$))s(M,$),M=f[--w],$=v[--j];else if(u(g,$))"slot"!==g.vtag&&"slot"!==$.vtag||r(t.o(g.g)),s(g,$),t.c(n,g.g,t.D(M.g)),g=f[++m],$=v[--j];else if(u(M,k))"slot"!==g.vtag&&"slot"!==$.vtag||r(t.o(M.g)),s(M,k),t.c(n,M.g,g.g),M=f[--w],k=v[++b];else{for(p=null,d=m;d<=w;++d)if(f[d]&&P(f[d].vkey)&&f[d].vkey===k.vkey){p=d;break}P(p)?((y=f[p]).vtag!==k.vtag?h=e(f&&f[b],l,p,n):(s(y,k),f[p]=void 0,h=y.g),k=v[++b]):(h=e(f&&f[b],l,b,n),k=v[++b]),h&&t.c(a(g.g),h,c(g.g))}m>w?i(n,null==v[j+1]?null:v[j+1].g,l,v,b,j):b>j&&o(f,m,w)}(d,h,v,y):P(y)?(P(l.vtext)&&t.L(d,""),i(d,null,v,y,0,y.length-1)):P(h)&&o(h,0,h.length-1)),R&&"svg"===v.vtag&&(R=!1)}(g,M),p){for(function n(e,r,i,o,u,f,c,a,s,l){for(u=0,f=(r=t.T(e)).length;u<f;u++){if((i=r[u])["s-sr"]&&(o=i["s-cr"]))for(a=t.T(t.o(o)),s=i["s-sn"],c=a.length-1;c>=0;c--)(o=a[c])["s-cn"]||o["s-nr"]||o["s-hn"]===i["s-hn"]||((3===(l=t.F(o))||8===l)&&""===s||1===l&&null===t.H(o,"slot")&&""===s||1===l&&t.H(o,"slot")===s)&&(m.some(function(n){return n.q===o})||(v=!0,o["s-sn"]=s,m.push({U:i,q:o})));1===t.F(i)&&n(i)}}(M.g),A=0;A<m.length;A++)(E=m[A]).q["s-ol"]||((C=t.C(""))["s-nr"]=E.q,t.c(t.o(E.q),E.q["s-ol"]=C,E.q));for(n._=!0,A=0;A<m.length;A++){for(E=m[A],S=t.o(E.U),x=t.D(E.U),C=E.q["s-ol"];C=t.B(C);)if((O=C["s-nr"])&&O&&O["s-sn"]===E.q["s-sn"]&&S===t.o(O)&&(O=t.D(O))&&O&&!O["s-nr"]){x=O;break}(!x&&S!==t.o(E.q)||t.D(E.q)!==x)&&E.q!==x&&(t.W(E.q),t.c(S,E.q,x))}n._=!1}return v&&function n(e,r,i,o,u,f,c,a){for(o=0,u=(i=t.T(e)).length;o<u;o++)if(r=i[o],1===t.F(r)){if(r["s-sr"])for(c=r["s-sn"],r.hidden=!1,f=0;f<u;f++)if(i[f]["s-hn"]!==r["s-hn"])if(a=t.F(i[f]),""!==c){if(1===a&&c===t.H(i[f],"slot")){r.hidden=!0;break}}else if(1===a||3===a&&""!==t.I(i[f]).trim()){r.hidden=!0;break}n(r)}}(M.g),m.length=0,M}}function a(n,t){n&&(n.vattrs&&n.vattrs.ref&&n.vattrs.ref(t?null:n.g),n.vchildren&&n.vchildren.forEach(function(n){a(n,t)}))}function s(n,t){for(var e,r,i=null,o=!1,u=!1,f=arguments.length;f-- >2;)L.push(arguments[f]);for(;L.length>0;){var c=L.pop();if(c&&void 0!==c.pop)for(f=c.length;f--;)L.push(c[f]);else"boolean"==typeof c&&(c=null),(u="function"!=typeof n)&&(null==c?c="":"number"==typeof c?c=String(c):"string"!=typeof c&&(u=!1)),u&&o?i[i.length-1].vtext+=c:null===i?i=[u?{vtext:c}:c]:i.push(u?{vtext:c}:c),o=u}if(null!=t){if(t.className&&(t.class=t.className),"object"==typeof t.class){for(f in t.class)t.class[f]&&L.push(f);t.class=L.join(" "),L.length=0}null!=t.key&&(e=t.key),null!=t.name&&(r=t.name)}return"function"==typeof n?n(t,i||[],D):{vtag:n,vchildren:i,vtext:void 0,vattrs:t,vkey:e,vname:r,g:void 0,M:!1}}function l(n){return{vtag:n.vtag,vchildren:n.vchildren,vtext:n.vtext,vattrs:n.vattrs,vkey:n.vkey,vname:n.vname}}function v(n){return{G:n[0],Q:n[1],Y:!!n[2],Z:!!n[3],z:!!n[4]}}function p(n,t){if(P(t)&&"object"!=typeof t&&"function"!=typeof t){if(n===Boolean||4===n)return"false"!==t&&(""===t||!!t);if(n===Number||8===n)return parseFloat(t);if(n===String||2===n)return t.toString()}return t}function d(n,t){n.J.add(t),n.K.has(t)||(n.K.set(t,!0),n.V?n.queue.write(function(){return h(n,t)}):n.queue.tick(function(){return h(n,t)}))}function h(n,e,r,i,o){return $(this,void 0,void 0,function(){var r,u;return A(this,function(f){switch(f.X){case 0:if(n.K.delete(e),n.nn.has(e))return[3,12];if(i=n.tn.get(e))return[3,6];if((o=n.en.get(e))&&!o["s-rn"])return(o["s-rc"]=o["s-rc"]||[]).push(function(){h(n,e)}),[2];if(!(i=function c(n,t,e,r,i,o,u){try{r=new(i=n.s(t).rn),function f(n,t,e,r,i){n.in.set(r,e),n.on.has(e)||n.on.set(e,{}),Object.entries(Object.assign({color:{type:String}},t.properties,{mode:{type:String}})).forEach(function(t){var o=t[0],u=t[1];(function f(n,t,e,r,i,o,u,c){if(t.type||t.state){var a=n.on.get(e);t.state||(!t.attr||void 0!==a[i]&&""!==a[i]||(u=o&&o.un)&&P(c=u[t.attr])&&(a[i]=p(t.type,c)),e.hasOwnProperty(i)&&(void 0===a[i]&&(a[i]=p(t.type,e[i])),"mode"!==i&&delete e[i])),r.hasOwnProperty(i)&&void 0===a[i]&&(a[i]=r[i]),t.watchCallbacks&&(a[F+i]=t.watchCallbacks.slice()),b(r,i,function s(t){return(t=n.on.get(n.in.get(this)))&&t[i]},function l(e,r){(r=n.in.get(this))&&(t.state||t.mutable)&&y(n,r,i,e)})}else if(t.elementRef)m(r,i,e);else if(t.context){var v=n.fn(t.context);void 0!==v&&m(r,i,v.cn&&v.cn(e)||v)}})(n,u,e,r,o,i)})}(n,i,t,r,e)}catch(e){r={},n.an(e,7,t,!0)}return n.tn.set(t,r),r}(n,e,n.sn.get(e))))return[3,5];f.X=1;case 1:return f.ln.push([1,4,,5]),i.componentWillLoad?[4,i.componentWillLoad()]:[3,3];case 2:f.vn(),f.X=3;case 3:return[3,5];case 4:return r=f.vn(),n.an(r,3,e),[3,5];case 5:return[3,11];case 6:if(!i)return[3,11];f.X=7;case 7:return f.ln.push([7,10,,11]),i.componentWillUpdate?[4,i.componentWillUpdate()]:[3,9];case 8:f.vn(),f.X=9;case 9:return[3,11];case 10:return u=f.vn(),n.an(u,5,e),[3,11];case 11:(function a(n,e,r,i){try{var o,u=e.rn.host,f=e.rn.encapsulation,c="shadow"===f&&n.r.e,a=r;if(o=function l(n,t,e){return n&&Object.keys(n).forEach(function(r){n[r].reflectToAttr&&((e=e||{})[r]=t[r])}),e}(e.rn.properties,i),c&&(a=r.shadowRoot),!r["s-rn"]){n.pn(n,n.r,e,r);var v=r["s-sc"];v&&(n.r.j(r,t(v,!0)),"scoped"===f&&n.r.j(r,t(v)))}if(i.render||i.hostData||u||o){n.dn=!0;var p=i.render&&i.render(),d=void 0;d=i.hostData&&i.hostData(),o&&(d=d?Object.assign(d,o):o),n.dn=!1;var h=n.hn.get(r)||{};h.g=a;var y=s(null,d,p);y.M=!0,n.hn.set(r,n.render(r,h,y,c,f))}r["s-rn"]=!0,r["s-rc"]&&(r["s-rc"].forEach(function(n){return n()}),r["s-rc"]=null)}catch(t){n.dn=!1,n.an(t,8,r,!0)}})(n,n.s(e),e,i),e["s-init"](),f.X=12;case 12:return[2]}})})}function y(n,t,e,r,i){var o=n.on.get(t);o||n.on.set(t,o={});var u=o[e];if(r!==u&&(o[e]=r,i=n.tn.get(t))){var f=o[F+e];if(f)for(var c=0;c<f.length;c++)try{i[f[c]].call(i,r,u,e)}catch(n){}!n.dn&&t["s-rn"]&&d(n,t)}}function m(n,t,e){Object.defineProperty(n,t,{configurable:!0,value:e})}function b(n,t,e,r){Object.defineProperty(n,t,{configurable:!0,get:e,set:r})}function w(n,t,e,r,i,o){if(n.J.delete(t),(i=n.en.get(t))&&((r=i["s-ld"])&&((e=r.indexOf(t))>-1&&r.splice(e,1),r.length||i["s-init"]&&i["s-init"]()),n.en.delete(t)),n.yn.length&&!n.J.size)for(;o=n.yn.shift();)o()}function g(n,t,e,r){if(e.connectedCallback=function(){(function e(n,t,r){n.nn.delete(r),n.mn.has(r)||(n.J.add(r),n.mn.set(r,!0),r["s-id"]||(r["s-id"]=n.bn()),function i(n,t,e){for(e=t;e=n.r.R(e);)if(n.S(e)){n.x.has(t)||(n.en.set(t,e),(e["s-ld"]=e["s-ld"]||[]).push(t));break}}(n,r),n.queue.tick(function(){n.sn.set(r,function e(n,t,r,i,o){return r.mode||(r.mode=n.wn(r)),r["s-cr"]||n.H(r,C)||n.e&&1===t.t||(r["s-cr"]=n.C(""),r["s-cr"]["s-cn"]=!0,n.c(r,r["s-cr"],n.T(r)[0])),n.e||1!==t.t||(r.shadowRoot=r),1===t.t&&n.e&&!r.shadowRoot&&n.gn(r,{mode:"open"}),i={Mn:r["s-id"],un:{}},t.l&&Object.keys(t.l).forEach(function(e){(o=t.l[e].p)&&(i.un[o]=n.H(r,o))}),i}(n.r,t,r)),n.jn(t,r)}))})(n,t,this)},e.disconnectedCallback=function(){(function t(n,e){if(!n._&&function r(n,t){for(;t;){if(!n.o(t))return 9!==n.F(t);t=n.o(t)}}(n.r,e)){n.nn.set(e,!0),w(n,e),a(n.hn.get(e),!0),n.r.w(e),n.kn.delete(e);var i=n.tn.get(e);i&&i.componentDidUnload&&i.componentDidUnload(),[n.en,n.$n,n.sn].forEach(function(n){return n.delete(e)})}})(n,this)},e["s-init"]=function(){(function t(n,e,r,i,o,u){if(n.tn.get(e)&&!n.nn.has(e)&&(!e["s-ld"]||!e["s-ld"].length)){n.x.set(e,!0),n.An.has(e)||(n.An.set(e,!0),e["s-ld"]=void 0,n.r.j(e,r));try{a(n.hn.get(e)),(o=n.$n.get(e))&&(o.forEach(function(n){return n(e)}),n.$n.delete(e))}catch(t){n.an(t,4,e)}w(n,e)}})(n,this,r)},e.forceUpdate=function(){d(n,this)},t.l){var i=Object.entries(t.l),o={};i.forEach(function(n){var t=n[0],e=n[1].p;e&&(o[e]=t)}),o=Object.assign({},o),e.attributeChangedCallback=function(n,t,e){(function r(n,t,e,i){var o=n[_(e)];o&&(t[o]=i)})(o,this,n,e)},function u(n,t,e){t.forEach(function(t){var r=t[0],i=t[1],o=i.En;3&o?b(e,r,function t(){return(n.on.get(this)||{})[r]},function t(e){y(n,this,r,p(i.d,e))}):32===o&&m(e,r,W)})}(n,i,e)}}function M(n,t,e,r){return function(){var i=arguments;return function o(n,t,e){var r=t[e],i=n.i.body;return i?(r||(r=i.querySelector(e)),r||(r=t[e]=n.f(e),n.P(i,r)),r.componentOnReady()):Promise.resolve()}(n,t,e).then(function(n){return n[r].apply(n,i)})}}function j(n,t,r,i,o,u){var f={html:{}},a={},l=r[n]=r[n]||{},v=function p(n,t,e){n.ael||(n.ael=function(n,t,e,r){return n.addEventListener(t,e,r)},n.rel=function(n,t,e,r){return n.removeEventListener(t,e,r)});var r=new WeakMap;"function"!=typeof t.CustomEvent&&(t.CustomEvent=function(n,t,r){return(r=e.createEvent("CustomEvent")).initCustomEvent(n,t.bubbles,t.cancelable,t.detail),r},t.CustomEvent.prototype=t.Event.prototype);var i={i:e,e:!!e.documentElement.attachShadow,Cn:!1,F:function(n){return n.nodeType},f:function(n){return e.createElement(n)},O:function(n,t){return e.createElementNS(n,t)},C:function(n){return e.createTextNode(n)},On:function(n){return e.createComment(n)},c:function(n,t,e){return n.insertBefore(t,e)},W:function(n){return n.remove()},P:function(n,t){return n.appendChild(t)},j:function(n,t){if(n.classList)n.classList.add(t);else if("svg"===n.nodeName.toLowerCase()){var e=n.getAttribute("class")||"";e.split(" ").includes(t)||(e+=" "+t),n.setAttribute("class",e.trim())}},T:function(n){return n.childNodes},o:function(n){return n.parentNode},D:function(n){return n.nextSibling},B:function(n){return n.previousSibling},N:function(n){return _(n.nodeName)},I:function(n){return n.textContent},L:function(n,t){return n.textContent=t},H:function(n,t){return n.getAttribute(t)},Sn:function(n,t,e){return n.setAttribute(t,e)},xn:function(n,t,e,r){return n.setAttributeNS(t,e,r)},y:function(n,t){return n.removeAttribute(t)},m:function(n,t){return n.hasAttribute(t)},wn:function(t){return t.getAttribute("mode")||(n.Context||{}).mode},Pn:function(n,r){return"child"===r?n.firstElementChild:"parent"===r?i.R(n):"body"===r?e.body:"document"===r?e:"window"===r?t:n},b:function(t,e,o,u,f,c,a,s){var l=e,v=t,p=r.get(t);if(p&&p[l]&&p[l](),"string"==typeof c?v=i.Pn(t,c):"object"==typeof c?v=c:(s=e.split(":")).length>1&&(v=i.Pn(t,s[0]),e=s[1]),v){var d=o;(s=e.split(".")).length>1&&(e=s[0],d=function(n){n.keyCode===x[s[1]]&&o(n)}),a=i.Cn?{capture:!!u,passive:!!f}:!!u,n.ael(v,e,d,a),p||r.set(t,p={}),p[l]=function(){v&&n.rel(v,e,d,a),p[l]=null}}},w:function(n,t){var e=r.get(n);e&&(t?e[t]&&e[t]():Object.keys(e).forEach(function(n){e[n]&&e[n]()}))},_n:function(n,e,r){return n&&n.dispatchEvent(new t.CustomEvent(e,r))},R:function(n,t){return(t=i.o(n))&&11===i.F(t)?t.host:t},gn:function(n,t){return n.attachShadow(t)}};return i}(l,r,i);t.isServer=t.isPrerender=!(t.isClient=!0),t.window=r,t.location=r.location,t.document=i,t.resourcesUrl=t.publicPath=o,l.h=s,l.Context=t;var h=r["s-defined"]=r["s-defined"]||{},y=0,m={r:v,Tn:function b(n,t){var e=n.n;r.customElements.get(e)||(g(m,f[e]=n,t.prototype,u),t.observedAttributes=Object.values(n.l).map(function(n){return n.p}).filter(function(n){return!!n}),r.customElements.define(n.n,t))},Wn:t.emit,s:function(n){return f[v.N(n)]},fn:function(n){return t[n]},isClient:!0,S:function(n){return!(!h[v.N(n)]&&!m.s(n))},bn:function(){return n+y++},an:function(n,t,e){},Nn:function(n){return function t(n,e,r){return{create:M(n,e,r,"create"),componentOnReady:M(n,e,r,"componentOnReady")}}(v,a,n)},queue:t.queue=function w(n,t){function e(t){return function(e){t.push(e),p||(p=!0,n.raf(o))}}function r(n){for(var t=0;t<n.length;t++)try{n[t](u())}catch(n){}n.length=0}function i(n,t){for(var e,r=0;r<n.length&&(e=u())<t;)try{n[r++](e)}catch(n){}r===n.length?n.length=0:0!==r&&n.splice(0,r)}function o(){v++,r(a);var t=u()+7*Math.ceil(v*(1/22));i(s,t),i(l,t),s.length>0&&(l.push.apply(l,s),s.length=0),(p=a.length+s.length+l.length>0)?n.raf(o):v=0}var u=function(){return t.performance.now()},f=Promise.resolve(),c=[],a=[],s=[],l=[],v=0,p=!1;return n.raf||(n.raf=t.requestAnimationFrame.bind(t)),{tick:function(n){c.push(n),1===c.length&&f.then(function(){return r(c)})},read:e(a),write:e(s)}}(l,r),jn:function j(n,t,e){if(n.rn)d(m,t);else{var r=!v.e,i={mode:t.mode,scoped:r};n.Rn(i).then(function(e){try{n.rn=e,function r(n,t,e,i,o){if(i){var u=t.n+(o||O);t[u]||(t[u]=i)}}(0,n,n.t,e.style,e.styleMode)}catch(t){n.rn=function i(){}}d(m,t)})}},dn:!1,V:!1,_:!1,pn:e,en:new WeakMap,u:new WeakMap,mn:new WeakMap,kn:new WeakMap,An:new WeakMap,x:new WeakMap,in:new WeakMap,sn:new WeakMap,tn:new WeakMap,nn:new WeakMap,K:new WeakMap,$n:new WeakMap,Ln:new WeakMap,hn:new WeakMap,on:new WeakMap,J:new Set,yn:[]};l.onReady=function(){return new Promise(function(n){return m.queue.write(function(){return m.J.size?m.yn.push(n):n()})})},m.render=c(m,v);var k=v.i.documentElement;return k["s-ld"]=[],k["s-rn"]=!0,k["s-init"]=function(){m.x.set(k,l.loaded=m.V=!0),v._n(r,"appload",{detail:{namespace:n}})},function $(n,t,e,r,i,o){if(t.componentOnReady=function(t,e){if(!t.nodeName.includes("-"))return e(null),!1;var r=n.s(t);if(r)if(n.x.has(t))e(t);else{var i=n.$n.get(t)||[];i.push(e),n.$n.set(t,i)}return!!r},i){for(o=i.length-1;o>=0;o--)t.componentOnReady(i[o][0],i[o][1])&&i.splice(o,1);for(o=0;o<r.length;o++)if(!e[r[o]].componentOnReady)return;for(o=0;o<i.length;o++)i[o][1](null);i.length=0}}(m,l,r,r["s-apps"],r["s-cr"]),l.initialized=!0,m}function k(n,t,e){void 0===e&&(e={});var r=Array.isArray(t)?t:[t],i=n.document,o=e.hydratedCssClass||"hydrated",u=r.filter(function(n){return n[0]}).map(function(n){return n[0]});if(u.length>0){var f=i.createElement("style");f.innerHTML=u.join()+"{visibility:hidden}."+o+"{visibility:inherit}",f.setAttribute("data-styles",""),i.head.insertBefore(f,i.head.firstChild)}var c=e.namespace||"ionicons";return q||(q=!0,function a(n,t,e){(n["s-apps"]=n["s-apps"]||[]).push(t),e.componentOnReady||(e.componentOnReady=function t(){function e(t){if(r.nodeName.indexOf("-")>0){for(var e=n["s-apps"],i=0,o=0;o<e.length;o++)if(n[e[o]].componentOnReady){if(n[e[o]].componentOnReady(r,t))return;i++}if(i<e.length)return void(n["s-cr"]=n["s-cr"]||[]).push([r,t])}t(null)}var r=this;return n.Promise?new n.Promise(e):{then:e}})}(n,c,n.HTMLElement.prototype)),new Promise(function(r){applyPolyfills(n,function(){if(!H[c]){var u={},f=e.resourcesUrl||"./";E(c,u,n,i,f,o),H[c]=j(c,u,n,i,f,o)}t.forEach(function(t){var e;!function r(n){return/\{\s*\[native code\]\s*\}/.test(""+n)}(n.customElements.define)?(e=function(t){return n.HTMLElement.call(this,t)}).prototype=Object.create(n.HTMLElement.prototype,{constructor:{value:e,configurable:!0}}):e=new Function("w","return class extends w.HTMLElement{}")(n),H[c].Tn(function i(n){var t=function e(n){var t=n[0],e=n[1],r=n[3],i=n[4],o=n[5],u={color:{p:"color"}};if(r)for(var f=0;f<r.length;f++){var c=r[f];u[c[0]]={En:c[1],v:!!c[2],p:"string"==typeof c[3]?c[3]:c[3]?c[0]:0,d:c[4]}}return{n:t,Rn:e,l:Object.assign({},u),t:i,Dn:o?o.map(v):void 0}}(n),r=t.Rn,i=T(n[0]);return t.Rn=function(n){var t=n.mode,e=n.scoped;return function o(n,t,e){return import( /* webpackInclude: /\.entry\.js$/ */ /* webpackMode: "lazy" */ "./build/"+n+(t?".sc":"")+".entry.js").then(function(n){return n[e]})}("string"==typeof r?r:r[t],e,i)},t}(t),e)}),r()})})}this&&this.Fn||(Object.setPrototypeOf||Array);var $=this&&this.Hn||function(n,t,e,r){return new(e||(e=Promise))(function(i,o){function u(n){try{c(r.qn(n))}catch(n){o(n)}}function f(n){try{c(r.throw(n))}catch(n){o(n)}}function c(n){n.Un?i(n.value):new e(function(t){t(n.value)}).then(u,f)}c((r=r.apply(n,t||[])).qn())})},A=this&&this.Bn||function(n,t){function e(e){return function(u){return function c(e){if(r)throw new TypeError("Generator is already executing.");for(;f;)try{if(r=1,i&&(o=2&e[0]?i.return:e[0]?i.throw||((o=i.return)&&o.call(i),0):i.qn)&&!(o=o.call(i,e[1])).Un)return o;switch(i=0,o&&(e=[2&e[0],o.value]),e[0]){case 0:case 1:o=e;break;case 4:return f.X++,{value:e[1],Un:!1};case 5:f.X++,i=e[1],e=[0];continue;case 7:e=f.In.pop(),f.ln.pop();continue;default:if(!(o=(o=f.ln).length>0&&o[o.length-1])&&(6===e[0]||2===e[0])){f=0;continue}if(3===e[0]&&(!o||e[1]>o[0]&&e[1]<o[3])){f.X=e[1];break}if(6===e[0]&&f.X<o[1]){f.X=o[1],o=e;break}if(o&&f.X<o[2]){f.X=o[2],f.In.push(e);break}o[2]&&f.In.pop(),f.ln.pop();continue}e=t.call(n,f)}catch(n){e=[6,n],i=0}finally{r=o=0}if(5&e[0])throw e[1];return{value:e[0]?e[1]:void 0,Un:!0}}([e,u])}}var r,i,o,u,f={X:0,vn:function(){if(1&o[0])throw o[1];return o[1]},ln:[],In:[]};return u={qn:e(0),throw:e(1),return:e(2)},"function"==typeof Symbol&&(u[Symbol.iterator]=function(){return this}),u},E=function(){};function applyPolyfills(n,t){n.Gn=function(){function t(){var n=setTimeout;return function(){return n(e,1)}}function e(){for(var n=0;n<b;n+=2)(0,O[n])(O[n+1]),O[n]=void 0,O[n+1]=void 0;b=0}function r(n,t){var e=this,r=new this.constructor(o);void 0===r[x]&&h(r);var i=e.Qn;if(i){var u=arguments[i-1];M(function(){return d(i,r,u,e.Yn)})}else v(e,r,n,t);return r}function i(n){if(n&&"object"==typeof n&&n.constructor===this)return n;var t=new this(o);return c(t,n),t}function o(){}function u(n){try{return n.then}catch(n){return W.error=n,W}}function f(n,t,e){t.constructor===n.constructor&&e===r&&t.constructor.resolve===i?function(n,t){t.Qn===_?s(n,t.Yn):t.Qn===T?l(n,t.Yn):v(t,void 0,function(t){return c(n,t)},function(t){return l(n,t)})}(n,t):e===W?(l(n,W.error),W.error=null):void 0===e?s(n,t):"function"==typeof e?function(n,t,e){M(function(n){var r=!1,i=function(n,t,e,r){try{n.call(t,e,r)}catch(n){return n}}(e,t,function(e){r||(r=!0,t!==e?c(n,e):s(n,e))},function(t){r||(r=!0,l(n,t))},n.Zn);!r&&i&&(r=!0,l(n,i))},n)}(n,t,e):s(n,t)}function c(n,t){if(n===t)l(n,new TypeError("cannot resolve promise w/ itself"));else{var e=typeof t;null===t||"object"!==e&&"function"!==e?s(n,t):f(n,t,u(t))}}function a(n){n.zn&&n.zn(n.Yn),p(n)}function s(n,t){n.Qn===P&&(n.Yn=t,n.Qn=_,0!==n.Jn.length&&M(p,n))}function l(n,t){n.Qn===P&&(n.Qn=T,n.Yn=t,M(a,n))}function v(n,t,e,r){var i=n.Jn,o=i.length;n.zn=null,i[o]=t,i[o+_]=e,i[o+T]=r,0===o&&n.Qn&&M(p,n)}function p(n){var t=n.Jn,e=n.Qn;if(0!==t.length){for(var r,i,o=n.Yn,u=0;u<t.length;u+=3)r=t[u],i=t[u+e],r?d(e,r,i,o):i(o);n.Jn.length=0}}function d(n,t,e,r){var i="function"==typeof e,o=void 0,u=void 0,f=void 0,a=void 0;if(i){try{o=e(r)}catch(n){W.error=n,o=W}if(o===W?(a=!0,u=o.error,o.error=null):f=!0,t===o)return void l(t,new TypeError("Cannot return same promise"))}else o=r,f=!0;t.Qn===P&&(i&&f?c(t,o):a?l(t,u):n===_?s(t,o):n===T&&l(t,o))}function h(n){n[x]=N++,n.Qn=void 0,n.Yn=void 0,n.Jn=[]}var y,m=Array.isArray?Array.isArray:function(n){return"[object Array]"===Object.prototype.toString.call(n)},b=0,w=void 0,g=void 0,M=function(n,t){O[b]=n,O[b+1]=t,2===(b+=2)&&(g?g(e):S())},j=(y=void 0!==n?n:void 0)||{},k=j.Kn||j.Vn;j="undefined"==typeof self;var $,A,E,C="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel,O=Array(1e3),S=void 0;S=k?($=0,A=new k(e),E=document.createTextNode(""),A.observe(E,{characterData:!0}),function(){E.data=$=++$%2}):C?function(){var n=new MessageChannel;return n.Xn.onmessage=e,function(){return n.nt.postMessage(0)}}():void 0===y&&"function"==typeof require?function(){try{var n=Function("return this")().tt("vertx");return void 0!==(w=n.et||n.rt)?function(){w(e)}:t()}catch(n){return t()}}():t();var x=Math.random().toString(36).substring(2),P=void 0,_=1,T=2,W={error:null},N=0,R=function(){function n(n,t){this.it=n,this.ot=new n(o),this.ot[x]||h(this.ot),m(t)?(this.ut=this.length=t.length,this.Yn=Array(this.length),0===this.length?s(this.ot,this.Yn):(this.length=this.length||0,this.ft(t),0===this.ut&&s(this.ot,this.Yn))):l(this.ot,Error("Array Methods must be provided an Array"))}return n.prototype.ft=function(n){for(var t=0;this.Qn===P&&t<n.length;t++)this.ct(n[t],t)},n.prototype.ct=function(n,t){var e=this.it,c=e.resolve;c===i?(c=u(n))===r&&n.Qn!==P?this.at(n.Qn,t,n.Yn):"function"!=typeof c?(this.ut--,this.Yn[t]=n):e===L?(f(e=new e(o),n,c),this.st(e,t)):this.st(new e(function(t){return t(n)}),t):this.st(c(n),t)},n.prototype.at=function(n,t,e){var r=this.ot;r.Qn===P&&(this.ut--,n===T?l(r,e):this.Yn[t]=e),0===this.ut&&s(r,this.Yn)},n.prototype.st=function(n,t){var e=this;v(n,void 0,function(n){return e.at(_,t,n)},function(n){return e.at(T,t,n)})},n}(),L=function(){function n(t){if(this[x]=N++,this.Yn=this.Qn=void 0,this.Jn=[],o!==t){if("function"!=typeof t)throw new TypeError("Must pass a resolver fn as 1st arg");if(!(this instanceof n))throw new TypeError("Failed to construct 'Promise': Use the 'new' operator.");!function(n,t){try{t(function(t){c(n,t)},function(t){l(n,t)})}catch(t){l(n,t)}}(this,t)}}return n.prototype.catch=function(n){return this.then(null,n)},n.prototype.finally=function(n){var t=this.constructor;return this.then(function(e){return t.resolve(n()).then(function(){return e})},function(e){return t.resolve(n()).then(function(){throw e})})},n}();return L.prototype.then=r,L.all=function(n){return new R(this,n).ot},L.race=function(n){var t=this;return m(n)?new t(function(e,r){for(var i=n.length,o=0;o<i;o++)t.resolve(n[o]).then(e,r)}):new t(function(n,t){return t(new TypeError("Must pass array to race"))})},L.resolve=i,L.reject=function(n){var t=new this(o);return l(t,n),t},L.lt=function(n){g=n},L.vt=function(n){M=n},L.pt=M,L.dt=function(){var n=void 0;if("undefined"!=typeof global)n=global;else if("undefined"!=typeof self)n=self;else try{n=Function("return this")()}catch(n){throw Error("polyfill failed")}var t=n.Promise;if(t){var e=null;try{e=Object.prototype.toString.call(t.resolve())}catch(n){}if("[object Promise]"===e&&!t.ht)return}n.Promise=L},L.Promise=L,L.dt(),L}();var e=[];n.customElements&&(!n.Element||n.Element.prototype.closest&&n.Element.prototype.matches&&n.Element.prototype.remove)||e.push(import("./polyfills/dom.js")),"function"==typeof Object.assign&&Object.entries||e.push(import("./polyfills/object.js")),Array.prototype.find&&Array.prototype.includes||e.push(import("./polyfills/array.js")),String.prototype.startsWith&&String.prototype.endsWith||e.push(import("./polyfills/string.js")),n.fetch||e.push(import("./polyfills/fetch.js")),function r(){try{var n=new URL("b","http://a");return n.pathname="c%20d","http://a/c%20d"===n.href&&n.yt}catch(n){return!1}}||e.push(import("./polyfills/url.js")),Promise.all(e).then(function(e){e.forEach(function(t){t.applyPolyfill(n,n.document)}),t()})}var C="ssrv",O="$",S={},x={enter:13,escape:27,space:32,tab:9,left:37,up:38,right:39,down:40},P=function(n){return null!=n},_=function(n){return n.toLowerCase()},T=function(n){return _(n).split("-").map(function(n){return n.charAt(0).toUpperCase()+n.slice(1)}).join("")},W=function(){},N="http://www.w3.org/1999/xlink",R=!1,L=[],D={forEach:function(n,t){n.forEach(function(n,e,r){return t(l(n),e,r)})},map:function(n,t){return n.map(function(n,e,r){return function i(n){return{vtag:n.vtag,vchildren:n.vchildren,vtext:n.vtext,vattrs:n.vattrs,vkey:n.vkey,vname:n.vname}}(t(l(n),e,r))})}},F="wc-",H={},q=!1;export{k as defineCustomElement,s as h};PK}w�\4u���!esm/es2017/ionicons.components.jsnu�[���// ionicons: Host Data, ES Module/es2017 Target export const Icon = ["ion-icon","esckjbl8",1,[["ariaLabel",2,1,"aria-label",2],["color",1,0,1,2],["doc",4,0,0,0,"document"],["el",64],["icon",1,0,1,2],["ios",1,0,1,2],["isServer",4,0,0,0,"isServer"],["isVisible",16],["lazy",1,0,1,4],["md",1,0,1,2],["mode",1,0,1,2],["name",1,0,1,2],["resourcesUrl",4,0,0,0,"resourcesUrl"],["size",1,0,1,2],["src",1,0,1,2],["svgContent",16],["win",4,0,0,0,"window"]],1];PK}w�\�os�//esm/es2017/ionicons.define.jsnu�[��� // ionicons: Custom Elements Define Library, ES Module/es2017 Target import { defineCustomElement } from './ionicons.core.js'; import { Icon } from './ionicons.components.js'; export function defineCustomElements(win, opts) { return defineCustomElement(win, [ Icon ], opts); } PK}w�\����&&esm/index.jsnu�[���import { HTML5BackendImpl } from './HTML5BackendImpl'; import * as NativeTypes from './NativeTypes'; export { getEmptyImage } from './getEmptyImage'; export { NativeTypes }; export var HTML5Backend = function createBackend(manager, context) { return new HTML5BackendImpl(manager, context); };PK}w�\|�yesm/es5/polyfills/fetch.jsnu�[���export function applyPolyfill(window, document) {/*! whatwg-fetch, 2.0.3 https://github.com/github/fetch Copyright (c) 2014-2016 GitHub, Inc. - MIT License */ (function(e){function l(a){"string"!==typeof a&&(a=String(a));if(/[^a-z0-9\-#$%&'*+.\^_`|~]/i.test(a))throw new TypeError("Invalid character in header field name");return a.toLowerCase()}function q(a){"string"!==typeof a&&(a=String(a));return a}function n(a){var b={next:function(){var b=a.shift();return{done:void 0===b,value:b}}};g.iterable&&(b[Symbol.iterator]=function(){return b});return b}function d(a){this.map={};a instanceof d?a.forEach(function(a,c){this.append(c,a)},this):Array.isArray(a)? a.forEach(function(a){this.append(a[0],a[1])},this):a&&Object.getOwnPropertyNames(a).forEach(function(b){this.append(b,a[b])},this)}function p(a){if(a.bodyUsed)return Promise.reject(new TypeError("Already read"));a.bodyUsed=!0}function r(a){return new Promise(function(b,c){a.onload=function(){b(a.result)};a.onerror=function(){c(a.error)}})}function w(a){var b=new FileReader,c=r(b);b.readAsArrayBuffer(a);return c}function x(a){a=new Uint8Array(a);for(var b=Array(a.length),c=0;c<a.length;c++)b[c]=String.fromCharCode(a[c]); return b.join("")}function t(a){if(a.slice)return a.slice(0);var b=new Uint8Array(a.byteLength);b.set(new Uint8Array(a));return b.buffer}function u(){this.bodyUsed=!1;this._initBody=function(a){if(this._bodyInit=a)if("string"===typeof a)this._bodyText=a;else if(g.blob&&Blob.prototype.isPrototypeOf(a))this._bodyBlob=a;else if(g.formData&&FormData.prototype.isPrototypeOf(a))this._bodyFormData=a;else if(g.searchParams&&URLSearchParams.prototype.isPrototypeOf(a))this._bodyText=a.toString();else if(g.arrayBuffer&& g.blob&&y(a))this._bodyArrayBuffer=t(a.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer]);else if(g.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(a)||z(a)))this._bodyArrayBuffer=t(a);else throw Error("unsupported BodyInit type");else this._bodyText="";this.headers.get("content-type")||("string"===typeof a?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):g.searchParams&&URLSearchParams.prototype.isPrototypeOf(a)&& this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))};g.blob&&(this.blob=function(){var a=p(this);if(a)return a;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?p(this)||Promise.resolve(this._bodyArrayBuffer): this.blob().then(w)});this.text=function(){var a=p(this);if(a)return a;if(this._bodyBlob){a=this._bodyBlob;var b=new FileReader,c=r(b);b.readAsText(a);return c}if(this._bodyArrayBuffer)return Promise.resolve(x(this._bodyArrayBuffer));if(this._bodyFormData)throw Error("could not read FormData body as text");return Promise.resolve(this._bodyText)};g.formData&&(this.formData=function(){return this.text().then(A)});this.json=function(){return this.text().then(JSON.parse)};return this}function k(a,b){b= b||{};var c=b.body;if(a instanceof k){if(a.bodyUsed)throw new TypeError("Already read");this.url=a.url;this.credentials=a.credentials;b.headers||(this.headers=new d(a.headers));this.method=a.method;this.mode=a.mode;c||null==a._bodyInit||(c=a._bodyInit,a.bodyUsed=!0)}else this.url=String(a);this.credentials=b.credentials||this.credentials||"omit";if(b.headers||!this.headers)this.headers=new d(b.headers);var v=b.method||this.method||"GET",g=v.toUpperCase();this.method=-1<B.indexOf(g)?g:v;this.mode= b.mode||this.mode||null;this.referrer=null;if(("GET"===this.method||"HEAD"===this.method)&&c)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(c)}function A(a){var b=new FormData;a.trim().split("&").forEach(function(a){if(a){var c=a.split("=");a=c.shift().replace(/\+/g," ");c=c.join("=").replace(/\+/g," ");b.append(decodeURIComponent(a),decodeURIComponent(c))}});return b}function C(a){var b=new d;a.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach(function(a){var c= a.split(":");if(a=c.shift().trim())c=c.join(":").trim(),b.append(a,c)});return b}function h(a,b){b||(b={});this.type="default";this.status=void 0===b.status?200:b.status;this.ok=200<=this.status&&300>this.status;this.statusText="statusText"in b?b.statusText:"OK";this.headers=new d(b.headers);this.url=b.url||"";this._initBody(a)}if(!e.fetch){var D="Symbol"in e&&"iterator"in Symbol,m;if(m="FileReader"in e&&"Blob"in e)try{new Blob,m=!0}catch(a){m=!1}var g={searchParams:"URLSearchParams"in e,iterable:D, blob:m,formData:"FormData"in e,arrayBuffer:"ArrayBuffer"in e};if(g.arrayBuffer){var E="[object Int8Array];[object Uint8Array];[object Uint8ClampedArray];[object Int16Array];[object Uint16Array];[object Int32Array];[object Uint32Array];[object Float32Array];[object Float64Array]".split(";");var y=function(a){return a&&DataView.prototype.isPrototypeOf(a)};var z=ArrayBuffer.isView||function(a){return a&&-1<E.indexOf(Object.prototype.toString.call(a))}}d.prototype.append=function(a,b){a=l(a);b=q(b);var c= this.map[a];this.map[a]=c?c+","+b:b};d.prototype["delete"]=function(a){delete this.map[l(a)]};d.prototype.get=function(a){a=l(a);return this.has(a)?this.map[a]:null};d.prototype.has=function(a){return this.map.hasOwnProperty(l(a))};d.prototype.set=function(a,b){this.map[l(a)]=q(b)};d.prototype.forEach=function(a,b){for(var c in this.map)this.map.hasOwnProperty(c)&&a.call(b,this.map[c],c,this)};d.prototype.keys=function(){var a=[];this.forEach(function(b,c){a.push(c)});return n(a)};d.prototype.values= function(){var a=[];this.forEach(function(b){a.push(b)});return n(a)};d.prototype.entries=function(){var a=[];this.forEach(function(b,c){a.push([c,b])});return n(a)};g.iterable&&(d.prototype[Symbol.iterator]=d.prototype.entries);var B="DELETE GET HEAD OPTIONS POST PUT".split(" ");k.prototype.clone=function(){return new k(this,{body:this._bodyInit})};u.call(k.prototype);u.call(h.prototype);h.prototype.clone=function(){return new h(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new d(this.headers), url:this.url})};h.error=function(){var a=new h(null,{status:0,statusText:""});a.type="error";return a};var F=[301,302,303,307,308];h.redirect=function(a,b){if(-1===F.indexOf(b))throw new RangeError("Invalid status code");return new h(null,{status:b,headers:{location:a}})};e.Headers=d;e.Request=k;e.Response=h;e.fetch=function(a,b){return new Promise(function(c,d){var e=new k(a,b),f=new XMLHttpRequest;f.onload=function(){var a={status:f.status,statusText:f.statusText,headers:C(f.getAllResponseHeaders()|| "")};a.url="responseURL"in f?f.responseURL:a.headers.get("X-Request-URL");c(new h("response"in f?f.response:f.responseText,a))};f.onerror=function(){d(new TypeError("Network request failed"))};f.ontimeout=function(){d(new TypeError("Network request failed"))};f.open(e.method,e.url,!0);"include"===e.credentials?f.withCredentials=!0:"omit"===e.credentials&&(f.withCredentials=!1);"responseType"in f&&g.blob&&(f.responseType="blob");e.headers.forEach(function(a,b){f.setRequestHeader(b,a)});f.send("undefined"=== typeof e._bodyInit?null:e._bodyInit)})};e.fetch.polyfill=!0}})("undefined"!==typeof self?self:window);}PK}w�\.�EYYesm/es5/polyfills/promise.jsnu�[���export function applyPolyfill(window, document) {/*! es6-promise - a tiny implementation of Promises/A+. Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald) Licensed under MIT license See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE v4.2.4+314e4831 */ (window.ES6Promise=function(){function t(){var t=setTimeout;return function(){return t(r,1)}}function r(){for(var t=0;t<y;t+=2)(0,C[t])(C[t+1]),C[t]=void 0,C[t+1]=void 0;y=0}function e(t,r){var e=this,n=new this.constructor(o);void 0===n[O]&&_(n);var i=e._state;if(i){var s=arguments[i-1];g(function(){return v(i,n,s,e._result)})}else l(e,n,t,r);return n}function n(t){if(t&&"object"==typeof t&&t.constructor===this)return t;var r=new this(o);return u(r,t),r}function o(){}function i(t){try{return t.then}catch(t){return q.error=t,q}}function s(t,r,o){r.constructor===t.constructor&&o===e&&r.constructor.resolve===n?function(t,r){r._state===x?a(t,r._result):r._state===F?f(t,r._result):l(r,void 0,function(r){return u(t,r)},function(r){return f(t,r)})}(t,r):o===q?(f(t,q.error),q.error=null):void 0===o?a(t,r):"function"==typeof o?function(t,r,e){g(function(t){var n=!1,o=function(t,r,e,n){try{t.call(r,e,n)}catch(t){return t}}(e,r,function(e){n||(n=!0,r!==e?u(t,e):a(t,e))},function(r){n||(n=!0,f(t,r))},t._label);!n&&o&&(n=!0,f(t,o))},t)}(t,r,o):a(t,r)}function u(t,r){if(t===r)f(t,new TypeError("cannot resolve promise w/ itself"));else{var e=typeof r;null===r||"object"!==e&&"function"!==e?a(t,r):s(t,r,i(r))}}function c(t){t._onerror&&t._onerror(t._result),h(t)}function a(t,r){t._state===P&&(t._result=r,t._state=x,0!==t._subscribers.length&&g(h,t))}function f(t,r){t._state===P&&(t._state=F,t._result=r,g(c,t))}function l(t,r,e,n){var o=t._subscribers,i=o.length;t._onerror=null,o[i]=r,o[i+x]=e,o[i+F]=n,0===i&&t._state&&g(h,t)}function h(t){var r=t._subscribers,e=t._state;if(0!==r.length){for(var n,o,i=t._result,s=0;s<r.length;s+=3)n=r[s],o=r[s+e],n?v(e,n,o,i):o(i);t._subscribers.length=0}}function v(t,r,e,n){var o="function"==typeof e,i=void 0,s=void 0,c=void 0,l=void 0;if(o){try{i=e(n)}catch(t){q.error=t,i=q}if(i===q?(l=!0,s=i.error,i.error=null):c=!0,r===i)return void f(r,new TypeError("Cannot return same promise"))}else i=n,c=!0;r._state===P&&(o&&c?u(r,i):l?f(r,s):t===x?a(r,i):t===F&&f(r,i))}function _(t){t[O]=U++,t._state=void 0,t._result=void 0,t._subscribers=[]}var p,d=Array.isArray?Array.isArray:function(t){return"[object Array]"===Object.prototype.toString.call(t)},y=0,w=void 0,m=void 0,g=function(t,e){C[y]=t,C[y+1]=e,2===(y+=2)&&(m?m(r):T())},b=(p="undefined"!=typeof window?window:void 0)||{},A=b.MutationObserver||b.WebKitMutationObserver;b="undefined"==typeof self;var E,S,M,j="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel,C=Array(1e3),T=void 0;T=A?(E=0,S=new A(r),M=document.createTextNode(""),S.observe(M,{characterData:!0}),function(){M.data=E=++E%2}):j?function(){var t=new MessageChannel;return t.port1.onmessage=r,function(){return t.port2.postMessage(0)}}():void 0===p&&"function"==typeof require?function(){try{var e=Function("return this")().require("vertx");return void 0!==(w=e.runOnLoop||e.runOnContext)?function(){w(r)}:t()}catch(r){return t()}}():t();var O=Math.random().toString(36).substring(2),P=void 0,x=1,F=2,q={error:null},U=0,D=function(){function t(t,r){this._instanceConstructor=t,this.promise=new t(o),this.promise[O]||_(this.promise),d(r)?(this._remaining=this.length=r.length,this._result=Array(this.length),0===this.length?a(this.promise,this._result):(this.length=this.length||0,this._enumerate(r),0===this._remaining&&a(this.promise,this._result))):f(this.promise,Error("Array Methods must be provided an Array"))}return t.prototype._enumerate=function(t){for(var r=0;this._state===P&&r<t.length;r++)this._eachEntry(t[r],r)},t.prototype._eachEntry=function(t,r){var u=this._instanceConstructor,c=u.resolve;c===n?(c=i(t))===e&&t._state!==P?this._settledAt(t._state,r,t._result):"function"!=typeof c?(this._remaining--,this._result[r]=t):u===K?(s(u=new u(o),t,c),this._willSettleAt(u,r)):this._willSettleAt(new u(function(r){return r(t)}),r):this._willSettleAt(c(t),r)},t.prototype._settledAt=function(t,r,e){var n=this.promise;n._state===P&&(this._remaining--,t===F?f(n,e):this._result[r]=e),0===this._remaining&&a(n,this._result)},t.prototype._willSettleAt=function(t,r){var e=this;l(t,void 0,function(t){return e._settledAt(x,r,t)},function(t){return e._settledAt(F,r,t)})},t}(),K=function(){function t(r){if(this[O]=U++,this._result=this._state=void 0,this._subscribers=[],o!==r){if("function"!=typeof r)throw new TypeError("Must pass a resolver fn as 1st arg");if(!(this instanceof t))throw new TypeError("Failed to construct 'Promise': Use the 'new' operator.");!function(t,r){try{r(function(r){u(t,r)},function(r){f(t,r)})}catch(r){f(t,r)}}(this,r)}}return t.prototype.catch=function(t){return this.then(null,t)},t.prototype.finally=function(t){var r=this.constructor;return this.then(function(e){return r.resolve(t()).then(function(){return e})},function(e){return r.resolve(t()).then(function(){throw e})})},t}();return K.prototype.then=e,K.all=function(t){return new D(this,t).promise},K.race=function(t){var r=this;return d(t)?new r(function(e,n){for(var o=t.length,i=0;i<o;i++)r.resolve(t[i]).then(e,n)}):new r(function(t,r){return r(new TypeError("Must pass array to race"))})},K.resolve=n,K.reject=function(t){var r=new this(o);return f(r,t),r},K._setScheduler=function(t){m=t},K._setAsap=function(t){g=t},K._asap=g,K.polyfill=function(){var t=void 0;if("undefined"!=typeof global)t=global;else if("undefined"!=typeof self)t=self;else try{t=Function("return this")()}catch(t){throw Error("polyfill failed")}var r=t.Promise;if(r){var e=null;try{e=Object.prototype.toString.call(r.resolve())}catch(t){}if("[object Promise]"===e&&!r.cast)return}t.Promise=K},K.Promise=K,K.polyfill(),K}());}PK}w�\=�R�wwesm/es5/polyfills/url.jsnu�[���export function applyPolyfill(window, document) {/*! url-polyfill, 1.0.14 https://github.com/lifaon74/url-polyfill MIT Licensed */ (function(e){var t=function(){try{return!!Symbol.iterator}catch(e){return false}};var n=t();var r=function(e){var t={next:function(){var t=e.shift();return{done:t===void 0,value:t}}};if(n){t[Symbol.iterator]=function(){return t}}return t};var i=function(e){return encodeURIComponent(e).replace(/%20/g,"+")};var o=function(e){return decodeURIComponent(e).replace(/\+/g," ")};var a=function(){var t=function(e){Object.defineProperty(this,"_entries",{value:{}});if(typeof e==="string"){if(e!==""){e=e.replace(/^\?/,"");var n=e.split("&");var r;for(var i=0;i<n.length;i++){r=n[i].split("=");this.append(o(r[0]),r.length>1?o(r[1]):"")}}}else if(e instanceof t){var a=this;e.forEach(function(e,t){a.append(e,t)})}};var a=t.prototype;a.append=function(e,t){if(e in this._entries){this._entries[e].push(t.toString())}else{this._entries[e]=[t.toString()]}};a.delete=function(e){delete this._entries[e]};a.get=function(e){return e in this._entries?this._entries[e][0]:null};a.getAll=function(e){return e in this._entries?this._entries[e].slice(0):[]};a.has=function(e){return e in this._entries};a.set=function(e,t){this._entries[e]=[t.toString()]};a.forEach=function(e,t){var n;for(var r in this._entries){if(this._entries.hasOwnProperty(r)){n=this._entries[r];for(var i=0;i<n.length;i++){e.call(t,n[i],r,this)}}}};a.keys=function(){var e=[];this.forEach(function(t,n){e.push(n)});return r(e)};a.values=function(){var e=[];this.forEach(function(t){e.push(t)});return r(e)};a.entries=function(){var e=[];this.forEach(function(t,n){e.push([n,t])});return r(e)};if(n){a[Symbol.iterator]=a.entries}a.toString=function(){var e=[];this.forEach(function(t,n){e.push(i(n)+"="+i(t))});return e.join("&")};e.URLSearchParams=t};if(!("URLSearchParams"in e)||new URLSearchParams("?a=1").toString()!=="a=1"){a()}})(typeof global!=="undefined"?global:typeof window!=="undefined"?window:typeof self!=="undefined"?self:this);(function(e){var t=function(){try{var e=new URL("b","http://a");e.pathname="c%20d";return e.href==="http://a/c%20d"&&e.searchParams}catch(e){return false}};var n=function(){var t=e.URL;var n=function(e,t){if(typeof e!=="string")e=String(e);var n=document.implementation.createHTMLDocument("");window.doc=n;if(t){var r=n.createElement("base");r.href=t;n.head.appendChild(r)}var i=n.createElement("a");i.href=e;n.body.appendChild(i);i.href=i.href;if(i.protocol===":"||!/:/.test(i.href)){throw new TypeError("Invalid URL")}Object.defineProperty(this,"_anchorElement",{value:i})};var r=n.prototype;var i=function(e){Object.defineProperty(r,e,{get:function(){return this._anchorElement[e]},set:function(t){this._anchorElement[e]=t},enumerable:true})};["hash","host","hostname","port","protocol","search"].forEach(function(e){i(e)});Object.defineProperties(r,{toString:{get:function(){var e=this;return function(){return e.href}}},href:{get:function(){return this._anchorElement.href.replace(/\?$/,"")},set:function(e){this._anchorElement.href=e},enumerable:true},pathname:{get:function(){return this._anchorElement.pathname.replace(/(^\/?)/,"/")},set:function(e){this._anchorElement.pathname=e},enumerable:true},origin:{get:function(){var e={"http:":80,"https:":443,"ftp:":21}[this._anchorElement.protocol];var t=this._anchorElement.port!=e&&this._anchorElement.port!=="";return this._anchorElement.protocol+"//"+this._anchorElement.hostname+(t?":"+this._anchorElement.port:"")},enumerable:true},password:{get:function(){return""},set:function(e){},enumerable:true},username:{get:function(){return""},set:function(e){},enumerable:true},searchParams:{get:function(){var e=new URLSearchParams(this.search);var t=this;["append","delete","set"].forEach(function(n){var r=e[n];e[n]=function(){r.apply(e,arguments);t.search=e.toString()}});return e},enumerable:true}});n.createObjectURL=function(e){return t.createObjectURL.apply(t,arguments)};n.revokeObjectURL=function(e){return t.revokeObjectURL.apply(t,arguments)};e.URL=n};if(!t()){n()}if(e.location!==void 0&&!("origin"in e.location)){var r=function(){return e.location.protocol+"//"+e.location.hostname+(e.location.port?":"+e.location.port:"")};try{Object.defineProperty(e.location,"origin",{get:r,enumerable:true})}catch(t){setInterval(function(){e.location.origin=r()},100)}}})(typeof global!=="undefined"?global:typeof window!=="undefined"?window:typeof self!=="undefined"?self:this); }PK}w�\ڟ�ӓ�esm/es5/polyfills/array.jsnu�[���export function applyPolyfill(window, document) {/*! Array.prototype.find */ Array.prototype.find||Object.defineProperty(Array.prototype,"find",{writable:!0,configurable:!0,value:function(c,e){if(null==this)throw new TypeError('"this" is null or not defined');var b=Object(this),f=b.length>>>0;if("function"!==typeof c)throw new TypeError("predicate must be a function");for(var a=0;a<f;){var d=b[a];if(c.call(e,d,a,b))return d;a++}}}); /*! Array.from */ Array.from||(Array.from=function(){var l=Object.prototype.toString,h=function(c){return"function"===typeof c||"[object Function]"===l.call(c)},m=Math.pow(2,53)-1;return function(c){var k=Object(c);if(null==c)throw new TypeError("Array.from requires an array-like object - not null or undefined");var d=1<arguments.length?arguments[1]:void 0,f;if("undefined"!==typeof d){if(!h(d))throw new TypeError("Array.from: when provided, the second argument must be a function");2<arguments.length&&(f=arguments[2])}var a= Number(k.length);a=isNaN(a)?0:0!==a&&isFinite(a)?(0<a?1:-1)*Math.floor(Math.abs(a)):a;a=Math.min(Math.max(a,0),m);for(var g=h(this)?Object(new this(a)):Array(a),b=0,e;b<a;)e=k[b],g[b]=d?"undefined"===typeof f?d(e,b):d.call(f,e,b):e,b+=1;g.length=a;return g}}()); /*! Array.prototype.includes */ Array.prototype.includes||Object.defineProperty(Array.prototype,"includes",{writable:!0,configurable:!0,value:function(r,e){if(null==this)throw new TypeError('"this" is null or not defined');var t=Object(this),n=t.length>>>0;if(0===n)return!1;var i,o,a=0|e,u=Math.max(0<=a?a:n-Math.abs(a),0);for(;u<n;){if((i=t[u])===(o=r)||"number"==typeof i&&"number"==typeof o&&isNaN(i)&&isNaN(o))return!0;u++}return!1}});}PK}w�\U�'%%esm/es5/polyfills/tslib.jsnu�[���// REV: 9dd9aa322c893e5e0b3f1609b1126314ccf37bbb /*! ***************************************************************************** Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABLITY OR NON-INFRINGEMENT. See the Apache Version 2.0 License for specific language governing permissions and limitations under the License. ***************************************************************************** */ /* global Reflect, Promise */ var extendStatics = function(d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; return extendStatics(d, b); }; export function __extends(d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); } export var __assign = function() { __assign = Object.assign || function __assign(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; } return __assign.apply(this, arguments); } export function __rest(s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) t[p[i]] = s[p[i]]; return t; } export function __decorate(decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; } export function __param(paramIndex, decorator) { return function (target, key) { decorator(target, key, paramIndex); } } export function __metadata(metadataKey, metadataValue) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); } export function __awaiter(thisArg, _arguments, P, generator) { return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); } export function __generator(thisArg, body) { var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); while (_) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { case 0: case 1: t = op; break; case 4: _.label++; return { value: op[1], done: false }; case 5: _.label++; y = op[1]; op = [0]; continue; case 7: op = _.ops.pop(); _.trys.pop(); continue; default: if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } if (t[2]) _.ops.pop(); _.trys.pop(); continue; } op = body.call(thisArg, _); } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } } export function __exportStar(m, exports) { for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; } export function __values(o) { var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0; if (m) return m.call(o); return { next: function () { if (o && i >= o.length) o = void 0; return { value: o && o[i++], done: !o }; } }; } export function __read(o, n) { var m = typeof Symbol === "function" && o[Symbol.iterator]; if (!m) return o; var i = m.call(o), r, ar = [], e; try { while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); } catch (error) { e = { error: error }; } finally { try { if (r && !r.done && (m = i["return"])) m.call(i); } finally { if (e) throw e.error; } } return ar; } export function __spread() { for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i])); return ar; } export function __await(v) { return this instanceof __await ? (this.v = v, this) : new __await(v); } export function __makeTemplateObject(cooked, raw) { if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } return cooked; }; export function __importStar(mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; result.default = mod; return result; } export function __importDefault(mod) { return (mod && mod.__esModule) ? mod : { default: mod }; }PK}w�\Js���esm/es5/polyfills/object.jsnu�[���export function applyPolyfill(window, document) {/*! Object.assign */ "function"!=typeof Object.assign&&Object.defineProperty(Object,"assign",{value:function(d,f){if(null==d)throw new TypeError("Cannot convert undefined or null to object");for(var e=Object(d),b=1;b<arguments.length;b++){var a=arguments[b];if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(e[c]=a[c])}return e},writable:!0,configurable:!0}); /*! Object.entries */ Object.entries||(Object.entries=function(c){for(var b=Object.keys(c),a=b.length,d=Array(a);a--;)d[a]=[b[a],c[b[a]]];return d}); /*! Object.values */ Object.values||(Object.values=function(n){return Object.keys(n).map(function(r){return n[r]})}); }PK}w�\�̹��esm/es5/polyfills/string.jsnu�[���export function applyPolyfill(window, document) {/*! String.prototype.endsWith */ String.prototype.endsWith||Object.defineProperty(String.prototype,"endsWith",{writable:!0,configurable:!0,value:function(b,a){if(void 0===a||a>this.length)a=this.length;return this.substring(a-b.length,a)===b}}); /*! String.prototype.includes */ String.prototype.includes||(String.prototype.includes=function(b,a){"number"!==typeof a&&(a=0);return a+b.length>this.length?!1:-1!==this.indexOf(b,a)}); /*! String.prototype.startsWith */ String.prototype.startsWith||Object.defineProperty(String.prototype,"startsWith",{writable:!0,configurable:!0,value:function(b,a){return this.substr(!a||0>a?0:+a,b.length)===b}});}PK}w�\�@ ��6�6esm/es5/polyfills/dom.jsnu�[���export function applyPolyfill(window, document) {/*! document-register-element, 1.7.0 https://github.com/WebReflection/document-register-element (C) Andrea Giammarchi - @WebReflection - Mit Style License */ if (!window['s-ce1']) { window['s-ce1'] = true; (function(e,t){"use strict";function Ht(){var e=wt.splice(0,wt.length);Et=0;while(e.length)e.shift().call(null,e.shift())}function Bt(e,t){for(var n=0,r=e.length;n<r;n++)Jt(e[n],t)}function jt(e){for(var t=0,n=e.length,r;t<n;t++)r=e[t],Pt(r,A[It(r)])}function Ft(e){return function(t){ut(t)&&(Jt(t,e),O.length&&Bt(t.querySelectorAll(O),e))}}function It(e){var t=ht.call(e,"is"),n=e.nodeName.toUpperCase(),r=_.call(L,t?N+t.toUpperCase():T+n);return t&&-1<r&&!qt(n,t)?-1:r}function qt(e,t){return-1<O.indexOf(e+'[is="'+t+'"]')}function Rt(e){var t=e.currentTarget,n=e.attrChange,r=e.attrName,i=e.target,s=e[y]||2,o=e[w]||3;kt&&(!i||i===t)&&t[h]&&r!=="style"&&(e.prevValue!==e.newValue||e.newValue===""&&(n===s||n===o))&&t[h](r,n===s?null:e.prevValue,n===o?null:e.newValue)}function Ut(e){var t=Ft(e);return function(e){wt.push(t,e.target),Et&&clearTimeout(Et),Et=setTimeout(Ht,1)}}function zt(e){Ct&&(Ct=!1,e.currentTarget.removeEventListener(S,zt)),O.length&&Bt((e.target||n).querySelectorAll(O),e.detail===l?l:a),st&&Vt()}function Wt(e,t){var n=this;vt.call(n,e,t),Lt.call(n,{target:n})}function Xt(e,t){nt(e,t),Mt?Mt.observe(e,yt):(Nt&&(e.setAttribute=Wt,e[o]=Ot(e),e[u](x,Lt)),e[u](E,Rt)),e[m]&&kt&&(e.created=!0,e[m](),e.created=!1)}function Vt(){for(var e,t=0,n=at.length;t<n;t++)e=at[t],M.contains(e)||(n--,at.splice(t--,1),Jt(e,l))}function $t(e){throw new Error("A "+e+" type is already registered")}function Jt(e,t){var n,r=It(e),i;-1<r&&(Dt(e,A[r]),r=0,t===a&&!e[a]?(e[l]=!1,e[a]=!0,i="connected",r=1,st&&_.call(at,e)<0&&at.push(e)):t===l&&!e[l]&&(e[a]=!1,e[l]=!0,i="disconnected",r=1),r&&(n=e[t+f]||e[i+f])&&n.call(e))}function Kt(){}function Qt(e,t,r){var i=r&&r[c]||"",o=t.prototype,u=tt(o),a=t.observedAttributes||j,f={prototype:u};ot(u,m,{value:function(){if(Q)Q=!1;else if(!this[W]){this[W]=!0,new t(this),o[m]&&o[m].call(this);var e=G[Z.get(t)];(!V||e.create.length>1)&&Zt(this)}}}),ot(u,h,{value:function(e){-1<_.call(a,e)&&o[h].apply(this,arguments)}}),o[d]&&ot(u,p,{value:o[d]}),o[v]&&ot(u,g,{value:o[v]}),i&&(f[c]=i),e=e.toUpperCase(),G[e]={constructor:t,create:i?[i,et(e)]:[e]},Z.set(t,e),n[s](e.toLowerCase(),f),en(e),Y[e].r()}function Gt(e){var t=G[e.toUpperCase()];return t&&t.constructor}function Yt(e){return typeof e=="string"?e:e&&e.is||""}function Zt(e){var t=e[h],n=t?e.attributes:j,r=n.length,i;while(r--)i=n[r],t.call(e,i.name||i.nodeName,null,i.value||i.nodeValue)}function en(e){return e=e.toUpperCase(),e in Y||(Y[e]={},Y[e].p=new K(function(t){Y[e].r=t})),Y[e].p}function tn(){X&&delete e.customElements,B(e,"customElements",{configurable:!0,value:new Kt}),B(e,"CustomElementRegistry",{configurable:!0,value:Kt});for(var t=function(t){var r=e[t];if(r){e[t]=function(t){var i,s;return t||(t=this),t[W]||(Q=!0,i=G[Z.get(t.constructor)],s=V&&i.create.length===1,t=s?Reflect.construct(r,j,i.constructor):n.createElement.apply(n,i.create),t[W]=!0,Q=!1,s||Zt(t)),t},e[t].prototype=r.prototype;try{r.prototype.constructor=e[t]}catch(i){z=!0,B(r,W,{value:e[t]})}}},r=i.get(/^HTML[A-Z]*[a-z]/),o=r.length;o--;t(r[o]));n.createElement=function(e,t){var n=Yt(t);return n?gt.call(this,e,et(n)):gt.call(this,e)},St||(Tt=!0,n[s](""))}var n=e.document,r=e.Object,i=function(e){var t=/^[A-Z]+[a-z]/,n=function(e){var t=[],n;for(n in s)e.test(n)&&t.push(n);return t},i=function(e,t){t=t.toLowerCase(),t in s||(s[e]=(s[e]||[]).concat(t),s[t]=s[t.toUpperCase()]=e)},s=(r.create||r)(null),o={},u,a,f,l;for(a in e)for(l in e[a]){f=e[a][l],s[l]=f;for(u=0;u<f.length;u++)s[f[u].toLowerCase()]=s[f[u].toUpperCase()]=l}return o.get=function(r){return typeof r=="string"?s[r]||(t.test(r)?[]:""):n(r)},o.set=function(n,r){return t.test(n)?i(n,r):i(r,n),o},o}({collections:{HTMLAllCollection:["all"],HTMLCollection:["forms"],HTMLFormControlsCollection:["elements"],HTMLOptionsCollection:["options"]},elements:{Element:["element"],HTMLAnchorElement:["a"],HTMLAppletElement:["applet"],HTMLAreaElement:["area"],HTMLAttachmentElement:["attachment"],HTMLAudioElement:["audio"],HTMLBRElement:["br"],HTMLBaseElement:["base"],HTMLBodyElement:["body"],HTMLButtonElement:["button"],HTMLCanvasElement:["canvas"],HTMLContentElement:["content"],HTMLDListElement:["dl"],HTMLDataElement:["data"],HTMLDataListElement:["datalist"],HTMLDetailsElement:["details"],HTMLDialogElement:["dialog"],HTMLDirectoryElement:["dir"],HTMLDivElement:["div"],HTMLDocument:["document"],HTMLElement:["element","abbr","address","article","aside","b","bdi","bdo","cite","code","command","dd","dfn","dt","em","figcaption","figure","footer","header","i","kbd","mark","nav","noscript","rp","rt","ruby","s","samp","section","small","strong","sub","summary","sup","u","var","wbr"],HTMLEmbedElement:["embed"],HTMLFieldSetElement:["fieldset"],HTMLFontElement:["font"],HTMLFormElement:["form"],HTMLFrameElement:["frame"],HTMLFrameSetElement:["frameset"],HTMLHRElement:["hr"],HTMLHeadElement:["head"],HTMLHeadingElement:["h1","h2","h3","h4","h5","h6"],HTMLHtmlElement:["html"],HTMLIFrameElement:["iframe"],HTMLImageElement:["img"],HTMLInputElement:["input"],HTMLKeygenElement:["keygen"],HTMLLIElement:["li"],HTMLLabelElement:["label"],HTMLLegendElement:["legend"],HTMLLinkElement:["link"],HTMLMapElement:["map"],HTMLMarqueeElement:["marquee"],HTMLMediaElement:["media"],HTMLMenuElement:["menu"],HTMLMenuItemElement:["menuitem"],HTMLMetaElement:["meta"],HTMLMeterElement:["meter"],HTMLModElement:["del","ins"],HTMLOListElement:["ol"],HTMLObjectElement:["object"],HTMLOptGroupElement:["optgroup"],HTMLOptionElement:["option"],HTMLOutputElement:["output"],HTMLParagraphElement:["p"],HTMLParamElement:["param"],HTMLPictureElement:["picture"],HTMLPreElement:["pre"],HTMLProgressElement:["progress"],HTMLQuoteElement:["blockquote","q","quote"],HTMLScriptElement:["script"],HTMLSelectElement:["select"],HTMLShadowElement:["shadow"],HTMLSlotElement:["slot"],HTMLSourceElement:["source"],HTMLSpanElement:["span"],HTMLStyleElement:["style"],HTMLTableCaptionElement:["caption"],HTMLTableCellElement:["td","th"],HTMLTableColElement:["col","colgroup"],HTMLTableElement:["table"],HTMLTableRowElement:["tr"],HTMLTableSectionElement:["thead","tbody","tfoot"],HTMLTemplateElement:["template"],HTMLTextAreaElement:["textarea"],HTMLTimeElement:["time"],HTMLTitleElement:["title"],HTMLTrackElement:["track"],HTMLUListElement:["ul"],HTMLUnknownElement:["unknown","vhgroupv","vkeygen"],HTMLVideoElement:["video"]},nodes:{Attr:["node"],Audio:["audio"],CDATASection:["node"],CharacterData:["node"],Comment:["#comment"],Document:["#document"],DocumentFragment:["#document-fragment"],DocumentType:["node"],HTMLDocument:["#document"],Image:["img"],Option:["option"],ProcessingInstruction:["node"],ShadowRoot:["#shadow-root"],Text:["#text"],XMLDocument:["xml"]}});typeof t!="object"&&(t={type:t||"auto"});var s="registerElement",o="__"+s+(e.Math.random()*1e5>>0),u="addEventListener",a="attached",f="Callback",l="detached",c="extends",h="attributeChanged"+f,p=a+f,d="connected"+f,v="disconnected"+f,m="created"+f,g=l+f,y="ADDITION",b="MODIFICATION",w="REMOVAL",E="DOMAttrModified",S="DOMContentLoaded",x="DOMSubtreeModified",T="<",N="=",C=/^[A-Z][A-Z0-9]*(?:-[A-Z0-9]+)+$/,k=["ANNOTATION-XML","COLOR-PROFILE","FONT-FACE","FONT-FACE-SRC","FONT-FACE-URI","FONT-FACE-FORMAT","FONT-FACE-NAME","MISSING-GLYPH"],L=[],A=[],O="",M=n.documentElement,_=L.indexOf||function(e){for(var t=this.length;t--&&this[t]!==e;);return t},D=r.prototype,P=D.hasOwnProperty,H=D.isPrototypeOf,B=r.defineProperty,j=[],F=r.getOwnPropertyDescriptor,I=r.getOwnPropertyNames,q=r.getPrototypeOf,R=r.setPrototypeOf,U=!!r.__proto__,z=!1,W="__dreCEv1",X=e.customElements,V=!/^force/.test(t.type)&&!!(X&&X.define&&X.get&&X.whenDefined),$=r.create||r,J=e.Map||function(){var t=[],n=[],r;return{get:function(e){return n[_.call(t,e)]},set:function(e,i){r=_.call(t,e),r<0?n[t.push(e)-1]=i:n[r]=i}}},K=e.Promise||function(e){function i(e){n=!0;while(t.length)t.shift()(e)}var t=[],n=!1,r={"catch":function(){return r},then:function(e){return t.push(e),n&&setTimeout(i,1),r}};return e(i),r},Q=!1,G=$(null),Y=$(null),Z=new J,et=function(e){return e.toLowerCase()},tt=r.create||function sn(e){return e?(sn.prototype=e,new sn):this},nt=R||(U?function(e,t){return e.__proto__=t,e}:I&&F?function(){function e(e,t){for(var n,r=I(t),i=0,s=r.length;i<s;i++)n=r[i],P.call(e,n)||B(e,n,F(t,n))}return function(t,n){do e(t,n);while((n=q(n))&&!H.call(n,t));return t}}():function(e,t){for(var n in t)e[n]=t[n];return e}),rt=e.MutationObserver||e.WebKitMutationObserver,it=(e.HTMLElement||e.Element||e.Node).prototype,st=!H.call(it,M),ot=st?function(e,t,n){return e[t]=n.value,e}:B,ut=st?function(e){return e.nodeType===1}:function(e){return H.call(it,e)},at=st&&[],ft=it.attachShadow,lt=it.cloneNode,ct=it.dispatchEvent,ht=it.getAttribute,pt=it.hasAttribute,dt=it.removeAttribute,vt=it.setAttribute,mt=n.createElement,gt=mt,yt=rt&&{attributes:!0,characterData:!0,attributeOldValue:!0},bt=rt||function(e){Nt=!1,M.removeEventListener(E,bt)},wt,Et=0,St=s in n&&!/^force-all/.test(t.type),xt=!0,Tt=!1,Nt=!0,Ct=!0,kt=!0,Lt,At,Ot,Mt,_t,Dt,Pt;St||(R||U?(Dt=function(e,t){H.call(t,e)||Xt(e,t)},Pt=Xt):(Dt=function(e,t){e[o]||(e[o]=r(!0),Xt(e,t))},Pt=Dt),st?(Nt=!1,function(){var e=F(it,u),t=e.value,n=function(e){var t=new CustomEvent(E,{bubbles:!0});t.attrName=e,t.prevValue=ht.call(this,e),t.newValue=null,t[w]=t.attrChange=2,dt.call(this,e),ct.call(this,t)},r=function(e,t){var n=pt.call(this,e),r=n&&ht.call(this,e),i=new CustomEvent(E,{bubbles:!0});vt.call(this,e,t),i.attrName=e,i.prevValue=n?r:null,i.newValue=t,n?i[b]=i.attrChange=1:i[y]=i.attrChange=0,ct.call(this,i)},i=function(e){var t=e.currentTarget,n=t[o],r=e.propertyName,i;n.hasOwnProperty(r)&&(n=n[r],i=new CustomEvent(E,{bubbles:!0}),i.attrName=n.name,i.prevValue=n.value||null,i.newValue=n.value=t[r]||null,i.prevValue==null?i[y]=i.attrChange=0:i[b]=i.attrChange=1,ct.call(t,i))};e.value=function(e,s,u){e===E&&this[h]&&this.setAttribute!==r&&(this[o]={className:{name:"class",value:this.className}},this.setAttribute=r,this.removeAttribute=n,t.call(this,"propertychange",i)),t.call(this,e,s,u)},B(it,u,e)}()):rt||(M[u](E,bt),M.setAttribute(o,1),M.removeAttribute(o),Nt&&(Lt=function(e){var t=this,n,r,i;if(t===e.target){n=t[o],t[o]=r=Ot(t);for(i in r){if(!(i in n))return At(0,t,i,n[i],r[i],y);if(r[i]!==n[i])return At(1,t,i,n[i],r[i],b)}for(i in n)if(!(i in r))return At(2,t,i,n[i],r[i],w)}},At=function(e,t,n,r,i,s){var o={attrChange:e,currentTarget:t,attrName:n,prevValue:r,newValue:i};o[s]=e,Rt(o)},Ot=function(e){for(var t,n,r={},i=e.attributes,s=0,o=i.length;s<o;s++)t=i[s],n=t.name,n!=="setAttribute"&&(r[n]=t.value);return r})),n[s]=function(t,r){p=t.toUpperCase(),xt&&(xt=!1,rt?(Mt=function(e,t){function n(e,t){for(var n=0,r=e.length;n<r;t(e[n++]));}return new rt(function(r){for(var i,s,o,u=0,a=r.length;u<a;u++)i=r[u],i.type==="childList"?(n(i.addedNodes,e),n(i.removedNodes,t)):(s=i.target,kt&&s[h]&&i.attributeName!=="style"&&(o=ht.call(s,i.attributeName),o!==i.oldValue&&s[h](i.attributeName,i.oldValue,o)))})}(Ft(a),Ft(l)),_t=function(e){return Mt.observe(e,{childList:!0,subtree:!0}),e},_t(n),ft&&(it.attachShadow=function(){return _t(ft.apply(this,arguments))})):(wt=[],n[u]("DOMNodeInserted",Ut(a)),n[u]("DOMNodeRemoved",Ut(l))),n[u](S,zt),n[u]("readystatechange",zt),it.cloneNode=function(e){var t=lt.call(this,!!e),n=It(t);return-1<n&&Pt(t,A[n]),e&&O.length&&jt(t.querySelectorAll(O)),t});if(Tt)return Tt=!1;-2<_.call(L,N+p)+_.call(L,T+p)&&$t(t);if(!C.test(p)||-1<_.call(k,p))throw new Error("The type "+t+" is invalid");var i=function(){return o?n.createElement(f,p):n.createElement(f)},s=r||D,o=P.call(s,c),f=o?r[c].toUpperCase():p,p,d;return o&&-1<_.call(L,T+f)&&$t(f),d=L.push((o?N:T)+p)-1,O=O.concat(O.length?",":"",o?f+'[is="'+t.toLowerCase()+'"]':f),i.prototype=A[d]=P.call(s,"prototype")?s.prototype:tt(it),O.length&&Bt(n.querySelectorAll(O),a),i},n.createElement=gt=function(e,t){var r=Yt(t),i=r?mt.call(n,e,et(r)):mt.call(n,e),s=""+e,o=_.call(L,(r?N:T)+(r||s).toUpperCase()),u=-1<o;return r&&(i.setAttribute("is",r=r.toLowerCase()),u&&(u=qt(s.toUpperCase(),r))),kt=!n.createElement.innerHTMLHelper,u&&Pt(i,A[o]),i}),Kt.prototype={constructor:Kt,define:V?function(e,t,n){if(n)Qt(e,t,n);else{var r=e.toUpperCase();G[r]={constructor:t,create:[r]},Z.set(t,r),X.define(e,t)}}:Qt,get:V?function(e){return X.get(e)||Gt(e)}:Gt,whenDefined:V?function(e){return K.race([X.whenDefined(e),en(e)])}:en};if(!X||/^force/.test(t.type))tn();else if(!t.noBuiltIn)try{(function(t,r,i){r[c]="a",t.prototype=tt(HTMLAnchorElement.prototype),t.prototype.constructor=t,e.customElements.define(i,t,r);if(ht.call(n.createElement("a",{is:i}),"is")!==i||V&&ht.call(new t,"is")!==i)throw r})(function on(){return Reflect.construct(HTMLAnchorElement,[],on)},{},"document-register-element-a")}catch(nn){tn()}if(!t.noBuiltIn)try{mt.call(n,"a","a")}catch(rn){et=function(e){return{is:e.toLowerCase()}}}})(window); } /*! Element.closest and Element.matches https://github.com/jonathantneal/closest Creative Commons Zero v1.0 Universal */ (function(a){"function"!==typeof a.matches&&(a.matches=a.msMatchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||function(a){a=(this.document||this.ownerDocument).querySelectorAll(a);for(var b=0;a[b]&&a[b]!==this;)++b;return!!a[b]});"function"!==typeof a.closest&&(a.closest=function(a){for(var b=this;b&&1===b.nodeType;){if(b.matches(a))return b;b=b.parentNode}return null})})(window.Element.prototype); /*! Element.remove() https://developer.mozilla.org/en-US/docs/Web/API/ChildNode/remove */ (function(b){b.forEach(function(a){a.hasOwnProperty("remove")||Object.defineProperty(a,"remove",{configurable:!0,enumerable:!0,writable:!0,value:function(){null!==this.parentNode&&this.parentNode.removeChild(this)}})})})([Element.prototype,CharacterData.prototype,DocumentType.prototype]);}PK}w�\g�ScXX"esm/es5/build/esckjbl8.sc.entry.jsnu�[���/*! Built with http://stenciljs.com */ import{h}from"../ionicons.core.js";function getName(t,e,i,n){return e=(e||"md").toLowerCase(),i&&"ios"===e?t=i.toLowerCase():n&&"md"===e?t=n.toLowerCase():t&&(t=t.toLowerCase(),/^md-|^ios-|^logo-/.test(t)||(t=e+"-"+t)),"string"!=typeof t||""===t.trim()?null:""!==t.replace(/[a-z]|-|\d/gi,"")?null:t}function getSrc(t){return"string"==typeof t&&(t=t.trim()).length>0&&/(\/|\.)/.test(t)?t:null}function isValid(t){if(1===t.nodeType){if("script"===t.nodeName.toLowerCase())return!1;for(var e=0;e<t.attributes.length;e++){var i=t.attributes[e].value;if("string"==typeof i&&0===i.toLowerCase().indexOf("on"))return!1}for(e=0;e<t.childNodes.length;e++)if(!isValid(t.childNodes[e]))return!1}return!0}var Icon=function(){function t(){this.isVisible=!1,this.lazy=!1}return t.prototype.componentWillLoad=function(){var t=this;this.waitUntilVisible(this.el,"50px",function(){t.isVisible=!0,t.loadIcon()})},t.prototype.componentDidUnload=function(){this.io&&(this.io.disconnect(),this.io=void 0)},t.prototype.waitUntilVisible=function(t,e,i){var n=this;if(this.lazy&&this.win&&this.win.IntersectionObserver){var r=this.io=new this.win.IntersectionObserver(function(t){t[0].isIntersecting&&(r.disconnect(),n.io=void 0,i())},{rootMargin:e});r.observe(t)}else i()},t.prototype.loadIcon=function(){var t=this;if(!this.isServer&&this.isVisible){var e=this.getUrl();e&&getSvgContent(this.doc,e,"s-ion-icon").then(function(e){return t.svgContent=e})}if(!this.ariaLabel){var i=getName(this.name,this.mode,this.ios,this.md);i&&(this.ariaLabel=i.replace("ios-","").replace("md-","").replace(/\-/g," "))}},t.prototype.getUrl=function(){var t=getSrc(this.src);return t||((t=getName(this.name,this.mode,this.ios,this.md))?this.getNamedUrl(t):(t=getSrc(this.icon))?t:(t=getName(this.icon,this.mode,this.ios,this.md))?this.getNamedUrl(t):null)},t.prototype.getNamedUrl=function(t){return this.resourcesUrl+"svg/"+t+".svg"},t.prototype.hostData=function(){var t;return{role:"img",class:Object.assign({},createColorClasses(this.color),(t={},t["icon-"+this.size]=!!this.size,t))}},t.prototype.render=function(){return h("div",!this.isServer&&this.svgContent?{class:"icon-inner",innerHTML:this.svgContent}:{class:"icon-inner"})},Object.defineProperty(t,"is",{get:function(){return"ion-icon"},enumerable:!0,configurable:!0}),Object.defineProperty(t,"encapsulation",{get:function(){return"shadow"},enumerable:!0,configurable:!0}),Object.defineProperty(t,"properties",{get:function(){return{ariaLabel:{type:String,attr:"aria-label",reflectToAttr:!0,mutable:!0},color:{type:String,attr:"color"},doc:{context:"document"},el:{elementRef:!0},icon:{type:String,attr:"icon",watchCallbacks:["loadIcon"]},ios:{type:String,attr:"ios"},isServer:{context:"isServer"},isVisible:{state:!0},lazy:{type:Boolean,attr:"lazy"},md:{type:String,attr:"md"},mode:{type:String,attr:"mode"},name:{type:String,attr:"name",watchCallbacks:["loadIcon"]},resourcesUrl:{context:"resourcesUrl"},size:{type:String,attr:"size"},src:{type:String,attr:"src",watchCallbacks:["loadIcon"]},svgContent:{state:!0},win:{context:"window"}}},enumerable:!0,configurable:!0}),Object.defineProperty(t,"style",{get:function(){return".sc-ion-icon-h{display:inline-block;width:1em;height:1em;contain:strict;-webkit-box-sizing:content-box!important;box-sizing:content-box!important}.ion-color.sc-ion-icon-h{color:var(--ion-color-base)!important}.icon-small.sc-ion-icon-h{font-size:var(--ion-icon-size-small,18px)!important}.icon-large.sc-ion-icon-h{font-size:var(--ion-icon-size-large,32px)!important}.icon-inner.sc-ion-icon, svg.sc-ion-icon{display:block;fill:currentColor;stroke:currentColor;height:100%;width:100%}.ion-color-primary.sc-ion-icon-h{--ion-color-base:var(--ion-color-primary, #3880ff)}.ion-color-secondary.sc-ion-icon-h{--ion-color-base:var(--ion-color-secondary, #0cd1e8)}.ion-color-tertiary.sc-ion-icon-h{--ion-color-base:var(--ion-color-tertiary, #f4a942)}.ion-color-success.sc-ion-icon-h{--ion-color-base:var(--ion-color-success, #10dc60)}.ion-color-warning.sc-ion-icon-h{--ion-color-base:var(--ion-color-warning, #ffce00)}.ion-color-danger.sc-ion-icon-h{--ion-color-base:var(--ion-color-danger, #f14141)}.ion-color-light.sc-ion-icon-h{--ion-color-base:var(--ion-color-light, #f4f5f8)}.ion-color-medium.sc-ion-icon-h{--ion-color-base:var(--ion-color-medium, #989aa2)}.ion-color-dark.sc-ion-icon-h{--ion-color-base:var(--ion-color-dark, #222428)}"},enumerable:!0,configurable:!0}),t}(),requests=new Map;function getSvgContent(t,e,i){var n=requests.get(e);return n||(n=fetch(e,{cache:"force-cache"}).then(function(t){return t.ok?t.text():Promise.resolve(null)}).then(function(e){return validateContent(t,e,i)}),requests.set(e,n)),n}function validateContent(t,e,i){if(e){var n=t.createDocumentFragment(),r=t.createElement("div");r.innerHTML=e,n.appendChild(r);for(var o=r.childNodes.length-1;o>=0;o--)"svg"!==r.childNodes[o].nodeName.toLowerCase()&&r.removeChild(r.childNodes[o]);var s=r.firstElementChild;if(s&&"svg"===s.nodeName.toLowerCase()&&(i&&s.setAttribute("class",i),isValid(s)))return r.innerHTML}return""}function createColorClasses(t){var e;return t?((e={"ion-color":!0})["ion-color-"+t]=!0,e):null}export{Icon as IonIcon};PK}w�\Z]��esm/es5/build/esckjbl8.entry.jsnu�[���/*! Built with http://stenciljs.com */ import{h}from"../ionicons.core.js";function getName(t,e,i,n){return e=(e||"md").toLowerCase(),i&&"ios"===e?t=i.toLowerCase():n&&"md"===e?t=n.toLowerCase():t&&(t=t.toLowerCase(),/^md-|^ios-|^logo-/.test(t)||(t=e+"-"+t)),"string"!=typeof t||""===t.trim()?null:""!==t.replace(/[a-z]|-|\d/gi,"")?null:t}function getSrc(t){return"string"==typeof t&&(t=t.trim()).length>0&&/(\/|\.)/.test(t)?t:null}function isValid(t){if(1===t.nodeType){if("script"===t.nodeName.toLowerCase())return!1;for(var e=0;e<t.attributes.length;e++){var i=t.attributes[e].value;if("string"==typeof i&&0===i.toLowerCase().indexOf("on"))return!1}for(e=0;e<t.childNodes.length;e++)if(!isValid(t.childNodes[e]))return!1}return!0}var Icon=function(){function t(){this.isVisible=!1,this.lazy=!1}return t.prototype.componentWillLoad=function(){var t=this;this.waitUntilVisible(this.el,"50px",function(){t.isVisible=!0,t.loadIcon()})},t.prototype.componentDidUnload=function(){this.io&&(this.io.disconnect(),this.io=void 0)},t.prototype.waitUntilVisible=function(t,e,i){var n=this;if(this.lazy&&this.win&&this.win.IntersectionObserver){var r=this.io=new this.win.IntersectionObserver(function(t){t[0].isIntersecting&&(r.disconnect(),n.io=void 0,i())},{rootMargin:e});r.observe(t)}else i()},t.prototype.loadIcon=function(){var t=this;if(!this.isServer&&this.isVisible){var e=this.getUrl();e&&getSvgContent(this.doc,e,"s-ion-icon").then(function(e){return t.svgContent=e})}if(!this.ariaLabel){var i=getName(this.name,this.mode,this.ios,this.md);i&&(this.ariaLabel=i.replace("ios-","").replace("md-","").replace(/\-/g," "))}},t.prototype.getUrl=function(){var t=getSrc(this.src);return t||((t=getName(this.name,this.mode,this.ios,this.md))?this.getNamedUrl(t):(t=getSrc(this.icon))?t:(t=getName(this.icon,this.mode,this.ios,this.md))?this.getNamedUrl(t):null)},t.prototype.getNamedUrl=function(t){return this.resourcesUrl+"svg/"+t+".svg"},t.prototype.hostData=function(){var t;return{role:"img",class:Object.assign({},createColorClasses(this.color),(t={},t["icon-"+this.size]=!!this.size,t))}},t.prototype.render=function(){return h("div",!this.isServer&&this.svgContent?{class:"icon-inner",innerHTML:this.svgContent}:{class:"icon-inner"})},Object.defineProperty(t,"is",{get:function(){return"ion-icon"},enumerable:!0,configurable:!0}),Object.defineProperty(t,"encapsulation",{get:function(){return"shadow"},enumerable:!0,configurable:!0}),Object.defineProperty(t,"properties",{get:function(){return{ariaLabel:{type:String,attr:"aria-label",reflectToAttr:!0,mutable:!0},color:{type:String,attr:"color"},doc:{context:"document"},el:{elementRef:!0},icon:{type:String,attr:"icon",watchCallbacks:["loadIcon"]},ios:{type:String,attr:"ios"},isServer:{context:"isServer"},isVisible:{state:!0},lazy:{type:Boolean,attr:"lazy"},md:{type:String,attr:"md"},mode:{type:String,attr:"mode"},name:{type:String,attr:"name",watchCallbacks:["loadIcon"]},resourcesUrl:{context:"resourcesUrl"},size:{type:String,attr:"size"},src:{type:String,attr:"src",watchCallbacks:["loadIcon"]},svgContent:{state:!0},win:{context:"window"}}},enumerable:!0,configurable:!0}),Object.defineProperty(t,"style",{get:function(){return":host{display:inline-block;width:1em;height:1em;contain:strict;-webkit-box-sizing:content-box!important;box-sizing:content-box!important}:host(.ion-color){color:var(--ion-color-base)!important}:host(.icon-small){font-size:var(--ion-icon-size-small,18px)!important}:host(.icon-large){font-size:var(--ion-icon-size-large,32px)!important}.icon-inner,svg{display:block;fill:currentColor;stroke:currentColor;height:100%;width:100%}:host(.ion-color-primary){--ion-color-base:var(--ion-color-primary, #3880ff)}:host(.ion-color-secondary){--ion-color-base:var(--ion-color-secondary, #0cd1e8)}:host(.ion-color-tertiary){--ion-color-base:var(--ion-color-tertiary, #f4a942)}:host(.ion-color-success){--ion-color-base:var(--ion-color-success, #10dc60)}:host(.ion-color-warning){--ion-color-base:var(--ion-color-warning, #ffce00)}:host(.ion-color-danger){--ion-color-base:var(--ion-color-danger, #f14141)}:host(.ion-color-light){--ion-color-base:var(--ion-color-light, #f4f5f8)}:host(.ion-color-medium){--ion-color-base:var(--ion-color-medium, #989aa2)}:host(.ion-color-dark){--ion-color-base:var(--ion-color-dark, #222428)}"},enumerable:!0,configurable:!0}),t}(),requests=new Map;function getSvgContent(t,e,i){var n=requests.get(e);return n||(n=fetch(e,{cache:"force-cache"}).then(function(t){return t.ok?t.text():Promise.resolve(null)}).then(function(e){return validateContent(t,e,i)}),requests.set(e,n)),n}function validateContent(t,e,i){if(e){var n=t.createDocumentFragment(),r=t.createElement("div");r.innerHTML=e,n.appendChild(r);for(var o=r.childNodes.length-1;o>=0;o--)"svg"!==r.childNodes[o].nodeName.toLowerCase()&&r.removeChild(r.childNodes[o]);var s=r.firstElementChild;if(s&&"svg"===s.nodeName.toLowerCase()&&(i&&s.setAttribute("class",i),isValid(s)))return r.innerHTML}return""}function createColorClasses(t){var e;return t?((e={"ion-color":!0})["ion-color-"+t]=!0,e):null}export{Icon as IonIcon};PK}w�\-��esm/es5/index.jsnu�[���// ionicons: ES ModulePK}w�\���WiWiesm/es5/ionicons.core.jsnu�[���/*! * ionicons: Core, es5 * Built with http://stenciljs.com */ function n(n,t){return"sc-"+n.n+(t&&t!==O?"-"+t:"")}function t(n,t){return n+(t?"-h":"-s")}function e(t,e,r,i){var o=r.n+i.mode,u=r[o];if((2===r.t||1===r.t&&!t.r.e)&&(i["s-sc"]=u?n(r,i.mode):n(r)),u||(u=r[o=r.n+O]),u){var f=e.i.head;if(e.e)if(1===r.t)f=i.shadowRoot;else for(var c=i;c=e.o(c);)if(c.host&&c.host.shadowRoot){f=c.host.shadowRoot;break}var a=t.u.get(f);if(a||t.u.set(f,a={}),!a[o]){var s=void 0;if(t.f?s=t.f.c(i,o,u):((s=e.a("style")).innerHTML=u,a[o]=!0),s){var l=f.querySelectorAll("[data-styles]");e.s(f,s,l.length&&l[l.length-1].nextSibling||f.firstChild)}}}}function r(n,t,e,r){void 0===r&&(r="boolean"==typeof e);var i=t!==(t=t.replace(/^xlink\:?/,""));null==e||r&&(!e||"false"===e)?i?n.removeAttributeNS(N,_(t)):n.removeAttribute(t):"function"!=typeof e&&(e=r?"":e.toString(),i?n.setAttributeNS(N,_(t),e):n.setAttribute(t,e))}function i(n,t,e,i,f,c,a){if("class"!==e||c)if("style"===e){for(var s in i)f&&null!=f[s]||(/-/.test(s)?t.style.l(s):t.style[s]="");for(var s in f)i&&f[s]===i[s]||(/-/.test(s)?t.style.setProperty(s,f[s]):t.style[s]=f[s])}else if("o"!==e[0]||"n"!==e[1]||!/[A-Z]/.test(e[2])||e in t)if("list"!==e&&"type"!==e&&!c&&(e in t||-1!==["object","function"].indexOf(typeof f)&&null!==f)){var l=n.v(t);l&&l.p&&l.p[e]?(u(t,e,f),a&&l.p[e].d&&r(t,l.p[e].y,f,4===l.p[e].m)):"ref"!==e&&(u(t,e,null==f?"":f),null!=f&&!1!==f||n.r.b(t,e))}else null!=f&&"key"!==e?r(t,e,f):(c||n.r.w(t,e)&&(null==f||!1===f))&&n.r.b(t,e);else e=_(e)in t?_(e.substring(2)):_(e[2])+e.substring(3),f?f!==i&&n.r.g(t,e,f):n.r.M(t,e);else if(i!==f){var v=o(i),p=o(f),d=v.filter(function(n){return!p.includes(n)}),h=o(t.className).filter(function(n){return!d.includes(n)}),y=p.filter(function(n){return!v.includes(n)&&!h.includes(n)});h.push.apply(h,y),t.className=h.join(" ")}}function o(n){return null==n||""===n?[]:n.trim().split(/\s+/)}function u(n,t,e){try{n[t]=e}catch(n){}}function f(n,t,e,r,o){var u=11===e.j.nodeType&&e.j.host?e.j.host:e.j,f=t&&t.vattrs||S,c=e.vattrs||S;for(o in f)c&&null!=c[o]||null==f[o]||i(n,u,o,f[o],void 0,r,e.k);for(o in c)o in f&&c[o]===("value"===o||"checked"===o?u[o]:f[o])||i(n,u,o,f[o],c[o],r,e.k)}function c(n,t){function e(i,o,u,c,a,v,m,b,w){if(b=o.vchildren[u],s||(p=!0,"slot"===b.vtag&&(l&&t.A(c,l+"-s"),b.vchildren?b.C=!0:b.O=!0)),P(b.vtext))b.j=t.S(b.vtext);else if(b.O)b.j=t.S("");else{if(v=b.j=R||"svg"===b.vtag?t.x("http://www.w3.org/2000/svg",b.vtag):t.a(b.C?"slot-fb":b.vtag),n.P(v)&&n._.delete(y),R="svg"===b.vtag||"foreignObject"!==b.vtag&&R,f(n,null,b,R),P(l)&&v["s-si"]!==l&&t.A(v,v["s-si"]=l),b.vchildren)for(a=0;a<b.vchildren.length;++a)(m=e(i,b,a,v))&&t.T(v,m);"svg"===b.vtag&&(R=!1)}return b.j["s-hn"]=h,(b.C||b.O)&&(b.j["s-sr"]=!0,b.j["s-cr"]=d,b.j["s-sn"]=b.vname||"",(w=i&&i.vchildren&&i.vchildren[u])&&w.vtag===b.vtag&&i.j&&r(i.j)),b.j}function r(e,i,o,u){n.W=!0;var f=t.N(e);for(o=f.length-1;o>=0;o--)(u=f[o])["s-hn"]!==h&&u["s-ol"]&&(t.R(u),t.s(a(u),u,c(u)),t.R(u["s-ol"]),u["s-ol"]=null,p=!0),i&&r(u,i);n.W=!1}function i(n,r,i,o,u,f,a,s){var l=n["s-cr"];for((a=l&&t.o(l)||n).shadowRoot&&t.L(a)===h&&(a=a.shadowRoot);u<=f;++u)o[u]&&(s=P(o[u].vtext)?t.S(o[u].vtext):e(null,i,u,n))&&(o[u].j=s,t.s(a,s,c(r)))}function o(n,e,i,o){for(;e<=i;++e)P(n[e])&&(o=n[e].j,v=!0,o["s-ol"]?t.R(o["s-ol"]):r(o,!0),t.R(o))}function u(n,t){return n.vtag===t.vtag&&n.vkey===t.vkey&&("slot"!==n.vtag||n.vname===t.vname)}function c(n){return n&&n["s-ol"]?n["s-ol"]:n}function a(n){return t.o(n["s-ol"]?n["s-ol"]:n)}var s,l,v,p,d,h,y,m=[];return function b(w,g,M,j,k,$,A,E,C,O,S,x){if(y=w,h=t.L(y),d=y["s-cr"],s=j,l=y["s-sc"],p=v=!1,function s(l,v,p){var d=v.j=l.j,h=l.vchildren,y=v.vchildren;R=v.j&&P(t.D(v.j))&&void 0!==v.j.ownerSVGElement,R="svg"===v.vtag||"foreignObject"!==v.vtag&&R,P(v.vtext)?(p=d["s-cr"])?t.F(t.o(p),v.vtext):l.vtext!==v.vtext&&t.F(d,v.vtext):("slot"!==v.vtag&&f(n,l,v,R),P(h)&&P(y)?function m(n,f,l,v,p,d,h,y){for(var m=0,b=0,w=f.length-1,g=f[0],M=f[w],j=v.length-1,k=v[0],$=v[j];m<=w&&b<=j;)if(null==g)g=f[++m];else if(null==M)M=f[--w];else if(null==k)k=v[++b];else if(null==$)$=v[--j];else if(u(g,k))s(g,k),g=f[++m],k=v[++b];else if(u(M,$))s(M,$),M=f[--w],$=v[--j];else if(u(g,$))"slot"!==g.vtag&&"slot"!==$.vtag||r(t.o(g.j)),s(g,$),t.s(n,g.j,t.H(M.j)),g=f[++m],$=v[--j];else if(u(M,k))"slot"!==g.vtag&&"slot"!==$.vtag||r(t.o(M.j)),s(M,k),t.s(n,M.j,g.j),M=f[--w],k=v[++b];else{for(p=null,d=m;d<=w;++d)if(f[d]&&P(f[d].vkey)&&f[d].vkey===k.vkey){p=d;break}P(p)?((y=f[p]).vtag!==k.vtag?h=e(f&&f[b],l,p,n):(s(y,k),f[p]=void 0,h=y.j),k=v[++b]):(h=e(f&&f[b],l,b,n),k=v[++b]),h&&t.s(a(g.j),h,c(g.j))}m>w?i(n,null==v[j+1]?null:v[j+1].j,l,v,b,j):b>j&&o(f,m,w)}(d,h,v,y):P(y)?(P(l.vtext)&&t.F(d,""),i(d,null,v,y,0,y.length-1)):P(h)&&o(h,0,h.length-1)),R&&"svg"===v.vtag&&(R=!1)}(g,M),p){for(function n(e,r,i,o,u,f,c,a,s,l){for(u=0,f=(r=t.N(e)).length;u<f;u++){if((i=r[u])["s-sr"]&&(o=i["s-cr"]))for(a=t.N(t.o(o)),s=i["s-sn"],c=a.length-1;c>=0;c--)(o=a[c])["s-cn"]||o["s-nr"]||o["s-hn"]===i["s-hn"]||((3===(l=t.q(o))||8===l)&&""===s||1===l&&null===t.U(o,"slot")&&""===s||1===l&&t.U(o,"slot")===s)&&(m.some(function(n){return n.B===o})||(v=!0,o["s-sn"]=s,m.push({I:i,B:o})));1===t.q(i)&&n(i)}}(M.j),A=0;A<m.length;A++)(E=m[A]).B["s-ol"]||((C=t.S(""))["s-nr"]=E.B,t.s(t.o(E.B),E.B["s-ol"]=C,E.B));for(n.W=!0,A=0;A<m.length;A++){for(E=m[A],S=t.o(E.I),x=t.H(E.I),C=E.B["s-ol"];C=t.G(C);)if((O=C["s-nr"])&&O&&O["s-sn"]===E.B["s-sn"]&&S===t.o(O)&&(O=t.H(O))&&O&&!O["s-nr"]){x=O;break}(!x&&S!==t.o(E.B)||t.H(E.B)!==x)&&E.B!==x&&(t.R(E.B),t.s(S,E.B,x))}n.W=!1}return v&&function n(e,r,i,o,u,f,c,a){for(o=0,u=(i=t.N(e)).length;o<u;o++)if(r=i[o],1===t.q(r)){if(r["s-sr"])for(c=r["s-sn"],r.hidden=!1,f=0;f<u;f++)if(i[f]["s-hn"]!==r["s-hn"])if(a=t.q(i[f]),""!==c){if(1===a&&c===t.U(i[f],"slot")){r.hidden=!0;break}}else if(1===a||3===a&&""!==t.Q(i[f]).trim()){r.hidden=!0;break}n(r)}}(M.j),m.length=0,M}}function a(n,t){n&&(n.vattrs&&n.vattrs.ref&&n.vattrs.ref(t?null:n.j),n.vchildren&&n.vchildren.forEach(function(n){a(n,t)}))}function s(n,t){for(var e,r,i=null,o=!1,u=!1,f=arguments.length;f-- >2;)L.push(arguments[f]);for(;L.length>0;){var c=L.pop();if(c&&void 0!==c.pop)for(f=c.length;f--;)L.push(c[f]);else"boolean"==typeof c&&(c=null),(u="function"!=typeof n)&&(null==c?c="":"number"==typeof c?c=String(c):"string"!=typeof c&&(u=!1)),u&&o?i[i.length-1].vtext+=c:null===i?i=[u?{vtext:c}:c]:i.push(u?{vtext:c}:c),o=u}if(null!=t){if(t.className&&(t.class=t.className),"object"==typeof t.class){for(f in t.class)t.class[f]&&L.push(f);t.class=L.join(" "),L.length=0}null!=t.key&&(e=t.key),null!=t.name&&(r=t.name)}return"function"==typeof n?n(t,i||[],D):{vtag:n,vchildren:i,vtext:void 0,vattrs:t,vkey:e,vname:r,j:void 0,k:!1}}function l(n){return{vtag:n.vtag,vchildren:n.vchildren,vtext:n.vtext,vattrs:n.vattrs,vkey:n.vkey,vname:n.vname}}function v(n){return{Y:n[0],Z:n[1],z:!!n[2],J:!!n[3],K:!!n[4]}}function p(n,t){if(P(t)&&"object"!=typeof t&&"function"!=typeof t){if(n===Boolean||4===n)return"false"!==t&&(""===t||!!t);if(n===Number||8===n)return parseFloat(t);if(n===String||2===n)return t.toString()}return t}function d(n,t){n.V.add(t),n.X.has(t)||(n.X.set(t,!0),n.nn?n.queue.write(function(){return h(n,t)}):n.queue.tick(function(){return h(n,t)}))}function h(n,e,r,i,o){return $(this,void 0,void 0,function(){var r,u;return A(this,function(f){switch(f.tn){case 0:if(n.X.delete(e),n.en.has(e))return[3,12];if(i=n.rn.get(e))return[3,6];if((o=n.in.get(e))&&!o["s-rn"])return(o["s-rc"]=o["s-rc"]||[]).push(function(){h(n,e)}),[2];if(!(i=function c(n,t,e,r,i,o,u){try{r=new(i=n.v(t).on),function f(n,t,e,r,i){n.un.set(r,e),n.fn.has(e)||n.fn.set(e,{}),Object.entries(Object.assign({color:{type:String}},t.properties,{mode:{type:String}})).forEach(function(t){var o=t[0],u=t[1];(function f(n,t,e,r,i,o,u,c){if(t.type||t.state){var a=n.fn.get(e);t.state||(!t.attr||void 0!==a[i]&&""!==a[i]||(u=o&&o.cn)&&P(c=u[t.attr])&&(a[i]=p(t.type,c)),e.hasOwnProperty(i)&&(void 0===a[i]&&(a[i]=p(t.type,e[i])),"mode"!==i&&delete e[i])),r.hasOwnProperty(i)&&void 0===a[i]&&(a[i]=r[i]),t.watchCallbacks&&(a[F+i]=t.watchCallbacks.slice()),b(r,i,function s(t){return(t=n.fn.get(n.un.get(this)))&&t[i]},function l(e,r){(r=n.un.get(this))&&(t.state||t.mutable)&&y(n,r,i,e)})}else if(t.elementRef)m(r,i,e);else if(t.context){var v=n.an(t.context);void 0!==v&&m(r,i,v.sn&&v.sn(e)||v)}})(n,u,e,r,o,i)})}(n,i,t,r,e)}catch(e){r={},n.ln(e,7,t,!0)}return n.rn.set(t,r),r}(n,e,n.vn.get(e))))return[3,5];f.tn=1;case 1:return f.pn.push([1,4,,5]),i.componentWillLoad?[4,i.componentWillLoad()]:[3,3];case 2:f.dn(),f.tn=3;case 3:return[3,5];case 4:return r=f.dn(),n.ln(r,3,e),[3,5];case 5:return[3,11];case 6:if(!i)return[3,11];f.tn=7;case 7:return f.pn.push([7,10,,11]),i.componentWillUpdate?[4,i.componentWillUpdate()]:[3,9];case 8:f.dn(),f.tn=9;case 9:return[3,11];case 10:return u=f.dn(),n.ln(u,5,e),[3,11];case 11:(function a(n,e,r,i){try{var o,u=e.on.host,f=e.on.encapsulation,c="shadow"===f&&n.r.e,a=r;if(o=function l(n,t,e){return n&&Object.keys(n).forEach(function(r){n[r].reflectToAttr&&((e=e||{})[r]=t[r])}),e}(e.on.properties,i),c&&(a=r.shadowRoot),!r["s-rn"]){n.hn(n,n.r,e,r);var v=r["s-sc"];v&&(n.r.A(r,t(v,!0)),"scoped"===f&&n.r.A(r,t(v)))}if(i.render||i.hostData||u||o){n.yn=!0;var p=i.render&&i.render(),d=void 0;d=i.hostData&&i.hostData(),o&&(d=d?Object.assign(d,o):o),n.yn=!1;var h=n.mn.get(r)||{};h.j=a;var y=s(null,d,p);y.k=!0,n.mn.set(r,n.render(r,h,y,c,f))}n.f&&n.f.bn(r),r["s-rn"]=!0,r["s-rc"]&&(r["s-rc"].forEach(function(n){return n()}),r["s-rc"]=null)}catch(t){n.yn=!1,n.ln(t,8,r,!0)}})(n,n.v(e),e,i),e["s-init"](),f.tn=12;case 12:return[2]}})})}function y(n,t,e,r,i){var o=n.fn.get(t);o||n.fn.set(t,o={});var u=o[e];if(r!==u&&(o[e]=r,i=n.rn.get(t))){var f=o[F+e];if(f)for(var c=0;c<f.length;c++)try{i[f[c]].call(i,r,u,e)}catch(n){}!n.yn&&t["s-rn"]&&d(n,t)}}function m(n,t,e){Object.defineProperty(n,t,{configurable:!0,value:e})}function b(n,t,e,r){Object.defineProperty(n,t,{configurable:!0,get:e,set:r})}function w(n,t,e,r,i,o){if(n.V.delete(t),(i=n.in.get(t))&&((r=i["s-ld"])&&((e=r.indexOf(t))>-1&&r.splice(e,1),r.length||i["s-init"]&&i["s-init"]()),n.in.delete(t)),n.wn.length&&!n.V.size)for(;o=n.wn.shift();)o()}function g(n,t,e,r){if(e.connectedCallback=function(){(function e(n,t,r){n.en.delete(r),n.gn.has(r)||(n.V.add(r),n.gn.set(r,!0),r["s-id"]||(r["s-id"]=n.Mn()),function i(n,t,e){for(e=t;e=n.r.D(e);)if(n.P(e)){n._.has(t)||(n.in.set(t,e),(e["s-ld"]=e["s-ld"]||[]).push(t));break}}(n,r),n.queue.tick(function(){n.vn.set(r,function e(n,t,r,i,o){return r.mode||(r.mode=n.jn(r)),r["s-cr"]||n.U(r,C)||n.e&&1===t.t||(r["s-cr"]=n.S(""),r["s-cr"]["s-cn"]=!0,n.s(r,r["s-cr"],n.N(r)[0])),n.e||1!==t.t||(r.shadowRoot=r),1===t.t&&n.e&&!r.shadowRoot&&n.kn(r,{mode:"open"}),i={$n:r["s-id"],cn:{}},t.p&&Object.keys(t.p).forEach(function(e){(o=t.p[e].y)&&(i.cn[o]=n.U(r,o))}),i}(n.r,t,r)),n.An(t,r)}))})(n,t,this)},e.disconnectedCallback=function(){(function t(n,e){if(!n.W&&function r(n,t){for(;t;){if(!n.o(t))return 9!==n.q(t);t=n.o(t)}}(n.r,e)){n.en.set(e,!0),w(n,e),a(n.mn.get(e),!0),n.r.M(e),n.En.delete(e);var i=n.rn.get(e);i&&i.componentDidUnload&&i.componentDidUnload(),n.f&&n.f.Cn(e),[n.in,n.On,n.vn].forEach(function(n){return n.delete(e)})}})(n,this)},e["s-init"]=function(){(function t(n,e,r,i,o,u){if(n.rn.get(e)&&!n.en.has(e)&&(!e["s-ld"]||!e["s-ld"].length)){n._.set(e,!0),n.Sn.has(e)||(n.Sn.set(e,!0),e["s-ld"]=void 0,n.r.A(e,r));try{a(n.mn.get(e)),(o=n.On.get(e))&&(o.forEach(function(n){return n(e)}),n.On.delete(e))}catch(t){n.ln(t,4,e)}w(n,e)}})(n,this,r)},e.forceUpdate=function(){d(n,this)},t.p){var i=Object.entries(t.p),o={};i.forEach(function(n){var t=n[0],e=n[1].y;e&&(o[e]=t)}),o=Object.assign({},o),e.attributeChangedCallback=function(n,t,e){(function r(n,t,e,i){var o=n[_(e)];o&&(t[o]=i)})(o,this,n,e)},function u(n,t,e){t.forEach(function(t){var r=t[0],i=t[1],o=i.xn;3&o?b(e,r,function t(){return(n.fn.get(this)||{})[r]},function t(e){y(n,this,r,p(i.m,e))}):32===o&&m(e,r,W)})}(n,i,e)}}function M(n,t,e,r){return function(){var i=arguments;return function o(n,t,e){var r=t[e],i=n.i.body;return i?(r||(r=i.querySelector(e)),r||(r=t[e]=n.a(e),n.T(i,r)),r.componentOnReady()):Promise.resolve()}(n,t,e).then(function(n){return n[r].apply(n,i)})}}function j(n,t,r,i,o,u){var f={html:{}},a={},l=r[n]=r[n]||{},v=function p(n,t,e){n.ael||(n.ael=function(n,t,e,r){return n.addEventListener(t,e,r)},n.rel=function(n,t,e,r){return n.removeEventListener(t,e,r)});var r=new WeakMap;"function"!=typeof t.CustomEvent&&(t.CustomEvent=function(n,t,r){return(r=e.createEvent("CustomEvent")).initCustomEvent(n,t.bubbles,t.cancelable,t.detail),r},t.CustomEvent.prototype=t.Event.prototype);var i={i:e,e:!!e.documentElement.attachShadow,Pn:!1,q:function(n){return n.nodeType},a:function(n){return e.createElement(n)},x:function(n,t){return e.createElementNS(n,t)},S:function(n){return e.createTextNode(n)},_n:function(n){return e.createComment(n)},s:function(n,t,e){return n.insertBefore(t,e)},R:function(n){return n.remove()},T:function(n,t){return n.appendChild(t)},A:function(n,t){if(n.classList)n.classList.add(t);else if("svg"===n.nodeName.toLowerCase()){var e=n.getAttribute("class")||"";e.split(" ").includes(t)||(e+=" "+t),n.setAttribute("class",e.trim())}},N:function(n){return n.childNodes},o:function(n){return n.parentNode},H:function(n){return n.nextSibling},G:function(n){return n.previousSibling},L:function(n){return _(n.nodeName)},Q:function(n){return n.textContent},F:function(n,t){return n.textContent=t},U:function(n,t){return n.getAttribute(t)},Tn:function(n,t,e){return n.setAttribute(t,e)},Wn:function(n,t,e,r){return n.setAttributeNS(t,e,r)},b:function(n,t){return n.removeAttribute(t)},w:function(n,t){return n.hasAttribute(t)},jn:function(t){return t.getAttribute("mode")||(n.Context||{}).mode},Nn:function(n,r){return"child"===r?n.firstElementChild:"parent"===r?i.D(n):"body"===r?e.body:"document"===r?e:"window"===r?t:n},g:function(t,e,o,u,f,c,a,s){var l=e,v=t,p=r.get(t);if(p&&p[l]&&p[l](),"string"==typeof c?v=i.Nn(t,c):"object"==typeof c?v=c:(s=e.split(":")).length>1&&(v=i.Nn(t,s[0]),e=s[1]),v){var d=o;(s=e.split(".")).length>1&&(e=s[0],d=function(n){n.keyCode===x[s[1]]&&o(n)}),a=i.Pn?{capture:!!u,passive:!!f}:!!u,n.ael(v,e,d,a),p||r.set(t,p={}),p[l]=function(){v&&n.rel(v,e,d,a),p[l]=null}}},M:function(n,t){var e=r.get(n);e&&(t?e[t]&&e[t]():Object.keys(e).forEach(function(n){e[n]&&e[n]()}))},Rn:function(n,e,r){return n&&n.dispatchEvent(new t.CustomEvent(e,r))},D:function(n,t){return(t=i.o(n))&&11===i.q(t)?t.host:t},kn:function(n,t){return n.attachShadow(t)}};return i}(l,r,i);t.isServer=t.isPrerender=!(t.isClient=!0),t.window=r,t.location=r.location,t.document=i,t.resourcesUrl=t.publicPath=o,l.h=s,l.Context=t;var h=r["s-defined"]=r["s-defined"]||{},y=0,m={r:v,Ln:function b(n,t){var e=n.n;r.customElements.get(e)||(g(m,f[e]=n,t.prototype,u),t.observedAttributes=Object.values(n.p).map(function(n){return n.y}).filter(function(n){return!!n}),r.customElements.define(n.n,t))},Dn:t.emit,v:function(n){return f[v.L(n)]},an:function(n){return t[n]},isClient:!0,P:function(n){return!(!h[v.L(n)]&&!m.v(n))},Mn:function(){return n+y++},ln:function(n,t,e){},Fn:function(n){return function t(n,e,r){return{create:M(n,e,r,"create"),componentOnReady:M(n,e,r,"componentOnReady")}}(v,a,n)},queue:t.queue=function w(n,t){function e(t){return function(e){t.push(e),p||(p=!0,n.raf(o))}}function r(n){for(var t=0;t<n.length;t++)try{n[t](u())}catch(n){}n.length=0}function i(n,t){for(var e,r=0;r<n.length&&(e=u())<t;)try{n[r++](e)}catch(n){}r===n.length?n.length=0:0!==r&&n.splice(0,r)}function o(){v++,r(a);var t=u()+7*Math.ceil(v*(1/22));i(s,t),i(l,t),s.length>0&&(l.push.apply(l,s),s.length=0),(p=a.length+s.length+l.length>0)?n.raf(o):v=0}var u=function(){return t.performance.now()},f=Promise.resolve(),c=[],a=[],s=[],l=[],v=0,p=!1;return n.raf||(n.raf=t.requestAnimationFrame.bind(t)),{tick:function(n){c.push(n),1===c.length&&f.then(function(){return r(c)})},read:e(a),write:e(s)}}(l,r),An:function j(n,t,e){if(n.on)d(m,t);else{var r=!v.e,i={mode:t.mode,scoped:r};n.Hn(i).then(function(e){try{n.on=e,function r(n,t,e,i,o){if(i){var u=t.n+(o||O);t[u]||(t[u]=i)}}(0,n,n.t,e.style,e.styleMode)}catch(t){n.on=function i(){}}d(m,t)})}},yn:!1,nn:!1,W:!1,hn:e,in:new WeakMap,u:new WeakMap,gn:new WeakMap,En:new WeakMap,Sn:new WeakMap,_:new WeakMap,un:new WeakMap,vn:new WeakMap,rn:new WeakMap,en:new WeakMap,X:new WeakMap,On:new WeakMap,qn:new WeakMap,mn:new WeakMap,fn:new WeakMap,V:new Set,wn:[]};l.onReady=function(){return new Promise(function(n){return m.queue.write(function(){return m.V.size?m.wn.push(n):n()})})},m.render=c(m,v);var k=v.i.documentElement;return k["s-ld"]=[],k["s-rn"]=!0,k["s-init"]=function(){m._.set(k,l.loaded=m.nn=!0),v.Rn(r,"appload",{detail:{namespace:n}})},function $(n,t,e,r,i,o){if(t.componentOnReady=function(t,e){if(!t.nodeName.includes("-"))return e(null),!1;var r=n.v(t);if(r)if(n._.has(t))e(t);else{var i=n.On.get(t)||[];i.push(e),n.On.set(t,i)}return!!r},i){for(o=i.length-1;o>=0;o--)t.componentOnReady(i[o][0],i[o][1])&&i.splice(o,1);for(o=0;o<r.length;o++)if(!e[r[o]].componentOnReady)return;for(o=0;o<i.length;o++)i[o][1](null);i.length=0}}(m,l,r,r["s-apps"],r["s-cr"]),l.initialized=!0,m}function k(n,t,e){void 0===e&&(e={});var r=Array.isArray(t)?t:[t],i=n.document,o=e.hydratedCssClass||"hydrated",u=r.filter(function(n){return n[0]}).map(function(n){return n[0]});if(u.length>0){var f=i.createElement("style");f.innerHTML=u.join()+"{visibility:hidden}."+o+"{visibility:inherit}",f.setAttribute("data-styles",""),i.head.insertBefore(f,i.head.firstChild)}var c=e.namespace||"ionicons";return q||(q=!0,function a(n,t,e){(n["s-apps"]=n["s-apps"]||[]).push(t),e.componentOnReady||(e.componentOnReady=function t(){function e(t){if(r.nodeName.indexOf("-")>0){for(var e=n["s-apps"],i=0,o=0;o<e.length;o++)if(n[e[o]].componentOnReady){if(n[e[o]].componentOnReady(r,t))return;i++}if(i<e.length)return void(n["s-cr"]=n["s-cr"]||[]).push([r,t])}t(null)}var r=this;return n.Promise?new n.Promise(e):{then:e}})}(n,c,n.HTMLElement.prototype)),new Promise(function(r){applyPolyfills(n,function(){if(!H[c]){var u={},f=e.resourcesUrl||"./";E(c,u,n,i,f,o),H[c]=j(c,u,n,i,f,o)}t.forEach(function(t){var e;!function r(n){return/\{\s*\[native code\]\s*\}/.test(""+n)}(n.customElements.define)?(e=function(t){return n.HTMLElement.call(this,t)}).prototype=Object.create(n.HTMLElement.prototype,{constructor:{value:e,configurable:!0}}):e=new Function("w","return class extends w.HTMLElement{}")(n),H[c].Ln(function i(n){var t=function e(n){var t=n[0],e=n[1],r=n[3],i=n[4],o=n[5],u={color:{y:"color"}};if(r)for(var f=0;f<r.length;f++){var c=r[f];u[c[0]]={xn:c[1],d:!!c[2],y:"string"==typeof c[3]?c[3]:c[3]?c[0]:0,m:c[4]}}return{n:t,Hn:e,p:Object.assign({},u),t:i,Un:o?o.map(v):void 0}}(n),r=t.Hn,i=T(n[0]);return t.Hn=function(n){var t=n.mode,e=n.scoped;return function o(n,t,e){return import( /* webpackInclude: /\.entry\.js$/ */ /* webpackMode: "lazy" */ "./build/"+n+(t?".sc":"")+".entry.js").then(function(n){return n[e]})}("string"==typeof r?r:r[t],e,i)},t}(t),e)}),r()})})}this&&this.Bn||(Object.setPrototypeOf||Array);var $=this&&this.In||function(n,t,e,r){return new(e||(e=Promise))(function(i,o){function u(n){try{c(r.Gn(n))}catch(n){o(n)}}function f(n){try{c(r.throw(n))}catch(n){o(n)}}function c(n){n.Qn?i(n.value):new e(function(t){t(n.value)}).then(u,f)}c((r=r.apply(n,t||[])).Gn())})},A=this&&this.Yn||function(n,t){function e(e){return function(u){return function c(e){if(r)throw new TypeError("Generator is already executing.");for(;f;)try{if(r=1,i&&(o=2&e[0]?i.return:e[0]?i.throw||((o=i.return)&&o.call(i),0):i.Gn)&&!(o=o.call(i,e[1])).Qn)return o;switch(i=0,o&&(e=[2&e[0],o.value]),e[0]){case 0:case 1:o=e;break;case 4:return f.tn++,{value:e[1],Qn:!1};case 5:f.tn++,i=e[1],e=[0];continue;case 7:e=f.Zn.pop(),f.pn.pop();continue;default:if(!(o=(o=f.pn).length>0&&o[o.length-1])&&(6===e[0]||2===e[0])){f=0;continue}if(3===e[0]&&(!o||e[1]>o[0]&&e[1]<o[3])){f.tn=e[1];break}if(6===e[0]&&f.tn<o[1]){f.tn=o[1],o=e;break}if(o&&f.tn<o[2]){f.tn=o[2],f.Zn.push(e);break}o[2]&&f.Zn.pop(),f.pn.pop();continue}e=t.call(n,f)}catch(n){e=[6,n],i=0}finally{r=o=0}if(5&e[0])throw e[1];return{value:e[0]?e[1]:void 0,Qn:!0}}([e,u])}}var r,i,o,u,f={tn:0,dn:function(){if(1&o[0])throw o[1];return o[1]},pn:[],Zn:[]};return u={Gn:e(0),throw:e(1),return:e(2)},"function"==typeof Symbol&&(u[Symbol.iterator]=function(){return this}),u},E=function(){};function applyPolyfills(n,t){n.zn=function(){function t(){var n=setTimeout;return function(){return n(e,1)}}function e(){for(var n=0;n<b;n+=2)(0,O[n])(O[n+1]),O[n]=void 0,O[n+1]=void 0;b=0}function r(n,t){var e=this,r=new this.constructor(o);void 0===r[x]&&h(r);var i=e.Jn;if(i){var u=arguments[i-1];M(function(){return d(i,r,u,e.Kn)})}else v(e,r,n,t);return r}function i(n){if(n&&"object"==typeof n&&n.constructor===this)return n;var t=new this(o);return c(t,n),t}function o(){}function u(n){try{return n.then}catch(n){return W.error=n,W}}function f(n,t,e){t.constructor===n.constructor&&e===r&&t.constructor.resolve===i?function(n,t){t.Jn===_?s(n,t.Kn):t.Jn===T?l(n,t.Kn):v(t,void 0,function(t){return c(n,t)},function(t){return l(n,t)})}(n,t):e===W?(l(n,W.error),W.error=null):void 0===e?s(n,t):"function"==typeof e?function(n,t,e){M(function(n){var r=!1,i=function(n,t,e,r){try{n.call(t,e,r)}catch(n){return n}}(e,t,function(e){r||(r=!0,t!==e?c(n,e):s(n,e))},function(t){r||(r=!0,l(n,t))},n.Vn);!r&&i&&(r=!0,l(n,i))},n)}(n,t,e):s(n,t)}function c(n,t){if(n===t)l(n,new TypeError("cannot resolve promise w/ itself"));else{var e=typeof t;null===t||"object"!==e&&"function"!==e?s(n,t):f(n,t,u(t))}}function a(n){n.Xn&&n.Xn(n.Kn),p(n)}function s(n,t){n.Jn===P&&(n.Kn=t,n.Jn=_,0!==n.nt.length&&M(p,n))}function l(n,t){n.Jn===P&&(n.Jn=T,n.Kn=t,M(a,n))}function v(n,t,e,r){var i=n.nt,o=i.length;n.Xn=null,i[o]=t,i[o+_]=e,i[o+T]=r,0===o&&n.Jn&&M(p,n)}function p(n){var t=n.nt,e=n.Jn;if(0!==t.length){for(var r,i,o=n.Kn,u=0;u<t.length;u+=3)r=t[u],i=t[u+e],r?d(e,r,i,o):i(o);n.nt.length=0}}function d(n,t,e,r){var i="function"==typeof e,o=void 0,u=void 0,f=void 0,a=void 0;if(i){try{o=e(r)}catch(n){W.error=n,o=W}if(o===W?(a=!0,u=o.error,o.error=null):f=!0,t===o)return void l(t,new TypeError("Cannot return same promise"))}else o=r,f=!0;t.Jn===P&&(i&&f?c(t,o):a?l(t,u):n===_?s(t,o):n===T&&l(t,o))}function h(n){n[x]=N++,n.Jn=void 0,n.Kn=void 0,n.nt=[]}var y,m=Array.isArray?Array.isArray:function(n){return"[object Array]"===Object.prototype.toString.call(n)},b=0,w=void 0,g=void 0,M=function(n,t){O[b]=n,O[b+1]=t,2===(b+=2)&&(g?g(e):S())},j=(y=void 0!==n?n:void 0)||{},k=j.tt||j.et;j="undefined"==typeof self;var $,A,E,C="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel,O=Array(1e3),S=void 0;S=k?($=0,A=new k(e),E=document.createTextNode(""),A.observe(E,{characterData:!0}),function(){E.data=$=++$%2}):C?function(){var n=new MessageChannel;return n.rt.onmessage=e,function(){return n.it.postMessage(0)}}():void 0===y&&"function"==typeof require?function(){try{var n=Function("return this")().ot("vertx");return void 0!==(w=n.ut||n.ft)?function(){w(e)}:t()}catch(n){return t()}}():t();var x=Math.random().toString(36).substring(2),P=void 0,_=1,T=2,W={error:null},N=0,R=function(){function n(n,t){this.ct=n,this.at=new n(o),this.at[x]||h(this.at),m(t)?(this.st=this.length=t.length,this.Kn=Array(this.length),0===this.length?s(this.at,this.Kn):(this.length=this.length||0,this.lt(t),0===this.st&&s(this.at,this.Kn))):l(this.at,Error("Array Methods must be provided an Array"))}return n.prototype.lt=function(n){for(var t=0;this.Jn===P&&t<n.length;t++)this.vt(n[t],t)},n.prototype.vt=function(n,t){var e=this.ct,c=e.resolve;c===i?(c=u(n))===r&&n.Jn!==P?this.pt(n.Jn,t,n.Kn):"function"!=typeof c?(this.st--,this.Kn[t]=n):e===L?(f(e=new e(o),n,c),this.dt(e,t)):this.dt(new e(function(t){return t(n)}),t):this.dt(c(n),t)},n.prototype.pt=function(n,t,e){var r=this.at;r.Jn===P&&(this.st--,n===T?l(r,e):this.Kn[t]=e),0===this.st&&s(r,this.Kn)},n.prototype.dt=function(n,t){var e=this;v(n,void 0,function(n){return e.pt(_,t,n)},function(n){return e.pt(T,t,n)})},n}(),L=function(){function n(t){if(this[x]=N++,this.Kn=this.Jn=void 0,this.nt=[],o!==t){if("function"!=typeof t)throw new TypeError("Must pass a resolver fn as 1st arg");if(!(this instanceof n))throw new TypeError("Failed to construct 'Promise': Use the 'new' operator.");!function(n,t){try{t(function(t){c(n,t)},function(t){l(n,t)})}catch(t){l(n,t)}}(this,t)}}return n.prototype.catch=function(n){return this.then(null,n)},n.prototype.finally=function(n){var t=this.constructor;return this.then(function(e){return t.resolve(n()).then(function(){return e})},function(e){return t.resolve(n()).then(function(){throw e})})},n}();return L.prototype.then=r,L.all=function(n){return new R(this,n).at},L.race=function(n){var t=this;return m(n)?new t(function(e,r){for(var i=n.length,o=0;o<i;o++)t.resolve(n[o]).then(e,r)}):new t(function(n,t){return t(new TypeError("Must pass array to race"))})},L.resolve=i,L.reject=function(n){var t=new this(o);return l(t,n),t},L.ht=function(n){g=n},L.yt=function(n){M=n},L.mt=M,L.bt=function(){var n=void 0;if("undefined"!=typeof global)n=global;else if("undefined"!=typeof self)n=self;else try{n=Function("return this")()}catch(n){throw Error("polyfill failed")}var t=n.Promise;if(t){var e=null;try{e=Object.prototype.toString.call(t.resolve())}catch(n){}if("[object Promise]"===e&&!t.wt)return}n.Promise=L},L.Promise=L,L.bt(),L}();var e=[];n.customElements&&(!n.Element||n.Element.prototype.closest&&n.Element.prototype.matches&&n.Element.prototype.remove)||e.push(import("./polyfills/dom.js")),"function"==typeof Object.assign&&Object.entries||e.push(import("./polyfills/object.js")),Array.prototype.find&&Array.prototype.includes||e.push(import("./polyfills/array.js")),String.prototype.startsWith&&String.prototype.endsWith||e.push(import("./polyfills/string.js")),n.fetch||e.push(import("./polyfills/fetch.js")),function r(){try{var n=new URL("b","http://a");return n.pathname="c%20d","http://a/c%20d"===n.href&&n.gt}catch(n){return!1}}||e.push(import("./polyfills/url.js")),Promise.all(e).then(function(e){e.forEach(function(t){t.applyPolyfill(n,n.document)}),t()})}var C="ssrv",O="$",S={},x={enter:13,escape:27,space:32,tab:9,left:37,up:38,right:39,down:40},P=function(n){return null!=n},_=function(n){return n.toLowerCase()},T=function(n){return _(n).split("-").map(function(n){return n.charAt(0).toUpperCase()+n.slice(1)}).join("")},W=function(){},N="http://www.w3.org/1999/xlink",R=!1,L=[],D={forEach:function(n,t){n.forEach(function(n,e,r){return t(l(n),e,r)})},map:function(n,t){return n.map(function(n,e,r){return function i(n){return{vtag:n.vtag,vchildren:n.vchildren,vtext:n.vtext,vattrs:n.vattrs,vkey:n.vkey,vname:n.vname}}(t(l(n),e,r))})}},F="wc-",H={},q=!1;export{k as defineCustomElement,s as h};PK}w�\�p�r��esm/es5/ionicons.components.jsnu�[���// ionicons: Host Data, ES Module/es5 Target export var Icon = ["ion-icon","esckjbl8",1,[["ariaLabel",2,1,"aria-label",2],["color",1,0,1,2],["doc",4,0,0,0,"document"],["el",64],["icon",1,0,1,2],["ios",1,0,1,2],["isServer",4,0,0,0,"isServer"],["isVisible",16],["lazy",1,0,1,4],["md",1,0,1,2],["mode",1,0,1,2],["name",1,0,1,2],["resourcesUrl",4,0,0,0,"resourcesUrl"],["size",1,0,1,2],["src",1,0,1,2],["svgContent",16],["win",4,0,0,0,"window"]],1];PK}w�\x[��,,esm/es5/ionicons.define.jsnu�[��� // ionicons: Custom Elements Define Library, ES Module/es5 Target import { defineCustomElement } from './ionicons.core.js'; import { Icon } from './ionicons.components.js'; export function defineCustomElements(win, opts) { return defineCustomElement(win, [ Icon ], opts); } PK}w�\���collection/icon/utils.jsnu�[���export function getName(name, mode, ios, md) { mode = (mode || 'md').toLowerCase(); if (ios && mode === 'ios') { name = ios.toLowerCase(); } else if (md && mode === 'md') { name = md.toLowerCase(); } else if (name) { name = name.toLowerCase(); if (!/^md-|^ios-|^logo-/.test(name)) { name = `${mode}-${name}`; } } if (typeof name !== 'string' || name.trim() === '') { return null; } const invalidChars = name.replace(/[a-z]|-|\d/gi, ''); if (invalidChars !== '') { return null; } return name; } export function getSrc(src) { if (typeof src === 'string') { src = src.trim(); if (src.length > 0 && /(\/|\.)/.test(src)) { return src; } } return null; } export function isValid(elm) { if (elm.nodeType === 1) { if (elm.nodeName.toLowerCase() === 'script') { return false; } for (let i = 0; i < elm.attributes.length; i++) { const val = elm.attributes[i].value; if (typeof val === 'string' && val.toLowerCase().indexOf('on') === 0) { return false; } } for (let i = 0; i < elm.childNodes.length; i++) { if (!isValid(elm.childNodes[i])) { return false; } } } return true; } PK}w�\Ȗ`��collection/icon/icon.jsnu�[���import { getName, getSrc, isValid } from './utils'; export class Icon { constructor() { this.isVisible = false; this.lazy = false; } componentWillLoad() { this.waitUntilVisible(this.el, '50px', () => { this.isVisible = true; this.loadIcon(); }); } componentDidUnload() { if (this.io) { this.io.disconnect(); this.io = undefined; } } waitUntilVisible(el, rootMargin, cb) { if (this.lazy && this.win && this.win.IntersectionObserver) { const io = this.io = new this.win.IntersectionObserver((data) => { if (data[0].isIntersecting) { io.disconnect(); this.io = undefined; cb(); } }, { rootMargin }); io.observe(el); } else { cb(); } } loadIcon() { if (!this.isServer && this.isVisible) { const url = this.getUrl(); if (url) { getSvgContent(this.doc, url, 's-ion-icon') .then(svgContent => this.svgContent = svgContent); } } if (!this.ariaLabel) { const name = getName(this.name, this.mode, this.ios, this.md); if (name) { this.ariaLabel = name .replace('ios-', '') .replace('md-', '') .replace(/\-/g, ' '); } } } getUrl() { let url = getSrc(this.src); if (url) { return url; } url = getName(this.name, this.mode, this.ios, this.md); if (url) { return this.getNamedUrl(url); } url = getSrc(this.icon); if (url) { return url; } url = getName(this.icon, this.mode, this.ios, this.md); if (url) { return this.getNamedUrl(url); } return null; } getNamedUrl(name) { return `${this.resourcesUrl}svg/${name}.svg`; } hostData() { return { 'role': 'img', class: Object.assign({}, createColorClasses(this.color), { [`icon-${this.size}`]: !!this.size }) }; } render() { if (!this.isServer && this.svgContent) { return h("div", { class: "icon-inner", innerHTML: this.svgContent }); } return h("div", { class: "icon-inner" }); } static get is() { return "ion-icon"; } static get encapsulation() { return "shadow"; } static get properties() { return { "ariaLabel": { "type": String, "attr": "aria-label", "reflectToAttr": true, "mutable": true }, "color": { "type": String, "attr": "color" }, "doc": { "context": "document" }, "el": { "elementRef": true }, "icon": { "type": String, "attr": "icon", "watchCallbacks": ["loadIcon"] }, "ios": { "type": String, "attr": "ios" }, "isServer": { "context": "isServer" }, "isVisible": { "state": true }, "lazy": { "type": Boolean, "attr": "lazy" }, "md": { "type": String, "attr": "md" }, "mode": { "type": String, "attr": "mode" }, "name": { "type": String, "attr": "name", "watchCallbacks": ["loadIcon"] }, "resourcesUrl": { "context": "resourcesUrl" }, "size": { "type": String, "attr": "size" }, "src": { "type": String, "attr": "src", "watchCallbacks": ["loadIcon"] }, "svgContent": { "state": true }, "win": { "context": "window" } }; } static get style() { return "/**style-placeholder:ion-icon:**/"; } } const requests = new Map(); function getSvgContent(doc, url, scopedId) { let req = requests.get(url); if (!req) { req = fetch(url, { cache: 'force-cache' }).then(rsp => { if (rsp.ok) { return rsp.text(); } return Promise.resolve(null); }).then(svgContent => validateContent(doc, svgContent, scopedId)); requests.set(url, req); } return req; } function validateContent(document, svgContent, scopeId) { if (svgContent) { const frag = document.createDocumentFragment(); const div = document.createElement('div'); div.innerHTML = svgContent; frag.appendChild(div); for (let i = div.childNodes.length - 1; i >= 0; i--) { if (div.childNodes[i].nodeName.toLowerCase() !== 'svg') { div.removeChild(div.childNodes[i]); } } const svgElm = div.firstElementChild; if (svgElm && svgElm.nodeName.toLowerCase() === 'svg') { if (scopeId) { svgElm.setAttribute('class', scopeId); } if (isValid(svgElm)) { return div.innerHTML; } } } return ''; } function createColorClasses(color) { return (color) ? { 'ion-color': true, [`ion-color-${color}`]: true } : null; } PK}w�\�2�SScollection/icon/icon.cssnu�[���:host { display: inline-block; width: 1em; height: 1em; contain: strict; box-sizing: content-box !important; } :host(.ion-color) { color: var(--ion-color-base) !important; } :host(.icon-small) { font-size: var(--ion-icon-size-small, 18px) !important; } :host(.icon-large){ font-size: var(--ion-icon-size-large, 32px) !important; } .icon-inner, svg { display: block; fill: currentColor; stroke: currentColor; height: 100%; width: 100%; } /* Set iOS Icon Colors */ /* ------------------- */ :host(.ion-color-primary) { --ion-color-base: var(--ion-color-primary, #3880ff); } :host(.ion-color-secondary) { --ion-color-base: var(--ion-color-secondary, #0cd1e8); } :host(.ion-color-tertiary) { --ion-color-base: var(--ion-color-tertiary, #f4a942); } :host(.ion-color-success) { --ion-color-base: var(--ion-color-success, #10dc60); } :host(.ion-color-warning) { --ion-color-base: var(--ion-color-warning, #ffce00); } :host(.ion-color-danger) { --ion-color-base: var(--ion-color-danger, #f14141); } :host(.ion-color-light) { --ion-color-base: var(--ion-color-light, #f4f5f8); } :host(.ion-color-medium) { --ion-color-base: var(--ion-color-medium, #989aa2); } :host(.ion-color-dark) { --ion-color-base: var(--ion-color-dark, #222428); } PK}w�\H���!collection/icon/svg/ios-alert.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zm17.2 109.6l-3.1 115.1c-.2 8.2-5.9 14.8-14.1 14.8s-13.9-6.6-14.1-14.8l-3.1-115.1c-.2-9.6 7.5-17.6 17.2-17.6 9.6 0 17.4 7.9 17.2 17.6zM256 354c-10.7 0-19.1-8.1-19.1-18.4s8.4-18.4 19.1-18.4c10.7 0 19.1 8.1 19.1 18.4S266.7 354 256 354z"/></svg>PK}w�\p<�*��#collection/icon/svg/ios-archive.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M460 120H52c-2.2 0-4-1.8-4-4V96c0-17.7 14.3-32 32-32h352c17.7 0 32 14.3 32 32v20c0 2.2-1.8 4-4 4zM440 146H72c-4.4 0-8 3.6-8 8v262c0 17.6 14.4 32 32 32h320c17.6 0 32-14.4 32-32V154c0-4.4-3.6-8-8-8zM306 288h-99.6c-7.1 0-13.4-5.2-14.3-12.3-1-8.5 5.6-15.7 13.9-15.7h99.6c7.1 0 13.4 5.2 14.3 12.3 1 8.4-5.6 15.7-13.9 15.7z"/></svg>PK}w�\1�J�pp"collection/icon/svg/md-refresh.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 388c-72.597 0-132-59.405-132-132 0-72.601 59.403-132 132-132 36.3 0 69.299 15.4 92.406 39.601L278 234h154V80l-51.698 51.702C348.406 99.798 304.406 80 256 80c-96.797 0-176 79.203-176 176s78.094 176 176 176c81.045 0 148.287-54.134 169.401-128H378.85c-18.745 49.561-67.138 84-122.85 84z"/></svg>PK}w�\���@@ collection/icon/svg/md-brush.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M149.9 302.2c-39.1 0-70.7 31-70.7 69.3 0 30.3-27.3 46.2-47.2 46.2C53.7 446 90.7 464 126.3 464c52.1 0 94.3-41.4 94.3-92.4 0-38.4-31.6-69.4-70.7-69.4zM473.1 85.7l-31.6-31c-9.2-9-24-9-33.2 0L197 261.8l64.8 63.5 211.2-207c9.3-9 9.3-23.6.1-32.6z"/></svg>PK}w�\%��pp.collection/icon/svg/logo-game-controller-a.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M369.3 146H142.7C81.5 146 32 191.5 32 255.4c0 64 49.5 110.6 110.7 110.6h226.5c61.2 0 110.7-46.6 110.7-110.6.1-63.9-49.4-109.4-110.6-109.4zM200 266.7c0 2.7-2.4 5.3-5.2 5.3H160v35.1c0 2.8-3.1 4.9-5.8 4.9h-21.4c-2.6 0-4.8-1.9-4.8-4.5V272H92.9c-2.8 0-4.9-3.1-4.9-5.8v-21.4c0-2.6 1.9-4.8 4.5-4.8H128v-34.8c0-2.8 1.9-5.2 4.6-5.2h22.1c2.7 0 5.3 2.4 5.3 5.2V240h34.8c2.8 0 5.2 1.9 5.2 4.6v22.1zm119.8 8.8c-10.7 0-19.5-8.6-19.5-19.2s8.7-19.2 19.5-19.2 19.5 8.6 19.5 19.2-8.8 19.2-19.5 19.2zm42.5 41.8c-10.7 0-19.5-8.5-19.5-19.1 0-10.6 8.7-19.2 19.5-19.2s19.5 8.5 19.5 19.2c0 10.6-8.7 19.1-19.5 19.1zm0-83.7c-10.7 0-19.5-8.6-19.5-19.1 0-10.6 8.7-19.2 19.5-19.2s19.5 8.6 19.5 19.2c0 10.5-8.7 19.1-19.5 19.1zm42.6 41.9c-10.7 0-19.4-8.6-19.4-19.2s8.7-19.2 19.4-19.2 19.5 8.6 19.5 19.2c-.1 10.6-8.8 19.2-19.5 19.2z"/></svg>PK}w�\��qq#collection/icon/svg/md-umbrella.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M410.1 244.1c12 0 26.6 10.9 33.8 25.9H464c-.3-50-21.2-101.5-59.4-140.9-36.3-37.4-83-60.5-132.6-65.7-3-9-11.5-15.4-21.6-15.4-10 0-18.5 6.5-21.5 15.3C125.3 73.8 48 159.7 48 266.2c0 1.1.1 1.8.4 3.8h21.8c6.8-15 22.2-25.9 35.3-25.9 17 0 31.5 10.9 36.5 25.9h19.8c4.1-15 16.9-25.7 33-25.7 17.8 0 33.1 14.5 34.1 32.6v118.3c0 9.3.1 24.1-13.4 24.1-6.9 0-16.6-1.8-16.6-16V382h-43v21.3c0 34.6 23.6 60.7 60 60.7 19.5 0 33.3-8.5 43.5-18.7 13.1-13.2 13.5-34.7 13.5-50.1V276.1c2-25.8 23.9-31.7 41.9-31.7 17.2 0 32.3 11.6 37.8 25.6h20.5c5.1-15 19.8-25.9 37-25.9z"/></svg>PK}w�\cr�$collection/icon/svg/md-hourglass.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M128 48v122.8h.2l-.2.2 85.3 85-85.3 85.2.2.2h-.2V464h256V341.4h-.2l.2-.2-85.3-85.2 85.3-85-.2-.2h.2V48H128zm213.3 303.9v71.5H170.7v-71.5l85.3-85.2 85.3 85.2zM256 245.4l-85.3-85.2V87.6h170.7v72.5L256 245.4z"/></svg>PK}w�\� ��%collection/icon/svg/md-flashlight.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M128 298l64 64v118h128V362l64-64V176l-255.2.4L128 298zM234.8 32h42.4v64h-42.4V32zM80 110.4L109.9 80l44.9 45.6-29.9 30.4L80 110.4zm277.1 15.2l45-45.5 29.9 30.4-44.9 45.5-30-30.4z"/></svg>PK}w�\L�;@@!collection/icon/svg/md-attach.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M341.334 128v234.666C341.334 409.604 302.938 448 256 448c-46.937 0-85.333-38.396-85.333-85.334V117.334C170.667 87.469 194.135 64 224 64c29.864 0 53.333 23.469 53.333 53.334v245.333c0 11.729-9.605 21.333-21.334 21.333s-21.333-9.604-21.333-21.333V160h-32v202.667C202.667 392.531 226.135 416 256 416c29.865 0 53.334-23.469 53.334-53.333V117.334C309.334 70.401 270.938 32 224 32s-85.334 38.401-85.334 85.334v245.332C138.667 427.729 190.938 480 256 480c65.062 0 117.334-52.271 117.334-117.334V128h-32z"/></svg>PK}w�\�QO�!collection/icon/svg/md-search.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M337.509 305.372h-17.501l-6.571-5.486c20.791-25.232 33.922-57.054 33.922-93.257C347.358 127.632 283.896 64 205.135 64 127.452 64 64 127.632 64 206.629s63.452 142.628 142.225 142.628c35.011 0 67.831-13.167 92.991-34.008l6.561 5.487v17.551L415.18 448 448 415.086 337.509 305.372zm-131.284 0c-54.702 0-98.463-43.887-98.463-98.743 0-54.858 43.761-98.742 98.463-98.742 54.7 0 98.462 43.884 98.462 98.742 0 54.856-43.762 98.743-98.462 98.743z"/></svg>PK}w�\O6��&collection/icon/svg/md-thermometer.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M303 300.2V78.4c0-25.7-21-46.5-47-46.5s-47 20.8-47 46.5v221.9c-29 16.5-48.9 47.8-48.9 83.7 0 53 43 96 96 96s96-43 96-96c0-36-20.1-67.3-49.1-83.8zM240 78.4c0-8 7.7-14.5 16-14.5s16 6.5 16 14.5V128h-32V78.4z"/></svg>PK}w�\��Z�@@"collection/icon/svg/ios-attach.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M355.9 161.1c-8.6 0-15.6 7-15.6 15.6v194.4c0 20.3-8 40.4-22 55.1-13.9 14.6-35.2 23.7-55.5 23.7h-13.6c-19.6 0-39.5-8.9-54.8-24.6-15.2-15.5-23.9-35.6-23.9-55.2V119.3c0-14.9 6.2-28.9 17.3-39.5 11.1-10.5 25.7-16.3 41-16.3 15.1 0 29.3 5.8 39.8 16.2 10.5 10.5 16.4 24.6 16.4 39.6v234.2c0 17.1-13.6 32.2-29 32.2-13.6 0-28.2-12.9-28.2-32.2V219.9c0-8.6-7-15.6-15.6-15.6s-15.6 7-15.6 15.6v133.6c0 35.5 25.5 62.3 59.4 62.3 16.5 0 31.7-6.1 42.7-17.3 11.3-11.4 17.5-27.4 17.5-45V119.3c0-23.4-9.1-45.4-25.7-61.8C274 41 252 32 228.5 32s-45.5 9-62.2 25.5c-16.7 16.5-25.9 38.4-25.9 61.9v250.8c0 28.7 12.2 57.9 32.6 78 20.9 20.6 47.9 31.9 76.1 31.9h13.6c27.6 0 55.3-11.7 75.9-32.1 10.2-10.1 18.2-21.7 23.9-34.6 5.9-13.5 8.9-27.7 8.9-42.1V176.7c.1-8.6-6.9-15.6-15.5-15.6z"/></svg>PK}w�\�&? collection/icon/svg/ios-time.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zm14 226c0 7.7-6.3 14-14 14h-96c-7.7 0-14-6.3-14-14s6.3-14 14-14h82V128c0-7.7 6.3-14 14-14s14 6.3 14 14v146z"/></svg>PK}w�\��V��� collection/icon/svg/ios-flag.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M406.7 80.8c-3.1.5-6.4 1-9.9 1.4-13.2 1.7-42.8 5.2-60.6 5.2-27.7 0-52.8-6.8-78.2-12.2-25.8-5.5-52.4-11.2-80.6-11.2-56.2 0-75.3 12.1-77.3 13.4L96 80.3v353.3c0 7.2 5.2 13.4 12.3 14.3 8.5 1 15.7-5.6 15.7-13.9V279.6c0-3.8 2.7-7.1 6.4-7.9 10.5-2.1 25.8-3.9 47-3.9 26.2 0 50.7 10 76.6 15.5 26.4 5.6 48.6 11.5 83.4 11.5s71.8-6.6 71.8-6.6c3.9-.6 6.9-3.9 6.9-7.9V88.7c-.1-4.9-4.5-8.7-9.4-7.9z"/></svg>PK}w�\�.�]��"collection/icon/svg/ios-log-in.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M417 80H137c-25.4 0-46 20.6-46 46 0 7.7 6.3 14 14 14s14-6.3 14-14c0-9.9 8.1-18 18-18h280c9.9 0 18 8.1 18 18v260c0 9.9-8.1 18-18 18H137c-9.9 0-18-8.1-18-18 0-7.7-6.3-14-14-14s-14 6.3-14 14c0 25.4 20.6 46 46 46h280c25.4 0 46-20.6 46-46V126c0-25.4-20.6-46-46-46z"/><path d="M224 334.2c-5.4 5.4-5.4 14.3 0 19.8l.1.1c2.7 2.5 6.2 3.9 9.8 3.9 3.8 0 7.3-1.4 9.9-4.1l82.6-82.4c4.3-4.3 6.5-9.3 6.5-14.7 0-5.3-2.3-10.3-6.5-14.5l-84.6-84.4c-2.6-2.6-6.1-4.1-9.9-4.1-3.7 0-7.3 1.4-9.9 4.1-5.5 5.5-5.5 14.3 0 19.8l65.2 64.2H63c-7.7 0-14 6.3-14 14s6.3 14 14 14h224.6L224 334.2z"/></svg>PK}w�\�#��1collection/icon/svg/ios-remove-circle-outline.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M346.5 240h-181c-8.8 0-16 6-16 16s7.5 16 16 16h181c8.8 0 16-7.2 16-16s-7.2-16-16-16z"/><path d="M256 76c48.1 0 93.3 18.7 127.3 52.7S436 207.9 436 256s-18.7 93.3-52.7 127.3S304.1 436 256 436c-48.1 0-93.3-18.7-127.3-52.7S76 304.1 76 256s18.7-93.3 52.7-127.3S207.9 76 256 76m0-28C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48z"/></svg>PK}w�\zBnV22#collection/icon/svg/md-contacts.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M239.208 343.937c-17.78 10.103-38.342 15.876-60.255 15.876-21.909 0-42.467-5.771-60.246-15.87C71.544 358.331 42.643 406 32 448h293.912c-10.639-42-39.537-89.683-86.704-104.063zM178.953 120.035c-58.479 0-105.886 47.394-105.886 105.858 0 58.464 47.407 105.857 105.886 105.857s105.886-47.394 105.886-105.857c0-58.464-47.408-105.858-105.886-105.858zm0 186.488c-33.671 0-62.445-22.513-73.997-50.523H252.95c-11.554 28.011-40.326 50.523-73.997 50.523z"/><g><path d="M322.602 384H480c-10.638-42-39.537-81.691-86.703-96.072-17.781 10.104-38.343 15.873-60.256 15.873-14.823 0-29.024-2.654-42.168-7.49-7.445 12.47-16.927 25.592-27.974 34.906C289.245 341.354 309.146 364 322.602 384zM306.545 200h100.493c-11.554 28-40.327 50.293-73.997 50.293-8.875 0-17.404-1.692-25.375-4.51a128.411 128.411 0 0 1-6.52 25.118c10.066 3.174 20.779 4.862 31.895 4.862 58.479 0 105.886-47.41 105.886-105.872 0-58.465-47.407-105.866-105.886-105.866-37.49 0-70.427 19.703-89.243 49.09C275.607 131.383 298.961 163 306.545 200z"/></g></svg>PK}w�\P�#�LL#collection/icon/svg/md-baseball.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M365.9 402.6L343 416.1l-16-28 20.2-11.9c-5.2-8.5-9.8-17.4-13.9-26.7-1.4-3.1-2.7-6.3-3.9-9.5l-25.1 5.8-7.1-31.6 22.6-5.2c-2.8-12.1-4.7-24-5.5-37H290v-32h24.3c.8-12 2.7-24.8 5.5-36.8l-22.6-5.2 7.1-31.6 25.1 5.8c1.3-3.2 2.6-6.4 4-9.6 4.1-9.2 8.7-18.1 13.8-26.6L327 124.1l16-28 22.8 13.5c5.2-6.4 10.8-12.5 16.7-18.3C347.4 64.1 303.5 48 256 48s-91.4 16.1-126.5 43.2c5.9 5.8 11.5 12 16.7 18.3L169 96.1l16 28-20.2 11.9c5.1 8.5 9.8 17.4 13.8 26.6 1.4 3.2 2.7 6.4 4 9.6l25.1-5.8 7.1 31.6-22.6 5.2c2.8 12.1 4.6 24.8 5.5 36.8H222v32h-24.3c-.8 13-2.7 24.9-5.5 37l22.6 5.2-7.1 31.6-25.1-5.8c-1.2 3.2-2.5 6.3-3.9 9.5-4.1 9.2-8.7 18.1-13.9 26.7l20.2 11.9-16 28-22.9-13.5c-5.2 6.3-10.7 12.4-16.6 18.2 35.1 27.1 79 43.2 126.5 43.2s91.4-16.1 126.5-43.2c-5.9-5.8-11.4-11.9-16.6-18.2z"/><path d="M393.8 126l18.1 10.7-16 28-21.2-12.5c-5 8.3-9.5 16.9-13.3 25.9-.2.4-.4.9-.5 1.3l21 4.9-7.1 31.6-23.9-5.5c-2.3 9.7-3.8 19.6-4.6 29.6H370v32h-23.6c.8 10 2.3 20 4.6 29.8l23.9-5.5 7.1 31.6-21 4.9c.2.4.3.8.5 1.2 3.8 9 8.3 17.7 13.3 26l21.1-12.4 16 28-18 10.6c3.3 3.9 6.8 7.7 10.5 11.3l2 2C442 362 464 311.4 464 256s-22-106-57.7-143.4c-.7.7-1.4 1.3-2 2-3.7 3.7-7.2 7.5-10.5 11.4zM118.2 386.1l-18-10.6 16-28 21.1 12.4c5.1-8.3 9.5-17 13.3-26 .2-.4.3-.8.5-1.2l-21-4.9 7.1-31.6 23.9 5.5c2.3-9.8 3.8-19.8 4.6-29.8H142v-32h23.6c-.8-10-2.3-19.9-4.6-29.6l-23.9 5.5-7.1-31.6 21-4.9c-.2-.4-.3-.9-.5-1.3-3.8-9-8.2-17.7-13.3-25.9L116 164.6l-16-28 18.1-10.7c-3.4-3.9-6.9-7.7-10.6-11.4l-2-2C70 150 48 200.6 48 256s22 106 57.7 143.4c.7-.7 1.4-1.3 2-2 3.6-3.6 7.1-7.4 10.5-11.3z"/></svg>PK}w�\U����� collection/icon/svg/md-shirt.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M320 64c-11.1 19.1-40.3 32-64 32s-52.9-12.9-64-32L64 96v96l77-16-13 272h256l-13-272 77 16V96L320 64z"/></svg>PK}w�\��"collection/icon/svg/ios-beaker.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M445.2 48H128.5C74.1 48 64 75.9 64 88.2c30.3 4.2 32 4.2 32 36.2v275.5c0 35.3 28.9 64 64.2 64H368c35.4 0 63-29.2 63-64.5V89.2c2-17.5 12.5-31.6 13.6-33.3 1.2-1.9 3.4-4.4 3.4-5.5 0-1.2-.3-2.4-2.8-2.4zm-333 29.3c0-.1 0-.1 0 0 6-1 12-1.3 16.3-1.3H405c-.9 3.7-1.5 7.1-1.8 10-.1 1.1-.2 2.1-.2 3.2v70.9-.1H124v-35.5c0-17.6 0-34.2-11.8-47.2z"/></svg>PK}w�\��^���#collection/icon/svg/md-business.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M261 149.3V64H48v384h416V149.3H261zm-127.8 256H90.6v-42.7h42.6v42.7zm0-85.3H90.6v-42.7h42.6V320zm0-85.3H90.6V192h42.6v42.7zm0-85.4H90.6v-42.7h42.6v42.7zm85.2 256h-42.6v-42.7h42.6v42.7zm0-85.3h-42.6v-42.7h42.6V320zm0-85.3h-42.6V192h42.6v42.7zm0-85.4h-42.6v-42.7h42.6v42.7zm203 256H261v-42.7h42.6V320H261v-42.7h42.6v-42.7H261V192h160.4v213.3zm-37.6-170.6h-42.6v42.7h42.6v-42.7zm0 85.3h-42.6v42.7h42.6V320z"/></svg>PK}w�\J�D66%collection/icon/svg/ios-analytics.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zM76 256c0-48.1 18.7-93.3 52.7-127.3S207.9 76 256 76c48.1 0 93.3 18.7 127.3 52.7 32.2 32.2 50.7 74.5 52.6 119.7-8.8-10.3-24.2-24-43.8-24-27.5 0-41.7 25.7-51 42.7-1.4 2.5-2.7 4.9-3.9 7-11.4 19.2-27.3 30-42.5 28.9-13.4-.9-24.8-11.2-32.2-28.8-9.2-22.1-29.1-45.8-52.9-49.2-11.3-1.6-28.1.8-44.7 21.4-3.2 4-6.9 9.4-11.1 15.6-10.4 15.5-26.2 38.8-38.1 40.8-17.3 2.8-30.9-7.5-36.4-12.3-2.2-11.2-3.3-22.8-3.3-34.5z"/></svg>PK}w�\���{(collection/icon/svg/logo-playstation.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M399.8 203c-.8-17.1-3.3-34.5-10.8-50.1-4.1-8.6-9.7-16.5-16.5-23.2-6.3-6.4-13.6-11.7-21.3-16.3-17.1-10.2-37.5-17-84.4-31S192 64 192 64v358.3l79.9 25.7s.1-198.8.1-299.5v-3.8c0-9.3 7.5-16.8 16.1-16.8h.5c8.5 0 15.5 7.5 15.5 16.8V278c11 5.3 29.2 9.3 41.8 9.1 8.3.2 16.7-1.7 24-5.7 7.6-4.1 13.9-10.4 18.4-17.8 5.1-8.3 8.2-17.8 9.9-27.3 1.9-10.8 2-22.1 1.6-33.3zM86.7 357.8c27.4-9.8 89.3-29.5 89.3-29.5v-47.2s-76.5 24.8-111.3 37.1c-8.6 3.1-17.3 5.9-25.7 9.5-9.8 4.1-19.4 8.7-28.1 14.8-3.8 2.6-7.2 5.9-9.2 10.1s-2.2 9.2-.5 13.6c2 5.1 5.8 9.3 10.1 12.6 7.8 5.9 17.1 9.5 26.4 12.2 28.4 9.4 58.4 14 88.4 13.3 14.5-.2 36-1.9 50-4.4v-42s-11 2.5-41.3 12.5c-4.6 1.5-9.2 3.3-14 4.3-7.1 1.6-14.4 2.1-21.6 2.2-6.5-.3-13.2-.7-19.3-3.1-2.2-1-4.6-2.2-5.5-4.6-.8-2 .3-4 1.7-5.4 2.8-2.9 6.8-4.5 10.6-6z"/><path d="M512 345.9c-.1-6-3.7-11.2-7.9-15-7.1-6.3-15.9-10.3-24.7-13.5-5.5-1.9-9.3-3.3-14.7-5-25.2-8.2-51.9-11.2-78.3-11.3-8 .3-23.1.5-31 1.4-21.9 2.5-67.3 15.4-67.3 15.4v48.8s67.5-21.6 96.5-31.8c9.7-3.3 20.1-4.6 30.3-4.6 6.5.2 13.2.7 19.4 3.1 2.2.9 4.5 2.2 5.5 4.5.9 2.6-.9 5-2.9 6.5-4.7 3.8-10.7 5.3-16.2 7.4-41 14.5-132.7 44.7-132.7 44.7v47s117.2-39.6 170.8-58.8c8.9-3.3 17.9-6.1 26.4-10.4 7.9-4 15.8-8.6 21.8-15.3 3.1-3.6 5-8 5-13.1z"/></svg>PK}w�\Z�zUU#collection/icon/svg/ios-bicycle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M125.3 289.3c17.3 0 33.7 6.8 46.1 19.2 12.4 12.4 19.2 28.8 19.2 46.1s-6.8 33.7-19.2 46.1c-12.4 12.4-28.8 19.2-46.1 19.2s-33.7-6.8-46.1-19.2C66.8 388.4 60 372 60 354.7s6.8-33.7 19.2-46.1c12.4-12.4 28.8-19.3 46.1-19.3m0-28c-51.3 0-93.3 42-93.3 93.3C32 406 74 448 125.3 448s93.3-42 93.3-93.3c.1-51.4-41.9-93.4-93.3-93.4zM319.8 127.8c17.8 0 32-14.2 32-32S337.8 64 320 64s-32.2 14-32.2 31.8c0 17.7 14.3 32 32 32zM386.7 289.3c17.3 0 33.7 6.8 46.1 19.2 12.4 12.4 19.2 28.8 19.2 46.1s-6.8 33.7-19.2 46.1C420.4 413.2 404 420 386.7 420s-33.7-6.8-46.1-19.2c-12.4-12.4-19.2-28.8-19.2-46.1s6.8-33.7 19.2-46.1c12.3-12.4 28.7-19.3 46.1-19.3m0-28c-51.3 0-93.3 42-93.3 93.3s42 93.3 93.3 93.3 93.3-42 93.3-93.3-42-93.3-93.3-93.3z"/><path d="M368 192h-48l-29.5-60.1c-5.6-9.3-15.9-15.9-27.1-15.9-8.4 0-16.8 3.7-22.4 9.3l-71.7 69.1c-5.6 5.6-9.3 14-9.3 22.4 0 17.4 12.6 23.6 18.5 27.1C224 270.1 240 273 240 286.1V352c0 8.8 7.2 16 16 16s16-7.2 16-16v-90c0-13.2-30.4-24-48.3-38l48.9-51.5c18.7 28.5 27.3 51.5 38 51.5H368c8.8 0 16-7.2 16-16s-7.2-16-16-16z"/></svg>PK}w�\�}a��%collection/icon/svg/md-heart-half.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M349.6 64c-36.4 0-70.7 16.7-93.6 43.9C233.1 80.7 198.8 64 162.4 64 97.9 64 48 114.2 48 179.1c0 79.5 70.7 143.3 177.8 241.7L256 448l30.2-27.2C393.3 322.4 464 258.6 464 179.1 464 114.2 414.1 64 349.6 64zM256 406V157.7l24.5-29.1c17.1-20.4 43-32.5 69.1-32.5 22.6 0 43.4 8.4 58.7 23.8 15.3 15.4 23.7 36.5 23.7 59.3 0 29-12.5 57.5-40.4 92.2C362.8 307 306.4 359.7 256 406z"/></svg>PK}w�\��t���&collection/icon/svg/md-play-circle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.2 48 48 141.2 48 256s93.2 208 208 208 208-93.2 208-208S370.8 48 256 48zm-41.6 301.6V162.4L339.2 256l-124.8 93.6z"/></svg>PK}w�\B��DDcollection/icon/svg/ios-cut.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M308 277.2c25.5-33 80.5-111.5 90.2-135.4 7.2-17.6 10.6-32.8 10.4-46.2-.2-17.9-6-29.3-18.3-40.6-5.2-4.8-13.5-6.9-20-6.9L255.9 201.7l-10 13.4-2.9 3.9-.1.1-14.5 19.7c-.1.1-.2.3-.3.4-.5.8-7.5 10.9-15.2 22.7-3 4.6-6.1 9.5-9 14.1-3.5 5.6-6.6 11-8.8 15.2-3.6 7.1-7.3 14.4-10.7 21.5-3.7 7.5-7.2 14.6-10.4 20.7-10.2-7.3-22-11.1-34.3-11.1-17.5 0-33.7 7.7-45.8 21.6C82.4 357.1 76 374.6 76 393.1c0 18.5 6.4 36 17.9 49.3 12.1 13.9 28.4 21.6 45.8 21.6 14.4 0 28-5.2 39.2-15 10.5-9.1 18-21.3 21.8-35.4 1-3.1 11.6-34.7 26.1-57.3 9.2-14.4 22.2-23.4 29.6-27.8l13.5-9.7c0 .1 12.7-8.7 38.1-41.6zM139.9 421.1c-13.3 0-24-12.6-24-28s10.7-28 24-28 24 12.6 24 28c0 15.5-10.8 28-24 28zm116.2-132.9c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16z"/><path d="M191.5 260.4c.7 1 1.6 1.9 2.5 2.7 1.7-2.8 3.6-5.7 5.4-8.6l46.5-65.8L140.9 48c-8.9 0-14.4.9-18.5 3.9-11.9 8.9-19.1 25.6-19.3 43.6-.2 13.5 3.3 28.6 10.4 46.2 8.6 21 42.6 70.2 78 118.7zM372 322.3c-12.3 0-24.1 3.8-34.3 11.1-3.2-6.1-6.7-13.2-10.4-20.7-3.4-6.9-6.9-14-10.4-20.8L306 305.8l-36.4 33.1c5.2 4.6 10.7 10.4 15.3 17.5 14.5 22.6 25 54.2 26 57.3 3.8 14.1 11.3 26.3 21.8 35.4 11.3 9.8 24.9 15 39.2 15 35.3 0 64-31.8 64-70.9s-28.6-70.9-63.9-70.9zm.1 98.8c-13.3 0-24-12.6-24-28s10.7-28 24-28 24 12.6 24 28c0 15.5-10.7 28-24 28z"/></svg>PK}w�\�W�ii)collection/icon/svg/md-arrow-dropleft.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M320 128L192 256l128 128z"/></svg>PK}w�\��Ȕ�collection/icon/svg/ios-pie.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M276 68.1v219c0 3.7-2.5 6.8-6 7.7L81.1 343.4c-2.3.6-3.6 3.1-2.7 5.4C109.1 426 184.9 480.6 273.2 480c114.6-.7 206.8-93.5 206.8-208 0-112.1-88.6-203.5-199.8-207.8-2.3-.1-4.2 1.7-4.2 3.9z"/><path d="M32 239.3s.2 48.8 15.2 81.1c.8 1.8 2.8 2.7 4.6 2.2l193.8-49.7c3.5-.9 6.4-4.6 6.4-8.2V36c0-2.2-1.8-4-4-4C91 33.9 32 149 32 239.3z"/></svg>PK}w�\�/�wwcollection/icon/svg/md-time.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><g fill-opacity=".9"><path d="M255.8 48C141 48 48 141.2 48 256s93 208 207.8 208c115 0 208.2-93.2 208.2-208S370.8 48 255.8 48zm.2 374.4c-91.9 0-166.4-74.5-166.4-166.4S164.1 89.6 256 89.6 422.4 164.1 422.4 256 347.9 422.4 256 422.4z"/><path d="M266.4 152h-31.2v124.8l109.2 65.5 15.6-25.6-93.6-55.5V152z"/></g></svg>PK}w�\�$����collection/icon/svg/md-exit.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M215.469 332.802l29.863 29.864L352 256 245.332 149.333l-29.863 29.865 55.469 55.469H64v42.666h205.864l-54.395 55.469zM405.334 64H106.666C83.198 64 64 83.198 64 106.666V192h42.666v-85.333h298.668v298.668H106.666V320H64v85.334C64 428.802 83.198 448 106.666 448h298.668C428.802 448 448 428.802 448 405.334V106.666C448 83.198 428.802 64 405.334 64z"/></svg>PK}w�\��i��'collection/icon/svg/ios-thermometer.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M309.8 304.6c-4.3-3-6.9-7.9-6.9-13.1v-213c0-25.7-21-46.5-47-46.5s-47 20.8-47 46.5v213c0 5.2-2.6 10.2-6.9 13.1-25.2 17.3-42 46.4-42 79.3 0 53 43 96 96 96s96-43 96-96c0-32.9-17-62.1-42.2-79.3zM256.1 445c-32 0-58.1-26.3-58.1-58.8 0-25.4 15.4-47.1 37.9-55.3 3.2-1.2 5.4-4.1 5.4-7.5V180.2c0-8 6.5-14.5 14.5-14.5s14.5 6.5 14.5 14.5v143.2c0 3.4 2.1 6.3 5.3 7.5 21.9 8.2 38.4 29.9 38.4 55.2 0 32.5-25.8 58.9-57.9 58.9z"/></svg>PK}w�\����ll.collection/icon/svg/logo-closed-captioning.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M32 96v320h448V96H32zm406 159.8c0 23.4-1.4 41.2-3.3 70.2s-16.8 49.4-51.7 52.6c-34.9 3.2-83.8 3.5-127 3.4-42.9.1-92-.1-127-3.4-34.9-3.2-49.7-23.6-51.7-52.6S74 279.2 74 255.8c0-23.4.1-38.6 3.3-70.2s20.1-49.2 51.7-52.4 86-3.2 127-3.2 95.4 0 127 3.2c31.6 3.2 48.5 20.9 51.7 52.4 3.2 31.6 3.3 46.9 3.3 70.2z"/><path d="M357.5 280.4v.7c0 16.3-10.1 25.9-23.6 25.9-13.5 0-22.6-10.8-23.9-25.9 0 0-1.2-7.9-1.2-23.9s1.4-26 1.4-26c2.4-17 10.7-25.9 24.2-25.9 13.4 0 24.1 11.6 24.1 29.2v.5h45.1c0-21.9-5.5-41.6-16.6-54-11-12.4-27.5-18.6-49.3-18.6-10.9 0-20.9 1.4-30 4.3-9.1 2.9-17 7.9-23.6 15.1-6.6 7.2-11.7 16.8-15.4 28.9-3.6 12.1-5.5 27.3-5.5 45.7 0 18 1.5 33 4.4 45.1 3 12.1 7.3 21.7 13.1 28.9 5.8 7.2 13.1 12.2 21.8 15 8.8 2.8 19.1 4.2 30.9 4.2 25 0 43-6.4 53.8-18.7 10.8-12.3 16.2-30.3 16.2-53.9h-46.1c.2 0 .2 2.5.2 3.4zM202.6 280.4v.7c0 16.3-10.1 25.9-23.6 25.9-13.5 0-22.6-10.8-23.9-25.9 0 0-1.2-7.9-1.2-23.9s1.4-26 1.4-26c2.4-17 10.7-25.9 24.2-25.9 13.4 0 24.1 11.6 24.1 29.2v.5h45.1c0-21.9-5.5-41.6-16.6-54-11-12.4-27.5-18.6-49.3-18.6-10.9 0-20.9 1.4-30 4.3-9.1 2.9-17 7.9-23.6 15.1-6.6 7.2-11.7 16.8-15.4 28.9-3.6 12.1-5.5 27.3-5.5 45.7 0 18 1.5 33 4.4 45.1 3 12.1 7.3 21.7 13.1 28.9 5.8 7.2 13.1 12.2 21.8 15 8.8 2.8 19.1 4.2 30.9 4.2 25 0 43-6.4 53.8-18.7 10.8-12.3 16.2-30.3 16.2-53.9h-46.1c.2 0 .2 2.5.2 3.4z"/></svg>PK}w�\@�c ee#collection/icon/svg/logo-github.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 32C132.3 32 32 134.9 32 261.7c0 101.5 64.2 187.5 153.2 217.9 1.4.3 2.6.4 3.8.4 8.3 0 11.5-6.1 11.5-11.4 0-5.5-.2-19.9-.3-39.1-8.4 1.9-15.9 2.7-22.6 2.7-43.1 0-52.9-33.5-52.9-33.5-10.2-26.5-24.9-33.6-24.9-33.6-19.5-13.7-.1-14.1 1.4-14.1h.1c22.5 2 34.3 23.8 34.3 23.8 11.2 19.6 26.2 25.1 39.6 25.1 10.5 0 20-3.4 25.6-6 2-14.8 7.8-24.9 14.2-30.7-49.7-5.8-102-25.5-102-113.5 0-25.1 8.7-45.6 23-61.6-2.3-5.8-10-29.2 2.2-60.8 0 0 1.6-.5 5-.5 8.1 0 26.4 3.1 56.6 24.1 17.9-5.1 37-7.6 56.1-7.7 19 .1 38.2 2.6 56.1 7.7 30.2-21 48.5-24.1 56.6-24.1 3.4 0 5 .5 5 .5 12.2 31.6 4.5 55 2.2 60.8 14.3 16.1 23 36.6 23 61.6 0 88.2-52.4 107.6-102.3 113.3 8 7.1 15.2 21.1 15.2 42.5 0 30.7-.3 55.5-.3 63 0 5.4 3.1 11.5 11.4 11.5 1.2 0 2.6-.1 4-.4C415.9 449.2 480 363.1 480 261.7 480 134.9 379.7 32 256 32z"/></svg>PK}w�\��jj$collection/icon/svg/md-stopwatch.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M232 306.667h48V176h-48v130.667z"/><path d="M407.67 170.271l30.786-30.786-33.942-33.941-30.785 30.786C341.217 111.057 300.369 96 256 96 149.961 96 64 181.961 64 288s85.961 192 192 192 192-85.961 192-192c0-44.369-15.057-85.217-40.33-117.729zm-45.604 223.795C333.734 422.398 296.066 438 256 438s-77.735-15.602-106.066-43.934C121.602 365.735 106 328.066 106 288s15.602-77.735 43.934-106.066C178.265 153.602 215.934 138 256 138s77.734 15.602 106.066 43.934C390.398 210.265 406 247.934 406 288s-15.602 77.735-43.934 106.066zM192 32h128v48H192z"/></svg>PK}w�\�D���$collection/icon/svg/md-git-merge.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M384 224c-23.7 0-44.4 12.9-55.4 32-18.3-.5-52.4-4.1-75.5-18.1-32.3-19.4-64.6-53.1-87-90.5 15.7-11.7 26-30.3 26-51.4 0-35.3-28.7-64-64-64S64 60.7 64 96c0 23.7 12.9 44.3 32 55.4v209.2c-19.1 11.1-32 31.7-32 55.4 0 35.3 28.7 64 64 64s64-28.7 64-64c0-23.7-12.9-44.3-32-55.4V244.2c18.7 19.4 39.1 36 60 48.6 38.8 23.4 87 26.9 108.6 27.3 11.1 19.1 31.7 31.9 55.4 31.9 35.3 0 64-28.7 64-64s-28.7-64-64-64zM88 96c0-22.1 17.9-40 40-40s40 17.9 40 40-17.9 40-40 40-40-17.9-40-40zm80 320c0 22.1-17.9 40-40 40s-40-17.9-40-40 17.9-40 40-40 40 17.9 40 40zm216-88c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40z"/></svg>PK}w�\+�G�� collection/icon/svg/md-stats.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M176 64h64v384h-64zM80 336h64v112H80zM272 272h64v176h-64zM368 176h64v272h-64z"/></svg>PK}w�\}�L=="collection/icon/svg/ios-photos.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M464 144H128c-17.6 0-32 14.4-32 32v240c0 17.6 14.4 32 32 32h336c17.6 0 32-14.4 32-32V176c0-17.6-14.4-32-32-32z"/><path d="M100 116h332V96c0-17.6-14.4-32-32-32H48c-17.6 0-32 14.4-32 32v256c0 17.6 14.4 32 32 32h20V148c0-17.6 14.4-32 32-32z"/></svg>PK}w�\��L��&collection/icon/svg/ios-flashlight.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M317 32H195c-17.6 0-24 14.4-24 32h170c0-17.6-6.4-32-24-32zM196.1 147.5c7.6 8.8 11.9 20 11.9 31.7v265.9c0 21.9 17.9 34.9 39.9 34.9h16.3c21.9 0 39.9-12.9 39.9-34.9V179.2c0-11.7 4.3-22.8 11.9-31.7 15.4-17.9 25-34.5 25-67.5H171c0 35 9.6 49.6 25.1 67.5zm31.9 90.8c0-15.6 12.6-28.3 28-28.3s28 12.7 28 28.3v35.4c0 15.6-12.6 28.3-28 28.3s-28-12.7-28-28.3v-35.4z"/><circle cx="256" cy="273" r="20"/></svg>PK}w�\�y����"collection/icon/svg/md-bicycle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M330.666 131.202c18.668 0 33.598-14.935 33.598-33.601S349.334 64 330.666 64C312 64 297.07 78.935 297.07 97.601s14.93 33.601 33.596 33.601zm56 130.132c-51.332 0-93.332 42-93.332 93.333s42 93.333 93.332 93.333C438 448 480 406 480 354.667s-42-93.333-93.334-93.333zm0 158.666c-36.402 0-65.332-28.93-65.332-65.333s28.93-65.333 65.332-65.333c36.404 0 65.334 28.93 65.334 65.333S423.07 420 386.666 420zm-81.069-196H384v-32h-58.845l-34.62-60.134c-5.605-9.333-15.869-15.864-27.07-15.864-8.399 0-16.798 3.732-22.399 9.333L169.334 194.4c-5.601 5.601-9.333 14-9.333 22.399 0 12.131 9.202 21.465 18.535 27.065L240 282.134V368h32V256l-39.333-32 42.929-44.533L305.597 224zm-180.264 37.334C74 261.334 32 303.334 32 354.667S74 448 125.333 448s93.333-42 93.333-93.333-41.999-93.333-93.333-93.333zm0 158.666C88.934 420 60 391.07 60 354.667s28.934-65.333 65.333-65.333 65.333 28.93 65.333 65.333S161.732 420 125.333 420z"/></svg>PK}w�\Y���� collection/icon/svg/ios-wifi.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 96c-81.5 0-163 33.6-221.5 88.3-3.3 3-3.4 8.1-.3 11.4l26.7 27.9c3.1 3.3 8.3 3.4 11.6.3 23.3-21.6 49.9-38.8 79.3-51 33-13.8 68.1-20.7 104.3-20.7s71.3 7 104.3 20.7c29.4 12.3 56 29.4 79.3 51 3.3 3.1 8.5 3 11.6-.3l26.7-27.9c3.1-3.2 3-8.3-.3-11.4C419 129.6 337.5 96 256 96z"/><path d="M113.2 277.5l28.6 28.3c3.1 3 8 3.2 11.2.3 28.3-25.1 64.6-38.9 102.9-38.9s74.6 13.7 102.9 38.9c3.2 2.9 8.1 2.7 11.2-.3l28.6-28.3c3.3-3.3 3.2-8.6-.3-11.7-37.5-33.9-87.6-54.6-142.5-54.6s-105 20.7-142.5 54.6c-3.3 3.1-3.4 8.4-.1 11.7zM256 324.2c-23.4 0-44.6 9.8-59.4 25.5-3 3.2-2.9 8.1.2 11.2l53.4 52.7c3.2 3.2 8.4 3.2 11.6 0l53.4-52.7c3.1-3.1 3.2-8 .2-11.2-14.8-15.6-36-25.5-59.4-25.5z"/></svg>PK}w�\����collection/icon/svg/md-card.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M435.2 80H76.8c-24.9 0-44.6 19.6-44.6 44L32 388c0 24.4 19.9 44 44.8 44h358.4c24.9 0 44.8-19.6 44.8-44V124c0-24.4-19.9-44-44.8-44zm0 308H76.8V256h358.4v132zm0-220H76.8v-44h358.4v44z"/></svg>PK}w�\��~3==&collection/icon/svg/md-thumbs-down.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M314 64H142c-15.7 0-28.6 9.6-34.2 23.4L50.6 222.8c-1.7 4.4-2.6 9-2.6 14v38.6c0 21.1 17 44.6 37.8 44.6h119.3l-18 81.5-.6 6c0 7.9 3.2 15.1 8.3 20.3l20 20.1L341 320.7c6.8-6.9 11-16.5 11-27.1v-192c0-21.1-17.2-37.6-38-37.6zM400 64h64v224h-64z"/></svg>PK}w�\�4vZff collection/icon/svg/ios-hand.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M394.9 117.3c-11.6 0-21.1 9.3-21.1 20.6v109.4c0 4.8-4 8.7-8.9 8.7s-8.9-3.9-8.9-8.7V85.9c0-11.3-9.5-20.6-21.1-20.6-11.6 0-21.1 9.3-21.1 20.6v126.8c0 4.8-4 8.7-8.9 8.7s-8.9-3.9-8.9-8.7V68.6c0-11.3-9.5-20.6-21.1-20.6-11.6 0-21.1 9.3-21.1 20.6V230c0 4.8-4 8.7-8.9 8.7s-8.9-3.9-8.9-8.7V103.2c0-11.3-9.5-20.6-21.1-20.6-11.6 0-21.1 9.3-21.1 20.6v218.3L166 297.9c-26.1-22.7-48.2-32.4-66.2-15.7-12.1 11.8 6.9 30.9 26.8 53.2 19.2 21.5 70 91.9 113.3 117.3 0 0 16.7 11.4 40.6 11.4h57.2c46.1 0 78.4-37.9 78.4-93.2v-233c-.1-11.3-9.6-20.6-21.2-20.6z"/></svg>PK}w�\.+_"""collection/icon/svg/ios-hammer.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M277.6 246.9c-1.1-2-2.5-3.9-4.1-5.5l-18.4-18.2c-1.9-1.9-4.1-3.5-6.6-4.6-8.2-3.6-17.4-1.7-23.4 4.3-6.4 6.3-18.1 17.8-39.2 38.7-40.4 40-98.1 89.6-132 118.2-7.2 6.1-7.7 17-1.1 23.7L92 443.2c6.7 6.7 17.6 6.3 23.8-.9 29.4-34.6 79.5-92.3 119.4-131.8 20.5-20.2 32-31.8 38.5-38.2 6.5-6.6 8.3-16.7 3.9-25.4zM462.4 218.1l-34.5-34.2c-1.1-1.1-2.5-1.6-4-1.6-1.4 0-2.9.5-4 1.6-2.5 2.5-6.1 3.8-9.6 3.3-4.5-.5-9.3-1.9-12.4-4.9-7-6.9 1.1-20.5-5.1-29.2-6.2-8.7-16.1-19.8-23.2-26.9-7.1-7-35-33.7-82-52.9-16.6-6.8-32.8-9.3-47.3-9.3-26.5 0-47.4 8.5-54.8 15.3-5.5 5.1-11.2 14.1-3.1 14.1.7 0 1.5-.1 2.4-.2 4.5-.7 13.3-1.5 23.4-1.5 15.7 0 34.5 2.1 44.6 10.1 16.3 13.1 29.8 30.6 30.9 53.2.8 16.8-3.4 28.2-18.7 45.5-2.8 3.2-2.6 8 .4 10.9l19.2 19.2c3.1 3.1 8.1 3.1 11.2.1 14-13.6 22.1-20.2 31.3-22.7 4-1.1 8.4-1.6 12.8-1.6 9.7 0 19.2 2.2 23.6 4.6 1.1.6 2.1 1.4 3.1 2.4 6.5 6.6 6.1 17.4-.5 23.9l-2 1.9c-2.2 2.2-2.2 5.7 0 7.9l34.5 34.2c1.1 1.1 2.5 1.6 4 1.6 1.4 0 2.9-.5 4-1.6l55.8-55.2c2.1-2.3 2.1-5.8 0-8z"/></svg>PK}w�\��W0�� collection/icon/svg/ios-apps.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M434.8 137.6L285.4 69.5c-16.2-7.4-42.7-7.4-58.9 0L77.2 137.6c-17.6 8-17.6 21.1 0 29.1l148 67.5c16.9 7.7 44.7 7.7 61.6 0l148-67.5c17.6-8 17.6-21.1 0-29.1zM225.2 375.2l-99.8-45.5c-4.2-1.9-9.1-1.9-13.3 0l-34.9 15.9c-17.6 8-17.6 21.1 0 29.1l148 67.5c16.9 7.7 44.7 7.7 61.6 0l148-67.5c17.6-8 17.6-21.1 0-29.1l-34.9-15.9c-4.2-1.9-9.1-1.9-13.3 0l-99.8 45.5c-16.9 7.7-44.7 7.7-61.6 0z"/><path d="M434.8 241.6l-31.7-14.4c-4.2-1.9-9-1.9-13.2 0l-108 48.9c-15.3 5.2-36.6 5.2-51.9 0l-108-48.9c-4.2-1.9-9-1.9-13.2 0l-31.7 14.4c-17.6 8-17.6 21.1 0 29.1l148 67.5c16.9 7.7 44.7 7.7 61.6 0l148-67.5c17.7-8 17.7-21.1.1-29.1z"/></svg>PK}w�\_;\cc!collection/icon/svg/md-camera.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><circle cx="256" cy="280" r="63"/><path d="M440 96h-88l-32-32H192l-32 32H72c-22.092 0-40 17.908-40 40v272c0 22.092 17.908 40 40 40h368c22.092 0 40-17.908 40-40V136c0-22.092-17.908-40-40-40zM256 392c-61.855 0-112-50.145-112-112s50.145-112 112-112 112 50.145 112 112-50.145 112-112 112z"/></svg>PK}w�\Z�:�::%collection/icon/svg/ios-backspace.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M395 96H230c-46.7 0-73.2 34.7-102 63.5s-72.1 74.7-72.1 74.7C51 239.8 48 247 48 255.1c0 8 3 15.3 7.9 21 0 0 34.3 37.6 72.1 75.5 37.8 37.8 56.7 64.5 102 64.5h165c38.5 0 69-32.5 69-71V165c0-38.5-30.5-69-69-69zm-17.7 212.7c6.2 6.2 6.2 16.4 0 22.6-6.2 6.2-16.4 6.2-22.6 0L302 278.6l-52.7 52.7c-6.2 6.2-16.3 6.4-22.6 0-6.4-6.4-6.7-15.9 0-22.6l52.7-52.7-52.7-52.7c-6-6-7.1-15.6 0-22.6 7.1-7.1 16.4-6.2 22.6 0l52.7 52.7 52.7-52.7c6.2-6.2 16.4-6.2 22.6 0 6.2 6.2 6.2 16.4 0 22.6L324.6 256l52.7 52.7z"/></svg>PK}w�\9L���� collection/icon/svg/md-pizza.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M407.2 130.4C360.7 111.5 309.8 102 256 102c-53.9 0-108.3 10.3-151.2 28-8.1 3.3-15.3 9-10.1 19.5S255.9 480 255.9 480l161-329.9c3.2-6.9.9-15.4-9.7-19.7zm-221 73.6c-18.7 0-32-14.3-32-32s13.3-32 32-32 32 14.3 32 32-13.3 32-32 32zM256 347c-18.7 0-32-14.3-32-32s13.3-32 32-32 32 14.3 32 32-13.3 32-32 32zm69.8-123c-18.7 0-32-14.3-32-32s13.3-32 32-32 32 14.3 32 32-13.3 32-32 32z"/><path d="M436.9 66C384.7 45.4 320.3 32 256 32c-64.3 0-127.6 12.1-180.9 33.4C70.4 67.3 64 71 64 79.2l9.7 24.1c2.8 4.9 8.7 8.2 15.1 8.2 1.8 0 4.3-.3 7.3-1.5 49-18.9 103.1-29.6 160-29.6 56.9 0 115.2 11.6 160 29.6 3.6 1.4 5.6 1.5 7.3 1.5 6.6 0 12.2-3.3 15-8.1l9.8-24.1c-.2-7.3-5-10.8-11.3-13.3z"/></svg>PK}w�\f����&collection/icon/svg/md-volume-high.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M64 192v128h85.334L256 431.543V80.458L149.334 192H64zm288 64c0-38.399-21.333-72.407-53.333-88.863v176.636C330.667 328.408 352 294.4 352 256zM298.667 64v44.978C360.531 127.632 405.334 186.882 405.334 256c0 69.119-44.803 128.369-106.667 147.022V448C384 428.254 448 349.257 448 256c0-93.256-64-172.254-149.333-192z"/></svg>PK}w�\��hm��+collection/icon/svg/ios-tablet-portrait.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M409 39c-4.5-4.5-10.6-7-16.9-7H119.9c-6.4 0-12.4 2.5-16.9 7-4.5 4.5-7 10.6-7 16.9V456c0 6.4 2.5 12.4 7 16.9 4.5 4.5 10.6 7 16.9 7H392c6.4 0 12.4-2.5 16.9-7 4.5-4.5 7-10.6 7-16.9V55.9c.1-6.3-2.4-12.4-6.9-16.9zm-153.4 9.7c3.9 0 7 3.1 7 7s-3.1 7-7 7-7-3.1-7-7c0-3.8 3.2-7 7-7zM256 470c-7.7 0-14-6.5-14-14.1 0-7.5 6.2-14 14-14 7.7 0 14.1 6.4 14.1 14-.1 7.6-6.4 14.1-14.1 14.1zm144-38H112V80h288v352z"/></svg>PK}w�\ ���'collection/icon/svg/md-battery-dead.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M338.2 76.8h-37.4V32h-89.6v44.8h-37.4c-16.4 0-29.8 13.4-29.8 29.8V450c0 16.6 13.4 30 29.8 30H338c16.6 0 30-13.4 30-29.8V106.6c0-16.4-13.4-29.8-29.8-29.8zM320 432H192V124.8h128V432z"/></svg>PK}w�\�e���#collection/icon/svg/logo-reddit.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><circle cx="322.3" cy="288.4" r="31.8"/><circle cx="190.3" cy="288.4" r="31.8"/><path d="M480.5 251c0-27.7-22.2-50.2-49.5-50.2-13 0-24.7 5-33.6 13.3-33.2-23.4-78.4-38.5-128.7-40.7L292 95.7l69.6 13.9c.2 24.7 20.1 44.7 44.5 44.7 24.6 0 44.5-20.2 44.5-45.1S430.7 64 406.1 64c-18.6 0-34.5 11.6-41.2 28l-85.2-17-29.4 98.2-7.1.2c-50.3 2.2-95.5 17.4-128.7 40.7-8.8-8.3-20.6-13.3-33.6-13.3-27.3 0-49.5 22.5-49.5 50.2 0 19.6 11 36.5 27.1 44.8-.8 4.9-1.2 9.8-1.2 14.8C57.5 386.4 146.4 448 256 448s198.5-61.6 198.5-137.5c0-5-.4-9.9-1.1-14.8 16.1-8.3 27.1-25.2 27.1-44.7zM406.1 81.9c14.8 0 26.8 12.2 26.8 27.2s-12 27.2-26.8 27.2-26.8-12.2-26.8-27.2 12-27.2 26.8-27.2zM49.2 251c0-17.8 14.3-32.2 31.8-32.2 7.2 0 13.9 2.5 19.2 6.6-17.3 15.2-30.1 33-37 52.4-8.4-5.9-14-15.7-14-26.8zm337.2 141.9C351.8 416.8 305.5 430 256 430s-95.8-13.2-130.4-37.1c-32.5-22.5-50.4-51.8-50.4-82.4 0-3.2.2-6.5.6-9.7.7-6 2.2-11.9 4.3-17.7 5.6-15.6 16-30.3 30.7-43.4 4.4-3.9 9.2-7.7 14.4-11.3.1-.1.3-.2.4-.3C160.2 204.2 206.5 191 256 191s95.8 13.2 130.4 37.1c.1.1.3.2.4.3 5.2 3.6 10 7.4 14.4 11.3 14.7 13.1 25.1 27.8 30.7 43.4 2.1 5.8 3.5 11.7 4.3 17.7.4 3.2.6 6.4.6 9.7 0 30.6-17.9 59.9-50.4 82.4zm62.4-115.2c-6.9-19.4-19.7-37.2-37-52.4 5.3-4.1 12-6.6 19.2-6.6 17.5 0 31.8 14.5 31.8 32.2 0 11.2-5.6 21-14 26.8z"/><path d="M320.5 357.9c-.2.2-24.2 24.2-64.5 24.4-40.9-.2-64.4-24.2-64.6-24.4l-12.6 12.4c1.2 1.2 29.6 29.5 77.2 29.7 47.6-.2 75.9-28.5 77.1-29.7l-12.6-12.4z"/></svg>PK}w�\90���%collection/icon/svg/md-add-circle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.125 48 48 141.125 48 256s93.125 208 208 208 208-93.125 208-208S370.875 48 256 48zm107 229h-86v86h-42v-86h-86v-42h86v-86h42v86h86v42z"/></svg>PK}w�\�zޢ'collection/icon/svg/md-cloudy-night.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M123.4 183c.4-.1.8-.1 1.2-.2-.5.1-.8.2-1.2.2zM341.5 303.4C330.7 247.7 282.2 206 224 206c-34 0-65.1 12-86.5 39.1 29.4 2.2 56.7 13.1 77.7 34.2 15.6 15.7 26.6 34.9 32.1 55.8h-28.7c-13.1-37.6-48-64.5-90.6-64.5-5.1 0-12.3.6-17.7 1.7-45.7 9.4-78.3 47.6-78.3 95 0 53.4 43 96.8 96 96.8h208c44.1 0 80-36.1 80-80.6-.1-42.7-32.9-77.2-74.5-80.1z"/><path d="M112.5 225.4c13.6-17.3 30.7-30.5 50.8-39.2 18.4-8 38.8-12 60.7-12 6.1 0 12.2.4 18.2 1.1-6.1-18.1-9.4-37.6-9.4-57.8 0-24.6 4.9-48.1 13.8-69.4C161.9 68.7 99 145.7 99 237.3c0 1.6 0 3.2.1 4.8.1 0 .2-.1.3-.1l13.1-16.6zM417.6 306.8c13.3 14.2 22.6 31.5 27.1 50.1 16.5-21.4 28.7-46.4 35.3-73.5-21.2 9-44.5 13.9-68.9 13.9h-3.6c3.5 2.9 6.9 6.1 10.1 9.5z"/></svg>PK}w�\�D!C!collection/icon/svg/md-create.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M64 368v80h80l235.727-235.729-79.999-79.998L64 368zm377.602-217.602c8.531-8.531 8.531-21.334 0-29.865l-50.135-50.135c-8.531-8.531-21.334-8.531-29.865 0l-39.468 39.469 79.999 79.998 39.469-39.467z"/></svg>PK}w�\& %��collection/icon/svg/ios-egg.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 32C192 32 96 165.2 96 288.9 96 412.6 160 480 256 480s160-67.4 160-191.1C416 165.2 320 32 256 32z"/></svg>PK}w�\��ww&collection/icon/svg/md-information.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M232 235h48v137h-48zM232 140h48v48h-48z"/></svg>PK}w�\�>�&ll'collection/icon/svg/md-finger-print.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M78.1 205.6c-2.4 0-4.9-.6-7.1-1.9-6.7-3.9-9-12.4-5.1-19.1 17.8-30 71.9-100.1 190.1-100.1 51.2 0 96.1 13.6 133.4 40.4 30.7 22 47.9 46.9 56.1 58.9 4.4 6.4 2.7 15-3.7 19.4-6.4 4.3-15.2 2.7-19.6-3.7-14.9-21.6-60.1-87.2-166.2-87.2-103.6 0-150.4 60.4-165.7 86.3-2.6 4.6-7.3 7-12.2 7z"/><path d="M315.5 480c-1.2 0-2.3-.1-3.5-.4-85.7-21.5-117.7-108.1-119-111.7l-.2-.8c-.7-2.5-17.9-61.9 8.5-96.7 12.1-15.9 30.5-24 54.8-24 22.6 0 38.9 7.1 50.1 21.8 9.2 12 12.9 26.8 16.5 41.1 7.5 29.7 12.9 45.3 44.1 46.9 13.7.7 22.7-7.4 27.8-14.3 13.8-18.8 16.2-49.5 5.8-76.5-13.4-35-60.8-100.9-144.4-100.9-35.7 0-68.5 11.6-94.8 33.4-21.8 18.1-39.1 43.6-47.4 69.8-15.4 48.8 4.8 125.5 5 126.2 2 7.4-2.5 15.1-10 17-7.5 2-15.3-2.5-17.3-9.9-.9-3.5-22.5-85.3-4.7-141.7C106.2 198.2 166 136.6 256 136.6c41.6 0 80.9 14.3 113.7 41.3 25.4 21 46.2 49.2 57 77.4 13.8 36 10.1 76.4-9.4 102.8-13 17.6-31.5 26.8-52 25.8-53.4-2.7-63-40.4-70-67.9-7.2-28.2-11.8-41.8-39.3-41.8-15.1 0-25.7 4.2-32.3 12.9-9 11.9-9.7 30.5-8.7 44 1 14.1 4 25.5 4.7 27.8 2.2 5.6 30.8 76.5 99.3 93.7 7.6 1.9 12.1 9.5 10.2 16.9-1.7 6.3-7.4 10.5-13.7 10.5z"/><path d="M205.5 473.6c-3.8 0-7.5-1.5-10.3-4.4-34.3-36.4-53.7-77.1-61-128v-.3c-4.1-33.7 1.9-81.4 31.3-114.2 21.7-24.2 52.2-36.5 90.5-36.5 45.3 0 80.9 21.3 103.1 61.5 16.1 29.2 19.3 58.3 19.4 59.5.8 7.7-4.9 14.5-12.6 15.3-7.7.8-14.7-4.8-15.5-12.4 0-.3-2.8-25.3-16.5-49.7-17.2-30.7-43.4-46.3-78-46.3-29.9 0-53.3 9.1-69.4 27.1-23.2 25.9-27.7 65.8-24.5 92.2 6.4 45 23.5 80.8 53.7 112.8 5.3 5.6 5 14.5-.7 19.7-2.6 2.4-6.1 3.7-9.5 3.7z"/><path d="M363.5 433.5c-30 0-55.5-8.4-75.9-25.1-41-33.4-45.6-87.8-45.8-90.1-.6-7.7 5.2-14.4 13-15 7.8-.6 14.5 5.1 15.1 12.8.1.8 4.2 45.3 35.8 70.9 18.7 15.1 43.7 21.1 74.5 17.6 7.7-.9 14.7 4.6 15.6 12.3.9 7.7-4.7 14.6-12.4 15.4-6.8.8-13.5 1.2-19.9 1.2zM387.2 62.6C375.5 54.9 334 32 256 32c-81.9 0-123.5 25.3-132.7 31.7-.6.4-1.2.8-1.7 1.3-.1.1-.2.1-.2.1-2.9 2.6-4.7 6.3-4.7 10.4 0 7.7 6.3 13.9 14.1 13.9 3.1 0 5.9-1 8.2-2.6l-.1.1c.4-.3 36.3-27 117.1-27s116.7 26.8 117.1 27l-.1-.1.2-.2c2.4 1.8 5.3 2.8 8.5 2.8 7.8 0 14.1-6.2 14.1-13.9 0-5.8-3.5-10.8-8.6-12.9z"/></svg>PK}w�\)5-�DDcollection/icon/svg/md-male.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M416 48H288v48h94.1L275.4 202.6C251.9 185.9 223.1 176 192 176c-79.5 0-144 64.5-144 144s64.5 144 144 144 144-64.5 144-144c0-31.1-9.9-59.9-26.6-83.4L416 129.9V224h48V48h-48zM192 416c-52.9 0-96-43.1-96-96s43.1-96 96-96 96 43.1 96 96-43.1 96-96 96z"/></svg>PK}w�\�:�99$collection/icon/svg/md-thumbs-up.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M198 448h172c15.7 0 28.6-9.6 34.2-23.4l57.1-135.4c1.7-4.4 2.6-9 2.6-14v-38.6c0-21.1-17-44.6-37.8-44.6H306.9l18-81.5.6-6c0-7.9-3.2-15.1-8.3-20.3L297 64 171 191.3c-6.8 6.9-11 16.5-11 27.1v192c0 21.1 17.2 37.6 38 37.6zM48 224h64v224H48z"/></svg>PK}w�\�˘�-collection/icon/svg/ios-notifications-off.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M255.9 456c31.1 0 48.1-22 48.1-53h-96.3c0 31 17 53 48.2 53zM154.5 55c-2.5-4.3-7-6.8-11.6-7h.3-1.2c-2.3 0-4.7.7-6.9 1.9-6.8 3.9-9.1 12.6-5.1 19.3L357.5 457c2.6 4.5 7.4 7 12.3 7 2.4 0 4.9-.6 7.2-1.9 6.8-3.9 9.1-12.6 5.1-19.3L154.5 55zM296.1 384L159 150.5c-8.2 20.2-13.3 46-13.3 78.6 0 90.9-30.3 102.7-45.7 123.1-9.9 13.1-.5 31.8 15.9 31.8h180.2zM412 352.2c-15.4-20.3-45.7-32.2-45.7-123.1 0-93.3-41.2-130.8-79.6-139.8-3.6-.9-6.2-2.1-6.2-5.9v-2.9c0-13.4-11-24.7-24.4-24.6-13.4-.2-24.4 11.2-24.4 24.6v2.9c0 3.7-2.6 5-6.2 5.9-8.7 2-17.5 5.5-25.9 10.8L366.1 384H396c16.5 0 25.9-18.8 16-31.8z"/></svg>PK}w�\L;���!collection/icon/svg/ios-train.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M393.7 455.9l-50-48c-5.6-5.4-14.4-5.2-19.8.4-5.4 5.6-5.2 14.4.4 19.8l6.1 5.9H181.5l6.1-5.9c5.6-5.4 5.8-14.2.4-19.8-5.4-5.6-14.2-5.8-19.8-.4l-50 48c-5.6 5.4-5.8 14.2-.4 19.8 2.7 2.9 6.4 4.3 10.1 4.3 3.5 0 7-1.3 9.7-3.9l14.7-14.1h207.2l14.7 14.1c2.7 2.6 6.2 3.9 9.7 3.9 3.7 0 7.4-1.4 10.1-4.3 5.5-5.6 5.3-14.4-.3-19.8z"/><path d="M337 48h-17c0-8.8-7.2-16-16-16h-96c-8.8 0-16 7.2-16 16h-15c-35.3 0-65 27.7-65 63v236c0 35.3 144 65 144 65s144-29.7 144-65V111c0-35.3-27.7-63-63-63zm-81 304c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm96-160c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16v-64c0-8.8 7.2-16 16-16h160c8.8 0 16 7.2 16 16v64z"/><circle cx="256" cy="304" r="30.5"/></svg>PK}w�\��U��*collection/icon/svg/logo-freebsd-devil.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M502.6 115c-22.5-43.7-58-51-58-51s15.5 32 16 51c.4 16.1-5.5 28-27.2 33.5s-30.8-2-47.8-17.5-41.6-26.5-72.6-28c-40-2-77 9-77 9-20-25 20-80 20-80-74.5 29.5-93.7 83.3-96 113.7-1.9 24.1 8.5 40.8 8.5 40.8s-.5 27.8-5 42c-3.1 9.8-16.9 25-26 34.5-12.2 12.7-12.5 38.5 0 57s44 27.5 67 39.5 31.5 21 31.5 21 1 8.3.5 15.3-3.2 14-9 18.2c-5.5 3.9-15.5.5-20.5-2s-5-6.2-10.5-8-7.3-4-6.5-11 2-9-3.5-18.5-18.5-9.5-29.5-8-17.3 6.8-17.3 6.8l-16.3-10s8.5-15.6 5.2-35.6c-7.3-43.8-50-62.8-50-62.8L89 309.3s1.1-2.6 6.4-6.4 8.1-3.6 8.1-3.6 6.6 7.6 9.1 25.3c2.5 18-6.7 27.2-6.7 27.2l-28.3-18 1-14.5L39.8 309 56 345.7l15-4 24 22.7s-15.7 11.7-33 11.7c-11 0-22-6-22-6s-1.4-1-.8-5.5c.7-5 6.8-12.5 6.8-12.5H0s27.3 38.7 65 38.7c31 0 44.2-12.5 44.2-12.5L128 397s3 5.5 0 7-7 3.5-9 15 18 29 18 29c21.8 17.8 7 32 7 32h272c-9-13-22.5-18-32-32 0 0-44.8-58.4-1.8-90.4 57.4-42.7 42.8-69.4 41.2-101.4 0 0 31.8-6.6 59.3-33.6s38.9-70.8 19.9-107.6zM195 203c-16.9 4.5-22.5 35.5-22.5 35.5 1.5-63 57.5-93 65-89s-6.5 39-21 64c0 0-8-14.1-21.5-10.5zm37 15s18-56 37.5-59.5 41.5 21 41.5 62-26 65.4-42.8 69.2c-16.5 3.8-23 2-23 2s27.5-21.6 23.5-56.8c-2.8-24.7-31.4-24.2-36.7-16.9z"/></svg>PK}w�\#�E���-collection/icon/svg/md-add-circle-outline.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M363 277h-86v86h-42v-86h-86v-42h86v-86h42v86h86v42z"/><path d="M256 90c44.3 0 86 17.3 117.4 48.6C404.7 170 422 211.7 422 256s-17.3 86-48.6 117.4C342 404.7 300.3 422 256 422c-44.3 0-86-17.3-117.4-48.6C107.3 342 90 300.3 90 256c0-44.3 17.3-86 48.6-117.4C170 107.3 211.7 90 256 90m0-42C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48z"/></svg>PK}w�\� �G��collection/icon/svg/md-grid.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M409.6 64H102.4C81.3 64 64 81.3 64 102.4v307.2c0 21.1 17.3 38.4 38.4 38.4h307.2c21.1 0 38.4-17.3 38.4-38.4V102.4c0-21.1-17.3-38.4-38.4-38.4zM179.2 409.6h-76.8v-76.8h76.8v76.8zm0-115.2h-76.8v-76.8h76.8v76.8zm0-115.2h-76.8v-76.8h76.8v76.8zm115.2 230.4h-76.8v-76.8h76.8v76.8zm0-115.2h-76.8v-76.8h76.8v76.8zm0-115.2h-76.8v-76.8h76.8v76.8zm115.2 230.4h-76.8v-76.8h76.8v76.8zm0-115.2h-76.8v-76.8h76.8v76.8zm0-115.2h-76.8v-76.8h76.8v76.8z"/></svg>PK}w�\��UK��$collection/icon/svg/ios-airplane.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M407.7 224c-3.4 0-14.8.1-18 .3l-64.9 1.7c-.7 0-1.4-.3-1.7-.9L225.8 79.4c-2.9-4.6-8.1-7.4-13.5-7.4h-23.7c-5.6 0-7.5 5.6-5.5 10.8l50.1 142.8c.5 1.3-.4 2.7-1.8 2.7L109 230.1c-2.6.1-5-1.1-6.6-3.1l-37-45c-3-3.9-7.7-6.1-12.6-6.1H36c-2.8 0-4.7 2.7-3.8 5.3l19.9 68.7c1.5 3.8 1.5 8.1 0 11.9l-19.9 68.7c-.9 2.6 1 5.3 3.8 5.3h16.7c4.9 0 9.6-2.3 12.6-6.1L103 284c1.6-2 4.1-3.2 6.6-3.1l121.7 2.7c1.4.1 2.3 1.4 1.8 2.7L183 429.2c-2 5.2-.1 10.8 5.5 10.8h23.7c5.5 0 10.6-2.8 13.5-7.4L323.1 287c.4-.6 1-.9 1.7-.9l64.9 1.7c3.3.2 14.6.3 18 .3 44.3 0 72.3-14.3 72.3-32S452.1 224 407.7 224z"/></svg>PK}w�\�?L7��"collection/icon/svg/ios-basket.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M387.9 373.7h49.2l17.5-75.4h-66.7zM387.9 448h.5c18.7 0 33.4-12.5 38.3-29.5l6-25.9h-44.8V448zM265.4 392.5h103.7V448H265.4zM75 373.7h49v-75.4H57.5zM142.9 192h103.7v87.5H142.9zM265.4 192h103.7v87.5H265.4zM85.5 418.3c4.7 17 19.4 29.7 38.1 29.7h.5v-55.5H79.4l6.1 25.8zM142.9 392.5h103.7V448H142.9zM265.4 298.3h103.7v75.4H265.4zM142.9 298.3h103.7v75.4H142.9z"/><path d="M464 192h-47.9V96c0-17.6-14.4-32-32-32H127.9c-17.6 0-32 14.4-32 32v96H48c-10.3 0-17.9 9.6-15.6 19.6l19.7 67.9H124V106c0-7.7 6.3-14 14-14h236c7.7 0 14 6.3 14 14v173.5h72l19.6-67.9c2.3-10-5.3-19.6-15.6-19.6z"/></svg>PK}w�\�vk;��#collection/icon/svg/ios-medical.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M430.3 174.3l-16.5-28.6c-4.3-7.4-13.8-10-21.2-5.7L294 197c-2.7 1.5-6-.4-6-3.5v-114c0-8.6-6.9-15.5-15.5-15.5h-33c-8.6 0-15.5 6.9-15.5 15.5v114.1c0 3.1-3.3 5-6 3.5l-98.6-57c-7.4-4.3-16.9-1.7-21.2 5.7l-16.5 28.6c-4.3 7.4-1.7 16.9 5.7 21.1l98.7 57.1c2.7 1.5 2.7 5.4 0 6.9l-98.7 57.1c-7.4 4.3-9.9 13.7-5.7 21.1l16.5 28.6c4.3 7.4 13.8 10 21.2 5.7l98.6-57c2.7-1.5 6 .4 6 3.5v114.1c0 8.6 6.9 15.5 15.5 15.5h33c8.6 0 15.5-6.9 15.5-15.5V318.4c0-3.1 3.4-5 6-3.5l98.6 57c7.4 4.3 16.9 1.7 21.2-5.7l16.5-28.6c4.3-7.4 1.7-16.9-5.7-21.1l-98.7-57.1c-2.7-1.5-2.7-5.4 0-6.9l98.7-57.1c7.4-4.2 9.9-13.7 5.7-21.1z"/></svg>PK}w�\G� ��)collection/icon/svg/ios-notifications.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M255.9 456c31.1 0 48.1-22 48.1-53h-96.3c0 31 17 53 48.2 53zM412 352.2c-15.4-20.3-45.7-32.2-45.7-123.1 0-93.3-41.2-130.8-79.6-139.8-3.6-.9-6.2-2.1-6.2-5.9v-2.9c0-13.4-11-24.7-24.4-24.6-13.4-.2-24.4 11.2-24.4 24.6v2.9c0 3.7-2.6 5-6.2 5.9-38.5 9.1-79.6 46.5-79.6 139.8 0 90.9-30.3 102.7-45.7 123.1-9.9 13.1-.5 31.8 15.9 31.8h280.1c16.3 0 25.7-18.8 15.8-31.8z"/></svg>PK}w�\� Ċ��collection/icon/svg/md-sad.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 288c-45.443 0-83.675 26.076-102.205 64h204.41c-18.53-37.924-56.762-64-102.205-64z"/><path d="M256 48C140.563 48 48 141.6 48 256s92.563 208 208 208 208-93.6 208-208S370.401 48 256 48zm0 374.4c-91.518 0-166.404-74.883-166.404-166.4 0-91.518 74.887-166.4 166.404-166.4S422.404 164.482 422.404 256 347.518 422.4 256 422.4z"/><path d="M328.8 235.2c17.683 0 31.201-13.518 31.201-31.2s-13.519-31.2-31.201-31.2c-17.682 0-31.2 13.518-31.2 31.2s13.518 31.2 31.2 31.2zM183.2 235.2c17.682 0 31.2-13.518 31.2-31.2s-13.519-31.2-31.2-31.2c-17.683 0-31.201 13.518-31.201 31.2s13.519 31.2 31.201 31.2z"/></svg>PK}w�\�2W���$collection/icon/svg/ios-cellular.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M408.4 51.8c-2.6-2.5-6.1-3.8-9.7-3.8-3.7 0-7.2 1.4-9.9 3.9-2.7 2.6-4.1 6-4.1 9.6 0 3.6 1.5 7 4.2 9.6 30.4 28.5 47.1 66.5 47.1 107.1 0 40.5-16.7 78.5-47.1 107.1-2.7 2.5-4.2 5.9-4.2 9.6 0 3.6 1.4 7 4.1 9.6 2.6 2.5 6.1 3.9 9.9 3.9 3.7 0 7.1-1.4 9.7-3.8C444.3 271 464 226.1 464 178.2v-.1c0-47.9-19.8-92.7-55.6-126.3z"/><path d="M351 96.8c-2.4-2.3-5.6-3.5-9-3.5-3.3 0-6.5 1.2-8.9 3.4-2.5 2.3-3.9 5.4-3.9 8.7 0 3.3 1.3 6.4 3.8 8.7 18 17 27.8 39.8 27.8 64 0 24.2-9.9 47-27.8 64-2.5 2.3-3.8 5.4-3.8 8.7 0 3.3 1.4 6.4 3.9 8.7 2.4 2.2 5.5 3.4 8.9 3.4 3.4 0 6.6-1.3 9-3.5 22.8-21.7 35.4-50.5 35.4-81.3v-.1c0-30.7-12.6-59.5-35.4-81.2zM123.1 71.1c2.7-2.5 4.2-5.9 4.2-9.6 0-3.6-1.4-7-4.1-9.6-2.6-2.5-6.1-3.9-9.9-3.9-3.7 0-7.1 1.4-9.7 3.8C67.7 85.4 48 130.3 48 178.2v.2c0 47.8 19.8 92.6 55.6 126.2 2.6 2.5 6.1 3.8 9.7 3.8 3.7 0 7.2-1.4 9.9-3.9 2.7-2.6 4.1-6 4.1-9.6 0-3.6-1.5-7-4.2-9.6C92.7 256.8 76 218.8 76 178.2c-.1-40.6 16.7-78.6 47.1-107.1z"/><path d="M179 114.1c2.5-2.3 3.8-5.4 3.8-8.7 0-3.3-1.4-6.4-3.9-8.7-2.4-2.2-5.5-3.4-8.9-3.4-3.4 0-6.6 1.3-9 3.5-22.8 21.7-35.4 50.5-35.4 81.3v.1c0 30.8 12.6 59.6 35.4 81.2 2.4 2.3 5.6 3.5 9 3.5 3.3 0 6.5-1.2 8.9-3.4 2.5-2.3 3.9-5.4 3.9-8.7 0-3.3-1.3-6.4-3.8-8.7-18-17-27.8-39.8-27.8-64-.1-24.2 9.8-46.9 27.8-64zM256 123.2c-26.5 0-48 21.5-48 48 0 21.6 14.3 39.9 34 45.9v233c0 7.7 6.3 13.9 14 13.9s14-6.2 14-13.9v-233c19.7-6 34-24.3 34-45.9 0-26.5-21.5-48-48-48z"/></svg>PK}w�\29$q��collection/icon/svg/md-at.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M265.6 212.3c-10.5 0-18.5 4.4-24 13.2-5.5 8.8-9.1 22-10.8 39.6-.9 11.7 0 20.5 2.7 26.5s7.1 9 13.1 9c5.5 0 10.3-1.5 14.6-4.4 4.3-2.9 8.1-8.3 11.3-16.2l6.1-66c-2.2-.5-4.4-.9-6.5-1.2-2.3-.4-4.4-.5-6.5-.5z"/><path d="M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zm127.8 201.9c-.9 21.4-7.6 39.9-20 55.6-12.4 15.6-31 23.4-55.6 23.4-8.2 0-15.3-2.2-21.2-6.6-6-4.4-10.2-10.7-12.6-18.8-4.1 8.3-9.4 14.5-15.7 18.6-6.3 4.1-13.7 6.2-22.2 6.2-15.1 0-26.6-5.8-34.6-17.3s-10.9-26.8-8.8-45.9c2.6-24.4 10-44 22.2-58.7 12.2-14.7 27-22 44.4-22 12.2 0 22.1 1.3 29.5 3.8 7.4 2.5 15.6 5.7 24.5 11l-.5-.1h.8l-7.7 83.4c-.5 8.5.1 14.6 1.7 17.8 1.7 3.2 3.9 4.9 6.7 4.9 11.3 0 20.4-5.1 27.2-15.6 6.8-10.5 10.6-23.6 11.4-39.6 1.6-33-5.1-58.7-20.2-77.1-15.1-18.4-38.3-27.7-69.7-27.7-30.5 0-54.8 9.9-72.8 29.8s-27.7 46.9-29.3 81.2c-1.7 33.4 5.6 59.8 21.9 79.1 16.3 19.4 39.7 29.1 70.3 29.1 8.5 0 17.3-.9 26.5-2.7 9.1-1.8 17.1-4.1 23.7-6.8l5.8 24.2c-6.8 4.1-15.4 7.3-25.9 9.6-10.5 2.3-20.7 3.4-30.7 3.4-40.8 0-72.3-12.1-94.3-36.4-22-24.2-32.2-57.4-30.5-99.6 1.8-41.8 14.9-74.9 39.1-99.4 24.3-24.5 56.5-36.7 96.7-36.7 39.5 0 69.8 11.6 90.7 34.7 21.2 23.2 30.8 54.9 29.2 95.2z"/></svg>PK}w�\���X��collection/icon/svg/md-crop.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M352 312.7h37.8V160c0-20.8-17-37.8-37.8-37.8H199.3V160H352v152.7zm-192 33.5V48h-37.8v74.2H48V160h74.2v186.2c0 20.8 17 37.8 37.8 37.8h192v80h37.8v-80H464v-37.8H160z"/></svg>PK}w�\ƛ>9��collection/icon/svg/md-hand.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M450.679 273.5c-14.585-14.577-36.054-15.89-50.639-1.312l-41.687 41.664c-10.852 10.836-23.93 10.859-31.564 1.852-5.057-5.968-3.061-24.374-1.644-36.049l20.907-171.849c1.867-15.353-9.07-30.185-24.43-32.051-15.358-1.867-29.322 9.939-31.191 25.289L267.37 236.021c-1.205 3.358-3.79 3.938-4.081-.582L255.44 60c0-15.465-12.542-28-28.014-28-15.473 0-28.015 12.535-28.015 28l-.552 176.752c.146 2.04-1.604 2.624-1.92.294L172.016 99.077c-2.75-15.219-17.323-26.203-32.548-23.453-15.227 2.748-25.339 18.187-22.591 33.403l22.193 161.455c.023 2.872-.941 4.513-2.308.831l-33.109-88.517c-5.18-14.572-21.196-23.065-35.776-17.889-14.579 5.177-22.201 22.061-17.023 36.631l58.042 189.625c.303 1.046.624 2.085.953 3.118l.121.39c.011.031.025.058.035.088C126.079 444.233 172.57 480 227.427 480c35.116 0 71.591-12.378 99.357-33.672l.003-.002c29.99-18.051 126.071-121.347 126.071-121.347 14.587-14.577 12.408-36.899-2.179-51.479z"/></svg>PK}w�\��C�$$'collection/icon/svg/md-code-working.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M190.4 354.1L91.9 256l98.4-98.1-30-29.9L32 256l128.4 128 30-29.9zm131.2 0L420 256l-98.4-98.1 30-29.9L480 256 351.6 384l-30-29.9z"/><path d="M155.6 276h40v-40h-40v40zm200.8-40h-40v40h40v-40zM236 276h40v-40h-40v40z"/></svg>PK}w�\ �xLL"collection/icon/svg/md-desktop.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M437.333 32H74.667C51.198 32 32 51.197 32 74.666v282.667C32 380.802 51.198 400 74.667 400h138.666l-42.666 48v32h170.666v-32l-42.666-48h138.666C460.802 400 480 380.802 480 357.333V74.666C480 51.197 460.802 32 437.333 32zm0 288H74.667V74.666h362.666V320z"/></svg>PK}w�\�&� collection/icon/svg/ios-sync.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M492 257.1c-2.6-2.6-6-4-9.6-4-3.6 0-7 1.4-9.6 4l-13 13c4.3-61.8-19.5-122.5-65.3-165C356.9 70.2 307.7 51 256.1 51c-26.7 0-52.8 5.1-77.4 15.1-25.5 10.4-48.3 25.6-67.7 45.3-13.2 13.4-24.6 28.5-33.6 44.8-1.9 3.4-2.3 7.4-1.2 11.1 1.1 3.7 3.8 6.8 7.2 8.5 2 1 4.2 1.5 6.4 1.5 5.2 0 9.9-2.8 12.4-7.3 7.9-14.3 17.8-27.5 29.4-39.1 16.8-16.8 36.3-29.8 58.1-38.7 21.1-8.6 43.4-12.9 66.2-12.9 22.9 0 45.2 4.3 66.3 12.9 21.8 8.9 41.4 21.9 58.2 38.8 20.3 20.4 35.4 45.6 43.8 73 7 22.9 9.2 47.3 6.6 71.2l-18.9-18.5c-2.5-2.4-5.8-3.8-9.3-3.8-3.5 0-6.9 1.4-9.4 3.9-5.2 5.2-5.2 13.6 0 18.8l42.8 42.9c1.9 1.9 4.4 2.9 7 2.9 2.6 0 5.1-1 7-2.9l42.1-42.2c5.2-5.3 5.2-13.9-.1-19.2zM428.6 335.9c-2-1-4.2-1.5-6.4-1.5-5.2 0-9.9 2.8-12.4 7.3-7.9 14.3-17.8 27.5-29.4 39.1-16.8 16.8-36.3 29.9-58.2 38.7-21.1 8.6-43.4 12.9-66.3 12.9s-45.2-4.3-66.2-12.9c-21.8-8.9-41.4-21.9-58.2-38.7-37.6-37.8-56-90.9-50.3-143.9l18.4 18.5c2.4 2.4 5.6 3.7 9 3.7 3.4 0 6.6-1.3 9-3.7l1.3-1.3c4.9-4.9 4.9-13 0-17.9l-42.9-43c-1.9-1.9-4.4-2.9-7-2.9-2.6 0-5.1 1-7 2.9l-42 42.3c-5.3 5.3-5.3 13.9 0 19.2 2.6 2.6 6 4 9.6 4 3.6 0 7-1.4 9.6-4l13-13.1c-1.8 25.8 1.3 52 9 76.5 9.9 31.4 26.8 59.3 50.3 82.8 19.5 19.6 42.2 34.7 67.6 45.1 24.5 10 50.4 15 76.9 15 26.5 0 52.4-5.1 76.9-15 25.4-10.3 48.1-25.5 67.6-45.1 13.5-13.5 25-28.8 34.2-45.4 1.9-3.4 2.3-7.4 1.2-11.1-1.2-3.7-3.8-6.8-7.3-8.5z"/></svg>PK}w�\=j�'collection/icon/svg/ios-help-circle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zm-4.3 304c-11.8 0-21.4-9-21.4-20.6 0-11.5 9.6-20.6 21.4-20.6 11.9 0 21.5 9 21.5 20.6 0 11.6-9.5 20.6-21.5 20.6zm40.2-96.9c-17.4 10.1-23.3 17.5-23.3 30.3v7.9h-34.7l-.3-8.6c-1.7-20.6 5.5-33.4 23.6-44 16.9-10.1 24-16.5 24-28.9s-12-21.5-26.9-21.5c-15.1 0-26 9.8-26.8 24.6H192c.7-32.2 24.5-55 64.7-55 37.5 0 63.3 20.8 63.3 50.7 0 19.9-9.6 33.6-28.1 44.5z"/></svg>PK}w�\�u�i22$collection/icon/svg/md-construct.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M430.9 393.4l-119.6-119-58.1-57.9-13.4-13.3c15.9-40.6 7.1-88.2-26.6-121.7-35.4-35.3-88.5-42.3-131-22.9l76.1 75.8-53.1 52.9-77.9-75.8C6.2 153.8 15 206.7 50.4 242c33.6 33.5 81.4 42.3 122.1 26.5l14.4 14.3L81.7 388c-7.6 5.7-7.6 19 1.9 26.6l43.8 43.7c7.6 7.6 19.1 7.6 26.7 0l96.1-112.4 113.4 112.9c7.1 7.1 17.7 7.1 24.8 0l40.7-40.6c8.9-7.1 8.9-19.5 1.8-24.8z"/><path d="M494.4 216.6l-34.5-34.1c-2.2-2.2-5.8-2.2-8 0l-3.7 3.7-18.5-15.8s1.2-10-4.9-18.7c-6.2-8.7-16.1-19.8-23.2-26.9-7.1-7-34.1-33.9-69.7-51.4C296.2 55.7 271 48 241 48v29.7s28.7 16.6 45.1 29.7c16.3 13.1 16.8 59.5 16.8 59.5l-28.5 28.5 56.5 56.1 31-36.3c12.9-3.5 23.8-3.8 30.2-.3l13.7 13.3-9.6 9.5c-2.2 2.2-2.2 5.7 0 7.9l34.5 34.1c2.2 2.2 5.8 2.2 8 0l55.7-55.2c2.1-2.2 2.1-5.8 0-7.9z"/></svg>PK}w�\I�����!collection/icon/svg/ios-woman.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M286 496c-6.1 0-11.8-2.3-16-6.6-3.2-3.3-7.1-9.1-7.1-18.6V351.4H249v119.4c0 9.5-4 15.4-7.4 18.7-4.3 4.2-10.1 6.5-16.3 6.5-6.2 0-11.9-2.3-16.3-6.5-3.4-3.3-7.4-9.1-7.4-18.7V351.4h-43.9l44.5-170.6h-6.8L171 271.2c-4 13.1-13.7 17.8-21.4 17.8-6.6 0-12.9-3.2-17-8.7-4.8-6.4-6.1-14.9-3.6-23.9l29-104.1c4.2-15.2 20.7-38.2 48.7-39.3H305.1c28.4 1.2 44.1 26 48.5 38.9l.1.4 29 104.3c2.4 9 1 17.6-3.9 24-4.1 5.4-10.4 8.6-16.9 8.6-7.7 0-17.3-4.8-21.3-18.1v-.2l-24.3-90.1h-7.7l45.5 170.6H309v119.4c0 9.5-3.9 15.3-7.1 18.6-4.2 4.3-9.8 6.6-15.9 6.6zM255.9 106.4c-24.2 0-43.9-20.3-43.9-45.2S231.7 16 255.9 16s43.9 20.3 43.9 45.2-19.7 45.2-43.9 45.2z"/></svg>PK}w�\�\4�� collection/icon/svg/md-paper.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M464 64H192c-8.8 0-16 7.7-16 16.5V112H74c-23.1 0-42 18.9-42 42v207.5c0 47.6 39 86.5 86 86.5h279.7c45.1 0 82.3-36.9 82.3-82V80c0-8.8-7.2-16-16-16zm-288 80v192h-42V163.2c0-6.8-.8-13.3-3.3-19.2H176zm-17 255.4C148 410 133.2 416 118.5 416c-14.5 0-28.1-5.7-38.5-16-10.3-10.3-16-24-16-38.5V163.2c0-10.6 8.4-19.2 19-19.2s19 8.6 19 19.2V352c0 8.8 7.2 16 16 16h57.5c-1.5 11.6-7.2 22.6-16.5 31.4zM448 366c0 13.3-5.4 25.8-14.9 35.3-9.5 9.5-22.2 14.7-35.4 14.7H187.3c12.8-14.9 20.7-33.9 20.7-54.5V97h240v269z"/><path d="M248 136h160v56H248zM248 224h160v32H248zM248 288h160v32H248zM408 352H248s0 32-8 32h148.7c19.3 0 19.3-21 19.3-32z"/></svg>PK}w�\�<X(()collection/icon/svg/ios-cloud-outline.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M288 124c30.3 0 59.3 11.2 81.8 31.5 22.3 20.1 36.3 47.6 39.5 77.3l1.2 11.1c.6 5.8 5 10.5 10.7 11.5l11 2c14 2.5 27 10.4 36.7 22.1 9.8 12 15.2 26.9 15.2 42.1 0 17-6.9 34.1-18.9 46.8C453 381 437.4 388 421.1 388H90.9c-16.3 0-31.9-7-43.9-19.7s-18.9-29.7-18.9-46.8c0-14.4 4.6-28.9 13.1-40.9 8.6-12.2 20.2-20.9 33.7-25.1l10.3-3.3c5.3-1.7 9-6.6 9.1-12.2l.2-10.8c.2-11.8 5.1-23.6 13.5-32.4 8.3-8.7 18.9-13.4 29.9-13.4 5.6 0 11.1 1.1 16.3 3.2l11.1 4.5c5.7 2.3 12.2.4 15.7-4.7l6.8-9.8C210.4 143.7 248 124 288 124m0-28c-51.2 0-96.3 25.6-123.4 64.7-8.3-3.4-17.4-5.3-26.9-5.3-39.1 0-70.8 34.4-71.4 73.4C26.4 241.5 0 280.5 0 321.5 0 371.7 40.7 416 90.9 416h330.3c50.2 0 90.9-44.3 90.9-94.5 0-44.7-32.3-84.1-74.9-91.7C429 154.6 365.4 96 288 96z"/></svg>PK}w�\x�����!collection/icon/svg/ios-alarm.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M381.2 64.1c-1.3-.1-2.6-.1-3.9-.1h-.2c-16.2 0-32 5.4-44.6 15.1-1.6 1.3-2.6 3.2-2.7 5.2-.1 2 .8 4 2.3 5.4l89.8 80.5c1.3 1.1 2.9 1.8 4.6 1.8h.4c1.9-.1 3.6-1 4.8-2.4C440.9 159 448 150.8 448 133c.1-36.4-29.1-66.8-66.8-68.9zM64 133c0 17.8 7.1 26 16.3 36.6 1.2 1.4 2.9 2.3 4.8 2.4h.4c1.7 0 3.3-.6 4.6-1.8L180 89.7c1.5-1.4 2.4-3.3 2.3-5.4-.1-2-1-3.9-2.7-5.2C167 69.4 151.2 64 135 64h-.2c-1.3 0-2.6 0-3.9.1-37.7 2.1-67 32.5-66.9 68.9z"/><g><path d="M390 386c26.2-30.7 42-70.5 42-114 0-97.2-78.8-176-176-176S80 174.8 80 272c0 43.5 15.8 83.3 42 114l-34.7 35.5c-6.2 6.3-6 15.5.3 21.6 3.1 3 7.4 4.8 11.4 4.8 4.2 0 8.1-1.9 11.2-5.1l34.6-34.5c30.3 24.7 69 39.6 111.2 39.6s80.9-14.8 111.2-39.6l33.6 34.5c3.1 3.2 7.3 5.1 11.5 5.1 4 0 8.1-1.8 11.2-4.8 6.3-6.2 7.5-15.3 1.3-21.6L390 386zM270 274c0 7.7-6.3 14-14 14h-82c-7.7 0-14-6.3-14-14s6.3-14 14-14h68V158c0-7.7 6.3-14 14-14s14 6.3 14 14v116z"/></g></svg>PK}w�\s�.cc#collection/icon/svg/logo-buffer.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M70.7 164.5l169.2 81.7c4.4 2.1 10.3 3.2 16.1 3.2s11.7-1.1 16.1-3.2l169.2-81.7c8.9-4.3 8.9-11.3 0-15.6L272.1 67.2c-4.4-2.1-10.3-3.2-16.1-3.2s-11.7 1.1-16.1 3.2L70.7 148.9c-8.9 4.3-8.9 11.3 0 15.6z"/><path d="M441.3 248.2s-30.9-14.9-35-16.9-5.2-1.9-9.5.1S272 291.6 272 291.6c-4.5 2.1-10.3 3.2-16.1 3.2s-11.7-1.1-16.1-3.2c0 0-117.3-56.6-122.8-59.3-6-2.9-7.7-2.9-13.1-.3l-33.4 16.1c-8.9 4.3-8.9 11.3 0 15.6l169.2 81.7c4.4 2.1 10.3 3.2 16.1 3.2s11.7-1.1 16.1-3.2l169.2-81.7c9.1-4.2 9.1-11.2.2-15.5z"/><path d="M441.3 347.5s-30.9-14.9-35-16.9-5.2-1.9-9.5.1S272.1 391 272.1 391c-4.5 2.1-10.3 3.2-16.1 3.2s-11.7-1.1-16.1-3.2c0 0-117.3-56.6-122.8-59.3-6-2.9-7.7-2.9-13.1-.3l-33.4 16.1c-8.9 4.3-8.9 11.3 0 15.6l169.2 81.7c4.4 2.2 10.3 3.2 16.1 3.2s11.7-1.1 16.1-3.2l169.2-81.7c9-4.3 9-11.3.1-15.6z"/></svg>PK}w�\�����'collection/icon/svg/logo-javascript.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M208 88.001h-80v212.498c0 52.58-18.032 67.261-49.412 67.261-14.705 0-27.948-2.521-38.25-6.063L32 423.904C46.7 428.966 69.259 432 86.907 432 158.955 432 208 398.129 208 301.02V88.001zM382.463 80C305.02 80 256 123.998 256 182.154c0 50.083 37.751 81.44 92.641 101.665 39.7 14.158 55.392 26.808 55.392 47.539 0 22.756-18.139 37.425-52.448 37.425-31.863 0-60.789-10.64-80.394-21.255v-.021L256 410.727c18.639 10.638 53.441 21.255 91.167 21.255C437.854 431.98 480 383.43 480 326.284c0-48.55-26.958-79.9-85.278-102.163-43.139-17.191-61.27-26.795-61.27-48.542 0-17.2 15.688-32.869 48.043-32.869 31.846 0 53.744 10.707 66.505 17.291l19.125-64C447.125 87.22 420.188 80 382.463 80z"/></svg>PK}w�\���** collection/icon/svg/ios-swap.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M388.9 266.3c-5.1-5-5.2-13.3-.1-18.4L436 200H211c-7.2 0-13-5.8-13-13s5.8-13 13-13h224.9l-47.2-47.9c-5-5.1-5-13.3.1-18.4 5.1-5 13.3-5 18.4.1l69 70c1.1 1.2 2.1 2.5 2.7 4.1.7 1.6 1 3.3 1 5 0 3.4-1.3 6.6-3.7 9.1l-69 70c-5 5.2-13.2 5.3-18.3.3zM123.1 404.3c5.1-5 5.2-13.3.1-18.4L76.1 338H301c7.2 0 13-5.8 13-13s-5.8-13-13-13H76.1l47.2-47.9c5-5.1 5-13.3-.1-18.4-5.1-5-13.3-5-18.4.1l-69 70c-1.1 1.2-2.1 2.5-2.7 4.1-.7 1.6-1 3.3-1 5 0 3.4 1.3 6.6 3.7 9.1l69 70c5 5.2 13.2 5.3 18.3.3z"/></svg>PK}w�\;Mʫ collection/icon/svg/md-copy.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M296 48H176.5C154.4 48 136 65.4 136 87.5V96h-7.5C106.4 96 88 113.4 88 135.5v288c0 22.1 18.4 40.5 40.5 40.5h208c22.1 0 39.5-18.4 39.5-40.5V416h8.5c22.1 0 39.5-18.4 39.5-40.5V176L296 48zm0 44.6l83.4 83.4H296V92.6zm48 330.9c0 4.7-3.4 8.5-7.5 8.5h-208c-4.4 0-8.5-4.1-8.5-8.5v-288c0-4.1 3.8-7.5 8.5-7.5h7.5v255.5c0 22.1 10.4 32.5 32.5 32.5H344v7.5zm48-48c0 4.7-3.4 8.5-7.5 8.5h-208c-4.4 0-8.5-4.1-8.5-8.5v-288c0-4.1 3.8-7.5 8.5-7.5H264v128h128v167.5z"/></svg>PK}w�\��QQ$collection/icon/svg/ios-contract.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M184.3 204.8h-77.7c-7.7 0-13.9 6.2-13.9 13.9v.2c0 7.7 6.2 13.9 13.9 13.9h112.2c7.7 0 13.9-6.2 13.9-13.9V106.6c0-7.7-6.2-13.9-13.9-13.9h-.2c-7.7 0-13.9 6.2-13.9 13.9v77.7L87.7 68c-2.6-2.6-6.1-4-9.8-4-3.7 0-7.2 1.4-9.8 4.1-5.4 5.4-5.4 14.2 0 19.6l116.2 117.1zM293.1 232.8h112.2c7.7 0 13.9-6.2 13.9-13.9v-.2c0-7.7-6.2-13.9-13.9-13.9h-77.7L444 87.7c5.4-5.4 5.4-14.2 0-19.6-2.6-2.6-6.1-4.1-9.8-4.1-3.7 0-7.2 1.4-9.8 4L307.3 184.3v-77.7c0-7.7-6.2-13.9-13.9-13.9h-.2c-7.7 0-13.9 6.2-13.9 13.9v112.2c0 7.7 6.2 14 13.8 14zM77.9 448c3.7 0 7.2-1.4 9.8-4l117.1-116.3v77.7c0 7.7 6.2 13.9 13.9 13.9h.2c7.7 0 13.9-6.2 13.9-13.9V293.1c0-7.7-6.2-13.9-13.9-13.9H106.6c-7.7 0-13.9 6.2-13.9 13.9v.2c0 7.7 6.2 13.9 13.9 13.9h77.7L68 424.3c-5.4 5.4-5.4 14.2 0 19.6 2.7 2.7 6.2 4.1 9.9 4.1zM293.1 419.2h.2c7.7 0 13.9-6.2 13.9-13.9v-77.7L424.3 444c2.6 2.6 6.1 4 9.8 4 3.7 0 7.2-1.4 9.8-4.1 5.4-5.4 5.4-14.2 0-19.6L327.7 307.2h77.7c7.7 0 13.9-6.2 13.9-13.9v-.2c0-7.7-6.2-13.9-13.9-13.9H293.1c-7.7 0-13.9 6.2-13.9 13.9v112.2c.1 7.7 6.3 13.9 13.9 13.9z"/></svg>PK}w�\-�Ccccollection/icon/svg/md-car.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M403.208 117.333c-4.271-12.802-16-21.333-29.875-21.333H138.667c-13.875 0-25.604 8.531-29.875 21.333L64 234.667v160C64 406.396 73.604 416 85.333 416h21.334c11.729 0 21.333-9.604 21.333-21.333V384h256v10.667c0 11.729 9.604 21.333 21.333 21.333h21.334c11.729 0 21.333-9.604 21.333-21.333v-160l-44.792-117.334zM138.667 320c-18.125 0-32-13.865-32-32s13.875-32 32-32 32 13.866 32 32-13.875 32-32 32zm234.666 0c-18.125 0-32-13.865-32-32s13.875-32 32-32 32 13.866 32 32-13.875 32-32 32zM106.667 213.333l32-85.333h234.666l32 85.333H106.667z"/></svg>PK}w�\�+�A??+collection/icon/svg/ios-arrow-dropright.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M210.7 147.6c7.5-7.5 19.8-7.5 27.3 0l95.4 95.7c7.3 7.3 7.5 19.1.6 26.6l-94 94.3c-3.8 3.8-8.7 5.7-13.7 5.7-4.9 0-9.9-1.9-13.6-5.6-7.5-7.5-7.6-19.7 0-27.3l79.9-81.1-81.9-81.1c-7.6-7.4-7.6-19.6 0-27.2z"/><path d="M48 256c0 114.9 93.1 208 208 208s208-93.1 208-208S370.9 48 256 48 48 141.1 48 256zm32 0c0-47 18.3-91.2 51.6-124.4C164.8 98.3 209 80 256 80s91.2 18.3 124.4 51.6C413.7 164.8 432 209 432 256s-18.3 91.2-51.6 124.4C347.2 413.7 303 432 256 432s-91.2-18.3-124.4-51.6C98.3 347.2 80 303 80 256z"/></svg>PK}w�\4��99$collection/icon/svg/ios-list-box.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M48 82.7v346.7c0 19.1 15.5 34.7 34.7 34.7h346.7c19.1 0 34.7-15.5 34.7-34.7V82.7c0-19.1-15.5-34.7-34.7-34.7H82.7C63.5 48 48 63.5 48 82.7zm89.3 297.1c-13.1 1.7-24.1-9.3-22.4-22.4 1.1-8.9 8.3-16.1 17.2-17.2 13.1-1.7 24.1 9.3 22.4 22.4-1.1 8.9-8.3 16.1-17.2 17.2zm0-104c-13.1 1.7-24.1-9.3-22.4-22.4 1.1-8.9 8.3-16.1 17.2-17.2 13.1-1.7 24.1 9.3 22.4 22.4-1.1 8.9-8.3 16.1-17.2 17.2zm0-104c-13.1 1.7-24.1-9.3-22.4-22.4 1.1-8.9 8.3-16.1 17.2-17.2 13.1-1.7 24.1 9.3 22.4 22.4-1.1 8.9-8.3 16.1-17.2 17.2zM384.7 374h-180c-7.7 0-14-6.3-14-14s6.3-14 14-14h180c7.7 0 14 6.3 14 14s-6.3 14-14 14zm0-104h-180c-7.7 0-14-6.3-14-14s6.3-14 14-14h180c7.7 0 14 6.3 14 14s-6.3 14-14 14zm0-104h-180c-7.7 0-14-6.3-14-14s6.3-14 14-14h180c7.7 0 14 6.3 14 14s-6.3 14-14 14z"/></svg>PK}w�\�SFF+collection/icon/svg/md-arrow-round-down.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M99.4 284.9l134 138.1c5.8 6 13.7 9 22.4 9h.4c8.7 0 16.6-3 22.4-9l134-138.1c12.5-12 12.5-31.3 0-43.2-12.5-11.9-32.7-11.9-45.2 0l-79.4 83v-214c0-16.9-14.3-30.6-32-30.6-18 0-32 13.7-32 30.6v214l-79.4-83c-12.5-11.9-32.7-11.9-45.2 0s-12.5 31.2 0 43.2z"/></svg>PK}w�\9����� collection/icon/svg/md-rainy.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M139 400s-23 25.3-23 40.7c0 12.8 10.3 23.3 23 23.3s23-10.5 23-23.3c0-15.4-23-40.7-23-40.7zM217 368s-23 25.3-23 40.7c0 12.8 10.4 23.3 23 23.3 12.7 0 23-10.5 23-23.3 0-15.4-23-40.7-23-40.7zM295 400s-23 25.3-23 40.7c0 12.8 10.3 23.3 23 23.3 12.6 0 23-10.5 23-23.3 0-15.4-23-40.7-23-40.7zM373 368s-23 25.3-23 40.7c0 12.8 10.4 23.3 23 23.3 12.7 0 23-10.5 23-23.3 0-15.4-23-40.7-23-40.7zM393.2 161.2C380.5 96.6 323.9 48 256 48c-39.7 0-76 14-100.9 45.4 34.3 2.6 66.1 15.2 90.7 39.8 18.2 18.2 31 40.5 37.4 64.8h-33.5c-15.3-43.7-56-75-105.7-75-6 0-14.3.7-20.6 2C70 136 32 180.4 32 235.5 32 297.6 79.4 352 141.2 352h242.7c51.5 0 96.2-46 96.2-97.8-.1-49.4-38.4-89.6-86.9-93z"/></svg>PK}w�\��II"collection/icon/svg/ios-funnel.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M48 87.2c0 5.8 2 11.4 5.6 15.7l152.2 179.8c3.6 4.3 5.6 9.9 5.6 15.7v107c0 10 5.9 18.8 14.6 22l55 19.8c9.6 3.5 19.6-4.3 19.6-15.3V298.3c0-5.8 2-11.4 5.6-15.7l152.2-179.8c3.6-4.3 5.6-9.9 5.6-15.7 0-12.8-9.6-23.2-21.4-23.2H69.4C57.6 64 48 74.4 48 87.2z"/></svg>PK}w�\�b���5collection/icon/svg/md-information-circle-outline.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 90c44.3 0 86 17.3 117.4 48.6C404.7 170 422 211.7 422 256s-17.3 86-48.6 117.4C342 404.7 300.3 422 256 422s-86-17.3-117.4-48.6C107.3 342 90 300.3 90 256s17.3-86 48.6-117.4C170 107.3 211.7 90 256 90m0-42C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48z"/><path d="M277 360h-42V235h42v125zm0-166h-42v-42h42v42z"/></svg>PK}w�\��0�FF collection/icon/svg/ios-body.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><ellipse cx="256" cy="80" rx="48" ry="48"/><path d="M424 144H88c-13.3 0-24 10.7-24 24s10.7 24 24 24h98.5c5.6 1 13.2 3.8 17.2 14.2 4.7 12.1 2.4 33.6-.5 51.7l-3.8 21.4c0 .1 0 .2-.1.3l-30.4 172.2c-2.3 13 6.4 25.5 19.5 27.8 13.1 2.3 25.3-6.4 27.6-19.5l21-119.9v.2s6.2-32.5 18.5-32.5h1.1c12.5 0 18.5 32.5 18.5 32.5v-.1l21 119.9c2.3 13 14.7 21.7 27.7 19.4 13.1-2.3 21.7-14.8 19.4-27.8l-30.4-172.2c0-.1 0-.2-.1-.3l-3.8-21.4c-2.9-18.1-5.2-39.6-.5-51.7 4-10.4 11.6-13.2 17.2-14.2H424c13.3 0 24-10.7 24-24s-10.7-24-24-24z"/></svg>PK}w�\����CC"collection/icon/svg/ios-subway.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M352 32H160c-35.2 0-64 28.8-64 64v232c0 35.2 28.8 64 64 64h192c35.2 0 64-28.8 64-64V96c0-35.2-28.8-64-64-64zM200 56h112c4.4 0 8 3.6 8 8s-3.6 8-8 8H200c-4.4 0-8-3.6-8-8s3.6-8 8-8zm-32 304c-15.5 0-28-12.5-28-28s12.5-28 28-28 28 12.5 28 28-12.5 28-28 28zm176 0c-15.5 0-28-12.5-28-28s12.5-28 28-28 28 12.5 28 28-12.5 28-28 28zm40-152c0 8.8-7.2 16-16 16H144.2c-8.8 0-16.2-7.2-16.2-16v-95.8c0-8.8 7.4-16.2 16.2-16.2H368c8.8 0 16 7.4 16 16.2V208zM393.7 455.9l-50-48c-5.6-5.4-14.4-5.2-19.8.4-5.4 5.6-5.2 14.4.4 19.8l6.1 5.9H181.5l6.1-5.9c5.6-5.4 5.8-14.2.4-19.8-5.4-5.6-14.2-5.8-19.8-.4l-50 48c-5.6 5.4-5.8 14.2-.4 19.8 2.7 2.9 6.4 4.3 10.1 4.3 3.5 0 7-1.3 9.7-3.9l14.7-14.1h207.2l14.7 14.1c2.7 2.6 6.2 3.9 9.7 3.9 3.7 0 7.4-1.4 10.1-4.3 5.5-5.6 5.3-14.4-.3-19.8z"/></svg>PK}w�\�V��collection/icon/svg/ios-bus.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M109.6 416.7c-1.9-1.9-5.7-.5-5.6 2.2 1 21.5 1.4 29 5.5 29h55.1c4.4 0 3.3-11.5 3.3-22-34.3.1-46.9 2.3-58.3-9.2zM402.4 416.7c1.9-1.9 5.7-.5 5.6 2.2-1 21.5-1.4 29-5.5 29h-55.1c-4.4 0-3.3-11.5-3.3-22 34.3.1 46.9 2.3 58.3-9.2zM384 64H128c-17.6 0-32 14.4-32 32v276c0 22 18 40 40 40h240c22 0 40-18 40-40V96c0-17.6-14.4-32-32-32zM162 375.9c-14.8 1.2-27-11.1-25.9-25.9.9-11.6 10.3-21.1 22-22 14.8-1.2 27 11.1 25.9 25.9-1 11.7-10.4 21.1-22 22zm76-77.9h-97.8c-8.9 0-16.2-7.3-16.2-16.2V166.2c0-8.9 7.3-16.2 16.2-16.2H238c2.2 0 4 1.8 4 4v140c0 2.2-1.8 4-4 4zm115.9 77.9c-14.8 1.2-27-11.1-25.9-25.9.9-11.6 10.3-21.1 22-22 14.8-1.2 27 11.1 25.9 25.9-.9 11.7-10.3 21.1-22 22zM388 282c0 8.8-7.2 16-16 16h-98c-2.2 0-4-1.8-4-4V154c0-2.2 1.8-4 4-4h98c8.8 0 16 7.2 16 16v116zm-15-162H139c-8.8 0-15-6.3-15-14s6.2-14 15-14h234c8.8 0 15 6.3 15 14s-6.2 14-15 14z"/></svg>PK}w�\�\��{{!collection/icon/svg/md-albums.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M154.7 464h266.7c23.5 0 42.7-19.2 42.7-42.7V154.7c0-23.5-19.2-42.7-42.7-42.7H154.7c-23.5 0-42.7 19.2-42.7 42.7v266.7c0 23.4 19.2 42.6 42.7 42.6z"/><path d="M90.7 48h266.7c23.5 0 42.7 19.2 42.7 42.7V96H138.7C115.2 96 96 115.2 96 138.7V400h-5.3C67.2 400 48 380.8 48 357.3V90.7C48 67.2 67.2 48 90.7 48z"/></svg>PK}w�\��w%PP,collection/icon/svg/ios-radio-button-off.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 76c48.1 0 93.3 18.7 127.3 52.7S436 207.9 436 256s-18.7 93.3-52.7 127.3S304.1 436 256 436c-48.1 0-93.3-18.7-127.3-52.7S76 304.1 76 256s18.7-93.3 52.7-127.3S207.9 76 256 76m0-28C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48z"/></svg>PK}w�\Hc�22+collection/icon/svg/md-tablet-landscape.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M32 120v272c0 13.3 10.7 24 24 24h400c13.3 0 24-10.7 24-24V120c0-13.3-10.7-24-24-24H56c-13.3 0-24 10.7-24 24zm384 8v256H80V128h336zm46 128c0 7.7-6.5 14-14.1 14-7.5 0-14-6.2-14-14 0-7.7 6.4-14.1 14-14.1 7.6.1 14.1 6.4 14.1 14.1z"/></svg>PK}w�\4�i`55"collection/icon/svg/ios-images.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M262.3 199.2c-1.6-2.8-5.6-3.2-7.7-.7l-91.9 122.2c-2.5 2.9-.6 7.4 3.2 7.7l161.1 14c3.8.3 6.4-3.8 4.5-7.1l-69.2-136.1zM367.2 264.1c-1.6-2.8-5.6-3.2-7.7-.7l-24.8 25.1a4.68 4.68 0 0 0-.5 5.4l25.4 49.5c.8 1.3 2.1 2.2 3.7 2.3l44.9 3.9c3.8.3 6.4-3.8 4.5-7.1l-45.5-78.4zM378.1 224.4c11.2-.1 20.9-8.3 23-19.2 2.8-14.8-8.6-28.3-23.7-28.1-11.2.1-20.9 8.3-23 19.2-2.8 14.8 8.6 28.3 23.7 28.1z"/><path d="M455.2 129.3l-65.8-5.7-6.1-67c-1.3-14.9-14.5-25.9-29.5-24.5L56.7 58.9c-14.9 1.3-25.9 14.5-24.6 29.4l26.8 296.5c1.3 14.9 14.5 25.9 29.5 24.5l15.7-1.4-1.5 16.7c-1.3 14.9 9.7 28 24.7 29.3l297.3 25.9c14.9 1.3 28.1-9.7 29.4-24.6l26-296.6c1.2-14.8-9.8-28-24.8-29.3zM87.6 300.7c-3.7.3-7-2.4-7.4-6.1l-18-200c-.3-3.7 2.4-7 6.1-7.3l279.2-25.1c3.7-.3 7 2.4 7.4 6.1l4.8 52.8L158 103.4c-14.9-1.3-28.1 9.7-29.4 24.6l-14.9 170.3-26.1 2.4zm362.2-135.6l-17.5 200c-.3 3.7-3.6 6.5-7.3 6.2l-18.6-1.6L145.7 347c-3.7-.3-6.5-3.6-6.2-7.3l3.8-43.9L157 139.7c.3-3.7 3.6-6.5 7.3-6.2l198 17.3 29.7 2.6 51.6 4.5c3.8.2 6.6 3.5 6.2 7.2z"/></svg>PK}w�\���**!collection/icon/svg/md-medkit.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M352 144v-39.6C352 82 334 64 311.6 64H200.4C178 64 160 82 160 104.4V144H48v263.6C48 430 66 448 88.4 448h335.2c22.4 0 40.4-18 40.4-40.4V144H352zm-152-40h112v40H200v-40zm136 224h-56v56h-48v-56h-56v-48h56v-56h48v56h56v48z"/></svg>PK}w�\%�/�bb!collection/icon/svg/md-remove.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M96 235h320v42H96z"/></svg>PK}w�\[~�� collection/icon/svg/ios-code.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M332 142.7c-1.2-1.1-2.7-1.7-4.1-1.7s-3 .6-4.1 1.7L310 155.9c-1.2 1.1-1.9 2.7-1.9 4.3 0 1.6.7 3.2 1.9 4.3l95.8 91.5-95.8 91.5c-1.2 1.1-1.9 2.7-1.9 4.3 0 1.6.7 3.2 1.9 4.3l13.8 13.2c1.2 1.1 2.6 1.7 4.1 1.7 1.5 0 3-.6 4.1-1.7l114.2-109c1.2-1.1 1.9-2.7 1.9-4.3 0-1.6-.7-3.2-1.9-4.3L332 142.7zM204 160.2c0-1.6-.7-3.2-1.9-4.3l-13.8-13.2c-1.2-1.1-2.7-1.7-4.1-1.7s-3 .6-4.1 1.7l-114.2 109c-1.2 1.1-1.9 2.7-1.9 4.3 0 1.6.7 3.2 1.9 4.3l114.2 109c1.2 1.1 2.7 1.7 4.1 1.7 1.5 0 3-.6 4.1-1.7l13.8-13.2c1.2-1.1 1.9-2.7 1.9-4.3 0-1.6-.7-3.2-1.9-4.3L106.3 256l95.8-91.5c1.2-1.1 1.9-2.7 1.9-4.3z"/></svg>PK}w�\�ZJq��&collection/icon/svg/md-fastforward.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M480 256L262.4 110v292L480 256zM32 110v292l217.6-146L32 110z"/></svg>PK}w�\��e��'collection/icon/svg/ios-paper-plane.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M452.1 49L52.3 265.3c-6 3.3-5.6 12.1.6 14.9l68.2 25.7c4 1.5 7.2 4.5 9 8.4l53 109.1c1 4.8 9.9 6.1 10 1.2l-8.1-90.2c.5-6.7 3-13 7.3-18.2l207.3-203.1c1.2-1.2 2.9-1.6 4.5-1.3 3.4.8 4.8 4.9 2.6 7.6L228 338c-4 6-6 11-7 18l-10.7 77.9c.9 6.8 6.2 9.4 10.5 3.3l38.5-45.2c2.6-3.7 7.7-4.5 11.3-1.9l99.2 72.3c4.7 3.5 11.4.9 12.6-4.9L463.8 58c1.5-6.8-5.6-12.3-11.7-9z"/></svg>PK}w�\�/���"collection/icon/svg/logo-steam.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M478.8 208.2c0 19.8-16.1 36-36 36-19.8 0-36-16.1-36-36 0-19.8 16.1-36 36-36 19.8 0 36 16.2 36 36zM442.6 139c-38.1 0-69 30.7-69.4 68.7l-43.2 62c-1.8-.2-3.6-.3-5.4-.3-9.7 0-18.7 2.7-26.4 7.3L102.4 198c-5.1-23.2-25.9-40.7-50.6-40.7C23.3 157.2 0 180.6 0 209.1s23.3 51.8 51.8 51.8c9.7 0 18.7-2.7 26.4-7.3L274 332.2c5.1 23.3 25.8 40.8 50.6 40.8 26.8 0 49-20.6 51.5-46.7l66.5-48.6c38.3 0 69.4-31 69.4-69.3S480.9 139 442.6 139zm0 22.9c25.7 0 46.5 20.9 46.5 46.5 0 25.7-20.9 46.4-46.5 46.4-25.7 0-46.5-20.8-46.5-46.4 0-25.7 20.8-46.5 46.5-46.5zm-390.8 9c14.6 0 27.3 8.2 33.7 20.2l-18.9-7.6v.1c-15.3-5.5-32.2 2-38.3 17.1-6.1 15.2.9 32.3 15.7 38.9v.1l16.1 6.4c-2.6.6-5.4.9-8.2.9-21.1 0-38.1-17-38.1-38.1-.1-20.9 16.9-38 38-38zm272.8 112.2c21.1 0 38.1 17 38.1 38.1s-17 38.1-38.1 38.1c-14.7 0-27.4-8.2-33.7-20.3 6.3 2.5 12.5 5 18.8 7.6 15.5 6.2 33.2-1.3 39.4-16.8 6.2-15.5-1.3-33.1-16.9-39.4l-15.9-6.4c2.8-.5 5.5-.9 8.3-.9z"/></svg>PK}w�\�,�� collection/icon/svg/ios-moon.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M401.4 354.2c-2.9.1-5.8.2-8.7.2-47.9 0-93-18.9-126.8-53.4-33.9-34.4-52.5-80.1-52.5-128.8 0-27.7 6.1-54.5 17.5-78.7 3.1-6.6 9.3-16.6 13.6-23.4 1.9-2.9-.5-6.7-3.9-6.1-6 .9-15.2 2.9-27.7 6.8C135.1 95.5 80 168.7 80 255c0 106.6 85.1 193 190.1 193 58 0 110-26.4 144.9-68.1 6-7.2 11.5-13.8 16.4-21.8 1.8-3-.7-6.7-4.1-6.1-8.5 1.7-17.1 1.8-25.9 2.2z"/></svg>PK}w�\rm����(collection/icon/svg/md-color-palette.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 64C150.401 64 64 150.401 64 256c0 105.604 86.401 192 192 192 18.136 0 32-13.864 32-32 0-8.531-3.198-16-8.531-21.333-5.333-5.334-8.531-12.803-8.531-21.334 0-18.135 13.864-32 32-32h38.396c58.667 0 106.667-48 106.667-106.666C448 140.802 361.604 64 256 64zM138.667 256c-18.136 0-32-13.864-32-32s13.864-32 32-32c18.135 0 32 13.864 32 32s-13.865 32-32 32zm64-85.333c-18.136 0-32-13.865-32-32 0-18.136 13.864-32 32-32 18.135 0 32 13.864 32 32 0 18.135-13.865 32-32 32zm106.666 0c-18.135 0-32-13.865-32-32 0-18.136 13.865-32 32-32 18.136 0 32 13.864 32 32 0 18.135-13.864 32-32 32zm64 85.333c-18.135 0-32-13.864-32-32s13.865-32 32-32c18.136 0 32 13.864 32 32s-13.864 32-32 32z"/></svg>PK}w�\-Jv���'collection/icon/svg/ios-folder-open.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M448 119c0-13.3-9.4-23-22.8-23H230.9c-2.8 0-4.3-.6-6.1-2.4l-22.5-22.5-.2-.2c-4.9-4.6-8.9-6.9-17.3-6.9H88.7C74.9 64 64 74.3 64 87v73h384v-41zM64 188h-8.3c-12.8 0-25.3 5.1-23.5 24.3C34 231.5 55.7 423 55.7 423c2.7 17.8 11.7 25 25 25h352.5c12.7 0 21-7.8 23-25 0 0 22.2-184.9 23.6-205.5 1.4-20.5-8.9-29.5-23.6-29.5H64z"/></svg>PK}w�\���_��collection/icon/svg/md-cog.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M480 288v-64h-34.7c-2-12.1-5.2-23.8-9.3-35l30-17.3-32-55.4-30 17.3c-7.7-9.3-16.3-17.9-25.6-25.6l17.3-30-55.4-32L323 76c-11.2-4.2-22.9-7.3-35-9.3V32h-64v34.7c-12.1 2-23.8 5.2-35 9.3l-17.3-30-55.4 32 17.3 30c-9.3 7.7-17.9 16.3-25.6 25.6l-30-17.3-32 55.4L76 189c-4.2 11.2-7.3 22.9-9.3 35H32v64h34.7c2 12.1 5.2 23.8 9.3 35l-30 17.3 32 55.4 30-17.3c7.7 9.3 16.3 17.9 25.6 25.6l-17.3 30 55.4 32 17.3-30c11.2 4.2 22.9 7.3 35 9.3V480h64v-34.7c12.1-2 23.8-5.2 35-9.3l17.3 30 55.4-32-17.3-30c9.3-7.7 17.9-16.3 25.6-25.6l30 17.3 32-55.4-30-17.3c4.2-11.2 7.3-22.9 9.3-35H480zm-224-64c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zM141.2 343c-18.3-24.2-29.2-54.3-29.2-87 0-6.1.4-12.1 1.1-18l46.9 17.1v.9c0 17.8 4.9 34.5 13.3 48.8L141.2 343zm40.7-148L135 177.9c20.1-31.1 51.8-53.9 89-62.3v49.9c-16.6 5.9-31.1 16.2-42.1 29.5zM256 400c-23.7 0-46-5.7-65.8-15.9l32.1-38.2c10.5 3.9 21.8 6.1 33.7 6.1s23.2-2.2 33.7-6.1l32.1 38.2C302 394.3 279.7 400 256 400zm32-234.5v-49.9c37.2 8.4 68.9 31.2 89 62.3L330.1 195c-11-13.3-25.5-23.6-42.1-29.5zM370.8 343l-32.1-38.2c8.4-14.3 13.3-31 13.3-48.8v-.9l46.9-17.1c.7 5.9 1.1 11.9 1.1 18 0 32.7-10.9 62.8-29.2 87z"/></svg>PK}w�\0KB4collection/icon/svg/md-apps.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M96 176h80V96H96v80zm120 240h80v-80h-80v80zm-120 0h80v-80H96v80zm0-120h80v-80H96v80zm120 0h80v-80h-80v80zM336 96v80h80V96h-80zm-120 80h80V96h-80v80zm120 120h80v-80h-80v80zm0 120h80v-80h-80v80z"/></svg>PK}w�\�|���'collection/icon/svg/md-star-outline.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M458 210.409l-145.267-12.476L256 64l-56.743 133.934L54 210.409l110.192 95.524L131.161 448 256 372.686 380.83 448l-33.021-142.066L458 210.409zM272.531 345.286L256 335.312l-16.53 9.973-59.988 36.191 15.879-68.296 4.369-18.79-14.577-12.637-52.994-45.939 69.836-5.998 19.206-1.65 7.521-17.75 27.276-64.381 27.27 64.379 7.52 17.751 19.208 1.65 69.846 5.998-52.993 45.939-14.576 12.636 4.367 18.788 15.875 68.299-59.984-36.189z"/></svg>PK}w�\�Q?���"collection/icon/svg/md-warning.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M32 464h448L256 48 32 464zm248-64h-48v-48h48v48zm0-80h-48v-96h48v96z"/></svg>PK}w�\ץz��!collection/icon/svg/md-bowtie.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M276 304h-40c-15.4 0-28-12.6-28-28v-40c0-15.4 12.6-28 28-28h40c15.4 0 28 12.6 28 28v40c0 15.4-12.6 28-28 28zM176 280v-48c0-18.2 8.7-34.4 22.2-44.6C192 160 96 96 64 96c-17.6 0-32 14.4-32 32v256c0 17.6 14.3 32 32 32 32 0 128-64 134.2-91.4-13.5-10.2-22.2-26.4-22.2-44.6zM448 96c-32 0-128 64-134.2 91.4 13.5 10.2 22.2 26.4 22.2 44.6v48c0 18.2-8.7 34.4-22.2 44.6C320 352 416 416 448 416c17.7 0 32-14.4 32-32V128c0-17.6-14.4-32-32-32z"/></svg>PK}w�\!%�XKKcollection/icon/svg/md-jet.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M480 32s-23.4-.7-59.3 27.1C404 72 244.9 186.8 244.9 186.8l-168.8-4.2L32 222l109.8 55.2-8.6 10.8-87.9.1-7.2 40.5 63.1 48.7-26.6 59.8 60-26.4 48.7 63.1 40.5-7.2.1-87.8 10.9-8.5L290.1 480l39.3-44.1-4.2-168.7S440.1 108.2 453 91.6C480.7 55.5 480 32 480 32z"/></svg>PK}w�\~-�$$!collection/icon/svg/md-female.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M400 176c0-79.5-64.5-144-144-144S112 96.5 112 176c0 71.4 51.9 130.6 120 142v50h-72v48h72v64h48v-64h72v-48h-72v-50c68.1-11.4 120-70.6 120-142zm-240 0c0-52.9 43.1-96 96-96s96 43.1 96 96-43.1 96-96 96-96-43.1-96-96z"/></svg>PK}w�\�E��"collection/icon/svg/ios-trophy.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M450 100h-66V80c0-8.8-7.2-16-16-16H144c-8.8 0-16 7.2-16 16v20H62c-7.7 0-14 6.3-14 14 0 41.3 7.8 66 22.6 90.4 13.6 22.4 32.9 36.2 56.3 40.3 2.8.5 5.1 2.3 6.2 4.9 6.2 15.4 20.2 34.8 51.1 52.2 20.2 11.4 36.9 18.3 51.7 21.6 3.6.8 6.2 4.1 6.2 7.8V412c0 4.4-3.6 8-8 8h-65.6c-7.5 0-14 5.8-14.4 13.3-.4 8 6 14.7 14 14.7h175.6c7.5 0 14-5.8 14.4-13.3.4-8-6-14.7-14-14.7h-66c-4.4 0-8-3.6-8-8v-80.7c0-3.7 2.6-7 6.2-7.8 14.7-3.3 31.5-10.3 51.7-21.6 30.9-17.4 44.9-36.8 51.1-52.2 1.1-2.6 3.4-4.5 6.2-4.9 23.4-4.1 42.7-17.9 56.3-40.3C456.2 180 464 155.3 464 114c0-7.7-6.3-14-14-14zM128 210.6c0 2.8-2.8 4.8-5.4 3.8-12.8-4.9-23.2-14.7-30.6-28.9-5.8-11-12.6-21.4-15.1-48.8-.4-4.7 3.3-8.7 8-8.7H120c4.4 0 8 3.6 8 8v74.6zm292-25.1c-7.4 14.2-17.8 24-30.6 28.9-2.6 1-5.4-1-5.4-3.8V136c0-4.4 3.6-8 8-8h35.1c4.7 0 8.4 4 8 8.7-2.5 27.4-9.4 37.8-15.1 48.8z"/></svg>PK}w�\��V���$collection/icon/svg/md-megaphone.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M382.1 143.4l-23.1 23c14.7 14.7 23.9 35.2 23.9 57.6s-9.2 42.9-23.9 57.6l23.1 23.1c20.6-20.6 33.4-49.2 33.4-80.6s-12.8-60.1-33.4-80.7z"/><path d="M428.2 99l-22.7 22.7c26.1 26.1 42.3 62.4 42.3 102.3 0 39.8-16.1 76.1-42.3 102.3l22.7 22.7c31.9-32.1 51.8-76.3 51.8-125s-19.8-92.9-51.8-125zM320 184.1V80h-32l-96 80H64l-32 16v112l32 16 80 128h48l-30-128h30l96 64h32V263.9c18.4-1.7 32-18.9 32-39.9s-13.6-38.2-32-39.9z"/></svg>PK}w�\���k��%collection/icon/svg/ios-chatboxes.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M425.9 170.4H204.3c-21 0-38.1 17.1-38.1 38.1v154.3c0 21 17.1 38 38.1 38h126.8c2.8 0 5.6 1.2 7.6 3.2l63 58.1c3.5 3.4 9.3 2 9.3-2.9v-50.6c0-6 3.8-7.9 9.8-7.9h1c21 0 42.1-16.9 42.1-38V208.5c.1-21.1-17-38.1-38-38.1z"/><path d="M174.4 145.9h177.4V80.6c0-18-14.6-32.6-32.6-32.6H80.6C62.6 48 48 62.6 48 80.6v165.2c0 18 14.6 32.6 32.6 32.6h61.1v-99.9c.1-18 14.7-32.6 32.7-32.6z"/></svg>PK}w�\��~���collection/icon/svg/md-cut.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M203.1 158.3c5.2-11.2 8.1-23.5 8.1-36.7 0-49.5-40.1-89.6-89.6-89.6S32 72.1 32 121.6s40.1 89.6 89.6 89.6c13.2 0 25.5-2.9 36.7-8.1l52.9 52.9-52.9 52.9c-11.2-5.2-23.5-8.1-36.7-8.1-49.5 0-89.6 40.1-89.6 89.6S72.1 480 121.6 480s89.6-40.1 89.6-89.6c0-13.2-2.9-25.5-8.1-36.7l52.9-52.9 156.8 156.8H480v-22.4L203.1 158.3zm-81.5 8.1c-24.6 0-44.8-19.9-44.8-44.8S97 76.8 121.6 76.8s44.8 19.9 44.8 44.8-20.2 44.8-44.8 44.8zm0 268.8c-24.6 0-44.8-19.9-44.8-44.8s20.2-44.8 44.8-44.8 44.8 19.9 44.8 44.8-20.2 44.8-44.8 44.8zm134.4-168c-6.3 0-11.2-4.9-11.2-11.2 0-6.3 4.9-11.2 11.2-11.2 6.3 0 11.2 4.9 11.2 11.2 0 6.3-4.9 11.2-11.2 11.2zM412.8 54.4L278.4 188.8l44.8 44.8L480 76.8V54.4h-67.2z"/></svg>PK}w�\�dɝ~~!collection/icon/svg/ios-pizza.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M446.6 109.8c-2.7-7.3-14.2-14-25-18.7-27-11.6-73.5-27.1-164.9-27.1-94 0-137.5 14.5-165 27.1-12.3 5.7-24.2 12.5-26.7 19.5-2.9 8 .8 15.3 4.1 21.8l1.5 3c3.1 6.4 12.9 12.8 22.8 13.8L251.3 445c1 1.9 3.1 3.1 5.3 3.1 2.2 0 4.3-1.2 5.3-3.1l157.6-295.1c5.6-.6 17.2-2.6 23.1-14.3 3.9-7.7 7.4-16.7 4-25.8zm-266 112.8c-1.2 3.5-2.9 6.6-5.1 9.5-1.8 2.3-5.3 2-6.7-.6-8.8-16.6-17.3-32.4-24.8-46.5-1.4-2.6.5-5.8 3.4-5.9h1c3.7 0 7.3.6 10.9 1.7 8.6 2.8 15.5 8.7 19.6 16.6 3.9 7.9 4.6 16.8 1.7 25.2zm116.6 97.5c-.8 1.4-2.3 2.3-3.9 2.1-17-1.8-30.2-15.8-30.2-32.8 0-18.2 15.2-33 33.9-33 9.9 0 19 4 25.3 11 1.1 1.2 1.3 3.1.5 4.5l-25.6 48.2zm35.2-176.8c-5.7 4.1-12.4 6.3-19.5 6.3-1.6 0-3.3-.1-4.9-.3-8.7-1.2-16.3-5.7-21.5-12.5-2-2.6-3.6-5.5-4.6-8.4-1-2.7 1.2-5.5 4-5.3 18.3 1 35.3 2.9 51.4 5.9 3.1.6 4.5 4.1 2.7 6.7-2 2.8-4.6 5.4-7.6 7.6z"/></svg>PK}w�\�C�U//collection/icon/svg/logo-vk.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M427 299.1c-8.6-8-15.7-12.8-18.5-20.5-1-2.7-1.3-4.3-1-7.6.4-6 5.5-13.8 39.6-58.9 14.2-18.8 32.7-41.5 32.7-58.5 0-11-4.5-13.7-20.8-13.7h-74c-6.5 0-10.9 8.9-13.6 16.4-2.8 7.5-8.2 19-21.4 43.8-13.8 26-32.3 48.8-40 52.4-2.2 1-3.6 1-5.5.8-1.2-.1-3.8-.8-6.2-3.7-2.3-2.8-5.9-7.7-4.5-53.9.8-25.8 3.7-43.8-1.7-54.8-1.1-2.2-3.5-4.5-4.8-5.5-7.7-5.5-29.4-7.5-48-7.5s-32.9 2.1-40 4.2c-7.1 2.1-15.1 6.9-18.9 12-2.5 3.3 4.3 1.6 10.9 4.6 4 1.8 9.3 4.6 11.2 9.3 8 20.8 9.7 37.3 5.3 66.7-1.1 7.2-2.3 18.5-6.6 25.5-2.4 3.9-7.9 3.6-9.5 3.1-16.1-4.9-28.6-26-41.2-50.7-13.1-25.8-19.8-43.9-23.4-51.3s-9.1-11.4-18.4-11.4H42.3c-5.2 0-9.9 4.3-9.9 9 0 11 18.6 43 29.8 66 20.2 41.4 46.7 81.4 82.4 120.2C182 376.3 233 384 249.3 384s29-.6 33.3-1.5c2-.4 4.1-1.3 5.7-2.5 7.1-5.5 5.8-16 6.3-24.2.5-8.4 1.4-19.5 7-26 5.2-6.1 11.1-7.8 18.6-4.1 7 3.5 12 9.4 17.2 15.1 10.1 10.9 19.3 23.2 31.3 32.2 5.5 4.1 11.5 6.7 17.9 8.7 8.5 2.6 16.5 2.7 25.3 2.3 9.7-.4 17-.3 29-.3s27.7.5 33.1-3.5c2.6-2 6-5 6-11.3 0-11.9-12.2-31.7-53-69.8z"/></svg>PK}w�\%HqDD"collection/icon/svg/ios-magnet.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M462.2 261.9L289.6 89.3C263 62.7 227.4 48 189.5 48c-38 0-73.5 14.7-100.2 41.3C62.7 116 48 151.5 48 189.5S62.7 263 89.3 289.6l172.6 172.6c1.1 1.1 2.7 1.8 4.3 1.8 1.6 0 3.1-.6 4.3-1.8l57.5-57.5c2.4-2.4 2.4-6.2 0-8.5L165.2 233.3c-13-13-21.2-27.8-22.9-41.7-1.8-13.6 2.7-25.8 13.1-36.3 9.9-9.9 22.4-14.3 36-12.6 14.3 1.7 29.2 9.7 42 22.5L396.2 328c2.4 2.4 6.2 2.4 8.5 0l57.5-57.5c2.4-2.4 2.4-6.2 0-8.6zM275.8 380.2l20.2 20.2-29.8 29.8-20.3-20.2 29.9-29.8zM400.4 296l-20.2-20.2L410 246l20.2 20.2-29.8 29.8z"/></svg>PK}w�\2:F. collection/icon/svg/ios-crop.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M142 64c-7.7 0-14 6.3-14 14v20c0 7.7 6.3 14 14 14s14-6.3 14-14V78c0-7.7-6.3-14-14-14zM156 342V190c0-7.7-6.3-14-14-14s-14 6.3-14 14v166c0 15.5 12.5 28 28 28h166c7.7 0 14-6.3 14-14s-6.3-14-14-14H170c-7.7 0-14-6.3-14-14zM434 356h-20c-7.7 0-14 6.3-14 14s6.3 14 14 14h20c7.7 0 14-6.3 14-14s-6.3-14-14-14z"/><path d="M64 142c0 7.7 6.3 14 14 14h264c7.7 0 14 6.3 14 14v264c0 7.7 6.3 14 14 14s14-6.3 14-14V156c0-15.5-12.5-28-28-28H78c-7.7 0-14 6.3-14 14z"/></svg>PK}w�\2$����#collection/icon/svg/logo-nodejs.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M255.917 480a32.536 32.536 0 0 1-16.633-4.599l-52.985-32.44c-7.914-4.562-4.023-6.203-1.443-7.141 10.565-3.781 13.713-5.657 24.947-12.285 1.206-.667 2.747-.424 3.955.322l39.71 23.504c1.476.85 3.557.85 4.931 0l155.188-92.246c1.475-.877 2.415-2.646 2.415-4.441V163.869c0-1.85-.94-3.592-2.449-4.528l-155.12-94.672c-1.478-.894-3.421-.894-4.898 0L98.516 159.374c-1.544.903-2.516 2.698-2.516 4.495v186.805c0 1.813.972 3.513 2.481 4.389l39.929 23.972c23.61 12.204 37.59-.17 37.59-14.611V180.725c0-2.652 2.047-4.727 4.596-4.727h22.809c2.515 0 4.597 2.072 4.597 4.727v183.698c0 32.563-19.353 51.248-49.199 51.248-9.156 0-16.397 0-36.552-10.279l-41.584-24.781C70.371 374.459 64 362.965 64 350.656V161.191c0-12.316 6.371-23.784 16.665-29.917L239.35 36.41c10.027-5.88 23.374-5.88 33.332 0l158.65 94.864C441.63 137.423 448 148.899 448 161.191v189.465c0 12.309-6.37 23.75-16.668 29.953l-158.65 94.774a32.52 32.52 0 0 1-16.698 4.599l-.067.018z"/><path d="M304.943 351.998c-64.61 0-84.006-31.61-84.006-59.271 0-2.629 2.048-4.729 4.562-4.729h20.521c2.282 0 4.227 1.7 4.562 4.016 3.084 21.602 16.748 31.15 54.324 31.15 33.399 0 47.091-10.346 47.091-28.684 0-10.592-3.463-18.424-55.407-23.697-43.427-4.441-70.288-14.373-70.288-50.295 0-33.135 26.996-52.49 72.234-52.49 46.128 0 76.462 14 79.173 50.829.102 1.337-.368 2.629-1.241 3.644-.871.965-2.078 1.527-3.353 1.527h-20.591c-2.146 0-4.024-1.562-4.459-3.713-4.401-16.953-16.97-23.402-49.563-23.402-36.486 0-40.746 12.753-40.746 22.607 0 11.963 5.031 15.441 54.294 22.172 48.761 6.663 71.933 16.117 71.933 51.552 0 35.781-28.808 58.783-79.075 58.783l.035.001z"/></svg>PK}w�\�1���&collection/icon/svg/ios-arrow-down.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 294.1L383 167c9.4-9.4 24.6-9.4 33.9 0s9.3 24.6 0 34L273 345c-9.1 9.1-23.7 9.3-33.1.7L95 201.1c-4.7-4.7-7-10.9-7-17s2.3-12.3 7-17c9.4-9.4 24.6-9.4 33.9 0l127.1 127z"/></svg>PK}w�\�Ia�||$collection/icon/svg/md-nutrition.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M357.2 235.6L274.7 153h-.8c-8.1-6-18.2-10.3-28.4-10.3-13.7 0-26.1 6.3-34.3 16.3h-.6L53 414.1v.8c-3 6.2-5 13.3-5 20.8 0 24.4 19.7 44.3 44.3 44.3 9.4 0 18-2.9 27.4-9.1l232.9-168.1c10.9-8.3 17.4-21.6 17.4-36 0-12-4.7-23.2-12.8-31.2zM464 145.1l-29.2-49-36.6 20.3 31.5-55.9L380.6 32l-67.3 127.8 41.3 41.4z"/></svg>PK}w�\o�9�99 collection/icon/svg/ios-bulb.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M404 188.9C404 111 333.9 48 256 48s-148 63.1-148 140.9c0 31 13.2 56.1 30.2 80.1h-.3c10.9 15 21.4 17.7 31.5 35 14.7 25.2 18.1 40.7 18.7 55.7.4 8.6 7.5 15.3 16 15.3h8.9c2.2 0 4-1.8 4-4v-94.5c0-5-1.2-9.8-3.4-14.3l-21-42c-3.5-7 1.6-15.2 9.4-15.2 4 0 7.7 2.3 9.4 5.9l25.3 51.4c2.2 4.4 3.3 9.2 3.3 14.1V371c0 2.2 1.8 4 4 4h24c2.2 0 4-1.8 4-4v-94.6c0-4.9 1.1-9.7 3.3-14.1l25.4-51.6c1.7-3.4 5.2-5.6 9-5.6 7.5 0 12.4 7.9 9 14.6l-21.3 42.6c-2.2 4.5-3.4 9.4-3.4 14.3V371c0 2.2 1.8 4 4 4h10c8.5 0 15.5-6.6 16-15 .9-15.4 4.7-32.3 18.4-56 10.1-17.3 20.6-20 31.5-35h-.1c17-24 30.2-49.1 30.2-80.1zM238 464h36c7.7 0 14-6.3 14-14s-6.3-14-14-14h-36c-7.7 0-14 6.3-14 14s6.3 14 14 14zM218 420h76c7.7 0 14-6.3 14-14s-6.3-14-14-14h-76c-7.7 0-14 6.3-14 14s6.3 14 14 14z"/></svg>PK}w�\s��pqq"collection/icon/svg/md-fitness.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M434.3 315.5l29.7-29.7-29.7-29.8-74.3 74.3L181.7 152 256 77.7 226.3 48l-29.7 29.7L166.8 48l-44.5 44.5-29.8-29.7-29.7 29.7 29.7 29.7L48 166.8l29.7 29.7L48 226.3 77.7 256l74.3-74.3L330.3 360 256 434.3l29.7 29.7 29.7-29.7 29.7 29.7 44.5-44.5 29.7 29.7 29.7-29.7-29.7-29.7 44.5-44.5-29.5-29.8z"/></svg>PK}w�\���collection/icon/svg/ios-pin.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48c-79.5 0-144 59.9-144 133.7 0 104 144 282.3 144 282.3s144-178.3 144-282.3C400 107.9 335.5 48 256 48zm0 190.9c-25.9 0-46.9-21-46.9-46.9s21-46.9 46.9-46.9 46.9 21 46.9 46.9-21 46.9-46.9 46.9z"/></svg>PK}w�\�?$���!collection/icon/svg/md-images.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M457.6 140.2l-82.5-4-4.8-53.8c-1-11.3-11.1-19.2-22.9-18.3L51.5 88.4c-11.8 1-20.3 10.5-19.4 21.7l21.2 235.8c1 11.3 11.2 19.2 22.9 18.3l15-1.2-2.4 45.8c-.6 12.6 9.2 22.8 22.4 23.5L441.3 448c13.2.6 24.1-8.6 24.8-21.2L480 163.5c.6-12.5-9.3-22.7-22.4-23.3zm-354.9 5.3l-7.1 134.8L78.1 305 62 127v-.5-.5c1-5 4.4-9 9.6-9.4l261-21.4c5.2-.4 9.7 3 10.5 7.9 0 .2.3.2.3.4 0 .1.3.2.3.4l2.7 30.8-219-10.5c-13.2-.4-24.1 8.8-24.7 21.3zm334 236.9l-84.8-99.5-37.4 34.3-69.2-80.8-122.7 130.7L133 168v-.4c1-5.4 6.2-9.3 11.9-9l291.2 14c5.8.3 10.3 4.7 10.4 10.2 0 .2.3.3.3.5l-10.1 199.1z"/><path d="M384 256c17.6 0 32-14.4 32-32s-14.3-32-32-32c-17.6 0-32 14.3-32 32s14.3 32 32 32z"/></svg>PK}w�\�r�%collection/icon/svg/logo-linkedin.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M417.2 64H96.8C79.3 64 64 76.6 64 93.9V415c0 17.4 15.3 32.9 32.8 32.9h320.3c17.6 0 30.8-15.6 30.8-32.9V93.9C448 76.6 434.7 64 417.2 64zM183 384h-55V213h55v171zm-25.6-197h-.4c-17.6 0-29-13.1-29-29.5 0-16.7 11.7-29.5 29.7-29.5s29 12.7 29.4 29.5c0 16.4-11.4 29.5-29.7 29.5zM384 384h-55v-93.5c0-22.4-8-37.7-27.9-37.7-15.2 0-24.2 10.3-28.2 20.3-1.5 3.6-1.9 8.5-1.9 13.5V384h-55V213h55v23.8c8-11.4 20.5-27.8 49.6-27.8 36.1 0 63.4 23.8 63.4 75.1V384z"/></svg>PK}w�\�/66'collection/icon/svg/md-color-filter.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M441.8 120.1l-49.9-49.9c-8.3-8.3-21.8-8.3-30.1 0l-66.6 66.6L254.1 96 224 126.1l30.3 30.3L64 346.7V448h101.3l190.3-190.3 30.3 30.3 30.1-30.1-41-41 66.6-66.6c8.5-8.4 8.5-21.8.2-30.2zM147.6 405.4l-41-41 171.9-171.9 41 41-171.9 171.9z"/></svg>PK}w�\l߮F��0collection/icon/svg/md-arrow-dropdown-circle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.125 48 48 141.125 48 256s93.125 208 208 208 208-93.125 208-208S370.875 48 256 48zm0 272l-96-96h192l-96 96z"/></svg>PK}w�\��˗��!collection/icon/svg/md-switch.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M168 216h94.9c14.5 14.8 34.7 24 57.1 24 44.2 0 80-35.8 80-80s-35.8-80-80-80c-22.4 0-42.6 9.2-57.1 24H168c-30.8 0-56 25.2-56 56s25.2 56 56 56zm-16.9-72.9c4.6-4.6 10.6-7.1 16.9-7.1h75.7c-2.4 7.6-3.7 15.6-3.7 24s1.3 16.4 3.7 24H168c-6.3 0-12.4-2.5-16.9-7.1-4.6-4.6-7.1-10.6-7.1-16.9s2.5-12.4 7.1-16.9zM344 296h-94.9c-14.5-14.8-34.7-24-57.1-24-44.2 0-80 35.8-80 80s35.8 80 80 80c22.4 0 42.6-9.2 57.1-24H344c30.8 0 56-25.2 56-56s-25.2-56-56-56zm16.9 72.9c-4.6 4.6-10.6 7.1-16.9 7.1h-75.7c2.4-7.6 3.7-15.6 3.7-24s-1.3-16.4-3.7-24H344c6.3 0 12.4 2.5 16.9 7.1 4.6 4.6 7.1 10.6 7.1 16.9s-2.5 12.4-7.1 16.9z"/></svg>PK}w�\J��>��%collection/icon/svg/md-volume-low.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M64 192v128h85.334L256 431.543V80.458L149.334 192H64zm288 64c0-38.399-21.333-72.407-53.333-88.863v176.636C330.667 328.408 352 294.4 352 256z"/></svg>PK}w�\��#���"collection/icon/svg/ios-outlet.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M359 78H153c-2.8 0-5.6.8-8 2.3C86.7 116.9 48 182 48 256c0 73.9 38.7 138.1 97 175.6 2.4 1.6 5.2 2.4 8.1 2.4h205.8c2.9 0 5.7-.8 8.1-2.4 58.3-37.5 97-101.7 97-175.6 0-74-38.7-139.1-97-175.7-2.4-1.5-5.2-2.3-8-2.3zM192.9 270.8h-22.3c-2.1 0-3.7-1.7-3.7-3.7V155.9c0-2 1.7-3.7 3.7-3.7h22.3c2.1 0 3.7 1.7 3.7 3.7v111.2c0 2.1-1.7 3.7-3.7 3.7zM282 389.5h-52c-2.1 0-3.7-1.7-3.7-3.7v-40.2c0-16.5 13.6-30.5 30.1-30.3 16.2.2 29.3 13.5 29.3 29.7v40.8c0 2-1.6 3.7-3.7 3.7zM341.4 256h-22.3c-2.1 0-3.7-1.7-3.7-3.7v-81.6c0-2 1.7-3.7 3.7-3.7h22.3c2.1 0 3.7 1.7 3.7 3.7v81.6c0 2-1.6 3.7-3.7 3.7z"/></svg>PK}w�\ �2��&collection/icon/svg/md-trending-up.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M345.6 128l51.3 51.3-109.3 109.4-89.6-89.6L32 365.4 63.6 397 198 262.5l89.6 89.7 141.1-141 51.3 51.3V128H345.6z"/></svg>PK}w�\k�Lw��%collection/icon/svg/md-cloud-done.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M403.002 217.001C388.998 148.002 328.998 96 256 96c-57.998 0-107.998 32.998-132.998 81.001C63.002 183.002 16 233.998 16 296c0 65.996 53.999 120 120 120h260c55 0 100-45 100-100 0-52.998-40.996-96.001-92.998-98.999zM213.333 362.667L138.667 288l29.864-29.864 44.802 44.802L324.271 192l29.865 29.864-140.803 140.803z"/></svg>PK}w�\�����1collection/icon/svg/md-arrow-dropright-circle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 464c114.875 0 208-93.125 208-208S370.875 48 256 48 48 141.125 48 256s93.125 208 208 208zm-32-112V160l96 96-96 96z"/></svg>PK}w�\By:?**collection/icon/svg/ios-tv.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M451.7 78H60.3C34.8 78 14 98.8 14 124.3v215.5c0 25.5 20.8 46.3 46.3 46.3h391.5c25.5 0 46.3-20.8 46.3-46.3V124.3C498 98.8 477.2 78 451.7 78zM470 339.7c0 10.1-8.2 18.3-18.3 18.3H60.3c-10.1 0-18.3-8.2-18.3-18.3V124.3c0-10.1 8.2-18.3 18.3-18.3h391.5c10.1 0 18.3 8.2 18.3 18.3v215.4z"/><path d="M436 128H76c-6.6 0-12 5.4-12 12v184c0 6.6 5.4 12 12 12h360c6.6 0 12-5.4 12-12V140c0-6.6-5.4-12-12-12zM370 406H142c-7.7 0-14 6.3-14 14s6.3 14 14 14h228c7.7 0 14-6.3 14-14s-6.3-14-14-14z"/></svg>PK}w�\O��s~~'collection/icon/svg/md-skip-forward.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M64 64v384l277.3-192L64 64zM384 64h64v384h-64z"/></svg>PK}w�\*����'collection/icon/svg/md-battery-full.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M338.2 76.8h-37.4V32h-89.6v44.8h-37.4c-16.4 0-29.8 13.4-29.8 29.8V450c0 16.6 13.4 30 29.8 30H338c16.6 0 30-13.4 30-29.8V106.6c0-16.4-13.4-29.8-29.8-29.8z"/></svg>PK}w�\`-���&collection/icon/svg/md-paper-plane.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M48 270.9l118.9 44.6L181.7 464 256 360l104 104L464 48 48 270.9zm294.9 126L260 313.4 374.9 152 193.6 289.8 124.9 265l291-156.2-73 288.1z"/></svg>PK}w�\���Y++.collection/icon/svg/md-help-circle-outline.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 90c44.3 0 86 17.3 117.4 48.6C404.7 170 422 211.7 422 256s-17.3 86-48.6 117.4C342 404.7 300.3 422 256 422s-86-17.3-117.4-48.6C107.3 342 90 300.3 90 256s17.3-86 48.6-117.4C170 107.3 211.7 90 256 90m0-42C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48z"/><path d="M235 339h42v42h-42zM276.8 318h-41.6c0-67 62.4-62.2 62.4-103.8 0-22.9-18.7-41.7-41.6-41.7S214.4 192 214.4 214h-41.6c0-46 37.2-83 83.2-83s83.2 37.1 83.2 83.1c0 52-62.4 57.9-62.4 103.9z"/></svg>PK}w�\�u����"collection/icon/svg/ios-square.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M388 416H124c-15.4 0-28-12.6-28-28V124c0-15.4 12.6-28 28-28h264c15.4 0 28 12.6 28 28v264c0 15.4-12.6 28-28 28z"/></svg>PK}w�\N��U?? collection/icon/svg/ios-text.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 64C141.1 64 48 139.2 48 232c0 64.9 45.6 121.2 112.3 149.2-5.2 25.8-21 47-33.5 60.5-2.3 2.5.2 6.5 3.6 6.3 11.5-.8 32.9-4.4 51-12.7 21.5-9.9 40.3-30.1 46.3-36.9 9.3 1 18.8 1.6 28.5 1.6 114.9 0 208-75.2 208-168C464 139.2 370.9 64 256 64z"/></svg>PK}w�\4L=�"collection/icon/svg/ios-ribbon.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M254.9 293.4c73 .6 132.3-58.7 131.7-131.8-.6-69.9-59.7-129-129.5-129.6-73-.6-132.3 58.7-131.7 131.8.6 69.9 59.7 129 129.5 129.6zm-3.7-204.1c44.3-2.8 80.9 33.8 78.1 78.2-2.3 36.6-31.9 66.2-68.5 68.6-44.3 2.8-80.9-33.8-78.1-78.2 2.3-36.6 31.9-66.2 68.5-68.6z"/><path d="M256 308.4c-42.8 0-81.4-18.1-108.5-47-1.9-2-5.2-1.7-6.6.7L65.1 394.8c-3.1 5.5.8 12.3 7.2 12.3h80.1c2.9 0 5.6 1.5 7.1 4l39 64.9c3.4 5.7 11.8 5.2 14.6-.8l43-94.6 31.3-68.9c1.4-3-1.2-6.3-4.5-5.7-8.8 1.5-17.7 2.4-26.9 2.4zM364.5 261.3c-14.6 15.5-32.4 28-52.5 36.1-1 .4-1.8 1.1-2.2 2.1l-44.7 97.7c-.5 1.1-.5 2.3 0 3.4l33.9 74.5c2.7 6 11.2 6.5 14.6.8l39-64.9c1.5-2.5 4.2-4 7.1-4h80.1c6.3 0 10.3-6.8 7.2-12.3l-75.8-132.8c-1.5-2.2-4.8-2.6-6.7-.6z"/></svg>PK}w�\ ��ddcollection/icon/svg/md-cash.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M32 96v256h448V96H32zm160.5 224h-80.4c0-26.6-21.5-48.1-48.1-48.1V192c35.3 0 64-28.7 64-64h64.5c-19.9 23.5-32.5 57.8-32.5 96s12.6 72.5 32.5 96zM448 271.9c-26 0-48 21.5-48 48.1h-80.5c19.9-23.5 32.5-57.8 32.5-96s-12.6-72.5-32.5-96H384c0 35.3 28.7 64 64 64v79.9zM32 384h448v32H32z"/></svg>PK}w�\N��HEEcollection/icon/svg/md-more.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M296 136c0-22.002-17.998-40-40-40s-40 17.998-40 40 17.998 40 40 40 40-17.998 40-40zm0 240c0-22.002-17.998-40-40-40s-40 17.998-40 40 17.998 40 40 40 40-17.998 40-40zm0-120c0-22.002-17.998-40-40-40s-40 17.998-40 40 17.998 40 40 40 40-17.998 40-40z"/></svg>PK}w�\� X���%collection/icon/svg/logo-snapchat.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M495.998 360.389l-.189-14.501-14.398-1.278c-15.413-1.396-43.8-7.219-54.301-16.9-16.281-15.011-35.688-36.199-35.688-51.893 0-1.014 0-2.546 4.15-5.186 4.985-3.174 12.589-5.584 19.297-7.71 5.217-1.654 10.144-3.217 14.394-5.236 9.236-4.39 18.498-15.978 17.471-28.807-1.215-15.166-14.424-27.046-30.072-27.046-4.021 0-8.068.76-12.027 2.259-8.027 3.041-13.743 4.41-17.705 4.962.747-9.319 1.791-20.12 3.211-30.67 5.111-37.948-5.281-73.509-29.264-101.042C335.498 48.208 297.376 32 256.283 32H256c-41.093 0-79.215 16.208-104.591 45.341-23.982 27.534-34.375 63.345-29.265 101.292 1.416 10.51 2.46 21.231 3.21 30.618-3.97-.559-9.686-1.998-17.703-5.034-3.965-1.502-8.017-2.295-12.043-2.295-15.641-.001-28.844 11.852-30.057 27.003-1.027 12.818 8.235 24.393 17.47 28.783 4.251 2.02 9.181 3.578 14.4 5.232 6.707 2.125 14.309 4.532 19.293 7.703 4.147 2.639 4.147 4.168 4.147 5.182 0 8.66-6.191 24.691-35.688 51.888-10.499 9.681-39.055 15.501-54.588 16.897l-14.572 1.311L16 360.603c0 1.679.312 10.546 6.485 20.319 5.246 8.306 16.073 19.283 37.863 24.407a1139.713 1139.713 0 0 0 15.208 3.454c2.306.512 4.555 1.01 6.454 1.453l.081.623c.9 7.004 1.611 12.535 4.392 17.75 2.453 4.6 8.574 12.316 22.015 12.316 2.478 0 5.249-.246 8.472-.751 1.672-.263 3.386-.554 5.2-.863 7.116-1.212 15.182-2.587 23.451-2.587 10.277 0 18.732 2.188 25.846 6.688 4.531 2.867 8.892 5.972 13.509 9.26C202.967 465.481 223.358 480 256 480c32.726 0 53.293-14.582 71.439-27.446 4.576-3.244 8.898-6.309 13.377-9.142 7.113-4.5 15.568-6.688 25.846-6.688 8.27 0 16.334 1.375 23.449 2.586 1.814.311 3.529.602 5.202.864 3.223.505 5.993.751 8.472.751 13.44 0 19.562-7.715 22.015-12.313 2.781-5.214 3.492-10.746 4.392-17.749l.082-.629c1.898-.441 4.148-.941 6.455-1.452 4.023-.892 9.029-2.001 15.206-3.454 21.851-5.139 32.611-16.17 37.79-24.518 6.097-9.828 6.296-18.736 6.273-20.421zM208 128c8.836 0 16 10.745 16 24s-7.164 24-16 24-16-10.745-16-24 7.164-24 16-24zm103.615 77.698C296.368 220.725 276.617 229 256 229c-20.838 0-40.604-8.29-55.657-23.343a8 8 0 1 1 11.313-11.313C223.688 206.374 239.436 213 256 213c16.387 0 32.15-6.64 44.385-18.698a8 8 0 0 1 11.23 11.396zM304 176c-8.836 0-16-10.746-16-24s7.164-24 16-24 16 10.746 16 24-7.164 24-16 24z"/></svg>PK}w�\�}���collection/icon/svg/md-gift.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M424 134.5h-45.8c2.3-6.6 3.8-13.9 3.8-21.3 0-35.4-28.1-63.2-63-63.2-22.1 0-41.2 10.7-52.5 28L256 92.3l-10.5-14.5C234.2 60.7 215.1 48 193 48c-34.9 0-63 29.8-63 65.2 0 7.5 1.5 14.7 3.8 21.3H88c-23.3 0-41.8 19-41.8 42.7L46 421.8c0 23.7 17.4 42.2 40.7 42.2h336.7c23.3 0 42.7-18.5 42.7-42.2V177.2c-.1-23.7-18.8-42.7-42.1-42.7zM320 91c11.6 0 21 9.5 21 21 0 11.6-9.4 21-21 21s-21-9.5-21-21 9.4-21 21-21zm-128 0c11.6 0 21 9.5 21 21 0 11.6-9.4 21-21 21s-21-9.5-21-21 9.4-21 21-21zM88 177.2h106.7L151 237.5l34 25 50-69.1.2-.2-.2 228.6H88V177.2zm336 244.6H277V193.4l50 69.1 34-25-43.7-60.4H424v244.7z"/></svg>PK}w�\�L�� $collection/icon/svg/ios-aperture.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M250.2 371.4c-1.8 0-2.7 2.2-1.4 3.4l54.9 54.9L326 452c42.4-15.2 78.5-43.7 103.1-80.6H250.2zM167 334.6V444c27 12.8 57.1 20 89 20 14.1 0 27.9-1.4 41.2-4.1L170.4 333.2c-1.2-1.3-3.4-.4-3.4 1.4zM256 48c-13.9 0-27.4 1.4-40.5 4l126.8 126.8c1.3 1.3 3.4.4 3.4-1.4V68.3C318.6 55.3 288.2 48 256 48zM68.1 166.6C55.2 193.7 48 224 48 256c0 14.1 1.4 27.9 4.1 41.2L179.2 170c1.3-1.3.4-3.4-1.4-3.4H68.1zM186.7 59.9C144 75 107.7 103.6 83 140.7h179.7c1.8 0 2.7-2.2 1.4-3.4l-77.4-77.4zM167 220.6v70.7c0 1.1.4 2.1 1.2 2.8l50 50c.8.8 1.8 1.2 2.8 1.2h70.7c1.1 0 2.1-.4 2.8-1.2l50-50c.8-.8 1.2-1.8 1.2-2.8v-70.7c0-1.1-.4-2.1-1.2-2.8l-50-50c-.8-.8-1.8-1.2-2.8-1.2H221c-1.1 0-2.1.4-2.8 1.2l-50 50c-.7.8-1.2 1.8-1.2 2.8zM460 215.5L333.6 342c-1.3 1.3-.4 3.4 1.4 3.4h108.8c13-27.1 20.2-57.4 20.2-89.4 0-13.9-1.4-27.4-4-40.5zM371.8 83.2v179c0 1.8 2.2 2.7 3.4 1.4l76.9-76.9c-15-42.6-43.5-78.8-80.3-103.5zM60.1 325.9c15.2 42.6 43.9 78.8 81 103.4V249.8c0-1.8-2.2-2.7-3.4-1.4l-77.6 77.5z"/></svg>PK}w�\x1LL!collection/icon/svg/ios-paper.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M124 80v322c0 7.7-6.3 14-14 14s-14-6.3-14-14V112H80c-17.7 0-32 14.3-32 32v288c0 17.7 14.3 32 32 32h353.1c17 0 30.9-13.8 30.9-30.9V80c0-17.7-14.3-32-32-32l-278 2c-17.7 0-30 12.3-30 30zm66 32h84c7.7 0 14 6.3 14 14s-6.3 14-14 14h-84c-7.7 0-14-6.3-14-14s6.3-14 14-14zm0 160h148c7.7 0 14 6.3 14 14s-6.3 14-14 14H190c-7.7 0-14-6.3-14-14s6.3-14 14-14zm196 108H190c-7.7 0-14-6.3-14-14s6.3-14 14-14h196c7.7 0 14 6.3 14 14s-6.3 14-14 14zm0-160H190c-7.7 0-14-6.3-14-14s6.3-14 14-14h196c7.7 0 14 6.3 14 14s-6.3 14-14 14z"/></svg>PK}w�\�o|[[2collection/icon/svg/ios-arrow-dropright-circle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M48 256c0 114.9 93.1 208 208 208s208-93.1 208-208S370.9 48 256 48 48 141.1 48 256zm244.5 0l-81.9-81.1c-7.5-7.5-7.5-19.8 0-27.3s19.8-7.5 27.3 0l95.4 95.7c7.3 7.3 7.5 19.1.6 26.6l-94 94.3c-3.8 3.8-8.7 5.7-13.7 5.7-4.9 0-9.9-1.9-13.6-5.6-7.5-7.5-7.6-19.7 0-27.3l79.9-81z"/></svg>PK}w�\xU�Y'collection/icon/svg/ios-fastforward.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M476.1 249.3L268 129.1c-5.4-3.1-12.3.6-12.3 6.7V251L44.3 129.1c-5.4-3.1-12.3.6-12.3 6.7v240.3c0 6.1 6.9 9.8 12.3 6.7L255.6 261v115.2c0 6.1 6.9 9.8 12.3 6.7L476 262.7c5.3-3 5.3-10.4.1-13.4z"/></svg>PK}w�\7�G�^^#collection/icon/svg/md-checkbox.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M405.333 64H106.667C83.198 64 64 83.198 64 106.667v298.666C64 428.802 83.198 448 106.667 448h298.666C428.802 448 448 428.802 448 405.333V106.667C448 83.198 428.802 64 405.333 64zm-192 298.667L106.667 256l29.864-29.864 76.802 76.802 162.136-162.136 29.864 29.865-192 192z"/></svg>PK}w�\s�,66$collection/icon/svg/logo-dropbox.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M177 77L64 150.9l78.1 62.7L256 143.1zM64 276.3l113 73.9 79-66.1-113.9-70.5zM256 284.1l79 66.1 113-73.9-78.1-62.7zM448 150.9L335 77l-79 66.1 113.9 70.5z"/><path d="M256.2 298.3l-79.8 66-34.4-22.2V367l114 68 114-68v-24.9l-34.2 22.2z"/></svg>PK}w�\z�p���!collection/icon/svg/logo-xbox.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M126.8 248.3c39.7-58.6 77.9-92.8 77.9-92.8s-42.1-48.9-92.8-67.4l-3.3-.8C61.7 128.4 32 188.7 32 256c0 50.7 16.9 97.5 45.2 135 0-4.4.6-70.3 49.6-142.7zM480 256c0-67.3-29.7-127.6-76.6-168.7l-3.2.9c-50.7 18.5-92.9 67.4-92.9 67.4s38.2 34.2 77.9 92.8c49 72.4 49.6 138.3 49.5 142.7C463.2 353.5 480 306.7 480 256zM201.2 80.9c29.3 13.1 54.6 34.6 54.6 34.6s25.5-21.4 54.8-34.6c36.8-16.5 64.9-11.3 72.3-9.5C346.8 46.6 303.1 32 256 32s-90.8 14.6-126.9 39.4c7.2-1.8 35.2-7.1 72.1 9.5zM358.7 292.9C312.4 236 255.8 199 255.8 199s-56.3 37-102.7 93.9c-39.8 48.9-54.6 84.8-62.6 107.8l-1.3 4.8c41 45.7 100.5 74.5 166.8 74.5s125.8-28.8 166.8-74.5l-1.4-4.8c-8-23-22.9-58.9-62.7-107.8z"/></svg>PK}w�\v�ф��"collection/icon/svg/ios-medkit.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M432 128h-84V96c0-17.6-14.4-32-32-32H196c-17.6 0-32 14.4-32 32v32H80c-17.7 0-32 14.3-32 32v256c0 17.7 14.3 32 32 32h352c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32zm-240-28c0-4.4 3.6-8 8-8h112c4.4 0 8 3.6 8 8v28H192v-28zm128 204h-48v48c0 8.8-7.2 16-16 16s-16-7.2-16-16v-48h-48c-8.8 0-16-7.2-16-16s7.2-16 16-16h48v-48c0-8.8 7.2-16 16-16s16 7.2 16 16v48h48c8.8 0 16 7.2 16 16s-7.2 16-16 16z"/></svg>PK}w�\X��MM#collection/icon/svg/logo-flickr.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M352 64H160c-52.8 0-96 43.2-96 96v192c0 52.8 43.2 96 96 96h192c52.8 0 96-43.2 96-96V160c0-52.8-43.2-96-96-96zM184 304c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm144 0c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48z"/></svg>PK}w�\C,�T��,collection/icon/svg/md-american-football.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M32 256c14.1 35 36.2 66 64 90.6V165.4C68.2 190 46.1 221 32 256zM480 256c-14.1-35-36.2-66-64-90.6v181.2c27.8-24.6 49.9-55.6 64-90.6z"/><g><path d="M256 105c-47.1 0-91 13.4-128 36.5v228.9c37 23.1 80.9 36.5 128 36.5s91-13.4 128-36.5V141.5c-37-23.1-80.9-36.5-128-36.5zm96 135v64h-32v-32h-48v32h-32v-32h-48v32h-32v-96h32v32h48v-32h32v32h48v-32h32v32z"/></g></svg>PK}w�\ލ(��collection/icon/svg/ios-car.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M416 196.2c-13.8-30.8-49-92.2-100-92.2H196c-51 0-84.8 59.4-100 92.2-24 23-48 45.7-48 84.8v76c0 3.7 2.6 7 6.2 7.8C69.1 368.2 116.4 375 256 375s186.9-6.8 201.8-10.2c3.6-.8 6.2-4.1 6.2-7.8v-76c0-39-22.3-63.1-48-84.8zM190 128h132c40.5 0 62 60 62 70H128c0-10 27-70 62-70zm-78 203.7c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32c0 17.6-14.3 32-32 32zM328 300c0 8.8-7.2 16-16 16H200c-8.8 0-16-7.2-16-16s7.2-16 16-16h112c8.8 0 16 7.2 16 16zm72 32c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zM160 384c-47.9 0-96-5-96-5 0 17-.3 29 6 29h85c6.3 0 5-13.2 5-24zM352 384c48 0 96-5 96-5 0 16 2 29-5 29h-86c-6.7 0-5-13.5-5-24z"/></svg>PK}w�\��./!collection/icon/svg/ios-print.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M128 248v200c0 8.8 7.2 16 16 16h224c8.8 0 16-7.2 16-16V248c0-8.8-7.2-16-16-16H144c-8.8 0-16 7.2-16 16zM384 48H128c-8.8 0-16 7.2-16 16v20c0 2.2 1.8 4 4 4h280c2.2 0 4-1.8 4-4V64c0-8.8-7.2-16-16-16z"/><path d="M432.5 112h-352C62.9 112 48 125.8 48 143.3v174.4c0 17.5 14.9 32.3 32.5 32.3H96c4.4 0 8-3.6 8-8V236c0-15.5 12.5-28 28-28h248c15.5 0 28 12.5 28 28v106c0 4.4 3.6 8 8 8h16.5c17.6 0 31.5-14.8 31.5-32.3V143.3c0-17.5-13.9-31.3-31.5-31.3z"/></svg>PK}w�\���k��(collection/icon/svg/md-arrow-forward.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M85 277.375h259.704L225.002 397.077 256 427l171-171L256 85l-29.922 29.924 118.626 119.701H85v42.75z"/></svg>PK}w�\,i��!collection/icon/svg/ios-radio.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M60 256c0-51 18.6-97.9 54-135.6 5.3-5.7 5.2-14.8-.4-20.3-2.6-2.6-6.1-4.1-9.7-4.1-3.8 0-7.4 1.6-10.1 4.4C53.3 143.7 32 197.4 32 256c0 58.5 21.3 112.3 61.7 155.5 2.7 2.9 6.3 4.5 10.2 4.5 3.6 0 7.1-1.4 9.7-3.9 2.7-2.6 4.3-6.2 4.4-10 .1-3.9-1.3-7.6-4-10.3C78.6 353.9 60 307 60 256zM418.2 100.4c-2.6-2.8-6.2-4.4-10-4.4-3.6 0-7.1 1.4-9.7 3.9-2.7 2.6-4.3 6.2-4.4 10-.1 3.9 1.3 7.6 4 10.3 35.3 37.8 54 84.7 54 135.7s-18.6 97.9-54 135.7c-5.3 5.6-5.2 14.7.3 20.2 2.5 2.6 6 4 9.7 4 3.9 0 7.6-1.6 10.2-4.6 40.4-43 61.7-96.7 61.7-155.2 0-58.5-21.3-112.4-61.8-155.6z"/><path d="M159.2 347.7c-24.1-24.3-37.3-56.6-37.3-90.9 0-35 13.8-67.9 38.8-92.4 5.5-5.3 5.6-14.2.2-19.8-2.6-2.7-6.2-4.2-10-4.2-3.7 0-7.2 1.4-9.8 4C110.7 174.2 94 214.1 94 256.8c0 41.6 16.1 80.9 45.3 110.6 2.7 2.7 6.2 4.2 9.9 4.2s7.2-1.5 9.8-4.2c2.6-2.6 4.1-6.1 4.1-9.8.2-3.7-1.2-7.2-3.9-9.9zM371 144.5c-2.6-2.6-6-4-9.8-4-3.8 0-7.3 1.5-10 4.1-5.4 5.4-5.4 14.3.1 19.8 25 24.5 38.7 56.5 38.7 91.5 0 34.2-13.1 67.4-37.1 91.8-5.4 5.4-5.3 14.3.1 19.7 2.6 2.6 6.2 4.1 9.8 4.1 3.8 0 7.4-1.5 9.9-4.1C402 337.7 418 297.6 418 256c0-42.5-16.7-81.5-47-111.5z"/><path d="M207.1 183.4c-2.6-2.7-6.2-4.2-10-4.2-3.7 0-7.2 1.4-9.8 4.1-19.8 19.5-30.8 45.6-30.8 73.3 0 27.1 10.5 52.7 29.5 72.1 2.7 2.7 6.2 4.2 10 4.2 3.7 0 7.2-1.4 9.8-4 2.7-2.6 4.2-6.1 4.2-9.9 0-3.8-1.4-7.3-4.1-10-13.8-14-21.4-32.6-21.4-52.5 0-20.3 8-39.2 22.4-53.4 5.4-5.2 5.5-14.1.2-19.7zM325.7 183.2c-2.6-2.6-6-4-9.8-4-3.8 0-7.3 1.5-10 4.1-5.4 5.4-5.4 14.3.1 19.8 14.5 14.3 22.4 33.3 22.4 53.5 0 19.8-7.6 38.5-21.5 52.5-2.6 2.6-4.1 6.2-4 9.9 0 3.7 1.5 7.2 4.1 9.8 2.6 2.6 6.2 4.1 9.8 4.1 3.7 0 7.3-1.5 9.9-4.2 19.1-19.4 29.6-45 29.6-72.1.1-27.8-10.8-53.8-30.6-73.4zM256 218c-21 0-38 17-38 38s17 38 38 38 38-17 38-38-17.1-38-38-38z"/></svg>PK}w�\"�%��collection/icon/svg/md-star.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 372.686L380.83 448l-33.021-142.066L458 210.409l-145.267-12.475L256 64l-56.743 133.934L54 210.409l110.192 95.525L131.161 448z"/></svg>PK}w�\�+r��!collection/icon/svg/md-unlock.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M376 186h-20v-40c0-55-45-100-100-100S156 91 156 146h37.998c0-34.004 28.003-62.002 62.002-62.002 34.004 0 62.002 27.998 62.002 62.002H318v40H136c-22.002 0-40 17.998-40 40v200c0 22.002 17.998 40 40 40h240c22.002 0 40-17.998 40-40V226c0-22.002-17.998-40-40-40zM256 368c-22.002 0-40-17.998-40-40s17.998-40 40-40 40 17.998 40 40-17.998 40-40 40z"/></svg>PK}w�\2�0LL$collection/icon/svg/logo-model-s.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M443.6 208.4c-3.1-1.9-2.2-6.6 1.3-7.3l5.3-1.1c7.1 0 22.4-2.3 25.6-5.4 3.1-3.2 4.2-5.4 4.2-8.2s-1.7-7.7-4.8-11.1c-3-3.4-16-5.2-23.7-6.2s-8.7 0-10.7 1.2c-2 1.3-2.8 9.5-3.1 15-.1 1.2-.9 2.2-2.1 2.5l-.4.1c-3.3.7-6.6-1.1-7.8-4.3-4.6-13-10.7-32.5-19.4-48.4-11.5-20.8-23.5-27.4-28.5-29-4.9-1.5-9.4-2.6-43-6.1-33.8-3.6-63.1-4.1-80.5-4.1s-46.7.5-80.6 4.1c-33.6 3.4-38.1 4.5-43 6.1-5 1.6-17 8.2-28.5 29-9.4 17.1-15.7 38.3-20.4 51.3-.6 1.5-2.2 2.4-3.8 2.1-3.1-.7-5.4-3.3-5.6-6.5-.4-5-1.2-10.7-2.9-11.7-2-1.3-3-2.2-10.7-1.2s-20.6 2.8-23.7 6.2c-3 3.4-4.7 8.3-4.7 11.1s1.1 5.1 4.2 8.3c3.1 3.2 18.5 5.4 25.6 5.4l5.3 1.1c3.5.7 4.4 5.4 1.3 7.3-9.1 5.7-23.2 15.3-32.3 25.6 0 0-4.1 28.7-4.1 62.1 0 48 5.8 92.4 5.8 92.4 1.8.3 3.6.6 5.3.9 0 1.2.7 13.1 2 21.2.3 2 1.3 5.5 6.2 5.5h64.7c1.9 0 5.1-1.6 5.1-3.7l1-17c7.2.1 3.2.1 10.9 0 24.8-.3 15.6-7.5 27.1-7.3 11.3.2 55 3 96 3s84.7-2.8 96-3c11.5-.2 2.3 7.1 27.1 7.3 7.7.1 4.7.1 11.9 0l1 17c0 2.1 3.2 3.7 5.1 3.7h63.5c4.9 0 5.9-3.5 6.2-5.5 1.3-8.1 1.9-19.9 2-21.2l5.4-.9s5.8-44.3 5.8-92.4c0-33.5-4.1-62.1-4.1-62.1-9.3-10.5-23.4-20.1-32.5-25.8zm-320.2-53.6c2.2-5.1 5.9-11.6 10-17.2 5-6.7 12.4-11.2 20.6-12.5 16.7-2.7 52.6-7.3 101.9-7.3 49.3 0 85.2 4.6 101.9 7.3 8.2 1.3 15.6 5.8 20.6 12.5 4.2 5.6 7.9 12.1 10.1 17.2 3.9 9.2 10.4 30.7 9.4 33.2-1 2.5 1 3.7-12.2 2.6-13.1-1-90.6-2.1-129.7-2.1-39.2 0-116.7 1.1-129.7 2.1-13.2 1.1-11.3-.2-12.2-2.6s5.4-24 9.3-33.2zm8.4 116c-9.9 0-29.8-1-34.5-1.2-4.7-.1-8.8 3.8-11.2 3.8s-25.5-3.6-28-14.9c-1.7-7.5-1.1-15.2-.6-19.5.3-1.9 1.9-3.4 3.8-3.5 14.4-.5 29.2.5 55.3 7.9 17.3 4.9 29.8 12.6 36.9 17.8 2.8 2.1 1.8 6.5-1.7 7.2-6.1 1.1-14.4 2.4-20 2.4zm210.4 73c-12.7 1.7-58.5 2.2-86.2 2.2s-73.5-.5-86.2-2.2c-13.1-1.7-29.8-17.3-18.4-30.2 7.6-8.5 20.8-13.6 48.9-17.3 29.8-3.8 48.6-4.3 55.6-4.3s25.8.5 55.6 4.3c28.1 3.7 43.2 9.6 48.9 17.3 10.4 13.8-5.1 28.4-18.2 30.2zm111.7-85.2c-2.5 11.2-25.6 14.9-28 14.9s-6.5-3.9-11.2-3.8c-4.7.2-24.6 1.2-34.5 1.2-5.5 0-13.8-1.3-20-2.4-3.5-.6-4.5-5.1-1.7-7.2 7.1-5.2 19.6-12.9 36.9-17.8 26.1-7.4 40.8-8.4 55.3-7.9 2 .1 3.6 1.5 3.8 3.5.5 4.3 1.1 12-.6 19.5z"/></svg>PK}w�\��~���collection/icon/svg/ios-key.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M344.8 218.1c-13 0-25.6 0-37.4 4.1-50.6-43.1-184.3-156.9-194.5-167.5-4.7-4.9-9.9-6.7-15-6.7-8.5 0-16.7 5.2-21.3 9.6-6.9 6.6-33 34.8-28 40 15 15.4 19 18.5 25.2 24.8 9.3 9.5 28.3-1 36 2.3 7.6 3.3 9.2 6.8 10.4 12.5s-2.9 15.8-3 23.7c-.1 8.3 3.4 12.8 9.2 19 4.6 5 8.9 8.6 15.6 8.7 9 .2 20.9-12.8 30.4-3.1s-6.2 23.7-5 34 15.5 22.8 21.6 24.1c6.1 1.3 21.8-11.7 30.7-9.7 3 .7 10 6.8 11 11.4s-6.9 25-5.9 29.6c1.2 5.6 7.1 12.1 10.4 17.4-6.7 15.5-9.4 29.6-9.4 47.7 0 68.5 53.4 124 119.2 124s119-55.5 119-124-53.4-121.9-119.2-121.9zM368 400c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"/></svg>PK}w�\�i�d``$collection/icon/svg/md-backspace.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M433.5 96H167.2c-12.2 0-21.8 6.2-28.2 15.6L43 256l96 144.2c6.4 9.4 16 15.8 28.2 15.8h266.2c19.5 0 35.5-16 35.5-35.6V131.6C469 112 453 96 433.5 96zm-53.3 223.8l-25 25.1-63.7-63.8-63.7 63.8-25-25.1 63.7-63.8-63.7-63.8 25-25.1 63.7 63.8 63.7-63.8 25 25.1-63.7 63.8 63.7 63.8z"/></svg>PK}w�\ }��� collection/icon/svg/ios-cube.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M440.8 129.5L261.7 49.2c-3.6-1.6-7.7-1.6-11.3 0L71.2 129.5c-6 2.7-6.2 11.8-.4 14.8l178.7 94.1c4.1 2.2 8.9 2.2 13 0l178.7-94.1c5.8-3 5.6-12.1-.4-14.8zM280.2 462.9l180.1-95.3c2.2-1.4 3.6-4 3.6-6.8V175.9c0-5.9-5.8-9.7-10.7-7.1l-180.1 92.8c-2.6 1.3-4.2 4.1-4.2 7.1V456c.1 6.2 6.4 10 11.3 6.9zM48 175.9v184.8c0 2.8 1.4 5.4 3.6 6.8l180.1 95.3c5 3.2 11.2-.6 11.2-6.8V268.7c0-3-1.6-5.8-4.2-7.1l-180-92.8c-4.9-2.6-10.7 1.3-10.7 7.1z"/></svg>PK}w�\�K��� collection/icon/svg/ios-copy.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M352 115h90c3.3 0 6-2.7 6-6 0-8.2-3.7-16-10-21.3l-77.1-64.2c-4.9-4.1-14.2-7.4-20.6-7.4-4.1 0-7.4 3.3-7.4 7.4V96c.1 10.5 8.6 19 19.1 19z"/><path d="M307 96V16H176c-17.6 0-32 14.4-32 32v336c0 17.6 14.4 32 32 32h240c17.6 0 32-14.4 32-32V141h-96c-24.8 0-45-20.2-45-45z"/><path d="M116 412V80H96c-17.6 0-32 14.4-32 32v352c0 17.6 14.4 32 32 32h256c17.6 0 32-14.4 32-32v-20H148c-17.6 0-32-14.4-32-32z"/></svg>PK}w�\�LL(collection/icon/svg/ios-battery-dead.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M396 144H64c-26.4 0-48 21.6-48 48v128c0 26.4 21.6 48 48 48h332c26.4 0 48-21.6 48-48V192c0-26.4-21.6-48-48-48zm20 176c0 11-9 20-20 20H64c-11 0-20-9-20-20V192c0-11 9-20 20-20h332c11 0 20 9 20 20v128zM464 204.6v102.8c16 0 32-27.7 32-51.4s-16-51.4-32-51.4z"/></svg>PK}w�\�r�ܹ� collection/icon/svg/ios-leaf.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M453.9 378.7c-51.8-8-55.7-11.7-55.7-11.7 15.6-74-22.4-151.1-76.3-195.6C250.1 112.2 141 155.2 56 65.2c-19.8-21-8.3 235.5 98.1 332.7 77.8 71 169.4 49.2 194.5 37.6 22.8-10.6 38.7-33.9 38.7-33.9 41.5 13 62 14.2 62 14.2 14.6 1.8 22-34.4 4.6-37.1zm-91.8 7.4c-77.7-23.3-145.3-81-189.1-126.2-3.6-3.7 1.6-9.2 5.5-6 43.1 35.5 108.9 80 193.3 107.9.2 8.1-4.5 19.7-9.7 24.3z"/></svg>PK}w�\�p9gVV collection/icon/svg/ios-snow.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M440.5 345.8L408.1 327c11.8-12.3 26-18.2 26.2-18.3 7.5-3 11.4-11.4 8.9-19.1-1.9-5.9-7.4-9.8-13.5-9.8-1.9 0-3.7.4-5.5 1.1-1 .4-24.4 10-41.9 31.2l-96.3-56 96.3-56c17.5 21.2 40.8 30.8 41.9 31.2 1.8.7 3.6 1.1 5.5 1.1 6.1 0 11.6-4 13.5-9.8 2.5-7.7-1.4-16.1-8.9-19.1-.1-.1-14.3-6-26.2-18.3l32.4-18.8c7.2-4.2 9.6-13.4 5.5-20.6-2.7-4.7-7.7-7.6-13.1-7.6-2.6 0-5.3.7-7.6 2L393.1 159c-4.5-16.2-2.7-31.4-2.6-32 1.1-8.1-4.1-15.6-12-17.3-1-.2-2-.3-3-.3-7.1 0-13 5.2-14.1 12.4-.2 1.1-3.6 26 6.1 52.2l-96 56v-99.2c26.9-4.7 46.8-20.2 47.7-20.9 3.1-2.5 5.1-6 5.4-10 .3-4-.9-7.8-3.6-10.8-2.9-3.2-7-5.1-11.4-5.1-3.4 0-6.8 1.2-9.5 3.3-.1.1-12.2 9.4-28.6 13.6V63.1c0-8.2-7.1-15.1-15.5-15.1s-15.5 6.9-15.5 15.1v37.5c-16.3-4.2-28.4-13.5-28.6-13.6-2.7-2.1-6-3.3-9.5-3.3-4.4 0-8.5 1.9-11.4 5.1-2.7 3-4 7-3.6 10.9.3 3.9 2.3 7.4 5.4 9.9.9.7 20.8 16.2 47.7 20.9v99.2l-96-56c9.6-26 6.2-51.1 6-52.2-1-7.2-6.9-12.4-14-12.4-1 0-2 .1-3 .3-7.9 1.6-13.2 9.3-12 17.3 0 .2 2 15.5-2.6 31.9L86.6 140c-2.3-1.3-4.9-2-7.6-2-5.4 0-10.4 2.9-13.1 7.6-4.1 7.2-1.7 16.5 5.5 20.6l32.4 18.8c-11.7 12.1-25.7 18.1-26.2 18.3-7.5 3-11.4 11.4-8.9 19.1 1.9 5.9 7.4 9.8 13.5 9.8 1.9 0 3.7-.4 5.5-1.1 1-.4 24.4-10 41.9-31.2l96.3 56-96.3 56c-17.5-21.2-40.8-30.8-41.9-31.2-1.8-.7-3.6-1.1-5.5-1.1-6.1 0-11.6 4-13.5 9.8-2.5 7.7 1.4 16 8.9 19.1.5.2 14.5 6.2 26.2 18.3l-32.4 18.8c-7.2 4.2-9.6 13.4-5.5 20.6 2.7 4.7 7.7 7.6 13.1 7.6 2.6 0 5.3-.7 7.6-2l32.3-18.8c4.6 16.5 2.6 31.8 2.6 32-1.2 8 4.1 15.7 12 17.3 1 .2 2 .3 3 .3 7.1 0 13-5.2 14.1-12.4.2-1.1 3.6-26-6.1-52.2l96-56v99.2c-26.9 4.7-46.8 20.2-47.7 20.9-3.1 2.5-5.1 6-5.4 10-.3 4 .9 7.8 3.6 10.8 2.9 3.2 7 5.1 11.4 5.1 3.4 0 6.8-1.2 9.5-3.3.1-.1 12.3-9.4 28.6-13.6v37.5c0 8.2 7.1 15.1 15.5 15.1s15.5-6.9 15.5-15.1v-37.5c16.3 4.2 28.4 13.5 28.6 13.6 2.7 2.1 6.1 3.3 9.5 3.3 4.4 0 8.5-1.9 11.4-5.1 2.7-3 4-7 3.6-10.9-.3-3.9-2.3-7.4-5.4-9.9-.9-.7-20.8-16.2-47.7-20.9V282l96 56c-9.6 26-6.2 51.1-6 52.2 1 7.2 6.9 12.4 14 12.4 1 0 2-.1 3-.3 7.9-1.6 13.1-9.2 12-17.3-.1-.5-1.9-15.7 2.6-32l32.2 18.8c2.3 1.3 4.9 2 7.6 2 5.4 0 10.4-2.9 13.1-7.6 4.1-6.9 1.7-16.2-5.5-20.4z"/></svg>PK}w�\ �fxx collection/icon/svg/md-watch.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M416 256c0-51.001-24.004-96.001-60.996-125L336 16H176l-19.004 115C120.004 159.999 96 204.999 96 256c0 50.996 24.004 95.996 60.996 125L176 496h160l19.004-115C391.996 351.996 416 306.996 416 256zm-280 0c0-66.001 54.004-120 120-120s120 53.999 120 120c0 65.996-54.004 120-120 120s-120-54.004-120-120z"/></svg>PK}w�\ga��LL collection/icon/svg/ios-send.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M435.9 64.9l-367.1 160c-6.5 3.1-6.3 12.4.3 15.3l99.3 56.1c5.9 3.3 13.2 2.6 18.3-1.8l195.8-168.8c1.3-1.1 4.4-3.2 5.6-2 1.3 1.3-.7 4.3-1.8 5.6L216.9 320.1c-4.7 5.3-5.4 13.1-1.6 19.1l64.9 104.1c3.2 6.3 12.3 6.2 15.2-.2L447.2 76c3.3-7.2-4.2-14.5-11.3-11.1z"/></svg>PK}w�\��C9 'collection/icon/svg/ios-play-circle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zm83.8 211.9l-137.2 83c-2.9 1.8-6.7-.4-6.7-3.9V173c0-3.5 3.7-5.7 6.7-3.9l137.2 83c2.9 1.7 2.9 6.1 0 7.8z"/></svg>PK}w�\L�9qq#collection/icon/svg/ios-options.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M299.3 376c6.2-14.1 20.3-24 36.7-24s30.5 9.9 36.7 24H448c8.8 0 16 7.2 16 16s-7.2 16-16 16h-75.3c-6.2 14.1-20.3 24-36.7 24s-30.5-9.9-36.7-24H64c-8.8 0-16-7.2-16-16s7.2-16 16-16h235.3zM139.3 240c6.2-14.1 20.3-24 36.7-24s30.5 9.9 36.7 24H448c8.8 0 16 7.2 16 16s-7.2 16-16 16H212.7c-6.2 14.1-20.3 24-36.7 24s-30.5-9.9-36.7-24H64c-8.8 0-16-7.2-16-16s7.2-16 16-16h75.3zM299.3 104c6.2-14.1 20.3-24 36.7-24s30.5 9.9 36.7 24H448c8.8 0 16 7.2 16 16s-7.2 16-16 16h-75.3c-6.2 14.1-20.3 24-36.7 24s-30.5-9.9-36.7-24H64c-8.8 0-16-7.2-16-16s7.2-16 16-16h235.3z"/></svg>PK}w�\B�}nn&collection/icon/svg/md-heart-empty.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M349.6 64c-36.4 0-70.7 16.7-93.6 43.9C233.1 80.7 198.8 64 162.4 64 97.9 64 48 114.2 48 179.1c0 79.5 70.7 143.3 177.8 241.7L256 448l30.2-27.2C393.3 322.4 464 258.6 464 179.1 464 114.2 414.1 64 349.6 64zm-80.8 329.3l-4.2 3.9-8.6 7.8-8.6-7.8-4.2-3.9c-50.4-46.3-94-86.3-122.7-122-28-34.7-40.4-63.1-40.4-92.2 0-22.9 8.4-43.9 23.7-59.3 15.2-15.4 36-23.8 58.6-23.8 26.1 0 52 12.2 69.1 32.5l24.5 29.1 24.5-29.1c17.1-20.4 43-32.5 69.1-32.5 22.6 0 43.4 8.4 58.7 23.8 15.3 15.4 23.7 36.5 23.7 59.3 0 29-12.5 57.5-40.4 92.2-28.8 35.7-72.3 75.7-122.8 122z"/></svg>PK}w�\V��8 8 $collection/icon/svg/ios-baseball.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256.3 74.2l9.7-3.1c4.7-1.5 9.7 1.1 11.2 5.7l.1.4c1.5 4.7-1.1 9.7-5.7 11.2L260.1 92c-2.1.7-3.2 2.9-2.6 4.9 2.1 6.9 4.5 13.7 7.2 20.5 1.9 4.6 3.9 9.2 6.1 13.7 1.1 2.2 3.8 3 5.9 1.6l8.5-5.8c4.1-2.7 9.6-1.7 12.3 2.4l.2.3c2.7 4.1 1.7 9.6-2.4 12.3l-10.4 7.1a4 4 0 0 0-1.2 5.4c7 11 14.9 21.5 23.7 31.3 1.5 1.7 4.2 1.8 5.8.2l7.5-7.5c3.5-3.5 9.1-3.5 12.5 0l.3.3c3.5 3.5 3.5 9.1 0 12.5l-7.5 7.5c-1.6 1.6-1.5 4.3.2 5.8 10.2 9.1 21 17.3 32.5 24.4a4 4 0 0 0 5.4-1.2l6.9-10.2c2.7-4.1 8.3-5.1 12.3-2.4l.3.2c4.1 2.7 5.1 8.3 2.4 12.3l-5.5 8.1c-1.4 2-.6 4.8 1.6 5.9 4.1 1.9 8.2 3.8 12.4 5.5 7.1 2.9 14.3 5.4 21.7 7.6 2.1.6 4.3-.5 5-2.6l3.5-10.8c1.5-4.7 6.5-7.2 11.2-5.7l.4.1c4.7 1.5 7.2 6.5 5.7 11.2l-2.8 8.8c-.7 2.3.7 4.7 3.1 5.2 7.1 1.3 14.3 2.3 21.5 2.9.1-2.6.2-5.3.2-7.9 0-114.9-93.1-208-208-208-2.7 0-5.3.1-8 .2.7 7.7 1.7 15.3 3.1 22.9.4 2.5 2.9 3.9 5.2 3.2zM258 447.2c-.4-2.4-2.8-3.9-5.2-3.2l-11.6 3.7c-4.7 1.5-9.7-1.1-11.2-5.7l-.1-.4c-1.5-4.7 1.1-9.7 5.7-11.2l13.8-4.4c2-.7 3.2-2.8 2.6-4.9-2.3-7.9-5-15.6-8.1-23.3-1.6-4-3.3-7.9-5.2-11.8-1-2.2-3.8-3-5.9-1.6l-10.9 7.4c-4.1 2.7-9.6 1.7-12.3-2.4l-.2-.3c-2.7-4.1-1.7-9.6 2.4-12.3l13-8.8a4 4 0 0 0 1.2-5.4c-7.2-11.7-15.5-22.7-24.8-33.1-1.5-1.7-4.2-1.8-5.8-.2l-9.9 9.9c-3.5 3.5-9.1 3.5-12.5 0l-.3-.3c-3.5-3.5-3.5-9.1 0-12.5l9.9-9.9c1.6-1.6 1.5-4.3-.2-5.8-10-9-20.6-17-31.9-24a4 4 0 0 0-5.4 1.2l-9 13.3c-2.7 4.1-8.3 5.1-12.3 2.4l-.3-.2c-4.1-2.7-5.1-8.3-2.4-12.3l7.6-11.3c1.4-2 .6-4.8-1.6-5.9-4.3-2.1-8.6-4-13.1-5.8-7.3-2.9-14.6-5.5-22.1-7.7-2-.6-4.3.6-4.9 2.6l-4.6 14.4c-1.5 4.7-6.5 7.2-11.2 5.7l-.4-.1c-4.7-1.5-7.2-6.5-5.7-11.2l4-12.4c.7-2.3-.7-4.8-3.1-5.2-5.8-1-11.7-1.8-17.6-2.4-.1 0-.3 0-.4-.1v4.2c0 114.9 93.1 208 208 208h4.2c0-.1-.1-.3-.1-.4-.5-5.4-1.2-10.9-2.1-16.3z"/><path d="M431.1 280.9l-5.9 18.4c-1.5 4.7-6.5 7.2-11.2 5.7l-.4-.1c-4.7-1.5-7.2-6.5-5.7-11.2l5.3-16.6c.7-2.1-.5-4.4-2.7-5.1-13.5-4-26.8-9.2-39.7-15.6-1.8-.9-4-.3-5.1 1.3l-10.5 15.4c-2.7 4.1-8.3 5.1-12.3 2.4l-.3-.2c-4.1-2.7-5.1-8.3-2.4-12.3l9.2-13.6c1.3-1.9.7-4.4-1.2-5.6-12.3-7.7-24.1-16.6-35.2-26.7-1.6-1.4-4-1.4-5.5.1L294.7 230c-3.5 3.5-9.1 3.5-12.5 0l-.3-.3c-3.5-3.5-3.5-9.1 0-12.5l12.8-12.8c1.5-1.5 1.6-3.9.1-5.5-9.7-10.8-18.4-22.2-26-34-1.2-1.9-3.8-2.5-5.6-1.2l-13.3 9c-4.1 2.7-9.6 1.7-12.3-2.4l-.2-.3c-2.7-4.1-1.7-9.6 2.4-12.3l15.1-10.2c1.7-1.1 2.2-3.3 1.3-5.1-6.4-12.9-11.7-26.2-15.8-39.7-.7-2.1-2.9-3.4-5.1-2.7l-15.9 5.1c-4.7 1.5-9.7-1.1-11.2-5.7l-.1-.4c-1.5-4.7 1.1-9.7 5.7-11.2l17.6-5.6c1.9-.6 3.1-2.6 2.7-4.6-1.8-9.2-3.1-18.6-3.9-27.9-95.4 11.8-170.8 88.2-181 184.1h1c7.5.7 15 1.8 22.4 3.2 2 .4 4-.8 4.6-2.7l4.7-14.8c1.5-4.7 6.5-7.2 11.2-5.7l.4.1c4.7 1.5 7.2 6.5 5.7 11.2l-4.2 13c-.7 2.2.5 4.4 2.7 5.1 13.9 4.1 27.5 9.4 40.7 16 1.8.9 4 .3 5.1-1.3l8.3-12.3c2.7-4.1 8.3-5.1 12.3-2.4l.3.2c4.1 2.7 5.1 8.3 2.4 12.3l-7.1 10.5c-1.3 1.9-.7 4.4 1.2 5.6 12.1 7.7 23.7 16.4 34.6 26.3 1.6 1.4 4 1.4 5.5-.1l10.4-10.4c3.5-3.5 9.1-3.5 12.5 0l.3.3c3.5 3.5 3.5 9.1 0 12.5L214 310.8c-1.5 1.5-1.6 3.9-.1 5.5 10.2 11.3 19.2 23.3 27 35.8 1.2 2 3.7 2.5 5.7 1.2l10.8-7.3c4.1-2.7 9.6-1.7 12.3 2.4l.2.3c2.7 4.1 1.7 9.6-2.4 12.3l-12.7 8.6c-1.7 1.1-2.2 3.3-1.3 5.1 6.4 13.2 11.7 26.7 15.7 40.6.6 2.2 2.9 3.4 5.1 2.7l13.6-4.4c4.7-1.5 9.7 1.1 11.2 5.7l.1.4c1.5 4.7-1.1 9.7-5.7 11.2l-15.6 5c-1.9.6-3.1 2.6-2.7 4.6 1.3 7 2.3 14.1 3 21.2v1c95.9-10.2 172.3-85.6 184.1-181-8.9-.7-17.9-1.9-26.7-3.6-1.9-.3-3.9.9-4.5 2.8z"/></svg>PK}w�\��O�OO"collection/icon/svg/md-journal.svgnu�[���<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" x="0" y="0" viewBox="0 0 512 512" xml:space="preserve"><style>.st0{fill:#010101}</style><path class="st0" d="M117.3 42.7c-17.6 0-32 14.4-32 32v362.7c0 17.6 14.4 32 32 32H320V42.7H117.3zM384.7 42.7H368v426.7h16.7c23.1 0 42-18.9 42-42V84.7c0-23.1-18.9-42-42-42z"/></svg>PK}w�\=6��FF"collection/icon/svg/ios-people.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M349.1 334.7c-11.2-4-29.5-4.2-37.6-7.3-5.6-2.2-14.5-4.6-17.4-8.1-2.9-3.5-2.9-28.5-2.9-28.5s7-6.6 9.9-14c2.9-7.3 4.8-27.5 4.8-27.5s6.6 2.8 9.2-10.4c2.2-11.4 6.4-17.4 5.3-25.8-1.2-8.4-5.8-6.4-5.8-6.4s5.8-8.5 5.8-37.4c0-29.8-22.5-59.1-64.6-59.1-42 0-64.7 29.4-64.7 59.1 0 28.9 5.7 37.4 5.7 37.4s-4.7-2-5.8 6.4c-1.2 8.4 3 14.4 5.3 25.8 2.6 13.3 9.2 10.4 9.2 10.4s1.9 20.1 4.8 27.5c2.9 7.4 9.9 14 9.9 14s0 25-2.9 28.5-11.8 5.9-17.4 8c-8 3.1-26.3 3.5-37.6 7.5-11.2 4-45.8 22.2-45.8 67.2h278.3c.1-45.1-34.5-63.3-45.7-67.3z"/><path d="M140 286s23.9-.8 33.4-9.3c-15.5-23.5-7.1-50.9-10.3-76.5-3.2-25.5-17.7-40.8-46.7-40.8h-.4c-28 0-43.1 15.2-46.3 40.8-3.2 25.5 5.7 56-10.2 76.5C69 285.3 93 285 93 285s1 14.4-1 16.8c-2 2.4-7.9 4.7-12 5.5-8.8 1.9-18.1 4.5-25.9 7.2-7.8 2.7-22.6 17.2-22.6 37.2h80.3c2.2-8 17.3-22.3 32-29.8 9-4.6 17.9-4.3 24.7-5.2 0 0 3.8-6-8.7-8.3 0 0-17.2-4.3-19.2-6.7-1.9-2.2-.6-15.7-.6-15.7zM372 286s-23.9-.8-33.4-9.3c15.5-23.5 7.1-50.9 10.3-76.5 3.2-25.5 17.7-40.8 46.7-40.8h.4c28 0 43.1 15.2 46.3 40.8 3.2 25.5-5.7 56 10.2 76.5-9.5 8.6-33.5 8.3-33.5 8.3s-1 14.4 1 16.8c2 2.4 7.9 4.7 12 5.5 8.8 1.9 18.1 4.5 25.9 7.2 7.8 2.7 22.6 17.2 22.6 37.2h-80.3c-2.2-8-17.3-22.3-32-29.8-9-4.6-17.9-4.3-24.7-5.2 0 0-3.8-6 8.7-8.3 0 0 17.2-4.3 19.2-6.7 1.9-2.2.6-15.7.6-15.7z"/></svg>PK}w�\�]c�� collection/icon/svg/ios-list.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><circle cx="92" cy="256" r="28"/><circle cx="92" cy="132" r="28"/><circle cx="92" cy="380" r="28"/><path d="M432 240H191.5c-8.8 0-16 7.2-16 16s7.2 16 16 16H432c8.8 0 16-7.2 16-16s-7.2-16-16-16zM432 364H191.5c-8.8 0-16 7.2-16 16s7.2 16 16 16H432c8.8 0 16-7.2 16-16s-7.2-16-16-16zM191.5 148H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H191.5c-8.8 0-16 7.2-16 16s7.2 16 16 16z"/></svg>PK}w�\�&�p��'collection/icon/svg/md-thunderstorm.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M393.2 161.2C380.5 96.6 323.9 48 256 48c-39.7 0-76 14-100.9 45.4 34.3 2.6 66.1 15.2 90.7 39.8 18.2 18.2 31 40.5 37.4 64.8h-33.5c-15.3-43.7-56-75-105.7-75-6 0-14.3.7-20.6 2C70 136 32 180.4 32 235.5 32 297.6 82.2 336 144 336h68V233h99.1l-33.2 67H311l-18 36h93.7c51.5 0 93.3-30 93.3-81.8 0-49.4-38.3-89.6-86.8-93zM212 368h22v96l59-128h-81z"/></svg>PK}w�\�)��&collection/icon/svg/md-volume-mute.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M64 192v128h85.334L256 431.543V80.458L149.334 192H64z"/></svg>PK}w�\����*collection/icon/svg/ios-reverse-camera.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M417.5 160H363c-4.6 0-8.9-2-12-5.4-28.4-31.8-39.1-42.6-50.7-42.6h-85.5c-11.7 0-23.2 10.8-51.7 42.7-3 3.4-7.4 5.3-11.9 5.3h-4.1v-8c0-4.4-3.6-8-8-8h-26c-4.4 0-8 3.6-8 8v8h-7.5C79.9 160 64 173.2 64 190.7v176c0 17.5 15.9 33.3 33.5 33.3h320c17.6 0 30.5-15.8 30.5-33.3v-176c0-17.5-12.9-30.7-30.5-30.7zM308.3 340.5c-.8 2.5-2.6 4.6-4.8 6.1-14.1 9.7-30.5 14.8-47.5 14.8-21 0-41.2-8.1-57.1-22.7-14.6-13.5-24.1-31.2-27-50.2h-20.4c-3.2 0-6-2.8-5.6-6.6.1-.7.3-1.3.7-1.8l31.5-42.3c1.1-1.4 2.7-2.2 4.4-2.2 1.7 0 3.3.8 4.4 2.2l32.2 41.8c2 2.6 1.5 6.4-1.8 8.5-.6.4-1.2.5-1.9.5h-20.8c2.7 12.8 9.7 24.8 19.9 34 11.6 10.6 26.3 16.4 41.4 16.4 12.3 0 24.4-4 35.1-11.5 1.9-1.3 4.2-2.1 6.5-2.1 3.2 0 6.2 1.3 8.3 3.7 2.9 3 3.9 7.3 2.5 11.4zm56.6-67.5l-31.2 42.9c-1.8 2.5-5.5 3.2-8.3.8-.2-.2-.4-.4-.5-.6L292.5 273c-2-2.6-1.4-6.5 1.9-8.5.6-.3 1.2-.5 1.9-.5h21c-2.7-13.6-9.7-26.1-19.9-35.6-11.5-10.7-26.2-16.6-41.3-16.6-12.5 0-24.6 3.9-35.2 11.3-1.9 1.3-4.1 2-6.4 2-3.1 0-6.1-1.3-8.2-3.6-2.8-3-3.8-7.4-2.5-11.5.8-2.5 2.6-4.6 4.7-6 14.1-9.7 30.6-14.8 47.6-14.8 21.7 0 42.2 7.9 57.8 22.3 13.3 12.3 23.2 32.1 26.2 52.4h21.1c.6 0 1.3.2 1.8.5 3.2 2.1 3.8 6 1.9 8.6z"/></svg>PK}w�\�9y�� collection/icon/svg/ios-help.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256.7 160c37.5 0 63.3 20.8 63.3 50.7 0 19.8-9.6 33.5-28.1 44.4-17.4 10.1-23.3 17.5-23.3 30.3v7.9h-34.7l-.3-8.6c-1.7-20.6 5.5-33.4 23.6-44 16.9-10.1 24-16.5 24-28.9s-12-21.5-26.9-21.5c-15.1 0-26 9.8-26.8 24.6H192c.7-32.2 24.5-54.9 64.7-54.9zm-26.3 171.4c0-11.5 9.6-20.6 21.4-20.6 11.9 0 21.5 9 21.5 20.6s-9.6 20.6-21.5 20.6-21.4-9-21.4-20.6z"/></svg>PK}w�\r0zz collection/icon/svg/md-flash.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M160 48v224h64v192l128-256h-64l64-160H160z"/></svg>PK}w�\���%collection/icon/svg/ios-bookmarks.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M416 32v127.9l-22.9-14.5-9.1-6.4-9.1 6.4-22.9 14.5V32h-41.4c-22.5.2-40.6 18.8-40.6 41.4v313.2c0 7.5-5.8 14-13.3 14.4-8 .4-14.7-6-14.7-14V73.4c0-22.6-18.1-41.2-40.6-41.4H95.1C64.8 32 40 56.8 40 87.1v289.8c0 30.3 24.8 55.1 55.1 55.1l108-.1c4.2.1 8.3.6 12.2 1.4 15.3 3.1 26.8 16.6 26.6 32.2-.1 7.2 5.2 13.6 12.4 14.4 8.5.9 15.7-5.7 15.6-14.1-.2-15.8 11.4-29.4 26.9-32.5 3.8-.8 7.9-1.2 12-1.3l108 .1c30.3 0 55.1-24.8 55.1-55.1V87.1C472 56.8 446.3 32 416 32z"/></svg>PK}w�\��c&collection/icon/svg/ios-basketball.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M218.6 306.4c14.3-11.8 28.3-24.4 41.4-37.6l6.1-6.1c-2.8-2.9-5.6-5.8-8.3-8.5-49.9-49.9-107.7-89.6-171.8-118.1-18.4 26.1-31 56.6-35.8 89.6 32.2 2.3 63.2 10.5 92.2 24.5 28.8 13.9 54.4 32.8 76.2 56.2zM326.1 185.6c.5.5 1.1 1.1 1.7 1.6 20.9-30.5 38.8-63.2 53.5-97.4-33.8-25.5-75.6-41-121-41.9 2.4 22.3 8 44.1 16.7 64.7 11.5 27.4 28.1 52 49.1 73zM399 234.8c20.7 8.8 42.6 14.4 65 16.7-1.2-56.3-24.8-107.1-62.2-143.9-15 33.8-33.3 66.3-54.4 96.8 15.8 12.4 33.2 22.6 51.6 30.4zM193.9 318.1c-21.1-21.1-45.6-37.6-72.9-49.2-23.2-9.8-47.7-15.6-72.9-17.4 0 1.5-.1 3-.1 4.4 0 48.7 16.7 93.5 44.8 128.9 37.3-17 72.7-37.9 105.4-62.4-1.5-1.4-2.9-2.9-4.3-4.3zM283.8 243.6c10.1-11.3 19.7-23.1 28.8-35.1-44.5-42.3-72.1-98.6-78.2-159.5-51.9 5.4-98.1 29.8-131.5 66.2 33.4 15.3 65.5 33.8 95.6 55.1 30.5 21.7 59.2 46.3 85.3 73.3zM301.4 262.8c38.9 44 70.9 93.2 95.3 146.4 36.4-33.5 60.9-79.8 66.2-131.7-47.7-4.7-92.8-22.6-130.8-52-9.6 12.7-20 25.3-30.7 37.3zM235.3 326.2c29.9 39.5 47.5 86.2 51 135.6 33-4.8 63.5-17.4 89.5-35.8-23.4-52.6-54.3-101-92.2-144.2-15.2 15.6-31.4 30.5-48.3 44.4zM214.9 342.3c-32.4 24.4-67.4 45.5-104 62.8 37.5 36.5 88.6 59 145.1 59 1.5 0 3 0 4.5-.1-1.8-25.2-7.6-49.7-17.4-72.9-7.4-17.5-16.8-33.8-28.2-48.8z"/></svg>PK}w�\�o�ii"collection/icon/svg/md-nuclear.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M336 272c0-29.8-16.3-55.7-40.4-69.5l73.1-124.1C335.6 59.1 297.1 48 256 48c-41.2 0-79.9 11.2-113.1 30.6l71.6 125C191.4 217.6 176 243 176 272H32c0 83.3 46.9 153.4 114.4 192l70.1-122.4c11.7 6.6 25.1 10.4 39.5 10.4 14.3 0 27.7-3.8 39.3-10.3L365.6 464C433.1 425.4 480 355.3 480 272H336z"/></svg>PK}w�\�DQPPcollection/icon/svg/md-pie.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M32.6 256H256V32.6c-5-.4-10.6-.6-16-.6-114.9 0-208 93.1-208 208 0 5.4.2 11 .6 16z"/><path d="M109.8 402.2C147.9 449.6 206.4 480 272 480c114.9 0 208-93.1 208-208 0-65.6-30.4-124.1-77.8-162.2C370.5 84.3 331 67.9 288 64.6V288H64.6c3.3 43 19.7 82.5 45.2 114.2z"/></svg>PK}w�\��}��collection/icon/svg/md-walk.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M288 112c22.223 0 39.997-17.776 39.997-40 0-22.225-17.774-40-39.997-40s-40.003 17.775-40.003 40c0 22.224 17.78 40 40.003 40zM288 232h104v-40h-72l-44.802-69.333c-7.698-11.667-18.136-18.136-30.933-18.136-3.198 0-8.828.531-12.799 1.747L120 144v112h40v-80l40.531-16L120 480h40l56.698-164.271L267 384v96h38V352l-57.031-96 19.745-61.864L288 232z"/></svg>PK}w�\�uu"collection/icon/svg/md-contact.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.6 48 48 141.6 48 256s93.6 208 208 208 208-93.6 208-208S370.4 48 256 48zm0 62.4c34.3 0 62.4 28.1 62.4 62.4s-28.1 62.4-62.4 62.4-62.4-28.1-62.4-62.4 28.1-62.4 62.4-62.4zm0 300.4c-52 0-97.8-27-124.8-66.6 1-41.6 83.2-64.5 124.8-64.5s123.8 22.9 124.8 64.5c-27 39.5-72.8 66.6-124.8 66.6z"/></svg>PK}w�\4�C�++#collection/icon/svg/md-calendar.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M368.005 272h-96v96h96v-96zm-32-208v32h-160V64h-48v32h-24.01c-22.002 0-40 17.998-40 40v272c0 22.002 17.998 40 40 40h304.01c22.002 0 40-17.998 40-40V136c0-22.002-17.998-40-40-40h-24V64h-48zm72 344h-304.01V196h304.01v212z"/></svg>PK}w�\�h�)collection/icon/svg/ios-heart-dislike.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M423.8 426.8L56.3 65.1c-5.6-5.5-14.6-5.5-20.1.1-5.5 5.5-5.5 14.5 0 20l367.5 361.7c3.7 3.7 9 4.9 13.7 3.6 2.4-.6 4.6-1.9 6.4-3.7 5.6-5.5 5.6-14.5 0-20zM64 169c0 37 15.2 89.5 46.8 132.7C171 384 272 456 272 456s29.3-20.3 65.7-51.6L68 139c-2.6 9.6-4 19.6-4 30zM434.2 301.7C465.8 258.5 480 206 480 169c0-62.1-50.1-112.4-112-113h-1c-39.7 0-74.8 21-95 52-20.2-31-55.3-52-95-52h-1c-29.2.3-55.8 11.6-75.7 30l281.9 277.4c19.3-19.1 36.2-40 52-61.7z"/></svg>PK}w�\Ss&��"collection/icon/svg/md-shuffle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M222.2 188.1L97.8 64 64 97.8l124.1 124.1 34.1-33.8zM316 64l49 49L64 414.2 97.8 448 399 147l49 49V64H316zm7.9 225.8l-33.8 33.8 75.1 75.1L316 448h132V316l-49 49-75.1-75.2z"/></svg>PK}w�\O�V}FF&collection/icon/svg/logo-bitbucket.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M452.9 64.2c-.7-.1-1.5-.2-2.2-.2H61.5c-7.4-.1-13.4 5.9-13.5 13.5 0 .8 0 1.6.2 2.4l56.6 352.5c.7 4.3 2.9 8.2 6.1 11.1 3.2 2.9 7.4 4.5 11.7 4.5H394c6.6.1 12.3-4.8 13.3-11.5L441 224H316l-16 96h-88l-22.3-126.9h256.2l18-113.1c1.1-7.5-3.8-14.6-11-15.8z"/></svg>PK}w�\����!collection/icon/svg/md-podium.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M32 224h128v192H32zM192 128h128v288H192zM352 288h128v128H352z"/></svg>PK}w�\�cK���(collection/icon/svg/ios-close-circle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zm52.7 283.3L256 278.6l-52.7 52.7c-6.2 6.2-16.4 6.2-22.6 0-3.1-3.1-4.7-7.2-4.7-11.3 0-4.1 1.6-8.2 4.7-11.3l52.7-52.7-52.7-52.7c-3.1-3.1-4.7-7.2-4.7-11.3 0-4.1 1.6-8.2 4.7-11.3 6.2-6.2 16.4-6.2 22.6 0l52.7 52.7 52.7-52.7c6.2-6.2 16.4-6.2 22.6 0 6.2 6.2 6.2 16.4 0 22.6L278.6 256l52.7 52.7c6.2 6.2 6.2 16.4 0 22.6-6.2 6.3-16.4 6.3-22.6 0z"/></svg>PK}w�\7_���$collection/icon/svg/md-ice-cream.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M128.1 256l128 224 128-224zM392 161c3-9 4.7-22.7 4.7-32.9 0-53.1-43-96.1-96.1-96.1-31.4 0-59.2 15-76.8 38.3 0 0-9.1 14-10.8 29l-3.4-1c-2.3-9-3.7-20 1.6-31.5-7.4-2.5-9.4-2.8-17.6-2.8-41.7 0-75.6 33.8-75.6 75.6 0 6.3.8 15.5 2.3 21.4-13.9 3.5-24.3 16.1-24.3 31 0 17.6 14.4 32 32 32h256c17.6 0 32-14.4 32-32 0-14.8-10.2-27.4-24-31z"/></svg>PK}w�\�K�&collection/icon/svg/ios-restaurant.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M384 64c-24.8 0-48 77.3-48 160 0 57 32 80 32 80v128c0 8.8 7.2 16 16 16s16-7.2 16-16V75c0-11-11-11-16-11zM288 64l10 104c0 4.4-3.6 8-8 8s-8-3.6-8-8l-6-104h-8l-6 104c0 4.4-3.6 8-8 8s-8-3.6-8-8l10-104h-8s-24 107.2-24 128 13.4 38.6 32 45.2V432c0 8.8 7.2 16 16 16s16-7.2 16-16V237.2c18.6-6.6 32-24.2 32-45.2S296 64 296 64h-8zM160 64c-26.5 0-48 64-48 128 0 20.8 13.4 38.6 32 45.2V432c0 8.8 7.2 16 16 16s16-7.2 16-16V237.2c18.6-6.6 32-24.2 32-45.2 0-64-21.5-128-48-128z"/></svg>PK}w�\�Ms���&collection/icon/svg/ios-color-wand.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M445.7 405.6L201.3 160.4c-3.1-3.1-8.2-3.1-11.3 0l-28.7 28.8c-3.1 3.1-3.1 8.2 0 11.3l244.4 245.2c3.1 3.1 8.2 3.1 11.3 0l28.6-28.8c3.2-3.1 3.2-8.2.1-11.3zm-25.5 14.3l-.1.1c-3.1 3.1-8.2 3.1-11.3 0L218.9 229.5c-3.1-3.1-3.1-8.2 0-11.3l.1-.1c3.1-3.1 8.2-3.1 11.3 0l189.9 190.5c3.1 3.1 3.1 8.2 0 11.3zM192.8 120.1c6.6 0 12-5.4 12-12V76c0-6.6-5.4-12-12-12s-12 5.4-12 12v32.1c0 6.6 5.4 12 12 12zM192.8 263.3c-6.6 0-12 5.4-12 12v32.1c0 6.6 5.4 12 12 12s12-5.4 12-12v-32.1c0-6.6-5.4-12-12-12zM270.7 190.2c0 6.6 5.4 12 12 12h32c6.6 0 12-5.4 12-12s-5.4-12-12-12h-32c-6.6 0-12 5.4-12 12zM119.9 190.2c0-6.6-5.4-12-12-12H76c-6.6 0-12 5.4-12 12s5.4 12 12 12h32c6.5 0 11.9-5.4 11.9-12zM124.8 141c2.3 2.3 5.3 3.5 8.5 3.5s6.2-1.3 8.5-3.5c4.7-4.7 4.7-12.3 0-17l-20.9-21c-2.3-2.3-5.3-3.5-8.5-3.5s-6.2 1.3-8.5 3.5c-4.7 4.7-4.7 12.3 0 17l20.9 21zM133.3 239.9c-3.2 0-6.2 1.3-8.5 3.5l-20.9 21c-2.3 2.3-3.5 5.3-3.5 8.5s1.2 6.2 3.5 8.5 5.3 3.5 8.5 3.5 6.2-1.3 8.5-3.5l20.9-21c4.7-4.7 4.7-12.3 0-17-2.3-2.2-5.3-3.5-8.5-3.5zM252.4 144.5c3.2 0 6.2-1.3 8.5-3.5l20.9-21c4.7-4.7 4.7-12.3 0-17-2.3-2.3-5.3-3.5-8.5-3.5s-6.2 1.3-8.5 3.5l-20.9 21c-2.3 2.3-3.5 5.3-3.5 8.5s1.2 6.2 3.5 8.5c2.3 2.2 5.3 3.5 8.5 3.5z"/></svg>PK}w�\ƫ��33&collection/icon/svg/ios-cloud-done.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M437.1 229.8C429 154.6 365.4 96 288 96c-51.2 0-96.3 25.6-123.4 64.7-8.3-3.4-17.4-5.3-26.9-5.3-39.1 0-70.8 34.4-71.4 73.4C26.4 241.5 0 280.5 0 321.5 0 371.7 40.7 416 90.9 416h330.3c50.2 0 90.9-44.3 90.9-94.5-.1-44.7-32.4-84.1-75-91.7zm-74.6-17.3L228.8 346.8h-.1c-1.7 1.7-6.3 5.5-11.6 5.5-3.8 0-8.1-2.1-11.7-5.7l-56-56c-1.6-1.6-1.6-4.1 0-5.7l17.8-17.8c.8-.8 1.8-1.2 2.8-1.2 1 0 2 .4 2.8 1.2l44.4 44.4 122-122.9c.8-.8 1.8-1.2 2.8-1.2 1.1 0 2.1.4 2.8 1.2l17.5 18.1c1.8 1.7 1.8 4.2.2 5.8z"/></svg>PK}w�\e+��bb1collection/icon/svg/ios-arrow-dropdown-circle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M48 256c0 114.9 93.1 208 208 208s208-93.1 208-208S370.9 48 256 48 48 141.1 48 256zm289.1-43.4c7.5-7.5 19.8-7.5 27.3 0 3.8 3.8 5.6 8.7 5.6 13.6s-1.9 9.9-5.7 13.7l-94.3 94c-7.6 6.9-19.3 6.7-26.6-.6l-95.7-95.4c-7.5-7.5-7.6-19.7 0-27.3 7.5-7.5 19.7-7.6 27.3 0l81.1 81.9 81-79.9z"/></svg>PK}w�\�Z����!collection/icon/svg/md-funnel.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M208 400h96v-47.994h-96V400zM32 112v47.994h448V112H32zm80 168.783h288v-49.555H112v49.555z"/></svg>PK}w�\���c��collection/icon/svg/md-code.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M190.4 354.1L91.9 256l98.4-98.1-30-29.9L32 256l128.4 128 30-29.9zm131.2 0L420 256l-98.4-98.1 30-29.9L480 256 351.6 384l-30-29.9z"/></svg>PK}w�\N����$collection/icon/svg/ios-pricetag.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M435.2 48H312.3c-3.8 0-7.5 1.5-10.2 4.2L56.4 297.9c-11.2 11.2-11.2 29.5 0 40.7l117 117c11.2 11.2 29.5 11.2 40.7 0L459.7 210c2.7-2.7 4.2-6.4 4.2-10.2v-123C464 60.9 451.1 48 435.2 48zm-47.7 111.8c-20.4 2.2-37.4-14.9-35.3-35.3 1.6-14.8 13.5-26.8 28.3-28.3 20.4-2.2 37.4 14.9 35.3 35.3-1.6 14.8-13.5 26.7-28.3 28.3z"/></svg>PK}w�\<�L��"collection/icon/svg/ios-folder.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M480 119c0-13.3-9.4-23-22.8-23H198.9c-2.8 0-4.3-.6-6.1-2.4l-22.5-22.5-.2-.2c-4.9-4.6-8.9-6.9-17.3-6.9H56.7C42.9 64 32 74.3 32 87v73.7c0 1.6 1.7 1.5 3 .7s5-1.4 7-1.4h428c2 0 5.7.6 7 1.4 1.3.8 3 .9 3-.7V119zM32 416.4c0 17.5 14.2 31.6 31.6 31.6H448c17.6 0 32-14.4 32-32V204c0-8.8-7.2-16-16-16H48c-8.8 0-16 7.2-16 16v212.4z"/></svg>PK}w�\�:8oo$collection/icon/svg/ios-done-all.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M317.5 210.3c1.7-1.8 1.8-4.7 0-6.5l-19.8-21c-.8-.9-2-1.4-3.2-1.4-1.2 0-2.4.5-3.2 1.4l-66.5 69.1 26.4 27.1 66.3-68.7zM123.8 253.1c-.9-.9-2-1.4-3.2-1.4-1.2 0-2.3.5-3.2 1.4l-20.1 20.7c-1.8 1.8-1.8 4.8 0 6.6l63.2 65c4 4.2 9 6.6 13.2 6.6 6 0 11.1-4.5 13.1-6.4l.1-.1 13.4-13.8-76.5-78.6z"/><path d="M414.7 182.4l-19.8-21c-.8-.9-2-1.4-3.2-1.4-1.2 0-2.4.5-3.2 1.4L250.7 304.1l-50.1-51.6c-.9-.9-2-1.4-3.2-1.4-1.2 0-2.3.5-3.2 1.4l-20.1 20.7c-1.8 1.8-1.8 4.8 0 6.6l63.2 65c4 4.2 9 6.6 13.2 6.6 6 0 11.1-4.5 13.1-6.4l.1-.1 151-156.1c1.7-1.7 1.7-4.6 0-6.4z"/></svg>PK}w�\�57�44!collection/icon/svg/md-magnet.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M383.6 98.8C352.1 65.8 308 48.2 256 48c-51.9.2-96 17.8-127.5 50.8C96.8 132 80 178.8 80 234c0 43.5 1.8 69.2 12.9 115.8 0 0 22.7 75.7 35.5 104.1 3.5 7.8 7.4 11.8 15.5 9.3 6.4-2 46.8-17.9 54.7-21.6 7.9-3.6 11.6-8.6 8.9-15.2-3.8-9.2-33.9-95.6-33.9-95.6-8.4-36.3-11.6-53.9-11.6-94.3 0-28.2 9.8-54.1 27.7-72.9 17.5-18.3 41-28.4 66.3-28.4s48.8 10.1 66.3 28.4c17.9 18.8 27.7 44.6 27.7 72.8 0 40-3.2 64-11.7 94.4s-32.2 90.1-33.9 95.6c-1.7 5.6 2.1 12.5 8.9 15.2 6.8 2.7 49.3 19.6 54.7 21.6 5.4 2 10.6.6 14.5-7.7 4-8.3 24.6-61.4 36.5-105.7 12-44.3 13-72.3 13-115.8 0-55.2-16.7-101.9-48.4-135.2zM173.1 419.7l-22.9 9.6c-6.9-16.3-17.2-43.2-25.9-77.2l22-6.5 26.8 74.1zm188.6 9.6l-22.9-9.6c7.2-16.6 19.1-45.1 26.6-74.1l22 6.5c-8.4 33.9-18.7 60.9-25.7 77.2z"/></svg>PK}w�\��� ��!collection/icon/svg/ios-watch.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M440.3 161.3c-15-23.9-36.3-43.3-61.4-56.1-1.9-.9-3.9-1.4-6-1.4-5 0-9.5 2.8-11.8 7.2-1.6 3.1-1.9 6.7-.8 10 1.1 3.3 3.4 6.1 6.6 7.7 20.9 10.7 38.6 26.8 51.1 46.7 12.8 20.4 19.6 44 19.6 68v40.5c0 17.2-3.3 33.4-9.9 48-6.3 14-15.4 26.3-27 36.6-23.2 20.5-55.1 31.9-89.9 31.9-34.4 0-43.6-5.2-52.4-10.2-8.1-4.6-17.3-9.8-37.7-11-31.7-2-56.9-12.4-77.2-31.8-2.5-2.4-5.7-3.7-9.1-3.7-3.6 0-7 1.5-9.5 4.1-2.4 2.5-3.7 5.7-3.7 9.1 0 3.6 1.5 7 4.1 9.5 25 23.9 55.7 36.7 93.8 39.1 14.4.9 19.4 3.7 26.4 7.7 11.3 6.4 24.1 13.6 65.4 13.6 41.6 0 80-13.9 108.1-39.2 14.2-12.8 25.3-28 33-45.2 8-18 12.1-37.6 12.1-58.5v-40.5c-.1-29.1-8.3-57.5-23.8-82.1z"/><path d="M284 383c8.7 1.4 17.2 2.1 25.4 2.1 16 0 31.2-2.7 45-8 13.9-5.4 26.5-13.4 37.5-23.9 5.3-5 5.4-13.4.4-18.6-2.5-2.6-5.9-4.1-9.5-4.1-3.4 0-6.7 1.3-9.1 3.7-17.1 16.3-38.8 24.6-64.5 24.6-6.8 0-13.8-.6-21-1.8-.7-.1-1.4-.2-2.1-.2-6.5 0-12 4.6-13 11-.1.7-.2 1.4-.2 2.1 0 6.6 4.7 12 11.1 13.1zm2.1-21.1h.1-.3.2zM222.9 421.7c-39.9 0-72.8-13.4-102.7-40.3-29.1-26.2-45.8-60.7-45.8-94.5v-43.6c0-24.1 6.8-47.6 19.6-68 12.5-19.9 30.2-36 51.1-46.7 3.1-1.6 5.5-4.3 6.6-7.7 1.1-3.3.8-6.9-.8-10.1-2.3-4.4-6.8-7.2-11.8-7.2-2.1 0-4.1.5-6 1.4-25.1 12.8-46.4 32.2-61.4 56.1-15.5 24.6-23.7 53-23.7 82v43.6c0 41.2 19.9 82.8 54.5 114 34.6 31.2 74 47.1 120.4 47.1 7.3 0 13.2-5.9 13.2-13.2-.1-7-6-12.9-13.2-12.9z"/><g><path d="M348.4 115.1c.8-11.9 10.3-21.6 22.2-22.6 4.3-.4 8.4.4 12 2 2.6 1.1 5.1-1.6 3.9-4.1-2.7-5.7-6.6-10.9-11.5-15.1C366.6 68 355.9 64 344.8 64H167.2c-17.9 0-33.9 10.3-41.5 25.8-1.2 2.5 1.2 5.2 3.9 4.2 3.3-1.3 7-1.8 10.8-1.5 11.9 1 21.4 10.8 22.2 22.7.8 13.6-9.5 25-22.8 25.8-.9.1-1.8.7-2.1 1.5-.4 1.1-.1 2.3.8 3 8.1 6.2 18.1 9.7 28.7 9.7h177.6c10.9 0 21.2-3.6 29.4-10.2 1.7-1.3.7-4-1.4-4h-.1c-14 0-25.2-11.7-24.3-25.9zm-21.6-10.3c3.5 15.8-10.7 30-26.5 26.5-8.4-1.9-15.2-8.6-17-17-3.5-15.8 10.7-30 26.5-26.5 8.4 1.9 15.2 8.6 17 17z"/></g></svg>PK}w�\��//"collection/icon/svg/ios-cloudy.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M236 96c-70 0-127.8 59.7-127.8 130.8 0 4.3.3 8.6.8 12.8-43.2 3.9-77 44-77 88.4 0 47 37.9 88 84.6 88h257.8c58.3 0 105.6-49.4 105.6-108s-47.3-108.8-105.6-108.8c-2.3 0-4.8-.2-7.2-.2-2.1 0-4.2 0-6.1.1C349.3 145.6 306 96 236 96z"/></svg>PK}w�\�6 d<<!collection/icon/svg/ios-timer.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 456c-110.3 0-200-89.7-200-200 0-54.8 21.7-105.9 61.2-144 6.4-6.2 16.6-6 22.7.4 6.2 6.4 6 16.6-.4 22.7-33.1 32-51.3 74.9-51.3 120.9 0 92.5 75.3 167.8 167.8 167.8S423.8 348.5 423.8 256c0-87.1-66.7-159-151.8-167.1v62.6c0 8.9-7.2 16.1-16.1 16.1s-16.1-7.2-16.1-16.1V72.1c0-8.9 7.2-16.1 16.1-16.1 110.3 0 200 89.7 200 200S366.3 456 256 456z"/><path d="M175.9 161.9l99.5 71.5c13.5 9.7 16.7 28.5 7 42s-28.5 16.7-42 7c-2.8-2-5.2-4.4-7-7l-71.5-99.5c-3.2-4.5-2.2-10.8 2.3-14 3.6-2.6 8.3-2.4 11.7 0z"/></svg>PK}w�\a�⮙� collection/icon/svg/md-timer.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M232.9 371.6c0 12.7 10.4 23.1 23.1 23.1s23.1-10.4 23.1-23.1c0-12.7-10.4-23.1-23.1-23.1s-23.1 10.3-23.1 23.1zm0-323.6v92.4h46.2V96.1c78.3 11.3 138.7 78.3 138.7 159.9 0 89.4-72.3 161.8-161.8 161.8S94.2 345.4 94.2 256c0-38.8 13.6-74.4 36.5-102.2L256 279.1l32.6-32.6L131.4 89.4v.5C80.8 127.7 48 187.8 48 256c0 114.9 92.9 208 208 208 114.9 0 208-93.1 208-208S370.9 48 256 48h-23.1zm161.8 208c0-12.7-10.4-23.1-23.1-23.1-12.7 0-23.1 10.4-23.1 23.1s10.4 23.1 23.1 23.1c12.7 0 23.1-10.4 23.1-23.1zm-277.4 0c0 12.7 10.4 23.1 23.1 23.1s23.1-10.4 23.1-23.1-10.4-23.1-23.1-23.1-23.1 10.4-23.1 23.1z"/></svg>PK}w�\��� "collection/icon/svg/logo-apple.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M333.6 153.9c-33.6 0-47.8 16.5-71.2 16.5-24 0-42.3-16.4-71.4-16.4-28.5 0-58.9 17.9-78.2 48.4-27.1 43-22.5 124 21.4 193 15.7 24.7 36.7 52.4 64.2 52.7h.5c23.9 0 31-16.1 63.9-16.3h.5c32.4 0 38.9 16.2 62.7 16.2h.5c27.5-.3 49.6-31 65.3-55.6 11.3-17.7 15.5-26.6 24.2-46.6-63.5-24.8-73.7-117.4-10.9-152.9-19.2-24.7-46.1-39-71.5-39z"/><path d="M326.2 64c-20 1.4-43.3 14.5-57 31.6-12.4 15.5-22.6 38.5-18.6 60.8h1.6c21.3 0 43.1-13.2 55.8-30.1 12.3-16.1 21.6-38.9 18.2-62.3z"/></svg>PK}w�\����zz0collection/icon/svg/ios-close-circle-outline.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M331.3 308.7L278.6 256l52.7-52.7c6.2-6.2 6.2-16.4 0-22.6-6.2-6.2-16.4-6.2-22.6 0L256 233.4l-52.7-52.7c-6.2-6.2-15.6-7.1-22.6 0-7.1 7.1-6 16.6 0 22.6l52.7 52.7-52.7 52.7c-6.7 6.7-6.4 16.3 0 22.6 6.4 6.4 16.4 6.2 22.6 0l52.7-52.7 52.7 52.7c6.2 6.2 16.4 6.2 22.6 0 6.3-6.2 6.3-16.4 0-22.6z"/><path d="M256 76c48.1 0 93.3 18.7 127.3 52.7S436 207.9 436 256s-18.7 93.3-52.7 127.3S304.1 436 256 436c-48.1 0-93.3-18.7-127.3-52.7S76 304.1 76 256s18.7-93.3 52.7-127.3S207.9 76 256 76m0-28C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48z"/></svg>PK}w�\f�_��&collection/icon/svg/logo-wordpress.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M259 271.3L226.2 367h-.1l-25.4 73.1c1.8.5 3.5.9 5.3 1.4h.3c15.8 4.2 32.4 6.5 49.5 6.5 8.5 0 16.8-.5 24.9-1.8 11.2-1.4 22-3.8 32.5-7.1 2.6-.8 5.2-1.7 7.8-2.6-2.8-6-8.8-19.3-9.1-19.9L259 271.3zM80.8 180.5C70.8 203.1 64 230.9 64 256c0 6.3.3 12.6.9 18.8 6.9 71.2 52.9 131 116.1 157.9 2.6 1.1 5.3 2.2 8 3.2L96 180.6c-8-.3-9.5.2-15.2-.1z"/><path d="M430.2 175.4c-4.3-9.3-9.4-18.2-15.1-26.6-1.6-2.4-3.4-4.8-5.1-7.2-21.5-28.8-50.8-51.4-84.9-64.6-21.4-8.4-44.8-13-69.2-13-60.3 0-114.2 28-149.4 71.7-6.5 8-12.3 16.6-17.5 25.6 14.2.1 31.8.1 33.8.1 18.1 0 46-2.2 46-2.2 9.4-.6 10.4 13.1 1.1 14.2 0 0-9.4 1.1-19.8 1.6L213 362l37.8-113.3-26.8-73.6c-9.4-.5-18.1-1.6-18.1-1.6-9.4-.5-8.2-14.8 1-14.2 0 0 28.5 2.2 45.5 2.2 18.1 0 46-2.2 46-2.2 9.3-.6 10.5 13.1 1.1 14.2 0 0-9.3 1.1-19.7 1.6l62.3 185.6 17.3-57.6c8.7-22.4 13.1-40.9 13.1-55.7 0-21.3-7.7-36.1-14.3-47.6-8.7-14.3-16.9-26.3-16.9-40.4 0-15.9 12-30.7 29-30.7h2.2c26.2-.7 34.8 25.3 35.9 43v.6c.4 7.2.1 12.5.1 18.8 0 17.4-3.3 37.1-13.1 61.8l-39 112.8-22.3 65.7c1.8-.8 3.5-1.6 5.3-2.5 56.7-27.4 98-82 106.7-146.7 1.3-8.5 1.9-17.2 1.9-26 0-28.9-6.4-56.3-17.8-80.8z"/></svg>PK}w�\_��&collection/icon/svg/ios-heart-half.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M352 56h-1c-39.7 0-74.8 21-95 52-20.2-31-55.3-52-95-52h-1c-61.9.6-112 50.9-112 113 0 37 16.2 89.5 47.8 132.7C156 384 256 456 256 456s100-72 160.2-154.3C447.8 258.5 464 206 464 169c0-62.1-50.1-112.4-112-113zm41.6 229.2C356.4 336 302.2 383.6 269 410.5c-5.2 4.2-13 .5-13-6.2V198.6c0-26.8 8.5-52.7 23.3-75 .1-.1.1-.2.2-.2 7.7-11.8 18.2-21.6 30.4-28.5 12.6-7.1 26.8-10.8 41.1-10.8h.9c22.5.2 43.7 9.1 59.6 25.1 15.9 16 24.6 37.3 24.6 59.8-.1 29-13.2 76.1-42.5 116.2z"/></svg>PK}w�\H�@)��!collection/icon/svg/ios-close.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M278.6 256l68.2-68.2c6.2-6.2 6.2-16.4 0-22.6-6.2-6.2-16.4-6.2-22.6 0L256 233.4l-68.2-68.2c-6.2-6.2-16.4-6.2-22.6 0-3.1 3.1-4.7 7.2-4.7 11.3 0 4.1 1.6 8.2 4.7 11.3l68.2 68.2-68.2 68.2c-3.1 3.1-4.7 7.2-4.7 11.3 0 4.1 1.6 8.2 4.7 11.3 6.2 6.2 16.4 6.2 22.6 0l68.2-68.2 68.2 68.2c6.2 6.2 16.4 6.2 22.6 0 6.2-6.2 6.2-16.4 0-22.6L278.6 256z"/></svg>PK}w�\-e�C��!collection/icon/svg/md-cloudy.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M123.4 183c.4-.1.8-.1 1.2-.2-.5.1-.8.2-1.2.2z"/><path d="M393.2 219.2C380.5 154.6 323.9 106 256 106c-39.7 0-76 14-100.9 45.4 34.3 2.6 66.1 15.2 90.7 39.8 18.2 18.2 31 40.5 37.4 64.8h-33.5c-15.3-43.7-56-75-105.7-75-6 0-14.3.7-20.6 2C70 194 32 238.4 32 293.5 32 355.6 82.2 406 144 406h242.7c51.5 0 93.3-42 93.3-93.8 0-49.4-38.3-89.6-86.8-93z"/></svg>PK}w�\������collection/icon/svg/md-help.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M289 448h-66v-65h66v65zm-1-98h-64c0-101 96-95.1 96-159 0-35.2-28.8-63.4-64-63.4S192 158 192 192h-64c0-71 57.3-128 128-128s128 56.4 128 127c0 79.9-96 89-96 159z"/></svg>PK}w�\�x�DD+collection/icon/svg/md-arrow-round-back.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M401.4 224h-214l83-79.4c11.9-12.5 11.9-32.7 0-45.2s-31.2-12.5-43.2 0L89 233.4c-6 5.8-9 13.7-9 22.4v.4c0 8.7 3 16.6 9 22.4l138.1 134c12 12.5 31.3 12.5 43.2 0 11.9-12.5 11.9-32.7 0-45.2l-83-79.4h214c16.9 0 30.6-14.3 30.6-32 .1-18-13.6-32-30.5-32z"/></svg>PK}w�\I�a�22(collection/icon/svg/ios-cloud-upload.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M437.1 165.8C429 90.6 365.4 32 288 32c-51.2 0-96.3 25.6-123.4 64.7-8.3-3.4-17.4-5.3-26.9-5.3-39.1 0-70.8 34.4-71.4 73.4C26.4 177.5 0 216.5 0 257.5 0 307.7 40.7 352 90.9 352H243V210.1l-47.9 47.2c-5.1 5-13.3 5-18.4-.1-5-5.1-5-13.3.1-18.4l70-69c1.2-1.1 2.5-2.1 4.1-2.7 1.6-.7 3.3-1 5-1 3.4 0 6.6 1.3 9.1 3.7l70 69c5.1 5 5.2 13.3.1 18.4-5 5.1-13.3 5.2-18.4.1L269 210.1V352h152.1c50.2 0 90.9-44.3 90.9-94.5 0-44.7-32.3-84.1-74.9-91.7zM243 467c0 7.2 5.8 13 13 13s13-5.8 13-13V352h-26v115z"/></svg>PK}w�\̨d��#collection/icon/svg/ios-mic-off.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M369.8 464c-4.9 0-9.7-2.5-12.3-7L129.9 69.3c-4-6.7-1.7-15.4 5.1-19.3 6.8-3.9 15.5-1.7 19.5 5.1l227.6 387.7c4 6.7 1.7 15.4-5.1 19.3-2.3 1.3-4.8 1.9-7.2 1.9zM320 272V112c0-35.2-28.8-64-64-64-28.4 0-52.6 18.8-60.9 44.5L315 296.8c3.2-7.6 5-16 5-24.8zM192 272c0 35.2 28.8 64 64 64 3.9 0 7.6-.4 11.3-1L192 206.6V272zM366 275v-69c0-7.7-6.3-14-14-14s-14 6.3-14 14v69c0 15.2-4.2 29.4-11.4 41.6l15.6 26.6c14.9-18.7 23.8-42.4 23.8-68.2z"/><path d="M256 357c-45.2 0-82-36.8-82-82v-69c0-7.7-6.3-14-14-14s-14 6.3-14 14v69c0 55.9 41.9 102.2 96 109.1V436h-36c-7.7 0-14 6.3-14 14s6.3 14 14 14h100c7.7 0 14-6.3 14-14s-6.3-14-14-14h-36v-51.9c7.9-1 15.6-2.9 22.9-5.5l-14.5-24.8c-7.1 2.1-14.6 3.2-22.4 3.2z"/></svg>PK}w�\��E�� collection/icon/svg/ios-play.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M128 104.3v303.4c0 6.4 6.5 10.4 11.7 7.2l240.5-151.7c5.1-3.2 5.1-11.1 0-14.3L139.7 97.2c-5.2-3.3-11.7.7-11.7 7.1z"/></svg>PK}w�\XG�"collection/icon/svg/md-headset.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C150 48 64 136.2 64 245.1v153.3c0 36.3 28.6 65.7 64 65.7h64V288h-85.3v-42.9c0-84.7 66.8-153.3 149.3-153.3s149.3 68.5 149.3 153.3V288H320v176h64c35.4 0 64-29.3 64-65.7V245.1C448 136.2 362 48 256 48z"/></svg>PK}w�\Bz�__ collection/icon/svg/ios-move.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M475.9 246.2l-79.4-79.4c-5.4-5.4-14.2-5.4-19.6 0l-.2.2c-5.4 5.4-5.4 14.2 0 19.6l54.9 54.9-161.8.5.5-161.8 54.9 54.9c5.4 5.4 14.2 5.4 19.6 0l.2-.2c5.4-5.4 5.4-14.2 0-19.6l-79.4-79.4c-5.4-5.4-14.2-5.4-19.6 0l-79.4 79.4c-5.4 5.4-5.4 14.2 0 19.6l.2.2c5.4 5.4 14.2 5.4 19.6 0l54.9-54.9.5 161.8-161.8-.5 54.9-54.9c5.4-5.4 5.4-14.2 0-19.6l-.2-.2c-5.4-5.4-14.2-5.4-19.6 0l-79.4 79.4c-5.4 5.4-5.4 14.2 0 19.6l79.4 79.4c5.4 5.4 14.2 5.4 19.6 0l.2-.2c5.4-5.4 5.4-14.2 0-19.6L80 270.5l161.8-.5-.5 161.8-54.9-54.9c-5.4-5.4-14.2-5.4-19.6 0l-.2.2c-5.4 5.4-5.4 14.2 0 19.6l79.4 79.4c5.4 5.4 14.2 5.4 19.6 0l79.4-79.4c5.4-5.4 5.4-14.2 0-19.6l-.2-.2c-5.4-5.4-14.2-5.4-19.6 0l-54.9 54.9-.5-161.8 161.8.5-54.9 54.9c-5.4 5.4-5.4 14.2 0 19.6l.2.2c5.4 5.4 14.2 5.4 19.6 0l79.4-79.4c5.5-5.4 5.5-14.2 0-19.6z"/></svg>PK}w�\���"collection/icon/svg/logo-yahoo.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M384.6 68.4c-11.3 0-22.5-.8-32.6-4.4l-96 160-96-160c-10.1 3.6-20.7 4.4-32 4.4-11.1 0-22.1-.9-32-4.4l128 212.7V448c10-3.5 20.8-4.4 32-4.4s22 .9 32 4.4V277L416 64c-9.9 3.4-20.3 4.4-31.4 4.4z"/></svg>PK}w�\�&���%collection/icon/svg/ios-stopwatch.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M415.9 143.7c3.1 3.1 8.2 3.1 11.3 0l11.3-11.3c3.1-3.1 3.1-8.2 0-11.3L413 95.6c-3.1-3.1-8.2-3.1-11.3 0l-11.3 11.3c-3.1 3.1-3.1 8.2 0 11.3l25.5 25.5zM84.8 143.7c3.1 3.1 8.2 3.1 11.3 0l25.5-25.5c3.1-3.1 3.1-8.2 0-11.3l-11.3-11.3c-3.1-3.1-8.2-3.1-11.3 0L73.5 121c-3.1 3.1-3.1 8.2 0 11.3l11.3 11.4z"/><path d="M280 81.5V64c0-8.8-7.2-16-16-16h-16c-8.8 0-16 7.2-16 16v17.5C137.3 93.3 64 174.1 64 272c0 106 86 192 192 192s192-86 192-192c0-97.9-73.3-178.7-168-190.5zm-10 219.3V320c0 7.7-6.3 14-14 14s-14-6.3-14-14v-19.2c-10.7-5.2-18-16.1-18-28.8s7.3-23.6 18-28.8V144c0-7.7 6.3-14 14-14s14 6.3 14 14v99.2c10.7 5.2 18 16.1 18 28.8s-7.3 23.6-18 28.8z"/></svg>PK}w�\��K��(collection/icon/svg/md-cloud-outline.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M403.001 217.001C388.997 148.002 328.998 96 256 96c-57.998 0-107.999 32.998-132.997 81C63.002 183.002 16 233.998 16 296c0 65.996 54.004 120 120 120h260c55 0 100-45 100-100.001 0-52.997-40.997-95.999-92.999-98.998zM396 376H136c-44.004 0-80-35.996-80-80 0-44 35.996-80 80-80h14.004c12.998-46 55-80 105.996-80 60.996 0 110 49 110 110v10h30c32.998 0 60 27.003 60 60 0 32.998-27.002 60-60 60z"/></svg>PK}w�\5?�2��$collection/icon/svg/logo-octocat.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M178.4 287.5c-9.1 0-16.9 4.2-23.2 12.8-6.3 8.5-9.4 19-9.4 31.4 0 12.5 3.2 23 9.4 31.5 6.3 8.5 14 12.8 23.2 12.8 8.5 0 15.9-4.3 22.1-12.8 6.3-8.5 9.4-19 9.4-31.5 0-12.4-3.2-22.9-9.4-31.4-6.3-8.6-13.6-12.8-22.1-12.8zM334.7 287.5c-9 0-16.9 4.2-23.2 12.8-6.3 8.5-9.4 19-9.4 31.4 0 12.5 3.2 23 9.4 31.5 6.3 8.5 14.1 12.8 23.2 12.8 8.5 0 15.9-4.3 22.2-12.8 6.3-8.5 9.4-19 9.4-31.5 0-12.4-3.2-22.9-9.4-31.4-6.3-8.6-13.6-12.8-22.2-12.8z"/><path d="M445.8 172c-.1 0 2.7-14.3.3-39.2-2.2-24.9-7.5-47.8-16.1-68.8 0 0-4.4.8-12.8 2.9s-22.1 6.3-40.9 14.8c-18.5 8.5-38 19.8-58.3 33.5-13.8-3.9-34.4-5.9-62-5.9-26.3 0-46.9 2-62 5.9-44.6-30.9-81.9-48-112.1-51.2-8.6 21-13.9 44-16 69-2.4 24.9.4 39.3.4 39.3C42 198.6 32 236.5 32 267.8c0 24.2.7 46.1 6.1 65.5 5.6 19.3 12.7 35.1 21.1 47.2 8.6 12.1 19 22.8 31.6 31.9 12.5 9.3 24 16 34.4 20.2 10.5 4.4 22.4 7.6 36 9.9 13.3 2.4 23.4 3.6 30.5 4 0 0 28 1.5 64.4 1.5s64.3-1.5 64.3-1.5c7-.4 17.1-1.6 30.5-4 13.5-2.3 25.5-5.6 35.9-9.9 10.4-4.3 21.9-10.9 34.5-20.2 12.5-9 22.9-19.7 31.5-31.9 8.4-12.1 15.5-27.9 21.1-47.2 5.5-19.4 6.1-41.4 6.1-65.6 0-30.3-10-68.7-34.2-95.7zm-65.4 233.6c-27.9 13.1-68.9 18.4-123.3 18.4H255c-54.4 0-95.4-5.2-122.8-18.4-27.5-13.1-41.3-40.1-41.3-80.7 0-24.3 8.6-44 25.5-59.1 7.4-6.5 16.4-11 27.6-13.7 11.1-2.6 21.4-2.8 31-2.5 9.4.4 22.6 2.2 39.3 3.5 16.8 1.3 29.3 3 41.8 3 11.7 0 27.2-2 52.1-4 25-2 43.5-3 55.5-1 12.3 2 23 6.2 32.1 14.7 17.7 15.8 26.6 35.5 26.6 59.1-.1 40.6-14.2 67.6-42 80.7z"/></svg>PK}w�\wЬ�&&!collection/icon/svg/ios-pause.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M199.9 416h-63.8c-4.5 0-8.1-3.6-8.1-8V104c0-4.4 3.6-8 8.1-8h63.8c4.5 0 8.1 3.6 8.1 8v304c0 4.4-3.6 8-8.1 8zM375.9 416h-63.8c-4.5 0-8.1-3.6-8.1-8V104c0-4.4 3.6-8 8.1-8h63.8c4.5 0 8.1 3.6 8.1 8v304c0 4.4-3.6 8-8.1 8z"/></svg>PK}w�\�E���$collection/icon/svg/ios-bookmark.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M128 80v380c0 3.3 3.8 5.2 6.4 3.2l116.8-92c2.9-2.1 6.8-2.1 9.6 0l116.8 92c2.6 2 6.4.1 6.4-3.2V80c0-17.7-14.3-32-32-32H160c-17.7 0-32 14.3-32 32z"/></svg>PK}w�\;QG̩�"collection/icon/svg/ios-resize.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M418.3 80H307.8c-7.5 0-13.7 6.1-13.7 13.7v.2c0 7.5 6.1 13.7 13.7 13.7h76.5L107.6 384.3v-76.5c0-7.5-6.1-13.7-13.7-13.7h-.2c-7.5 0-13.7 6.1-13.7 13.7v110.5c0 7.5 6.1 13.7 13.7 13.7h110.5c7.5 0 13.7-6.1 13.7-13.7v-.2c0-7.5-6.1-13.7-13.7-13.7h-76.5l276.7-276.7v76.5c0 7.5 6.1 13.7 13.7 13.7h.2c7.5 0 13.7-6.1 13.7-13.7V93.7c0-7.6-6.1-13.7-13.7-13.7z"/></svg>PK}w�\�s'�EEcollection/icon/svg/md-pin.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 32c-88.004 0-160 70.557-160 156.801C96 306.4 256 480 256 480s160-173.6 160-291.199C416 102.557 344.004 32 256 32zm0 212.801c-31.996 0-57.144-24.645-57.144-56 0-31.357 25.147-56 57.144-56s57.144 24.643 57.144 56c0 31.355-25.148 56-57.144 56z"/></svg>PK}w�\�oi#collection/icon/svg/md-infinite.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M434.7 188c-18.8-18-43.8-28-70.5-28-26.6 0-51.6 9.9-70.4 27.9l-17.6 15.9 33.1 32.1 17-15.4.1-.1c10.1-9.6 23.5-15 37.7-15 14.2 0 27.6 5.3 37.7 14.9 10 9.6 15.4 22.3 15.4 35.8 0 13.5-5.5 26.1-15.4 35.6-10.1 9.6-23.5 15-37.7 15s-27.6-5.3-37.7-14.9L218.2 188c-18.9-18-43.9-28-70.4-28-26.7 0-51.7 9.9-70.5 28C58.4 206.1 48 230.2 48 256c0 25.7 10.4 49.9 29.3 68 18.8 18 43.8 28 70.5 28 26.7 0 51.7-9.9 70.4-28l37.8-36.1 37.7 36.1c18.9 18 43.9 28 70.4 28 26.7 0 51.7-9.9 70.4-27.9 19-18.1 29.4-42.2 29.4-68 .1-25.8-10.3-50-29.2-68.1zM185.5 291.7c-10.1 9.6-23.5 15-37.7 15-14.2 0-27.6-5.3-37.7-14.9-10-9.6-15.4-22.3-15.4-35.8 0-13.5 5.5-26.1 15.4-35.6 10.1-9.6 23.5-15 37.7-15 14.2 0 27.6 5.3 37.7 14.9l37.4 35.8-37.4 35.6z"/></svg>PK}w�\[�EY>>!collection/icon/svg/logo-xing.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M313.8 303.9L469 32H365L209.4 303.8c-.4.7-.4 1.1 0 1.7l98.9 173.8c.4.7.8.7 1.6.7H413l-99.3-174.7c-.2-.3-.1-1 .1-1.4zM221.9 216.2L163 113c-.5-.8-1-1-2-1H65l58.9 104.4c.1.2.2.6.1.8L43 352h96.8c.8 0 1.2-.2 1.6-.9l80.5-133.7c.1-.3.1-.9 0-1.2z"/></svg>PK}w�\o��\��collection/icon/svg/md-cube.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M467.3 168.1c-1.8 0-3.5.3-5.1 1l-177.6 92.1h-.1c-7.6 4.7-12.5 12.5-12.5 21.4v185.9c0 6.4 5.6 11.5 12.7 11.5 2.2 0 4.3-.5 6.1-1.4.2-.1.4-.2.5-.3L466 385.6l.3-.1c8.2-4.5 13.7-12.7 13.7-22.1V179.6c0-6.4-5.7-11.5-12.7-11.5zM454.3 118.5L272.6 36.8S261.9 32 256 32c-5.9 0-16.5 4.8-16.5 4.8L57.6 118.5s-8 3.3-8 9.5c0 6.6 8.3 11.5 8.3 11.5l185.5 97.8c3.8 1.7 8.1 2.6 12.6 2.6 4.6 0 8.9-1 12.7-2.7l185.4-97.9s7.5-4 7.5-11.5c.1-6.3-7.3-9.3-7.3-9.3zM227.5 261.2L49.8 169c-1.5-.6-3.3-1-5.1-1-7 0-12.7 5.1-12.7 11.5v183.8c0 9.4 5.5 17.6 13.7 22.1l.2.1 174.7 92.7c1.9 1.1 4.2 1.7 6.6 1.7 7 0 12.7-5.2 12.7-11.5V282.6c.1-8.9-4.9-16.8-12.4-21.4z"/></svg>PK}w�\kF8�ff#collection/icon/svg/md-cellular.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M64 448h384V64L64 448z"/></svg>PK}w�\z3P'��collection/icon/svg/md-wifi.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 228.719c-22.879 0-41.597 18.529-41.597 41.18 0 22.652 18.718 41.182 41.597 41.182 22.878 0 41.597-18.529 41.597-41.182 0-22.651-18.719-41.18-41.597-41.18zm124.8 41.179c0-67.946-56.163-123.539-124.8-123.539s-124.8 55.593-124.8 123.539c0 45.303 24.961 85.447 62.396 107.072l20.807-36.032c-24.972-14.417-41.604-40.153-41.604-71.04 0-45.295 37.433-82.358 83.201-82.358 45.771 0 83.201 37.063 83.201 82.358 0 30.887-16.633 56.623-41.604 71.04l20.807 36.032c37.433-21.624 62.396-61.769 62.396-107.072zM256 64C141.597 64 48 156.654 48 269.898 48 346.085 89.592 411.968 152 448l20.799-36.032c-49.919-28.824-83.207-81.324-83.207-142.069 0-90.593 74.891-164.718 166.408-164.718 91.517 0 166.406 74.125 166.406 164.718 0 60.745-33.284 114.271-83.205 142.069L360 448c62.406-36.032 104-101.915 104-178.102C464 156.654 370.403 64 256 64z"/></svg>PK}w�\7<.ҳ�#collection/icon/svg/md-arrow-up.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M277.375 427V167.296l119.702 119.702L427 256 256 85 85 256l29.924 29.922 119.701-118.626V427h42.75z"/></svg>PK}w�\j��== collection/icon/svg/md-build.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M474.1 398.2L289.1 212c18.3-47 8.1-102.3-30.5-141.1C217.9 30 156.9 21.8 108.1 44.3l87.4 88-61 61.4-89.5-88c-24.3 49-14.1 110.4 26.5 151.3 38.6 38.9 93.5 49.1 140.3 30.7l185 186.2c8.1 8.2 20.3 8.2 28.5 0l46.8-47c10.2-8.3 10.2-22.6 2-28.7z"/></svg>PK}w�\"˫�[["collection/icon/svg/ios-camera.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><circle cx="256" cy="275" r="57.5"/><path d="M417.5 160H363c-4.6 0-8.9-2-12-5.4-28.4-31.8-39.1-42.6-50.7-42.6h-85.5c-11.7 0-23.2 10.8-51.7 42.7-3 3.4-7.4 5.3-11.9 5.3h-4.1v-8c0-4.4-3.6-8-8-8h-26c-4.4 0-8 3.6-8 8v8h-7.5C79.9 160 64 173.2 64 190.7v176c0 17.5 15.9 33.3 33.5 33.3h320c17.6 0 30.5-15.8 30.5-33.3v-176c0-17.5-12.9-30.7-30.5-30.7zM260 360.4c-50.3 2.3-91.7-39.1-89.4-89.4 2-43.9 37.5-79.4 81.4-81.4 50.3-2.3 91.7 39.1 89.4 89.4-2 43.9-37.5 79.4-81.4 81.4zM352 218c-7.2 0-13-5.8-13-13s5.8-13 13-13 13 5.8 13 13-5.8 13-13 13z"/></svg>PK}w�\�z(�� collection/icon/svg/ios-mail.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M460.6 147.3L353 256.9c-.8.8-.8 2 0 2.8l75.3 80.2c5.1 5.1 5.1 13.3 0 18.4-2.5 2.5-5.9 3.8-9.2 3.8s-6.7-1.3-9.2-3.8l-75-79.9c-.8-.8-2.1-.8-2.9 0L313.7 297c-15.3 15.5-35.6 24.1-57.4 24.2-22.1.1-43.1-9.2-58.6-24.9l-17.6-17.9c-.8-.8-2.1-.8-2.9 0l-75 79.9c-2.5 2.5-5.9 3.8-9.2 3.8s-6.7-1.3-9.2-3.8c-5.1-5.1-5.1-13.3 0-18.4l75.3-80.2c.7-.8.7-2 0-2.8L51.4 147.3c-1.3-1.3-3.4-.4-3.4 1.4V368c0 17.6 14.4 32 32 32h352c17.6 0 32-14.4 32-32V148.7c0-1.8-2.2-2.6-3.4-1.4z"/><path d="M256 295.1c14.8 0 28.7-5.8 39.1-16.4L452 119c-5.5-4.4-12.3-7-19.8-7H79.9c-7.5 0-14.4 2.6-19.8 7L217 278.7c10.3 10.5 24.2 16.4 39 16.4z"/></svg>PK}w�\�d)N"".collection/icon/svg/ios-information-circle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zm19 304h-38.2V207.9H275V352zm-19.1-159.8c-11.3 0-20.5-8.6-20.5-20s9.3-19.9 20.5-19.9c11.4 0 20.7 8.5 20.7 19.9s-9.3 20-20.7 20z"/></svg>PK}w�\J�&collection/icon/svg/logo-pinterest.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 32C132.3 32 32 132.3 32 256c0 91.7 55.2 170.5 134.1 205.2-.6-15.6-.1-34.4 3.9-51.4 4.3-18.2 28.8-122.1 28.8-122.1s-7.2-14.3-7.2-35.4c0-33.2 19.2-58 43.2-58 20.4 0 30.2 15.3 30.2 33.6 0 20.5-13.1 51.1-19.8 79.5-5.6 23.8 11.9 43.1 35.4 43.1 42.4 0 71-54.5 71-119.1 0-49.1-33.1-85.8-93.2-85.8-67.9 0-110.3 50.7-110.3 107.3 0 19.5 5.8 33.3 14.8 43.9 4.1 4.9 4.7 6.9 3.2 12.5-1.1 4.1-3.5 14-4.6 18-1.5 5.7-6.1 7.7-11.2 5.6-31.3-12.8-45.9-47-45.9-85.6 0-63.6 53.7-139.9 160.1-139.9 85.5 0 141.8 61.9 141.8 128.3 0 87.9-48.9 153.5-120.9 153.5-24.2 0-46.9-13.1-54.7-27.9 0 0-13 51.6-15.8 61.6-4.7 17.3-14 34.5-22.5 48 20.1 5.9 41.4 9.2 63.5 9.2 123.7 0 224-100.3 224-224C480 132.3 379.7 32 256 32z"/></svg>PK}w�\�&�6PP/collection/icon/svg/ios-arrow-round-forward.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M295.6 163.7c-5.1 5-5.1 13.3-.1 18.4l60.8 60.9H124.9c-7.1 0-12.9 5.8-12.9 13s5.8 13 12.9 13h231.3l-60.8 60.9c-5 5.1-4.9 13.3.1 18.4 5.1 5 13.2 5 18.3-.1l82.4-83c1.1-1.2 2-2.5 2.7-4.1.7-1.6 1-3.3 1-5 0-3.4-1.3-6.6-3.7-9.1l-82.4-83c-4.9-5.2-13.1-5.3-18.2-.3z"/></svg>PK}w�\f[����collection/icon/svg/md-bug.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M448 160h-67.4c-10.8-18.7-25.7-34.8-43.7-47L376 73.8 342.2 40l-52.1 52.1C279 89.4 267.8 88 256 88s-23 1.4-33.8 4.1L169.8 40 136 73.8l38.9 39.1c-17.8 12.2-32.6 28.3-43.4 47H64v48h50.2c-1.2 7.9-2.2 15.8-2.2 24v24H64v48h48v24c0 8.2 1 16.1 2.2 24H64v48h67.4c25 43 71.3 72 124.6 72s99.6-29 124.6-72H448v-48h-50.2c1.2-7.9 2.2-15.8 2.2-24v-24h48v-48h-48v-24c0-8.2-1-16.1-2.2-24H448V160z"/></svg>PK}w�\HT ���collection/icon/svg/md-redo.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M32 337.2L83.8 352c22.9-69.7 88.7-117.8 166-117.8 42.8 0 81.5 15.7 111.8 41.1L282.5 352H480V160l-79.6 76.3c-40.4-35.2-92.8-56.8-150.7-56.8-101.5.1-187.3 66.2-217.7 157.7z"/></svg>PK}w�\�Ȓ��'collection/icon/svg/ios-speedometer.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 64C132.3 64 32 164.2 32 287.9c0 57 21.3 109 56.3 148.5 1.1 1.2 2.1 2.4 3.2 3.5C96.3 445 103 448 110 448c7.1 0 13.8-3 18.6-8.2 31.6-34.4 77-55.9 127.4-55.9s95.8 21.6 127.4 55.9c4.8 5.2 11.5 8.2 18.6 8.2 7 0 13.7-2.9 18.5-8.1 1.1-1.2 2.1-2.3 3.2-3.5 35-39.5 56.3-91.5 56.3-148.5C480 164.2 379.7 64 256 64zm-14 45.9c0-7.7 6.3-14 14-14s14 6.3 14 14v36c0 7.7-6.3 14-14 14s-14-6.3-14-14v-36zm-128 192H78c-7.7 0-14-6.3-14-14s6.3-14 14-14h36c7.7 0 14 6.3 14 14s-6.3 14-14 14zm51.5-104.5c-5.4 5.4-14.4 5.4-19.8 0L120.2 172c-5.4-5.4-5.4-14.4 0-19.8s14.4-5.4 19.8 0l25.5 25.5c5.4 5.4 5.4 14.3 0 19.7zm160.6 34.5l-47.5 75.5c-1.9 2.6-4.3 5.1-7 7-13.5 9.7-32.3 6.5-42-7s-6.5-32.3 7-42l75.5-47.5c3.4-2.4 8.1-2.5 11.7 0 4.5 3.2 5.5 9.5 2.3 14zm40.2-34.5c-5.4 5.4-14.4 5.4-19.8 0s-5.4-14.4 0-19.8l25.5-25.5c5.4-5.4 14.4-5.4 19.8 0s5.4 14.4 0 19.8l-25.5 25.5zM434 301.9h-36c-7.7 0-14-6.3-14-14s6.3-14 14-14h36c7.7 0 14 6.3 14 14s-6.3 14-14 14z"/></svg>PK}w�\��,���!collection/icon/svg/md-resize.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M297.6 48l64.9 64.9-249.6 249.6L48 297.6V464h166.4l-64.9-64.9 249.6-249.6 64.9 64.9V48z"/></svg>PK}w�\P��(((collection/icon/svg/md-code-download.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M234.6 160v125.7l-44.7-43.6L160 272l96 96 96-96-29.9-31-44.7 44.7V160h-42.8z"/><path d="M190.4 354.1L91.9 256l98.4-98.1-30-29.9L32 256l128.4 128 30-29.9zm131.2 0L420 256l-98.4-98.1 30-29.9L480 256 351.6 384l-30-29.9z"/></svg>PK}w�\)��� collection/icon/svg/md-sunny.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M277.3 32h-42.7v64h42.7V32zm129.1 43.7L368 114.1l29.9 29.9 38.4-38.4-29.9-29.9zm-300.8 0l-29.9 29.9 38.4 38.4 29.9-29.9-38.4-38.4zM256 128c-70.4 0-128 57.6-128 128s57.6 128 128 128 128-57.6 128-128-57.6-128-128-128zm224 106.7h-64v42.7h64v-42.7zm-384 0H32v42.7h64v-42.7zM397.9 368L368 397.9l38.4 38.4 29.9-29.9-38.4-38.4zm-283.8 0l-38.4 38.4 29.9 29.9 38.4-38.4-29.9-29.9zm163.2 48h-42.7v64h42.7v-64z"/></svg>PK}w�\}l���&collection/icon/svg/md-git-compare.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M192 382h-22c-24.6 0-29-3.6-33.8-9.6-5.5-6.9-8.2-19.1-8.2-54.2V151.4c19.1-11.1 32-31.7 32-55.4 0-35.3-28.7-64-64-64S32 60.7 32 96c0 23.7 12.9 44.3 32 55.4v166.8c0 46.4 3.7 70.8 22.1 94 19.9 25.1 45 35.8 83.9 35.8h22v64l96-96-96-96v62zM96 56c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40zM448 360.6V190.8c0-46.4-3.7-70.8-22.1-94C406 71.7 380.9 62 342 62h-22V0l-96 96 96 96v-64h22c24.6 0 29 2.6 33.8 8.6 5.5 6.9 8.2 19.1 8.2 54.2v169.8c-19.1 11.1-32 31.7-32 55.4 0 35.3 28.7 64 64 64s64-28.7 64-64c0-23.7-12.9-44.3-32-55.4zM416 456c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40z"/></svg>PK}w�\��X�gg collection/icon/svg/ios-gift.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M432 136h-84.3c12.4-11 20.3-26.6 20.3-44 0-33.1-28.3-60-63.1-60-20.6 0-37.9 9.7-48.9 27.4C245 41.7 227.7 32 207.1 32 172.3 32 144 58.9 144 92c0 17.4 7.8 33 20.3 44H80c-17.7 0-32 14.3-32 32v20c0 2.2 1.8 4 4 4h408c2.2 0 4-1.8 4-4v-20c0-17.7-14.3-32-32-32zM304.9 60c18.6 0 33.7 14.3 33.7 32s-15.1 32-33.7 32h-33.7c0-48 15.1-64 33.7-64zm-97.8 0c18.6 0 33.7 16 33.7 64h-33.7c-18.6 0-33.7-14.3-33.7-32s15.1-32 33.7-32zM64 226v222c0 17.6 14.4 32 32 32h146V218H72c-4.4 0-8 3.6-8 8zM440 218H270v262h146c17.6 0 32-14.4 32-32V226c0-4.4-3.6-8-8-8z"/></svg>PK}w�\L��k��$collection/icon/svg/ios-navigate.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zm0 336V256H128.3L352 160l-96 224z"/></svg>PK}w�\-�VFll!collection/icon/svg/md-locate.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 176c-44.004 0-80.001 36-80.001 80 0 44.004 35.997 80 80.001 80 44.005 0 79.999-35.996 79.999-80 0-44-35.994-80-79.999-80zm190.938 58.667c-9.605-88.531-81.074-160-169.605-169.599V32h-42.666v33.067c-88.531 9.599-160 81.068-169.604 169.599H32v42.667h33.062c9.604 88.531 81.072 160 169.604 169.604V480h42.666v-33.062c88.531-9.604 160-81.073 169.605-169.604H480v-42.667h-33.062zM256 405.333c-82.137 0-149.334-67.198-149.334-149.333 0-82.136 67.197-149.333 149.334-149.333 82.135 0 149.332 67.198 149.332 149.333S338.135 405.333 256 405.333z"/></svg>PK}w�\����#collection/icon/svg/md-document.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M288 48H136c-22.092 0-40 17.908-40 40v336c0 22.092 17.908 40 40 40h240c22.092 0 40-17.908 40-40V176L288 48zm-16 144V80l112 112H272z"/></svg>PK}w�\7���+++collection/icon/svg/md-radio-button-off.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.601 48 48 141.601 48 256s93.601 208 208 208 208-93.601 208-208S370.399 48 256 48zm0 374.399c-91.518 0-166.399-74.882-166.399-166.399S164.482 89.6 256 89.6 422.4 164.482 422.4 256 347.518 422.399 256 422.399z"/></svg>PK}w�\� �Q��'collection/icon/svg/logo-foursquare.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M376.764 32H138.541C105.666 32 96 56.798 96 72.414v379.64c0 17.591 9.425 24.117 14.718 26.267 5.299 2.155 19.916 3.971 28.673-6.168 0 0 112.469-130.895 114.4-132.834 2.921-2.93 2.921-2.93 5.844-2.93h72.767c30.574 0 35.49-21.869 38.684-34.752 2.659-10.789 32.489-163.962 42.452-212.559C421.143 51.993 411.745 32 376.764 32zm-5.678 269.637c2.659-10.789 32.489-163.962 42.452-212.559m-50.846 7.592l-9.999 51.734c-1.195 5.65-8.287 11.595-14.863 11.595h-95.917C231.473 160 224 166.138 224 176.602v13.448c0 10.473 7.519 17.894 17.965 17.894h81.848c7.374 0 14.61 8.109 13.016 16.005-1.602 7.908-9.086 46.569-9.984 50.89-.902 4.328-5.845 11.725-14.611 11.725h-64.269c-11.705 0-15.244 1.533-23.074 11.293-7.837 9.77-78.256 94.592-78.256 94.592-.713.822-1.41.584-1.41-.312V95.896c0-6.684 5.793-14.523 14.479-14.523h191.173c7.035-.001 13.611 6.631 11.815 15.297z"/></svg>PK}w�\�$����!collection/icon/svg/md-expand.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M396.795 396.8H320V448h128V320h-51.205zM396.8 115.205V192H448V64H320v51.205zM115.205 115.2H192V64H64v128h51.205zM115.2 396.795V320H64v128h128v-51.205z"/></svg>PK}w�\xr ��3collection/icon/svg/md-checkmark-circle-outline.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M170.718 216.482L141.6 245.6l93.6 93.6 208-208-29.118-29.118L235.2 279.918l-64.482-63.436zM422.4 256c0 91.518-74.883 166.4-166.4 166.4S89.6 347.518 89.6 256 164.482 89.6 256 89.6c15.6 0 31.2 2.082 45.764 6.241L334 63.6C310.082 53.2 284.082 48 256 48 141.6 48 48 141.6 48 256s93.6 208 208 208 208-93.6 208-208h-41.6z"/></svg>PK}w�\�ՈF��1collection/icon/svg/ios-notifications-outline.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M289.7 403c-6.1 0-11.4 4.2-12.7 10.2-1 4.5-2.7 8.2-5 10.9-1.3 1.5-5.1 5.9-16.1 5.9-11 0-14.8-4.5-16.1-5.9-2.3-2.7-4-6.4-5-10.9-1.3-6-6.6-10.2-12.7-10.2-8.4 0-14.5 7.8-12.7 15.9 5 22.3 21 37.1 46.5 37.1s41.5-14.7 46.5-37.1c1.8-8.1-4.4-15.9-12.7-15.9zM412 352.2c-15.4-20.3-45.7-32.2-45.7-123.1 0-93.3-41.2-130.8-79.6-139.8-3.6-.9-6.2-2.1-6.2-5.9v-2.9c0-13.3-10.8-24.6-24-24.6h-.6c-13.2 0-24 11.3-24 24.6v2.9c0 3.7-2.6 5-6.2 5.9-38.5 9.1-79.6 46.5-79.6 139.8 0 90.9-30.3 102.7-45.7 123.1-9.9 13.1-.5 31.8 15.9 31.8h280.1c16.1 0 25.4-18.8 15.6-31.8zm-39 5.8H139.8c-3.8 0-5.8-4.4-3.3-7.3 7-8 14.7-18.5 21-33.4 9.6-22.6 14.3-51.5 14.3-88.2 0-37.3 7-66.5 20.9-86.8 12.4-18.2 27.9-25.1 38.7-27.6 8.4-2 14.4-5.8 18.6-10.5 3.2-3.6 8.7-3.8 11.9-.2 5.1 5.7 12 9.1 18.8 10.7 10.8 2.5 26.3 9.4 38.7 27.6 13.9 20.3 20.9 49.5 20.9 86.8 0 36.7 4.7 65.6 14.3 88.2 6.5 15.2 14.4 25.9 21.5 33.9 2.2 2.7.4 6.8-3.1 6.8z"/></svg>PK}w�\{��F�� collection/icon/svg/ios-rose.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M416 141.1c-18.9 3.9-36.8 8.2-53.7 12.8-40.5 11-75.5 24.9-105.4 38.2-19.3 8.6-26.2 12.4-51.5 25.9C147 248.9 112 289 112 349c0 67.8 55.6 115 144 115s144-51.2 144-119c0-67.7-61-114.7 16-203.9zM135.4 241.8c12.8-10.5 31.2-23.9 56.1-38.4 6.4-3.8 13.3-7.6 20.6-11.4 11.6-6.1 23.5-11.9 35.8-17.4-9.1-10.1-22.1-19.1-36.6-27C162.6 121.1 96 107.4 96 107.4c41.5 43.7 44.6 96.5 39.4 134.4zM352 77.7s-73.8-.9-125.8 55c0 0 27.7 17.3 42.7 32.3 37.2-15.6 82.3-28.6 115.2-36-6.5-21.7-32.1-51.3-32.1-51.3zM239.7 97C210.3 59.5 176 48 176 48c-15.3 20.8-24.3 38-29 51.7 21.1 5.9 36.5 12.3 62.4 24.7 9.5-10.6 18.1-19.1 30.3-27.4z"/></svg>PK}w�\�����collection/icon/svg/md-body.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48c22 0 40 18 40 40s-18 40-40 40-40-18-40-40 18-40 40-40zm192 144.1H320V464h-42.7V320h-42.7v144H192V192.1H64v-42.7h384v42.7z"/></svg>PK}w�\��0�XX%collection/icon/svg/logo-whatsapp.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M260.062 32C138.605 32 40.134 129.701 40.134 250.232c0 41.23 11.532 79.79 31.559 112.687L32 480l121.764-38.682c31.508 17.285 67.745 27.146 106.298 27.146C381.535 468.464 480 370.749 480 250.232 480 129.701 381.535 32 260.062 32zm109.362 301.11c-5.174 12.827-28.574 24.533-38.899 25.072-10.314.547-10.608 7.994-66.84-16.434-56.225-24.434-90.052-83.844-92.719-87.67-2.669-3.812-21.78-31.047-20.749-58.455 1.038-27.413 16.047-40.346 21.404-45.725 5.351-5.387 11.486-6.352 15.232-6.413 4.428-.072 7.296-.132 10.573-.011 3.274.124 8.192-.685 12.45 10.639 4.256 11.323 14.443 39.153 15.746 41.989 1.302 2.839 2.108 6.126.102 9.771-2.012 3.653-3.042 5.935-5.961 9.083-2.935 3.148-6.174 7.042-8.792 9.449-2.92 2.665-5.97 5.572-2.9 11.269 3.068 5.693 13.653 24.356 29.779 39.736 20.725 19.771 38.598 26.329 44.098 29.317 5.515 3.004 8.806 2.67 12.226-.929 3.404-3.599 14.639-15.746 18.596-21.169 3.955-5.438 7.661-4.373 12.742-2.329 5.078 2.052 32.157 16.556 37.673 19.551 5.51 2.989 9.193 4.529 10.51 6.9 1.317 2.38.901 13.531-4.271 26.359z"/></svg>PK}w�\�(<�kk#collection/icon/svg/logo-chrome.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M188.8 255.925c0 36.946 30.243 67.178 67.2 67.178s67.199-30.231 67.199-67.178c0-36.945-30.242-67.179-67.199-67.179s-67.2 30.234-67.2 67.179z"/><path d="M476.752 217.795c-.009.005-.016.038-.024.042-1.701-9.877-4.04-19.838-6.989-28.838h-.107c2.983 9 5.352 19 7.072 29h-.002c-1.719-10-4.088-20-7.07-29h-155.39c19.044 17 31.358 40.175 31.358 67.052 0 16.796-4.484 31.284-12.314 44.724L231.044 478.452s-.009.264-.014.264l-.01.284h.015l-.005-.262c8.203.92 16.531 1.262 24.97 1.262 6.842 0 13.609-.393 20.299-1.002a223.86 223.86 0 0 0 29.777-4.733C405.68 451.525 480 362.404 480 255.941c0-12.999-1.121-25.753-3.248-38.146z"/><path d="M256 345.496c-33.601 0-61.601-17.91-77.285-44.785L76.006 123.047l-.137-.236a223.516 223.516 0 0 0-25.903 45.123C38.407 194.945 32 224.686 32 255.925c0 62.695 25.784 119.36 67.316 160.009 29.342 28.719 66.545 49.433 108.088 58.619l.029-.051 77.683-134.604c-8.959 3.358-19.031 5.598-29.116 5.598z"/><path d="M91.292 104.575l77.35 133.25C176.483 197.513 212.315 166 256 166h205.172c-6.921-15-15.594-30.324-25.779-43.938.039.021.078.053.117.074C445.644 135.712 454.278 151 461.172 166h.172c-6.884-15-15.514-30.38-25.668-43.99-.115-.06-.229-.168-.342-.257C394.475 67.267 329.359 32 256 32c-26.372 0-51.673 4.569-75.172 12.936-34.615 12.327-65.303 32.917-89.687 59.406l.142.243.009-.01z"/></svg>PK}w�\�D*�JJcollection/icon/svg/ios-add.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M368.5 240H272v-96.5c0-8.8-7.2-16-16-16s-16 7.2-16 16V240h-96.5c-8.8 0-16 7.2-16 16 0 4.4 1.8 8.4 4.7 11.3 2.9 2.9 6.9 4.7 11.3 4.7H240v96.5c0 4.4 1.8 8.4 4.7 11.3 2.9 2.9 6.9 4.7 11.3 4.7 8.8 0 16-7.2 16-16V272h96.5c8.8 0 16-7.2 16-16s-7.2-16-16-16z"/></svg>PK}w�\�� gww)collection/icon/svg/ios-musical-notes.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M406.3 48.2c-4.7.9-202 39.2-206.2 40-4.2.8-8.1 3.6-8.1 8v240.1c0 1.6-.1 7.2-2.4 11.7-3.1 5.9-8.5 10.2-16.1 12.7-3.3 1.1-7.8 2.1-13.1 3.3-24.1 5.4-64.4 14.6-64.4 51.8 0 31.1 22.4 45.1 41.7 47.5 2.1.3 4.5.7 7.1.7 6.7 0 36-3.3 51.2-13.2 11-7.2 24.1-21.4 24.1-47.8V190.5c0-3.8 2.7-7.1 6.4-7.8l152-30.7c5-1 9.6 2.8 9.6 7.8v130.9c0 4.1-.2 8.9-2.5 13.4-3.1 5.9-8.5 10.2-16.2 12.7-3.3 1.1-8.8 2.1-14.1 3.3-24.1 5.4-64.4 14.5-64.4 51.7 0 33.7 25.4 47.2 41.8 48.3 6.5.4 11.2.3 19.4-.9s23.5-5.5 36.5-13c17.9-10.3 27.5-26.8 27.5-48.2V55.9c-.1-4.4-3.8-8.9-9.8-7.7z"/></svg>PK}w�\'����%collection/icon/svg/logo-dribbble.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 64C150 64 64 150 64 256c0 106.1 86 192 192 192s192-85.9 192-192c0-106-86-192-192-192zm121.9 88.5c21.6 25.4 35.3 57.6 37.7 92.9-34.6-1.8-76-1.8-109.2 1.3-4.2-10.6-8.5-21-13.2-31 38.3-16.6 67.8-38.4 84.7-63.2zM256 96c38.8 0 74.4 13.8 102.1 36.8-17.4 22-44.7 41.1-78.7 55.6-18.6-34.4-40-64-62.8-87.3 12.7-3.2 25.8-5.1 39.4-5.1zm-72.4 17.5c23.1 23 44.8 52.3 63.8 86.6-36.1 11-77.5 17.3-121.7 17.3-8.4 0-16.6-.3-24.7-.8 11.5-45.1 42-82.5 82.6-103.1zM96.3 248.4c9.1.4 18.3.6 27.6.5 50.4-.6 97.3-8.5 137.6-21.4 3.8 7.9 7.4 16 10.8 24.3-5.5 1.3-10.4 2.7-14.3 4.3-55.1 23.1-98.5 60.4-122 105.5-24.8-28.2-40-65.1-40-105.6 0-2.6.1-5.1.3-7.6zM256 416c-37 0-71-12.6-98.1-33.7 21.3-42.2 59.3-77.1 107.2-98.8 4.5-2.1 10.5-3.8 17.4-5.3 5.7 15.8 10.8 32.2 15.3 49.2 6.9 26.5 11.8 52.7 14.8 78.1C295 412.2 276 416 256 416zm86.5-25.5c-3-25.7-7.9-52.1-14.9-78.9-3.4-13-7.3-25.6-11.5-37.9 31.4-2.6 69-2.2 98.9 0-5.4 49.1-33 91.3-72.5 116.8z"/></svg>PK}w�\C{z�'collection/icon/svg/ios-volume-high.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M215.4 145.5c-2.2-1.1-4.6-1.6-6.9-1.6-3.6 0-7.1 1.2-10 3.5L133.3 200H80.5c-8.8 0-16 7.2-16 16v80c0 8.8 7.2 16 16 16h52.8l65.2 52.5c2.9 2.3 6.5 3.5 10 3.5 2.3 0 4.7-.5 6.9-1.6 5.6-2.7 9.1-8.3 9.1-14.4V160c0-6.2-3.5-11.8-9.1-14.5zM447.5 256c0-59.3-23.2-114.8-65.4-156.5-4.7-4.7-12.3-4.6-17 .1-4.7 4.7-4.6 12.3.1 17 37.6 37.1 58.2 86.6 58.2 139.4 0 52.8-20.7 102.3-58.2 139.4-4.7 4.7-4.8 12.3-.1 17 2.3 2.4 5.4 3.6 8.5 3.6 3 0 6.1-1.2 8.4-3.5 42.3-41.6 65.5-97.2 65.5-156.5z"/><path d="M384.9 256c0-43.5-16.6-84.3-46.8-114.9-4.7-4.7-12.3-4.8-17-.1-4.7 4.7-4.8 12.3-.1 17 25.7 26.1 39.9 60.9 39.9 98.1 0 37.2-14.2 72-39.9 98.1-4.7 4.7-4.6 12.3.1 17 2.3 2.3 5.4 3.5 8.4 3.5 3.1 0 6.2-1.2 8.5-3.6 30.2-30.8 46.9-71.6 46.9-115.1z"/><path d="M287.5 182.5c-4.7-4.7-12.3-4.8-17-.1-4.7 4.7-4.8 12.3-.1 17 14.8 15 23 35.1 23 56.6 0 21.4-8.2 41.5-23 56.6-4.7 4.7-4.6 12.3.1 17 2.3 2.3 5.4 3.5 8.4 3.5 3.1 0 6.2-1.2 8.5-3.6 19.3-19.6 29.9-45.6 29.9-73.4.1-27.9-10.5-54-29.8-73.6z"/></svg>PK}w�\0�1��collection/icon/svg/ios-at.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M448 234.3c0 74.1-34.7 120.8-89.6 120.8-28.1 0-49.5-15-53.2-37.3h-4c-9.9 23.2-30.3 35.9-57.7 35.9-48.8 0-81.4-39.1-81.4-97.3 0-55.9 32.8-94.8 80.7-94.8 24.6 0 45.5 12.4 54.7 32.7h4v-27.8h39.9v129.3c0 16.1 8.9 25.8 24.9 25.8 27.7 0 45.3-33.6 45.3-85.8 0-83.3-62.4-139-154.6-139-91.2 0-156.2 66.5-156.2 160.6 0 96.2 64.3 157.6 164.4 157.6 19.6 0 39.3-1.7 54.4-4.6 9.8-1.8 18.8 5.6 18.8 15.5 0 7.3-5 13.7-12.1 15.4-18.2 4.3-40.1 6.8-62.7 6.8C141.9 448 64 372.8 64 256.1 64 142.2 143.5 64 259.4 64 370.8 64 448 133.5 448 234.3zm-242.8 23c0 37 17.4 59.4 45.7 59.4 29.8 0 48.6-23 48.6-59.4s-18.8-58.9-48.1-58.9c-29.1 0-46.2 21.8-46.2 58.9z"/></svg>PK}w�\$� ���#collection/icon/svg/ios-eye-off.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M88.3 68.1c-5.6-5.5-14.6-5.5-20.1.1-5.5 5.5-5.5 14.5 0 20l355.5 355.7c3.7 3.7 9 4.9 13.7 3.6 2.4-.6 4.6-1.9 6.4-3.7 5.5-5.5 5.5-14.5 0-20L88.3 68.1zM260.2 345.9c-53 2.4-96.6-41.2-94.1-94.1.6-12.2 3.6-23.8 8.6-34.3L121.3 164c-27.7 21.4-55.4 48.9-85.1 81.3-5.5 6.1-5.6 15.2-.1 21.3C101 338.3 158.2 400 255.8 400c29.7 0 57.1-7.4 82.3-19.2l-43.5-43.5c-10.6 5-22.2 8-34.4 8.6zM475.8 266c5.3-5.8 5.6-14.6.5-20.7C424 181.8 351.5 112 255.8 112c-29.1 0-56 6.6-82 19l43.7 43.7c10.5-5 22.1-8.1 34.3-8.6 53-2.4 96.6 41.2 94.1 94.1-.6 12.2-3.6 23.8-8.6 34.3l53.5 53.5c33-25.3 61.3-55.9 85-82z"/><path d="M192.2 260.9c2.4 31.3 27.6 56.5 58.9 58.9 8.2.6 16.1-.3 23.4-2.6l-79.8-79.8c-2.2 7.4-3.1 15.3-2.5 23.5zM320 256c0-1.3-.1-2.6-.1-3.9-5.6 2.5-11.7 3.9-18.2 3.9-1.1 0-2.1 0-3.1-.1l18.6 18.7c1.8-5.9 2.8-12.2 2.8-18.6zM256 209c0-6 1.1-11.7 3.1-16.9-1 0-2-.1-3.1-.1-6.4 0-12.6 1-18.5 2.8l18.7 18.7c-.1-1.5-.2-3-.2-4.5z"/></svg>PK}w�\$��KII!collection/icon/svg/md-keypad.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 398.5c-22.3 0-40.5 18.3-40.5 40.7 0 22.4 18.2 40.7 40.5 40.7s40.5-18.3 40.5-40.7c0-22.3-18.2-40.7-40.5-40.7zM136.5 32C114.2 32 96 50.3 96 72.7s18.2 40.7 40.5 40.7S177 95.1 177 72.7 158.8 32 136.5 32zm0 122.2c-22.3 0-40.5 18.3-40.5 40.7s18.2 40.7 40.5 40.7 40.5-18.3 40.5-40.7-18.2-40.7-40.5-40.7zm0 122.2c-22.3 0-40.5 18.3-40.5 40.7 0 22.4 18.2 40.7 40.5 40.7s40.5-18.3 40.5-40.7c0-22.4-18.2-40.7-40.5-40.7zm239-162.9c22.3 0 40.5-18.3 40.5-40.7S397.8 32 375.5 32 335 50.3 335 72.7s18.2 40.8 40.5 40.8zM256 276.4c-22.3 0-40.5 18.3-40.5 40.7 0 22.4 18.2 40.7 40.5 40.7s40.5-18.3 40.5-40.7c0-22.4-18.2-40.7-40.5-40.7zm119.5 0c-22.3 0-40.5 18.3-40.5 40.7 0 22.4 18.2 40.7 40.5 40.7s40.5-18.3 40.5-40.7c0-22.4-18.2-40.7-40.5-40.7zm0-122.2c-22.3 0-40.5 18.3-40.5 40.7s18.2 40.7 40.5 40.7 40.5-18.3 40.5-40.7-18.2-40.7-40.5-40.7zm-119.5 0c-22.3 0-40.5 18.3-40.5 40.7s18.2 40.7 40.5 40.7 40.5-18.3 40.5-40.7-18.2-40.7-40.5-40.7zM256 32c-22.3 0-40.5 18.3-40.5 40.7s18.2 40.7 40.5 40.7 40.5-18.3 40.5-40.7S278.3 32 256 32z"/></svg>PK}w�\R:9��!collection/icon/svg/ios-share.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M376 176H269v146.6c0 7-5.4 13-12.4 13.4-7.5.4-13.6-5.6-13.6-13V176H136c-22 0-40 18-40 40v208c0 22 18 40 40 40h240c22 0 40-18 40-40V216c0-22-18-40-40-40zM269 92.1l47.9 47.2c5.1 5 13.3 5 18.4-.1 5-5.1 5-13.3-.1-18.4l-70-69c-2.5-2.4-5.8-3.7-9.1-3.7-1.7 0-3.4.3-5 1-1.5.6-2.9 1.6-4.1 2.7l-70 69c-5.1 5-5.2 13.3-.1 18.4 5 5.1 13.3 5.2 18.4.1L243 92.1V176h26V92.1z"/></svg>PK}w�\`��+�� collection/icon/svg/md-trash.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M128 405.429C128 428.846 147.198 448 170.667 448h170.667C364.802 448 384 428.846 384 405.429V160H128v245.429zM416 96h-80l-26.785-32H202.786L176 96H96v32h320V96z"/></svg>PK}w�\,�1GG%collection/icon/svg/md-color-wand.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M200.8 157.2l-36.4 37.4L411.7 448l36.3-37.4zM181 64h37v68h-37zM181 262h37v68h-37zM270 176h69v37h-69zM305.6 115.8l-25.7-26.3-47.1 48.3 25.6 26.2zM168.8 137.8l-47.1-48.3-25.6 26.3 47.1 48.2zM96.1 277.9l25.6 26.2 47.1-48.2-25.6-26.3zM64 176h65v37H64z"/></svg>PK}w�\v�AGG#collection/icon/svg/ios-bonfire.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M270.9 350.6c-.7-8.2-7.6-14.6-15.9-14.6-7.6 0-14 5.4-15.6 12.5L223.8 427c-.5 2.3-.8 4.6-.8 7 0 17.7 14.3 30 32 30s32-12.3 32-30c0-2.9-.4-5.7-1.1-8.4l-15-75zM305.9 355zM388.9 386.3c-1.7-1.4-3.3-2.9-5.1-3.9l-59.6-43.5c-5.8-3.8-12-3.7-16.5.9-4.1 4.1-4.7 10.4-1.7 15.4l45 61.8c.9 1.5 2.2 2.8 3.4 4.2 7.8 9.1 25.1 9.6 34.6 0 9.4-9.8 9.3-27.2-.1-34.9zM372.5 335zM435.4 320h-59.5c-3.9 0-7.4 2.2-8.1 6.2-.6 3.6 1.3 7.1 4.7 8.8h.1l57.7 17.8c8.3 1.9 17.7-5.5 17.7-14.8 0-11.8-4.8-18-12.6-18zM139.2 335zM139.2 335c3.3-1.6 5.3-5.2 4.7-8.8-.7-4-3.9-6.2-8.1-6.2H76.3c-7.6 0-12.3 8.3-12.3 17.6s9.1 17.1 17.4 15.2l57.7-17.8h.1zM187.9 338.8l-59.6 43.4c-1.8 1.1-3.6 2.4-5.1 3.9-9.6 9.6-9.6 25.1 0 34.6 9.6 9.6 25.1 9.6 34.6 0 1.3-1.3 2.4-2.7 3.4-4.2l45-61.6c3-5 2.5-11.2-1.7-15.3-4.6-4.5-11.8-4.8-16.6-.8zM358.7 138.7c0-57.6-72.4-90.7-96-90.7 12 80.8-101.7 113-112 181.3-10.3 68.3 48 90.7 48 90.7 16.3-56.6 72.4-75.6 109.7-99.8 40.7-26.4 50.3-51.3 50.3-81.5zM358.7 259.6c5-14.7 1.9-49.3-3-63.4-9 17.5-26.3 32.4-47.2 46-8.6 5.6-20.9 10.8-29.8 15.9-18.7 10.5-34 20.6-46.3 34.4 11.3 16.4 31.3 27.7 46.3 27.7 36-.2 64-13.7 80-60.6z"/><path d="M161.8 171.9c11.7-15.1 24.9-23.8 38.2-36.2 13.4-12.5 22.1-21.2 27.5-31.3-10.7-20.1-30.8-28.1-44.7-26.1 2.3 28.6-30 44-32 64.8-1.3 12.6 5.4 25 11 28.8z"/></svg>PK}w�\�Ok+��#collection/icon/svg/md-football.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.3 48 48 141.3 48 256s93.3 208 208 208 208-93.3 208-208S370.7 48 256 48zM127 238.2l39.2 17.9 17.1 66.9-15.6 29.3-57.2-.7C95.6 329 86.2 303.1 83 276.3l44-38.1zm217.3 114.1L328.7 323l17.1-67 39.1-17.8 44 38.1c-3.1 26.8-12.6 52.7-27.5 75.3l-57.1.7zm32.4-146.2l-43.6 19.6-61.1-51.6v-47.2l47.9-32.6c29.8 11.9 56.4 32.3 75.6 57.8l-18.8 54zM191.3 94.4l47.7 32.5v47.2l-61 51.5-43-19.6-18.7-53.6c19.3-26.1 45.1-46 75-58zM218.4 426c-.7-.2-1.3-.3-2-.5l-20.5-55.1 14.7-29.4h90.8l15 30.3-19.8 53.9c-1 .2-2 .5-3 .7-11.5 2.3-27 3.8-40.4 4.1-11.7-.1-23.4-1.5-34.8-4z"/></svg>PK}w�\��vjOO collection/icon/svg/ios-male.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M450.4 48H341.5c-7.5 0-13.6 6.1-13.6 13.6s6.1 13.6 13.6 13.6h75.4L326.7 166c-30.6-26-69.3-40.3-109.6-40.3-22.8 0-45 4.5-65.8 13.3-20.1 8.5-38.2 20.7-53.8 36.2C82 190.8 69.8 208.9 61.3 229 52.5 249.9 48 272 48 294.9s4.5 45 13.3 65.8c8.5 20.1 20.7 38.2 36.2 53.8 15.5 15.5 33.6 27.7 53.8 36.2 20.9 8.8 43 13.3 65.8 13.3 22.8 0 45-4.5 65.8-13.3 20.1-8.5 38.2-20.7 53.8-36.2 15.5-15.5 27.7-33.6 36.2-53.8 8.8-20.9 13.3-43 13.3-65.8 0-40.3-14.3-79-40.3-109.6L436.7 95v75.4c0 7.5 6.1 13.6 13.6 13.6s13.6-6.1 13.6-13.6V61.6c.1-7.5-6-13.6-13.5-13.6zM359 294.9c0 37.9-14.8 73.5-41.6 100.3-26.8 26.8-62.4 41.6-100.3 41.6s-73.5-14.8-100.3-41.6C90 368.4 75.2 332.8 75.2 294.9s14.8-73.5 41.6-100.3c26.8-26.8 62.4-41.6 100.3-41.6s73.5 14.8 100.3 41.6C344.3 221.3 359 257 359 294.9z"/></svg>PK}w�\W�PHH(collection/icon/svg/ios-star-outline.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M463 192H315.9L271.2 58.6C269 52.1 262.9 48 256 48s-13 4.1-15.2 10.6L196.1 192H48c-8.8 0-16 7.2-16 16 0 .9.1 1.9.3 2.7.2 3.5 1.8 7.4 6.7 11.3l120.9 85.2-46.4 134.9c-2.3 6.5 0 13.8 5.5 18 2.9 2.1 5.6 3.9 9 3.9 3.3 0 7.2-1.7 10-3.6l118-84.1 118 84.1c2.8 2 6.7 3.6 10 3.6 3.4 0 6.1-1.7 8.9-3.9 5.6-4.2 7.8-11.4 5.5-18L352 307.2l119.9-86 2.9-2.5c2.6-2.8 5.2-6.6 5.2-10.7 0-8.8-8.2-16-17-16zm-127.2 92.5c-10 7.2-14.2 20.2-10.2 31.8l30.1 87.7c1.3 3.7-2.9 6.8-6.1 4.6l-77.4-55.2c-4.9-3.5-10.6-5.2-16.3-5.2-5.7 0-11.4 1.7-16.2 5.2l-77.4 55.1c-3.2 2.3-7.4-.9-6.1-4.6l30.1-87.7c4-11.8-.2-24.8-10.3-32l-81-57.1c-3.2-2.2-1.6-7.3 2.3-7.3H196c12 0 22.7-7.7 26.5-19.1l29.6-88.2c1.2-3.6 6.4-3.6 7.6 0l29.6 88.2c3.8 11.4 14.5 19.1 26.5 19.1h97.3c3.9 0 5.5 5 2.3 7.2l-79.6 57.5z"/></svg>PK}w�\�<��$collection/icon/svg/md-briefcase.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M352 144v-39.6C352 82 334 64 311.6 64H200.4C178 64 160 82 160 104.4V144H48v263.6C48 430 66 448 88.4 448h335.2c22.4 0 40.4-18 40.4-40.4V144H352zm-40 0H200v-40h112v40z"/></svg>PK}w�\)�x33 collection/icon/svg/ios-cash.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M466 355.9H46c-7.7 0-14 6.3-14 14s6.3 14 14 14h420c7.7 0 14-6.3 14-14s-6.3-14-14-14zM466 403.9H46c-7.7 0-14 6.3-14 14s6.3 14 14 14h420c7.7 0 14-6.3 14-14s-6.3-14-14-14zM444.9 80.1H67.1C47.8 80.1 32 95.9 32 115.2V293c0 19.3 15.8 35.1 35.1 35.1h377.8c19.3 0 35.1-15.8 35.1-35.1V115.2c0-19.3-15.8-35.1-35.1-35.1zM114 296.1H78c-7.7 0-14-6.3-14-14s6.3-14 14-14h36c7.7 0 14 6.3 14 14s-6.3 14-14 14zm0-156H78c-7.7 0-14-6.3-14-14s6.3-14 14-14h36c7.7 0 14 6.3 14 14s-6.3 14-14 14zm142 144c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80zm178 12h-36c-7.7 0-14-6.3-14-14s6.3-14 14-14h36c7.7 0 14 6.3 14 14s-6.3 14-14 14zm0-156h-36c-7.7 0-14-6.3-14-14s6.3-14 14-14h36c7.7 0 14 6.3 14 14s-6.3 14-14 14z"/><circle cx="256" cy="206" r="53"/></svg>PK}w�\��;ZWW4collection/icon/svg/ios-checkmark-circle-outline.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M362.6 192.9L345 174.8c-.7-.8-1.8-1.2-2.8-1.2-1.1 0-2.1.4-2.8 1.2l-122 122.9-44.4-44.4c-.8-.8-1.8-1.2-2.8-1.2-1 0-2 .4-2.8 1.2l-17.8 17.8c-1.6 1.6-1.6 4.1 0 5.7l56 56c3.6 3.6 8 5.7 11.7 5.7 5.3 0 9.9-3.9 11.6-5.5h.1l133.7-134.4c1.4-1.7 1.4-4.2-.1-5.7z"/><path d="M256 76c48.1 0 93.3 18.7 127.3 52.7S436 207.9 436 256s-18.7 93.3-52.7 127.3S304.1 436 256 436c-48.1 0-93.3-18.7-127.3-52.7S76 304.1 76 256s18.7-93.3 52.7-127.3S207.9 76 256 76m0-28C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48z"/></svg>PK}w�\��aacollection/icon/svg/md-disc.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.2 48 48 141.2 48 256s93.2 208 208 208 208-93.2 208-208S370.8 48 256 48zm0 301.6c-51.8 0-93.6-41.8-93.6-93.6s41.8-93.6 93.6-93.6 93.6 41.8 93.6 93.6-41.8 93.6-93.6 93.6zm0-114.4c-11.4 0-20.8 9.4-20.8 20.8s9.4 20.8 20.8 20.8 20.8-9.4 20.8-20.8-9.4-20.8-20.8-20.8z"/></svg>PK}w�\�U��#collection/icon/svg/ios-log-out.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M312 372c-7.7 0-14 6.3-14 14 0 9.9-8.1 18-18 18H94c-9.9 0-18-8.1-18-18V126c0-9.9 8.1-18 18-18h186c9.9 0 18 8.1 18 18 0 7.7 6.3 14 14 14s14-6.3 14-14c0-25.4-20.6-46-46-46H94c-25.4 0-46 20.6-46 46v260c0 25.4 20.6 46 46 46h186c25.4 0 46-20.6 46-46 0-7.7-6.3-14-14-14z"/><path d="M372.9 158.1c-2.6-2.6-6.1-4.1-9.9-4.1-3.7 0-7.3 1.4-9.9 4.1-5.5 5.5-5.5 14.3 0 19.8l65.2 64.2H162c-7.7 0-14 6.3-14 14s6.3 14 14 14h256.6L355 334.2c-5.4 5.4-5.4 14.3 0 19.8l.1.1c2.7 2.5 6.2 3.9 9.8 3.9 3.8 0 7.3-1.4 9.9-4.1l82.6-82.4c4.3-4.3 6.5-9.3 6.5-14.7 0-5.3-2.3-10.3-6.5-14.5l-84.5-84.2z"/></svg>PK}w�\���%collection/icon/svg/ios-clipboard.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M140.5 160v240c0 8.8 7.2 16 16 16h200c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16h-200c-8.8 0-16 7.2-16 16zM321.5 81h-17c0-5.6-1-11-2.7-16-2.1-6-5.3-11.4-9.4-16-8.8-9.9-21.6-17-35.9-17s-27.1 7.1-35.9 17c-4.1 4.6-7.3 10-9.4 16-1.7 5-2.7 10.4-2.7 16H194c-9.6 0-17.5 7.9-17.5 17.5V114c0 1.1.9 2 2 2h156c1.1 0 2-.9 2-2V96c0-8.3-6.7-15-15-15zm-62.9 15.5c-10.5 1.3-19.3-7.5-17.9-17.9.9-7.1 6.7-12.9 13.8-13.8 10.5-1.3 19.3 7.5 17.9 17.9-.9 7.2-6.7 12.9-13.8 13.8z"/><path d="M400 48h-75.2c-1.7 0-2.6 1.9-1.6 3.2 2.9 3.9 5.3 8.1 7 12.8.3.8 1 1.3 1.9 1.3h.5c18.7 0 26.9 14.9 27.5 33.5V114c0 1.1.9 2 2 2h20.3c8.8 0 16 7.2 16 16v297.4c0 8.8-7.2 16-16 16h-253c-8.8 0-16-7.2-16-16V132c0-8.8 7.2-16 16-16h21.3c1.1 0 2-.9 2-2v-8.8c0-19.1 5.6-36.7 27.6-36.7h.3c.9 0 1.8-.6 1.9-1.6 1.5-6.9 4.1-11.7 7.2-15.8 1-1.3.1-3.2-1.6-3.2l-76.3-.1C94.3 47.9 80 62.1 80 79.7V424c0 41.7 14.3 56 32 56h288.5c17.4 0 31.5-14.1 31.5-31.5V80c0-17.7-14.3-32-32-32z"/></svg>PK}w�\�=�D collection/icon/svg/md-flask.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M436.9 354.4L336 192V96h32V48H144v48h32v96L76.1 354.4C67.7 370.3 63.6 385.8 64 400c1.1 36.5 28.7 64 65.1 64H385c36.3 0 62.1-27.6 63-64 .3-14.2-2.6-29.7-11.1-45.6zM155.1 304l29.5-48h143.1l29.8 48H155.1z"/></svg>PK}w�\��@�YYcollection/icon/svg/index.jsnu�[��� require.context('!!file-loader?name=[name].[ext]&outputPath=svg!./', false, /.svg$/); PK}w�\@���#collection/icon/svg/ios-nuclear.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zm-88.5 364.8l49.2-85.8c1.1-1.9.5-4.2-1.3-5.4-20.2-12.9-34-35-35.2-60.3-.1-2.1-1.8-3.8-4-3.8H76V256c0-48.1 18.7-93.3 52.7-127.3 10.8-10.8 22.7-20 35.4-27.6l50.5 87.9c1.1 1.9 3.5 2.5 5.4 1.5 10.7-5.8 22.9-9 35.9-9 12.5 0 24.4 3.1 34.8 8.5 1.9 1 4.2.3 5.3-1.5l51.1-87.7c13 7.7 25.1 17 36.1 28 34 34 52.7 79.2 52.7 127.3v1.5h-100c-2.1 0-3.9 1.7-4 3.8-1.3 25.4-15 47.5-35.2 60.3-1.8 1.2-2.4 3.5-1.3 5.4l49.2 85.8c-26.7 15.1-57 23.2-88.5 23.2-31.6-.1-61.9-8.2-88.6-23.3z"/><circle cx="256" cy="256" r="56"/></svg>PK}w�\,^���"collection/icon/svg/ios-remove.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M368.5 240h-225c-8.8 0-16 7.2-16 16 0 4.4 1.8 8.4 4.7 11.3 2.9 2.9 6.9 4.7 11.3 4.7h225c8.8 0 16-7.2 16-16s-7.2-16-16-16z"/></svg>PK}w�\���}kk%collection/icon/svg/ios-share-alt.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M444.7 230.4l-141.1-132c-1.7-1.6-3.3-2.5-5.6-2.4-4.4.2-10 3.3-10 8v66.2c0 2-1.6 3.8-3.6 4.1C144.1 195.8 85 300.8 64.1 409.8c-.8 4.3 5 8.3 7.7 4.9 51.2-64.5 113.5-106.6 212-107.4 2.2 0 4.2 2.6 4.2 4.8v65c0 7 9.3 10.1 14.5 5.3l142.1-134.3c2.6-2.4 3.4-5.2 3.5-8.4-.1-3.2-.9-6.9-3.4-9.3z"/></svg>PK}w�\��� collection/icon/svg/md-train.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48c-88 0-176 10.9-176 87.6v208c0 42.3 34.5 76.6 77 76.6L124 453v11h49.1l44-43.8H300l44 43.8h44v-10.9l-33-32.8c42.5 0 77-34.4 77-76.6v-208C432 58.9 353.2 48 256 48zm-99 328.4c-18.3 0-33-14.7-33-32.8s14.7-32.8 33-32.8 33 14.7 33 32.8-14.7 32.8-33 32.8zm77-153.2H124v-87.6h110v87.6zm44 0v-87.6h110v87.6H278zm77 153.2c-18.3 0-33-14.7-33-32.8s14.7-32.8 33-32.8 33 14.7 33 32.8-14.7 32.8-33 32.8z"/></svg>PK}w�\nYY collection/icon/svg/ios-walk.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M201.1 361.2l-67.8 48.9c-3.7 3.6-5.2 9.1-5.3 13.9-.1 4.8 1.2 8.8 4.7 12.5 3.6 3.9 8.8 6.2 13.6 6.2 4.5 0 12.5-4.9 16-8.4l69.7-51.6c3.6-3.5 5.7-8.4 5.7-13.5l9.1-52.5-45.7-46.7v91.2z"/><ellipse transform="rotate(-80.781 274.673 69.329)" cx="274.7" cy="69.3" rx="37.3" ry="37.3"/><path d="M350.7 459.2l-15.2-117.4c-.5-3.5-1.9-6.8-4.2-9.5l-57-68.8V143.9c0-11.3-6.3-15.9-18.3-15.9h-37c-2.8 0-5.2 1-7.7 2.3l-68 31.7c-10 5.3-15.3 15.4-15.3 28.7V256c0 10.3 8.2 18.7 18.3 18.7 10.1 0 18.3-8.4 18.3-18.7v-58.2c0-3 1.7-5.8 4.4-7.1l32.2-16.4v75.3c0 4.2 1.6 8.2 4.6 11.2l92.4 94.4c1.2 1.2 2 2.8 2.2 4.5l14.2 104.7c1.3 9.3 9.1 15.7 18.1 15.7h2c9.9-1.5 17.4-10.7 16-20.9z"/><path d="M378.4 232.4l-95-96.2v52.6l69.2 70.1c7.2 7.3 18.7 7.2 25.9-.1 3.5-3.6 5.5-7.5 5.5-12.2 0-4.8-2-10.5-5.6-14.2z"/></svg>PK}w�\o���!collection/icon/svg/ios-today.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M388 32H124c-33.1 0-60 26.9-60 60v328c0 33.1 26.9 60 60 60h264c33.1 0 60-26.9 60-60V92c0-33.1-26.9-60-60-60zm32 388c0 17.6-14.4 32-32 32H124c-17.6 0-32-14.4-32-32V92c0-17.6 14.4-32 32-32h264c17.6 0 32 14.4 32 32v328z"/><path d="M360 176H152c-13.2 0-24 10.8-24 24v192c0 13.2 10.8 24 24 24h208c13.2 0 24-10.8 24-24V200c0-13.2-10.8-24-24-24zM142 124h100c7.7 0 14-6.3 14-14s-6.3-14-14-14H142c-7.7 0-14 6.3-14 14s6.3 14 14 14z"/></svg>PK}w�\<�94�� collection/icon/svg/ios-beer.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M112 162c0-13.3 10.7-24 24-24h229.5c4.9 0 9.6 1.5 13.5 4.4 2 1.5 4.9 0 4.8-2.5-.1-5.7-.2-9.3-.2-21.6 0-20.8-17.2-38.3-38.1-38.3h-.2c-5.7-.4-10.8-4-12.9-9.3-9-22.6-32.3-38.6-56.4-38.6-21 0-34.2 7-44 18.3-4.4 5-11.8 5.9-17.4 2.4-7.3-4.6-16.1-7.1-25.5-7.1-14.4 0-27.2 7.1-35.8 17.4-4 4.9-10.4 7-16.6 5.9-5.2-1-12.6-1.8-22.7-1.8-25 0-50 16.6-50 42.4v4c0 28.8 16 22.9 16 41.8v50.8c0 13.4-11.2 19.3-11.2 35.2 0 8.8 8 16.8 16.8 16.8H112V162zM386 452H110c-7.7 0-14 6.3-14 14s6.3 14 14 14h276c7.7 0 14-6.3 14-14s-6.3-14-14-14z"/><path d="M400 194h-32v-24c0-8.8-7.2-16-16-16H144c-8.8 0-16 7.2-16 16v213.8c0 12.1-1.1 18.2-3.2 30.1l-.1.5c-.8 4.7.2 9.5 2.8 13.5 3.4 5.1 9.1 8.2 15.3 8.2h213.9c4.1 0 8.1-1.4 11.1-4.1 4.7-4.1 6.5-10.3 5.2-16-2.7-11.8-4.5-17.8-4.8-29.9H400c26.4 0 48-21.6 48-48v-96c0-26.5-21.6-48.1-48-48.1zm20 144c0 11-9 20-20 20h-32V222h32c11 0 20 9 20 20v96z"/></svg>PK}w�\yD�kk#collection/icon/svg/ios-desktop.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M352 442.2c-.3-2.2-2-3.9-4.2-4.3l-22.3-1.9c-11.8-3.1-20.5-16.2-22.3-28.3L302 400h-92l-1.2 7.6c-1.9 12.1-10.5 25.2-22.3 28.3l-22.3 1.9c-2.1.5-3.9 2.2-4.2 4.3-.4 3.1 2 5.8 5.1 5.8h181.8c3 .1 5.5-2.6 5.1-5.7zM472.9 71c-4.5-4.5-10.7-7-17-7H56.2c-6.4 0-12.5 2.5-17 7S32 81.7 32 88v272c0 6.4 2.7 12.5 7.2 17s10.5 7 16.8 7h400c6.4 0 12.3-2.5 16.8-7s7.2-10.7 7.2-17V88c.1-6.3-2.6-12.5-7.1-17zM256 360c-4.4 0-8-3.6-8-8s3.6-8 8-8 8 3.6 8 8-3.6 8-8 8zm203.9-40H52.2c-2.2 0-4-1.8-4-4V92c0-6.6 5.4-12 12-12h391.7c6.6 0 12 5.4 12 12v224c0 2.2-1.8 4-4 4z"/></svg>PK}w�\�k���)collection/icon/svg/ios-color-palette.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M430.1 347.9c-6.6-6.1-16.3-7.6-24.6-9-11.5-1.9-15.9-4-22.6-10-14.3-12.7-14.3-31.1 0-43.8l30.3-26.9c46.4-41 46.4-108.2 0-149.2-34.2-30.1-80.1-45-127.8-45-55.7 0-113.9 20.3-158.8 60.1-83.5 73.8-83.5 194.7 0 268.5 41.5 36.7 97.5 55 152.9 55.4h1.7c55.4 0 110-17.9 148.8-52.4 14.4-12.7 12-36.6.1-47.7zM120 216c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm40 126c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm64-161c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm72 219c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm24-208c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"/></svg>PK}w�\)Uʫ+collection/icon/svg/md-battery-charging.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M338.2 76.8h-37.4V32h-89.6v44.8h-37.4c-16.4 0-29.8 13.4-29.8 29.8V450c0 16.6 13.4 30 29.8 30H338c16.6 0 30-13.4 30-29.8V106.6c0-16.4-13.4-29.8-29.8-29.8zM233.6 435.2V312h-44.8l89.6-168v123.2h44.8l-89.6 168z"/></svg>PK}w�\�5Pf""%collection/icon/svg/ios-pricetags.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M403.3 32H285.1c-3.7 0-7.2 1.5-9.8 4.1L40.1 272.2c-10.8 10.8-10.8 28.4 0 39.2l111.5 112.5C162.4 434.7 179 440 195 426l231.9-232.3c2.6-2.6 4.1-6.1 4.1-9.8V59.7c0-15.3-12.4-27.7-27.7-27.7zm-45.9 107.5c-19.6 2.1-36-14.4-33.9-33.9 1.5-14.3 13-25.7 27.3-27.3 19.6-2.1 36 14.4 33.9 33.9-1.5 14.3-13 25.8-27.3 27.3z"/><path d="M456 80.3V194c0 3.7-1.5 7.2-4.1 9.8L192.7 463l8.8 8.8c10.8 10.8 28.4 10.8 39.2 0l235.2-236.2c2.6-2.6 4.1-6.1 4.1-9.8V107.7c0-14-10.5-25.6-24-27.4z"/></svg>PK}w�\��4�� collection/icon/svg/ios-pint.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M372 175.2c0-19.5-1-81.7-19.3-115.6-4.5-8.2-9.5-11.6-28.7-11.6H188c-19.3 0-24.2 3.4-28.7 11.6-18.3 33.9-19.3 96.5-19.3 116 0 91 36 93.1 36 167.8 0 36.7-16 66.7-16 92.7 0 25.1 6 27.8 29 27.8h134c23 0 29-2.9 29-27.9 0-26-16-55.7-16-92.4 0-74.7 36-77.4 36-168.4zM188 76h136c2.4 0 4.3.1 5.7.2 5.4 11.6 9.4 29.3 11.8 50.8h-171c2.4-21.6 6.5-39.3 11.8-50.8 1.4-.1 3.3-.2 5.7-.2z"/></svg>PK}w�\Y]* ??*collection/icon/svg/ios-arrow-dropdown.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M147.6 210.7c-7.5 7.5-7.5 19.8 0 27.3l95.7 95.4c7.3 7.3 19.1 7.5 26.6.6l94.3-94c3.8-3.8 5.7-8.7 5.7-13.7 0-4.9-1.9-9.9-5.6-13.6-7.5-7.5-19.7-7.6-27.3 0l-81 79.8-81.1-81.9c-7.5-7.5-19.7-7.5-27.3.1z"/><path d="M48 256c0 114.9 93.1 208 208 208s208-93.1 208-208S370.9 48 256 48 48 141.1 48 256zm332.4-124.4C413.7 164.8 432 209 432 256s-18.3 91.2-51.6 124.4C347.2 413.7 303 432 256 432s-91.2-18.3-124.4-51.6C98.3 347.2 80 303 80 256s18.3-91.2 51.6-124.4C164.8 98.3 209 80 256 80s91.2 18.3 124.4 51.6z"/></svg>PK}w�\� e�''%collection/icon/svg/md-git-commit.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M480 224h-99.8c-14.2-55.2-64.2-96-123.7-96S147 168.8 132.8 224H32v64h100.8c14.2 55.2 64.2 96 123.7 96s109.5-40.8 123.7-96H480v-64zM256.5 336c-44 0-79.8-35.9-79.8-80s35.8-80 79.8-80 79.8 35.9 79.8 80-35.8 80-79.8 80z"/></svg>PK}w�\O6�� collection/icon/svg/logo-yen.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M448 32h-80L256 253.128 144 32H64l112.368 208H128v48h73.564L216 319v17h-88v48h88v96h80v-96h88v-48h-88v-17l14.891-31H384v-48h-48.289L448 32z"/></svg>PK}w�\��7�&collection/icon/svg/ios-person-add.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M385.3 386c-15.6-5.5-37.8-6.8-52.1-10-8.2-1.8-20.1-6.3-24.1-11.1-3.5-4.2-2.1-38.4-1.7-47.2.1-1.3.5-2.6 1.1-3.8 2.2-3.6 7.2-12.2 10.3-20 3-7.6 6.2-25 7.6-33.3.4-2.4 1.9-4.5 4-5.6 2.6-1.5 6.1-4.9 7.8-13.4 3.1-15.7 8-21.8 7.4-33.5-.3-5.2-1.7-8-3.2-9.5-2-1.9-2.7-4.8-2-7.4 1.9-7.6 4.7-22.6 5.2-45.6.9-41.1-31.3-81.6-89.5-81.6-59.1 0-90.5 40.5-89.6 81.6.5 23 3.3 38 5.1 45.6.6 2.7-.1 5.5-2 7.4-1.5 1.5-3 4.3-3.2 9.5-.6 11.7 4.3 17.8 7.4 33.5 1.7 8.4 5.2 11.9 7.8 13.4 2.1 1.2 3.6 3.2 4 5.6 1.4 8.3 4.6 25.7 7.6 33.3 3.1 7.8 8.2 16.5 10.3 20 .7 1.1 1.1 2.4 1.1 3.8.4 8.8 1.8 43.1-1.7 47.2-4 4.8-15.9 9.3-24.1 11.1-14.3 3.2-36.5 4.5-52.1 10-14.2 5-55.3 20.5-62.5 52.3-1.1 5 2.7 9.7 7.9 9.7H440c5.1 0 8.9-4.7 7.8-9.7-7.2-31.8-48.3-47.3-62.5-52.3z"/><path d="M437.5 293.5h-27v-27c0-5.8-4.7-10.5-10.5-10.5s-10.5 4.7-10.5 10.5v27h-27c-5.8 0-10.5 4.7-10.5 10.5s4.7 10.5 10.5 10.5h27v27c0 5.8 4.7 10.5 10.5 10.5s10.5-4.7 10.5-10.5v-27h27c5.8 0 10.5-4.7 10.5-10.5s-4.7-10.5-10.5-10.5z"/></svg>PK}w�\r�t!collection/icon/svg/ios-heart.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M352 56h-1c-39.7 0-74.8 21-95 52-20.2-31-55.3-52-95-52h-1c-61.9.6-112 50.9-112 113 0 37 16.2 89.5 47.8 132.7C156 384 256 456 256 456s100-72 160.2-154.3C447.8 258.5 464 206 464 169c0-62.1-50.1-112.4-112-113z"/></svg>PK}w�\p����collection/icon/svg/ios-mic.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 336c35.2 0 64-28.8 64-64V112c0-35.2-28.8-64-64-64s-64 28.8-64 64v160c0 35.2 28.8 64 64 64z"/><path d="M352 192c-7.7 0-14 6.3-14 14v69c0 45.2-36.8 82-82 82s-82-36.8-82-82v-69c0-7.7-6.3-14-14-14s-14 6.3-14 14v69c0 55.9 41.9 102.2 96 109.1V436h-36c-7.7 0-14 6.3-14 14s6.3 14 14 14h100c7.7 0 14-6.3 14-14s-6.3-14-14-14h-36v-51.9c54.1-6.9 96-53.2 96-109.1v-69c0-7.7-6.3-14-14-14z"/></svg>PK}w�\&W�(collection/icon/svg/md-notifications.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 464c22.779 0 41.411-18.719 41.411-41.6h-82.823c0 22.881 18.633 41.6 41.412 41.6zm134.589-124.8V224.8c0-63.44-44.516-117.518-103.53-131.041V79.2c0-17.682-13.457-31.2-31.059-31.2s-31.059 13.518-31.059 31.2v14.559c-59.015 13.523-103.53 67.601-103.53 131.041v114.4L80 380.8v20.8h352v-20.8l-41.411-41.6z"/></svg>PK}w�\�t7Y��!collection/icon/svg/ios-stats.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M184 448h48c4.4 0 8-3.6 8-8V72c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v368c0 4.4 3.6 8 8 8zM88 448h48c4.4 0 8-3.6 8-8V296c0-4.4-3.6-8-8-8H88c-4.4 0-8 3.6-8 8v144c0 4.4 3.6 8 8 8zM280.1 448h47.8c4.5 0 8.1-3.6 8.1-8.1V232.1c0-4.5-3.6-8.1-8.1-8.1h-47.8c-4.5 0-8.1 3.6-8.1 8.1v207.8c0 4.5 3.6 8.1 8.1 8.1zM368 136.1v303.8c0 4.5 3.6 8.1 8.1 8.1h47.8c4.5 0 8.1-3.6 8.1-8.1V136.1c0-4.5-3.6-8.1-8.1-8.1h-47.8c-4.5 0-8.1 3.6-8.1 8.1z"/></svg>PK}w�\�I�@��"collection/icon/svg/md-medical.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M351.9 256L460 193.6l-48-83.2-108 62.4V48h-96v124.8l-108-62.4-48 83.2L160.1 256 52 318.4l48 83.2 108-62.4V464h96V339.2l108 62.4 48-83.2z"/></svg>PK}w�\5aԎ�#collection/icon/svg/md-navigate.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 64L96 433.062 110.938 448 256 384l145.062 64L416 433.062z"/></svg>PK}w�\wN���$collection/icon/svg/md-flash-off.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M459.9 435.5L76.1 52.5 51.9 76.6 160 184.3V272h64v192l72-144 139.9 139.5zM352 208h-64l64-160H160v40.3l168 167.6z"/></svg>PK}w�\����$collection/icon/svg/md-analytics.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M379.4 178.3l-87.2 133.4C299 320 303 330.5 303 342c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-3 .3-6 .8-8.9l-57.6-33.5c-8.6 8.3-20.3 13.4-33.3 13.4-8.6 0-16.6-2.3-23.6-6.2L32 364.2v57.2c0 23.5 19.2 42.7 42.7 42.7h362.7c23.5 0 42.7-19.2 42.7-42.7V208.8l-58.6-38.9c-8.1 6.3-18.3 10.1-29.4 10.1-4.4 0-8.7-.6-12.7-1.7z"/><path d="M117 217c26.5 0 48 21.5 48 48 0 2.1-.2 4.2-.4 6.2l60.1 33.6c8.3-6.8 18.8-10.8 30.4-10.8 3.6 0 7.1.4 10.4 1.1l87.4-135.4c-5.6-7.8-8.9-17.4-8.9-27.8 0-26.5 21.5-48 48-48s48 21.5 48 48c0 3.9-.5 7.7-1.3 11.3l41.3 27.6V90.7c0-23.5-19.2-42.7-42.7-42.7H74.7C51.2 48 32 67.2 32 90.7V320l40-38.3c-1.9-5.2-3-10.8-3-16.7 0-26.5 21.5-48 48-48z"/></svg>PK}w�\R�N��� collection/icon/svg/md-close.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M405 136.798L375.202 107 256 226.202 136.798 107 107 136.798 226.202 256 107 375.202 136.798 405 256 285.798 375.202 405 405 375.202 285.798 256z"/></svg>PK}w�\�{��$collection/icon/svg/md-recording.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M369.8 160c-53.4 0-96.2 42.8-96.2 96 0 23.6 7.9 44.5 21.9 61.1h-78.8c14-16.6 21.9-37.5 21.9-61.1 0-53.2-42.9-96-96.2-96S46 202.8 46 256s42.9 96 96.2 96h227.5c53.4 0 96.2-42.8 96.2-96s-42.8-96-96.1-96zM142.2 317.1C108.1 317.1 81 290 81 256s27.1-61.1 61.2-61.1 61.2 27.1 61.2 61.1-27 61.1-61.2 61.1zm227.6 0c-34.1 0-61.2-27.1-61.2-61.1s27.1-61.1 61.2-61.1S431 222 431 256s-27.1 61.1-61.2 61.1z"/></svg>PK}w�\.$�1 %collection/icon/svg/ios-git-merge.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M378 218c-33.5 0-62.1 23.8-68.6 56.1-10.3-.5-18.4-2.7-39.2-10.8-30.5-11.9-71.8-33.2-111.5-95.8 27.1-10.1 45.4-36 45.4-65.5 0-38.6-31.4-70-70-70s-70 31.4-70 70c0 17 6.2 33.3 17.3 46.1 9.9 11.3 23.1 19.1 37.7 22.3v171.3c-14.5 3.2-27.8 11-37.7 22.3C70.2 376.7 64 393 64 410c0 38.6 31.4 70 70 70s70-31.4 70-70c0-17.4-6.4-34-18-46.9-10.3-11.4-24-19.1-39-21.9V200.3c40.8 56.8 82 77 113 89.1 25.2 9.8 37.1 12.3 49.5 12.8 6.6 32.2 35.2 55.8 68.5 55.8 38.6 0 70-31.4 70-70s-31.4-70-70-70zM176 410c0 23.2-18.8 42-42 42s-42-18.8-42-42 18.8-42 42-42 42 18.8 42 42zm-42-266c-23.2 0-42-18.8-42-42s18.8-42 42-42 42 18.8 42 42-18.8 42-42 42zm244 186c-23.2 0-42-18.8-42-42s18.8-42 42-42 42 18.8 42 42-18.8 42-42 42z"/></svg>PK}w�\���ll&collection/icon/svg/logo-instagram.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M336 96c21.2 0 41.3 8.4 56.5 23.5S416 154.8 416 176v160c0 21.2-8.4 41.3-23.5 56.5S357.2 416 336 416H176c-21.2 0-41.3-8.4-56.5-23.5S96 357.2 96 336V176c0-21.2 8.4-41.3 23.5-56.5S154.8 96 176 96h160m0-32H176c-61.6 0-112 50.4-112 112v160c0 61.6 50.4 112 112 112h160c61.6 0 112-50.4 112-112V176c0-61.6-50.4-112-112-112z"/><path d="M360 176c-13.3 0-24-10.7-24-24s10.7-24 24-24c13.2 0 24 10.7 24 24s-10.8 24-24 24zM256 192c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64m0-32c-53 0-96 43-96 96s43 96 96 96 96-43 96-96-43-96-96-96z"/></svg>PK}w�\I n�collection/icon/svg/md-map.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M437.333 64c-2.176 0-4.396 1.369-9.176 3.207L320 108.802 192 64 71.469 104.531C67.197 105.604 64 109.864 64 115.197v322.136C64 443.729 68.271 448 74.666 448c1.828 0 6.505-2.33 9.087-3.319L192 403.197 320 448l120.531-40.531c4.271-1.073 7.469-5.334 7.469-10.667V74.666C448 68.271 443.729 64 437.333 64zM320 405.333l-128-44.802V106.666l128 44.803v253.864z"/></svg>PK}w�\�u���!collection/icon/svg/md-person.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 256c52.805 0 96-43.201 96-96s-43.195-96-96-96-96 43.201-96 96 43.195 96 96 96zm0 48c-63.598 0-192 32.402-192 96v48h384v-48c0-63.598-128.402-96-192-96z"/></svg>PK}w�\� �z��collection/icon/svg/md-sync.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 93.09V32l-80 81.454 80 81.456v-61.093c65.996 0 120 54.982 120 122.183 0 20.363-5 39.714-14.004 57.016L391 342.547c15.996-25.457 25-54.988 25-86.547 0-89.599-72.002-162.91-160-162.91zm0 285.094c-66.001 0-120-54.988-120-122.184 0-20.363 5-39.709 13.999-57.02L121 169.454C104.999 193.89 96 224.436 96 256c0 89.599 72.002 162.91 160 162.91V480l80-81.453-80-81.457v61.094z"/></svg>PK}w�\�@�#ii!collection/icon/svg/logo-sass.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M511.784 329.108c-1.67-13.599-9.236-24.146-20.795-32.416 2.857 2.04 5.275 3.766-.055-.041-7.189-5.131-3.38-2.411-.047-.032-28.5-20.301-65.676-15.789-96.733-4.511-12.447-20.295-12.987-35.783-5.816-57.937.929-2.8.295-4.354-2.624-5.604-7.086-3.03-17.291-1.427-24.422.463-2.462.646-4.254 1.9-4.8 4.381-5.154 24.243-21.009 46.448-34.828 66.886-9.731-18.652-8.96-33.087-2.414-52.516.798-2.366.431-3.624-1.937-4.879-7.26-3.757-18.401-1.912-25.8.276-8.509 2.482-21.29 44.594-25.372 52.946-8.531 17.442-16.091 44.665-30.585 58.502-12.3-15.807 22.526-51.517 10.882-65.851-3.938-4.848-11.063-4.723-15.586-.616 1.085-7.608 1.648-12.609-.32-19.063-2.081-6.79-7.361-10.687-15.09-10.49-17.995.527-33.843 13.815-44.641 26.397-10.277 12.105-37.381 19.627-51.953 26.927-25.032-21.807-79.221-44.947-80.632-82.081-1.528-41.846 48.319-70.245 81.597-87.228 43.28-22.104 109.961-49.608 159.138-25.436 13.049 6.414 18.299 20.171 14.707 33.348-9.368 34.366-47.198 57.293-80.103 67.807-16.189 5.175-33.969 9.027-51.1 8.026-22.955-1.343-40.83-15.224-43.281-16.086-2.049-.389-1.888 2.261-1.347 3.664 23.816 62.433 144.417 16.681 175.956-15.371 15.189-15.421 24.413-30.365 28.351-53.894 4.616-27.583-15.634-44.842-31.004-51.957-77.918-36.072-185.636 11.168-244.553 59.327-25.568 20.901-57.552 54.11-42.874 88.946 15.93 37.805 64.736 57.19 96.503 80.312-25.704 12.773-57.862 25.983-74.518 49.933-9.524 13.729-12.903 28.359-5.811 43.966 12.572 27.568 58.285 15.622 77.573 3.471 17.67-11.13 29.563-26.07 34.7-45.228 4.455-16.609 3.541-33.866-3.856-49.512l28.585-14.458c-7.697 23.076-11.097 52.003 4.881 72.855 6.402 8.338 23.017 8.675 29.817.311 8.816-10.943 14.664-24.655 20.503-37.206-.682 9.373-1.856 19.996 1.377 28.165 3.71 9.373 12.126 11.291 20.792 5.343 26.52-18.203 43.398-68.652 56.463-98.062 3.552 12.829 7.473 24.548 13.957 36.376 1.602 2.903 1.407 4.774-.796 7.195-9.685 10.675-32.826 28.479-35.069 42.899-.524 3.371 1.713 6.599 5.686 7.37 15.573 3.108 32.838-2.531 45.482-11.078 13.188-8.922 17.446-21.087 14.245-35.515-4.576-20.771 10.993-43.98 25.801-61.03 2.719 12.908 6.816 25.331 14.143 36.606-13.075 11.483-32.58 27.764-29.779 46.939.988 6.865 7.135 11.301 14.514 9.736 15.783-3.324 29.416-10.113 39.37-22.146 9.023-10.855 5.792-22.701 1.856-34.635 23.872-6.815 48.022-8.177 71.831-.027 11.495 3.91 20.755 10.5 26.248 20.818 6.726 12.644 2.939 24.292-10.05 32.604-3.287 2.104-5.562 3.833-4.45 4.743 1.112.911 4.9 2.113 13.284-3.152 8.384-5.267 13.51-12.383 14.823-21.725a37.09 37.09 0 0 0-.024-7.755zm-398.838 25.259c-1.358 16.673-9.636 30.193-23.175 41.114-7.617 6.158-17.102 11.176-26.52 12.092-9.418.917-16.751-1.461-17.378-11.23-1.764-27.493 40.923-54.424 64.625-62.533 2.02 6.86 3.011 13.666 2.432 20.587l.016-.03zm103.102-72.453c-3.903 22.309-14.83 62.347-32.314 78.336-2.356 2.143-4.61 2.018-5.809-.771-10.345-24.059 3.671-73.669 33.082-81.328 3.457-.889 5.602.582 5.041 3.763zm70.311 81.768c8.422-8.962 16.834-17.916 25.269-26.927 1.043 10.021-17.571 29.964-25.269 26.927zm80.714-17.696c-2.348 1.273-7.621 2.515-7.827.835-1.482-12.085 11.816-24.874 20.067-30.867 4.453 11.343-.818 23.834-12.24 30.032z"/></svg>PK}w�\�f�o88"collection/icon/svg/ios-filing.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M424 64H88c-22 0-40 18-40 40v304c0 22 18 40 40 40h336c22 0 40-18 40-40V104c0-22-18-40-40-40zm12 176c0 8.8-7.2 16-16 16h-86.8c-6.8 0-12.8 4.2-15.1 10.6C314 278.2 303.8 288 292 288h-72c-11.9 0-22.1-9.8-26.1-21.4-2.2-6.4-8.3-10.6-15.1-10.6H92c-8.8 0-16-7.2-16-16V108c0-8.8 7.2-16 16-16h328c8.8 0 16 7.2 16 16v132z"/><path d="M386 156H126c-7.7 0-14-6.3-14-14s6.3-14 14-14h260c7.7 0 14 6.3 14 14s-6.3 14-14 14zM386 220H126c-7.7 0-14-6.3-14-14s6.3-14 14-14h260c7.7 0 14 6.3 14 14s-6.3 14-14 14z"/></svg>PK}w�\5��VV!collection/icon/svg/ios-rainy.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M433.9 175.6c-19-17.6-44.6-27.3-72.1-27.3h-5.6c-6.5-23.5-19.4-43.5-37.6-58.2C297.3 73 269.5 64 238.1 64c-32.7 0-63.2 11.7-86 32.9-22.8 21.2-35.5 50-36.1 81.4-17.5 4-33.6 13.7-46 27.9-14.2 16.2-22 36.6-22 57.4 0 44.6 34.9 82.6 77.4 86L101.2 382c-2.4 3.2-3.3 7.2-2.7 11.1.6 3.9 2.8 7.3 6 9.6 2.5 1.8 5.5 2.7 8.6 2.7 5.2 0 9.8-2.1 12.5-5.8l37.1-50h35.1l-55.3 75.1c-2.3 3.2-3.4 6.9-2.9 10.6.5 3.9 2.6 7.4 5.9 9.8 3.5 2.5 7.5 2.8 9 2.8 7.2 0 11.2-3.5 13.4-6.4l67.4-91.8H270L246 382c-2.4 3.3-3.4 7.2-2.7 11.1.6 3.9 2.8 7.3 6 9.6 2.5 1.8 5.5 2.7 8.6 2.7 5.2 0 9.8-2.1 12.5-5.8l37-50h35.1l-55.3 75.1c-2.3 3.2-3.4 7-2.9 10.6.5 3.8 2.6 7.2 5.9 9.6 2.6 1.9 5.9 3 8.9 3 5.1 0 9.7-2.2 12.5-6l69.7-95.1c22.4-4.5 43-16.6 58.1-34.5 15.9-18.8 24.7-42.6 24.7-67.1-.1-26.8-10.8-51.6-30.2-69.6z"/></svg>PK}w�\1�~�VVcollection/icon/svg/ios-eye.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M255.8 112c-80.4 0-143.8 50.6-219.6 133.3-5.5 6.1-5.6 15.2-.1 21.3C101 338.3 158.2 400 255.8 400c96.4 0 168.7-77.7 220.1-134 5.3-5.8 5.6-14.6.5-20.7C424 181.8 351.5 112 255.8 112zm4.4 233.9c-53 2.4-96.6-41.2-94.1-94.1 2.1-46.2 39.5-83.6 85.7-85.7 53-2.4 96.6 41.2 94.1 94.1-2.1 46.2-39.5 83.6-85.7 85.7z"/><path d="M256 209c0-6 1.1-11.7 3.1-16.9-1 0-2-.1-3.1-.1-36.9 0-66.6 31.4-63.8 68.9 2.4 31.3 27.6 56.5 58.9 58.9 37.5 2.8 68.9-26.9 68.9-63.8 0-1.3-.1-2.6-.1-3.9-5.6 2.5-11.7 3.9-18.2 3.9-25.2 0-45.7-21.1-45.7-47z"/></svg>PK}w�\��Y"collection/icon/svg/ios-rewind.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M35.9 249.3L244 129.1c5.4-3.1 12.3.6 12.3 6.7V251l211.3-121.9c5.4-3.1 12.3.6 12.3 6.7v240.3c0 6.1-6.9 9.8-12.3 6.7L256.4 261v115.2c0 6.1-6.9 9.8-12.3 6.7L35.9 262.7c-5.2-3-5.2-10.4 0-13.4z"/></svg>PK}w�\�B���collection/icon/svg/md-list.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M80 280h256v48H80zM80 184h320v48H80zM80 88h352v48H80z"/><g><path d="M80 376h288v48H80z"/></g></svg>PK}w�\���� collection/icon/svg/md-share.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M383.822 344.427c-16.045 0-31.024 5.326-41.721 15.979l-152.957-88.42c1.071-5.328 2.142-9.593 2.142-14.919 0-5.328-1.071-9.593-2.142-14.919l150.826-87.35c11.762 10.653 26.741 17.041 43.852 17.041 35.295 0 64.178-28.766 64.178-63.92C448 72.767 419.117 44 383.822 44c-35.297 0-64.179 28.767-64.179 63.92 0 5.327 1.065 9.593 2.142 14.919l-150.821 87.35c-11.767-10.654-26.741-17.041-43.856-17.041-35.296 0-63.108 28.766-63.108 63.92 0 35.153 28.877 63.92 64.178 63.92 17.115 0 32.089-6.389 43.856-17.042l151.891 88.421c-1.076 4.255-2.141 8.521-2.141 13.847 0 34.094 27.806 61.787 62.037 61.787 34.229 0 62.036-27.693 62.036-61.787.001-34.094-27.805-61.787-62.035-61.787z"/></svg>PK}w�\Ͷg��$collection/icon/svg/ios-umbrella.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M407.1 137.9c-34.9-41.6-81.3-67.3-131.2-72.6-2-9.9-10.2-17.3-19.9-17.3s-17.9 7.3-19.9 17.2c-50.6 5.2-97.4 30.3-132.1 71.2-35.8 42.2-55.6 85.5-55.8 143.7-.1.5-.2 1.2-.2 2.1.1 3.2 2.7 5.8 5.8 5.8h3.1c2.6 0 4.9-1.8 5.6-4.4 2.7-10.1 8.4-19.1 16-25.5 7.7-6.5 16.9-9.9 26.6-9.9 9.6 0 18.8 3.4 26.5 10 7.6 6.4 13.2 15.4 16 25.5.7 2.6 3 4.4 5.6 4.4h4.8c2.6 0 4.9-1.8 5.6-4.4 5.7-20.9 23.3-35.4 42.8-35.4 14.8 0 28.8 8.4 36.9 21.9V418c0 9.9-8 18-17.7 18s-17.6-8.1-17.6-18c0-7.7-6.1-14-13.7-14-7.5 0-13.6 6.3-13.6 14 0 25.4 20.2 46 44.9 46 24.8 0 44.9-20.6 44.9-46V270.8c8.2-14.2 21.9-22.6 36.9-22.6 9.6 0 18.7 3.4 26.4 9.9 7.5 6.4 13.1 15.4 15.9 25.5.7 2.6 3 4.4 5.6 4.4h4.8c2.6 0 4.9-1.8 5.6-4.4 2.7-10.1 8.4-19.2 16-25.6 7.7-6.5 16.9-10 26.6-10 9.7 0 19 3.4 26.7 10 7.6 6.4 13.2 15.5 15.9 25.6.7 2.6 3 4.4 5.6 4.4h1.5c1.6 0 3.1-.6 4.2-1.8s1.7-2.7 1.7-4.3c-.8-57.9-21-101.3-56.8-144z"/></svg>PK}w�\o�$I99!collection/icon/svg/ios-cloud.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M437.1 229.8C429 154.6 365.4 96 288 96c-51.2 0-96.3 25.6-123.4 64.7-8.3-3.4-17.4-5.3-26.9-5.3-39.1 0-70.8 34.4-71.4 73.4C26.4 241.5 0 280.5 0 321.5 0 371.7 40.7 416 90.9 416h330.3c50.2 0 90.9-44.3 90.9-94.5-.1-44.7-32.4-84.1-75-91.7z"/></svg>PK}w�\�L�NN)collection/icon/svg/md-cloud-download.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M403.002 217.001C388.998 148.002 328.998 96 256 96c-57.998 0-107.998 32.998-132.998 81.001C63.002 183.002 16 233.998 16 296c0 65.996 53.999 120 120 120h260c55 0 100-45 100-100 0-52.998-40.996-96.001-92.998-98.999zM224 268v-76h64v76h68L256 368 156 268h68z"/></svg>PK}w�\+��j��%collection/icon/svg/ios-hourglass.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M415.6 434h-5.1c-6.5 0-12-.9-12.7-7.4v-.1C383.2 290.6 297.6 288 297.6 256s85.7-34.6 100.2-170.5v-.1c.7-6.5 6.2-7.4 12.7-7.4h5.1c7.5 0 14-5.8 14.4-13.3.4-8-6-14.7-14-14.7H96.4c-7.5 0-14 5.8-14.4 13.3-.4 8 6 14.7 14 14.7h5.5c6.5 0 12 .9 12.7 7.4v.1C128.8 221.4 214.4 224 214.4 256s-85.7 34.6-100.2 170.5v.1c-.7 6.5-6.2 7.4-12.7 7.4h-5.1c-7.5 0-14 5.8-14.4 13.3-.4 8 6 14.7 14 14.7h320c8 0 14.4-6.6 14-14.7-.4-7.5-6.9-13.3-14.4-13.3zm-252.3-34.2c28.7-79.8 79.6-70.1 79.6-101.6v-55.6c0-19.4-36.8-32.9-59.8-64.4-3.8-5.2 0-12.4 6.5-12.4h132.9c6.5 0 10.4 7 6.7 12.2-22.6 31.6-60.1 45.2-60.1 64.6v55.6c0 31.2 48.9 22.7 79.8 101.6 2.8 7.1.7 16-6.9 16H170.2c-7.7 0-9.5-8.8-6.9-16z"/></svg>PK}w�\Y���$collection/icon/svg/ios-checkbox.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M416 64H96c-17.7 0-32 14.3-32 32v320c0 17.7 14.3 32 32 32h320c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-52.5 134.5L229.8 332.8h-.1c-1.7 1.7-6.3 5.5-11.6 5.5-3.8 0-8.1-2.1-11.7-5.7l-56-56c-1.6-1.6-1.6-4.1 0-5.7l17.8-17.8c.8-.8 1.8-1.2 2.8-1.2 1 0 2 .4 2.8 1.2l44.4 44.4 122-122.9c.8-.8 1.8-1.2 2.8-1.2 1.1 0 2.1.4 2.8 1.2l17.5 18.1c1.8 1.7 1.8 4.2.2 5.8z"/></svg>PK}w�\n%T���&collection/icon/svg/md-folder-open.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M437.334 144H256.006l-42.668-48H74.666C51.197 96 32 115.198 32 138.667v234.666C32 396.802 51.197 416 74.666 416h362.668C460.803 416 480 396.802 480 373.333V186.667C480 163.198 460.803 144 437.334 144zM448 373.333c0 5.782-4.885 10.667-10.666 10.667H74.666C68.884 384 64 379.115 64 373.333V176h373.334c5.781 0 10.666 4.885 10.666 10.667v186.666z"/></svg>PK}w�\`�/���%collection/icon/svg/md-tennisball.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M383.8 92.2C348.5 64.5 304.1 48 256 48c-48 0-92.3 16.5-127.6 44 41.6 44.8 64.3 103 64 164.3-.3 61-23.3 118.6-64.9 162.9 35.4 28 80.1 44.8 128.5 44.8 48.5 0 93.3-16.8 128.8-45-41.5-44.3-64.5-101.8-64.8-162.7-.3-61.2 22.3-119.3 63.8-164.1z"/><path d="M353.1 255.1c0 26.9 5.1 53 15.1 77.8 9.6 23.6 23.3 44.9 40.8 63.6 34.1-37.1 55-86.5 55-140.5 0-54.5-21.2-104.2-55.8-141.4-17.1 18.5-30.6 39.6-40 62.7-10 24.8-15.1 51-15.1 77.8zM159.3 255.1c0-26.9-5.1-53-15.1-77.8-9.4-23.2-22.9-44.4-40.2-62.9-34.7 37.2-56 87-56 141.6 0 54.2 21 103.6 55.2 140.7 17.6-18.7 31.4-40.1 41-63.8 10-24.7 15.1-50.9 15.1-77.8z"/></svg>PK}w�\o�&mKK%collection/icon/svg/ios-checkmark.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M362.6 192.9L345 174.8c-.7-.8-1.8-1.2-2.8-1.2-1.1 0-2.1.4-2.8 1.2l-122 122.9-44.4-44.4c-.8-.8-1.8-1.2-2.8-1.2-1 0-2 .4-2.8 1.2l-17.8 17.8c-1.6 1.6-1.6 4.1 0 5.7l56 56c3.6 3.6 8 5.7 11.7 5.7 5.3 0 9.9-3.9 11.6-5.5h.1l133.7-134.4c1.4-1.7 1.4-4.2-.1-5.7z"/></svg>PK}w�\[��h((,collection/icon/svg/md-notifications-off.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 463.656c22.814 0 41.475-18.656 41.475-41.656h-82.95c0 23 18.661 41.656 41.475 41.656z"/><path d="M131.083 107.172l.053.074L98.09 74.277 74.004 98.383l63.042 63.153C126.888 180.521 121 202.196 121 225.07v114.555l-41 41.656V402h297.743l36.182 36.33 24.079-24.301L425.9 402h.316L131.083 107.172zM391 225.07c0-63.526-45-117.677-104-131.218V79.274c0-17.706-13.371-31.243-31-31.243-17.628 0-31 13.537-31 31.243v14.578c-15 3.438-29.048 9.501-41.75 17.663L391 319.355V225.07z"/></svg>PK}w�\���ss*collection/icon/svg/md-radio-button-on.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 152c-57.2 0-104 46.8-104 104s46.8 104 104 104 104-46.8 104-104-46.8-104-104-104zm0-104C141.601 48 48 141.601 48 256s93.601 208 208 208 208-93.601 208-208S370.399 48 256 48zm0 374.4c-91.518 0-166.4-74.883-166.4-166.4S164.482 89.6 256 89.6 422.4 164.482 422.4 256 347.518 422.4 256 422.4z"/></svg>PK}w�\����XX collection/icon/svg/ios-call.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M436.9 364.8c-14.7-14.7-50-36.8-67.4-45.1-20.2-9.7-27.6-9.5-41.9.8-11.9 8.6-19.6 16.6-33.3 13.6-13.7-2.9-40.7-23.4-66.9-49.5-26.2-26.2-46.6-53.2-49.5-66.9-2.9-13.8 5.1-21.4 13.6-33.3 10.3-14.3 10.6-21.7.8-41.9C184 125 162 89.8 147.2 75.1c-14.7-14.7-18-11.5-26.1-8.6 0 0-12 4.8-23.9 12.7-14.7 9.8-22.9 18-28.7 30.3-5.7 12.3-12.3 35.2 21.3 95 27.1 48.3 53.7 84.9 93.2 124.3l.1.1.1.1c39.5 39.5 76 66.1 124.3 93.2 59.8 33.6 82.7 27 95 21.3 12.3-5.7 20.5-13.9 30.3-28.7 7.9-11.9 12.7-23.9 12.7-23.9 2.9-8.1 6.2-11.4-8.6-26.1z"/></svg>PK}w�\�^���collection/icon/svg/md-egg.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 32C185.6 32 80 165.2 80 288.9S150.4 480 256 480s176-67.4 176-191.1S326.4 32 256 32z"/></svg>PK}w�\���uu collection/icon/svg/ios-card.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M480 128c0-17.6-14.4-32-32-32H64c-17.6 0-32 14.4-32 32v48h448v-48zM32 384c0 17.6 14.4 32 32 32h384c17.6 0 32-14.4 32-32V224H32v160zm142-48h164c7.7 0 14 6.3 14 14s-6.3 14-14 14H174c-7.7 0-14-6.3-14-14s6.3-14 14-14zm-72 0h12c7.7 0 14 6.3 14 14s-6.3 14-14 14h-12c-7.7 0-14-6.3-14-14s6.3-14 14-14z"/></svg>PK}w�\�[���collection/icon/svg/md-pint.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M64 48l42.9 379.2c2.6 20.8 20.5 36.8 42.5 36.8h213.3c22 0 39.9-16 42.5-36.8L448 48H64zm327 124.8H121l-9.4-83.2h288.6l-9.2 83.2z"/></svg>PK}w�\iKLbgg&collection/icon/svg/ios-volume-off.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M390.1 464c-4.9 0-9.7-2.5-12.3-7L149.7 69.3c-4-6.7-1.7-15.4 5.1-19.3 6.8-3.9 15.5-1.7 19.5 5.1l228.1 387.7c4 6.7 1.7 15.4-5.1 19.3-2.2 1.3-4.7 1.9-7.2 1.9zM133 200H80c-8.9 0-16 7.2-16 16v80c0 8.8 7.2 16 16 16h53l65.4 52.5c2.9 2.3 6.5 3.5 10.1 3.5 2.4 0 4.7-.5 6.9-1.6 5.6-2.7 9.1-8.3 9.1-14.4V227.9L184 159.1 133 200zM448 256c0-59.3-23.3-114.9-65.5-156.5-4.7-4.7-12.3-4.6-17 .1-4.7 4.7-4.6 12.3.1 17C403.3 153.7 424 203.2 424 256c0 44.4-14.7 86.4-41.7 120.8l13 22C429.4 359.1 448 309 448 256z"/><path d="M385.2 256c0-43.5-16.7-84.3-46.9-114.9-4.7-4.7-12.3-4.8-17-.1-4.7 4.7-4.8 12.3-.1 17 25.8 26.1 40 60.9 40 98.1 0 21.6-4.8 42.5-13.9 61.2l14.2 24.1c15.4-25.4 23.7-54.7 23.7-85.4zM317.6 256c0-27.8-10.7-53.9-30-73.4-4.7-4.7-12.3-4.8-17-.1-.6.6-1.1 1.2-1.6 1.9l48.1 81.8c.3-3.4.5-6.8.5-10.2z"/></svg>PK}w�\��g��$collection/icon/svg/logo-polymer.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M392.3 96h-77.9L160.8 348.6 109.9 256l87.7-160h-77.9L32 256l87.7 160h77.9l153.7-252.6 50.8 92.6-87.7 160h77.9L480 256 392.3 96z"/></svg>PK}w�\=��1��collection/icon/svg/md-bus.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M80 352c0 19.198 13.864 24.531 26.667 36.271v38.396c0 11.729 9.599 21.334 21.333 21.334h21.333c11.734 0 21.334-9.604 21.334-21.334v-21.333h170.666v21.333c0 11.729 9.604 21.334 21.334 21.334H384c11.729 0 21.333-9.604 21.333-21.334v-38.396C418.136 376.531 432 370.136 432 352V148.334C432 73.667 349.864 64 256 64S80 73.667 80 148.334V352zm80 15.989c-18.136 0-32-13.864-32-32 0-18.135 13.864-32 32-32s32 13.865 32 32c0 18.136-13.864 32-32 32zm192 0c-18.136 0-32-13.864-32-32 0-18.135 13.864-32 32-32s32 13.865 32 32c0 18.136-13.864 32-32 32zm32-122.656H128V138.667h256v106.666z"/></svg>PK}w�\��܇��$collection/icon/svg/logo-windows.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M480 265H232v179l248 36V265zM216 265H32v150l184 26.7V265zM480 32L232 67.4V249h248V32zM216 69.7L32 96v153h184V69.7z"/></svg>PK}w�\^�1�s s collection/icon/svg/logo-tux.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M426.3 396c-6.7-4-13.2-11-12-18.8 2.3-15.3 2.5-21.5-.2-25.8-1.9-3.2-5.5-5-8.6-5.8 2-2.5 3.1-5.4 3.8-10.9 1.3-10-4.7-41-12.7-65.7s-29.9-50-44.7-68c-26-31.8-22.8-39.2-26.3-99.7C323.4 62.8 306.3 32 256 32s-67 32-67 59c0 28.7 2 51 2 51 1.3 33.4 1 39.4-8 55.3-4.9 8.7-27 30-35.7 44.7s-7.6 29.5-24.6 52.8c-12.4 17-13.8 28.4-9.7 44-7 8.2-3.6 19.9-5 24.9-2.6 8.7-13.7 10.3-22.3 11s-15.3 0-18.7 5.3.7 16 4.3 30-7.3 15-7.3 31 30 16 59.7 22.7 40.7 16.3 56 16.3 26.8-10.2 38-19.3c7.2-5.9 29-3.7 42.3-3.7s34.3-.6 45.7 2.4S317 480 345 480s34.7-20.7 61-34.3 42-20 42-29.7-15-16-21.7-20zm-226.5 55.5c-1.3 13-12.6 17.1-24.1 16.1-13-1.1-29-7.6-44.1-12.1s-35.5-7.5-49-9.9c-15.3-2.7 0-13.6-.2-34.2-.1-8-7.1-19.4-4.2-24.7s17.3-2.4 22.3-3.8 12.7-5.7 15.3-11.9c1.4-3.4 1.8-17.7 2.9-22.8 1.1-4.9 7.9-7.2 22.2.1s28.9 38.1 42.3 59.8 17.9 30.4 16.6 43.4zm118.5-65.8c2 10.3 3.2 24.5.7 36.3s-7 15.5-10.7 23c-2.2-6.8 5.3-13.8 4.4-30.8-.5-9.5-.8-7.8-11.5 1.8-12.2 10.8-27.6 20.1-53 22.5-21 2-32.5-8.3-32.5-8.3 5 16-4.3 24.7-4.3 24.7.3-3.7.8-14.3-2.5-21.6-4-9-9.3-18.7-9.3-18.7s8.6-2.7 11.6-10 2-17.3-8.7-27.7-52.5-37.6-55.9-42.1c-4.9-6.5-6.7-10.2-7-23.2s5.4-24.8 4.3-20.3c-.8 3.2.1 6.8.1 19.8s7.6 23.3 13.9 25c9.5 2.6 2-26.1 8-53.1s11.7-32.8 19.2-43.8 19.2-20.5 17-43.1-.1-20.1 5.1-11.8c4 6.5 13.3 24 24.7 22 19.4-3.3 43.9-24.6 47.6-28.2 3.7-3.6.7-7.1-2.3-5.8-15.5 6.7-44.3 21.5-51.5 18.2s-18.1-20.6-16.8-19.5c15.4 13.6 19.9 11.1 26.4 9 8.4-2.8 12.8-4.3 28.5-11.3s20.7-5.3 22.3-8.7-.4-6.7-4.7-5.7c-6.4 1.5-3.4 5.1-22.7 12.3-25.3 9.5-33.3 10.3-44 3-8.6-5.9-15-12.7-15-16.7s8.3-8.3 12.3-11.3 12.3-10.9 12.3-10.9 1-7.2-.6-12.7c-1.9-6.5-7.8-9.3-11.9-8.1-4.1 1.1-8 5.5-6.8 14.8 1 8.3 7 11 7 11s-2.7 3.5-5.2 4.7c0 0-.8-.3-3.5-6.3s-6.6-19.5-.3-31.1 19.6-5.2 23.8 3.8c3.9 8.3 2.4 22.7 2.4 22.7 6-2.2 13-2 21 3.5-7.1-29.8 9.5-41.1 22-41.1s22.3 9.6 22.3 25c0 12-3.5 18.2-6.9 22-4.1-.5-8.2-1.5-6.3-3.4 1.3-1.4 4.4-5.7 4.4-13.2s-5.9-13.7-13.7-13.7c-9.2 0-12.6 8.3-13.7 13s-.4 8.6-.2 10.4c.6 5 10.9 9.6 23.9 12.9s11.3 9 8.3 25.3 6.3 18.3 14.3 33.8 5.7 21.8 15.9 35.2 19 47.8 16.4 76.8c-.9 10.5-3.9 10.2 7.3 6.7 5.6-1.7 12-2.7 12-2.7 3.1-6.3 3.4-16.3 3.5-22.3.2-13.5.7-41.5-26.7-71.5 0 0 29.5 21.7 34 62 2.5 22.3-2 32.4-2 32.4 5.3 1.3 9.8 7.3 12.6 11.8 3.7 6.1-3.9-5.8-20-5.8-8.5 0-15.3 3.9-18.5 7.9s-3.1 7.6-3.2 11.7c-7.1-1.2-12.4 0-16.8 4.9-5.6 7-2.8 24.2-.8 34.6zm90.1 47.2c-24.1 10.4-32.7 23.5-47.7 31.5s-27.7 2.3-33.7-8 10.4-28.2 4.7-59.6c-4.4-24.2-6.3-31-4.9-36.8 1.4-5.5 9.4-4.4 11.5-3.9 1.3 5.4 6.7 19.5 27 19.5 0 0 23.2 2.6 32.7-21.2 0 0 5.7-.2 7.2 3.5 2.3 5.8-2.9 16.5-2.8 21.3.3 15.7 11.7 21.1 28.4 32 8.2 5.6 2.1 11.1-22.4 21.7z"/></svg>PK}w�\:(�x��"collection/icon/svg/md-bonfire.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M272.2 350.6c-.8-8.2-8.2-14.6-17.3-14.6-8.3 0-15.2 5.4-16.9 12.5L221.1 441c-.5 2.3-.8 4.6-.8 7 0 17.7 15.5 32 34.7 32s34.7-14.3 34.7-32c0-2.9-.4-5.7-1.2-8.4l-16.3-89zM310.1 355zM404.3 390.3c-1.9-1.4-3.6-2.9-5.6-3.9l-68.9-47.5c-6.3-3.8-13-3.7-17.9.9-4.5 4.1-5.1 10.4-1.8 15.4l53 65.8c1 1.5 2.3 2.8 3.6 4.2 8.5 9.1 27.2 9.6 37.5 0 10.4-9.8 10.3-27.2.1-34.9zM382.2 335zM450.4 322.5l-64.5-2.3c-4.2-.6-8 2.1-8.7 6-.7 3.6 1.5 7.1 5.1 8.8h.1l62.5 17.8c9 1.9 19.1-2.3 19.1-11.6 0-11.9-3.3-17.5-13.6-18.7zM129.5 335zM129.5 335c3.6-1.6 5.7-5.2 5.1-8.8-.7-4-4.5-6.6-8.7-6l-64.5 2.3C51 323.7 48 329.3 48 341.1c0 9.3 9.9 13.6 18.8 11.6l62.5-17.8c.1.1.1.1.2.1zM182.2 338.8l-68.9 47.4c-2 1.1-3.9 2.4-5.6 3.9-10.4 9.6-10.4 25.1 0 34.6 10.4 9.6 27.1 9.6 37.5 0 1.4-1.3 2.6-2.7 3.6-4.2l53-65.6c3.3-5 2.7-11.2-1.8-15.3-4.8-4.5-12.6-4.8-17.8-.8zM256 32s30.2 35.4 30.2 64.4c0 27.8-18.2 50.3-45.9 50.3-27.9 0-48.9-22.5-48.9-50.3l.4-6.9c-27.2 32.3-43.5 76.2-43.5 121.8 0 59.6 48.2 107.8 107.8 107.8s107.8-48.2 107.8-107.8C363.8 138.7 328 53.7 256 32zm-3.9 246.7c-24 0-43.4-18.9-43.4-42.3 0-21.8 14.1-37.2 37.9-42 23.8-4.9 48.5-16.3 62.3-34.8 5.3 17.4 7.9 35.7 7.9 54.4 0 35.7-29 64.7-64.7 64.7z"/></svg>PK}w�\G����!collection/icon/svg/md-rocket.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 421.6c-18.1 0-33.2-6.8-42.9-10.9-5.4-2.3-11.3 1.8-10.9 7.6l3.5 51c.2 3.1 3.8 4.7 6.3 2.8l14.5-11c1.8-1.4 4.5-.9 5.7 1l20.5 32.1c1.5 2.4 5.1 2.4 6.6 0l20.5-32.1c1.2-1.9 3.9-2.4 5.7-1l14.5 11c2.5 1.9 6.1.3 6.3-2.8l3.5-51c.4-5.8-5.5-10-10.9-7.6-9.8 4.1-24.8 10.9-42.9 10.9z"/><path d="M397.7 293.1l-48-49.1c0-158-93.2-228-93.2-228s-94.1 70-94.1 228l-48 49.1c-1.8 1.8-2.6 4.5-2.2 7.1L130.6 412c.9 5.7 7.1 8.5 11.8 5.4l67.1-45.4s20.7 20 47.1 20c26.4 0 46.1-20 46.1-20l67.1 45.4c4.6 3.1 10.8.3 11.8-5.4l18.5-111.9c.2-2.6-.6-5.2-2.4-7zM256.5 192c-17 0-30.7-14.3-30.7-32s13.8-32 30.7-32c17 0 30.7 14.3 30.7 32s-13.7 32-30.7 32z"/></svg>PK}w�\d�%���#collection/icon/svg/md-aperture.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 32C132.288 32 32 132.288 32 256s100.288 224 224 224 224-100.288 224-224S379.712 32 256 32zm135.765 359.765C355.5 428.028 307.285 448 256 448s-99.5-19.972-135.765-56.235C83.972 355.5 64 307.285 64 256s19.972-99.5 56.235-135.765C156.5 83.972 204.715 64 256 64s99.5 19.972 135.765 56.235C428.028 156.5 448 204.715 448 256s-19.972 99.5-56.235 135.765z"/><path d="M200.043 106.067c-40.631 15.171-73.434 46.382-90.717 85.933H256l-55.957-85.933zM412.797 288A160.723 160.723 0 0 0 416 256c0-36.624-12.314-70.367-33.016-97.334L311 288h101.797zM359.973 134.395C332.007 110.461 295.694 96 256 96c-7.966 0-15.794.591-23.448 1.715L310.852 224l49.121-89.605zM99.204 224A160.65 160.65 0 0 0 96 256c0 36.639 12.324 70.394 33.041 97.366L201 224H99.204zM311.959 405.932c40.631-15.171 73.433-46.382 90.715-85.932H256l55.959 85.932zM152.046 377.621C180.009 401.545 216.314 416 256 416c7.969 0 15.799-.592 23.456-1.716L201.164 288l-49.118 89.621z"/></svg>PK}w�\۷���collection/icon/svg/md-man.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 106.6c20.6.1 37.3-16.6 37.3-37.3 0-20.6-16.7-37.3-37.3-37.3-20.6 0-37.3 16.7-37.3 37.3 0 20.6 16.7 37.3 37.3 37.3zM293.4 115h-74.8c-28.2 0-46.6 24.8-46.6 48.4V277c0 22 31 22 31 0V172h6v285.6c0 30.4 42 29.4 43 0V293h8v164.7c1.7 31.2 43 28.2 43-.1V172h5v105c0 22 32 22 32 0V163.4c0-23.5-18.5-48.4-46.6-48.4z"/></svg>PK}w�\b�j��"collection/icon/svg/md-barcode.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M88 128h48v256H88zM232 128h48v256h-48zM160 144h48v224h-48zM304 144h48v224h-48zM376 128h48v256h-48z"/><path d="M104 104V56H16v400h88v-48H64V104zM408 56v48h40v304h-40v48h88V56z"/></svg>PK}w�\�� #collection/icon/svg/ios-fitness.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M352 280H160c-4.4 0-8-3.6-8-8v-32c0-4.4 3.6-8 8-8h192c4.4 0 8 3.6 8 8v32c0 4.4-3.6 8-8 8zM378 362V150c0-12.1 9.9-22 22-22s22 9.9 22 22v212c0 12.1-9.9 22-22 22s-22-9.9-22-22zM460 192h-12c-4.4 0-8 3.6-8 8v112c0 4.4 3.6 8 8 8h12c11 0 20-9 20-20v-88c0-11-9-20-20-20zM134 362V150c0-12.1-9.9-22-22-22s-22 9.9-22 22v212c0 12.1 9.9 22 22 22s22-9.9 22-22zM64 192H52c-11 0-20 9-20 20v88c0 11 9 20 20 20h12c4.4 0 8-3.6 8-8V200c0-4.4-3.6-8-8-8z"/></svg>PK}w�\���V��collection/icon/svg/md-undo.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M262.3 179.6c-57.9 0-110.3 21.6-150.7 56.8L32 160v192h197.5l-79.1-76.8c30.4-25.3 69-41.1 111.8-41.1 77.3 0 143.1 48.2 166 117.8l51.8-14.8c-30.4-91.4-116.2-157.5-217.7-157.5z"/></svg>PK}w�\�ށ��collection/icon/svg/md-tv.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M439.3 76H72.7C50.3 76 32 94 32 116v240c0 22 18.3 40 40.7 40h101.8v40h162.9v-40h101.8c22.4 0 40.5-18 40.5-40l.2-240c.1-22-18.2-40-40.6-40zm0 280H72.7V116h366.5v240z"/></svg>PK}w�\��ٸ||!collection/icon/svg/ios-sunny.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 387c-8.5 0-15.4 6.9-15.4 15.4v46.2c0 8.5 6.9 15.4 15.4 15.4s15.4-6.9 15.4-15.4v-46.2c0-8.5-6.9-15.4-15.4-15.4zM256 48c-8.5 0-15.4 6.9-15.4 15.4v46.2c0 8.5 6.9 15.4 15.4 15.4s15.4-6.9 15.4-15.4V63.4c0-8.5-6.9-15.4-15.4-15.4zM125 256c0-8.5-6.9-15.4-15.4-15.4H63.4c-8.5 0-15.4 6.9-15.4 15.4s6.9 15.4 15.4 15.4h46.2c8.5 0 15.4-6.9 15.4-15.4zM448.6 240.6h-46.2c-8.5 0-15.4 6.9-15.4 15.4s6.9 15.4 15.4 15.4h46.2c8.5 0 15.4-6.9 15.4-15.4s-6.9-15.4-15.4-15.4zM152.5 344.1c-4.1 0-8 1.6-10.9 4.5l-32.7 32.7c-2.9 2.9-4.5 6.8-4.5 10.9s1.6 8 4.5 10.9c2.9 2.9 6.8 4.5 10.9 4.5 4.1 0 8-1.6 10.9-4.5l32.7-32.7c6-6 6-15.8 0-21.8-2.9-2.9-6.8-4.5-10.9-4.5zM359.5 167.9c4.1 0 8-1.6 10.9-4.5l32.7-32.7c2.9-2.9 4.5-6.8 4.5-10.9s-1.6-8-4.5-10.9c-2.9-2.9-6.8-4.5-10.9-4.5-4.1 0-8 1.6-10.9 4.5l-32.7 32.7c-2.9 2.9-4.5 6.8-4.5 10.9s1.6 8 4.5 10.9c2.9 2.9 6.8 4.5 10.9 4.5zM130.7 108.9c-2.9-2.9-6.8-4.5-10.9-4.5-4.1 0-8 1.6-10.9 4.5-2.9 2.9-4.5 6.8-4.5 10.9 0 4.1 1.6 8 4.5 10.9l32.7 32.7c2.9 2.9 6.8 4.5 10.9 4.5 4.1 0 8-1.6 10.9-4.5 2.9-2.9 4.5-6.8 4.5-10.9s-1.6-8-4.5-10.9l-32.7-32.7zM370.4 348.6c-2.9-2.9-6.8-4.5-10.9-4.5-4.1 0-8 1.6-10.9 4.5-6 6-6 15.8 0 21.8l32.7 32.7c2.9 2.9 6.8 4.5 10.9 4.5 4.1 0 8-1.6 10.9-4.5 2.9-2.9 4.5-6.8 4.5-10.9s-1.6-8-4.5-10.9l-32.7-32.7zM256 160c-52.9 0-96 43.1-96 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96z"/></svg>PK}w�\�/��6collection/icon/svg/ios-information-circle-outline.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M235.4 172.2c0-11.4 9.3-19.9 20.5-19.9 11.4 0 20.7 8.5 20.7 19.9s-9.3 20-20.7 20c-11.2 0-20.5-8.6-20.5-20zm1.4 35.7H275V352h-38.2V207.9z"/><path d="M256 76c48.1 0 93.3 18.7 127.3 52.7S436 207.9 436 256s-18.7 93.3-52.7 127.3S304.1 436 256 436c-48.1 0-93.3-18.7-127.3-52.7S76 304.1 76 256s18.7-93.3 52.7-127.3S207.9 76 256 76m0-28C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48z"/></svg>PK}w�\���e��#collection/icon/svg/md-bookmark.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M360 64H152c-22.002 0-40 17.998-40 40v344l144-64 144 64V104c0-22.002-17.998-40-40-40z"/></svg>PK}w�\�E��(collection/icon/svg/ios-code-working.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M446.1 251.6L332 142.7c-1.2-1.1-2.7-1.7-4.1-1.7s-3 .6-4.1 1.7L310 155.9c-1.2 1.1-1.9 2.7-1.9 4.3 0 1.6.7 3.2 1.9 4.3l95.8 91.5-95.8 91.5c-1.2 1.1-1.9 2.7-1.9 4.3 0 1.6.7 3.2 1.9 4.3l13.8 13.2c1.2 1.1 2.6 1.7 4.1 1.7 1.5 0 3-.6 4.1-1.7l114.2-109c1.2-1.1 1.9-2.7 1.9-4.3-.1-1.7-.8-3.2-2-4.4zM106.3 256l95.8-91.5c1.2-1.1 1.9-2.7 1.9-4.3 0-1.6-.7-3.2-1.9-4.3l-13.8-13.2c-1.2-1.1-2.7-1.7-4.1-1.7s-3 .6-4.1 1.7l-114.2 109c-1.2 1.1-1.9 2.7-1.9 4.3 0 1.6.7 3.2 1.9 4.3l114.2 109c1.2 1.1 2.7 1.7 4.1 1.7 1.5 0 3-.6 4.1-1.7l13.8-13.2c1.2-1.1 1.9-2.7 1.9-4.3 0-1.6-.7-3.2-1.9-4.3L106.3 256z"/><circle cx="256" cy="256" r="22"/><circle cx="192" cy="256" r="22"/><circle cx="320" cy="256" r="22"/></svg>PK}w�\9A���!collection/icon/svg/md-ribbon.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 32c-70.7 0-128 57.3-128 128s57.3 128 128 128 128-57.3 128-128S326.7 32 256 32zm0 208c-44.2 0-80-35.8-80-80s35.8-80 80-80 80 35.8 80 80-35.8 80-80 80zM193.7 307.4c-19.1-8.1-36.2-19.6-50.8-34.3-1.4-1.4-2.8-2.8-4.1-4.3L64 400h96l48 80 48-105.8 25.5-56.2c-8.4 1.3-16.9 2-25.5 2-21.6 0-42.5-4.2-62.3-12.6zM373.3 268.9c-1.3 1.4-2.7 2.9-4.1 4.3-14.6 14.6-31.7 26.2-50.7 34.2L294 361.2l-21.9 48.4L304 480l48-80h96l-74.7-131.1z"/></svg>PK}w�\*�ZC�� collection/icon/svg/ios-disc.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 165.8c-49.9 0-90.3 40.4-90.3 90.3s40.4 90.2 90.3 90.2 90.3-40.4 90.3-90.2c0-49.9-40.4-90.3-90.3-90.3zm0 130.6c-22.3 0-40.4-18.1-40.4-40.4s18.1-40.4 40.4-40.4 40.4 18.1 40.4 40.4-18.1 40.4-40.4 40.4z"/><path d="M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zm0 322c-63 0-114-51.1-114-114 0-63 51.1-114 114-114s114 51 114 114-51 114-114 114z"/></svg>PK}w�\y���(collection/icon/svg/md-skip-backward.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M170.7 256L448 448V64L170.7 256zM64 64h64v384H64z"/></svg>PK}w�\ꫢ�NN,collection/icon/svg/ios-arrow-round-back.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M216.4 163.7c5.1 5 5.1 13.3.1 18.4L155.8 243h231.3c7.1 0 12.9 5.8 12.9 13s-5.8 13-12.9 13H155.8l60.8 60.9c5 5.1 4.9 13.3-.1 18.4-5.1 5-13.2 5-18.3-.1l-82.4-83c-1.1-1.2-2-2.5-2.7-4.1-.7-1.6-1-3.3-1-5 0-3.4 1.3-6.6 3.7-9.1l82.4-83c4.9-5.2 13.1-5.3 18.2-.3z"/></svg>PK}w�\nٝ+��#collection/icon/svg/md-airplane.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M448 336v-40L288 192V79.2c0-17.7-14.8-31.2-32-31.2s-32 13.5-32 31.2V192L64 296v40l160-48v113.6l-48 31.2V464l80-16 80 16v-31.2l-48-31.2V288l160 48z"/></svg>PK}w�\CA_#collection/icon/svg/md-list-box.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M408 64H104c-22.091 0-40 17.908-40 40v304c0 22.092 17.909 40 40 40h304c22.092 0 40-17.908 40-40V104c0-22.092-17.908-40-40-40zM304 368H144v-48h160v48zm64-88H144v-48h224v48zm0-88H144v-48h224v48z"/></svg>PK}w�\f�"!collection/icon/svg/md-people.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M337.454 232c33.599 0 61.092-27.002 61.092-60 0-32.997-27.493-60-61.092-60s-61.09 27.003-61.09 60c0 32.998 27.491 60 61.09 60zm-162.908 0c33.599 0 61.09-27.002 61.09-60 0-32.997-27.491-60-61.09-60s-61.092 27.003-61.092 60c0 32.998 27.493 60 61.092 60zm0 44C126.688 276 32 298.998 32 346v54h288v-54c0-47.002-97.599-70-145.454-70zm162.908 11.003c-6.105 0-10.325 0-17.454.997 23.426 17.002 32 28 32 58v54h128v-54c0-47.002-94.688-58.997-142.546-58.997z"/></svg>PK}w�\���� collection/icon/svg/ios-lock.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M376 192h-24v-46.7c0-52.7-42-96.5-94.7-97.3-53.4-.7-97.3 42.8-97.3 96v48h-24c-22 0-40 18-40 40v192c0 22 18 40 40 40h240c22 0 40-18 40-40V232c0-22-18-40-40-40zM270 316.8v68.8c0 7.5-5.8 14-13.3 14.4-8 .4-14.7-6-14.7-14v-69.2c-11.5-5.6-19.1-17.8-17.9-31.7 1.4-15.5 14.1-27.9 29.6-29 18.7-1.3 34.3 13.5 34.3 31.9 0 12.7-7.3 23.6-18 28.8zM324 192H188v-48c0-18.1 7.1-35.1 20-48s29.9-20 48-20 35.1 7.1 48 20 20 29.9 20 48v48z"/></svg>PK}w�\`���'collection/icon/svg/ios-thumbs-down.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M80.7 123.2c-7.5 6.3-16.7 16.1-16.7 31.4 0 13.7 5.7 22.8 10.9 29.1.6 1.2 1.1 2.3 1.6 3.4l.2 1.1c.7 3.5 0 7.1-2 10-3.4 5-5.8 12.3-5.8 25.7 0 11.6 4.8 18.4 9.7 23.2 4.4 4.3 6.1 12.5 4.1 18.3-4.8 13.9-.2 28.4 8.2 37.8 10.5 11.8 20.3 13.2 46.4 11.7 18-1.1 55.5-6.9 80.2-10.8 10.1-1.6 18.9-3 21.6-3.2 12.7-1.3 15.2 0 16.4 4.9.5 2.1-1.9 6.9-4.9 13-4 8.1-9.5 19.2-14.5 35.8-10.1 33.2-9 69.2 2.7 90.2 5.5 9.9 14.8 19.1 26.3 19.1s23.3-2.4 27.9-7.9c3.4-4 2.3-11.6 6.2-26.8 3.1-12.4 7-30.9 12-42 7.5-16.6 39.7-45.1 57-60.4 4.1-3.6 7.6-6.7 10.1-9.1 8.7-8.1 17.6-21.1 25.5-32.7 5.4-7.8 10.4-15.2 13.7-18.5 7.1-7.1 16.6-10.9 22.3-10.9 4.4 0 8-3.6 8-8V88.1c0-4.6-3.7-8.3-8.3-8.3C404 79.8 389 74 373.1 68c-12.2-4.7-24.9-9.5-46.4-12.1-32.4-4-74.2-8.1-112.6-8.1-20.4 0-39.9 2-56.6 3.9-31 3.6-64.2 10.8-75.2 37-4.1 9.7-2.2 17.6.5 23.7.4.8.7 1.7.8 2.6.6 3.3-.6 6.3-2.9 8.2z"/></svg>PK}w�\���j!collection/icon/svg/md-square.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M405.333 64H106.667C83.198 64 64 83.198 64 106.667v298.666C64 428.802 83.198 448 106.667 448h298.666C428.802 448 448 428.802 448 405.333V106.667C448 83.198 428.802 64 405.333 64z"/></svg>PK}w�\��GOO.collection/icon/svg/md-arrow-round-forward.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M284.9 412.6l138.1-134c6-5.8 9-13.7 9-22.4v-.4c0-8.7-3-16.6-9-22.4l-138.1-134c-12-12.5-31.3-12.5-43.2 0-11.9 12.5-11.9 32.7 0 45.2l83 79.4h-214c-17 0-30.7 14.3-30.7 32 0 18 13.7 32 30.6 32h214l-83 79.4c-11.9 12.5-11.9 32.7 0 45.2 12 12.5 31.3 12.5 43.3 0z"/></svg>PK}w�\Q��(collection/icon/svg/ios-return-right.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M441.5 265.4L381.9 206c-2.6-2.6-6.1-4.1-9.9-4.1-3.7 0-7.3 1.4-9.9 4.1-2.6 2.6-4.1 6.1-4.1 9.9s1.5 7.3 4.1 9.9l.1.1 41.1 40.1H142c-13.2 0-25.8-5.2-35.3-14.7-9.5-9.5-14.7-22-14.7-35.3v-48c0-7.7-6.3-14-14-14s-14 6.3-14 14v48c0 20.8 8.1 40.3 22.9 55.1 14.8 14.8 34.3 22.9 55.1 22.9h261.7L364 334.2c-2.6 2.6-4.1 6.1-4.1 9.9 0 3.7 1.4 7.3 4.1 9.9l.1.1c2.7 2.5 6.2 3.9 9.8 3.9 3.9 0 7.3-1.4 9.9-4.1l57.6-57.4c4.2-4.2 6.5-9.8 6.5-15.7.1-5.8-2.2-11.3-6.4-15.4z"/></svg>PK}w�\u�2��#collection/icon/svg/logo-tumblr.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M321.2 396.3c-11.8 0-22.4-2.8-31.5-8.3-6.9-4.1-11.5-9.6-14-16.4-2.6-6.9-3.6-22.3-3.6-46.4V224h96v-64h-96V48h-61.9c-2.7 21.5-7.5 44.7-14.5 58.6-7 13.9-14 25.8-25.6 35.7-11.6 9.9-25.6 17.9-41.9 23.3V224h48v140.4c0 19 2 33.5 5.9 43.5 4 10 11.1 19.5 21.4 28.4 10.3 8.9 22.8 15.7 37.3 20.5 14.6 4.8 31.4 7.2 50.4 7.2 16.7 0 30.3-1.7 44.7-5.1 14.4-3.4 30.5-9.3 48.2-17.6v-65.6c-20.9 13.7-41.8 20.6-62.9 20.6z"/></svg>PK}w�\���[ii"collection/icon/svg/md-options.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M32 384h272v32H32zM400 384h80v32h-80zM384 447.5c0 17.949-14.327 32.5-32 32.5-17.673 0-32-14.551-32-32.5v-95c0-17.949 14.327-32.5 32-32.5 17.673 0 32 14.551 32 32.5v95z"/><g><path d="M32 240h80v32H32zM208 240h272v32H208zM192 303.5c0 17.949-14.327 32.5-32 32.5-17.673 0-32-14.551-32-32.5v-95c0-17.949 14.327-32.5 32-32.5 17.673 0 32 14.551 32 32.5v95z"/></g><g><path d="M32 96h272v32H32zM400 96h80v32h-80zM384 159.5c0 17.949-14.327 32.5-32 32.5-17.673 0-32-14.551-32-32.5v-95c0-17.949 14.327-32.5 32-32.5 17.673 0 32 14.551 32 32.5v95z"/></g></svg>PK}w�\�q�6]]/collection/icon/svg/ios-arrow-dropup-circle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 464c114.9 0 208-93.1 208-208S370.9 48 256 48 48 141.1 48 256s93.1 208 208 208zm0-244.5l-81.1 81.9c-7.5 7.5-19.8 7.5-27.3 0s-7.5-19.8 0-27.3l95.7-95.4c7.3-7.3 19.1-7.5 26.6-.6l94.3 94c3.8 3.8 5.7 8.7 5.7 13.7 0 4.9-1.9 9.9-5.6 13.6-7.5 7.5-19.7 7.6-27.3 0l-81-79.9z"/></svg>PK}w�\, �*aa1collection/icon/svg/ios-arrow-dropleft-circle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zm43.4 289.1c7.5 7.5 7.5 19.8 0 27.3-3.8 3.8-8.7 5.6-13.6 5.6s-9.9-1.9-13.7-5.7l-94-94.3c-6.9-7.6-6.7-19.3.6-26.6l95.4-95.7c7.5-7.5 19.7-7.6 27.3 0 7.5 7.5 7.6 19.7 0 27.3l-81.9 81 79.9 81.1z"/></svg>PK}w�\�S�r%collection/icon/svg/ios-megaphone.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M90.1 187c0-33.4 17.1-62.8 43.5-78.9 2.8-1.7 1.6-6-1.7-6-38.2 0-68.5 30.4-74.1 69.8-5.6.9-9.9 7.3-9.9 14.9 0 8 4.7 14.3 10.8 14.8 6.7 33.8 33.8 55.4 61.2 64.5 4.3.9 7.1-4.5 3.8-7.5-19.6-17.7-33.6-44.3-33.6-71.6z"/><path d="M450.2 102.8c-1-2.7-2.1-5.2-3.2-7.7-6-13.4-13.4-24.2-21.7-32.2-10.5-9.7-21.4-14.9-34.8-14.9-13.5 0-21.5 5.2-25.8 7.8-43.1 25.9-112.3 46-154 46s-39.4.2-39.4.2c-31.6 14-54.8 46.9-54.8 85 0 34.2 17.8 64.2 44.4 80 12.1 10.1 23.6 8.8 21.1 22.2-2.5 13.4-22.5 97.5-25 115s-2.9 27.5 4 36c7 8.5 49.5 23.8 68 23.8s13.8-8.7 13.8-43.8-9.3-131.7 16.5-131.7c48.3 0 73.5 17.3 111.3 31.7 9 3.4 14.1 4.7 20.1 4.7 6 0 18.7-1.9 34.7-18.2 9.2-9.4 15.7-18.8 21.7-32.2 1.1-2.6 2.2-5.2 3.3-8 8.9-23.2 13.7-51.9 13.7-81.9-.1-29.8-4.9-58.6-13.9-81.8zm-26.6 157c-6.4 15.7-17.6 28.2-26.9 28.2-9.3 0-17.8-12.5-24.2-28.2-7.5-18.3-12.3-45-12.3-74.7 0-29.8 4.8-56.6 12.3-74.9 6.4-15.6 14.9-25 24.1-25 9.3 0 20.3 9.5 26.8 25 7.6 18.3 14.5 45.1 14.5 74.9.1 29.7-6.8 56.4-14.3 74.7z"/></svg>PK}w�\*���#collection/icon/svg/ios-refresh.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M433 288.8c-7.7 0-14.3 5.9-14.9 13.6-6.9 83.1-76.8 147.9-161.8 147.9-89.5 0-162.4-72.4-162.4-161.4 0-87.6 70.6-159.2 158.2-161.4 2.3-.1 4.1 1.7 4.1 4v50.3c0 12.6 13.9 20.2 24.6 13.5L377 128c10-6.3 10-20.8 0-27.1l-96.1-66.4c-10.7-6.7-24.6.9-24.6 13.5v45.7c0 2.2-1.7 4-3.9 4C148 99.8 64 184.6 64 288.9 64 394.5 150.1 480 256.3 480c100.8 0 183.4-76.7 191.6-175.1.8-8.7-6.2-16.1-14.9-16.1z"/></svg>PK}w�\`>��!collection/icon/svg/ios-happy.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zm72 152c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm-144 0c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm72 169c-44.7 0-82.3-29.9-94.2-70.7-1.5-5.1 2.3-10.3 7.7-10.3h172.9c5.3 0 9.2 5.1 7.7 10.3-11.8 40.8-49.4 70.7-94.1 70.7z"/></svg>PK}w�\P�II!collection/icon/svg/ios-flask.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M437.4 354.4L320.7 159.9c-.4-.6-.6-1.3-.6-2.1V80c0-2.2 1.8-4 4-4 6.6 0 12-5.4 12-12v-4c0-6.6-5.4-12-12-12H187.8c-6.6 0-12 5.4-12 12v4c0 6.6 5.4 12 12 12 2.2 0 4 1.8 4 4v77.9c0 .7-.2 1.4-.6 2L75.7 354.4c-8.4 15.8-12.5 31.4-12.1 45.6 1.1 36.5 28.8 64 65.2 64h256.6c36.4 0 62.3-27.6 63.2-64 .2-14.2-2.7-29.7-11.2-45.6zM161.8 288c-6.2 0-10.1-6.8-6.9-12.1l60.5-101.7c2.9-4.9 4.5-10.6 4.5-16.3V80c0-1.4-.1-2.7-.2-4h72.7c-.2 1.3-.2 2.6-.2 4v77.9c0 5.8 1.6 11.5 4.6 16.4l60.4 101.6c3.2 5.3-.7 12.1-6.9 12.1H161.8z"/></svg>PK}w�\�w�;;collection/icon/svg/ios-sad.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.1 48 48 141.1 48 256c0 114.7 93.3 208 208 208 114.9 0 208-93.1 208-208 0-114.7-93.3-208-208-208zm-73.9 152.1c14.8-1.2 27 11.1 25.9 25.9-.9 11.6-10.3 21.1-22 22-14.8 1.2-27-11.1-25.9-25.9.9-11.7 10.3-21.1 22-22zm-.7 151.9c-11.5 0-19.3-11.8-14.7-22.4 15-34.5 49.2-58.6 89.3-58.6s74.2 24.1 89.3 58.6c4.6 10.6-3.1 22.4-14.7 22.4 0 0-34.7-4-73.1-4-38.5 0-76.1 4-76.1 4zm148.5-104.1c-14.8 1.2-27-11.1-25.9-25.9.9-11.6 10.3-21.1 22-22 14.8-1.2 27 11.1 25.9 25.9-.9 11.7-10.3 21.1-22 22z"/></svg>PK}w�\%5Jɴ�collection/icon/svg/md-lock.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M376 186h-20v-40c0-55-45-100-100-100S156 91 156 146v40h-20c-22.002 0-40 17.998-40 40v200c0 22.002 17.998 40 40 40h240c22.002 0 40-17.998 40-40V226c0-22.002-17.998-40-40-40zM256 368c-22.002 0-40-17.998-40-40s17.998-40 40-40 40 17.998 40 40-17.998 40-40 40zm62.002-182H193.998v-40c0-34.004 28.003-62.002 62.002-62.002 34.004 0 62.002 27.998 62.002 62.002v40z"/></svg>PK}w�\�G�K��%collection/icon/svg/ios-thumbs-up.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M431.3 388.8c7.5-6.3 16.7-16.1 16.7-31.4 0-13.7-5.7-22.8-10.9-29.1-.6-1.2-1.1-2.3-1.6-3.4l-.2-1.1c-.7-3.5 0-7.1 2-10 3.4-5 5.8-12.3 5.8-25.7 0-11.6-4.8-18.4-9.7-23.2-4.4-4.3-6.1-12.5-4.1-18.3 4.8-13.9.2-28.4-8.2-37.8-10.5-11.8-20.3-13.2-46.4-11.7-18 1.1-55.5 6.9-80.2 10.8-10.1 1.6-18.9 3-21.6 3.2-12.7 1.3-15.2 0-16.4-4.9-.5-2.1 1.9-6.9 4.9-13 4-8.1 9.5-19.2 14.5-35.8 10.1-33.2 9-69.2-2.7-90.2-5.5-9.9-14.8-19.1-26.3-19.1S223.6 50.5 219 56c-3.4 4-2.3 11.6-6.2 26.8-3.1 12.4-7 30.9-12 42-7.5 16.6-39.7 45.1-57 60.4-4.1 3.6-7.6 6.7-10.1 9.1-8.7 8.1-17.6 21.1-25.5 32.7-5.4 7.8-10.4 15.2-13.7 18.5-7.1 7.1-16.6 10.9-22.3 10.9-4.4 0-8 3.6-8 8v159.5c0 4.6 3.7 8.3 8.3 8.3 35.5 0 50.5 5.8 66.4 11.8 12.2 4.7 24.9 9.5 46.4 12.1 32.4 4 74.2 8.1 112.6 8.1 20.4 0 39.9-2 56.6-3.9 31-3.6 64.2-10.8 75.2-37 4.1-9.7 2.2-17.6-.5-23.7-.4-.8-.7-1.7-.8-2.6-.6-3.3.6-6.3 2.9-8.2z"/></svg>PK}w�\e�5`+collection/icon/svg/ios-phone-landscape.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M32 176.3v158.5c0 18.3 14.6 33.1 32.9 33.1h381c18.4 0 34.1-14.8 34.1-33.1V176.3c0-18.3-15.7-32.3-34.1-32.3h-381C46.6 144 32 158 32 176.3zM55 271v-30c0-2.2 1.8-4 4-4s4 1.8 4 4v30c0 2.2-1.8 4-4 4s-4-1.8-4-4zm414-15.5c0 9.6-7.8 17.4-17.4 17.4-9.6 0-17.4-7.8-17.4-17.4 0-9.6 7.8-17.4 17.4-17.4 9.6 0 17.4 7.8 17.4 17.4zM424 160v192H83V160h341z"/><path d="M441.6 255.5c0 5.5 4.5 10 9.9 10 5.5 0 10-4.5 10-10s-4.5-10-10-10c-5.4.1-9.9 4.5-9.9 10z"/></svg>PK}w�\,0�R��*collection/icon/svg/ios-phone-portrait.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M335.7 32H177.1C158.8 32 144 46.6 144 64.9v381c0 18.4 14.8 34.1 33.1 34.1h158.5c18.3 0 32.3-15.7 32.3-34.1v-381C368 46.6 354 32 335.7 32zM241 55h30c2.2 0 4 1.8 4 4s-1.8 4-4 4h-30c-2.2 0-4-1.8-4-4s1.8-4 4-4zm15.5 410c-9.6 0-17.4-7.8-17.4-17.4 0-9.6 7.8-17.4 17.4-17.4 9.6 0 17.4 7.8 17.4 17.4 0 9.6-7.8 17.4-17.4 17.4zm93.5-49H162c-1.1 0-2-.9-2-2V85c0-1.1.9-2 2-2h188c1.1 0 2 .9 2 2v329c0 1.1-.9 2-2 2z"/></svg>PK}w�\o�x��%collection/icon/svg/logo-markdown.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M447.659 96H64.341C46.504 96 32 110.484 32 128.308v255.349C32 401.493 46.504 416 64.341 416h383.318C465.496 416 480 401.493 480 383.656V128.308C480 110.484 465.496 96 447.659 96zM284.023 352h-56.048v-96l-42.04 53.878L143.913 256v96H87.869V160h56.044l42.022 67.98 42.04-67.98h56.048v192zm83.657 0l-69.635-96h42v-96h56.043v96h42.027l-70.453 96h.018z"/></svg>PK}w�\l˩���!collection/icon/svg/ios-build.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M441.1 131.1l-44.9 45.1c-.9.9-2.3 1.3-3.5 1.1l-46.4-8.4c-1.6-.3-2.9-1.6-3.2-3.2l-8.3-46.4c-.2-1.3.2-2.6 1.1-3.5l44.8-45c3.5-3.5 3-9.3-1-12.1-10.1-7.2-22.1-10.7-31.8-10.7-.7 0-1.4 0-2 .1-12.5.7-39.3 7.7-60 29.7-20.1 21.2-41.1 60.6-22.5 104.5 2.2 5.3 4.7 12.3-2.7 19.7C253.1 209.4 61 390.3 61 390.3c-18 15.5-16.7 44.2-.1 60.9 8.5 8.4 20 12.8 31.3 12.8 11.1 0 21.9-4.2 29.6-13.1 0 0 179.4-191.1 188.2-199.8 4-3.9 7.7-5.1 11.1-5.1 3.3 0 6.3 1.2 8.6 2.4 9.9 5.1 21 7.4 32.4 7.4 26.8 0 55-12.4 72.2-29.6 24.4-24.4 28.9-48 29.6-60.1.6-9.9-2.2-22.6-10.7-34.2-2.9-3.8-8.6-4.2-12.1-.8zM102.5 429.3c-5.5 5.4-14.4 5.4-19.9 0-5.4-5.5-5.4-14.4 0-19.9 5.5-5.4 14.4-5.4 19.9 0 5.4 5.6 5.4 14.5 0 19.9z"/></svg>PK}w�\X@�7��"collection/icon/svg/ios-create.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M404.3 86l-202 202c-1.5 1.5-2.3 3.5-2.3 5.6v26.5c0 4.4 3.6 7.9 7.9 7.9h26.3c2.1 0 4.2-.8 5.7-2.3l202.1-202c3.1-3.1 3.1-8.1 0-11.2L415.5 86c-3.1-3.1-8.1-3.1-11.2 0zM475.6 67l-14.4-14.4-.2-.2c-3.1-2.7-7.2-4.4-11.5-4.4-4.4 0-8.5 1.7-11.6 4.5l-11.3 11.4c-1.5 1.6-1.5 4.1 0 5.6L437 79.9l21.7 21.7c1.6 1.6 4.1 1.6 5.7 0l11.3-11.3c2.8-3.1 4.4-7.1 4.4-11.6-.1-4.4-1.7-8.6-4.5-11.7z"/><g><path d="M250 342c-3 3-7.1 4.7-11.3 4.7H197.3c-8.8 0-16-7.2-16-16V289.2c0-4.2 1.7-8.3 4.7-11.3l.8-.8 147.6-147.6c2.5-2.5.7-6.8-2.8-6.8H90.7C58.3 122.7 32 149 32 181.4v224c0 32.4 26.3 58.7 58.7 58.7h256c32.4 0 58.7-26.3 58.7-58.7v-209c0-3.6-4.3-5.3-6.8-2.8L250.8 341.2l-.8.8z"/></g></svg>PK}w�\92���)collection/icon/svg/ios-arrow-forward.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M294.1 256L167 129c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.3 34 0L345 239c9.1 9.1 9.3 23.7.7 33.1L201.1 417c-4.7 4.7-10.9 7-17 7s-12.3-2.3-17-7c-9.4-9.4-9.4-24.6 0-33.9l127-127.1z"/></svg>PK}w�\�Y���,collection/icon/svg/ios-tablet-landscape.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M39 103c-4.5 4.5-7 10.6-7 16.9V392c0 6.4 2.5 12.4 7 16.9 4.5 4.5 10.6 7 16.9 7H456c6.4 0 12.4-2.5 16.9-7 4.5-4.5 7-10.6 7-16.9V119.9c0-6.4-2.5-12.4-7-16.9-4.5-4.5-10.6-7-16.9-7H55.9c-6.3 0-12.4 2.5-16.9 7zm9.7 153.4c0-3.9 3.1-7 7-7s7 3.1 7 7-3.1 7-7 7c-3.8 0-7-3.2-7-7zM470 256c0 7.7-6.5 14-14.1 14-7.5 0-14-6.2-14-14 0-7.7 6.4-14.1 14-14.1 7.6.1 14.1 6.4 14.1 14.1zm-38-144v288H80V112h352z"/></svg>PK}w�\s��Ddd%collection/icon/svg/logo-facebook.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M426.8 64H85.2C73.5 64 64 73.5 64 85.2v341.6c0 11.7 9.5 21.2 21.2 21.2H256V296h-45.9v-56H256v-41.4c0-49.6 34.4-76.6 78.7-76.6 21.2 0 44 1.6 49.3 2.3v51.8h-35.3c-24.1 0-28.7 11.4-28.7 28.2V240h57.4l-7.5 56H320v152h106.8c11.7 0 21.2-9.5 21.2-21.2V85.2c0-11.7-9.5-21.2-21.2-21.2z"/></svg>PK}w�\���4QQcollection/icon/svg/ios-jet.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M464 48s-19.8 1.4-53.1 27.2c-15.5 12-162.2 120.6-162.2 120.6L89 187.9l-41 36.5 102 51.2-8 10.1-81.6 4.1-6.7 33.6 60.6 47.2-26.7 53.6 53.7-26.5 47.3 60.6 33.6-6.7 4.1-81.6 10.1-7.9L287.6 464l36.5-40.9-7.9-159.7s108.6-146.7 120.6-162C462.7 67.8 464 48 464 48z"/></svg>PK}w�\��9:��0collection/icon/svg/md-arrow-dropleft-circle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M464 256c0-114.875-93.125-208-208-208S48 141.125 48 256s93.125 208 208 208 208-93.125 208-208zm-272 0l96-96v192l-96-96z"/></svg>PK}w�\@�v5$collection/icon/svg/ios-arrow-up.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 217.9L383 345c9.4 9.4 24.6 9.4 33.9 0 9.4-9.4 9.3-24.6 0-34L273 167c-9.1-9.1-23.7-9.3-33.1-.7L95 310.9c-4.7 4.7-7 10.9-7 17s2.3 12.3 7 17c9.4 9.4 24.6 9.4 33.9 0l127.1-127z"/></svg>PK}w�\�_�a��$collection/icon/svg/ios-videocam.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M450.6 153.6c-3.3 0-6.5.9-9.3 2.7l-86.5 54.6c-2.5 1.6-4 4.3-4 7.2v76c0 2.9 1.5 5.6 4 7.2l86.5 54.6c2.8 1.7 6 2.7 9.3 2.7h20.8c4.8 0 8.6-3.8 8.6-8.5v-188c0-4.7-3.9-8.5-8.6-8.5h-20.8zM273.5 384h-190C55.2 384 32 360.8 32 332.6V179.4c0-28.3 23.2-51.4 51.4-51.4h190c28.3 0 51.4 23.2 51.4 51.4v153.1c.1 28.3-23 51.5-51.3 51.5z"/></svg>PK}w�\k$�{{&collection/icon/svg/md-mail-unread.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><circle cx="432" cy="128" r="64"/><path d="M382.9 203.4L256 288 80 170.7V128l176 117.3 101.1-67.4c-9.5-14.3-15.1-31.5-15.1-49.9 0-17.6 5.1-34.1 13.9-48H74.7C51.2 80 32 99.2 32 122.7v266.7c0 23.5 19.2 42.7 42.7 42.7h362.7c23.5 0 42.7-19.2 42.7-42.7V204.1c-13.9 8.8-30.4 13.9-48 13.9-18.2 0-35.1-5.4-49.2-14.6z"/></svg>PK}w�\L�bGgg&collection/icon/svg/ios-calculator.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M372 48H140c-17.7 0-32 14.3-32 32v352c0 17.7 14.3 32 32 32h232c17.7 0 32-14.3 32-32V80c0-17.7-14.3-32-32-32zm-12 272v80c0 13.3-10.7 24-24 24s-24-10.7-24-24v-80c0-13.3 10.7-24 24-24s24 10.7 24 24zm0-80c0 13.3-10.7 24-24 24s-24-10.7-24-24 10.7-24 24-24 24 10.7 24 24zm-80 160c0 13.3-10.7 24-24 24s-24-10.7-24-24 10.7-24 24-24 24 10.7 24 24zm0-80c0 13.3-10.7 24-24 24s-24-10.7-24-24 10.7-24 24-24 24 10.7 24 24zm0-80c0 13.3-10.7 24-24 24s-24-10.7-24-24 10.7-24 24-24 24 10.7 24 24zm-80 160c0 13.3-10.7 24-24 24s-24-10.7-24-24 10.7-24 24-24 24 10.7 24 24zm0-80c0 13.3-10.7 24-24 24s-24-10.7-24-24 10.7-24 24-24 24 10.7 24 24zm0-80c0 13.3-10.7 24-24 24s-24-10.7-24-24 10.7-24 24-24 24 10.7 24 24zm-48-80v-48c0-8.8 7.2-16 16-16h176c8.8 0 16 7.2 16 16v48c0 8.8-7.2 16-16 16H168c-8.8 0-16-7.2-16-16z"/></svg>PK}w�\�3Lmm"collection/icon/svg/ios-rocket.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M461.8 53.6c-.4-1.7-1.6-3-3.3-3.4-54.4-13.3-180.1 34.1-248.2 102.2-13.3 13.3-24.2 26.4-33.1 39.1-21-1.9-42-.3-59.9 7.5-50.5 22.2-65.2 80.2-69.3 105.1-1 5.9 3.9 11 9.8 10.4l81.1-8.9c.1 7.8.6 14 1.1 18.3.4 4.2 2.3 8.1 5.3 11.1l31.4 31.4c3 3 6.9 4.9 11.1 5.3 4.3.5 10.5 1 18.2 1.1l-8.9 81c-.6 5.9 4.5 10.8 10.4 9.8 24.9-4 83-18.7 105.1-69.2 7.8-17.9 9.4-38.8 7.6-59.7 12.7-8.9 25.9-19.8 39.2-33.1 68.4-68 115.5-190.9 102.4-248zM298.6 213.5c-16.7-16.7-16.7-43.7 0-60.4 16.7-16.7 43.7-16.7 60.4 0 16.7 16.7 16.7 43.7 0 60.4-16.7 16.7-43.7 16.7-60.4 0z"/><path d="M174.5 380.5c-4.2 4.2-11.7 6.6-19.8 8-18.2 3.1-34.1-12.8-31-31 1.4-8.1 3.7-15.6 7.9-19.7l.1-.1c2.3-2.3.4-6.1-2.8-5.7-9.8 1.2-19.4 5.6-26.9 13.1-18 18-19.7 84.8-19.7 84.8s66.9-1.7 84.9-19.7c7.6-7.6 11.9-17.1 13.1-26.9.3-3.2-3.6-5.1-5.8-2.8z"/></svg>PK}w�\L�U��+collection/icon/svg/md-checkmark-circle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.6 48 48 141.6 48 256s93.6 208 208 208 208-93.6 208-208S370.4 48 256 48zm-42.7 318.9L106.7 260.3l29.9-29.9 76.8 76.8 162.1-162.1 29.9 29.9-192.1 191.9z"/></svg>PK}w�\Rus��� collection/icon/svg/md-clock.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M403.1 108.9c-81.2-81.2-212.9-81.2-294.2 0-81.3 81.2-81.2 212.9 0 294.2 81.2 81.2 212.9 81.2 294.2 0 81.2-81.2 81.2-213 0-294.2zm-16.5 53.2c7.6-4.4 17.5-1.8 21.9 5.9 4.4 7.6 1.8 17.5-5.9 21.9-7.6 4.4-17.5 1.8-21.9-5.9-4.4-7.6-1.8-17.5 5.9-21.9zM80 256c0-8.8 7.2-16 16-16s16 7.2 16 16-7.2 16-16 16-16-7.2-16-16zm45.4 93.9c-7.6 4.4-17.5 1.8-21.9-5.9-4.4-7.6-1.8-17.5 5.9-21.9 7.6-4.4 17.5-1.8 21.9 5.9 4.4 7.6 1.8 17.5-5.9 21.9zm5.9-165.9c-4.4 7.6-14.2 10.3-21.9 5.9-7.6-4.4-10.3-14.2-5.9-21.9 4.4-7.6 14.2-10.3 21.9-5.9 7.7 4.4 10.3 14.3 5.9 21.9zm36.7-80.4c7.6-4.4 17.5-1.8 21.9 5.9 4.4 7.6 1.8 17.5-5.9 21.9s-17.5 1.8-21.9-5.9c-4.4-7.7-1.7-17.5 5.9-21.9zm-7.8 110.7l15.6-26.6 95.2 56.9V384h-31V260.6l-79.8-46.3zm29.7 188.3c-4.4 7.6-14.2 10.3-21.9 5.9s-10.3-14.2-5.9-21.9c4.4-7.6 14.2-10.3 21.9-5.9 7.6 4.4 10.3 14.2 5.9 21.9zM256 432c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm0-320c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm88 296.4c-7.6 4.4-17.5 1.8-21.9-5.9-4.4-7.6-1.8-17.5 5.9-21.9 7.6-4.4 17.5-1.8 21.9 5.9 4.4 7.7 1.7 17.5-5.9 21.9zm5.9-283c-4.4 7.6-14.2 10.3-21.9 5.9s-10.3-14.2-5.9-21.9c4.4-7.6 14.2-10.3 21.9-5.9s10.3 14.3 5.9 21.9zM408.4 344c-4.4 7.6-14.2 10.3-21.9 5.9-7.6-4.4-10.3-14.2-5.9-21.9 4.4-7.6 14.2-10.3 21.9-5.9 7.7 4.4 10.3 14.3 5.9 21.9zm7.6-72c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16z"/></svg>PK}w�\�<I3== collection/icon/svg/md-image.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M448 405.333V106.667C448 83.198 428.802 64 405.333 64H106.667C83.198 64 64 83.198 64 106.667v298.666C64 428.802 83.198 448 106.667 448h298.666C428.802 448 448 428.802 448 405.333zM181.333 288l53.334 64 74.666-96 96 128H106.667l74.666-96z"/></svg>PK}w�\E]��MM$collection/icon/svg/md-mail-open.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M480 201.667c0-14.933-7.469-28.803-20.271-36.266L256 64 52.271 165.401C40.531 172.864 32 186.734 32 201.667v203.666C32 428.802 51.197 448 74.666 448h362.668C460.803 448 480 428.802 480 405.333V201.667zM256 304L84.631 192 256 106.667 427.369 192 256 304z"/></svg>PK}w�\@~S���"collection/icon/svg/ios-laptop.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M448 367.5V129.1c0-9.4-7.9-17.1-17.2-17.1H81.2c-9.3 0-17.2 7.6-17.2 17.1v238.4H15.9c0 9.9 9.9 18.8 18.9 22.7C45.7 394.8 64 400 84 400h344c20 0 38.2-4.5 48.3-8.8 9.5-4 19.8-13.4 19.8-23.7H448zM256 120c2.2 0 4 1.8 4 4s-1.8 4-4 4-4-1.8-4-4 1.8-4 4-4zM82 136.2h348c1.1 0 2 .9 2 2v211.3c0 1.1-.9 2-2 2H82c-1.1 0-2-.9-2-2V138.2c0-1.2.9-2 2-2zm216.3 239.3h-84.6c-5.2 0-9.7-6-9.7-7.5h104c0 1.5-3 7.5-9.7 7.5z"/></svg>PK}w�\%��CWW$collection/icon/svg/ios-document.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M312 155h91c2.8 0 5-2.2 5-5 0-8.9-3.9-17.3-10.7-22.9L321 63.5c-5.8-4.8-13-7.4-20.6-7.4-4.1 0-7.4 3.3-7.4 7.4V136c0 10.5 8.5 19 19 19z"/><path d="M267 136V56H136c-17.6 0-32 14.4-32 32v336c0 17.6 14.4 32 32 32h240c17.6 0 32-14.4 32-32V181h-96c-24.8 0-45-20.2-45-45z"/></svg>PK}w�\�>�Oss$collection/icon/svg/ios-appstore.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zm-78.9 296.9c-2.7 4.6-7.5 7.1-12.5 7.1-2.5 0-5-.6-7.3-2-6.9-4-9.2-12.8-5.2-19.7l14.2-23.6c1.5-2.5 4.1-4 7-4h2.1c10.3 0 17.5 6.2 19.6 12.2l-17.9 30zm120.2-46.4l-93 .1h-61.8c-8.2 0-14.8-6.8-14.4-15 .3-7.8 7.1-13.7 14.9-13.7h44.8l53.1-90.4-17.2-29.3c-3.9-6.7-2.2-15.5 4.4-19.7 7-4.5 16.2-2.2 20.3 4.8l9.2 15.7h.1l9.2-15.7c4.1-7 13.4-9.3 20.3-4.8 6.6 4.2 8.3 13 4.4 19.7l-17.2 29.3-16.7 28.5-36.3 61.9v.1h53.5c6.7 0 15.1 3.6 18.5 9.4l.3.6c3 5.1 4.7 8.6 4.7 13.7-.1 2.8-1.1 4.8-1.1 4.8zm72.2.1h-25.2v.1l18.4 31.3c4 6.8 2.1 15.8-4.8 20-2.3 1.4-4.9 2.1-7.5 2.1-5 0-9.8-2.6-12.5-7.1l-27.2-46.3-16.9-28.8-21.8-37.3c-6.4-10.9-6.7-24.5-.6-35.3 4.3-7.6 7.6-9.6 7.6-9.6l48.5 82.1h41.7c7.8 0 14.5 6 14.9 13.7.3 8.3-6.3 15.1-14.6 15.1z"/></svg>PK}w�\��u��collection/icon/svg/md-move.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M480 256l-96-96v64h-96v-96h64l-96-96-96 96h64v96h-96v-64l-96 96 96 96v-64h96v96h-64l96 96 96-96h-64v-96h96v64z"/></svg>PK}w�\�����$collection/icon/svg/ios-contacts.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zm143.3 263.9c-8.1-2.6-23.7-3.4-29.5-10.4-2.9-3.5-1-16.6-1-16.6 25.2-1.4 31-6.1 31-6.1 3.9-2.3 2.1-2.7.1-6.1-10.9-18.3-6-41.5-6.5-61.6-.4-16.7-4.8-35-20-44.4-7.6-4.7-19.7-6.9-31.4-6.9-9.5 0-18.7 1.4-25.3 4.1-42.4 17-17.4 73.2-31.9 105.4-2.5 5.4-6.1 7.3.2 10.5 0 0 7.5 4.4 28.9 6.3 0 0 .3 12.6 0 13.9-1.1 4.9-11.8 8.3-15.8 9.4-2.7.7-8.7 2.5-16.4 5.7-3.7 1.5-3.1 6.9.8 7.6 3.9.7 8.1 1.7 11.5 2.9 0 0 26.4 6 46 25 13.2 12.7 18.1 27.6 20 44.6.5 4.5-1.7 8.9-5.5 11.5l-5.7 3.6c-1.9 1.1-4.2-.2-4.3-2.4 0-29.5-17.8-55.5-45.8-65.2-13.5-4.7-28.1-5-41.6-9.7-4.1-1.4-12.2-3.1-13.9-7.8-1.6-4.6-1.6-10-1.9-14.8-.2-3.8-.3-7.6-.3-11.4 0-2.5 6.4-7.8 7.8-10.1 5.4-9 5.9-21.1 6.9-31.3 8.7 2.4 9.8-13.7 11.3-18.6 1.1-3.4 5-20.9-2.6-23.6 2.5-4.4 3.5-9.8 4.2-14.7 2-12.8 2.8-26.8-1.1-39.3-8.1-26-33-40.6-59.3-41.4-26.7-.9-53.5 11.9-63.5 37.8-4.8 12.6-4.4 26.3-2.8 39.5.7 6 1.7 12.7 4.7 18.1-6.4 2.8-4.5 17.7-3.4 21.3 1.6 5.1 3 23.4 12.1 20.9.8 8.1 1.7 16.4 3.9 24.3 1.5 5.3 4.6 9.8 8.2 13.9 1.8 2 2.7 2.2 2.6 4.8-.1 7.8.1 16.2-1.9 23.8s-18.7 10.8-25.4 12.2c-14.8 3-28.6 4.7-41.4 11.5C84.8 320.6 76 289 76 256c0-47.9 19.2-94 53.2-127.7C162.7 95 207.1 76.4 254.3 76c47.6-.4 93.7 18.1 127.8 51.5 34.8 34.1 54 79.9 54 128.5 0 24.9-5 48.9-14.5 71.1-5.6-7-13.4-12.3-22.3-15.2z"/></svg>PK}w�\�ץ��!collection/icon/svg/md-photos.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M400 421.3V154.7c0-23.5-19.2-42.7-42.7-42.7H90.7C67.2 112 48 131.2 48 154.7v266.7c0 23.5 19.2 42.7 42.7 42.7h266.7c23.4-.1 42.6-19.3 42.6-42.8zM157.3 304l45.3 64 66.7-96 88 128H90.7l66.6-96z"/><path d="M421.3 48H154.7C131.2 48 112 67.2 112 90.7V96h261.3c23.5 0 42.7 19.2 42.7 42.7V400h5.3c23.5 0 42.7-19.2 42.7-42.7V90.7c0-23.5-19.2-42.7-42.7-42.7z"/></svg>PK}w�\�j�&collection/icon/svg/ios-arrow-back.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M217.9 256L345 129c9.4-9.4 9.4-24.6 0-33.9-9.4-9.4-24.6-9.3-34 0L167 239c-9.1 9.1-9.3 23.7-.7 33.1L310.9 417c4.7 4.7 10.9 7 17 7s12.3-2.3 17-7c9.4-9.4 9.4-24.6 0-33.9L217.9 256z"/></svg>PK}w�\�e��gg!collection/icon/svg/ios-medal.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M50 124c-1.1 0-2 .9-2 2v59.9c0 14.4 9.6 27 23.4 30.8l104 29.4c1.3.4 2.5-.6 2.5-1.9V126c0-1.1-.9-2-2-2H50zM204 126v126.2c0 .9.6 1.7 1.5 1.9l50 13.9c.4.1.7.1 1.1 0l56-15.6c.9-.2 1.5-1 1.5-1.9V126c0-1.1-.9-2-2-2H206c-1.1 0-2 .9-2 2zM334 126v119.2c0 1.3 1.3 2.3 2.6 1.9l104-30.4c13.8-3.9 23.4-16.5 23.4-30.8V126c0-1.1-.9-2-2-2H336c-1.1 0-2 .9-2 2zM48 64v38c0 1.1.9 2 2 2h412c1.1 0 2-.9 2-2V64c0-17.7-14.3-32-32-32H80c-17.7 0-32 14.3-32 32z"/><g><circle cx="256" cy="352" r="56"/><path d="M351.3 266.6l-51.5 13.8c24 14.8 40.1 41.3 40.1 71.6 0 46.3-37.7 84-84 84s-84-37.7-84-84c0-30.4 16.2-57 40.4-71.8L161 266.1c-20.5 22.7-33 52.8-33 85.9 0 70.7 57.3 128 128 128s128-57.3 128-128c0-32.8-12.4-62.7-32.7-85.4z"/><path d="M256 296c30.9 0 56 25.1 56 56s-25.1 56-56 56-56-25.1-56-56 25.1-56 56-56z"/></g></svg>PK}w�\�qea��!collection/icon/svg/ios-image.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M112.6 312.3h190.7c4.5 0 7.1-5.1 4.5-8.8l-95.4-153.4c-2.2-3.2-6.9-3.2-9.1 0L108 303.5c-2.6 3.7.1 8.8 4.6 8.8zM306.7 254.3l35 55.7c1 1.5 2.7 2.4 4.5 2.4h53.2c4.5 0 7.1-5.1 4.5-8.8l-61.6-87.7c-2.2-3.2-6.9-3.2-9.1 0L306.6 248c-1.2 1.8-1.2 4.3.1 6.3zM351.1 167.9c13.1-1.3 23.7-11.9 25-25 1.8-17.7-13-32.5-30.7-30.7-13.1 1.3-23.7 11.9-25 25-1.7 17.7 13 32.5 30.7 30.7z"/><path d="M432 48H80c-17.7 0-32 14.3-32 32v352c0 17.7 14.3 32 32 32h352c17.7 0 32-14.3 32-32V80c0-17.7-14.3-32-32-32zm-2.7 280c0 4.4-3.6 8-8 8H90.7c-4.4 0-8-3.6-8-8V90.7c0-4.4 3.6-8 8-8h330.7c4.4 0 8 3.6 8 8V328z"/></svg>PK}w�\��S�collection/icon/svg/md-text.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M408 64H96c-22.002 0-32 17.998-32 40v344l64-64h280c22.002 0 40-17.998 40-40V104c0-22.002-17.998-40-40-40zM198.4 242H160v-40h38.4v40zm76.8 0h-38.4v-40h38.4v40zm76.8 0h-38.4v-40H352v40z"/></svg>PK}w�\o�'collection/icon/svg/ios-return-left.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M70.5 265.4l59.6-59.4c2.6-2.6 6.1-4.1 9.9-4.1 3.7 0 7.3 1.4 9.9 4.1 2.6 2.6 4.1 6.1 4.1 9.9s-1.5 7.3-4.1 9.9l-.1.1-41.1 40.1H370c13.2 0 25.8-5.2 35.3-14.7 9.5-9.4 14.7-21.9 14.7-35.3v-48c0-7.7 6.3-14 14-14s14 6.3 14 14v48c0 20.8-8.1 40.3-22.9 55.1-14.8 14.8-34.3 22.9-55.1 22.9H108.3l39.6 40.2c2.6 2.6 4.1 6.1 4.1 9.9 0 3.7-1.4 7.3-4.1 9.9l-.1.1c-2.7 2.5-6.2 3.9-9.8 3.9-3.9 0-7.3-1.4-9.9-4.1l-57.6-57.4c-4.2-4.2-6.5-9.8-6.5-15.7 0-5.8 2.3-11.3 6.5-15.4z"/></svg>PK}w�\��U+�� collection/icon/svg/ios-cafe.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M369.7 404H110.1c-7.6 0-14.1 5.8-14.4 13.4-.4 8 6 14.6 14 14.6h259.6c7.6 0 14.1-5.8 14.4-13.4.3-8-6.1-14.6-14-14.6zM399.2 118.5c.1-10.8-4.2-20.9-12.2-28.4-7.2-6.6-16.7-10.1-26.5-10.1H86.8c-9.9 0-19.7 3.6-26.9 10.4-8.1 7.7-12.4 18.2-11.9 29.3C50.4 172 58.3 218 71.8 256.3c11 31.6 25.8 58.1 43.9 78.9 31.8 36.6 68.8 48.8 77.9 48.8h60.1c5.5 0 25-7.2 44.2-19.5 22.4-14.4 42.4-36.7 58.1-64.6 2 .1 4 .2 5.9.2 27.2 0 52.8-9.7 72.1-27.4 19.4-17.8 30.1-41.4 30.1-66.6-.1-38.9-25.9-73.5-64.9-87.6zm-29.7 153.1c14.2-34.5 23.6-76 27.8-123.4 0 0 0-.1.1 0 10.3 5 19.1 12.2 25.8 20.9 8.4 10.9 12.8 23.7 12.8 37 0 34-29.2 62.1-66.5 65.5z"/></svg>PK}w�\ĥ7���!collection/icon/svg/md-basket.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M362.1 205.2L272.9 72.5C269 66.8 262.5 64 256 64c-6.5 0-13 2.8-16.9 8.7l-89.2 132.5H52.4c-11.2 0-20.4 9.1-20.4 20.2 0 1.8.2 3.6.8 5.5l51.7 187.5c4.7 17 20.4 29.5 39.1 29.5h264.7c18.7 0 34.4-12.5 39.3-29.5l51.7-187.5.6-5.5c0-11.1-9.2-20.2-20.4-20.2h-97.4zm-167.2 0l61.1-89 61.1 89H194.9zM256 367.1c-22.4 0-40.7-18.2-40.7-40.5s18.3-40.5 40.7-40.5 40.7 18.2 40.7 40.5-18.3 40.5-40.7 40.5z"/></svg>PK}w�\�.���$collection/icon/svg/md-pricetags.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M442 107v141L229.2 451.7c8 8 20.8 12.3 28.8 12.3s22.8-3.7 31.4-12.3L480 272V144l-38-37z"/><path d="M384 48H224L44.3 235.6c-8 8-12 17.8-12.3 28.4-.3 11.3 3.7 23.3 12.3 31.9l123.8 123.6c8 8 20.8 12.5 28.8 12.5s22.7-3.9 31.3-12.5L416 240V80l-32-32zm-30.7 102.7c-21.7 6.1-41.3-10-41.3-30.7 0-17.7 14.3-32 32-32 20.7 0 36.8 19.6 30.7 41.3-2.9 10.3-11.1 18.5-21.4 21.4z"/></svg>PK}w�\�JdoSS!collection/icon/svg/md-flower.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M405.1 256c25.2-11.9 42.9-37.1 42.9-66.9 0-41-33.6-74.3-75-74.3-15.9 0-30.3 4.8-42.6 13.1l.6-5.6c0-41-33.6-74.3-75-74.3s-75 33.3-75 74.3l.6 5.6c-12-8.3-26.7-13.1-42.6-13.1-41.4 0-75 33.3-75 74.3 0 29.7 17.7 55 42.9 66.9C81.7 267.9 64 293.1 64 322.9c0 41 33.6 74.3 75 74.3 15.9 0 30.3-4.8 42.6-13.1l-.6 5.6c0 41 33.6 74.3 75 74.3s75-33.3 75-74.3l-.6-5.6c12 8.3 26.7 13.1 42.6 13.1 41.4 0 75-33.3 75-74.3 0-29.8-17.7-55-42.9-66.9zM256 330.3c-41.4 0-75-33.3-75-74.3s33.6-74.3 75-74.3 75 33.3 75 74.3-33.6 74.3-75 74.3z"/></svg>PK}w�\�-����(collection/icon/svg/ios-thunderstorm.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M374.4 141.9l-13.3-.1C349.4 88.2 306 48 236 48S108.2 98.4 108.2 169.5l.3 4.8C66.3 179.9 32 219.6 32 264c0 47 37.9 88 84.7 88H236l13.8-50.6H183c-2.6 0-4.5-2.4-3.9-4.9l23.2-113c.4-1.8 2-3.1 3.9-3.1h86.1c2.7 0 4.6 2.6 3.8 5.2l-22.5 74.9h60.1c3.1 0 5.1 3.5 3.4 6.1L283.4 352H367c72 0 113-52 113-110 0-58.6-47.3-100.1-105.6-100.1zM206.8 458.9c-1.2 4.4 4.8 7 7.2 3.2L283.4 352H236l-29.2 106.9z"/></svg>PK}w�\��5��collection/icon/svg/ios-paw.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M324.3 80.3c-1.2-.2-2.4-.3-3.6-.3v.4-.3h-.4c-22 0-42.9 25.9-47.8 60.3-5.3 36.6 9.4 69 32.7 72.4 1.3.2 2.7.3 4 .3 22 0 42.9-25.9 47.8-60.3 5.3-36.7-9.4-69.1-32.7-72.5zM320.6 80zM442.3 169.4c-3.5-1.4-7.1-2.1-10.9-2.1h-.4c-19.7.3-41.8 19.2-53.4 47.8-13.9 34.2-7.5 69.2 14.4 78.2 3.5 1.4 7.1 2.1 10.9 2.1 19.8 0 42.2-19 53.9-47.8 13.8-34.2 7.3-69.2-14.5-78.2zM327.6 295.4c-27.8-43.6-39.8-60-71.6-60s-43.9 16.5-71.7 60c-23.8 37.2-71.9 40.3-83.9 71.9-2.4 5.6-3.6 11.7-3.6 18.2 0 25.7 20.8 46.5 46.4 46.5 31.8 0 75.1-24 112.9-24s80.9 24 112.7 24c25.6 0 46.3-20.8 46.3-46.5 0-6.5-1.3-12.6-3.7-18.2-12-31.7-60-34.7-83.8-71.9zM202.8 213c1.3 0 2.7-.1 4-.3 23.4-3.4 38-35.8 32.7-72.4-5-34.5-25.9-60.3-47.8-60.3-1.3 0-2.7.1-4 .3-23.4 3.4-38 35.8-32.7 72.4 5 34.4 25.9 60.3 47.8 60.3zM120.1 293.3c21.9-9 28.3-44 14.4-78.2-11.7-28.8-34.1-47.8-53.9-47.8-3.8 0-7.4.7-10.9 2.1-21.9 9-28.3 44-14.4 78.2 11.7 28.8 34.1 47.8 53.9 47.8 3.8 0 7.4-.7 10.9-2.1z"/></svg>PK}w�\+��]].collection/icon/svg/logo-game-controller-b.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M135.1 204.6c-10.7 0-19.3 8.7-19.3 19.4s8.7 19.4 19.3 19.4c10.6 0 19.3-8.7 19.3-19.4s-8.6-19.4-19.3-19.4z"/><path d="M466.3 248.9c-21.2-88.5-43.6-135.5-88.5-148.8-9.8-2.9-18.1-4-25.7-4-27.6 0-46.9 14.7-96.1 14.7-49.2 0-68.5-14.7-96.1-14.7-7.7 0-16 1.1-25.7 4-44.9 13.3-67.3 60.4-88.5 148.8-21.2 88.5-17.3 152.4 7.7 164.3 4.1 1.9 8.2 2.8 12.5 2.8 21.7 0 45.1-23.8 67.7-52 25.7-32.1 32.1-33 110.3-33h24.3c78.1 0 84.6.8 110.3 33 22.5 28.2 46 52 67.7 52 4.2 0 8.4-.9 12.5-2.8 24.9-12 28.7-75.9 7.6-164.3zm-331.1 14.7c-21.6 0-39.2-17.8-39.2-39.6s17.6-39.6 39.2-39.6c21.7 0 39.2 17.8 39.2 39.6.1 21.9-17.5 39.6-39.2 39.6zm172.9-19.5c-11.1 0-20.1-9-20.1-20.1 0-11.1 9-20.1 20.1-20.1 11.1 0 20.1 9 20.1 20.1 0 11.1-9 20.1-20.1 20.1zM352 288c-11.1 0-20.1-9-20.1-20 0-11.2 9-20.1 20.1-20.1 11.1 0 20.1 8.9 20.1 20.1 0 11-9 20-20.1 20zm0-87.8c-11.1 0-20.1-9-20.1-20.1 0-11.1 9-20.1 20.1-20.1 11.1 0 20.1 9 20.1 20.1 0 11.1-9 20.1-20.1 20.1zm43.9 43.9c-11.1 0-20.1-9-20.1-20.1 0-11.1 9-20.1 20.1-20.1 11.1 0 20.1 9 20.1 20.1 0 11.1-9 20.1-20.1 20.1z"/></svg>PK}w�\�%�H"collection/icon/svg/ios-search.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M443.5 420.2L336.7 312.4c20.9-26.2 33.5-59.4 33.5-95.5 0-84.5-68.5-153-153.1-153S64 132.5 64 217s68.5 153 153.1 153c36.6 0 70.1-12.8 96.5-34.2l106.1 107.1c3.2 3.4 7.6 5.1 11.9 5.1 4.1 0 8.2-1.5 11.3-4.5 6.6-6.3 6.8-16.7.6-23.3zm-226.4-83.1c-32.1 0-62.3-12.5-85-35.2-22.7-22.7-35.2-52.9-35.2-84.9 0-32.1 12.5-62.3 35.2-84.9 22.7-22.7 52.9-35.2 85-35.2s62.3 12.5 85 35.2c22.7 22.7 35.2 52.9 35.2 84.9 0 32.1-12.5 62.3-35.2 84.9-22.7 22.7-52.9 35.2-85 35.2z"/></svg>PK}w�\�*����!collection/icon/svg/logo-euro.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M234 272v-48h131.094l7.149-48H234v-1.83c0-35.92 14.975-58.086 79.25-58.086 26.264 0 55.867 2.498 93.189 8.742L416 59.866C377.988 51.123 345.306 48 310.057 48 195.326 48 146 89.225 146 165.43V176H96v48h50v48H96v48h50v26.57C146 422.774 195.297 464 310.027 464c35.25 0 67.848-3.123 105.859-11.866l-9.619-64.96c-37.322 6.244-66.781 8.742-93.045 8.742-64.276 0-79.223-18.739-79.223-63.086V320h116.795l7.148-48H234z"/></svg>PK}w�\�|�Lrr&collection/icon/svg/md-git-network.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M448 96c0-35.3-28.7-64-64-64s-64 28.7-64 64c0 23.6 12.9 44.3 32 55.4v52.8l-96 48-96-48v-52.8c19.1-11.1 32-31.8 32-55.4 0-35.3-28.7-64-64-64S64 60.7 64 96c0 23.6 12.9 44.3 32 55.4v92.4l128 64v52.8c-19.1 11.1-32 31.8-32 55.4 0 35.3 28.7 64 64 64s64-28.7 64-64c0-23.6-12.9-44.3-32-55.4v-52.8l128-64v-92.4c19.1-11.1 32-31.8 32-55.4zM128 56c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40zm128 400c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40zm128-320c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40z"/></svg>PK}w�\y���*collection/icon/svg/md-phone-landscape.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M480 358.856V153.143C480 130.512 461.674 112 439.272 112H72.728C50.326 112 32 130.512 32 153.143v205.713C32 381.488 50.326 400 72.728 400h366.545C461.674 400 480 381.488 480 358.856zM112 364V148h288v216H112z"/></svg>PK}w�\�}�fiicollection/icon/svg/md-play.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M96 52v408l320-204L96 52z"/></svg>PK}w�\ H"collection/icon/svg/ios-school.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M96.9 270.3V363c0 2.9 1.5 5.5 4 7l132 75.9c5.3 3.1 12-.8 12-7v-93.8c0-2.9-1.5-5.5-4-7l-132-74.9c-5.4-2.9-12 1-12 7.1zM280.9 445.9L413 370c2.5-1.4 4-4.1 4-7v-93.7c0-6.2-6.6-10-12-7l-132 75.9c-2.5 1.4-4 4.1-4 7V439c-.1 6.1 6.6 10 11.9 6.9z"/><path d="M249 65.1L37 188.9c-5.4 3.1-5.4 10.8 0 13.9l212 117.8c4.9 2.8 11 2.8 15.9 0L453 212.9c5.3-3.1 7 .8 7 7v153.4c0 6.8 3.9 10 11 10 4.4 0 10-3.2 10-10V201.5c0-2.9-1.5-5.5-4-7L264.9 65.1c-4.9-2.8-11-2.8-15.9 0z"/></svg>PK}w�\�"collection/icon/svg/logo-vimeo.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M476.9 114c-5-23.4-17.5-38.8-40.6-46.3s-64.9-4.5-94.1 16.8c-29.9 21.8-47.6 59.7-53.8 83.8 14.7-6.3 24-7.7 39-6.9s24.5 12 24.9 25.3c.3 9.8-.2 18.7-3.6 27.7-10.8 28.7-27.7 56.5-47.6 80.8-2.9 3.6-6.4 6.9-10 9.9-10.2 8.3-18.8 6.1-25.4-5.2-5.4-9.3-9-18.9-12.2-29.1-12.4-39.7-16.8-80.9-23.8-121.6-3.3-19.5-7-39.8-18-56.9-11.6-17.8-28.6-24.6-50-22-14.7 1.8-36.9 17.5-47.8 26.4 0 0-56 46.9-81.8 71.4l21.2 27s17.9-12.5 27.5-18.3c5.7-3.4 12.4-4.1 17.2.2 4.5 3.9 9.6 9 12.3 14.1 5.7 10.7 11.2 21.9 14.7 33.4 13.2 44.3 25.5 88.7 37.8 133.3 6.3 22.8 13.9 44.2 28 63.6 19.3 26.6 39.6 32.7 70.9 21.5 25.4-9.1 46.6-26.2 66-43.9 33.1-30.2 59.1-65.4 85.5-101.2 20.4-27.7 37.3-55.7 51.4-87 13.9-31 19.4-63.5 12.3-96.8z"/></svg>PK}w�\�kNN"collection/icon/svg/ios-expand.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M112.4 92h77.7c7.7 0 13.9-6.2 13.9-13.9v-.2c0-7.7-6.2-13.9-13.9-13.9H77.9C70.2 64 64 70.2 64 77.9v112.2c0 7.7 6.2 13.9 13.9 13.9h.2c7.7 0 13.9-6.2 13.9-13.9v-77.7l117.1 116.3c2.6 2.6 6.1 4 9.8 4 3.7 0 7.2-1.4 9.8-4.1 5.4-5.4 5.4-14.2 0-19.6L112.4 92zM434.1 64H321.9c-7.7 0-13.9 6.2-13.9 13.9v.2c0 7.7 6.2 13.9 13.9 13.9h77.7L283.3 209.1c-5.4 5.4-5.4 14.2 0 19.6 2.6 2.6 6.1 4.1 9.8 4.1 3.7 0 7.2-1.4 9.8-4L420 112.4v77.7c0 7.7 6.2 13.9 13.9 13.9h.2c7.7 0 13.9-6.2 13.9-13.9V77.9c0-7.7-6.2-13.9-13.9-13.9zM218.9 279.2c-3.7 0-7.2 1.4-9.8 4L92 399.6v-77.7c0-7.7-6.2-13.9-13.9-13.9h-.2c-7.7 0-13.9 6.2-13.9 13.9v112.2c0 7.7 6.2 13.9 13.9 13.9h112.2c7.7 0 13.9-6.2 13.9-13.9v-.2c0-7.7-6.2-13.9-13.9-13.9h-77.7l116.3-117.1c5.4-5.4 5.4-14.2 0-19.6-2.6-2.6-6.1-4.1-9.8-4.1zM434.1 308h-.2c-7.7 0-13.9 6.2-13.9 13.9v77.7L302.9 283.3c-2.6-2.6-6.1-4-9.8-4-3.7 0-7.2 1.4-9.8 4.1-5.4 5.4-5.4 14.2 0 19.6l116.3 117h-77.7c-7.7 0-13.9 6.2-13.9 13.9v.2c0 7.7 6.2 13.9 13.9 13.9h112.2c7.7 0 13.9-6.2 13.9-13.9V321.9c0-7.7-6.2-13.9-13.9-13.9z"/></svg>PK}w�\3{凧�"collection/icon/svg/ios-podium.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M64 199.9v208.2c0 4.4 3.5 7.9 7.9 7.9h96.2c4.4 0 7.9-3.5 7.9-7.9V199.9c0-4.4-3.5-7.9-7.9-7.9H71.9c-4.4 0-7.9 3.5-7.9 7.9zM199.9 96c-4.4 0-7.9 3.5-7.9 7.9V416h120.1c4.4 0 7.9-3.5 7.9-7.9V103.9c0-4.4-3.5-7.9-7.9-7.9H199.9zM440.1 256h-96.2c-4.4 0-7.9 3.5-7.9 7.9v144.2c0 4.4 3.5 7.9 7.9 7.9h96.2c4.4 0 7.9-3.5 7.9-7.9V263.9c0-4.4-3.5-7.9-7.9-7.9z"/></svg>PK}w�\J���!! collection/icon/svg/ios-save.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M272 64h-16c-4.4 0-8 3.6-8 8v72c0 4.4 7.6 8 12 8h12c4.4 0 8-3.6 8-8V72c0-4.4-3.6-8-8-8z"/><path d="M433.9 130.1L382 78.2c-9-9-21.3-14.2-34.1-14.2h-28c-8.8 0-16 7.3-16 16.2v80c0 8.8-7.2 16-16 16H160c-8.8 0-16-7.2-16-16v-80c0-8.8-7.2-16.2-16-16.2H96c-17.6 0-32 14.4-32 32v320c0 17.6 14.4 32 32 32h320c17.6 0 32-14.4 32-32V164c0-12.7-5.1-24.9-14.1-33.9zM322 400.1c0 8.8-8 16-17.8 16H143.8c-9.8 0-17.8-7.2-17.8-16v-96c0-8.8 8-16 17.8-16h160.4c9.8 0 17.8 7.2 17.8 16v96z"/></svg>PK}w�\�J[{{%collection/icon/svg/ios-mail-open.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M453.5 209.8c-4-4-158.3-161.4-158.3-161.4C284.8 37.8 270.9 32 256 32c-14.9 0-28.8 5.8-39.2 16.5 0 0-153.6 156.5-158.3 161.4C53.9 214.7 48 224.7 48 236v212c0 17.6 14.4 32 32 32h352c17.6 0 32-14.4 32-32V235c0-11.7-6.6-21.1-10.5-25.2zm-19.4 42.3L353 336.9c-.8.8-.8 2 0 2.8l75.3 80.2c5.1 5.1 5.1 13.3 0 18.4-2.5 2.5-5.9 3.8-9.2 3.8s-6.7-1.3-9.2-3.8l-151-161.2c-1.6-1.7-4.3-1.7-5.8 0L102.2 438.2c-2.5 2.5-5.9 3.8-9.2 3.8s-6.7-1.3-9.2-3.8c-5.1-5.1-5.1-13.3 0-18.4l75.3-80.2c.7-.8.7-2 0-2.8L77.7 252c-9.7-9.9-2.4-35.8 16.1-35.8h324.4c16.5-.1 25.6 26.1 15.9 35.9z"/></svg>PK}w�\S3�Ӭ�#collection/icon/svg/ios-glasses.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M464.5 240.9h-6.2c-3.3-21.1-13.3-40.5-28.5-55.2-17.3-16.6-39.8-25.8-63.4-25.8-20.5 0-40 6.7-56.2 19.4-13.8 10.8-24.2 25.1-30.5 41.7-7-4.6-15.4-7.3-23.7-7.3-8.3 0-16.7 2.6-23.7 7.3-6.2-16.6-16.6-30.9-30.5-41.7-16.2-12.7-35.7-19.4-56.2-19.4-23.6 0-46.1 9.1-63.4 25.6C67 200.4 57 219.9 53.7 241h-6.2c-8 0-14.5 6.7-14.5 15s6.5 15 14.5 15h6.2c3.3 21.2 13.3 40.6 28.5 55.3 17.3 16.6 39.8 25.8 63.4 25.8 51.3 0 93.1-43 93.1-95.9v-.2c0-5.9 6.9-14.9 17.3-14.9s17.3 9 17.3 14.9v.1c0 52.9 41.8 95.9 93.1 95.9 23.7 0 46.2-9.1 63.4-25.8 15.2-14.7 25.2-34.2 28.5-55.4h6.2c8 0 14.5-6.7 14.5-15 0-8.1-6.5-14.9-14.5-14.9z"/></svg>PK}w�\m�_���collection/icon/svg/ios-man.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M255.7 106.6h-.2c-25 0-45.5-20.3-45.5-45.3 0-25 20.4-45.3 45.5-45.3S301 36.3 301 61.3c0 12.1-4.7 23.5-13.3 32-8.5 8.6-19.9 13.3-32 13.3zM221.2 496c-14.4 0-27-10.5-27-30.4l1-277.6h-10v105c0 9.3-3 15.1-6.4 18.3-4.3 4.1-9.1 6.4-15.2 6.4-6.2 0-10.9-2.3-15.2-6.4-3.4-3.2-6.4-8.9-6.4-18.3V171.4c0-13.8 4.4-27.8 13.8-38.4 10.4-11.6 23.6-18 39-18h122.3c15.4 0 28.6 6.4 39 18.1 9.4 10.6 13.8 24.5 13.8 38.3V293c0 7.3-1.7 13.8-6.6 18.3-4.4 4-9.3 6.2-15.5 6.2s-11.1-2.2-15.5-6.2c-4.9-4.5-6.6-11-6.6-18.3V188h-9v277.6c0 19.7-13.4 30.4-27.8 30.4-13.4 0-26.3-9.3-27.4-29.8V325h-12v140.9c-.7 19.7-13.8 30.1-28.3 30.1z"/></svg>PK}w�\�� �LL#collection/icon/svg/md-appstore.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M464 152H360c0-57-46.562-103.859-104-103.859S152 95 152 152H48c18.688 216 13 312 13 312h389.999c-.001 0-5.688-98 13.001-312zM256 74.105c43.008 0 77.999 34.895 77.999 77.895H178c0-43 34.991-77.895 78-77.895zM204 397.64V228.867l142.999 84.387L204 397.64z"/></svg>PK}w�\�m�� collection/icon/svg/ios-film.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M447.9 80H64.1C46.5 80 32 94.5 32 112.1v287.7c0 17.7 14.5 32.1 32.1 32.1h383.7c17.7 0 32.1-14.5 32.1-32.1V112.1c.1-17.6-14.4-32.1-32-32.1zM120 400c0 4.4-3.6 8-8 8H64c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v48zm0-80c0 4.4-3.6 8-8 8H64c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v48zm0-80c0 4.4-3.6 8-8 8H64c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v48zm0-80c0 4.4-3.6 8-8 8H64c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v48zm232 108H160c-6.6 0-12-5.4-12-12s5.4-12 12-12h192c6.6 0 12 5.4 12 12s-5.4 12-12 12zm104 132c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v48zm0-80c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v48zm0-80c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v48zm0-80c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v48z"/></svg>PK}w�\��44 collection/icon/svg/logo-usd.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M411.387 303.256c-3.119-9.577-7.891-18.561-14.301-26.952-6.422-8.382-14.396-15.826-23.93-22.331-9.539-6.498-20.721-11.63-33.553-15.4-5.143-1.363-14.189-3.506-26.104-6.418-8.516-2.074-16.5-4.2-25.5-6.367V120.065c9 2.396 15.252 6.202 21.926 10.43C324.204 139.535 333.157 155 335.78 176h69.174c-.654-18-4.65-32.76-11.996-46.02-8.07-14.543-18.977-27.024-32.73-36.956-13.75-9.922-30.225-17.49-48.377-22.455C303.967 68.416 297 66.605 288 65.386V32h-64v33.167c-7 1.044-15.148 2.445-22.426 4.25-17.242 4.283-32.388 10.868-45.951 19.764-13.571 8.905-24.352 20.112-32.604 33.627-8.251 13.523-12.312 29.52-12.312 48 0 9.585 1.407 18.993 4.157 28.235 2.752 9.241 7.442 17.967 14.042 26.181 6.603 8.214 15.495 15.658 26.687 22.332 11.183 6.672 24.705 12.064 41.576 16.171 9.287 2.345 18.83 4.534 26.83 6.576v119.586c-11-2.919-21.889-7.399-30.678-13.479-9.17-6.327-16.066-13.953-21.198-23.884-4.779-9.229-7.073-20.526-7.407-32.526H96c.695 21 5.25 39.494 13.672 55.371 8.799 16.604 20.533 29.96 35.204 40.562 14.662 10.613 31.393 18.356 51.198 23.491 8.885 2.304 18.926 3.96 27.926 5.23V480h64v-34.54c10-1.069 18.957-2.69 28.527-4.879 18.701-4.273 35.645-11.036 50.316-20.276 14.662-9.24 26.621-21.128 35.611-35.681 8.98-14.541 13.545-32.085 13.545-52.619.001-9.578-1.501-19.164-4.612-28.749zM224 209.699c-12-3.743-23.912-9.088-32.051-16.048-8.621-7.355-12.673-17.534-12.673-30.545 0-9.241 2.414-16.94 7.004-23.102 4.58-6.161 9.912-11.038 16.88-14.631 6.18-3.189 13.84-5.565 20.84-7.138v91.464zm118.902 149.772c-2.939 6.673-7.699 12.576-14.303 17.711-6.602 5.133-15.744 9.328-26.377 12.577-4.5 1.378-8.223 2.444-14.223 3.236v-107.11c10 2.624 18.18 5.332 26.326 8.131 8.062 2.744 15.748 7.443 22.537 14.116 6.785 6.676 10.309 17.03 10.309 31.06.001 6.85-1.337 13.605-4.269 20.279z"/></svg>PK}w�\p��{!!#collection/icon/svg/md-contrast.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zm113.1 321.1C338.9 399.4 298.7 416 256 416V96c42.7 0 82.9 16.6 113.1 46.9C399.4 173.1 416 213.3 416 256s-16.6 82.9-46.9 113.1z"/></svg>PK}w�\�(O���)collection/icon/svg/ios-skip-backward.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M175 100v137.8L403.9 98.1c5.3-3.1 12.1.7 12.1 6.9v302c0 6.2-6.7 10-12.1 6.9L175 274.2V412c0 2.2-1.8 4-4 4h-71c-2.2 0-4-1.8-4-4V100c0-2.2 1.8-4 4-4h71c2.2 0 4 1.8 4 4z"/></svg>PK}w�\@����!collection/icon/svg/ios-water.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M352 146.4c-34.4-48.6-67.5-78.5-90.8-96.6-3.1-2.4-7.3-2.4-10.4-.1-23 17.1-56.1 48.4-90.5 96.5-37.3 52-63 108.4-64.2 170.9 0 1.2-.1 2.5-.1 3.7 0 18.4 3.9 35.9 10.9 52.1 4.1 9.3 9.2 18.1 15.2 26.3 28.5 39 77.8 64.8 133.8 64.8 88.4 0 160.1-64.1 160.1-143.2 0-63.7-27-122.2-64-174.4zm-86 264.3h-.5c-9.9 0-12-14.1-2.6-17.1 45.1-14.2 69.6-38.5 86.4-80.8 3.5-8.9 16.7-6.5 16.8 3.1v1.4c-.1 51.6-44.9 93.4-100.1 93.4z"/></svg>PK}w�\KXg�\\ collection/icon/svg/md-power.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M279.1 48h-46.2v231.1h46.2V48zm111.6 50.2L357.9 131c36.5 29.4 59.9 74.4 59.9 125 0 89.4-72.3 161.8-161.8 161.8S94.2 345.4 94.2 256c0-50.6 23.3-95.7 59.6-125.3l-32.6-32.6C76.4 136.3 48 192.7 48 256c0 114.9 93.1 208 208 208s208-93.1 208-208c0-63.3-28.4-119.7-73.3-157.8z"/></svg>PK}w�\P`��� collection/icon/svg/md-pause.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M96 448h106.7V64H96v384zM309.3 64v384H416V64H309.3z"/></svg>PK}w�\,C�x��,collection/icon/svg/ios-battery-charging.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M396 144H64c-26.4 0-48 21.6-48 48v128c0 26.4 21.6 48 48 48h332c26.4 0 48-21.6 48-48V192c0-26.4-21.6-48-48-48zm20 176c0 11-9 20-20 20H64c-11 0-20-9-20-20V192c0-11 9-20 20-20h332c11 0 20 9 20 20v128zM464 204.6v102.8c16 0 32-27.7 32-51.4s-16-51.4-32-51.4z"/><path d="M384 192H76c-6.6 0-12 5.4-12 12v104c0 6.6 5.4 12 12 12h308c6.6 0 12-5.4 12-12V204c0-6.6-5.4-12-12-12zM218.8 308l8.4-43H200l45.2-61-8.4 43H264l-45.2 61z"/></svg>PK}w�\ǭ�Ҩ� collection/icon/svg/ios-redo.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M32 432h2.9c1.8 0 3.5-1.1 4.1-2.8 2.2-5.7 8.3-19.8 21.4-39.7 21.5-32.7 58.4-67.4 94.5-83.5 27.6-12.4 53-21.5 97.1-23.2 2.3-.1 4.2 1.7 4.2 4v81.6c0 3.2 3.6 5.1 6.2 3.4l215.9-142.2c2.4-1.6 2.4-5.1 0-6.7l-216-142.2c-2.7-1.8-6.2.1-6.2 3.4v82.6c0 2.2-1.7 3.9-3.8 4-71.6 3.8-123.1 24.8-163.4 65.5-61 61.6-56.8 139.1-56.8 158.7 0 10.3-.1 25.3-.1 37.1z"/></svg>PK}w�\T쀧!collection/icon/svg/ios-quote.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M209 96h-65c-26.4 0-48 21.6-48 48v128c0 26.4 21.6 48 48 48h38.7c4.6 0 8.3 3.9 8 8.6-2.3 35.5-18.8 60.2-31.3 74.1-4.7 5.2-1 13.4 5.9 13.4h39.9c2.5 0 4.8-1.1 6.3-3.1 7.4-9.6 28.5-41.6 28.5-93.9v-192c0-17.8-13.3-31.1-31-31.1zM385 96h-65c-26.4 0-48 21.6-48 48v128c0 26.4 21.6 48 48 48h38.7c4.6 0 8.3 3.9 8 8.6-2.3 35.5-18.8 60.2-31.3 74.1-4.7 5.2-1 13.4 5.9 13.4h39.9c2.5 0 4.8-1.1 6.3-3.1 7.4-9.6 28.5-41.6 28.5-93.9v-192c0-17.8-13.3-31.1-31-31.1z"/></svg>PK}w�\b7��WW!collection/icon/svg/ios-flame.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M220.1 48C249.1 182.6 111 179.9 112 315.4c.8 111 118.4 148.6 144.5 148.6 26.1 0 134.8-23.6 143.1-148.6 7.1-106.4-81.7-208-179.5-267.4zm74.3 354.7c-10.2 38.9-66 39-76.4.1-1.5-5.6-2.4-11.5-2.4-17.5 0-41 40.6-88.3 40.6-88.3s40.4 47.3 40.4 88.3c.1 6-.7 11.8-2.2 17.4z"/></svg>PK}w�\�5�ZZ#collection/icon/svg/md-pricetag.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M416 64H257.6L76.5 251.6c-8 8-12.3 18.5-12.5 29-.3 11.3 3.9 22.6 12.5 31.2l123.7 123.6c8 8 20.8 12.5 28.8 12.5s22.8-3.9 31.4-12.5L448 256V96l-32-32zm-30.7 102.7c-21.7 6.1-41.3-10-41.3-30.7 0-17.7 14.3-32 32-32 20.7 0 36.8 19.6 30.7 41.3-2.9 10.3-11.1 18.5-21.4 21.4z"/></svg>PK}w�\pF��nn)collection/icon/svg/logo-designernews.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M290.4 145L227 96l63.6 102.2z"/><path d="M329 96v163h-36.4l-63.2-98.6 1.7 98.6H191V152l-37.3-29.3c1 1.2 2 2.4 2.9 3.7 10 13.9 15 30.5 15 50.5 0 49.2-30.6 82.1-76.9 82.1H32v.4L231.6 416H480V214.1L329 96z"/><path d="M129.9 178.1c0-29-14.2-45.1-39.7-45.1H71v89h19c26 0 39.9-15.4 39.9-43.9z"/></svg>PK}w�\(z��44*collection/icon/svg/ios-cloud-download.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M437.1 165.8C429 90.6 365.4 32 288 32c-51.2 0-96.3 25.6-123.4 64.7-8.3-3.4-17.4-5.3-26.9-5.3-39.1 0-70.8 34.4-71.4 73.4C26.4 177.5 0 216.5 0 257.5 0 307.7 40.7 352 90.9 352H243V211c0-7.2 5.8-13 13-13s13 5.8 13 13v141h152.1c50.2 0 90.9-44.3 90.9-94.5 0-44.7-32.3-84.1-74.9-91.7zM243 435.9l-47.9-47.2c-5.1-5-13.3-5-18.4.1-5 5.1-5 13.3.1 18.4l70 69c2.5 2.4 5.8 3.7 9.1 3.7 1.7 0 3.4-.3 5-1 1.5-.6 2.9-1.6 4.1-2.7l70-69c5.1-5 5.2-13.3.1-18.4-5-5.1-13.3-5.2-18.4-.1L269 435.9V352h-26v83.9z"/></svg>PK}w�\�� LL,collection/icon/svg/ios-arrow-round-down.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M348.3 295.6c-5-5.1-13.3-5.1-18.4-.1L269 356.2V124.9c0-7.1-5.8-12.9-13-12.9s-13 5.8-13 12.9v231.3l-60.9-60.8c-5.1-5-13.3-4.9-18.4.1-5 5.1-5 13.2.1 18.3l83 82.4c1.2 1.1 2.5 2 4.1 2.7 1.6.7 3.3 1 5 1 3.4 0 6.6-1.3 9.1-3.7l83-82.4c5.2-4.9 5.3-13.1.3-18.2z"/></svg>PK}w�\kWb44$collection/icon/svg/ios-football.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.1 48 48 141.1 48 256c0 114.7 93.3 208 208 208 114.9 0 208-93.1 208-208 0-114.7-93.3-208-208-208zm127.3 80.7c8.5 8.5 16.1 17.7 22.6 27.5.7 1 .9 2.4.4 3.5L391.9 201c-.4 1-1.1 1.9-2.1 2.3l-57.5 26.2c-1.4.6-3 .4-4.2-.6l-56.6-47.6a4.1 4.1 0 0 1-1.4-3.1v-63.1c0-1.3.7-2.6 1.8-3.3l38.4-26.1c1-.7 2.3-.9 3.5-.5 25.8 8.9 49.6 23.6 69.5 43.5zm-73.9 297.6c-.4 1.2-1.4 2.1-2.6 2.4-16.3 4.8-33.4 7.2-50.8 7.2-17.5 0-34.5-2.5-50.8-7.2-1.2-.4-2.2-1.3-2.6-2.4l-16.4-43c-.4-1.1-.3-2.3.2-3.3l22.3-42.3c.7-1.3 2.1-2.1 3.5-2.1h87.5c1.5 0 2.8.8 3.5 2.1l22.3 42.3c.5 1 .6 2.2.2 3.3l-16.3 43zm-67.4-311v63.1c0 1.2-.5 2.3-1.4 3.1L183.9 229c-1.2 1-2.8 1.2-4.2.6l-57.5-26.2c-1-.5-1.8-1.3-2.1-2.3l-14.4-41.2c-.4-1.2-.3-2.5.4-3.5 6.5-9.8 14.1-19 22.6-27.5 19.9-19.9 43.7-34.6 69.6-43.3 1.2-.4 2.5-.2 3.5.5l38.4 26.1c1.1.5 1.8 1.7 1.8 3.1zM77.7 264.1l36.1-31.2c1.2-1 2.9-1.3 4.3-.6l52.4 23.8c1.1.5 1.9 1.5 2.2 2.7l14.6 57.3c.2 1 .1 2-.3 2.9l-23.2 43.9c-.7 1.3-2.1 2.2-3.6 2.1l-46-.6c-1.2 0-2.4-.6-3.2-1.6-20.5-27.7-32.5-60.6-34.7-95.4 0-1.3.5-2.5 1.4-3.3zm270.4 98.7L325 319c-.5-.9-.6-1.9-.3-2.9l14.6-57.3c.3-1.2 1.1-2.2 2.2-2.7l52.4-23.8c1.4-.6 3.1-.4 4.3.6l36.1 31.2c.9.8 1.5 2 1.4 3.3-2.1 34.8-14.2 67.6-34.7 95.4-.7 1-1.9 1.6-3.2 1.6l-46.1.6c-1.5-.1-2.9-.9-3.6-2.2z"/></svg>PK}w�\p[ddcollection/icon/svg/md-film.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M376 64v42.667h-40V64H176v42.667h-40V64H96v384h40v-42.666h40V448h160v-42.666h40V448h40V64h-40zM176 362.667h-40V320h40v42.667zm0-85.333h-40v-42.667h40v42.667zM176 192h-40v-42.666h40V192zm200 170.667h-40V320h40v42.667zm0-85.333h-40v-42.667h40v42.667zM376 192h-40v-42.666h40V192z"/></svg>PK}w�\ϩ����collection/icon/svg/md-leaf.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M416 287.6C416 120.9 256 32 256 32S96 120.9 96 287.6c0 118.8 81.3 140.5 128 143.2V480h64v-49.3c46.7-2.6 128-24.3 128-143.1z"/></svg>PK}w�\�v/��0collection/icon/svg/md-remove-circle-outline.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 90c44.3 0 86 17.3 117.4 48.6C404.7 170 422 211.7 422 256s-17.3 86-48.6 117.4C342 404.7 300.3 422 256 422s-86-17.3-117.4-48.6C107.3 342 90 300.3 90 256s17.3-86 48.6-117.4C170 107.3 211.7 90 256 90m0-42C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48z"/><path d="M363 277H149v-42h214v42z"/></svg>PK}w�\��� collection/icon/svg/ios-link.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M280 341.1l-1.2.1c-3.6.4-7 2-9.6 4.5l-64.6 64.6c-13.7 13.7-32 21.2-51.5 21.2s-37.8-7.5-51.5-21.2c-13.7-13.7-21.2-32-21.2-51.5s7.5-37.8 21.2-51.5l68.6-68.6c3.5-3.5 7.3-6.6 11.4-9.3 4.6-3 9.6-5.6 14.8-7.5 4.8-1.8 9.9-3 15-3.7 3.4-.5 6.9-.7 10.2-.7 1.4 0 2.8.1 4.6.2 17.7 1.1 34.4 8.6 46.8 21 7.7 7.7 13.6 17.1 17.1 27.3 2.8 8 11.2 12.5 19.3 10.1.1 0 .2-.1.3-.1.1 0 .2 0 .2-.1 8.1-2.5 12.8-11 10.5-19.1-4.4-15.6-12.2-28.7-24.6-41-15.6-15.6-35.9-25.8-57.6-29.3-1.9-.3-3.8-.6-5.7-.8-3.7-.4-7.4-.6-11.1-.6-2.6 0-5.2.1-7.7.3-5.4.4-10.8 1.2-16.2 2.5-1.1.2-2.1.5-3.2.8-6.7 1.8-13.3 4.2-19.5 7.3-10.3 5.1-19.6 11.7-27.7 19.9l-68.6 68.6C58.9 304.4 48 330.8 48 359c0 28.2 10.9 54.6 30.7 74.4C98.5 453.1 124.9 464 153 464c28.2 0 54.6-10.9 74.4-30.7l65.3-65.3c10.4-10.5 2-28.3-12.7-26.9z"/><path d="M433.3 78.7C413.5 58.9 387.1 48 359 48s-54.6 10.9-74.4 30.7l-63.7 63.7c-9.7 9.7-3.6 26.3 10.1 27.4 4.7.4 9.3-1.3 12.7-4.6l63.8-63.6c13.7-13.7 32-21.2 51.5-21.2s37.8 7.5 51.5 21.2c13.7 13.7 21.2 32 21.2 51.5s-7.5 37.8-21.2 51.5l-68.6 68.6c-3.5 3.5-7.3 6.6-11.4 9.3-4.6 3-9.6 5.6-14.8 7.5-4.8 1.8-9.9 3-15 3.7-3.4.5-6.9.7-10.2.7-1.4 0-2.9-.1-4.6-.2-17.7-1.1-34.4-8.6-46.8-21-7.3-7.3-12.8-16-16.4-25.5-2.9-7.7-11.1-11.9-19.1-9.8-8.9 2.3-14.1 11.7-11.3 20.5 4.5 14 12.1 25.9 23.7 37.5l.2.2c16.9 16.9 39.4 27.6 63.3 30.1 3.7.4 7.4.6 11.1.6 2.6 0 5.2-.1 7.8-.3 6.5-.5 13-1.6 19.3-3.2 6.7-1.8 13.3-4.2 19.5-7.3 10.3-5.1 19.6-11.7 27.7-19.9l68.6-68.6c19.8-19.8 30.7-46.2 30.7-74.4s-11.1-54.6-30.9-74.4z"/></svg>PK}w�\�wkq��!collection/icon/svg/md-beaker.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M448.1 34.9c0-1.2-.4-2.9-2.9-2.9H128.5c-54.3 0-64.4 27.4-64.4 39.8C94.4 76 96 76.5 96 108.5v307c0 35.3 28.9 64.5 64.3 64.5H368c35.3 0 64-29.2 64-64.5V73.3c2.2-17.5 12-31.8 13.1-33.5 1.2-1.9 3-3.8 3-4.9zM354.2 432H176.3c-15.9 0-29.7-11.9-32.3-27.1V80h240v319.7c0 18-12.4 32.3-29.8 32.3z"/><path d="M182 160v226c0 4.4 3.6 8 8 8h148c4.4 0 8-3.6 8-8V160H182z"/></svg>PK}w�\c��F�� collection/icon/svg/md-globe.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.124 48 48 141.125 48 256s93.124 208 208 208c114.875 0 208-93.125 208-208S370.875 48 256 48zm-21.549 384.999c-39.464-4.726-75.978-22.392-104.519-50.932C96.258 348.393 77.714 303.622 77.714 256c0-42.87 15.036-83.424 42.601-115.659.71 8.517 2.463 17.648 2.014 24.175-1.64 23.795-3.988 38.687 9.94 58.762 5.426 7.819 6.759 19.028 9.4 28.078 2.583 8.854 12.902 13.498 20.019 18.953 14.359 11.009 28.096 23.805 43.322 33.494 10.049 6.395 16.326 9.576 13.383 21.839-2.367 9.862-3.028 15.937-8.13 24.723-1.557 2.681 5.877 19.918 8.351 22.392 7.498 7.497 14.938 14.375 23.111 21.125 12.671 10.469-1.231 24.072-7.274 39.117zm147.616-50.932c-25.633 25.633-57.699 42.486-92.556 49.081 4.94-12.216 13.736-23.07 21.895-29.362 7.097-5.476 15.986-16.009 19.693-24.352 3.704-8.332 8.611-15.555 13.577-23.217 7.065-10.899-17.419-27.336-25.353-30.781-17.854-7.751-31.294-18.21-47.161-29.375-11.305-7.954-34.257 4.154-47.02-1.417-17.481-7.633-31.883-20.896-47.078-32.339-15.68-11.809-14.922-25.576-14.922-42.997 12.282.453 29.754-3.399 37.908 6.478 2.573 3.117 11.42 17.042 17.342 12.094 4.838-4.043-3.585-20.249-5.212-24.059-5.005-11.715 11.404-16.284 19.803-24.228 10.96-10.364 34.47-26.618 32.612-34.047s-23.524-28.477-36.249-25.193c-1.907.492-18.697 18.097-21.941 20.859.086-5.746.172-11.491.26-17.237.055-3.628-6.768-7.352-6.451-9.692.8-5.914 17.262-16.647 21.357-21.357-2.869-1.793-12.659-10.202-15.622-8.968-7.174 2.99-15.276 5.05-22.45 8.039 0-2.488-.302-4.825-.662-7.133a176.585 176.585 0 0 1 45.31-13.152l14.084 5.66 9.944 11.801 9.924 10.233 8.675 2.795 13.779-12.995L282 87.929V79.59c27.25 3.958 52.984 14.124 75.522 29.8-4.032.361-8.463.954-13.462 1.59-2.065-1.22-4.714-1.774-6.965-2.623 6.531 14.042 13.343 27.89 20.264 41.746 7.393 14.801 23.793 30.677 26.673 46.301 3.394 18.416 1.039 35.144 2.896 56.811 1.788 20.865 23.524 44.572 23.524 44.572s10.037 3.419 18.384 2.228c-7.781 30.783-23.733 59.014-46.769 82.052z"/></svg>PK}w�\2��yy#collection/icon/svg/md-settings.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M413.967 276.8c1.06-6.235 1.06-13.518 1.06-20.8s-1.06-13.518-1.06-20.8l44.667-34.318c4.26-3.118 5.319-8.317 2.13-13.518L418.215 115.6c-2.129-4.164-8.507-6.235-12.767-4.164l-53.186 20.801c-10.638-8.318-23.394-15.601-36.16-20.801l-7.448-55.117c-1.06-4.154-5.319-8.318-10.638-8.318h-85.098c-5.318 0-9.577 4.164-10.637 8.318l-8.508 55.117c-12.767 5.2-24.464 12.482-36.171 20.801l-53.186-20.801c-5.319-2.071-10.638 0-12.767 4.164L49.1 187.365c-2.119 4.153-1.061 10.399 2.129 13.518L96.97 235.2c0 7.282-1.06 13.518-1.06 20.8s1.06 13.518 1.06 20.8l-44.668 34.318c-4.26 3.118-5.318 8.317-2.13 13.518L92.721 396.4c2.13 4.164 8.508 6.235 12.767 4.164l53.187-20.801c10.637 8.318 23.394 15.601 36.16 20.801l8.508 55.117c1.069 5.2 5.318 8.318 10.637 8.318h85.098c5.319 0 9.578-4.164 10.638-8.318l8.518-55.117c12.757-5.2 24.464-12.482 36.16-20.801l53.187 20.801c5.318 2.071 10.637 0 12.767-4.164l42.549-71.765c2.129-4.153 1.06-10.399-2.13-13.518l-46.8-34.317zm-158.499 52c-41.489 0-74.46-32.235-74.46-72.8s32.971-72.8 74.46-72.8 74.461 32.235 74.461 72.8-32.972 72.8-74.461 72.8z"/></svg>PK}w�\����#collection/icon/svg/md-contract.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M64 371.2h76.795V448H192V320H64v51.2zm76.795-230.4H64V192h128V64h-51.205v76.8zM320 448h51.2v-76.8H448V320H320v128zm51.2-307.2V64H320v128h128v-51.2h-76.8z"/></svg>PK}w�\lM�� collection/icon/svg/md-water.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M380.5 163.3L256 32 131.5 163.3c-68.6 72.4-68.6 190 0 262.4C165.8 461.9 210.9 480 256 480s90.2-18.1 124.5-54.3c68.7-72.4 68.7-190 0-262.4z"/></svg>PK}w�\fyZ��'collection/icon/svg/md-cloud-circle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.6 48 48 141.6 48 256s93.6 208 208 208 208-93.6 208-208S370.4 48 256 48zm93.6 291.2H172.801c-34.318 0-62.4-28.082-62.4-62.399 0-34.319 28.082-62.4 62.4-62.4h3.117c9.364-36.4 41.601-62.399 80.083-62.399 45.764 0 83.199 37.435 83.199 83.198h10.4c29.118 0 52 22.882 52 52.001 0 29.117-22.882 51.999-52 51.999z"/></svg>PK}w�\ �����#collection/icon/svg/md-download.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M416 199.5h-91.4V64H187.4v135.5H96l160 158.1 160-158.1zM96 402.8V448h320v-45.2H96z"/></svg>PK}w�\�8O""%collection/icon/svg/ios-ice-cream.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M220.8 406.1l4.8 14.8c.4 1.2 1.9 1.8 3 1.1l6.8-4.2c2.5-1.6 2.5-5.2 0-6.8l-11.5-7.2c-1.7-1-3.6.5-3.1 2.3zM286.6 421l4.9-15.2c.6-1.8-1.4-3.3-3-2.3l-11.9 7.4a4.02 4.02 0 0 0 0 6.8l7 4.4c1.2.7 2.6.1 3-1.1zM188.6 242.2c-3.9 3.5-9.6 6.4-15.7 8.5-1 .4-1.6 1.5-1.2 2.5l9.3 28.9 3.8 11.8c.4 1.2 1.9 1.8 3 1.1l7-4.3 36.6-22.5c3-1.9 2.3-6.5-1.2-7.3-14.3-3.3-26.5-9.8-36.2-18.5-1.6-1.4-3.9-1.5-5.4-.2zM192.6 310.8l-2 1.2 14.6 45.3c.4 1.2 1.9 1.8 3 1.1l27.2-16.9c2.5-1.6 2.5-5.2 0-6.8l-38.5-23.9c-1.4-.8-3-.8-4.3 0zM258.1 348.9c-1.3-.8-2.9-.8-4.2 0L212 374.5l-.1.1c-1 .8-1 2.4 0 3.2l.7.5 41.3 25.3c1.3.8 2.9.8 4.2 0l41.7-25.5.4-.3c1-.8 1-2.2 0-3l-42.1-25.9zM296.7 296.6l-38.5-23.9c-1.3-.8-2.9-.8-4.2 0l-38.5 23.9a4.02 4.02 0 0 0 0 6.8l38.5 23.9c1.3.8 2.9.8 4.2 0l38.5-23.9c2.5-1.5 2.5-5.2 0-6.8zM318.1 242.3c-9.7 8.7-22 15.1-36.2 18.5-3.5.8-4.2 5.4-1.2 7.3l36.6 22.5 7.4 4.6c1.1.7 2.6.2 3-1.1l4-12.4 9.8-30.3c-6.9-2.1-13.6-5.3-18-9.2-1.6-1.3-3.9-1.2-5.4.1zM232.4 442l1.6 5s7.5 19 22 19c15 0 22.2-19 22.2-19l1.6-4.8c.6-1.7-.1-3.7-1.7-4.6l-20-12.4c-1.3-.8-2.9-.8-4.2 0l-19.8 12.3c-1.6.8-2.3 2.7-1.7 4.5zM276.7 341.5l27.5 17.1c1.1.7 2.6.2 3-1.1l14.2-43.8c.3-.9-.1-1.8-.8-2.3l-1-.6c-1.3-.8-2.9-.8-4.2 0l-38.5 23.9c-2.8 1.6-2.8 5.3-.2 6.8z"/><path d="M376.1 168.2c-6.2 5.4-13.2 8.7-18 10.5-1.8.7-3.5-1.4-2.3-3l4-5.7c6.1-8.7 8.5-19.4 6.8-29.8C357.9 86.8 311.7 46 256 46c-55.7 0-101.9 41.2-110.6 94.7-1.7 10.5.8 21.2 6.9 29.8l4 5.6c1.2 1.6-.5 3.8-2.4 3-5.4-2.1-13.5-6.2-20.1-12.8-1.4-1.4-3.6-1.5-5.2-.4-10.2 7.3-16.8 19.1-16.8 32.5 0 22.1 17.9 40 40 40 11.3 0 28-4.7 36.6-12.3 1.5-1.3 3.8-1.3 5.3.1 15.2 13.4 36.6 20.2 62.1 20.2s47-6.8 62.1-20.2c1.5-1.3 3.8-1.4 5.3-.1 8.5 7.6 25.3 12.3 36.6 12.3 22.1 0 40-18 40-40.1 0-11.9-5.2-22.6-13.5-30-2.7-2.6-7.2-2.7-10.2-.1z"/></svg>PK}w�\�=��)collection/icon/svg/md-reverse-camera.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M440 96h-88l-32-32H192l-32 32H72c-22.1 0-40 17.9-40 40v272c0 22.1 17.9 40 40 40h368c22.1 0 40-17.9 40-40V136c0-22.1-17.9-40-40-40zm-72 171h-97.7l44.8-45.1c-14.7-15.4-35.7-25.5-58.8-25.5-46.2 0-84 37.8-84 84s37.8 84 84 84c35.5 0 66.2-21.5 78.2-53.5h29.6c-13.4 47-56.2 81.5-107.8 81.5-62.3 0-112-50.4-112-112s50.4-112 112-112c30.8 0 58.7 12.6 79 32.9l32.8-32.9V267z"/></svg>PK}w�\ �+��collection/icon/svg/md-paw.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M459.5 165.9c-4.7-10.5-12.7-18.1-23.1-22-4.8-1.7-9.7-2.6-14.8-2.6-21.7 0-43.7 16.7-54.9 41.6-13.8 30.9-5.8 61 18.6 70.3 4.9 1.8 10.1 2.8 15.6 2.8 22.1 0 44.6-15.3 55.9-38.1 8.5-17.5 9.5-36.8 2.7-52zM145.3 182.8c-11.1-24.9-33.2-41.6-54.9-41.6-5.1 0-10.1.9-14.8 2.6-10.4 3.9-18.3 11.5-23.1 22-6.9 15.2-5.9 34.6 2.7 51.9 11.3 22.8 33.8 38.1 55.9 38.1 5.4 0 10.7-.9 15.6-2.8 24.4-9.1 32.4-39.3 18.6-70.2zM193.5 179.4c2 .1 4 0 6-.2 11.7-.9 22.3-5.9 30.6-14.3 13.4-13.6 17.1-34.9 14.3-56.8-4.3-33.7-25.8-59-54.8-60.1 0 0-4.1 0-6.2.2-12.8 1.1-24.4 6.5-33.5 15.9-13.3 13.6-19.7 33.7-17.1 53.8 4.3 33.4 30.9 60.4 60.7 61.5zM256 224c-69.3 0-138.7 97.1-138.7 176.3 0 23.6 11.8 42.6 23.5 50.4 14.4 9.6 24.5 13.4 45.5 13.4 13.4 0 21.6-2.5 28.1-6.1 12.3-6.7 25.9-10.4 39.9-10.4h3.5c14 0 27.6 3.8 39.9 10.4 6.5 3.5 14.7 6.1 28.1 6.1 21.1 0 31.2-3.8 45.5-13.4 11.6-7.8 23.5-26.8 23.5-50.4C394.7 321 325.3 224 256 224zM312.6 179.1c2 .2 4 .2 6 .2 29.8-1.1 56.5-28 60.8-61.5 2.6-20.2-3.8-40.4-17.1-53.8-9.2-9.3-20.3-14.6-33.1-15.6-2.1-.2-6.7-.2-6.7-.2-28.9 1.1-50.4 26.1-54.8 59.9-2.8 21.9.9 43.3 14.3 56.8 8.4 8.3 19 13.2 30.6 14.2z"/></svg>PK}w�\��DD&collection/icon/svg/ios-git-branch.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M352 96c-38.6 0-70 31.4-70 70 0 33.4 23.7 61.9 55.9 68.5-1.2 19.1-10.3 29.3-27 42.2-20.4 15.7-46.7 20-65.3 23.4-40.7 7.4-62.9 27-72.5 40V170.8c15-2.8 28.7-10.5 39-21.9 11.6-12.9 18-29.5 18-46.9 0-38.6-31.4-70-70-70s-70 31.4-70 70c0 17 6.2 33.3 17.3 46.1 9.9 11.3 23.1 19.1 37.7 22.3v171.3c-14.5 3.2-27.8 11-37.7 22.3C96.2 376.7 90 393 90 410c0 38.6 31.4 70 70 70s70-31.4 70-70c0-23.4-11.6-44.9-30.7-57.9 8.6-9.7 24.5-19.6 51.1-24.4 21.6-3.9 52.6-9.6 77.4-28.8 23.6-18.2 36.7-36.5 38-64.3 32.3-6.5 56.1-35.1 56.1-68.6.1-38.6-31.3-70-69.9-70zm-234 6c0-23.2 18.8-42 42-42s42 18.8 42 42-18.8 42-42 42-42-18.8-42-42zm84 308c0 23.2-18.8 42-42 42s-42-18.8-42-42 18.8-42 42-42 42 18.8 42 42zm150-202c-23.2 0-42-18.8-42-42s18.8-42 42-42 42 18.8 42 42-18.8 42-42 42z"/></svg>PK}w�\E%�~��'collection/icon/svg/md-musical-note.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 64v225.1c-12.6-7.3-27.1-11.7-42.7-11.7-47.1 0-85.3 38.2-85.3 85.3s38.2 85.3 85.3 85.3 85.3-38.2 85.3-85.3V149.3H384V64H256z"/></svg>PK}w�\?a����!collection/icon/svg/md-laptop.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M437.334 416C460.803 416 480 396.803 480 373.334V106.668C480 83.199 460.803 64 437.334 64H74.666C51.197 64 32 83.199 32 106.668v266.666C32 396.803 51.197 416 74.666 416H0c0 23.469 64 32 96 32h320c32 0 96-8.531 96-32h-74.666zM74.666 106.668h362.668v271.998H74.666V106.668zM256 434.666c-11.729 0-21.333-9.604-21.333-21.334 0-11.729 9.604-21.332 21.333-21.332s21.333 9.604 21.333 21.332c0 11.73-9.604 21.334-21.333 21.334z"/></svg>PK}w�\t�"KK!collection/icon/svg/md-log-in.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48c-42.9 0-84.2 13-119.2 37.5-34.2 24-60.2 57.2-75.1 96.1L58 192h45.7l1.9-5c8.2-17.8 19.4-33.9 33.5-48 31.2-31.2 72.7-48.4 116.9-48.4s85.7 17.2 116.9 48.4c31.2 31.2 48.4 72.7 48.4 116.9 0 44.1-17.2 85.7-48.4 116.9-31.2 31.2-72.7 48.4-116.9 48.4-44.1 0-85.6-17.2-116.9-48.4-14-14-25.3-30.1-33.5-47.9l-1.9-5H58l3.6 10.4c14.9 38.9 40.9 72.1 75.1 96.1C171.8 451.1 213 464 256 464c114.7 0 208-93.3 208-208S370.7 48 256 48z"/><path d="M48 277.4h189.7l-43.6 44.7L224 352l96-96-96-96-31 29.9 44.7 44.7H48v42.8z"/></svg>PK}w�\=�F��collection/icon/svg/ios-bed.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M458.2 208h-.4c-12 0-21.8 9.8-21.8 21.8 0 1.2-1 2.2-2.2 2.2H78.2c-1.2 0-2.2-1-2.2-2.2 0-12-9.8-21.8-21.8-21.8h-.4c-12 0-21.8 9.8-21.8 21.8v180.4c0 12 9.8 21.8 21.8 21.8h.4c12 0 21.8-9.8 21.8-21.8V404c0-2.2 1.8-4 4-4h352c2.2 0 4 1.8 4 4v6.2c0 12 9.8 21.8 21.8 21.8h.4c12 0 21.8-9.8 21.8-21.8V229.8c0-12-9.8-21.8-21.8-21.8z"/><path d="M84 214h22.5c2.2 0 4-1.8 4-4v-13c0-8.8 7.2-16 16-16H224c8.8 0 16 7.2 16 16v13c0 2.2 1.8 4 4 4h24c2.2 0 4-1.8 4-4v-13c0-8.8 7.2-16 16-16h97.5c8.8 0 16 7.2 16 16v13c0 2.2 1.8 4 4 4H428c4.4 0 8-3.6 8-8v-94c0-17.6-14.4-32-32-32H108c-17.6 0-32 14.4-32 32v94c0 4.4 3.6 8 8 8z"/></svg>PK}w�\!A��$collection/icon/svg/md-checkmark.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M186.301 339.893L96 249.461l-32 30.507L186.301 402 448 140.506 416 110z"/></svg>PK}w�\����%collection/icon/svg/ios-flash-off.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M382.1 442.7L154.5 55c-4-6.7-12.7-9-19.5-5.1-6.8 3.9-9.1 12.6-5.1 19.3L357.5 457c2.6 4.5 7.4 7 12.3 7 2.4 0 4.9-.6 7.2-1.9 6.7-4 9-12.6 5.1-19.4zM324.6 313.3l57.9-75.8c3.8-5.6.2-13.4-6.3-13.4h-104l52.4 89.2zM320.4 37.1c.9-4.5-4.6-7.1-7.2-3.4L227 146.9l42.4 72.3 51-182.1zM187.4 198.7l-57.9 75.8c-3.8 5.6-.2 13.4 6.3 13.4h103.9l-52.3-89.2zM191.6 474.9c-.9 4.5 4.6 7.1 7.2 3.4L285 365.1l-42.4-72.3-51 182.1z"/></svg>PK}w�\�� ��collection/icon/svg/ios-cog.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M456.9 242.2l-26.1-4.2c-3.5-.6-6.1-3.3-6.6-6.8-.5-3.2-1-6.4-1.7-9.5-.7-3.4.9-6.9 3.9-8.6l23.1-12.8c3.6-1.8 5.3-6.1 3.9-9.9l-4-11c-1.4-3.8-5.4-6-9.4-5l-25.9 5c-3.4.7-6.9-1-8.6-4.1-1.5-2.8-3.1-5.6-4.8-8.4-1.8-3-1.6-6.8.7-9.5l17.3-19.9c2.8-3 2.9-7.5.3-10.6l-7.5-9c-2.6-3.1-7.1-3.8-10.5-1.5L378.3 130c-3 1.8-6.8 1.4-9.4-.9-2.4-2.1-4.9-4.2-7.4-6.2-2.7-2.2-3.8-5.9-2.5-9.1l9.4-24.7c1.6-3.7.2-8.1-3.3-10.1l-10.2-5.9c-3.5-2-8-1.1-10.4 2.2l-16.6 20.8c-2 2.5-4.9 3.8-8.5 2.5 0 0-5.6-2.3-9.8-3.7-3.3-1.1-5.6-4.2-5.5-7.7l.4-26.4c.2-4.1-2.6-7.7-6.6-8.4l-11.6-2c-4-.7-7.9 1.7-9.1 5.6l-8.6 25c-1.1 3.3-4.3 5.5-7.8 5.4-1.6 0-3.3-.1-4.9-.1s-3.3 0-4.9.1c-3.5.1-6.6-2.1-7.8-5.4l-8.6-25c-1.2-3.9-5.1-6.3-9.1-5.6l-11.6 2c-4 .7-6.8 4.3-6.6 8.4l.4 26.4c.1 3.5-2.1 6.4-5.5 7.7-2.3.9-7.3 2.8-9.7 3.7-2.8 1-6.1.2-8.8-2.9l-16.5-20.3c-2.4-3.3-6.9-4.2-10.4-2.2l-10.2 5.9c-3.5 2-5 6.4-3.3 10.1l9.4 24.7c1.2 3.3.2 7-2.5 9.1-2.5 2-5 4.1-7.4 6.2-2.6 2.3-6.4 2.7-9.4.9L111 116.3c-3.4-2.2-7.9-1.6-10.5 1.5l-7.5 9c-2.6 3.1-2.5 7.7.3 10.6l17.3 19.9c2.3 2.6 2.6 6.5.7 9.5-1.7 2.7-3.3 5.5-4.8 8.4-1.7 3.1-5.1 4.7-8.6 4.1l-25.9-5c-4-.9-8 1.2-9.4 5l-4 11c-1.4 3.8.3 8.1 3.9 9.9L85.6 213c3.1 1.7 4.6 5.2 3.9 8.6-.6 3.2-1.2 6.3-1.7 9.5-.5 3.5-3.2 6.2-6.6 6.8l-26.1 4.2c-4 .5-7.1 3.9-7.1 7.9v11.7c0 4.1 3 7.5 7.1 7.9l26.1 4.2c3.5.6 6.1 3.3 6.6 6.8.5 3.2 1 6.4 1.7 9.5.7 3.4-.9 6.9-3.9 8.6l-23.1 12.8c-3.6 1.8-5.3 6.1-3.9 9.9l4 11c1.4 3.8 5.4 6 9.4 5l25.9-5c3.4-.7 6.9 1 8.6 4.1 1.5 2.8 3.1 5.6 4.8 8.4 1.8 3 1.6 6.8-.7 9.5l-17.3 19.9c-2.8 3-2.9 7.5-.3 10.6l7.5 9c2.6 3.1 7.1 3.8 10.5 1.5l22.7-13.6c3-1.8 6.8-1.4 9.4.9 2.4 2.1 4.9 4.2 7.4 6.2 2.7 2.2 3.8 5.9 2.5 9.1l-9.4 24.7c-1.6 3.7-.2 8.1 3.3 10.1l10.2 5.9c3.5 2 8 1.1 10.4-2.2l16.8-20.6c2.1-2.6 5.5-3.7 8.2-2.6 3.4 1.4 5.7 2.2 9.9 3.6 3.3 1.1 5.6 4.2 5.5 7.7l-.4 26.4c-.2 4.1 2.6 7.7 6.6 8.4l11.6 2c4 .7 7.9-1.7 9.1-5.6l8.6-25c1.1-3.3 4.3-5.5 7.8-5.4 1.6 0 3.3.1 4.9.1s3.3 0 4.9-.1c3.5-.1 6.6 2.1 7.8 5.4l8.6 25c1.2 3.9 5.1 6.3 9.1 5.6l11.6-2c4-.7 6.8-4.3 6.6-8.4l-.4-26.4c-.1-3.5 2.2-6.6 5.5-7.7 4.2-1.4 7-2.5 9.6-3.5 2.6-.9 5.8-1 8.3 2.1l17 20.9c2.4 3.3 6.9 4.2 10.4 2.2l10.2-5.9c3.5-2 5-6.4 3.3-10.1l-9.4-24.7c-1.2-3.3-.2-7 2.5-9.1 2.5-2 5-4.1 7.4-6.2 2.6-2.3 6.4-2.7 9.4-.9l22.7 13.6c3.4 2.2 7.9 1.6 10.5-1.5l7.5-9c2.6-3.1 2.5-7.7-.3-10.6l-17.3-19.9c-2.3-2.6-2.6-6.5-.7-9.5 1.7-2.7 3.3-5.5 4.8-8.4 1.7-3.1 5.1-4.7 8.6-4.1l25.9 5c4 .9 8-1.2 9.4-5l4-11c1.4-3.8-.3-8.1-3.9-9.9l-23.1-12.8c-3.1-1.7-4.6-5.2-3.9-8.6.6-3.2 1.2-6.3 1.7-9.5.5-3.5 3.2-6.2 6.6-6.8l26.1-4.2c4-.5 7.1-3.9 7.1-7.9v-11.7c-.2-3.8-3.2-7.3-7.3-7.7zM181.8 356.9c-5.2 9-17.4 10.7-25 3.6C129.2 334.2 112 297.1 112 256c0-40.9 17.1-77.9 44.5-104.1 7.5-7.2 19.8-5.5 25 3.5l56 96.6c1.4 2.5 1.4 5.5 0 8l-55.7 96.9zM396 289.7C380.9 353 323.9 400 256 400c-14.1 0-27.8-2-40.6-5.8-9.9-2.9-14.5-14.4-9.3-23.3l55.7-96.9c1.4-2.5 4.1-4 6.9-4h111.7c10.4 0 18 9.6 15.6 19.7zM380.5 242H268.7c-2.9 0-5.5-1.5-6.9-4l-56.1-96.7c-5.2-8.9-.7-20.4 9.2-23.4 13-3.9 26.8-5.9 41.1-5.9 67.9 0 124.9 47 140 110.3 2.4 10.1-5.2 19.7-15.5 19.7z"/></svg>PK}w�\%ا��"collection/icon/svg/ios-keypad.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M394.6 341.2c-29.5 0-53.4 23.9-53.4 53.4s23.9 53.4 53.4 53.4 53.4-23.9 53.4-53.4-23.9-53.4-53.4-53.4zM256 341.2c-29.5 0-53.4 23.9-53.4 53.4S226.5 448 256 448s53.4-23.9 53.4-53.4-23.9-53.4-53.4-53.4zM117.4 341.2c-29.5 0-53.4 23.9-53.4 53.4S87.9 448 117.4 448s53.4-23.9 53.4-53.4-23.9-53.4-53.4-53.4zM394.6 202.6c-29.5 0-53.4 23.9-53.4 53.4s23.9 53.4 53.4 53.4S448 285.5 448 256s-23.9-53.4-53.4-53.4zM256 202.6c-29.5 0-53.4 23.9-53.4 53.4s23.9 53.4 53.4 53.4 53.4-23.9 53.4-53.4-23.9-53.4-53.4-53.4zM117.4 202.6C87.9 202.6 64 226.5 64 256s23.9 53.4 53.4 53.4 53.4-23.9 53.4-53.4-23.9-53.4-53.4-53.4zM394.6 64c-29.5 0-53.4 23.9-53.4 53.4s23.9 53.4 53.4 53.4 53.4-23.9 53.4-53.4S424.1 64 394.6 64zM256 64c-29.5 0-53.4 23.9-53.4 53.4s23.9 53.4 53.4 53.4 53.4-23.9 53.4-53.4S285.5 64 256 64zM117.4 64C87.9 64 64 87.9 64 117.4s23.9 53.4 53.4 53.4 53.4-23.9 53.4-53.4S146.9 64 117.4 64z"/></svg>PK}w�\�@����%collection/icon/svg/ios-briefcase.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M80 448h352c17.7 0 32-14.3 32-32V224H48v192c0 17.7 14.3 32 32 32zM432 128h-8v-8c0-4.4-3.6-8-8-8h-32c-4.4 0-8 3.6-8 8v8h-28V96c0-17.6-14.4-32-32-32H196c-17.6 0-32 14.4-32 32v32h-28v-8c0-4.4-3.6-8-8-8H96c-4.4 0-8 3.6-8 8v8h-8c-17.7 0-32 14.3-32 32v40h416v-40c0-17.7-14.3-32-32-32zm-112 0H192v-28c0-4.4 3.6-8 8-8h112c4.4 0 8 3.6 8 8v28z"/></svg>PK}w�\�N����"collection/icon/svg/md-glasses.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M480 176H272v.1h-32v-.1H32v48h11l5 21.5C64 313 88.5 336 144 336s96-17.4 96-90.5V224s1.5-16 16-16 16 16 16 16v21.8c0 73 42.1 90.2 97 90.2s79-25 95-90.2l5-21.8h11v-48z"/></svg>PK}w�\+�����'collection/icon/svg/ios-information.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M235.4 176c0-11.4 9.3-19.9 20.5-19.9 11.4 0 20.7 8.5 20.7 19.9s-9.3 20-20.7 20c-11.2.1-20.5-8.6-20.5-20zm1.4 35.8H275v144.1h-38.2V211.8z"/></svg>PK}w�\�|�}EE+collection/icon/svg/ios-radio-button-on.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 76c48.1 0 93.3 18.7 127.3 52.7S436 207.9 436 256s-18.7 93.3-52.7 127.3S304.1 436 256 436c-48.1 0-93.3-18.7-127.3-52.7S76 304.1 76 256s18.7-93.3 52.7-127.3S207.9 76 256 76m0-28C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48z"/><path d="M363.5 148.5C334.8 119.8 296.6 104 256 104c-40.6 0-78.8 15.8-107.5 44.5C119.8 177.2 104 215.4 104 256s15.8 78.8 44.5 107.5C177.2 392.2 215.4 408 256 408c40.6 0 78.8-15.8 107.5-44.5C392.2 334.8 408 296.6 408 256s-15.8-78.8-44.5-107.5z"/></svg>PK}w�\�v���� collection/icon/svg/md-woman.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M190.4 148.6L161 252.9c-6.3 22.8 20.7 31.7 27.3 10.3l26.3-96.2h7.4l-45.2 169H219v127c0 23 32 23 32 0V336h10v127c0 23 31 23 31 0V336h43.4l-46.2-169h8.4l26.3 96.2c6.5 21.9 33.3 12.5 27.3-10.2l-29.4-104.4c-4-11.8-18.2-32.6-42-33.6h-47.3c-24.6 1-38.7 21.6-42.1 33.6zM292.6 69.2c0-20.6-16.4-37.3-36.6-37.3-20.2 0-36.6 16.7-36.6 37.3 0 20.6 16.4 37.3 36.6 37.3 20.2 0 36.6-16.7 36.6-37.3z"/></svg>PK}w�\]�?ff!collection/icon/svg/md-filing.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M449.2 208H423v-32l-14.4-48H383V96l-15-48H144l-15 48v32h-25.6L89 176v32H62.8L48 256v165.3c0 23.5 35.2 42.7 58.7 42.7h314.7c21.8 0 42.7-19.7 42.7-41V256l-14.9-48zM176 96h160v32H176V96zm-41 80h242v32H135v-32zm282 112h-82.6c-7.4 36.5-39.7 64-78.4 64s-71-27.5-78.4-64H95v-32h322v32z"/></svg>PK}w�\E� �%% collection/icon/svg/md-cloud.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M403.002 217.001C388.998 148.002 328.998 96 256 96c-57.998 0-107.998 32.998-132.998 81.001C63.002 183.002 16 233.998 16 296c0 65.996 53.999 120 120 120h260c55 0 100-45 100-100 0-52.998-40.996-96.001-92.998-98.999z"/></svg>PK}w�\�N�'&collection/icon/svg/ios-git-commit.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M466 242h-76.7c-3.3-31.9-17.8-61.3-41.3-83.5-25-23.5-57.7-36.5-92-36.5s-67 13-91.9 36.5c-23.5 22.2-38 51.6-41.3 83.5H46c-7.7 0-14 6.3-14 14s6.3 14 14 14h76.7c3.3 31.9 17.8 61.3 41.3 83.5 25 23.5 57.7 36.5 92 36.5s67-13 91.9-36.5c23.5-22.2 38-51.6 41.3-83.5H466c7.7 0 14-6.3 14-14s-6.3-14-14-14zm-135 89c-20 20-46.6 31-75 31-28.3 0-54.9-11-75-31-20-20-31-46.6-31-75s11-54.9 31-75c20-20 46.6-31 75-31 28.3 0 54.9 11 75 31 20 20 31 46.6 31 75s-11 54.9-31 75z"/></svg>PK}w�\c�E&& collection/icon/svg/ios-grid.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M206 308h100c1.1 0 2-.9 2-2V206c0-1.1-.9-2-2-2H206c-1.1 0-2 .9-2 2v100c0 1.1.9 2 2 2z"/><path d="M64 96v320c0 17.7 14.3 32 32 32h320c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H96c-17.7 0-32 14.3-32 32zm330 108h-56c-1.1 0-2 .9-2 2v100c0 1.1.9 2 2 2h56c7.7 0 14 6.3 14 14s-6.3 14-14 14h-56c-1.1 0-2 .9-2 2v56c0 7.7-6.3 14-14 14s-14-6.3-14-14v-56c0-1.1-.9-2-2-2H206c-1.1 0-2 .9-2 2v56c0 7.7-6.3 14-14 14s-14-6.3-14-14v-56c0-1.1-.9-2-2-2h-56c-7.7 0-14-6.3-14-14s6.3-14 14-14h56c1.1 0 2-.9 2-2V206c0-1.1-.9-2-2-2h-56c-7.7 0-14-6.3-14-14s6.3-14 14-14h56c1.1 0 2-.9 2-2v-56c0-7.7 6.3-14 14-14s14 6.3 14 14v56c0 1.1.9 2 2 2h100c1.1 0 2-.9 2-2v-56c0-7.7 6.3-14 14-14s14 6.3 14 14v56c0 1.1.9 2 2 2h56c7.7 0 14 6.3 14 14s-6.3 14-14 14z"/></svg>PK}w�\��66#collection/icon/svg/md-done-all.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M387.581 139.712L356.755 109 216.913 248.319l30.831 30.719 139.837-139.326zM481.172 109L247.744 340.469l-91.39-91.051-30.827 30.715L247.744 403 512 139.712 481.172 109zM0 280.133L123.321 403l30.829-30.713L31.934 249.418 0 280.133z"/></svg>PK}w�\E��̊�(collection/icon/svg/ios-cloud-circle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zm82.6 272H173.4c-25.1 0-45.4-21.4-45.4-47.2 0-21 13.2-39.8 33.2-46.2.3-20 16.2-36.1 35.7-36.1 5.3 0 10.4 1.2 14.9 3.4 13.1-20.5 36.9-33.8 62.5-33.8 37.7 0 67.5 29.3 71.4 66.9 21.7 3.5 38.3 22.7 38.3 45.9 0 25.7-20.3 47.1-45.4 47.1z"/></svg>PK}w�\��q�YY&collection/icon/svg/md-help-circle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.2 48 48 141.2 48 256s93.2 208 208 208 208-93.2 208-208S370.8 48 256 48zm21 333h-42v-42h42v42zm-.2-63h-41.6c0-67 62.4-62.2 62.4-103.8 0-22.9-18.7-41.7-41.6-41.7S214.4 192 214.4 214h-41.6c0-46 37.2-83 83.2-83s83.2 37.1 83.2 83.1c0 52-62.4 57.9-62.4 103.9z"/></svg>PK}w�\��v��$collection/icon/svg/logo-youtube.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M508.6 148.8c0-45-33.1-81.2-74-81.2C379.2 65 322.7 64 265 64h-18c-57.6 0-114.2 1-169.6 3.6C36.6 67.6 3.5 104 3.5 149 1 184.6-.1 220.2 0 255.8c-.1 35.6 1 71.2 3.4 106.9 0 45 33.1 81.5 73.9 81.5 58.2 2.7 117.9 3.9 178.6 3.8 60.8.2 120.3-1 178.6-3.8 40.9 0 74-36.5 74-81.5 2.4-35.7 3.5-71.3 3.4-107 .2-35.6-.9-71.2-3.3-106.9zM207 353.9V157.4l145 98.2-145 98.3z"/></svg>PK}w�\1�X��collection/icon/svg/md-boat.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M84.255 413h1.063c34.123 0 63.977-19.021 85.305-42.494 21.325 23.473 51.18 42.762 85.304 42.762s63.979-19.334 85.305-42.806C362.559 393.934 392.412 413 426.535 413h1.062l51.253-138.78c2.126-5.329 1.063-11.641-1.07-16.976-2.136-5.333-7.237-8.487-12.567-10.623L427 234.133v-98.15C427 112.51 407.344 93 383.884 93h-63.979l-15.993-53h-95.969l-15.995 53h-63.979C104.511 93 85 112.51 85 135.982v98.15l-38.074 12.533c-5.33 2.136-10.582 5.334-12.718 10.667-2.135 5.335-3.158 10.49-1.031 16.887L84.255 413zM128 136h256v84.261l-128-41.605-128 41.605V136z"/><path d="M341.231 408.007c-52.253 36.267-118.356 36.258-170.608-.009 0 0-57.638 64.002-106.632 64.002h21.327c29.854 0 58.646-11.726 85.305-25.594 53.315 27.734 117.293 27.728 170.608-.007C367.89 460.268 396.681 472 426.535 472h21.328c-47.651 0-106.632-63.993-106.632-63.993z"/></svg>PK}w�\"笴��!collection/icon/svg/md-wallet.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M202.7 341.3V170.7c0-23.5 19-42.7 42.7-42.7h197v-21.3c0-23.5-18.9-42.7-42.3-42.7H92c-23.7 0-44 18.5-44 42v300c0 23.5 20.3 42 44 42h308c23.5 0 42.3-19.2 42.3-42.7V384h-197c-23.6 0-42.6-19.2-42.6-42.7z"/><path d="M245 186v140c0 8.8 7.2 16 16 16h187c8.8 0 16-7.2 16-16V186c0-8.8-7.2-16-16-16H261c-8.8 0-16 7.2-16 16zm77.1 101.9c-19.3 1.2-35.2-14.7-34-34 1-15.9 13.9-28.8 29.9-29.9 19.3-1.2 35.2 14.7 34 34-1.1 16-14 28.9-29.9 29.9z"/></svg>PK}w�\�2��$collection/icon/svg/md-clipboard.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M405.333 80h-87.35C310.879 52.396 285.821 32 256 32s-54.879 20.396-61.983 48h-87.35C83.198 80 64 99.198 64 122.667v314.665C64 460.801 83.198 480 106.667 480h298.666C428.802 480 448 460.801 448 437.332V122.667C448 99.198 428.802 80 405.333 80zM256 80c11.729 0 21.333 9.599 21.333 21.333s-9.604 21.334-21.333 21.334-21.333-9.6-21.333-21.334S244.271 80 256 80zm152 360H104V120h40v72h224v-72h40v320z"/></svg>PK}w�\3�rN$collection/icon/svg/md-bluetooth.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M399 159.9L270.5 32H248v170L144.7 99.2 113 130.8 238.8 256 113 381.2l31.7 31.6L248 310v170h22.5L399 352.1 302.2 256l96.8-96.1zm-106-42.1l42.3 42.1L293 202v-84.2zm42.3 234.3L293 394.2V310l42.3 42.1z"/></svg>PK}w�\�:`p�� collection/icon/svg/md-print.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M399.95 160h-287.9C76.824 160 48 188.803 48 224v138.667h79.899V448H384.1v-85.333H464V224c0-35.197-28.825-64-64.05-64zM352 416H160V288h192v128zm32.101-352H127.899v80H384.1V64z"/></svg>PK}w�\���P)collection/icon/svg/ios-code-download.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M332 142.7c-1.2-1.1-2.7-1.7-4.1-1.7s-3 .6-4.1 1.7L310 155.9c-1.2 1.1-1.9 2.7-1.9 4.3 0 1.6.7 3.2 1.9 4.3l95.8 91.5-95.8 91.5c-1.2 1.1-1.9 2.7-1.9 4.3 0 1.6.7 3.2 1.9 4.3l13.8 13.2c1.2 1.1 2.6 1.7 4.1 1.7 1.5 0 3-.6 4.1-1.7l114.2-109c1.2-1.1 1.9-2.7 1.9-4.3 0-1.6-.7-3.2-1.9-4.3L332 142.7zM106.3 256l95.8-91.5c1.2-1.1 1.9-2.7 1.9-4.3 0-1.6-.7-3.2-1.9-4.3l-13.8-13.2c-1.2-1.1-2.7-1.7-4.1-1.7s-3 .6-4.1 1.7l-114.2 109c-1.2 1.1-1.9 2.7-1.9 4.3 0 1.6.7 3.2 1.9 4.3l114.2 109c1.2 1.1 2.7 1.7 4.1 1.7 1.5 0 3-.6 4.1-1.7l13.8-13.2c1.2-1.1 1.9-2.7 1.9-4.3 0-1.6-.7-3.2-1.9-4.3L106.3 256z"/><path d="M332.8 267.2c.1-3.9-1.4-7.6-4.2-10.4l-.1-.1c-2.7-2.7-6.2-4.2-10-4.2-3.5 0-6.8 1.3-9.4 3.6l-38.9 34.6V184.6c0-7.8-6.4-14.2-14.2-14.2-7.8 0-14.2 6.4-14.2 14.2v106.2l-38.9-34.6c-2.6-2.3-6-3.6-9.4-3.6-3.8 0-7.4 1.5-10.1 4.2l-.1.1c-2.8 2.8-4.2 6.4-4.2 10.4.1 3.9 1.7 7.5 4.6 10.2l62.8 57.7c2.6 2.4 6 3.7 9.5 3.7s6.9-1.3 9.5-3.7l62.8-57.7c2.8-2.8 4.5-6.4 4.5-10.3z"/></svg>PK}w�\���(collection/icon/svg/md-remove-circle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.125 48 48 141.125 48 256s93.125 208 208 208 208-93.125 208-208S370.875 48 256 48zm107 229H149v-42h214v42z"/></svg>PK}w�\�4~7&&"collection/icon/svg/md-mic-off.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M367.951 354.654l-26.616-26.562-9.568-9.548-4.698-4.706L187 174.041v.346L76.112 63.531 51.921 87.572 187 222.47v28.816c0 37.79 31.121 68.714 68.91 68.714a68.6 68.6 0 0 0 24.565-4.545l32.389 32.274c-17.333 8.793-36.812 13.86-56.782 13.86-62.986 0-121.365-48.59-121.365-116.59H95.773C95.773 322 158 387.701 233 398.013V480h46v-81.987c22-3.352 43.066-11.222 61.627-22.622l95.278 95.078 24.033-24-33.847-33.785-58.216-57.959 58.224 57.959-58.148-58.03zM325 251.286V100.714C325 62.924 293.791 32 256 32s-69 30.924-69 68.714v25.244l137.109 136.968c.67-3.791.891-7.679.891-11.64zM416.439 245h-38.941c0 20.496-5.498 39.676-14.931 56.197l27.572 27.516c16.523-24.11 26.3-52.787 26.3-83.713zM459.999 446.427l-33.897-33.743 33.855 33.785z"/></svg>PK}w�\$�K~��%collection/icon/svg/md-arrow-down.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M277.375 85v259.704l119.702-119.702L427 256 256 427 85 256l29.924-29.922 119.701 118.626V85h42.75z"/></svg>PK}w�\��+p��!collection/icon/svg/ios-trash.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M133.1 128l23.6 290.7c0 16.2 13.1 29.3 29.3 29.3h141c16.2 0 29.3-13.1 29.3-29.3L379.6 128H133.1zm61.6 265L188 160h18.5l6.9 233h-18.7zm70.3 0h-18V160h18v233zm52.3 0h-18.6l6.8-233H324l-6.7 233zM364 92h-36l-26.3-23c-3.7-3.2-8.4-5-13.2-5h-64.8c-4.9 0-9.7 1.8-13.4 5L184 92h-36c-17.6 0-30 8.4-30 26h276c0-17.6-12.4-26-30-26z"/></svg>PK}w�\F�}y-collection/icon/svg/ios-american-football.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M378.6 133.4C338.1 92.9 283.9 71 231.4 59.6L59.6 231.4C71 284 92.9 338.1 133.4 378.6c40.5 40.5 94.7 62.4 147.2 73.8l171.8-171.8c-11.4-52.5-33.3-106.7-73.8-147.2zM344.1 288l-19.2 19.2 14.8 14.8c4.9 4.9 4.9 12.7 0 17.6-4.9 4.9-12.7 4.9-17.6 0l-14.8-14.8-19.3 19.4c-2 2-4.5 3.4-7.3 3.9-4.2.7-8.4-.7-11.3-3.6-1.5-1.5-2.6-3.3-3.2-5.3-1.4-4.9-.1-9.7 3.2-13.1l19.5-19.5-15.6-15.6-19.3 19.3c-2.1 2.1-4.7 3.5-7.6 3.9-5.5.7-10.7-1.9-13.4-7-.3-.6-.6-1.2-.8-1.9-1.5-4.9-.2-9.8 3.2-13.2l19.5-19.5-15.5-15.6-19.3 19.3c-2.1 2.1-4.7 3.5-7.6 3.9-5.5.7-10.7-1.9-13.4-7-.3-.6-.6-1.2-.8-1.9-1.5-4.9-.2-9.8 3.2-13.2l19.5-19.5-15.5-15.6-19.3 19.3c-2.1 2.1-4.7 3.5-7.6 3.9-5.5.7-10.7-1.9-13.4-7-.3-.6-.6-1.2-.8-1.9-1.5-4.9-.2-9.8 3.2-13.2l19.5-19.5-14.8-14.8c-4.9-4.9-4.9-12.7 0-17.6 4.9-4.9 12.7-4.9 17.6 0l14.8 14.8 19.3-19.3c2.1-2.1 4.7-3.5 7.6-3.9 5.5-.7 10.7 1.9 13.4 7 .3.6.6 1.2.8 1.9 1.5 4.9.2 9.8-3.2 13.2l-19.5 19.5 15.6 15.6 19.3-19.3c2-2 4.5-3.4 7.3-3.9 4.2-.7 8.4.7 11.3 3.6 1.5 1.4 2.6 3.2 3.2 5.2 1.5 4.9.2 9.8-3.2 13.2L257 239.4l15.6 15.6 19.3-19.3c2.1-2.1 4.7-3.5 7.6-3.9 5.5-.7 10.7 1.9 13.4 7 .3.6.6 1.2.8 1.9 1.5 4.9.2 9.8-3.2 13.2L291 273.4l15.6 15.6 19.3-19.3c2.2-2.2 5-3.6 8-4 4.4-.5 8.6 1.2 11.4 4.6 4.1 5 3.5 13.1-1.2 17.7zM395.1 464c27.6 0 48.8-1.8 58.8-2.9 3.7-.4 6.7-3.4 7.1-7.1 2-18.9 6.8-77.6-3.2-143.7L310.3 457.9c31 4.7 60.4 6.1 84.8 6.1zM116.8 48C89.3 48 68 49.8 58 50.9c-3.7.4-6.7 3.4-7.1 7.1-2 18.9-6.8 77.6 3.2 143.6L201.6 54.1c-31-4.7-60.4-6.1-84.8-6.1z"/></svg>PK}w�\'Zv%collection/icon/svg/logo-ionitron.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M468.4 269.2c-2.7-34.2-12.2-59.2-32.9-57.3 6.4 14.6 12.2 48.1 8.7 72-1.4-25.9-6.3-50.2-17.2-72-32.1-64.6-100.6-107.4-177.5-103.1-85.9 4.8-155 66.7-172 146.8l-11.4 1.6c-17.2 2.4-26.9 34.9-21.7 72.5 5.3 37.7 23.5 66.2 40.7 63.8l15.8-2.2c34.7 56.3 98.5 92.3 169.3 88.4 85.3-4.7 154-65.9 171.7-145.2l7.4-.4c15.2-2.5 21.8-31.2 19.1-64.9zM90.3 264c10.7 8.2 25.4 28.3 29.1 55.1 3.9 27.7-4.8 54.1-13.4 64.3 6-14.8 8.1-37.3 4.7-61.9-3.3-24-11-44.7-20.4-57.5zm183.8 116.2c-8.5.5-15.8-6-16.3-14.5s6-15.7 14.6-16.2c8.5-.5 15.8 6 16.3 14.5s-6.1 15.7-14.6 16.2zm81-4.7c-8.5.5-15.8-6-16.3-14.5s6-15.7 14.6-16.2c8.5-.5 15.8 6 16.3 14.5.4 8.5-6.1 15.8-14.6 16.2zM165.5 70s0 .1 0 0c.1.1.1.2.1.2.1.2.2.3.3.5v.1c.4 1 1.1 1.9 2.3 2.7 2 1.5 5 2.4 8.6 3 3.4.5 7.5.7 11.9.5 1 0 1.9-.1 2.9-.2-.4-.4-.8-.9-1.2-1.3h-1.3c-4.3.1-8.2-.2-11.6-.9-3.5-.7-6.4-1.8-8.4-3.4-.6-.5-1-.9-1.4-1.4-.2-.7-.2-1.5 0-2.3.5-2.3 2.4-4.8 5.5-7.4 2.7-2.3 6.4-4.7 10.9-7 .9-.4 1.7-.9 2.6-1.3.1-.1.3-.1.5-.2-.8 3.3-.9 6.9-.2 10.5 2.3 11.9 11.6 20.3 23.2 20.6l4 24.3 12.7-2-4-24.3c10.8-4.6 16.3-16.1 14-28-.7-3.5-2-6.7-3.9-9.5-5.3-.8-15.6-.8-29.2 2.1 1.1-.3 2.1-.7 3.2-1 7.6-2.1 14.9-3.5 21.5-4.2.6-.1 1.2-.1 1.8-.2 1.2-.1 2.4-.2 3.5-.3h.6c4.1-.2 7.7-.1 10.8.3 2.4.3 4.4.8 6.1 1.4-.6.9-.9 2-.9 3.2 0 2.7 1.8 5 4.3 5.8-.6.9-1.3 1.9-2.1 2.8-.8.9-1.8 1.9-2.9 2.8-1.1.9-2.3 1.8-3.5 2.7l-6.5 3.8-.3 1.5c.1 0 .2-.1.2-.1l8.4-4.7c1.2-.8 2.4-1.6 3.4-2.4 1.2-.9 2.2-1.8 3.2-2.8.9-.9 1.7-1.9 2.4-2.8l.3-.6c3-.4 5.4-2.9 5.4-6 0-3.4-2.7-6.1-6.1-6.1-1 0-1.9.3-2.8.7-2-1.2-4.8-2.1-8.2-2.7-4.3-.8-9.6-1-15.5-.6-.7 0-1.4.1-2.1.2-.7.1-1.3.2-2 .2-5.3-3.5-11.9-5-18.7-3.7-7.9 1.5-14.2 6.5-17.8 13-1.3.5-2.6 1.1-3.8 1.7-.7.3-1.3.6-2 .9-5.9 2.9-10.6 6.1-13.9 9.1-3.1 2.9-4.9 5.7-5.3 8.3-.2 1.4 0 2.8.7 4 .1.1.2.3.3.5z"/></svg>PK}w�\��[###collection/icon/svg/ios-headset.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 123.8c-24.3 0-46.9 10.1-63.9 28.4-17 18.3-26.1 33.2-26.1 59.6 0 7.7 5.9 14 13.2 14 7.3 0 13.2-6.3 13.2-14 0-17.3 6.6-32.4 19-43.5 11.8-10.6 27.7-16.5 44.7-16.5s32.9 5.8 44.7 16.5c12.4 11.2 19 26.2 19 43.5 0 7.7 5.9 14 13.2 14 7.3 0 13.2-6.3 13.2-14 0-26.4-9.2-41.3-26.1-59.6-17.2-18.4-39.8-28.4-64.1-28.4z"/><path d="M457.1 278.9C442.3 264.1 422.8 256 402 256h-8c-2.2 0-4-1.8-4-4v-37.8c0-35.7-14-69.3-39.4-94.7C325.3 94 291.7 80 256 80c-35.7 0-69.3 14-94.6 39.4-25.4 25.4-39.4 59-39.4 94.7V252c0 2.2-1.8 4-4 4h-8c-20.8 0-40.3 8.1-55.1 22.9C40.1 293.7 32 313.2 32 334v11.8c0 20.8 8.1 40.4 22.9 55.2 14.8 14.8 34.4 23 55.1 23h5.6c4 0 8 1.4 10.9 4.1 2.5 2.3 5.9 3.8 9.5 3.8 7.7 0 14-6.3 14-14.1V214.1c0-28.2 11.1-54.8 31.2-74.9 20.1-20.1 46.7-31.2 74.8-31.2 28.2 0 54.8 11.1 74.8 31.2 20.1 20.1 31.2 46.7 31.2 74.9v203.8c0 7.8 6.3 14.1 14 14.1 3.6 0 7-1.5 9.5-3.8 2.9-2.7 6.9-4.1 10.9-4.1h5.6c20.7 0 40.3-8.2 55.1-23 14.8-14.8 22.9-34.4 22.9-55.2V334c0-20.8-8.1-40.3-22.9-55.1z"/></svg>PK}w�\��E�NN(collection/icon/svg/ios-partly-sunny.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M168.2 64h-.3c-8.7 0-15.8 7.1-15.8 15.8v30.3c0 8.7 7.1 15.8 15.8 15.8h.3c8.7 0 15.8-7.1 15.8-15.8V79.8c0-8.7-7.1-15.8-15.8-15.8zM79 216.2v-.3c0-8.7-7.1-15.8-15.8-15.8H31.8c-8.7 0-15.8 7.1-15.8 15.8v.3c0 8.7 7.1 15.8 15.8 15.8h31.3c8.8 0 15.9-7.1 15.9-15.8zM79.7 149c3 3 7 4.7 11.2 4.7 4.2 0 8.2-1.7 11.2-4.7 6.1-6.2 6.1-16.2 0-22.3l-20.3-20.5c-3-3-7-4.7-11.2-4.7-4.2 0-8.2 1.7-11.2 4.7-6.1 6.2-6.1 16.2 0 22.3L79.7 149zM271 105.2c-3-3-7-4.7-11.2-4.7-4.2 0-8.2 1.7-11.2 4.7l-20.3 20.4c-6.1 6.2-6.1 16.2 0 22.3l.3.3h.1c2.9 2.8 6.8 4.3 10.8 4.3 4.2 0 8.2-1.7 11.2-4.7l20.3-20.4c6.1-6 6.1-16 0-22.2zM92.9 273.3c-4.2 0-8.2 1.7-11.2 4.7l-20.3 20.5c-6.1 6.2-6.1 16.2 0 22.3 3 3 7 4.7 11.2 4.7 4.2 0 8.2-1.7 11.2-4.7l20.3-20.5c6.1-6.2 6.1-16.2 0-22.3-3-3-7-4.7-11.2-4.7zM403.3 259.2h-2.4c-3.1 0-6.1 0-9 .4-11.3-50.3-56.1-88.2-109.7-88.2-14.6 0-28.6 2.8-41.4 7.9-5.1 2-10 4.4-14.7 7.1-32 18.5-54.1 52.4-56.2 91.6-.1 2.1-.2 4.1-.2 6.2 0 3.4.2 6.8.5 10.1 0 .4.1.8.1 1.1-37.9 3.4-67.6 37.1-67.6 76 0 41.1 33.3 76.7 74.3 76.7h226.4c51.2 0 92.7-43.4 92.7-94.8-.1-51.4-41.6-94.1-92.8-94.1z"/><path d="M150.7 283.6v-.3c-.3-3.4-.5-6.8-.5-10.2 0-2.1.1-4.2.2-6.3 2.2-39.9 24.6-74.3 57.2-93.1 4.8-2.8 9.8-5.2 14.9-7.2h.1c-13.4-17-34.2-28-57.6-28-40.5 0-73.3 32.8-73.3 73.3 0 35.5 25.3 65.1 59 71.8z"/></svg>PK}w�\�.collection/icon/svg/ios-add-circle-outline.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M346.5 240H272v-74.5c0-8.8-7.2-16-16-16s-16 7.2-16 16V240h-74.5c-8.8 0-16 6-16 16s7.5 16 16 16H240v74.5c0 9.5 7 16 16 16s16-7.2 16-16V272h74.5c8.8 0 16-7.2 16-16s-7.2-16-16-16z"/><path d="M256 76c48.1 0 93.3 18.7 127.3 52.7S436 207.9 436 256s-18.7 93.3-52.7 127.3S304.1 436 256 436c-48.1 0-93.3-18.7-127.3-52.7S76 304.1 76 256s18.7-93.3 52.7-127.3S207.9 76 256 76m0-28C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48z"/></svg>PK}w�\ Ҫ���collection/icon/svg/md-cafe.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M48 400h368v48H48zM424 64H80v224c0 44 36 80 80 80h144c44 0 80-36 80-80v-64h40c22 0 40-18 40-40v-80c0-22-18-40-40-40zm0 112h-40v-64h40v64z"/></svg>PK}w�\mQK(SScollection/icon/svg/ios-map.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M64 72.5v316.3c0 2.8 1.3 5.5 3.5 7l69.8 50.2c5.2 3.7 12.1-.3 12.1-7V122.7c0-2.8-1.3-5.5-3.5-7L76.1 65.4c-5.2-3.7-12.1.3-12.1 7.1zM168.7 123.3v316.3c0 6.7 6.9 10.8 12.1 7l62-36.7c2.2-1.6 3.5-4.2 3.5-7V86.6c0-6.7-6.9-10.8-12.1-7l-62 36.7c-2.2 1.5-3.5 4.1-3.5 7zM435.9 65.5l-69.8 50.7c-2.2 1.6-3.5 4.2-3.5 7v316.2c0 6.8 6.9 10.8 12.1 7l69.8-50.7c2.2-1.6 3.5-4.2 3.5-7V72.5c0-6.7-6.9-10.7-12.1-7zM265.7 85.6v316.2c0 2.8 1.3 5.5 3.5 7l62 37c5.2 3.8 12.1-.3 12.1-7V122.6c0-2.8-1.3-5.5-3.5-7l-62-37c-5.2-3.7-12.1.3-12.1 7z"/></svg>PK}w�\��l�yy%collection/icon/svg/md-calculator.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M368 48H144c-26.6 0-48 21.6-48 48v320c0 26.4 21.4 48 48 48h224c26.4 0 48-21.6 48-48V96c0-26.4-21.4-48-48-48zM200 416h-48v-48h48v48zm0-88h-48v-48h48v48zm0-88h-48v-48h48v48zm80 176h-48v-48h48v48zm0-88h-48v-48h48v48zm0-88h-48v-48h48v48zm80 176h-48V280h48v136zm0-176h-48v-48h48v48zm0-96H152V96h208v48z"/></svg>PK}w�\zsh:��"collection/icon/svg/md-reorder.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M96 348h320v36H96zM96 128h320v36H96zM96 200.7h320v35.6H96zM96 275.8h320v35.6H96z"/></svg>PK}w�\�>���!collection/icon/svg/ios-flash.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M376.2 224H268l52.4-186.9c.9-4.5-4.6-7.1-7.2-3.4L129.5 274.6c-3.8 5.6-.2 13.4 6.3 13.4H244l-52.4 186.9c-.9 4.5 4.6 7.1 7.2 3.4l183.7-240.8c3.7-5.7.2-13.5-6.3-13.5z"/></svg>PK}w�\��pii'collection/icon/svg/md-arrow-dropup.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M128 320l128-128 128 128z"/></svg>PK}w�\*�q���$collection/icon/svg/logo-bitcoin.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M410.5 279.2c-5-11.5-12.7-21.6-28.1-30.1-8.2-4.5-16.1-7.8-25.4-10 5.4-2.5 10-5.4 16.3-11 7.5-6.6 13.1-15.7 15.6-23.3 2.6-7.5 4.1-18 3.5-28.2-1.1-16.8-4.4-33.1-13.2-44.8-8.8-11.7-21.2-20.7-37.6-27-12.6-4.8-25.5-7.8-45.5-8.9V32h-40v64h-32V32h-41v64H96v48h27.9c8.7 0 14.6.8 17.6 2.3 3.1 1.5 5.3 3.5 6.5 6 1.3 2.5 1.9 8.4 1.9 17.5V343c0 9-.6 14.8-1.9 17.4-1.3 2.6-2 4.9-5.1 6.3-3.1 1.4-3.2 1.3-11.8 1.3h-26.4L96 416h87v64h41v-64h32v64h40v-64.4c26-1.3 44.5-4.7 59.4-10.3 19.3-7.2 34.1-17.7 44.7-31.5 10.6-13.8 14.9-34.9 15.8-51.2.7-14.5-.9-33.2-5.4-43.4zM224 150h32v74h-32v-74zm0 212v-90h32v90h-32zm72-208.1c6 2.5 9.9 7.5 13.8 12.7 4.3 5.7 6.5 13.3 6.5 21.4 0 7.8-2.9 14.5-7.5 20.5-3.8 4.9-6.8 8.3-12.8 11.1v-65.7zm28.8 186.7c-7.8 6.9-12.3 10.1-22.1 13.8-2 .8-4.7 1.4-6.7 1.9v-82.8c5 .8 7.6 1.8 11.3 3.4 7.8 3.3 15.2 6.9 19.8 13.2 4.6 6.3 8 15.6 8 24.7 0 10.9-2.8 19.2-10.3 25.8z"/></svg>PK}w�\BF�m collection/icon/svg/ios-more.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M255.8 218c-21 0-38 17-38 38s17 38 38 38 38-17 38-38-17-38-38-38zM102 218c-21 0-38 17-38 38s17 38 38 38 38-17 38-38-17-38-38-38zM410 218c-21 0-38 17-38 38s17 38 38 38 38-17 38-38-17-38-38-38z"/></svg>PK}w�\U����'collection/icon/svg/ios-trending-up.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M464.9 128H344.1c-8.3 0-15.1 6.6-15.1 14.8s6.8 14.8 15.1 14.8h83.7l-138 142.2-85.9-84.1c-2.9-2.8-6.6-4.3-10.7-4.3-4 0-7.8 1.5-10.7 4.3L36.2 358.8c-1.9 1.9-4.2 5.2-4.2 10.7 0 4.1 1.4 7.5 4.2 10.2 2.9 2.8 6.6 4.3 10.7 4.3 4 0 7.8-1.5 10.7-4.3L193.2 247l85.9 84.1c2.9 2.8 6.6 4.3 10.7 4.3 4 0 7.8-1.5 10.7-4.3l149.4-151.9v81.7c0 8.1 6.8 14.8 15.1 14.8s15.1-6.6 15.1-14.8V142.8c-.1-8.2-6.9-14.8-15.2-14.8z"/></svg>PK}w�\���99collection/icon/svg/md-key.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M249.2 224c-14.2-40.2-55.1-72-100.2-72-57.2 0-101 46.8-101 104s45.8 104 103 104c45.1 0 84.1-31.8 98.2-72H352v64h69.1v-64H464v-64H249.2zm-97.6 66.5c-19 0-34.5-15.5-34.5-34.5s15.5-34.5 34.5-34.5 34.5 15.5 34.5 34.5-15.5 34.5-34.5 34.5z"/></svg>PK}w�\�����(collection/icon/svg/md-heart-dislike.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M51.9 76.6l25 25c-18.1 20.3-29 47.3-29 77.6 0 79.5 70.7 143.3 177.8 241.7L256 448l30.2-27.2c20.6-18.9 39.9-36.6 57.5-53.3l92.2 92 24-24-383.8-383-24.2 24.1zM464 179.1C464 114.2 414.1 64 349.6 64c-36.4 0-70.7 16.7-93.6 43.9C233.1 80.7 198.8 64 162.4 64c-8.4 0-16.5.9-24.3 2.5l253.7 253.1C437.3 270.9 464 228 464 179.1z"/></svg>PK}w�\��"collection/icon/svg/ios-unlock.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M376 192H188v-48c0-18.1 7.1-35.1 20-48s29.9-20 48-20 35.1 7.1 48 20 20 29.9 20 48c0 7.7 6.3 14 14 14s14-6.3 14-14c0-53.2-43.9-96.7-97.3-96-52.7.7-94.7 44.5-94.7 97.3V192h-24c-22 0-40 18-40 40v192c0 22 18 40 40 40h240c22 0 40-18 40-40V232c0-22-18-40-40-40zM270 316.8v68.8c0 7.5-5.8 14-13.3 14.4-8 .4-14.7-6-14.7-14v-69.2c-11.5-5.6-19.1-17.8-17.9-31.7 1.4-15.5 14.1-27.9 29.6-29 18.7-1.3 34.3 13.5 34.3 31.9 0 12.7-7.3 23.6-18 28.8z"/></svg>PK}w�\���dd collection/icon/svg/md-alarm.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M470 124.837l-98.443-81.78-27.814 32.931 98.442 81.769L470 124.837zM167.192 74.919L139.366 42 42 124.837l27.814 32.919 97.378-82.837zm99.509 97.709H234.6v127.446l101.649 60.539L352.3 334.06l-85.6-49.917V172.628zM256 87.665c-107 0-192.601 86.021-192.601 191.166C63.399 383.98 149 470 256 470c105.936 0 192.601-86.02 192.601-191.169 0-105.144-86.665-191.166-192.601-191.166zm0 339.855c-82.393 0-149.8-66.906-149.8-148.688 0-81.777 67.407-148.684 149.8-148.684 82.394 0 149.8 66.906 149.8 148.684 0 82.839-67.406 148.688-149.8 148.688z"/></svg>PK}w�\�z���!collection/icon/svg/md-planet.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M135.7 151c-2.5 3-4.9 6-7.2 9.2 32.2 36.3 76.1 76.5 124.2 113.7 37.8 29.2 76.3 55.2 111.4 75.1 5.9 3.3 11.7 6.5 17.3 9.4 2.5-3 4.9-6 7.2-9.2 11.7-16.1 18.1-33.2 23.3-53.6.8-3.2 1.5-6.4 2.1-9.5 15.8-83-35.6-164.9-118.5-185.9-37-9.4-74.1-5.1-106.3 9.7-21.4 9.9-38.2 22.9-53.5 41.1z"/><path d="M418.2 326.8c-4.1 11-7.4 17.5-7.4 17.5 18.2 21.1 24.6 33.9 31.9 46.4 2.4 4.1 7.4 13.1.9 12.4-1.7-.3-3.5-.7-5.5-1.3-21.3-5.4-51.2-18.7-84.3-37.4-35.8-20.3-74.9-46.7-113.3-76.3-51.1-39.5-97.5-82.3-130.6-120.5-15.3-17.6-27.6-34.2-35.7-47.9-2.4-4.1-3.9-6.3-5.6-10.4-2.5-6.2 5-5.1 7-4.6 14.9 3.8 35 9.9 58.2 23.8 0 0 4.3-4.8 13.9-11.4-22.8-15.4-44.6-27.7-65.2-35.5-23.1-8.8-41.1-6.8-47.5 3.7-12.2 19.9 14 72.3 65.3 132-21.5 86 30.6 173.3 116.5 195 41.1 10.4 82.4 3.9 116.8-15 38.1 17.6 72.1 28.6 96.9 34.9 23.9 6.1 40.4 5.5 46.8-4.9 11.1-18.2-12.1-51.8-59.1-100.5z"/></svg>PK}w�\ �(Μ�#collection/icon/svg/ios-compass.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M280.5 280.5l-49-49c-.9-.9-2.5-.7-3.2.4l-49.5 98.5c-1.1 1.8 1 3.9 2.8 2.8l98.5-49.5c1.1-.7 1.3-2.3.4-3.2z"/><path d="M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zm40.6 249.3L137 377.8c-1.8 1.1-3.9-1-2.8-2.8l80.6-159.6c.2-.3.4-.5.7-.7L375 134.2c1.8-1.1 3.9 1 2.8 2.8l-80.6 159.6c-.1.3-.3.5-.6.7z"/></svg>PK}w�\��a��)collection/icon/svg/md-refresh-circle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.6 48 48 141.6 48 256s93.6 208 208 208 208-93.6 208-208S370.4 48 256 48zm112 194h-98l44.8-44.8C300.1 181.8 279.1 172 256 172c-46.2 0-84 37.8-84 84s37.8 84 84 84c34.9 0 65.3-21.2 77.6-52h29.8c-13.9 46.3-56.3 80-107.4 80-62.3 0-112-50.4-112-112s50.4-112 112-112c30.8 0 58.8 12.6 79.1 32.9L368 144v98z"/></svg>PK}w�\�.�!��collection/icon/svg/md-cart.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M169.6 377.6c-22.882 0-41.6 18.718-41.6 41.601 0 22.882 18.718 41.6 41.6 41.6s41.601-18.718 41.601-41.6c-.001-22.884-18.72-41.601-41.601-41.601zM48 51.2v41.6h41.6l74.883 151.682-31.308 50.954c-3.118 5.2-5.2 12.482-5.2 19.765 0 27.85 19.025 41.6 44.825 41.6H416v-40H177.893c-3.118 0-5.2-2.082-5.2-5.2 0-1.036 2.207-5.2 2.207-5.2l20.782-32.8h154.954c15.601 0 29.128-8.317 36.4-21.836l74.882-128.8c1.237-2.461 2.082-6.246 2.082-10.399 0-11.446-9.364-19.765-20.8-19.765H135.364L115.6 51.2H48zm326.399 326.4c-22.882 0-41.6 18.718-41.6 41.601 0 22.882 18.718 41.6 41.6 41.6S416 442.082 416 419.2c0-22.883-18.719-41.6-41.601-41.6z"/></svg>PK}w�\���``&collection/icon/svg/ios-tennisball.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M250.4 464c1-7.9 1.6-15.9 1.6-23.9 0-48.1-18.7-94.3-52.7-128.3S119 260 70.9 260c-7.7 0-15.4.5-22.9 1.4 2.8 110.3 92.3 199.3 202.4 202.6z"/><path d="M230 74c0-8.3.5-16.4 1.4-24.5-95.3 11.7-171.7 89-182.2 184.7 7.2-.7 14.4-1.1 21.8-1.1 114.9 0 207.1 92.2 207.1 207 0 7.7-.4 15.3-1.3 22.8 96.6-10.1 174.6-86.2 185.8-182.4-8.4 1-16.9.6-25.5.6C322.1 281 230 188.9 230 74z"/><path d="M308.7 202.3c34 34 80.2 52.7 128.3 52.7 9.1 0 18.1-.7 27-2-2.2-112-93.9-203.5-206.1-205-1.2 8.5-1.9 17.2-1.9 26 0 48.1 18.7 94.3 52.7 128.3zM232 49.3z"/></svg>PK}w�\�;MM*collection/icon/svg/ios-arrow-round-up.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M348.3 216.4c-5 5.1-13.3 5.1-18.4.1L269 155.8v231.3c0 7.1-5.8 12.9-13 12.9s-13-5.8-13-12.9V155.8l-60.9 60.8c-5.1 5-13.3 4.9-18.4-.1-5-5.1-5-13.2.1-18.3l83-82.4c1.2-1.1 2.5-2 4.1-2.7 1.6-.7 3.3-1 5-1 3.4 0 6.6 1.3 9.1 3.7l83 82.4c5.2 4.9 5.3 13.1.3 18.2z"/></svg>PK}w�\�| collection/icon/svg/md-flame.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M393.3 222.1l-.2 10.4c-.8 11.7-7.9 43.4-22.1 54.7 7-15.2 17.3-47.2 10.2-82.7C361.6 107 287.5 65.6 193 50l-17.2-2.2c39.5 47.2 56.1 81.7 49.7 116.8-2.3 12.6-10 23.4-14 31.6 0 0 2.4-12.9 2-28.7-.3-14.2-6.6-31-18-39.6 3.5 18.4-.8 33.5-9.1 47.7-24.7 42.2-85.4 57.8-90.4 135.8v3.8c0 53.7 25.6 99 68.7 125-6.8-12.3-12-35.2-5.7-60.2 4 23.7 14 36 24.9 51.8 8.2 11.7 19.1 19.3 33.1 24.9s31 7.2 47.9 7.2c55.8 0 91.4-18.1 119.1-50.5s32.1-68 32.1-106.4-8.5-60.9-22.8-84.9z"/></svg>PK}w�\�H���%collection/icon/svg/ios-nutrition.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M359.1 231.9h-.1c-.1-.1-.3-.4-.4-.6l-78.9-79.6c-5.8-6-14.2-10.2-23.6-10.2-11.8 0-22.2 6.2-27.7 16.3 0 0-3.4 5.1-12.6 19.8-1.6 2.6-1.6 6 .1 8.6l26.8 41.2c2.9 3.8 3.3 8 1.4 9.9l-.1.1c-2.3 2.3-5.9 1.5-9.8-1.4l-32.3-20.5c-3.8-2.4-8.7-1.2-11.1 2.5-21.9 35.1-46.8 74.7-71.2 114-1.6 2.5-1.6 5.7-.1 8.3l14.1 24.1c2.9 3.8 3.3 8 1.4 9.9l-.1.1c-2.3 2.3-5.9 1.5-9.8-1.4l-16.6-8.4c-3.7-1.9-8.2-.6-10.4 2.9-17.7 28.3-28 44.7-29.1 46.5-3 5.1-5 11.2-5 17.8 0 17.8 14.2 32.2 31.9 32.2 7.8 0 14.4-3.4 20.6-7.6L221 378.8c3.4-2.5 4.2-7.2 2-10.7L202.5 336c-2.9-3.8-3.3-8-1.4-9.9l.1-.1c2.3-2.3 5.9-1.5 9.8 1.4l37.4 25.6c2.8 1.9 6.5 1.9 9.3-.2 53-39.1 97.5-72.2 97.5-72.2 7.9-6 13-15.4 13-26 0-8.7-3.1-16.8-9.1-22.7zM446.9 131.2l-11.2-17.9c-2.2-3.8-7.1-5.1-10.9-2.9L365.4 147l47.3-78.9c2.2-3.8.9-8.8-2.9-11l-17.7-8c-3.9-2.3-8.8-.9-11 3l-57.6 108.3 28.6 28.8 91.8-46.8c3.9-2.2 5.3-7.2 3-11.2z"/></svg>PK}w�\���.��'collection/icon/svg/logo-hackernews.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M64 64v384h384V64H64zm214 215v72h-40v-72l-66-120h47.1l39.7 83.6 38-83.6H342l-64 120z"/></svg>PK}w�\.Nl33'collection/icon/svg/ios-volume-mute.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M326.9 145.6c-2.2-1.1-4.6-1.6-6.9-1.6-3.6 0-7.1 1.2-10 3.5L244.8 200H192c-8.8 0-16 7.2-16 16v80c0 8.8 7.2 16 16 16h52.8l65.2 52.5c2.9 2.3 6.5 3.5 10 3.5 2.3 0 4.7-.5 6.9-1.6 5.6-2.7 9.1-8.3 9.1-14.4V160c0-6.2-3.5-11.8-9.1-14.4z"/></svg>PK}w�\Ѣɐ��collection/icon/svg/md-menu.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M64 384h384v-42.666H64V384zm0-106.666h384v-42.667H64v42.667zM64 128v42.665h384V128H64z"/></svg>PK}w�\5NM�|| collection/icon/svg/logo-rss.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M119.9 336.1c-30.8 0-55.9 25.1-55.9 55.8 0 30.8 25.1 55.6 55.9 55.6 30.9 0 55.9-24.9 55.9-55.6 0-30.7-25-55.8-55.9-55.8z"/><path d="M64 192v79.9c48 0 94.1 14.2 128 48.1 33.9 33.9 48 79.9 48 128h80c0-139.9-116-256-256-256z"/><path d="M64 64v79.9c171 0 303.9 133 303.9 304.1H448C448 236.3 276 64 64 64z"/></svg>PK}w�\�u�)collection/icon/svg/md-phone-portrait.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M358.856 32H153.143C130.512 32 112 50.326 112 72.728v366.545C112 461.674 130.512 480 153.143 480h205.713C381.488 480 400 461.674 400 439.272V72.728C400 50.326 381.488 32 358.856 32zM364 400H148V112h216v288z"/></svg>PK}w�\���??collection/icon/svg/md-mail.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M437.332 80H74.668C51.199 80 32 99.198 32 122.667v266.666C32 412.802 51.199 432 74.668 432h362.664C460.801 432 480 412.802 480 389.333V122.667C480 99.198 460.801 80 437.332 80zM432 170.667L256 288 80 170.667V128l176 117.333L432 128v42.667z"/></svg>PK}w�\ۅQ)$collection/icon/svg/ios-contrast.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zm127.3 335.3c-34 34-79.2 52.7-127.3 52.7V76c48.1 0 93.3 18.7 127.3 52.7S436 207.9 436 256s-18.7 93.3-52.7 127.3z"/></svg>PK}w�\�~���&collection/icon/svg/md-speedometer.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M128 416h256v48H128zM256 288c17.7 0 32-14.3 32-32s-14.3-32-32-32c-3 0-6 .4-8.8 1.2l-66.7-48.7-4 3.5 48.9 66.7c-.9 2.9-1.4 6-1.4 9.3 0 17.7 14.3 32 32 32z"/><path d="M256 48C141.1 48 48 141.1 48 256c0 48.3 16.5 92.7 44.1 128h58.8l4-4 22.1-22.1-22.9-22.9-22.1 22c-19.9-24.3-32.1-54-35.2-85H128v-32H96.8c3.1-31 15.3-60.7 35.2-85l22.1 22 22.9-22.9-22-22.1c24.3-19.9 54-32.1 85-35.2V128h32V96.8c31 3.1 60.7 15.3 85 35.2l-22 22.1 22.9 22.9 22.1-22c19.9 24.3 32.1 54 35.2 85H384v32h31.2c-3.1 31-15.3 60.7-35.2 85l-22.1-22-22.9 22.9 22.1 22.1 4 4h58.8c27.6-35.3 44.1-79.7 44.1-128 0-114.9-93.1-208-208-208z"/></svg>PK}w�\� "collection/icon/svg/ios-planet.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M462.5 352.3c-1.9-5.5-5.6-11.5-11.4-18.3-10.2-12-30.8-29.3-54.8-47.2-2.6-2-6.4-.8-7.5 2.3l-4.7 13.4c-.7 2 0 4.3 1.7 5.5 15.9 11.6 35.9 27.9 41.8 35.9 2 2.8-.5 6.6-3.9 5.8-10-2.3-29-7.3-44.2-12.8-8.6-3.1-17.7-6.7-27.2-10.6 16-20.8 24.7-46.3 24.7-72.6 0-32.8-13.2-63.6-37.1-86.4-22.9-21.9-53.8-34.1-85.7-33.7-25.7.3-50.1 8.4-70.7 23.5-18.3 13.4-32.2 31.3-40.6 52-8.3-6-16.1-11.9-23.2-17.6-13.7-10.9-28.4-22-38.7-34.7-2.2-2.8.9-6.7 4.4-5.9 11.3 2.6 35.4 10.9 56.4 18.9 1.5.6 3.2.3 4.5-.8l11.1-10.1c2.4-2.1 1.7-6-1.3-7.2C121 137.4 89.2 128 73.2 128c-11.5 0-19.3 3.5-23.3 10.4-7.6 13.3 7.1 35.2 45.1 66.8 34.1 28.5 82.6 61.8 136.5 92 87.5 49.1 171.1 81 208 81 11.2 0 18.7-3.1 22.1-9.1 2.8-4.7 3.1-10.4.9-16.8zM312 354c-29.1-12.8-59.3-26-92.6-44.8-30.1-16.9-59.4-36.5-84.4-53.6-1-.7-2.2-1.1-3.4-1.1-.9 0-1.9.2-2.8.7-2 1-3.3 3-3.3 5.2 0 1.2-.1 2.4-.1 3.5 0 32.1 12.6 62.3 35.5 84.9 22.9 22.7 53.4 35.2 85.8 35.2 23.6 0 46.5-6.7 66.2-19.5 1.9-1.2 2.9-3.3 2.7-5.5-.1-2.2-1.5-4.1-3.6-5z"/></svg>PK}w�\�7$-::"collection/icon/svg/md-log-out.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M192 277.4h189.7l-43.6 44.7L368 352l96-96-96-96-31 29.9 44.7 44.7H192v42.8z"/><path d="M255.7 421.3c-44.1 0-85.5-17.2-116.7-48.4-31.2-31.2-48.3-72.7-48.3-116.9 0-44.1 17.2-85.7 48.3-116.9 31.2-31.2 72.6-48.4 116.7-48.4 44 0 85.3 17.1 116.5 48.2l30.3-30.3c-8.5-8.4-17.8-16.2-27.7-23.2C339.7 61 298.6 48 255.7 48 141.2 48 48 141.3 48 256s93.2 208 207.7 208c42.9 0 84-13 119-37.5 10-7 19.2-14.7 27.7-23.2l-30.2-30.2c-31.1 31.1-72.5 48.2-116.5 48.2zM448.004 256.847l-.849-.848.849-.849.848.849z"/></svg>PK}w�\F�",��collection/icon/svg/ios-bug.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M374.6 127.3C345.4 88.5 303.1 64 256 64c-47.1 0-89.4 24.5-118.6 63.3 6.4 15.6 15.8 30 28.1 42.3 24.2 24.2 56.3 37.5 90.5 37.5s66.3-13.3 90.5-37.5c12.3-12.3 21.8-26.6 28.1-42.3z"/><path d="M122 150s-3.8-1.6-5.9-3.3c-2.1-1.7-5-4.9-6.5-8.4 5.4-11.3 1.2-25-9.9-31.3-11.8-6.6-26.9-2.2-33.1 10-4.5 8.9-2.9 19.8 3.8 27.1 1.8 1.9 3.7 3.4 5.7 4.6 2.8 1.6 4.9 4 6.4 6.8 2.7 5.2 6.4 10.7 11.1 14.6 4.2 3.5 8.8 7.1 15.2 10.7-7.2 20.3-11.6 42.3-12.5 65.4-11 .2-18.6 2.1-25.5 4.1-4.2 1.2-8.2 3.4-11.8 5.9-1-.1-1.9-.2-2.9-.2-13.8 0-24.8 11.6-24 25.6.7 11.8 10.3 21.5 22.2 22.4 11 .8 20.6-5.9 24.3-15.5 2-5.3 6.7-9.2 12.4-9.9 1.9-.2 3.9-.4 6.2-.4 3.2 33 13.3 63.5 28.6 89.2-14.2 11-22.9 23-26.6 36.3 0 0-.8.4-1.9 1.4-1 .8-1.9 1.6-2.8 2.6-8.9 9.9-8.1 25 1.8 33.9 9.9 8.9 25 8.1 33.9-1.8 6.2-6.9 7.6-16.3 4.6-24.5-2.2-6-.7-12.7 3.9-17 1.6-1.5 3.5-3.1 5.7-4.9 27.1 31.7 59.4 52 99.7 54.4V232.9C190.8 230 144.4 195.3 122 150zM456 256.1c-1 0-2 .1-2.9.2-3.6-2.5-7.7-4.6-11.8-5.9-6.9-2-14.4-3.9-25.5-4.1-1-23.1-5.4-45.2-12.5-65.4 6.4-3.6 11-7.2 15.2-10.7 4.9-4.1 8.7-10 11.5-15.3 1.3-2.5 3.3-4.5 5.8-5.9 0 0 .1 0 .1-.1 11.6-6.5 15.7-21.1 9.2-32.7-6.5-11.6-21.1-15.7-32.7-9.2-11.1 6.2-15.3 19.9-9.9 31.3-1.6 3.4-3.4 5.7-6.5 8.4-2.3 2-5.9 4.3-5.9 4.3-22.4 45.3-68.8 79-122 81.9V448c40.3-2.4 72.6-22.8 99.7-54.4 2.1 1.7 3.9 3.2 5.4 4.6 4.8 4.4 6.4 11.3 4.2 17.5-3 8.1-1.5 17.5 4.7 24.3 8.9 9.9 24 10.7 33.9 1.8 9.9-8.9 10.7-24 1.8-33.9-.9-1-1.8-1.8-2.8-2.6-1.1-.9-1.9-1.4-1.9-1.4-3.7-13.3-12.4-25.3-26.6-36.3 15.3-25.7 25.4-56.2 28.6-89.2 2.1 0 4.1.2 5.9.4 5.9.7 10.7 4.7 12.9 10.2 3.7 9.4 13.2 15.9 24.1 15.1 11.8-.9 21.4-10.5 22.2-22.4.6-14-10.4-25.6-24.2-25.6z"/></svg>PK}w�\k�� "collection/icon/svg/logo-skype.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M436.9 296.8c2.8-12.5 4.2-25.4 4.2-38.7 0-99.7-82-180.6-183.2-180.6-10.7 0-21.1.9-31.3 2.6C210.3 69.9 191 64 170.2 64 111.6 64 64 110.9 64 168.7c0 19.4 5.3 37.5 14.6 53-2.4 11.7-3.7 23.9-3.7 36.3 0 99.8 82 180.6 183.1 180.6 11.5 0 22.7-1 33.5-3 15 7.9 32.1 12.4 50.2 12.4 58.7 0 106.2-46.9 106.2-104.7.1-16.7-3.9-32.5-11-46.5zm-85 47.5c-8.5 11.8-21 21.2-37.2 27.8-16.1 6.6-35.3 9.9-57.3 9.9-26.3 0-48.3-4.6-65.6-13.6-12.3-6.6-22.4-15.4-30.2-26.4-7.8-11-11.7-22-11.7-32.6 0-6.6 2.6-12.3 7.6-17.1 5-4.6 11.5-7 19.1-7 6.3 0 11.7 1.8 16.1 5.5 4.2 3.5 7.8 8.7 10.7 15.5 3.3 7.3 6.8 13.5 10.6 18.4 3.6 4.7 8.7 8.6 15.3 11.7 6.7 3.1 15.6 4.7 26.6 4.7 15.1 0 27.5-3.2 36.8-9.5 9.2-6.1 13.6-13.5 13.6-22.5 0-7.1-2.3-12.7-7.1-17.1-5-4.6-11.5-8.2-19.6-10.6-8.3-2.6-19.6-5.3-33.6-8.2-19-4-35.1-8.8-48-14.2-13.1-5.5-23.7-13.2-31.5-22.7-7.9-9.7-11.8-21.9-11.8-36.2 0-13.7 4.2-25.9 12.4-36.5 8.2-10.5 20.1-18.7 35.6-24.3 15.2-5.6 33.3-8.4 53.7-8.4 16.4 0 30.7 1.9 42.7 5.5 12.1 3.7 22.2 8.7 30.3 14.9 8 6.2 14 12.8 17.8 19.7 3.8 7 5.7 13.9 5.7 20.6 0 6.4-2.5 12.3-7.5 17.4-5 5.1-11.3 7.8-18.8 7.8-6.8 0-12.1-1.6-15.8-4.8-3.4-3-7-7.6-10.9-14.3-4.6-8.5-10.1-15.3-16.4-20.1-6.2-4.6-16.4-7-30.6-7-13.1 0-23.8 2.6-31.7 7.7-7.6 4.9-11.3 10.6-11.3 17.3 0 4.1 1.2 7.5 3.7 10.5 2.6 3.1 6.2 5.9 10.9 8.2 4.8 2.4 9.8 4.3 14.7 5.6 5.1 1.4 13.6 3.5 25.3 6.1 14.9 3.1 28.5 6.7 40.5 10.4 12.2 3.9 22.7 8.6 31.3 14.1 8.8 5.6 15.7 12.9 20.7 21.5 4.9 8.6 7.4 19.4 7.4 31.8.4 15.1-3.9 28.7-12.5 40.5z"/></svg>PK}w�\�cr� collection/icon/svg/md-pulse.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M428 269c-21.5 0-40.6 13.1-48.4 33h-41.2L307 221.3c-2.7-8.2-10.3-13.7-19-13.7h-.4c-8.8.2-16.4 6-18.8 14.5l-33.6 135.4-55.5-291.8C178 55.6 169.6 48 160 48c-9.5 0-16.9 6.2-19.4 16.2L90.3 302H32v40h74c9.2 0 17.2-6.2 19.4-15.2l30.7-160.6 54.1 282.1c1.5 8.8 8.9 15.1 18.6 15.7h1.2c9.3 0 16.9-5.3 19.2-13.5l40.2-162.9 15.5 40.7c2.7 8.2 10.3 13.7 19 13.7h56.4c8.3 19 27.1 31 47.6 31 13.9 0 26.9-5.6 36.8-15.8 9.8-10.1 15.2-23.3 15.2-37.2.1-28.6-22.7-51-51.9-51z"/></svg>PK}w�\k�3$��'collection/icon/svg/ios-heart-empty.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M352 56h-1c-39.7 0-74.8 21-95 52-20.2-31-55.3-52-95-52h-1c-61.9.6-112 50.9-112 113 0 37 16.2 89.5 47.8 132.7C156 384 256 456 256 456s100-72 160.2-154.3C447.8 258.5 464 206 464 169c0-62.1-50.1-112.4-112-113zm41.6 229.2C351 343.5 286.1 397.3 256 420.8c-30.1-23.5-95-77.4-137.6-135.7C89.1 245.1 76 198 76 169c0-22.6 8.8-43.8 24.6-59.8 15.9-16 37-24.9 59.6-25.1H161.1c14.3 0 28.5 3.7 41.1 10.8 12.2 6.9 22.8 16.7 30.4 28.5 5.2 7.9 14 12.7 23.5 12.7s18.3-4.8 23.5-12.7c7.7-11.8 18.2-21.6 30.4-28.5 12.6-7.1 26.8-10.8 41.1-10.8h.9c22.5.2 43.7 9.1 59.6 25.1 15.9 16 24.6 37.3 24.6 59.8-.2 29-13.3 76.1-42.6 116.2z"/></svg>PK}w�\��Z��collection/icon/svg/md-mic.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 320c37.712 0 68.571-30.924 68.571-68.714V100.714C324.571 62.924 293.712 32 256 32s-68.571 30.924-68.571 68.714v150.572c0 37.79 30.859 68.714 68.571 68.714zm121.139-75.452c0 68.714-58.282 116.815-121.139 116.815s-121.139-48.102-121.139-116.815H96c0 77.873 61.719 143.153 137.144 153.465V480h45.713v-81.987C354.281 386.561 416 322.421 416 244.548h-38.861z"/></svg>PK}w�\�Pc��$collection/icon/svg/ios-download.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M376 144H269v179.9l47.9-47.2c5.1-5 13.3-5 18.4.1 5 5.1 5 13.3-.1 18.4l-70 69c-2.5 2.4-5.8 3.7-9.1 3.7-1.7 0-3.4-.3-5-1-1.5-.6-2.9-1.6-4.1-2.7l-70-69c-5.1-5-5.2-13.3-.1-18.4 5-5.1 13.3-5.2 18.4-.1l47.9 47.2V144H136c-22 0-40 18-40 40v240c0 22 18 40 40 40h240c22 0 40-18 40-40V184c0-22-18-40-40-40zM269 61c0-7.2-5.8-13-13-13s-13 5.8-13 13v83h26V61z"/></svg>PK}w�\����(collection/icon/svg/md-trending-down.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M480 397V262.5l-51.3 51.3-141.1-141-89.6 89.7L63.6 128 32 159.6l166 166.3 89.6-89.7 109.3 109.4-51.3 51.4H480z"/></svg>PK}w�\�K�yVV(collection/icon/svg/ios-finger-print.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M450.8 182c-8.6-24.4-20.3-44.9-33-57.5-2.6-2.6-6-4-9.7-4-3.7 0-7.1 1.4-9.7 4-5.3 5.3-5.3 14 0 19.4 9.9 9.9 19.6 27.4 26.8 48.1 7.3 21.2 11.4 43.6 11.4 63.1 0 3-.1 7.6-.2 10.1-.2 3.7 1.1 7.1 3.6 9.8 2.5 2.7 5.8 4.3 9.5 4.4h.6c7.3 0 13.3-5.7 13.7-13.1.1-3.1.2-8.1.2-11.3 0-22.8-4.7-48.8-13.2-73zM143 110.6c2.9 0 5.6-.9 8-2.6 29.9-21.4 66.2-32.7 105-32.7 40.8 0 80.1 14.8 113.7 42.8 2.5 2 5.6 3.2 8.8 3.2 4.1 0 7.9-1.8 10.5-4.9 4.8-5.8 4-14.4-1.7-19.3C348.6 65 303.3 48 256 48c-44.6 0-86.4 13.1-121 37.8-3 2.1-4.9 5.3-5.5 8.9-.6 3.6.2 7.2 2.4 10.2 2.5 3.6 6.7 5.7 11.1 5.7zM75.4 255c0-43.7 15.8-85.8 44.5-118.7 2.4-2.8 3.6-6.3 3.3-9.9-.2-3.6-1.9-7-4.7-9.4-2.5-2.2-5.7-3.4-9-3.4-4 0-7.7 1.7-10.3 4.7C66.2 156.2 48 204.7 48 255c0 32.8 5.9 58.8 15.4 90.2 1.8 5.8 7 9.7 13.1 9.7 1.3 0 2.7-.2 4-.6 3.5-1.1 6.4-3.4 8.1-6.6 1.7-3.2 2.1-6.9 1-10.4-8.8-29-14.2-52.8-14.2-82.3z"/><path d="M355.7 129.8C328.4 106.1 295 93.6 259 93.6c-48.3 0-91.4 17.8-121.5 50.1-28.7 30.8-42.8 71.7-39.7 115.1 2.3 32.7 6 50.7 9.3 66.6 4.3 21.1 7.7 37.8 5.1 84.1-.4 6.7 3.7 12.7 10 14.6 1.2.4 2.3.5 3.6.5 7.2 0 13.2-5.7 13.7-12.9 2.9-50.4-.8-68.7-5.5-91.9-3.1-15.1-6.6-32.2-8.8-63.1-2.6-35.7 9-69.3 32.4-94.5 24.8-26.7 60.9-41.4 101.4-41.4 29.3 0 56.5 10.2 78.7 29.5 22.3 19.3 39.2 47.4 49 81.1 11.4 39.3 14.5 89.3 9.1 144.5-.7 7.5 4.8 14.2 12.3 15 .4 0 .9.1 1.3.1 7.1 0 12.9-5.3 13.6-12.4 5.8-58.7 2.3-112.2-10.1-154.8-11.1-38.6-30.9-71.2-57.2-94z"/><path d="M373.5 267.5c-5.9-37.5-19.9-68.8-40.6-90.6-20.8-22-47.4-33.7-76.9-33.7-19 0-37.7 4.1-54.1 12-3.7 1.8-6.4 5.1-7.4 9.1-1 4.1-.1 8.3 2.5 11.6 2.6 3.4 6.5 5.3 10.8 5.3 2.1 0 4-.5 5.9-1.3 12.6-6 27.2-9.2 42.2-9.2 22.4 0 42.5 9.2 58.3 26.6 16.1 17.8 27.3 43.6 32.1 74.6 4.7 29.6 7 53.5 7.1 73.1.2 39.7-4.8 72.7-4.8 73.1-.6 3.6.3 7.2 2.5 10.2 2.2 3 5.3 4.9 8.9 5.5.7.1 1.4.2 2.1.2 6.8 0 12.5-4.9 13.5-11.6.2-1.4 5.4-35.2 5.2-77.5 0-21.3-2.4-46.5-7.3-77.4zM185.3 203.5c4-5.8 2.9-13.6-2.5-18.2-2.5-2.1-5.6-3.2-8.8-3.2-4.5 0-8.7 2.2-11.3 5.9-14.7 21.5-19.7 49.1-14.4 79.8 8.9 51.3 16.9 111.1 9.4 165-.5 3.8.5 7.7 2.9 10.7 2.3 3 5.7 4.8 9.4 5.1.4 0 .8.1 1.2.1 6.8 0 12.6-5.1 13.5-11.8 8.2-57.7-.2-120.2-9.5-173.8-4.1-23.8-.7-43.9 10.1-59.6zM317.5 388h-.5c-7.6.3-13.5 6.6-13.2 14.2 0 .2.6 17.9-2.6 34.7-1.3 6.9 2.6 13.7 9.1 15.8 1.4.4 2.8.7 4.3.7 6.6 0 12.2-4.7 13.4-11.1 3.8-20.1 3.1-40.2 3.1-41.1-.2-7.5-6.2-13.2-13.6-13.2z"/><path d="M294.6 205.9c-11.2-10.5-25.2-16.1-40.5-16.1-19.8 0-36.7 7.3-47.6 20.5-8.3 10.1-17 28.8-10.9 60 12.3 62.5 15 121.6 8.1 175.6-1 7.5 4.4 14.4 11.8 15.3.6.1 1.2.1 1.7.1 6.9 0 12.7-5.1 13.6-12 7.3-57 4.5-119-8.3-184.4-3.2-16.4-1.4-29.3 5.1-37.3 5.6-6.8 15-10.5 26.4-10.5 25 0 35.1 27.6 38.3 39.4 6.9 25.7 10.9 63 11.5 107.7.1 7.4 6.2 13.5 13.7 13.5h.2c3.6-.1 7-1.5 9.6-4.1 2.5-2.6 3.9-6.1 3.9-9.7-.7-47-5-86.5-12.5-114.4-4.9-18.5-13.1-33.2-24.1-43.6z"/><path d="M265.2 245.9c-2.1-5.1-7.1-8.5-12.7-8.5-1.8 0-3.6.4-5.2 1-7 2.9-10.3 10.9-7.4 17.9 6.6 16 11.8 46.2 14.1 82.8 2.4 36.9 1.7 76.9-2 109.6-.4 3.6.6 7.2 2.9 10.1 2.3 2.9 5.5 4.6 9.2 5 .5.1 1 .1 1.5.1 7 0 12.8-5.2 13.6-12.2 3.9-35.5 4.6-76.6 2-115.8-2.5-39.3-8.2-71.3-16-90z"/></svg>PK}w�\1�UFFcollection/icon/svg/md-bulb.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M192 428c0 10.6 8.6 20 20 20h88c11.4 0 20-9.4 20-20v-18H192v18zm64-364c-79.7 0-144 59.9-144 134 0 45.7 24.1 86.2 61.4 110.6V352c0 10.6 9.3 19.2 20.6 19.2h123.9c11.4 0 20.6-8.6 20.6-19.2v-43.4C375.9 284.2 400 243.7 400 198c0-74.1-64.3-134-144-134z"/></svg>PK}w�\�8i�GG)collection/icon/svg/md-arrow-round-up.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M412.6 227.1L278.6 89c-5.8-6-13.7-9-22.4-9h-.4c-8.7 0-16.6 3-22.4 9l-134 138.1c-12.5 12-12.5 31.3 0 43.2 12.5 11.9 32.7 11.9 45.2 0l79.4-83v214c0 16.9 14.3 30.6 32 30.6 18 0 32-13.7 32-30.6v-214l79.4 83c12.5 11.9 32.7 11.9 45.2 0s12.5-31.2 0-43.2z"/></svg>PK}w�\&�^��$collection/icon/svg/ios-settings.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M416.3 256c0-21 13.1-38.9 31.7-46.1-4.9-20.5-13-39.7-23.7-57.1-6.4 2.8-13.2 4.3-20.1 4.3-12.6 0-25.2-4.8-34.9-14.4-14.9-14.9-18.2-36.8-10.2-55-17.3-10.7-36.6-18.8-57-23.7C295 82.5 277 95.7 256 95.7S217 82.5 209.9 64c-20.5 4.9-39.7 13-57.1 23.7 8.1 18.1 4.7 40.1-10.2 55-9.6 9.6-22.3 14.4-34.9 14.4-6.9 0-13.7-1.4-20.1-4.3C77 170.3 68.9 189.5 64 210c18.5 7.1 31.7 25 31.7 46.1 0 21-13.1 38.9-31.6 46.1 4.9 20.5 13 39.7 23.7 57.1 6.4-2.8 13.2-4.2 20-4.2 12.6 0 25.2 4.8 34.9 14.4 14.8 14.8 18.2 36.8 10.2 54.9 17.4 10.7 36.7 18.8 57.1 23.7 7.1-18.5 25-31.6 46-31.6s38.9 13.1 46 31.6c20.5-4.9 39.7-13 57.1-23.7-8-18.1-4.6-40 10.2-54.9 9.6-9.6 22.2-14.4 34.9-14.4 6.8 0 13.7 1.4 20 4.2 10.7-17.4 18.8-36.7 23.7-57.1-18.4-7.2-31.6-25.1-31.6-46.2zm-159.4 79.9c-44.3 0-80-35.9-80-80s35.7-80 80-80 80 35.9 80 80-35.7 80-80 80z"/></svg>PK}w�\�����-collection/icon/svg/md-information-circle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.2 48 48 141.2 48 256s93.2 208 208 208 208-93.2 208-208S370.8 48 256 48zm21 312h-42V235h42v125zm0-166h-42v-42h42v42z"/></svg>PK}w�\szt��collection/icon/svg/md-home.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M208 448V320h96v128h97.6V256H464L256 64 48 256h62.4v192z"/></svg>PK}w�\�U%!collection/icon/svg/md-folder.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M213.338 96H74.666C51.197 96 32 115.198 32 138.667v234.666C32 396.802 51.197 416 74.666 416h362.668C460.803 416 480 396.802 480 373.333V186.667C480 163.198 460.803 144 437.334 144H256.006l-42.668-48z"/></svg>PK}w�\4 f���$collection/icon/svg/ios-infinite.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M456.8 182.4c-20-19.6-46.8-30.4-75.2-30.4-28.5 0-55.2 10.8-75.2 30.4l-31.2 30c-1.6 1.6-1.6 4.2 0 5.7l19.4 19.1c1.5 1.5 4 1.5 5.6 0l31-30.1c13.5-13.1 31.3-20.3 50.3-20.3 19 0 36.8 7.2 50.3 20.3 13.4 13.1 20.7 30.5 20.7 49 0 18.4-7.4 35.8-20.7 48.7-13.5 13.1-31.3 20.3-50.3 20.3-19 0-36.8-7.2-50.3-20.3L205.6 182.4c-20.2-19.6-46.9-30.4-75.2-30.4-28.5 0-55.2 10.8-75.2 30.4C35.1 202 24 228.1 24 256c0 27.8 11.1 54 31.2 73.6 20 19.6 46.8 30.4 75.2 30.4 28.5 0 55.2-10.8 75.2-30.4l31-30c1.6-1.6 1.6-4.2 0-5.7L217.2 275c-1.5-1.5-4-1.5-5.6 0l-31 29.9c-13.5 13.1-31.3 20.3-50.3 20.3-19 0-36.8-7.2-50.3-20.3-13.4-13.1-20.7-30.5-20.7-49 0-18.4 7.4-35.7 20.7-48.7 13.5-13.1 31.3-20.3 50.3-20.3 19 0 36.8 7.2 50.3 20.3l125.5 122.5c20.2 19.6 46.9 30.4 75.2 30.4 28.5 0 55.2-10.8 75.2-30.4 20.2-19.6 31.3-45.7 31.3-73.6.2-27.9-10.9-54.1-31-73.7z"/></svg>PK}w�\eʵW%%$collection/icon/svg/md-help-buoy.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zm61 356l-12.2-39.6c13-5.8 24.9-14 35.3-24.4 10.4-10.4 18.6-22.3 24.4-35.3l39.5 12.1c-7.9 19.3-19.7 37-34.9 52.2-15.1 15.3-32.8 27.1-52.1 35zM195 108l12.2 39.6c-13 5.8-24.9 14-35.3 24.4-10.4 10.4-18.6 22.3-24.4 35.3L108 195.2c7.9-19.3 19.7-37 34.9-52.2 15.1-15.3 32.8-27.1 52.1-35zm61 84c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm113.1-49.1c15.2 15.2 26.9 32.9 34.9 52.1l-39.5 12.2c-5.9-13-14-24.9-24.4-35.3-10.4-10.4-22.3-18.6-35.3-24.4l12.1-39.5c19.3 7.9 37 19.7 52.2 34.9zM142.9 369.1c-15.2-15.1-27-32.8-34.9-52.1l39.5-12.2c5.9 13 14 24.9 24.4 35.3 10.4 10.4 22.3 18.6 35.3 24.4L195.1 404c-19.3-7.9-37-19.7-52.2-34.9z"/></svg>PK}w�\v7T���collection/icon/svg/md-wine.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M234.667 277.333V408H128v40h256v-40H277.333V277.333L448 106.667V64H64v42.667l170.667 170.666zm-74.667-128l-42.667-42.666h277.334L352 149.333H160z"/></svg>PK}w�\G���00%collection/icon/svg/md-color-fill.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M136.5 77.7l37 67L32 285.7 216.4 464l152.4-148.6 54.4-11.4L166.4 48l-29.9 29.7zm184 208H114.9l102.8-102.3 102.8 102.3zM423.3 304s-56.7 61.5-56.7 92.1c0 30.7 25.4 55.5 56.7 55.5 31.3 0 56.7-24.9 56.7-55.5S423.3 304 423.3 304z"/></svg>PK}w�\:$y� !collection/icon/svg/md-subway.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48c-93.864 0-176 10.668-176 85.334v213.332c0 41.604 33.062 74.666 74.667 74.666L128 448v16h256v-16l-26.667-26.668c41.604 0 74.667-33.062 74.667-74.666V133.334C432 58.668 349.864 48 256 48zm-96 336c-18.136 0-32-13.865-32-32 0-18.137 13.864-32 32-32s32 13.863 32 32c0 18.135-13.864 32-32 32zm80-144H128v-96h112v96zm112 144c-18.136 0-32-13.865-32-32 0-18.137 13.864-32 32-32s32 13.863 32 32c0 18.135-13.864 32-32 32zm32-144H272v-96h112v96z"/></svg>PK}w�\��R�!collection/icon/svg/ios-brush.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M149.6 283.3c-51.9 0-83.9 45.7-83.9 95.1 0 21.3-10.9 37.1-31.4 46.4-2.2 1-3 3.8-1.7 5.8 16.7 24.6 63.3 33.3 95.3 33.3 8.4 0 15.9-.6 21.8-1.7 35.6-6.4 80.1-24.9 90.7-77 12.2-60.5-38.9-101.9-90.8-101.9z"/><path d="M467.7 60.4C460 52.7 450.9 48 441.6 48c-6.3 0-12.7 2.2-18.8 7L257.7 200.3c-5.4 4.8-12.4 7.4-19.7 7.4h-.1-.1c-5.6 0-11.1 2.1-15.4 5.8l-53.6 43.8c-2.1 1.8-2.7 4.8-1.4 7.2.9 1.7 2.6 2.9 4.5 3.1 45.6 4.5 87 37 87.3 86.6 0 1.7.7 3.4 2 4.5 2.5 2.1 6 1.7 8-.6l45.1-52.2c3.5-4 5.8-9.1 6-14.5v-1.2c0-7.5 3-14.8 8-20.4l144.8-164.4c11.9-15.1 7.6-32.1-5.4-45z"/></svg>PK}w�\�f�=�� collection/icon/svg/ios-undo.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M479.9 394.9c0-19.6 4.2-97.1-56.8-158.7-40.4-40.7-91.9-61.7-163.4-65.5-2.1-.1-3.8-1.9-3.8-4V84c0-3.2-3.5-5.1-6.2-3.4L33.8 222.8c-2.4 1.6-2.4 5.1 0 6.7l215.9 142.2c2.7 1.8 6.2-.1 6.2-3.4v-81.6c0-2.3 1.9-4.1 4.2-4 44.1 1.7 69.5 10.9 97.1 23.2 36.1 16.2 72.9 50.9 94.5 83.5 13.1 19.9 19.2 33.9 21.4 39.7.7 1.7 2.3 2.8 4.1 2.8h2.9c-.1-11.7-.2-26.7-.2-37z"/></svg>PK}w�\�*collection/icon/svg/ios-square-outline.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M388 96H124c-15.4 0-28 12.6-28 28v264c0 15.4 12.6 28 28 28h264c15.4 0 28-12.6 28-28V124c0-15.4-12.6-28-28-28zm0 284c0 4.4-3.6 8-8 8H132c-4.4 0-8-3.6-8-8V132c0-4.4 3.6-8 8-8h248c4.4 0 8 3.6 8 8v248z"/></svg>PK}w�\��e collection/icon/svg/ios-open.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M227.8 300.2c-5.1-5.1-5.1-13.3 0-18.4l133.7-133.7c-5.3-2.6-11.2-4.1-17.5-4.1H88c-22 0-40 18-40 40v224c0 22 18 40 40 40h256c22 0 40-18 40-40V184c0-6.3-1.5-12.2-4.1-17.5L246.2 300.2c-5.1 5.1-13.3 5.1-18.4 0z"/><path d="M459.5 68.5C457 66 453 64 449 64h-97c-7.2-.1-13.1 5.7-13.1 12.9-.1 7.2 5.7 13.1 12.9 13.1l67.3.5-57.6 57.6c8 3.9 14.5 10.4 18.4 18.4l57.6-57.6.5 67.3c.1 7.2 5.9 13 13.1 12.9 7.2-.1 13-5.9 12.9-13.1V78c0-3.5-2-7-4.5-9.5z"/></svg>PK}w�\�F�l��!collection/icon/svg/md-repeat.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M149.3 152h213.3v62.4l85.3-83.2L362.7 48v62.4h-256v124.8h42.7V152zm213.4 208H149.3v-62.4L64 380.8l85.3 83.2v-62.4h256V276.8h-42.7V360z"/></svg>PK}w�\x�{'collection/icon/svg/ios-mail-unread.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><circle cx="416" cy="152" r="48"/><path d="M416 218.5c-5.4 0-10.6-.7-15.6-1.9L353 264.9c-.8.8-.8 2 0 2.8l75.3 80.2c5.1 5.1 5.1 13.3 0 18.4-2.5 2.5-5.9 3.8-9.2 3.8s-6.7-1.3-9.2-3.8l-75-79.9c-.8-.8-2.1-.8-2.9 0L313.7 305c-15.3 15.5-35.6 24.1-57.4 24.2-22.1.1-43.1-9.2-58.6-24.9l-17.6-17.9c-.8-.8-2.1-.8-2.9 0l-75 79.9c-2.5 2.5-5.9 3.8-9.2 3.8s-6.7-1.3-9.2-3.8c-5.1-5.1-5.1-13.3 0-18.4l75.3-80.2c.7-.8.7-2 0-2.8L51.4 155.3c-1.3-1.3-3.4-.4-3.4 1.4V376c0 17.6 14.4 32 32 32h352c17.6 0 32-14.4 32-32V198c-12.1 12.6-29.1 20.5-48 20.5z"/><path d="M349.5 152c0-11.6 3-22.5 8.2-32H79.9c-7.5 0-14.4 2.6-19.8 7L217 286.7c10.4 10.6 24.3 16.4 39.1 16.4s28.7-5.8 39.1-16.4l80.5-81.9c-16-12.2-26.2-31.3-26.2-52.8z"/></svg>PK}w�\�ukM��%collection/icon/svg/md-arrow-back.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M427 234.625H167.296l119.702-119.702L256 85 85 256l171 171 29.922-29.924-118.626-119.701H427v-42.75z"/></svg>PK}w�\X����"collection/icon/svg/ios-female.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M61.6 464c3.6 0 7.1-1.4 9.6-4l44.8-44.8 37 37c2.6 2.6 6 4 9.6 4 3.6 0 7.1-1.4 9.6-4 5.3-5.3 5.3-13.9 0-19.2l-37-37 50-50c30.6 26 69.3 40.3 109.6 40.3 22.8 0 45-4.5 65.8-13.3 20.1-8.5 38.2-20.7 53.8-36.2 15.5-15.5 27.7-33.6 36.2-53.8 8.8-20.9 13.3-43 13.3-65.8s-4.5-45-13.3-65.8c-8.5-20.1-20.7-38.2-36.2-53.8-15.5-15.5-33.6-27.7-53.8-36.2-20.9-8.8-43-13.3-65.8-13.3-22.8 0-45 4.5-65.8 13.3-20.1 8.5-38.2 20.7-53.8 36.2-15.5 15.5-27.7 33.6-36.2 53.8-8.8 20.9-13.3 43-13.3 65.8 0 40.3 14.3 79 40.3 109.6l-50 50-37-37c-2.6-2.6-6-4-9.6-4-3.6 0-7.1 1.4-9.6 4-5.3 5.3-5.3 13.9 0 19.2l37 37L52 440.8c-5.3 5.3-5.3 13.9 0 19.2 2.6 2.6 6 4 9.6 4zm132.9-347.2C221.3 90 257 75.2 294.9 75.2c37.9 0 73.5 14.8 100.3 41.6 26.8 26.8 41.6 62.4 41.6 100.3s-14.8 73.5-41.6 100.3c-26.8 26.8-62.4 41.6-100.3 41.6s-73.5-14.8-100.3-41.6C167.7 290.7 153 255 153 217.1s14.7-73.5 41.5-100.3z"/></svg>PK}w�\a����%collection/icon/svg/ios-construct.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M380 64.4zM275.1 57.6c-9.4-5.9-23.3-9.6-37.9-9.6-14.3 0-30.3 2.5-46.7 9.2-46.5 19-74 45.4-81.1 52.4-7 7-16.8 18-22.9 26.6-6.1 8.7 1.9 21-6.1 29s-24.7 0-24.7 0c-1.4 0-2.9.5-3.9 1.6l-34.1 33.9c-2.2 2.1-2.2 5.7 0 7.8l63.5 63.1c1.1 1.1 2.5 1.6 3.9 1.6s2.9-.5 3.9-1.6l33.2-34.8c2.2-2.1 2.2-5.7 0-7.8 0 0-5.3-5.2-12.1-12s.8-19.3 5.3-23.4c4.5-4.1 11.6-6.8 21.1-6.8 4.3 0 7.4.7 11.4 1.8 12.2 3.4 25.8 15.9 50.9 40.8l-3.9 6.5c-2.3 3.8-.9 8.3 1.3 10.4 0 0-5-4.9 13.1 13.1l50-47.2c-19.1-18.9-14.5-14.1-14.5-14.1-1.4-1.4-3.8-2.3-6.3-2.3-1.4 0-2.9.3-4.2 1l-5.6 3c-28-27.8-35.3-40.2-34.3-61.7 1.1-22.4 12.3-37.1 30.5-52.7 24.7-21.1 60.6-15.2 60.6-15.2 8-.1-4.2-8.6-10.4-12.6zM462.5 399.9s-68.9-57.2-130.2-115.7l-47.7 50.6c58.5 60.6 114.9 127.6 114.9 127.6 1.1 1.1 2.5 1.6 3.9 1.6s2.9-.5 3.9-1.6l55.1-54.7c2.2-2.1 2.2-5.7.1-7.8z"/><path d="M479.2 125.3l-52.4 52.6-51.1-9.3-9.2-51.1 52.4-52.6c-11.1-11.1-26.8-16.6-39-16.6-.7 0-1.4 0-2 .1-12.5.6-39.2 7.7-59.9 29.7-20 21.1-41.1 60.6-22.4 104.3 2.2 5.3 4.7 12.2-2.7 19.7-1.5 1.4-9.9 9.4-22.5 21.3-3.6 3.4-7.4 7-11.6 11-8 7.6-17.1 16.2-26.8 25.2-3.8 3.6-7.7 7.2-11.6 11-57 53.8-126.9 119.5-126.9 119.5-18 15.5-16.7 44.1-.1 60.8 8.5 8.4 20 12.8 31.3 12.8 11 0 21.9-4.2 29.5-13.1 0 0 65.5-69.8 119.3-126.9 3.7-4 7.4-7.8 11-11.7 9.3-9.9 18-19.1 25.8-27.3 3.9-4.2 7.6-8.1 11-11.6 11.5-12.2 19.3-20.4 21-22 4-3.9 7.7-5.1 11.1-5.1 3.3 0 6.2 1.2 8.6 2.4 9.9 5.1 21 7.3 32.4 7.3 26.7 0 55-12.4 72.1-29.5 24.4-24.4 28.8-47.9 29.6-60 .6-11.8-3.6-27.6-16.9-40.9zM137.4 426.1c-5.5 5.4-14.4 5.4-19.8 0-5.4-5.5-5.4-14.4 0-19.8 5.5-5.4 14.4-5.4 19.8 0 5.4 5.5 5.4 14.4 0 19.8z"/></svg>PK}w�\�İU��collection/icon/svg/md-send.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M48 448l416-192L48 64v149.333L346 256 48 298.667z"/></svg>PK}w�\��X��'collection/icon/svg/ios-transgender.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M450.4 168.5c7.5 0 13.6-6.1 13.6-13.6V61.6c0-7.5-6.1-13.6-13.6-13.6h-93.3c-7.5 0-13.6 6.1-13.6 13.6s6.1 13.6 13.6 13.6H417l-75 75.4c-25.7-16.3-55.4-24.8-86-24.8-30.7 0-60.3 8.6-86 24.8l-19-19.1 28.2-28.2c5.3-5.3 5.3-13.9 0-19.2-2.6-2.6-6-4-9.6-4-3.6 0-7.1 1.4-9.6 4l-28.1 28.1-36.8-37H155c7.5 0 13.6-6.1 13.6-13.6S162.5 48 155 48H61.6C54.1 48 48 54.1 48 61.6v93.3c0 7.5 6.1 13.6 13.6 13.6s13.6-6.1 13.6-13.6V95.1l36.9 36.7-30 30c-5.3 5.3-5.3 13.9 0 19.2 2.6 2.6 6 4 9.6 4 3.6 0 7.1-1.4 9.6-4l30.1-30.1 16.5 16.4c-33.9 30.6-53.3 73.9-53.3 119.8 0 43.1 16.8 83.6 47.3 114.1 30.5 30.5 71 47.3 114.1 47.3 45.9 0 89.2-19.4 119.9-53.3l16.4 16.4-29.3 29.2c-5.3 5.3-5.3 13.9 0 19.2 2.6 2.6 6 4 9.6 4 3.6 0 7.1-1.4 9.6-4l29.3-29.3 29.3 29.3c2.6 2.6 6 4 9.6 4 3.6 0 7.1-1.4 9.6-4 5.3-5.3 5.3-13.9 0-19.2l-29.3-29.3 29.3-29.3c5.3-5.3 5.3-13.9 0-19.2-2.6-2.6-6-4-9.6-4-3.6 0-7.1 1.4-9.6 4l-29.3 29.3-19-19c16.3-25.8 24.9-55.4 24.9-86.1 0-45.9-19.3-89.2-53.3-119.8l72.7-72.2v59.9c0 7.3 6.1 13.4 13.6 13.4zm-60.3 118.6c0 35.8-14 69.5-39.3 94.8-25.3 25.3-59 39.3-94.8 39.3s-69.5-14-94.8-39.3c-25.3-25.3-39.3-59-39.3-94.8s14-69.5 39.3-94.8c25.3-25.3 59-39.3 94.8-39.3s69.5 14 94.8 39.3c25.4 25.3 39.3 59 39.3 94.8z"/></svg>PK}w�\Q�o��.collection/icon/svg/md-arrow-dropup-circle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M464 256c0-114.875-93.125-208-208-208S48 141.125 48 256s93.125 208 208 208 208-93.125 208-208zm-112 32H160l96-96 96 96z"/></svg>PK}w�\<��q��*collection/icon/svg/ios-refresh-circle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zm0 336.1c-70.7 0-128-57.3-128-128.1s57.3-128.1 128-128.1v-37c0-6.4 7.1-10.2 12.4-6.7l72.9 52.6c4.9 3.3 4.7 10.6-.4 13.6L268 196.7c-5.3 3.1-12-.8-12-6.9v-41.9c-60.3 0-109.2 49.7-108.1 110.2 1.1 59.1 50.3 106.7 109.5 106 55.9-.7 101.8-43.7 106.3-99 .4-5.2 4.7-9.1 9.9-9.1 5.8 0 10.4 4.9 9.9 10.7-5.4 66-60.4 117.4-127.5 117.4z"/></svg>PK}w�\&�`=��collection/icon/svg/md-swap.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M131.3 231.1L32 330.6l99.3 99.4v-74.6h174.5v-49.7H131.3v-74.6zM480 181.4L380.7 82v74.6H206.2v49.7h174.5v74.6l99.3-99.5z"/></svg>PK}w�\�P`` collection/icon/svg/md-medal.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M273.5 152.1H48l54.1-103.9h240.7z"/><circle cx="256.2" cy="377.2" r="86.6"/><path d="M348.9 299.1l115.1-147-69.3-103.9L256.4 256c32.3 0 62.7 12.7 85.5 35.5 2.5 2.5 4.8 5 7 7.6zM205.8 266.6L152.3 186H48.4l90.1 161.5c5.2-21.2 16.1-40.6 32-56.4 10.4-10.3 22.3-18.6 35.3-24.5z"/></svg>PK}w�\���vv collection/icon/svg/md-radio.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M73.8 141.9c-15.2 6-25.8 21.8-25.8 39.5v256c0 23.5 18.5 42.7 41.6 42.7h332.8c23.1 0 41.6-19.2 41.6-42.7v-256c0-23.7-18.5-42.7-41.6-42.7H179l171.8-71.3L336.7 32 73.8 141.9zM160 438c-35.4 0-64-28.6-64-64s28.6-64 64-64 64 28.6 64 64-28.6 64-64 64zm256-171.3h-32v-46.2h-44.8v46.2H96v-85.3h320v85.3z"/></svg>PK}w�\믣�� collection/icon/svg/ios-star.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M463 192H315.9L271.2 58.6C269 52.1 262.9 48 256 48s-13 4.1-15.2 10.6L196.1 192H48c-8.8 0-16 7.2-16 16 0 .9.1 1.9.3 2.7.2 3.5 1.8 7.4 6.7 11.3l120.9 85.2-46.4 134.9c-2.3 6.5 0 13.8 5.5 18 2.9 2.1 5.6 3.9 9 3.9 3.3 0 7.2-1.7 10-3.6l118-84.1 118 84.1c2.8 2 6.7 3.6 10 3.6 3.4 0 6.1-1.7 8.9-3.9 5.6-4.2 7.8-11.4 5.5-18L352 307.2l119.9-86 2.9-2.5c2.6-2.8 5.2-6.6 5.2-10.7 0-8.8-8.2-16-17-16z"/></svg>PK}w�\��3'!collection/icon/svg/ios-pulse.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M434.6 272.1c-22.4-1.2-41.6 13.2-48.2 32.9h-38.9l-28.4-85.4c-2.2-6.6-8.3-11-15.2-11h-.3c-7 .1-13.1 4.8-15 11.6l-44.5 155.3-52.3-314.1c-1.2-7.5-7.6-13.1-15.2-13.4-7.6-.3-14.3 4.8-16.2 12.1l-53 244.9H48c-8.8 0-16 7.2-16 16s7.2 16 16 16h72c7.3 0 13.8-5 15.5-12.1l37.4-182.2 51.3 307.9c1.2 7.4 7.4 12.9 14.9 13.3h.9c7.1 0 13.4-4.7 15.4-11.6l49.7-173.6 15.7 47.3c2.2 6.5 8.3 11 15.2 11h51.1c6.9 18 24.4 31 44.9 31 27 0 48.8-22.3 48-49.5-.8-24.8-20.7-45.1-45.4-46.4z"/></svg>PK}w�\�B�bb(collection/icon/svg/md-musical-notes.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M160 64v257.6c-8.2-2.7-17.2-4.1-26.6-4.1-38.3 0-69.4 27.1-69.4 65.4 0 38.3 31.1 65.1 69.4 65.1 38.3 0 69.6-28.2 69.6-69.1V200h202v121.6c-8.2-2.7-17.2-4.1-26.6-4.1-38.3 0-69.4 27.1-69.4 65.4 0 38.3 31.1 65.1 69.4 65.1 38.3 0 69.6-28.2 69.6-69.1V64H160zm245 96H203v-53h202v53z"/></svg>PK}w�\_��IIcollection/icon/svg/md-rose.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M260.6 214.8c23.8-40.9 48-71.6 91.4-96.4 8.3-4.8 21.2-8 22.8-8.9C290.7 83.7 256 32 256 32s-34.7 51.7-120.5 76.5c5.8 3.4 16.5 6.5 30.7 13.7 34.5 17.4 62.5 51.3 94.4 92.6zM246.3 253.4C186.7 161.2 131.4 126.8 48 126.8c54.2 78.6 52 174.6 52 215.4 0 76.1 69.8 137.8 156 137.8 57.6 0 107.9-27.6 135-68.7-35.5-27.6-85.1-65.7-144.7-157.9zM464 126.8s-55.2-2.3-85.2 15.4c-43 25.5-74.4 61.3-95.4 103.2 38.8 52 73 87.9 95.4 109.4 10.7 10.2 19.8 18.2 27.5 24.5 3.7-11.8 5.8-24.3 5.8-37.2-.1-40.8-17.4-114.1 51.9-215.3z"/></svg>PK}w�\�ʏ��'collection/icon/svg/md-partly-sunny.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M248.03 116.81l24.679-24.678 19.233 19.234-24.678 24.677zM176 125.7c-45.3 0-82.3 37-82.3 82.3 0 17.5 5.5 33.7 14.9 47 15.3-13 33.9-22.6 54.7-27.6l13.2-16.6c13.6-17.1 30.7-30.2 50.8-38.9 6.1-2.6 12.4-4.8 19-6.6-14.5-23.7-40.6-39.6-70.3-39.6zM162 64h28v41h-28zM32 194h41v28H32zM81.6 276.8l-.8-.8-24.7 24.7 19.2 19.2 24.7-24.7zM79.289 92.13l24.678 24.678-19.233 19.233-24.678-24.678zM405.6 288.6C394.7 233.4 346.2 192 288 192c-34 0-65.1 11.9-86.5 38.8 29.4 2.2 56.7 13 77.8 33.9 15.6 15.6 26.6 34.6 32.1 55.3h-28.7c-13.1-37.3-48-64-90.6-64-5.1 0-12.3.6-17.7 1.7C128.6 267.1 96 305 96 352c0 53 43 96 96 96h208c44.2 0 80-35.8 80-80 0-42.2-32.8-76.5-74.4-79.4z"/></svg>PK}w�\C�c;��&collection/icon/svg/ios-add-circle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zm90.5 224H272v74.5c0 8.8-7.2 16-16 16-4.4 0-8.4-1.8-11.3-4.7-2.9-2.9-4.7-6.9-4.7-11.3V272h-74.5c-4.4 0-8.4-1.8-11.3-4.7-2.9-2.9-4.7-6.9-4.7-11.3 0-8.8 7.2-16 16-16H240v-74.5c0-8.8 7.2-16 16-16s16 7.2 16 16V240h74.5c8.8 0 16 7.2 16 16s-7.2 16-16 16z"/></svg>PK}w�\�kY&��collection/icon/svg/md-moon.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M195 125c0-26.3 5.3-51.3 14.9-74.1C118.7 73 51 155.1 51 253c0 114.8 93.2 208 208 208 97.9 0 180-67.7 202.1-158.9-22.8 9.6-47.9 14.9-74.1 14.9-106 0-192-86-192-192z"/></svg>PK}w�\� ��DD,collection/icon/svg/ios-git-pull-request.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M393 341.6V206c0-14.7 0-42.1-9.4-65.3-11.9-29.2-36-44.7-69.6-44.7h-77.7L276 55.8c5.4-5.4 5.4-14.3 0-19.8l-.1-.1c-2.7-2.5-6.2-3.9-9.8-3.9-3.8 0-7.3 1.4-9.9 4.1l-54.8 54.6C192.9 61.5 165.9 40 134 40c-38.6 0-70 31.4-70 70 0 17 6.2 33.3 17.3 46.1 9.9 11.3 23.1 19.1 37.7 22.3v163.3c-14.5 3.2-27.8 11-37.7 22.3C70.2 376.7 64 393 64 410c0 38.6 31.4 70 70 70s70-31.4 70-70c0-17.4-6.4-34-18-46.9-10.3-11.4-24-19.1-39-21.9V178.8c15-2.8 28.7-10.5 39-21.9 7.6-8.4 12.9-18.4 15.7-29.1l56.4 56.2c2.6 2.6 6.1 4.1 9.9 4.1 3.7 0 7.3-1.4 9.9-4.1 2.6-2.6 4.1-6.1 4.1-9.9 0-3.7-1.4-7.3-4.1-9.9l-.1-.1-41.1-40.1H314c20.4 0 33.6 7.5 41.6 23.5 8.4 17 9.4 41.5 9.4 58.5v135.2c-15 2.8-28.7 10.5-39 21.9-11.6 12.9-18 29.5-18 46.9 0 38.6 31.4 70 70 70s70-31.4 70-70c0-17-6.2-33.3-17.3-46.1-9.9-11.3-23.2-19.1-37.7-22.3zM176 410c0 23.2-18.8 42-42 42s-42-18.8-42-42 18.8-42 42-42 42 18.8 42 42zm-42-258c-23.2 0-42-18.8-42-42s18.8-42 42-42 42 18.8 42 42-18.8 42-42 42zm244 300c-23.2 0-42-18.8-42-42s18.8-42 42-42 42 18.8 42 42-18.8 42-42 42z"/></svg>PK}w�\<��mm$collection/icon/svg/logo-twitter.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M492 109.5c-17.4 7.7-36 12.9-55.6 15.3 20-12 35.4-31 42.6-53.6-18.7 11.1-39.4 19.2-61.5 23.5C399.8 75.8 374.6 64 346.8 64c-53.5 0-96.8 43.4-96.8 96.9 0 7.6.8 15 2.5 22.1-80.5-4-151.9-42.6-199.6-101.3-8.3 14.3-13.1 31-13.1 48.7 0 33.6 17.2 63.3 43.2 80.7-16-.4-31-4.8-44-12.1v1.2c0 47 33.4 86.1 77.7 95-8.1 2.2-16.7 3.4-25.5 3.4-6.2 0-12.3-.6-18.2-1.8 12.3 38.5 48.1 66.5 90.5 67.3-33.1 26-74.9 41.5-120.3 41.5-7.8 0-15.5-.5-23.1-1.4C62.8 432 113.7 448 168.3 448 346.6 448 444 300.3 444 172.2c0-4.2-.1-8.4-.3-12.5C462.6 146 479 129 492 109.5z"/></svg>PK}w�\G�!ZZ!collection/icon/svg/logo-css3.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256.282 339.488zM64 32l34.946 403.219L255.767 480l157.259-44.85L448 32H64zm290.676 334.898l-98.607 28.125-98.458-28.248L150.864 289h48.253l3.433 39.562 53.586 15.163.132.273h.034l53.467-14.852L315.381 265H203l-4-50h120.646l4.396-51H140l-4-49h240.58l-21.904 251.898z"/></svg>PK}w�\�".3��$collection/icon/svg/logo-android.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M144 268.4V358c0 6.9 4.5 14 11.4 14H184v52c0 13.3 10.7 24 24 24s24-10.7 24-24v-52h49v52c0 7.5 3.4 14.2 8.8 18.6 3.9 3.4 9.1 5.4 14.7 5.4h.5c13.3 0 24-10.7 24-24v-52h27.6c7 0 11.4-7.1 11.4-13.9V192H144v76.4zM408 176c-13.3 0-24 10.7-24 24v96c0 13.3 10.7 24 24 24s24-10.7 24-24v-96c0-13.3-10.7-24-24-24zM104 176c-13.3 0-24 10.7-24 24v96c0 13.3 10.7 24 24 24s24-10.7 24-24v-96c0-13.3-10.7-24-24-24z"/><g><path d="M311.2 89.1l18.5-21.9c.4-.5-.2-1.6-1.3-2.5-1.1-.8-2.4-1-2.7-.4l-19.2 22.8c-13.6-5.4-30.2-8.8-50.6-8.8-20.5-.1-37.2 3.2-50.8 8.5l-19-22.4c-.4-.5-1.6-.4-2.7.4s-1.7 1.8-1.3 2.5l18.3 21.6c-48.2 20.9-55.4 72.2-56.4 87.2h223.6c-.9-15.1-8-65.7-56.4-87zm-104.4 49.8c-7.4 0-13.5-6-13.5-13.3 0-7.3 6-13.3 13.5-13.3 7.4 0 13.5 6 13.5 13.3 0 7.3-6 13.3-13.5 13.3zm98.4 0c-7.4 0-13.5-6-13.5-13.3 0-7.3 6-13.3 13.5-13.3 7.4 0 13.5 6 13.5 13.3 0 7.3-6.1 13.3-13.5 13.3z"/></g></svg>PK}w�\`��%��&collection/icon/svg/ios-qr-scanner.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M174 64h-58.8C78.1 64 48 94.1 48 131.2V190c0 7.7 6.3 14 14 14s14-6.3 14-14v-59.8c0-9.1 4.3-18.7 11.7-26.2 7.5-7.6 17.2-12 26.5-12H174c7.7 0 14-6.3 14-14s-6.3-14-14-14zM397.8 64H338c-7.7 0-14 6.3-14 14s6.3 14 14 14h59.8c9.3 0 19 4.4 26.5 12 7.4 7.5 11.7 17.1 11.7 26.2V190c0 7.7 6.3 14 14 14s14-6.3 14-14v-59.8c0-36.5-29.7-66.2-66.2-66.2zM174 420h-59.8c-9.3 0-19-4.4-26.5-12-7.4-7.5-11.7-17.1-11.7-26.2V322c0-7.7-6.3-14-14-14s-14 6.3-14 14v59.8c0 36.5 29.7 66.2 66.2 66.2H174c7.7 0 14-6.3 14-14s-6.3-14-14-14zM450 308c-7.7 0-14 6.3-14 14v59.8c0 9.1-4.3 18.7-11.7 26.2-7.5 7.6-17.2 12-26.5 12H338c-7.7 0-14 6.3-14 14s6.3 14 14 14h58.8c37 0 67.2-30.1 67.2-67.2V322c0-7.7-6.3-14-14-14z"/></svg>PK}w�\��0�� collection/icon/svg/ios-book.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M146 64.1c54.1 0 100 27.9 100 82V446c0 2.2-3.1 2.7-3.8.7v-.1c-10.3-34.2-38.2-67.6-82.3-70.5-34.2-2.2-66.9 12.9-93.1 37.1-1.6 1.5-4.3 2.9-6.6 2.9h-4.5c-3.7 0-7.6-2.7-7.6-6.1V120.2C48 88.1 91.9 64.1 146 64.1zM366 64c-54.1 0-100 27.9-100 82v299.9c0 2.2 3.1 2.7 3.8.7v-.1c10.3-34.2 39.4-67.9 82.3-70.5 32.9-2 63.9 11 93.1 37.1 1.6 1.4 4.3 2.9 6.6 2.9h4.5c3.7 0 7.6-2.7 7.6-6.1V120c.1-32-43.8-56-97.9-56z"/></svg>PK}w�\��� collection/icon/svg/md-happy.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C140.563 48 48 141.6 48 256s92.563 208 208 208 208-93.6 208-208S370.401 48 256 48zm0 374.4c-91.518 0-166.404-74.883-166.404-166.4 0-91.518 74.887-166.4 166.404-166.4S422.404 164.482 422.404 256 347.518 422.4 256 422.4zm72.8-187.2c17.683 0 31.201-13.518 31.201-31.2s-13.519-31.2-31.201-31.2c-17.682 0-31.2 13.518-31.2 31.2s13.518 31.2 31.2 31.2zm-145.6 0c17.682 0 31.2-13.518 31.2-31.2s-13.519-31.2-31.2-31.2c-17.683 0-31.201 13.518-31.201 31.2s13.519 31.2 31.201 31.2zM256 370.4c48.883 0 89.436-30.164 106.081-72.801H149.919C166.564 340.236 207.117 370.4 256 370.4z"/></svg>PK}w�\�Jj���#collection/icon/svg/md-videocam.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M384 219.5v-85.2c0-13.4-11.2-24.3-24.9-24.3H56.9C43.2 110 32 120.9 32 134.3v243.3C32 391 43.2 402 56.9 402h302.2c13.7 0 24.9-11 24.9-24.3v-85.2l96 97.3V122.2l-96 97.3z"/></svg>PK}w�\[%� collection/icon/svg/ios-cart.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><ellipse transform="rotate(-1.057 159.995 423.97) scale(.99997)" cx="160" cy="424" rx="24" ry="24"/><ellipse transform="matrix(.02382 -.9997 .9997 .02382 -48.51 798.282)" cx="384.5" cy="424" rx="24" ry="24"/><path d="M463.8 132.2c-.7-2.4-2.8-4-5.2-4.2L132.9 96.5c-2.8-.3-6.2-2.1-7.5-4.7-3.8-7.1-6.2-11.1-12.2-18.6-7.7-9.4-22.2-9.1-48.8-9.3-9-.1-16.3 5.2-16.3 14.1 0 8.7 6.9 14.1 15.6 14.1s21.3.5 26 1.9c4.7 1.4 8.5 9.1 9.9 15.8 0 .1 0 .2.1.3.2 1.2 2 10.2 2 10.3l40 211.6c2.4 14.5 7.3 26.5 14.5 35.7 8.4 10.8 19.5 16.2 32.9 16.2h236.6c7.6 0 14.1-5.8 14.4-13.4.4-8-6-14.6-14-14.6H188.9c-2 0-4.9 0-8.3-2.8-3.5-3-8.3-9.9-11.5-26l-4.3-23.7c0-.3.1-.5.4-.6l277.7-47c2.6-.4 4.6-2.5 4.9-5.2l16-115.8c.2-.8.2-1.7 0-2.6z"/></svg>PK}w�\���II#collection/icon/svg/ios-journal.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M92.1 32C76.6 32 64 44.6 64 60.1V452c0 15.5 12.6 28.1 28.1 28.1H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H112.5c-8.2 0-15.4-6-16.4-14.1-1.1-9.7 6.5-18 15.9-18h208V32H92.1z"/><path d="M432 416c8.8 0 16-7.2 16-16V60.1c0-15.5-12.6-28.1-28.1-28.1H368v384h64z"/></svg>PK}w�\�=gPii*collection/icon/svg/md-arrow-dropright.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M192 128l128 128-128 128z"/></svg>PK}w�\�T���#collection/icon/svg/logo-google.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M457.6 224l-2.1-8.9H262V297h115.6c-12 57-67.7 87-113.2 87-33.1 0-68-13.9-91.1-36.3-23.7-23-38.8-56.9-38.8-91.8 0-34.5 15.5-69 38.1-91.7 22.5-22.6 56.6-35.4 90.5-35.4 38.8 0 66.6 20.6 77 30l58.2-57.9c-17.1-15-64-52.8-137.1-52.8-56.4 0-110.5 21.6-150 61C72.2 147.9 52 204 52 256s19.1 105.4 56.9 144.5c40.4 41.7 97.6 63.5 156.5 63.5 53.6 0 104.4-21 140.6-59.1 35.6-37.5 54-89.4 54-143.8 0-22.9-2.3-36.5-2.4-37.1z"/></svg>PK}w�\* ���"collection/icon/svg/ios-repeat.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M336.6 157.5L303 124.1c-3.5-3.5-8.5-4.9-13.6-3.6-1.2.3-2.4.8-3.5 1.5-4.7 2.9-7.2 7.8-6.8 13.1.2 3.4 1.9 6.6 4.3 9.1l16 15.9H142c-20.8 0-40.3 8.1-55.1 22.9C72.1 197.7 64 217.2 64 238v16c0 7.7 6.3 14 14 14s14-6.3 14-14v-16c0-13.3 5.2-25.8 14.7-35.3 9.5-9.5 22-14.7 35.3-14.7h155.4l-16 15.9c-2.4 2.4-4 5.4-4.3 8.7-.4 4.2 1.1 8.3 4.1 11.3 2.6 2.6 6.2 4.1 9.9 4.1s7.2-1.4 9.9-4.1l35.6-35.4c4.2-4.1 6.5-9.7 6.5-15.5-.1-5.9-2.4-11.4-6.5-15.5zM434 244c-7.7 0-14 6.3-14 14v16c0 13.3-5.2 25.8-14.7 35.3-9.5 9.5-22 14.7-35.3 14.7H214.6l16-15.9c2.4-2.4 4-5.4 4.3-8.8.4-4.2-1.1-8.3-4.1-11.3-2.6-2.6-6.2-4.1-9.9-4.1s-7.2 1.4-9.9 4.1l-35.6 35.4c-4.2 4.1-6.5 9.7-6.5 15.5 0 5.9 2.3 11.4 6.5 15.5l33.6 33.4c3.5 3.5 8.5 4.9 13.6 3.6 1.2-.3 2.4-.8 3.5-1.5 4.7-2.9 7.2-7.8 6.8-13.1-.2-3.4-1.9-6.6-4.3-9.1l-16-15.9H370c43 0 78-35 78-78v-16c0-7.5-6.3-13.8-14-13.8z"/></svg>PK}w�\w�R��#collection/icon/svg/md-browsers.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M424 64H88c-26.6 0-48 21.6-48 48v288c0 26.4 21.4 48 48 48h336c26.4 0 48-21.6 48-48V112c0-26.4-21.4-48-48-48zm0 336H88V176h336v224z"/></svg>PK}w�\����$collection/icon/svg/md-share-alt.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M448 248L288 96v85.334C138.666 202.667 85.333 309.334 64 416c53.333-74.666 117.333-108.802 224-108.802v87.469L448 248z"/></svg>PK}w�\�Xz%collection/icon/svg/ios-recording.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M386.2 146h-.1c-60.6 0-109.8 49.2-109.8 110.1 0 30.5 12.3 58 32.3 77.9H203.5c19.9-19.9 32.3-47.5 32.3-77.9 0-60.8-49.2-110.1-109.8-110.1h-.1-.1C65.2 146 16 195.2 16 256s49.2 110 109.8 110h260.4c60.6 0 109.8-49.2 109.8-110s-49.2-110-109.8-110zM464 256c0 43.1-34.9 78.2-77.9 78.2s-77.9-35.1-77.9-78.2 34.9-78.2 77.9-78.2S464 212.9 464 256zm-338.1 78.2C83 334.2 48 299.1 48 256s34.9-78.2 77.9-78.2 77.9 35.1 77.9 78.2-34.9 78.2-77.9 78.2z"/></svg>PK}w�\Aw̧��!collection/icon/svg/md-rewind.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M249.6 402V110L32 256l217.6 146zm12.8-146L480 402V110L262.4 256z"/></svg>PK}w�\��"collection/icon/svg/ios-switch.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><circle cx="144" cy="368" r="42"/><path d="M367.5 272h-223C91.2 272 48 315.2 48 368.5S91.2 464 144.5 464h223c53.3 0 96.5-42.2 96.5-95.5S420.8 272 367.5 272zM144 432c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64z"/><circle cx="368" cy="144" r="42"/><path d="M144.5 240h223c53.3 0 96.5-42.2 96.5-95.5S420.8 48 367.5 48h-223C91.2 48 48 91.2 48 144.5S91.2 240 144.5 240zM368 80c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64z"/></svg>PK}w�\1���'collection/icon/svg/ios-git-network.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M377.4 32c-38.9 0-70.6 31.7-70.6 70.7 0 17.1 6.2 33.7 17.5 46.6 10 11.5 23.5 19.4 38.2 22.5v43.1L256 270.3l-106.4-55.4v-43.1c32.2-6.9 55.7-35.6 55.7-69.1 0-39-31.7-70.7-70.6-70.7S64 63.7 64 102.7c0 17.1 6.2 33.7 17.5 46.6 10 11.5 23.5 19.4 38.2 22.5v57.4c0 2.7 1.5 5.1 3.9 6.3l117.5 60.8v43.9c-32.2 6.9-55.7 35.6-55.7 69.1 0 39 31.7 70.7 70.6 70.7s70.6-31.7 70.6-70.7c0-17.1-6.2-33.7-17.5-46.6-10-11.5-23.5-19.4-38.2-22.5v-43.9l117.5-60.8c2.4-1.2 3.9-3.6 3.9-6.3v-57.4c32.2-6.9 55.7-35.6 55.7-69.1 0-39-31.7-70.7-70.6-70.7zM93.8 102.7c0-22.5 18.3-40.8 40.8-40.8s40.8 18.3 40.8 40.8c0 22.5-18.3 40.8-40.8 40.8s-40.8-18.3-40.8-40.8zm203 306.6c0 22.5-18.3 40.8-40.8 40.8s-40.8-18.3-40.8-40.8c0-22.5 18.3-40.8 40.8-40.8s40.8 18.3 40.8 40.8zm80.6-265.7c-22.5 0-40.8-18.3-40.8-40.8 0-22.5 18.3-40.8 40.8-40.8 22.5 0 40.8 18.3 40.8 40.8 0 22.4-18.3 40.8-40.8 40.8z"/></svg>PK}w�\���� collection/icon/svg/md-alert.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.6 48 48 141.601 48 256s93.6 208 208 208 208-93.601 208-208S370.4 48 256 48zm24 312h-48v-40h48v40zm0-88h-48V144h48v128z"/></svg>PK}w�\���!collection/icon/svg/ios-globe.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48h-.7c-55.4.2-107.4 21.9-146.6 61.1C69.6 148.4 48 200.5 48 256s21.6 107.6 60.8 146.9c39.1 39.2 91.2 60.9 146.6 61.1h.7c114.7 0 208-93.3 208-208S370.7 48 256 48zm180.2 194h-77.6c-.9-26.7-4.2-52.2-9.8-76.2 17.1-5.5 33.7-12.5 49.7-21 22 28.2 35 61.6 37.7 97.2zM242 242h-61.8c.8-24.5 3.8-47.7 8.8-69.1 17.4 3.9 35.1 6.3 53 7.1v62zm0 28v61.9c-17.8.8-35.6 3.2-53 7.1-5-21.4-8-44.6-8.8-69H242zm28 0h61.3c-.8 24.4-3.8 47.6-8.8 68.9-17.2-3.9-34.8-6.2-52.5-7V270zm0-28v-62c17.8-.8 35.4-3.2 52.5-7 5 21.4 8 44.5 8.8 69H270zm109.4-117.9c-12.3 6.1-25 11.3-38 15.5-7.1-21.4-16.1-39.9-26.5-54.5 24 8.3 45.9 21.6 64.5 39zM315 146.8c-14.7 3.2-29.8 5.2-45 6V79.4c17 9.2 33.6 33.9 45 67.4zM242 79v73.7c-15.4-.8-30.6-2.8-45.5-6.1 11.6-33.8 28.4-58.5 45.5-67.6zm-45.6 6.4c-10.3 14.5-19.2 32.9-26.3 54.1-12.8-4.2-25.4-9.4-37.5-15.4 18.4-17.3 40.1-30.5 63.8-38.7zm-82.9 59.5c15.8 8.4 32.3 15.4 49.2 20.8-5.7 23.9-9 49.5-9.8 76.2h-77c2.6-35.4 15.6-68.8 37.6-97zM75.8 270h77c.9 26.7 4.2 52.3 9.8 76.2-16.9 5.5-33.4 12.5-49.2 20.8-21.9-28.1-34.9-61.5-37.6-97zm56.7 117.9c12.1-6 24.7-11.2 37.6-15.4 7.1 21.3 16 39.6 26.3 54.2-23.7-8.4-45.4-21.5-63.9-38.8zm64-22.6c14.9-3.3 30.2-5.3 45.5-6.1V433c-17.2-9.1-33.9-33.9-45.5-67.7zm73.5 67.3v-73.5c15.2.8 30.3 2.8 45 6-11.4 33.6-28 58.3-45 67.5zm45-5.7c10.4-14.6 19.4-33.1 26.5-54.5 13 4.2 25.8 9.5 38 15.6-18.6 17.3-40.6 30.6-64.5 38.9zm83.5-59.8c-16-8.5-32.6-15.5-49.7-21 5.6-23.9 8.9-49.4 9.8-76.1h77.6c-2.7 35.5-15.6 68.9-37.7 97.1z"/></svg>PK}w�\Bc҉��'collection/icon/svg/ios-chatbubbles.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M431 320.6c0-4.4 1.2-8.6 3.3-12.2.6-1.1 1.4-2.1 2.1-3.1 17.4-26 27.6-57.1 27.6-90.3.3-92.2-77.5-167-173.7-167-83.9 0-153.9 57.1-170.3 132.9-2.4 11.1-3.7 22.4-3.7 34.2 0 92.3 74.8 169.1 171 169.1 15.3 0 35.9-4.6 47.2-7.7 11.3-3.1 22.5-7.2 25.4-8.3 2.9-1.1 6.1-1.7 9.3-1.7 3.6 0 7 .7 10.1 2l56.7 20.1s2.4 1 3.9 1c4.4 0 8-3.5 8-8 0-1-.5-2.7-.5-2.7L431 320.6z"/><path d="M318.5 392.5c-3.6 1-8.2 2.1-13.2 3.2-10.5 2.2-23.9 4.5-34 4.5-96.2 0-171-76.8-171-169.1 0-6.6.7-15 1.5-21.4.6-4.3 1.3-8.6 2.3-12.8 1-4.5 2.2-9 3.5-13.4l-8 7.1C66.8 219.2 48 260 48 302.5c0 29.3 8.5 57.5 24.8 82 2.3 3.5 3.6 6.2 3.2 8-.4 1.8-11.9 62-11.9 62-.6 2.9.5 5.8 2.7 7.7 1.5 1.2 3.3 1.8 5.1 1.8 1 0 2-.2 2.9-.6l56.1-22.1c1.8-.7 3.7-1.1 5.7-1.1 0 0 2.4-.2 6.3 1.3 18.9 7.4 39.8 12 60.7 12 46.6 0 90.4-20.1 120.1-55.1 0 0 3.2-4.4 6.9-9.6-3.7 1.3-7.9 2.6-12.1 3.7z"/></svg>PK}w�\-�^o"collection/icon/svg/logo-slack.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M213.6 236.216l64.003-21.438 20.708 61.823-64.004 21.438z"/><path d="M213.6 236.216l64.003-21.438 20.708 61.823-64.004 21.438z"/><path d="M475.9 190C426.4 25 355-13.4 190 36.1S-13.4 157 36.1 322 157 525.4 322 475.9 525.4 355 475.9 190zm-83.3 107.1l-31.1 10.4 10.7 32.2c4.2 13-2.7 27.2-15.7 31.5-2.7.8-5.8 1.5-8.4 1.2-10-.4-19.6-6.9-23-16.9l-10.7-32.2-64.1 21.5L261 377c4.2 13-2.7 27.2-15.7 31.5-2.7.8-5.8 1.5-8.4 1.2-10-.4-19.6-6.9-23-16.9L203 360.4l-31 10.3c-2.7.8-5.8 1.5-8.4 1.2-10-.4-19.6-6.9-23-16.9-4.2-13 2.7-27.2 15.7-31.5l31.1-10.4-20.7-61.8-31.1 10.4c-2.7.8-5.8 1.5-8.4 1.2-10-.4-19.6-6.9-23-16.9-4.2-13 2.7-27.2 15.7-31.5l31.1-10.4-10.9-32.1c-4.2-13 2.7-27.2 15.7-31.5 13-4.2 27.2 2.7 31.5 15.7l10.7 32.2 64.1-21.5-10.7-32.2c-4.2-13 2.7-27.2 15.7-31.5 13-4.2 27.2 2.7 31.5 15.7l10.7 32.2 31.1-10.4c13-4.2 27.2 2.7 31.5 15.7 4.2 13-2.7 27.2-15.7 31.5l-31.1 10.4 20.7 61.8 31.1-10.4c13-4.2 27.2 2.7 31.5 15.7 4.2 13.2-2.7 27.4-15.8 31.7z"/></svg>PK}w�\��1��collection/icon/svg/md-eye.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 105c-101.8 0-188.4 62.4-224 151 35.6 88.6 122.2 151 224 151s188.4-62.4 224-151c-35.6-88.6-122.2-151-224-151zm0 251.7c-56 0-101.8-45.3-101.8-100.7S200 155.3 256 155.3 357.8 200.6 357.8 256 312 356.7 256 356.7zm0-161.1c-33.6 0-61.1 27.2-61.1 60.4s27.5 60.4 61.1 60.4 61.1-27.2 61.1-60.4-27.5-60.4-61.1-60.4z"/></svg>PK}w�\ ��� � "collection/icon/svg/ios-flower.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M385.1 230.2c-26.7 0-60.1 6.9-86.3 13.5-.9-3.2-2.1-6.2-3.7-9.1 23.2-13.8 51.7-32.5 70.5-51.4 36.7-36.7 48.3-63.6 37.6-74.3-2.6-2.6-6-3.8-10.3-3.8-13.8 0-36 13.4-64 41.4-18.8 18.8-37.6 47.2-51.4 70.4-2.8-1.6-5.9-2.8-9.1-3.8 6.7-26.2 13.5-59.5 13.5-86.1 0-51.9-10.8-79.1-26-79.1s-26 27.2-26 79.1c0 26.6 6.8 60 13.5 86.1-3.2.9-6.2 2.2-9.1 3.8-13.8-23.2-32.5-51.6-51.4-70.4-28-28-50.3-41.4-64-41.4-4.3 0-7.7 1.3-10.3 3.8-10.8 10.8.8 37.6 37.6 74.3 18.9 18.9 47.3 37.6 70.5 51.4-1.5 2.8-2.8 5.9-3.7 9.1-26.2-6.7-59.6-13.5-86.3-13.5-51.8 0-78.7 10.6-78.7 25.8s26.9 26.2 78.9 26.2c26.7 0 60.2-6.9 86.4-13.6.9 3.1 2.2 6.2 3.8 9-23.3 13.8-51.8 32.6-70.7 51.5-36.7 36.7-48.3 63.6-37.6 74.3 2.6 2.6 6 3.8 10.3 3.8 13.8 0 36-13.4 64-41.4 18.9-18.9 37.8-47.5 51.6-70.8 2.8 1.5 5.8 2.8 9 3.7-6.7 26.2-13.6 59.8-13.6 86.5 0 51.9 10.8 78.6 26 78.6s26-26.7 26-78.6c0-26.8-6.9-60.3-13.6-86.5 3.1-.9 6.1-2.1 9-3.7 13.8 23.3 32.6 51.9 51.6 70.8 28 28 50.3 41.4 64 41.4 4.3 0 7.7-1.3 10.3-3.8 10.8-10.8-.8-37.6-37.6-74.3-18.9-18.9-47.5-37.7-70.7-51.5 1.6-2.8 2.8-5.8 3.8-9 26.2 6.7 59.7 13.6 86.4 13.6 51.9 0 78.9-10.8 78.9-26-.2-15.2-27.1-26-79.1-26z"/><path d="M318.4 376.4c-8.5-8.5-16.9-18.7-24.8-29.5 2 13.2 3.3 26.4 3.3 38.4 0 11.7-.5 22.5-1.6 32.1 12.3 21.8 24.3 32.7 34 32.7 1.6 0 3.2-.3 4.7-.9 11-4.5 13.3-23.3 4.5-54.3-6.4-5.3-13.1-11.5-20.1-18.5zM193.8 136.1c8.4 8.4 16.7 18.5 24.6 29.2-2-13.2-3.2-26.3-3.2-38.2 0-11.7.5-22.5 1.6-32.1-12.3-21.8-24.3-32.7-34-32.7-1.6 0-3.2.3-4.7.9-11 4.5-13.3 23.3-4.5 54.3 6.4 5.4 13.2 11.6 20.2 18.6zM135.8 318.6c8.5-8.5 18.7-16.9 29.5-24.8-13.2 2-26.4 3.3-38.4 3.3-11.7 0-22.5-.5-32.1-1.6-25.5 14.4-36.1 28.2-31.8 38.7 2.6 6.4 10.1 9.9 22.1 9.9 8.5 0 19.3-1.7 32.2-5.4 5.4-6.4 11.5-13.1 18.5-20.1zM376.2 193.8c-8.5 8.5-18.7 16.9-29.5 24.8 13.2-2 26.4-3.3 38.4-3.3 11.7 0 22.5.5 32.1 1.6 25.5-14.4 36.1-28.2 31.8-38.7-2.6-6.4-10.1-9.9-22.1-9.9-8.5 0-19.3 1.7-32.2 5.4-5.4 6.5-11.5 13.2-18.5 20.1zM193.6 376.4c-8.3 8.3-16.3 15.6-23.8 21.6-7.8 28.2-5.5 45.4 4.9 49.9 1.6.7 3.2 1 4.9 1 10.3 0 23.2-12 36.7-36.2-.7-8.4-1.1-17.5-1.1-27.3 0-12 1.3-25.2 3.3-38.4-8 10.7-16.4 20.9-24.9 29.4zM318.4 136.2c8.3-8.3 16.2-15.5 23.7-21.5 7.9-28.4 5.7-45.8-4.8-50.2-1.6-.7-3.2-1-4.9-1-10.3 0-23.2 12-36.7 36.2.7 8.4 1.1 17.5 1.1 27.3 0 12.1-1.3 25.3-3.3 38.7 8-10.7 16.4-21 24.9-29.5zM99.6 216.5c8.4-.7 17.5-1.1 27.3-1.1 12 0 25.1 1.3 38.3 3.3-10.7-7.9-20.9-16.3-29.4-24.8-8.3-8.3-15.6-16.3-21.7-23.9-11.3-3.1-20.9-4.6-28.6-4.6-11.4 0-18.6 3.3-21.2 9.5-4.6 10.9 7.1 25.9 35.3 41.6zM412.4 296c-8.4.7-17.5 1.1-27.3 1.1-12 0-25.2-1.3-38.4-3.3 10.8 7.9 21 16.4 29.5 24.8 8.3 8.3 15.5 16.3 21.6 23.8 11.4 3.2 20.9 4.7 28.6 4.7 11.4 0 18.6-3.3 21.2-9.5 4.7-11-7-25.9-35.2-41.6z"/></svg>PK}w�\��j���)collection/icon/svg/ios-remove-circle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zm90.5 224h-181c-8.5 0-16-6-16-16s7.2-16 16-16h181c8.8 0 16 7.2 16 16s-7.2 16-16 16z"/></svg>PK}w�\ B'PVV&collection/icon/svg/ios-microphone.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M315 204h72.6c6.6 0 12.3-5.2 12.4-11.8.1-6.7-5.3-12.2-12-12.2h-73c-6.7 0-12.1-5.5-12-12.2.1-6.6 5.8-11.8 12.4-11.8h76.5c4.5 0 8.2-3.7 8-8.2-1.7-47.5-31.2-88.1-72.7-106-5.3-2.3-11.2 1.6-11.2 7.3v35.5c0 6.6-5.2 12.3-11.8 12.4-6.7.1-12.2-5.3-12.2-12V44c0-6.6-5.4-12-12-12s-12 5.4-12 12v56.6c0 6.6-5.2 12.3-11.8 12.4-6.7.1-12.2-5.3-12.2-12V44c0-6.6-5.4-12-12-12s-12 5.4-12 12v40.6c0 6.6-5.2 12.3-11.8 12.4-6.7.1-12.2-5.3-12.2-12V49.1c0-5.8-5.9-9.6-11.2-7.3-41.5 17.9-71.1 58.6-72.7 106-.2 4.5 3.5 8.2 8 8.2h76.5c6.6 0 12.3 5.2 12.4 11.8.1 6.7-5.3 12.2-12 12.2h-72.6c-6.6 0-12.3 5.2-12.4 11.8-.1 6.7 5.3 12.2 12 12.2h72.6c6.6 0 12.3 5.2 12.4 11.8.1 6.7-5.3 12.2-12 12.2h-72.6c-6.6 0-12.3 5.2-12.4 11.8-.1 6.7 5.3 12.2 12 12.2h72.6c6.6 0 12.3 5.2 12.4 11.8.1 6.7-5.3 12.2-12 12.2h-76.9c-4.5 0-8.2 3.7-8 8.2.5 13.6 3.3 26.7 7.9 38.8 1.2 3.1 4.2 5 7.4 5h257.1c3.3 0 6.3-2 7.4-5 4.7-12.1 7.5-25.2 7.9-38.8.2-4.5-3.5-8.2-8-8.2h-76.5c-6.6 0-12.3-5.2-12.4-11.8-.1-6.7 5.3-12.2 12-12.2h72.6c6.6 0 12.3-5.2 12.4-11.8.1-6.7-5.3-12.2-12-12.2h-72.6c-6.6 0-12.3-5.2-12.4-11.8 0-6.7 5.4-12.2 12.1-12.2zM141.5 358.6c19 22 45.2 37.2 75.4 40.8 4 .5 7.1 3.9 7.1 7.9V448c0 17.7 14.3 32 32 32s32-14.3 32-32v-40.7c0-4.1 3.1-7.5 7.1-7.9 30.3-3.5 56.4-18.7 75.4-40.8 2.2-2.6.3-6.6-3.1-6.6H144.5c-3.4 0-5.2 4-3 6.6z"/></svg>PK}w�\�;+U'collection/icon/svg/logo-googleplus.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M318.2 230.9l-1.6-7H160V288h90.7c-9.4 45-48.4 63.6-84.1 63.6-26 0-50.2-7.8-68.3-25.3-18.6-18.1-28.9-43.1-28.9-70.4 0-27.1 9.8-51.8 27.6-69.6 17.7-17.7 42-25.4 68.7-25.4 30.5 0 49.9 13.8 58.1 21.1l48-47.7C258.3 122.6 221.5 93 164.1 93c-44.3 0-86.7 16.8-117.7 47.8C15.9 171.3 0 215.2 0 256s15 82.6 44.6 113.3C76.3 402 121.2 419 167.5 419c42.1 0 81.9-16.5 110.3-46.3 28-29.4 42.4-70.1 42.4-112.7-.1-18-1.9-28.7-2-29.1zM512 224h-57v-57h-41v57h-57v41h57v57h41v-57h57z"/></svg>PK}w�\���О�,collection/icon/svg/ios-checkmark-circle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zm106.5 150.5L228.8 332.8h-.1c-1.7 1.7-6.3 5.5-11.6 5.5-3.8 0-8.1-2.1-11.7-5.7l-56-56c-1.6-1.6-1.6-4.1 0-5.7l17.8-17.8c.8-.8 1.8-1.2 2.8-1.2 1 0 2 .4 2.8 1.2l44.4 44.4 122-122.9c.8-.8 1.8-1.2 2.8-1.2 1.1 0 2.1.4 2.8 1.2l17.5 18.1c1.8 1.7 1.8 4.2.2 5.8z"/></svg>PK}w�\nj*ڨ� collection/icon/svg/ios-exit.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M144 136v107h179.9l-47.2-47.9c-5-5.1-5-13.3.1-18.4 5.1-5 13.3-5 18.4.1l69 70c2.4 2.5 3.7 5.8 3.7 9.1 0 1.7-.3 3.4-1 5-.6 1.5-1.6 2.9-2.7 4.1l-69 70c-5 5.1-13.3 5.2-18.4.1-5.1-5-5.2-13.3-.1-18.4l47.2-47.9H144v107c0 22 18 40 40 40h240c22 0 40-18 40-40V136c0-22-18-40-40-40H184c-22 0-40 18-40 40zM61 243c-7.2 0-13 5.8-13 13s5.8 13 13 13h83v-26H61z"/></svg>PK}w�\sa2L��&collection/icon/svg/md-return-left.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M432.8 136v96H122.3l84.4-86.2-33.2-33.8L32 256l141.5 144 33.2-33.8-84.4-86.2H480V136h-47.2z"/></svg>PK}w�\|�"dd&collection/icon/svg/ios-color-fill.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M231.5 118.3c.1 0 .1-.1 0 0L175.3 62c-9.3-9.3-21.6-14-33.9-14-12.3 0-24.6 4.7-33.9 14-18.7 18.7-18.7 49.2 0 67.9l49.3 49.3-84.5 84c-11.1 11.1-11 29.2.3 40l131.2 126c10.9 10.4 28 10.4 38.9-.1 37.8-36.6 118.3-114.5 126.7-122.9 5.8-5.8 18.2-7.1 28.7-7.1h.3c5.9 0 8.8-7.1 4.6-11.2L231.5 118.3zm-103.9-7.9c-7.2-7.2-8.3-18.8-2-26.8 3.8-4.9 9.6-7.6 15.8-7.6 5.4 0 10.4 2.1 14.1 5.8l49.3 49.3-28.3 28.3-48.9-49zM403 339.5c-1.6-1.9-4.5-1.9-6.1 0-10.5 12.2-45 53.9-45 76.4 0 26.6 21.5 48.1 48 48.1s48-21.6 48-48.1c.1-22.6-34.3-64.2-44.9-76.4z"/></svg>PK}w�\�i� (collection/icon/svg/ios-cloudy-night.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M277.8 294.8c-.5 0-1.1-.1-1.6-.1-2.6 0-5.2 0-7.8.3-9.3-40.8-45.9-71.5-89.7-71.5-50.8 0-91.9 40.9-91.9 91.4 0 3.1.2 6.1.5 9.1-31 2.7-55.3 30.1-55.3 61.6C32 419 58.8 448 92.3 448h185.5c41.9 0 75.8-34.7 75.8-76.3 0-41.6-33.9-76.9-75.8-76.9z"/><path d="M452.1 305.4c-2.5.1-5 .2-7.6.2-41.7 0-80.8-15.7-110.3-44.3-29.5-28.5-45.7-66.5-45.7-106.8 0-23 5.3-45.2 15.2-65.3L315.4 70c1.7-2.9-.8-6.5-4.1-6-7.6 1.2-15.7 4-23.2 6.3-59.5 18.2-104.4 68.1-113.7 129.3 1.4-.1 2.9-.1 4.3-.1 26.5 0 52.4 9.2 73 25.9 15.1 12.2 26.9 28 34.2 45.7 23.7 2 45.7 12.4 62.7 29.8 18.7 19.1 29 44.2 29 70.7 0 2.3-.1 4.6-.2 6.8 34.2-8.1 64.3-26.6 86.4-51.8 4.8-5.5 11.3-12.8 15.3-18.5 2-2.8-.3-6.7-3.8-6.3-6.8 1-15.9 3.2-23.2 3.6z"/></svg>PK}w�\.�D���collection/icon/svg/md-call.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M426.666 330.667a250.385 250.385 0 0 1-75.729-11.729c-7.469-2.136-16-1.073-21.332 5.333l-46.939 46.928c-60.802-30.928-109.864-80-140.802-140.803l46.939-46.927c5.332-5.333 7.462-13.864 5.332-21.333-8.537-24.531-12.802-50.136-12.802-76.803C181.333 73.604 171.734 64 160 64H85.333C73.599 64 64 73.604 64 85.333 64 285.864 226.136 448 426.666 448c11.73 0 21.334-9.604 21.334-21.333V352c0-11.729-9.604-21.333-21.334-21.333z"/></svg>PK}w�\P-�55$collection/icon/svg/logo-codepen.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M241.239 303.936c-15.322-10.357-30.742-20.569-46.062-30.93-2.03-1.373-3.43-1.472-5.502-.029l-38.871 26.154C181.966 319.905 244 361.317 244 361.317v-53.786c-.012-1.224-1.553-2.78-2.761-3.595zM195.092 240.666c15.454-10.16 30.851-20.409 46.109-30.86 1.486-1.018 2.775-3.509 2.799-5.334v-51.706s-62.033 41.124-93.262 61.942c13.7 9.159 26.671 17.913 39.787 26.443 1.02.662 3.396.284 4.567-.485zM269.838 209.354a4521.517 4521.517 0 0 0 47.627 31.815c.916.604 2.92.602 3.839 0l39.751-26.467L268 152.484v53.35c.01 1.201.805 2.821 1.838 3.52zM258.109 230.369c-1.21-.802-3.611-.528-4.743.168-4.817 2.962-9.463 6.203-14.164 9.355-8.248 5.53-25.356 17.023-25.356 17.023l38.842 25.865c1.748 1.157 4.436 1.22 6.26.111l39.014-25.993c.001 0-34.079-22.701-39.853-26.529zM141 237.116v39.609l29.622-19.838z"/><path d="M256 32C132.288 32 32 132.288 32 256s100.288 224 224 224 224-100.288 224-224S379.712 32 256 32zm139 265.006c0 5.785-2.652 9.868-7.511 13.094a38019.909 38019.909 0 0 0-123.286 82.188c-5.854 3.918-11.174 3.754-16.984-.137-40.783-27.314-81.719-54.546-122.625-81.676-5.11-3.389-7.594-7.557-7.594-13.73v-79.729c0-6.141 2.521-10.332 7.624-13.716 40.906-27.13 81.939-54.363 122.724-81.676 5.818-3.896 11.094-4.007 16.938-.095a41090.004 41090.004 0 0 0 123.261 82.195c4.678 3.106 7.453 6.943 7.453 12.66v80.622z"/><path d="M316.247 273.234a3826.352 3826.352 0 0 1-45.386 30.332c-2.412 1.588-2.888 3.318-2.861 6.189v51.346l93.039-62.004-38.527-25.882c-2.345-1.604-3.93-1.567-6.265.019zM370 276.676V237.06l-29.59 19.873z"/></svg>PK}w�\�蟤hhcollection/icon/svg/md-flag.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M396 83.2c-13.8 1.7-31.1 4.2-49.6 4.2-28.8 0-55-6.8-81.5-12.2C238 69.7 210.2 64 180.8 64c-58.6 0-78.5 12.1-80.6 13.4L96 80.3V448h48V269.8c9.7-1.2 21.9-2 36.9-2 27.3 0 52.8 10 79.8 15.5 27.6 5.6 56 11.5 86.9 11.5 18.4 0 34.6-2.4 48.4-4 7.5-.9 14-1.7 20-2.7V80.2c-5 1-12.5 2.1-20 3z"/></svg>PK}w�\Ө&ff!collection/icon/svg/md-trophy.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M392 105c.9-27 .2-56 .1-57H119.3c0 1-.8 30 .1 57H48c0 68 9.9 102.3 21 126.7S95.4 277 127.7 302c30.1 23.3 95.5 53.6 104.3 57.6v28.3c-4.6 10-23.5 28.2-83.3 28.2H128v48h256v-48h-25.7c-60.7 0-75-19.1-78.3-28.2v-28.3c9.3-4.6 80.9-40.3 104.4-57.5 25.2-18.4 50.9-51.5 58.7-70.3S464 167 464 105h-72zM109.6 211.9c-8.8-18.2-14-37.9-15.7-61.9h28.7c.7 6 1.4 11.3 2.3 16.3 6.6 39.2 14.8 70.2 25.7 96.5-17.3-13.5-31.3-30.8-41-50.9zm292.8 0c-9.9 20.3-24 37.7-41.6 51.3 11-26.2 19-56.8 25.8-96.9.8-5 1.6-10.3 2.3-16.3h29.3c-1.8 24-6.9 43.7-15.8 61.9z"/></svg>PK}w�\u&&Dii)collection/icon/svg/md-arrow-dropdown.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M128 192l128 128 128-128z"/></svg>PK}w�\mL"���)collection/icon/svg/md-square-outline.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M405.3 106.7v298.7H106.7V106.7h298.6m0-42.7H106.7C83.2 64 64 83.2 64 106.7v298.7c0 23.5 19.2 42.7 42.7 42.7h298.7c23.5 0 42.7-19.2 42.7-42.7V106.7C448 83.2 428.8 64 405.3 64z"/></svg>PK}w�\�ۺ�CC*collection/icon/svg/ios-arrow-dropleft.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M301.3 147.6c-7.5-7.5-19.8-7.5-27.3 0l-95.4 95.7c-7.3 7.3-7.5 19.1-.6 26.6l94 94.3c3.8 3.8 8.7 5.7 13.7 5.7 4.9 0 9.9-1.9 13.6-5.6 7.5-7.5 7.6-19.7 0-27.3l-79.8-81 81.9-81.1c7.5-7.5 7.5-19.7-.1-27.3z"/><path d="M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zm124.4 332.4C347.2 413.7 303 432 256 432s-91.2-18.3-124.4-51.6C98.3 347.2 80 303 80 256s18.3-91.2 51.6-124.4C164.8 98.3 209 80 256 80s91.2 18.3 124.4 51.6C413.7 164.8 432 209 432 256s-18.3 91.2-51.6 124.4z"/></svg>PK}w�\�$>��'collection/icon/svg/md-return-right.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M32 136v144h357.7l-84.4 86.2 33.2 33.8L480 256 338.5 112l-33.2 33.8 84.4 86.2H79.2v-96H32z"/></svg>PK}w�\�ǁ�QQ'collection/icon/svg/md-cloud-upload.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M403.002 217.001C388.998 148.002 328.998 96 256 96c-57.998 0-107.998 32.998-132.998 81.001C63.002 183.002 16 233.998 16 296c0 65.996 53.999 120 120 120h260c55 0 100-45 100-100 0-52.998-40.996-96.001-92.998-98.999zM288 276v76h-64v-76h-68l100-100 100 100h-68z"/></svg>PK}w�\��S�tt%collection/icon/svg/ios-bluetooth.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M378.5 333l-88.3-77 88.2-76.1c6.9-6 7.4-16.3 1.1-22.9L262.7 35.6c-2.2-2.3-5.4-3.6-8.6-3.6-6.1 0-11.1 4.9-11.1 10.8V212l-86.3-73.3c-7.1-6-17.8-5.3-24.1 1.5-6.5 7-5.8 17.9 1.6 24.1L243 256l-108.1 90.9c-7.3 6.1-8.1 16.8-1.7 23.9l.3.3c6.3 7 17.3 7.7 24.5 1.5l85-73.6v169.8c0 6.2 5.1 11.2 11.5 11.2 3.2 0 6.2-1.3 8.4-3.5L379.6 356c6.3-6.6 5.8-16.9-1.1-23zm-99.1-232.1l62.7 65.9c.8.8.7 2.1-.2 2.9l-62.7 53c-1.3 1.1-3.4.2-3.4-1.5V102.3c.1-1.9 2.4-2.7 3.6-1.4zm-3.5 309V291.6c0-1.7 2.1-2.6 3.4-1.5l62.7 53c.9.7.9 2 .2 2.9l-62.7 65.3c-1.3 1.3-3.6.4-3.6-1.4z"/></svg>PK}w�\0�={{#collection/icon/svg/ios-contact.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C148.5 48 60.1 129.5 49.2 234.1c-.8 7.2-1.2 14.5-1.2 21.9 0 7.4.4 14.7 1.2 21.9C60.1 382.5 148.5 464 256 464c114.9 0 208-93.1 208-208S370.9 48 256 48zm135.8 326.1c-22.7-8.6-59.5-21.2-82.4-28-2.4-.7-2.7-.9-2.7-10.7 0-8.1 3.3-16.3 6.6-23.3 3.6-7.5 7.7-20.2 9.2-31.6 4.2-4.9 10-14.5 13.6-32.9 3.2-16.2 1.7-22.1-.4-27.6-.2-.6-.5-1.2-.6-1.7-.8-3.8.3-23.5 3.1-38.8 1.9-10.5-.5-32.8-14.9-51.3-9.1-11.7-26.6-26-58.5-28h-17.5c-31.4 2-48.8 16.3-58 28-14.5 18.5-16.9 40.8-15 51.3 2.8 15.3 3.9 35 3.1 38.8-.2.7-.4 1.2-.6 1.8-2.1 5.5-3.7 11.4-.4 27.6 3.7 18.4 9.4 28 13.6 32.9 1.5 11.4 5.7 24 9.2 31.6 2.6 5.5 3.8 13 3.8 23.6 0 9.9-.4 10-2.6 10.7-23.7 7-58.9 19.4-80 27.8C91.6 341.4 76 299.9 76 256c0-48.1 18.7-93.3 52.7-127.3S207.9 76 256 76c48.1 0 93.3 18.7 127.3 52.7S436 207.9 436 256c0 43.9-15.6 85.4-44.2 118.1z"/></svg>PK}w�\P�)��(collection/icon/svg/ios-skip-forward.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M337 100v137.8L108.1 98.1C102.7 95 96 98.8 96 105v302c0 6.2 6.7 10 12.1 6.9L337 274.2V412c0 2.2 1.8 4 4 4h71c2.2 0 4-1.8 4-4V100c0-2.2-1.8-4-4-4h-71c-2.2 0-4 1.8-4 4z"/></svg>PK}w�\�C���%collection/icon/svg/ios-help-buoy.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zm54.6 36.4c27.1 8.6 52 23.6 72.7 44.3 20.7 20.7 35.7 45.6 44.3 72.7l-88.8 6c-8.2-14-19.9-25.7-33.9-34l5.7-89zm-181.9 44.3c20.7-20.7 45.5-35.7 72.7-44.3l5.7 89c-13.9 8.3-25.6 20-33.9 33.9l-88.9-5.9c8.7-27.1 23.7-52 44.4-72.7zm72.7 298.9c-27.1-8.6-52-23.6-72.7-44.3-20.7-20.7-35.7-45.6-44.3-72.7l89-5.7c8.2 13.9 19.9 25.5 33.8 33.8l-5.8 88.9zM256 324c-37.5 0-68-30.5-68-68s30.5-68 68-68 68 30.5 68 68-30.5 68-68 68zm127.3 59.3c-20.7 20.7-45.6 35.7-72.7 44.3l-5.9-88.9c14.1-8.3 25.8-20.1 34.1-34.2l88.8 6c-8.6 27.2-23.6 52.1-44.3 72.8z"/></svg>PK}w�\�� RR collection/icon/svg/md-easel.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M128 176h256v128H128z"/><path d="M448 96H64c-8.8 0-16 7.2-16 16v256c0 8.8 6.9 16 15.8 16H448c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16zm-32 240H96V144h320v192zM80 464h57l22.5-64h-56.4zM279.4 48h-46.8l-11.5 32h69.8zM375 464h57l-23-64h-56.5zM232 400h48v32h-48z"/></svg>PK}w�\ ���$$&collection/icon/svg/ios-volume-low.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M278.9 145.6c-2.2-1.1-4.6-1.6-6.9-1.6-3.6 0-7.1 1.2-10 3.5L196.8 200H144c-8.8 0-16 7.2-16 16v80c0 8.8 7.2 16 16 16h52.8l65.2 52.5c2.9 2.3 6.5 3.5 10 3.5 2.3 0 4.7-.5 6.9-1.6 5.6-2.7 9.1-8.3 9.1-14.4V160c0-6.2-3.5-11.8-9.1-14.4zM354.4 182.6c-4.6-4.7-12.1-4.8-16.8-.1-4.7 4.7-4.7 12.3-.1 17 14.7 15 22.8 35.1 22.8 56.6 0 21.4-8.1 41.5-22.8 56.6-4.6 4.7-4.6 12.3.1 17 2.3 2.3 5.3 3.5 8.3 3.5 3.1 0 6.1-1.2 8.5-3.6C373.5 310 384 284 384 256.2h-.2c0-28-10.3-54.1-29.4-73.6z"/></svg>PK}w�\��{�RR&collection/icon/svg/md-chatbubbles.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M132.8 368c-20.2 0-44.8-24.6-44.8-44.8V160h-9.6C61.7 160 48 173.7 48 190.4V464l58.5-58h215.1c16.7 0 30.4-14.1 30.4-30.9V368H132.8z"/><path d="M429.1 48H149.9C130.7 48 115 63.7 115 82.9V309c0 19.2 15.7 35 34.9 35h238.2l75.9 53V82.9c0-19.2-15.7-34.9-34.9-34.9z"/></svg>PK}w�\K٪��!collection/icon/svg/ios-easel.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M434 461.5l-26.6-69.1c-2.1-5.1-7-8.4-12.4-8.4-4.5 0-8.6 2.2-11.1 5.9s-3 8.4-1.4 12.5l26 69.1c2.1 5.1 7 8.5 12.5 8.5h.5c4.5 0 8.7-2.2 11.2-5.9 2.5-3.8 3-8.5 1.3-12.6zM117.6 384c-5.5 0-10.4 3.3-12.4 8.4l-26.6 69.1c-1.7 4.2-1.2 8.9 1.3 12.6 2.5 3.7 6.7 5.9 11.2 5.9h.5c5.5 0 10.4-3.3 12.5-8.5l26-69.1c1.7-4.1 1.2-8.8-1.4-12.5-2.4-3.7-6.6-5.9-11.1-5.9zM256.6 384h-1.1c-7.4 0-13.4 6-13.4 13.4v36.1c0 7.4 6 14.4 13.4 14.4h1.1c7.4 0 13.4-7 13.4-14.4v-36.1c0-7.4-6-13.4-13.4-13.4z"/><g><path d="M424 128H88c-4.4 0-8 3.6-8 8v176c0 4.4 3.6 8 8 8h336c4.4 0 8-3.6 8-8V136c0-4.4-3.6-8-8-8z"/><path d="M448 80H63.9C46.3 80 32 94.3 32 111.9v224.2c0 17.6 14.3 31.9 31.9 31.9H448c17.7 0 32-14.3 32-32V112c0-17.7-14.3-32-32-32zm4 244c0 8.8-7.2 16-16 16H76c-8.8 0-16-7.2-16-16V124c0-8.8 7.2-16 16-16h364.6c3 0 5.9 1.2 8 3.3 2.1 2.1 3.3 5 3.3 8V324z"/></g><path d="M256 32c-13.4-.2-24.4 12.2-24.4 25.6h48.7c.1-13.4-10.9-25.8-24.3-25.6z"/></svg>PK}w�\0 �'collection/icon/svg/ios-git-compare.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M233.9 328.1c-2.6-2.6-6.1-4.1-9.9-4.1-3.7 0-7.3 1.4-9.9 4.1-2.6 2.6-4.1 6.1-4.1 9.9 0 3.7 1.4 7.3 4.1 9.9l.1.1 41.1 40.1H166c-20.4 0-33.6-7.5-41.6-23.5-8.4-17-9.4-41.5-9.4-58.5V170.8c15-2.8 28.7-10.5 39-21.9 11.6-12.9 18-29.5 18-46.9 0-38.6-31.4-70-70-70s-70 31.4-70 70c0 17 6.2 33.3 17.3 46.1 9.9 11.3 23.1 19.1 37.7 22.3V306c0 14.7 0 42.1 9.4 65.3 11.9 29.3 36 44.7 69.6 44.7h89.7L216 456.2c-5.4 5.4-5.4 14.3 0 19.8l.1.1c2.7 2.5 6.2 3.9 9.8 3.9 3.8 0 7.3-1.4 9.9-4.1l57.6-57.4c4.2-4.2 6.5-9.8 6.5-15.7 0-5.9-2.3-11.3-6.5-15.5l-59.5-59.2zM102 144c-23.2 0-42-18.8-42-42s18.8-42 42-42 42 18.8 42 42-18.8 42-42 42zM425 341.6V206c0-14.7 0-42.1-9.4-65.3-11.9-29.2-36-44.7-69.6-44.7h-89.7L296 55.8c5.4-5.4 5.4-14.3 0-19.8l-.1-.1c-2.7-2.5-6.2-3.9-9.8-3.9-3.8 0-7.3 1.4-9.9 4.1l-57.6 57.4c-4.2 4.2-6.5 9.8-6.5 15.7 0 5.9 2.3 11.3 6.5 15.5l59.6 59.4c2.6 2.6 6.1 4.1 9.9 4.1 3.7 0 7.3-1.4 9.9-4.1 2.6-2.6 4.1-6.1 4.1-9.9 0-3.7-1.4-7.3-4.1-9.9l-.1-.1-41.2-40.2H346c20.4 0 33.6 7.5 41.6 23.5 8.4 17 9.4 41.5 9.4 58.5v135.2c-15 2.8-28.7 10.5-39 21.9-11.6 12.9-18 29.5-18 46.9 0 38.6 31.4 70 70 70s70-31.4 70-70c0-17-6.2-33.3-17.3-46.1-9.9-11.3-23.2-19.1-37.7-22.3zM410 452c-23.2 0-42-18.8-42-42s18.8-42 42-42 42 18.8 42 42-18.8 42-42 42z"/></svg>PK}w�\=�D���%collection/icon/svg/md-qr-scanner.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M96 124.2c0-6.9 5.2-12.2 12.2-12.2H176V64h-66.8C75.7 64 48 90.7 48 124.2V192h48v-67.8zM403.6 64H336v48h67.2c6.9 0 12.8 5.2 12.8 12.2V192h48v-67.8c0-33.5-27-60.2-60.4-60.2zM416 386.8c0 6.9-5.2 12.2-12.2 12.2H336v49h67.8c33.5 0 60.2-27.7 60.2-61.2V320h-48v66.8zM108.2 399c-6.9 0-12.2-5.2-12.2-12.2V320H48v66.8c0 33.5 27.7 61.2 61.2 61.2H176v-49h-67.8z"/></svg>PK}w�\? �<88"collection/icon/svg/ios-wallet.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M404 160H108c-33.1 0-60 26.9-60 60v168c0 33.1 26.9 60 60 60h296c33.1 0 60-26.9 60-60V220c0-33.1-26.9-60-60-60zM342.9 65L108 110.9c-18 4-44 22.1-44 44.1 0 0 15-19 49-19h287v-20.5c0-12.6-5-28.7-13.9-37.6-11.3-11.3-27.5-16.2-43.2-12.9z"/></svg>PK}w�\c���@@(collection/icon/svg/ios-arrow-dropup.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M147.6 301.3c-7.5-7.5-7.5-19.8 0-27.3l95.7-95.4c7.3-7.3 19.1-7.5 26.6-.6l94.3 94c3.8 3.8 5.7 8.7 5.7 13.7 0 4.9-1.9 9.9-5.6 13.6-7.5 7.5-19.7 7.6-27.3 0l-81-79.8-81.1 81.9c-7.5 7.5-19.7 7.5-27.3-.1z"/><path d="M256 464c114.9 0 208-93.1 208-208S370.9 48 256 48 48 141.1 48 256s93.1 208 208 208zm0-32c-47 0-91.2-18.3-124.4-51.6C98.3 347.2 80 303 80 256s18.3-91.2 51.6-124.4C164.8 98.3 209 80 256 80s91.2 18.3 124.4 51.6C413.7 164.8 432 209 432 256s-18.3 91.2-51.6 124.4C347.2 413.7 303 432 256 432z"/></svg>PK}w�\�p���/collection/icon/svg/md-close-circle-outline.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 90c44.3 0 86 17.3 117.4 48.6C404.7 170 422 211.7 422 256s-17.3 86-48.6 117.4C342 404.7 300.3 422 256 422s-86-17.3-117.4-48.6C107.3 342 90 300.3 90 256s17.3-86 48.6-117.4C170 107.3 211.7 90 256 90m0-42C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48z"/><path d="M360 330.9L330.9 360 256 285.1 181.1 360 152 330.9l74.9-74.9-74.9-74.9 29.1-29.1 74.9 74.9 74.9-74.9 29.1 29.1-74.9 74.9z"/></svg>PK}w�\�!,,'collection/icon/svg/logo-no-smoking.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M360 256h16v48h-16zM112 304h129.6l-48-48H112z"/><path d="M364.5 60.1c-.4-.2-.7-.4-1-.6-10.9-6-22.5-10.7-34.4-14.8l-5.4-1.8C302.3 36.1 279.6 32 256 32 132.3 32 32 132.3 32 256c0 84.3 46.6 157.6 115.4 195.8.4.2.7.5 1.1.7 10.9 6 22.5 10.7 34.4 14.8l5.4 1.8c21.4 6.8 44 10.9 67.7 10.9 123.7 0 224-100.3 224-224 0-84.3-46.6-157.7-115.5-195.9zM256 426.4c-9.3 0-18.4-.9-27.2-2.4-9.8-1.6-19.3-4.1-28.5-7.3-1.9-.6-3.8-1.2-5.6-1.9-6.5-2.5-12.9-5.3-19-8.6-53.6-28.7-90.1-85.2-90.1-150.3 0-37.2 12.4-71.4 32.7-99.4l237.2 237.2c-28.1 20.3-62.3 32.7-99.5 32.7zm137.8-71L156.6 118.2c28-20.2 62.1-32.6 99.4-32.6 9.3 0 18.3.9 27.2 2.4 9.8 1.6 19.3 4.1 28.5 7.3 1.8.6 3.7 1.2 5.6 1.9 6.2 2.4 12.2 5 18 8.1 54.2 28.5 91.2 85.3 91.2 150.8-.1 37.2-12.5 71.3-32.7 99.3z"/><path d="M352 256h-34l34 34zM384 256h16v48h-16zM360.1 212.7c-8.8-4.1-22-5.7-45.6-5.7h-3.6c-12.7.1-15.9-.1-20-6.1-2.8-4.2-1-14.8 3.7-21.9 1.6-2.4 1.8-5.6.4-8.2-1.4-2.6-4.1-4.2-7-4.3-.1 0-9.4-.1-18.3-3.9-10.6-4.5-15.6-12.1-15.6-23.1 0-25.8 21.8-27.7 22.8-27.7v-16c-12 0-38.8 11-38.8 43.7 0 17.5 9 31 25.7 38 4.2 1.7 8.4 2.9 12 3.6-3.3 9.8-3.6 20.9 1.7 28.7 9 13.3 20.3 13.2 33.3 13.1h3.5c26.3 0 34.6 2.3 38.9 4.3 5.7 2.6 6.8 7.5 6.6 15.7v1h16v-1c0-7.1.3-22.8-15.7-30.2z"/><path d="M400 244c0-25.7-3-39.2-9.1-49.6C382.3 180 368.5 172 352 172h-17.4c2.9-8.3 5.4-19.8 3.5-30.9-3.2-18.8-19.1-30-43.1-30v16c21 0 26.1 9.1 27.4 16.7 2.5 14.5-6.8 32.1-6.9 32.3-1.4 2.5-1.3 5.5.1 7.9s4.1 3.9 6.9 3.9H352c10.9 0 19.4 4.9 25.1 14.6 3.1 5.3 6.9 13.5 6.9 41.4h16v.1z"/></svg>PK}w�\{��(collection/icon/svg/ios-musical-note.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M364.3 48.2c-4.7.9-118 24.1-122.2 24.9-4.2.8-8.1 3.6-8.1 8v255.1c0 1.6-.1 7.2-2.4 11.7-3.1 5.9-8.5 10.2-16.1 12.7-3.3 1.1-7.8 2.1-13.1 3.3-24.1 5.4-64.4 14.6-64.4 51.8 0 30.1 21.7 44.5 35 47.1 5 1 11 1 13.8 1 8.2 0 36-3.3 51.2-13.2 11-7.2 24.1-21.4 24.1-47.8V173.1c0-3.8 2.7-7.1 6.4-7.8l92.8-19c7.4-1.5 12.8-8.1 12.8-15.7V55.8c-.1-4.3-3.8-8.8-9.8-7.6z"/></svg>PK}w�\Y�Y��"collection/icon/svg/ios-albums.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M460.9 161H51.1C31.8 161 16 176.8 16 196.1V428c0 19.3 15.8 35.1 35.1 35.1H461c19.3 0 35.1-15.8 35.1-35.1V196.1c-.1-19.3-15.9-35.1-35.2-35.1zM434 133H78c-7.7 0-14-6.3-14-14s6.3-14 14-14h356c7.7 0 14 6.3 14 14s-6.3 14-14 14zM403.2 77H108.8c-7 0-12.8-5.8-12.8-12.8v-2.4c0-7 5.8-12.8 12.8-12.8h294.4c7 0 12.8 5.8 12.8 12.8v2.4c0 7-5.8 12.8-12.8 12.8z"/></svg>PK}w�\(�yy%collection/icon/svg/md-volume-off.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M405.5 256c0 22.717-4.883 44.362-13.603 63.855l31.88 31.88C439.283 323.33 448 290.653 448 256c0-93.256-64-172.254-149-192v44.978C361 127.632 405.5 186.882 405.5 256zM256 80.458l-51.021 52.48L256 183.957zM420.842 396.885L91.116 67.157l-24 24 90.499 90.413-8.28 10.43H64v128h85.334L256 431.543V280l94.915 94.686C335.795 387.443 318 397.213 299 403.022V448c31-7.172 58.996-22.163 82.315-42.809l39.61 39.693 24-24.043-24.002-24.039-.081.083z"/><path d="M352.188 256c0-38.399-21.188-72.407-53.188-88.863v59.82l50.801 50.801A100.596 100.596 0 0 0 352.188 256z"/></svg>PK}w�\IXV�collection/icon/svg/md-bed.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M168.7 264.5c29 0 52.4-22.9 52.4-51.2s-23.4-51.2-52.4-51.2-52.4 22.9-52.4 51.2 23.5 51.2 52.4 51.2zm209.5-102.4H238.5v119.5H98.9V128H64v256h34.9v-51.2h314.2V384H448V230.4c0-37.7-31.2-68.3-69.8-68.3z"/></svg>PK}w�\Иr��#collection/icon/svg/ios-reorder.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M80 304h352v16H80zM80 248h352v16H80zM80 192h352v16H80z"/></svg>PK}w�\d7�8��$collection/icon/svg/logo-angular.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M213.573 256h84.846l-42.427-89.356z"/><path d="M255.981 32L32 112l46.12 272L256 480l177.75-96L480 112 255.981 32zM344 352l-26.589-56H194.584L168 352h-40L256 72l128 280h-40z"/></svg>PK}w�\ ��66*collection/icon/svg/md-tablet-portrait.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M392 32H120c-13.3 0-24 10.7-24 24v400c0 13.3 10.7 24 24 24h272c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24zm-8 384H128V80h256v336zm-128 46c-7.7 0-14-6.5-14-14.1 0-7.5 6.2-14 14-14 7.7 0 14.1 6.4 14.1 14-.1 7.6-6.4 14.1-14.1 14.1z"/></svg>PK}w�\�:���"collection/icon/svg/md-eye-off.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256.1 144.8c56.2 0 101.9 45.3 101.9 101.1 0 13.1-2.6 25.5-7.3 37l59.5 59c30.8-25.5 55-58.4 69.9-96-35.3-88.7-122.3-151.6-224.2-151.6-28.5 0-55.8 5.1-81.1 14.1l44 43.7c11.6-4.6 24.1-7.3 37.3-7.3zM52.4 89.7l46.5 46.1 9.4 9.3c-33.9 26-60.4 60.8-76.3 100.8 35.2 88.7 122.2 151.6 224.1 151.6 31.6 0 61.7-6.1 89.2-17l8.6 8.5 59.7 59 25.9-25.7L78.2 64 52.4 89.7zM165 201.4l31.6 31.3c-1 4.2-1.6 8.7-1.6 13.1 0 33.5 27.3 60.6 61.1 60.6 4.5 0 9-.6 13.2-1.6l31.6 31.3c-13.6 6.7-28.7 10.7-44.8 10.7-56.2 0-101.9-45.3-101.9-101.1 0-15.8 4.1-30.7 10.8-44.3zm87.8-15.7l64.2 63.7.4-3.2c0-33.5-27.3-60.6-61.1-60.6l-3.5.1z"/></svg>PK}w�\�X?��$collection/icon/svg/md-chatboxes.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M391.553 64H57.607C53.131 64 48 67.745 48 72.159v214.217c0 4.413 5.131 8.624 9.607 8.624H115v88.894L205.128 295h186.425c4.477 0 7.447-4.211 7.447-8.624V72.159c0-4.414-2.971-8.159-7.447-8.159z"/><path d="M456.396 127H424v166.57c0 15.987-6.915 26.43-25.152 26.43H218.096l-38.905 39h129.688L399 448v-89h57.396c4.478 0 7.604-4.262 7.604-8.682V136.103c0-4.414-3.126-9.103-7.604-9.103z"/></svg>PK}w�\���`��/collection/icon/svg/ios-help-circle-outline.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 76c48.1 0 93.3 18.7 127.3 52.7S436 207.9 436 256s-18.7 93.3-52.7 127.3S304.1 436 256 436c-48.1 0-93.3-18.7-127.3-52.7S76 304.1 76 256s18.7-93.3 52.7-127.3S207.9 76 256 76m0-28C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48z"/><path d="M256.7 160c37.5 0 63.3 20.8 63.3 50.7 0 19.8-9.6 33.5-28.1 44.4-17.4 10.1-23.3 17.5-23.3 30.3v7.9h-34.7l-.3-8.6c-1.7-20.6 5.5-33.4 23.6-44 16.9-10.1 24-16.5 24-28.9s-12-21.5-26.9-21.5c-15.1 0-26 9.8-26.8 24.6H192c.7-32.2 24.5-54.9 64.7-54.9zm-26.3 171.4c0-11.5 9.6-20.6 21.4-20.6 11.9 0 21.5 9 21.5 20.6s-9.6 20.6-21.5 20.6-21.4-9-21.4-20.6z"/></svg>PK}w�\���y��$collection/icon/svg/ios-calendar.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M424 96h-40v24c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8V96H160v24c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8V96H88c-22 0-40 18-40 40v272c0 22 18 40 40 40h336c22 0 40-18 40-40V136c0-22-18-40-40-40zm8 300c0 11-9 20-20 20H100c-11 0-20-9-20-20V216c0-4.4 3.6-8 8-8h336c4.4 0 8 3.6 8 8v180zM160 72c0-4.4-3.6-8-8-8h-16c-4.4 0-8 3.6-8 8v24h32V72zM384 72c0-4.4-3.6-8-8-8h-16c-4.4 0-8 3.6-8 8v24h32V72z"/></svg>PK}w�\��}�,,collection/icon/svg/md-save.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M362.7 64h-256C83 64 64 83.2 64 106.7v298.7c0 23.5 19 42.7 42.7 42.7h298.7c23.5 0 42.7-19.2 42.7-42.7v-256L362.7 64zM256 405.3c-35.4 0-64-28.6-64-64s28.6-64 64-64 64 28.6 64 64-28.6 64-64 64zM320 192H106.7v-85.3H320V192z"/></svg>PK}w�\OЩ���$collection/icon/svg/md-bookmarks.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M405.2 64h-21c15 5.7 22.8 20.6 22.8 42.7v298.7c0 22.1-7 37.3-22.8 42.7h21c23.7 0 42.8-19.2 42.8-42.7V106.7c0-23.5-19.1-42.7-42.8-42.7zM345.5 64.2c-1.4-.1-2.8-.2-4.2-.2H106.7C83.2 64 64 83.2 64 106.7v298.7c0 23.5 19.2 42.7 42.7 42.7h234.7c1.4 0 2.8-.1 4.2-.2 21.5-2.1 38.5-20.4 38.5-42.5V106.7c-.1-22.1-17.1-40.4-38.6-42.5zM208 256l-56-32-56 32V96h112v160z"/></svg>PK}w�\B*r�� collection/icon/svg/md-quote.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M96.4 416h77.1l50.9-96.6V96h-160v223.4h77.1L96.4 416zm224 0h77.1l50-96.6V96H288.4v223.4h82l-50 96.6z"/></svg>PK}w�\�T�"collection/icon/svg/ios-locate.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M395.3 259c-.3-1.2-.4-2.4-.3-3.6 0-.8.2-1.6.3-2.4-.4.9-.6 2-.6 3 .1 1.1.3 2.1.6 3z"/><path d="M459.4 270H409c-6.7 0-12.3-4.7-13.7-11-.3-.9-.5-1.9-.5-3s.2-2.1.6-3c1.4-6.4 7.3-11 14.1-11h49.9c2.4 0 4.2-2 4-4.4-8.8-100.3-88.7-180.2-189-189-2.3-.2-4.4 1.6-4.4 4V103c0 7.9-6.6 14.3-14.6 14-7.6-.3-13.4-6.9-13.4-14.4v-50c0-2.4-2-4.2-4.4-4-100.3 8.8-180.2 88.7-189 189-.2 2.3 1.6 4.4 4 4.4H103c7.9 0 14.3 6.6 14 14.6-.3 7.6-6.9 13.4-14.4 13.4h-50c-2.4 0-4.2 2-4 4.4 8.8 100.3 88.7 180.2 189 189 2.3.2 4.4-1.6 4.4-4V409c0-7.9 6.6-14.3 14.6-14 7.6.3 13.4 6.9 13.4 14.4v49.9c0 2.4 2 4.2 4.4 4 100.3-8.8 180.2-88.7 189-189 .2-2.3-1.7-4.3-4-4.3zM256 326c-38.7 0-70-31.3-70-70s31.3-70 70-70 70 31.3 70 70-31.3 70-70 70z"/></svg>PK}w�\l��Q��(collection/icon/svg/ios-color-filter.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M442 248.9c-15.7-20.6-37.7-35.9-62.1-43.6 1-6.3 1.4-12.7 1.4-19.1 0-33.7-13-65.4-36.7-89.2C321 73.1 289.5 60 256 60s-65 13.1-88.6 37c-23.7 23.8-36.7 55.5-36.7 89.2 0 6.4.5 12.8 1.4 19.1-24.5 7.7-46.4 23.1-62.1 43.6-17 22.2-26 48.8-26 76.9 0 33.7 13 65.4 36.7 89.2 23.7 23.8 55.2 37 88.6 37 32.6 0 63.2-12.4 86.7-35 23.4 22.6 54.1 35 86.7 35 33.5 0 65-13.1 88.6-37 23.7-23.8 36.7-55.5 36.7-89.2 0-28.1-9-54.7-26-76.9zM256 85.5c55.1 0 100 45.2 100 100.7 0 4.7-.3 9.4-1 14.1-4.1-.4-8.2-.6-12.4-.6-32.6 0-63.2 12.4-86.7 35-23.4-22.6-54.1-35-86.7-35-4.1 0-8.3.2-12.4.6-.6-4.6-1-9.4-1-14.1.2-55.6 45.1-100.7 100.2-100.7zm0 201.4c-1.8 0-3.7-.1-5.5-.2 1.6-3.8 3.4-7.5 5.5-11.1 2.1 3.6 3.9 7.3 5.5 11.1-1.8.2-3.7.2-5.5.2zm-46.6 131.2c-12.7 5.6-26.1 8.4-40.1 8.4-55.1 0-100-45.2-100-100.7 0-22.3 7.1-43.5 20.6-61.2 12.3-16.1 29.4-28.3 48.5-34.6 6.6 17.9 17.3 34.3 31.2 47.6 13.9 13.4 30.9 23.4 49.2 29.1-1 6.3-1.4 12.7-1.4 19.1 0 25.8 7.7 50.6 22.2 71.7-8.8 8.7-19 15.6-30.2 20.6zM225.1 282c-27.6-9-50-29.8-61.3-56.7 1.8-.1 3.7-.2 5.5-.2 13.9 0 27.4 2.8 40.1 8.4 11.2 5 21.4 11.9 30.1 20.6-5.9 8.7-10.8 18-14.4 27.9zm30.9 94c-8.7-15.2-13.3-32.5-13.3-50.2 0-4.7.3-9.4 1-14.1a128.658 128.658 0 0 0 24.8 0c.6 4.6 1 9.4 1 14.1-.2 17.7-4.8 35-13.5 50.2zm46.6-142.5c12.7-5.6 26.1-8.4 40.1-8.4 1.8 0 3.7.1 5.5.2-11.3 26.9-33.7 47.7-61.3 56.7-3.6-9.8-8.5-19.2-14.4-27.9 8.7-8.7 18.9-15.6 30.1-20.6zm40.1 193c-13.9 0-27.4-2.8-40.1-8.4-11.2-5-21.4-11.9-30.1-20.6 14.5-21.1 22.2-45.8 22.2-71.7 0-6.4-.5-12.8-1.4-19.1 18.3-5.7 35.2-15.7 49.2-29.1 13.8-13.3 24.5-29.6 31.2-47.6 19.1 6.3 36.2 18.4 48.5 34.6 13.5 17.7 20.6 38.9 20.6 61.2-.1 55.6-45 100.7-100.1 100.7z"/></svg>PK}w�\��iF%collection/icon/svg/md-person-add.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M304 256c52.805 0 96-43.201 96-96s-43.195-96-96-96-96 43.201-96 96 43.195 96 96 96zm0 48c-63.598 0-192 32.402-192 96v48h384v-48c0-63.598-128.402-96-192-96zM112 224v-64H80v64H16v32h64v64h32v-64h64v-32h-64z"/></svg>PK}w�\uعԄ�$collection/icon/svg/ios-business.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M146 80h220c9.9 0 18-8.1 18-18s-8.1-18-18-18H146c-9.9 0-18 8.1-18 18s8.1 18 18 18zM398 100H114c-9.9 0-18 8.1-18 18 0 9.3 6.9 17.1 16 18v300c0 13.2 10.8 24 24 24h88c4.4 0 8-3.6 8-8v-40c0-4.4 3.6-8 8-8h32c4.4 0 8 3.6 8 8v40c0 4.4 3.6 8 8 8h88c13.2 0 24-10.8 24-24V136c9.1-.9 16-8.7 16-18 0-9.9-8.1-18-18-18zM192 364c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v16zm0-64c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v16zm0-64c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v16zm0-64c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v16zm80 192c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v16zm0-64c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v16zm0-64c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v16zm0-64c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v16zm80 192c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v16zm0-64c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v16zm0-64c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v16zm0-64c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v16z"/></svg>PK}w�\���%collection/icon/svg/md-basketball.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M191.6 272c-3.8 55-26.4 107.1-64.5 147.7 31.6 25 70.9 41 112.9 44.3V272h-48.4zM272 464c42-3.3 81.5-19.4 113.1-44.5-38-40.6-60.5-92.5-64.3-147.5H272v192zM240 48c-42 3.2-80.5 19-111.9 43.6 38 40.9 60.3 93.4 63.7 148.4H240V48zM320.7 240c3.4-55 25.6-107.4 63.5-148.3C352.7 67.1 314 51.2 272 48v192h48.7zM408.6 114.2c-17.2 18.5-30.7 39.7-40.1 62.9-8.2 20.2-13.1 40.9-14.6 62.9H464c-3.7-48-24.1-92.2-55.4-125.8zM368.5 333.1c9.6 23.7 23.3 45.1 40.9 63.8C440.3 363.4 460.3 320 464 272H354.1c1.6 21 6.5 41.5 14.4 61.1zM143.9 177.1c-9.5-23.3-23-44.5-40.3-63.1-31.4 33.6-51.9 78-55.6 126h110.5c-1.6-22-6.5-42.8-14.6-62.9zM102.7 397.1c17.7-18.8 31.5-40.3 41.1-64 8-19.6 12.8-40.1 14.5-61.1H48c3.7 48 23.8 91.6 54.7 125.1z"/></svg>PK}w�\���77collection/icon/svg/md-book.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M426.2 80.4l-170.2 32-170.2-32C64 77 48 97.3 48 118v244.5c0 20.7 16 32.6 37.8 37.6L256 432l170.2-32c21.8-5 37.8-16.9 37.8-37.6V118c0-20.7-16-41-37.8-37.6zm0 282l-151.2 32V149.9l151.2-32v244.5zm-189.2 32l-151.2-32V118L237 150v244.4z"/></svg>PK}w�\����"collection/icon/svg/ios-person.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M447.8 438.3c-7.2-31.8-48.3-47.3-62.5-52.3-15.6-5.5-37.8-6.8-52.1-10-8.2-1.8-20.1-6.3-24.1-11.1s-1.6-49.3-1.6-49.3 7.4-11.5 11.4-21.7c4-10.1 8.4-37.9 8.4-37.9s8.2 0 11.1-14.4c3.1-15.7 8-21.8 7.4-33.5-.6-11.5-6.9-11.2-6.9-11.2s6.1-16.7 6.8-51.3c.9-41.1-31.3-81.6-89.6-81.6-59.1 0-90.6 40.5-89.7 81.6.8 34.6 6.7 51.3 6.7 51.3s-6.3-.3-6.9 11.2c-.6 11.7 4.3 17.8 7.4 33.5 2.8 14.4 11.1 14.4 11.1 14.4s4.4 27.8 8.4 37.9c4 10.2 11.4 21.7 11.4 21.7s2.4 44.5-1.6 49.3c-4 4.8-15.9 9.3-24.1 11.1-14.3 3.2-36.5 4.5-52.1 10-14.2 5-55.3 20.5-62.5 52.3-1.1 5 2.7 9.7 7.9 9.7H440c5.1 0 8.9-4.7 7.8-9.7z"/></svg>PK}w�\�ZG11&collection/icon/svg/md-transgender.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M352 32v35h63.1l-81.4 80.5c-7.5-7.2-13.2-11-13.2-11C302.2 123.6 280 116 256 116c-30.2 0-57.6 12-77.8 31.4l-15.2-15 31.4-31.4-28.5-28.5-31.5 31.5-37.5-37H160V32H32v128h35V91.3l40.3 39.9-31.2 31.2 28.5 28.5 31.4-31.4 19.4 19.2c-7.3 14.9-11.5 31.7-11.5 49.5 0 54.8 39.5 100.4 91.1 110.2v45.3h-63V424h63v56h42v-56h63v-40.2h-63v-45.3c50.8-9.9 91.2-55.5 91.2-110.3 0-17.7-4.2-34.8-11.5-49.6L445 91.3V160h35V32H352zm-96 258c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64z"/></svg>PK}w�\0��ll!collection/icon/svg/md-outlet.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M369.5 32H142.4C81.5 32 32 82.6 32 144.6v222.8c0 62 49.5 112.6 110.4 112.6h227.2c60.9 0 110.5-50.6 110.5-112.6V144.6C480 82.6 430.5 32 369.5 32zM175 251v.7c0 10.9-9.1 20.4-19.9 20.4h-23.3c-10.8 0-19.9-9.5-19.9-20.4V148.1c1-10.8 9.2-20.2 19.9-20.2h23.3c10.9 0 19.9 9.8 19.9 20.8V251zm122 147.4c0 11.4-8.9 17.6-20.1 17.6h-41.8c-11.2 0-20.1-8.1-20.1-19.6v-29.3c0-23.3 18.1-42.3 41-42.3s41 19 41 42.3v31.3zM400 251v.7c0 10.9-9.1 20.4-19.9 20.4h-24.3c-10.8 0-19.9-9.5-19.9-20.4V148.1c1-10.8 9.2-20.2 19.9-20.2h24.3c10.8 0 19.9 9.8 19.9 20.8V251z"/></svg>PK}w�\ ���~~'collection/icon/svg/md-close-circle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C140.559 48 48 140.559 48 256c0 115.436 92.559 208 208 208 115.435 0 208-92.564 208-208 0-115.441-92.564-208-208-208zm104.002 282.881l-29.12 29.117L256 285.117l-74.881 74.881-29.121-29.117L226.881 256l-74.883-74.881 29.121-29.116L256 226.881l74.881-74.878 29.12 29.116L285.119 256l74.883 74.881z"/></svg>PK}w�\����%collection/icon/svg/md-restaurant.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M164.852 279.939l61.834-60.251L73.72 71.706c-33.626 32.764-33.626 86.677 0 119.44l91.132 88.793z"/><path d="M312.389 241.88c33.636 14.802 80.283 4.232 113.91-29.593 41.222-40.165 49.909-98.303 17.363-128.96-31.465-31.71-91.131-23.245-132.354 16.921-34.718 33.825-45.566 79.276-30.374 110.986-47.739 47.568-211.552 207.173-211.552 207.173L99.759 448l149.71-145.866L399.177 448l30.374-29.593-149.709-145.869 32.547-30.658z"/></svg>PK}w�\�n�+��#collection/icon/svg/logo-twitch.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M80 32l-32 80v304h96v64h64l64-64h80l112-112V32H80zm336 256l-64 64h-96.001L192 416v-64h-80V80h304v208z"/><path d="M320 143h48v129h-48zM208 143h48v129h-48z"/></svg>PK}w�\�|�QQ!collection/icon/svg/ios-clock.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M403.1 108.9c-81.2-81.2-212.9-81.2-294.2 0-81.3 81.2-81.2 212.9 0 294.2 81.2 81.2 212.9 81.2 294.2 0 81.2-81.2 81.2-213 0-294.2zM89.6 263.8c-5.6 1.1-10.5-3.8-9.4-9.4.6-3.1 3.1-5.7 6.3-6.3 5.6-1.1 10.5 3.8 9.4 9.4-.6 3.2-3.2 5.7-6.3 6.3zm26.2 82.2c-4.3 3.7-11 1.9-12.8-3.5-1-3-.1-6.5 2.3-8.5 4.3-3.7 11-1.9 12.8 3.5 1 3 .1 6.4-2.3 8.5zm2.3-171.5c-1.9 5.4-8.5 7.2-12.8 3.5-2.4-2.1-3.3-5.5-2.3-8.5 1.9-5.4 8.5-7.2 12.8-3.5 2.4 2.1 3.3 5.5 2.3 8.5zM179.6 404c-1.9 5.4-8.5 7.2-12.8 3.5-2.4-2.1-3.3-5.5-2.3-8.5 1.9-5.4 8.5-7.2 12.8-3.5 2.4 2.1 3.3 5.5 2.3 8.5zm-2.3-287.5c-4.3 3.7-11 1.9-12.8-3.5-1-3-.1-6.5 2.3-8.5 4.3-3.7 11-1.9 12.8 3.5 1 3 .1 6.4-2.3 8.5zm35.4 76.3c-2.3-3.8-1-8.7 2.7-11 3.8-2.3 8.7-1 11 2.7l33.7 62.3c2.5 4.7 3.9 9.9 3.9 15.2v122c0 5-3 8-8 8s-8-3-8-8V262c0-2.7-.7-5.3-1.9-7.6l-33.4-61.6zm44.9 239c-5.6 1.1-10.5-3.8-9.4-9.4.6-3.1 3.1-5.7 6.3-6.3 5.6-1.1 10.5 3.8 9.4 9.4-.6 3.2-3.2 5.7-6.3 6.3zm0-336c-5.6 1.1-10.5-3.8-9.4-9.4.6-3.1 3.1-5.7 6.3-6.3 5.6-1.1 10.5 3.8 9.4 9.4-.6 3.2-3.2 5.7-6.3 6.3zm87.7 311.7c-4.3 3.7-11 1.9-12.8-3.5-1-3-.1-6.5 2.3-8.5 4.3-3.7 11-1.9 12.8 3.5 1 3 .1 6.4-2.3 8.5zm2.3-294.5c-1.9 5.4-8.5 7.2-12.8 3.5-2.4-2.1-3.3-5.5-2.3-8.5 1.9-5.4 8.5-7.2 12.8-3.5 2.4 2.1 3.3 5.5 2.3 8.5zm61.5 229.5c-1.9 5.4-8.5 7.2-12.8 3.5-2.4-2.1-3.3-5.5-2.3-8.5 1.9-5.4 8.5-7.2 12.8-3.5 2.4 2.1 3.3 5.5 2.3 8.5zM406.8 178c-4.3 3.7-11 1.9-12.8-3.5-1-3-.1-6.5 2.3-8.5 4.3-3.7 11-1.9 12.8 3.5 1 3 .1 6.4-2.3 8.5zm18.8 85.8c-5.6 1.1-10.5-3.8-9.4-9.4.6-3.1 3.1-5.7 6.3-6.3 5.6-1.1 10.5 3.8 9.4 9.4-.6 3.2-3.2 5.7-6.3 6.3z"/></svg>PK}w�\C���kk$collection/icon/svg/ios-browsers.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M48 181.4V424c0 22.1 17.9 40 40 40h242.6c22.1 0 40-17.9 40-40V181.4c0-22.1-17.9-40-40-40H88c-22.1 0-40 17.9-40 40z"/><path d="M141.4 88v28.4c0 2.2 1.8 4 4 4h198.2c26.4 0 48 21.6 48 48v198.2c0 2.2 1.8 4 4 4H424c22.1 0 40-17.9 40-40V88c0-22.1-17.9-40-40-40H181.4c-22.1 0-40 17.9-40 40z"/></svg>PK}w�\���1LL"collection/icon/svg/logo-ionic.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 161.2c-52.3 0-94.8 42.5-94.8 94.8s42.5 94.8 94.8 94.8 94.8-42.5 94.8-94.8-42.5-94.8-94.8-94.8z"/><circle cx="392.1" cy="126.4" r="43.2"/><path d="M445.3 169.8l-1.8-4-2.9 3.3c-7.1 8-16.1 14.2-26.1 17.9l-2.8 1 1.1 2.7c8.6 20.7 13 42.7 13 65.2 0 93.7-76.2 169.9-169.9 169.9S86.1 349.7 86.1 256 162.3 86.1 256 86.1c25.4 0 49.9 5.5 72.8 16.4l2.7 1.3 1.2-2.7c4.2-9.8 10.8-18.5 19.2-25.2l3.4-2.7-3.9-2C321.6 55.8 289.5 48 256 48 141.3 48 48 141.3 48 256s93.3 208 208 208 208-93.3 208-208c0-30-6.3-59-18.7-86.2z"/></svg>PK}w�\��>mm"collection/icon/svg/md-compass.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 231.358c-13.442 0-24.643 11.2-24.643 24.642s11.2 24.643 24.643 24.643 24.643-11.2 24.643-24.643-11.201-24.642-24.643-24.642zM256 32C132.8 32 32 132.8 32 256s100.8 224 224 224 224-100.8 224-224S379.2 32 256 32zm49.284 273.284L121.6 390.4l85.116-183.679L390.4 121.6l-85.116 183.684z"/></svg>PK}w�\ˆ�%��%collection/icon/svg/md-git-branch.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M416 160c0-35.3-28.7-64-64-64s-64 28.7-64 64c0 23.7 12.9 44.3 32 55.4v8.6c0 19.9-7.8 33.7-25.3 44.9-15.4 9.8-38.1 17.1-67.5 21.5-14 2.1-25.7 6-35.2 10.7V151.4c19.1-11.1 32-31.7 32-55.4 0-35.3-28.7-64-64-64S96 60.7 96 96c0 23.7 12.9 44.3 32 55.4v209.2c-19.1 11.1-32 31.7-32 55.4 0 35.3 28.7 64 64 64s64-28.7 64-64c0-16.6-6.3-31.7-16.7-43.1 1.9-4.9 9.7-16.3 29.4-19.3 38.8-5.8 68.9-15.9 92.3-30.8 36-22.8 55-57 55-98.8v-8.6c19.1-11.1 32-31.7 32-55.4zM160 56c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40zm0 400c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40zm192-256c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40z"/></svg>PK}w�\Ƕ���� collection/icon/svg/md-today.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M405.3 32H106.7C83.2 32 64 51.2 64 74.7v362.7c0 23.5 19.2 42.7 42.7 42.7h298.7c23.5 0 42.7-19.2 42.7-42.7V74.7C448 51.2 428.8 32 405.3 32zm-4 405.3H110.7c-2.2 0-4-1.8-4-4V78.7c0-2.2 1.8-4 4-4h290.7c2.2 0 4 1.8 4 4v354.7c-.1 2.1-1.9 3.9-4.1 3.9z"/><path d="M145 194v204c0 1.1.9 2 2 2h218c1.1 0 2-.9 2-2V194c0-1.1-.9-2-2-2H147c-1.1 0-2 .9-2 2zM145 114.7v34c0 1.1.9 2 2 2h171c1.1 0 2-.9 2-2v-34c0-1.1-.9-2-2-2H147c-1.1 0-2 .9-2 2z"/></svg>PK}w�\�dITTcollection/icon/svg/md-open.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M405.34 405.332H106.66V106.668H240V64H106.66C83.191 64 64 83.197 64 106.668v298.664C64 428.803 83.191 448 106.66 448h298.68c23.469 0 42.66-19.197 42.66-42.668V272h-42.66v133.332zM288 64v42.668h87.474L159.999 322.133l29.866 29.866 215.476-215.47V224H448V64H288z"/></svg>PK}w�\t��NEE#collection/icon/svg/ios-barcode.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M121.6 388H80.8c-2.2 0-4-1.8-4-4V128c0-2.2 1.8-4 4-4h40.5c7.9 0 14.5-6.4 14.7-14 .1-3.9-1.3-7.2-4.1-10-2.7-2.8-8-4-11.9-4H66c-10 0-18 6-18 16v288c0 10 7 16 17 16h56.3c7.9 0 14.5-5.2 14.7-12.8.1-3.9-1.3-7.5-4.1-10.3-2.7-2.8-6.4-4.9-10.3-4.9zM447 96h-56.3c-9.5 0-17.1 8.3-14 18.3.2.7.5 1.3.8 1.9 2.7 5.2 7.6 7.8 12.9 7.8h40.8c2.2 0 4 1.8 4 4v255.9c0 2.2-1.8 4-4 4h-40.5c-7.9 0-14.5 6.2-14.7 13.9-.1 3.9 1.3 7.6 4.1 10.4 2.7 2.8 6.4 3.8 10.3 3.8H447c10 0 17-6 17-16.4V112c0-10-7-16-17-16z"/><path d="M122.5 176c-7.7 0-14 6.3-14 13.9V322c0 7.7 6.3 13.9 14 13.9s14-6.3 14-13.9V189.9c0-7.6-6.3-13.9-14-13.9zM389.5 336c7.7 0 14-6.3 14-13.9V189.9c0-7.7-6.3-13.9-14-13.9s-14 6.3-14 13.9V322c0 7.7 6.3 14 14 14zM326.5 144c-7.7 0-14 6.5-14 14.4v195.1c0 8 6.3 14.4 14 14.4s14-6.5 14-14.4V158.4c0-7.9-6.3-14.4-14-14.4zM185.5 144c-7.7 0-14 6.5-14 14.4v195.1c0 8 6.3 14.4 14 14.4s14-6.5 14-14.4V158.4c0-7.9-6.2-14.4-14-14.4zM256 160c-7.7 0-14 6.4-14 14.2v163.5c0 7.8 6.3 14.2 14 14.2s14-6.4 14-14.2V174.2c0-7.8-6.3-14.2-14-14.2z"/></svg>PK}w�\=�@eecollection/icon/svg/md-link.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M74.6 256c0-38.3 31.1-69.4 69.4-69.4h88V144h-88c-61.8 0-112 50.2-112 112s50.2 112 112 112h88v-42.6h-88c-38.3 0-69.4-31.1-69.4-69.4zm85.4 22h192v-44H160v44zm208-134h-88v42.6h88c38.3 0 69.4 31.1 69.4 69.4s-31.1 69.4-69.4 69.4h-88V368h88c61.8 0 112-50.2 112-112s-50.2-112-112-112z"/></svg>PK}w�\z��[[0collection/icon/svg/md-notifications-outline.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M257 120.471c7.083 0 23.911 4.479 23.911 4.479 45.589 10.447 77.678 52.439 77.678 99.85V352.412l9.321 9.364 7.788 7.823H136.302l7.788-7.823 9.321-9.364V224.8c0-47.41 32.089-89.403 77.678-99.85 0 0 18.043-4.479 23.911-4.479M256 48c-17.602 0-31.059 13.518-31.059 31.2v14.559c-59.015 13.523-103.53 67.601-103.53 131.041v114.4L80 380.8v20.8h352v-20.8l-41.411-41.6V224.8c0-63.44-44.516-117.518-103.53-131.041V79.2c0-17.682-13.457-31.2-31.059-31.2zm41.411 374.4h-82.823c0 22.881 18.633 41.6 41.412 41.6s41.411-18.719 41.411-41.6z"/></svg>PK}w�\�G+�$collection/icon/svg/md-star-half.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M458 210.409l-145.267-12.476L256 64l-56.743 133.934L54 210.409l110.192 95.524L131.161 448 256 372.686 380.83 448l-33.021-142.066L458 210.409zM272.531 345.287L256 335.313l-.002-189.277 27.27 64.379 7.52 17.751 19.208 1.65 69.846 5.998-52.993 45.939-14.576 12.636 4.367 18.788 15.875 68.299-59.984-36.189z"/></svg>PK}w�\�0r���"collection/icon/svg/md-archive.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M453.594 100.001l-32.353-39.299C415.469 52.627 405.083 48 394.664 48H117.335c-10.416 0-20.801 4.627-26.576 12.702l-32.351 39.299C51.468 106.923 48 117.335 48 128.886v288.89C48 443.2 68.8 464 94.225 464h323.553C443.202 464 464 443.2 464 417.775v-288.89c0-11.55-3.463-21.962-10.406-28.884zM256 383.109L128.89 256h80.89v-46.224h92.443V256h80.89L256 383.109zM96.534 94.221L115.02 71.11h277.331l21.965 23.111H96.534z"/></svg>PK}w�\��P@@#collection/icon/svg/logo-python.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M193.46 249.056a65.316 65.316 0 0 1 11.586-1.041l-3.122-.015h103.823c4.503 0 8.806-.617 12.908-1.754 19.37-5.363 33.345-22.537 33.345-43.663v-87.224c0-24.832-21.15-43.484-46.289-47.606-15.931-2.624-39.258-3.827-55.089-3.749-15.829.086-30.981 1.404-44.277 3.749C167.143 74.576 160 88.928 160 115.359V144h96v16H128.82c-35.628 0-64.538 42.571-64.813 95.242-.002.253-.007.505-.007.758 0 9.523.94 18.72 2.685 27.404C74.648 323.07 99.451 352 128.82 352H144v-45.935c0-26.827 20.146-51.733 49.46-57.009zm10.196-122.054c-9.592 0-17.384-7.785-17.384-17.403 0-9.664 7.774-17.52 17.384-17.52 9.574 0 17.399 7.855 17.399 17.52.001 9.618-7.809 17.403-17.399 17.403z"/><path d="M443.951 222.543C434.78 186.021 411.033 160 383.18 160H368v40.672c0 33.915-22.286 58.474-49.489 62.681a53.943 53.943 0 0 1-8.301.646H206.351a51.41 51.41 0 0 0-13.049 1.672C174.18 270.689 160 286.6 160 307.236v87.227c0 24.832 24.977 39.426 49.481 46.551 29.327 8.531 61.267 10.068 96.366 0C329.15 434.354 352 420.893 352 394.463V368h-96v-16h127.18c25.24 0 47.107-21.365 57.814-52.549C445.474 286.404 448 271.641 448 256c0-11.768-1.433-23.038-4.049-33.457zM307.867 382.82c9.59 0 17.381 7.785 17.381 17.4 0 9.65-7.791 17.521-17.381 17.521-9.577 0-17.399-7.871-17.399-17.521 0-9.63 7.806-17.4 17.399-17.4z"/></svg>PK}w�\c��rr!collection/icon/svg/ios-power.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M380.4 111.7c-3.3-2.8-7.5-4.3-11.8-4.3-5.3 0-10.4 2.3-13.8 6.4-3.2 3.7-4.7 8.4-4.3 13.3.4 4.8 2.7 9.3 6.4 12.4 34.8 29.5 54.8 72.3 54.8 117.4 0 85.4-69.8 154.8-155.6 154.8s-155.6-69.5-155.6-154.8c0-45.2 20-88 54.8-117.4 3.7-3.1 6-7.5 6.4-12.4.4-4.8-1.1-9.6-4.3-13.3-3.5-4-8.5-6.4-13.8-6.4-4.3 0-8.5 1.5-11.8 4.3C88.7 148.1 64 201 64 256.8 64 362.2 150.1 448 256 448s192-85.8 192-191.2c0-55.8-24.7-108.7-67.6-145.1z"/><path d="M256.9 274.5c10.2 0 18.5-8.3 18.5-18.5V82.5c0-10.2-8.3-18.5-18.5-18.5s-18.5 8.3-18.5 18.5V256c0 10.2 8.3 18.5 18.5 18.5z"/></svg>PK}w�\pR�PP#collection/icon/svg/ios-warning.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M228.9 79.9L51.8 403.1C40.6 423.3 55.5 448 78.9 448h354.3c23.3 0 38.2-24.7 27.1-44.9L283.1 79.9c-11.7-21.2-42.5-21.2-54.2 0zM273.6 214L270 336h-28l-3.6-122h35.2zM256 402.4c-10.7 0-19.1-8.1-19.1-18.4s8.4-18.4 19.1-18.4 19.1 8.1 19.1 18.4-8.4 18.4-19.1 18.4z"/></svg>PK}w�\�i�K�� collection/icon/svg/ios-wine.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M328.9 51.2c-2-5.5-7-9.2-12.9-9.2H196c-6 0-10.9 3.7-13 9.2-9.3 25-31 87.1-31 124.8v4.8c0 19.2 0 45.4 28.4 74.5 6.5 6.7 14.3 12.9 22.5 19.5 19.1 15.3 38.8 31.1 38.8 50.2v115c0 1.1-.9 2-2 2h-57.1c-7.9 0-14.3 6.3-14.3 14s6.4 14 14.3 14h146.8c7.9 0 14.3-6.3 14.3-14s-6.4-14-14.3-14h-57.1c-1.1 0-2-.9-2-2V325c0-19.1 19.7-34.9 38.8-50.2 8.2-6.6 15.9-12.8 22.5-19.5C360 226.2 360 200 360 180.8V176c0-37.5-21.7-99.8-31.1-124.8zm-1.4 102.1c-.2.3-.7.7-1.6.7H186.1c-.8 0-1.3-.5-1.6-.7-.2-.3-.6-.8-.4-1.7 5.1-26.1 14.8-59.6 21.6-80.2.3-.8 1.1-1.4 1.9-1.4h96.8c.9 0 1.7.6 1.9 1.4 6.7 20.7 16.4 54.1 21.6 80.2.2.8-.2 1.4-.4 1.7z"/></svg>PK}w�\������"collection/icon/svg/ios-bowtie.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M290.8 213.5C286 205 277 202.2 266 202.2v-.2c-6 0-14.3 1.3-22.6 2.9-11.9 2.3-19.7 7.1-19.7 7.1s3.6 27.3.1 58.5-7.9 42.5-7.9 42.5 5.3 12.1 40 15c3.9.3 7.6.5 11 .5 24.5 0 36.4-7.3 36.4-7.3s3.3-5.4 4.3-22.1c1.9-32.2-7-68.5-16.8-85.6zM205.7 208.8c-22-40.2-86.2-96.8-121.3-96.8C57.9 112 32 180.5 32 256s23 144 51.5 144c33.4 0 110.5-80 110.5-80s5.7-12.6 9.9-33.6l1.8-10.4c.7-4.7 1.3-9.7 1.7-15 .3-3.5.5-6.8.6-9.9l.3-9.8c.7-16-2.6-32.5-2.6-32.5zM427.6 112c-36.4 0-96.4 56.5-118.3 96.8l-.8 1.4s1.4 2.5 1.9 3.4c3.4 6 6.7 14.3 9.4 24l2.9 11.7c2.2 10.2 3.7 21.2 4.2 32.2l.2 9c0 2.9-.1 5.7-.3 8.5-1 16.7-4.6 22.1-4.6 22.1 7.6 10.5 69 78.9 106.2 78.9 28.5 0 51.5-68.5 51.5-144s-25.8-144-52.3-144z"/></svg>PK}w�\x2�!��)collection/icon/svg/ios-trending-down.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M480 369.2V251.1c0-8.1-6.8-14.8-15.1-14.8s-15.1 6.6-15.1 14.8v81.7L300.5 181c-2.8-2.8-6.6-4.3-10.7-4.3-4 0-7.8 1.5-10.7 4.3l-85.9 84.1L57.5 132.3c-2.9-2.8-6.6-4.3-10.7-4.3-4 0-7.8 1.5-10.7 4.3-2.8 2.7-4.2 6.2-4.2 10.2 0 5.4 2.3 8.8 4.2 10.7l146.3 143.2c2.9 2.8 6.6 4.3 10.7 4.3 4 0 7.8-1.5 10.7-4.3l85.9-84.1 138 142.2H344c-8.3 0-15.1 6.6-15.1 14.8 0 8.1 6.8 14.8 15.1 14.8h120.8c8.4-.1 15.2-6.7 15.2-14.9z"/></svg>PK}w�\���� collection/icon/svg/ios-home.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M258.5 104.1c-1.5-1.2-3.5-1.2-5 0l-156 124.8c-.9.8-1.5 1.9-1.5 3.1v230c0 1.1.9 2 2 2h108c1.1 0 2-.9 2-2V322c0-1.1.9-2 2-2h92c1.1 0 2 .9 2 2v140c0 1.1.9 2 2 2h108c1.1 0 2-.9 2-2V232c0-1.2-.6-2.4-1.5-3.1l-156-124.8z"/><path d="M458.7 204.2l-189-151.4C265.9 49.7 261 48 256 48s-9.9 1.7-13.7 4.8L160 119.7V77.5c0-1.1-.9-2-2-2H98c-1.1 0-2 .9-2 2v92.2l-42.7 35.1c-3.1 2.5-5.1 6.2-5.3 10.2-.2 4 1.3 7.9 4.1 10.7 2.6 2.6 6.1 4.1 9.9 4.1 3.2 0 6.3-1.1 8.8-3.1l183.9-148c.5-.4.9-.4 1.3-.4s.8.1 1.3.4l183.9 147.4c2.5 2 5.6 3.1 8.8 3.1 3.7 0 7.2-1.4 9.9-4.1 2.9-2.8 4.4-6.7 4.2-10.7-.3-4-2.2-7.7-5.4-10.2z"/></svg>PK}w�\����#collection/icon/svg/ios-shuffle.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M405.9 288.1c-2.6-2.6-6.2-4.1-9.9-4.1s-7.2 1.4-9.9 4.1c-2.7 2.6-4.1 6.2-4.1 9.9s1.5 7.2 4.1 9.9l16.3 16.2h-75.5l-124-155-.1-.1c-2.6-3.1-6.7-5-10.8-5H78c-7.7 0-14 6.3-14 14s6.3 14 14 14h107.4l52.5 66-52.5 66H78c-7.7 0-14 6.3-14 14s6.3 14 14 14h114c4.1 0 8-1.8 10.7-5l.1-.1 53.2-66.8 53.2 66.8.1.1c2.7 3.2 6.6 5 10.7 5h84.4l-16.3 16.2c-2.7 2.6-4.1 6.1-4.1 9.9 0 3.7 1.5 7.2 4.1 9.9 2.6 2.6 6.2 4.1 9.9 4.1s7.2-1.4 9.9-4.1l33.6-33.4c4.2-4.1 6.5-9.6 6.5-15.5s-2.3-11.4-6.5-15.5l-35.6-35.5z"/><path d="M279.4 235.4c1.1 1.4 2.8 2.1 4.6 2.1h.1c1.8 0 3.5-.8 4.6-2.2l37.9-47.3h75.8l-16.3 16.2c-2.7 2.6-4.1 6.1-4.1 9.9 0 3.7 1.5 7.2 4.1 9.9 2.6 2.6 6.2 4.1 9.9 4.1s7.2-1.4 9.9-4.1l35.6-35.4c4.2-4.1 6.5-9.7 6.5-15.5 0-5.9-2.3-11.4-6.5-15.5l-33.6-33.4c-2.6-2.6-6.2-4.1-9.9-4.1s-7.2 1.4-9.9 4.1c-2.7 2.6-4.1 6.2-4.1 9.9s1.5 7.2 4.1 9.9l16.3 16.2H320c-4.1 0-8 1.8-10.7 5l-.1.1-40.3 50.2c-1.8 2.2-1.8 5.4.1 7.6l10.4 12.3z"/></svg>PK}w�\�d�)FF collection/icon/svg/ios-menu.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M432 176H80c-8.8 0-16-7.2-16-16s7.2-16 16-16h352c8.8 0 16 7.2 16 16s-7.2 16-16 16zM432 272H80c-8.8 0-16-7.2-16-16s7.2-16 16-16h352c8.8 0 16 7.2 16 16s-7.2 16-16 16zM432 368H80c-8.8 0-16-7.2-16-16s7.2-16 16-16h352c8.8 0 16 7.2 16 16s-7.2 16-16 16z"/></svg>PK}w�\Gw��%collection/icon/svg/ios-star-half.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M463 192H315.9L271.2 58.6C269 52.1 262.9 48 256 48s-13 4.1-15.2 10.6L196.1 192H48c-8.8 0-16 7.2-16 16 0 .9.1 1.9.3 2.7.2 3.5 1.8 7.4 6.7 11.3l120.9 85.2-46.4 134.9c-2.3 6.5 0 13.8 5.5 18 2.9 2.1 5.6 3.9 9 3.9 3.3 0 7.2-1.7 10-3.6l118-84.1 118 84.1c2.8 2 6.7 3.6 10 3.6 3.4 0 6.1-1.7 8.9-3.9 5.6-4.2 7.8-11.4 5.5-18L352 307.2l119.9-86 2.9-2.5c2.6-2.8 5.2-6.6 5.2-10.7 0-8.8-8.2-16-17-16zm-47.4 35.2l-79.8 57.3c-10 7.2-14.2 20.2-10.2 31.8l30.1 87.7c1.3 3.7-2.9 6.8-6.1 4.6l-77.4-55.2-.1-.1c-10-7-16.1-18.3-16.1-30.5V113.3c0-2.2 3.1-2.7 3.8-.6l29.6 88.2c3.8 11.4 14.5 19.1 26.5 19.1h97.3c3.9 0 5.5 5 2.4 7.2z"/></svg>PK}w�\ɐW���!collection/icon/svg/md-school.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M113.5 281.2v85.3L256 448l142.5-81.5v-85.3L256 362.7l-142.5-81.5zM256 64L32 192l224 128 183.3-104.7v147.4H480V192L256 64z"/></svg>PK}w�\���Xee collection/icon/svg/ios-boat.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M351.8 422c-26.2 9.2-66.5 14.9-96.1 14.9-29.6 0-69.9-5.7-96.1-14.9 0 0-26.1 23.9-62.3 36.2-2.3.8-1.5 4.2.9 3.9 22.6-2.6 40.2-6.5 61.4-12 23 9 66.7 13.9 96.1 13.9 29.4 0 74.1-3.8 96.1-13.9 21.5 5.6 38.8 9.6 62 12.1 2.4.3 3.2-3.1.9-3.9-35.7-12.4-62.9-36.3-62.9-36.3zM445.5 263l-186.2-85.5c-2.1-1-4.6-1-6.7 0L66.5 263c-6.2 2.9-10.5 9.1-10.5 16.4 0 2.4.5 4.6 1.3 6.7L112 422c27.5 0 56.7-22 56.7-22 18 9 53.1 17.1 79.3 18.6 2.8.2 5.5.2 8 .2s5.2-.1 8-.2c26.2-1.5 61.3-9.5 79.3-18.6 0 0 29.2 22 56.7 22l54.7-135.9c.8-2.1 1.3-4.3 1.3-6.7 0-7.3-4.3-13.5-10.5-16.4zM212 288c-6.6 0-12-9.8-12-22s5.4-22 12-22 12 9.8 12 22-5.4 22-12 22zm88 0c-6.6 0-12-9.8-12-22s5.4-22 12-22 12 9.8 12 22-5.4 22-12 22z"/><path d="M391.9 127v-.1C386.3 100.3 374.4 80 352 80h-34.6l-2-8c-3.6-14.1-16.4-24-31-24h-57c-14.6 0-27.4 9.9-31 24.1l-2 7.9H160c-22.9 0-35.1 20.7-39.8 47L102 223.8c-.6 3.2 2.6 5.7 5.6 4.4l25.3-11.6c1.2-.5 2-1.6 2.3-2.9l16.2-85.6c2.5-10.7 7.3-16 16.1-16h177.1c8.9 0 13.1 5 16.1 16l16.2 85.6c.2 1.3 1.1 2.4 2.3 2.9l25.4 11.7c3 1.4 6.2-1.2 5.6-4.4L391.9 127z"/></svg>PK}w�\�U���(collection/icon/svg/ios-battery-full.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M396 144H64c-26.4 0-48 21.6-48 48v128c0 26.4 21.6 48 48 48h332c26.4 0 48-21.6 48-48V192c0-26.4-21.6-48-48-48zm20 176c0 11-9 20-20 20H64c-11 0-20-9-20-20V192c0-11 9-20 20-20h332c11 0 20 9 20 20v128zM464 204.6v102.8c16 0 32-27.7 32-51.4s-16-51.4-32-51.4z"/><path d="M384 192H76c-6.6 0-12 5.4-12 12v104c0 6.6 5.4 12 12 12h308c6.6 0 12-5.4 12-12V204c0-6.6-5.4-12-12-12z"/></svg>PK}w�\m�<<%collection/icon/svg/md-microphone.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M384 112V84.4c0-29-24.5-52.4-54.8-52.4H182.9C152.5 32 128 55.4 128 84.4V112h152v37H128v43h152v37H128v43h152v37H128v41.8c0 29 24.5 52.2 54.9 52.2H213v77h86v-77h30.2c30.3 0 54.8-23.2 54.8-52.2V309h-56v-37h56v-43h-56v-37h56v-43h-56v-37h56z"/></svg>PK}w�\�{�PP"collection/icon/svg/logo-html5.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M64 32l34.936 403.213L255.769 480l157.245-44.854L448 32H64zm307.997 132h-184l3.991 51h176.008l-13.505 151.386-98.5 28.094-98.682-27.976L150.545 289h48.254l3.423 39.287 53.769 14.781 53.422-14.915L314.987 264H147.986l-12.571-149.589 240.789.016L371.997 164z"/></svg>PK}w�\�ڤW��collection/icon/svg/md-add.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M416 277.333H277.333V416h-42.666V277.333H96v-42.666h138.667V96h42.666v138.667H416v42.666z"/></svg>PK}w�\�%�ODD collection/icon/svg/md-heart.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 448l-30.164-27.211C118.718 322.442 48 258.61 48 179.095 48 114.221 97.918 64 162.4 64c36.399 0 70.717 16.742 93.6 43.947C278.882 80.742 313.199 64 349.6 64 414.082 64 464 114.221 464 179.095c0 79.516-70.719 143.348-177.836 241.694L256 448z"/></svg>PK}w�\�;��hh+collection/icon/svg/md-checkbox-outline.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M168.531 215.469l-29.864 29.864 96 96L448 128l-29.864-29.864-183.469 182.395-66.136-65.062zm236.802 189.864H106.667V106.667H320V64H106.667C83.198 64 64 83.198 64 106.667v298.666C64 428.802 83.198 448 106.667 448h298.666C428.802 448 448 428.802 448 405.333V234.667h-42.667v170.666z"/></svg>PK}w�\�;�(��!collection/icon/svg/md-hammer.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M474.1 398.2L229.8 167.8s8.8-57.7 26.2-71.8c17.5-14.2 48-32 48-32V32c-32 0-58.8 8.3-96.9 27.3-38 18.9-66.8 47.8-74.4 55.4-7.6 7.6-18.1 19.5-24.7 28.9s-5.3 20.1-5.3 20.1l-19.7 17-4-4c-2.3-2.3-6.2-2.3-8.5 0l-36.8 36.8c-2.3 2.3-2.3 6.2 0 8.5l59.4 59.4c2.3 2.3 6.2 2.3 8.5 0l36.8-36.8c2.3-2.3 2.3-6.2 0-8.5l-10.3-10.3 14.6-14.3c6.8-3.7 25.4-8.9 39.1-5.1l214.9 267.3c8.1 8.2 20.3 8.2 28.5 0l46.8-47.1c10.3-8 10.3-22.3 2.1-28.4z"/></svg>PK}w�\�[9zzcollection/icon/svg/md-beer.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M416 140h-16v-6c8.9-9 16-22.9 16-38 0-35.3-28.7-64-64-64-16.3 0-31.1 6.1-42.4 16.1C297.2 38 281.4 32 264.2 32c-15.8 0-30.4 5.1-42.3 13.7C212 37.2 199 32 184.9 32c-17.1 0-32.4 7.6-42.8 19.5-11.7-12-28-19.5-46.1-19.5-35.3 0-64 28.7-64 64 0 16.2 6.1 31 16 42.3V193c0 26.5 21.5 48 48 48v174.5c0 35.3 28.8 64.5 64.2 64.5H336c35.3 0 64.1-29.2 64.1-64.5V372h16c50 0 64-32.7 64-68v-96c-.1-35.3-17.1-68-64.1-68zm-64 52H144v-53.7c.3-.4.7-.8 1-1.2 1.2-1.5 2.4-3 3.5-4.6 1.5 1.2 3 2.4 4.6 3.4 9.1 6.1 20 9.7 31.7 9.7 6.4 0 12.6-1.1 18.3-3 12.8 20.2 35.3 33.7 61 33.7 22 0 41.7-9.9 54.9-25.4 5.7-6.7 10.2-14.4 13.1-22.9H352v64zM96 128.1v75c-9 0-16-7.2-16-16v-63.3c-8-4.5-13.4-12.1-15.3-21-.5-2.1-.7-4.4-.7-6.7 0-17.6 14.4-32 32-32 11.8 0 23.3 7.7 30.1 15.4s26.7 7.7 33.9 0c6.8-7.3 14.3-15.4 24.8-15.4 6 0 11.6 2.2 15.9 5.8 1.9 1.6 3.6 3.5 4.9 5.6 1.1 1.8 2 4.2 3.1 5.8 2.7 3.4 6.5 5.5 11.2 5.5 4.4 0 8.3-1.9 11-5 .6-.7 1.2-1.5 1.7-2.3 2-2.5 4.2-4.8 6.7-6.8 6.8-5.4 15.5-8.6 24.8-8.6 10.6 0 20.2 4.1 27.4 10.9 1.7 1.6 6.7 4.5 13.2 5.1 4.5.4 6.1.3 8.2 0 10.3-1.3 14.4-4.7 16.4-6.6 5.8-5.8 13.8-9.4 22.6-9.4 17.6 0 32 14.4 32 32 .2 3.1-.3 6.2-1.2 9.1-2.5-5.5-8.1-9.2-14.6-9.2h-55s-8.7-.7-8.7 8.2c0 8.9-2.9 17.1-7.8 23.7-7.3 9.9-19.1 16.4-32.4 16.4-14.9 0-27.9-8.1-34.8-20.2-1.6-2.7-2.8-5.6-3.7-8.6-.1-.6-.3-1.1-.4-1.6-2-5.9-7.5-10.2-14.1-10.2-3.9 0-7.5 1.5-10.2 4l-.1.1c-2.4 2.1-5.3 3.7-8.4 4.7-2.4.8-5 1.2-7.7 1.2-7.5 0-14.7-4-18.8-8.6-10-11.4-23.7-6.8-29.7-5.5-6 1.3-12.2 11.7-12.2 11.7-1.1 2.1-2.4 4-3.9 5.8-6 6.7-15.2 11-24.2 11zM432 304c0 17.7-6.3 24-24 24h-8V184h8c17.7 0 24 6.3 24 24v96z"/></svg>PK}w�\ �W ��+collection/icon/svg/md-git-pull-request.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M416 376.6V206.8c0-46.4-3.7-70.8-22.1-94C374 87.7 348.9 77 310 77h-22V16l-96 96 96 96v-65h22c24.6 0 29 3.6 33.8 9.6 5.5 6.9 8.2 19.1 8.2 54.2v169.8c-19.1 11.1-32 31.7-32 55.4 0 35.3 28.7 64 64 64s64-28.7 64-64c0-23.7-12.9-44.3-32-55.4zM384 472c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40zM128 48c-35.3 0-64 28.7-64 64 0 23.7 12.9 44.3 32 55.4v209.2c-19.1 11.1-32 31.7-32 55.4 0 35.3 28.7 64 64 64s64-28.7 64-64c0-23.7-12.9-44.3-32-55.4V167.4c19.1-11.1 32-31.7 32-55.4 0-35.3-28.7-64-64-64zm0 424c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40zm0-320c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40z"/></svg>PK}w�\�苷33!collection/icon/svg/ios-shirt.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M461.8 181.7c1.3-1.6 1.2-3.8-.2-5.3-11.5-12.1-61.3-63.7-89.1-83.7C352 78 332 64 310 64s-22 8-54 8-32-8-54-8-42 14-62.5 28.7c-27.8 20-77.6 71.6-89.1 83.7-1.4 1.5-1.5 3.7-.2 5.3l61.7 64c2.4 2.9 7.1 1.2 7.1-2.5v-44.9c0-4.5 3.2-8.5 7.6-9.2 5.6-.9 10.4 3.5 10.4 8.9v242c0 4.4 3.6 8 8 8h222c4.4 0 8-3.6 8-8V198.3c0-4.5 3.2-8.5 7.6-9.2 5.6-.9 10.4 3.5 10.4 8.9v45.2c0 3.8 4.7 5.4 7.1 2.5l61.7-64zM256 143c-30 0-54-12.7-54-36 0-30 24-10.7 54-10.7 29.8 0 54-19.3 54 10.7 0 23.3-24.2 36-54 36z"/></svg>PK}w�\���x��collection/icon/svg/md-snow.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M461.4 298.5l-8.3-30.9-88 23.6-60.4-34.9 60.4-34.9 88 23.6 8.3-30.9-57.1-15.3 57.7-33.3-24-41.5-56.6 32.7 15.3-57.1-30.9-8.3-23.6 88-62.2 35.9v-71.1l64.5-64.4-22.7-22.6L280 98.9V32h-48v65.6l-41.7-41.7-22.6 22.6 64.3 64.4v71.4l-60.7-35-23.6-88-30.9 8.3 15.3 57.1-57.7-33.4-24 41.6 56.7 32.7L50 212.9l8.3 30.9 87.9-23.6 62.6 36.1-62.6 36.2-87.9-23.6-8.3 30.9 57.1 15.3-56.7 32.7 24 41.5 57.7-33.3-15.3 57 30.9 8.3 23.6-87.9 60.7-35.1v70.9l-64.3 64.4 22.6 22.6 41.7-41.8V480h48v-66.8l41.9 41.7 22.5-22.6L280 368v-70.6l62.2 36 23.6 87.9 30.9-8.3-15.3-57 56.6 32.7 24-41.6-57.7-33.3z"/></svg>PK}w�\�J���� collection/icon/svg/logo-npm.svgnu�[���<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" x="0" y="0" viewBox="0 0 512 512" xml:space="preserve"><style>.st0{fill:#010101}</style><path class="st0" d="M227.6 213.1H256v57.1h-28.4z"/><path class="st0" d="M0 156v171.4h142.2V356H256v-28.6h256V156H0zm142.2 142.9h-28.4v-85.7H85.3v85.7H28.4V184.6h113.8v114.3zm142.2 0h-56.9v28.6h-56.9V184.6h113.8v114.3zm199.2 0h-28.4v-85.7h-28.4v85.7h-28.4v-85.7H370v85.7h-56.9V184.6h170.7v114.3z"/></svg>PK}w�\}��,collection/icon/svg/ios-checkbox-outline.svgnu�[���<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M416 64H96c-17.7 0-32 14.3-32 32v320c0 17.7 14.3 32 32 32h320c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm4 348c0 4.4-3.6 8-8 8H100c-4.4 0-8-3.6-8-8V100c0-4.4 3.6-8 8-8h312c4.4 0 8 3.6 8 8v312z"/><path d="M363.6 192.9L346 174.8c-.7-.8-1.8-1.2-2.8-1.2-1.1 0-2.1.4-2.8 1.2l-122 122.9-44.4-44.4c-.8-.8-1.8-1.2-2.8-1.2-1 0-2 .4-2.8 1.2l-17.8 17.8c-1.6 1.6-1.6 4.1 0 5.7l56 56c3.6 3.6 8 5.7 11.7 5.7 5.3 0 9.9-3.9 11.6-5.5h.1l133.7-134.4c1.4-1.7 1.4-4.2-.1-5.7z"/></svg>PK}w�\l5zZ Z #collection/collection-manifest.jsonnu�[���{ "components": [ { "tag": "ion-icon", "dependencies": [], "componentClass": "Icon", "componentPath": "icon/icon.js", "styles": { "$": { "stylePaths": [ "icon/icon.css" ] } }, "assetPaths": [ "icon/svg" ], "props": [ { "name": "ariaLabel", "type": "String", "mutable": true, "reflectToAttr": true, "attr": "aria-label" }, { "name": "color", "type": "String", "attr": "color" }, { "name": "icon", "type": "String", "attr": "icon", "watch": [ "loadIcon" ] }, { "name": "ios", "type": "String", "attr": "ios" }, { "name": "lazy", "type": "Boolean", "attr": "lazy" }, { "name": "md", "type": "String", "attr": "md" }, { "name": "mode", "type": "String", "attr": "mode" }, { "name": "name", "type": "String", "attr": "name", "watch": [ "loadIcon" ] }, { "name": "size", "type": "String", "attr": "size" }, { "name": "src", "type": "String", "attr": "src", "watch": [ "loadIcon" ] } ], "states": [ { "name": "isVisible" }, { "name": "svgContent" } ], "context": [ { "name": "isServer", "id": "isServer" }, { "name": "resourcesUrl", "id": "resourcesUrl" }, { "name": "doc", "id": "document" }, { "name": "win", "id": "window" } ], "hostElement": { "name": "el" }, "shadow": true } ], "collections": [], "compiler": { "name": "@stencil/core", "version": "0.14.0-4", "typescriptVersion": "2.9.2" }, "bundles": [] }PK}w�\collection/interface.jsnu�[���PK}w�\ޭ�ddionicons.jsnu�[���/*! * Built with http://stenciljs.com * 2018-09-14T16:08:06 */ !function(e,t,n,r,i,o,s,c,a,l,u,d,p,m){for((u=e.ionicons=e.ionicons||{}).components=a,(p=a.map(function(e){return e[0]})).length&&((d=t.createElement("style")).innerHTML=p.join()+"{visibility:hidden}.hydrated{visibility:inherit}",d.setAttribute("data-styles",""),p=t.head.querySelector("meta[charset]"),t.head.insertBefore(d,p?p.nextSibling:t.head.firstChild)),function(e,t,n){(e["s-apps"]=e["s-apps"]||[]).push("ionicons"),n.componentOnReady||(n.componentOnReady=function(){var t=this;function n(n){if(t.nodeName.indexOf("-")>0){for(var r=e["s-apps"],i=0,o=0;o<r.length;o++)if(e[r[o]].componentOnReady){if(e[r[o]].componentOnReady(t,n))return;i++}if(i<r.length)return void(e["s-cr"]=e["s-cr"]||[]).push([t,n])}n(null)}return e.Promise?new e.Promise(n):{then:n}})}(e,0,l),i=i||u.resourcesUrl,d=(p=t.querySelectorAll("script")).length-1;d>=0&&!(m=p[d]).src&&!m.hasAttribute("data-resources-url");d--);p=m.getAttribute("data-resources-url"),!i&&p&&(i=p),!i&&m.src&&(i=(p=m.src.split("/").slice(0,-1)).join("/")+(p.length?"/":"")+"ionicons/"),d=t.createElement("script"),function(e,t,n,r){return!(t.search.indexOf("core=esm")>0)&&(!(!(t.search.indexOf("core=es5")>0||"file:"===t.protocol)&&e.customElements&&e.customElements.define&&e.fetch&&e.CSS&&e.CSS.supports&&e.CSS.supports("color","var(--c)")&&"noModule"in n)||function(e){try{return new Function('import("")'),!1}catch(e){}return!0}())}(e,e.location,d)?d.src=i+"ionicons.z9r2cndl.js":(d.src=i+"ionicons.uhp57gzi.js",d.setAttribute("type","module"),d.setAttribute("crossorigin",!0)),d.setAttribute("data-resources-url",i),d.setAttribute("data-namespace","ionicons"),t.head.appendChild(d)}(window,document,0,0,0,0,0,0,[["ion-icon","esckjbl8",1,[["ariaLabel",2,1,"aria-label",2],["color",1,0,1,2],["doc",4,0,0,0,"document"],["el",64],["icon",1,0,1,2],["ios",1,0,1,2],["isServer",4,0,0,0,"isServer"],["isVisible",16],["lazy",1,0,1,4],["md",1,0,1,2],["mode",1,0,1,2],["name",1,0,1,2],["resourcesUrl",4,0,0,0,"resourcesUrl"],["size",1,0,1,2],["src",1,0,1,2],["svgContent",16],["win",4,0,0,0,"window"]],1]],HTMLElement.prototype);PK]x�\��^:�:�umd/ReactDnD.jsnu�[���(function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react')) : typeof define === 'function' && define.amd ? define(['exports', 'react'], factory) : (global = global || self, factory(global.ReactDnD = {}, global.React)); }(this, (function (exports, React) { 'use strict'; var HandlerRole; (function (HandlerRole) { HandlerRole["SOURCE"] = "SOURCE"; HandlerRole["TARGET"] = "TARGET"; })(HandlerRole || (HandlerRole = {})); function symbolObservablePonyfill(root) { var result; var Symbol = root.Symbol; if (typeof Symbol === 'function') { if (Symbol.observable) { result = Symbol.observable; } else { result = Symbol('observable'); Symbol.observable = result; } } else { result = '@@observable'; } return result; } /* global window */ var root; if (typeof self !== 'undefined') { root = self; } else if (typeof window !== 'undefined') { root = window; } else if (typeof global !== 'undefined') { root = global; } else if (typeof module !== 'undefined') { root = module; } else { root = Function('return this')(); } var result = symbolObservablePonyfill(root); /** * These are private action types reserved by Redux. * For any unknown actions, you must return the current state. * If the current state is undefined, you must return the initial state. * Do not reference these action types directly in your code. */ var randomString = function randomString() { return Math.random().toString(36).substring(7).split('').join('.'); }; var ActionTypes = { INIT: "@@redux/INIT" + randomString(), REPLACE: "@@redux/REPLACE" + randomString(), PROBE_UNKNOWN_ACTION: function PROBE_UNKNOWN_ACTION() { return "@@redux/PROBE_UNKNOWN_ACTION" + randomString(); } }; /** * @param {any} obj The object to inspect. * @returns {boolean} True if the argument appears to be a plain object. */ function isPlainObject(obj) { if (typeof obj !== 'object' || obj === null) return false; var proto = obj; while (Object.getPrototypeOf(proto) !== null) { proto = Object.getPrototypeOf(proto); } return Object.getPrototypeOf(obj) === proto; } /** * Creates a Redux store that holds the state tree. * The only way to change the data in the store is to call `dispatch()` on it. * * There should only be a single store in your app. To specify how different * parts of the state tree respond to actions, you may combine several reducers * into a single reducer function by using `combineReducers`. * * @param {Function} reducer A function that returns the next state tree, given * the current state tree and the action to handle. * * @param {any} [preloadedState] The initial state. You may optionally specify it * to hydrate the state from the server in universal apps, or to restore a * previously serialized user session. * If you use `combineReducers` to produce the root reducer function, this must be * an object with the same shape as `combineReducers` keys. * * @param {Function} [enhancer] The store enhancer. You may optionally specify it * to enhance the store with third-party capabilities such as middleware, * time travel, persistence, etc. The only store enhancer that ships with Redux * is `applyMiddleware()`. * * @returns {Store} A Redux store that lets you read the state, dispatch actions * and subscribe to changes. */ function createStore(reducer, preloadedState, enhancer) { var _ref2; if (typeof preloadedState === 'function' && typeof enhancer === 'function' || typeof enhancer === 'function' && typeof arguments[3] === 'function') { throw new Error('It looks like you are passing several store enhancers to ' + 'createStore(). This is not supported. Instead, compose them ' + 'together to a single function.'); } if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') { enhancer = preloadedState; preloadedState = undefined; } if (typeof enhancer !== 'undefined') { if (typeof enhancer !== 'function') { throw new Error('Expected the enhancer to be a function.'); } return enhancer(createStore)(reducer, preloadedState); } if (typeof reducer !== 'function') { throw new Error('Expected the reducer to be a function.'); } var currentReducer = reducer; var currentState = preloadedState; var currentListeners = []; var nextListeners = currentListeners; var isDispatching = false; /** * This makes a shallow copy of currentListeners so we can use * nextListeners as a temporary list while dispatching. * * This prevents any bugs around consumers calling * subscribe/unsubscribe in the middle of a dispatch. */ function ensureCanMutateNextListeners() { if (nextListeners === currentListeners) { nextListeners = currentListeners.slice(); } } /** * Reads the state tree managed by the store. * * @returns {any} The current state tree of your application. */ function getState() { if (isDispatching) { throw new Error('You may not call store.getState() while the reducer is executing. ' + 'The reducer has already received the state as an argument. ' + 'Pass it down from the top reducer instead of reading it from the store.'); } return currentState; } /** * Adds a change listener. It will be called any time an action is dispatched, * and some part of the state tree may potentially have changed. You may then * call `getState()` to read the current state tree inside the callback. * * You may call `dispatch()` from a change listener, with the following * caveats: * * 1. The subscriptions are snapshotted just before every `dispatch()` call. * If you subscribe or unsubscribe while the listeners are being invoked, this * will not have any effect on the `dispatch()` that is currently in progress. * However, the next `dispatch()` call, whether nested or not, will use a more * recent snapshot of the subscription list. * * 2. The listener should not expect to see all state changes, as the state * might have been updated multiple times during a nested `dispatch()` before * the listener is called. It is, however, guaranteed that all subscribers * registered before the `dispatch()` started will be called with the latest * state by the time it exits. * * @param {Function} listener A callback to be invoked on every dispatch. * @returns {Function} A function to remove this change listener. */ function subscribe(listener) { if (typeof listener !== 'function') { throw new Error('Expected the listener to be a function.'); } if (isDispatching) { throw new Error('You may not call store.subscribe() while the reducer is executing. ' + 'If you would like to be notified after the store has been updated, subscribe from a ' + 'component and invoke store.getState() in the callback to access the latest state. ' + 'See https://redux.js.org/api-reference/store#subscribelistener for more details.'); } var isSubscribed = true; ensureCanMutateNextListeners(); nextListeners.push(listener); return function unsubscribe() { if (!isSubscribed) { return; } if (isDispatching) { throw new Error('You may not unsubscribe from a store listener while the reducer is executing. ' + 'See https://redux.js.org/api-reference/store#subscribelistener for more details.'); } isSubscribed = false; ensureCanMutateNextListeners(); var index = nextListeners.indexOf(listener); nextListeners.splice(index, 1); currentListeners = null; }; } /** * Dispatches an action. It is the only way to trigger a state change. * * The `reducer` function, used to create the store, will be called with the * current state tree and the given `action`. Its return value will * be considered the **next** state of the tree, and the change listeners * will be notified. * * The base implementation only supports plain object actions. If you want to * dispatch a Promise, an Observable, a thunk, or something else, you need to * wrap your store creating function into the corresponding middleware. For * example, see the documentation for the `redux-thunk` package. Even the * middleware will eventually dispatch plain object actions using this method. * * @param {Object} action A plain object representing “what changed”. It is * a good idea to keep actions serializable so you can record and replay user * sessions, or use the time travelling `redux-devtools`. An action must have * a `type` property which may not be `undefined`. It is a good idea to use * string constants for action types. * * @returns {Object} For convenience, the same action object you dispatched. * * Note that, if you use a custom middleware, it may wrap `dispatch()` to * return something else (for example, a Promise you can await). */ function dispatch(action) { if (!isPlainObject(action)) { throw new Error('Actions must be plain objects. ' + 'Use custom middleware for async actions.'); } if (typeof action.type === 'undefined') { throw new Error('Actions may not have an undefined "type" property. ' + 'Have you misspelled a constant?'); } if (isDispatching) { throw new Error('Reducers may not dispatch actions.'); } try { isDispatching = true; currentState = currentReducer(currentState, action); } finally { isDispatching = false; } var listeners = currentListeners = nextListeners; for (var i = 0; i < listeners.length; i++) { var listener = listeners[i]; listener(); } return action; } /** * Replaces the reducer currently used by the store to calculate the state. * * You might need this if your app implements code splitting and you want to * load some of the reducers dynamically. You might also need this if you * implement a hot reloading mechanism for Redux. * * @param {Function} nextReducer The reducer for the store to use instead. * @returns {void} */ function replaceReducer(nextReducer) { if (typeof nextReducer !== 'function') { throw new Error('Expected the nextReducer to be a function.'); } currentReducer = nextReducer; // This action has a similiar effect to ActionTypes.INIT. // Any reducers that existed in both the new and old rootReducer // will receive the previous state. This effectively populates // the new state tree with any relevant data from the old one. dispatch({ type: ActionTypes.REPLACE }); } /** * Interoperability point for observable/reactive libraries. * @returns {observable} A minimal observable of state changes. * For more information, see the observable proposal: * https://github.com/tc39/proposal-observable */ function observable() { var _ref; var outerSubscribe = subscribe; return _ref = { /** * The minimal observable subscription method. * @param {Object} observer Any object that can be used as an observer. * The observer object should have a `next` method. * @returns {subscription} An object with an `unsubscribe` method that can * be used to unsubscribe the observable from the store, and prevent further * emission of values from the observable. */ subscribe: function subscribe(observer) { if (typeof observer !== 'object' || observer === null) { throw new TypeError('Expected the observer to be an object.'); } function observeState() { if (observer.next) { observer.next(getState()); } } observeState(); var unsubscribe = outerSubscribe(observeState); return { unsubscribe: unsubscribe }; } }, _ref[result] = function () { return this; }, _ref; } // When a store is created, an "INIT" action is dispatched so that every // reducer returns their initial state. This effectively populates // the initial state tree. dispatch({ type: ActionTypes.INIT }); return _ref2 = { dispatch: dispatch, subscribe: subscribe, getState: getState, replaceReducer: replaceReducer }, _ref2[result] = observable, _ref2; } /** * Prints a warning in the console if it exists. * * @param {String} message The warning message. * @returns {void} */ function warning(message) { /* eslint-disable no-console */ if (typeof console !== 'undefined' && typeof console.error === 'function') { console.error(message); } /* eslint-enable no-console */ try { // This error was thrown as a convenience so that if you enable // "break on all exceptions" in your console, // it would pause the execution at this line. throw new Error(message); } catch (e) {} // eslint-disable-line no-empty } /* * This is a dummy function to check if the function name has been altered by minification. * If the function has been minified and NODE_ENV !== 'production', warn the user. */ function isCrushed() {} if ( typeof isCrushed.name === 'string' && isCrushed.name !== 'isCrushed') { warning('You are currently using minified code outside of NODE_ENV === "production". ' + 'This means that you are running a slower development build of Redux. ' + 'You can use loose-envify (https://github.com/zertosh/loose-envify) for browserify ' + 'or setting mode to production in webpack (https://webpack.js.org/concepts/mode/) ' + 'to ensure you have the correct code for your production build.'); } /** * Use invariant() to assert state which your program assumes to be true. * * Provide sprintf-style format (only %s is supported) and arguments * to provide information about what broke and what you were * expecting. * * The invariant message will be stripped in production, but the invariant * will remain to ensure logic does not differ in production. */ function invariant(condition, format) { for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) { args[_key - 2] = arguments[_key]; } { if (format === undefined) { throw new Error('invariant requires an error message argument'); } } if (!condition) { var error; if (format === undefined) { error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.'); } else { var argIndex = 0; error = new Error(format.replace(/%s/g, function () { return args[argIndex++]; })); error.name = 'Invariant Violation'; } error.framesToPop = 1; // we don't care about invariant's own frame throw error; } } var INIT_COORDS = 'dnd-core/INIT_COORDS'; var BEGIN_DRAG = 'dnd-core/BEGIN_DRAG'; var PUBLISH_DRAG_SOURCE = 'dnd-core/PUBLISH_DRAG_SOURCE'; var HOVER = 'dnd-core/HOVER'; var DROP = 'dnd-core/DROP'; var END_DRAG = 'dnd-core/END_DRAG'; function setClientOffset(clientOffset, sourceClientOffset) { return { type: INIT_COORDS, payload: { sourceClientOffset: sourceClientOffset || null, clientOffset: clientOffset || null } }; } function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } // cheap lodash replacements /** * drop-in replacement for _.get * @param obj * @param path * @param defaultValue */ function get(obj, path, defaultValue) { return path.split('.').reduce(function (a, c) { return a && a[c] ? a[c] : defaultValue || null; }, obj); } /** * drop-in replacement for _.without */ function without(items, item) { return items.filter(function (i) { return i !== item; }); } /** * drop-in replacement for _.isString * @param input */ function isObject(input) { return _typeof(input) === 'object'; } /** * repalcement for _.xor * @param itemsA * @param itemsB */ function xor(itemsA, itemsB) { var map = new Map(); var insertItem = function insertItem(item) { map.set(item, map.has(item) ? map.get(item) + 1 : 1); }; itemsA.forEach(insertItem); itemsB.forEach(insertItem); var result = []; map.forEach(function (count, key) { if (count === 1) { result.push(key); } }); return result; } /** * replacement for _.intersection * @param itemsA * @param itemsB */ function intersection(itemsA, itemsB) { return itemsA.filter(function (t) { return itemsB.indexOf(t) > -1; }); } var ResetCoordinatesAction = { type: INIT_COORDS, payload: { clientOffset: null, sourceClientOffset: null } }; function createBeginDrag(manager) { return function beginDrag() { var sourceIds = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { publishSource: true }; var _options$publishSourc = options.publishSource, publishSource = _options$publishSourc === void 0 ? true : _options$publishSourc, clientOffset = options.clientOffset, getSourceClientOffset = options.getSourceClientOffset; var monitor = manager.getMonitor(); var registry = manager.getRegistry(); // Initialize the coordinates using the client offset manager.dispatch(setClientOffset(clientOffset)); verifyInvariants(sourceIds, monitor, registry); // Get the draggable source var sourceId = getDraggableSource(sourceIds, monitor); if (sourceId === null) { manager.dispatch(ResetCoordinatesAction); return; } // Get the source client offset var sourceClientOffset = null; if (clientOffset) { if (!getSourceClientOffset) { throw new Error('getSourceClientOffset must be defined'); } verifyGetSourceClientOffsetIsFunction(getSourceClientOffset); sourceClientOffset = getSourceClientOffset(sourceId); } // Initialize the full coordinates manager.dispatch(setClientOffset(clientOffset, sourceClientOffset)); var source = registry.getSource(sourceId); var item = source.beginDrag(monitor, sourceId); verifyItemIsObject(item); registry.pinSource(sourceId); var itemType = registry.getSourceType(sourceId); return { type: BEGIN_DRAG, payload: { itemType: itemType, item: item, sourceId: sourceId, clientOffset: clientOffset || null, sourceClientOffset: sourceClientOffset || null, isSourcePublic: !!publishSource } }; }; } function verifyInvariants(sourceIds, monitor, registry) { invariant(!monitor.isDragging(), 'Cannot call beginDrag while dragging.'); sourceIds.forEach(function (sourceId) { invariant(registry.getSource(sourceId), 'Expected sourceIds to be registered.'); }); } function verifyGetSourceClientOffsetIsFunction(getSourceClientOffset) { invariant(typeof getSourceClientOffset === 'function', 'When clientOffset is provided, getSourceClientOffset must be a function.'); } function verifyItemIsObject(item) { invariant(isObject(item), 'Item must be an object.'); } function getDraggableSource(sourceIds, monitor) { var sourceId = null; for (var i = sourceIds.length - 1; i >= 0; i--) { if (monitor.canDragSource(sourceIds[i])) { sourceId = sourceIds[i]; break; } } return sourceId; } function createPublishDragSource(manager) { return function publishDragSource() { var monitor = manager.getMonitor(); if (monitor.isDragging()) { return { type: PUBLISH_DRAG_SOURCE }; } }; } function matchesType(targetType, draggedItemType) { if (draggedItemType === null) { return targetType === null; } return Array.isArray(targetType) ? targetType.some(function (t) { return t === draggedItemType; }) : targetType === draggedItemType; } function createHover(manager) { return function hover(targetIdsArg) { var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, clientOffset = _ref.clientOffset; verifyTargetIdsIsArray(targetIdsArg); var targetIds = targetIdsArg.slice(0); var monitor = manager.getMonitor(); var registry = manager.getRegistry(); checkInvariants(targetIds, monitor, registry); var draggedItemType = monitor.getItemType(); removeNonMatchingTargetIds(targetIds, registry, draggedItemType); hoverAllTargets(targetIds, monitor, registry); return { type: HOVER, payload: { targetIds: targetIds, clientOffset: clientOffset || null } }; }; } function verifyTargetIdsIsArray(targetIdsArg) { invariant(Array.isArray(targetIdsArg), 'Expected targetIds to be an array.'); } function checkInvariants(targetIds, monitor, registry) { invariant(monitor.isDragging(), 'Cannot call hover while not dragging.'); invariant(!monitor.didDrop(), 'Cannot call hover after drop.'); for (var i = 0; i < targetIds.length; i++) { var targetId = targetIds[i]; invariant(targetIds.lastIndexOf(targetId) === i, 'Expected targetIds to be unique in the passed array.'); var target = registry.getTarget(targetId); invariant(target, 'Expected targetIds to be registered.'); } } function removeNonMatchingTargetIds(targetIds, registry, draggedItemType) { // Remove those targetIds that don't match the targetType. This // fixes shallow isOver which would only be non-shallow because of // non-matching targets. for (var i = targetIds.length - 1; i >= 0; i--) { var targetId = targetIds[i]; var targetType = registry.getTargetType(targetId); if (!matchesType(targetType, draggedItemType)) { targetIds.splice(i, 1); } } } function hoverAllTargets(targetIds, monitor, registry) { // Finally call hover on all matching targets. targetIds.forEach(function (targetId) { var target = registry.getTarget(targetId); target.hover(monitor, targetId); }); } function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function createDrop(manager) { return function drop() { var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var monitor = manager.getMonitor(); var registry = manager.getRegistry(); verifyInvariants$1(monitor); var targetIds = getDroppableTargets(monitor); // Multiple actions are dispatched here, which is why this doesn't return an action targetIds.forEach(function (targetId, index) { var dropResult = determineDropResult(targetId, index, registry, monitor); var action = { type: DROP, payload: { dropResult: _objectSpread(_objectSpread({}, options), dropResult) } }; manager.dispatch(action); }); }; } function verifyInvariants$1(monitor) { invariant(monitor.isDragging(), 'Cannot call drop while not dragging.'); invariant(!monitor.didDrop(), 'Cannot call drop twice during one drag operation.'); } function determineDropResult(targetId, index, registry, monitor) { var target = registry.getTarget(targetId); var dropResult = target ? target.drop(monitor, targetId) : undefined; verifyDropResultType(dropResult); if (typeof dropResult === 'undefined') { dropResult = index === 0 ? {} : monitor.getDropResult(); } return dropResult; } function verifyDropResultType(dropResult) { invariant(typeof dropResult === 'undefined' || isObject(dropResult), 'Drop result must either be an object or undefined.'); } function getDroppableTargets(monitor) { var targetIds = monitor.getTargetIds().filter(monitor.canDropOnTarget, monitor); targetIds.reverse(); return targetIds; } function createEndDrag(manager) { return function endDrag() { var monitor = manager.getMonitor(); var registry = manager.getRegistry(); verifyIsDragging(monitor); var sourceId = monitor.getSourceId(); if (sourceId != null) { var source = registry.getSource(sourceId, true); source.endDrag(monitor, sourceId); registry.unpinSource(); } return { type: END_DRAG }; }; } function verifyIsDragging(monitor) { invariant(monitor.isDragging(), 'Cannot call endDrag while not dragging.'); } function createDragDropActions(manager) { return { beginDrag: createBeginDrag(manager), publishDragSource: createPublishDragSource(manager), hover: createHover(manager), drop: createDrop(manager), endDrag: createEndDrag(manager) }; } var strictEquality = function strictEquality(a, b) { return a === b; }; /** * Determine if two cartesian coordinate offsets are equal * @param offsetA * @param offsetB */ function areCoordsEqual(offsetA, offsetB) { if (!offsetA && !offsetB) { return true; } else if (!offsetA || !offsetB) { return false; } else { return offsetA.x === offsetB.x && offsetA.y === offsetB.y; } } /** * Determines if two arrays of items are equal * @param a The first array of items * @param b The second array of items */ function areArraysEqual(a, b) { var isEqual = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : strictEquality; if (a.length !== b.length) { return false; } for (var i = 0; i < a.length; ++i) { if (!isEqual(a[i], b[i])) { return false; } } return true; } function ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$1(Object(source), true).forEach(function (key) { _defineProperty$1(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } function _defineProperty$1(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } var initialState = { initialSourceClientOffset: null, initialClientOffset: null, clientOffset: null }; function reduce() { var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState; var action = arguments.length > 1 ? arguments[1] : undefined; var payload = action.payload; switch (action.type) { case INIT_COORDS: case BEGIN_DRAG: return { initialSourceClientOffset: payload.sourceClientOffset, initialClientOffset: payload.clientOffset, clientOffset: payload.clientOffset }; case HOVER: if (areCoordsEqual(state.clientOffset, payload.clientOffset)) { return state; } return _objectSpread$1(_objectSpread$1({}, state), {}, { clientOffset: payload.clientOffset }); case END_DRAG: case DROP: return initialState; default: return state; } } var ADD_SOURCE = 'dnd-core/ADD_SOURCE'; var ADD_TARGET = 'dnd-core/ADD_TARGET'; var REMOVE_SOURCE = 'dnd-core/REMOVE_SOURCE'; var REMOVE_TARGET = 'dnd-core/REMOVE_TARGET'; function addSource(sourceId) { return { type: ADD_SOURCE, payload: { sourceId: sourceId } }; } function addTarget(targetId) { return { type: ADD_TARGET, payload: { targetId: targetId } }; } function removeSource(sourceId) { return { type: REMOVE_SOURCE, payload: { sourceId: sourceId } }; } function removeTarget(targetId) { return { type: REMOVE_TARGET, payload: { targetId: targetId } }; } function ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$2(Object(source), true).forEach(function (key) { _defineProperty$2(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } function _defineProperty$2(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } var initialState$1 = { itemType: null, item: null, sourceId: null, targetIds: [], dropResult: null, didDrop: false, isSourcePublic: null }; function reduce$1() { var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState$1; var action = arguments.length > 1 ? arguments[1] : undefined; var payload = action.payload; switch (action.type) { case BEGIN_DRAG: return _objectSpread$2(_objectSpread$2({}, state), {}, { itemType: payload.itemType, item: payload.item, sourceId: payload.sourceId, isSourcePublic: payload.isSourcePublic, dropResult: null, didDrop: false }); case PUBLISH_DRAG_SOURCE: return _objectSpread$2(_objectSpread$2({}, state), {}, { isSourcePublic: true }); case HOVER: return _objectSpread$2(_objectSpread$2({}, state), {}, { targetIds: payload.targetIds }); case REMOVE_TARGET: if (state.targetIds.indexOf(payload.targetId) === -1) { return state; } return _objectSpread$2(_objectSpread$2({}, state), {}, { targetIds: without(state.targetIds, payload.targetId) }); case DROP: return _objectSpread$2(_objectSpread$2({}, state), {}, { dropResult: payload.dropResult, didDrop: true, targetIds: [] }); case END_DRAG: return _objectSpread$2(_objectSpread$2({}, state), {}, { itemType: null, item: null, sourceId: null, dropResult: null, didDrop: false, isSourcePublic: null, targetIds: [] }); default: return state; } } function reduce$2() { var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; var action = arguments.length > 1 ? arguments[1] : undefined; switch (action.type) { case ADD_SOURCE: case ADD_TARGET: return state + 1; case REMOVE_SOURCE: case REMOVE_TARGET: return state - 1; default: return state; } } var NONE = []; var ALL = []; NONE.__IS_NONE__ = true; ALL.__IS_ALL__ = true; /** * Determines if the given handler IDs are dirty or not. * * @param dirtyIds The set of dirty handler ids * @param handlerIds The set of handler ids to check */ function areDirty(dirtyIds, handlerIds) { if (dirtyIds === NONE) { return false; } if (dirtyIds === ALL || typeof handlerIds === 'undefined') { return true; } var commonIds = intersection(handlerIds, dirtyIds); return commonIds.length > 0; } function reduce$3() { var action = arguments.length > 1 ? arguments[1] : undefined; switch (action.type) { case HOVER: break; case ADD_SOURCE: case ADD_TARGET: case REMOVE_TARGET: case REMOVE_SOURCE: return NONE; case BEGIN_DRAG: case PUBLISH_DRAG_SOURCE: case END_DRAG: case DROP: default: return ALL; } var _action$payload = action.payload, _action$payload$targe = _action$payload.targetIds, targetIds = _action$payload$targe === void 0 ? [] : _action$payload$targe, _action$payload$prevT = _action$payload.prevTargetIds, prevTargetIds = _action$payload$prevT === void 0 ? [] : _action$payload$prevT; var result = xor(targetIds, prevTargetIds); var didChange = result.length > 0 || !areArraysEqual(targetIds, prevTargetIds); if (!didChange) { return NONE; } // Check the target ids at the innermost position. If they are valid, add them // to the result var prevInnermostTargetId = prevTargetIds[prevTargetIds.length - 1]; var innermostTargetId = targetIds[targetIds.length - 1]; if (prevInnermostTargetId !== innermostTargetId) { if (prevInnermostTargetId) { result.push(prevInnermostTargetId); } if (innermostTargetId) { result.push(innermostTargetId); } } return result; } function reduce$4() { var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; return state + 1; } function ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$3(Object(source), true).forEach(function (key) { _defineProperty$3(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } function _defineProperty$3(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function reduce$5() { var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var action = arguments.length > 1 ? arguments[1] : undefined; return { dirtyHandlerIds: reduce$3(state.dirtyHandlerIds, { type: action.type, payload: _objectSpread$3(_objectSpread$3({}, action.payload), {}, { prevTargetIds: get(state, 'dragOperation.targetIds', []) }) }), dragOffset: reduce(state.dragOffset, action), refCount: reduce$2(state.refCount, action), dragOperation: reduce$1(state.dragOperation, action), stateId: reduce$4(state.stateId) }; } /** * Coordinate addition * @param a The first coordinate * @param b The second coordinate */ function add(a, b) { return { x: a.x + b.x, y: a.y + b.y }; } /** * Coordinate subtraction * @param a The first coordinate * @param b The second coordinate */ function subtract(a, b) { return { x: a.x - b.x, y: a.y - b.y }; } /** * Returns the cartesian distance of the drag source component's position, based on its position * at the time when the current drag operation has started, and the movement difference. * * Returns null if no item is being dragged. * * @param state The offset state to compute from */ function getSourceClientOffset(state) { var clientOffset = state.clientOffset, initialClientOffset = state.initialClientOffset, initialSourceClientOffset = state.initialSourceClientOffset; if (!clientOffset || !initialClientOffset || !initialSourceClientOffset) { return null; } return subtract(add(clientOffset, initialSourceClientOffset), initialClientOffset); } /** * Determines the x,y offset between the client offset and the initial client offset * * @param state The offset state to compute from */ function getDifferenceFromInitialOffset(state) { var clientOffset = state.clientOffset, initialClientOffset = state.initialClientOffset; if (!clientOffset || !initialClientOffset) { return null; } return subtract(clientOffset, initialClientOffset); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } var DragDropMonitorImpl = /*#__PURE__*/function () { function DragDropMonitorImpl(store, registry) { _classCallCheck(this, DragDropMonitorImpl); this.store = store; this.registry = registry; } _createClass(DragDropMonitorImpl, [{ key: "subscribeToStateChange", value: function subscribeToStateChange(listener) { var _this = this; var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { handlerIds: undefined }; var handlerIds = options.handlerIds; invariant(typeof listener === 'function', 'listener must be a function.'); invariant(typeof handlerIds === 'undefined' || Array.isArray(handlerIds), 'handlerIds, when specified, must be an array of strings.'); var prevStateId = this.store.getState().stateId; var handleChange = function handleChange() { var state = _this.store.getState(); var currentStateId = state.stateId; try { var canSkipListener = currentStateId === prevStateId || currentStateId === prevStateId + 1 && !areDirty(state.dirtyHandlerIds, handlerIds); if (!canSkipListener) { listener(); } } finally { prevStateId = currentStateId; } }; return this.store.subscribe(handleChange); } }, { key: "subscribeToOffsetChange", value: function subscribeToOffsetChange(listener) { var _this2 = this; invariant(typeof listener === 'function', 'listener must be a function.'); var previousState = this.store.getState().dragOffset; var handleChange = function handleChange() { var nextState = _this2.store.getState().dragOffset; if (nextState === previousState) { return; } previousState = nextState; listener(); }; return this.store.subscribe(handleChange); } }, { key: "canDragSource", value: function canDragSource(sourceId) { if (!sourceId) { return false; } var source = this.registry.getSource(sourceId); invariant(source, 'Expected to find a valid source.'); if (this.isDragging()) { return false; } return source.canDrag(this, sourceId); } }, { key: "canDropOnTarget", value: function canDropOnTarget(targetId) { // undefined on initial render if (!targetId) { return false; } var target = this.registry.getTarget(targetId); invariant(target, 'Expected to find a valid target.'); if (!this.isDragging() || this.didDrop()) { return false; } var targetType = this.registry.getTargetType(targetId); var draggedItemType = this.getItemType(); return matchesType(targetType, draggedItemType) && target.canDrop(this, targetId); } }, { key: "isDragging", value: function isDragging() { return Boolean(this.getItemType()); } }, { key: "isDraggingSource", value: function isDraggingSource(sourceId) { // undefined on initial render if (!sourceId) { return false; } var source = this.registry.getSource(sourceId, true); invariant(source, 'Expected to find a valid source.'); if (!this.isDragging() || !this.isSourcePublic()) { return false; } var sourceType = this.registry.getSourceType(sourceId); var draggedItemType = this.getItemType(); if (sourceType !== draggedItemType) { return false; } return source.isDragging(this, sourceId); } }, { key: "isOverTarget", value: function isOverTarget(targetId) { var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { shallow: false }; // undefined on initial render if (!targetId) { return false; } var shallow = options.shallow; if (!this.isDragging()) { return false; } var targetType = this.registry.getTargetType(targetId); var draggedItemType = this.getItemType(); if (draggedItemType && !matchesType(targetType, draggedItemType)) { return false; } var targetIds = this.getTargetIds(); if (!targetIds.length) { return false; } var index = targetIds.indexOf(targetId); if (shallow) { return index === targetIds.length - 1; } else { return index > -1; } } }, { key: "getItemType", value: function getItemType() { return this.store.getState().dragOperation.itemType; } }, { key: "getItem", value: function getItem() { return this.store.getState().dragOperation.item; } }, { key: "getSourceId", value: function getSourceId() { return this.store.getState().dragOperation.sourceId; } }, { key: "getTargetIds", value: function getTargetIds() { return this.store.getState().dragOperation.targetIds; } }, { key: "getDropResult", value: function getDropResult() { return this.store.getState().dragOperation.dropResult; } }, { key: "didDrop", value: function didDrop() { return this.store.getState().dragOperation.didDrop; } }, { key: "isSourcePublic", value: function isSourcePublic() { return Boolean(this.store.getState().dragOperation.isSourcePublic); } }, { key: "getInitialClientOffset", value: function getInitialClientOffset() { return this.store.getState().dragOffset.initialClientOffset; } }, { key: "getInitialSourceClientOffset", value: function getInitialSourceClientOffset() { return this.store.getState().dragOffset.initialSourceClientOffset; } }, { key: "getClientOffset", value: function getClientOffset() { return this.store.getState().dragOffset.clientOffset; } }, { key: "getSourceClientOffset", value: function getSourceClientOffset$1() { return getSourceClientOffset(this.store.getState().dragOffset); } }, { key: "getDifferenceFromInitialOffset", value: function getDifferenceFromInitialOffset$1() { return getDifferenceFromInitialOffset(this.store.getState().dragOffset); } }]); return DragDropMonitorImpl; }(); var nextUniqueId = 0; function getNextUniqueId() { return nextUniqueId++; } function _typeof$1(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof$1 = function _typeof(obj) { return typeof obj; }; } else { _typeof$1 = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof$1(obj); } function validateSourceContract(source) { invariant(typeof source.canDrag === 'function', 'Expected canDrag to be a function.'); invariant(typeof source.beginDrag === 'function', 'Expected beginDrag to be a function.'); invariant(typeof source.endDrag === 'function', 'Expected endDrag to be a function.'); } function validateTargetContract(target) { invariant(typeof target.canDrop === 'function', 'Expected canDrop to be a function.'); invariant(typeof target.hover === 'function', 'Expected hover to be a function.'); invariant(typeof target.drop === 'function', 'Expected beginDrag to be a function.'); } function validateType(type, allowArray) { if (allowArray && Array.isArray(type)) { type.forEach(function (t) { return validateType(t, false); }); return; } invariant(typeof type === 'string' || _typeof$1(type) === 'symbol', allowArray ? 'Type can only be a string, a symbol, or an array of either.' : 'Type can only be a string or a symbol.'); } // Use the fastest means possible to execute a task in its own turn, with // priority over other events including IO, animation, reflow, and redraw // events in browsers. // // An exception thrown by a task will permanently interrupt the processing of // subsequent tasks. The higher level `asap` function ensures that if an // exception is thrown by a task, that the task queue will continue flushing as // soon as possible, but if you use `rawAsap` directly, you are responsible to // either ensure that no exceptions are thrown from your task, or to manually // call `rawAsap.requestFlush` if an exception is thrown. function rawAsap(task) { if (!queue.length) { requestFlush(); } // Equivalent to push, but avoids a function call. queue[queue.length] = task; } var queue = []; // Once a flush has been requested, no further calls to `requestFlush` are // off a `flush` event as quickly as possible. `flush` will attempt to exhaust // the event queue before yielding to the browser's own event loop. var requestFlush; // The position of the next task to execute in the task queue. This is // preserved between calls to `flush` so that it can be resumed if // a task throws an exception. var index = 0; // If a task schedules additional tasks recursively, the task queue can grow // unbounded. To prevent memory exhaustion, the task queue will periodically // truncate already-completed tasks. var capacity = 1024; // The flush function processes all tasks that have been scheduled with // `rawAsap` unless and until one of those tasks throws an exception. // If a task throws an exception, `flush` ensures that its state will remain // consistent and will resume where it left off when called again. // However, `flush` does not make any arrangements to be called again if an // exception is thrown. function flush() { while (index < queue.length) { var currentIndex = index; // Advance the index before calling the task. This ensures that we will // begin flushing on the next task the task throws an error. index = index + 1; queue[currentIndex].call(); // Prevent leaking memory for long chains of recursive calls to `asap`. // If we call `asap` within tasks scheduled by `asap`, the queue will // grow, but to avoid an O(n) walk for every task we execute, we don't // shift tasks off the queue after they have been executed. // Instead, we periodically shift 1024 tasks off the queue. if (index > capacity) { // Manually shift all values starting at the index back to the // beginning of the queue. for (var scan = 0, newLength = queue.length - index; scan < newLength; scan++) { queue[scan] = queue[scan + index]; } queue.length -= index; index = 0; } } queue.length = 0; index = 0; } // `requestFlush` is implemented using a strategy based on data collected from // every available SauceLabs Selenium web driver worker at time of writing. // https://docs.google.com/spreadsheets/d/1mG-5UYGup5qxGdEMWkhP6BWCz053NUb2E1QoUTU16uA/edit#gid=783724593 // Safari 6 and 6.1 for desktop, iPad, and iPhone are the only browsers that // have WebKitMutationObserver but not un-prefixed MutationObserver. // Must use `global` or `self` instead of `window` to work in both frames and web // workers. `global` is a provision of Browserify, Mr, Mrs, or Mop. /* globals self */ var scope = typeof global !== 'undefined' ? global : self; var BrowserMutationObserver = scope.MutationObserver || scope.WebKitMutationObserver; // MutationObservers are desirable because they have high priority and work // reliably everywhere they are implemented. // They are implemented in all modern browsers. // // - Android 4-4.3 // - Chrome 26-34 // - Firefox 14-29 // - Internet Explorer 11 // - iPad Safari 6-7.1 // - iPhone Safari 7-7.1 // - Safari 6-7 if (typeof BrowserMutationObserver === 'function') { requestFlush = makeRequestCallFromMutationObserver(flush); // MessageChannels are desirable because they give direct access to the HTML // task queue, are implemented in Internet Explorer 10, Safari 5.0-1, and Opera // 11-12, and in web workers in many engines. // Although message channels yield to any queued rendering and IO tasks, they // would be better than imposing the 4ms delay of timers. // However, they do not work reliably in Internet Explorer or Safari. // Internet Explorer 10 is the only browser that has setImmediate but does // not have MutationObservers. // Although setImmediate yields to the browser's renderer, it would be // preferrable to falling back to setTimeout since it does not have // the minimum 4ms penalty. // Unfortunately there appears to be a bug in Internet Explorer 10 Mobile (and // Desktop to a lesser extent) that renders both setImmediate and // MessageChannel useless for the purposes of ASAP. // https://github.com/kriskowal/q/issues/396 // Timers are implemented universally. // We fall back to timers in workers in most engines, and in foreground // contexts in the following browsers. // However, note that even this simple case requires nuances to operate in a // broad spectrum of browsers. // // - Firefox 3-13 // - Internet Explorer 6-9 // - iPad Safari 4.3 // - Lynx 2.8.7 } else { requestFlush = makeRequestCallFromTimer(flush); } // `requestFlush` requests that the high priority event queue be flushed as // soon as possible. // This is useful to prevent an error thrown in a task from stalling the event // queue if the exception handled by Node.js’s // `process.on("uncaughtException")` or by a domain. rawAsap.requestFlush = requestFlush; // To request a high priority event, we induce a mutation observer by toggling // the text of a text node between "1" and "-1". function makeRequestCallFromMutationObserver(callback) { var toggle = 1; var observer = new BrowserMutationObserver(callback); var node = document.createTextNode(''); observer.observe(node, { characterData: true }); return function requestCall() { toggle = -toggle; node.data = toggle; }; } // The message channel technique was discovered by Malte Ubl and was the // original foundation for this library. // http://www.nonblocking.io/2011/06/windownexttick.html // Safari 6.0.5 (at least) intermittently fails to create message ports on a // page's first load. Thankfully, this version of Safari supports // MutationObservers, so we don't need to fall back in that case. // function makeRequestCallFromMessageChannel(callback) { // var channel = new MessageChannel(); // channel.port1.onmessage = callback; // return function requestCall() { // channel.port2.postMessage(0); // }; // } // For reasons explained above, we are also unable to use `setImmediate` // under any circumstances. // Even if we were, there is another bug in Internet Explorer 10. // It is not sufficient to assign `setImmediate` to `requestFlush` because // `setImmediate` must be called *by name* and therefore must be wrapped in a // closure. // Never forget. // function makeRequestCallFromSetImmediate(callback) { // return function requestCall() { // setImmediate(callback); // }; // } // Safari 6.0 has a problem where timers will get lost while the user is // scrolling. This problem does not impact ASAP because Safari 6.0 supports // mutation observers, so that implementation is used instead. // However, if we ever elect to use timers in Safari, the prevalent work-around // is to add a scroll event listener that calls for a flush. // `setTimeout` does not call the passed callback if the delay is less than // approximately 7 in web workers in Firefox 8 through 18, and sometimes not // even then. function makeRequestCallFromTimer(callback) { return function requestCall() { // We dispatch a timeout with a specified delay of 0 for engines that // can reliably accommodate that request. This will usually be snapped // to a 4 milisecond delay, but once we're flushing, there's no delay // between events. var timeoutHandle = setTimeout(handleTimer, 0); // However, since this timer gets frequently dropped in Firefox // workers, we enlist an interval handle that will try to fire // an event 20 times per second until it succeeds. var intervalHandle = setInterval(handleTimer, 50); function handleTimer() { // Whichever timer succeeds will cancel both timers and // execute the callback. clearTimeout(timeoutHandle); clearInterval(intervalHandle); callback(); } }; } // This is for `asap.js` only. // Its name will be periodically randomized to break any code that depends on // its existence. rawAsap.makeRequestCallFromTimer = makeRequestCallFromTimer; // ASAP was originally a nextTick shim included in Q. This was factored out // into this ASAP package. It was later adapted to RSVP which made further // amendments. These decisions, particularly to marginalize MessageChannel and // to capture the MutationObserver implementation in a closure, were integrated // back into ASAP proper. // https://github.com/tildeio/rsvp.js/blob/cddf7232546a9cf858524b75cde6f9edf72620a7/lib/rsvp/asap.js // RawTasks are recycled to reduce GC churn. var freeTasks = []; // We queue errors to ensure they are thrown in right order (FIFO). // Array-as-queue is good enough here, since we are just dealing with exceptions. var pendingErrors = []; var requestErrorThrow = rawAsap.makeRequestCallFromTimer(throwFirstError); function throwFirstError() { if (pendingErrors.length) { throw pendingErrors.shift(); } } /** * Calls a task as soon as possible after returning, in its own event, with priority * over other events like animation, reflow, and repaint. An error thrown from an * event will not interrupt, nor even substantially slow down the processing of * other events, but will be rather postponed to a lower priority event. * @param {{call}} task A callable object, typically a function that takes no * arguments. */ function asap(task) { var rawTask; if (freeTasks.length) { rawTask = freeTasks.pop(); } else { rawTask = new RawTask(); } rawTask.task = task; rawAsap(rawTask); } // We wrap tasks with recyclable task objects. A task object implements // `call`, just like a function. var RawTask = /** @class */ function () { function RawTask() {} RawTask.prototype.call = function () { try { this.task.call(); } catch (error) { if (asap.onerror) { // This hook exists purely for testing purposes. // Its name will be periodically randomized to break any code that // depends on its existence. asap.onerror(error); } else { // In a web browser, exceptions are not fatal. However, to avoid // slowing down the queue of pending tasks, we rethrow the error in a // lower priority turn. pendingErrors.push(error); requestErrorThrow(); } } finally { this.task = null; freeTasks[freeTasks.length] = this; } }; return RawTask; }(); function _classCallCheck$1(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties$1(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass$1(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties$1(Constructor.prototype, protoProps); if (staticProps) _defineProperties$1(Constructor, staticProps); return Constructor; } function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } function getNextHandlerId(role) { var id = getNextUniqueId().toString(); switch (role) { case HandlerRole.SOURCE: return "S".concat(id); case HandlerRole.TARGET: return "T".concat(id); default: throw new Error("Unknown Handler Role: ".concat(role)); } } function parseRoleFromHandlerId(handlerId) { switch (handlerId[0]) { case 'S': return HandlerRole.SOURCE; case 'T': return HandlerRole.TARGET; default: invariant(false, "Cannot parse handler ID: ".concat(handlerId)); } } function mapContainsValue(map, searchValue) { var entries = map.entries(); var isDone = false; do { var _entries$next = entries.next(), done = _entries$next.done, _entries$next$value = _slicedToArray(_entries$next.value, 2), value = _entries$next$value[1]; if (value === searchValue) { return true; } isDone = !!done; } while (!isDone); return false; } var HandlerRegistryImpl = /*#__PURE__*/function () { function HandlerRegistryImpl(store) { _classCallCheck$1(this, HandlerRegistryImpl); this.types = new Map(); this.dragSources = new Map(); this.dropTargets = new Map(); this.pinnedSourceId = null; this.pinnedSource = null; this.store = store; } _createClass$1(HandlerRegistryImpl, [{ key: "addSource", value: function addSource$1(type, source) { validateType(type); validateSourceContract(source); var sourceId = this.addHandler(HandlerRole.SOURCE, type, source); this.store.dispatch(addSource(sourceId)); return sourceId; } }, { key: "addTarget", value: function addTarget$1(type, target) { validateType(type, true); validateTargetContract(target); var targetId = this.addHandler(HandlerRole.TARGET, type, target); this.store.dispatch(addTarget(targetId)); return targetId; } }, { key: "containsHandler", value: function containsHandler(handler) { return mapContainsValue(this.dragSources, handler) || mapContainsValue(this.dropTargets, handler); } }, { key: "getSource", value: function getSource(sourceId) { var includePinned = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; invariant(this.isSourceId(sourceId), 'Expected a valid source ID.'); var isPinned = includePinned && sourceId === this.pinnedSourceId; var source = isPinned ? this.pinnedSource : this.dragSources.get(sourceId); return source; } }, { key: "getTarget", value: function getTarget(targetId) { invariant(this.isTargetId(targetId), 'Expected a valid target ID.'); return this.dropTargets.get(targetId); } }, { key: "getSourceType", value: function getSourceType(sourceId) { invariant(this.isSourceId(sourceId), 'Expected a valid source ID.'); return this.types.get(sourceId); } }, { key: "getTargetType", value: function getTargetType(targetId) { invariant(this.isTargetId(targetId), 'Expected a valid target ID.'); return this.types.get(targetId); } }, { key: "isSourceId", value: function isSourceId(handlerId) { var role = parseRoleFromHandlerId(handlerId); return role === HandlerRole.SOURCE; } }, { key: "isTargetId", value: function isTargetId(handlerId) { var role = parseRoleFromHandlerId(handlerId); return role === HandlerRole.TARGET; } }, { key: "removeSource", value: function removeSource$1(sourceId) { var _this = this; invariant(this.getSource(sourceId), 'Expected an existing source.'); this.store.dispatch(removeSource(sourceId)); asap(function () { _this.dragSources.delete(sourceId); _this.types.delete(sourceId); }); } }, { key: "removeTarget", value: function removeTarget$1(targetId) { invariant(this.getTarget(targetId), 'Expected an existing target.'); this.store.dispatch(removeTarget(targetId)); this.dropTargets.delete(targetId); this.types.delete(targetId); } }, { key: "pinSource", value: function pinSource(sourceId) { var source = this.getSource(sourceId); invariant(source, 'Expected an existing source.'); this.pinnedSourceId = sourceId; this.pinnedSource = source; } }, { key: "unpinSource", value: function unpinSource() { invariant(this.pinnedSource, 'No source is pinned at the time.'); this.pinnedSourceId = null; this.pinnedSource = null; } }, { key: "addHandler", value: function addHandler(role, type, handler) { var id = getNextHandlerId(role); this.types.set(id, type); if (role === HandlerRole.SOURCE) { this.dragSources.set(id, handler); } else if (role === HandlerRole.TARGET) { this.dropTargets.set(id, handler); } return id; } }]); return HandlerRegistryImpl; }(); function _classCallCheck$2(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties$2(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass$2(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties$2(Constructor.prototype, protoProps); if (staticProps) _defineProperties$2(Constructor, staticProps); return Constructor; } function makeStoreInstance(debugMode) { // TODO: if we ever make a react-native version of this, // we'll need to consider how to pull off dev-tooling var reduxDevTools = typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION__; return createStore(reduce$5, debugMode && reduxDevTools && reduxDevTools({ name: 'dnd-core', instanceId: 'dnd-core' })); } var DragDropManagerImpl = /*#__PURE__*/function () { function DragDropManagerImpl() { var _this = this; var debugMode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; _classCallCheck$2(this, DragDropManagerImpl); this.isSetUp = false; this.handleRefCountChange = function () { var shouldSetUp = _this.store.getState().refCount > 0; if (_this.backend) { if (shouldSetUp && !_this.isSetUp) { _this.backend.setup(); _this.isSetUp = true; } else if (!shouldSetUp && _this.isSetUp) { _this.backend.teardown(); _this.isSetUp = false; } } }; var store = makeStoreInstance(debugMode); this.store = store; this.monitor = new DragDropMonitorImpl(store, new HandlerRegistryImpl(store)); store.subscribe(this.handleRefCountChange); } _createClass$2(DragDropManagerImpl, [{ key: "receiveBackend", value: function receiveBackend(backend) { this.backend = backend; } }, { key: "getMonitor", value: function getMonitor() { return this.monitor; } }, { key: "getBackend", value: function getBackend() { return this.backend; } }, { key: "getRegistry", value: function getRegistry() { return this.monitor.registry; } }, { key: "getActions", value: function getActions() { /* eslint-disable-next-line @typescript-eslint/no-this-alias */ var manager = this; var dispatch = this.store.dispatch; function bindActionCreator(actionCreator) { return function () { for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } var action = actionCreator.apply(manager, args); if (typeof action !== 'undefined') { dispatch(action); } }; } var actions = createDragDropActions(this); return Object.keys(actions).reduce(function (boundActions, key) { var action = actions[key]; boundActions[key] = bindActionCreator(action); return boundActions; }, {}); } }, { key: "dispatch", value: function dispatch(action) { this.store.dispatch(action); } }]); return DragDropManagerImpl; }(); function createDragDropManager(backendFactory, globalContext, backendOptions, debugMode) { var manager = new DragDropManagerImpl(debugMode); var backend = backendFactory(manager, globalContext, backendOptions); manager.receiveBackend(backend); return manager; } /** * Create the React Context */ var DndContext = React.createContext({ dragDropManager: undefined }); /** * Creates the context object we're providing * @param backend * @param context */ function createDndContext(backend, context, options, debugMode) { return { dragDropManager: createDragDropManager(backend, context, options, debugMode) }; } function _slicedToArray$1(arr, i) { return _arrayWithHoles$1(arr) || _iterableToArrayLimit$1(arr, i) || _unsupportedIterableToArray$1(arr, i) || _nonIterableRest$1(); } function _nonIterableRest$1() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray$1(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$1(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$1(o, minLen); } function _arrayLikeToArray$1(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit$1(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles$1(arr) { if (Array.isArray(arr)) return arr; } function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } var refCount = 0; /** * A React component that provides the React-DnD context */ var DndProvider = React.memo(function (_ref) { var children = _ref.children, props = _objectWithoutProperties(_ref, ["children"]); var _getDndContextValue = getDndContextValue(props), _getDndContextValue2 = _slicedToArray$1(_getDndContextValue, 2), manager = _getDndContextValue2[0], isGlobalInstance = _getDndContextValue2[1]; // memoized from props /** * If the global context was used to store the DND context * then where theres no more references to it we should * clean it up to avoid memory leaks */ React.useEffect(function () { if (isGlobalInstance) { refCount++; } return function () { if (isGlobalInstance) { refCount--; if (refCount === 0) { var context = getGlobalContext(); context[instanceSymbol] = null; } } }; }, []); return React.createElement(DndContext.Provider, { value: manager }, children); }); DndProvider.displayName = 'DndProvider'; function getDndContextValue(props) { if ('manager' in props) { var _manager = { dragDropManager: props.manager }; return [_manager, false]; } var manager = createSingletonDndContext(props.backend, props.context, props.options, props.debugMode); var isGlobalInstance = !props.context; return [manager, isGlobalInstance]; } var instanceSymbol = Symbol.for('__REACT_DND_CONTEXT_INSTANCE__'); function createSingletonDndContext(backend) { var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getGlobalContext(); var options = arguments.length > 2 ? arguments[2] : undefined; var debugMode = arguments.length > 3 ? arguments[3] : undefined; var ctx = context; if (!ctx[instanceSymbol]) { ctx[instanceSymbol] = createDndContext(backend, context, options, debugMode); } return ctx[instanceSymbol]; } function getGlobalContext() { return typeof global !== 'undefined' ? global : window; } /* * A utility for rendering a drag preview image */ var DragPreviewImage = React.memo(function (_ref) { var connect = _ref.connect, src = _ref.src; React.useEffect(function () { if (typeof Image === 'undefined') return; var connected = false; var img = new Image(); img.src = src; img.onload = function () { connect(img); connected = true; }; return function () { if (connected) { connect(null); } }; }); return null; }); DragPreviewImage.displayName = 'DragPreviewImage'; var useIsomorphicLayoutEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect; function shallowEqual(objA, objB, compare, compareContext) { var compareResult = compare ? compare.call(compareContext, objA, objB) : void 0; if (compareResult !== void 0) { return !!compareResult; } if (objA === objB) { return true; } if (typeof objA !== 'object' || !objA || typeof objB !== 'object' || !objB) { return false; } var keysA = Object.keys(objA); var keysB = Object.keys(objB); if (keysA.length !== keysB.length) { return false; } var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB); // Test for A's keys different from B. for (var idx = 0; idx < keysA.length; idx++) { var key = keysA[idx]; if (!bHasOwnProperty(key)) { return false; } var valueA = objA[key]; var valueB = objB[key]; compareResult = compare ? compare.call(compareContext, valueA, valueB, key) : void 0; if (compareResult === false || compareResult === void 0 && valueA !== valueB) { return false; } } return true; } function _slicedToArray$2(arr, i) { return _arrayWithHoles$2(arr) || _iterableToArrayLimit$2(arr, i) || _unsupportedIterableToArray$2(arr, i) || _nonIterableRest$2(); } function _nonIterableRest$2() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray$2(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$2(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$2(o, minLen); } function _arrayLikeToArray$2(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit$2(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles$2(arr) { if (Array.isArray(arr)) return arr; } /** * * @param monitor The monitor to collect state from * @param collect The collecting function * @param onUpdate A method to invoke when updates occur */ function useCollector(monitor, collect, onUpdate) { var _useState = React.useState(function () { return collect(monitor); }), _useState2 = _slicedToArray$2(_useState, 2), collected = _useState2[0], setCollected = _useState2[1]; var updateCollected = React.useCallback(function () { var nextValue = collect(monitor); if (!shallowEqual(collected, nextValue)) { setCollected(nextValue); if (onUpdate) { onUpdate(); } } }, [collected, monitor, onUpdate]); // update the collected properties after the first render // and the components are attached to dnd-core useIsomorphicLayoutEffect(updateCollected, []); return [collected, updateCollected]; } function _slicedToArray$3(arr, i) { return _arrayWithHoles$3(arr) || _iterableToArrayLimit$3(arr, i) || _unsupportedIterableToArray$3(arr, i) || _nonIterableRest$3(); } function _nonIterableRest$3() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray$3(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$3(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$3(o, minLen); } function _arrayLikeToArray$3(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit$3(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles$3(arr) { if (Array.isArray(arr)) return arr; } function useMonitorOutput(monitor, collect, onCollect) { var _useCollector = useCollector(monitor, collect, onCollect), _useCollector2 = _slicedToArray$3(_useCollector, 2), collected = _useCollector2[0], updateCollected = _useCollector2[1]; useIsomorphicLayoutEffect(function subscribeToMonitorStateChange() { var handlerId = monitor.getHandlerId(); if (handlerId == null) { return undefined; } return monitor.subscribeToStateChange(updateCollected, { handlerIds: [handlerId] }); }, [monitor, updateCollected]); return collected; } function registerTarget(type, target, manager) { var registry = manager.getRegistry(); var targetId = registry.addTarget(type, target); return [targetId, function () { return registry.removeTarget(targetId); }]; } function registerSource(type, source, manager) { var registry = manager.getRegistry(); var sourceId = registry.addSource(type, source); return [sourceId, function () { return registry.removeSource(sourceId); }]; } /** * A hook to retrieve the DragDropManager from Context */ function useDragDropManager() { var _useContext = React.useContext(DndContext), dragDropManager = _useContext.dragDropManager; invariant(dragDropManager != null, 'Expected drag drop context'); return dragDropManager; } function _classCallCheck$3(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties$3(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass$3(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties$3(Constructor.prototype, protoProps); if (staticProps) _defineProperties$3(Constructor, staticProps); return Constructor; } var isCallingCanDrag = false; var isCallingIsDragging = false; var DragSourceMonitorImpl = /*#__PURE__*/function () { function DragSourceMonitorImpl(manager) { _classCallCheck$3(this, DragSourceMonitorImpl); this.sourceId = null; this.internalMonitor = manager.getMonitor(); } _createClass$3(DragSourceMonitorImpl, [{ key: "receiveHandlerId", value: function receiveHandlerId(sourceId) { this.sourceId = sourceId; } }, { key: "getHandlerId", value: function getHandlerId() { return this.sourceId; } }, { key: "canDrag", value: function canDrag() { invariant(!isCallingCanDrag, 'You may not call monitor.canDrag() inside your canDrag() implementation. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source-monitor'); try { isCallingCanDrag = true; return this.internalMonitor.canDragSource(this.sourceId); } finally { isCallingCanDrag = false; } } }, { key: "isDragging", value: function isDragging() { if (!this.sourceId) { return false; } invariant(!isCallingIsDragging, 'You may not call monitor.isDragging() inside your isDragging() implementation. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source-monitor'); try { isCallingIsDragging = true; return this.internalMonitor.isDraggingSource(this.sourceId); } finally { isCallingIsDragging = false; } } }, { key: "subscribeToStateChange", value: function subscribeToStateChange(listener, options) { return this.internalMonitor.subscribeToStateChange(listener, options); } }, { key: "isDraggingSource", value: function isDraggingSource(sourceId) { return this.internalMonitor.isDraggingSource(sourceId); } }, { key: "isOverTarget", value: function isOverTarget(targetId, options) { return this.internalMonitor.isOverTarget(targetId, options); } }, { key: "getTargetIds", value: function getTargetIds() { return this.internalMonitor.getTargetIds(); } }, { key: "isSourcePublic", value: function isSourcePublic() { return this.internalMonitor.isSourcePublic(); } }, { key: "getSourceId", value: function getSourceId() { return this.internalMonitor.getSourceId(); } }, { key: "subscribeToOffsetChange", value: function subscribeToOffsetChange(listener) { return this.internalMonitor.subscribeToOffsetChange(listener); } }, { key: "canDragSource", value: function canDragSource(sourceId) { return this.internalMonitor.canDragSource(sourceId); } }, { key: "canDropOnTarget", value: function canDropOnTarget(targetId) { return this.internalMonitor.canDropOnTarget(targetId); } }, { key: "getItemType", value: function getItemType() { return this.internalMonitor.getItemType(); } }, { key: "getItem", value: function getItem() { return this.internalMonitor.getItem(); } }, { key: "getDropResult", value: function getDropResult() { return this.internalMonitor.getDropResult(); } }, { key: "didDrop", value: function didDrop() { return this.internalMonitor.didDrop(); } }, { key: "getInitialClientOffset", value: function getInitialClientOffset() { return this.internalMonitor.getInitialClientOffset(); } }, { key: "getInitialSourceClientOffset", value: function getInitialSourceClientOffset() { return this.internalMonitor.getInitialSourceClientOffset(); } }, { key: "getSourceClientOffset", value: function getSourceClientOffset() { return this.internalMonitor.getSourceClientOffset(); } }, { key: "getClientOffset", value: function getClientOffset() { return this.internalMonitor.getClientOffset(); } }, { key: "getDifferenceFromInitialOffset", value: function getDifferenceFromInitialOffset() { return this.internalMonitor.getDifferenceFromInitialOffset(); } }]); return DragSourceMonitorImpl; }(); function setRef(ref, node) { if (typeof ref === 'function') { ref(node); } else { ref.current = node; } } function cloneWithRef(element, newRef) { var previousRef = element.ref; invariant(typeof previousRef !== 'string', 'Cannot connect React DnD to an element with an existing string ref. ' + 'Please convert it to use a callback ref instead, or wrap it into a <span> or <div>. ' + 'Read more: https://facebook.github.io/react/docs/more-about-refs.html#the-ref-callback-attribute'); if (!previousRef) { // When there is no ref on the element, use the new ref directly return React.cloneElement(element, { ref: newRef }); } else { return React.cloneElement(element, { ref: function ref(node) { setRef(previousRef, node); setRef(newRef, node); } }); } } function throwIfCompositeComponentElement(element) { // Custom components can no longer be wrapped directly in React DnD 2.0 // so that we don't need to depend on findDOMNode() from react-dom. if (typeof element.type === 'string') { return; } var displayName = element.type.displayName || element.type.name || 'the component'; throw new Error('Only native element nodes can now be passed to React DnD connectors.' + "You can either wrap ".concat(displayName, " into a <div>, or turn it into a ") + 'drag source or a drop target itself.'); } function wrapHookToRecognizeElement(hook) { return function () { var elementOrNode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; // When passed a node, call the hook straight away. if (!React.isValidElement(elementOrNode)) { var node = elementOrNode; hook(node, options); // return the node so it can be chained (e.g. when within callback refs // <div ref={node => connectDragSource(connectDropTarget(node))}/> return node; } // If passed a ReactElement, clone it and attach this function as a ref. // This helps us achieve a neat API where user doesn't even know that refs // are being used under the hood. var element = elementOrNode; throwIfCompositeComponentElement(element); // When no options are passed, use the hook directly var ref = options ? function (node) { return hook(node, options); } : hook; return cloneWithRef(element, ref); }; } function wrapConnectorHooks(hooks) { var wrappedHooks = {}; Object.keys(hooks).forEach(function (key) { var hook = hooks[key]; // ref objects should be passed straight through without wrapping if (key.endsWith('Ref')) { wrappedHooks[key] = hooks[key]; } else { var wrappedHook = wrapHookToRecognizeElement(hook); wrappedHooks[key] = function () { return wrappedHook; }; } }); return wrappedHooks; } function _typeof$2(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof$2 = function _typeof(obj) { return typeof obj; }; } else { _typeof$2 = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof$2(obj); } function isRef(obj) { return (// eslint-disable-next-line no-prototype-builtins obj !== null && _typeof$2(obj) === 'object' && Object.prototype.hasOwnProperty.call(obj, 'current') ); } function _classCallCheck$4(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties$4(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass$4(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties$4(Constructor.prototype, protoProps); if (staticProps) _defineProperties$4(Constructor, staticProps); return Constructor; } var SourceConnector = /*#__PURE__*/function () { function SourceConnector(backend) { var _this = this; _classCallCheck$4(this, SourceConnector); this.hooks = wrapConnectorHooks({ dragSource: function dragSource(node, options) { _this.clearDragSource(); _this.dragSourceOptions = options || null; if (isRef(node)) { _this.dragSourceRef = node; } else { _this.dragSourceNode = node; } _this.reconnectDragSource(); }, dragPreview: function dragPreview(node, options) { _this.clearDragPreview(); _this.dragPreviewOptions = options || null; if (isRef(node)) { _this.dragPreviewRef = node; } else { _this.dragPreviewNode = node; } _this.reconnectDragPreview(); } }); this.handlerId = null; // The drop target may either be attached via ref or connect function this.dragSourceRef = null; this.dragSourceOptionsInternal = null; // The drag preview may either be attached via ref or connect function this.dragPreviewRef = null; this.dragPreviewOptionsInternal = null; this.lastConnectedHandlerId = null; this.lastConnectedDragSource = null; this.lastConnectedDragSourceOptions = null; this.lastConnectedDragPreview = null; this.lastConnectedDragPreviewOptions = null; this.backend = backend; } _createClass$4(SourceConnector, [{ key: "receiveHandlerId", value: function receiveHandlerId(newHandlerId) { if (this.handlerId === newHandlerId) { return; } this.handlerId = newHandlerId; this.reconnect(); } }, { key: "reconnect", value: function reconnect() { this.reconnectDragSource(); this.reconnectDragPreview(); } }, { key: "reconnectDragSource", value: function reconnectDragSource() { var dragSource = this.dragSource; // if nothing has changed then don't resubscribe var didChange = this.didHandlerIdChange() || this.didConnectedDragSourceChange() || this.didDragSourceOptionsChange(); if (didChange) { this.disconnectDragSource(); } if (!this.handlerId) { return; } if (!dragSource) { this.lastConnectedDragSource = dragSource; return; } if (didChange) { this.lastConnectedHandlerId = this.handlerId; this.lastConnectedDragSource = dragSource; this.lastConnectedDragSourceOptions = this.dragSourceOptions; this.dragSourceUnsubscribe = this.backend.connectDragSource(this.handlerId, dragSource, this.dragSourceOptions); } } }, { key: "reconnectDragPreview", value: function reconnectDragPreview() { var dragPreview = this.dragPreview; // if nothing has changed then don't resubscribe var didChange = this.didHandlerIdChange() || this.didConnectedDragPreviewChange() || this.didDragPreviewOptionsChange(); if (didChange) { this.disconnectDragPreview(); } if (!this.handlerId) { return; } if (!dragPreview) { this.lastConnectedDragPreview = dragPreview; return; } if (didChange) { this.lastConnectedHandlerId = this.handlerId; this.lastConnectedDragPreview = dragPreview; this.lastConnectedDragPreviewOptions = this.dragPreviewOptions; this.dragPreviewUnsubscribe = this.backend.connectDragPreview(this.handlerId, dragPreview, this.dragPreviewOptions); } } }, { key: "didHandlerIdChange", value: function didHandlerIdChange() { return this.lastConnectedHandlerId !== this.handlerId; } }, { key: "didConnectedDragSourceChange", value: function didConnectedDragSourceChange() { return this.lastConnectedDragSource !== this.dragSource; } }, { key: "didConnectedDragPreviewChange", value: function didConnectedDragPreviewChange() { return this.lastConnectedDragPreview !== this.dragPreview; } }, { key: "didDragSourceOptionsChange", value: function didDragSourceOptionsChange() { return !shallowEqual(this.lastConnectedDragSourceOptions, this.dragSourceOptions); } }, { key: "didDragPreviewOptionsChange", value: function didDragPreviewOptionsChange() { return !shallowEqual(this.lastConnectedDragPreviewOptions, this.dragPreviewOptions); } }, { key: "disconnectDragSource", value: function disconnectDragSource() { if (this.dragSourceUnsubscribe) { this.dragSourceUnsubscribe(); this.dragSourceUnsubscribe = undefined; } } }, { key: "disconnectDragPreview", value: function disconnectDragPreview() { if (this.dragPreviewUnsubscribe) { this.dragPreviewUnsubscribe(); this.dragPreviewUnsubscribe = undefined; this.dragPreviewNode = null; this.dragPreviewRef = null; } } }, { key: "clearDragSource", value: function clearDragSource() { this.dragSourceNode = null; this.dragSourceRef = null; } }, { key: "clearDragPreview", value: function clearDragPreview() { this.dragPreviewNode = null; this.dragPreviewRef = null; } }, { key: "connectTarget", get: function get() { return this.dragSource; } }, { key: "dragSourceOptions", get: function get() { return this.dragSourceOptionsInternal; }, set: function set(options) { this.dragSourceOptionsInternal = options; } }, { key: "dragPreviewOptions", get: function get() { return this.dragPreviewOptionsInternal; }, set: function set(options) { this.dragPreviewOptionsInternal = options; } }, { key: "dragSource", get: function get() { return this.dragSourceNode || this.dragSourceRef && this.dragSourceRef.current; } }, { key: "dragPreview", get: function get() { return this.dragPreviewNode || this.dragPreviewRef && this.dragPreviewRef.current; } }]); return SourceConnector; }(); function _slicedToArray$4(arr, i) { return _arrayWithHoles$4(arr) || _iterableToArrayLimit$4(arr, i) || _unsupportedIterableToArray$4(arr, i) || _nonIterableRest$4(); } function _nonIterableRest$4() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray$4(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$4(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$4(o, minLen); } function _arrayLikeToArray$4(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit$4(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles$4(arr) { if (Array.isArray(arr)) return arr; } function _typeof$3(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof$3 = function _typeof(obj) { return typeof obj; }; } else { _typeof$3 = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof$3(obj); } function useDragSourceMonitor() { var manager = useDragDropManager(); var monitor = React.useMemo(function () { return new DragSourceMonitorImpl(manager); }, [manager]); var connector = React.useMemo(function () { return new SourceConnector(manager.getBackend()); }, [manager]); return [monitor, connector]; } function useDragHandler(spec, monitor, connector) { var manager = useDragDropManager(); var handler = React.useMemo(function () { return { beginDrag: function beginDrag() { var _spec$current = spec.current, begin = _spec$current.begin, item = _spec$current.item; if (begin) { var beginResult = begin(monitor); invariant(beginResult == null || _typeof$3(beginResult) === 'object', 'dragSpec.begin() must either return an object, undefined, or null'); return beginResult || item || {}; } return item || {}; }, canDrag: function canDrag() { if (typeof spec.current.canDrag === 'boolean') { return spec.current.canDrag; } else if (typeof spec.current.canDrag === 'function') { return spec.current.canDrag(monitor); } else { return true; } }, isDragging: function isDragging(globalMonitor, target) { var isDragging = spec.current.isDragging; return isDragging ? isDragging(monitor) : target === globalMonitor.getSourceId(); }, endDrag: function endDrag() { var end = spec.current.end; if (end) { end(monitor.getItem(), monitor); } connector.reconnect(); } }; }, []); useIsomorphicLayoutEffect(function registerHandler() { var _registerSource = registerSource(spec.current.item.type, handler, manager), _registerSource2 = _slicedToArray$4(_registerSource, 2), handlerId = _registerSource2[0], unregister = _registerSource2[1]; monitor.receiveHandlerId(handlerId); connector.receiveHandlerId(handlerId); return unregister; }, []); } function _slicedToArray$5(arr, i) { return _arrayWithHoles$5(arr) || _iterableToArrayLimit$5(arr, i) || _unsupportedIterableToArray$5(arr, i) || _nonIterableRest$5(); } function _nonIterableRest$5() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray$5(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$5(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$5(o, minLen); } function _arrayLikeToArray$5(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit$5(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles$5(arr) { if (Array.isArray(arr)) return arr; } /** * useDragSource hook * @param sourceSpec The drag source specification * */ function useDrag(spec) { var specRef = React.useRef(spec); specRef.current = spec; // TODO: wire options into createSourceConnector invariant(spec.item != null, 'item must be defined'); invariant(spec.item.type != null, 'item type must be defined'); var _useDragSourceMonitor = useDragSourceMonitor(), _useDragSourceMonitor2 = _slicedToArray$5(_useDragSourceMonitor, 2), monitor = _useDragSourceMonitor2[0], connector = _useDragSourceMonitor2[1]; useDragHandler(specRef, monitor, connector); var result = useMonitorOutput(monitor, specRef.current.collect || function () { return {}; }, function () { return connector.reconnect(); }); var connectDragSource = React.useMemo(function () { return connector.hooks.dragSource(); }, [connector]); var connectDragPreview = React.useMemo(function () { return connector.hooks.dragPreview(); }, [connector]); useIsomorphicLayoutEffect(function () { connector.dragSourceOptions = specRef.current.options || null; connector.reconnect(); }, [connector]); useIsomorphicLayoutEffect(function () { connector.dragPreviewOptions = specRef.current.previewOptions || null; connector.reconnect(); }, [connector]); return [result, connectDragSource, connectDragPreview]; } function _classCallCheck$5(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties$5(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass$5(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties$5(Constructor.prototype, protoProps); if (staticProps) _defineProperties$5(Constructor, staticProps); return Constructor; } var TargetConnector = /*#__PURE__*/function () { function TargetConnector(backend) { var _this = this; _classCallCheck$5(this, TargetConnector); this.hooks = wrapConnectorHooks({ dropTarget: function dropTarget(node, options) { _this.clearDropTarget(); _this.dropTargetOptions = options; if (isRef(node)) { _this.dropTargetRef = node; } else { _this.dropTargetNode = node; } _this.reconnect(); } }); this.handlerId = null; // The drop target may either be attached via ref or connect function this.dropTargetRef = null; this.dropTargetOptionsInternal = null; this.lastConnectedHandlerId = null; this.lastConnectedDropTarget = null; this.lastConnectedDropTargetOptions = null; this.backend = backend; } _createClass$5(TargetConnector, [{ key: "reconnect", value: function reconnect() { // if nothing has changed then don't resubscribe var didChange = this.didHandlerIdChange() || this.didDropTargetChange() || this.didOptionsChange(); if (didChange) { this.disconnectDropTarget(); } var dropTarget = this.dropTarget; if (!this.handlerId) { return; } if (!dropTarget) { this.lastConnectedDropTarget = dropTarget; return; } if (didChange) { this.lastConnectedHandlerId = this.handlerId; this.lastConnectedDropTarget = dropTarget; this.lastConnectedDropTargetOptions = this.dropTargetOptions; this.unsubscribeDropTarget = this.backend.connectDropTarget(this.handlerId, dropTarget, this.dropTargetOptions); } } }, { key: "receiveHandlerId", value: function receiveHandlerId(newHandlerId) { if (newHandlerId === this.handlerId) { return; } this.handlerId = newHandlerId; this.reconnect(); } }, { key: "didHandlerIdChange", value: function didHandlerIdChange() { return this.lastConnectedHandlerId !== this.handlerId; } }, { key: "didDropTargetChange", value: function didDropTargetChange() { return this.lastConnectedDropTarget !== this.dropTarget; } }, { key: "didOptionsChange", value: function didOptionsChange() { return !shallowEqual(this.lastConnectedDropTargetOptions, this.dropTargetOptions); } }, { key: "disconnectDropTarget", value: function disconnectDropTarget() { if (this.unsubscribeDropTarget) { this.unsubscribeDropTarget(); this.unsubscribeDropTarget = undefined; } } }, { key: "clearDropTarget", value: function clearDropTarget() { this.dropTargetRef = null; this.dropTargetNode = null; } }, { key: "connectTarget", get: function get() { return this.dropTarget; } }, { key: "dropTargetOptions", get: function get() { return this.dropTargetOptionsInternal; }, set: function set(options) { this.dropTargetOptionsInternal = options; } }, { key: "dropTarget", get: function get() { return this.dropTargetNode || this.dropTargetRef && this.dropTargetRef.current; } }]); return TargetConnector; }(); function _classCallCheck$6(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties$6(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass$6(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties$6(Constructor.prototype, protoProps); if (staticProps) _defineProperties$6(Constructor, staticProps); return Constructor; } var isCallingCanDrop = false; var DropTargetMonitorImpl = /*#__PURE__*/function () { function DropTargetMonitorImpl(manager) { _classCallCheck$6(this, DropTargetMonitorImpl); this.targetId = null; this.internalMonitor = manager.getMonitor(); } _createClass$6(DropTargetMonitorImpl, [{ key: "receiveHandlerId", value: function receiveHandlerId(targetId) { this.targetId = targetId; } }, { key: "getHandlerId", value: function getHandlerId() { return this.targetId; } }, { key: "subscribeToStateChange", value: function subscribeToStateChange(listener, options) { return this.internalMonitor.subscribeToStateChange(listener, options); } }, { key: "canDrop", value: function canDrop() { // Cut out early if the target id has not been set. This should prevent errors // where the user has an older version of dnd-core like in // https://github.com/react-dnd/react-dnd/issues/1310 if (!this.targetId) { return false; } invariant(!isCallingCanDrop, 'You may not call monitor.canDrop() inside your canDrop() implementation. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target-monitor'); try { isCallingCanDrop = true; return this.internalMonitor.canDropOnTarget(this.targetId); } finally { isCallingCanDrop = false; } } }, { key: "isOver", value: function isOver(options) { if (!this.targetId) { return false; } return this.internalMonitor.isOverTarget(this.targetId, options); } }, { key: "getItemType", value: function getItemType() { return this.internalMonitor.getItemType(); } }, { key: "getItem", value: function getItem() { return this.internalMonitor.getItem(); } }, { key: "getDropResult", value: function getDropResult() { return this.internalMonitor.getDropResult(); } }, { key: "didDrop", value: function didDrop() { return this.internalMonitor.didDrop(); } }, { key: "getInitialClientOffset", value: function getInitialClientOffset() { return this.internalMonitor.getInitialClientOffset(); } }, { key: "getInitialSourceClientOffset", value: function getInitialSourceClientOffset() { return this.internalMonitor.getInitialSourceClientOffset(); } }, { key: "getSourceClientOffset", value: function getSourceClientOffset() { return this.internalMonitor.getSourceClientOffset(); } }, { key: "getClientOffset", value: function getClientOffset() { return this.internalMonitor.getClientOffset(); } }, { key: "getDifferenceFromInitialOffset", value: function getDifferenceFromInitialOffset() { return this.internalMonitor.getDifferenceFromInitialOffset(); } }]); return DropTargetMonitorImpl; }(); function _slicedToArray$6(arr, i) { return _arrayWithHoles$6(arr) || _iterableToArrayLimit$6(arr, i) || _unsupportedIterableToArray$6(arr, i) || _nonIterableRest$6(); } function _nonIterableRest$6() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray$6(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$6(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$6(o, minLen); } function _arrayLikeToArray$6(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit$6(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles$6(arr) { if (Array.isArray(arr)) return arr; } function useDropTargetMonitor() { var manager = useDragDropManager(); var monitor = React.useMemo(function () { return new DropTargetMonitorImpl(manager); }, [manager]); var connector = React.useMemo(function () { return new TargetConnector(manager.getBackend()); }, [manager]); return [monitor, connector]; } function useDropHandler(spec, monitor, connector) { var manager = useDragDropManager(); var handler = React.useMemo(function () { return { canDrop: function canDrop() { var canDrop = spec.current.canDrop; return canDrop ? canDrop(monitor.getItem(), monitor) : true; }, hover: function hover() { var hover = spec.current.hover; if (hover) { hover(monitor.getItem(), monitor); } }, drop: function drop() { var drop = spec.current.drop; if (drop) { return drop(monitor.getItem(), monitor); } } }; }, [monitor]); useIsomorphicLayoutEffect(function registerHandler() { var _registerTarget = registerTarget(spec.current.accept, handler, manager), _registerTarget2 = _slicedToArray$6(_registerTarget, 2), handlerId = _registerTarget2[0], unregister = _registerTarget2[1]; monitor.receiveHandlerId(handlerId); connector.receiveHandlerId(handlerId); return unregister; }, [monitor, connector]); } function _slicedToArray$7(arr, i) { return _arrayWithHoles$7(arr) || _iterableToArrayLimit$7(arr, i) || _unsupportedIterableToArray$7(arr, i) || _nonIterableRest$7(); } function _nonIterableRest$7() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray$7(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$7(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$7(o, minLen); } function _arrayLikeToArray$7(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit$7(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles$7(arr) { if (Array.isArray(arr)) return arr; } /** * useDropTarget Hook * @param spec The drop target specification */ function useDrop(spec) { var specRef = React.useRef(spec); specRef.current = spec; invariant(spec.accept != null, 'accept must be defined'); var _useDropTargetMonitor = useDropTargetMonitor(), _useDropTargetMonitor2 = _slicedToArray$7(_useDropTargetMonitor, 2), monitor = _useDropTargetMonitor2[0], connector = _useDropTargetMonitor2[1]; useDropHandler(specRef, monitor, connector); var result = useMonitorOutput(monitor, specRef.current.collect || function () { return {}; }, function () { return connector.reconnect(); }); var connectDropTarget = React.useMemo(function () { return connector.hooks.dropTarget(); }, [connector]); useIsomorphicLayoutEffect(function () { connector.dropTargetOptions = spec.options || null; connector.reconnect(); }, [spec.options]); return [result, connectDropTarget]; } function _slicedToArray$8(arr, i) { return _arrayWithHoles$8(arr) || _iterableToArrayLimit$8(arr, i) || _unsupportedIterableToArray$8(arr, i) || _nonIterableRest$8(); } function _nonIterableRest$8() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray$8(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$8(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$8(o, minLen); } function _arrayLikeToArray$8(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit$8(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles$8(arr) { if (Array.isArray(arr)) return arr; } /** * useDragLayer Hook * @param collector The property collector */ function useDragLayer(collect) { var dragDropManager = useDragDropManager(); var monitor = dragDropManager.getMonitor(); var _useCollector = useCollector(monitor, collect), _useCollector2 = _slicedToArray$8(_useCollector, 2), collected = _useCollector2[0], updateCollected = _useCollector2[1]; React.useEffect(function () { return monitor.subscribeToOffsetChange(updateCollected); }); React.useEffect(function () { return monitor.subscribeToStateChange(updateCollected); }); return collected; } function _typeof$4(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof$4 = function _typeof(obj) { return typeof obj; }; } else { _typeof$4 = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof$4(obj); } // cheap lodash replacements function isFunction(input) { return typeof input === 'function'; } function noop() {// noop } function isObjectLike(input) { return _typeof$4(input) === 'object' && input !== null; } function isPlainObject$1(input) { if (!isObjectLike(input)) { return false; } if (Object.getPrototypeOf(input) === null) { return true; } var proto = input; while (Object.getPrototypeOf(proto) !== null) { proto = Object.getPrototypeOf(proto); } return Object.getPrototypeOf(input) === proto; } function getDecoratedComponent(instanceRef) { var currentRef = instanceRef.current; if (currentRef == null) { return null; } else if (currentRef.decoratedRef) { // go through the private field in decorateHandler to avoid the invariant hit return currentRef.decoratedRef.current; } else { return currentRef; } } function isClassComponent(Component) { return Component && Component.prototype && typeof Component.prototype.render === 'function'; } function isRefForwardingComponent(C) { var _item$$$typeof; var item = C; return (item === null || item === void 0 ? void 0 : (_item$$$typeof = item.$$typeof) === null || _item$$$typeof === void 0 ? void 0 : _item$$$typeof.toString()) === 'Symbol(react.forward_ref)'; } function isRefable(C) { return isClassComponent(C) || isRefForwardingComponent(C); } function checkDecoratorArguments(functionName, signature) { { for (var i = 0; i < (arguments.length <= 2 ? 0 : arguments.length - 2); i++) { var arg = i + 2 < 2 || arguments.length <= i + 2 ? undefined : arguments[i + 2]; if (arg && arg.prototype && arg.prototype.render) { // eslint-disable-next-line no-console console.error('You seem to be applying the arguments in the wrong order. ' + "It should be ".concat(functionName, "(").concat(signature, ")(Component), not the other way around. ") + 'Read more: http://react-dnd.github.io/react-dnd/docs/troubleshooting#you-seem-to-be-applying-the-arguments-in-the-wrong-order'); return; } } } } function createCommonjsModule(fn, basedir, module) { return module = { path: basedir, exports: {}, require: function (path, base) { return commonjsRequire(path, (base === undefined || base === null) ? module.path : base); } }, fn(module, module.exports), module.exports; } function commonjsRequire () { throw new Error('Dynamic requires are not currently supported by @rollup/plugin-commonjs'); } var reactIs_development = createCommonjsModule(function (module, exports) { { (function() { // The Symbol used to tag the ReactElement-like types. If there is no native Symbol // nor polyfill, then a plain number is used for performance. var hasSymbol = typeof Symbol === 'function' && Symbol.for; var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7; var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca; var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb; var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc; var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2; var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd; var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary // (unstable) APIs that have been removed. Can we remove the symbols? var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf; var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf; var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0; var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1; var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8; var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3; var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4; var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9; var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5; var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6; var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7; function isValidElementType(type) { return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill. type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE); } function typeOf(object) { if (typeof object === 'object' && object !== null) { var $$typeof = object.$$typeof; switch ($$typeof) { case REACT_ELEMENT_TYPE: var type = object.type; switch (type) { case REACT_ASYNC_MODE_TYPE: case REACT_CONCURRENT_MODE_TYPE: case REACT_FRAGMENT_TYPE: case REACT_PROFILER_TYPE: case REACT_STRICT_MODE_TYPE: case REACT_SUSPENSE_TYPE: return type; default: var $$typeofType = type && type.$$typeof; switch ($$typeofType) { case REACT_CONTEXT_TYPE: case REACT_FORWARD_REF_TYPE: case REACT_LAZY_TYPE: case REACT_MEMO_TYPE: case REACT_PROVIDER_TYPE: return $$typeofType; default: return $$typeof; } } case REACT_PORTAL_TYPE: return $$typeof; } } return undefined; } // AsyncMode is deprecated along with isAsyncMode var AsyncMode = REACT_ASYNC_MODE_TYPE; var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE; var ContextConsumer = REACT_CONTEXT_TYPE; var ContextProvider = REACT_PROVIDER_TYPE; var Element = REACT_ELEMENT_TYPE; var ForwardRef = REACT_FORWARD_REF_TYPE; var Fragment = REACT_FRAGMENT_TYPE; var Lazy = REACT_LAZY_TYPE; var Memo = REACT_MEMO_TYPE; var Portal = REACT_PORTAL_TYPE; var Profiler = REACT_PROFILER_TYPE; var StrictMode = REACT_STRICT_MODE_TYPE; var Suspense = REACT_SUSPENSE_TYPE; var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated function isAsyncMode(object) { { if (!hasWarnedAboutDeprecatedIsAsyncMode) { hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.'); } } return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE; } function isConcurrentMode(object) { return typeOf(object) === REACT_CONCURRENT_MODE_TYPE; } function isContextConsumer(object) { return typeOf(object) === REACT_CONTEXT_TYPE; } function isContextProvider(object) { return typeOf(object) === REACT_PROVIDER_TYPE; } function isElement(object) { return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE; } function isForwardRef(object) { return typeOf(object) === REACT_FORWARD_REF_TYPE; } function isFragment(object) { return typeOf(object) === REACT_FRAGMENT_TYPE; } function isLazy(object) { return typeOf(object) === REACT_LAZY_TYPE; } function isMemo(object) { return typeOf(object) === REACT_MEMO_TYPE; } function isPortal(object) { return typeOf(object) === REACT_PORTAL_TYPE; } function isProfiler(object) { return typeOf(object) === REACT_PROFILER_TYPE; } function isStrictMode(object) { return typeOf(object) === REACT_STRICT_MODE_TYPE; } function isSuspense(object) { return typeOf(object) === REACT_SUSPENSE_TYPE; } exports.AsyncMode = AsyncMode; exports.ConcurrentMode = ConcurrentMode; exports.ContextConsumer = ContextConsumer; exports.ContextProvider = ContextProvider; exports.Element = Element; exports.ForwardRef = ForwardRef; exports.Fragment = Fragment; exports.Lazy = Lazy; exports.Memo = Memo; exports.Portal = Portal; exports.Profiler = Profiler; exports.StrictMode = StrictMode; exports.Suspense = Suspense; exports.isAsyncMode = isAsyncMode; exports.isConcurrentMode = isConcurrentMode; exports.isContextConsumer = isContextConsumer; exports.isContextProvider = isContextProvider; exports.isElement = isElement; exports.isForwardRef = isForwardRef; exports.isFragment = isFragment; exports.isLazy = isLazy; exports.isMemo = isMemo; exports.isPortal = isPortal; exports.isProfiler = isProfiler; exports.isStrictMode = isStrictMode; exports.isSuspense = isSuspense; exports.isValidElementType = isValidElementType; exports.typeOf = typeOf; })(); } }); var reactIs_development_1 = reactIs_development.AsyncMode; var reactIs_development_2 = reactIs_development.ConcurrentMode; var reactIs_development_3 = reactIs_development.ContextConsumer; var reactIs_development_4 = reactIs_development.ContextProvider; var reactIs_development_5 = reactIs_development.Element; var reactIs_development_6 = reactIs_development.ForwardRef; var reactIs_development_7 = reactIs_development.Fragment; var reactIs_development_8 = reactIs_development.Lazy; var reactIs_development_9 = reactIs_development.Memo; var reactIs_development_10 = reactIs_development.Portal; var reactIs_development_11 = reactIs_development.Profiler; var reactIs_development_12 = reactIs_development.StrictMode; var reactIs_development_13 = reactIs_development.Suspense; var reactIs_development_14 = reactIs_development.isAsyncMode; var reactIs_development_15 = reactIs_development.isConcurrentMode; var reactIs_development_16 = reactIs_development.isContextConsumer; var reactIs_development_17 = reactIs_development.isContextProvider; var reactIs_development_18 = reactIs_development.isElement; var reactIs_development_19 = reactIs_development.isForwardRef; var reactIs_development_20 = reactIs_development.isFragment; var reactIs_development_21 = reactIs_development.isLazy; var reactIs_development_22 = reactIs_development.isMemo; var reactIs_development_23 = reactIs_development.isPortal; var reactIs_development_24 = reactIs_development.isProfiler; var reactIs_development_25 = reactIs_development.isStrictMode; var reactIs_development_26 = reactIs_development.isSuspense; var reactIs_development_27 = reactIs_development.isValidElementType; var reactIs_development_28 = reactIs_development.typeOf; var reactIs = createCommonjsModule(function (module) { { module.exports = reactIs_development; } }); /** * Copyright 2015, Yahoo! Inc. * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms. */ var REACT_STATICS = { childContextTypes: true, contextType: true, contextTypes: true, defaultProps: true, displayName: true, getDefaultProps: true, getDerivedStateFromError: true, getDerivedStateFromProps: true, mixins: true, propTypes: true, type: true }; var KNOWN_STATICS = { name: true, length: true, prototype: true, caller: true, callee: true, arguments: true, arity: true }; var FORWARD_REF_STATICS = { '$$typeof': true, render: true, defaultProps: true, displayName: true, propTypes: true }; var MEMO_STATICS = { '$$typeof': true, compare: true, defaultProps: true, displayName: true, propTypes: true, type: true }; var TYPE_STATICS = {}; TYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS; TYPE_STATICS[reactIs.Memo] = MEMO_STATICS; function getStatics(component) { // React v16.11 and below if (reactIs.isMemo(component)) { return MEMO_STATICS; } // React v16.12 and above return TYPE_STATICS[component['$$typeof']] || REACT_STATICS; } var defineProperty = Object.defineProperty; var getOwnPropertyNames = Object.getOwnPropertyNames; var getOwnPropertySymbols = Object.getOwnPropertySymbols; var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; var getPrototypeOf = Object.getPrototypeOf; var objectPrototype = Object.prototype; function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) { if (typeof sourceComponent !== 'string') { // don't hoist over string (html) components if (objectPrototype) { var inheritedComponent = getPrototypeOf(sourceComponent); if (inheritedComponent && inheritedComponent !== objectPrototype) { hoistNonReactStatics(targetComponent, inheritedComponent, blacklist); } } var keys = getOwnPropertyNames(sourceComponent); if (getOwnPropertySymbols) { keys = keys.concat(getOwnPropertySymbols(sourceComponent)); } var targetStatics = getStatics(targetComponent); var sourceStatics = getStatics(sourceComponent); for (var i = 0; i < keys.length; ++i) { var key = keys[i]; if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) { var descriptor = getOwnPropertyDescriptor(sourceComponent, key); try { // Avoid failures from read-only properties defineProperty(targetComponent, key, descriptor); } catch (e) {} } } } return targetComponent; } var hoistNonReactStatics_cjs = hoistNonReactStatics; function _classCallCheck$7(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties$7(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass$7(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties$7(Constructor.prototype, protoProps); if (staticProps) _defineProperties$7(Constructor, staticProps); return Constructor; } /** * Provides a set of static methods for creating Disposables. * @param {Function} action Action to run during the first call to dispose. * The action is guaranteed to be run at most once. */ var Disposable = /** @class */ function () { var Disposable = /*#__PURE__*/function () { function Disposable(action) { _classCallCheck$7(this, Disposable); this.isDisposed = false; this.action = isFunction(action) ? action : noop; } /** * Validates whether the given object is a disposable * @param {Object} Object to test whether it has a dispose method * @returns {Boolean} true if a disposable object, else false. */ _createClass$7(Disposable, [{ key: "dispose", /** Performs the task of cleaning up resources. */ value: function dispose() { if (!this.isDisposed) { this.action(); this.isDisposed = true; } } }], [{ key: "isDisposable", value: function isDisposable(d) { return Boolean(d && isFunction(d.dispose)); } }, { key: "_fixup", value: function _fixup(result) { return Disposable.isDisposable(result) ? result : Disposable.empty; } /** * Creates a disposable object that invokes the specified action when disposed. * @param {Function} dispose Action to run during the first call to dispose. * The action is guaranteed to be run at most once. * @return {Disposable} The disposable object that runs the given action upon disposal. */ }, { key: "create", value: function create(action) { return new Disposable(action); } }]); return Disposable; }(); /** * Gets the disposable that does nothing when disposed. */ Disposable.empty = { dispose: noop }; return Disposable; }(); /** * Represents a group of disposable resources that are disposed together. * @constructor */ var CompositeDisposable = /*#__PURE__*/function () { function CompositeDisposable() { _classCallCheck$7(this, CompositeDisposable); this.isDisposed = false; for (var _len = arguments.length, disposables = new Array(_len), _key = 0; _key < _len; _key++) { disposables[_key] = arguments[_key]; } this.disposables = disposables; } /** * Adds a disposable to the CompositeDisposable or disposes the disposable if the CompositeDisposable is disposed. * @param {Any} item Disposable to add. */ _createClass$7(CompositeDisposable, [{ key: "add", value: function add(item) { if (this.isDisposed) { item.dispose(); } else { this.disposables.push(item); } } /** * Removes and disposes the first occurrence of a disposable from the CompositeDisposable. * @param {Any} item Disposable to remove. * @returns {Boolean} true if found; false otherwise. */ }, { key: "remove", value: function remove(item) { var shouldDispose = false; if (!this.isDisposed) { var idx = this.disposables.indexOf(item); if (idx !== -1) { shouldDispose = true; this.disposables.splice(idx, 1); item.dispose(); } } return shouldDispose; } /** * Disposes all disposables in the group and removes them from the group but * does not dispose the CompositeDisposable. */ }, { key: "clear", value: function clear() { if (!this.isDisposed) { var len = this.disposables.length; var currentDisposables = new Array(len); for (var i = 0; i < len; i++) { currentDisposables[i] = this.disposables[i]; } this.disposables = []; for (var _i = 0; _i < len; _i++) { currentDisposables[_i].dispose(); } } } /** * Disposes all disposables in the group and removes them from the group. */ }, { key: "dispose", value: function dispose() { if (!this.isDisposed) { this.isDisposed = true; var len = this.disposables.length; var currentDisposables = new Array(len); for (var i = 0; i < len; i++) { currentDisposables[i] = this.disposables[i]; } this.disposables = []; for (var _i2 = 0; _i2 < len; _i2++) { currentDisposables[_i2].dispose(); } } } }]); return CompositeDisposable; }(); /** * Represents a disposable resource whose underlying disposable resource can * be replaced by another disposable resource, causing automatic disposal of * the previous underlying disposable resource. */ var SerialDisposable = /*#__PURE__*/function () { function SerialDisposable() { _classCallCheck$7(this, SerialDisposable); this.isDisposed = false; } /** * Gets the underlying disposable. * @returns {Any} the underlying disposable. */ _createClass$7(SerialDisposable, [{ key: "getDisposable", value: function getDisposable() { return this.current; } }, { key: "setDisposable", value: function setDisposable(value) { var shouldDispose = this.isDisposed; if (!shouldDispose) { var old = this.current; this.current = value; if (old) { old.dispose(); } } if (shouldDispose && value) { value.dispose(); } } /** Performs the task of cleaning up resources. */ }, { key: "dispose", value: function dispose() { if (!this.isDisposed) { this.isDisposed = true; var old = this.current; this.current = undefined; if (old) { old.dispose(); } } } }]); return SerialDisposable; }(); function _typeof$5(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof$5 = function _typeof(obj) { return typeof obj; }; } else { _typeof$5 = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof$5(obj); } function _slicedToArray$9(arr, i) { return _arrayWithHoles$9(arr) || _iterableToArrayLimit$9(arr, i) || _unsupportedIterableToArray$9(arr, i) || _nonIterableRest$9(); } function _nonIterableRest$9() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray$9(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$9(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$9(o, minLen); } function _arrayLikeToArray$9(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit$9(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles$9(arr) { if (Array.isArray(arr)) return arr; } function _classCallCheck$8(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties$8(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass$8(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties$8(Constructor.prototype, protoProps); if (staticProps) _defineProperties$8(Constructor, staticProps); return Constructor; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } function _possibleConstructorReturn(self, call) { if (call && (_typeof$5(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } function decorateHandler(_ref) { var DecoratedComponent = _ref.DecoratedComponent, createHandler = _ref.createHandler, createMonitor = _ref.createMonitor, createConnector = _ref.createConnector, registerHandler = _ref.registerHandler, containerDisplayName = _ref.containerDisplayName, getType = _ref.getType, collect = _ref.collect, options = _ref.options; var _options$arePropsEqua = options.arePropsEqual, arePropsEqual = _options$arePropsEqua === void 0 ? shallowEqual : _options$arePropsEqua; var Decorated = DecoratedComponent; var displayName = DecoratedComponent.displayName || DecoratedComponent.name || 'Component'; var DragDropContainer = /** @class */ function () { var DragDropContainer = /*#__PURE__*/function (_React$Component) { _inherits(DragDropContainer, _React$Component); var _super = _createSuper(DragDropContainer); function DragDropContainer(props) { var _this; _classCallCheck$8(this, DragDropContainer); _this = _super.call(this, props); _this.decoratedRef = React.createRef(); _this.handleChange = function () { var nextState = _this.getCurrentState(); if (!shallowEqual(nextState, _this.state)) { _this.setState(nextState); } }; _this.disposable = new SerialDisposable(); _this.receiveProps(props); _this.dispose(); return _this; } _createClass$8(DragDropContainer, [{ key: "getHandlerId", value: function getHandlerId() { return this.handlerId; } }, { key: "getDecoratedComponentInstance", value: function getDecoratedComponentInstance() { invariant(this.decoratedRef.current, 'In order to access an instance of the decorated component, it must either be a class component or use React.forwardRef()'); return this.decoratedRef.current; } }, { key: "shouldComponentUpdate", value: function shouldComponentUpdate(nextProps, nextState) { return !arePropsEqual(nextProps, this.props) || !shallowEqual(nextState, this.state); } }, { key: "componentDidMount", value: function componentDidMount() { this.disposable = new SerialDisposable(); this.currentType = undefined; this.receiveProps(this.props); this.handleChange(); } }, { key: "componentDidUpdate", value: function componentDidUpdate(prevProps) { if (!arePropsEqual(this.props, prevProps)) { this.receiveProps(this.props); this.handleChange(); } } }, { key: "componentWillUnmount", value: function componentWillUnmount() { this.dispose(); } }, { key: "receiveProps", value: function receiveProps(props) { if (!this.handler) { return; } this.handler.receiveProps(props); this.receiveType(getType(props)); } }, { key: "receiveType", value: function receiveType(type) { if (!this.handlerMonitor || !this.manager || !this.handlerConnector) { return; } if (type === this.currentType) { return; } this.currentType = type; var _registerHandler = registerHandler(type, this.handler, this.manager), _registerHandler2 = _slicedToArray$9(_registerHandler, 2), handlerId = _registerHandler2[0], unregister = _registerHandler2[1]; this.handlerId = handlerId; this.handlerMonitor.receiveHandlerId(handlerId); this.handlerConnector.receiveHandlerId(handlerId); var globalMonitor = this.manager.getMonitor(); var unsubscribe = globalMonitor.subscribeToStateChange(this.handleChange, { handlerIds: [handlerId] }); this.disposable.setDisposable(new CompositeDisposable(new Disposable(unsubscribe), new Disposable(unregister))); } }, { key: "dispose", value: function dispose() { this.disposable.dispose(); if (this.handlerConnector) { this.handlerConnector.receiveHandlerId(null); } } }, { key: "getCurrentState", value: function getCurrentState() { if (!this.handlerConnector) { return {}; } var nextState = collect(this.handlerConnector.hooks, this.handlerMonitor, this.props); { invariant(isPlainObject$1(nextState), 'Expected `collect` specified as the second argument to ' + '%s for %s to return a plain object of props to inject. ' + 'Instead, received %s.', containerDisplayName, displayName, nextState); } return nextState; } }, { key: "render", value: function render() { var _this2 = this; return React.createElement(DndContext.Consumer, null, function (_ref2) { var dragDropManager = _ref2.dragDropManager; _this2.receiveDragDropManager(dragDropManager); if (typeof requestAnimationFrame !== 'undefined') { requestAnimationFrame(function () { var _this2$handlerConnect; return (_this2$handlerConnect = _this2.handlerConnector) === null || _this2$handlerConnect === void 0 ? void 0 : _this2$handlerConnect.reconnect(); }); } return React.createElement(Decorated, Object.assign({}, _this2.props, _this2.getCurrentState(), { // NOTE: if Decorated is a Function Component, decoratedRef will not be populated unless it's a refforwarding component. ref: isRefable(Decorated) ? _this2.decoratedRef : null })); }); } }, { key: "receiveDragDropManager", value: function receiveDragDropManager(dragDropManager) { if (this.manager !== undefined) { return; } invariant(dragDropManager !== undefined, 'Could not find the drag and drop manager in the context of %s. ' + 'Make sure to render a DndProvider component in your top-level component. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/troubleshooting#could-not-find-the-drag-and-drop-manager-in-the-context', displayName, displayName); if (dragDropManager === undefined) { return; } this.manager = dragDropManager; this.handlerMonitor = createMonitor(dragDropManager); this.handlerConnector = createConnector(dragDropManager.getBackend()); this.handler = createHandler(this.handlerMonitor, this.decoratedRef); } }]); return DragDropContainer; }(React.Component); DragDropContainer.DecoratedComponent = DecoratedComponent; DragDropContainer.displayName = "".concat(containerDisplayName, "(").concat(displayName, ")"); return DragDropContainer; }(); return hoistNonReactStatics_cjs(DragDropContainer, DecoratedComponent); } function _typeof$6(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof$6 = function _typeof(obj) { return typeof obj; }; } else { _typeof$6 = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof$6(obj); } function isValidType(type, allowArray) { return typeof type === 'string' || _typeof$6(type) === 'symbol' || !!allowArray && Array.isArray(type) && type.every(function (t) { return isValidType(t, false); }); } function _classCallCheck$9(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties$9(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass$9(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties$9(Constructor.prototype, protoProps); if (staticProps) _defineProperties$9(Constructor, staticProps); return Constructor; } var ALLOWED_SPEC_METHODS = ['canDrag', 'beginDrag', 'isDragging', 'endDrag']; var REQUIRED_SPEC_METHODS = ['beginDrag']; var SourceImpl = /*#__PURE__*/function () { function SourceImpl(spec, monitor, ref) { var _this = this; _classCallCheck$9(this, SourceImpl); this.props = null; this.beginDrag = function () { if (!_this.props) { return; } var item = _this.spec.beginDrag(_this.props, _this.monitor, _this.ref.current); { invariant(isPlainObject$1(item), 'beginDrag() must return a plain object that represents the dragged item. ' + 'Instead received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source', item); } return item; }; this.spec = spec; this.monitor = monitor; this.ref = ref; } _createClass$9(SourceImpl, [{ key: "receiveProps", value: function receiveProps(props) { this.props = props; } }, { key: "canDrag", value: function canDrag() { if (!this.props) { return false; } if (!this.spec.canDrag) { return true; } return this.spec.canDrag(this.props, this.monitor); } }, { key: "isDragging", value: function isDragging(globalMonitor, sourceId) { if (!this.props) { return false; } if (!this.spec.isDragging) { return sourceId === globalMonitor.getSourceId(); } return this.spec.isDragging(this.props, this.monitor); } }, { key: "endDrag", value: function endDrag() { if (!this.props) { return; } if (!this.spec.endDrag) { return; } this.spec.endDrag(this.props, this.monitor, getDecoratedComponent(this.ref)); } }]); return SourceImpl; }(); function createSourceFactory(spec) { Object.keys(spec).forEach(function (key) { invariant(ALLOWED_SPEC_METHODS.indexOf(key) > -1, 'Expected the drag source specification to only have ' + 'some of the following keys: %s. ' + 'Instead received a specification with an unexpected "%s" key. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source', ALLOWED_SPEC_METHODS.join(', '), key); invariant(typeof spec[key] === 'function', 'Expected %s in the drag source specification to be a function. ' + 'Instead received a specification with %s: %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source', key, key, spec[key]); }); REQUIRED_SPEC_METHODS.forEach(function (key) { invariant(typeof spec[key] === 'function', 'Expected %s in the drag source specification to be a function. ' + 'Instead received a specification with %s: %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source', key, key, spec[key]); }); return function createSource(monitor, ref) { return new SourceImpl(spec, monitor, ref); }; } /** * Decorates a component as a dragsource * @param type The dragsource type * @param spec The drag source specification * @param collect The props collector function * @param options DnD options */ function DragSource(type, spec, collect) { var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; checkDecoratorArguments('DragSource', 'type, spec, collect[, options]', type, spec, collect, options); var getType = type; if (typeof type !== 'function') { invariant(isValidType(type), 'Expected "type" provided as the first argument to DragSource to be ' + 'a string, or a function that returns a string given the current props. ' + 'Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source', type); getType = function getType() { return type; }; } invariant(isPlainObject$1(spec), 'Expected "spec" provided as the second argument to DragSource to be ' + 'a plain object. Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source', spec); var createSource = createSourceFactory(spec); invariant(typeof collect === 'function', 'Expected "collect" provided as the third argument to DragSource to be ' + 'a function that returns a plain object of props to inject. ' + 'Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source', collect); invariant(isPlainObject$1(options), 'Expected "options" provided as the fourth argument to DragSource to be ' + 'a plain object when specified. ' + 'Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source', collect); return function decorateSource(DecoratedComponent) { return decorateHandler({ containerDisplayName: 'DragSource', createHandler: createSource, registerHandler: registerSource, createConnector: function createConnector(backend) { return new SourceConnector(backend); }, createMonitor: function createMonitor(manager) { return new DragSourceMonitorImpl(manager); }, DecoratedComponent: DecoratedComponent, getType: getType, collect: collect, options: options }); }; } function _classCallCheck$a(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties$a(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass$a(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties$a(Constructor.prototype, protoProps); if (staticProps) _defineProperties$a(Constructor, staticProps); return Constructor; } var ALLOWED_SPEC_METHODS$1 = ['canDrop', 'hover', 'drop']; var TargetImpl = /*#__PURE__*/function () { function TargetImpl(spec, monitor, ref) { _classCallCheck$a(this, TargetImpl); this.props = null; this.spec = spec; this.monitor = monitor; this.ref = ref; } _createClass$a(TargetImpl, [{ key: "receiveProps", value: function receiveProps(props) { this.props = props; } }, { key: "receiveMonitor", value: function receiveMonitor(monitor) { this.monitor = monitor; } }, { key: "canDrop", value: function canDrop() { if (!this.spec.canDrop) { return true; } return this.spec.canDrop(this.props, this.monitor); } }, { key: "hover", value: function hover() { if (!this.spec.hover || !this.props) { return; } this.spec.hover(this.props, this.monitor, getDecoratedComponent(this.ref)); } }, { key: "drop", value: function drop() { if (!this.spec.drop) { return undefined; } var dropResult = this.spec.drop(this.props, this.monitor, this.ref.current); { invariant(typeof dropResult === 'undefined' || isPlainObject$1(dropResult), 'drop() must either return undefined, or an object that represents the drop result. ' + 'Instead received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target', dropResult); } return dropResult; } }]); return TargetImpl; }(); function createTargetFactory(spec) { Object.keys(spec).forEach(function (key) { invariant(ALLOWED_SPEC_METHODS$1.indexOf(key) > -1, 'Expected the drop target specification to only have ' + 'some of the following keys: %s. ' + 'Instead received a specification with an unexpected "%s" key. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target', ALLOWED_SPEC_METHODS$1.join(', '), key); invariant(typeof spec[key] === 'function', 'Expected %s in the drop target specification to be a function. ' + 'Instead received a specification with %s: %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target', key, key, spec[key]); }); return function createTarget(monitor, ref) { return new TargetImpl(spec, monitor, ref); }; } function DropTarget(type, spec, collect) { var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; checkDecoratorArguments('DropTarget', 'type, spec, collect[, options]', type, spec, collect, options); var getType = type; if (typeof type !== 'function') { invariant(isValidType(type, true), 'Expected "type" provided as the first argument to DropTarget to be ' + 'a string, an array of strings, or a function that returns either given ' + 'the current props. Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target', type); getType = function getType() { return type; }; } invariant(isPlainObject$1(spec), 'Expected "spec" provided as the second argument to DropTarget to be ' + 'a plain object. Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target', spec); var createTarget = createTargetFactory(spec); invariant(typeof collect === 'function', 'Expected "collect" provided as the third argument to DropTarget to be ' + 'a function that returns a plain object of props to inject. ' + 'Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target', collect); invariant(isPlainObject$1(options), 'Expected "options" provided as the fourth argument to DropTarget to be ' + 'a plain object when specified. ' + 'Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target', collect); return function decorateTarget(DecoratedComponent) { return decorateHandler({ containerDisplayName: 'DropTarget', createHandler: createTarget, registerHandler: registerTarget, createMonitor: function createMonitor(manager) { return new DropTargetMonitorImpl(manager); }, createConnector: function createConnector(backend) { return new TargetConnector(backend); }, DecoratedComponent: DecoratedComponent, getType: getType, collect: collect, options: options }); }; } function _typeof$7(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof$7 = function _typeof(obj) { return typeof obj; }; } else { _typeof$7 = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof$7(obj); } function _classCallCheck$b(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties$b(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass$b(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties$b(Constructor.prototype, protoProps); if (staticProps) _defineProperties$b(Constructor, staticProps); return Constructor; } function _inherits$1(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf$1(subClass, superClass); } function _setPrototypeOf$1(o, p) { _setPrototypeOf$1 = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf$1(o, p); } function _createSuper$1(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$1(); return function _createSuperInternal() { var Super = _getPrototypeOf$1(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf$1(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn$1(this, result); }; } function _possibleConstructorReturn$1(self, call) { if (call && (_typeof$7(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized$1(self); } function _assertThisInitialized$1(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function _isNativeReflectConstruct$1() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } function _getPrototypeOf$1(o) { _getPrototypeOf$1 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf$1(o); } function DragLayer(collect) { var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; checkDecoratorArguments('DragLayer', 'collect[, options]', collect, options); invariant(typeof collect === 'function', 'Expected "collect" provided as the first argument to DragLayer to be a function that collects props to inject into the component. ', 'Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-layer', collect); invariant(isPlainObject$1(options), 'Expected "options" provided as the second argument to DragLayer to be a plain object when specified. ' + 'Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-layer', options); return function decorateLayer(DecoratedComponent) { var Decorated = DecoratedComponent; var _options$arePropsEqua = options.arePropsEqual, arePropsEqual = _options$arePropsEqua === void 0 ? shallowEqual : _options$arePropsEqua; var displayName = Decorated.displayName || Decorated.name || 'Component'; var DragLayerContainer = /** @class */ function () { var DragLayerContainer = /*#__PURE__*/function (_React$Component) { _inherits$1(DragLayerContainer, _React$Component); var _super = _createSuper$1(DragLayerContainer); function DragLayerContainer() { var _this; _classCallCheck$b(this, DragLayerContainer); _this = _super.apply(this, arguments); _this.isCurrentlyMounted = false; _this.ref = React.createRef(); _this.handleChange = function () { if (!_this.isCurrentlyMounted) { return; } var nextState = _this.getCurrentState(); if (!shallowEqual(nextState, _this.state)) { _this.setState(nextState); } }; return _this; } _createClass$b(DragLayerContainer, [{ key: "getDecoratedComponentInstance", value: function getDecoratedComponentInstance() { invariant(this.ref.current, 'In order to access an instance of the decorated component, it must either be a class component or use React.forwardRef()'); return this.ref.current; } }, { key: "shouldComponentUpdate", value: function shouldComponentUpdate(nextProps, nextState) { return !arePropsEqual(nextProps, this.props) || !shallowEqual(nextState, this.state); } }, { key: "componentDidMount", value: function componentDidMount() { this.isCurrentlyMounted = true; this.handleChange(); } }, { key: "componentWillUnmount", value: function componentWillUnmount() { this.isCurrentlyMounted = false; if (this.unsubscribeFromOffsetChange) { this.unsubscribeFromOffsetChange(); this.unsubscribeFromOffsetChange = undefined; } if (this.unsubscribeFromStateChange) { this.unsubscribeFromStateChange(); this.unsubscribeFromStateChange = undefined; } } }, { key: "render", value: function render() { var _this2 = this; return React.createElement(DndContext.Consumer, null, function (_ref) { var dragDropManager = _ref.dragDropManager; if (dragDropManager === undefined) { return null; } _this2.receiveDragDropManager(dragDropManager); // Let componentDidMount fire to initialize the collected state if (!_this2.isCurrentlyMounted) { return null; } return React.createElement(Decorated, Object.assign({}, _this2.props, _this2.state, { ref: isRefable(Decorated) ? _this2.ref : null })); }); } }, { key: "receiveDragDropManager", value: function receiveDragDropManager(dragDropManager) { if (this.manager !== undefined) { return; } this.manager = dragDropManager; invariant(_typeof$7(dragDropManager) === 'object', 'Could not find the drag and drop manager in the context of %s. ' + 'Make sure to render a DndProvider component in your top-level component. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/troubleshooting#could-not-find-the-drag-and-drop-manager-in-the-context', displayName, displayName); var monitor = this.manager.getMonitor(); this.unsubscribeFromOffsetChange = monitor.subscribeToOffsetChange(this.handleChange); this.unsubscribeFromStateChange = monitor.subscribeToStateChange(this.handleChange); } }, { key: "getCurrentState", value: function getCurrentState() { if (!this.manager) { return {}; } var monitor = this.manager.getMonitor(); return collect(monitor, this.props); } }]); return DragLayerContainer; }(React.Component); DragLayerContainer.displayName = "DragLayer(".concat(displayName, ")"); DragLayerContainer.DecoratedComponent = DecoratedComponent; return DragLayerContainer; }(); return hoistNonReactStatics_cjs(DragLayerContainer, DecoratedComponent); }; } exports.DndContext = DndContext; exports.DndProvider = DndProvider; exports.DragLayer = DragLayer; exports.DragPreviewImage = DragPreviewImage; exports.DragSource = DragSource; exports.DropTarget = DropTarget; exports.createDndContext = createDndContext; exports.useDrag = useDrag; exports.useDragDropManager = useDragDropManager; exports.useDragLayer = useDragLayer; exports.useDrop = useDrop; Object.defineProperty(exports, '__esModule', { value: true }); }))); PK]x�\Bh�iumd/ReactDnD.min.jsnu�[���!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react")):"function"==typeof define&&define.amd?define(["exports","react"],t):t((e=e||self).ReactDnD={},e.React)}(this,(function(e,t){"use strict";var r;!function(e){e.SOURCE="SOURCE",e.TARGET="TARGET"}(r||(r={}));var n=function(e){var t,r=e.Symbol;return"function"==typeof r?r.observable?t=r.observable:(t=r("observable"),r.observable=t):t="@@observable",t}("undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof module?module:Function("return this")()),o=function(){return Math.random().toString(36).substring(7).split("").join(".")},i={INIT:"@@redux/INIT"+o(),REPLACE:"@@redux/REPLACE"+o(),PROBE_UNKNOWN_ACTION:function(){return"@@redux/PROBE_UNKNOWN_ACTION"+o()}};function a(e){if("object"!=typeof e||null===e)return!1;for(var t=e;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function u(e,t,r){var o;if("function"==typeof t&&"function"==typeof r||"function"==typeof r&&"function"==typeof arguments[3])throw new Error("It looks like you are passing several store enhancers to createStore(). This is not supported. Instead, compose them together to a single function.");if("function"==typeof t&&void 0===r&&(r=t,t=void 0),void 0!==r){if("function"!=typeof r)throw new Error("Expected the enhancer to be a function.");return r(u)(e,t)}if("function"!=typeof e)throw new Error("Expected the reducer to be a function.");var c=e,s=t,f=[],l=f,d=!1;function p(){l===f&&(l=f.slice())}function h(){if(d)throw new Error("You may not call store.getState() while the reducer is executing. The reducer has already received the state as an argument. Pass it down from the top reducer instead of reading it from the store.");return s}function g(e){if("function"!=typeof e)throw new Error("Expected the listener to be a function.");if(d)throw new Error("You may not call store.subscribe() while the reducer is executing. If you would like to be notified after the store has been updated, subscribe from a component and invoke store.getState() in the callback to access the latest state. See https://redux.js.org/api-reference/store#subscribelistener for more details.");var t=!0;return p(),l.push(e),function(){if(t){if(d)throw new Error("You may not unsubscribe from a store listener while the reducer is executing. See https://redux.js.org/api-reference/store#subscribelistener for more details.");t=!1,p();var r=l.indexOf(e);l.splice(r,1),f=null}}}function y(e){if(!a(e))throw new Error("Actions must be plain objects. Use custom middleware for async actions.");if(void 0===e.type)throw new Error('Actions may not have an undefined "type" property. Have you misspelled a constant?');if(d)throw new Error("Reducers may not dispatch actions.");try{d=!0,s=c(s,e)}finally{d=!1}for(var t=f=l,r=0;r<t.length;r++){(0,t[r])()}return e}function v(e){if("function"!=typeof e)throw new Error("Expected the nextReducer to be a function.");c=e,y({type:i.REPLACE})}function b(){var e,t=g;return(e={subscribe:function(e){if("object"!=typeof e||null===e)throw new TypeError("Expected the observer to be an object.");function r(){e.next&&e.next(h())}return r(),{unsubscribe:t(r)}}})[n]=function(){return this},e}return y({type:i.INIT}),(o={dispatch:y,subscribe:g,getState:h,replaceReducer:v})[n]=b,o}function c(e,t){for(var r=arguments.length,n=new Array(r>2?r-2:0),o=2;o<r;o++)n[o-2]=arguments[o];if(!e){var i;if(void 0===t)i=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var a=0;(i=new Error(t.replace(/%s/g,(function(){return n[a++]})))).name="Invariant Violation"}throw i.framesToPop=1,i}}var s="dnd-core/INIT_COORDS",f="dnd-core/BEGIN_DRAG",l="dnd-core/PUBLISH_DRAG_SOURCE",d="dnd-core/HOVER",p="dnd-core/DROP",h="dnd-core/END_DRAG";function g(e,t){return{type:s,payload:{sourceClientOffset:t||null,clientOffset:e||null}}}function y(e){return(y="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 v(e,t,r){return t.split(".").reduce((function(e,t){return e&&e[t]?e[t]:r||null}),e)}function b(e,t){return e.filter((function(e){return e!==t}))}function m(e){return"object"===y(e)}function O(e,t){var r=new Map,n=function(e){r.set(e,r.has(e)?r.get(e)+1:1)};e.forEach(n),t.forEach(n);var o=[];return r.forEach((function(e,t){1===e&&o.push(t)})),o}var S={type:s,payload:{clientOffset:null,sourceClientOffset:null}};function w(e){return function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{publishSource:!0},n=r.publishSource,o=void 0===n||n,i=r.clientOffset,a=r.getSourceClientOffset,u=e.getMonitor(),c=e.getRegistry();e.dispatch(g(i)),D(t,u,c);var s=k(t,u);if(null!==s){var l=null;if(i){if(!a)throw new Error("getSourceClientOffset must be defined");I(a),l=a(s)}e.dispatch(g(i,l));var d=c.getSource(s),p=d.beginDrag(u,s);C(p),c.pinSource(s);var h=c.getSourceType(s);return{type:f,payload:{itemType:h,item:p,sourceId:s,clientOffset:i||null,sourceClientOffset:l||null,isSourcePublic:!!o}}}e.dispatch(S)}}function D(e,t,r){c(!t.isDragging(),"Cannot call beginDrag while dragging."),e.forEach((function(e){c(r.getSource(e),"Expected sourceIds to be registered.")}))}function I(e){c("function"==typeof e,"When clientOffset is provided, getSourceClientOffset must be a function.")}function C(e){c(m(e),"Item must be an object.")}function k(e,t){for(var r=null,n=e.length-1;n>=0;n--)if(t.canDragSource(e[n])){r=e[n];break}return r}function T(e){return function(){if(e.getMonitor().isDragging())return{type:l}}}function P(e,t){return null===t?null===e:Array.isArray(e)?e.some((function(e){return e===t})):e===t}function j(e){return function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=r.clientOffset;E(t);var o=t.slice(0),i=e.getMonitor(),a=e.getRegistry();R(o,i,a);var u=i.getItemType();return x(o,a,u),M(o,i,a),{type:d,payload:{targetIds:o,clientOffset:n||null}}}}function E(e){c(Array.isArray(e),"Expected targetIds to be an array.")}function R(e,t,r){c(t.isDragging(),"Cannot call hover while not dragging."),c(!t.didDrop(),"Cannot call hover after drop.");for(var n=0;n<e.length;n++){var o=e[n];c(e.lastIndexOf(o)===n,"Expected targetIds to be unique in the passed array."),c(r.getTarget(o),"Expected targetIds to be registered.")}}function x(e,t,r){for(var n=e.length-1;n>=0;n--){var o=e[n];P(t.getTargetType(o),r)||e.splice(n,1)}}function M(e,t,r){e.forEach((function(e){r.getTarget(e).hover(t,e)}))}function A(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?A(Object(r),!0).forEach((function(t){N(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):A(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function N(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function H(e){return function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=e.getMonitor(),n=e.getRegistry();U(r);var o=F(r);o.forEach((function(o,i){var a=$(o,i,n,r),u={type:p,payload:{dropResult:_(_({},t),a)}};e.dispatch(u)}))}}function U(e){c(e.isDragging(),"Cannot call drop while not dragging."),c(!e.didDrop(),"Cannot call drop twice during one drag operation.")}function $(e,t,r,n){var o=r.getTarget(e),i=o?o.drop(n,e):void 0;return function(e){c(void 0===e||m(e),"Drop result must either be an object or undefined.")}(i),void 0===i&&(i=0===t?{}:n.getDropResult()),i}function F(e){var t=e.getTargetIds().filter(e.canDropOnTarget,e);return t.reverse(),t}function L(e){return function(){var t=e.getMonitor(),r=e.getRegistry();!function(e){c(e.isDragging(),"Cannot call endDrag while not dragging.")}(t);var n=t.getSourceId();null!=n&&(r.getSource(n,!0).endDrag(t,n),r.unpinSource());return{type:h}}}var B=function(e,t){return e===t};function G(e,t){return!e&&!t||!(!e||!t)&&(e.x===t.x&&e.y===t.y)}function q(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:B;if(e.length!==t.length)return!1;for(var n=0;n<e.length;++n)if(!r(e[n],t[n]))return!1;return!0}function V(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function W(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?V(Object(r),!0).forEach((function(t){Y(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):V(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Y(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var z={initialSourceClientOffset:null,initialClientOffset:null,clientOffset:null};function K(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:z,t=arguments.length>1?arguments[1]:void 0,r=t.payload;switch(t.type){case s:case f:return{initialSourceClientOffset:r.sourceClientOffset,initialClientOffset:r.clientOffset,clientOffset:r.clientOffset};case d:return G(e.clientOffset,r.clientOffset)?e:W(W({},e),{},{clientOffset:r.clientOffset});case h:case p:return z;default:return e}}var X="dnd-core/ADD_SOURCE",J="dnd-core/ADD_TARGET",Q="dnd-core/REMOVE_SOURCE",Z="dnd-core/REMOVE_TARGET";function ee(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function te(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ee(Object(r),!0).forEach((function(t){re(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ee(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function re(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var ne={itemType:null,item:null,sourceId:null,targetIds:[],dropResult:null,didDrop:!1,isSourcePublic:null};function oe(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:ne,t=arguments.length>1?arguments[1]:void 0,r=t.payload;switch(t.type){case f:return te(te({},e),{},{itemType:r.itemType,item:r.item,sourceId:r.sourceId,isSourcePublic:r.isSourcePublic,dropResult:null,didDrop:!1});case l:return te(te({},e),{},{isSourcePublic:!0});case d:return te(te({},e),{},{targetIds:r.targetIds});case Z:return-1===e.targetIds.indexOf(r.targetId)?e:te(te({},e),{},{targetIds:b(e.targetIds,r.targetId)});case p:return te(te({},e),{},{dropResult:r.dropResult,didDrop:!0,targetIds:[]});case h:return te(te({},e),{},{itemType:null,item:null,sourceId:null,dropResult:null,didDrop:!1,isSourcePublic:null,targetIds:[]});default:return e}}function ie(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case X:case J:return e+1;case Q:case Z:return e-1;default:return e}}var ae=[],ue=[];function ce(e,t){return e!==ae&&(e===ue||void 0===t||(r=e,t.filter((function(e){return r.indexOf(e)>-1}))).length>0);var r}function se(){var e=arguments.length>1?arguments[1]:void 0;switch(e.type){case d:break;case X:case J:case Z:case Q:return ae;case f:case l:case h:case p:default:return ue}var t=e.payload,r=t.targetIds,n=void 0===r?[]:r,o=t.prevTargetIds,i=void 0===o?[]:o,a=O(n,i),u=a.length>0||!q(n,i);if(!u)return ae;var c=i[i.length-1],s=n[n.length-1];return c!==s&&(c&&a.push(c),s&&a.push(s)),a}function fe(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return e+1}function le(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function de(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?le(Object(r),!0).forEach((function(t){pe(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):le(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function pe(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function he(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;return{dirtyHandlerIds:se(e.dirtyHandlerIds,{type:t.type,payload:de(de({},t.payload),{},{prevTargetIds:v(e,"dragOperation.targetIds",[])})}),dragOffset:K(e.dragOffset,t),refCount:ie(e.refCount,t),dragOperation:oe(e.dragOperation,t),stateId:fe(e.stateId)}}function ge(e,t){return{x:e.x-t.x,y:e.y-t.y}}function ye(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}ae.__IS_NONE__=!0,ue.__IS_ALL__=!0;var ve=function(){function e(t,r){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.store=t,this.registry=r}var t,r,n;return t=e,(r=[{key:"subscribeToStateChange",value:function(e){var t=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{handlerIds:void 0},n=r.handlerIds;c("function"==typeof e,"listener must be a function."),c(void 0===n||Array.isArray(n),"handlerIds, when specified, must be an array of strings.");var o=this.store.getState().stateId,i=function(){var r=t.store.getState(),i=r.stateId;try{i===o||i===o+1&&!ce(r.dirtyHandlerIds,n)||e()}finally{o=i}};return this.store.subscribe(i)}},{key:"subscribeToOffsetChange",value:function(e){var t=this;c("function"==typeof e,"listener must be a function.");var r=this.store.getState().dragOffset;return this.store.subscribe((function(){var n=t.store.getState().dragOffset;n!==r&&(r=n,e())}))}},{key:"canDragSource",value:function(e){if(!e)return!1;var t=this.registry.getSource(e);return c(t,"Expected to find a valid source."),!this.isDragging()&&t.canDrag(this,e)}},{key:"canDropOnTarget",value:function(e){if(!e)return!1;var t=this.registry.getTarget(e);return c(t,"Expected to find a valid target."),!(!this.isDragging()||this.didDrop())&&P(this.registry.getTargetType(e),this.getItemType())&&t.canDrop(this,e)}},{key:"isDragging",value:function(){return Boolean(this.getItemType())}},{key:"isDraggingSource",value:function(e){if(!e)return!1;var t=this.registry.getSource(e,!0);return c(t,"Expected to find a valid source."),!(!this.isDragging()||!this.isSourcePublic())&&this.registry.getSourceType(e)===this.getItemType()&&t.isDragging(this,e)}},{key:"isOverTarget",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{shallow:!1};if(!e)return!1;var r=t.shallow;if(!this.isDragging())return!1;var n=this.registry.getTargetType(e),o=this.getItemType();if(o&&!P(n,o))return!1;var i=this.getTargetIds();if(!i.length)return!1;var a=i.indexOf(e);return r?a===i.length-1:a>-1}},{key:"getItemType",value:function(){return this.store.getState().dragOperation.itemType}},{key:"getItem",value:function(){return this.store.getState().dragOperation.item}},{key:"getSourceId",value:function(){return this.store.getState().dragOperation.sourceId}},{key:"getTargetIds",value:function(){return this.store.getState().dragOperation.targetIds}},{key:"getDropResult",value:function(){return this.store.getState().dragOperation.dropResult}},{key:"didDrop",value:function(){return this.store.getState().dragOperation.didDrop}},{key:"isSourcePublic",value:function(){return Boolean(this.store.getState().dragOperation.isSourcePublic)}},{key:"getInitialClientOffset",value:function(){return this.store.getState().dragOffset.initialClientOffset}},{key:"getInitialSourceClientOffset",value:function(){return this.store.getState().dragOffset.initialSourceClientOffset}},{key:"getClientOffset",value:function(){return this.store.getState().dragOffset.clientOffset}},{key:"getSourceClientOffset",value:function(){return e=this.store.getState().dragOffset,t=e.clientOffset,r=e.initialClientOffset,n=e.initialSourceClientOffset,t&&r&&n?ge(function(e,t){return{x:e.x+t.x,y:e.y+t.y}}(t,n),r):null;var e,t,r,n}},{key:"getDifferenceFromInitialOffset",value:function(){return e=this.store.getState().dragOffset,t=e.clientOffset,r=e.initialClientOffset,t&&r?ge(t,r):null;var e,t,r}}])&&ye(t.prototype,r),n&&ye(t,n),e}(),be=0;function me(e){return(me="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 Oe(e,t){t&&Array.isArray(e)?e.forEach((function(e){return Oe(e,!1)})):c("string"==typeof e||"symbol"===me(e),t?"Type can only be a string, a symbol, or an array of either.":"Type can only be a string or a symbol.")}function Se(e){De.length||we(),De[De.length]=e}var we,De=[],Ie=0;function Ce(){for(;Ie<De.length;){var e=Ie;if(Ie+=1,De[e].call(),Ie>1024){for(var t=0,r=De.length-Ie;t<r;t++)De[t]=De[t+Ie];De.length-=Ie,Ie=0}}De.length=0,Ie=0}var ke,Te,Pe,je="undefined"!=typeof global?global:self,Ee=je.MutationObserver||je.WebKitMutationObserver;function Re(e){return function(){var t=setTimeout(n,0),r=setInterval(n,50);function n(){clearTimeout(t),clearInterval(r),e()}}}"function"==typeof Ee?(ke=1,Te=new Ee(Ce),Pe=document.createTextNode(""),Te.observe(Pe,{characterData:!0}),we=function(){ke=-ke,Pe.data=ke}):we=Re(Ce),Se.requestFlush=we,Se.makeRequestCallFromTimer=Re;var xe=[],Me=[],Ae=Se.makeRequestCallFromTimer((function(){if(Me.length)throw Me.shift()}));function _e(e){var t;(t=xe.length?xe.pop():new Ne).task=e,Se(t)}var Ne=function(){function e(){}return e.prototype.call=function(){try{this.task.call()}catch(e){_e.onerror?_e.onerror(e):(Me.push(e),Ae())}finally{this.task=null,xe[xe.length]=this}},e}();function He(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function Ue(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var r=[],n=!0,o=!1,i=void 0;try{for(var a,u=e[Symbol.iterator]();!(n=(a=u.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(e){o=!0,i=e}finally{try{n||null==u.return||u.return()}finally{if(o)throw i}}return r}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return $e(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return $e(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function $e(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Fe(e){var t=(be++).toString();switch(e){case r.SOURCE:return"S".concat(t);case r.TARGET:return"T".concat(t);default:throw new Error("Unknown Handler Role: ".concat(e))}}function Le(e){switch(e[0]){case"S":return r.SOURCE;case"T":return r.TARGET;default:c(!1,"Cannot parse handler ID: ".concat(e))}}function Be(e,t){var r=e.entries(),n=!1;do{var o=r.next(),i=o.done;if(Ue(o.value,2)[1]===t)return!0;n=!!i}while(!n);return!1}var Ge=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.types=new Map,this.dragSources=new Map,this.dropTargets=new Map,this.pinnedSourceId=null,this.pinnedSource=null,this.store=t}var t,n,o;return t=e,(n=[{key:"addSource",value:function(e,t){Oe(e),function(e){c("function"==typeof e.canDrag,"Expected canDrag to be a function."),c("function"==typeof e.beginDrag,"Expected beginDrag to be a function."),c("function"==typeof e.endDrag,"Expected endDrag to be a function.")}(t);var n=this.addHandler(r.SOURCE,e,t);return this.store.dispatch(function(e){return{type:X,payload:{sourceId:e}}}(n)),n}},{key:"addTarget",value:function(e,t){Oe(e,!0),function(e){c("function"==typeof e.canDrop,"Expected canDrop to be a function."),c("function"==typeof e.hover,"Expected hover to be a function."),c("function"==typeof e.drop,"Expected beginDrag to be a function.")}(t);var n=this.addHandler(r.TARGET,e,t);return this.store.dispatch(function(e){return{type:J,payload:{targetId:e}}}(n)),n}},{key:"containsHandler",value:function(e){return Be(this.dragSources,e)||Be(this.dropTargets,e)}},{key:"getSource",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];c(this.isSourceId(e),"Expected a valid source ID.");var r=t&&e===this.pinnedSourceId,n=r?this.pinnedSource:this.dragSources.get(e);return n}},{key:"getTarget",value:function(e){return c(this.isTargetId(e),"Expected a valid target ID."),this.dropTargets.get(e)}},{key:"getSourceType",value:function(e){return c(this.isSourceId(e),"Expected a valid source ID."),this.types.get(e)}},{key:"getTargetType",value:function(e){return c(this.isTargetId(e),"Expected a valid target ID."),this.types.get(e)}},{key:"isSourceId",value:function(e){return Le(e)===r.SOURCE}},{key:"isTargetId",value:function(e){return Le(e)===r.TARGET}},{key:"removeSource",value:function(e){var t=this;c(this.getSource(e),"Expected an existing source."),this.store.dispatch(function(e){return{type:Q,payload:{sourceId:e}}}(e)),_e((function(){t.dragSources.delete(e),t.types.delete(e)}))}},{key:"removeTarget",value:function(e){c(this.getTarget(e),"Expected an existing target."),this.store.dispatch(function(e){return{type:Z,payload:{targetId:e}}}(e)),this.dropTargets.delete(e),this.types.delete(e)}},{key:"pinSource",value:function(e){var t=this.getSource(e);c(t,"Expected an existing source."),this.pinnedSourceId=e,this.pinnedSource=t}},{key:"unpinSource",value:function(){c(this.pinnedSource,"No source is pinned at the time."),this.pinnedSourceId=null,this.pinnedSource=null}},{key:"addHandler",value:function(e,t,n){var o=Fe(e);return this.types.set(o,t),e===r.SOURCE?this.dragSources.set(o,n):e===r.TARGET&&this.dropTargets.set(o,n),o}}])&&He(t.prototype,n),o&&He(t,o),e}();function qe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Ve(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function We(e){var t="undefined"!=typeof window&&window.__REDUX_DEVTOOLS_EXTENSION__;return u(he,e&&t&&t({name:"dnd-core",instanceId:"dnd-core"}))}var Ye=function(){function e(){var t=this,r=arguments.length>0&&void 0!==arguments[0]&&arguments[0];qe(this,e),this.isSetUp=!1,this.handleRefCountChange=function(){var e=t.store.getState().refCount>0;t.backend&&(e&&!t.isSetUp?(t.backend.setup(),t.isSetUp=!0):!e&&t.isSetUp&&(t.backend.teardown(),t.isSetUp=!1))};var n=We(r);this.store=n,this.monitor=new ve(n,new Ge(n)),n.subscribe(this.handleRefCountChange)}var t,r,n;return t=e,(r=[{key:"receiveBackend",value:function(e){this.backend=e}},{key:"getMonitor",value:function(){return this.monitor}},{key:"getBackend",value:function(){return this.backend}},{key:"getRegistry",value:function(){return this.monitor.registry}},{key:"getActions",value:function(){var e=this,t=this.store.dispatch,r=function(e){return{beginDrag:w(e),publishDragSource:T(e),hover:j(e),drop:H(e),endDrag:L(e)}}(this);return Object.keys(r).reduce((function(n,o){var i,a=r[o];return n[o]=(i=a,function(){for(var r=arguments.length,n=new Array(r),o=0;o<r;o++)n[o]=arguments[o];var a=i.apply(e,n);void 0!==a&&t(a)}),n}),{})}},{key:"dispatch",value:function(e){this.store.dispatch(e)}}])&&Ve(t.prototype,r),n&&Ve(t,n),e}();function ze(e,t,r,n){var o=new Ye(n),i=e(o,t,r);return o.receiveBackend(i),o}var Ke=t.createContext({dragDropManager:void 0});function Xe(e,t,r,n){return{dragDropManager:ze(e,t,r,n)}}function Je(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var r=[],n=!0,o=!1,i=void 0;try{for(var a,u=e[Symbol.iterator]();!(n=(a=u.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(e){o=!0,i=e}finally{try{n||null==u.return||u.return()}finally{if(o)throw i}}return r}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return Qe(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Qe(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Qe(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Ze(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var et=0,tt=t.memo((function(e){var r=e.children,n=Je(function(e){if("manager"in e){return[{dragDropManager:e.manager},!1]}var t=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:nt(),r=arguments.length>2?arguments[2]:void 0,n=arguments.length>3?arguments[3]:void 0,o=t;o[rt]||(o[rt]=Xe(e,t,r,n));return o[rt]}(e.backend,e.context,e.options,e.debugMode),r=!e.context;return[t,r]}(Ze(e,["children"])),2),o=n[0],i=n[1];return t.useEffect((function(){return i&&et++,function(){i&&(0===--et&&(nt()[rt]=null))}}),[]),t.createElement(Ke.Provider,{value:o},r)}));tt.displayName="DndProvider";var rt=Symbol.for("__REACT_DND_CONTEXT_INSTANCE__");function nt(){return"undefined"!=typeof global?global:window}var ot=t.memo((function(e){var r=e.connect,n=e.src;return t.useEffect((function(){if("undefined"!=typeof Image){var e=!1,t=new Image;return t.src=n,t.onload=function(){r(t),e=!0},function(){e&&r(null)}}})),null}));ot.displayName="DragPreviewImage";var it="undefined"!=typeof window?t.useLayoutEffect:t.useEffect;function at(e,t,r,n){var o=r?r.call(n,e,t):void 0;if(void 0!==o)return!!o;if(e===t)return!0;if("object"!=typeof e||!e||"object"!=typeof t||!t)return!1;var i=Object.keys(e),a=Object.keys(t);if(i.length!==a.length)return!1;for(var u=Object.prototype.hasOwnProperty.bind(t),c=0;c<i.length;c++){var s=i[c];if(!u(s))return!1;var f=e[s],l=t[s];if(!1===(o=r?r.call(n,f,l,s):void 0)||void 0===o&&f!==l)return!1}return!0}function ut(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var r=[],n=!0,o=!1,i=void 0;try{for(var a,u=e[Symbol.iterator]();!(n=(a=u.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(e){o=!0,i=e}finally{try{n||null==u.return||u.return()}finally{if(o)throw i}}return r}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return ct(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return ct(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ct(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function st(e,r,n){var o=ut(t.useState((function(){return r(e)})),2),i=o[0],a=o[1],u=t.useCallback((function(){var t=r(e);at(i,t)||(a(t),n&&n())}),[i,e,n]);return it(u,[]),[i,u]}function ft(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var r=[],n=!0,o=!1,i=void 0;try{for(var a,u=e[Symbol.iterator]();!(n=(a=u.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(e){o=!0,i=e}finally{try{n||null==u.return||u.return()}finally{if(o)throw i}}return r}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return lt(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return lt(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function lt(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function dt(e,t,r){var n=ft(st(e,t,r),2),o=n[0],i=n[1];return it((function(){var t=e.getHandlerId();if(null!=t)return e.subscribeToStateChange(i,{handlerIds:[t]})}),[e,i]),o}function pt(e,t,r){var n=r.getRegistry(),o=n.addTarget(e,t);return[o,function(){return n.removeTarget(o)}]}function ht(e,t,r){var n=r.getRegistry(),o=n.addSource(e,t);return[o,function(){return n.removeSource(o)}]}function gt(){var e=t.useContext(Ke).dragDropManager;return c(null!=e,"Expected drag drop context"),e}function yt(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var vt=!1,bt=!1,mt=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.sourceId=null,this.internalMonitor=t.getMonitor()}var t,r,n;return t=e,(r=[{key:"receiveHandlerId",value:function(e){this.sourceId=e}},{key:"getHandlerId",value:function(){return this.sourceId}},{key:"canDrag",value:function(){c(!vt,"You may not call monitor.canDrag() inside your canDrag() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source-monitor");try{return vt=!0,this.internalMonitor.canDragSource(this.sourceId)}finally{vt=!1}}},{key:"isDragging",value:function(){if(!this.sourceId)return!1;c(!bt,"You may not call monitor.isDragging() inside your isDragging() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source-monitor");try{return bt=!0,this.internalMonitor.isDraggingSource(this.sourceId)}finally{bt=!1}}},{key:"subscribeToStateChange",value:function(e,t){return this.internalMonitor.subscribeToStateChange(e,t)}},{key:"isDraggingSource",value:function(e){return this.internalMonitor.isDraggingSource(e)}},{key:"isOverTarget",value:function(e,t){return this.internalMonitor.isOverTarget(e,t)}},{key:"getTargetIds",value:function(){return this.internalMonitor.getTargetIds()}},{key:"isSourcePublic",value:function(){return this.internalMonitor.isSourcePublic()}},{key:"getSourceId",value:function(){return this.internalMonitor.getSourceId()}},{key:"subscribeToOffsetChange",value:function(e){return this.internalMonitor.subscribeToOffsetChange(e)}},{key:"canDragSource",value:function(e){return this.internalMonitor.canDragSource(e)}},{key:"canDropOnTarget",value:function(e){return this.internalMonitor.canDropOnTarget(e)}},{key:"getItemType",value:function(){return this.internalMonitor.getItemType()}},{key:"getItem",value:function(){return this.internalMonitor.getItem()}},{key:"getDropResult",value:function(){return this.internalMonitor.getDropResult()}},{key:"didDrop",value:function(){return this.internalMonitor.didDrop()}},{key:"getInitialClientOffset",value:function(){return this.internalMonitor.getInitialClientOffset()}},{key:"getInitialSourceClientOffset",value:function(){return this.internalMonitor.getInitialSourceClientOffset()}},{key:"getSourceClientOffset",value:function(){return this.internalMonitor.getSourceClientOffset()}},{key:"getClientOffset",value:function(){return this.internalMonitor.getClientOffset()}},{key:"getDifferenceFromInitialOffset",value:function(){return this.internalMonitor.getDifferenceFromInitialOffset()}}])&&yt(t.prototype,r),n&&yt(t,n),e}();function Ot(e,t){"function"==typeof e?e(t):e.current=t}function St(e,r){var n=e.ref;return c("string"!=typeof n,"Cannot connect React DnD to an element with an existing string ref. Please convert it to use a callback ref instead, or wrap it into a <span> or <div>. Read more: https://facebook.github.io/react/docs/more-about-refs.html#the-ref-callback-attribute"),n?t.cloneElement(e,{ref:function(e){Ot(n,e),Ot(r,e)}}):t.cloneElement(e,{ref:r})}function wt(e){if("string"!=typeof e.type){var t=e.type.displayName||e.type.name||"the component";throw new Error("Only native element nodes can now be passed to React DnD connectors."+"You can either wrap ".concat(t," into a <div>, or turn it into a ")+"drag source or a drop target itself.")}}function Dt(e){var r={};return Object.keys(e).forEach((function(n){var o=e[n];if(n.endsWith("Ref"))r[n]=e[n];else{var i=function(e){return function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(!t.isValidElement(r)){var o=r;return e(o,n),o}var i=r;wt(i);var a=n?function(t){return e(t,n)}:e;return St(i,a)}}(o);r[n]=function(){return i}}})),r}function It(e){return(It="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 Ct(e){return null!==e&&"object"===It(e)&&Object.prototype.hasOwnProperty.call(e,"current")}function kt(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var Tt=function(){function e(t){var r=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.hooks=Dt({dragSource:function(e,t){r.clearDragSource(),r.dragSourceOptions=t||null,Ct(e)?r.dragSourceRef=e:r.dragSourceNode=e,r.reconnectDragSource()},dragPreview:function(e,t){r.clearDragPreview(),r.dragPreviewOptions=t||null,Ct(e)?r.dragPreviewRef=e:r.dragPreviewNode=e,r.reconnectDragPreview()}}),this.handlerId=null,this.dragSourceRef=null,this.dragSourceOptionsInternal=null,this.dragPreviewRef=null,this.dragPreviewOptionsInternal=null,this.lastConnectedHandlerId=null,this.lastConnectedDragSource=null,this.lastConnectedDragSourceOptions=null,this.lastConnectedDragPreview=null,this.lastConnectedDragPreviewOptions=null,this.backend=t}var t,r,n;return t=e,(r=[{key:"receiveHandlerId",value:function(e){this.handlerId!==e&&(this.handlerId=e,this.reconnect())}},{key:"reconnect",value:function(){this.reconnectDragSource(),this.reconnectDragPreview()}},{key:"reconnectDragSource",value:function(){var e=this.dragSource,t=this.didHandlerIdChange()||this.didConnectedDragSourceChange()||this.didDragSourceOptionsChange();t&&this.disconnectDragSource(),this.handlerId&&(e?t&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDragSource=e,this.lastConnectedDragSourceOptions=this.dragSourceOptions,this.dragSourceUnsubscribe=this.backend.connectDragSource(this.handlerId,e,this.dragSourceOptions)):this.lastConnectedDragSource=e)}},{key:"reconnectDragPreview",value:function(){var e=this.dragPreview,t=this.didHandlerIdChange()||this.didConnectedDragPreviewChange()||this.didDragPreviewOptionsChange();t&&this.disconnectDragPreview(),this.handlerId&&(e?t&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDragPreview=e,this.lastConnectedDragPreviewOptions=this.dragPreviewOptions,this.dragPreviewUnsubscribe=this.backend.connectDragPreview(this.handlerId,e,this.dragPreviewOptions)):this.lastConnectedDragPreview=e)}},{key:"didHandlerIdChange",value:function(){return this.lastConnectedHandlerId!==this.handlerId}},{key:"didConnectedDragSourceChange",value:function(){return this.lastConnectedDragSource!==this.dragSource}},{key:"didConnectedDragPreviewChange",value:function(){return this.lastConnectedDragPreview!==this.dragPreview}},{key:"didDragSourceOptionsChange",value:function(){return!at(this.lastConnectedDragSourceOptions,this.dragSourceOptions)}},{key:"didDragPreviewOptionsChange",value:function(){return!at(this.lastConnectedDragPreviewOptions,this.dragPreviewOptions)}},{key:"disconnectDragSource",value:function(){this.dragSourceUnsubscribe&&(this.dragSourceUnsubscribe(),this.dragSourceUnsubscribe=void 0)}},{key:"disconnectDragPreview",value:function(){this.dragPreviewUnsubscribe&&(this.dragPreviewUnsubscribe(),this.dragPreviewUnsubscribe=void 0,this.dragPreviewNode=null,this.dragPreviewRef=null)}},{key:"clearDragSource",value:function(){this.dragSourceNode=null,this.dragSourceRef=null}},{key:"clearDragPreview",value:function(){this.dragPreviewNode=null,this.dragPreviewRef=null}},{key:"connectTarget",get:function(){return this.dragSource}},{key:"dragSourceOptions",get:function(){return this.dragSourceOptionsInternal},set:function(e){this.dragSourceOptionsInternal=e}},{key:"dragPreviewOptions",get:function(){return this.dragPreviewOptionsInternal},set:function(e){this.dragPreviewOptionsInternal=e}},{key:"dragSource",get:function(){return this.dragSourceNode||this.dragSourceRef&&this.dragSourceRef.current}},{key:"dragPreview",get:function(){return this.dragPreviewNode||this.dragPreviewRef&&this.dragPreviewRef.current}}])&&kt(t.prototype,r),n&&kt(t,n),e}();function Pt(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var r=[],n=!0,o=!1,i=void 0;try{for(var a,u=e[Symbol.iterator]();!(n=(a=u.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(e){o=!0,i=e}finally{try{n||null==u.return||u.return()}finally{if(o)throw i}}return r}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return jt(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return jt(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function jt(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Et(e){return(Et="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 Rt(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var r=[],n=!0,o=!1,i=void 0;try{for(var a,u=e[Symbol.iterator]();!(n=(a=u.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(e){o=!0,i=e}finally{try{n||null==u.return||u.return()}finally{if(o)throw i}}return r}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return xt(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return xt(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function xt(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Mt(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var At=function(){function e(t){var r=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.hooks=Dt({dropTarget:function(e,t){r.clearDropTarget(),r.dropTargetOptions=t,Ct(e)?r.dropTargetRef=e:r.dropTargetNode=e,r.reconnect()}}),this.handlerId=null,this.dropTargetRef=null,this.dropTargetOptionsInternal=null,this.lastConnectedHandlerId=null,this.lastConnectedDropTarget=null,this.lastConnectedDropTargetOptions=null,this.backend=t}var t,r,n;return t=e,(r=[{key:"reconnect",value:function(){var e=this.didHandlerIdChange()||this.didDropTargetChange()||this.didOptionsChange();e&&this.disconnectDropTarget();var t=this.dropTarget;this.handlerId&&(t?e&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDropTarget=t,this.lastConnectedDropTargetOptions=this.dropTargetOptions,this.unsubscribeDropTarget=this.backend.connectDropTarget(this.handlerId,t,this.dropTargetOptions)):this.lastConnectedDropTarget=t)}},{key:"receiveHandlerId",value:function(e){e!==this.handlerId&&(this.handlerId=e,this.reconnect())}},{key:"didHandlerIdChange",value:function(){return this.lastConnectedHandlerId!==this.handlerId}},{key:"didDropTargetChange",value:function(){return this.lastConnectedDropTarget!==this.dropTarget}},{key:"didOptionsChange",value:function(){return!at(this.lastConnectedDropTargetOptions,this.dropTargetOptions)}},{key:"disconnectDropTarget",value:function(){this.unsubscribeDropTarget&&(this.unsubscribeDropTarget(),this.unsubscribeDropTarget=void 0)}},{key:"clearDropTarget",value:function(){this.dropTargetRef=null,this.dropTargetNode=null}},{key:"connectTarget",get:function(){return this.dropTarget}},{key:"dropTargetOptions",get:function(){return this.dropTargetOptionsInternal},set:function(e){this.dropTargetOptionsInternal=e}},{key:"dropTarget",get:function(){return this.dropTargetNode||this.dropTargetRef&&this.dropTargetRef.current}}])&&Mt(t.prototype,r),n&&Mt(t,n),e}();function _t(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var Nt=!1,Ht=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.targetId=null,this.internalMonitor=t.getMonitor()}var t,r,n;return t=e,(r=[{key:"receiveHandlerId",value:function(e){this.targetId=e}},{key:"getHandlerId",value:function(){return this.targetId}},{key:"subscribeToStateChange",value:function(e,t){return this.internalMonitor.subscribeToStateChange(e,t)}},{key:"canDrop",value:function(){if(!this.targetId)return!1;c(!Nt,"You may not call monitor.canDrop() inside your canDrop() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target-monitor");try{return Nt=!0,this.internalMonitor.canDropOnTarget(this.targetId)}finally{Nt=!1}}},{key:"isOver",value:function(e){return!!this.targetId&&this.internalMonitor.isOverTarget(this.targetId,e)}},{key:"getItemType",value:function(){return this.internalMonitor.getItemType()}},{key:"getItem",value:function(){return this.internalMonitor.getItem()}},{key:"getDropResult",value:function(){return this.internalMonitor.getDropResult()}},{key:"didDrop",value:function(){return this.internalMonitor.didDrop()}},{key:"getInitialClientOffset",value:function(){return this.internalMonitor.getInitialClientOffset()}},{key:"getInitialSourceClientOffset",value:function(){return this.internalMonitor.getInitialSourceClientOffset()}},{key:"getSourceClientOffset",value:function(){return this.internalMonitor.getSourceClientOffset()}},{key:"getClientOffset",value:function(){return this.internalMonitor.getClientOffset()}},{key:"getDifferenceFromInitialOffset",value:function(){return this.internalMonitor.getDifferenceFromInitialOffset()}}])&&_t(t.prototype,r),n&&_t(t,n),e}();function Ut(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var r=[],n=!0,o=!1,i=void 0;try{for(var a,u=e[Symbol.iterator]();!(n=(a=u.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(e){o=!0,i=e}finally{try{n||null==u.return||u.return()}finally{if(o)throw i}}return r}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return $t(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return $t(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function $t(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Ft(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var r=[],n=!0,o=!1,i=void 0;try{for(var a,u=e[Symbol.iterator]();!(n=(a=u.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(e){o=!0,i=e}finally{try{n||null==u.return||u.return()}finally{if(o)throw i}}return r}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return Lt(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Lt(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Lt(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Bt(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var r=[],n=!0,o=!1,i=void 0;try{for(var a,u=e[Symbol.iterator]();!(n=(a=u.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(e){o=!0,i=e}finally{try{n||null==u.return||u.return()}finally{if(o)throw i}}return r}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return Gt(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Gt(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Gt(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function qt(e){return(qt="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 Vt(e){return"function"==typeof e}function Wt(){}function Yt(e){if(!function(e){return"object"===qt(e)&&null!==e}(e))return!1;if(null===Object.getPrototypeOf(e))return!0;for(var t=e;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function zt(e){var t=e.current;return null==t?null:t.decoratedRef?t.decoratedRef.current:t}function Kt(e){return(t=e)&&t.prototype&&"function"==typeof t.prototype.render||function(e){var t,r=e;return"Symbol(react.forward_ref)"===(null==r||null===(t=r.$$typeof)||void 0===t?void 0:t.toString())}(e);var t}function Xt(e,t,r){return e(r={path:t,exports:{},require:function(e,t){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")} /** @license React v16.13.1 * react-is.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */(null==t&&r.path)}},r.exports),r.exports}var Jt="function"==typeof Symbol&&Symbol.for,Qt=Jt?Symbol.for("react.element"):60103,Zt=Jt?Symbol.for("react.portal"):60106,er=Jt?Symbol.for("react.fragment"):60107,tr=Jt?Symbol.for("react.strict_mode"):60108,rr=Jt?Symbol.for("react.profiler"):60114,nr=Jt?Symbol.for("react.provider"):60109,or=Jt?Symbol.for("react.context"):60110,ir=Jt?Symbol.for("react.async_mode"):60111,ar=Jt?Symbol.for("react.concurrent_mode"):60111,ur=Jt?Symbol.for("react.forward_ref"):60112,cr=Jt?Symbol.for("react.suspense"):60113,sr=Jt?Symbol.for("react.suspense_list"):60120,fr=Jt?Symbol.for("react.memo"):60115,lr=Jt?Symbol.for("react.lazy"):60116,dr=Jt?Symbol.for("react.block"):60121,pr=Jt?Symbol.for("react.fundamental"):60117,hr=Jt?Symbol.for("react.responder"):60118,gr=Jt?Symbol.for("react.scope"):60119;function yr(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case Qt:switch(e=e.type){case ir:case ar:case er:case rr:case tr:case cr:return e;default:switch(e=e&&e.$$typeof){case or:case ur:case lr:case fr:case nr:return e;default:return t}}case Zt:return t}}}function vr(e){return yr(e)===ar}var br={AsyncMode:ir,ConcurrentMode:ar,ContextConsumer:or,ContextProvider:nr,Element:Qt,ForwardRef:ur,Fragment:er,Lazy:lr,Memo:fr,Portal:Zt,Profiler:rr,StrictMode:tr,Suspense:cr,isAsyncMode:function(e){return vr(e)||yr(e)===ir},isConcurrentMode:vr,isContextConsumer:function(e){return yr(e)===or},isContextProvider:function(e){return yr(e)===nr},isElement:function(e){return"object"==typeof e&&null!==e&&e.$$typeof===Qt},isForwardRef:function(e){return yr(e)===ur},isFragment:function(e){return yr(e)===er},isLazy:function(e){return yr(e)===lr},isMemo:function(e){return yr(e)===fr},isPortal:function(e){return yr(e)===Zt},isProfiler:function(e){return yr(e)===rr},isStrictMode:function(e){return yr(e)===tr},isSuspense:function(e){return yr(e)===cr},isValidElementType:function(e){return"string"==typeof e||"function"==typeof e||e===er||e===ar||e===rr||e===tr||e===cr||e===sr||"object"==typeof e&&null!==e&&(e.$$typeof===lr||e.$$typeof===fr||e.$$typeof===nr||e.$$typeof===or||e.$$typeof===ur||e.$$typeof===pr||e.$$typeof===hr||e.$$typeof===gr||e.$$typeof===dr)},typeOf:yr},mr=Xt((function(e,t){})),Or=(mr.AsyncMode,mr.ConcurrentMode,mr.ContextConsumer,mr.ContextProvider,mr.Element,mr.ForwardRef,mr.Fragment,mr.Lazy,mr.Memo,mr.Portal,mr.Profiler,mr.StrictMode,mr.Suspense,mr.isAsyncMode,mr.isConcurrentMode,mr.isContextConsumer,mr.isContextProvider,mr.isElement,mr.isForwardRef,mr.isFragment,mr.isLazy,mr.isMemo,mr.isPortal,mr.isProfiler,mr.isStrictMode,mr.isSuspense,mr.isValidElementType,mr.typeOf,Xt((function(e){e.exports=br}))),Sr={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},wr={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},Dr={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},Ir={};function Cr(e){return Or.isMemo(e)?Dr:Ir[e.$$typeof]||Sr}Ir[Or.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},Ir[Or.Memo]=Dr;var kr=Object.defineProperty,Tr=Object.getOwnPropertyNames,Pr=Object.getOwnPropertySymbols,jr=Object.getOwnPropertyDescriptor,Er=Object.getPrototypeOf,Rr=Object.prototype;var xr=function e(t,r,n){if("string"!=typeof r){if(Rr){var o=Er(r);o&&o!==Rr&&e(t,o,n)}var i=Tr(r);Pr&&(i=i.concat(Pr(r)));for(var a=Cr(t),u=Cr(r),c=0;c<i.length;++c){var s=i[c];if(!(wr[s]||n&&n[s]||u&&u[s]||a&&a[s])){var f=jr(r,s);try{kr(t,s,f)}catch(e){}}}}return t};function Mr(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Ar(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function _r(e,t,r){return t&&Ar(e.prototype,t),r&&Ar(e,r),e}var Nr=function(){var e=function(){function e(t){Mr(this,e),this.isDisposed=!1,this.action=Vt(t)?t:Wt}return _r(e,[{key:"dispose",value:function(){this.isDisposed||(this.action(),this.isDisposed=!0)}}],[{key:"isDisposable",value:function(e){return Boolean(e&&Vt(e.dispose))}},{key:"_fixup",value:function(t){return e.isDisposable(t)?t:e.empty}},{key:"create",value:function(t){return new e(t)}}]),e}();return e.empty={dispose:Wt},e}(),Hr=function(){function e(){Mr(this,e),this.isDisposed=!1;for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];this.disposables=r}return _r(e,[{key:"add",value:function(e){this.isDisposed?e.dispose():this.disposables.push(e)}},{key:"remove",value:function(e){var t=!1;if(!this.isDisposed){var r=this.disposables.indexOf(e);-1!==r&&(t=!0,this.disposables.splice(r,1),e.dispose())}return t}},{key:"clear",value:function(){if(!this.isDisposed){for(var e=this.disposables.length,t=new Array(e),r=0;r<e;r++)t[r]=this.disposables[r];this.disposables=[];for(var n=0;n<e;n++)t[n].dispose()}}},{key:"dispose",value:function(){if(!this.isDisposed){this.isDisposed=!0;for(var e=this.disposables.length,t=new Array(e),r=0;r<e;r++)t[r]=this.disposables[r];this.disposables=[];for(var n=0;n<e;n++)t[n].dispose()}}}]),e}(),Ur=function(){function e(){Mr(this,e),this.isDisposed=!1}return _r(e,[{key:"getDisposable",value:function(){return this.current}},{key:"setDisposable",value:function(e){var t=this.isDisposed;if(!t){var r=this.current;this.current=e,r&&r.dispose()}t&&e&&e.dispose()}},{key:"dispose",value:function(){if(!this.isDisposed){this.isDisposed=!0;var e=this.current;this.current=void 0,e&&e.dispose()}}}]),e}();function $r(e){return($r="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 Fr(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var r=[],n=!0,o=!1,i=void 0;try{for(var a,u=e[Symbol.iterator]();!(n=(a=u.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(e){o=!0,i=e}finally{try{n||null==u.return||u.return()}finally{if(o)throw i}}return r}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return Lr(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Lr(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Lr(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Br(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function Gr(e,t){return(Gr=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function qr(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=Wr(e);if(t){var o=Wr(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return Vr(this,r)}}function Vr(e,t){return!t||"object"!==$r(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Wr(e){return(Wr=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Yr(e){var r=e.DecoratedComponent,n=e.createHandler,o=e.createMonitor,i=e.createConnector,a=e.registerHandler,u=e.containerDisplayName,s=e.getType,f=e.collect,l=e.options.arePropsEqual,d=void 0===l?at:l,p=r,h=r.displayName||r.name||"Component",g=function(){var e=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Gr(e,t)}(y,e);var r,u,l,g=qr(y);function y(e){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,y),(r=g.call(this,e)).decoratedRef=t.createRef(),r.handleChange=function(){var e=r.getCurrentState();at(e,r.state)||r.setState(e)},r.disposable=new Ur,r.receiveProps(e),r.dispose(),r}return r=y,(u=[{key:"getHandlerId",value:function(){return this.handlerId}},{key:"getDecoratedComponentInstance",value:function(){return c(this.decoratedRef.current,"In order to access an instance of the decorated component, it must either be a class component or use React.forwardRef()"),this.decoratedRef.current}},{key:"shouldComponentUpdate",value:function(e,t){return!d(e,this.props)||!at(t,this.state)}},{key:"componentDidMount",value:function(){this.disposable=new Ur,this.currentType=void 0,this.receiveProps(this.props),this.handleChange()}},{key:"componentDidUpdate",value:function(e){d(this.props,e)||(this.receiveProps(this.props),this.handleChange())}},{key:"componentWillUnmount",value:function(){this.dispose()}},{key:"receiveProps",value:function(e){this.handler&&(this.handler.receiveProps(e),this.receiveType(s(e)))}},{key:"receiveType",value:function(e){if(this.handlerMonitor&&this.manager&&this.handlerConnector&&e!==this.currentType){this.currentType=e;var t=Fr(a(e,this.handler,this.manager),2),r=t[0],n=t[1];this.handlerId=r,this.handlerMonitor.receiveHandlerId(r),this.handlerConnector.receiveHandlerId(r);var o=this.manager.getMonitor().subscribeToStateChange(this.handleChange,{handlerIds:[r]});this.disposable.setDisposable(new Hr(new Nr(o),new Nr(n)))}}},{key:"dispose",value:function(){this.disposable.dispose(),this.handlerConnector&&this.handlerConnector.receiveHandlerId(null)}},{key:"getCurrentState",value:function(){return this.handlerConnector?f(this.handlerConnector.hooks,this.handlerMonitor,this.props):{}}},{key:"render",value:function(){var e=this;return t.createElement(Ke.Consumer,null,(function(r){var n=r.dragDropManager;return e.receiveDragDropManager(n),"undefined"!=typeof requestAnimationFrame&&requestAnimationFrame((function(){var t;return null===(t=e.handlerConnector)||void 0===t?void 0:t.reconnect()})),t.createElement(p,Object.assign({},e.props,e.getCurrentState(),{ref:Kt(p)?e.decoratedRef:null}))}))}},{key:"receiveDragDropManager",value:function(e){void 0===this.manager&&(c(void 0!==e,"Could not find the drag and drop manager in the context of %s. Make sure to render a DndProvider component in your top-level component. Read more: http://react-dnd.github.io/react-dnd/docs/troubleshooting#could-not-find-the-drag-and-drop-manager-in-the-context",h,h),void 0!==e&&(this.manager=e,this.handlerMonitor=o(e),this.handlerConnector=i(e.getBackend()),this.handler=n(this.handlerMonitor,this.decoratedRef)))}}])&&Br(r.prototype,u),l&&Br(r,l),y}(t.Component);return e.DecoratedComponent=r,e.displayName="".concat(u,"(").concat(h,")"),e}();return xr(g,r)}function zr(e){return(zr="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 Kr(e,t){return"string"==typeof e||"symbol"===zr(e)||!!t&&Array.isArray(e)&&e.every((function(e){return Kr(e,!1)}))}function Xr(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var Jr=["canDrag","beginDrag","isDragging","endDrag"],Qr=["beginDrag"],Zr=function(){function e(t,r,n){var o=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.props=null,this.beginDrag=function(){if(o.props)return o.spec.beginDrag(o.props,o.monitor,o.ref.current)},this.spec=t,this.monitor=r,this.ref=n}var t,r,n;return t=e,(r=[{key:"receiveProps",value:function(e){this.props=e}},{key:"canDrag",value:function(){return!!this.props&&(!this.spec.canDrag||this.spec.canDrag(this.props,this.monitor))}},{key:"isDragging",value:function(e,t){return!!this.props&&(this.spec.isDragging?this.spec.isDragging(this.props,this.monitor):t===e.getSourceId())}},{key:"endDrag",value:function(){this.props&&this.spec.endDrag&&this.spec.endDrag(this.props,this.monitor,zt(this.ref))}}])&&Xr(t.prototype,r),n&&Xr(t,n),e}();function en(e){return Object.keys(e).forEach((function(t){c(Jr.indexOf(t)>-1,'Expected the drag source specification to only have some of the following keys: %s. Instead received a specification with an unexpected "%s" key. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source',Jr.join(", "),t),c("function"==typeof e[t],"Expected %s in the drag source specification to be a function. Instead received a specification with %s: %s. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source",t,t,e[t])})),Qr.forEach((function(t){c("function"==typeof e[t],"Expected %s in the drag source specification to be a function. Instead received a specification with %s: %s. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source",t,t,e[t])})),function(t,r){return new Zr(e,t,r)}}function tn(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var rn=["canDrop","hover","drop"],nn=function(){function e(t,r,n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.props=null,this.spec=t,this.monitor=r,this.ref=n}var t,r,n;return t=e,(r=[{key:"receiveProps",value:function(e){this.props=e}},{key:"receiveMonitor",value:function(e){this.monitor=e}},{key:"canDrop",value:function(){return!this.spec.canDrop||this.spec.canDrop(this.props,this.monitor)}},{key:"hover",value:function(){this.spec.hover&&this.props&&this.spec.hover(this.props,this.monitor,zt(this.ref))}},{key:"drop",value:function(){if(this.spec.drop)return this.spec.drop(this.props,this.monitor,this.ref.current)}}])&&tn(t.prototype,r),n&&tn(t,n),e}();function on(e){return Object.keys(e).forEach((function(t){c(rn.indexOf(t)>-1,'Expected the drop target specification to only have some of the following keys: %s. Instead received a specification with an unexpected "%s" key. Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target',rn.join(", "),t),c("function"==typeof e[t],"Expected %s in the drop target specification to be a function. Instead received a specification with %s: %s. Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target",t,t,e[t])})),function(t,r){return new nn(e,t,r)}}function an(e){return(an="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 un(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function cn(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function sn(e,t,r){return t&&cn(e.prototype,t),r&&cn(e,r),e}function fn(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&ln(e,t)}function ln(e,t){return(ln=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function dn(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=hn(e);if(t){var o=hn(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return pn(this,r)}}function pn(e,t){return!t||"object"!==an(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function hn(e){return(hn=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}e.DndContext=Ke,e.DndProvider=tt,e.DragLayer=function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return c("function"==typeof e,'Expected "collect" provided as the first argument to DragLayer to be a function that collects props to inject into the component. ',"Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-layer",e),c(Yt(r),'Expected "options" provided as the second argument to DragLayer to be a plain object when specified. Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-layer',r),function(n){var o=n,i=r.arePropsEqual,a=void 0===i?at:i,u=o.displayName||o.name||"Component",s=function(){var r=function(r){fn(i,r);var n=dn(i);function i(){var e;return un(this,i),(e=n.apply(this,arguments)).isCurrentlyMounted=!1,e.ref=t.createRef(),e.handleChange=function(){if(e.isCurrentlyMounted){var t=e.getCurrentState();at(t,e.state)||e.setState(t)}},e}return sn(i,[{key:"getDecoratedComponentInstance",value:function(){return c(this.ref.current,"In order to access an instance of the decorated component, it must either be a class component or use React.forwardRef()"),this.ref.current}},{key:"shouldComponentUpdate",value:function(e,t){return!a(e,this.props)||!at(t,this.state)}},{key:"componentDidMount",value:function(){this.isCurrentlyMounted=!0,this.handleChange()}},{key:"componentWillUnmount",value:function(){this.isCurrentlyMounted=!1,this.unsubscribeFromOffsetChange&&(this.unsubscribeFromOffsetChange(),this.unsubscribeFromOffsetChange=void 0),this.unsubscribeFromStateChange&&(this.unsubscribeFromStateChange(),this.unsubscribeFromStateChange=void 0)}},{key:"render",value:function(){var e=this;return t.createElement(Ke.Consumer,null,(function(r){var n=r.dragDropManager;return void 0===n?null:(e.receiveDragDropManager(n),e.isCurrentlyMounted?t.createElement(o,Object.assign({},e.props,e.state,{ref:Kt(o)?e.ref:null})):null)}))}},{key:"receiveDragDropManager",value:function(e){if(void 0===this.manager){this.manager=e,c("object"===an(e),"Could not find the drag and drop manager in the context of %s. Make sure to render a DndProvider component in your top-level component. Read more: http://react-dnd.github.io/react-dnd/docs/troubleshooting#could-not-find-the-drag-and-drop-manager-in-the-context",u,u);var t=this.manager.getMonitor();this.unsubscribeFromOffsetChange=t.subscribeToOffsetChange(this.handleChange),this.unsubscribeFromStateChange=t.subscribeToStateChange(this.handleChange)}}},{key:"getCurrentState",value:function(){if(!this.manager)return{};var t=this.manager.getMonitor();return e(t,this.props)}}]),i}(t.Component);return r.displayName="DragLayer(".concat(u,")"),r.DecoratedComponent=n,r}();return xr(s,n)}},e.DragPreviewImage=ot,e.DragSource=function(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=e;"function"!=typeof e&&(c(Kr(e),'Expected "type" provided as the first argument to DragSource to be a string, or a function that returns a string given the current props. Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source',e),o=function(){return e}),c(Yt(t),'Expected "spec" provided as the second argument to DragSource to be a plain object. Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source',t);var i=en(t);return c("function"==typeof r,'Expected "collect" provided as the third argument to DragSource to be a function that returns a plain object of props to inject. Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source',r),c(Yt(n),'Expected "options" provided as the fourth argument to DragSource to be a plain object when specified. Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source',r),function(e){return Yr({containerDisplayName:"DragSource",createHandler:i,registerHandler:ht,createConnector:function(e){return new Tt(e)},createMonitor:function(e){return new mt(e)},DecoratedComponent:e,getType:o,collect:r,options:n})}},e.DropTarget=function(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=e;"function"!=typeof e&&(c(Kr(e,!0),'Expected "type" provided as the first argument to DropTarget to be a string, an array of strings, or a function that returns either given the current props. Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target',e),o=function(){return e}),c(Yt(t),'Expected "spec" provided as the second argument to DropTarget to be a plain object. Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target',t);var i=on(t);return c("function"==typeof r,'Expected "collect" provided as the third argument to DropTarget to be a function that returns a plain object of props to inject. Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target',r),c(Yt(n),'Expected "options" provided as the fourth argument to DropTarget to be a plain object when specified. Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target',r),function(e){return Yr({containerDisplayName:"DropTarget",createHandler:i,registerHandler:pt,createMonitor:function(e){return new Ht(e)},createConnector:function(e){return new At(e)},DecoratedComponent:e,getType:o,collect:r,options:n})}},e.createDndContext=Xe,e.useDrag=function(e){var r=t.useRef(e);r.current=e,c(null!=e.item,"item must be defined"),c(null!=e.item.type,"item type must be defined");var n,o=Rt((n=gt(),[t.useMemo((function(){return new mt(n)}),[n]),t.useMemo((function(){return new Tt(n.getBackend())}),[n])]),2),i=o[0],a=o[1];!function(e,r,n){var o=gt(),i=t.useMemo((function(){return{beginDrag:function(){var t=e.current,n=t.begin,o=t.item;if(n){var i=n(r);return c(null==i||"object"===Et(i),"dragSpec.begin() must either return an object, undefined, or null"),i||o||{}}return o||{}},canDrag:function(){return"boolean"==typeof e.current.canDrag?e.current.canDrag:"function"!=typeof e.current.canDrag||e.current.canDrag(r)},isDragging:function(t,n){var o=e.current.isDragging;return o?o(r):n===t.getSourceId()},endDrag:function(){var t=e.current.end;t&&t(r.getItem(),r),n.reconnect()}}}),[]);it((function(){var t=Pt(ht(e.current.item.type,i,o),2),a=t[0],u=t[1];return r.receiveHandlerId(a),n.receiveHandlerId(a),u}),[])}(r,i,a);var u=dt(i,r.current.collect||function(){return{}},(function(){return a.reconnect()})),s=t.useMemo((function(){return a.hooks.dragSource()}),[a]),f=t.useMemo((function(){return a.hooks.dragPreview()}),[a]);return it((function(){a.dragSourceOptions=r.current.options||null,a.reconnect()}),[a]),it((function(){a.dragPreviewOptions=r.current.previewOptions||null,a.reconnect()}),[a]),[u,s,f]},e.useDragDropManager=gt,e.useDragLayer=function(e){var r=gt().getMonitor(),n=Bt(st(r,e),2),o=n[0],i=n[1];return t.useEffect((function(){return r.subscribeToOffsetChange(i)})),t.useEffect((function(){return r.subscribeToStateChange(i)})),o},e.useDrop=function(e){var r=t.useRef(e);r.current=e,c(null!=e.accept,"accept must be defined");var n,o=Ft((n=gt(),[t.useMemo((function(){return new Ht(n)}),[n]),t.useMemo((function(){return new At(n.getBackend())}),[n])]),2),i=o[0],a=o[1];!function(e,r,n){var o=gt(),i=t.useMemo((function(){return{canDrop:function(){var t=e.current.canDrop;return!t||t(r.getItem(),r)},hover:function(){var t=e.current.hover;t&&t(r.getItem(),r)},drop:function(){var t=e.current.drop;if(t)return t(r.getItem(),r)}}}),[r]);it((function(){var t=Ut(pt(e.current.accept,i,o),2),a=t[0],u=t[1];return r.receiveHandlerId(a),n.receiveHandlerId(a),u}),[r,n])}(r,i,a);var u=dt(i,r.current.collect||function(){return{}},(function(){return a.reconnect()})),s=t.useMemo((function(){return a.hooks.dropTarget()}),[a]);return it((function(){a.dropTargetOptions=e.options||null,a.reconnect()}),[e.options]),[u,s]},Object.defineProperty(e,"__esModule",{value:!0})})); PK]x�\%s�xxcjs/decorators/utils.jsnu�[���"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getDecoratedComponent = getDecoratedComponent; exports.isClassComponent = isClassComponent; exports.isRefForwardingComponent = isRefForwardingComponent; exports.isRefable = isRefable; exports.checkDecoratorArguments = checkDecoratorArguments; function getDecoratedComponent(instanceRef) { var currentRef = instanceRef.current; if (currentRef == null) { return null; } else if (currentRef.decoratedRef) { // go through the private field in decorateHandler to avoid the invariant hit return currentRef.decoratedRef.current; } else { return currentRef; } } function isClassComponent(Component) { return Component && Component.prototype && typeof Component.prototype.render === 'function'; } function isRefForwardingComponent(C) { var _item$$$typeof; var item = C; return (item === null || item === void 0 ? void 0 : (_item$$$typeof = item.$$typeof) === null || _item$$$typeof === void 0 ? void 0 : _item$$$typeof.toString()) === 'Symbol(react.forward_ref)'; } function isRefable(C) { return isClassComponent(C) || isRefForwardingComponent(C); } function checkDecoratorArguments(functionName, signature) { if (process.env.NODE_ENV !== 'production') { for (var i = 0; i < (arguments.length <= 2 ? 0 : arguments.length - 2); i++) { var arg = i + 2 < 2 || arguments.length <= i + 2 ? undefined : arguments[i + 2]; if (arg && arg.prototype && arg.prototype.render) { // eslint-disable-next-line no-console console.error('You seem to be applying the arguments in the wrong order. ' + "It should be ".concat(functionName, "(").concat(signature, ")(Component), not the other way around. ") + 'Read more: http://react-dnd.github.io/react-dnd/docs/troubleshooting#you-seem-to-be-applying-the-arguments-in-the-wrong-order'); return; } } } }PK]x�\ x�Ø'�'cjs/decorators/DragLayer.jsnu�[���"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DragLayer = DragLayer; var React = _interopRequireWildcard(require("react")); var _shallowequal = require("@react-dnd/shallowequal"); var _hoistNonReactStatics = _interopRequireDefault(require("hoist-non-react-statics")); var _invariant = require("@react-dnd/invariant"); var _DndContext = require("../common/DndContext"); var _js_utils = require("../utils/js_utils"); var _utils = require("./utils"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; } function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } function DragLayer(collect) { var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; (0, _utils.checkDecoratorArguments)('DragLayer', 'collect[, options]', collect, options); (0, _invariant.invariant)(typeof collect === 'function', 'Expected "collect" provided as the first argument to DragLayer to be a function that collects props to inject into the component. ', 'Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-layer', collect); (0, _invariant.invariant)((0, _js_utils.isPlainObject)(options), 'Expected "options" provided as the second argument to DragLayer to be a plain object when specified. ' + 'Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-layer', options); return function decorateLayer(DecoratedComponent) { var Decorated = DecoratedComponent; var _options$arePropsEqua = options.arePropsEqual, arePropsEqual = _options$arePropsEqua === void 0 ? _shallowequal.shallowEqual : _options$arePropsEqua; var displayName = Decorated.displayName || Decorated.name || 'Component'; var DragLayerContainer = /** @class */ function () { var DragLayerContainer = /*#__PURE__*/function (_React$Component) { _inherits(DragLayerContainer, _React$Component); var _super = _createSuper(DragLayerContainer); function DragLayerContainer() { var _this; _classCallCheck(this, DragLayerContainer); _this = _super.apply(this, arguments); _this.isCurrentlyMounted = false; _this.ref = React.createRef(); _this.handleChange = function () { if (!_this.isCurrentlyMounted) { return; } var nextState = _this.getCurrentState(); if (!(0, _shallowequal.shallowEqual)(nextState, _this.state)) { _this.setState(nextState); } }; return _this; } _createClass(DragLayerContainer, [{ key: "getDecoratedComponentInstance", value: function getDecoratedComponentInstance() { (0, _invariant.invariant)(this.ref.current, 'In order to access an instance of the decorated component, it must either be a class component or use React.forwardRef()'); return this.ref.current; } }, { key: "shouldComponentUpdate", value: function shouldComponentUpdate(nextProps, nextState) { return !arePropsEqual(nextProps, this.props) || !(0, _shallowequal.shallowEqual)(nextState, this.state); } }, { key: "componentDidMount", value: function componentDidMount() { this.isCurrentlyMounted = true; this.handleChange(); } }, { key: "componentWillUnmount", value: function componentWillUnmount() { this.isCurrentlyMounted = false; if (this.unsubscribeFromOffsetChange) { this.unsubscribeFromOffsetChange(); this.unsubscribeFromOffsetChange = undefined; } if (this.unsubscribeFromStateChange) { this.unsubscribeFromStateChange(); this.unsubscribeFromStateChange = undefined; } } }, { key: "render", value: function render() { var _this2 = this; return React.createElement(_DndContext.DndContext.Consumer, null, function (_ref) { var dragDropManager = _ref.dragDropManager; if (dragDropManager === undefined) { return null; } _this2.receiveDragDropManager(dragDropManager); // Let componentDidMount fire to initialize the collected state if (!_this2.isCurrentlyMounted) { return null; } return React.createElement(Decorated, Object.assign({}, _this2.props, _this2.state, { ref: (0, _utils.isRefable)(Decorated) ? _this2.ref : null })); }); } }, { key: "receiveDragDropManager", value: function receiveDragDropManager(dragDropManager) { if (this.manager !== undefined) { return; } this.manager = dragDropManager; (0, _invariant.invariant)(_typeof(dragDropManager) === 'object', 'Could not find the drag and drop manager in the context of %s. ' + 'Make sure to render a DndProvider component in your top-level component. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/troubleshooting#could-not-find-the-drag-and-drop-manager-in-the-context', displayName, displayName); var monitor = this.manager.getMonitor(); this.unsubscribeFromOffsetChange = monitor.subscribeToOffsetChange(this.handleChange); this.unsubscribeFromStateChange = monitor.subscribeToStateChange(this.handleChange); } }, { key: "getCurrentState", value: function getCurrentState() { if (!this.manager) { return {}; } var monitor = this.manager.getMonitor(); return collect(monitor, this.props); } }]); return DragLayerContainer; }(React.Component); DragLayerContainer.displayName = "DragLayer(".concat(displayName, ")"); DragLayerContainer.DecoratedComponent = DecoratedComponent; return DragLayerContainer; }(); return (0, _hoistNonReactStatics.default)(DragLayerContainer, DecoratedComponent); }; }PK]x�\�"��JJcjs/decorators/DropTarget.jsnu�[���"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DropTarget = DropTarget; var _invariant = require("@react-dnd/invariant"); var _js_utils = require("../utils/js_utils"); var _registration = require("../common/registration"); var _isValidType = require("../utils/isValidType"); var _TargetConnector = require("../common/TargetConnector"); var _DropTargetMonitorImpl = require("../common/DropTargetMonitorImpl"); var _utils = require("./utils"); var _decorateHandler = require("./decorateHandler"); var _createTargetFactory = require("./createTargetFactory"); function DropTarget(type, spec, collect) { var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; (0, _utils.checkDecoratorArguments)('DropTarget', 'type, spec, collect[, options]', type, spec, collect, options); var getType = type; if (typeof type !== 'function') { (0, _invariant.invariant)((0, _isValidType.isValidType)(type, true), 'Expected "type" provided as the first argument to DropTarget to be ' + 'a string, an array of strings, or a function that returns either given ' + 'the current props. Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target', type); getType = function getType() { return type; }; } (0, _invariant.invariant)((0, _js_utils.isPlainObject)(spec), 'Expected "spec" provided as the second argument to DropTarget to be ' + 'a plain object. Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target', spec); var createTarget = (0, _createTargetFactory.createTargetFactory)(spec); (0, _invariant.invariant)(typeof collect === 'function', 'Expected "collect" provided as the third argument to DropTarget to be ' + 'a function that returns a plain object of props to inject. ' + 'Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target', collect); (0, _invariant.invariant)((0, _js_utils.isPlainObject)(options), 'Expected "options" provided as the fourth argument to DropTarget to be ' + 'a plain object when specified. ' + 'Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target', collect); return function decorateTarget(DecoratedComponent) { return (0, _decorateHandler.decorateHandler)({ containerDisplayName: 'DropTarget', createHandler: createTarget, registerHandler: _registration.registerTarget, createMonitor: function createMonitor(manager) { return new _DropTargetMonitorImpl.DropTargetMonitorImpl(manager); }, createConnector: function createConnector(backend) { return new _TargetConnector.TargetConnector(backend); }, DecoratedComponent: DecoratedComponent, getType: getType, collect: collect, options: options }); }; }PK]x�\�Z���4�4!cjs/decorators/decorateHandler.jsnu�[���"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.decorateHandler = decorateHandler; var React = _interopRequireWildcard(require("react")); var _shallowequal = require("@react-dnd/shallowequal"); var _invariant = require("@react-dnd/invariant"); var _hoistNonReactStatics = _interopRequireDefault(require("hoist-non-react-statics")); var _DndContext = require("../common/DndContext"); var _js_utils = require("../utils/js_utils"); var _disposables = require("./disposables"); var _utils = require("./utils"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; } function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } function decorateHandler(_ref) { var DecoratedComponent = _ref.DecoratedComponent, createHandler = _ref.createHandler, createMonitor = _ref.createMonitor, createConnector = _ref.createConnector, registerHandler = _ref.registerHandler, containerDisplayName = _ref.containerDisplayName, getType = _ref.getType, collect = _ref.collect, options = _ref.options; var _options$arePropsEqua = options.arePropsEqual, arePropsEqual = _options$arePropsEqua === void 0 ? _shallowequal.shallowEqual : _options$arePropsEqua; var Decorated = DecoratedComponent; var displayName = DecoratedComponent.displayName || DecoratedComponent.name || 'Component'; var DragDropContainer = /** @class */ function () { var DragDropContainer = /*#__PURE__*/function (_React$Component) { _inherits(DragDropContainer, _React$Component); var _super = _createSuper(DragDropContainer); function DragDropContainer(props) { var _this; _classCallCheck(this, DragDropContainer); _this = _super.call(this, props); _this.decoratedRef = React.createRef(); _this.handleChange = function () { var nextState = _this.getCurrentState(); if (!(0, _shallowequal.shallowEqual)(nextState, _this.state)) { _this.setState(nextState); } }; _this.disposable = new _disposables.SerialDisposable(); _this.receiveProps(props); _this.dispose(); return _this; } _createClass(DragDropContainer, [{ key: "getHandlerId", value: function getHandlerId() { return this.handlerId; } }, { key: "getDecoratedComponentInstance", value: function getDecoratedComponentInstance() { (0, _invariant.invariant)(this.decoratedRef.current, 'In order to access an instance of the decorated component, it must either be a class component or use React.forwardRef()'); return this.decoratedRef.current; } }, { key: "shouldComponentUpdate", value: function shouldComponentUpdate(nextProps, nextState) { return !arePropsEqual(nextProps, this.props) || !(0, _shallowequal.shallowEqual)(nextState, this.state); } }, { key: "componentDidMount", value: function componentDidMount() { this.disposable = new _disposables.SerialDisposable(); this.currentType = undefined; this.receiveProps(this.props); this.handleChange(); } }, { key: "componentDidUpdate", value: function componentDidUpdate(prevProps) { if (!arePropsEqual(this.props, prevProps)) { this.receiveProps(this.props); this.handleChange(); } } }, { key: "componentWillUnmount", value: function componentWillUnmount() { this.dispose(); } }, { key: "receiveProps", value: function receiveProps(props) { if (!this.handler) { return; } this.handler.receiveProps(props); this.receiveType(getType(props)); } }, { key: "receiveType", value: function receiveType(type) { if (!this.handlerMonitor || !this.manager || !this.handlerConnector) { return; } if (type === this.currentType) { return; } this.currentType = type; var _registerHandler = registerHandler(type, this.handler, this.manager), _registerHandler2 = _slicedToArray(_registerHandler, 2), handlerId = _registerHandler2[0], unregister = _registerHandler2[1]; this.handlerId = handlerId; this.handlerMonitor.receiveHandlerId(handlerId); this.handlerConnector.receiveHandlerId(handlerId); var globalMonitor = this.manager.getMonitor(); var unsubscribe = globalMonitor.subscribeToStateChange(this.handleChange, { handlerIds: [handlerId] }); this.disposable.setDisposable(new _disposables.CompositeDisposable(new _disposables.Disposable(unsubscribe), new _disposables.Disposable(unregister))); } }, { key: "dispose", value: function dispose() { this.disposable.dispose(); if (this.handlerConnector) { this.handlerConnector.receiveHandlerId(null); } } }, { key: "getCurrentState", value: function getCurrentState() { if (!this.handlerConnector) { return {}; } var nextState = collect(this.handlerConnector.hooks, this.handlerMonitor, this.props); if (process.env.NODE_ENV !== 'production') { (0, _invariant.invariant)((0, _js_utils.isPlainObject)(nextState), 'Expected `collect` specified as the second argument to ' + '%s for %s to return a plain object of props to inject. ' + 'Instead, received %s.', containerDisplayName, displayName, nextState); } return nextState; } }, { key: "render", value: function render() { var _this2 = this; return React.createElement(_DndContext.DndContext.Consumer, null, function (_ref2) { var dragDropManager = _ref2.dragDropManager; _this2.receiveDragDropManager(dragDropManager); if (typeof requestAnimationFrame !== 'undefined') { requestAnimationFrame(function () { var _this2$handlerConnect; return (_this2$handlerConnect = _this2.handlerConnector) === null || _this2$handlerConnect === void 0 ? void 0 : _this2$handlerConnect.reconnect(); }); } return React.createElement(Decorated, Object.assign({}, _this2.props, _this2.getCurrentState(), { // NOTE: if Decorated is a Function Component, decoratedRef will not be populated unless it's a refforwarding component. ref: (0, _utils.isRefable)(Decorated) ? _this2.decoratedRef : null })); }); } }, { key: "receiveDragDropManager", value: function receiveDragDropManager(dragDropManager) { if (this.manager !== undefined) { return; } (0, _invariant.invariant)(dragDropManager !== undefined, 'Could not find the drag and drop manager in the context of %s. ' + 'Make sure to render a DndProvider component in your top-level component. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/troubleshooting#could-not-find-the-drag-and-drop-manager-in-the-context', displayName, displayName); if (dragDropManager === undefined) { return; } this.manager = dragDropManager; this.handlerMonitor = createMonitor(dragDropManager); this.handlerConnector = createConnector(dragDropManager.getBackend()); this.handler = createHandler(this.handlerMonitor, this.decoratedRef); } }]); return DragDropContainer; }(React.Component); DragDropContainer.DecoratedComponent = DecoratedComponent; DragDropContainer.displayName = "".concat(containerDisplayName, "(").concat(displayName, ")"); return DragDropContainer; }(); return (0, _hoistNonReactStatics.default)(DragDropContainer, DecoratedComponent); }PK]x�\g`�!��cjs/decorators/index.jsnu�[���"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _DragSource = require("./DragSource"); Object.keys(_DragSource).forEach(function (key) { if (key === "default" || key === "__esModule") return; Object.defineProperty(exports, key, { enumerable: true, get: function get() { return _DragSource[key]; } }); }); var _DropTarget = require("./DropTarget"); Object.keys(_DropTarget).forEach(function (key) { if (key === "default" || key === "__esModule") return; Object.defineProperty(exports, key, { enumerable: true, get: function get() { return _DropTarget[key]; } }); }); var _DragLayer = require("./DragLayer"); Object.keys(_DragLayer).forEach(function (key) { if (key === "default" || key === "__esModule") return; Object.defineProperty(exports, key, { enumerable: true, get: function get() { return _DragLayer[key]; } }); }); var _interfaces = require("./interfaces"); Object.keys(_interfaces).forEach(function (key) { if (key === "default" || key === "__esModule") return; Object.defineProperty(exports, key, { enumerable: true, get: function get() { return _interfaces[key]; } }); });PK]x�\1懊��cjs/decorators/DragSource.jsnu�[���"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DragSource = DragSource; var _invariant = require("@react-dnd/invariant"); var _js_utils = require("../utils/js_utils"); var _utils = require("./utils"); var _decorateHandler = require("./decorateHandler"); var _registration = require("../common/registration"); var _DragSourceMonitorImpl = require("../common/DragSourceMonitorImpl"); var _SourceConnector = require("../common/SourceConnector"); var _isValidType = require("../utils/isValidType"); var _createSourceFactory = require("./createSourceFactory"); /** * Decorates a component as a dragsource * @param type The dragsource type * @param spec The drag source specification * @param collect The props collector function * @param options DnD options */ function DragSource(type, spec, collect) { var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; (0, _utils.checkDecoratorArguments)('DragSource', 'type, spec, collect[, options]', type, spec, collect, options); var getType = type; if (typeof type !== 'function') { (0, _invariant.invariant)((0, _isValidType.isValidType)(type), 'Expected "type" provided as the first argument to DragSource to be ' + 'a string, or a function that returns a string given the current props. ' + 'Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source', type); getType = function getType() { return type; }; } (0, _invariant.invariant)((0, _js_utils.isPlainObject)(spec), 'Expected "spec" provided as the second argument to DragSource to be ' + 'a plain object. Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source', spec); var createSource = (0, _createSourceFactory.createSourceFactory)(spec); (0, _invariant.invariant)(typeof collect === 'function', 'Expected "collect" provided as the third argument to DragSource to be ' + 'a function that returns a plain object of props to inject. ' + 'Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source', collect); (0, _invariant.invariant)((0, _js_utils.isPlainObject)(options), 'Expected "options" provided as the fourth argument to DragSource to be ' + 'a plain object when specified. ' + 'Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source', collect); return function decorateSource(DecoratedComponent) { return (0, _decorateHandler.decorateHandler)({ containerDisplayName: 'DragSource', createHandler: createSource, registerHandler: _registration.registerSource, createConnector: function createConnector(backend) { return new _SourceConnector.SourceConnector(backend); }, createMonitor: function createMonitor(manager) { return new _DragSourceMonitorImpl.DragSourceMonitorImpl(manager); }, DecoratedComponent: DecoratedComponent, getType: getType, collect: collect, options: options }); }; }PK]x�\�v��zz%cjs/decorators/createSourceFactory.jsnu�[���"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createSourceFactory = createSourceFactory; var _invariant = require("@react-dnd/invariant"); var _js_utils = require("../utils/js_utils"); var _utils = require("./utils"); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } var ALLOWED_SPEC_METHODS = ['canDrag', 'beginDrag', 'isDragging', 'endDrag']; var REQUIRED_SPEC_METHODS = ['beginDrag']; var SourceImpl = /*#__PURE__*/function () { function SourceImpl(spec, monitor, ref) { var _this = this; _classCallCheck(this, SourceImpl); this.props = null; this.beginDrag = function () { if (!_this.props) { return; } var item = _this.spec.beginDrag(_this.props, _this.monitor, _this.ref.current); if (process.env.NODE_ENV !== 'production') { (0, _invariant.invariant)((0, _js_utils.isPlainObject)(item), 'beginDrag() must return a plain object that represents the dragged item. ' + 'Instead received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source', item); } return item; }; this.spec = spec; this.monitor = monitor; this.ref = ref; } _createClass(SourceImpl, [{ key: "receiveProps", value: function receiveProps(props) { this.props = props; } }, { key: "canDrag", value: function canDrag() { if (!this.props) { return false; } if (!this.spec.canDrag) { return true; } return this.spec.canDrag(this.props, this.monitor); } }, { key: "isDragging", value: function isDragging(globalMonitor, sourceId) { if (!this.props) { return false; } if (!this.spec.isDragging) { return sourceId === globalMonitor.getSourceId(); } return this.spec.isDragging(this.props, this.monitor); } }, { key: "endDrag", value: function endDrag() { if (!this.props) { return; } if (!this.spec.endDrag) { return; } this.spec.endDrag(this.props, this.monitor, (0, _utils.getDecoratedComponent)(this.ref)); } }]); return SourceImpl; }(); function createSourceFactory(spec) { Object.keys(spec).forEach(function (key) { (0, _invariant.invariant)(ALLOWED_SPEC_METHODS.indexOf(key) > -1, 'Expected the drag source specification to only have ' + 'some of the following keys: %s. ' + 'Instead received a specification with an unexpected "%s" key. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source', ALLOWED_SPEC_METHODS.join(', '), key); (0, _invariant.invariant)(typeof spec[key] === 'function', 'Expected %s in the drag source specification to be a function. ' + 'Instead received a specification with %s: %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source', key, key, spec[key]); }); REQUIRED_SPEC_METHODS.forEach(function (key) { (0, _invariant.invariant)(typeof spec[key] === 'function', 'Expected %s in the drag source specification to be a function. ' + 'Instead received a specification with %s: %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source', key, key, spec[key]); }); return function createSource(monitor, ref) { return new SourceImpl(spec, monitor, ref); }; }PK]x�\��B� %cjs/decorators/createTargetFactory.jsnu�[���"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createTargetFactory = createTargetFactory; var _invariant = require("@react-dnd/invariant"); var _js_utils = require("../utils/js_utils"); var _utils = require("./utils"); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } var ALLOWED_SPEC_METHODS = ['canDrop', 'hover', 'drop']; var TargetImpl = /*#__PURE__*/function () { function TargetImpl(spec, monitor, ref) { _classCallCheck(this, TargetImpl); this.props = null; this.spec = spec; this.monitor = monitor; this.ref = ref; } _createClass(TargetImpl, [{ key: "receiveProps", value: function receiveProps(props) { this.props = props; } }, { key: "receiveMonitor", value: function receiveMonitor(monitor) { this.monitor = monitor; } }, { key: "canDrop", value: function canDrop() { if (!this.spec.canDrop) { return true; } return this.spec.canDrop(this.props, this.monitor); } }, { key: "hover", value: function hover() { if (!this.spec.hover || !this.props) { return; } this.spec.hover(this.props, this.monitor, (0, _utils.getDecoratedComponent)(this.ref)); } }, { key: "drop", value: function drop() { if (!this.spec.drop) { return undefined; } var dropResult = this.spec.drop(this.props, this.monitor, this.ref.current); if (process.env.NODE_ENV !== 'production') { (0, _invariant.invariant)(typeof dropResult === 'undefined' || (0, _js_utils.isPlainObject)(dropResult), 'drop() must either return undefined, or an object that represents the drop result. ' + 'Instead received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target', dropResult); } return dropResult; } }]); return TargetImpl; }(); function createTargetFactory(spec) { Object.keys(spec).forEach(function (key) { (0, _invariant.invariant)(ALLOWED_SPEC_METHODS.indexOf(key) > -1, 'Expected the drop target specification to only have ' + 'some of the following keys: %s. ' + 'Instead received a specification with an unexpected "%s" key. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target', ALLOWED_SPEC_METHODS.join(', '), key); (0, _invariant.invariant)(typeof spec[key] === 'function', 'Expected %s in the drop target specification to be a function. ' + 'Instead received a specification with %s: %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target', key, key, spec[key]); }); return function createTarget(monitor, ref) { return new TargetImpl(spec, monitor, ref); }; }PK]x�\&�vk��cjs/decorators/disposables.jsnu�[���"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SerialDisposable = exports.CompositeDisposable = exports.Disposable = void 0; var _js_utils = require("../utils/js_utils"); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } /** * Provides a set of static methods for creating Disposables. * @param {Function} action Action to run during the first call to dispose. * The action is guaranteed to be run at most once. */ var Disposable = /** @class */ function () { var Disposable = /*#__PURE__*/function () { function Disposable(action) { _classCallCheck(this, Disposable); this.isDisposed = false; this.action = (0, _js_utils.isFunction)(action) ? action : _js_utils.noop; } /** * Validates whether the given object is a disposable * @param {Object} Object to test whether it has a dispose method * @returns {Boolean} true if a disposable object, else false. */ _createClass(Disposable, [{ key: "dispose", /** Performs the task of cleaning up resources. */ value: function dispose() { if (!this.isDisposed) { this.action(); this.isDisposed = true; } } }], [{ key: "isDisposable", value: function isDisposable(d) { return Boolean(d && (0, _js_utils.isFunction)(d.dispose)); } }, { key: "_fixup", value: function _fixup(result) { return Disposable.isDisposable(result) ? result : Disposable.empty; } /** * Creates a disposable object that invokes the specified action when disposed. * @param {Function} dispose Action to run during the first call to dispose. * The action is guaranteed to be run at most once. * @return {Disposable} The disposable object that runs the given action upon disposal. */ }, { key: "create", value: function create(action) { return new Disposable(action); } }]); return Disposable; }(); /** * Gets the disposable that does nothing when disposed. */ Disposable.empty = { dispose: _js_utils.noop }; return Disposable; }(); exports.Disposable = Disposable; /** * Represents a group of disposable resources that are disposed together. * @constructor */ var CompositeDisposable = /*#__PURE__*/function () { function CompositeDisposable() { _classCallCheck(this, CompositeDisposable); this.isDisposed = false; for (var _len = arguments.length, disposables = new Array(_len), _key = 0; _key < _len; _key++) { disposables[_key] = arguments[_key]; } this.disposables = disposables; } /** * Adds a disposable to the CompositeDisposable or disposes the disposable if the CompositeDisposable is disposed. * @param {Any} item Disposable to add. */ _createClass(CompositeDisposable, [{ key: "add", value: function add(item) { if (this.isDisposed) { item.dispose(); } else { this.disposables.push(item); } } /** * Removes and disposes the first occurrence of a disposable from the CompositeDisposable. * @param {Any} item Disposable to remove. * @returns {Boolean} true if found; false otherwise. */ }, { key: "remove", value: function remove(item) { var shouldDispose = false; if (!this.isDisposed) { var idx = this.disposables.indexOf(item); if (idx !== -1) { shouldDispose = true; this.disposables.splice(idx, 1); item.dispose(); } } return shouldDispose; } /** * Disposes all disposables in the group and removes them from the group but * does not dispose the CompositeDisposable. */ }, { key: "clear", value: function clear() { if (!this.isDisposed) { var len = this.disposables.length; var currentDisposables = new Array(len); for (var i = 0; i < len; i++) { currentDisposables[i] = this.disposables[i]; } this.disposables = []; for (var _i = 0; _i < len; _i++) { currentDisposables[_i].dispose(); } } } /** * Disposes all disposables in the group and removes them from the group. */ }, { key: "dispose", value: function dispose() { if (!this.isDisposed) { this.isDisposed = true; var len = this.disposables.length; var currentDisposables = new Array(len); for (var i = 0; i < len; i++) { currentDisposables[i] = this.disposables[i]; } this.disposables = []; for (var _i2 = 0; _i2 < len; _i2++) { currentDisposables[_i2].dispose(); } } } }]); return CompositeDisposable; }(); /** * Represents a disposable resource whose underlying disposable resource can * be replaced by another disposable resource, causing automatic disposal of * the previous underlying disposable resource. */ exports.CompositeDisposable = CompositeDisposable; var SerialDisposable = /*#__PURE__*/function () { function SerialDisposable() { _classCallCheck(this, SerialDisposable); this.isDisposed = false; } /** * Gets the underlying disposable. * @returns {Any} the underlying disposable. */ _createClass(SerialDisposable, [{ key: "getDisposable", value: function getDisposable() { return this.current; } }, { key: "setDisposable", value: function setDisposable(value) { var shouldDispose = this.isDisposed; if (!shouldDispose) { var old = this.current; this.current = value; if (old) { old.dispose(); } } if (shouldDispose && value) { value.dispose(); } } /** Performs the task of cleaning up resources. */ }, { key: "dispose", value: function dispose() { if (!this.isDisposed) { this.isDisposed = true; var old = this.current; this.current = undefined; if (old) { old.dispose(); } } } }]); return SerialDisposable; }(); exports.SerialDisposable = SerialDisposable;PK]x�\eۢ6 cjs/decorators/interfaces.jsnu�[���"use strict";PK]x�\3n�ۢ�cjs/utils/isRef.jsnu�[���"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isRef = isRef; function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function isRef(obj) { return (// eslint-disable-next-line no-prototype-builtins obj !== null && _typeof(obj) === 'object' && Object.prototype.hasOwnProperty.call(obj, 'current') ); }PK]x�\Ԟ��%%cjs/utils/cloneWithRef.jsnu�[���"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.cloneWithRef = cloneWithRef; var _react = require("react"); var _invariant = require("@react-dnd/invariant"); function setRef(ref, node) { if (typeof ref === 'function') { ref(node); } else { ref.current = node; } } function cloneWithRef(element, newRef) { var previousRef = element.ref; (0, _invariant.invariant)(typeof previousRef !== 'string', 'Cannot connect React DnD to an element with an existing string ref. ' + 'Please convert it to use a callback ref instead, or wrap it into a <span> or <div>. ' + 'Read more: https://facebook.github.io/react/docs/more-about-refs.html#the-ref-callback-attribute'); if (!previousRef) { // When there is no ref on the element, use the new ref directly return (0, _react.cloneElement)(element, { ref: newRef }); } else { return (0, _react.cloneElement)(element, { ref: function ref(node) { setRef(previousRef, node); setRef(newRef, node); } }); } }PK]x�\c�¯22cjs/utils/js_utils.jsnu�[���"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.memoize = memoize; exports.without = without; exports.union = union; // cheap lodash replacements function memoize(fn) { var result = null; var memoized = function memoized() { if (result == null) { result = fn(); } return result; }; return memoized; } /** * drop-in replacement for _.without */ function without(items, item) { return items.filter(function (i) { return i !== item; }); } function union(itemsA, itemsB) { var set = new Set(); var insertItem = function insertItem(item) { return set.add(item); }; itemsA.forEach(insertItem); itemsB.forEach(insertItem); var result = []; set.forEach(function (key) { return result.push(key); }); return result; }PK]x�\ܜ����cjs/utils/isValidType.jsnu�[���"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isValidType = isValidType; function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function isValidType(type, allowArray) { return typeof type === 'string' || _typeof(type) === 'symbol' || !!allowArray && Array.isArray(type) && type.every(function (t) { return isValidType(t, false); }); }PK]x�\ɺe� � cjs/index.jsnu�[���"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _exportNames = {}; var _asapJs = _interopRequireWildcard(require("./asap.js")); Object.keys(_asapJs).forEach(function(key) { if (key === "default" || key === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; if (key in exports && exports[key] === _asapJs[key]) return; Object.defineProperty(exports, key, { enumerable: true, get: function() { return _asapJs[key]; } }); }); var _typesJs = _interopRequireWildcard(require("./types.js")); Object.keys(_typesJs).forEach(function(key) { if (key === "default" || key === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; if (key in exports && exports[key] === _typesJs[key]) return; Object.defineProperty(exports, key, { enumerable: true, get: function() { return _typesJs[key]; } }); }); var _asapQueueJs = _interopRequireWildcard(require("./AsapQueue.js")); Object.keys(_asapQueueJs).forEach(function(key) { if (key === "default" || key === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; if (key in exports && exports[key] === _asapQueueJs[key]) return; Object.defineProperty(exports, key, { enumerable: true, get: function() { return _asapQueueJs[key]; } }); }); var _taskFactoryJs = _interopRequireWildcard(require("./TaskFactory.js")); Object.keys(_taskFactoryJs).forEach(function(key) { if (key === "default" || key === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; if (key in exports && exports[key] === _taskFactoryJs[key]) return; Object.defineProperty(exports, key, { enumerable: true, get: function() { return _taskFactoryJs[key]; } }); }); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for(var key in obj){ if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } //# sourceMappingURL=index.js.mapPK]x�\eۢ6 cjs/interfaces/hooksApi.jsnu�[���"use strict";PK]x�\eۢ6 cjs/interfaces/monitors.jsnu�[���"use strict";PK]x�\�x�ӯ�cjs/interfaces/index.jsnu�[���"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _monitors = require("./monitors"); Object.keys(_monitors).forEach(function (key) { if (key === "default" || key === "__esModule") return; Object.defineProperty(exports, key, { enumerable: true, get: function get() { return _monitors[key]; } }); }); var _hooksApi = require("./hooksApi"); Object.keys(_hooksApi).forEach(function (key) { if (key === "default" || key === "__esModule") return; Object.defineProperty(exports, key, { enumerable: true, get: function get() { return _hooksApi[key]; } }); }); var _options = require("./options"); Object.keys(_options).forEach(function (key) { if (key === "default" || key === "__esModule") return; Object.defineProperty(exports, key, { enumerable: true, get: function get() { return _options[key]; } }); }); var _connectors = require("./connectors"); Object.keys(_connectors).forEach(function (key) { if (key === "default" || key === "__esModule") return; Object.defineProperty(exports, key, { enumerable: true, get: function get() { return _connectors[key]; } }); });PK]x�\eۢ6 cjs/interfaces/connectors.jsnu�[���"use strict";PK]x�\eۢ6 cjs/interfaces/options.jsnu�[���"use strict";PK]x�\�Uʃ�cjs/hooks/useDrop.jsnu�[���"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useDrop = useDrop; var _react = require("react"); var _invariant = require("@react-dnd/invariant"); var _useMonitorOutput = require("./internal/useMonitorOutput"); var _useIsomorphicLayoutEffect = require("./internal/useIsomorphicLayoutEffect"); var _drop = require("./internal/drop"); function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } /** * useDropTarget Hook * @param spec The drop target specification */ function useDrop(spec) { var specRef = (0, _react.useRef)(spec); specRef.current = spec; (0, _invariant.invariant)(spec.accept != null, 'accept must be defined'); var _useDropTargetMonitor = (0, _drop.useDropTargetMonitor)(), _useDropTargetMonitor2 = _slicedToArray(_useDropTargetMonitor, 2), monitor = _useDropTargetMonitor2[0], connector = _useDropTargetMonitor2[1]; (0, _drop.useDropHandler)(specRef, monitor, connector); var result = (0, _useMonitorOutput.useMonitorOutput)(monitor, specRef.current.collect || function () { return {}; }, function () { return connector.reconnect(); }); var connectDropTarget = (0, _react.useMemo)(function () { return connector.hooks.dropTarget(); }, [connector]); (0, _useIsomorphicLayoutEffect.useIsomorphicLayoutEffect)(function () { connector.dropTargetOptions = spec.options || null; connector.reconnect(); }, [spec.options]); return [result, connectDropTarget]; }PK]x�\�����cjs/hooks/internal/drag.jsnu�[���"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useDragSourceMonitor = useDragSourceMonitor; exports.useDragHandler = useDragHandler; var _react = require("react"); var _invariant = require("@react-dnd/invariant"); var _registration = require("../../common/registration"); var _useDragDropManager = require("../useDragDropManager"); var _DragSourceMonitorImpl = require("../../common/DragSourceMonitorImpl"); var _SourceConnector = require("../../common/SourceConnector"); var _useIsomorphicLayoutEffect = require("./useIsomorphicLayoutEffect"); function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function useDragSourceMonitor() { var manager = (0, _useDragDropManager.useDragDropManager)(); var monitor = (0, _react.useMemo)(function () { return new _DragSourceMonitorImpl.DragSourceMonitorImpl(manager); }, [manager]); var connector = (0, _react.useMemo)(function () { return new _SourceConnector.SourceConnector(manager.getBackend()); }, [manager]); return [monitor, connector]; } function useDragHandler(spec, monitor, connector) { var manager = (0, _useDragDropManager.useDragDropManager)(); var handler = (0, _react.useMemo)(function () { return { beginDrag: function beginDrag() { var _spec$current = spec.current, begin = _spec$current.begin, item = _spec$current.item; if (begin) { var beginResult = begin(monitor); (0, _invariant.invariant)(beginResult == null || _typeof(beginResult) === 'object', 'dragSpec.begin() must either return an object, undefined, or null'); return beginResult || item || {}; } return item || {}; }, canDrag: function canDrag() { if (typeof spec.current.canDrag === 'boolean') { return spec.current.canDrag; } else if (typeof spec.current.canDrag === 'function') { return spec.current.canDrag(monitor); } else { return true; } }, isDragging: function isDragging(globalMonitor, target) { var isDragging = spec.current.isDragging; return isDragging ? isDragging(monitor) : target === globalMonitor.getSourceId(); }, endDrag: function endDrag() { var end = spec.current.end; if (end) { end(monitor.getItem(), monitor); } connector.reconnect(); } }; }, []); (0, _useIsomorphicLayoutEffect.useIsomorphicLayoutEffect)(function registerHandler() { var _registerSource = (0, _registration.registerSource)(spec.current.item.type, handler, manager), _registerSource2 = _slicedToArray(_registerSource, 2), handlerId = _registerSource2[0], unregister = _registerSource2[1]; monitor.receiveHandlerId(handlerId); connector.receiveHandlerId(handlerId); return unregister; }, []); }PK]x�\C��8~~/cjs/hooks/internal/useIsomorphicLayoutEffect.jsnu�[���"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useIsomorphicLayoutEffect = void 0; var _react = require("react"); // suppress the useLayoutEffect warning on server side. var useIsomorphicLayoutEffect = typeof window !== 'undefined' ? _react.useLayoutEffect : _react.useEffect; exports.useIsomorphicLayoutEffect = useIsomorphicLayoutEffect;PK]x�\h,Jk k &cjs/hooks/internal/useMonitorOutput.jsnu�[���"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useMonitorOutput = useMonitorOutput; var _useIsomorphicLayoutEffect = require("./useIsomorphicLayoutEffect"); var _useCollector3 = require("./useCollector"); function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } function useMonitorOutput(monitor, collect, onCollect) { var _useCollector = (0, _useCollector3.useCollector)(monitor, collect, onCollect), _useCollector2 = _slicedToArray(_useCollector, 2), collected = _useCollector2[0], updateCollected = _useCollector2[1]; (0, _useIsomorphicLayoutEffect.useIsomorphicLayoutEffect)(function subscribeToMonitorStateChange() { var handlerId = monitor.getHandlerId(); if (handlerId == null) { return undefined; } return monitor.subscribeToStateChange(updateCollected, { handlerIds: [handlerId] }); }, [monitor, updateCollected]); return collected; }PK]x�\�S��##cjs/hooks/internal/drop.jsnu�[���"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useDropTargetMonitor = useDropTargetMonitor; exports.useDropHandler = useDropHandler; var _react = require("react"); var _registration = require("../../common/registration"); var _useDragDropManager = require("../useDragDropManager"); var _TargetConnector = require("../../common/TargetConnector"); var _DropTargetMonitorImpl = require("../../common/DropTargetMonitorImpl"); var _useIsomorphicLayoutEffect = require("./useIsomorphicLayoutEffect"); function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } function useDropTargetMonitor() { var manager = (0, _useDragDropManager.useDragDropManager)(); var monitor = (0, _react.useMemo)(function () { return new _DropTargetMonitorImpl.DropTargetMonitorImpl(manager); }, [manager]); var connector = (0, _react.useMemo)(function () { return new _TargetConnector.TargetConnector(manager.getBackend()); }, [manager]); return [monitor, connector]; } function useDropHandler(spec, monitor, connector) { var manager = (0, _useDragDropManager.useDragDropManager)(); var handler = (0, _react.useMemo)(function () { return { canDrop: function canDrop() { var canDrop = spec.current.canDrop; return canDrop ? canDrop(monitor.getItem(), monitor) : true; }, hover: function hover() { var hover = spec.current.hover; if (hover) { hover(monitor.getItem(), monitor); } }, drop: function drop() { var drop = spec.current.drop; if (drop) { return drop(monitor.getItem(), monitor); } } }; }, [monitor]); (0, _useIsomorphicLayoutEffect.useIsomorphicLayoutEffect)(function registerHandler() { var _registerTarget = (0, _registration.registerTarget)(spec.current.accept, handler, manager), _registerTarget2 = _slicedToArray(_registerTarget, 2), handlerId = _registerTarget2[0], unregister = _registerTarget2[1]; monitor.receiveHandlerId(handlerId); connector.receiveHandlerId(handlerId); return unregister; }, [monitor, connector]); }PK]x�\�<��� � "cjs/hooks/internal/useCollector.jsnu�[���"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useCollector = useCollector; var _shallowequal = require("@react-dnd/shallowequal"); var _react = require("react"); var _useIsomorphicLayoutEffect = require("./useIsomorphicLayoutEffect"); function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } /** * * @param monitor The monitor to collect state from * @param collect The collecting function * @param onUpdate A method to invoke when updates occur */ function useCollector(monitor, collect, onUpdate) { var _useState = (0, _react.useState)(function () { return collect(monitor); }), _useState2 = _slicedToArray(_useState, 2), collected = _useState2[0], setCollected = _useState2[1]; var updateCollected = (0, _react.useCallback)(function () { var nextValue = collect(monitor); if (!(0, _shallowequal.shallowEqual)(collected, nextValue)) { setCollected(nextValue); if (onUpdate) { onUpdate(); } } }, [collected, monitor, onUpdate]); // update the collected properties after the first render // and the components are attached to dnd-core (0, _useIsomorphicLayoutEffect.useIsomorphicLayoutEffect)(updateCollected, []); return [collected, updateCollected]; }PK]x�\�~]#��cjs/hooks/index.jsnu�[���"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _useDrag = require("./useDrag"); Object.keys(_useDrag).forEach(function (key) { if (key === "default" || key === "__esModule") return; Object.defineProperty(exports, key, { enumerable: true, get: function get() { return _useDrag[key]; } }); }); var _useDrop = require("./useDrop"); Object.keys(_useDrop).forEach(function (key) { if (key === "default" || key === "__esModule") return; Object.defineProperty(exports, key, { enumerable: true, get: function get() { return _useDrop[key]; } }); }); var _useDragLayer = require("./useDragLayer"); Object.keys(_useDragLayer).forEach(function (key) { if (key === "default" || key === "__esModule") return; Object.defineProperty(exports, key, { enumerable: true, get: function get() { return _useDragLayer[key]; } }); }); var _useDragDropManager = require("./useDragDropManager"); Object.keys(_useDragDropManager).forEach(function (key) { if (key === "default" || key === "__esModule") return; Object.defineProperty(exports, key, { enumerable: true, get: function get() { return _useDragDropManager[key]; } }); });PK]x�\6@��d d cjs/hooks/useDrag.jsnu�[���"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useDrag = useDrag; var _react = require("react"); var _invariant = require("@react-dnd/invariant"); var _useMonitorOutput = require("./internal/useMonitorOutput"); var _useIsomorphicLayoutEffect = require("./internal/useIsomorphicLayoutEffect"); var _drag = require("./internal/drag"); function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } /** * useDragSource hook * @param sourceSpec The drag source specification * */ function useDrag(spec) { var specRef = (0, _react.useRef)(spec); specRef.current = spec; // TODO: wire options into createSourceConnector (0, _invariant.invariant)(spec.item != null, 'item must be defined'); (0, _invariant.invariant)(spec.item.type != null, 'item type must be defined'); var _useDragSourceMonitor = (0, _drag.useDragSourceMonitor)(), _useDragSourceMonitor2 = _slicedToArray(_useDragSourceMonitor, 2), monitor = _useDragSourceMonitor2[0], connector = _useDragSourceMonitor2[1]; (0, _drag.useDragHandler)(specRef, monitor, connector); var result = (0, _useMonitorOutput.useMonitorOutput)(monitor, specRef.current.collect || function () { return {}; }, function () { return connector.reconnect(); }); var connectDragSource = (0, _react.useMemo)(function () { return connector.hooks.dragSource(); }, [connector]); var connectDragPreview = (0, _react.useMemo)(function () { return connector.hooks.dragPreview(); }, [connector]); (0, _useIsomorphicLayoutEffect.useIsomorphicLayoutEffect)(function () { connector.dragSourceOptions = specRef.current.options || null; connector.reconnect(); }, [connector]); (0, _useIsomorphicLayoutEffect.useIsomorphicLayoutEffect)(function () { connector.dragPreviewOptions = specRef.current.previewOptions || null; connector.reconnect(); }, [connector]); return [result, connectDragSource, connectDragPreview]; }PK]x�\��n�� � cjs/hooks/useDragLayer.jsnu�[���"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useDragLayer = useDragLayer; var _react = require("react"); var _useDragDropManager = require("./useDragDropManager"); var _useCollector3 = require("./internal/useCollector"); function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } /** * useDragLayer Hook * @param collector The property collector */ function useDragLayer(collect) { var dragDropManager = (0, _useDragDropManager.useDragDropManager)(); var monitor = dragDropManager.getMonitor(); var _useCollector = (0, _useCollector3.useCollector)(monitor, collect), _useCollector2 = _slicedToArray(_useCollector, 2), collected = _useCollector2[0], updateCollected = _useCollector2[1]; (0, _react.useEffect)(function () { return monitor.subscribeToOffsetChange(updateCollected); }); (0, _react.useEffect)(function () { return monitor.subscribeToStateChange(updateCollected); }); return collected; }PK]x�\�ʦ�QQcjs/hooks/useDragDropManager.jsnu�[���"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useDragDropManager = useDragDropManager; var _react = require("react"); var _invariant = require("@react-dnd/invariant"); var _DndContext = require("../common/DndContext"); /** * A hook to retrieve the DragDropManager from Context */ function useDragDropManager() { var _useContext = (0, _react.useContext)(_DndContext.DndContext), dragDropManager = _useContext.dragDropManager; (0, _invariant.invariant)(dragDropManager != null, 'Expected drag drop context'); return dragDropManager; }PK]x�\���fcjs/common/SourceConnector.jsnu�[���"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SourceConnector = void 0; var _wrapConnectorHooks = require("./wrapConnectorHooks"); var _isRef = require("../utils/isRef"); var _shallowequal = require("@react-dnd/shallowequal"); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } var SourceConnector = /*#__PURE__*/function () { function SourceConnector(backend) { var _this = this; _classCallCheck(this, SourceConnector); this.hooks = (0, _wrapConnectorHooks.wrapConnectorHooks)({ dragSource: function dragSource(node, options) { _this.clearDragSource(); _this.dragSourceOptions = options || null; if ((0, _isRef.isRef)(node)) { _this.dragSourceRef = node; } else { _this.dragSourceNode = node; } _this.reconnectDragSource(); }, dragPreview: function dragPreview(node, options) { _this.clearDragPreview(); _this.dragPreviewOptions = options || null; if ((0, _isRef.isRef)(node)) { _this.dragPreviewRef = node; } else { _this.dragPreviewNode = node; } _this.reconnectDragPreview(); } }); this.handlerId = null; // The drop target may either be attached via ref or connect function this.dragSourceRef = null; this.dragSourceOptionsInternal = null; // The drag preview may either be attached via ref or connect function this.dragPreviewRef = null; this.dragPreviewOptionsInternal = null; this.lastConnectedHandlerId = null; this.lastConnectedDragSource = null; this.lastConnectedDragSourceOptions = null; this.lastConnectedDragPreview = null; this.lastConnectedDragPreviewOptions = null; this.backend = backend; } _createClass(SourceConnector, [{ key: "receiveHandlerId", value: function receiveHandlerId(newHandlerId) { if (this.handlerId === newHandlerId) { return; } this.handlerId = newHandlerId; this.reconnect(); } }, { key: "reconnect", value: function reconnect() { this.reconnectDragSource(); this.reconnectDragPreview(); } }, { key: "reconnectDragSource", value: function reconnectDragSource() { var dragSource = this.dragSource; // if nothing has changed then don't resubscribe var didChange = this.didHandlerIdChange() || this.didConnectedDragSourceChange() || this.didDragSourceOptionsChange(); if (didChange) { this.disconnectDragSource(); } if (!this.handlerId) { return; } if (!dragSource) { this.lastConnectedDragSource = dragSource; return; } if (didChange) { this.lastConnectedHandlerId = this.handlerId; this.lastConnectedDragSource = dragSource; this.lastConnectedDragSourceOptions = this.dragSourceOptions; this.dragSourceUnsubscribe = this.backend.connectDragSource(this.handlerId, dragSource, this.dragSourceOptions); } } }, { key: "reconnectDragPreview", value: function reconnectDragPreview() { var dragPreview = this.dragPreview; // if nothing has changed then don't resubscribe var didChange = this.didHandlerIdChange() || this.didConnectedDragPreviewChange() || this.didDragPreviewOptionsChange(); if (didChange) { this.disconnectDragPreview(); } if (!this.handlerId) { return; } if (!dragPreview) { this.lastConnectedDragPreview = dragPreview; return; } if (didChange) { this.lastConnectedHandlerId = this.handlerId; this.lastConnectedDragPreview = dragPreview; this.lastConnectedDragPreviewOptions = this.dragPreviewOptions; this.dragPreviewUnsubscribe = this.backend.connectDragPreview(this.handlerId, dragPreview, this.dragPreviewOptions); } } }, { key: "didHandlerIdChange", value: function didHandlerIdChange() { return this.lastConnectedHandlerId !== this.handlerId; } }, { key: "didConnectedDragSourceChange", value: function didConnectedDragSourceChange() { return this.lastConnectedDragSource !== this.dragSource; } }, { key: "didConnectedDragPreviewChange", value: function didConnectedDragPreviewChange() { return this.lastConnectedDragPreview !== this.dragPreview; } }, { key: "didDragSourceOptionsChange", value: function didDragSourceOptionsChange() { return !(0, _shallowequal.shallowEqual)(this.lastConnectedDragSourceOptions, this.dragSourceOptions); } }, { key: "didDragPreviewOptionsChange", value: function didDragPreviewOptionsChange() { return !(0, _shallowequal.shallowEqual)(this.lastConnectedDragPreviewOptions, this.dragPreviewOptions); } }, { key: "disconnectDragSource", value: function disconnectDragSource() { if (this.dragSourceUnsubscribe) { this.dragSourceUnsubscribe(); this.dragSourceUnsubscribe = undefined; } } }, { key: "disconnectDragPreview", value: function disconnectDragPreview() { if (this.dragPreviewUnsubscribe) { this.dragPreviewUnsubscribe(); this.dragPreviewUnsubscribe = undefined; this.dragPreviewNode = null; this.dragPreviewRef = null; } } }, { key: "clearDragSource", value: function clearDragSource() { this.dragSourceNode = null; this.dragSourceRef = null; } }, { key: "clearDragPreview", value: function clearDragPreview() { this.dragPreviewNode = null; this.dragPreviewRef = null; } }, { key: "connectTarget", get: function get() { return this.dragSource; } }, { key: "dragSourceOptions", get: function get() { return this.dragSourceOptionsInternal; }, set: function set(options) { this.dragSourceOptionsInternal = options; } }, { key: "dragPreviewOptions", get: function get() { return this.dragPreviewOptionsInternal; }, set: function set(options) { this.dragPreviewOptionsInternal = options; } }, { key: "dragSource", get: function get() { return this.dragSourceNode || this.dragSourceRef && this.dragSourceRef.current; } }, { key: "dragPreview", get: function get() { return this.dragPreviewNode || this.dragPreviewRef && this.dragPreviewRef.current; } }]); return SourceConnector; }(); exports.SourceConnector = SourceConnector;PK]x�\/��#cjs/common/DropTargetMonitorImpl.jsnu�[���"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DropTargetMonitorImpl = void 0; var _invariant = require("@react-dnd/invariant"); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } var isCallingCanDrop = false; var DropTargetMonitorImpl = /*#__PURE__*/function () { function DropTargetMonitorImpl(manager) { _classCallCheck(this, DropTargetMonitorImpl); this.targetId = null; this.internalMonitor = manager.getMonitor(); } _createClass(DropTargetMonitorImpl, [{ key: "receiveHandlerId", value: function receiveHandlerId(targetId) { this.targetId = targetId; } }, { key: "getHandlerId", value: function getHandlerId() { return this.targetId; } }, { key: "subscribeToStateChange", value: function subscribeToStateChange(listener, options) { return this.internalMonitor.subscribeToStateChange(listener, options); } }, { key: "canDrop", value: function canDrop() { // Cut out early if the target id has not been set. This should prevent errors // where the user has an older version of dnd-core like in // https://github.com/react-dnd/react-dnd/issues/1310 if (!this.targetId) { return false; } (0, _invariant.invariant)(!isCallingCanDrop, 'You may not call monitor.canDrop() inside your canDrop() implementation. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target-monitor'); try { isCallingCanDrop = true; return this.internalMonitor.canDropOnTarget(this.targetId); } finally { isCallingCanDrop = false; } } }, { key: "isOver", value: function isOver(options) { if (!this.targetId) { return false; } return this.internalMonitor.isOverTarget(this.targetId, options); } }, { key: "getItemType", value: function getItemType() { return this.internalMonitor.getItemType(); } }, { key: "getItem", value: function getItem() { return this.internalMonitor.getItem(); } }, { key: "getDropResult", value: function getDropResult() { return this.internalMonitor.getDropResult(); } }, { key: "didDrop", value: function didDrop() { return this.internalMonitor.didDrop(); } }, { key: "getInitialClientOffset", value: function getInitialClientOffset() { return this.internalMonitor.getInitialClientOffset(); } }, { key: "getInitialSourceClientOffset", value: function getInitialSourceClientOffset() { return this.internalMonitor.getInitialSourceClientOffset(); } }, { key: "getSourceClientOffset", value: function getSourceClientOffset() { return this.internalMonitor.getSourceClientOffset(); } }, { key: "getClientOffset", value: function getClientOffset() { return this.internalMonitor.getClientOffset(); } }, { key: "getDifferenceFromInitialOffset", value: function getDifferenceFromInitialOffset() { return this.internalMonitor.getDifferenceFromInitialOffset(); } }]); return DropTargetMonitorImpl; }(); exports.DropTargetMonitorImpl = DropTargetMonitorImpl;PK]x�\/�K$aacjs/common/DndProvider.jsnu�[���"use strict"; function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } Object.defineProperty(exports, "__esModule", { value: true }); exports.DndProvider = void 0; var React = _interopRequireWildcard(require("react")); var _DndContext = require("./DndContext"); function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; } function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } var refCount = 0; /** * A React component that provides the React-DnD context */ var DndProvider = (0, React.memo)(function (_ref) { var children = _ref.children, props = _objectWithoutProperties(_ref, ["children"]); var _getDndContextValue = getDndContextValue(props), _getDndContextValue2 = _slicedToArray(_getDndContextValue, 2), manager = _getDndContextValue2[0], isGlobalInstance = _getDndContextValue2[1]; // memoized from props /** * If the global context was used to store the DND context * then where theres no more references to it we should * clean it up to avoid memory leaks */ React.useEffect(function () { if (isGlobalInstance) { refCount++; } return function () { if (isGlobalInstance) { refCount--; if (refCount === 0) { var context = getGlobalContext(); context[instanceSymbol] = null; } } }; }, []); return React.createElement(_DndContext.DndContext.Provider, { value: manager }, children); }); exports.DndProvider = DndProvider; DndProvider.displayName = 'DndProvider'; function getDndContextValue(props) { if ('manager' in props) { var _manager = { dragDropManager: props.manager }; return [_manager, false]; } var manager = createSingletonDndContext(props.backend, props.context, props.options, props.debugMode); var isGlobalInstance = !props.context; return [manager, isGlobalInstance]; } var instanceSymbol = Symbol.for('__REACT_DND_CONTEXT_INSTANCE__'); function createSingletonDndContext(backend) { var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getGlobalContext(); var options = arguments.length > 2 ? arguments[2] : undefined; var debugMode = arguments.length > 3 ? arguments[3] : undefined; var ctx = context; if (!ctx[instanceSymbol]) { ctx[instanceSymbol] = (0, _DndContext.createDndContext)(backend, context, options, debugMode); } return ctx[instanceSymbol]; } function getGlobalContext() { return typeof global !== 'undefined' ? global : window; }PK]x�\UbI8 cjs/common/wrapConnectorHooks.jsnu�[���"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.wrapConnectorHooks = wrapConnectorHooks; var _react = require("react"); var _cloneWithRef = require("../utils/cloneWithRef"); function throwIfCompositeComponentElement(element) { // Custom components can no longer be wrapped directly in React DnD 2.0 // so that we don't need to depend on findDOMNode() from react-dom. if (typeof element.type === 'string') { return; } var displayName = element.type.displayName || element.type.name || 'the component'; throw new Error('Only native element nodes can now be passed to React DnD connectors.' + "You can either wrap ".concat(displayName, " into a <div>, or turn it into a ") + 'drag source or a drop target itself.'); } function wrapHookToRecognizeElement(hook) { return function () { var elementOrNode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; // When passed a node, call the hook straight away. if (!(0, _react.isValidElement)(elementOrNode)) { var node = elementOrNode; hook(node, options); // return the node so it can be chained (e.g. when within callback refs // <div ref={node => connectDragSource(connectDropTarget(node))}/> return node; } // If passed a ReactElement, clone it and attach this function as a ref. // This helps us achieve a neat API where user doesn't even know that refs // are being used under the hood. var element = elementOrNode; throwIfCompositeComponentElement(element); // When no options are passed, use the hook directly var ref = options ? function (node) { return hook(node, options); } : hook; return (0, _cloneWithRef.cloneWithRef)(element, ref); }; } function wrapConnectorHooks(hooks) { var wrappedHooks = {}; Object.keys(hooks).forEach(function (key) { var hook = hooks[key]; // ref objects should be passed straight through without wrapping if (key.endsWith('Ref')) { wrappedHooks[key] = hooks[key]; } else { var wrappedHook = wrapHookToRecognizeElement(hook); wrappedHooks[key] = function () { return wrappedHook; }; } }); return wrappedHooks; }PK]x�\g�z���cjs/common/index.jsnu�[���"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _DndContext = require("./DndContext"); Object.keys(_DndContext).forEach(function (key) { if (key === "default" || key === "__esModule") return; Object.defineProperty(exports, key, { enumerable: true, get: function get() { return _DndContext[key]; } }); }); var _DndProvider = require("./DndProvider"); Object.keys(_DndProvider).forEach(function (key) { if (key === "default" || key === "__esModule") return; Object.defineProperty(exports, key, { enumerable: true, get: function get() { return _DndProvider[key]; } }); }); var _DragPreviewImage = require("./DragPreviewImage"); Object.keys(_DragPreviewImage).forEach(function (key) { if (key === "default" || key === "__esModule") return; Object.defineProperty(exports, key, { enumerable: true, get: function get() { return _DragPreviewImage[key]; } }); });PK]x�\7��cjs/common/TargetConnector.jsnu�[���"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.TargetConnector = void 0; var _shallowequal = require("@react-dnd/shallowequal"); var _wrapConnectorHooks = require("./wrapConnectorHooks"); var _isRef = require("../utils/isRef"); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } var TargetConnector = /*#__PURE__*/function () { function TargetConnector(backend) { var _this = this; _classCallCheck(this, TargetConnector); this.hooks = (0, _wrapConnectorHooks.wrapConnectorHooks)({ dropTarget: function dropTarget(node, options) { _this.clearDropTarget(); _this.dropTargetOptions = options; if ((0, _isRef.isRef)(node)) { _this.dropTargetRef = node; } else { _this.dropTargetNode = node; } _this.reconnect(); } }); this.handlerId = null; // The drop target may either be attached via ref or connect function this.dropTargetRef = null; this.dropTargetOptionsInternal = null; this.lastConnectedHandlerId = null; this.lastConnectedDropTarget = null; this.lastConnectedDropTargetOptions = null; this.backend = backend; } _createClass(TargetConnector, [{ key: "reconnect", value: function reconnect() { // if nothing has changed then don't resubscribe var didChange = this.didHandlerIdChange() || this.didDropTargetChange() || this.didOptionsChange(); if (didChange) { this.disconnectDropTarget(); } var dropTarget = this.dropTarget; if (!this.handlerId) { return; } if (!dropTarget) { this.lastConnectedDropTarget = dropTarget; return; } if (didChange) { this.lastConnectedHandlerId = this.handlerId; this.lastConnectedDropTarget = dropTarget; this.lastConnectedDropTargetOptions = this.dropTargetOptions; this.unsubscribeDropTarget = this.backend.connectDropTarget(this.handlerId, dropTarget, this.dropTargetOptions); } } }, { key: "receiveHandlerId", value: function receiveHandlerId(newHandlerId) { if (newHandlerId === this.handlerId) { return; } this.handlerId = newHandlerId; this.reconnect(); } }, { key: "didHandlerIdChange", value: function didHandlerIdChange() { return this.lastConnectedHandlerId !== this.handlerId; } }, { key: "didDropTargetChange", value: function didDropTargetChange() { return this.lastConnectedDropTarget !== this.dropTarget; } }, { key: "didOptionsChange", value: function didOptionsChange() { return !(0, _shallowequal.shallowEqual)(this.lastConnectedDropTargetOptions, this.dropTargetOptions); } }, { key: "disconnectDropTarget", value: function disconnectDropTarget() { if (this.unsubscribeDropTarget) { this.unsubscribeDropTarget(); this.unsubscribeDropTarget = undefined; } } }, { key: "clearDropTarget", value: function clearDropTarget() { this.dropTargetRef = null; this.dropTargetNode = null; } }, { key: "connectTarget", get: function get() { return this.dropTarget; } }, { key: "dropTargetOptions", get: function get() { return this.dropTargetOptionsInternal; }, set: function set(options) { this.dropTargetOptionsInternal = options; } }, { key: "dropTarget", get: function get() { return this.dropTargetNode || this.dropTargetRef && this.dropTargetRef.current; } }]); return TargetConnector; }(); exports.TargetConnector = TargetConnector;PK]x�\�֏��cjs/common/DndContext.jsnu�[���"use strict"; function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } Object.defineProperty(exports, "__esModule", { value: true }); exports.createDndContext = createDndContext; exports.DndContext = void 0; var React = _interopRequireWildcard(require("react")); var _dndCore = require("dnd-core"); function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; } function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } /** * Create the React Context */ var DndContext = React.createContext({ dragDropManager: undefined }); /** * Creates the context object we're providing * @param backend * @param context */ exports.DndContext = DndContext; function createDndContext(backend, context, options, debugMode) { return { dragDropManager: (0, _dndCore.createDragDropManager)(backend, context, options, debugMode) }; }PK]x�\S�-9??cjs/common/DragPreviewImage.jsnu�[���"use strict"; function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } Object.defineProperty(exports, "__esModule", { value: true }); exports.DragPreviewImage = void 0; var React = _interopRequireWildcard(require("react")); function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; } function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } /* * A utility for rendering a drag preview image */ var DragPreviewImage = React.memo(function (_ref) { var connect = _ref.connect, src = _ref.src; React.useEffect(function () { if (typeof Image === 'undefined') return; var connected = false; var img = new Image(); img.src = src; img.onload = function () { connect(img); connected = true; }; return function () { if (connected) { connect(null); } }; }); return null; }); exports.DragPreviewImage = DragPreviewImage; DragPreviewImage.displayName = 'DragPreviewImage';PK]x�\�Y��#cjs/common/DragSourceMonitorImpl.jsnu�[���"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DragSourceMonitorImpl = void 0; var _invariant = require("@react-dnd/invariant"); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } var isCallingCanDrag = false; var isCallingIsDragging = false; var DragSourceMonitorImpl = /*#__PURE__*/function () { function DragSourceMonitorImpl(manager) { _classCallCheck(this, DragSourceMonitorImpl); this.sourceId = null; this.internalMonitor = manager.getMonitor(); } _createClass(DragSourceMonitorImpl, [{ key: "receiveHandlerId", value: function receiveHandlerId(sourceId) { this.sourceId = sourceId; } }, { key: "getHandlerId", value: function getHandlerId() { return this.sourceId; } }, { key: "canDrag", value: function canDrag() { (0, _invariant.invariant)(!isCallingCanDrag, 'You may not call monitor.canDrag() inside your canDrag() implementation. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source-monitor'); try { isCallingCanDrag = true; return this.internalMonitor.canDragSource(this.sourceId); } finally { isCallingCanDrag = false; } } }, { key: "isDragging", value: function isDragging() { if (!this.sourceId) { return false; } (0, _invariant.invariant)(!isCallingIsDragging, 'You may not call monitor.isDragging() inside your isDragging() implementation. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source-monitor'); try { isCallingIsDragging = true; return this.internalMonitor.isDraggingSource(this.sourceId); } finally { isCallingIsDragging = false; } } }, { key: "subscribeToStateChange", value: function subscribeToStateChange(listener, options) { return this.internalMonitor.subscribeToStateChange(listener, options); } }, { key: "isDraggingSource", value: function isDraggingSource(sourceId) { return this.internalMonitor.isDraggingSource(sourceId); } }, { key: "isOverTarget", value: function isOverTarget(targetId, options) { return this.internalMonitor.isOverTarget(targetId, options); } }, { key: "getTargetIds", value: function getTargetIds() { return this.internalMonitor.getTargetIds(); } }, { key: "isSourcePublic", value: function isSourcePublic() { return this.internalMonitor.isSourcePublic(); } }, { key: "getSourceId", value: function getSourceId() { return this.internalMonitor.getSourceId(); } }, { key: "subscribeToOffsetChange", value: function subscribeToOffsetChange(listener) { return this.internalMonitor.subscribeToOffsetChange(listener); } }, { key: "canDragSource", value: function canDragSource(sourceId) { return this.internalMonitor.canDragSource(sourceId); } }, { key: "canDropOnTarget", value: function canDropOnTarget(targetId) { return this.internalMonitor.canDropOnTarget(targetId); } }, { key: "getItemType", value: function getItemType() { return this.internalMonitor.getItemType(); } }, { key: "getItem", value: function getItem() { return this.internalMonitor.getItem(); } }, { key: "getDropResult", value: function getDropResult() { return this.internalMonitor.getDropResult(); } }, { key: "didDrop", value: function didDrop() { return this.internalMonitor.didDrop(); } }, { key: "getInitialClientOffset", value: function getInitialClientOffset() { return this.internalMonitor.getInitialClientOffset(); } }, { key: "getInitialSourceClientOffset", value: function getInitialSourceClientOffset() { return this.internalMonitor.getInitialSourceClientOffset(); } }, { key: "getSourceClientOffset", value: function getSourceClientOffset() { return this.internalMonitor.getSourceClientOffset(); } }, { key: "getClientOffset", value: function getClientOffset() { return this.internalMonitor.getClientOffset(); } }, { key: "getDifferenceFromInitialOffset", value: function getDifferenceFromInitialOffset() { return this.internalMonitor.getDifferenceFromInitialOffset(); } }]); return DragSourceMonitorImpl; }(); exports.DragSourceMonitorImpl = DragSourceMonitorImpl;PK]x�\ơFggcjs/common/registration.jsnu�[���"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.registerTarget = registerTarget; exports.registerSource = registerSource; function registerTarget(type, target, manager) { var registry = manager.getRegistry(); var targetId = registry.addTarget(type, target); return [targetId, function () { return registry.removeTarget(targetId); }]; } function registerSource(type, source, manager) { var registry = manager.getRegistry(); var sourceId = registry.addSource(type, source); return [sourceId, function () { return registry.removeSource(sourceId); }]; }PK]x�\FM�KKesm/decorators/utils.jsnu�[���export function getDecoratedComponent(instanceRef) { var currentRef = instanceRef.current; if (currentRef == null) { return null; } else if (currentRef.decoratedRef) { // go through the private field in decorateHandler to avoid the invariant hit return currentRef.decoratedRef.current; } else { return currentRef; } } export function isClassComponent(Component) { return Component && Component.prototype && typeof Component.prototype.render === 'function'; } export function isRefForwardingComponent(C) { var _item$$$typeof; var item = C; return (item === null || item === void 0 ? void 0 : (_item$$$typeof = item.$$typeof) === null || _item$$$typeof === void 0 ? void 0 : _item$$$typeof.toString()) === 'Symbol(react.forward_ref)'; } export function isRefable(C) { return isClassComponent(C) || isRefForwardingComponent(C); } export function checkDecoratorArguments(functionName, signature) { if (process.env.NODE_ENV !== 'production') { for (var i = 0; i < (arguments.length <= 2 ? 0 : arguments.length - 2); i++) { var arg = i + 2 < 2 || arguments.length <= i + 2 ? undefined : arguments[i + 2]; if (arg && arg.prototype && arg.prototype.render) { // eslint-disable-next-line no-console console.error('You seem to be applying the arguments in the wrong order. ' + "It should be ".concat(functionName, "(").concat(signature, ")(Component), not the other way around. ") + 'Read more: http://react-dnd.github.io/react-dnd/docs/troubleshooting#you-seem-to-be-applying-the-arguments-in-the-wrong-order'); return; } } } }PK]x�\C��2"2"esm/decorators/DragLayer.jsnu�[���function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } import * as React from 'react'; import { shallowEqual } from '@react-dnd/shallowequal'; import hoistStatics from 'hoist-non-react-statics'; import { invariant } from '@react-dnd/invariant'; import { DndContext } from '../common/DndContext'; import { isPlainObject } from '../utils/js_utils'; import { isRefable, checkDecoratorArguments } from './utils'; export function DragLayer(collect) { var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; checkDecoratorArguments('DragLayer', 'collect[, options]', collect, options); invariant(typeof collect === 'function', 'Expected "collect" provided as the first argument to DragLayer to be a function that collects props to inject into the component. ', 'Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-layer', collect); invariant(isPlainObject(options), 'Expected "options" provided as the second argument to DragLayer to be a plain object when specified. ' + 'Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-layer', options); return function decorateLayer(DecoratedComponent) { var Decorated = DecoratedComponent; var _options$arePropsEqua = options.arePropsEqual, arePropsEqual = _options$arePropsEqua === void 0 ? shallowEqual : _options$arePropsEqua; var displayName = Decorated.displayName || Decorated.name || 'Component'; var DragLayerContainer = /** @class */ function () { var DragLayerContainer = /*#__PURE__*/function (_React$Component) { _inherits(DragLayerContainer, _React$Component); var _super = _createSuper(DragLayerContainer); function DragLayerContainer() { var _this; _classCallCheck(this, DragLayerContainer); _this = _super.apply(this, arguments); _this.isCurrentlyMounted = false; _this.ref = React.createRef(); _this.handleChange = function () { if (!_this.isCurrentlyMounted) { return; } var nextState = _this.getCurrentState(); if (!shallowEqual(nextState, _this.state)) { _this.setState(nextState); } }; return _this; } _createClass(DragLayerContainer, [{ key: "getDecoratedComponentInstance", value: function getDecoratedComponentInstance() { invariant(this.ref.current, 'In order to access an instance of the decorated component, it must either be a class component or use React.forwardRef()'); return this.ref.current; } }, { key: "shouldComponentUpdate", value: function shouldComponentUpdate(nextProps, nextState) { return !arePropsEqual(nextProps, this.props) || !shallowEqual(nextState, this.state); } }, { key: "componentDidMount", value: function componentDidMount() { this.isCurrentlyMounted = true; this.handleChange(); } }, { key: "componentWillUnmount", value: function componentWillUnmount() { this.isCurrentlyMounted = false; if (this.unsubscribeFromOffsetChange) { this.unsubscribeFromOffsetChange(); this.unsubscribeFromOffsetChange = undefined; } if (this.unsubscribeFromStateChange) { this.unsubscribeFromStateChange(); this.unsubscribeFromStateChange = undefined; } } }, { key: "render", value: function render() { var _this2 = this; return React.createElement(DndContext.Consumer, null, function (_ref) { var dragDropManager = _ref.dragDropManager; if (dragDropManager === undefined) { return null; } _this2.receiveDragDropManager(dragDropManager); // Let componentDidMount fire to initialize the collected state if (!_this2.isCurrentlyMounted) { return null; } return React.createElement(Decorated, Object.assign({}, _this2.props, _this2.state, { ref: isRefable(Decorated) ? _this2.ref : null })); }); } }, { key: "receiveDragDropManager", value: function receiveDragDropManager(dragDropManager) { if (this.manager !== undefined) { return; } this.manager = dragDropManager; invariant(_typeof(dragDropManager) === 'object', 'Could not find the drag and drop manager in the context of %s. ' + 'Make sure to render a DndProvider component in your top-level component. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/troubleshooting#could-not-find-the-drag-and-drop-manager-in-the-context', displayName, displayName); var monitor = this.manager.getMonitor(); this.unsubscribeFromOffsetChange = monitor.subscribeToOffsetChange(this.handleChange); this.unsubscribeFromStateChange = monitor.subscribeToStateChange(this.handleChange); } }, { key: "getCurrentState", value: function getCurrentState() { if (!this.manager) { return {}; } var monitor = this.manager.getMonitor(); return collect(monitor, this.props); } }]); return DragLayerContainer; }(React.Component); DragLayerContainer.displayName = "DragLayer(".concat(displayName, ")"); DragLayerContainer.DecoratedComponent = DecoratedComponent; return DragLayerContainer; }(); return hoistStatics(DragLayerContainer, DecoratedComponent); }; }PK]x�\�aj8 esm/decorators/DropTarget.jsnu�[���import { invariant } from '@react-dnd/invariant'; import { isPlainObject } from '../utils/js_utils'; import { registerTarget } from '../common/registration'; import { isValidType } from '../utils/isValidType'; import { TargetConnector } from '../common/TargetConnector'; import { DropTargetMonitorImpl } from '../common/DropTargetMonitorImpl'; import { checkDecoratorArguments } from './utils'; import { decorateHandler } from './decorateHandler'; import { createTargetFactory } from './createTargetFactory'; export function DropTarget(type, spec, collect) { var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; checkDecoratorArguments('DropTarget', 'type, spec, collect[, options]', type, spec, collect, options); var getType = type; if (typeof type !== 'function') { invariant(isValidType(type, true), 'Expected "type" provided as the first argument to DropTarget to be ' + 'a string, an array of strings, or a function that returns either given ' + 'the current props. Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target', type); getType = function getType() { return type; }; } invariant(isPlainObject(spec), 'Expected "spec" provided as the second argument to DropTarget to be ' + 'a plain object. Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target', spec); var createTarget = createTargetFactory(spec); invariant(typeof collect === 'function', 'Expected "collect" provided as the third argument to DropTarget to be ' + 'a function that returns a plain object of props to inject. ' + 'Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target', collect); invariant(isPlainObject(options), 'Expected "options" provided as the fourth argument to DropTarget to be ' + 'a plain object when specified. ' + 'Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target', collect); return function decorateTarget(DecoratedComponent) { return decorateHandler({ containerDisplayName: 'DropTarget', createHandler: createTarget, registerHandler: registerTarget, createMonitor: function createMonitor(manager) { return new DropTargetMonitorImpl(manager); }, createConnector: function createConnector(backend) { return new TargetConnector(backend); }, DecoratedComponent: DecoratedComponent, getType: getType, collect: collect, options: options }); }; }PK]x�\��;O/O/!esm/decorators/decorateHandler.jsnu�[���function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } import * as React from 'react'; import { shallowEqual } from '@react-dnd/shallowequal'; import { invariant } from '@react-dnd/invariant'; import hoistStatics from 'hoist-non-react-statics'; import { DndContext } from '../common/DndContext'; import { isPlainObject } from '../utils/js_utils'; import { Disposable, CompositeDisposable, SerialDisposable } from './disposables'; import { isRefable } from './utils'; export function decorateHandler(_ref) { var DecoratedComponent = _ref.DecoratedComponent, createHandler = _ref.createHandler, createMonitor = _ref.createMonitor, createConnector = _ref.createConnector, registerHandler = _ref.registerHandler, containerDisplayName = _ref.containerDisplayName, getType = _ref.getType, collect = _ref.collect, options = _ref.options; var _options$arePropsEqua = options.arePropsEqual, arePropsEqual = _options$arePropsEqua === void 0 ? shallowEqual : _options$arePropsEqua; var Decorated = DecoratedComponent; var displayName = DecoratedComponent.displayName || DecoratedComponent.name || 'Component'; var DragDropContainer = /** @class */ function () { var DragDropContainer = /*#__PURE__*/function (_React$Component) { _inherits(DragDropContainer, _React$Component); var _super = _createSuper(DragDropContainer); function DragDropContainer(props) { var _this; _classCallCheck(this, DragDropContainer); _this = _super.call(this, props); _this.decoratedRef = React.createRef(); _this.handleChange = function () { var nextState = _this.getCurrentState(); if (!shallowEqual(nextState, _this.state)) { _this.setState(nextState); } }; _this.disposable = new SerialDisposable(); _this.receiveProps(props); _this.dispose(); return _this; } _createClass(DragDropContainer, [{ key: "getHandlerId", value: function getHandlerId() { return this.handlerId; } }, { key: "getDecoratedComponentInstance", value: function getDecoratedComponentInstance() { invariant(this.decoratedRef.current, 'In order to access an instance of the decorated component, it must either be a class component or use React.forwardRef()'); return this.decoratedRef.current; } }, { key: "shouldComponentUpdate", value: function shouldComponentUpdate(nextProps, nextState) { return !arePropsEqual(nextProps, this.props) || !shallowEqual(nextState, this.state); } }, { key: "componentDidMount", value: function componentDidMount() { this.disposable = new SerialDisposable(); this.currentType = undefined; this.receiveProps(this.props); this.handleChange(); } }, { key: "componentDidUpdate", value: function componentDidUpdate(prevProps) { if (!arePropsEqual(this.props, prevProps)) { this.receiveProps(this.props); this.handleChange(); } } }, { key: "componentWillUnmount", value: function componentWillUnmount() { this.dispose(); } }, { key: "receiveProps", value: function receiveProps(props) { if (!this.handler) { return; } this.handler.receiveProps(props); this.receiveType(getType(props)); } }, { key: "receiveType", value: function receiveType(type) { if (!this.handlerMonitor || !this.manager || !this.handlerConnector) { return; } if (type === this.currentType) { return; } this.currentType = type; var _registerHandler = registerHandler(type, this.handler, this.manager), _registerHandler2 = _slicedToArray(_registerHandler, 2), handlerId = _registerHandler2[0], unregister = _registerHandler2[1]; this.handlerId = handlerId; this.handlerMonitor.receiveHandlerId(handlerId); this.handlerConnector.receiveHandlerId(handlerId); var globalMonitor = this.manager.getMonitor(); var unsubscribe = globalMonitor.subscribeToStateChange(this.handleChange, { handlerIds: [handlerId] }); this.disposable.setDisposable(new CompositeDisposable(new Disposable(unsubscribe), new Disposable(unregister))); } }, { key: "dispose", value: function dispose() { this.disposable.dispose(); if (this.handlerConnector) { this.handlerConnector.receiveHandlerId(null); } } }, { key: "getCurrentState", value: function getCurrentState() { if (!this.handlerConnector) { return {}; } var nextState = collect(this.handlerConnector.hooks, this.handlerMonitor, this.props); if (process.env.NODE_ENV !== 'production') { invariant(isPlainObject(nextState), 'Expected `collect` specified as the second argument to ' + '%s for %s to return a plain object of props to inject. ' + 'Instead, received %s.', containerDisplayName, displayName, nextState); } return nextState; } }, { key: "render", value: function render() { var _this2 = this; return React.createElement(DndContext.Consumer, null, function (_ref2) { var dragDropManager = _ref2.dragDropManager; _this2.receiveDragDropManager(dragDropManager); if (typeof requestAnimationFrame !== 'undefined') { requestAnimationFrame(function () { var _this2$handlerConnect; return (_this2$handlerConnect = _this2.handlerConnector) === null || _this2$handlerConnect === void 0 ? void 0 : _this2$handlerConnect.reconnect(); }); } return React.createElement(Decorated, Object.assign({}, _this2.props, _this2.getCurrentState(), { // NOTE: if Decorated is a Function Component, decoratedRef will not be populated unless it's a refforwarding component. ref: isRefable(Decorated) ? _this2.decoratedRef : null })); }); } }, { key: "receiveDragDropManager", value: function receiveDragDropManager(dragDropManager) { if (this.manager !== undefined) { return; } invariant(dragDropManager !== undefined, 'Could not find the drag and drop manager in the context of %s. ' + 'Make sure to render a DndProvider component in your top-level component. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/troubleshooting#could-not-find-the-drag-and-drop-manager-in-the-context', displayName, displayName); if (dragDropManager === undefined) { return; } this.manager = dragDropManager; this.handlerMonitor = createMonitor(dragDropManager); this.handlerConnector = createConnector(dragDropManager.getBackend()); this.handler = createHandler(this.handlerMonitor, this.decoratedRef); } }]); return DragDropContainer; }(React.Component); DragDropContainer.DecoratedComponent = DecoratedComponent; DragDropContainer.displayName = "".concat(containerDisplayName, "(").concat(displayName, ")"); return DragDropContainer; }(); return hoistStatics(DragDropContainer, DecoratedComponent); }PK]x�\���uvvesm/decorators/index.jsnu�[���export * from './DragSource'; export * from './DropTarget'; export * from './DragLayer'; export * from './interfaces';PK]x�\�\� � esm/decorators/DragSource.jsnu�[���import { invariant } from '@react-dnd/invariant'; import { isPlainObject } from '../utils/js_utils'; import { checkDecoratorArguments } from './utils'; import { decorateHandler } from './decorateHandler'; import { registerSource } from '../common/registration'; import { DragSourceMonitorImpl } from '../common/DragSourceMonitorImpl'; import { SourceConnector } from '../common/SourceConnector'; import { isValidType } from '../utils/isValidType'; import { createSourceFactory } from './createSourceFactory'; /** * Decorates a component as a dragsource * @param type The dragsource type * @param spec The drag source specification * @param collect The props collector function * @param options DnD options */ export function DragSource(type, spec, collect) { var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; checkDecoratorArguments('DragSource', 'type, spec, collect[, options]', type, spec, collect, options); var getType = type; if (typeof type !== 'function') { invariant(isValidType(type), 'Expected "type" provided as the first argument to DragSource to be ' + 'a string, or a function that returns a string given the current props. ' + 'Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source', type); getType = function getType() { return type; }; } invariant(isPlainObject(spec), 'Expected "spec" provided as the second argument to DragSource to be ' + 'a plain object. Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source', spec); var createSource = createSourceFactory(spec); invariant(typeof collect === 'function', 'Expected "collect" provided as the third argument to DragSource to be ' + 'a function that returns a plain object of props to inject. ' + 'Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source', collect); invariant(isPlainObject(options), 'Expected "options" provided as the fourth argument to DragSource to be ' + 'a plain object when specified. ' + 'Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source', collect); return function decorateSource(DecoratedComponent) { return decorateHandler({ containerDisplayName: 'DragSource', createHandler: createSource, registerHandler: registerSource, createConnector: function createConnector(backend) { return new SourceConnector(backend); }, createMonitor: function createMonitor(manager) { return new DragSourceMonitorImpl(manager); }, DecoratedComponent: DecoratedComponent, getType: getType, collect: collect, options: options }); }; }PK]x�\�٤��%esm/decorators/createSourceFactory.jsnu�[���function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } import { invariant } from '@react-dnd/invariant'; import { isPlainObject } from '../utils/js_utils'; import { getDecoratedComponent } from './utils'; var ALLOWED_SPEC_METHODS = ['canDrag', 'beginDrag', 'isDragging', 'endDrag']; var REQUIRED_SPEC_METHODS = ['beginDrag']; var SourceImpl = /*#__PURE__*/function () { function SourceImpl(spec, monitor, ref) { var _this = this; _classCallCheck(this, SourceImpl); this.props = null; this.beginDrag = function () { if (!_this.props) { return; } var item = _this.spec.beginDrag(_this.props, _this.monitor, _this.ref.current); if (process.env.NODE_ENV !== 'production') { invariant(isPlainObject(item), 'beginDrag() must return a plain object that represents the dragged item. ' + 'Instead received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source', item); } return item; }; this.spec = spec; this.monitor = monitor; this.ref = ref; } _createClass(SourceImpl, [{ key: "receiveProps", value: function receiveProps(props) { this.props = props; } }, { key: "canDrag", value: function canDrag() { if (!this.props) { return false; } if (!this.spec.canDrag) { return true; } return this.spec.canDrag(this.props, this.monitor); } }, { key: "isDragging", value: function isDragging(globalMonitor, sourceId) { if (!this.props) { return false; } if (!this.spec.isDragging) { return sourceId === globalMonitor.getSourceId(); } return this.spec.isDragging(this.props, this.monitor); } }, { key: "endDrag", value: function endDrag() { if (!this.props) { return; } if (!this.spec.endDrag) { return; } this.spec.endDrag(this.props, this.monitor, getDecoratedComponent(this.ref)); } }]); return SourceImpl; }(); export function createSourceFactory(spec) { Object.keys(spec).forEach(function (key) { invariant(ALLOWED_SPEC_METHODS.indexOf(key) > -1, 'Expected the drag source specification to only have ' + 'some of the following keys: %s. ' + 'Instead received a specification with an unexpected "%s" key. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source', ALLOWED_SPEC_METHODS.join(', '), key); invariant(typeof spec[key] === 'function', 'Expected %s in the drag source specification to be a function. ' + 'Instead received a specification with %s: %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source', key, key, spec[key]); }); REQUIRED_SPEC_METHODS.forEach(function (key) { invariant(typeof spec[key] === 'function', 'Expected %s in the drag source specification to be a function. ' + 'Instead received a specification with %s: %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source', key, key, spec[key]); }); return function createSource(monitor, ref) { return new SourceImpl(spec, monitor, ref); }; }PK]x�\A9�QUU%esm/decorators/createTargetFactory.jsnu�[���function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } import { invariant } from '@react-dnd/invariant'; import { isPlainObject } from '../utils/js_utils'; import { getDecoratedComponent } from './utils'; var ALLOWED_SPEC_METHODS = ['canDrop', 'hover', 'drop']; var TargetImpl = /*#__PURE__*/function () { function TargetImpl(spec, monitor, ref) { _classCallCheck(this, TargetImpl); this.props = null; this.spec = spec; this.monitor = monitor; this.ref = ref; } _createClass(TargetImpl, [{ key: "receiveProps", value: function receiveProps(props) { this.props = props; } }, { key: "receiveMonitor", value: function receiveMonitor(monitor) { this.monitor = monitor; } }, { key: "canDrop", value: function canDrop() { if (!this.spec.canDrop) { return true; } return this.spec.canDrop(this.props, this.monitor); } }, { key: "hover", value: function hover() { if (!this.spec.hover || !this.props) { return; } this.spec.hover(this.props, this.monitor, getDecoratedComponent(this.ref)); } }, { key: "drop", value: function drop() { if (!this.spec.drop) { return undefined; } var dropResult = this.spec.drop(this.props, this.monitor, this.ref.current); if (process.env.NODE_ENV !== 'production') { invariant(typeof dropResult === 'undefined' || isPlainObject(dropResult), 'drop() must either return undefined, or an object that represents the drop result. ' + 'Instead received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target', dropResult); } return dropResult; } }]); return TargetImpl; }(); export function createTargetFactory(spec) { Object.keys(spec).forEach(function (key) { invariant(ALLOWED_SPEC_METHODS.indexOf(key) > -1, 'Expected the drop target specification to only have ' + 'some of the following keys: %s. ' + 'Instead received a specification with an unexpected "%s" key. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target', ALLOWED_SPEC_METHODS.join(', '), key); invariant(typeof spec[key] === 'function', 'Expected %s in the drop target specification to be a function. ' + 'Instead received a specification with %s: %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target', key, key, spec[key]); }); return function createTarget(monitor, ref) { return new TargetImpl(spec, monitor, ref); }; }PK]x�\�8��esm/decorators/disposables.jsnu�[���function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } import { isFunction, noop } from '../utils/js_utils'; /** * Provides a set of static methods for creating Disposables. * @param {Function} action Action to run during the first call to dispose. * The action is guaranteed to be run at most once. */ var Disposable = /** @class */ function () { var Disposable = /*#__PURE__*/function () { function Disposable(action) { _classCallCheck(this, Disposable); this.isDisposed = false; this.action = isFunction(action) ? action : noop; } /** * Validates whether the given object is a disposable * @param {Object} Object to test whether it has a dispose method * @returns {Boolean} true if a disposable object, else false. */ _createClass(Disposable, [{ key: "dispose", /** Performs the task of cleaning up resources. */ value: function dispose() { if (!this.isDisposed) { this.action(); this.isDisposed = true; } } }], [{ key: "isDisposable", value: function isDisposable(d) { return Boolean(d && isFunction(d.dispose)); } }, { key: "_fixup", value: function _fixup(result) { return Disposable.isDisposable(result) ? result : Disposable.empty; } /** * Creates a disposable object that invokes the specified action when disposed. * @param {Function} dispose Action to run during the first call to dispose. * The action is guaranteed to be run at most once. * @return {Disposable} The disposable object that runs the given action upon disposal. */ }, { key: "create", value: function create(action) { return new Disposable(action); } }]); return Disposable; }(); /** * Gets the disposable that does nothing when disposed. */ Disposable.empty = { dispose: noop }; return Disposable; }(); export { Disposable }; /** * Represents a group of disposable resources that are disposed together. * @constructor */ export var CompositeDisposable = /*#__PURE__*/function () { function CompositeDisposable() { _classCallCheck(this, CompositeDisposable); this.isDisposed = false; for (var _len = arguments.length, disposables = new Array(_len), _key = 0; _key < _len; _key++) { disposables[_key] = arguments[_key]; } this.disposables = disposables; } /** * Adds a disposable to the CompositeDisposable or disposes the disposable if the CompositeDisposable is disposed. * @param {Any} item Disposable to add. */ _createClass(CompositeDisposable, [{ key: "add", value: function add(item) { if (this.isDisposed) { item.dispose(); } else { this.disposables.push(item); } } /** * Removes and disposes the first occurrence of a disposable from the CompositeDisposable. * @param {Any} item Disposable to remove. * @returns {Boolean} true if found; false otherwise. */ }, { key: "remove", value: function remove(item) { var shouldDispose = false; if (!this.isDisposed) { var idx = this.disposables.indexOf(item); if (idx !== -1) { shouldDispose = true; this.disposables.splice(idx, 1); item.dispose(); } } return shouldDispose; } /** * Disposes all disposables in the group and removes them from the group but * does not dispose the CompositeDisposable. */ }, { key: "clear", value: function clear() { if (!this.isDisposed) { var len = this.disposables.length; var currentDisposables = new Array(len); for (var i = 0; i < len; i++) { currentDisposables[i] = this.disposables[i]; } this.disposables = []; for (var _i = 0; _i < len; _i++) { currentDisposables[_i].dispose(); } } } /** * Disposes all disposables in the group and removes them from the group. */ }, { key: "dispose", value: function dispose() { if (!this.isDisposed) { this.isDisposed = true; var len = this.disposables.length; var currentDisposables = new Array(len); for (var i = 0; i < len; i++) { currentDisposables[i] = this.disposables[i]; } this.disposables = []; for (var _i2 = 0; _i2 < len; _i2++) { currentDisposables[_i2].dispose(); } } } }]); return CompositeDisposable; }(); /** * Represents a disposable resource whose underlying disposable resource can * be replaced by another disposable resource, causing automatic disposal of * the previous underlying disposable resource. */ export var SerialDisposable = /*#__PURE__*/function () { function SerialDisposable() { _classCallCheck(this, SerialDisposable); this.isDisposed = false; } /** * Gets the underlying disposable. * @returns {Any} the underlying disposable. */ _createClass(SerialDisposable, [{ key: "getDisposable", value: function getDisposable() { return this.current; } }, { key: "setDisposable", value: function setDisposable(value) { var shouldDispose = this.isDisposed; if (!shouldDispose) { var old = this.current; this.current = value; if (old) { old.dispose(); } } if (shouldDispose && value) { value.dispose(); } } /** Performs the task of cleaning up resources. */ }, { key: "dispose", value: function dispose() { if (!this.isDisposed) { this.isDisposed = true; var old = this.current; this.current = undefined; if (old) { old.dispose(); } } } }]); return SerialDisposable; }();PK]x�\esm/decorators/interfaces.jsnu�[���PK]x�\1��AAesm/utils/isRef.jsnu�[���function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } export function isRef(obj) { return (// eslint-disable-next-line no-prototype-builtins obj !== null && _typeof(obj) === 'object' && Object.prototype.hasOwnProperty.call(obj, 'current') ); }PK]x�\�U�ܔ�esm/utils/cloneWithRef.jsnu�[���import { cloneElement } from 'react'; import { invariant } from '@react-dnd/invariant'; function setRef(ref, node) { if (typeof ref === 'function') { ref(node); } else { ref.current = node; } } export function cloneWithRef(element, newRef) { var previousRef = element.ref; invariant(typeof previousRef !== 'string', 'Cannot connect React DnD to an element with an existing string ref. ' + 'Please convert it to use a callback ref instead, or wrap it into a <span> or <div>. ' + 'Read more: https://facebook.github.io/react/docs/more-about-refs.html#the-ref-callback-attribute'); if (!previousRef) { // When there is no ref on the element, use the new ref directly return cloneElement(element, { ref: newRef }); } else { return cloneElement(element, { ref: function ref(node) { setRef(previousRef, node); setRef(newRef, node); } }); } }PK]x�\ �w��esm/utils/js_utils.jsnu�[���// cheap lodash replacements export function memoize(fn) { var result = null; var memoized = function memoized() { if (result == null) { result = fn(); } return result; }; return memoized; } /** * drop-in replacement for _.without */ export function without(items, item) { return items.filter(function (i) { return i !== item; }); } export function union(itemsA, itemsB) { var set = new Set(); var insertItem = function insertItem(item) { return set.add(item); }; itemsA.forEach(insertItem); itemsB.forEach(insertItem); var result = []; set.forEach(function (key) { return result.push(key); }); return result; }PK]x�\�uYYesm/utils/isValidType.jsnu�[���function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } export function isValidType(type, allowArray) { return typeof type === 'string' || _typeof(type) === 'symbol' || !!allowArray && Array.isArray(type) && type.every(function (t) { return isValidType(t, false); }); }PK]x�\esm/interfaces/hooksApi.jsnu�[���PK]x�\esm/interfaces/monitors.jsnu�[���PK]x�\��ާppesm/interfaces/index.jsnu�[���export * from './monitors'; export * from './hooksApi'; export * from './options'; export * from './connectors';PK]x�\esm/interfaces/connectors.jsnu�[���PK]x�\esm/interfaces/options.jsnu�[���PK]x�\��\�� � esm/hooks/useDrop.jsnu�[���function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } import { useRef, useMemo } from 'react'; import { invariant } from '@react-dnd/invariant'; import { useMonitorOutput } from './internal/useMonitorOutput'; import { useIsomorphicLayoutEffect } from './internal/useIsomorphicLayoutEffect'; import { useDropHandler, useDropTargetMonitor } from './internal/drop'; /** * useDropTarget Hook * @param spec The drop target specification */ export function useDrop(spec) { var specRef = useRef(spec); specRef.current = spec; invariant(spec.accept != null, 'accept must be defined'); var _useDropTargetMonitor = useDropTargetMonitor(), _useDropTargetMonitor2 = _slicedToArray(_useDropTargetMonitor, 2), monitor = _useDropTargetMonitor2[0], connector = _useDropTargetMonitor2[1]; useDropHandler(specRef, monitor, connector); var result = useMonitorOutput(monitor, specRef.current.collect || function () { return {}; }, function () { return connector.reconnect(); }); var connectDropTarget = useMemo(function () { return connector.hooks.dropTarget(); }, [connector]); useIsomorphicLayoutEffect(function () { connector.dropTargetOptions = spec.options || null; connector.reconnect(); }, [spec.options]); return [result, connectDropTarget]; }PK]x�\�9Resm/hooks/internal/drag.jsnu�[���function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } import { useMemo } from 'react'; import { invariant } from '@react-dnd/invariant'; import { registerSource } from '../../common/registration'; import { useDragDropManager } from '../useDragDropManager'; import { DragSourceMonitorImpl } from '../../common/DragSourceMonitorImpl'; import { SourceConnector } from '../../common/SourceConnector'; import { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect'; export function useDragSourceMonitor() { var manager = useDragDropManager(); var monitor = useMemo(function () { return new DragSourceMonitorImpl(manager); }, [manager]); var connector = useMemo(function () { return new SourceConnector(manager.getBackend()); }, [manager]); return [monitor, connector]; } export function useDragHandler(spec, monitor, connector) { var manager = useDragDropManager(); var handler = useMemo(function () { return { beginDrag: function beginDrag() { var _spec$current = spec.current, begin = _spec$current.begin, item = _spec$current.item; if (begin) { var beginResult = begin(monitor); invariant(beginResult == null || _typeof(beginResult) === 'object', 'dragSpec.begin() must either return an object, undefined, or null'); return beginResult || item || {}; } return item || {}; }, canDrag: function canDrag() { if (typeof spec.current.canDrag === 'boolean') { return spec.current.canDrag; } else if (typeof spec.current.canDrag === 'function') { return spec.current.canDrag(monitor); } else { return true; } }, isDragging: function isDragging(globalMonitor, target) { var isDragging = spec.current.isDragging; return isDragging ? isDragging(monitor) : target === globalMonitor.getSourceId(); }, endDrag: function endDrag() { var end = spec.current.end; if (end) { end(monitor.getItem(), monitor); } connector.reconnect(); } }; }, []); useIsomorphicLayoutEffect(function registerHandler() { var _registerSource = registerSource(spec.current.item.type, handler, manager), _registerSource2 = _slicedToArray(_registerSource, 2), handlerId = _registerSource2[0], unregister = _registerSource2[1]; monitor.receiveHandlerId(handlerId); connector.receiveHandlerId(handlerId); return unregister; }, []); }PK]x�\��|���/esm/hooks/internal/useIsomorphicLayoutEffect.jsnu�[���import { useLayoutEffect, useEffect } from 'react'; // suppress the useLayoutEffect warning on server side. export var useIsomorphicLayoutEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect;PK]x�\R/�B��&esm/hooks/internal/useMonitorOutput.jsnu�[���function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } import { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect'; import { useCollector } from './useCollector'; export function useMonitorOutput(monitor, collect, onCollect) { var _useCollector = useCollector(monitor, collect, onCollect), _useCollector2 = _slicedToArray(_useCollector, 2), collected = _useCollector2[0], updateCollected = _useCollector2[1]; useIsomorphicLayoutEffect(function subscribeToMonitorStateChange() { var handlerId = monitor.getHandlerId(); if (handlerId == null) { return undefined; } return monitor.subscribeToStateChange(updateCollected, { handlerIds: [handlerId] }); }, [monitor, updateCollected]); return collected; }PK]x�\�SX��esm/hooks/internal/drop.jsnu�[���function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } import { useMemo } from 'react'; import { registerTarget } from '../../common/registration'; import { useDragDropManager } from '../useDragDropManager'; import { TargetConnector } from '../../common/TargetConnector'; import { DropTargetMonitorImpl } from '../../common/DropTargetMonitorImpl'; import { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect'; export function useDropTargetMonitor() { var manager = useDragDropManager(); var monitor = useMemo(function () { return new DropTargetMonitorImpl(manager); }, [manager]); var connector = useMemo(function () { return new TargetConnector(manager.getBackend()); }, [manager]); return [monitor, connector]; } export function useDropHandler(spec, monitor, connector) { var manager = useDragDropManager(); var handler = useMemo(function () { return { canDrop: function canDrop() { var canDrop = spec.current.canDrop; return canDrop ? canDrop(monitor.getItem(), monitor) : true; }, hover: function hover() { var hover = spec.current.hover; if (hover) { hover(monitor.getItem(), monitor); } }, drop: function drop() { var drop = spec.current.drop; if (drop) { return drop(monitor.getItem(), monitor); } } }; }, [monitor]); useIsomorphicLayoutEffect(function registerHandler() { var _registerTarget = registerTarget(spec.current.accept, handler, manager), _registerTarget2 = _slicedToArray(_registerTarget, 2), handlerId = _registerTarget2[0], unregister = _registerTarget2[1]; monitor.receiveHandlerId(handlerId); connector.receiveHandlerId(handlerId); return unregister; }, [monitor, connector]); }PK]x�\�n�4 "esm/hooks/internal/useCollector.jsnu�[���function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } import { shallowEqual } from '@react-dnd/shallowequal'; import { useState, useCallback } from 'react'; import { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect'; /** * * @param monitor The monitor to collect state from * @param collect The collecting function * @param onUpdate A method to invoke when updates occur */ export function useCollector(monitor, collect, onUpdate) { var _useState = useState(function () { return collect(monitor); }), _useState2 = _slicedToArray(_useState, 2), collected = _useState2[0], setCollected = _useState2[1]; var updateCollected = useCallback(function () { var nextValue = collect(monitor); if (!shallowEqual(collected, nextValue)) { setCollected(nextValue); if (onUpdate) { onUpdate(); } } }, [collected, monitor, onUpdate]); // update the collected properties after the first render // and the components are attached to dnd-core useIsomorphicLayoutEffect(updateCollected, []); return [collected, updateCollected]; }PK]x�\W�,{{esm/hooks/index.jsnu�[���export * from './useDrag'; export * from './useDrop'; export * from './useDragLayer'; export * from './useDragDropManager';PK]x�\�~�ttesm/hooks/useDrag.jsnu�[���function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } import { useRef, useMemo } from 'react'; import { invariant } from '@react-dnd/invariant'; import { useMonitorOutput } from './internal/useMonitorOutput'; import { useIsomorphicLayoutEffect } from './internal/useIsomorphicLayoutEffect'; import { useDragSourceMonitor, useDragHandler } from './internal/drag'; /** * useDragSource hook * @param sourceSpec The drag source specification * */ export function useDrag(spec) { var specRef = useRef(spec); specRef.current = spec; // TODO: wire options into createSourceConnector invariant(spec.item != null, 'item must be defined'); invariant(spec.item.type != null, 'item type must be defined'); var _useDragSourceMonitor = useDragSourceMonitor(), _useDragSourceMonitor2 = _slicedToArray(_useDragSourceMonitor, 2), monitor = _useDragSourceMonitor2[0], connector = _useDragSourceMonitor2[1]; useDragHandler(specRef, monitor, connector); var result = useMonitorOutput(monitor, specRef.current.collect || function () { return {}; }, function () { return connector.reconnect(); }); var connectDragSource = useMemo(function () { return connector.hooks.dragSource(); }, [connector]); var connectDragPreview = useMemo(function () { return connector.hooks.dragPreview(); }, [connector]); useIsomorphicLayoutEffect(function () { connector.dragSourceOptions = specRef.current.options || null; connector.reconnect(); }, [connector]); useIsomorphicLayoutEffect(function () { connector.dragPreviewOptions = specRef.current.previewOptions || null; connector.reconnect(); }, [connector]); return [result, connectDragSource, connectDragPreview]; }PK]x�\������esm/hooks/useDragLayer.jsnu�[���function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } import { useEffect } from 'react'; import { useDragDropManager } from './useDragDropManager'; import { useCollector } from './internal/useCollector'; /** * useDragLayer Hook * @param collector The property collector */ export function useDragLayer(collect) { var dragDropManager = useDragDropManager(); var monitor = dragDropManager.getMonitor(); var _useCollector = useCollector(monitor, collect), _useCollector2 = _slicedToArray(_useCollector, 2), collected = _useCollector2[0], updateCollected = _useCollector2[1]; useEffect(function () { return monitor.subscribeToOffsetChange(updateCollected); }); useEffect(function () { return monitor.subscribeToStateChange(updateCollected); }); return collected; }PK]x�\h�"���esm/hooks/useDragDropManager.jsnu�[���import { useContext } from 'react'; import { invariant } from '@react-dnd/invariant'; import { DndContext } from '../common/DndContext'; /** * A hook to retrieve the DragDropManager from Context */ export function useDragDropManager() { var _useContext = useContext(DndContext), dragDropManager = _useContext.dragDropManager; invariant(dragDropManager != null, 'Expected drag drop context'); return dragDropManager; }PK]x�\��:esm/common/SourceConnector.jsnu�[���function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } import { wrapConnectorHooks } from './wrapConnectorHooks'; import { isRef } from '../utils/isRef'; import { shallowEqual } from '@react-dnd/shallowequal'; export var SourceConnector = /*#__PURE__*/function () { function SourceConnector(backend) { var _this = this; _classCallCheck(this, SourceConnector); this.hooks = wrapConnectorHooks({ dragSource: function dragSource(node, options) { _this.clearDragSource(); _this.dragSourceOptions = options || null; if (isRef(node)) { _this.dragSourceRef = node; } else { _this.dragSourceNode = node; } _this.reconnectDragSource(); }, dragPreview: function dragPreview(node, options) { _this.clearDragPreview(); _this.dragPreviewOptions = options || null; if (isRef(node)) { _this.dragPreviewRef = node; } else { _this.dragPreviewNode = node; } _this.reconnectDragPreview(); } }); this.handlerId = null; // The drop target may either be attached via ref or connect function this.dragSourceRef = null; this.dragSourceOptionsInternal = null; // The drag preview may either be attached via ref or connect function this.dragPreviewRef = null; this.dragPreviewOptionsInternal = null; this.lastConnectedHandlerId = null; this.lastConnectedDragSource = null; this.lastConnectedDragSourceOptions = null; this.lastConnectedDragPreview = null; this.lastConnectedDragPreviewOptions = null; this.backend = backend; } _createClass(SourceConnector, [{ key: "receiveHandlerId", value: function receiveHandlerId(newHandlerId) { if (this.handlerId === newHandlerId) { return; } this.handlerId = newHandlerId; this.reconnect(); } }, { key: "reconnect", value: function reconnect() { this.reconnectDragSource(); this.reconnectDragPreview(); } }, { key: "reconnectDragSource", value: function reconnectDragSource() { var dragSource = this.dragSource; // if nothing has changed then don't resubscribe var didChange = this.didHandlerIdChange() || this.didConnectedDragSourceChange() || this.didDragSourceOptionsChange(); if (didChange) { this.disconnectDragSource(); } if (!this.handlerId) { return; } if (!dragSource) { this.lastConnectedDragSource = dragSource; return; } if (didChange) { this.lastConnectedHandlerId = this.handlerId; this.lastConnectedDragSource = dragSource; this.lastConnectedDragSourceOptions = this.dragSourceOptions; this.dragSourceUnsubscribe = this.backend.connectDragSource(this.handlerId, dragSource, this.dragSourceOptions); } } }, { key: "reconnectDragPreview", value: function reconnectDragPreview() { var dragPreview = this.dragPreview; // if nothing has changed then don't resubscribe var didChange = this.didHandlerIdChange() || this.didConnectedDragPreviewChange() || this.didDragPreviewOptionsChange(); if (didChange) { this.disconnectDragPreview(); } if (!this.handlerId) { return; } if (!dragPreview) { this.lastConnectedDragPreview = dragPreview; return; } if (didChange) { this.lastConnectedHandlerId = this.handlerId; this.lastConnectedDragPreview = dragPreview; this.lastConnectedDragPreviewOptions = this.dragPreviewOptions; this.dragPreviewUnsubscribe = this.backend.connectDragPreview(this.handlerId, dragPreview, this.dragPreviewOptions); } } }, { key: "didHandlerIdChange", value: function didHandlerIdChange() { return this.lastConnectedHandlerId !== this.handlerId; } }, { key: "didConnectedDragSourceChange", value: function didConnectedDragSourceChange() { return this.lastConnectedDragSource !== this.dragSource; } }, { key: "didConnectedDragPreviewChange", value: function didConnectedDragPreviewChange() { return this.lastConnectedDragPreview !== this.dragPreview; } }, { key: "didDragSourceOptionsChange", value: function didDragSourceOptionsChange() { return !shallowEqual(this.lastConnectedDragSourceOptions, this.dragSourceOptions); } }, { key: "didDragPreviewOptionsChange", value: function didDragPreviewOptionsChange() { return !shallowEqual(this.lastConnectedDragPreviewOptions, this.dragPreviewOptions); } }, { key: "disconnectDragSource", value: function disconnectDragSource() { if (this.dragSourceUnsubscribe) { this.dragSourceUnsubscribe(); this.dragSourceUnsubscribe = undefined; } } }, { key: "disconnectDragPreview", value: function disconnectDragPreview() { if (this.dragPreviewUnsubscribe) { this.dragPreviewUnsubscribe(); this.dragPreviewUnsubscribe = undefined; this.dragPreviewNode = null; this.dragPreviewRef = null; } } }, { key: "clearDragSource", value: function clearDragSource() { this.dragSourceNode = null; this.dragSourceRef = null; } }, { key: "clearDragPreview", value: function clearDragPreview() { this.dragPreviewNode = null; this.dragPreviewRef = null; } }, { key: "connectTarget", get: function get() { return this.dragSource; } }, { key: "dragSourceOptions", get: function get() { return this.dragSourceOptionsInternal; }, set: function set(options) { this.dragSourceOptionsInternal = options; } }, { key: "dragPreviewOptions", get: function get() { return this.dragPreviewOptionsInternal; }, set: function set(options) { this.dragPreviewOptionsInternal = options; } }, { key: "dragSource", get: function get() { return this.dragSourceNode || this.dragSourceRef && this.dragSourceRef.current; } }, { key: "dragPreview", get: function get() { return this.dragPreviewNode || this.dragPreviewRef && this.dragPreviewRef.current; } }]); return SourceConnector; }();PK]x�\��q�SS#esm/common/DropTargetMonitorImpl.jsnu�[���function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } import { invariant } from '@react-dnd/invariant'; var isCallingCanDrop = false; export var DropTargetMonitorImpl = /*#__PURE__*/function () { function DropTargetMonitorImpl(manager) { _classCallCheck(this, DropTargetMonitorImpl); this.targetId = null; this.internalMonitor = manager.getMonitor(); } _createClass(DropTargetMonitorImpl, [{ key: "receiveHandlerId", value: function receiveHandlerId(targetId) { this.targetId = targetId; } }, { key: "getHandlerId", value: function getHandlerId() { return this.targetId; } }, { key: "subscribeToStateChange", value: function subscribeToStateChange(listener, options) { return this.internalMonitor.subscribeToStateChange(listener, options); } }, { key: "canDrop", value: function canDrop() { // Cut out early if the target id has not been set. This should prevent errors // where the user has an older version of dnd-core like in // https://github.com/react-dnd/react-dnd/issues/1310 if (!this.targetId) { return false; } invariant(!isCallingCanDrop, 'You may not call monitor.canDrop() inside your canDrop() implementation. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target-monitor'); try { isCallingCanDrop = true; return this.internalMonitor.canDropOnTarget(this.targetId); } finally { isCallingCanDrop = false; } } }, { key: "isOver", value: function isOver(options) { if (!this.targetId) { return false; } return this.internalMonitor.isOverTarget(this.targetId, options); } }, { key: "getItemType", value: function getItemType() { return this.internalMonitor.getItemType(); } }, { key: "getItem", value: function getItem() { return this.internalMonitor.getItem(); } }, { key: "getDropResult", value: function getDropResult() { return this.internalMonitor.getDropResult(); } }, { key: "didDrop", value: function didDrop() { return this.internalMonitor.didDrop(); } }, { key: "getInitialClientOffset", value: function getInitialClientOffset() { return this.internalMonitor.getInitialClientOffset(); } }, { key: "getInitialSourceClientOffset", value: function getInitialSourceClientOffset() { return this.internalMonitor.getInitialSourceClientOffset(); } }, { key: "getSourceClientOffset", value: function getSourceClientOffset() { return this.internalMonitor.getSourceClientOffset(); } }, { key: "getClientOffset", value: function getClientOffset() { return this.internalMonitor.getClientOffset(); } }, { key: "getDifferenceFromInitialOffset", value: function getDifferenceFromInitialOffset() { return this.internalMonitor.getDifferenceFromInitialOffset(); } }]); return DropTargetMonitorImpl; }();PK]x�\����esm/common/DndProvider.jsnu�[���function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } import * as React from 'react'; import { memo } from 'react'; import { DndContext, createDndContext } from './DndContext'; var refCount = 0; /** * A React component that provides the React-DnD context */ export var DndProvider = memo(function (_ref) { var children = _ref.children, props = _objectWithoutProperties(_ref, ["children"]); var _getDndContextValue = getDndContextValue(props), _getDndContextValue2 = _slicedToArray(_getDndContextValue, 2), manager = _getDndContextValue2[0], isGlobalInstance = _getDndContextValue2[1]; // memoized from props /** * If the global context was used to store the DND context * then where theres no more references to it we should * clean it up to avoid memory leaks */ React.useEffect(function () { if (isGlobalInstance) { refCount++; } return function () { if (isGlobalInstance) { refCount--; if (refCount === 0) { var context = getGlobalContext(); context[instanceSymbol] = null; } } }; }, []); return React.createElement(DndContext.Provider, { value: manager }, children); }); DndProvider.displayName = 'DndProvider'; function getDndContextValue(props) { if ('manager' in props) { var _manager = { dragDropManager: props.manager }; return [_manager, false]; } var manager = createSingletonDndContext(props.backend, props.context, props.options, props.debugMode); var isGlobalInstance = !props.context; return [manager, isGlobalInstance]; } var instanceSymbol = Symbol.for('__REACT_DND_CONTEXT_INSTANCE__'); function createSingletonDndContext(backend) { var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getGlobalContext(); var options = arguments.length > 2 ? arguments[2] : undefined; var debugMode = arguments.length > 3 ? arguments[3] : undefined; var ctx = context; if (!ctx[instanceSymbol]) { ctx[instanceSymbol] = createDndContext(backend, context, options, debugMode); } return ctx[instanceSymbol]; } function getGlobalContext() { return typeof global !== 'undefined' ? global : window; }PK]x�\�OP�vv esm/common/wrapConnectorHooks.jsnu�[���import { isValidElement } from 'react'; import { cloneWithRef } from '../utils/cloneWithRef'; function throwIfCompositeComponentElement(element) { // Custom components can no longer be wrapped directly in React DnD 2.0 // so that we don't need to depend on findDOMNode() from react-dom. if (typeof element.type === 'string') { return; } var displayName = element.type.displayName || element.type.name || 'the component'; throw new Error('Only native element nodes can now be passed to React DnD connectors.' + "You can either wrap ".concat(displayName, " into a <div>, or turn it into a ") + 'drag source or a drop target itself.'); } function wrapHookToRecognizeElement(hook) { return function () { var elementOrNode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; // When passed a node, call the hook straight away. if (!isValidElement(elementOrNode)) { var node = elementOrNode; hook(node, options); // return the node so it can be chained (e.g. when within callback refs // <div ref={node => connectDragSource(connectDropTarget(node))}/> return node; } // If passed a ReactElement, clone it and attach this function as a ref. // This helps us achieve a neat API where user doesn't even know that refs // are being used under the hood. var element = elementOrNode; throwIfCompositeComponentElement(element); // When no options are passed, use the hook directly var ref = options ? function (node) { return hook(node, options); } : hook; return cloneWithRef(element, ref); }; } export function wrapConnectorHooks(hooks) { var wrappedHooks = {}; Object.keys(hooks).forEach(function (key) { var hook = hooks[key]; // ref objects should be passed straight through without wrapping if (key.endsWith('Ref')) { wrappedHooks[key] = hooks[key]; } else { var wrappedHook = wrapHookToRecognizeElement(hook); wrappedHooks[key] = function () { return wrappedHook; }; } }); return wrappedHooks; }PK]x�\V�s�``esm/common/index.jsnu�[���export * from './DndContext'; export * from './DndProvider'; export * from './DragPreviewImage';PK]x�\�����esm/common/TargetConnector.jsnu�[���function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } import { shallowEqual } from '@react-dnd/shallowequal'; import { wrapConnectorHooks } from './wrapConnectorHooks'; import { isRef } from '../utils/isRef'; export var TargetConnector = /*#__PURE__*/function () { function TargetConnector(backend) { var _this = this; _classCallCheck(this, TargetConnector); this.hooks = wrapConnectorHooks({ dropTarget: function dropTarget(node, options) { _this.clearDropTarget(); _this.dropTargetOptions = options; if (isRef(node)) { _this.dropTargetRef = node; } else { _this.dropTargetNode = node; } _this.reconnect(); } }); this.handlerId = null; // The drop target may either be attached via ref or connect function this.dropTargetRef = null; this.dropTargetOptionsInternal = null; this.lastConnectedHandlerId = null; this.lastConnectedDropTarget = null; this.lastConnectedDropTargetOptions = null; this.backend = backend; } _createClass(TargetConnector, [{ key: "reconnect", value: function reconnect() { // if nothing has changed then don't resubscribe var didChange = this.didHandlerIdChange() || this.didDropTargetChange() || this.didOptionsChange(); if (didChange) { this.disconnectDropTarget(); } var dropTarget = this.dropTarget; if (!this.handlerId) { return; } if (!dropTarget) { this.lastConnectedDropTarget = dropTarget; return; } if (didChange) { this.lastConnectedHandlerId = this.handlerId; this.lastConnectedDropTarget = dropTarget; this.lastConnectedDropTargetOptions = this.dropTargetOptions; this.unsubscribeDropTarget = this.backend.connectDropTarget(this.handlerId, dropTarget, this.dropTargetOptions); } } }, { key: "receiveHandlerId", value: function receiveHandlerId(newHandlerId) { if (newHandlerId === this.handlerId) { return; } this.handlerId = newHandlerId; this.reconnect(); } }, { key: "didHandlerIdChange", value: function didHandlerIdChange() { return this.lastConnectedHandlerId !== this.handlerId; } }, { key: "didDropTargetChange", value: function didDropTargetChange() { return this.lastConnectedDropTarget !== this.dropTarget; } }, { key: "didOptionsChange", value: function didOptionsChange() { return !shallowEqual(this.lastConnectedDropTargetOptions, this.dropTargetOptions); } }, { key: "disconnectDropTarget", value: function disconnectDropTarget() { if (this.unsubscribeDropTarget) { this.unsubscribeDropTarget(); this.unsubscribeDropTarget = undefined; } } }, { key: "clearDropTarget", value: function clearDropTarget() { this.dropTargetRef = null; this.dropTargetNode = null; } }, { key: "connectTarget", get: function get() { return this.dropTarget; } }, { key: "dropTargetOptions", get: function get() { return this.dropTargetOptionsInternal; }, set: function set(options) { this.dropTargetOptionsInternal = options; } }, { key: "dropTarget", get: function get() { return this.dropTargetNode || this.dropTargetRef && this.dropTargetRef.current; } }]); return TargetConnector; }();PK]x�\�8n���esm/common/DndContext.jsnu�[���import * as React from 'react'; import { createDragDropManager } from 'dnd-core'; /** * Create the React Context */ export var DndContext = React.createContext({ dragDropManager: undefined }); /** * Creates the context object we're providing * @param backend * @param context */ export function createDndContext(backend, context, options, debugMode) { return { dragDropManager: createDragDropManager(backend, context, options, debugMode) }; }PK]x�\�b�SSesm/common/DragPreviewImage.jsnu�[���import * as React from 'react'; /* * A utility for rendering a drag preview image */ export var DragPreviewImage = React.memo(function (_ref) { var connect = _ref.connect, src = _ref.src; React.useEffect(function () { if (typeof Image === 'undefined') return; var connected = false; var img = new Image(); img.src = src; img.onload = function () { connect(img); connected = true; }; return function () { if (connected) { connect(null); } }; }); return null; }); DragPreviewImage.displayName = 'DragPreviewImage';PK]x�\$��$$#esm/common/DragSourceMonitorImpl.jsnu�[���function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } import { invariant } from '@react-dnd/invariant'; var isCallingCanDrag = false; var isCallingIsDragging = false; export var DragSourceMonitorImpl = /*#__PURE__*/function () { function DragSourceMonitorImpl(manager) { _classCallCheck(this, DragSourceMonitorImpl); this.sourceId = null; this.internalMonitor = manager.getMonitor(); } _createClass(DragSourceMonitorImpl, [{ key: "receiveHandlerId", value: function receiveHandlerId(sourceId) { this.sourceId = sourceId; } }, { key: "getHandlerId", value: function getHandlerId() { return this.sourceId; } }, { key: "canDrag", value: function canDrag() { invariant(!isCallingCanDrag, 'You may not call monitor.canDrag() inside your canDrag() implementation. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source-monitor'); try { isCallingCanDrag = true; return this.internalMonitor.canDragSource(this.sourceId); } finally { isCallingCanDrag = false; } } }, { key: "isDragging", value: function isDragging() { if (!this.sourceId) { return false; } invariant(!isCallingIsDragging, 'You may not call monitor.isDragging() inside your isDragging() implementation. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source-monitor'); try { isCallingIsDragging = true; return this.internalMonitor.isDraggingSource(this.sourceId); } finally { isCallingIsDragging = false; } } }, { key: "subscribeToStateChange", value: function subscribeToStateChange(listener, options) { return this.internalMonitor.subscribeToStateChange(listener, options); } }, { key: "isDraggingSource", value: function isDraggingSource(sourceId) { return this.internalMonitor.isDraggingSource(sourceId); } }, { key: "isOverTarget", value: function isOverTarget(targetId, options) { return this.internalMonitor.isOverTarget(targetId, options); } }, { key: "getTargetIds", value: function getTargetIds() { return this.internalMonitor.getTargetIds(); } }, { key: "isSourcePublic", value: function isSourcePublic() { return this.internalMonitor.isSourcePublic(); } }, { key: "getSourceId", value: function getSourceId() { return this.internalMonitor.getSourceId(); } }, { key: "subscribeToOffsetChange", value: function subscribeToOffsetChange(listener) { return this.internalMonitor.subscribeToOffsetChange(listener); } }, { key: "canDragSource", value: function canDragSource(sourceId) { return this.internalMonitor.canDragSource(sourceId); } }, { key: "canDropOnTarget", value: function canDropOnTarget(targetId) { return this.internalMonitor.canDropOnTarget(targetId); } }, { key: "getItemType", value: function getItemType() { return this.internalMonitor.getItemType(); } }, { key: "getItem", value: function getItem() { return this.internalMonitor.getItem(); } }, { key: "getDropResult", value: function getDropResult() { return this.internalMonitor.getDropResult(); } }, { key: "didDrop", value: function didDrop() { return this.internalMonitor.didDrop(); } }, { key: "getInitialClientOffset", value: function getInitialClientOffset() { return this.internalMonitor.getInitialClientOffset(); } }, { key: "getInitialSourceClientOffset", value: function getInitialSourceClientOffset() { return this.internalMonitor.getInitialSourceClientOffset(); } }, { key: "getSourceClientOffset", value: function getSourceClientOffset() { return this.internalMonitor.getSourceClientOffset(); } }, { key: "getClientOffset", value: function getClientOffset() { return this.internalMonitor.getClientOffset(); } }, { key: "getDifferenceFromInitialOffset", value: function getDifferenceFromInitialOffset() { return this.internalMonitor.getDifferenceFromInitialOffset(); } }]); return DragSourceMonitorImpl; }();PK]x�\u�6���esm/common/registration.jsnu�[���export function registerTarget(type, target, manager) { var registry = manager.getRegistry(); var targetId = registry.addTarget(type, target); return [targetId, function () { return registry.removeTarget(targetId); }]; } export function registerSource(type, source, manager) { var registry = manager.getRegistry(); var sourceId = registry.addSource(type, source); return [sourceId, function () { return registry.removeSource(sourceId); }]; }PK�x�\ߚĆ8k8kfonts/iconkit.woffnu�[���wOFFk8 ��FFTM0|`fDGDEFL AOS/2lGVWU\=cmap��r2�>`gasp���glyf�[�Ɛ[�)head_�16C�hhea_� $��hmtx_���L�loca`�**5B:maxpc e namec4��-postd(|�x�c```d�3������`4H �x�c`d``�b `b`d`f�,`AIx�c`d�������i&��~������������ �5�����s���F�F��T� :x���w��s���w{Ս]��芖��$"�P)��W �TJC�S��Q�h���ʨl�w�Ư��=������~�_��{��B�J�+DQ�(�BE�+�rjd��Ⲃx���旳xI�+�$Vx�d)�|�t2e���l9r婡�Zj;��ȏ>�s��h�P�i�pG8�Q+�DSG;F3͵�R+�j�����v���':IG'�����4]��]��,g;ǹ ��|覻.�S/��%.u������W?�]e���v�"�6ĵ���n0�/��Q���0�(7m�[�5�x�j�In3�%n7�4w��tw��=f�i���u��=`���=�Q�y���y�[`�E[�i�x�R�,����E/y�+^��^��7��m+��]�y�*���}�c���g>������m��[}�[�|�{?(U�G��������?�i�=���/�ǿ�A!BbH �!%����2Bf� �B��rBnȋ����\�\����#�2$T���~����x��� `�(>ߌ�I���[�%9V|H���N�m;$� 㐄����@R΄(�Jh�BhZ�Q�����Z�m�v���m�u�}�h�vi����h����of4�����4��h�;~��>837w�M�y��r}�nw1�K����f���2�=|���?�w�K,A�a+�o���P��L�������Z�BK*�!�X�d���$l&Dnl��6y��{}����0 �F\�VW[�28���/�m���^�S�zדּ�&��vE���ҎP�f����KfwC��9|+q��s<M&��ѻ�Ђѐ��B���\�/�$����u�<b]}��|~r���>gs엜�뚚&��ʵrm\'��q>)�I�p<�j%���wK$��Kb� �b� �]�b��d��7�o{�NI���'QR��G�N���Ƿ*�~��W�$��ވ,Gd�(ze�[�d���ts����Kq� f8��]$�����Y��6�L�.�텯�24t�Wؗ�˞�=~s�3��L��~~9�o�� ��W:�c�p����o .'�v�A�XH��l��S9��I�[�y�6`��Nx�TC���>Ė�8tC��|SK�IO�?qtB�w�^N�"\7����J�-�p�B.�L�S�L��x�kF�,]��CvKC�rw��4d���/�f�(�{��Q�p�7tt4����&d�?Ғ�;��;���t��oK����x�ڙ�<��|�9��rI�q8I�M2�}ʅ� =�Vc;�p8�<~^U���4�m���dڗ"�2�N'�)Υ��[���8.iG����u�i��c�,�J�cfk:��s�l*�ù/uїO�'=��g�#���D�鏛��l/��b�.�d/���ط�)��J>3��w��^��p��t{?�\�?�\f��َ�>��5�Ke��x��c���ឿ@�>�|U�9�|}�~�\ �5��Y��ݰ�����qw"��D�[ 甽���DY�)��Q^R�W*E�8\��2\u�$�vD�k�e�] ��.Ar��^��iE Ƿ�ų��gRp&�a�N��U�mO1<��eqOEn��,�P��v����`��v�xW:��1��,~>q�w]��IVq�,��mt}�Dث��Vÿ�U�Ԫ�e�6����^�3�9���?%�ؑ1�˧V�R���uzہ�%��í��P-���2�� �t*}J8�<���%�pi�[ۓV_<b ����n$�7���E�G�P.�̹�5��|���7����k~�돪'�ަ<�{ٶ��ݶ�\u��=C�wᕝ��O�0@��B[� �@Ʒ�����Gwu\'�n�s�❏��A�|1-�����fӺ�/]�"9P���/�wѲ�qr�8!/�/��ed!\4�O�{)��. ��b� Q�Vb�TP�%B�<�c?e�(3ʼn"ဝ�ŷ��N"|���:�2@��-xW�� �'}�Oy|�Y�:���"C���8�G��bP��k��S��"j��q�15%$N��Đ���B��nC7!%c���j�!�~��(�_@'MІP;!�Tv����]|�m8'�~�P �$?>�}��F�aFԅ$-��ĝ���1��.搰9�J�Je}:j�_��� エk��0q�D|21UF�p�=�Q8�� �;-��>#����_Ț��wd�z��IHr�<���u���x�E��+'�k;l��n��IӐ鍣G�8J��\����Ƿ�z�K����e��y�\���e�v�{�Q��â���B�G�r���R<�s���nK��i)G�g�SH�:��3R�EA�|�"�#FR���)�ߕ(|&$�<I�<�h��^u5ܷ�[ ��C�]�h`_��Y?�w��L�8�86�(�6i��xu�3?zf����]N�W��_���v����h��9�����&�D$��$.���{�6�;�U��m�Uc]��]��a�Yռ�����=9�ğa�I�0��n�"��ͻij�˛8��\�[�}��y2��� �I�3q��%�v�X9Wf�!Ž�����^I�K���~ ����k�QV�fKyk���E�,=s��{�.��pS�:�j�L&���P��m���& ?�t�^�Q8�O��)z<7U0q�Ǜ�%܅�.*�ਓ*H&&q .B�(d��Y}tИ�X��sKY���2t�BR�Ͷև�l? #�����6�K�:o��f@A�'��4�����A�e����C�-�s���`/�P�%Iv��#��!���30$��5�(&V�v�첵ni�������_H�(�p���F��+��y�,I"<( �8^� �|^a��[3�̒�p"P,IJfh�t%���?�?<�_��3��*ߥ<Ia���^�Q��_䂒��ؗ_O��~�f.�?�ťh��҆� ʭp4��� �C����")9���g2��8�JBD��{�J6R���D�|&Ĉ��@�Y�h~ '�"���tNzw�p��Ő��w��Q4C^�%8Q�YC�����X<=�kޑ��"�'�]���b�ҁ��,�I�4~��x��SJy']����6�:`mw�����t���3P3�;?}f;V�T�H(�$�Y%��9^Z<:����k ��Xۜ�Mw�_��\������cLg��c3ō9n��,SI�5�Q'��H���!�h4�3q���X$��0����p@�`fh(S�?D9�dG��.�Q��S���&��4� ��r���?�8�����)n�壠J����k �J(y��\<��M���,�>�dI�5� �}$f�/�A���^�|'���^�^�|A��еǮ��>��Ni(��9`+�B�=k,~��w�K$�Y� a�����*G�{[Cm�G�/��T�Ԣ�����a/��:4]K��]��+�4��'�/E*����� �m�(��n bD\O�p`E�1A&��"w��ض����OU��3#������� v�o�:^8�6 �Q��-JA9@��`�I Ev�x� ���AHߔWd,/���=$u�e,�Q�$�8���pIHR��H.��ۍ�(�eO<ZW��u@�x�5)�N�{��]S���� pT7̜�E�1���G_��fSB7�"/���1KQ���|˜9-J�qQ�2��$߸��+��6�5��J�,����R �M�����m��EQ,���r4��=�R���d�eQ��9d�|������]�NP���9�D ���)��^1���d����kY�¥��(��{�.�?��;��<m���`��̒I�+�`�R��` M��g����1`i"�sArF,"]����1�l�.��§x�yD5i�"mY�PИ�ͭ6��nG��9�@Qi��A%��)�2H�褼㏟��s�d�2K�÷<���<v��T�(�H}�p;�# ��y8H�7S�����U�z�zP�Gѫ�Qt.�΅g�Vv��E +�%����a##N2IQ����h &B�K��U�) �� �Q�-5&�mr��҅)�'��76rp;�m!!�����`U+���r���46��D�B�}�g+~n�:�P�d�'V�̒�^����=�l���-� �AO��?e�p�F��b���u=.��5�V~�Ed�K���=A�)���+����t��G��۲6/#5��%�r3�Gf���Le��� W�}���Y ��'A�gͤ%�����N�FDSS��B�%<+:���&.�I㡍1�'�f��ߚ.��5�4�0��@��T��}Ƅ�ɠ��JN$�'O"�t���NV�U�^:IX��N�I�{(�X �QmY�]��y����p���p���U�3����O�8�.8~mec0D�Rhzk�����r������]��ϥ�j�e��n��љ��M.�������i0��w&��m��א�)����C � U1M�� ����Z�s��L�$R�ERQ*t�'�u�W��*��|%;�5��7*�;R��|>_e�l�v�A�U9s{�LG<�pT� lL�*I�� �x� �.%2G�J+t�0�JB�s�\"��XG^����d��B9C"&wos�٫�/H��������&�Z�q/mi^����, Kz�����HĿ��uL'��u�;��n~�,�%bx���Yj�\���e�W�ϵ�)�3��h!���NFˬ]=�>W���u�=��T}`��bx��nv-0����;b/�!��0pYn�$�N�}�A��݅|�ZFUy G���{�pV� )��n@�]�-�|b�/כ�]�j���o<:N��ҀA;r՚X&Pk�,�e��m����9rlp߉[���c��t��+��?zz�]אH���l����2�vFV`!�̹�iw�va�v�q �f��4����#���g��j`�K���BTzz��)fW�-J��0[uK.::����$?~�)��������f{��}6����j�ݳ�k�nj�c�ѱ{ 2&���j[��p��|�Y�lF��j��sB���Q�(�2���>I�;}�w�Jŭ~��sYY���4F>�!fi!�0���VD����5�k�m��G&Aυ���bN�h���lΠ�/Km���/*�ڳk��"���<n�)$Z�M-�!���l�h��n3��7��nS$����[/p��ys�H[]H����߶��o������z�w[�$��w�ՖX|ͱ��v�M4w��C\�����A}�*O�'�$��$ɦ�f�ӁP.*��Vs��[Ѱ9��C��b���7ؕ<���a����#��&>��O���'H����'�o�.�S~cؕI{����j%8#]pF�_�~��O߰�5e��;����{�נ���anXk&�eS��Vr�r�-�V�r� n/� �w+w7�@���qR��[5'�xu{��T�-Wݞ�>%G����[�C����TLT`��c��Х~�X�)����-�w=��j��*�`�l���N�3M�q��0v������K�01�\��a����܂3{.Y�k��YU��H.�1g ���M̛ ��O����<$n<����o�]��_��e/@�[;4�Л��!��o" k��Z�$�WFPuH5�$��$�F3)�i�"iM� ASs (H�Ȩʰ�g��5;CAw�)��J�$i��O9�Y����-����;��@>L����ʻ��26KX��Z枔��M��-;���~g�݉A�N� ��V��A� di3;�I��UW�)���MZx������7����*�SU߫�jGGZje�c�G�� �����s�I��Vy�LLj7M�)?�"?[ :A�������_��k���_;:~��+ ҥΐ2��?{�6���V/��N��ёi��Wgh�q�]���$lԓGTW)2 j���0Z�������RRȝm��F��4m��8u��͵���-���7�] ����=3Xתt]�L4����5��)��=j8&��k.Q���8:K{I�[qJ�>F ©�,�����W}N�b���T�G�G���_0xSz+Rt���U^|-݀��-�����u����3�1��?�U8�˵ �P��n����f�5�3�u0j4�8M�-�Y^9=�4�|��Cֱ�B�7IT�Bt��!�Z*�k�쨶��i�y-h$��Y��n����|ь�wTo~����U4��j��(�5�GdUӀE�͘�uX}���]c�S�YY����J�]ԇ� E ���5X3���v8��]gmB��c�l �*�|�2�p�.��SN����'b!7�ZI��U��jO�fR��ҺI���$yw9ϠV))%�=U}�������B�#NjC)0����)���l��5�y�N�AqB���C�Γ*�����t�@�o�L�DH�1t�xe���^�*��s�x�(��?�c��(�C�`����%���{3�(�E7�A�\�zsn���:�v�F�q\Nug��fU���f��0ԝ��t/��)2�g�u�N��l��*W㊑�A�#�)�tAy�&'tR;�RSY6��$b�`.@�l-��)�ݑm���q4b�џ���g���~��ow;�e��;;ȿGnJ�/m�� �e��"?�����i�7�80ޜo=��ߊ7�J0_ A��4��BԻ���C�X<�s�Z���KN� D>ጼ���Ĉ�\QXp� �Z�Z��Z�&�$��Au5f~���4��©���6��"��Z`z���%X��ߤ�������7�����a����=!���U����A�ֲ�"<�Ɋ����6��M:O��$���$<)̥�z�ҜՀ�Ը; 5�|I7u��S3s��+$#p�i2/��=$���&5���G�P�*i=��i��rfԧ>��^{)� `�6�����~��P<����BA��oEWcK[<����L5��x�=�{��>�b��i<��w;���S��OeA����3�R8��f~�Փ���o��ֶ��8~���P��>��z��V��N�Z��*�/t�}3�S=0��Sݷ�~$��l������R(D��w�R<��I�:����Hw(���nzwc|���E�ʿ�#)�z�����l��'��/��n�(6�?֨��{4����kyj��>&�� n�Z���njO� ��V�#��6axP�QJ3�{�z��8�`��w��S��$���1Y6"K�{%9���ԓn5�����hI���pc��~�Y zP�H�h>CP�F=�*x�I�$��U���G��Ô{���A�����I��t���skf�{��@'�8QR9���p��1Tt���y�?*VOf4�R0N�W��14n�hf1�WdXD�0�J�.�b�]{�G�J�Y<��%��r.�d�LA����H�����O|V�^�_i�%�8o��L��I���E1�;���ڕg�QwGJr��B�c�Z��W�Վ�ŀW�ٰ��Pd��g�8�[{[y�qc[�����^~����/��M�P�������T���@�XӺz�-(z��;� I�.a��Xpq䐣�MR�ƣR���ʯDM3�)x<ە#��Uk��4���)�b��墟(_���Q��Z��>4|2�&L��l8�1ޚ�n��)�.PwT�X�W�� �JB��a&��^���sM�v��rYn1�!_�TH��D���B�@Hu&�"~��� ��(bIKp�Pb�<��y���+��[O�Ȉ2����h�9����@��.�\ƏB��Ͽ��~��R$�2�6R,F�7#�����9���[=��?C�}��HUͰ~|B�+�g���eC<��N�/g�H*�?!O��˖}x\� a�7���$}a>��|8W�;�Ov�=_5�AU�d����b�d5�}��{��6 K��Z�+���~�d�l�z@2�+�as�X �:���J�|Н��|C��mv�ߑ���4���6�{�q*7*�xes�t��5��t��=Nr�ʃ(]�q! �ݚ�CQ8Y�H{L�Y%�8��MR��lA�D��=wق%�{|&���lA �vf1�+Wr !�uJ�z_C��[g�����{L,��O���%jK��� H�0�7�F�F <P�p�PAY?�C�(�_��s�( 5����9㏉�E��9�IϜ�8TހƢe��:��=de���6�>��@��W\�r���݁���·^V|n���G�ڦ4��Ŝ 5X�-��\V駴P��m��b�� ��7�����YT}�쪹�+���$�M)U��9���41��LV��}����.���Jl���F��VBT>3�nq�%������{z�<�܆��m�}��y���t��W�^_� �����]��?�w��Nr��c�r�'�n�E��!�Q�|䣾֜�!DcI��.u��l�?4�W�B��-R���?��RT��2�l�����I� Ip�!YR ��_"v�?���1�f�g����'�G>�^���b�^^��A����X$f��[cVܧ��!Dž��c͈Ӭ��>�5C�o��{��S!���� Y���C�A�K`��Z�{H02���Oty߾���"�n~U�l�̦W���V�M���Mn�w�����z�_�p ��<w�C��WYn����s-&��w[��� :�����.���~���Bd�&�����^�dro|��-���Y�}�$����/nk����M���a��G��D�-�k��s��Tgmn ����X;�< Z��u�<���GD�G�9G2���O�X#�M�Yl����6'�o0J겮��IɊ�B0�� �Dg�-i$d8��(0{�uF�;'��!�8vt��И��v7"���`a#b�L����-*w�ұS�K���E���π�I��=���H�0.>��IIj�L����\iJ�ԣٗ�X�4s{VuR$G�n_�G`�R�ǵ��O�h9��!�/��5��1��s�_d�V�[���l%Fem���n����v(��ze�c�+2�f����cE��C��`��-��<2w�m%s0�����j���_A�&E��eS��E���=d�+�P.����\�7�h�V.��Y8�d�4��As��`�{���ʓ&�c4 W�A�W6��|�5��hӟ�K#g�$�r�4Jz,�%i ��7�j|Vr���&���*V��f����^sX��X�HL� �2���U��Ucc��V���&O�>zt�r��|�2�x�:��y~���}��T �����wGw�����ѽd8c�9ݞ�[._����B����>�p ��; ҄f�`C}�� T@��R�ͼq{#Kw4?���-\�&@P+V�:�$ӵ�(#��E&P_����8� @x�FL��_�E *�]�Fj��5H(���!�G���m�AF�cw��<}�� 㙦a��bz:���F���� #P����`��`{�'�4&�v�� 04-�c��9-j�3�N�swν)���qe�E7����"��`���M�u�o7E�9�o�� ��.D�~7������ԧ%�ݔ-�+�f�ZP�ŧ�Q���X �K��C�K�j��Q�E�m�� n��J*�]��"7h�������B[����+Z���mȿ��y���&������:�~W}� �e�>����H%�m-�^ѳ����!��55w�jiZw��iB]����P�7�GR���f�[���X�'+�d]7&!��EP�+�L{�q<�GL�y&�g�#�k�m;��q6=��/�L=��-e����XG��i$���X���ǯ��x���|�QX��߱D%��o�ˌN����&�'�5°%f^��+�ԥw(� #��I�a��~���p?��:��A����yE'U1q�T�ą�9I���c�R4��y8Pyj6a�)� �>�*�a��zn�qC�=̑d�ܭ�0�f�y4]��añ�e��ô�1����^IvހѶ�w��I��[ r���@����i����Hcqo�I�ŗW���~E�_"m����@{��h)5�n��(�R%��υ1��2f�� ]�"�M!Gy��An&�s���9�7��d�����x��zZ٠�{L���C��9ښ,K��U)Aj3��jLOB�`^R,�=)�'��<M�ѩ�G̘Q�/�Te`J��}���74�%˞> �4����P==�8+���d�I9 � Cf�\��#1��9�I���S���{���,%!�gA�;�6�E�]vN����������go��\e1?��yXТ��E<�p��&���������Ҏ� �4e�B�͚�h{���1=��L�^���4r��wx�/D��8,��V�������_٣�rY�/~y�[�<���/�mlt9D�6�LV���yk���������AB ~�f����H��e��uN�%;t��t�s.����"�pB�[�(2���9J��y�^�Έ\j��mM[Ɇ':�>˓7I�Ʀ��.3�{�o�}c!��ᷨ[�+phkd<N��O6�{ov�/ğ�nz��wu<�n�[-��.�z(�Z��^�������l?�?H��N�?�1��5Y��U@�Z��E�Dtֈ���h��"a$�����?����f��59q�i{�Z�wk�2�����%Q�Y�K"��N���\�^N��,Q����#� �"��ʼ�\↝����}�;����K7���X|<�.́�]�Pa���L>fm��AZ��95�6L�2� ]����_ռ:�#NG�I�X����w:i��`N6w`����n���Ewu���Lp�[��($L�.�$O��2B��H��>�9 £�d ?m�Z=v�|o�j�LE��A�uk��q2�6�":�J>�;��Vcr�� ��%A������m�f���hvG�|%w����9�Ʈ�o3���SA=��T�5�Ȍ��B��g^=�Hm�c�SYdRŪ�*Q0Js%��H� ju�:�"��!���y��-��ǘebu_ �=�'�.%�M�\�H��3v�hp/��r�n����� ��*/� R��^���hN$`l��b@ K\�� 6� oٸп�V >�� �[���l7���˾����h�o<��)�G��,\4/|���[��w��e{^�;~�F��l���%�i4؈"� �+�Յ$�R� �.�t"IE��*�D�bL-(%L��?I�} �$��$���A�3��=�v��74HЈ>\R���4Ǭ�R�Z[8՝E�ݚ�b\U7�{ghK'����/�N��veu��X*T�i?ߡ�5��v�����"�k���V����h:�yU��7��߰�������ح�f96�?�_��r���3����L=s ��!�(7���z{�����A~�'_`��;Y������ߠS����tۜ���oT��ʃ(�����'��w������r��ϦFNوG�4� G$ͣ��]r:��7]���VIq8C�H!��9�䕵s�+�>|������l�]/� ���G�_��e��G��zZ���Ј|� E �X�ٌ,���ث����R~��c' �"��ʥ�������r�oMM�KMq��2<4!����ި�k�����ȿؽ�<�P~�fK����%*qa�zr�ൿ�oT��X����j<]j`��7sD�5;�A�9�����r��O$iοY������\�oR����\t�<.���q��_�������s�(ߘ=���o2%[�r��.|���>V�=�C�Ĝ��u����g��)\R�_jv���gJ�g�HH3��j���H^�@�:?���"*����xk�e��ɑh� � by�%��<߂�GGo}:�fb|pOF7fb�L���J3j�P~z ���G�b�iz2���/���;u���in7w���FW�D�L�L��b<y��W7���Aծ���So6���O��Ō�L!�h�-�(�x;���آZ-��V>䯴 ���r�[�+�'�η�-��a��o�[[��Z<�@} ;�gi��Y��Z'9sN�þ�9fg����xٍ����D�]�~���ar��>p���z�m��C�vǮp���kL�)����+�~u�Œ>�g~f#�iI]�����,C=<9p@�[H�w��<���Ĭ�k�X�Aֿ�|�xb���od�$��[��߀�w����0�m�oA���8�B�'O}��ܝ��PU��Le=\��l1�j0R�Rt12!f�6.|�&4���i�'ՉM�"�}�(�"��7�Ƶ�:��&q�Cs,b�g�RxJ �npn�����祆|��I��u�W�o��\�y����u~���ڶ'���Y�.�>��Q�v��ԏ�\BܲPWk`7Y�<�����[�,�1��n��Ow��+�����΅��_�fK �dX�ld��%�������!��ţ�~�X��O͐Ǻ6���r���^/��*�od#X8H�j5�Ax-�J,�1�7��.4ޤ|���n`wwW%�C3K��MO2@3�Eh���M::B�P��&��:�����&�*��䋊��y��i��ڙE_�%��4mӺ.�̦���[�t����=��_�H��G���P�ű[�C=0��gؼ�����4�R �+���NW�}�+�=�ʪ@�y*�Z�uOKt���'�w�eH��:�y�x��r�9�d����B�`��0#��QUKɊn�W3;����i��?I�o1 zw�6Y�_�/*l0�- � ��r�QU��~nh���LG>�L���i���͞�O��zޙ�'̙��Ɠ�~��M�� ��q���%���_��)���v�`ckr�F�a��j���{!���#9kH���a{�<�M �Vs�9��_��G�Ak���@Wd��|Ej�?,��������J}ꇤ�Qm_ ��XsƼ�I@z��� ;�h7��mc 4�>����SfM4�Qk�� ��u�l��f������],�L�����uuu^�m���I�Vg8�~�Uy*W#�����\/�ܫag����Xz$�+�.E7o�S4�,�5* 9Iy.�i#qB;@4�FMp��J�����'�"h_GR$u�R��q����n������a��E���i23�^gShN#�є�UF���gw�*|�6�����>\�0�OR�vU^&��W�gOq�l�l(��gVj���e��PM��:Q*��$4�`&�KOʤZ��V6�y��J��#|q��̥�>��"��g���_�?<��+�1���K�[��*�[���>?�f� [uXZ�^S��T��UTa!ji_X O��N� ed��1t� 1Y���0OU\xk��s@��c���̤�{O`8$4�K����C���0�8H֨�R��V�u�Q�G5�;�~�j�X�E�� lx���'Py_�dY�ud!+ް�H]� ?���K����o���p�T�:V..|��G���p9nfĪ��(~�Ðn�t���X�����exD�ֆ�ު U��R�k�r����>d�5 �X�e�t�-]z��;l����ի�cS�n�� �GĈ,v�t_<L�δ&�՞o}��r������%ֆʓ'�zb����*�+�:�Y�d*�I�y44��:P��Y���t�A�Gʻ0��n�"�&����G�c�L�~����{2"��9ű��,��Ѷ,�F��L���i&�O3�-嶡�f��������g��Bv�୪����3Fl�d}�{��IG�qgΧģk?�`�wz��w�ܵ0�N�9xg��"�1X��*���LJ��!��x�ka�tp�)�^�)�U��*��f=�!#���롒�;�̶i���������*4��mj("��'?���.Il��n$��D�zMcuL���T�fN� a�w��3�c(�뤺� �|z���PPg�cG��.@0c�¦z)�q�����d���"̛�9eiΉ�[��mtR��j�afR]������Ts�����wh4����D+��nsӶe�/�1���Ĥ�y/D���Sc��]�n�w������6�z�35��[�*��)��A�{�'t}�f��:�m��I��6����Un2�g�e�sbUYߚ��uX+Wu�|���t�[����/~gLy{ߖ��w�{]<0w��c��şTI�:���W�v��W�}�:t���m��%��fq]L"�7����P�X[�\Ib��(�W㨠�,�>����{� 2�1v�$x�/1s�� , �2 ���h��#&��HB��:ȵ��~��}FYM%���?�����9���|bǎ'^ybG�r��?��ÿx���r[m����[�>�W���^.\L%� �580P����T�8 L � +�ɇ�)Z���q�7�����P~�+���ȗ����>�ӣ��S���B^�93�Iu"�pu�5��|��Pk���Z=Ԙ �j����Y���qr uK{��R���|%����!23A7m}�e�1&�)�`8!��(��_#�T�LIDa���.��|q��V4���VН�7o�e�pO\m�uS�ܰ!JY5���1��*>�~CV^s�[��TDل�3N;����t���Ӧ�3��9�_���0pb��"�4��es�-[�e�,9f=��P�O7J�z>35�]t&��1�P�y��=�����Y�IA��n�2���%�/�\\)M%�z�����%F˨��3���%�%�HQ��9�9�g�ۚ��Y�M�HF�v3}�\pN��0s?f]��Z��|����L?�5�w՛��M�.����ӝދ�=�!�����ܾ a��$0/-���u��@9�V`���i�z���9Rv�4�&��b\�L�BDwҘ���A��vF��>����$�@g�#d���UA�QV�q��W}T�Q�>���R�����x�LRu���*� �Byc������z��X�f���.v�|��#о��%A��TS���+��E�ݹ�E�[�h��=�ΦN��Φ:����N&�[�wp8�x�:��b��t����u�Z���.��:�b���ls���yS���3u{�AN�a��Z��t���C�y�A�0lV��ic�:��F�`|�t5g� �H�4�8��ȣ�-j�o��T���\� vU'�/��mk z�X�}ZۨO��^ͥO��uZ�j�-�OK�\o�z�S�1Q�˳�He��w^�R�����lJ�i�i���n+��ٕ2M��ex�ɪ�l�{�M4�d5��qs3E���O�4o�jW@5 ���5���-�N+���YYW�J�u��Ja3�*4� 'Y��� �N^]S��-�!XQeVT���N�Lg�+LMM�w�4��sA⼆�K\���8@:���z� �!�bQ�frT)�:�%j�R�h!��i-�O;�����^�gW������J4.9�۞��\��ش�+�z�<V�3�@�>g������i�@�ae%�t,�y�=��[ɷ�7�<��/9t��{.]o:����s� ��� |���LYQ����h՛Pի�� CR��]j�QS&���fs�W��g.�w���oR�u����wλ�]I����C�g��jG�7��t�zb_=�������Q=�K����a�Y,����WC�&����JI���/�W�Ϯ��]�<���:P$Z�[���v�Uys��j,�&�!㩚�{��~�,�Q�����j��&g�p�wp���&�xl?��`��� �����L�6��G��&���y��oق�ou�����5]3�A�MDr�W{�M���6�{_n"�b���~���N�y�L�W�l+q՝ڋ�����n����>:���5 ����8�����-`>�ڴ�g*�2Q2���n`)MT��8�|\#�z[M�W?��;j��Ǐ�2��7)CU��F{y�z#�w�/'m*��U��.��<��Ƶ-�Z�-����Y�Łϡ\ߤ��t�j�����/'m��3v ��E����8ݪV���nD7-/�t���i��t����2�B������}�9.���`v�v�♦r�:y8_g������zh�(^B!g�T%]��\K�_��S�`�JҤ��'_P��5"W����2�naR�B�U��t<��8+Ѣyc���"�����*U1Q��&��P���>�oUXb��C�f;%z��5<�Tc��/*��mXG��٧�ȝId��=�z/y��$W����QU�A&۔{��E��:#�+?�r�o�w*��o�I��6���gtv5�E`o&�\5�i�w�� z���c6�Z�#wR-�����J�15apU�/�����<�:��0;�����P�S:J�[Ԭ�>�������j�M�I�_�� �R��%$ZP&��BX�V���~�Кw�"�7�FR���r�5��,�X爯�yǎ�˛����i����Up�V[��[���\�oи��jKMьV�>�ss�,5��RI� �}� 5�pE�U��) 6R?��i[d�SB^��y��w�#�B���ߥ����ɩ�{#ކ�H�`v���A8� ��J�w�`�7[)�c� �p��q�do���NyL�.y1�=2�q��5�6n�����r}52��YHT��K��"�>Z�ʏ�9s�w�q�>ɗF'���Z IHg����i���p�./Yd��ɻ0د�B�5��8�E1��^9�x�� !���&�d7Z�ӄ쥲_�ם���н�`�S �O�J�$x�FM6�/*�F��7(R"�2eҒ^�R��]&����|�E�SYZ-3R � E��ä�&��c �feb�h~�[��OS&�TiR�����mŪt��}���}2�sT�*�-j�Mf4��5��J�F��V�3`�&���1��Lp��˝�X�6��4�A Z��D��G��+� 7��jv�M=��*_����?�8���1� �c�M����u99���e�E4گ��<��Ob]�{Y ���r�q��OQ��h�������o�CH4YR�EO��zɄ(��0&��r�J���Έx�\OO�ˡG'ɸ�(�3���(�T3mнp�cc�5'`IxW�����Nm"��{.dQ�a�zhQE�Y��EK=d�w��<�H��{���֛��,ԟ�>�}�(�9�?L�p�%awb�v~��鴕cuܧh���aJ[��o�FXK���ď����:*��Śem��*152���UaJ��a�� M$��Y꿚��c�@%uEȨJ�P�&펫Vd�Z ��[��%>�����~��S�I�-�@�=��b����ٺ>��;�ew�C�����6 t&�[�{vX�>ѻ���!>O�.{iMc[��B�@��w�r��<]N���@jo�mk�9����u.�w��z)��b��w�.��P���#�+�bwo�"|�W� ]��S�����e���K.�{�y.���u�<fS���Q��=�gD�V�i>�D�Z��18�y���h�qY��LݡP1�Sv�]s��JAWZ%�4`��P�B�$��T^:B�BIޙ�4L� �ĵ��`zx-`}�>λ���n�2�+��� kZ1_=b��h�2��o��}?�`I��{�1�"���q�J��֩?��o���G��;�Nը5�Ƙ�)�1��o�Q;��{n���`�[jprZ��\r�G+u2$�Z'C������li�u�ѭ��?_�5��(�N�_�����e�ECP8u��H���w�`6����[7��,�H�p��O�0��s։;�͚&��eakɤ�e�S�i&�J=�L���3 V|i��R�nUXD��ߢ>MW���I�>A7Ɲ�M��o��f�`(!�����ܩ���>�#�ݘ���]��Vd�[g��p%O�yZ?W~Ԟ}C��KYG&>J��h�>s �P)�#�x�,���t�>�%���Yb����:(�$��~�MR�8H�K@�\ͻv�1�I(@�'�.3�@����� FX�q[>b?�jK���7�]���Y+���-p/�X$���Nju�C��(�_|�r�z��c+�K~�f͕��z�c��A;�j �t�{�zf?�t��Z��hU�c�6��'1��Lņ�dU�T^�N��1]� ��ua%P�F&3C��Z4��K8�2��N�(��(&�^Y����*Oj��2�W����L���T�����ە ���j�"��B�V����"�T�"���\+��z����7��?K�8N9X̃C)y�;Ob�3Z�F���8l��o�c�I]I�+F���6*#�ȼ�) eu�8�C���cN �"���k�&M��=�z��wܱ�<��;�}�5�X��_�k�0B/Л"6��k��|JA���w�q�6?j6{]�b�X`��g�1%��Qƒ{?N�]Nw��v~�w�eD05��4��/2Ac�}¾�|��,�� j��?w�އ�=���{4�����Z�_47�b�5�hEFr��n �^��O�����h=Wua��;�1˭;{/�3��[g�SNƦ�����l�;��y��,���LC� �1~R]������,3=[?�s.� �&��t�IT�d9j|5�##|�CO�wB��C�+���iNC�D3c�57#Zx�X�3�{Tнi �K1��D�xe�i��<K��Mn����/�7��T~�_.9dv�E��e�s�P�yj�:J W�S�_��"��� w��oŊ�/�$=_�B~l�l�p����6ͨ��[M�P�]�dqc{�ä6�Yn�KI��|��P�н�c/-�Ў��������v� ���p�d^hpޚ"Q���k�dI���d͜����U����+?��⋗9d�O����GYD�G�U���P8r%y����:�������^[�(Z���&V��gU��Y#ÎT!��*g��N@]E=ӳ�M�����ސG.�<N�d��곉4NSi��b��ON��Z�hH2ñ���`����pg��� �zy�e� ���Sk�7�5���o.�p�a���?���R��s�R�C�Z��TYztᴈ,Q��}�Ln���e��<W���\�I��� ��6�<]��y6� #1��7\��D��ђj{~�Y�>��Ӻ2��g癪i���rFJ�����+�ʰq�V!�|�]$��Q'���z�_�R��ݑ&!Jc%O���D��O��怼�T�IS@�+�D�$��a��U�A��C3�G��V7�5f3��Ꭴ��̏��4y���ĝ�Ⱦ'��|��L�єx��K��]�(t$���"���<�hƞׄ��o[=�)Fk��Nǣ�We|5qd^m?�=j'͆��$����9Nχ��g@b�� �z�*)�K.�d<a3I�\"RX�� ��&ь���c݅� 3t� >�=6>����Vc�<8�>)��p��ԙ���J3��������I��?������h�a?́D�Mݯ��P:��Q��8j�)�y���7b��Xo���v�f�I�y�A�0QL{��r�N@�\��&�2ŸV��=k,Z�hH͘]Mk)�zRm0;~6�� ��+���ar��[P�kΫ}.���]�q9-��T 6]HԜ�4-��J3������}T�cZ�< ��Ь�y�r�a�P�2!���G�{_ٳ畽 Ւ2� fKГ�LQU���ʜ՚gsͲ�2�V֞���"�8= ,�',YWeR����G�BG��n�3��G���A[5i!R!w �?B%5����_�0bGOxU�_����Յ���<��ΓF���H�K� ?���^�TUy�<W��*��N�R$�i��t?���fB�0l�<T]�~��4�{4��E�S���%�� $TS�\�%�2�,�'�`�*��g� -��&�:`�;���ft��O`h�RV�Z�tc��3�ƌ!�DP�j-ѭV��ZAX��>�Fj�e�<���J϶Ԫ����s6�ݩ��7+�,��5��O�u���c���B.mf�K--$�j�h�Ѯ���`|����]'��T۩;�j��s��Jm�J��S�����h��M����$O�y8*�{�Cno���Ա�A��#}��}�v�<!�4�I&�3�˻r�ߓ�T_�� g�'�:� ћ�o>��'�,i1�5W�1j9[�3��$�i��X���Z����3�0�Ðn��f̽���k�����!�9��ގ+��g��J�D^!.YX\>X�%'J��L�����!﹃��sz.Un�`iڐg&ϵ�}��p�j��t�*?�)!���N���;[)X�G|�YLN23��Cj=��ps�Ӎ_��Z��S����]�5Z����^��0���,�N�՜�#���ǢkV�������Ƥ�H����)��J ��&��Z3o0�pyeG]��:E�9��X&�Ӳ=vIt[V@u7o������0 |���I���}4�t*o������Z"�]X�p��1��qR��M���P�ޞn��^�(g�K�ō �� ��_�j�"_L�71�4i|\ݾ�!�$��� a8ډ������N�$ۗo� <g�Kp�`�D��� �c^f=�F�������=�9�#:�^0� �^UK�ߧ�����kg<��pk��*����Bܿj�dU��zO2�j,�*I+˫�* ��A�Պ���W�])H�i1^,?_uQH|�{I�EJ�5��f���,�j=��]i_�rȬ}Q8+��/;��|�g��mvH��^��bҴM;�,+�]�o _&���7�D�11d:���uud���·�2��#���$Q�襇)f_�|�d?�>p����jW�\� s�h���i��AU�T��VS���13s��qRI$��'���u1B��d��@��G*>8*#���%y�Ӈ�Ջ�3E��ع^%R+���8�t��v2_��� �!<���̾����'�ڔg�L9[��Y�Lm�����\0RاS��j@�D��pF���-��#<z���Qn����.#�=�NI��毬b�G�PP�:\��F��[�,��Y�5uf�;;WF��5�����w�E���]���"��lqU�>Z_U�u&o~��Rg����>�=�����4b�����W�Ǯ��h��g���g��sf�mq��(�h}Uk��LN�恦��ʯ�q������<{澖�#�Z�%j@bd�c!Q-k߉��L���U�Ï�Nf�Z�vM��3���Y�qY�f��!�!��1clBH�ft��܊ ������g�ooHE��\����1`�9��I5�7��IXMO�G8�T���3�e.䏤�9��=�pT��T� �{ׅ��������b|2�&�'i!N���J����3Vbh�V�u-!�����rǛ�c��6՜dz���ҡ���zKS\v��J���h��M ����1,mq]��UIئ^�p,�L;&s*nz��o�QY�w{_��K{�ݠ���^P6|��M��~ɋ�xSS��b����u�� �͏(��,yQ�lj�x�9��H\����Vv^�X�1P-�kEҍ��R�Q�xF���`���\�~)����ҹs��O�)�t̓W3�x�p�%�#�����j�י��ZM^2j� Y#3T���ܗ������P�%��:�5�U��p�W�[�u��r} �%� �p�k�j��B�;�h!v3�9$�lR2aZ�ޘ�Y=���zLM�ۚ���.�~� ��n�B��`Vz�g�\�W{� �w��Fx�^���J�5� =ii��`6.h�S2�'�9J�/�c��`>�q���G>º5g佳.Hʫ����3.��9M��c&@a���88�T�~�&����N�G��������y�����+� ���h��A��U睊�cv�Z$K�ɂ��Y�����{�<'���1ܪ12��g��8�y��?x���ck��+��)�\B}�Sf��V�v��g��Q���k\;���չ��O]I�ϲ�����W�d��~���OL�IX�̘��� IJ�5}.�CGV��.;(iB�ڼ��i�3���AQ�����P�S�꿲4Z�+����0���[�:ͨ�O�����/Z��^x��P����a�%KT�B�vv�˰&s�:��a��V77�-�P��J"��LT%�DmI�P�&�du �\��� ��'X]���<����#�kv�R&yQ��ۨ >qb�b���}ʭ�Cm5" �gS�����+f!EM��6�Y���h� �S�Ք��ջ����i�E���Ú���_ڨ~���!����ar4�X�9�P�A�'�������m����so��ͽIn�]�&�1Ic;MCW���Ded&t�+T�Tm�aZ��N ���S#���@7���͓/�)��2T0g���DJn��Mn���;�~ߧ<{6�Ⱦ)�� �ӄ5S�B�ly8G۳C!{���*���Q�}��Dx���T�t�$�8ϛ���K� T��r��β���|T&+�-����&eO����Y�:���;u�.�Lh��^P廥 "��GDբ���B�{�,wR�. N.!�z��ζ�L���c�P���S���|A�5���/A���l����?Ə�%��4|߶D��l��"�Ȗ��Ka�kt���x_�\C-�o�8Ny�̿[8��_qZ�l �����ĂW��W�rѷ+�R���:b2�`�% �|\��C�4�φg���n��Ԭ�-4��%A���O���}��?|nj���D�\Aѧ�GA�9�6�vQŶ�+i�2������rx~ |_�a�4|��= P("W�Wl���=`�7�V����J9�ȩٕ�H���ɳ[��a5���u�����)� 6��)��TRQ����z�D��[Q�� �<S+�&���-��x�o�_Wn��9��}���g�u�#p��W�-���� �� �� �4�m{"�-_�-^�b�K�q�q���Kj�v��ӯO���;�0��jF�]*J[�]G��tք-̳�,�5$rF��Q(��q� �O۴���Z�1E�*�E���Zr�ͽuطQ�磄�9�AR|3W�� �j�0J�{�/�Wv�T���U�{�$9 ��UN���ES�W�Pl�;fK��p~���i_�1�6��U��QX$����6�"�{A�ZŭC�~�@_�*x�p3�3�c�������qȼG����Nj/i �ΡC���)|[Y��Y��sqJ�jI�d�ʄ.�b�ҳ�^�<s r���"dw�r�]����������Ӄ�'���L�q�E/d�OM^|�8e���[33���|<cĢ�L��zj&�-��,H�A��]�u���..�%|~A��F�X�1�N��C/7t��k��}l8� ��#vj2�ss�̿��Ad�ܼN���W���TL$��ϧޞ�b'0x�c`d``���m�2p�0�� ��0�����,L̍@.HS+@x�c`d``n�_��"�?P|x�qx�uR� !�� 7BA 7M&� :��mzC�K\s��g��wz&y����D�7�#Q,�36��eA�@w�:>|���������3pG��� ���=r�f[ �(��X��6f�+�ϡ�1������o�<��z�Pk� �q<'ql��j�cM#�0�I>ȃ�X��O�\v_'9e�Iq����2�)�=dg��*O��@n6�c����j;��/��ߥDK�v�D��uOt��!r��H{���/�MP���"X��X��<r����.d��"~�:�R�� 6 n � N � �:�&z & L r � �X����T�zp2��6v��6v���V�z�<��4��P�V�x�V��\� $ l!F!�""z"�#:#z#�$J$�%,%�%�&0&�''r'�((V(�(�)X**Z*�+ +"+h+�,,N,�-:-f-�-�.&.x.�//�0�1f2*2�3�4R4�4�5$5x5�5�6F6�77�88�8�9<9�: :v:�;0;�<&<~<�>$>^>�??F?�@.@r@�@�A^A�B^C CLC�DHD�D�E\E�F$FnF�GRG�G�HH`H�IBI�JJhJ�KK~K�L,L�M0M�M�N NrN�OO�P(P�QQFQ�Q�RDR�R�S6S�S�T"TNT�T�UDU�V&VpW$W�XXXX�Y YLY�Y�Z>Z�Z�[$[\[�[�\R\�]]~]�^ ^^^�__�_�``<`�`�a,a�a�bb�cHx�c`d``a�b�g& fB0��ux�u�1N�0���iPBL��C�-�u@=@����QeU�R���0qF��8��OxCmY��߿�{� od+�;� K�)^�se>�g\�e\�Q2��rn�_OT��x��q�̻�{>���Dv$Z���.��(x�a/�̋.�>���1ڏ�qP�QS�k�����J��RY/}T����WWޭ���UBY��ԥٶj�q�;�-��6�)�օ�_����99x�}Ve����c���\��d��f�$R۲���Jr��.�ff�3333�J��g.?2�7�z%ɒ�^���h���X�����G�b�1����qGq����l8;s�\87��|8?.��B�0.���b�8.�K�R�4.����py�pE\ W�UpU\ W�5pM\��up]\�� pC�'�Ƹ n����n�[�ָ n����;��8 w�]q7�����'�{�a�8r(!p vP�F�ǡ�a�a�v��}��];��q*��Ax0���ax8��x���4<����<O�6�<O���<�³�<�����/��/��� ��Z;�W�5x-^���t�oě�f�o���v��Ļ�n����~|ć�a|���q|�ħ�i|����y|_ė�e|_��} _�7�M|��w�]|���C�?�O�S�?�/�K� ��op~�����?������������hm��h�>�F�(��h�ƣ�h��*�L"S� �L{� �V<b�sa�6{�Q�5E�i�(�$��*dB���蝧tڈ|oܣ��fқJ��bJ�E��E?�}� k�R����a����пǙn�`�Fov����Bn^��>[0��3���dʄ�$��5^y��3t�=�ьWU"�<F�Y�q#�)=;�ͤ܉gJ�<e��SVs��(��5S��R3��>��A?a��<�B�;0���)��ˌ�̕l�W��pc �@,Q�.�[��Bn�dO�����i%ڙ� i�dM'�d��E�.K*���b���L������b��{�F+�oy3�F.�U�Lk/��ޑT���CI�>�q��ns�ѵK8$}���-wp���:��k�Ӷ���g��n��*�uIT�2�� �7|�.�$�w�h �Lɖ&�n�g��3�m�]"J�*�X���x�sfJ����ܲa���'�h:Ҹ��4��'�T��n�Ћ<�j��:�ʸ �Ayy� ���{��_rb�WR��B�����f�Ec�GUʕ�D��X4� ^��zeg|{�$�DΓY'�<��J�h��Ƴt��f6��D�lW�b�'�5kC�OZZS�۬�ִ�@��S��a-R�a�:9�P��MX�F�6j�x2'�Tl[�p�}�V��9��N�tҰ�(�T$�;/lY�Cg����˃���R6�bU�՛C�x6�q-��Y�:�fo���N��;88)j�$g� �+���氣g���p�����B�M�*a�o傞�eB�J�����L�tA��h����n=���"^z�fsh"LZҏ�PF:�I�*���~^e����u�wD��(l�.�<�x�E�IH�nd��+�2֤~�E �/j:�q���&��v�o�5!�+�y`، l�R���&�*���Z�����^Ϭ�M���Ȃz���`���(F1����(h���Õm�G�.白��f!��]k)�6���M{�C�5�8���L��t䍝�j�Y�����C�s ����ϥH�-�h.����n8KDZ�7�3i�-D.��e�ؼ�Oո/eM|��/Q�*q͚�w�J ŘD#s��6T�T�<TE"�We�c;)y��T��lƆ.e��Б����G�@�.�;ZʃU���B]�U�m��DN��-Ŝ9�M�ﷵj�=>r�Q0x��6X.:��B��ql�8�ԧ<ۯ��娋O2I�U��`ҋ�K�W���p��yP8�q�L�o�mk�}8(~�����A}��T�͘N�z�$�%��cɺ������ �J��>cED�㰊x�QIR�]����gPK�x�\��qKBoBofonts/iconkit.eotnu�[����{%!PS-AdobeFont-1.0: iconkit %%Title: iconkit %Version: (null) %%CreationDate: Wed Nov 14 05:23:20 2018 %%Creator: www-data % Generated by FontForge 20120731 (http://fontforge.sf.net/) %%EndComments 10 dict begin /FontType 1 def /FontMatrix [0.000976562 0 0 0.000976562 0 0 ]readonly def /FontName /iconkit def /FontBBox {-1 -129 1026 897 }readonly def /PaintType 0 def /FontInfo 6 dict dup begin /FullName (iconkit) readonly def /FamilyName (iconkit) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch false def /ascent 896 def end readonly def /Encoding 256 array 0 1 255 { 1 index exch /.notdef put} for dup 1/x put dup 2/alert-octagon put dup 3/alert-circle put dup 4/activity put dup 5/alert-triangle put dup 6/align-center put dup 7/airplay put dup 8/align-justify put dup 9/align-left put dup 10/align-right put dup 11/arrow-down-left put dup 12/arrow-down-right put dup 13/anchor put dup 14/aperture put dup 15/arrow-left put dup 16/arrow-right put dup 17/arrow-down put dup 18/arrow-up-left put dup 19/arrow-up-right put dup 20/arrow-up put dup 21/award put dup 22/bar-chart put dup 23/at-sign put dup 24/bar-chart- put dup 25/battery-charging put dup 26/bell-off put dup 27/battery put dup 28/bluetooth put dup 29/bell put dup 30/book put dup 31/briefcase put dup 32/camera-off put dup 33/calendar put dup 34/bookmark put dup 35/box put dup 36/camera put dup 37/check-circle put dup 38/check put dup 39/check-square put dup 40/cast put dup 41/chevron-down put dup 42/chevron-left put dup 43/chevron-right put dup 44/chevron-up put dup 45/chevrons-down put dup 46/chevrons-right put dup 47/chevrons-up put dup 48/chevrons-left put dup 49/circle put dup 50/clipboard put dup 51/chrome put dup 52/clock put dup 53/cloud-lightning put dup 54/cloud-drizzle put dup 55/cloud-rain put dup 56/cloud-off put dup 57/codepen put dup 58/cloud-snow put dup 59/compass put dup 60/copy put dup 61/corner-down-right put dup 62/corner-down-left put dup 63/corner-left-down put dup 64/corner-left-up put dup 65/corner-up-left put dup 66/corner-up-right put dup 67/corner-right-down put dup 68/corner-right-up put dup 69/cpu put dup 70/credit-card put dup 71/crosshair put dup 72/disc put dup 73/delete put dup 74/download-cloud put dup 75/download put dup 76/droplet put dup 77/edit- put dup 78/edit put dup 79/edit-1 put dup 80/external-link put dup 81/eye put dup 82/feather put dup 83/facebook put dup 84/file-minus put dup 85/eye-off put dup 86/fast-forward put dup 87/file-text put dup 88/film put dup 89/file put dup 90/file-plus put dup 91/folder put dup 92/filter put dup 93/flag put dup 94/globe put dup 95/grid put dup 96/heart put dup 97/home put dup 98/github put dup 99/image put dup 100/inbox put dup 101/layers put dup 102/info put dup 103/instagram put dup 104/layout put dup 105/link- put dup 106/life-buoy put dup 107/link put dup 108/log-in put dup 109/list put dup 110/lock put dup 111/log-out put dup 112/loader put dup 113/mail put dup 114/maximize- put dup 115/map put dup 116/map-pin put dup 117/menu put dup 118/message-circle put dup 119/message-square put dup 120/minimize- put dup 121/mic-off put dup 122/minus-circle put dup 123/mic put dup 124/minus-square put dup 125/minus put dup 126/moon put dup 127/monitor put dup 128/more-vertical put dup 129/more-horizontal put dup 130/move put dup 131/music put dup 132/navigation- put dup 133/navigation put dup 134/octagon put dup 135/package put dup 136/pause-circle put dup 137/pause put dup 138/percent put dup 139/phone-call put dup 140/phone-forwarded put dup 141/phone-missed put dup 142/phone-off put dup 143/phone-incoming put dup 144/phone put dup 145/phone-outgoing put dup 146/pie-chart put dup 147/play-circle put dup 148/play put dup 149/plus-square put dup 150/plus-circle put dup 151/plus put dup 152/pocket put dup 153/printer put dup 154/power put dup 155/radio put dup 156/repeat put dup 157/refresh-ccw put dup 158/rewind put dup 159/rotate-ccw put dup 160/refresh-cw put dup 161/rotate-cw put dup 162/save put dup 163/search put dup 164/server put dup 165/scissors put dup 166/share- put dup 167/share put dup 168/shield put dup 169/settings put dup 170/skip-back put dup 171/shuffle put dup 172/sidebar put dup 173/skip-forward put dup 174/slack put dup 175/slash put dup 176/smartphone put dup 177/square put dup 178/speaker put dup 179/star put dup 180/stop-circle put dup 181/sun put dup 182/sunrise put dup 183/tablet put dup 184/tag put dup 185/sunset put dup 186/target put dup 187/thermometer put dup 188/thumbs-up put dup 189/thumbs-down put dup 190/toggle-left put dup 191/toggle-right put dup 192/trash- put dup 193/trash put dup 194/trending-up put dup 195/trending-down put dup 196/triangle put dup 197/type put dup 198/twitter put dup 199/upload put dup 200/umbrella put dup 201/upload-cloud put dup 202/unlock put dup 203/user-check put dup 204/user-minus put dup 205/user-plus put dup 206/user-x put dup 207/user put dup 208/users put dup 209/video-off put dup 210/video put dup 211/voicemail put dup 212/volume-x put dup 213/volume- put dup 214/volume-1 put dup 215/volume put dup 216/watch put dup 217/wifi put dup 218/x-square put dup 219/wind put dup 220/x put dup 221/x-circle put dup 222/zap put dup 223/zoom-in put dup 224/zoom-out put dup 225/command put dup 226/cloud put dup 227/hash put dup 228/headphones put dup 229/underline put dup 230/italic put dup 231/bold put dup 232/crop put dup 233/help-circle put dup 234/paperclip put dup 235/shopping-cart put dup 236/tv put dup 237/wifi-off put dup 238/minimize put dup 239/maximize put dup 240/gitlab put dup 241/sliders put dup 242/star-on put dup 243/heart-on put dup 244/archive put dup 245/arrow-down-circle put dup 246/arrow-up-circle put dup 247/arrow-left-circle put dup 248/arrow-right-circle put dup 249/bar-chart-line- put dup 250/bar-chart-line put dup 251/book-open put dup 252/code put dup 253/database put dup 254/dollar-sign put dup 255/folder-plus put readonly def currentdict end currentfile eexec ��Ut?��cl�Z���P��'0*^]T�����a�R�s��ݺ��s^�Y�0�|A7풏?Ifޛ�3h��Q�'��Q�0�p������\D�]R�auq^�Esy� ��[j��+�E@^긪BRl�& ��_Lw k�C�è��` wF�1�|��wa6Q���L ��.���K[6V�7N�S��I�W+�'�I/��:-�t�PP���~ҟ;��Ғ�]�Sv��MDU�{<؞p��c�[��:ȁ,�Ƚ�J%=뢟�݇�#7 k�>.i��]l�$�TD�1��+UG��@��3����sv�~E&61[�A�(���~�H,w Q�BpY}<I8tǮc��ś�@��H����4���ȡ�y2�oc^E<���ӕ`���p��wB]�!{��Z �K^y�f�����_2Z^�-�Ԍ��D����F+� �K��m�������M���ݙ�X@��Ķp��Wmb ��UD�>�ō'U�|A#��Z�w$�1hh�� �8�q-��&R���.?;���0�7����f��*L<�l�r�u_�0X�g�T��|�X4Jc� qPhϐ��_M���o ��0��M�֓|�� U���]E�K��P���6�IK����ꂓ�;AQ�W"�x�?46�� �%��[���\fu�'�� <��|8g�(��l3�P�N�ʞ�x"�,��5�4dD|e�(ou5ub�ަ�2IE��`�w�%�#��9}�YbN����WA'�|�ͽ�UތH���2F%���r �\IO�s=���Ԟ�O��!�d�W� ��>�P*��@�w]�9L1��Whd]�P|���j ��b�ZC_(�dN�53�!�q�T���D]���D����� �Z]D� B�Ғ}k'�j��W�Ӷ��y (C�3bH����1����F����,WE^�� ���[>`�P�8��hm%{@*ɤ��'.����zǚ��/����@Y�A==�>�0ȉ%�ސʩ���R�̪G ���y�� :�4�=�;x��R�H��������zG�/�f�{�&2O�ok:5��;I���t�B��̅n�˔�$�FB���тp e�X��K�v�[=0��c���m�E�WI�o��c�3�`����@�����֣�^���i��g��n�z��s�BY�I�~���N�� [l�T+�0O<��^w��6���Ff��<�w�o�������#սJ�2��^J�8��B�qK��4�L���f�]=�c2��nj�V�.����\��m�N#���@�5KNC��M��.��=j�'\h���e>TܧG��u��,��1(�����'��s��aE��)�1�Vn��g��X˃v��%\w[A��D�o��b�D,c�H�m���jT��=���t�šv�_Dr 9�l,q�i|#d �g��iMS�_��]��w�ﮀE�'�76}5�����&����2��=�w �a�}�=5�P� �j^xA�c�T��rqjG�v���zbf[�Ġ�UPA��J�M�o �`z�Rf���t�.�DB�$�Ի4��g�ξJ^��$1c�0�%4�X�N���b�8p�9ru��B�x�5��P\��쭑�����)�c���4�4�T��kT�����]Ȝ�ܵgۢ��������K�~�P`i��!��7�[8�^^��|����6��eI��jLxy ^w1�jmM9X�@�#vQ=a�wG�+�>T�8M���.����ۺ�!�3:8AG��� =�H|����]�9�9����O�?4���s���YRR�wF���~�t �:'�:�D$9暦� �[�6� ��H�ݽ�dFQP���f��ȓ�NQB=�����ZGſ��'�h[(�nn��t ��,M��S��@�L���8auU=I�\�H��bUє5��:��>�,�l��+�,�f#�%N�]�,#�Ԣ~��7��¯V����d,�I��c�Jp�\��Y�iȔD�g�%y�W7��OC�0��BU6���@}�>�7D��@pC��q�,vC��V`:\� �?FP��L�k-K��{!�R�:����a��[*v�߅uH&���V�;p���r��kH@}�_�yl 0�J\j���wu.5}��s�q�R�-|g%��}���[K5���X\;�ݸ��V�/���hʡ�l��G�*����9������Ĭ�L_9m�A댄�18\z�~u]0�b_) q�}��cF�F�x���;���hg��H�%^�eC<��Q���k��Ƹp�����U��(��V:s��կngR47獴C����WQ�6��rw��z�\�=f�Ĩ=izIq�:�òd@��`�y\��J}}X$�-��V��8c��ԗ&�XT�+n�]@-��S�K��Șa�� � �!]��`�q��~0�r_�* �"شx�ȳR�E�t�"���w ^�M��l[yn�r8ꄅ2~9a��Ɵ�w�����~���s��V��*}�9��'#�_�چ�Ŷ����2Pq�=�kui�u������IKt����nj���܈��D�=(| �r8�-��Z(�w���Aӷ����|��}E^o�8r>��u��w��8�w=����UbH�b����N� 8�z�P�ӵd?��Sd��e/gd%i��f��K�&�|ߠ�.�e��#^\�j>*8#�_q����/2��<`<)<�^��.Q�����ү�$Jix3|W���B�l֫t�� �f�u�ɛ�/���Gu��Q̕�M�ݳ;��e�k�en=��N��K�K����|PJL�|�ê��' o��V�� �� ���T ֚�SV��|,[-�%ҮG&�E�w^���Mw�8��_���p���2^�Sذ��'�4�À�ߖ���T�/��±���*�[�"|��nT�X64u�hKt2�+��Tq�DfuJ��fv��G����:Hʚ�9�c�M�qp�ԧ���8ZaZ%�LӠ�̀+7��^I�b�����8~#F���2JO\]�W����p�#��1/R��ÛMg*T���X���|��- UO�ђ��h��lVW�y��B{�I��m�)e+���vh_�8o��Bwb !�a�5g���C�wX�� �o����E��{���gHM����B��ʔ%�j�|N|�JpJ�U�|O!XC��xV}�S�M���o�����g��]�N%|*��1k�/�J� ��-b�KS�a�Z*���Уr)�%��;97S���U�/��f?�ʅ�u'H�5E ��.��_!ϕ(�m�z�9�7�AΏ`�)3Tt��4l�*����� ��!Ir�զ��X1ZY�Y3���=}\L�!Iŭ%Q�ZF�پ������W�jʚSĂ���6^-��(�J���ɐ*�Gp��}07oN���.odA��Mb�]Y8{���j��� c_����Ě�f�� غ��*�!H�x���->̄��r[���E��c:�~��H�����j�w��7U���?ժ'#!v������`�vG�*��HF�ſ�L5{���ы!�&4�"�7���8{P��Y��Y�\Z�ލ��:%��h��\����B����W��`�$sbS)y̝C�A��n������R�yb������=�9�@/T��%s\�����ۇar�'�����;�sx�[��� %J��/h�W-��3?`ÌcVR%5�����Mf)�c��GR�I7a#F��ݤ/z���[<֓�6�[`bJ��]�9�ݯ��M5íD��څ���ݨ6@9C�B㉉ht�+˦�K��]bҬ��*$N�Kر���g��7z�d����Sm3J�M�L8�SK��W��E��h����x�#�I)_�i �|�s�^D�+��o�'���$�����|��Ư0�6����L�r�ky�i�J�X[Kr�F|� &p�F��)_6�<-�42���,W��=����fH����v�^��(C�����I���O����|G�T�7��I9�]��a� *Eu �D�cX�l0��h�p���k�B8��u�b�� ^��x����K]S�u1j�K�D-�P<ˏ�|��u�}k:h�?�0�@on�r�&k01�7z��'d�Hs���K�);` e��l��\+�RŊ�!gP]��, �nC��i�^��¶4�S#A̳�H���Wi]"v[��t�a�1v�U˃sV� �J��K��=gKȺ���������OIHm�n��a���^VZ��3ia�>œit!(��2��-������Mb�����ٿij�,�.���*� ��<�r�T^�T�a���z��1�%dz,��SG�)��L��ЊkX!���:�2�ѱ��a� uN]�- ��Ƭ�V�ȇ����#�cL���R��, �2��q��a=@^�G��&�,�ú�K��վ���m��H���1��&�ND�vI�� Xy;f��sQ�D/)`E�=H>���U���Ôo)g�ߔ������ �JrW��Xo�&��G �T�#y�}$j��iƺa7ɦi9�V��N��gnO8�]�r˙���a�F4Hy�Iͩ����m�5�`:&hy`/!�'a�+�h�J��Yȿ�;\5㷕r`������h��f+Ԏ�h����+�1��T9�m�|)l��("ň�ț�RM춂��\}c3��!e�B �Z�b,�9���;�a�if؟M?�]K�șfRy��a�}��_�R;W�^���dS�c{(oE�ix�⦽3�b�qk9yU\���N_���NA���ty�ъ{����K:r�8VS�M�������g{AW�Q�~7��}QLKb�|K��jOS+�>�f@2������%������>r�A��е?\~�g�gD悂K� Gw��J�؛"`�.��>�g�i5(�#��+�E�X�;�0W�?G�Z|ҞT�2��~��9�fDDD4��#�?�萚 ,7�JF��������R�Pd��T>QX�o �H ��,����s��݈0���Li��f#��$m ~ 6)"��A� ֳ �w��EY�MM4�E|ֽŎP(�8��J��4�X�`��o`�}G��+4�?li��o�;�!�o"ɄF�����#�T�XK�{O?��-u�s'BGS�"��c����X�S����#�dh��N#D#J#���\X�z�6�x��.��)F�V>�Uv/q�X�,c]R��h��ĺ,.)�m}����!G&{~���}����Au�+�tt%��;M�W;h���;9(z���6$���L���(k]��Ҋj<���XLg�oPEp�8��4f&VY/'L���ƛ��σyA��\�J�+r`�H�:�Y�E�/���l�N_j���gj����/xX�ND�$�H�����uR8�)�:��O%�'���?�_;�os� ��wUS��Z�]t��u��_#�=M�%ě��EZ��0���n#��y����:T����e"�]-�>��ЫX^"3"O��$�ΐ /�b����%V��$S��2�k�I�FqZhz���A0���n؝��ҽ�c�/���㳬onȞ�PE�'��(di>�6}�{�`O��(+7��L���!ڋ!!�q�c>��>-�+VWLnA'�d\�>���J,�#][�=D`��+UT���_d�$�q�ǥ?;��d5$ �J�e���+?D6.9�=k]�Y���P��\b����X���"ծ�,�P�6�Ϛ<&�.F�U�*SӰ�,i'k������r���e�dP6�ڐ���)i(��p�_�Jy79�N��&���%��?�_��j�L��p�A�,s!����"�%E��t������5��N�B]rV���ٜ]n���rb����0"��z�W4�C9W{<� 2E��=HX�7�*gHF�n�ڕU�7 A+����� l�˙�H��F�%����#[*"��{�Q�@\��N㦯��J��FΪ����Q�=���u�~0A��A�ć�)Ii0�sp<y���U�6�[ a�|� &�o�&c 7��Y�@��E�̲�%��Rܐ.s��HAJ�����T���q��rN�J�D�Ӕe��];�`��}$���Œ��m91۪�G�_t=��a�M�7����\_���c49�M�(A�qC�4BL�5)��m�&�Y�S��D�V 8��.��G�W�De������W�Z�\Ȇ#e��rB�?�G���-�ʼn@��p��)���_��Ӌv;´+�uV�bC��i`��+d�b�96��M3���#�&F��4��}���� �w�/tG�H����p����L��p_� �ѧ�6�X���s+�\�yK���p�=�����8�2�v�"�(���~����W�_�p�[aE�g�z���:i�0��)����/�{ �s3x���:6�唕���8�C�Y��{�4� �$�aEC@��#M��ݹ�[�V������z CL�CD�/����4����}�}�h �"�[7ق�D�0o��)���rmk�4�/��HH��A�~��^��H�[�~K�)e)�@gh���b�+���]M�uV�x�5(���ĝ�$(Z���b����O<��0O��/��TB~6��"1Ln2Qy��{�zX�Z��"��M[<÷A�=�)��&�,�X�qL��qP��X)�j��,�l)g֏�����nE~-^���<��}� k.��@\��-��,S}�?"���TkT����dDx��Q�������|��NG(������(%iPG�*����y L��\ղ/w�%�T���*���� ��i Bdž0���6�;��45�`�*��"g��4݃^��W�\�Ks^ؕC��slUǷG������p��ζ9pYč:qwI�I��ЏW#=a���݆��2m ��{xC-�� �����ڵ��4��q�y~���-��)p|[xz��QsJ�Ҳ�$���� Q��=$��W�uciIA ����Z~�?E��P$���h4����kcj����3ܻW/b�{��='�k�J�l��tiyA�'�r�N�m|ZxԊ<*�o<�b� �{��s�@�� �� #Cw���y>L;��\�J����[6��yB��d�=3zP8��m+�9My��\�۰��s%�a*hi1�-鏢�O�<��֧�˓i�e��C[ʥ/�m,ұ��M=��Fx}�x,�j�����;�'�*���[���'�z���1��1�b98s��8��yy�7��O�-�MCĭU�Ș�R�)r��9�����"��SH�|'D�qX:�!�$��������j�T�[K�E�`,M�K�S��N/�?-�)_Kpw1zw�Y��� ��[G0�C��ػ��T�@�&�]g��^9������<��)n}����X{P��lO~���Ӈ���i��0�v4��0��en��Z�O�Q�Y`$�!�Jx��O��Dzt��}���)���m���v5�rB����N6�������������O����j*"�J-�S#`J�2w9 A �)���V�,���O�vK:h�Q�=^A�&pWC+�ªN�����_!�6(^�x�5ǵ,L"1o���6���\ � B}r�~���;k���u�V;. a�I(�z?;%�&�'��WI��5�[ZȒ���Vr�^�+���z��_�Ws�e)�<BBX����/q��<.�2\��e�<R��K��嵼���Z�п��E$�Rq{�u��,D.��.��|���b���L\�^�l��G�'2sp�Ɵ ���Oq��^$Bm�7���n ~`��K�@|mn I=�z�M�B����2�n�o�������y�@�d�캶ku��7�Sڙ ѭa��i���X����+=�xp��y%)T���oL�ٳ3y�!Q�/�mE�XtS���$`��,��MQ�:Z!x,6RY�IS����{b��`�I4c�l���^�/� f���K����&�d���Ѱ���7{Q���RȮ8L��B��M��0jIh#�.%^�Y)9��8�EŠt��4�罗��&T�I�D^� ��i��x�& J�S�-NMO����Ա#�*���Q�Jkqk aU(��QF�v�h��sr�a�"0G��G��<��Dag�~c���#5 �Ȗ��?�������&�_b���C@�#y�dHM�Z'8�K���)�������]j�26ma�k��Ƞ.�����7��u3��l��c���]�)c��}�%v���=��թ�NMw�����e�N���a��'/��N/u$��!�}ֺ�8��Z�t g���(y9>���)�,��tRnK�b�W߯���7}��A�9݃�]�=V�&G���]�W�#)9r��fR�u ���fr�&�ni��>^QNK�ʓ8�dsԦXm��tzw�"^���H�[�48?��Q��K `i �T��J���V��@⧜ac��=�1u��a�o�LpT�5�s�Ax�"[aC�!����Bi�H�9�`� O^�j�ҁE�)>yf ���x�%����(ۙF��K��ė��B"��Vs'�[s�e��J�����M�(���G�՟��D�]���6�c� �bQ�W�y��#�Y��(U�w�gR'�7��$��@8�f�U/�^Q7��2snUK-z�]�k� N2�\ ��_n��4٣�ꟶ���<��Z��ͼ�_���t�����0��BN<ʹyZ��^�u�̙����4E��Hb���'�a�W� ����(�Q9(���$���Aj�\��9�U�|��K�h�nk��:�.D�]��":ɛF���:���:��*��r^�N����E�����F)���,��lj/�3S�KA� W�dI��fA�ʘ}��?��m�ZM�`��M�%P��º8���4qM��W��f6����{��!�{���/��ֱ(�*a��h�4GP�]����*:iǩ{DQ�U�udĈ��l�)LW4B�$o�QT�/��_�ю=�--X�G��i�~T����Գ<~�1t*�(V��%� :��z�nO��z��06�P�.���8��A��}vH�u�����7��K���L�b�z[����[�Л�8��dN��-�`�4��a��O�=�z[(�"�;��tkpUY��Ǘe�P�2����X=K و����e�ܩU�e��d�J7����͚ ��'�>6[;�-��R-�O�q��?]��t� ���sW�i+�3�'-� dw��g�0G��?�<'2�\w"�>:;�*^fE <n{m$<�K��am����?��E��? ��9vH��U"���ӌ�^n�ٺ�g�.⹃m�L>?��Q�^vo��;�6p��ҫ��Yn��_H�������@Õ���J�I�T/�ǛіW�9�*�J��-'�L��8>��8�ۛ����0,��N�#�撕��Ƕ�F�RI��#�DZ��=j.Xŕ�O�nٞQ;������KWٴxt�D-�}���Q�N�a%C�9���F�H�x�VeQd"u�,aݹ]�ApFF�Aq)'��w�_����|F�J�|���x{7;�MS%q�螾jٳ�����,Ț���.t��&8���$\��D���r���m�Fs)�=�)�V�;�������ty:%b����o ��`W�I����D-5��c�Ll�(����Ԅ�M�������������M�� I�K�6-)�aਪylW��hy�m�-��6��@�%��R�����p�{����в8jig��R�j1F/l��سuˣ�"n�q˧�f��8�Փ���tL�G3�6CK3m���`l�3�j��[�O��y]�/`��f�u��8.�G�8��Ƭ��i!:��4-���Ekaek�c��pY���c���R��"�0���nX[?�<p�u#�%��}�S� a�|HT� :�U'^������hS�f1�i�3q��=��>"q�J��a�45�8B^�g���}����W`�X-�"��S��*��I���5�P��2�����|��A������iQ�]��:`��1.����硦����m���G���U�!˕J��t|6�����gg�df�\���?)�7m��i(� d����y��4c�� �Ə皞/����|�uYˎ�߾��A�X���8�S���*$(87\��X�2*�%��3,�B��5Fo����3Vo�V��(��B�#o���Bb�lM��T�K�5k9^���@� tv�u6��^�ln�v�/����z� �5&X�M���+Y�ƭ1<Y�<��|W.�b�g�m{���8�s�_���ɊZ��2P�r�C訧�����ǜ���ܲ�6��u��~lz[�K��Np�4Q�@4����� J�>`��@�S�e�>����Zn_[��a�����31v��+��d:b���p8!2�.p��R���ߑ?d:��-zy�U#6%��a�=�A,0��%E$=���&����,N=/��mq.b�����[�&��&�ߝ�J,0���5��Ֆ�p�"W�(U�A��ٺӏ���\ � �\d"��� l��<��?R�$rP�4�3�.��:g� ���I�D�z$�U �6�s/ӟ+�@XC��+�|p�]��7����D�w x�K���+Vmo �wL��dt��c�~�L��a�,4p�X�0��c�4DZF�=���F�*�B�v�31qt�����B���8��:X#d�0\��ē'6'y�70z-��L�}���V�)��7_;G�7 {�Sӏ]�;������?�(���f' �^`&�@��Y}&j_ꀻ�q�lO��l*b��۾������!��� �c�^��Q'#[�]���ٵ��<!1���A�o�2�Nn���1�z����#B��H��.��UnC��0�wŬ�樃,�k�M3j[;�����F��{��!��֍��j��L�sB#��ƄӸ�- ������Ƥ���E+j=U���H�Y�>�)v��D �4����Hؔ�~�n&����r�'�u��h��Q�~��B�N7n�NL���Gx�� ����J#��7�?>Q�����N���7m�,�U��%�;�?n9��Fw���|�k�d�*��J��H�;�8�1ɼ�L�����$�L�=������V����u^\5��N ��<�1X��mR=`g�������ZsG�q���:�,�[�Uh�?ޜ���/�Ʒ���N�j���U4b�:J�����WF��3��l97ɚ��1�Se 57�.��3'���tb�5Z���lē�1�g�s{���Z��@���p��-f��R� nUq���ŰD.���bN�C�A��)O��#�����6L>���P?L���G��5.sԗ�6 R9��/:Z��$ϐd�����;�~(d�t�oYi�����W�5ŔL��ӂ�l���15dE[@�Qm��i�&x��0(S���S+�P~��1�9K��\�ijd���댪���5��ίu-'2��{�}���![��������w�`@}RM��Fs�v5:s����i���@l�x�.nG���/$(�Πc�2���%75��b� ����^[�[�̻�����1���j^�t;�rũ�=�]��ښ�Ș��և�,~>20S�!�(����(�rJ?��$�Dڟ�.iq��p4���1Jw�B�B�� ���/�e��\c���5�k�7A���P]y=D��pC����v�?n\6�p���Ql-CU�6ʹ�8�i�M�#abK���-�Ƹ]��$��s;��~�<�_xN�����r�e-��f��Aa�KG.�᧐{\C<����[l#�߆g*/)㥞*q�G�^�03�ݲ� �I�;ID;���uzJ�*��P���A���T����&�!���;%�qw����������aT�Fp�K���7��Q�;��kt����y�|9T;q�`Zb���ܒ4�#+q�4(m�g��/��X��GhKh���<@�1��BQW� �ˮf�3�mkv���Kl0:sq�^�M� x�Ջ��&Y�F�U�����.Z�1�:��i�^U��]@�c��fK-`T��q�T�M-Uڦ�l�dr��1a�H~�m�]>����6�>2"��%��(ؼl�Q��^B�[�����[W��7�#��D��/�|�Zbƾ��5��S8�u���ox���HLa��l�4� �G��E+/9Kϙ!��!��P_�:� �:��(Q��b���t�{�B]B������N��U[�}s�L]-�'�e���|?�l.X~>NO�Ŕa���6x|�����,o�ڃ;V�k�y��p6�n?f��+f�nݾ|��3d���Z�riU(,!˺��������v��;L�vcˆּ���`Rq<�½(m�'o����.C��4A���$q4�5�l�����1����+o�'h`R�g�!/�v���ޮ{��MM�迗�A�^<!0n�R��9ߜrS[e}�5�H�߷F�t60�]H�%뾇B�j(0�/E�=�$���g�U%̗�1�� ޮ�`��8\�Yo��v�� ���dd@�*�I���d+;`|�d-bt�=�b�����I���o�(&�r&0��z]�`,E��I�x��'�&�z�h��(�B�GbB���������%i�Ga$�EV{-}��54����� xSU�Ó�VB�y�V� z1�/��d,s'�u�X��q��Z�.��GD�ʨ�0n�HЮ�a|���j��h9�i��L��I�V���Gv�A33�����o��!z�!zK�En���<\��ߪ����B�Z��X�̂ǽK;C� *�Q';A����?��nAZ���s�1��tU.3�#I�!2l��T�~�w��ܢMy�c'l��Z�D�6-(%*��Rʽ���6 �6�N��-N��#`�F4��������������]>?~<�B���Y�M�8ܴ������#�WH3w�7�d�-��Kn�|�X��A�:�P���*۩��K=�ְq�H~^x�Z��� B3�e����!�N��6���c0�s�'X�Og�N�w`$�\f��zCZ��?7oD�¾�,OR b��G"�*�����!TRW(� ��3����.t�J�$�E��Wع�\���(+Jn��'����Q '��'�L��E�jRC[邒� ����2>pG����qj6?��� �b� �l�s�ޤ�4ē"t��JT�/�wGo�O�>��Wg���5�:Q�py��G��5�LXhy��K3S�V�G��b6���v��j�z���d�筐���ָ]E��/lA��X��2��~���0�b��F�x�6X���BC���~ a�um�s>+.�*O�Xw0N���s�Un�u��0T���;rOǼ~j�(w��zUD�w�Ư��M'@n� ƫ�K/]���u�^7�aӃTB3.n� d��@�lS�>�H�5��PS|j"@��.��q����~5+�\�V>0Q��*��C��p=��|Fd�, �*F�+(�k���L ?`�"�A�RGU���5���u���K��vd��.� d~�~?���� ������5�n�dNV�MR���lM[R*�,�0L��[�#}=n�!�����1�d��?p.�����ˇGQo�GA� \��o�j������m= ,6���=4�hq�͜��{ @Q $ip�ߝ��o���D�ËU�?�'��v`_F:%2��on=�OI$2]��a�Y1M;ѫv�#� Q��X^�k�2.�f����q��N��L���'��3���!�n�s�*:M<Ath��MZ6���`��Y�CJ�w���'�UB.,��>;�W��X$�� | lA^��-� ;��6r�+����s��3�Oo��/��(��<�B۟�8VX�~ȶ$W���V�*�ƛ���ei֞ �Z���`�P=���'�����ȁ��G���A�7"P��Wx���n@Q��3��]�̡0�ĥ3;��S�;;�(t�������ǀ�R#')�|Z��HO�EY��śp�m��� ֪w������� 03����/��i7C������!�:�CJ@c䦵+�X9j���u���*d��PqS'�¤�)DW���&K��l������@+�����\T,�2'���ځ9hm���ݤ�Tö, ��I髖|�3}�Z���6����EK��a�N�2��[��}�ЊÀ��ft��a�='9(u{��z(�Y����'�L�4�#�)^�<�f�9�l�B��#���D���:��Ʈ�SU�a �%}}T���+��4��+�i�V�ENiv/C_OEm�c�n��C 2!���QR���vy6$LC �G�����A�j](�Uݪ�t�- ��Kk��Pܯ�D����XivhR^�6Z��u3�� ��5�oa~7����}E�yɵ�.hS�j��a&3��x)T�I�ڤ�q�&��#V7����wT����,^���\��bu���܀��y�6RM��2�?'��Y�s��ry�ѕ��9�O!n0>�g�Yn�2=�L`;5]T���T�01���B�N�����%4eԪ?A�'�i� ��9��K/��ϟS�"%�����'�l�0�c�?�-�hF�z֕W��@rI����c��K��;�0`=��nY��L�K�� 8��D�$Ρ{5�;�g9H53�wF�I��9�}m�'���b8��Q��(@�h�f�A�m��/����f��WC�`����ϗRy]���P���!Y�Vګ�j.p�@%9^��p>^��[����5��h6wƆ�����Y��[�,���e�z����7�]�~#�+�0�;�~�<�bwނ��c��lKw4 S���7����������UG/�r.�R�����7w(GNI)���b����0ᦩD��؇���E~s�����ڹ�aNK�@?,YX~���)�wSc��&�"j�h��z�G.�s��g���kd/�m��� Yn���jy�j��L��6�J�Y�� ;3Y���R�݄�D�]\d�r�ٗS�O�6a�L<�w' awY�����.�" �Yy�B�`'\�c���}�V��ݚf֓/K��e���b:�Xy ��������ʂ̷��G1����֞�nU��a&���pJ�/�K�N^YU��&`<Nߪ�5|�H��V�s��C��k� E�| G�g�S��ut�0l�ic�����0��}�xy��Bm�����n�B��x�D"��xJf��ړT�| �ߘ��/|cP2ؚ�����I2�G��V�����������Á�"�������<�Y��S%� ����yπ�?; �hfZDS��M �/`]+IRqXÄ�uGF-r��)������������j>��4ex�� ���f�c4/��U���w���HI�(�Pz�3�u����1Ix��?~�I @�}���4N0�^�1�����0:��F�#W������ "��;U�q4-[�R˯�e��bD�ĞƊ�b?�t��<x6�P�h}���\c�KZX�U�8/1����'\y=v��9 /Z~����,��c�T��.��'�� ���Ӽl�̱��O����6�P�YX��:S�!������~h�|��х�N'�� j�Bs����t[��q���v��d�l�zi���*.B �t��Ҳ3��zT�g�������XH��aʗh��0왹�U��)���G���L�Up���F4����~���� @cA�.w�`���F��B�x��V�������X]F�X�&Lu��=�@�Uc�Tќ�d�1�� A�7�!��e ��F4^mʝv��r�NJe� .?؉�sT�#G�a�� /縇�W�ʠ��]'�Ȯ�}_9~p�Bo�a�j(�i٫�, C.C@:��2�FG�����z��!^����IkҌ#F�#��� А�3��bߣ�J�����ɑ\H�GV�c��)��t1��䇧�_��5:�;� ��(�Ӡ.�l��3ݘ�ܞ�J����,�|�ٚ�� �^͝�ׄ�by[����r'�X�80��ۗY@�����m~���3�_�/�DDU�9HZ�n�S�=��������&2LB� ����|�������z�q��,�g���H _������3ئ7J?�,C��߀fO������Y4����,�%6��r"�A�`�?ʑ��;Uأ�؝Y0{�zƱ���-u���*�q�Ly/!V���QZ��ڨ�%�R0���b-��}ie�j4��"�7ps˓(kc�^�䘅�FdC���t��&������k�L����C%�fi%\��+����{�L樁��N ���)�u�����8dB>����Lh$F�� \�o��=+�ip�`�L�V��_����'S�q�N#R�S�壳�Ns��h��[E��|�i캭��(�4�a��aa\�Ys��F�ݍҟ U7��{�J���}�"I�knI&��9/`K��� �KV$"&�6��^�#"�h�F��=z��o�'2�)y-����ඡ&7٧�k���nO?�P�Y�5�yE��[��������'5֣ ,�*��GU�61}�|��2-��W�=�e��˞�2z[X��f�5�p��_!h�:��SƐ<�lB�vʲ�V8�X��d�O��KV�)�@���Z��#95\N�#��H�X�?����J����S��@n���2��D�`ɰ�A?�c�i�ܟ�s��yg����Q�EI\F��Dž���_�H�Y��o�iZ�Mv^s�X��}�,�m��(�D�7��L0K�(�ES�6\?�QÙ������}��xkK�/ηP���$�c��J)�; Z5ֶUD�;�)�;[huTtb��U�P��!#�5����x����K��D$���^�����Y���j��V�M���^Oӵ�@�i�LuDy��/$�M��v!R�Y�S�Z��:O`t�<�0��ͶDh�R�8g����U�u; �۽P���#�:����+��┡*���%��1��� Y\�*J:�n���)�)g��U�Uy����/Wv 5�p\GW�O����-jg���/n�i�$�[�v ���^q��}��K<I}�f��j;���!vf(u�d$<��^�x��Q�{�?r�q�F���",}1���_����T��w���(���S�x6CE_���Y�i��dԳF�r�y�;c��PO�T�V�_�����=��;�^3��h�!� �S���<n5��� � [b� ����g���,�z�����.`�Zb���Ci�>��.��Ag�r�/[������v g,���3�o�-%��$���%ywo�hƣb�� �f�oP�Hr!4ڕj��ءu|��-����u !�Ӥ�i# ���e*�`�,�J`*R��$j}��kh�&0)���RɿW�Ђ�Hc@�䧎���]"���r+���"+�����L� |:��k�B�p��:��)�БK�������7���kϹ���@F�-<���Y5��Q{���P�.��>�_P��S�X T��v"8�2-��M'���#V��u��$8KQ���;�F��G�7��)&������_�BJQ z8$��t�NH���=w�G��Q�`d}BE�R�y�,��V�(���/���pJv��wZӕb]�K�Ϗ��{^�\���i�w�G��(j��O����X�.��t� T\�Q��lD~]f�ɀ�hʧ"�+�@Yz����h0`4�қ��z4������r.�?�O{����1 ��)K��d6��h��;��Ņ9�J�8fk�a�/���� nk=�3^О�t0A�%�l�-�e���4� dI6\֖��~L>mo�q�$R��DIUeC�UB��y�n��S�lL(��Nwn��<�:��i�G,��>��;s�,\�r���#C����տ/�a 9]��m��f���`ڗU%�����7�� j�8�AC�A-y�pH�خ��_?���FJ�������������y��P���r���Q z.e}�4R%����͡����D4�rf�H^v�� �7[�Xu�R[��]62�.#�Y*Qk!d{Pz���{+�f_��?'JN��c㒫��9��K�)ET�tFvbqֲ��^��X���Z$��<�����@ �5s�șK�ޏ�j�t��X���0�����̾-�mrٓp�����}.�>��=�eh-�k��N��aTv�(�MZ�s�ZL��� �-��=]�kJ�Ͽ2�i)������o��wB�(�Xq/�����fl&&�E��n����]Y�(�e�JYᰧjų(Kn�F�u�W! ����b�?����]7��L����J!��R��b��H(�!���=ms���cutͯz�@;�`��'�gŬ�|aq�+Dx�c�����)X�.hh�7R�M�o1�k�%�m9$?]Ḑ9�DBdX��o�S���K�=- &�Z��c8hL���8������B����ƶ���K�7��p#�c_�� ]2$3ߞU����t8�b��xc�o��Yg���=$���W�`c��J�5��x袿}�X�%���$_m!Ḧ�<6D`IF��7k@��{x�~�D@��LJ�|LW@�-��`���YtdJo�"v�r�b-MsY�tɁ�m7k܈���l9��OKX�/p��AU��q�b�٩({+�M��0*�a����~���������0�$�jH�g��CnWw��d�D��3��Gt�{G4m�y�xq�pa��ANp�[�C�F:��t�c����U�/�)M�֨�Y�4C���/��@�d ��1����+㡼� ��������7�ç��9$��#�����C�km.O��ԋ�L�����U��ȷ �!` �_H�$�7�8Џ�G$��9�O1!LEK��D!>�R��v͔u��N�Q�/�ES����/NX��-:�����q'k/4t��><��:�w�X�It��Fw%�88�� ���1ˏt�X��M9���Ӈh������.��t��EXxKu6�5�y#"}��:�E��R��kuU�&eO� Jaӑ�~b��(���8g�@� �z"�I<�;��A:�L���(|UDn^�!�k{ �M�j&ZL��C&�}�r�Z��Wq��%}���\�r-mz�NȎ>�H�&:<#�o�8��{���1vg9~nv���g#m�v^r��w��ݻ��4#�NQ��8>VC�^�<���5;��P��Ŷ����SZpq��ɽ(ЍN<�D�A�߆ ���Y�g���Q�=��#+�#�����TY�N����|���@T���͂_�̷��N�;dy�L�7Y�|%Ȭ�[#�� P#v��d���R�ky��:�3C���K��%Q� ����[��kDY � ��Q(�@��:ޙ���U,�^�_p�.�s8M���WY�5��~�b�!�>�\|t� �F�t�]�40�F;��]��n��3w �,G�G�w�v,���io�_����8��EY���ˆ����g@�( �Y0B���f .?�u.�/�w�nI0B�9���A�y�������\�*���5P����[a���J6�(S���xU�ۜ�|H�~D�>�FU�8/Y�娌� a^bæZ�`W X$�X�X ��}`^\��ԁ�� ���BM��L�m"�hʏ-��]����yc��l�Ǯ��QV�(�<����#|�]X���ʦ�K\mrX|�G�����@�r�+��2���Y>�v,�E�~]���X�1�O��K5�,HU���������=���LS�H\�vU��� ���y��[յ����6�w�[_M *�'~Xy��_���X:z��Y�5�7~�0J���@��i����Y���oN�C���a�dme��t�?՞�7��6�Q��U���ZE���=�<S��0����m����@����e�aN��=�����P�R|��r*�KEd2#��|Edm���cl��=4-� �f��� ��Qw�k� 4��Η�a}����B5�W<=+Ԅa�V���l��t%���X��U�}+(�Q��{D��U��c������4��6%<)�^3�;*���Qj�[X7�'TON���13;��}��i��-�'k���2ZV�\�d}�~m(LX� 7or�=a���_���^Բm����v�pǦ'����TC[�d(6T��^�Mn���l1������y���\�����`�'�s���)��T2���fM� �k�Zú������/Z���t�)�'��A��3�(K����r�������T'(too�)G�)W�Aw�U��K>��ٺƹ��5dy��s�*���q�U����E˃�K���6�-�-}U����(��e=UK�8�ͳ��Q�2f�c��0X���$dJ�"@�����rK%��%6 ��$� ���0�:�3���/s� �p~)�蹪��_����&]�my������&�4�����pTCG�(,I[�����:��V���$5�;$�|i[7ۿ���`ݝ� ��[>�a�V�b�W�P���*�`!�#�^��Ei����Z��v�ꊤ�dkg���Q#tQ��Bơ���HR����$W������cvP���Г�P�\�7���*�\�.�:1#���9�8�݁$��B��8Q��L9�~ؿ(�A���� LKM��9��8�o��3�N,&Z_�#����t���F)�7Q����0���}o���"L�2�Cݭ���#��~B}�;'w��������!Ȃ/��>IX�V�P�67(�[����ǎW���Pr�̋1zg�%c1��Y\�nkz�Je�]˱s��^���gW�@�-����u�M'�r42������{oƝbV�M����ي1�:0Ū�/�SW�/�v��W���C�8�E�!)��+?�D,�6Ȥ���r+f� ������vװ�O����\7��Ȋ-��_����r|J&��n)�S��\�xu�b��GW�?4n��W� l����Ɉ*�M�1p�������? E�G��}.����g�+(müf�IH�_E㽰� Ã�ẅ�E|5�6%Fȭ\�S���S2:\��.Cx0z����5��9 ��#,�z�P�gs�@B��h!���3h~Z�!H gE���v��٘K]ڔ!���'��wAa ����̀�M�%Zs��c���Ct\��[��ߛ�ژ���h�����ߚ���jA邰!� ��#U�큏������۔z1����7}pc\��eo��7��ox� /�2�;{USu3�[ Y��B w��� ��>S��ワh�(�]ܘ����r�0٘�l��\�C��=`Pڍ9��1A^���-�I�K�à��~�D��R^� ��Z�O]A ձ/X[̅&���>�O�T����[T�f,����r��7��7+�Z���i�1�7X�F²ǟZQ3�/~v�V�%�Yt��5�8�t�[��P�#1f9��� �,���u���4�ZA�,u6���f����>C��N��!����<g:��H2�}]��w�h���l1G��%�������]��#��=͒y͋��p�PD����⺗1-�]�䛅v�F�ľux����JoD���K?Tr���#�#�(:�?��(�Ȕ��u����" ���ӿ> �C�_U����7�� �㺯��SI /�?��E&'�]�f��[Q�e�K�A�ڊ�1�U�e*b6^�s)rZ'����d孙�#ԏ� �ďh4� ��3�N���w���A�>�r��rL��ёzdg�g�6]?�Νm:��uE���S�x�̲�[��r[��bnt�8�}��j�1)pm��;t2m)\��y� ������>8��#��D�g-�F�s��l���v0�!m�r+"3��"�6>�+e��������]W^E� ڐ�4��;��j���ˉ0!Ԑ���5�tWa?F�F��h�g�V��/PǴ��~sp{���� �cE��I �P�2ƾ��-ϊ<�hH��zXs�n��:TZ[ �6�5G`o���О�S6Jc���eɹ�ӣ�Ql�Z�9|qg?��ʶ�q����Oʑo��T�}Mt\��8ҬP�\7���|�^w��t6��i��YHs[����1����!Auנ7�-os-K#a"RRZЅ'S?���$˰)�q�Ə ������z�p�HD��q];}���BZ��'�#��9ۀ�Oy�օJw�A���3u��̰װ�?0��F{q=Ռ �q�+��Zg�� ����56�Ǽ��JE��ҬM2;��-H�W�1 �����`ߛ��7أ�`\�3\��61�vW��$������'r�,3���?�w������PP�U�|�آD��� K���~���/:G�MI,r1�k�H��m��&CC�*e�+2;$�D��t�r�G/��Ȱ�@�^�Q�ӣ~�m�E�. �)�W�Z\���w���i�lXG8�(���O�RJO�� �����P�w��h)������b�hJm��/u��O���X�"U����wu��֢��nqet1����+Y��<��!bM��o�� ��eȕw�1�Ք���;��=I̫�=_��%˴�Y�e�e}�9ym2��vg>���M~�����W�Db����6���^7A���d 3��4q��r{�$��=Q�f_И�g�D��+P��H5���c��u��C����j#]U�T� �=۱tp����B�G3A��:c�my<���"��ڐu-�7�'��C>�JU<��xffRۯ"�O�E!u�ڄ�^8�.�Jn�Pz�q�`+jgH��{L�^KxC���X�_\2��!�� qͩ�X-�F�������>��w!�}m!!�#8�UN����T79��>��̻Y g�� B����t�_�$�x�O��%O>��gs�Y��9�}����\ąd<�HG�Ǡ#�(��<QN���un�){��?tŬYL ���"/�}�L����� ��T��/%.o���1� �b��j؞��,��dN;t�^Yk�m�ktY'S��4QR��5u�+>�ˋo=�H|�>[��:,���>s�;�-��Pp ��Z+ߔ��Q_��������u��Y�4;�ܪ��n�&�����%J�78lb5��-�ͦa�J.w7�ƽcW��<B%��Tr��0|?9y� ����'/ʆ{�"Ff��W*���|�0@�d��I�$�v����Yf�����m�_�sI��%�i���y[��2v>�'��YG)cs�֢����\�ښc ~����{h�P�D�)Jh�̨?Y���C�'��ǀ����"�����ƻ{GB�\�Z#�goj����l���J�ɟX�������x�m J?��Z0$W�@9S�0�"8Ċ�1N��s$�#`#$|5�WX�j��"HH�Tͭ�����`�}�J\B�b���)��@����^�@����Bb�N�D�9̔2:�&�����U���F~�@�.��k\�WJ��0AʙGf<?Ety% P�чj�B��B\�a�!�3�p���G��0P(�FG��H����O"-]��_Z�lF0=+��'�?��#��5l��0)�U�H%���ň9�<I��"�Q�0XQnS,5�1Gr���|�dd�*D�,��p�y�Fl�L� Z�İt�t�X��O��)+Aп :~�U��Aj����B��Q�e:�*Id�ӐM{7��O���!4���+>�N<��a#+x��O�hF�qy���P/eV���ǝY�u%�N�c$���@��{�������J ����,�YYM���~��B�����謪� 1qӬ���U~*�z�RC��zX�^�S\�V����-�� ��a�0-��]#]hc�)��b���2��F���be*J��IE��c��bG�cGj �Jz��1#w��4 /�Y/�h�S�KU�o�{�z�F 7�*~�ڶm�\A�$'P%�g�d��� ��u� w�e�xiF�S����GU���@�j*�V����38o�L����y-'h�NI��& "-�ܾh�Y��hW�ՠ^=�pm�v�&�t��|c���+6q�,d�+�% b#~ޥ|��l�"�|�z`D�\��&{E�wU��a��dLp�g�#sA��b,�f"t�IJ���!섢��g�k��q���>S��GT7q¬�8�Q���� �b�QiK��T��֚a�=x�J&( �[��@^��K�,�l�q���\� yG)p� �F��P����#n��!�#�j)����LEkdx3XC��r�EP�O����.���)49 e�]s�>�?O����h2ȕ�8B)���(5�}��%6ݧ�C���x_�ᱩr�+�(d��m��M��2+/B٭9nyT $e��[�dDR˻���l7 *�2��:�^�ȴ c3ܟlЄ���]-�ߚY�=.��HT�q�V��갰GO�5��=�Zt����?��+�{���O�Y� "'@�et >���v$�?h��E�Ֆ�`%y�?q��I[/vU=o�M�Zx��y��gd��f{r֗x`�,qZ"qW��6�EU`Zڸ�S�_���g�ܢc�d*\Ͳ����|x㿰Êt���1�#ͣ�eS�?d��Uю�Q���i`���qκ|�$��=�$q�rs�.��9M5�p�Q<ݙ�$�����cYEBo��?A a�����A*.��Q��*%�^by� 7v���oZ�K�/e��)����z9��Ƙ�����tf������PD����Lx�־kTܷ�+����˙��+ q��LkDƝ����/��M��|5�mbQ��z���bp�(s�ӆ ]���j���f�� \�� E�h�ԙ=��iV�R�*b�^��|��ʸ�k��I��ݸ��nq�`i����Xy4��;� �(�k0n'�2�-8�h��N�k�C6��"���ɴ�jE�M�[\〾&�0����̌���Mfm߶R.��'`�$�Q8[�㲋$��I�_��yE��w�XV+��|��&QË�.���]U9�7�J�@���;�lݡ�bR7�_��z�I�X���!W�l�V�R:�Lf�75�M��6x�{V�a��� X�my�F@]r� (�9���hW�ĆvژŌb��/1�W�N����D}�ȑ��Z�3�*�&� �ާg��ܞ����)ˆ�I�A�>}%nɐ�sG �"��N�ԯ�xY��8����!� �s�aTj�y!`~йќģ�������F/�Z��l��e�����,��FM{\[`�Xv�t,�Y?�2��Qx�����|m GY!F�Ղ}`=�� �հ�GL��%��_����P��V�k�ZfQ��^ .E�o6��<��ON���P����^�"�X�u�=(��|�<�3U).^g�i��t��|r�T`�>���ڊ��{��k�"ed�� �y.��D��g��:!;�ǎ���+�l�� T Q{��<hz�˖zV��ِ vu����k �LHn}�pKM�#���oeЛ3G�0Q��;�[Ü��֘h�&�8�ka�i�jx�c�xQ�N��{���k�*���9p#J���9�.by=�C�)��Av�E��;��*�,*�� �c�l���F�_r��SR��.�>|"���|>�iA�<#����F3YU�W�6E���IjW�a�:9�p��.�Y7Rz\_�-���`2��3�Е�p_<�*�l*C��~��'�+���v����D��JO�NKݭ!,�Rգ��a��B^w���Y���>Lb���J�1�,�'��E>M/��;+�Tm����و��Q�9�}Ѱ2 ��q��Nj�ls��vx�d�IR#��8o}+9���*�Q���Ε�~a���5Eo��X��[�&8�V*�D��e1䤼H��[,�^��l.�`�{@%�[:B�����\%����Y���¶���9>�@���v�#����Ύ�Xg������K��m=�z�p+;�g�\����c�E&*�:Oz!k6�|�=����}�qnr˼��'1tp#�|q�g[��ҁ�������(��f�Ƞ�D3(G�biZ����hq��Z�������E ƺл��EMqvE˚=.�-�Ө��w)�����6�5d�,��Eu\���� ��;�!�^2� j��@Vۖ�<�E�����;a�qNYߙ�~�&����o (�����p5�m��oV%$��*_3��t��8m � 8�;�� >�}�� S��*��֯�U�x4�p�Rd���QFX�jx��6���P����G��r+A�,�/��T��M H�1ݾ����)��骍h���$q@�:�hg���o�.���0Զ���;�D�= w=��3��'�oYV�0��(��xbQ�4�,���ᶂ����S�oZ^5�t)�C� �ƒL�&꺳��H����?:��cU�;9��O��g�O��l[���E�/9+��;��Z�v���t��1�bz��]k��Xcc�C�?y>���7� �z�={t~+��I*h��\k�, �Yì��~�xf�#_<� �o��Y��ES�&�0��<����2-��I���KdAqS��K_l��)�S�(a~��A������"#�n�x����X�d�ݤ�C��X��5]L�X�\�Q7����� �|���ƓFX��z�|����|�K� �'U�ݲ��b,Čŋ%�H��H�U��"y�����kKڏB)��,���M��8��i�z�.F� ��_AN(dwhG�#�w#�(���x�s��wR�-!ğXK��~uV��S�1颺�A'd����"C���$M��`�l$R ��6k�d��j'�*�"��GM�%<6�h����P�l�D�O���U��a�K���1��7[!jtO�gw��Mp� *��1#=�m�VjX,ϯ�JG�&�L������Ac��%h-��� ǫ��5cqa�o�� ��{���)�Vbp��4d.���Nڶ�}d�KL+�+�r�=����y_8˫4q-WC�4@��q��y7��i��5�P*eU��d3��ֳ���at�+h��X �A�s��`�x�����5gh\��V�+�=�2�� �����.:�pM�iC-�Ȓ�9ZZ��Z���;��zg�]>>5�����V����J��5��b;���_m)�N.��)ܷ�W[�Rtl�W��(�g�Py��Һ���hFEW,j�"�6�����ؔ�<���n�D�� PD�R��s�pRl𭋸���"�cOs. �=����%}���i� ��*���%�]�Y�%t�U10�p4;-�eeS8`z�;`u�����r<��g6������>�z}��h$M�(~ȣ�z ȟ���]��z� ~ &®a��{r��.� J���|�d5]�i���'Gr[�&���W���;��$��>r�Y%����B�����i�u[��ݒV�����s! ��\��a�G�����tx�|��Nz,s"�L�?L�����g]N4�&ӑ�M#�Ą ��fR��b��>���/T�H�k�e8m�}v�DkƊ q�&L�cA�t`�J<a �"xZUʉEfD�hZZ�F�G���T=��;�\� r�J��-ހ�T��9�ծ��nŰ>�e�z�B�.�!�)+��f�8t�c[ֵU2C�ق�ԐM�!/q�G��'c�S�%x��Ԥa\ �H?*P3��&�X5�z:ֶ��ST5�ųC��AN��Ͱ� �E���T%)�*P��*��F�7�/T7X���Y�Tʰ6�2�ڡ���n��r+�J��N�J�z+��&�����X�l�X�c7j��Yi`�0{#w����}�!d-�[>��?ȘM�c9,���2��/c��Fy���1*��d�>��Xd��-�@�)F��ğ^e�=��а��!w�� ���پW��r���Z�k�@r��p��`B�,R�t�2;H��ߔR_���[ꇍBS�@=�0�+i ���&)|'̅��T�^��X��;=E4�k�jo� `=7\T���^��[�'�O�8h_+��ƽ�:�H�\L��9@�~�yԸ�'���~nh{���4Y�ָ���<�:�`щVu�Y����Z�o��S���������Uq�zdU�����ct! ���7R�$��b��Ym���d&;���\@~J�Z�i����?���=Es�`;����K���B����@TB���ܝ��WV۴�D�N?P��U�;��^&�k�!��ý���Pkl�:ޤ�0e����&q���3����Q��k�."$`r����x��=G������҆F�FH�mq]���2u4�՞ ؼ(�Е�����pcJM�4|P�^l�7X��-m�[`g�嶇�k���cq�xv����fH�Ɗ3j��5;�2J���{���>pWd��Mv4ث�,s!=Έ|g}&��.XBs��s�u��hx����Z{3�밲ڊ��|YԳ,�0 ���/�d �)K&';���;��s�������̼�[Bb������%y�4�&�e�:���)�Ep��&B��ȕ�y� XBCci⯧}�/x�)M�WL��l��n�r�a����`�yhg���_�V�5�n̒���h�;��U� �9��z�*��"4���27n{�\��v�V��U^b$ɦ�D۲�+�� BU(�<9P��o�&{q�;d��Lj��V�5�H:cT�{����cf��r}� �PZ� c�6g\���h��%Jj�e��jFd�Bt}|��O2���������PV2.d�h �a��M��ȑ���YJ�xyhʜ6͉�m�VU��&�e�7��e�ͤa$��6���o������gj�$���B�2~�,q� ~�!�Q��{���t*�=ɈB�q�F�u3 ��]a��S�j���y�T����G�N����,]�s:5�w���������g0���v �zgF� ]�r23>oz�MR�A7�7 ���g렰d�Z�+ ����-gױ<5K�S�<>��;vYf�`� 71�'p�m �.$X�uB��Z�s��F�_~��i-Z�:�h�a��J1��1 ���&\�gnM*�����}�.��%=�s���!��Ew~�e�K������.v�R�$+~���B�PG���ue0o@�pC�)^�x}wJ����KU!���,�J U���0�/�4��]�1��ͨ1]�[5a�[�k�f�x�?�DZݏXvUb���9��C�(�(\��d+rn�r:4��`��7�&l�0q�Cs���~,0�[؝���*�J�� �)�� �7����U��Ӣ�.4"\͗���m����9*�a��ď�F)8 �Xئ�^ ���뮯�bj�E��9`�j,��M(���\��? s����vg���G��l��Z�Y�⻟j|���3����N���,5F���ji�l�8N;�+�I��zNG�Hc֬b�HA��G�ρ���@,���l�3�����7��8a��[)WxJv��v�������!XgYO�eg�?w�ڌ'i�Z$�|g�Eۓ~� ��d���m���Pe���d ce͍\ �$or"~u%c��'����_}���qV}Z�#%Z�j1����s�Kmn�����!ތ��Ƚd�ͬX��|�4ᷰ�����FdzT�<���x��L{u7{W�e�0@��R���;Y��u�ۛ��L{j6^P��,ܪ=��Ơ��>��$��{��� =�̪V��W꒯��^��L�K�l�����S�%�Z�T���X�:������(�<�Mh�Q��"��^�l�c⊣�S�����I)o������.�9h�{X�k�o#F�ނ�\e��� 4b]<u��H�w�X+CdB�w��."�\���0 $���[�cBρ�� %��!� uJ�ro�9y�b��<'R�G'����z��8HF�R���b�[��Q�E(�o#S���%ﴀB�<��4�r���� ��{x[�/#%G�;y��l�k��/���5���4�������F�M%��#uR�Hv�5bO05w���gSp��@1e�)���Gy�e��v��E���>�2��Ͷ1��JO�ٳ�c�Bdt�ا��x�������T/�øzw������S�0KOPа,s�Y�j����Y\�D�5��,l�<��)о^ �!}D���`�q+ځ�Y�>��Ō�>3.�H�x ��ز�N�$�u^�u�T�����~?t.�3u�����u�v���u��`��`������(�� �P)�2�_@�@��� ��?[�~�i�ol<�<�P��`�|p���+;��2^[e6���� �}�L�YC���\Yzb������h�[N�Ӂ;���� ����5CՕF4L��R��u�mj�?�H掐�K%�nӝh�& \ή���ʑπ�z�*��I�� �W�{-��l�"զ�H�c��҉�]���l���wi�ȍ������&�M�GT�O2�_O����ݢ����4Z^q���q��%=�y������H'}����� �(���R�O���Aoծ�o�R#3@m����Q��<��_dA�LF�m~�;9����9���<��T65Z�5}�b�82n�F���#�Y����ڐS�|�8�l�u��պW���bMkvO� TUm]m�z�;��+pӤ�WX�vA��ޏ��d�wŌ@�Bۜ���-ؖ�S��2{)1�����жv�s�C�,������l]K c�H�GW ��&�8nн��Vz�3��^�Y�>��%z*F�dl�����ӎ���*��ꐈ�}�| ;�����֨��,u�*`�{�U��8�4�S[~�<T�JL���b��Øf-hH��f$��Q��t=��}��tgz�g�'ݭdi�0�w���߱?+E{o8h^����|�_���ht�WQ|����9��Y���Ѡ�-��F ������f�@s�c> Kf)�NC0j�GD4��^��H����v��j��A�3U�i �փ�dm�H�U��`DJj����\�3���i<�#���p4d�ӥ����"�� ��+�2v%�p������ű�%I�R�U����/5ћ�3E&X(�`N��?���H�����x��j�jNo�BY�i(Pe���2�CuS�����������N�+��1�A��Pd�cI�´5����0}�̜�ҕ8'{��_�6��-��W��q�t1������p�hbwNJHJ�?��481u���vF��-��i�����f2�F^a`���+�$��Ë5�a�$`��"�e��>R [F1�|�ɋ�b�� ��vk߳ԟLB�5�K9f]~�KIɇ!�=N��I�G�H^n�Ti=��K�@�9Z��i�X}��C�bNs�:[�� Bź�L���[�0�����7w�:7����ɨ�Pj�3�[�-��Y0Z{��fA�V�����ѽ}U��7;���"*�Ϡ�g��#�{�IE�;��3O�ہ�d�D/FE1�>~;]����C���;���x�����g�����C ��^ �!=[#�Ե'�2`$���Č�O��٫���.eu� /��u��D֪�B%�H��}�w���x����O��@�Y!�.�\���w �}���]�Ơ�V�;�T�����&��gdЇ��)��8kE��ݞ _=!�6��Ƞ 1��p�O�:��iyKߥ� E��+�@�� ��{x���N([g�nS_Ȝ�d��j:�U����L��k~�Px�]z^o�Lc��q��/�s�(������z��6$���E�G��g��d�,��>�(i9!�2θ��V�o&-+�¬.���莭����VŮ�J��%R�&��Ђ��]ܿ��CL�F��lY��HK�Ǫ�۞1�=�h!����o�����)�+ɺ啝�0��(j��.��������g����_�n��\~7��M�r+��~L0���=��'�Z��[:�� ��#�%v��n51������C�2�I�p�����u7�qI�ݵ�>���a4�"��5��T�]�|�(�<`֜�[�Ƕ>DP�2�<o���un ���p��Hr�:U xb�O}W�*�T�[� �B��TB����JQ�+80L| ��� ��y��*���%����|�+J�@�Imu:K�ZD�c(Sp<��/5+��k��NM��R��&�vx��&~Q�D]$A;9 ��m�l�zƑ�~��S�Å�b�2�;"���.�:�wZ�u��#%`_*�(��Bu�/bzĂ��廟O���>��9]�fhx#�P�0"&��P�kN��P���np��](��@��A�;����(� �s�)/V�R|?]o��SMy£����,�V����,R9�tj�Qb#FVs=o|������֮a�F")N��iG����AX�# �nY\�N���+�p��jUs�BU~�셧]�QD���<���>�GQ����/��4/9G�B��Hc�V3I���� O��4��.�)�*�u��%�"0V�Zs��Y�Y�-���<�at��:�e��@���Y��=��Si�-z����s��|������^y�Q�o��c������L����C��WN�iK�X�7���y4��]e�(1�e�$���LO5��Je�Y�E�[�*KNU���(s4M�ٴ��bᬖ�2k7?���r���:�˷I��t�����q%cv�^wCUz��8�O�{��Pd~���+��rLv���jX�Q��]mR,�?H� ���>�]��U��,�a��&����ݻ��*�����>~��'�,�e�į,x%;�|?k�{!nD.`J��? �E���ЋV�-�?Q�ujJp&b e�~�R�o����WӍ��W �Fƫ�U�l����]��Z�����J/Jԅtaϫאa2s��cY8_��z��g~������"�����@� ��V}��t�ݐF�p���[��:I��M�lO�R�.i٦�x�����B"$Z��Bj���ej��遹����g��� �f�hM���������~�^_s� D @-�#ij��z�ߢ�;�2'�0��,��/����+�>i-�a��oDuğ�R�<�0��"M.��N���B��Z��۩O,��r) B ��8.�~mJ[5�=������� �$*S���%[.�߄̣8�9g���ժ���N�g��8uyl�\���]���oV��J]Z{~p�H�!m�۾�� �Z��j5��/x$�ֻ} �p|��1u-���6nr�ύ'������t� �f���%f5V���,�N�Q�p1U�J�c�Y�|�n�幭���-q̨r}��hɼo�@�%� ����L����m<y��3�� �WX�"TC�0n�sç'�'���,"�}ʺ+Z��M^,NƟ�M"�H����S%*�~��"]؇��C �qC�oi�vF�p@�N֒jX\����H�I�%��9c����~NU)D���(��7�P��jF�~<�wn,m���""�uV�BVp9g+��1�1|�SQ�:`��~ }� Q}�����1)u��KKX�Y� S�7�Gk�i(�G����u;(�z�}�b��?�8� �m�����W�o��lnT! �#Wn{��%� .�{Q�5��m�fJ�5�~qB� �8�L�f�Ƴdj��kt��(��M�!��+�qi.�m�?��\m�飙 �5�Zb��'b��< e�^�a���"�f6�]�8�,3��U3W�]�)0rnS+fk�2��D�� �j�:džq��r(T�ዙ,���|�Ū�.Gs�a�O�H9ĭ�%v��\���E9�����V^���}��@;1���ǃs�`� v �Gt��G;tڛF�N��+K�����*ć���ad�j�]9eS,��ˀ�ZO����E�#!d�gp�w���=��i����e =�d^�F������6�ԅ��� ���$��_Q8�P�(XV�f�H,�uV)HѤ��Y܆"�+u��*�FKfA>S\l0��@�e��plW�c���$5��)�k��k>�hq��Og b�Hϋx9p�WV?C?����]�\��{.���*��d�� P�%���YSIǺi�Fq>y�H�V�����G]�p�v��|Y�d!~^)C.�s�h�*)�h@�.=�e�Ō�~��G��_6rt"���]���F�� �5�tў��Tk� �)CB��$�z�Urʱ�����|�/���j�/�S2C�!����|����u���Kwmx5�9�0*��nH} 5��̵�GZ��_b�.�a�ҟc�Z=|��r���H.#DU��X�������F��(�l_0��P1n�Oc�y����أ��0J(����F}�H%�������隙�T����#�,�(�z��� ���[�?�<oj`�j����p���<��^�'�.�tQ��<��x�o��0�VЧ�9��tNm�6���u�!���o��B!�}7����lh7X��Z�� �$x��@��yQ� o�7X�]�^�l�U'���VCm�q��(ZS���m��L�).b��Yօ�~�N�=L��q?}����}���&6g!O��l :��M��{�%A�D��iZ�X�PǞ9!��љ �3�2�|-dP�DVv��a 6��щ����A�ijc�KZ&`r$W���ݰ@�~cC��\p�;Op���oCSb��� �D��AL(ʼ��VEN��$=k�Xc«�[c�,#5}��l^��G�A��ݦ��]��-��I�3�"�Ӵ��q��4�䀌�s�ǝ��� p��פ �"h��.�*/q4�\�#��$qi��#�V �X�1�x�?�A�ue���I̴=��\'� ~p^:�^f=Y2P��߁ws���%a��e#P��ͦ����M��&��ų��� �ߦdCjӆ��]y+�hcB�/�d�N�ʹ ���s/Fq�+��cs��v5�t� ��d�ȯ ]r�'H��|�A���-�j':�iV>V5��p�v�j���8�/��5�^��]�~�e�fRH����)�bu����e���?����}28Lʔm�ϩ�CE��(>��M/��T:g,��z�q����}�H ���9=Y����֥��[s�������ψ������w��[�0���ϋ�p�� ���7y��"\Q����/|��ޗ���\0D��z���7�5�ji�qel9aH(��u��{�P���������"��ի7-za���~Se��p��ݘ��1�d�R��� R'���F4n*t�[o85Aݭ&y��<��+c���jx=.-�X�f��'� �������>�i7���b�m����BP�E�_Z���4K��_�g����C� ӡև88쳄AanmO�a���֥Om�"�DD�6 D�8�奨7gr��i�k�%�Qŗ�+\p��o�ISu!�3,V����/l\��/(%���%��r��]F��� ���?�o�i>b�T0I��<����+F� ��>�^u�J���9���=l��eBIw��Ͱ�?R���� ዞ�#�6��BC|d�..��cȮ�%bqϠ��7nU���N��qߟx"�('��y����+��<���n���9�S/��cq%2�%`^$A=.��>"�r��?���Aj33<�TZZ��!��QZ����d�_���(1�;��o#!�ο`Q��T�{G��"1��`r���{!�*jG�U�qE�Q��&�S��� �S6�����db����<��� &D��$�k�>�#�C0�kO����w�7��O;䙼��M'��xe[Ǟ���N��G t�~��?#�m[Dv�o@����b!�E���G z��[�*!�c�|���!�墹G��FJ�!�����*��]1B�ߞ�\��Hi�;�[4_Q�2���?�B����|� &@�����u=}:�lU z�)⩺�Uu�Y�C�Nar���!�o��z*?�03��"E$��C�������J�_�!�������+��*�{�ӟ�B:���I��&�qϑ��m8� &B��e*��4;K�}�.��{%�u��Qf�n[�-�Nj�gm�;�G"��s����06��z����އ8n&�ʓ��l����J�8����TY��.������*EC�f�QDd�M�VT?L:"Y�t��Q��&-�)�>yj���i�F��\���%p0�TWz����iC�9�z�<āKq��}�U���t�1<n����l� ��@��N�-� ��i]Q���!7Š����X������Ɔ�D��,|�p��fM,mi���<l�R�D����["�&�Y����X��*��m��dd��#�:�] ���Dm\�xӶD�f~u��x����H�n���Sh!t��ѽ�]W��P�ڟ�zi�o�[�P_��y.��zb=��R�p�k�4�.)��WbA^����l>���z]��;�3Y��C���߶�.�_S�J���-����G��_��4��a�I?��yZj�}8�����؇��d���p�����ɀmӿLg�!Y�f(�W��?��Ve�Hc��zyѼ�2� ���X�f�~��o�N��WA�}U�(�(F&Y=� ϟ��̀6��IvA��e"�A8�E����8��b�~��HC���֣����߭����FR�9�#��3dcW��A�ҍy^ �1-AV{Γ�Kh�w�[7=���7Q������1�u��z�H߾;eϏ�\6�+���Y߫��T I\_�(R=N=e`I�j� ����=�b����?>���Ȋ{=�kػ���D�DR�9n~u��N��}�Wܻ(>��a��Ҝ���`��ݔY��;i�P� 9�~�����,u���ͨ��E9dJ<�:�h���چT&W#>8دj��6��s;�7��(� L�j���B8Ɣ'�_{�/Uc�H��"�t{>&�ҨA���ޡ)�� p�̙�\u����!:YF(S=p^����k9�(�&�$��@�%���u[�M6�*���~��#_:a�q�J1�P�"�se�����S����:�� So7ά�ٗ�#���f�� ����XgE��UȲ��'�ۉ��֫:Sxh����`��<�y���zŗ��|��m\�m�?�Yh�}�\|#�U�@���Ukh�u� �m�d��iܼծ�v \w�W�q�2>�d����M����_�.:��.#�|C���)�HU5ښ; WT��ug�ļ>Aw:��F�f�2��s*/����J �,�O�\�J�f5�!x�P���eg�ʼn���=��]߂���wN�Z5�q�9��l��]�&�d�&l^�l��Z���� <��j�mC^mb�0�� u)�0C�.1���)/�e�1C��9Xߢ���~y0�{aO�O�[�Ջ�<͇�����b���a��g�?����D�aP ���`B��]썚�'"Tv����12�jy��:njX��K���_���Ԣ4Ai%�o��1��p�L�q���à�"����Eā��yܻ�,P��`| n2�)�?�T��T�' EG3F�����{�q%QA�" �!D;���p�oӿ��{��b��)É'��F���j7���ݛ���q����53:����_�1*��5 A2��!��5~��a�ˍ8��JL���J��q_���x.���EiB�����JИ��N�| K�OW&h5�M4����F�'Ćx��$y1�,x�N�"p� �Ml}���FExd�2�-���vy��4{.�;��o]Q��x�(^�l?�N�ح��k2?��|!K�|�7��7m�VF��dM�[�].� �YP�݂��W��'M1�g���X��w��ד:���N_� ��t[a4A��$�w�L��,{��� �YvR ?ytA^��1�w�w9��������V�'������)S}k�����M�HI�#h�to�P\HS2�������i��7�g C����C��`��p�?� <I..N������yiaɫB���� U���>K��� ?��M��j��gG�G��a�>%~�7���� 3�a���5�Y1�',-["��_���Ņ����.�EVfo1r��u�JvuX��%�5?���;ß#�4$�TL��s�iG�R�S�t��a���7�K�B2�� ~[�Nc*�\L���hqM���E�]����u{�УT��4 �I�� �ǯJ&����_�*_\�����ŦN�m��0:_��D�8V� ����J�A���CY��q =}L�1�C9�Q��D���«*\���8�!��e�֠��v�H��V��@�U��;� �Jd}7~ 8P4��:;'��%�^E�S�9���P�Y�"*@�ˈ(�/̏���$`��s-�/���"9g _*5�V�Y� +l�T�Y§:fĸ���ت4���������O.<B�k�W�� L�H��m=�T6��W���fc �!Gw8Q�ʬ9���N!0��a�\�剀����D$�Ws���;d*��"�f��'$P5?�GN���q�T2U�Ľ(rw'�^M��@n ��H�S�B�&�{H=6��ꮀ����K7?jOP�w+�а�� �"��'"r��u����[!PYg���k� �#o�{Wc�t����l��4J�[kx�����"�P��ܨ�yr�cw�E��+VݦFqbU��PSad��t6 uT�%��j� ��T[;��7%t :�IU�Lk��Jt�U���!�Ԥ�v�e�N[���M��鮮�[��~'+�J�j�n{��ُo� #-]��4q _����jG��|�`�7a���-� �m�&/��r0z9�C�N��(~��R5���h%������E�n��� ;���]M�ӑݎ�q�YR~�>ۄ���G�I�~��VQk��_����QO�}f,y�c�WE�Nܥ��r~�^B_���_�~z7� �L���w��Z�1FJڂ��F!!E[c��^XL�dr+�#.��o���PT+��9���~�Y�J1 䏏Mf�{�Ր0�/��5 !-7 ��`)0ܘP�U�*�D�H�U��M���Z;τ�;# ���.��(���^HU���)� ���esxZ����A���G�BƧ���q�~�+�h�v�b�S�9|��+���lY�⿀������]<]�p�G�.Ix���>� �)K^��]R��F����r�Sy���6��c*V��nчXJ>f5� �_}��"k����X�{V�h8���wu����D������W�9�ȵ�#U�0�dTp�%��l�@��A��&�0Z����r������2�gAh����BD5����Ӱ��=�s���T�[�>%�����ηP"~�H���<\�:LRU���"%5�-4ru�P�L� X��� ����.�g�vǖ�0�N�0F4&�7������l1ˠ)��Y�!�TS�}�����"��z41�&��p2·�چ���qv�ʃz�yaEڋ�O� ���/͌@98���iж��r�6D�|�����-a��tA�m4�X3�w�WD���x\~S�@� W&��5D�OA3`p�I)`_V�Dɀ@hW����9�tE�s��Y�������B��}�d�T�M0��l����Fq��=)HjT�B�#P����a��f�+�#Z�~��=)`3b�}{��RK�a�D�Qe�<�}0�"VO���h����^�k���P�>=)K�w��b������b�X���m_� x�?A[&�;�k+��57�Y�AIV���Q��[˖Ių��)q�\�En[�Im�^�����w��T$�7���;��������:�y��@�턡���ef�ezjĆ��ɹ��5�.rg�oW`�Y����y�k��.���q�N�^qI�$���ߑRDE�Кn��� Pԝv�g�w��<�0��1�XӪT��&�a$�NLJ�/���%=B!��R�&��lW����@hO�Auőnj�bZ0�.�1�>�[9:l*�pS+�י���ߟ�VK�5�@BPW�9�uC�V�w�gs��Nn5�c`����ѱЍ��/�sp���k� !�lkM���`�M�3���M�R���Jb_�9��K�\/���4\D�8,10B]�!S�˅���Y�����s����c6sPP�l��-� �P����9!�y�y��l��Z* 綣�h)RV��X� �2�O/A՜�P� /b������N*h�:�M�D���o�2�`Q���������]vFUN�xJ��t �+&�T8��B!�l@n�p�ҚHtj0����+�FRBb-Q.�3D����"����l� ��d�w��y�w3���C��R,����8���U0C�2ƍ�4)�2\�f�,�?$��m�m� G��]�>i(�.L���1�_��i|��K,��7��)���N��Nu�g��h�ZU��y��z�B-lg5���%����qzZ���Q���|�= �KΣ]�Z�+�kts�sP�5mX��&��un��+�f����GYZh��r(��:���17�(U|ۓ}X��ƙ��`*ue�����_,����Y�o��631Y�x�V&7ۣ֮��&�|�kz��]��N��zB(�.��j�ގ�V�s���#���S���_!_~��`�meΙ"Y�'J��w��4� ���@1��������Ծ^��"�z�����K.n?X�F��E�l%�/_��&�'�AZ$ɳ��%:Ky*�f�M�^z��尡�jH�E0�PWq?����'&�n$�H�yP?�/�\utL���3��6K���j�������X�~���UFj�&��U�H��4�{����lg� �nFR� ��ͦW����|]kd�/' �-k�' ��Y�#����jX����^(p�ǰ���)� =P�}C=y�O 0p�{Z2&yL;�!SpBb���}307B�|����)ĽV ����B���� �V��;��"ߩDSS�kW���* :#�"��܋�ն�G��gbW��V͑"Ƨ����$C9���d��UO�]`�V��7W~���t�ΐ�����-&\����E5�]�Ў ���#+*k@�0Xv|q�m�>�b�_�糼P�G@��8� ��(+¼/P��m��mh�&�Y�(��'��S�]g��s�(*�[IFF߷�=a7G'%��p�'u(,0!��և������2���#<�óq��a��Z��D���Le����?��4��Ҧ��6�P ڣH��o��5�w]_b��VEx@O��i���3D��l~��F��ȇ���HX�l*�A������xJm��鳡�#���6�]ko|RB�<��r�s����ܙڷ�дLN��0e��˺Z%=6�Ä�����4A.b��q��G?�А?5�V�y^�L��Q}/u�nH�$��/�F�[?���,�K�Li4���f� �0�ļX��e��E�4�g�'禿U���_ʠ��~��V��bիz�gR�O_0O�%L����&^lhxdK�}����˨ˮՍN��9iD�B�UJ�S���� f���e�O✎�;��.SP���o��Z \͋♳�����n p��tc�$MJ��Z������J�!�6ʗ�e��N1:�.�6UV�/�IFͶ^�V�B�r� ���S�x�6�ݪ���Z`�x�S��<�r���_�JA��dQ�<t�@[{b�"��hX��J�S�$GO�� ܒA;Iy�U!;pK�`��W�g�/��vك��:����<wd ��Qy�F!�W���tvc���5h�XqE��k����bA�� ,4��9�bZ�I�p����%s;��j���T����1����:5�ެ[�P~���/���EuCwf$��0����%<���4A���u�Q�L���E (Ʊc�Tt45�oⶮI���_���/�m,�>�|�, ���k:�x��0Y�lҚ��x��"^ �I���|�i ,wxpJ��OFQ�"�0٭6i���w�-�5-��O��ǺC�'�vx�o)�d_�Йg� ���38[Q�i3�6���(��QYu�q�+���Ӌ�&���5����gȭ���օ��*�"}H��R�LDa\eb�85g/x4����;�_�|ႎE�D[���1]3�_���h^.�z�Ū\�B��gQ��7'��`��݊|�k\��Ls�cF�R�)�8�e�)�j.*�WV��U��!:�AG�� g��?�].�/����[:���⬠�=��l �o#�Y�@���%�����*U�b�w�3GE/9�L��9�v����ax8�)�v'�pm���41K�=��O��ݾ�pX����s-l���#�ʵ_3��g��$���F@C��jwQ� c03�2���7\��`����8��/X�w�~Ya�?��43�B>�5���HP8 U��iߛ�����O \��P�l�5$ ���N���}GBZg���Ъ�^x�#��ՄiJ4�[+P��t�Yl(�� ����i��Mʬ�a��5���H��<`�<���$ڈ�H���KI�n�ȯ�;H�]�c�_�3�{����������� ���^��h�0���Z�����b�Ƴg A�Vt�{��5^�����7Q0u�W��;b�N`9.�m/����r�;\շ�$eL_MW7�B��X�if#���Ȫ��5�丕�������U,���4������ k�0��x��#!gZ02�_ dr#����*?͝5eǬί��� �����r*��Z����Mja�-�C��$�XL0�A���0p��H�����^� �8*��Y@��r�y���WI�[�e{�KT�A`�r��&6%t�s�=�kbŏ'�GT9x:vB| �_�=�T8ʛB���r��5BFi�*� %���Ї��=̱����v�K�F����� ���v�L�g�p��ξ��r1��������I����̮磻��� "5�=���>g�y�� l�E�&�g��F���8�7�os<�$P�zM����7�'+d��=1'ԝ�� >��a��إ:����0��~V����� f7��W��I�ڈ��+Vnl恺��d��*��P�S�ZO]'��1��O� ds"�� �dgMލ�(�ѻ�>�����ݦab�_�>�.�e��^��t��x��K��2L�a��Ջe)���L݉�"vh���j�?���$�i�C�?��3��o�DЉJۘڊ0����=Yͽ`�k糜�P�vZ����z`D,�^����. @�k�9�!��4�v'���K*���#`�9�o���J��Wҭ:ctK�*B�?8Tv��7q�nP��B�U�u}*7� /����j|u�L���F��PC���w�7�bJT Y��3p�)J�����1b�3���5"���2l/���q��o�bU�~Sc� �z�U'<���f&�2��g(Y��]��F���mH���R��N��Z���B�^e�,xb �q��I�D���?*w!��i�Xo���t��1��!�Z�t�p���rl�X�YFRO C��*�p|�e�c���[(�a_ yw�\K�F:l�?duhH��F�J�;u�8k$�Vk}���l&,H�2`�Y��e�1��J;9�y��Q��n�O���&�1�=��9�/3��ȿ��PGnGZ�\ �M%b�zޣ/ݭ��OQ�|Y�&��߾�XƕGL��3 �|l��&m�7�ʊ�ƊMǯ.�T��������RXU%�a㠼�F+�<8h�Ϩ� =c�@�~ƺX?�5�?=t�����[3~+���ҿ^���.�"���n7��r� �qI�98pB���.�X!�:~n���F&WK<ʑb�kY��$�D+���'���7"��e�Dsb�S����[${�j�w'�A�k�HMD%'t��L������V��n�Z���?@X�H�9�s��\/4+q�2�ɯ��i~�l�v#�S#�P�d�-������o<�&v�P0�B v��*U��^� ����u:�,I6#�c[�n�E��'�*��z�����l�@�ݓ)n��G��k�4���Z[�|�ʘX�F��U��Cnj��k2�S�5�2h����P�����\`G�vu�T@S�V��b_Ѷ���F�訊êk @J�N8�N�������A���v�N���6�2�o$���Y#�����B�.���䌔�(���5IL�t<c�_S�e�w��!�y�X� ϒZ�����G���[t#�ᄉ��RbX�Z>��斂A[3� �-�e^F%P��P9x�<O�ũ��WY �O�)��*}+�{�u�m���fnH��t:+���f�I+�`��mh2�!Y��4V� ������X3w\�����p6n�XL&��F�I.��\�k�&ۺ�!u_._��cF����!�^�N^c=Ө<0�v�õ��5��X��R�B�"�o=ٟ��Z�E��&���>��+y���X�����ֹ�f҆R�oG�9��1�m<5��j%��X8�P0�G02pNbeZG��M�cy�e�3����]#u,�5������mMz�fY�������ZA�7�k��G8��+exU����>+������v<s8WDۖү�]ρ:��e������T�nQ��ύg+�K��P��[�-;�7O �q������g����TXT��4t�W]7[���gs�y8+k}�)[���tk��"ۏ��OI� �k�h��ve4#�{i!7Ov��WM�YC��@��{g�|1��K6����|�N�q+F�]C���u�@�Aߦ�[�b���.;�h��j�Co��w'�W.����vSJ0���e�P�,?��|j��o�uBi�#S�@��6�@ _���r��c�Z>T��`�-�{)��Ñ*W/�S���p(g��~��f�e��&9���g)�7������"�?:�EMϤm�"O���_�ы`{�k�#��)��6(��H�e+�#�*�ӟ4p���-^�Xyנ.�Mw6T���┉�y�"�,��/^�gs^�E��F�������U>"O�d6����f��e��U��b:ٌ������ѵ�x�p?Ç�H��f}����ea����~����%�&o�=���[���EN3n:��2d �H��X�v�&[�{sR. �ļ�= �$?h�k��$B0��W���-�xXE�ZNo-��r��/A�V���R��j&H��7�2k�G+ţm� ���P�dx�Vc�h�z]Q���1������ɵ�i"\�i�|�Ͱm|���� f�0��! �"ʒVr��(���%��z�i�EnL�_%yxA��v��� �]r[m�ah��*J`�(�e���I�[��#��!����N�n�SG6G�-��+2��C��_����zh_���W����`6ǁm��<�5�\���4�]�R������xu�*?SWq�34��<�ޱn/�i%���En��b�c�!��t��,.Ϗ�n� ��ѕ���$��r�r����2s�4������˄�9���!B�ҫn��Iu�J-3>❺D���&� ! OZ�4a�+o�RK�}�"r?�[~�q�J�$�t�. 6)�H���>}|/X/\0��G��O �����䪜l��8hG�E%!�8!�e}��jF�u��.0��;�^aEV���`Є(����D�I���3y�j�B��iӭ�~�J_Ҋ ?~�$�� �ձd�}�V���u'�No�h��O��ʹ�:FfOv#�lp�@-�I:�Uk����?�,��6*�?�M�O��~���cr���um�"?<ю��4Wz��NcL�|�\78�<ڵ��a:u.�:^F��mn� �(U�w�x��o���h�/֗pd��b�ҭ�5�W=�BfM���s�{b^;F��]XH%C҂���89.�+�7�E����}R��{���kj`c�6��mm E[�~Fe�6�ד�^Y�e�P߷�� 1 �h�o����B�|hW�|�������`��*���O��>">b�1�Ȼß��<������ÿ"t]$g���ڸ�)[��)j�x�x�n?c�|N:��O9W�5��$�I��{�3F_�d�I�� ]k�/������}LkE���]� ��'N���B��U,P�|����@Z2;���s�R:�6-<��K5�J�Hܺ�`�� yG���|����ETӥf~F(���L�=&��DS�0��V_��QG���4�+��{�zE\�!Ѱ�f�Gz᧨O@�z���Ɗ�a��)�ƛ��o0'�<dO`/8��S\!��>��V1�����[��<����yƋ�\����P��բƙ��Jwy�h��.��Vc�nv�+4i�y����V�����'����X�C���'G*�-L(ޱ�!$(̰��O*I�ԇd��=��&e�\���>|q���d��ݾ�JF8H�b��g<9���v�p���$=�� ��O�Hvl�ag�S�4�T��?�M�d�S�C��k�t�>j;�6�4�l)�T:��S�!IU�-�E�#gᄗ�[/��E+��So_7���ܗETM�1�B��6�S#Xz�Ft�Vk �=��%mo���d�Ӏ2@�����Nj�V ]fε#ƖNrŦ�X����Q�Ɛd�>���Q�ջ���{8��W㏜�6+�@Ob�n1u�B�d��:27#fJ�+˦+�z�V��/�/�[i��T��� ��ʊ"�&�(���e�r=,��D���#ݛd��`z�Ͼ�ހ�P��\�G�1�r��-Nn�[#K���.�|�M�F�O8U��]�D �4W����B�ٮ<��zT��D���h��u4[ ~{d>я!=�7nv1Ք���P�0�zn�(�ECKͽ�d⥏����c��#3���uVc���&����sv��Ɖ(ŋ8��D`/�X�q�Dc���Q�hr��6���;�;g*��*�?��'����cT�>��<��h\�I,y[�c2�VzJ4'�3�x�4��; T�']^�%�E|s�i:�gV�-`-A�t#�ה~�L���Rt�C6��O*��˥Y�\��0�U�p>WJ�&�YgYO��ŷ��Ɂ�l`� �jn�ʼn��Z]Ǵ^{e�OI|B0�;S4�;���y�_1�<�t�2ܛ�#U����+O K��L��e��m��ͦƫj������E��n~�*u��]��~K{4�T�ݴ�S�,C�?��P�x�w�aŀ!#ص��w���r���B�E;=E���/nB�����l�^�A���T�7$���}���!�1��z�6h6�K��, ��#��]�5`�EN�O.)ޠ���^WG��i��$f��+}����2]�D��tN�i'��_| �X���g�<�sV��G)W$x�v�Ӧ�����D����K�W!�.��>H����1 Sdi:�l����YY@.��O��� �z9���|���2�8�%|� r3��>��+car�,\3p�,6�;������m]f*���P"��Bd�>ZE�.�uZ�j�4zSS�J��j�6����d�!�v�[����.Df'u�6�K4��̝Ԥ���=Uw`��'X�O8b��cȪ0Pv z��.$�㩪g����"�o�����H���x��?�Ȱ�"�v��?|�J3��Q�x�X=uV{~��=I%|��ڙU�u�/D?�1cm���xJ��wΩj�}��ƞ�������㭃�1���۸���!H-?�a�`�S�� ��(�& �Z,�S�ĺ&���Ք/l~����(/1e�i�N>�g��W���>"�S��nsr�eX��ڊ@�A=�&9���J�I�J�A5�OnŽp^k�#��8��~9z��9����P�ޚ�&Pm`��!b�v��*l6��(�-�A��)��5��*F�w�ڀۭG#���o��9�u%Y7�Y_Ī��f!`WQE�hK2M�歝u������Oi���g�̄�*1�h� ʺ��7�L�<�s]G`���˿K����JS���gV�C)��T ?E-�뮇�\���B���C7���?$>;�En�݉�Ʒ�Q���A�~�������l���\Õ�,��'&�I߯�"���~��\���D�yFlj���`��!I���nЙ5�j��Rti�l�]����(d�{�p�T�H�L�����Nt�mX�u,{���B�����b<�2��Z�����R��:�V]^�K.r=R�O?�}$��$��y��#�e����tda"�+���(At?�5��F�I,ک��kc�R]0b����(+{�T9R$KH�a4��%q�cӕ7�I�7>+�f���yX������3�N�]d9r3��0�0�-&��I�1����\V�42��L�1��^r�ޅ!�����B]�o_:�'��R��j� 8���m���M�f1�G�%L����I���-"d�ԃn�k��>By�^�|mv��rh�3�d�h'8nk̙�g�o��e]���{����o�^sb���If7nن��yc0�OON�F���bmUYI��$"V�@�:���[8&��4$(�;Пad��8�d� �i[̦pZ���~�q@na�pMǑu( �f��8.���ɀ����~�����a�v�sc+��@F��D�B�?7,�L��ED��?�2��x�-�{t�� C����ISg��[�FH|_��j��ʾR�gJ���<�&5�_�NBn|�Y��kXP$�ѭwMK/�˾����5DuV�a�^|�X��l� ���Vu�U4��f$;��~�6�B��<�U>�b?�f�\P�JH֪�.��W�������]gg#@��c�RG�\�"���Ð�S�5j�k�)��ն�����g%XI��;�����*�x�G6�W��?���j$ *�沒� R��9�ٓ�kL�\]���3�tN�t��^���q��}R���A}ڙ�%�o-���3ckh�I��6w����_*,E�<�N�>s��L#����֟f�B$��C����klC���~0*fY\�����Md����z̿�p8��`[�6(�(g_v������h(�[&� >�Fבu&�VXI<����B�8�~!��7�]�=��w�//�_��`}��|�D����˪�X��pw��YN:1b&�I2���aP?t�2l> 5���G�^0Z�%>�PD��l�� ��+��Kl�/�M}�A�L���5 �^��M<J����3��H��4�,ş.j�r�Q�V�:)��:�2)J��Ѹ&x��¿_o�E��H�Ft��|�1� ����S/�Qi�ۨ�%Dar��*Y"�?�N�L���j'C���y��K?� w��nm�I��x�m��3�2Y�������<f��P3��B�Ϳ��!p2c�-H��tB���_� R [T�0��z�:�}�S3��Pu�K��qN����ye� *�*�\@�*ۚ�V�"Rh�E�����t�)U�l�߀4��X=-���N?��AXF�5���mG�Jhz5����D�Y���k��.�xɭ�#���B�f**9B�q�)�F�%�>���㩾̼��M�l�����^�K�w��2/�0��>��=q����_foOG�����R��i�FisLt7p: �/�d��ш���`��vQi���� ħ�u��(/PK2^����Q�~�)R`���;��ֹ�<����,rM4!����=a������&�!G$�����]㰼F��7o��P:���ߵ�P���mȒ�Dy3�J)���BS�]�2b�Ix\B�L��7Q�i�ȉPHj-ק�\��+).��c�Ta����R�A9����>��)�0�B.MC������֒�T��B�7�~��#x_���'J�Gd��[��"��˟v�c5>ٗ�=>{ӹ3=谢s�?��&�X��R���CB��� z��)��2���s�>�@��q��B�`P�cR��X�:Ĥn��� �4!k��c��8F-LJ� Zy�v╥���bj��3�����x�����zF�{��{��!h��#��7}@Q:.X(V�5�ף�O? A����a�;�H����Ki���t�� ����^�F�v�6x��i� E������A@3��J;[�>TX2IJ$_V����h��2�!�� .����C[LE��A�6���&��7�E�`���?���i��n�=?����0�ϓ��6�|��d�d[B�~�~퀷eꏢ5 lAw�lB�0�������;��a7�$�F �B�Wڮ&z��3�:`P�l3���V1Bz�Le�թ�-�s#@�m�/1ʆg�k���D���E�8ʴvڲ��@e�GM�)�P�y��㯩յ�s�0��DM�����v��/&�,\� ZN�#w��2���vuBh{j7���&)³:�k�AE��K�����cs��S�=�ոW#�_�p��U�9��DD��+�G�^r�����pR������A�@lze�%-��^��݅���W��SǫP�[>�g��� j�4,�@�>.��U�ǘAۉ�rR�D8z}� VkR�pK� "�w%j��DwQ*�<��{�Yv�j��ET�/�8�|�COC���`�b驻>� `�i�<.e���I���<������҇:��96C}(�3D�#�'�E��v>��87��������>ӄZ�n�\�T���[]� �� a|\��d�����0e�,����+r0�O���Ԣ[u̜(�&�n���w�|�3ꊹ��R�Ia�з�����&5qh8J�I�l^�[:E%��7>��.�.�6�bl�'�T�'�pM��V�}�%Ĝ݉�1�L7���l2���)�?���Y%�OGj*��z�M�G�B�"�3I��uE��d��<Cq� �P���?���Ե2�C�&Z�B�2_̝��y{��6�\�ċJL�y�֬ ?W�S�K�#s��g2�X�7��\ʦ��Z�M�I8Y5i�0�K� EaFZBߎ�Ƽ53�MS�G�i���5�f��QU��.c��<�M\R�aO�u��q�BB�r���O�R��*z���|tO�b�! l��0KI,/y�|Y�h/���w2c:y�+��sCB<�� ��~;�/�"ɰX��g��˪����p騦�![7�{/-=$ZE� z��TU�QL�}�+@��n�.�i"���B�kS�D,W|H��e"&�u��<��3`�U���T4������]�a�e��;�L�P�M�`�!Ƅ����>��J$��Y<�OB�z��C�^]u���)�R����,"�� imO �_�ֲ�y6���B�6�,B`쒺�` � ߦ�5�����Ku'A&�'�Z����˓��/x}�0�4�a?��R����c�� ��6\���#���l+����N�28,-��3�q�l)��z��/&�p^C�/��]u[��=І�3���\�v|m���`Q`!����^��� I��d��(��9Knb�c��Q���fL&��:� Y�8���_T$E��H���?��u`�'B�Z%�P7ǐD�2Id��O?��J��gg� ~>q��*2��N�@� ���Ƒ:g7WC�ٚ�:b�Кe6 �O��]z8&��L�o��� ��Y�<a�;��C�)<�o�,�abq�s�DP�T���Xs���̢y� Cs�ʸ���9�?u'uͳf�M�C˲�w�Z G�6ڏw���ϫ���b�s�쁶�7����0�A��9�u���mx�Xo���hG���j?��8��X#�O�O��>pe���1k�x�;��]��t'z��A���=�����ÁU+|���Fdt��ϛz!��Bzp9� ��D߀�-��L���en<�w�vC ]�9�t=���ݣ?�Vn-�J��g+ ;D�V8"�Q6�[�ӕu�5T���A�?��s��;ԕM�n�%j���8�*�)��cz�<m d�����u=ج�-sH�ܼ �L3���>�I\b���Qb{���YY�=#��s�b]�'o"�ԣ�Y��V�H��a��o�ڟ_�)��G���gN������^�$�z����/6ɥ������-���F�R�`,P 3���c<ú�Ů���fSH�>N���i-_�&wD2��X��t�v(�`��?�0��/&5Ú�9J�����L�G�«�P�7������i�aa�.9�܈>3���eT���p����=��V��K�� �S����$X8�e?��q+�ȟ��Q �Y�g��m>Ԋ$����0*}N�7翭�5�/"��`��1�mu�I_��r��s���a�������H5�)=�+u���e���C����ߒ�U̫�M%ޏ(2��:5��=0�zO�tB ؛Ѽe#=�1���V>a��)뙔#�vy�mg/�x I��P�-�V�[�>�=3N+����Ĩug�@Xs��'3ˢ�V����]���X�aV,Y��84@{��ۺ� +7��� m~-��� ����j�D��Զ*��ם�K�x�l^��S��v�t[�ȫ)��zd�X�a K4�b��Џ��_�r����|$��uH_�}�*�4��~ qlτ�t���7+��$X�.�Z����F�n�Ƃ��:�����"�2и���-6�X��$���G�3�r�+g�H�n6[t���к��n?��Ǣ�D�:���yd|!�?3=,2�r\f�dm:�K�@T���* �q�ӯS��~�{B��NyUk���d�I�y%ǾKУ�{:��"Γ��ƞrQ ]y���s�Ŀ����s\�B;����:n� ��,yi?7��Ol-�^]� �Zlc,�y�����.1h��z�M&�6b��~r$Ճ1�,��1�T�n��K�i.��R�vl�zؠ)¨^�; �&@�Y�X��w�E�M��\]� 8+���_�:.�ͳ:� ��9�OQ����b��z����\g5�%���/�4��3��in4�ʭ"��f:I����6T��^+��$�W�ɫ���'�9�y�_�?����1I0���B`��� ��>��g��j�?D�}.�9]m��Q����]�r �&IH�/k�= ���<����^�'��va���vvn|'ׄn}��z��M��i�h����"ZzJb��}�>�B)TP��u~��.�Y�=<L�OΥ@�[5c@#9��\H9=�7���m)�;c9GHӨ�(��!.��r��IP� hً3B��$<��z��~yL��"a��I߇��Y�{��m��xЈ���^������u~#%����E����K���?���sJ,'�7l*X<� ��"���Q�W�L$���$��A)�ڤLI�ă�S�FS�;�L@�d<M���݈��>㦘D$/�f��:�C��?;��#mռ��m���ݴ�Z��|'G��6�In�1)y�[�`���~�<q��,�/Ï�L}�6x��Z7��2�lFt�Ϯ�r����D���iPӻ%ui�k���9M ��n�G�P��|��}��Ib�QG&.��ے?�Z���h�M"Q.��]V���?��qo�\u�Þ�=u�n��`#��[������ ȇ��oC��;˜GL��=��fΦSI��o�jP��P��G�����'}����mɏ �k7>nhW�5yW,��Gr����凇�%Nͩ�gU� ��~r�����6�c~)��0������r�C<�&h�Ψ�&�Ch�`�h���8��)f�\�-Ԁ-eA�&�\�ڴ���� 'Q�"�8G����Û��-�e��E�=�������"�:�醠jP�C�jrG�]>���6'0�dv�����n�{�鉮|�M9zԄ5�z���h���w�s� b�#� Y5��K1ᄑ����g��(>�g�B>S k�hOx'����!FOi,��g�f�Ԇڒ���^Y�X�C^�BR0���S� $��X�#�8�5X�d�����('~@�g`*=7}i�<v�tJR\�[�xR�ϖ��m"�3>e ]a^&Kd�4��R�';�l�=���+=�A�(�����7@.X��f�AH�}��(�0l� �Nv`�A�c��:2��+��z�N���@4ph*C�9������D�;�k������6Z�YѪҞr���9���QD��~����4`O^�\zo�N����{ZM^r���G��Z�V1R��R7�h�O�%%�ƫ݄��"��,)�$G�|� �Ba�X���zJO�D����ѽ�{TEy���N����1�n�D��yݍ����Ƃ�D�*N:3�/?��]��E�uǿj����^Q�p�����3G�t7t��+o��4O�C�̮WL�`QS��� �T�����n�+18�NNf�*��EXyRE��Y2�]t$�UWg�DV�CUkP>d����V���̎>�^.�9��(�Vv�2� #��F�P��p����'�0�#R�|�\Ab��/��=�oNM��������̖&� LQ�F��;>�4�W�A��ɀq��;���\�'.�"%�Y��h3��V�w�%��9q�:��:����ޚ�FZX�������֏{T�����A[oΦ�V�lN�=Z��7���BY1{�<h����=�GkTY�F��G�M��<ƅK�V��]�v[ލ�ew!P����� ����b�s��eɝZQkϓ�4jI�/�:�1N}$N{��f7,�!)����9F���4T$��Yg��Gd�"��j!�2��Q�dn�t�`i s>ˁ��4��(8��3Ҟ��aQ�R[�M������ ����Dc�S���O��Y�������Y�K-X|��|�t*Q�>�[���_3**t`���}�⹆�Ɲ�(�� �ϰo7W����Xm�9�黈�4�n�36�Bk��N���g�$2:ЬO����k1���������?!9x|("��S�������/;���s�6T�G�x��{E�#G@MV�r��xG�L���<,5���;�` X~#ѓͮ�vqN�Ug�s?��S*uJ�Q��o����V�[�V���O�6���n���ب��V�������8�����7��eP��|Aa ` �x�&n�ɲC�m�˥�� ���:��I7��Ν���6ӽ� ��3�n���)��P���_,���'fIO$�oz=C��b�n�upz�F�]�+uB�]� �b@�!�r��/����4���l�u݄J�%��[b�u��A�ϛ��EڿJva�6.�$=�`O����[��K�YJ���X�cG�!lg�9El0e����NIm�^g�g���Ɓ�ъ�ՎY�bt��26jh)�ȼO��_^��,�T���@����! @1�v�yZ��e�{)\]�|~�- T����x��'>D�R(�k������(��JS��!�8�)c| �^���<^�����#,�_�j�M�jN�+ڨ�b�VK�s7���_!<�Zrk'�}�~&5Ŧ|��Ժ��(�{��̣�?�]6o�PG�k���ijd\+���?+��4�����P} D�}l �f*�9BC��p�AU����/�n���^!�l(�`.�j�<�8��!K���)�rG�[G88���0����:kO�ë�2��q�5ls;[�Lǣ�?w;��s���xn�:5J&NW#~U9e%��8���xaZ}�a�9��ݟ/A}�~�x�y�ŕ��QdD�N��~�8��[��]>��8�ڋCa����yg������|����n��@ş�?kt��ۼ�_�C䇻-���m�+ DO{�A�J��_�m.-�i��w~�z��/���xs8�)���Z�� t���o� ����d�N1�pl���l+�T����G!�ń���H�������2 �����ξ �`�,�Hrׯ�w@��~�t��W�H���x��T9�˳+Ms��?�tDu�9���ݭ 5U�������Vu��-�ЙƮ�h .��@���F��mU�R,����'�G�͒���LJִ��7��E����_nb9Z�Y{�c�����;k+�Q���:�Wl�w��r��Z�+���� �/iy�r���n�����(�R�AٞO#M��6�ֶ�D0��6R�9�6�@u�9z��P<��������L�e%�$�V��!S=몴�"��:�� B��DpP2�(��+Ɛ�H �yX��J�����I�Ӓ�Bs��"�g��䢹@4Z�8_�Z�ȃN�0i�:mJ�X��cX�ewi�7p+0`� �^e��cta���;u=�=�s��S ���:ջ�5G���'��6I ��������)��%Lp4�ߢ�,�¼�j�������o���@�6N�~������ S�~|�a_S����⡸��=*-]�8L���䡖��d��oV�L��RW,S�SToD#�x{�BB�D6!���F�Α|���m��~�kY��z����j�v,�8��{T ���%�W���r3Pjjn�.2_z��<���w����D���H���>�}ϵl����;sYi��_Z\�BC �� �/���QIt�ʒ�=p���2K�?�[�b������X�~g�?��Pּ��؋VF���3��V������CE�2�ų%J�z��h�!H��,����~��mkVm}S���S�4O)j8�+S}�ˎ**܄��e4�S�e�"�� v�ռ�B7�N!NPtU���vn��z��]�u��y�Iw��Hp��VS �)c�w��Oi���ԀV����31��U-�=��FP��i��OǮ�2�òRPX�2x��0�ɬ��GыdsP=|0�RW�'��XH���ߖH�AɃY2@��C����Z`� ��!= �үc��F`5̖���(-`�mZb�稇�VÔ�C8��c�M ����n�C��I�z���M]��zUT_��<v��)=�6���tf�}��4�DG�c�&/��O> e�6��U��ݛ���&Q����ZX\%p�ै���C|�}�U!�p�%�p�c$9�^��hﴍ{����_<�c&%�����ǖő�G[p�I�;���$R��_!6�U�T��W��T��Cm�op�\��k.�1չ���^\�L���Va��C9e���!�QY�{�+���/E$2�- ��"/����5��"ج7�`q:3C�� ~�Ni��Y�{M�z_�����_v[�e�����[d�tx�Pn=7�X�oQ���2�ۅ�Bt��������Z�r3$�y�{ai�,j[����(\7pesph��; [#�����}���cqv(����O��'��5���?V��/���i�_��HW�omkg����/����^�"��.�u��������)��4旰}#Y�dyk9�HI7�CE�����w�HKM�� n�3�}.���52y�8o�����=0�O*�̔�f�A�V.�=x)��A�sM}(6zY_�J��r=[V��oT��U�m�(R�ag7T�^ɓAn�d���a�i���� !�l,� M��Ǔ!*NJ�t�;����� ��Y�مn]����Ƣ��r6��B8\ᶱR$h9ZZ�/g����m,C�vB<��݁+�y4�M;���|��[L��A����<��}���T"��">s@j���T�$#��W6F��H�u��\)_nj���O�Z�R+i � ([\��j��r����*ӂ-߿k2�]gƮH�gG�;c05-X+cA�<����S��5� ��"\��C�o-8�H���4�<o�O�������\�9�j��i�����軖;M3�k#��B�����+$!g�`��W顥�ɤ �ev�qR�C�J.KI3�f���~�O����dnX��S��A�n����L���$�[*1����qH�y�$ɪ2���v��#Y~�4',����D��aAz�/��# =Z.���/�=�9Y?�F�.O�ء�]���5���"]��o���ʇ�t8I,i7�6�Tu�3�x']�x����5���5���ݐ;&+�,�ʑ|v�!ܛr.�ˤ��:�J8�,G���8k�[���C!K�Jx��� ?�hBvEQ�^@�¤1�/^���v�8���[��R�`� �{��Vө�ʞR����$;���m��¥yQl:G�������x�\���Uu���}Y�0��a�.A�$��l=�Y /T��c��m�r����[�����R^j&ۋ�VT�ԙ��#5�8ڮFe�� �6��{�� �gi�+�2B�9�ZoN'@�"�N �*�Q��; +e��Z蚫�������K]�ib�7Ï�Or�͵��8���?1K�\`[;�0�H����5�,94L�ǔ��</g�ڃ�'5my�&TD��W&�� A�V�yu���oH�%s����:��"�'�A4��Cba�(B�*�R���FaL{��"�w?��ݝ�`XP�����%��g~�k���H������<�����b#�Ry��}E��C���?�hT�D�l�|�xxc!���4�mK|c��1�S �`)������n���]�#T�{F�dA�v���4C�Q�a�����f�|�$��8�D+k����)�����2a�p� ��ީ�G�l:��g/E {�1��α�r"���6��T l�I�.&3����7.�����K(�Њ.P��B�V����#{^c�]�t����r@zG:q��WnSb�� MyG��=kO�v~���7>��KV��s�ι��v�1�G{1a���w�6�*���m�U�9�Jx�V�ic�s� �-�n� )���+L4w��# ���������a`t��*{W�j/��Z7�r�D� �E�7��)2��j����f<H�L�`X�p|h�v2A�ډ;�3��.0��X���E���`��}�i"���W��<`���R\`���Bڐy��оl\�ѹ�n Sڑu�^���L�$sD�+�j�˔R����&(d/�J�\��a˽sM)��`����h�'��bp|���;6�']O�@n��۸�I�Xb�Y���P��}��|�(\��!�"Ȏ�FND\�kD���H���m�h1�K��w��v���8�>ثܳ�H�S7�ڟ�7_2�fNn����]��=�Õ?�����e+�ԭ��<����"!��,-��P�u��vM�t]'�.o�'�r�P�փ�͇��p텋ӣ�ڒMQ�3��—��I��D8��eT��[��"g��-�^R@���bw��{�����e�2�>'���Ɲ���'Qf�C�_�ѭ/��'�ry��&���a����7H��L���{�3�)g)�.���_@d�U�Ì}�Q>���Q������qt��)Di^ ����D�<Qɦp瓒���^�����L� �[w1p\Z� ��x �f�6�\H���\j��mWt�w�<:�~�]�0h����T��2m50����[�F��z���ʌ��)��b��M��sPժC��K;'(����T�m!�;7�|(����)IT�Y�N>��~��!�2�2A��~P�5"<<~�_f@�ˣ��d�ș�f=L<��?d�t�FZ��v ;b�,�B`�{*�J��`cO�?]r]��� �`�vȬ�F��uʨ����!�_�@� �z�μ����uk�\�j��JK��1�g&�y� �Չ���#"F�>����{-�ɾ ��>�`u+���3ϻ ���`��\���%<��>��G�r'��=?�=���;z�HX���[�D�s� D�9n�0��=���:���uI��S(��)��쯹�k5-��B������������1Ϳ��Hm�T�m�j�eV�M�ޘ��T�&[�Ԗ(Sc��sWa�����p����#- zH�����@�,Q�f.��#�'bt���ۋ���V�-T����w�g�o���~~�C��Z=\7&��|�!�6��B�&�1�A�p��(�LA�l���R[? хL�%��GJȨqeuc�*(Z/Oc���іc���؉jPlM�C%�j�O��9b눝�.d�s�Y�`51K���L�i��5��H��ִx���v2~�ߝ\h?iY����I�ݠ�r�3����!N�~F����)�G;1����,������Ǐar�K�L��)��?�[P �:|AhhzT�4�;������"��H+b;�d*��1;r�|�[�a����KЗa2��Rh�8b���,tmkÓ�}Ę�36�A�w����U:��|�!ђE���L�X��-�Ь���Z� cg��?�^ާ�o�7�R�˷&�qv}LI�S@\�����dUT�-�����š�|�nx��Ǡ�4ps��X��$�AS��c�5��5�Ç�u���k��g�:�2|~Pk�"똍f �V��Z��H�ug�ݒf�0,X�RNz{83�9�d����6��+X�Tn�h�d��أ��c�-��C� �<�^��S��Q��6ˠL�B�l.��W���}Ϗ�PFf�~�g�����q�R��7u�wd���QUaT��G�C>{G #r��G {][�.���K�۫$E�|����u�DA���d*]�1kԯzw%�*l4L�qH+��0�n�i��C��y��Ӱ��͑����Z�֯RT%c�0� Y�t�#�<�c�����!�R�3N��0��]�OW\�A�-�_�BUG!����W��~�v�E�c3*�דk ���������d/�KYb�t �˪f�ڗ��c��c�� EnRT�n�x R6�-�E��~��x�I�FHD�v���c����=�d�IO5��g��ȇ�B�n��qƭg^ ���粪��q�}���vT`C��v�ĄZ��ew�i�˂:��-^!П���0-�(��7X�IJ�N��B]:�b�L�F}�s�0�:����j�"��wA��(���;�m+�C�To���g�Y�6��#2�:���%���Ou���^��\?壡�j�� �%g���y�L�('H���q�e�}�^ˍW����zI1��ޓ��r$h�u�m*0�H��PK,��F�\� �L��^+G&xy3�y��#�z}�q�:�C+��?�N �ASS�V[�1$��Ks�Ea�.�>Gs+��x�V��q*0W��?�L�F@�+�<'�<Q,*�8U�KN�<�k�7�'�P���^����� j�T�ѝV���A`>x�$*o�� Ʒ�7�_���� *Ehʓ;� &F�u �_�y�@|ӍhI�U^��3����K�"�t�;%'���I ��J縋/C�N,O��Tw���S��c˹��:�� �L�q.���\����#T���Q�/}&���Ag��|�#;|9��ˮBEJJ!,:��(�������(�M�v̀�ʙ�*�h�_��2[�.���fK��́ T����1|����,6�]G��hk+0I"%�b�� W�7�ݩh����ԻH̕��<��^vQ�!?m'�j퍷l��� ({(2�$�ӧv�����Hq��ig,�8��%W�aUJ�ڥ`P���k�@�Ӌ�+Z�j3`�h�9�O��z�"��r+eQ�6}�Fě!x~ϴ�`���]U�����!���:v����hLЋ�U7��_�Oq�-��_�S.�.�:dj��a-�E���~t��fv�\F�6��}�+�ߞ*�g�G��t�h�$i��ꤖwW������#�����C�j'o�7܋� 3�W�z��O��C��"�k�3��Q�QŭM�n{�Ln�h�'u��F��Z�6=���v�[�)� �YZ�5' ��O��i �rT��Q�<�nH����A���S^q�{��d²� H���OZ�t±+�F�/h��˷�S�:P�W�� ���S��mWKEJ��p^d�|@Z���c�*_�ωf:Ds�;�5�|#�W|��H�^��2�C��nTgf;2{�ݔ��Vw7���i��x�'-�T��WG��l)�`��bw�� I�t�B�Iϣ���ME|#��A�����63�r \a�MRĄ,�w҇1&�x$��h��#�=�iD�&'��;��^)k��F�YH� �n�2!4-7�KJ�8�����-��=�4<f I�is���!0xJo�!�� %L�Y��]��Ir�R��>2)p�D&�ł��ƅ[x aK ㋆���/8���u�T4�G1�h���̐®�;l�Z8N� �a��&sYy'���%��;H?�&.b*Ǥ�.Z�xa�c�Mą��5ם��XӜ�L[B0z�2=��U.��3�&�\C�<͟X�Q<5>�0L��c�+��us�=��'̈rm��tY��S�D�^ � �!����*]���G���Mb��Iψ�^��<9H�|�'k�nnJ\�O����yã&T⡗B���3�/i�;�H���I�=����j�Nj./H8�]u�O��|����A�5I���\:�= ��xhm�Q�݉OM<�d����������۶_V\sWU/�7DpJ�ɧG~z�BF}���a������z������dTYǨ���V(�� �~ٶ9s��> R�LJ�������%%�.�nXk��8�a�A���9@����)t��)E�|)F�NV�D�(�e���ϩ�&����o��PO�1�y���$����B�+��[f���zӅg�0D�y��yפ 8�&cs+�8��2<���~y٠��Y��i�0�(9X[�S�*Gm��t ��3�����m���6��"�c�U��v����4��-������eaZ�=(���<8��v� ިN�ʒ�c4��C�����J�a�e(�k��}��w�ͯ��#��R!N��d�ɧ�8��(���R(Aj<�/ &gU�Z�C��~{�L{2ME��`�#��J�U`j��A���9����9tL$�I�]7^/���{�r�UX��s�Z!�-��*�,���/��LLc|>�o�Z)S�'�G�E� ���-{����B�<0�a6���9G� 5��]��<ALF�o�ב˄��S����}"�N�˹7�\b^��Il�9�F�X�]��WZ��:�Klƚ.�`�&k��gBMժ6�z�D�qx�X�m����� Dl�džZ]^� ��U�����^� R�D%�b�p�����P���$к�8|�K竺��Eapv�m+C�%�� @���ڤ��� _ {1����Uǃִ�F��v�Kّ�\U�x�1Aaӏa�����M��\�֝%���-���JB�A[�2�ݜe��v�l������~�UcO�]a뱚$�`�/H����m�%�L�����|b֬�1�l�f�����("�@�b60d��6�=�$tQ�G�D�K&pJ��/��)X�SE*�ƒ?r��3���O`��V�B}�;�N���G8�a��+�l�<�u.L�܍O�����^�ay��e�dk,����͖��?�j�^J��1TK�#�֯���ˆ��py����$[�C�}]��>���L�T��%sG�%.�m=��Zk���M�c�Y��M���?o����Y�/&�s��Z�D�S����Ux�"J�{(�x� �sDh^糪��0��b���8�.�S��������!��gBLQ�����M�z��9�t�.c��K�����ү��^~���n-�x��YO��9X���������:�h�C/E��d�Ή��R�$���]��~�R�$���FMm&s��k[1�|�$vlJd�3��82\N�������~YQ�A���}��O������[� B�2��6�P�C�� �u����W��b�c�hk�zX���w��!� �2�J�5�=� �x*U�ϰ�W�Z�,�Y�&�\H��R39.Q����{�W��^�R���$�������;��(��@�%���}�����O&;a����$x���>[��S<���]�X�F��D.I�ݺ�w��t\N�n���8yg��bF�Q���,$<;K�ƴ 2[J_��:!]C8�9k���D�B��9չ�w��a���w�,�6�D8���F.�c]�l��W���gm<�kʶ���[D�-�k8SN7HcZ���k(�H6�b�r�"hd�#������L_*K��$Q���q k�-�,h26�~В?ʁ�É��1�~<��lw��L�&9�⻮[���k�V���Q��e\?�+�����C�W��n�;e�)�K���y��k�J*���Sǁ�7KA��۰��ޚX 'R\�y`��9���f2!1{K ����<� ��h��B�A{������"(�ri5~��c�8���¤��2���*�T�)ܴr����H䳫O9���h.4N�>iY���u��/��W�w���0���iR#:����\�#z I���R/h3���W���a0���{7x�hވ�X���;ĥ�6z���- C[ح?���C�"{S��վ2I��"�9^���I�JNreW����9�J�`+R~����I��sC�(E�{��A����T���"ac���L<s���d� �����| ���QH5� hY~6&� �>� �_��=�-J��DVe�<Q���-E�U� �8y2�a�m0AP��t�"<�H���%�'~#�[r��Y�a�2�>k��@�X����~�4�P���;G��� Î&�g+�dҀ �G�kh�HP�-�"S?�7�L|�[|��I�� ���7sdm0o>�#�-���� ����%^&�����Dݎ)- �&�/)a���k�*��}Hu&��0�J��CcT�m���Zң����;ӏ���'7��uJ~� �d�łsJ�;"���G�#�bh}�ٻ���S�N�`:a -�ֆ�-Q���z�݇��o�xS@#��;�Zg��*d���>>�`�0�!���>P���F���5�8�� ZF��!�!�P�/�Gu���;��O�F�g�����+�2�s.a�+���c�9�V��&��}�M��|��(f����9�pm��Q�s�8�C�x3��jZ[?��L�ߗ5V���!�O���@�Kޕ�ʤnE0� �)�"+��M@��K�|��VC��[h�9)y����Z�)?.���2�vaa��w�9���5&Ab9��Ì�����/��.@����s��6�1Y]���{�KN�N]��㬭��S�M����m��vI�]�+�>O�|�m��2+(#�0Fx��GѴ��k�xJ��TLT�t��F���;�1��9�WeP�A��+u�Y�DlAdA*��3�}/����#v�W�;p�1�s0��h �i����2OTVʍ~5_} J��vk�ֿ;���� oc�zK�_��K� �����S|-�� |�<���0Ϯd����D+�Za��&��O1��ׂmoN@�!B�Z�H���U�&�v�Y��Q����"�l���tֶ1(� �](;)���>�ORzYPύ3��{���1��,�_�1T��p��}��,I�� �x����ֈ���Ph����L�Up���� ��e���B��<w�zy�ŸA�;��j�sζ)�H�� ����Rk����+�j��$�5l������%g,�p�$^s�8�i�a���(b��=�/�(ը��%�gu��m_�G��>G5�@h��I�U�>:gE�����e��/M�>�Ð��ގq�##����gsY����H�\o��6�b����5��8�Ϣ�R�fXۯo<���Q�>]�\A�~���;�_��a��ƺv���t�[jud?�۱�iǙ��}����r��`�:�Qs�j.�I�]4�2�}���a���گ����d�JA��t�ېK#��%>��V����F����5{�v2�!J����f˫�C��=�8[I[e(�r9�\{�N2�; ��e�/Ӧ����}b[����>���� 6c�oJ�~��ݡ�RExH��8j��֚o�D6#�h@��*Œ,�"4��FJ��h{��Q�W&RU�38c�������"�����2��!TPk�M���h��Z-=V��5�cc��5f˦v`��N@ ��Q�n\� �a�9�l&&M_��N�/:�z�|ʟ�^�"DAI��2�t�� ��D�ΒaY�a������OZ �+�D���NJ��ƌe-�ӝ�d�O��ql�](�=�P���2���|��zM���p��)5Q���YwH�p��W�s�mX�z0^�Z)'����8�0q�j� ?#E�����$`�&M�QycYG{�$~y�衫tf�|�&m�Ge9����h!��_O)��L�PO�s !���ۇ�/���d_�Źˍ!(\b�����b<�����@f.@g $�+3��"1�p�5n��D���+gƣ�����Y�6��,�'gH�e5Y���D���[W����Vˏ��g���M�G�$����,�"6�k��9�Wr�v��y����F���֗��4<�@ 3�)�7�����Y6-�É !(��S2������)}�,_Q.�l]���|X�Q�� �E�f]\�,ГZ�K70���<�L�Y�9�+��軭)~�٪��y����x)��s���C�~a�5�.h�R6}Țn�=t�+�����um��`�!�t���W��}���&��<bİB\W!�-�9Tm\�Z�NQ�C�.)T�*��[��P9�\5�Ӯg4 �V��:r$���F{.�a��ւ��/E����f�M+��ĸ�X~b������7�X�VtR�_�=��?�[Xe�>�����Q̣��p*R2k~{���v�,����/�%�<ş���`Ϥ� �2(�n�0��l�@�vb'��.����,�:}�en��5N�@�^^���R[53���<S�<9�]ZH�xJ��4?�0�a$\^"$�{4=��4,�����(��a�*�\��I�I>�K!�l�P�B0�*Uw�A��Vs�e������ܛi�A� 7.���ek�g=�N�{s�r��jk��4�*ʂ��p��g\x�����8Jc�����9���z%w�ڋz*�)^���G E(U�E��/Y�U9j�����$�%�H��� �o�T+���jr�"q1c��+��}wT��!���%�p;��RQJ=���f ��!�'/wP��R�E�$#�(�M�ݡ�+= I�ʣ�c���Fݥ➥�J�HCy�6���9��Ip�;Z��C�����7�ί���� �õ�����A�z%� ��"1��J��d�����ח�sA$ʹ��v:�#S��N�b-dJ�rt� �7\��^�),O���U�KȊ�Sj�)LۂJ/���q�qC͒ӎ��D,��d�B�v��nH��\�3@\�~a�0ɞyn�.�'Ӆ�.�,�{X}��w��l�S�Sd�R�匟WF U��J�dg�d�fz�_&ԧw�w��Y�8��<���W�p/��ԀN��P3���gBUb'��z���^Y���/(��7��993l_x)S�:dE#m�tP�����^�Ž}�ۢ�O��d��H; �-�U��Ɍ�����/��P����$F!<K�'v���` �!�QQ��h�����6 ��g�XO:0L7 ��[���ȥ��{�f0�w��c��S��E�e-7.֊~O�C?v��{��� �7��� "[||Ӡn�A$�ʹ���w�kbk�N{OE=�ͿÕ�Z��Uy�À{g1qզ��[!��U�FQ��ܴ�cBГ���ĚD��ͳ���;U�?���a2������^�/��/��p���o*f5 ��f|BN��e��y �ȃ�T�n��VP�}�A!,�<��i���`���ȇ~�J��> ��8�G�~TK~7}��O��L�x��3cO:ק��>߷=^��f�V]�x}�?ś�&�h�a�X�P&�ȶ~��)�"8(�U�sά�й-���͐�$�O?��(��5�x��;�)E��\0L����o�\88F�4�nĩ�<O�n�j�^���.�Y``�~� ��Q��Jv9�ä7��g/J0�7��l�sc�^s���hX,UB�c�.W�$��ŘY��s���)�cݶA��s�K���0�u�Z�'}�ݝ�g����:@Y�����<j� �a s��1(!��L�~ �U�\��莋�&J�ك�p��&{�G��� ��W��\D�{>H-����9Z�٦-��:�� �%��g \�4mL�"=B%y�5�f�9g����q��PY��P��Bj�O N)�������ER���_r�z0�S���w����@���xҮ���Տ��뎼]ڔ�0�"��0<��L�,&�!�bpnF���FNR�d�ytĻw���jVE�Ѡ��S��x[��8pP��Bی-�4c8\�i�}��±��GA5�N�Qq�ǿ�e]�V��Ѓ�[Q�]��R�CP�+,!U�z||�U���|�~�M ��]|3�m(���(uf?�Z�ٰa�@����nR�=$����9��N��p w��3~q�Y?�D.�Y�a�4J��SHԱ��O��B�||X.~Uȣ~"�}M�g�B̫P��*O���;�����*�v=�f⥟�_�h2fe��/Ѹ.��c?�Q\W�y/��U��ߘVʨ�H��~��и2�#�M�M��p���P� ���[��b̅ zq~x��U��XNY�i�[�Q�o�� )u�c�M[���)W�B��K�����]�^o�Сt�o�KR�q8���&2���WB��U��%5�+�����9On����/�R�D1�6/aaݟ��l9�V�!b����ˋ�_r&��y'h�ITY\f�A�!f/4�a��>�X�m/�y�A�|�9�6�e��t.h���(�4sW�c��i����bHr���R���15u�>;��03ԅ����)x��j�pdBm�5�l��s�U�cՆ�O��*B�{�w&�@4��D�/���c\Ün��SI�Ț �Y N^���\�;���y�5^B�~�����8�F���M1>�*�;���)�庽��V��$*���;��pNk��g��!:Ѧ� �K��R�ҡh�Ep�cM��YWc�B���kC����t�x���a�������Eb<},X�����#��>�;_�%��w�=���t��F ��P�a���|�ٚ�����Z�C����I���_Rg �� ��[�#Y3���J�Gj�g4�ɧ�8s]VOA{�%�J�s�Lr��G�&���t,����C�0�_��r"e3r�Q}����F�M�b��,��#U)��.T)%�&Z���3��s�h,�/�7wkbP�{O "����t����K�i���2�|�A�����}u�C���6�/.�F���.s4R#qᰁmuA���M��V���vu�>t�8���S'�1ݵ���in�*pP/�a�[0}�\�-~q���ے$��v�:���gz�xt.wc��EI����T97w�۰�ߵ\/rQc��N�J�R�/_Ô��2���R7�E�+�X�JkNIW�=���?ݚ̺�rA&:n��&nM`Tk�a�>��!�} �/h8��]�hz>� ?7oש���8IK��a�!�l�&ߞqC2b]�>�}��~dք���-�C�6�E�aAܳ�i�6�}�+�!lɻ�8(���&,��Z�9�R�k�D�Q���(ű"�<�5Z�!����~����R[3Qǯ:rj�f�IQBD/Gv�(�;�&���S `�`m�;�;��g���w�ڍJ�� ��`/T�2= Tc�Y/���'۠�ks��Ϛ�����-�.�c�a���-�?CWƫS<���8w`�ͺ�9�;\nD�I��k�t���L��K���&-���ȯ��n@y�a,`L�2�+�T-�m��N]3j��{�0�7ҧ�Ĵ��OD3*:��uU���ǚ�I����(>�-��0��T����B���i�Ζ�84��Ȕ7�9a>����B�h���;��5<Q��r��4����dS�<{��dz�� ���{��hw,�|F*�o���?)j��y�d۲�8 �D���bGB�Y֞ef?�>�IӾ�,D��K,t?��j�0�g¸�8�+��r�b�=D@Q,��h�3m(IyE�d�S�0״]�~�v��;�h�_r�\��Q��X�z@p#\�j>p��I��T��\���8$S��Ub4���3c�@=��f���M#����Τ���x�NfRa��k��{�p�a���6���.�����4�� 6�#� w ����k��}�DFܻt1f��#�P�6i��F�(���w}�Z���gF��p��Rg�U�I�5�lŁ78Y��yKc!��f!��s��wZ��A����z�������0l��]ޣv�I�ݢHEʷ.��Ө�r���E@��(��&�������<z˨��?�>��?�;pօd�z3�4��3Ɩ��ѐ�t���yKM��8���^�Tr(+�&UpY ���':��?|{��� �&-wT�c b��u��9�}CTd��f����i�o�;�)�����Rr��[9�ۧ��7ܼ¾��{�7�y�v(qa��k��Q�eD��%�]3�0���[�d���7��b)�C~*ŁVY��zw����E���X��0b� fC]RY�lJ$�3v��D�4�7�z�ev�zٙ�W��kY(z0�_jѩ�z��}[ �!0Hx+H��đ��r��)��%ϽbU�V� �v!����j;E���p���e��C�3a�x�f6�S$3�H`V�2�D�qo٩�&��c����|�����ss�&���.qOMQ���=��G&���Y�3��נZ�-�N���|�[s΄�i�^�?�1\�� Ty�ߚx�n��[�V�xr�gd�Lf��x��e��m[[�-)94!T>k�5�;$'����/�k�fYkq�':��K�1��� ���X�؟�/�L6^]�E` *`�m�6�+��i���w��� ��X��9p(7�2]�_����A�3 >o�{�uԄ&́�i� 0�Y������c�X�H����o�l��@�'���h�f��Lq*�B�PϦ˯�� X�)4�����I�283���T,eG��wݐ"�7+����].�~k�Y�k�R�'ת��0���++�g1�n��8�ǙRn�.�xF�B ң�+㵄��%�Ӗ��i�P�['��CT1�y�J;-!Y�9�)4X�x�cfB����3�9C����R�3%n���ka;�X�h��Ӱ@�Wf��:���F١���Gci�;�O�n�W���U�̿���F�8�oQ�Y�6P/ïLV�'��|C|�z����a��� ���{�4O��B<�9�f5�6�3���xye�;��p�<m�j�N_�\���_˱�كY�͙��~�L�CdY1SS���mN�S-/�>Aq!�� �o�z��+V��- ~�9gԖ��1k~~� :�"�(���a��\�A�0���`1&гPG���Ӏ�+�� �Y�~��fн]������ܐ�z�8kh���n`�S�b$ː�K{ͳ ��F!��ҒU�ҢW"���e���"����x]�{� �E͏��;ű0EQ���nFO�q��w�lq54#�ߙ�T�� r��y���z]0�'�n#����kUv6�1�*L"��l��N������).��z�-܉`I�ݝ���6�.+��!��iX1�lArį�2�M�I2��z}�=x*��`N'��4s�W��z�~`tl\J���N���y]aEㄜc�!h��$��R�(FR���|`���h�����[s2Oj0��S���C��X�'�M��!�UC+�L&���ƪ�X�p����f���n\lP�w��?_��t�B� �!Q��3ÜF�"i酹<`��c@�G�o)���y%����6zj�R�$(Q1Z p���Q�� };�M�GN�z�ʉ1��n�L1��S����M)���d�� ���@���U;�u@�'���*}��\ �0ĒN�5�Sv����[���+��Q!}����y,qЛs��ftV��� ��*�?# .�Tㅹ��k5M�}#��% ���7H��b��l���dzMˈ���m*c�h ���IK�1�� |��^���~�݈�p���L?'���n��R�����I�?]8�)�w͜7�e�l�~���]U�b��%m���P1�J�4#�A<�u�K,��ۈ�Fq�>_�3�_R��D���"U��Ȋ��:[��/�v� vj����� V�� û��!��C�x���_졠�w�"��F��� o��V%d���[�^ ��Y�4M��j�F���O)\�B�}���/o�Dp�b�+Z�S5�lncZ5�1�ڈ���+<��m��z����I��1����}Z�e$��4yP.�ن � zhdX/4y�4\�zg��%Z�(V}�m?a��pn�. 0�Bӂ-�-<��X�-�p��-sy���P��� ����I}X�rݏ�6���2��=m|�?�*�r�f(;k����D5��F��d砙�7�~���������Z#o�� ʝd�}w�y���<s�ou�*�ÅE�j�c㟚�C:�P7�t�A�C��9� R:�3���4?ŖL�F|���.��L���#J��ʠ�į@���ȇ6�_��պ9d�.���]Y�����%��v�c�b]����A��4pO����[�)y�_��3(��J���`���6�I�0Lkyz�I��@��vz�շ}4���lW1�/6��J��isvt]-�͵�&&�aǃصI�cߒ}�=��ǿ]�f��ڕ���D���E,$�dh*�z���,m:�c��b�g,ψ��c\����)S�6._�̴=H�p�����h#����tO��s0��� � 垔��0�#T�eQmny�c����g0�g���� b�L5:��2Rk�8������Ul�K������ ��o�IL������D;��W;�K?z�v�.��fQI���+� �f�R�oG�r�0T�-`@_{�3�B>�e��rU�u.�&�ʥ6�� �YV��߯�ĴRmm!+I��꠵X��/���x����h~$�C�� ��p}��k~�.c��6(%�iC�E<���l2vrӈ�yċl���9g��-`�R��$�g]1�_)�\9_����X>9=[H��LCfF��akW�QWe�4�kVQf[��6�3�>h >�OEO�%ǃ��{� KE�J�H�W-�f���U�߃�hK�kJ-��%�2_)i K��8��@��I�kۏ�_�CyecMy��,�9��D��u�L��%~Q��㈧�&sO�K)�i����ۢ��a��H�����MɝO�=��������ipqt�|0�_䢳V��$���">0��J�w�P�u�6\֡�ȶv�*�~婣X<�^w�Tj�x���y\S��jH��l�Yï��'�����K��p��$��f��_� �v�^�`��C�焺Yh°c�,���J�l��0�=���G��Md�~C�Q"�Gq��K�z�~Jt)lC-=��EE#_���r�� H�'��� ��?&�ڛ��3?��դ�q��Nw)��&���.���K�=ځ�! �qB�' f]��c��P(z��xU�|2i�1�ɠ�}ob���ײ��j#�!*)48����*�{�*-f�; �ø�n=9}m��g���T|l�pD���C�3|pDg��+�-K�(N:�Y�}0�[<g)�^#�Q= �k�g�S��Ϳ�� ��v�y��O��t-"���bl})� EY_���D�Q�yj���'�5"�t�>�*Z��&�1|5j�/i��?��ߒ鉕�l�J���.����4+��B�7��y���Ւ)�-�hQ��~�z!$��\.���Vz�p2�mc��;��<z˝�?94o�� �_��ht�GN6�^yNY��?��k���r��_�g� �?��!��_�F�[����ӂz���B�Y�BiQ/�H�X�v��,v~�Cj%�^�?�F�>�/uu�h�hV�Qa�yF� ��#T�7��|�� � �h��G����j��t��ֹ Q��wF�j��(��&r�E����KNߎm�[�i5����V�I�|��K����|c����1Sp�wϿ��ն+�)�S�5.P��� �B@�� ���,;��fm�&p#F��#�cLO>&��KD����j @X� ^q�_M?�uW<C�O�Ƣ+��.��L2����kfg+���+Gϱ*��c���g�\*pѯ0����g�3��B-�W]V5����5���q��S���B���u�hђ) � X ����N���$ �� 4�H��k�p�|�����u��҄���0��Я`���t�՝�� ����+��� �,���l,�S�;�Z8��ge�&��r��"��A4�M ���n{�ВT���(y0lXb��>�T�@ʶܔ���c�ޑh[����������9�S�� ��?� P|�����p�GH�_ˮ:�W!{�/�-P+��5�(��D(rɯFF� �Ӕ75@�0c�����j�¡n��H���_����\85Eȝ[�iF�� �YIb�Q��G�����E���K�Ԗl��R���?s5¡��>px~_ޥt����h�^SqgsJ\�aCrsم������0���o�~�M�{�EL�7���~�=�D�|�M�S��bȘy�[��} ��G��vC!�M��&���<d���K��m�~Zh�<� �_�';ȼ!�&ejO������EK÷��A�Bf�?3=��Z�X����3Q��U�;x�Y�1ԒT��/�Dׅ�*�����e� /h7�X�E���>�P�D��N m�)��%��"�Ѹi�:�[�?xE��h�OZ7�3�fv���� FM^��G-�'.㞲!�@��vwCV���Rȯ#���R����G� ��r`-%�L���<�v|�[`�������eo6k�� ��5����$�e�6J���k�v��-�T`�����_hVu6��Ω��xTu(��4h��P�?'hx+O)]g'�v�ܱ�R�B�,�y��{G|�]����U���A��.郅�A��9�Wx�HX�����ŷ�v��{᠈[>�'�m��4x�1��C�33����G�0���g�p�6s^���V���ox�amY4�[��2Ձx�颥���7��n�r���j�Ëh�kze=�p:��'<�U�^oM�����mF�>yѝ��[��74S���L� �':H�N)����k�B���ώ��M�|�]�\�k��U<�#��.����� y �2�\���}�ؙ�f/�����!���cU�c �>�""��B���>����/C� XO����[mZR!s���S�U��A;��H}�![����R��i��Ag�Oq͗" N{�-�c�s)>�Ӱ�I�i�qILO��e�8o��#���$�#�!�pCXJ�l�����&�T��P�u�f���;�[�p���=O|�zvK���Z��u���:��E� xu3�e1�d\O�Xm�sRԵ~�M(���hyP����р�N��L'�L�k��W/��!�$4���w���)f4a@���+�8��[i]_i# ��\������wxI�8hcdu��(6n���o%ơï����E�U��="w�-?��x�jK�t�̍�r3r� ���d:#-�dX�f�+�TMs� tmP�,_��dョI �K�a~I�<s1���짋���Bk�۞�C5�8 n:�b�$����g�0h\tR �h��v'���`���O$8T�bftԒ��Bז�?&eH�P6�\�~�ĸV�\]�Z��>��+%�.?�i��!"��y9���k�Th���4��R���D�K�4��� �i�GӍ���� �|��(%iA_�u@1�� n��yd�*�g��ԙ�kr�b��:Jx����M y��Dǘc>WF�^ [�|���h�ڈ�Z��J��78�ۅ/,�� =�DN�59��Δ%>b�[��-�߆��j�'�+B�J�M���-L�x��/pD>���s!��+�+��J��7�e��o�cr�}, +�lͱ���y�DZ�WE)�~��@e�32���/⌵�u�K�;To�q�k"c���1��&PBq���`T�~t �=-�Jǔ�EC �6Y0��tk�@��7<���>����B�Nq���Q��7X�脄�t/t��|s�Ql�������Fr�h�P)e1�Ք�z����d�'\�o�M��ӌ#���J_͜���$��~��M����x�vA�%gDaO�"��'S[�r�&QX��`�oZZ��^�4�^���)as��囩JL�A[C�l:�)��ǩf������'��|F������t�9#O�àf5qnF����1�6�b@���`��F>���jI���'b)C}�u��4�TN���df��cww��ث�|F}oy�켇F7�z�G��]9,4��X�������'n?n�;£��!�SY�&T:��}8�b+XԖ���vQ�O+;�x�#�,�#ߍ/j�����;q��=||�U�֪��~=�4�9ta�$�k��{&M��Ԉ�7X��1q�?i����dʸ[��7W�>Ӻ�&,4�.e�g���%�,���X�^�����cB��o���d�����Zn���2�U_����;i��`�Pߪ�pN���ssG�#�L�c�|Hʑv��.�c"ҜO�!�?*��+�� ���� +����.4�1�$��*�9OM`��B7�j79?4��1�uX�b�n�`1�;pS�a̓��V�U�I�hԙ���nEL�+�4n�k�`�?��}�d�r��G4i���/�R��Y~=Q>�k��d�t't��o�%&_҈�������B�G�Y�v��O��*�s3��?����.�����@�Iɂ� k���$�����|c��Q�'���mmȊ��UI�b\-5:�� ^=�~���]�wq��6���Ӫ��秲~�~�X�lbuvg�m�3}�_��������闈�mtm�����B�4%������c�_�_������10���c9o0%ŧѽ��f۳����~H�5�%�.���T�!����D�������<�S���P���FG�Q��k �&�EV��`G��Z?�ī�Q:m.x�}�dvWS ���i�O#�\���a>��� �/�Z����r�y��3���n�ِ�/�4�g�Ε���Xҳ�4O���7d�R@)s���7��'c�,Ru�`]����Q���ؘho��Kj�v�~P�+���Z7yR�>��#˃.����dmfY],(�u��1��g�����{��m18��g3哺Dqء���U��k�K����T�m��+�����'one�/G�%���$t���dc�C�M�v�^���I�Q%k�i[��K�D:�U `�I�� �f��7�5 `4k�ݘw��!�A� ���9�.Z��YX���/ ��ya���`⾇��l2�"Z3��4��о�Kh�5c]���Tl�>_�͵ z32�J=w^CDm��!���r!��K�r��5�1C�k��?f E9���0 ��[I2�~z�F�22o��W�Û/�)6��+{��g�u�u�_{ �m.��槀���)�x�2nx ���N^��ꃂ<��5�����<r�Y��}'*� �M-s��v�GS�b�@��*� W���1vXj ��],,-�v��F��*�vƾ'�yhLf��b��[��W�1(@'�G*�"���T�e[w0����0�/0z �Lg�(����,���z�2�T���S�FKz�!�9 mL��y�����߅N7&��;�;�[`q��,��� H��5G�c̸�S�u��&�ϮJs¿��!d�Y&l�M�P����'@�mAP���%҃����`�oJ�9TZ ���0�A���R�]��ќ�q.A�1����ˬ�M j����D����� .~��M�^Rk����k�s�'F���4��im -��Z���[R-����x��<l��J�E��R��f�WF4���q�@r�ɕr{n��T 4Q���JW��/-�9�����/q--Z�v����Lj]L2#cc�0?����k�6G�9d�����m)~������1tP���)AeǞI}��:���Kɚ��;@|:��[4-� <ZԷ���{y���$w�j`|%[���7���"$ˊ2��$��h._h�"�Q�4�9#�p҈�I�o�,D1x���r_3Pi�����һh�Q�R���l� �#�}��J9��s�z��88�³y��S!e����P5��J��` ԎȀ� P��FYgnW�Q�,���̓%a��������3g��B�¼ �uT���*�Y�}U��V1����t+��/Tb��5�F�^ @����ݴA 3.XUכK��n��4��y�j���I6?�b���^elrØ�ъuײ�0�� #�D�4�>L\�+۷� �p8w��Z��d�(㽾Ƭ<��}m�4���p{���lx�W���sg�,W9ĝ n�;�F0�о)^���&��+ܔrXnU�=�Sx��ڹ] �����r8�~���O�M[� ��S�����_A���w��~�Z�3D���ު �Xbԉ���Uk��A��[x���@ܰ�Zs�Ǧ���TJ�ܭ���H֘��&}���ڮh�GtgQJ��:�}���^|x�MEoL\u �i���gy���8��" ���^�O�!�Lq��`j��4'^/��f}ָs���/)r;��i��FE,s�AE��A��TVM�;m3#9��,�9{���T����L� �c3W�)+=R�b :a���ȸ�Ж��:�!G,�3���$33�)�)A+�t�Ҷ�X��-�n_�F�������LT/S9� 2E��&�d����wö�V��DrO�s$W�1R��y�>;l���Oj`I�)|.�qC`�*u�^�r�i�oC�=JS"L�T�$sep�������+��^Ԕ\m��i�B�0lZsg|d�7~\H��K<ј=E�P���d������r�V��6��p�ؾ�c����7&�P��@ݙ�=��JsNU�z"_p%�$Je_�νXI�R�(> ������M�T"N��g���o��^{���@�ȖU����6��E��"FOط� }�otT�Z�G�Eس|��Duq�Di=Q��S��U^��6[���*zq��w�\q�&}��A7� B#/���K�p�م��/�x�k��- 3�:7Wi�'粪��C-��=t�AU^*���V���(�Ƹ�Of%U�o�3�0���~[��1f���Lj!����.ѣ*-��h@� ��R�O���c�Qz���������0 �K�T���T�6���w}ƯT�\Ea��2�A���wRI��?a6���KL���0��T5��h�o�U��m/+7R�1�S>e0�25�}�L�bBY�)#O!u[��M�B?�{l{�}���J���)m�[�e�О��W����t����Z���3qQz���n虡2��7�j�2C��������-�������Da��?��i��v�F�@����ה��j��DH�/�& ���n�w�/�G��r��âgO�<��AWWB)�3|Mx����U��:����ǯ��01 1����欣�z��8�]�7���7/�q�7̧�?�ƒ�s�?�Q��^V�ĉ�0USh�)����q�u�+��%�Aj4�U<hګ�;�3��I�`F;�9pD��Zo�~�'([ �_�e��Au�� 8(�;[0)@��S�q��Vٙ>�:f�m4�hr�<;�y~�?�]j/N���������Z�4���A�&�E��&_/��J�5��U��L�P�I�,xER�;:s���*ߦ5 ���yw|2 ��ҎJt$�n�kx:��As(1��V|�ߨD��?�^�Z�O��,�wk�_t�F��.�)8 &�:�lmâ��[Z��8�sR>�5%��2-;K�t�go}��)�Ӎ��N�ؽ�K'Q��ٔ�-w��h6�d�b7T�jC�Jf��}���}��|E?8�LaW�݃к�"4(9�*�C�t��[2x4B��.G!��zK�p��gӈߣP��Ѝ0���A٩_���}aB#+��hm�ז�Ċ�z#;9Y�N�5�t���jEM���0ne㢳7���y�;��E��B]�J3��wn��M�m�l&��ĸ>����(��o��E�o|M��Y7�Y}:�P_��>/oOM}�IÌ5�7{�J]���u��J��Ȁo�9�Yש��ȤMI̓0Z�:\�P�u�'�)�\b�� hR��CFb<9�c�D��HՃ� �ktw�H�O�� ©���a��{Z��K�,W�$�Y��J��i����U�6��0�J�w�f��)�l'~)?a�}{�E�}ٓ7T�5M��g�� �Pc�y�E�Ҕ*�~yѺc�8�F�q�-��B��ҧԃ�ږK��7��{��O;���P����ZƁk�E:�"��Ui�W˰��6Ǫ%��!�-�f�ߖ�9^d~��G�+ � �c`�V�+8/ߞ�*�=&�-��`�gݛRK�O�`��M�$;Y�dt��}:r��Fܙ�[A4L��k(�F�#j���F��\� ��*e��B�Iu�c1�-��H9˂SQ��U���Y�ž���ْ�ݽ�i�4�����0D�� �oyX�r���pj��Vuh3� ���.[�$~�#X�q�� ��N��cO?�uvJcu�y��.RD�-��ڜ#�8�:Ŕ�ߞ�[�k!���u�u�D '�<�5#ph�^�8��IPD�o3L�\�8���˙/��|p�]���*Nv�=�? չcMO�c�;]�� mm��)�n6y3�[�-�:@B�.�AP��R[�1Z ɓ�T����ِ�Yr�M}��$E`��1�Q�4�qtG���Z�5���g��עE�_�����1��R������[��^=^�9�'��D�%0��f>��]��E*�,�:0x�Í�_�Z��Y5�Q�߾���"rԠ;�D�.�ѸT���|d���G�)Z4�����@�1-��ā�8�%IA�/q�Cs�|��lT(�c�w�L�5�1��cD�[�W�h��ȼL�u~����4��wE�Z����e+�(XU�i� ȞV�Ӽp���1�2K��6Q��w�f��ⲛ2���߿���N��L���A%��"Y��yg�S�V`�o�ֳ���B���H��i�%r�t����%u�\ (��`Ȍ�UK�:�.�(e?�#�Wα><�N���8Y�#�} ץ��R^�ҵS����:rUݶ����ˬ�S+u���H{�����B�����Y�P��<������#�2��(9��vA�qY�7�������tXh;��_�U�:��}Y�8484l���<��q���P����u��m b]B>r`��e3/�@�Ѐ.��4ȃ-��gP?���{Di���P��[ͤ!�����6A�.v���#��"U;_ڬ�"Je��Bm���0�] ��T})D4o WniX����IN%��,A���MI����@�^z��+T(Uwf�q6�cpȟM�]Q�RW�z��R�pȨ`��Z!��p��u�SE��R�XH�{����_�qB�vc��t��Nyk= /�����2`Z:r?��c�3E�:j4^�I�q�'���2/�_�v!�����|jɂ���Q.��V�sR�XeU�?�t��i����r�H�1t�V�A�/8��ƱG2��DR(>=������v�������u�F��$�u�^�#��%D<A��뱃�K�I|M�^��+�_xє�����1 q{��H�P��<3�xa����)���z�d'�99�J��h������uΈb��m�`7P���֓g�T�G�̶�5�^�N>fP�Yf����iN�N�U"W4&%�ȴ�3Y/�\o�OF�n��kJ�� �T�<�,j���ev�z�Z���X���=�R���}�"�&8Rk0d`0��� ���5V�E�A�2�K��� �ޥEN'N ��xc�é�����Ew���Я�+d? o12:#��[)�̰BUy5��ew�D=���R8E�>������3?+$3����3$�ܪ��x�Nrj�������@����f�7�.M|��S1!��� �l%��~Z��F��[�U8L稼���^["fh��p HK3Uxf܇�T�br�S@zȑ�m�\��I&���^b�鸜�:m"�w�ѾUuJ-Ⱥs(�Z���N�<�Q��K5V�;����jEN_;r�z��ێ�+S�,��%�Z�ܲ ��\8�P�Xq�pu�Sv�h�5�k�p�E)<%�xu��R�}t���f�s�هe�����R�%��2��Nd�i� 9ֿ1��S�hpG屻����j� �q!<WM�kQ�$�}��/aq�#nJ:IÃ�[� �'���RE�&}�j^�[^���5� ���`ӕ0�O���P��i��a<] BƁ�����n��.���Z��1�Rd�g��{��j��$�ލ��Y8S�����+"D�p-����'�H,ӈ�`��U�5�fB�ӳҥ�[��q���"i��8��b;���"S_�}��!^��� �XY�@I�7W� :����Or��`=&�+1%�A���)ХKzӲ��R�����rG����n�H��y���?.c����0��1��c�^�I�f==l�+�$�y��I�s� �B���j��%x���<��%F�GKwJ@�����%���e �ź�Ў�sSS%A�.'_eW��V:ƀ?�x7��Ј�|�Uۯ9h='+���-�;3�UeV�k�x�j�I\u��0RE��a��kN�P�w�� �D]�6c��h���dl;�R<pc�˺4�.D��������������7b���r>�����:=v�(�%i�t����V��A���Uw�.X}�ӛJ�n\d� ��X��� '�5)b��C�cJV�J�����!K�G�"�N����M~t�ʪ��Vպ��q��'1͙3�� ��.�5(�e-V���u��z�h�weڥ#�z�!@�n[D4Uf��iZj\��-R��o�!�O�~ęTk�OȌv�oϝ> �U��`�o��&R �wA�8P�m�K�u�K������+�jܟ����i��c�z���|�)����kj:ǿKB��i���lO��%�4&O�+��-�ds�ˀ���-��8}b8�0 x�Š��V��2�l`䶵�uw���[m����X����"�ah�*Wo��h� �DK~���.�*��P�����n;�qh�1ej+R^�}#�9���Nx.-{�EӞ�T/����~�~y�M����ҕm�ԍ9�Nx��r�TT�kb�'�s�ԡf=����m��Z`�g��k$�1��8�����^����Tn+���D@��w�����!4����a��a��2JJ��V!(��#{��xJ Pڪ[}�'Tu�y���b'ج��a��~�� o>3>J�/ e���x!�!�շ�P��#�iCnQJ�X��zq��� OIn�U��)5{����rkl;�8�Q��������:{�0�y36��'Tŀ��?�|��J��`�!��"/�>�>�e��Y���7�S����S�B��/4�l����l ��6"2:wjp��3]�=L�� n� � ��L�'q�7��Y>�jD[�>� ��k�Ҵ��v�uS����v�TS���Bc��{47(%�,�K�k�Ƭ�mǻ_\�N_fJx� {&�\��f&�u�y˳��?�)��rg��1"r�O��r �P��.'�Q_�K�1�K(J��/���H�)�êg������(c��-��:Y�UM.CA�Ii�|�D���@�oj����l��F�i���n4�n��\c><Kb���)�����4�B��z;s��8����R$�>��b��3���K^+����z[����?�2��p�ْp�\t8�#T\%G�W.t^�e����(~��]9��\��&B��z�OɎ�>�Ywdh�E�pcօ�M�IU�$�V����}_a<s�4��Z5' qyE�CF\�ey>vĚP�*i:�zZ��lT�K�c���$��w���2@�Mʅ���{���)��AXa!)��x�G�ň�)+��1kT$���&A��m�I�Ht��S4x�a�LD�a�N�V��c����*��x��s��ad�ļuhvV�5�?]ry\6t����I& ��� &�uM�DC*W!w7�p�8� 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark �PK�x�\�&�[����fonts/iconkit.ttfnu�[��� �PFFTM|`fD��GDEFAߨ OS/2WU\=XVcmap2�>`�rgasp��ߠglyf[�)`ƐheadC��6hhea��$hmtx�L��loca5B: 4*maxpe 8 name-���post|��x(�@_<��a��a������\��� @��������3 PfEd@x�*���\��U�,***U*UUU��**������***�/*U�****�UU����*�*****����**U�U*UU*�**�**�*UU*U****U*'UUUU**UUUUUU*�U�U*�**U�U***�/*******�U*�**c*U***UU*�U����U�*�U******UUUU*�*�U*�*UUUU�U���***UU*****��**U�***UUU**�*UlPx�*��x����� !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstu�vwxyz{|}~������������������������������������������������������������������������������������������������������������������������������� ��"X��X��<r����.d��"~�:�R�� 6 n � N � �:�&z & L r � �X����T�zp2��6v��6v���V�z�<��4��P�V�x�V��\� $ l!F!�""z"�#:#z#�$J$�%,%�%�&0&�''r'�((V(�(�)X**Z*�+ +"+h+�,,N,�-:-f-�-�.&.x.�//�0�1f2*2�3�4R4�4�5$5x5�5�6F6�77�88�8�9<9�: :v:�;0;�<&<~<�>$>^>�??F?�@.@r@�@�A^A�B^C CLC�DHD�D�E\E�F$FnF�GRG�G�HH`H�IBI�JJhJ�KK~K�L,L�M0M�M�N NrN�OO�P(P�QQFQ�Q�RDR�R�S6S�S�T"TNT�T�UDU�V&VpW$W�XXXX�Y YLY�Y�Z>Z�Z�[$[\[�[�\R\�]]~]�^ ^^^�__�_�``<`�`�a,a�a�bb�cH,���0:R^+"!54&54.+!#&+'!+"'".="3264&;26'.'&'54>;2S%� '��J�# -�I," w �%CQP@$ ���)'L) a�4::% �� �?|$ #w�&�*���V (4!7'!'!2#!"/&54?6&264&"26=4&"��>���b �� �� �� �+$$$$����>�U� �� �� b ���##+��*���V)*2".4>2%2>54& 326=4&"&264&"_��~JJ~���~JJ~��h�g���g�h+$$++$$UJ~���~JJ~���~g�h���h�g+����##*���+!&"#";1267273264&+1"� > w�� X� > w�� X ��$ �zb$ �����/#$,8>2!.5473!2654'."&264&"26=4&"�@<@iJ5�-4JJ���$+$$$$�$$��#4KK4#+ [ ��##+��UU�� %1!1"31!264&7!"3!264&!"3!264&!"3!264&�n����##�$$��##�$$*���++.>7#"&5463!2+";2654&#!";264&3!"&54762�*�**5KK5�V5KK5*z�[�V � ( � ���U#K5�5KK5�U5K#�V�UU�� %1!1"31!264&'!"3!264&!"3!264&!"3!264&�����##�$$��##�$$UU�� %1!1"31!264&7!"3!264&!"3!264&!"3!264&��U������U##�$$��##�$$UU�� %1!1"31!264&'!"3!264&!"3!264&!"3!264&���U����U##�$$��##�$$�U,� 327654&#"4&"3!264&#!� �=$��������$�U+� 32654'&#""3!2654&"����$b��=$���*���V*6>%>7#"&46;2".546;2+4621"&46312&264&"+~�S�J~���~J�S�~$+GddGGddjF22F2�~$_�~JJ~�_$~�)���d�dd�dU2G22G*���V"(18ALUZ.'.=4767>32#"'"/7!>7'"1'#3?654'#3'4/7217%!.�p�,Y:�aq�-&4%:�a_��%�B_C�,_=n{J�JJ�JWm(�>���>m\_=nC�,j_X%�R �g$m'�{Mn�iXa?�3NmX�8` N4�k������PZB>j�j�!c%B;�k�O3��8`T�� !"3!264&%654&#"32654/U�V��b � ��$$� �$� ��U�� !264&#!"32764'&#"���V� ��U$$�$���+ 2654&"&#"27654&#"�$$� $��V��b � ��U+� %&#"32654264&#!"265����$���$��U�U,� %654&#"32%2654&#!"3! ��$��Ub ���$�+ %4&"2632654'&"32?+$$��$��+��V� �����V�.6.54>2#"/#"&545762'+1".264&"18N[���[N81��1P � � JJԖ�Ԗ*�F\�[[�\F�*��ssl.�RR� G�Ԗ��*���+(,=3'32+"&5463'32+1"&5463#'312+"&546+U�����V�����UU+���V�V���+�U��+��U��U*���V=E26=4."3267632#".4>21#"&'#"&462264&"�2G2g�бgg�h6�*4�B_�~JJ~���~JdF%Q](X}}�}��jKKjK�+#22#+h�gg�бg.! (8J~���~JJ~�_+Fd**}�}}X�KjKKj*���+(,=3'32+1"&5463'32+"&5463#'312+"&546�V����U�����UU+���V�V���+�U��+��U��U��U�7Ce7#"&546;264&+";264&32+";2654&+"54&"263267654#7654&#"313�U��5KK5U�U��5KK5U�##�] �� ���V$K5��5K$���$K5V5K$�VV� � � ���?Wg>32126=14.#"3251467654&#"1#"3!264&#!6".#"267654&#" 32654'&#"�Ij�#[�]%b x2#�* A=A ��� �U� �j��\�[�R�E \"�#2*+#(� %% �U � U�$03!2654&#!"5463!21#!"&5154&"26UV��UK5V4KK4��5K##*��T5KL5��5KL5T�VV�}'%7''%&54632&546#"&547+������ ��55��+ 4��R���e �+ # ��� # �+ 3�/���V &>54&"!.5!"&63126=4>232".#"267654&#"�Ԗ. ���$2[���[2$�d @>@ +�j��j�.(2�+*2$�]�[[�]�$2*+b %% ���V#2#!1"&5463!1"631!"3!U��=XX=��&!��&&U��W>�>W��+&�U&4&*���+(,7B546;2321!"&=1463#";!3326514&#%!54&+1"+K5�5K�5JJ5�T5JJ5���UU��*��+5KK5+K5�V4KK5�5KU�V���U+���2<] #"/!"&546;'&54632#"&5467'#"3!/326313122654&+'.#1!";�I I�5JJ5� t�T"X} ro��<�J50o �#K5�H ���� IK5�5K� ���] }X"Tr�+�<�05K��r�5Km#U���V",I!546232#!"&5146;514621!3!2651"&515#"!514&+"&=�#V5KK5��5KK5V#�VV�+#V�V#++K5��4KK4V5K+����++��++���V+%%4&#!"762#"&51463!21#"'%�V���K5�5K��SX����v�5KK5�U�*���v '-"'%.541467%62-&" %>5%9U))��<��))U<K�� ����= �U��h�C!�i C� �C �!C��d���E��_� ����z��+7?G#1#"3!2654&+1"&/#2#!"&546;7>31!12"&462264&"N �� I��5KK5�5KK5�I I��}}�}��jKKjKh�*�m*K5�*5KK5�5Kmm��}�}}�(KjKKj*��V,A".4>3232654&'.#"2>=4&"%&#"27654&#"�g�бgg�h"[ &p)_�~JJ~���~J#��$� �I�(h�gg�ѰgK~���~JJ~�_(!� � �IU��&#"27654&#"� �$� �Is � � �I*���,8&#"27654&#"%#!"&5463!264&#!"3!2654&"s� #� �HV����+5KK5U5K#�� � �I��V$K5��5KK5+*���-STb7326545.'&#"7326545.'&#"75463!2#!"3!2654&#!"1265#126594&"M.N uEp� l�\/��5KK5�V5K#+*##� N.Eu��p\�l �U�#K55KK5U���,,&#"27654&#"$ �� �UU��654&#"32654/� � �b �$��UU��%32764'&#"b ��$���++%32654'&"32?��$��� ���U�)&#"2?654&#"&#"2?654&#"I �$� �� �$� �s � � ��� � ���+�)%32?64/&#"32?64/&#" � � ��� ��� �$� �� �$� �U�)32654/&"32?32654/&"327� �$� �� �$� � � � ��շ� ���,�)654&#"32654/%654&#"32654/� � � �� � ��7 �$� �� �$� �*���V".4>2%2>54& 3_��~JJ~���~JJ~��h�g���g�hUJ~���~JJ~���~g�h���h�g����V08463!232#!"&5463#"3!2654&+#!"&5711!151+2##2+5KK5�5KK5+++2#�#2U#21$K5��5KK5U5KU��U$22$UUU*���V(4IW"'.54767>392#"'7#"&'>54'#'765654&"326>3!.#9"�t�mY:�a��2&J~�_-_ 6n���b�`�*!IKjK@?��`s:?/�UJ�0S ��v�{Mn�vXa_�~J[�C/ !d$��k�bB>9G>4,!5KK5$"X�5LGdO7*���V/".4>2%2>54& 34&"32654/_��~JJ~���~JJ~��h�g���g�h+$ �sUJ~���~JJ~���~g�h���h�g���t���6X1"32654&'.54632;2327>54&+.3267654#7654&#"313�h�gtR ?[�|`�5FdP9Uy�j%�> ��~ ���g�h^�- #�I|��\dG:b�Wj�j��B � � ���#/;G|%26=4&"526=4&"26=4&"526=4&"26=4&"526=4&"&#"32654'.54632;2327>54&+.+####U####�####@ h�gU;.B�|`� 6Gd<+ ?Z�j#�UUU�UU��UU�UU��UU�UUmg�hL�0 %�;|��\dG.\�Ej�d����#X2654&"2654&"2654&"&#"32654'.54632;2327>54&+.�##��##�##@ h�gU;.B�|`� 6Gd<+ ?Z�j#�U��U��Ug��Umg�hL�0 %�;|��\dG.\�Ej�d����0Vf&#";123267654&'.#1#.7!27>'.#"#!"#"&'&5467>'.#"'32654'&#"�W�5&S |9!���sgC҃}-* ��_� Z@ �� �U��T, 7# 04 S0C`�&@� �\&'H�$" g�U � *���V!%(-25 "'.5467627537%7'5'%!5''7'��U �U� 8�͉�V����+���`>��3�D3��"``N�� �� �� * y�`x��x`�CaaaC�C�`x��Ȱx`QCC��V56DEMN\]kltu���"#"32654'.54632;2327>54&+.'#126594&"&264&"'#126594&"#126594&"&264&"7#126594&"3#126594&"�h�gU;/B�|`� 6Gd<* ?Z�j#�i+##�+$$�*##**##�+$$�+##++##Ug�iL�0 %�;|��] dG.[�Ej�d���U##+�V##+*���V":".4>2%2>54& 3?%#"&547>7%632_��~JJ~���~JJ~��h�g���g�h98�8�Z��ZUJ~���~JJ~���~g�h���h�g��8�8n��ZZ*���V/S131!1265114!1"#14631!1211#1!1"&51#"&5463!226=4&#!";264&����VK5�5KK5��5K�*�$K5��5KK5*����5KK5��5KK5�**5KK5��5K$��)%32?64/&#"3!264&#!"&514&"b� ���g}X�5K#I �$� ���Y}$K5*����)654&#"32654/#!"3!12654&"� � � �DK5�X}#� �$� ���5K$}Y*���)&#"2?654&#"!1"265463!264&� �$� ���Y}$K5* � ���}X�5K#����(32654/&"32?!"&54&"3!264&7 �$� ���5K$}Y*� � ����K5�X}#�(654&#"32654/4&#!"3!226� � � ��}X�5K#� �$� ��+*Y}$K5���(32?64/&#"463!264&#!"26b� ����K5�X}#I �$� ��+*5K$}Y���*&#"2?654&#"!22654&#!1"3� �$� ��+*5K$}Y�� � ��DK5�X}#��+32654/&"32?!12654&"#!"317 �$� ��+*Y}$K5��� � � ��g}X�5K#���#4@LXdp|��3!2654&#!"463!2#!"&5%35#'!2#!1"&546462"&5%462"&5462"&5%462"&5"&46;2#"&46;2#%"&46;2#"&46;2#��UK55KK5�5K+��+�$$$$�$$$$����V�����5KK5�5KK5��V�*����V���*$$�##�$$�##����+1463!21#!"&5514&#!"1!3!12651K55KK5�5K��V���5KK5�5KK5���U��+*���V(8%5462>7#"&46;.'"&=32+".4>2�$~�~~�~$~�~~�~���~JJ~���~JJ~~~�~$~�~~�~$~�WJ~���~JJ~���~*���V%-".4>2%2>54& 36"&462264&"_��~JJ~���~JJ~��h�g���g�hG�dd�d�F22F2UJ~���~JJ~���~g�h���h�g�d�dd�2F22F����.>2#!1"'&476312654&#! 327654&#"32654'&#"�5KK5�� ��* +��y� ���K5�5KU U�U����I��� X%'&#"2?654&#"'2654&"&#"32654'.5463231;2327>54&+.'� � # ��##*h�g9(,�|`�5Fd* -@�j!�c� �������g�h=�- #t/{��]dG%R{7j�^�U���V0<73!26=4&"#!"&=4&"%'&#"2?654&#"2654&"UK5V5K$��$�� �$��$$��5KK5���V� �����V����+(267>54&/7"&'.546?62-$3 #���# 3%��.B-���-B/�$�#z3BRccRB3z#�Y�-�AUjjUA�-� U���+73'7+"&=4762���� ��� +#ę�Z� #�� �+ *���V%*<#!"&546;1264#"3!26=4&"%3'7+"&=4762+����5KK5U5K#�Un�n��U��$�U#K5��5KK5�Nn�n[�$�U��U���V"3'7+"&=4762!264&#!"�n�o� �+ � � #��Do�n[�$�+ ���V##U���,#4D#!"&5463!264&#!"3!2654&"2654&#!"3654&#"32��*�5KK5�5K$�$��� �+U��$K5�*5KK5n�$�8� �+ 08@ 7>7.'& '67676 '&'&'&47"&462264&"n'/�P�==����= i+5���5++5��f�5+B�dd�d�F22F2b=3��S S��S 1#A:��:A" "A:��:A �d�dd�2F22F*���V047#"&54?47>32#137>54&#"632#3�t t $|3|�3$��Y�i'}Y%Z���F�V�+t tY $4�|3|$��iZ&X}&������U���+V+K46;2+32++1"&5#"&=46;#"+32346;7#"&=46;��j���*U�UUUUGdVVV_t2#UUj��U� ��+�dG�V��+V�$2���V&2!"3!265#"&5732#!"&5463"&463!2#+���Un� K5�5KK5��V��o� �5KK5�5K��$$���(Pp�654&#"3>7654&#""'.'>32767654'&'&'&+"3276;2#"&5467654&#"3267654&#" 32654'&#";�#+5��A�3*�4��>qm 8)+5��20'(��="�� %$2dFI��� �U[ -�A #C8�9' .�S 5���CM "B9� �R :2#$ HGd �U � **��'+%#"&5114632'%%#"&5114632'%%E�`����`��4 V �� * "�Z�� V �� * "�Z����V&2>J!"3!265#"&5732#!"&54632#!"&4632#!"&4632+"&463+���Un� K5�5KK5���V��VV�V��o� �5KK5�5K�+##�##V$$*���V $(/6=D463!2#!"&5!!!5##3%35'35#%354&##3265#"35#3+O8�8OO8�d8O*V��V��+�����������2�N��N���8OO8�d8OO8��U�U�����V����V�ՀN����N���N����V#&2#!"&5463!"3!265!"&73+ * K5�5KK5��U�U���+5KK5�5K���V�֙���V&B!"3!265#"&5732#!"&5463#"&46;546232+"&5+���Un� K5�5KK5�UU$UU$�V��o� �5KK5�5K��$UU$U*���++"3!2654&#!1"&/2#!"&546;12���� I�5KK5�V5KK5� I����m*K5�*5KK5V5Km*���+% &54631!12#"/.51147��� V �� � � V ]��y��U����+'M����V+E4767632327676#"&'.#""&5232767#"&'.#"6� #=X,MB:?"G.5 #=X,MB:?"G.#�,MB:?"G.7I,MB:?"G.7++������[*���V$+29".4>2>7!#.3.%3>>75.'_��~JJ~���~JJ~:C)j� ��� �j)C.)C� ���j� �CJ--JJ--JUJ~���~JJ~���~`J�>�ll�>��>�Jl��lJ���I�;;�IVI�;;�IU���+'+;?O35#'!2#!"&54635#'!2#!"&54635#'!2#!"&54635#'!2#!"&546���++����++��<��++���g��++���V��+���V��+��U��+���U��+���+4>321"'.546327>54""/.#""s/s�0"��$��"0�s/s".-!pP!O-$-O!Pp![�"0�s/s"��y"s/s�0"��.O!Pp!- -!pP!O��U���V(,621#!"&5143265 ;463!23#f��K5��5KV���������"* �� �+5KK5���� ���@���U*��V!�%&'.'.'&#"7>54&#"4&'654'&'&#&&"&"26=&7654&'.505467654'&54732762327676726=654'>tFE$% "Gc= F" DnF�FnD "|{ $ }p,; D�C ;,q|# {|T,+* �'d !60 FF 06! d'��!$��0 rM (( M�s )��#�U���+#+7?1"&5463!21#14&#!"62'!26=%1"&46312&264&"�5KK5V5KK5*���# ������->>-,>>5 +K5V5KK5��5K�D�� � �������>X??X>U *�1G!121#!"&=147>3.#1!1"31237>315##1#1"&/#3!267�"E�K5�V5K�E"2y�ny� H~H տH � H��-�� �5KK5� M-����mm��mm�*���V.E62"'%.467-&#"27%>54&#"&#"27%>54&#"� � �U �U sKK���h � � �h�h � � �hQ���&����� �� �� �� �*���V)*2".4>2%2>54& 3754&"26&264&"_��~JJ~���~JJ~��h�g���g�h+$$++$$UJ~���~JJ~���~g�h���h�gի�g##*���V#4EFT13!2654&#!1"463!21#!1"&5%.#"32654'7#"&'&546325#126594&"�dF�FddF�TFdU�i�i��i�Ti�UJ/5KJ.5KU}XL|~XL|*##V�TFddF�FddFi��i�Ti��i�.AK5 -?K5 X~kLX}jL�U���+!(463!21#!"&554&#!"!!265#3UK5V5KK5��5K����V����5KK5��5KK5ր�V�V*����1=32+";264&+"#"&46;1264#";264&'!264&#!"��GddG��j��j��GddG��j��j�=V��+d�d#�Ԗ#��d�d#�Ԗ#�$$*���V!1>NV%3203267'#9"&''7.5147'>3127.+">=4&".4>2264&",�77�,zEEz<z#z#1�zE@6z,�77��z##z#11�~JJ~���~JJ~��jKKjKT#11#zz<zE@6z,�7��z#z#11_z6�6z,�77��gJ~���~JJ~���~KjKKj'���Y2c326?>54&#"32?>32#"&'&#"7.#"326?654&#"&'.546?>3232654'�x6+j � .�j-lJ JFG)�G$P �x6+j � .�j-lII2�2�G$P <+<,�l.i�. J I*FF�)�+<,�l.i�. JI02FF�)U���V0<32654&+";2+"32?64/&#"7!"3!264&U�5KK5����� ��<�UK5�5K#�V#H�$��+$$ UU��#$,-56>!264&#!"!264&#!"!264&#!"&264&"&264&"&264&"U+��+��+���+$$+$$+$$U$$�$$�$$+$$��$$��$$U���V*2546232#1!"&546313!2654&#!1"7!54&"�Ԗ+5KK5��5KK5*V���Vd�dՀj��j�K4��5JK4,5J��,n�GddGU���V2>!#"&546;264&+";264%32?64/&#"7!"3!264&����5KK5�� ��<��#K5�V5K#��$��+$$*���V'7CO_o26=4&"26=4&"32654/&#"32654/&#"%3264&+"!3264&+"7654&#"327654&#"32�$$$$��yx �x y�ʫ�����xy�y x +���D���xy�y x�$$$$��yx �x y *�%!2#!"&546.#!"%"'%3!265��5KK5�V5KK�V{������K5�5KK55Km ������RU���,!1A2654&#!"34&"3!264&+ 327654&#" 654&#"32U$��+$���� + �0+����$�+�$�� +��+����V'+%7%632%632#"'%#"&5467%7��U�� @ �� ���� ��f����M��zHn���U ���� <z��zU���+7?67654."6717"'&'.'&54>2%1"&46312&264&"!D<�[���[�^$�#j) )j#�s���s�UGddGGddjF22F26>��]�\\�]�� S:%] ]%��t�rr�t�!d�dd�dU2G22GUU��#!264&#!"!264&#!"!264&#!"����U$$$$�$$U���+%J%632;267>=.'+"7%#"#"&'#"&54?.5467>;f SR�$�xSIh7�/�g#`!�K�]#j'�� zhISz�$�RS �7f]�L�!a#h�/ ۜ'j#U���+ %63!2654&#!"&5463!2#! �� 5K5V5KK5�������5KK5�U5KU���,!1A%2654&#!";4&"3!264&+654&#"32 654&#"32�#��#� + �� �7+��+#��#I+ ���8+�����'Dbu��32654'&#"326764&"#"&=4&"514&#"3267>32126#"&50=4&"3267654&"732676=4&"26=4&"!264&#!" � �UVdFG###2#UdG9b1$2#k-j�#[�\<�*#<#��##�U��7�U � ���Gd #1$� �GdP9(2#���-�jVU]�\<+�UU�n���##*���V)".4>2%2>54& 3!264&#!"_��~JJ~���~JJ~��h�g���g�h�V��UJ~���~JJ~���~g�h���h�gU$$��V�3?K"&5462&"2654"&=14&"12>=4&"26=4&"!264&#!"�d�dd�d�F22F2��Ԗ#[���[#��$$�V����GddGUGdd2$��#22#U$��Uj��jUU]�[[�]U�n���##U���+ ,3!2654&#!"463!21#!"&5!264&#!"�V��VK5V5KK5��5KV�����V5KK5��5KK5$$�UV�!264&#!"�V��U$$U���+-.5473267#"%#".54>7632676S;]�\�]c�!8<; y�jt�sh�i�j#Y03S�;<8!�c]�\�]ai�hs�tj�y 0Y#j�*���+#5%32#!"&46;5!"&515467!21#13!26554&#!"+������5JJ5�5JJ5�*��T�U$$UK5�4KK5�V5K*�V�����V#+9"&462&264&"6"&462'1264""&462'1264"315jKKjK�$$`jKKjK�GjKKjK�KjKKj $$�KjKKj##�KjKKj ##*�'/"&462&264&""&462&264&""&462&264&"5jKKjK�$$�jKKjK�##��jKKjK�##KjKKj $$nKjKKj $$nKjKKj $$*���V)>S_k654&#"32654/32654/&"32?&#"2?654&#"32?64/&#"!264&#!"2654&"� �� a��$�bb �$�b �� a��V���$$��$� b �� a�� �� a�$�b+$$��VU���+!,7+"&46;467%632+"&46;#";265%#";265�K5V5KK5�K5V5KK5���V�V���5KKjK�U��5KKjK���#�#���S+%762&762'%&� ���. + < + .���4qqQ�+'+��'��U���' .76&'� 8���** �� ;OT �S��5< �*��<*���V!7'!'!2#!"/&54?6��>���b �� �� �� ����>�U� �� �� b �*���v!+16"'%.541467%62%&"7"1%>5%7%9U))��<��))U<-�� cKv5��= �U���vKv��h�C!�i C� �C �!C���1�;EL_�_� ����z-;�;�*���V)5".4>2%2>54& 34&"2674&"26_��~JJ~���~JJ~��h�g���g�h+##�##UJ~���~JJ~���~g�h���h�g����+'3'32+"&5463'32+"&546+U����U������VU�V�U��VU�V����)1 327654&#""&462264&""&462#&264&" ��V �:{XX{X�5%%5&>XX{XX=5&&5%��V��X{XX{%5&&5��X{XX{XU&5%%5/��V3i�%#"'.'.'.'&546;27>321'4&'&'&#"#"'.'&54?654'&'.+"32651.546323#"&'.'.546323#"&'.'�K5W�ID�+0Q K5�.K s2569.@UC?7 H�)6 �I+(�>B�N��Fw O,\�l �q5K Q/+�DJ�W5KA.9552r J. 7)�G 6>CO�C>�'+ISvF/O� l�\p�*��U U�32?64/&#"!264&#!"454&'&'&#"'.'&54?6'&'.+"2326515#"'.'.'.'45467>;27>32 � � ���U��C?6 H�) 6 �I,'�>C�OU3W�IE�+0R 8�.K s256:-A� �$��+$$�,7 )�H 6?BO�C=�(+I��7 Q/,�DJ�X3A.96#J2s K.�*��VT� 327654&#"32654'&#"454&'&'&#"'.'&54?6'&'.+"2326515#"'.'.'.'45467>;27>32�� �� ��C?6 H�) 6 �I,'�>C�OU3W�IE�+0R 8�.K s256:-AI� I� �h7 )�H 6?BO�C=�(+I��7 Q/,�DJ�X3A.96#J2s K.����F~�&#"32?63211#"#.'&'&#"32651=4&'&'&#"&%.'4546;232?>54'&'.+"32654' 327654&#"� [# 6 ?BN�BI> X!J�W5KA-964;��+I� 66J.�5K Q0 ��U � f E 6 � I+.> F0P K5�.J%@C�OB?66568.AK5W�I ��V �*��V!V�4&"13!264&+327654&#"454&'&'&#"'.'&54?6'&'.+"2326515#"'.'.'.'45467>;27>32�#��� * DC?6 H�) 6 �I,'�>C�OU3W�IE�+0R 8�.K s256:-A�$�� +�+7 )�H 6?BO�C=�(+I��7 Q/,�DJ�X3A.96#J2s K.�*���V4j%454&'&'&#"'.'&54?6'&'.+"2326515#"#.'.'.'45467>;27>32�C?6 H�) 6 �I,'�>C�OU3W�IE�+0R 8�.K s256:.@� 6 )�H 6?BP�C>�'+I ��8 P0+�EJ�W2A.95$I1s K.*��V!W�26514&#!"3654&#"324&'&'&#"#"'.'&54?654'&'.+"32651#"'.'.'.'45467>;27>321�#�* �� �C?7 H�)6 �I+(�>B�NU3W�IE�+0R 8�.K s256:-A�#��+ ���� 7)�G 6>CO�C>�'+I7 Q/,�DJ�X3A.96#J2s K.�*���V$6=%#".467>54&#"3267654&#"7#!1"&546312.'!&b)�ih�g�_ t�J~�_��2s�U_�~J�O�7S�a�g���*3�_�~J�v ��J~��O@��7*���V 4".4>2%2>54& 37/#"&5114632_��~JJ~���~JJ~��h�g���g�h+��� UJ~���~JJ~���~g�h���h�g%[[s��V���V+% '#"&54632�$V�� N22r����U���+ ,83!2654&#!"463!21#!"&52654&"!264&#!"�V��VK5V5KK5��5K�$$�V�����V5KK5��5KK5��V�$$*���V)5".4>2%2>54& 32654&"!264&#!"_��~JJ~���~JJ~��h�g���g�h+$$�V��UJ~���~JJ~���~g�h���h�g+��V�$$�*V�2654&"!264&#!"�$$�V�����V��$$*���+!62>54&#!"%2".5463&#"2?654&#"�g�бg�V�5KJ~���~JK5� �$� ���i�ff�ioK5�`�}KK}�`5K�� � � �*���V9=M!5!463!232+"&46;26=4&#!";2+"&=463!!'!2#!"&546+��VV*5KK5UU�VUU5KK5���V+�+���K5�5K$��$K5�5K��U��Vc���V'3".5467654&#"267>&'&#"%2654&"�*:[���[:* R::R>���>R::R ��$$G*�;\�[[�\;�* R��Q>@@>Q��R �U�*'��#7Nf"&462&264&"727>4&'&".46764&"264327>&'&#".467654&#"326545jKKjK�$$�$$ $$44$$��$$ $$44$$�/BB/ Z@@Z ��/BB/ CGGC KjKKj $$�YIX # $|f|$ $��YIX # $|f|$ $�.���. Z��Z ��.���. D���D U����)>S32?64/&#"5463!264&#!1"26654&#"32654/#!"3!126=4&"� ����gK5U��X}#��� ��K5��UX}# �# � ��U5K#}XU� � #� �V5K#}XV��+!@_4&"3!264&+2654&#!";.#"32?>3232654#"'.'.#"326?654&#"U#�V#��*�}I�3� �)�:'%L�#�)�;&&L�)�}I�4� ��#�+#v�J3��*;�I��*;�Iv�J3�**��* &476321#"'1% &476321#"'�������� ���S��y* * * �� y���* * * �� *���+@14&"13!264&+32>4.#"32?>32#"&'.#"�#�*�}s�rr�sI�4� �)�;$a Ig[�\d�! ��#��v�s���sI4� �);)�S]�[�_��+"Bb"3!2654&"3264&#!1"265>3232654/.#"3267327>7654&#"#"&/&#"�#����#i!�d:�)� �4�I0._� ��4�I0._� !�d:�)� #�#��^�:*��4I�\�4I�\^�:*�*���';"3!2654&"#".4>3232654/&$3267654&#"�#i!�c]�\\�]:�)� �d��|\�r�t|�* #��^�[���[:*��e'D3�ht�r�vU���+$(:!2#!"&=#";463!23265'!!"&5463!2U+��++�+�����5KK5� � KՀ#���*��ļ�V�VK5V5K � �*5KU���+%"/#".4>2264&"� $�)�4b�aa�Ĩa.�P梢��$ � .a�Ĩaa�b4�]�梢�*���V&9MN\]k3!26=4!"463!12#!1"&=3!26=4!"463!12#!1"&=%#126594&"#126594&"���TUJ5�5JJ5�T5JU��TUJ5�5JJ5�T5J+##++##ժ�5KJ5�5KJ5����5KJ5�5KJ5U����+9I"&462264&""&462264&"'&54632632#"&547&54632#"'q�dd�d�G22G2��dd�d�G22G2��7� ��d�dd�2F22F�xd�dd�2F22F#� �7 � � U���V#/:L^1"&46312&264&""&462264&"1"&46312'264&"31.54632#"'632#"&5467GddGGddjF22F2���dd�d�F22F2UGddGGddG#22F22#�Y # �� d�dd�dU2G22G�Nd�dd�2F22F�Nd�dd�dU2G22G2 � �����V0<3!2654&"#!"&54&"%32654/&"32?'2654&"�K55K#�# �$��+$$���5KK5U��U����=��+����V*"'&'&'&5467%62'6765%67 A:� V V �:A;5���՜CLQ(3��UUU����3(Z%.��4KK�̍�:+ ���� $"&462264&"'&"#";22?>26=467632264/.547>;264&+"&/5&546?64&"#"'.=4&"##"&32+"#"&/&#""&5054&'&#"#"&546?654'.+"&46303267654/.5463232?651546232?>32G�dd�d�F22F2�$ = = # D+#(/ $ == # .($(/[5KK5K55 KjK55K5KK5 K55 KjK55K�d�dd�2F22FK# D+#(/ $ = = # .($(/ $ <=�KjK 55K5KK5 K55 KjK55K5KK5K55 �V! &47632#"'%14&"126��<�U���##}��zV ( V �V LV������, 1AQ26=4&+"; 654&#"32%";26=4&"'32654'&#"32654/&#"U$���t� �+��$���7� � +�$�8� �+ *$������ �U���+$463!21#!"&5#";!2654&#UK5V5KK5��5K��V��5KK5��5KK5�����VV�V-'#"&546322654&"<����U##���z�� ( �� �U��V����);M_q.'.>$6.67>&%32654'.#"32654'.#"%327%>54&#"327%>54&#"�(P�����g'(P���g+?Pl��yM?Pm�\\yM�O� � ǘ ���E�>�E����g'(P�����fOP��]yM8>Ql�\\yM?Pl��D�K�D�%� �̙ � *���V%".4>2'326 >54.#"_��~JJ~���~JJ~��#1g�h8��L#1g�h8�UJ~���~JJ~���~_,�8h�g1{��,�8h�g1���VV%&.3!12654&#!1"4631!12#1!1"&5%&264&"��VUK5�5KK5�V5KU+$$�T�5JJ5�T5JJ5V$$U���+ 3!2654&#!"463!21#!"&5�V��VK5V5KK5��5K���V5KK5��5KK5���V!"*2:3!12654&#!1"463!2#!"&5&264&""&462264&"��UK55KK5�5K�+$$j�}}�}��jKKjK�T�5JJ5�T5JJ5V$$��}�}}�'KjKKj*���V?762'454?'./>2#"/#"&545'&5467%� ї$� �$ �� ^&z �/ �� /� ��bb� ��t �( ������ (*���V!2".4>2%2>54& 335'!2#!1"&546_��~JJ~���~JJ~��h�g���g�hU���UJ~���~JJ~���~g�h���h�gժ�V� ���'7GS_o$"&462264&"26=4&"26=4&"32654/&#"32654/&#"%3264&+"!3264&+"7654&#"327654&#"32jԖ�Ԗ���dd�d�$$$$��< =g=< �FUUgUU�d= <h< = ��Ԗ��Ad�dd�UU��UU�= <��<=�$$$$��< =g= < ��V/;GWdy%4&"265462262654&"32654/&#"3264&+"!3264&+"7654&#"32!"3!264美/&"32?�Ԗ#d�d#��$$��< =^UUgUU@< =��V����$���j��jGddG���+�r= < ��$$$$= < ��##b������V!"*%4&#!1"3!1267#!"&5463!2&264&"+�UK5�5KK55K��+$$*��T5JJ5�5JJ5��$$*���V !"0 !2764"&'&51463!2#126594&"J����_ #00��5+5���l��+##�_���� /#k��k���5+4��V/;GWdy%4&"265462264&"2632654/&#"3264&+"!3264&+"7654&#"32!"3!264&#&#"2?654&#"�Ԗ#d�d#�$$�k< =^UUgUU@< =��V����$� ��j��jGddG�+��@= < ��$$$$= < ��##�� � �*���V%-5=".4>2%2>54& 36"&462264&""&462&264&"_��~JJ~���~JJ~��h�g���g�h|������}�}}�} jKKjK�$$UJ~���~JJ~���~g�h���h�gU�����Y}�}}�(KjKKj $$����-%#"&5467462'4&"2654&'.��Ha�2#X{X#2 �&5%'X{X''Eb�a-k�=XX=�5j-#"��&&� H!>XX>!H*���V3=M232'!"&54763221267654'�+"&=4&'!#";#"&546;2R9( <J0��Gf�; �"����VV+�6LL6�+-;��/>� �dF�����-���^���UK5*5K�**���V 8EZ70#"&'.547>;!21#"&=#0#"7312323267.+36#"+"&5463�9<K-��He�:< �#�VI!!I+s6SS3t�1 �-?�* ��dF�+���-[���$���F5��3G���*�!)13!26514&#!"#4>3!2#!".5"&462264&"U�jVj��j��j�U[�]V]�[[�]��]�[��dd�d�G22G2�j��jj��j]�[[���[[�]�d�dd�2F22F��*�!)13!26514&#!"#4>3!2#!".5"&462264&"U�jVj��j��j�U[�]V]�[[�]��]�[�dd�d�G22G2�j��jj��j]�[[���[[�]�d�dd�2F22FU���V)GS_!264&#!"%#!"&514&"13!2654&"546;226=4&+"12652654&"2654&"����V#K5�5K#���#K5�5K###�##U$$+��U��5KK5UUUU5KK5U��U���V)G!264&#!"%#!"&514&"13!2654&"546;226=4&+"1265����V#K5�5K#���#K5�5K#U$$+��U��5KK5UUUU5KK5UU�*&"32727654&#"%2654&#!";� #�� "�$� ��k#��� ��"� � ��Y$U�*&#"2?32654'&""3!2654&"I @# �w �k$�j#��� ���� ��$����/$>2!.5473!2654'."�@<@iK4�,4JJ������$$��#4KK4#+ [ �����$0!26=4&#!"12651!264&#!"32654&"�V#�V#��U$$�V����##�V����1d6&'.623267&'&767>32546763267#"'.#"1#&'>54'&54767�1 2M����i *o%�-+* .�PY>(+%\4.a B'8h�H -�["E�~r\C$ �"&_ |ךf (: (U���&BgC�# � R**NJwb�I 3* "?^t�PU���+7"&5#"&54?62#"'462#!"&=4623!265+$� �$� �$K5��5K$V��g�� � � ���5KK5����V#)265462"&5!"&545>2# !&+2F2$d�d�V�������HU�#22#FddF~�||�~������+ Uj%32654/&"32?'2654&"&#"32654'.54632;2327>54&+.32654/&"32?��$� �+$$)h�g8( ,�|`� 6Gd4% 7N�j!��$� ��� ��<����g�h=�-#t/{��] dF*X�?j�]���� ��U���U(954>#"&'.!2#1!"&546313!2654&#!1"�Ơ k�Y�5KK5��5KK5*V��Հc�uaAN bB�K4��5JK4,5J��,����+%-B!54&#!"26=463!22651"&462264&"&#"2?654&#"�}X��X}#K5+5K#��}}�}��jKKjKV# � �UY}}YUU5KK5U�}�}}�(KjKKjWV� �����+%-9!54&#!"26=463!22651"&462264&"!"3!264&�}X��X}#K5+5K#��}}�}��jKKjK�UY}}YUU5KK5U�}�}}�(KjKKjK##����+%-9E!54&#!"26=463!22651"&462264&"%2654&"!"3!264&�}X��X}#K5+5K#��}}�}��jKKjK@##��UY}}YUU5KK5U�}�}}�(KjKKj�g##����+%-=M!54&#!"26=463!22651"&462264&"32654/&#"732?654&#"�}X��X}#K5+5K#��}}�}��jKKjK�� ����UY}}YUU5KK5U�}�}}�(KjKKj��0�����+$,!54&#!"26=463!2265"&462264&"�}X��X}#K5V5K#�ذ}}�}��jKKjKUY}}YUU5KK5U�}�}}�(KjKKj����+$,B\!54&#!"26=463!2265"&462264&"54&'&#"265327>4&'&#"}X��X}#K5V5K#�ذ}}�}��jKKjK^B'9#��(88( C^^CUY}}YUU5KK5U�}�}}�(KjKKj��UEy I)U� IRI z�y ���$L\%#!"&546;264&+"3!126=4&"'54&+";1232?2654&#"%32654'&#"��*VV5JJ5�5J#<�8+J5�� * �# �E� �U�*�#K5�V5KK5*��+�5K#� * ������U � *�(>63211#"'%&47%13!265114&#!"#1463!211#!"&511� ��b�����*UK5�5JJ5�*5Kx�V� , #�S�V�5KK5�V5KK5���%.5462#!"&462"264&"264&"`��a��a���{XX{X�{XX{XW#a����a#WX{XX{XX{XX{**�/?632#"/#"&546;+32327654&#"32654'&#"�ʜ�*������ �� �� �L � s�4�I��*V�7632#"/#"&546;+32327>4&'&#"ʛ�*���� ++ � �� �L � s�YG:G jXj *'��6N632#"/#"&546;+32%327>&'&#"327>4&'&#"�ʜ�*���d/BB/ Z@@Z � ,,� �� �L � s�=.���. Z��Z �G:G jXj *��632#"/#"&546;+32�ʛ�*���� �� �L � s���V� +Pt%".4>2#51264"#"/&=462>32+"&/&54632;1267#"&5457>;12#"&/.#1#"]�[[���[[�]j��jj���3@ $kK0�0K���K0�1J�+[���[[���[U�Ԗ�Ԗ�n4@����0DD0��d�0DD0����.FGO>232654'."32'>232654'&$32>232654'."32&264&"�1���1;���;�L��K������8I8H fOe �+$$H)::) 1FF1 �B^^B wTTw ��!!|##U���+ 0@3!2654&#!"463!21#!"&5 32654'&#"%327654&#"�V��VK5V5KK5��5K �� ���V5KK5��5KK5��0�*�#Fb62+!1"31!32654&'&#"3273264&+!"3!32#"'&#"62#!"3!264&#"32� #���5K&"6D65KK5� 5&&��>WW>> � $#K5A��KjK# �&5%$X{X�U,� 327654&#"32654'&#"� �����I�*���V-=".4>2%2>54& 3327654&#"32654'&#"_��~JJ~���~JJ~��h�g���g�hb� ���UJ~���~JJ~���~g�h���h�g�I�U���V'"&547>!2&7'!2!"&54?� �#%P �U#%�%�����%U�K�U���+%1=%".4>2#"/#'1264"2654&"!264&#!"�h�gg�ѱf1#��+�8|��|{��Q##V�+f�ѱgg�h8�+��#1U���������##U���+$0%#".4>2#"'%1264"!264&#!"�+�8h�gg�ѱf1#��s|��|{���#1f�ѱgg�h8�+��������##U���+)-6@IR%#"&46;5#1"&46235462+312"&535%54&"3#1"265!264&+264&"U�d�ddGUUGdd�d�d�ddGUUGdd�d���2F22#UU#22F2V2F22#UU#22F2�UGdd�d�d�ddGUUGdd�d�d�ddGU��VU#22F2��2F22##22F2V2F22#U'12#1!1".4>323#"&'.#"31!264&j��j��h�gg�hp�&6 �`|��|�Gdd�Ԗg�бg�jU\����d�d����+);!264&#!"!264&#!"3267454&#"3267454&#"���V��V�UU�UU�$$�$$0��U���+*7E754>2+"&=46;54."32+"&5%#";265%;126=4&#Us���sK5+5KK5U[���[U5KK5+5KU+�V+իt�ss�t��5KK5�5K+]�[[�]+K5�5KK5���������+#462265462"&5"&463!2#�$}�}$���*���X}}X+��{��{�$$�V3264&#!1"313#"3!264&+���������##��##��V%#1!"&5463!2!264&#!264&#!�-@}X��UY}'�'*5KK5��U5KK5���m4X}�}X&[�KjK��KjK���(2%1232+"&=!"&51"&463?46213!4&#/|5K��$��5K��#��K5��$��K6{#������*���V)O".4>2%2>54& 351"&46312#"&547>321#"&5467676=4&#"_��~JJ~���~JJ~��h�g���g�hf_2FdS"(-2#0UJ~���~JJ~���~g�h���h�g�##r/CdGL7 #2"*���VG #"&5467>32"&47654&#"3267>54&#"3267654&#"u�wY%X}%�55K�w$ j��K56�%}Y$Y�x$3�{4|$���w%}X%Y�K55�x# i ��65K�X%X}$�x%{4{�3$� �����CO"&462&264&""&462&264&"!2#"#!"1"&'.+1"&4631323!21267!�jKKjK�##_jKKjK�##���HI,�>/JA``.J3�=���KjKKj $$nKjKKj $$���+<A.�#A.f�z3*���U"2'&54632763232#!"&5463"3!2654&#�� �� ��5KK5�V5KK5������K5�+5KK5�5KU�+���FSf�%#"'."#"&5467>32'#"&547>7'#"&547>7'&54632"'1"&46312#.54632#"'&"#"&5467632#"'.#"�H8I e( w)i!`&c%_ [#� �� # ��� :0(��rUK�d� w 3 6 c==� ���� #�##�) "kK C]U���++AV+1"31326=14&"#"&=4&";264&546;264&+"2651%31226=4&+"+��5K#U�#K5����5K#���#K5��#K5����5K#���#K5����5K#U���+';O#"26=46;264&54&+";226326=4&"+";264&+"&=4&"U�5K$�DK5��$��5K$���K5��$+K5��$��5K$���K5��$�5K$���[%4"'.54?67632!67632% /#!"&/�9 4i^_h6�x��4QQ �� QQSK %�B ��% ���& C��6�������+)=KXd%26=3264&#!"3546232#!1"&46312653264&#!"37"&514621"&5462"&5462+#U��$U��#V��##V$$U##���##���##���##�+������*���V&>2#"/#"&545'&5467%�z �/ �� /� > �( ������ (���+>321"'.54632"s/s�0"��$��"0�s/s"�"0�s/s"��y"s/s�0"��+!-!!#!"&5#"&=463!2#%!5"&46;2#U�V�V�*���V���+���Հ���$$*���V+954627632"/&54632".4>2%2>54& 3�$b�$�쾮~JJ~���~JJ~��h�g���g�h<��b��� J~���~JJ~���~g�h���h�g*���V+9"&=#"&54?62#"'".4>2%2>54& 3+$b �$�.��~JJ~���~JJ~��h�g���g�h���b ���IJ~���~JJ~���~g�h���h�g*���V+932+#"/&4?632".4>2%2>54& 3���b��A��~JJ~���~JJ~��h�g���g�h�$b�$���J~���~JJ~���~g�h���h�g*���V+9#"&46;'&54632#"&547".4>2%2>54& 3D��b ��}��~JJ~���~JJ~��h�g���g�hU$b �$���J~���~JJ~���~g�h���h�g�+#%"&5462"&5462"&5462+$$�$$�$$+��V��V�+#%"&5462"&5462"&=462+$$$$�$$+��V��V�*���+6A!24&#"&54&#!"&5463!2>;!2#!1""&5467#">31!�.'K5�"2#��4Yd,��#2"/'U�5K2���5K�#2�.($2��2#/N��K5�? *U��)&54632#"&54?!#"'&47632� � �$� � b �$���$U���V(42>= '4>2".5 '2>52>4."�Y���Yy�H�t��tt��tx�FxY���Y�R��YY���YY?�''�?�4N((N4��4N((N4V�i??�(('#((#'��+�+3=32+32+"&=#"&46;5#"&46;54623264&#'5#1"31+��@OqqO@$��@OqqO@$@,>>,�@,>>,�#�q�p��#�q�p���?X>V�?X>*���+1G32+"&=#"&46;5462!2#!"&546;12#"3!2654&#!1"&'+UU$UU$?i5KK5�V5KK5� :���� U#UU#VK5�*5KK5V5KC���*���V,04:?IS32+#!"&5#"&=46;&54631276312!5)!!!1#!!&#";&264&#"Gd+�V+dW>wFGv>W��U�U��UV�V�"/D&&� &&D/ ������">W��W>"s����UU��U���U&4&&4&U*���++7!2#!"&546;12#"3!2654&#!1"&'"&463!2#�i5KK5�V5KK5� :���� 2�K5�*5KK5V5KC�����##��V'"&'+"&46;2>26;2+"264&"�{�{��{�{����jKKjKVGddG$GddG$UKjKKjU���+&.6%#"&'467462>7.546712264&"264&"�a7FdK5$'Hq�4IcGGdL6 m��F22F2�2F22F2W6KdF7a ��% G'�qa6FddG7a`�m�2F22F��2F22FU���+/7?.546712"&54&+"&46;21"&546264&"264&"�4KdFGdK5$��5K4KdFGdK=F22F2�2F22F2�`7FddG7a �%%$K5��`7FddG7a�2F22F�2F22FU���+'/7%.'"&5.546712>321#"&'264&"264&"ZN�/$4KdFGdJ4�qa6FddG7a�F22F2�2F22F2Wc?��`7FddG6aq�4IcGGdL6,2F22F�2F22F*���+->BJV2+"&54&"+1"&544&"34623312+"&54636"&462'1264"/���#�}�}VKjKU�ի�<UjKKjK�+�|��+��+|��X}}X�5KK5��U�U��KjKKj ##*�!+7C1#!"&5147>3!2'.#!"!3!265%1"&4631231"&46312�K5�V5K�C!�%=(u�ju������ �5KK5 %*&!��� �V�+####���V"&462&"&462"&462#1#F22F22F22F2U#22F22#+2F22F�2G22G�y2G22G2*��"&462"&462"&462#F22F2�G22G2�yG22G2+2F22F22F22F22F22F�'1"&4632"&54.1"&46312"&54."&462#�t�r#[�\� �s#f��X#22G22$�#r�t\�[+#s����f�U2G22G2*���V632'%&67% ��� :������y��sS��q�: ��s��������$-N%#"/#"'&'&'&547'&54632>7#"&546?621#"&54767� �)�3 A:�x ��CL)j!�x�U �� �)`(3��+ x �f:+Q!n- 3���20$% U���V"8#!"&514?63!2'!!3!265462"&51462126� K5��5K � @�*@��VV�#}�}#KjK���5KK5U��UUV���X}}X5KK*�� &54632#"&54?"&463!2#� � �U�� #� �##����++05=E%"&547!"&547#1"&5463!232#5!!35'264&"264&"�X{X��X{X9��� ����+U�g��5&&5%P5%%5&�!>XX>!!>XX>!+�� ����+��g�+%5&&5%%5&&5����� $'?U &54632"'&7!"&54?!'7#"&54?>#"&5457"&46;12#"&54?�� *U+# ���#%�� �<}��_� h# �� h -( ������ # �%�=��лs�}�; �#|6��.[os#"'"'&'.'&545&7>7676323.'&'&#"3236767>765454'#"&5146327'7� C%-�aaG>�-)< C%-�abI<�/%B S$�__G<�#$�`_G<�#� � ��ttxqrts%D=,psvw%D D& jkni knkh�u���B�B�&$w��� H- � � �iconkiticonkitMediumMediumFontForge 2.0 : iconkit : 14-11-2018FontForge 2.0 : iconkit : 14-11-2018iconkiticonkitVersion 1.0Version 1.0iconkiticonkit[ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|�}~����������������������������������������������������������������������������������������[���������������������������������������� alert-octagonalert-circleactivityalert-trianglealign-centerairplay align-justify align-leftalign-rightarrow-down-leftarrow-down-rightanchoraperture arrow-leftarrow-right arrow-down arrow-up-leftarrow-up-rightarrow-upaward bar-chartat-sign bar-chart-battery-chargingbell-offbattery bluetoothbellbook briefcase camera-offcalendarbookmarkboxcameracheck-circlecheckcheck-squarecastchevron-downchevron-left chevron-right chevron-up chevrons-downchevrons-rightchevrons-up chevrons-leftcircle clipboardchromeclockcloud-lightning cloud-drizzle cloud-rain cloud-offcodepen cloud-snowcompasscopycorner-down-rightcorner-down-leftcorner-left-downcorner-left-upcorner-up-leftcorner-up-rightcorner-right-downcorner-right-upcpucredit-card crosshairdiscdeletedownload-clouddownloaddropletedit-editedit-1 external-linkeyefeatherfacebook file-minuseye-offfast-forward file-textfilmfile file-plusfolderfilterflagglobegridhearthomegithubimageinboxlayersinfo instagramlayoutlink- life-buoylinklog-inlistlocklog-outloadermail maximize-mapmap-pinmenumessage-circlemessage-square minimize-mic-offminus-circlemicminus-squaremoonmonitor more-verticalmore-horizontalmovemusicnavigation- navigationoctagonpackagepause-circlepause phone-callphone-forwardedphone-missed phone-offphone-incomingphonephone-outgoing pie-chartplay-circleplayplus-squareplus-circlepocketprinterpowerradiorepeatrefresh-ccwrewind rotate-ccw refresh-cw rotate-cwsavesearchserverscissorsshare-shareshieldsettings skip-backshufflesidebarskip-forwardslack smartphonesquarespeakerstarstop-circlesunsunrisetablettagsunsettargetthermometer thumbs-upthumbs-downtoggle-lefttoggle-righttrash-trashtrending-up trending-downtriangletypetwitteruploadumbrellaupload-cloudunlock user-check user-minus user-plususer-xuserusers video-offvideo voicemailvolume-xvolume-volume-1volumewatchwifix-squarewindx-circlezapzoom-inzoom-outcommandcloudhash headphones underlineitalicboldcrophelp-circle paperclip shopping-carttvwifi-offminimizemaximizegitlabslidersstar-onheart-onarchivearrow-down-circlearrow-up-circlearrow-left-circlearrow-right-circlebar-chart-line-bar-chart-line book-opencodedatabasedollar-signfolder-plusgiftfolder-minus git-commit git-branchgit-pull-request git-mergelinkedin hard-drivemore-vertical-more-horizontal-rsssend shield-offshopping-bagterminaltruckzap-offyoutube���=���a��a�PK�x�\Vh�%��fonts/iconkit.svgnu�[���<?xml version="1.0" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" > <svg> <metadata> Created by IconKit </metadata> <defs> <font id="iconkit" horiz-adv-x="1024" > <font-face font-family="iconkit" font-weight="500" font-stretch="normal" units-per-em="1024" panose-1="2 0 6 3 0 0 0 0 0 0" ascent="896" descent="-128" x-height="792" bbox="-0.516154 -128.498 1025.43 896.525" underline-thickness="0" underline-position="0" unicode-range="U+0078-E92A" /> <missing-glyph /> <glyph glyph-name="x" unicode="x" horiz-adv-x="1001" d="M281 543q-27 -1 -53 -1h-83q-18 0 -36.5 -6t-32.5 -18.5t-23 -32t-9 -45.5v-76h912v41q0 16 -0.5 30t-0.5 18q0 13 -5 29t-17 29.5t-31.5 22.5t-49.5 9h-133v-97h-438v97zM955 310v-52q0 -23 0.5 -52t0.5 -58t-10.5 -47.5t-26 -30t-33 -16t-31.5 -4.5q-14 -1 -29.5 -0.5 t-29.5 0.5h-32l-45 128h-439l-44 -128h-29h-34q-20 0 -45 1q-25 0 -41 9.5t-25.5 23t-13.5 29.5t-4 30v167h911zM163 247q-12 0 -21 -8.5t-9 -21.5t9 -21.5t21 -8.5q13 0 22 8.5t9 21.5t-9 21.5t-22 8.5zM316 123q-8 -26 -14 -48q-5 -19 -10.5 -37t-7.5 -25t-3 -15t1 -14.5 t9.5 -10.5t21.5 -4h37h67h81h80h64h36q23 0 34 12t2 38q-5 13 -9.5 30.5t-9.5 34.5q-5 19 -11 39h-368zM336 498v228q0 11 2.5 23t10 21.5t20.5 15.5t34 6h188q31 0 51.5 -14.5t20.5 -52.5v-227h-327z" /> <glyph glyph-name="alert-octagon" unicode="" d="M128 542.976v-317.952l225.024 -225.024h317.952l225.024 225.024v317.952l-225.024 225.024h-317.952zM335.36 853.333h353.28q17.6716 -0.00372314 30.1653 -12.5013l250.027 -250.027q12.4975 -12.4938 12.5013 -30.1653v-353.28 q-0.00390625 -17.6716 -12.5013 -30.1653l-250.027 -250.027q-12.4938 -12.4976 -30.1653 -12.5013h-353.28q-17.6716 0.00377655 -30.1653 12.5013l-250.027 250.027q-12.4975 12.4938 -12.5013 30.1653v353.28q0.00377274 17.6716 12.5013 30.1653l250.027 250.027 q12.4937 12.4975 30.1653 12.5013zM512 213.333zM469.333 213.333q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653zM469.333 554.667v-170.667 q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653v170.667q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653z" /> <glyph glyph-name="alert-circle" unicode="" d="M512 -85.3333q-95.4834 0 -182.397 37.1694t-149.756 100.011t-100.011 149.756q-37.1694 86.9139 -37.1694 182.397q0 95.4834 37.1694 182.397q37.1694 86.9138 100.011 149.755q62.8417 62.8417 149.756 100.011q86.9138 37.1694 182.397 37.1694 q95.4833 0 182.397 -37.1694t149.756 -100.011q62.8417 -62.8417 100.011 -149.755t37.1694 -182.397q0 -95.4833 -37.1694 -182.397t-100.011 -149.756q-62.8417 -62.8417 -149.755 -100.011q-86.9138 -37.1694 -182.398 -37.1694zM512 -2.87646e-06 q104.256 0 192.72 51.408q88.4642 51.408 139.872 139.872q51.408 88.4641 51.408 192.72q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5q0 -104.256 51.4079 -192.72q51.4079 -88.4642 139.872 -139.872t192.72 -51.408zM469.333 554.667v-170.667 q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653v170.667q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653zM512 213.333zM469.333 213.333q0 -17.664 12.5013 -30.1653 t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653z" /> <glyph glyph-name="activity" unicode="" d="M424.491 781.483q-9.728 29.184 -40.4907 29.184t-40.4907 -29.184l-118.229 -354.816h-139.947q-17.664 0 -30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653t12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013h170.667h0.0102844q12.7347 0 24.5955 8.5509 q11.8607 8.55087 15.8849 20.6331l87.5093 262.571l215.509 -646.571q9.72797 -29.184 40.4907 -29.184q30.7626 0 40.4907 29.184l118.229 354.816h139.947q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013h-170.667h-0.0102539 q-12.7347 0 -24.5955 -8.5509q-11.8608 -8.5509 -15.8849 -20.6331l-87.5093 -262.571z" /> <glyph glyph-name="alert-triangle" unicode="" d="M402.432 753.237q15.4774 25.5634 47.5808 43.6555t61.9872 18.092q29.8837 0 61.9872 -18.092t47.5808 -43.6555l361.728 -603.904q17.1508 -29.7037 17.1508 -64.0034q0 -52.6043 -37.2286 -90.1073q-37.2287 -37.503 -89.8315 -37.8893h-723.243 q-52.4119 0.573734 -89.5054 38.0755q-37.0935 37.5018 -37.0935 89.9168q0 34.6727 17.5003 64.605zM114.603 106.667q-5.72215 -9.90473 -5.72215 -21.3436q0 -17.2815 12.2277 -29.7799q12.2277 -12.4983 29.5051 -12.8766h722.304q17.4709 0.190895 29.8358 12.6915 q12.3647 12.5006 12.3647 29.9726q0 11.0669 -5.37915 20.7385l-361.259 603.093q-5.15723 8.5061 -15.8472 14.5261t-20.6374 6.02002q-9.92026 0 -20.595 -5.995t-15.8377 -14.4658zM512 170.667zM469.333 170.667q0 -17.664 12.5013 -30.1653t30.1653 -12.5013 t30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653zM469.333 512v-170.667q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653v170.667q0 17.664 -12.5013 30.1653 t-30.1653 12.5013t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653z" /> <glyph glyph-name="align-center" unicode="" d="M768 512h-512h-0.00653076q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013h0.00653076h512q17.6613 0.00274658 30.1608 12.5041q12.4994 12.5013 12.4994 30.1626t-12.4994 30.1627q-12.4995 12.5013 -30.1608 12.5039zM896 682.667 h-768q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -17.6639 12.5014 -30.1653q12.5013 -12.5013 30.1653 -12.5013h768q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1654 12.5013zM896 341.333h-768q-17.6613 -0.00271606 -30.1607 -12.5041 q-12.4994 -12.5013 -12.4994 -30.1626t12.4994 -30.1627t30.1607 -12.504h768q17.6613 0.00268555 30.1607 12.504q12.4995 12.5014 12.4995 30.1626t-12.4995 30.1626t-30.1607 12.5042zM768 170.667h-512q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653 t30.1653 -12.5013h512q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013z" /> <glyph glyph-name="airplay" unicode="" d="M213.333 213.333h-42.6667q-17.664 0 -30.1653 12.5013t-12.5013 30.1653v426.667q0 17.6639 12.5013 30.1653q12.5013 12.5013 30.1653 12.5013h682.667q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-426.667q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013h-42.6667 q-17.6613 -0.00268555 -30.1607 -12.504t-12.4995 -30.1626t12.4995 -30.1626t30.1607 -12.504h42.6667q52.992 0 90.496 37.504q37.504 37.504 37.504 90.496v426.667q0 52.9921 -37.504 90.496t-90.496 37.504h-682.667q-52.992 0 -90.496 -37.504 q-37.504 -37.504 -37.504 -90.496v-426.667q0 -52.992 37.504 -90.496q37.504 -37.504 90.496 -37.504h42.6667q17.6613 0.00270081 30.1607 12.504t12.4994 30.1626t-12.4994 30.1626t-30.1607 12.5041zM512 189.355l-122.24 -146.688h244.48zM725.333 -42.6667h-426.667 q-17.6573 0.0066185 -30.154 12.508q-12.4966 12.5013 -12.4966 30.1587q0 15.4417 9.88266 27.3067l213.333 256q12.793 15.3408 32.768 15.3408q19.9749 0 32.768 -15.3408l213.333 -256q9.88269 -11.865 9.88269 -27.3067q0 -17.6574 -12.4966 -30.1587t-30.1532 -12.508 z" /> <glyph glyph-name="align-justify" unicode="" d="M896 512h-768h-0.00653076q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013h0.00653076h768q17.6613 0.00274658 30.1607 12.5041t12.4995 30.1626q0 17.6613 -12.4995 30.1627q-12.4995 12.5013 -30.1607 12.5039zM896 682.667h-768 q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -17.6639 12.5014 -30.1653q12.5013 -12.5013 30.1653 -12.5013h768q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1654 12.5013zM896 341.333h-768q-17.6613 -0.00271606 -30.1607 -12.5041 q-12.4994 -12.5013 -12.4994 -30.1626t12.4994 -30.1627t30.1607 -12.504h768q17.6613 0.00268555 30.1607 12.504q12.4995 12.5014 12.4995 30.1626t-12.4995 30.1626t-30.1607 12.5042zM896 170.667h-768q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653 t30.1653 -12.5013h768q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013z" /> <glyph glyph-name="align-left" unicode="" d="M725.333 512h-597.333h-0.00653076q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013h0.00653076h597.333q17.6613 0.00274658 30.1607 12.5041q12.4995 12.5013 12.4995 30.1626t-12.4995 30.1627q-12.4994 12.5013 -30.1607 12.5039z M896 682.667h-768q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -17.6639 12.5014 -30.1653q12.5013 -12.5013 30.1653 -12.5013h768q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1654 12.5013zM896 341.333h-768 q-17.6613 -0.00271606 -30.1607 -12.5041q-12.4994 -12.5013 -12.4994 -30.1626t12.4994 -30.1627t30.1607 -12.504h768q17.6613 0.00268555 30.1607 12.504q12.4995 12.5014 12.4995 30.1626t-12.4995 30.1626t-30.1607 12.5042zM725.333 170.667h-597.333 q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013h597.333q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013z" /> <glyph glyph-name="align-right" unicode="" d="M896 512h-597.333h-0.00653076q-17.664 0 -30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653t12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013h0.00653076h597.333q17.6613 0.00274658 30.1607 12.5041t12.4995 30.1626q0 17.6613 -12.4995 30.1627 q-12.4995 12.5013 -30.1607 12.5039zM896 682.667h-768q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -17.6639 12.5014 -30.1653q12.5013 -12.5013 30.1653 -12.5013h768q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1654 12.5013zM896 341.333 h-768q-17.6613 -0.00271606 -30.1607 -12.5041q-12.4994 -12.5013 -12.4994 -30.1626t12.4994 -30.1627t30.1607 -12.504h768q17.6613 0.00268555 30.1607 12.504q12.4995 12.5014 12.4995 30.1626t-12.4995 30.1626t-30.1607 12.5042zM896 170.667h-597.333 q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013h597.333q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013z" /> <glyph glyph-name="arrow-down-left" unicode="" d="M737.835 670.165l-512 -512q-11.977 -12.4007 -11.977 -29.641q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.2402 0 29.641 11.977l512 512q13.0256 12.5806 13.0256 30.6896q0 17.6639 -12.5013 30.1653t-30.1653 12.5014q-18.109 0 -30.6896 -13.0256z M298.667 512q0 17.664 -12.5013 30.1653t-30.1654 12.5013q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653v-384q0 -17.664 12.5013 -30.1653t30.1653 -12.5013h384q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013h-341.333z" /> <glyph glyph-name="arrow-down-right" unicode="" d="M225.835 609.835l512 -512q12.4008 -11.977 29.641 -11.977q17.664 0 30.1653 12.5013t12.5013 30.1653q0 17.2403 -11.977 29.641l-512 512q-12.4008 11.977 -29.641 11.977q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -17.2403 11.977 -29.6411zM384 170.667 q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013h384q17.664 0 30.1653 12.5013t12.5013 30.1653v384q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013t-12.5013 -30.1653v-341.333z" /> <glyph glyph-name="anchor" unicode="" d="M554.667 2.34667q126.195 14.1451 225.518 113.468q99.323 99.3231 113.468 225.519h-82.9866q-17.6641 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653t12.5013 30.1653t30.1653 12.5013h128q17.664 0 30.1653 -12.5013t12.5013 -30.1653 q-6.10352e-05 -95.4833 -37.1695 -182.397t-100.011 -149.756q-62.8417 -62.8417 -149.755 -100.011q-86.9138 -37.1694 -182.397 -37.1694q-95.4834 0 -182.397 37.1694q-86.9139 37.1694 -149.756 100.011q-62.8417 62.8417 -100.011 149.756 q-37.1695 86.9139 -37.1694 182.397q0 17.664 12.5013 30.1653q12.5013 12.5013 30.1653 12.5013h128q17.664 0 30.1653 -12.5013t12.5013 -30.1653t-12.5013 -30.1653t-30.1653 -12.5013h-82.9867q14.1451 -126.195 113.468 -225.518q99.3231 -99.3231 225.518 -113.468 v552.32q0 17.664 12.5013 30.1653t30.1653 12.5013q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-552.32zM512 512h-0.0130615q-70.6559 0 -120.661 50.0054q-50.0053 50.0054 -50.0053 120.661q0 70.656 50.0053 120.661q50.0053 50.0053 120.661 50.0053h0.0130615 q70.6506 -0.00537109 120.652 -50.0107t50.0015 -120.656t-50.0015 -120.656q-50.0015 -50.0054 -120.652 -50.01zM512 597.333q35.3281 0 60.3307 25.0026t25.0026 60.3307t-25.0026 60.3307q-25.0027 25.0027 -60.3307 25.0027t-60.3307 -25.0027t-25.0027 -60.3306 q0 -35.328 25.0027 -60.3307t60.3307 -25.0027z" /> <glyph glyph-name="aperture" unicode="" d="M456.533 -82.0907q-111.336 13.2893 -221.472 95.5981q-110.137 82.3088 -154.421 185.319q-15.7211 36.6004 -26.8474 90.6951q-11.1263 54.0947 -11.1263 93.9286l0.000324249 0.549561q0 152.559 89.3867 275.584q2.03531 3.35077 4.65067 6.27197 q58.1998 77.6436 168.064 132.594t206.899 54.9507q25.0482 0 49.9547 -2.67023q113.129 -12.06 224.99 -94.5688q111.862 -82.5088 156.791 -187.031q37.9307 -88.129 37.9307 -185.131l0.000610352 -0.750641q0 -62.9084 -26.1905 -143.435 q-26.1905 -80.5263 -63.1968 -131.399q-2.03546 -3.35104 -4.6507 -6.272q-58.2 -77.6436 -168.064 -132.594t-206.899 -54.9507q-25.0486 0 -49.9547 2.67025q-2.92337 0.119843 -5.80267 0.639999zM441.813 6.4l94.848 164.267h-343.979 q37.2406 -55.7356 110.236 -103.866q72.9953 -48.1301 138.895 -60.4009v-0.000110149zM537.131 0.810666q66.9302 4.32825 145.101 43.5074q78.1708 39.1792 121.694 90.2099l-94.8054 164.139l-61.44 -106.24q-0.209839 -0.365189 -0.426697 -0.725327l-110.08 -190.848z M659.84 383.957l-73.8987 128.043h-147.883l-73.8987 -128l73.8987 -128h147.883l73.8987 128v-0.0429993zM746.539 404.48l109.952 -190.336q39.5093 79.9515 39.5093 169.856q0 66.2804 -21.8453 128h-189.696l61.056 -105.728q0.533508 -0.883087 1.02393 -1.79199z M149.845 256h189.696l-61.056 105.728q-0.534332 0.884827 -1.02399 1.79199l-109.952 190.336q-16.3571 -33.1335 -27.9334 -82.7343t-11.5764 -86.5517l0.000427246 -0.570068q0 -66.2804 21.8453 -128zM220.075 633.472l94.8053 -164.139l61.44 106.24 q0.210175 0.366089 0.426666 0.725342l110.08 190.848q-66.9301 -4.32819 -145.101 -43.5074q-78.1708 -39.1793 -121.694 -90.21zM582.187 761.6l-94.8481 -164.267h343.979q-37.2407 55.7356 -110.236 103.866t-138.895 60.401z" /> <glyph glyph-name="arrow-left" unicode="" d="M853.333 426.667h-682.667q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013h682.667q17.6639 0 30.1653 12.5013q12.5013 12.5013 12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013zM456.832 609.835 q13.0256 12.5806 13.0256 30.6896q0 17.664 -12.5013 30.1653t-30.1653 12.5013q-18.109 0 -30.6896 -13.0256l-256 -256q-12.4922 -12.496 -12.4922 -30.1653t12.4922 -30.1653l256 -256q12.5805 -13.0257 30.6896 -13.0257q17.664 0 30.1653 12.5013t12.5013 30.1653 q0 18.109 -13.0257 30.6897l-225.835 225.835z" /> <glyph glyph-name="arrow-right" unicode="" d="M170.667 341.333h682.667q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013h-682.667q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013zM567.168 158.165q-11.977 -12.4007 -11.977 -29.641 q0 -17.664 12.5013 -30.1653q12.5013 -12.5014 30.1653 -12.5014q17.2403 0 29.6411 11.977l256 256q12.4922 12.4961 12.4922 30.1653q0 17.6693 -12.4922 30.1653l-256 256q-12.4008 11.977 -29.641 11.977q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653 q0 -17.2404 11.977 -29.6411l225.835 -225.835z" /> <glyph glyph-name="arrow-down" unicode="" d="M469.333 725.333v-682.667q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013t30.1653 12.5013q12.5013 12.5013 12.5013 30.1653v682.667q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653z M286.165 328.832q-12.5805 13.0256 -30.6897 13.0256q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -18.1091 13.0256 -30.6896l256 -256q12.496 -12.4922 30.1653 -12.4922t30.1653 12.4922l256 256q11.977 12.4007 11.977 29.641q0 17.6639 -12.5013 30.1653 q-12.5013 12.5013 -30.1653 12.5013q-17.2403 0 -29.6411 -11.977l-225.835 -225.835z" /> <glyph glyph-name="arrow-up-left" unicode="" d="M798.165 158.165l-512 512q-12.4008 11.977 -29.641 11.977q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -17.2403 11.977 -29.6411l512 -512q12.4008 -11.977 29.641 -11.977q17.664 0 30.1653 12.5013t12.5013 30.1653q0 17.2403 -11.977 29.6411zM640 597.333 q17.664 0 30.1653 12.5013t12.5013 30.1653q0 17.6639 -12.5014 30.1653q-12.5013 12.5013 -30.1653 12.5013h-384q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653v-384q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653v341.333z" /> <glyph glyph-name="arrow-up-right" unicode="" d="M286.165 97.8347l512 512q13.0256 12.5806 13.0256 30.6896q0 17.664 -12.5013 30.1653t-30.1653 12.5013q-18.109 0 -30.6897 -13.0256l-512 -512q-11.977 -12.4007 -11.977 -29.641q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.2402 0 29.6411 11.977z M725.333 256q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653v384q0 17.664 -12.5013 30.1653t-30.1653 12.5013h-384q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -17.6639 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013 h341.333z" /> <glyph glyph-name="arrow-up" unicode="" d="M554.667 42.6667v682.667q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013t-12.5013 -30.1653v-682.667q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013t30.1653 12.5013q12.5013 12.5013 12.5013 30.1653zM737.835 439.168 q12.4007 -11.977 29.641 -11.977q17.664 0 30.1653 12.5013t12.5013 30.1653q0 17.2403 -11.977 29.641l-256 256q-12.4959 12.4922 -30.1653 12.4922q-17.6693 0 -30.1653 -12.4922l-256 -256q-11.977 -12.4008 -11.977 -29.641q0 -17.664 12.5013 -30.1653 t30.1653 -12.5013q17.2403 0 29.641 11.977l225.835 225.835z" /> <glyph glyph-name="award" unicode="" d="M304.646 283.538q-55.4456 42.419 -94.6861 121.847q-39.2405 79.4285 -39.2405 149.24q0 92.6691 45.6946 171.302q45.6946 78.6324 124.327 124.327q78.6324 45.6946 171.301 45.6946q92.669 0 171.301 -45.6946t124.327 -124.327t45.6946 -171.302 q0 -69.8111 -39.2405 -149.24q-39.2404 -79.4285 -94.6862 -121.847l48.2119 -363.21q0.377441 -2.81851 0.377441 -5.66244q0 -17.6635 -12.501 -30.1644t-30.1644 -12.501q-11.827 0 -21.9661 6.0891l-191.397 114.898l-191.397 -114.813 q-10.1196 -6.05759 -21.9136 -6.05759q-17.6635 0 -30.1644 12.5009q-12.5009 12.501 -12.5009 30.1644q0 2.80611 0.367554 5.58828l48.2119 363.21zM384.644 237.886l-31.9991 -241.059l137.383 82.4295q10.1415 6.09303 21.9727 6.09303q11.8311 0 21.9727 -6.09303 l137.383 -82.4295l-31.9564 241.059q-25.2829 -10.1566 -62.4598 -17.3448q-37.1769 -7.18817 -64.4237 -7.18817l-0.515381 0.00038147l-0.472809 -0.000335693q-27.2467 0 -64.4236 7.18819q-37.1769 7.18817 -62.4606 17.3447zM512 298.685q105.981 0 180.987 75.0058 q75.0057 75.0058 75.0057 180.987q0 105.981 -75.0057 180.987t-180.987 75.0057q-105.981 0 -180.987 -75.0057q-75.0057 -75.0057 -75.0057 -180.987q0 -105.981 75.0057 -180.987q75.0058 -75.0058 180.987 -75.0058z" /> <glyph glyph-name="bar-chart" unicode="" d="M810.667 725.333v-682.667h85.3333v682.667h-85.3333zM768 810.667h170.667q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-768q0 -17.664 -12.5013 -30.1653q-12.5013 -12.5013 -30.1653 -12.5013h-170.667q-17.664 0 -30.1653 12.5013t-12.5013 30.1653v768 q0 17.664 12.5013 30.1653t30.1653 12.5013zM469.333 512v-469.333h85.3333v469.333h-85.3333zM426.667 597.333h170.667q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-554.667q0 -17.664 -12.5013 -30.1653q-12.5013 -12.5013 -30.1654 -12.5013h-170.667v0 q-17.664 0 -30.1653 12.5013t-12.5013 30.1653v554.667q0 17.664 12.5013 30.1653t30.1654 12.5013zM128 42.6667h85.3333v256h-85.3333v-256zM85.3333 384h170.667v0q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-341.333q0 -17.664 -12.5013 -30.1653 q-12.5013 -12.5013 -30.1653 -12.5013h-170.667q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653v341.333q0 17.664 12.5013 30.1653q12.5013 12.5013 30.1653 12.5013z" /> <glyph glyph-name="at-sign" unicode="" d="M725.333 384v-42.6667q0 -35.328 25.0026 -60.3307q25.0027 -25.0027 60.3307 -25.0027t60.3307 25.0027q25.0027 25.0027 25.0027 60.3307v42.6667q-0.0065918 104.249 -51.4169 192.708q-51.4103 88.4586 -139.872 139.863q-88.4619 51.4047 -192.711 51.4047 q-104.256 0 -192.72 -51.408q-88.4642 -51.408 -139.872 -139.872q-51.408 -88.4641 -51.408 -192.72q0 -104.256 51.4079 -192.72q51.4079 -88.464 139.872 -139.872q88.4642 -51.408 192.72 -51.408q53.88 0 122.287 23.1846t111.185 55.9436 q11.4809 8.79147 25.9413 8.79147q17.6649 0 30.1669 -12.502q12.5019 -12.502 12.5019 -30.1668q0 -21.0684 -16.7274 -33.8773q-52.2835 -40.0388 -135.892 -68.3755q-83.6089 -28.3367 -149.462 -28.3367q-95.4329 7.62939e-06 -182.343 37.1879 q-86.9099 37.1879 -149.762 100.04q-62.8524 62.8524 -100.04 149.762t-37.1878 182.343q0 95.4328 37.1879 182.343q37.1879 86.91 100.04 149.762q62.8524 62.8525 149.762 100.04q86.91 37.1879 182.343 37.1879q95.4269 0 182.334 -37.1855 q86.9068 -37.1855 149.759 -100.034q62.8524 -62.8485 100.043 -149.753q37.191 -86.9045 37.197 -182.331v-42.6667v-0.00665283q0 -70.656 -50.0053 -120.661q-50.0053 -50.0053 -120.661 -50.0053q-36.4584 0 -77.2128 21.0292q-40.7543 21.0292 -61.8806 50.7428 q-26.3547 -29.7021 -73.1097 -50.7232q-46.7549 -21.0211 -86.4636 -21.0211q-88.32 0 -150.827 62.5067q-62.5067 62.5067 -62.5067 150.827q0 88.32 62.5067 150.827q62.5067 62.5067 150.827 62.5067q88.3203 0 150.827 -62.5067t62.5067 -150.827zM512 256 q52.992 0 90.496 37.504t37.504 90.496t-37.504 90.496t-90.496 37.504q-52.992 0 -90.496 -37.504t-37.504 -90.496t37.504 -90.496t90.496 -37.504z" /> <glyph glyph-name="bar-chart-" unicode="" d="M469.333 725.333v-682.667h85.3333v682.667h-85.3333zM426.667 810.667h170.667q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-768q0 -17.664 -12.5013 -30.1653q-12.5013 -12.5013 -30.1654 -12.5013h-170.667v0q-17.664 0 -30.1653 12.5013t-12.5013 30.1653v768 q0 17.664 12.5013 30.1653t30.1654 12.5013zM810.667 512v-469.333h85.3333v469.333h-85.3333zM768 597.333h170.667q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-554.667q0 -17.664 -12.5013 -30.1653q-12.5013 -12.5013 -30.1653 -12.5013h-170.667 q-17.664 0 -30.1653 12.5013t-12.5013 30.1653v554.667q0 17.664 12.5013 30.1653t30.1653 12.5013zM128 42.6667h85.3333v256h-85.3333v-256zM85.3333 384h170.667v0q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-341.333q0 -17.664 -12.5013 -30.1653 q-12.5013 -12.5013 -30.1653 -12.5013h-170.667q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653v341.333q0 17.664 12.5013 30.1653q12.5013 12.5013 30.1653 12.5013z" /> <glyph glyph-name="battery-charging" unicode="" d="M213.333 170.667h-85.3333q-17.664 0 -30.1653 12.5013t-12.5013 30.1653v341.333q0 17.664 12.5013 30.1653t30.1653 12.5013h136.107q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013h-136.107q-52.992 0 -90.496 -37.504 t-37.504 -90.496v-341.333q0 -52.992 37.504 -90.496t90.496 -37.504h85.3333q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5018zM640 597.333h85.3333q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-341.333q0 -17.664 -12.5013 -30.1653 t-30.1653 -12.5013h-136.107q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013h136.107q52.992 0 90.496 37.504q37.504 37.504 37.504 90.496v341.333q0 52.9921 -37.504 90.496t-90.496 37.504h-85.3333q-17.664 0 -30.1653 -12.5013 t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5018zM1024 341.333v85.3333q-0.00274658 17.6613 -12.504 30.1607q-12.5013 12.4994 -30.1627 12.4994q-17.6612 0 -30.1625 -12.4994t-12.5041 -30.1607v-85.3333q0.00280762 -17.6613 12.5041 -30.1607 q12.5013 -12.4994 30.1626 -12.4994t30.1626 12.4995q12.5013 12.4994 12.504 30.1606zM348.501 151.68q-7.17331 -10.7536 -7.17331 -23.68q0 -17.6662 12.5029 -30.1691t30.1691 -12.5029q9.45151 0 19.8526 5.56464t15.6461 13.4273l170.667 256 q7.17438 10.7532 7.17438 23.68q0 17.664 -12.5013 30.1653t-30.1653 12.5013h-0.00634766h-176.256l126.421 189.653q7.17334 10.7535 7.17334 23.68q0 17.6662 -12.5029 30.1691t-30.1691 12.5029q-9.45157 0 -19.8526 -5.56464t-15.6461 -13.4274l-170.667 -256 q-7.17438 -10.7531 -7.17438 -23.68q0 -17.664 12.5013 -30.1653t30.1653 -12.5013h0.00637817h176.256z" /> <glyph glyph-name="bell-off" unicode="" d="M386.503 734.704q24.2355 13.6781 61.083 23.3583t64.6765 9.68018q105.93 0 180.899 -74.9695t74.9695 -180.899l-6.10352e-05 -0.201935v-170.579q0 -17.6549 12.4949 -30.1499t30.1498 -12.4949t30.1498 12.4949q12.495 12.4949 12.495 30.1499v170.579v0.103027 q0 92.6244 -45.6725 171.219q-45.6725 78.5944 -124.267 124.267q-78.5945 45.6726 -171.219 45.6725q-37.0944 0 -86.2119 -12.9q-49.1176 -12.8999 -81.4248 -31.1272q-9.67725 -4.90186 -16.5261 -16.0483q-6.84885 -11.1465 -6.84885 -21.9944 q0 -17.655 12.4949 -30.1499t30.1499 -12.4949q12.2341 0 22.608 6.48505zM256.394 298.448v213.224l-0.000213623 0.319336q0 25.7414 8.35916 60.1463q8.35916 34.4048 20.1704 57.2766q4.76233 9.21893 4.76233 19.5953q0 17.6757 -12.5096 30.1853t-30.1853 12.5096 q-10.7639 0 -21.8781 -6.76819t-16.0544 -16.3314q-15.7131 -30.4649 -26.8337 -76.2859q-11.1207 -45.8209 -11.1207 -80.0994l0.00050354 -0.590179v-213.181q0 -35.3099 -24.9899 -60.2997q-24.9899 -24.9899 -60.2997 -24.9899q-26.8437 0 -37.897 -21.3224 t-7.62939e-06 -42.6448q11.0533 -21.3224 37.897 -21.3224h639.672q17.6549 0 30.1498 12.4949t12.4949 30.1499t-12.4949 30.1499t-30.1498 12.4949h-491.908q22.815 39.4564 22.8152 85.2893zM549.151 21.3421q-5.10254 -8.79616 -15.9106 -15.0215 q-10.8082 -6.22534 -20.9771 -6.22534q-10.169 0 -20.9771 6.22532q-10.8081 6.22531 -15.9106 15.0215q-5.1037 8.79417 -15.9118 15.0181q-10.8081 6.22391 -20.976 6.22392q-17.657 0 -30.1533 -12.4964t-12.4963 -30.1533q0 -11.4792 5.76193 -21.4077 q15.3076 -26.3886 47.7319 -45.0645q32.4243 -18.676 62.9314 -18.676q30.507 0 62.9313 18.676t47.7319 45.0645q5.7619 9.92851 5.7619 21.4077q0 17.657 -12.4963 30.1533t-30.1533 12.4963q-10.1678 0 -20.9759 -6.22391q-10.8082 -6.22391 -15.912 -15.018z M13.0202 822.68l938.185 -938.185q12.3944 -11.9709 29.6259 -11.9709q17.6549 0 30.1498 12.4949t12.4949 30.1499q0 17.2314 -11.9709 29.6259l-938.185 938.185q-12.5741 13.0188 -30.6737 13.0188q-17.655 0 -30.1499 -12.4949t-12.4949 -30.1499 q0 -18.0996 13.0188 -30.6738z" /> <glyph glyph-name="battery" unicode="" d="M85.3342 554.283v-340.565q0 -17.8071 12.4663 -30.4289t29.987 -12.6218h597.76q17.5599 0 30.0067 12.5934q12.4467 12.5934 12.4467 30.4572v340.523q0 17.8358 -12.4647 30.4645t-29.9886 12.6288h-597.76q-17.56 0 -30.0066 -12.5934 q-12.4467 -12.5934 -12.4468 -30.4578zM0.000856369 554.283l-0.000455675 0.341614q0 52.904 37.4416 90.4204q37.4416 37.5164 90.3455 37.622h597.76q52.9038 -0.158447 90.3453 -37.7123q37.4415 -37.5538 37.4415 -90.4578l-0.000183105 -0.213928v-340.565 l0.000427246 -0.341568q0 -52.904 -37.4416 -90.4204q-37.4416 -37.5164 -90.3455 -37.622h-597.76q-52.9038 0.158432 -90.3453 37.7123q-37.4415 37.5538 -37.4415 90.4578l0.000178494 0.213898v340.523zM1024 341.333v85.3333q-0.00274658 17.6613 -12.504 30.1607 q-12.5013 12.4994 -30.1627 12.4994q-17.6612 0 -30.1625 -12.4994t-12.5041 -30.1607v-85.3333q0.00280762 -17.6613 12.5041 -30.1607q12.5013 -12.4994 30.1626 -12.4994t30.1626 12.4995q12.5013 12.4994 12.504 30.1606z" /> <glyph glyph-name="bluetooth" unicode="" d="M554.66 17.7251l131.649 131.649l-131.649 131.649v-263.298zM686.309 618.635l-131.649 131.649v-263.298zM247.209 588.474q-11.9752 12.3987 -11.9752 29.6365q0 17.6613 12.4994 30.1606q12.4994 12.4994 30.1607 12.4994q17.2377 0 29.6365 -11.9752 l469.261 -469.261q12.4903 -12.4941 12.4903 -30.1607q0 -17.6666 -12.4903 -30.1607l-234.63 -234.63q-20.1569 -20.1573 -46.4888 -9.2519t-26.3319 39.4126v938.522q0 28.4818 26.3319 39.3965q26.3319 10.9147 46.4888 -9.2359l234.63 -234.63 q12.4903 -12.4941 12.4903 -30.1606q0 -17.6666 -12.4903 -30.1607l-469.261 -469.261q-12.5786 -13.0236 -30.6849 -13.0236q-17.6613 0 -30.1607 12.4994q-12.4994 12.4994 -12.4994 30.1607q0 18.1062 13.0236 30.6849l307.451 307.451v-205.963z" /> <glyph glyph-name="bell" unicode="" d="M768 298.667v213.333q0 106 -75 181t-181 75t-181 -75t-75 -181v-213.333q0 -45.8566 -22.8267 -85.3333h557.653q-9.45038 16.3397 -16.1387 41.2627q-6.68823 24.923 -6.68823 43.7987zM938.667 128h-853.333q-26.8575 0 -37.9164 21.3333q-11.059 21.3333 0 42.6667 q11.059 21.3333 37.9164 21.3333v0q35.328 0 60.3307 25.0027q25.0027 25.0027 25.0027 60.3307v213.333q0 92.6718 45.696 171.307q45.696 78.6348 124.331 124.331q78.6348 45.696 171.307 45.696q92.6718 0 171.307 -45.696q78.6348 -45.6959 124.331 -124.331 q45.696 -78.6348 45.696 -171.307v-213.333q0 -35.3281 25.0026 -60.3307t60.3307 -25.0026q26.8575 0 37.9164 -21.3333q11.059 -21.3333 0 -42.6667q-11.059 -21.3333 -37.9181 -21.3334zM548.907 21.4187q-5.10504 -8.80073 -15.9188 -15.0292 q-10.8137 -6.2285 -20.9879 -6.2285t-20.9879 6.22851t-15.9188 15.0292q-5.10635 8.79868 -15.92 15.0258q-10.8136 6.2271 -20.9867 6.2271q-17.666 0 -30.1688 -12.5028q-12.5027 -12.5028 -12.5027 -30.1688q0 -11.4851 5.76489 -21.4187 q15.3155 -26.4021 47.7563 -45.0877q32.4409 -18.6855 62.9636 -18.6855q30.5226 0 62.9636 18.6855q32.441 18.6855 47.7564 45.0877q5.76489 9.93337 5.76489 21.4187q0 17.666 -12.5027 30.1688q-12.5028 12.5028 -30.1688 12.5028q-10.173 0 -20.9867 -6.22711 q-10.8137 -6.22711 -15.9199 -15.0258z" /> <glyph glyph-name="book" unicode="" d="M853.333 853.333q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-853.333q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013h-576v0q-61.824 0 -105.579 43.7547q-43.7547 43.7547 -43.7546 105.579v640q0 61.824 43.7547 105.579q43.7547 43.7546 105.579 43.7546z M810.667 213.333v554.667h-533.333v0q-26.496 0 -45.248 -18.752t-18.752 -45.248v-505.045q30.2801 14.3788 63.8008 14.3788l0.199219 -0.000137329zM810.667 128h-533.333q-26.496 0 -45.248 -18.752t-18.752 -45.248t18.752 -45.248t45.248 -18.752h533.333v128z" /> <glyph glyph-name="briefcase" unicode="" d="M298.667 640v42.6667q0 52.992 37.504 90.496q37.504 37.504 90.496 37.504h170.667q52.9921 0 90.496 -37.504t37.504 -90.496v-42.6667h128.427q52.8156 -0.140747 90.1947 -37.6196t37.3791 -90.2946l-0.000488281 -0.341827v-426.155l6.10352e-05 -0.129181 q0 -52.8158 -37.379 -90.357q-37.379 -37.5412 -90.1943 -37.7698h-683.52q-52.8156 0.140743 -90.1947 37.6196q-37.3791 37.4789 -37.3791 90.2946l0.000457764 0.341789v426.155l-6.48499e-05 0.129211q0 52.8159 37.379 90.357q37.379 37.5412 90.1944 37.7698z M298.667 554.667h-128.427q-17.3182 0 -29.7791 -12.6166q-12.4609 -12.6167 -12.4609 -30.3061v-426.155l-0.00138092 -0.342674q0 -17.4885 12.3767 -29.9644t29.8647 -12.6156h128.427v512zM384 554.667v-512h256v512h-256zM725.333 554.667v-512h128.427 q17.3182 0 29.7791 12.6167q12.4609 12.6167 12.4609 30.306v426.155l0.00140381 0.342712q0 17.4886 -12.3767 29.9645t-29.8647 12.6155zM384 640h256v42.6667q0 17.664 -12.5013 30.1653t-30.1653 12.5013h-170.667v0q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653z " /> <glyph glyph-name="camera-off" unicode="" d="M682.885 273.415l328.621 -328.621q11.9709 -12.3944 11.9709 -29.6259q0 -17.6549 -12.4949 -30.1499t-30.1498 -12.4949q-17.2314 0 -29.6259 11.9709l-72.7947 72.7947h-749.951q-52.9648 0 -90.4496 37.4848q-37.4848 37.4848 -37.4848 90.4496v469.093 q0 52.9648 37.4848 90.4496q37.4848 37.4847 90.4496 37.4847h24.9899l-140.429 140.429q-13.0186 12.5742 -13.0186 30.6736q0 17.6549 12.4949 30.1498q12.4949 12.4949 30.1499 12.4949q18.0995 0 30.6736 -13.0186l371.266 -371.266l1.1514 -1.10876l236.039 -236.039z M654.014 181.729q-25.1688 -22.6226 -66.9322 -38.6333t-75.6049 -16.0107q-88.2747 0 -150.749 62.4746t-62.4746 150.749q0 33.8272 15.9988 75.5775t38.6047 66.9148l-114.117 114.16h-110.279q-17.6549 0 -30.1499 -12.4949q-12.4949 -12.4949 -12.4949 -30.1498 v-469.093q0 -17.6549 12.4949 -30.1499q12.4949 -12.4949 30.1499 -12.4949h664.662l-139.107 139.107zM593.544 242.157l-180.217 180.217q-12.3462 -14.7534 -21.0838 -38.8099q-8.7377 -24.0565 -8.7377 -43.2942q0 -52.9648 37.4848 -90.4496 q37.4848 -37.4848 90.4496 -37.4848q19.2376 0 43.2942 8.73773t38.8099 21.0838zM690.006 615.938q5.2417 -7.85645 15.6356 -13.4167t19.8384 -5.56024h0.00640869h170.579v0q17.6549 0 30.1498 -12.4949t12.4949 -30.1498v-398.302q0 -17.6549 12.4949 -30.1499 q12.4949 -12.4949 30.1498 -12.4949t30.1499 12.4949t12.4949 30.1499v398.302q0 52.9649 -37.4847 90.4496t-90.4496 37.4847h-147.764l-72.6241 108.957q-5.2417 7.85638 -15.6356 13.4167q-10.3939 5.56024 -19.8385 5.56024h-0.00634766h-255.869 q-17.6549 0 -30.1499 -12.4949t-12.4949 -30.1498q0 -17.655 12.4949 -30.1499t30.1499 -12.4949h233.054z" /> <glyph glyph-name="calendar" unicode="" d="M384 768h256v42.6667q0.00268555 17.6613 12.504 30.1607q12.5013 12.4995 30.1627 12.4995q17.6613 0 30.1625 -12.4995q12.5013 -12.4995 12.5041 -30.1607v-42.6667h85.5467q52.9037 0 90.3452 -37.4415t37.4415 -90.3452v-597.76q0 -52.9037 -37.4415 -90.3452 q-37.4415 -37.4415 -90.3452 -37.4415h-597.76q-52.9037 7.62939e-06 -90.3452 37.4415q-37.4415 37.4415 -37.4415 90.3452v597.76v0q0 52.9037 37.4415 90.3452t90.3452 37.4415h85.5467v42.6667v0.00653076q0 17.6641 12.5013 30.1654t30.1653 12.5013t30.1653 -12.5013 t12.5013 -30.1653v-0.00653076zM853.333 426.667h-682.667v-384.213q0 -17.6 12.4267 -30.0267t30.0267 -12.4267h597.76q17.6 0 30.0266 12.4267q12.4267 12.4267 12.4267 30.0267zM384 682.667v-42.6667v-0.00653076q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013 t-30.1653 12.5013t-12.5013 30.1653v0.00653076v42.6667h-85.5467q-17.5757 0 -30.0145 -12.4388t-12.4388 -30.0145v-128.213h682.667v128.213v0q0 17.5756 -12.4388 30.0145t-30.0145 12.4389h-85.5467v-42.6667q-0.00262451 -17.6613 -12.504 -30.1607 q-12.5014 -12.4995 -30.1627 -12.4995t-30.1626 12.4994q-12.5013 12.4995 -12.504 30.1608v42.6667z" /> <glyph glyph-name="bookmark" unicode="" d="M768 82.9013v599.765q0 17.664 -12.5013 30.1653t-30.1653 12.5013h-426.667q-17.664 0 -30.1653 -12.5013q-12.5013 -12.5014 -12.5013 -30.1653v-599.765l231.211 165.12q11.1231 7.94011 24.7893 7.94011q13.6661 0 24.7893 -7.94011l231.211 -165.077z M238.123 -34.7307q-11.123 -7.94011 -24.7893 -7.94011q-17.664 0 -30.1653 12.5013t-12.5013 30.1653v0.00411371v682.667q0 52.992 37.504 90.496q37.504 37.504 90.496 37.504h426.667q52.992 0 90.496 -37.504q37.504 -37.504 37.504 -90.496v-682.667v-0.00411473 q0 -17.664 -12.5013 -30.1653q-12.5013 -12.5013 -30.1653 -12.5013q-13.6663 0 -24.7893 7.94011l-273.877 195.627z" /> <glyph glyph-name="box" unicode="" d="M568.96 872.363l341.333 -170.667q29.4041 -14.6111 50.2188 -48.1898q20.8147 -33.5787 20.8212 -66.4129v-406.613q-0.0174561 -32.7947 -20.8072 -66.3483q-20.7897 -33.5536 -50.1475 -48.1691l-341.333 -170.667q-27.0328 -13.521 -57.2587 -13.521 q-30.2257 0 -57.2587 13.521l-341.461 170.709q-29.1463 14.6639 -49.7741 48.1331t-20.6277 66.0965q0 0.336395 0.0017662 0.671646v406.187q0.0174561 32.7947 20.8072 66.3483q20.7897 33.5536 50.1475 48.169l341.419 170.752q26.9103 13.3721 56.96 13.3721 t56.9594 -13.3716zM512 474.368l331.051 165.547l-312.107 156.032q-8.94257 4.43054 -18.9227 4.43054t-18.9227 -4.43054l-312.149 -155.989zM896 570.965l-341.333 -170.667v-416.811l317.653 158.848q9.7868 4.86314 16.7251 16.0393q6.93829 11.1762 6.9549 22.1047 v390.486zM469.333 -16.7253v417.024l-341.333 170.667v-390.357q-0.209038 -26.4787 23.3387 -38.3573z" /> <glyph glyph-name="camera" unicode="" d="M334.165 616.32q-5.24442 -7.86047 -15.6436 -13.4236t-19.8486 -5.56311h-0.00640869h-170.667q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653v-469.333q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013h768q17.664 0 30.1653 12.5013 q12.5013 12.5013 12.5013 30.1653v469.333q0 17.664 -12.5013 30.1653t-30.1653 12.5013h-170.667h-0.00640869q-9.4494 0 -19.8486 5.56311t-15.6436 13.4236l-72.6613 109.013h-210.347zM896 682.667q52.992 0 90.496 -37.504q37.504 -37.504 37.504 -90.496v-469.333 q0 -52.992 -37.504 -90.496q-37.504 -37.504 -90.496 -37.504h-768q-52.992 0 -90.496 37.504q-37.504 37.504 -37.504 90.496v469.333q0 52.992 37.504 90.496q37.504 37.504 90.496 37.504h147.84l72.6613 109.013q5.24438 7.86047 15.6436 13.4236t19.8486 5.56311 h0.00637817h256h0.00640869q9.4494 0 19.8487 -5.56311q10.3992 -5.56311 15.6436 -13.4236l72.6613 -109.013h147.84zM512 128q-88.32 0 -150.827 62.5067q-62.5067 62.5067 -62.5067 150.827q0 88.32 62.5067 150.827q62.5067 62.5067 150.827 62.5067 q88.3201 0 150.827 -62.5067q62.5067 -62.5067 62.5067 -150.827q0 -88.32 -62.5067 -150.827q-62.5067 -62.5067 -150.827 -62.5067zM512 213.333q52.992 0 90.496 37.504q37.504 37.504 37.504 90.496t-37.504 90.496q-37.504 37.504 -90.496 37.504 q-52.992 0 -90.496 -37.504t-37.504 -90.496t37.504 -90.496t90.496 -37.504z" /> <glyph glyph-name="check-circle" unicode="" d="M896 423.68v-39.68q-0.071167 -104.185 -51.5044 -192.588q-51.4332 -88.4038 -139.872 -139.777q-88.4388 -51.3728 -192.623 -51.3728q-104.256 0 -192.72 51.4079q-88.464 51.4079 -139.872 139.872q-51.4079 88.4642 -51.4079 192.72q0 104.256 51.4079 192.72 q51.4079 88.4641 139.872 139.872q88.4641 51.4079 192.72 51.408q33.8154 0 79.6076 -9.74036q45.7922 -9.7403 76.6804 -23.5032q8.75024 -4.19781 18.4551 -4.19781q17.664 0 30.1653 12.5013t12.5013 30.1653q0 11.8196 -7.7326 23.3757t-18.6585 16.0648 q-37.752 16.8212 -93.7204 28.7261q-55.9684 11.9049 -97.2982 11.9049q-95.4329 0 -182.343 -37.1879q-86.9099 -37.1878 -149.762 -100.04q-62.8525 -62.8525 -100.04 -149.762q-37.1878 -86.9099 -37.1878 -182.343q0 -95.4329 37.1879 -182.343 q37.1879 -86.9099 100.04 -149.762q62.8524 -62.8524 149.762 -100.04q86.9099 -37.1879 182.343 -37.1879q95.387 0 182.273 37.17t149.738 99.9922q62.8524 62.8222 100.064 149.69q37.2116 86.8678 37.2576 182.255v39.7227q-0.00268555 17.6613 -12.504 30.1607 t-30.1627 12.4994t-30.1626 -12.4994q-12.5012 -12.4995 -12.504 -30.1607zM414.165 456.832q-12.4007 11.977 -29.641 11.977q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -17.2403 11.977 -29.641l128 -128q12.4961 -12.4922 30.1653 -12.4922 q17.6694 0 30.1653 12.4922l469.333 469.333q13.0256 12.5806 13.0256 30.6896q0 17.6639 -12.5013 30.1653t-30.1653 12.5014q-18.1089 0 -30.6897 -13.0256l-439.168 -439.168z" /> <glyph glyph-name="check" unicode="" d="M200.832 371.499q-12.5806 13.0256 -30.6896 13.0256q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -18.1091 13.0256 -30.6896l213.333 -213.333q12.496 -12.4922 30.1653 -12.4922t30.1653 12.4922l469.333 469.333q13.0256 12.5806 13.0256 30.6896 q0 17.664 -12.5013 30.1653t-30.1653 12.5013q-18.1091 0 -30.6896 -13.0256l-439.168 -439.168z" /> <glyph glyph-name="check-square" unicode="" d="M371.499 456.832q-12.4007 11.977 -29.641 11.977q-17.664 0 -30.1653 -12.5013q-12.5014 -12.5013 -12.5014 -30.1653q0 -17.2403 11.9771 -29.641l128 -128q12.496 -12.4922 30.1653 -12.4922t30.1653 12.4922l469.333 469.333q13.0256 12.5806 13.0256 30.6896 q0 17.664 -12.5013 30.1653t-30.1653 12.5013q-18.109 0 -30.6897 -13.0256l-439.168 -439.168zM810.667 384v-298.667q0 -17.664 -12.5014 -30.1653q-12.5013 -12.5013 -30.1653 -12.5013h-597.333q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653v597.333 q0 17.6639 12.5013 30.1653q12.5013 12.5013 30.1653 12.5013h469.333q17.664 0 30.1653 12.5013t12.5013 30.1653q0 17.6641 -12.5013 30.1653t-30.1653 12.5013h-469.333q-52.992 0 -90.496 -37.504q-37.504 -37.504 -37.504 -90.496v-597.333q0 -52.992 37.504 -90.496 q37.504 -37.504 90.496 -37.504h597.333q52.9919 0 90.496 37.504q37.5041 37.504 37.504 90.496v298.667q-0.00262451 17.6613 -12.504 30.1607q-12.5013 12.4994 -30.1627 12.4994q-17.6613 0 -30.1626 -12.4994t-12.504 -30.1604z" /> <glyph glyph-name="cast" unicode="" d="M76.8 167.253q45.7759 -9.33572 84.7801 -48.3399q39.0042 -39.0042 48.3399 -84.7801q2.88464 -14.1347 15.136 -24.1383q12.2513 -10.0036 26.6774 -10.0036q17.6675 0 30.1714 12.5038q12.5038 12.5038 12.5038 30.1714q0 4.31031 -0.861877 8.53333 q-14.0036 68.6639 -72.5098 127.17q-58.5062 58.5063 -127.17 72.5098q-4.22308 0.861862 -8.53333 0.861862q-17.6675 0 -30.1714 -12.5038t-12.5038 -30.1714q0 -14.4261 10.0036 -26.6774t24.138 -15.1357zM80.64 339.456q112.327 -12.5032 200.661 -100.85 q88.3345 -88.3469 100.822 -200.675q1.75394 -15.7064 14.1803 -26.8224q12.4263 -11.1159 28.2304 -11.1159q17.6671 0 30.1707 12.5036q12.5036 12.5036 12.5036 30.1707q0 2.37547 -0.263641 4.736q-10.2436 92.0775 -64.3387 175.259q-54.0951 83.1815 -137.277 137.277 t-175.259 64.3387q-2.36087 0.263611 -4.736 0.263611q-17.6671 0 -30.1707 -12.5036q-12.5036 -12.5035 -12.5036 -30.1707q0 -15.8041 11.1159 -28.2304t26.8224 -14.1802zM128 554.667v85.3333q0 17.664 12.5013 30.1653t30.1653 12.5013h682.667 q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-512q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013h-256q-17.6613 -0.00269318 -30.1607 -12.504q-12.4995 -12.5013 -12.4995 -30.1626t12.4995 -30.1626q12.4995 -12.5013 30.1607 -12.504h256q52.992 0 90.496 37.504 q37.504 37.504 37.504 90.496v512q0 52.992 -37.504 90.496q-37.504 37.504 -90.496 37.504h-682.667q-52.992 0 -90.496 -37.504t-37.504 -90.496v-85.3333v-0.00653076q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013t30.1653 12.5013 q12.5013 12.5013 12.5013 30.1653zM85.3333 42.6667zM42.6667 42.6667v-0.00653076q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013t30.1653 12.5013q12.5013 12.5013 12.5013 30.1653v0.00653076v0.00653076q0 17.664 -12.5013 30.1653 q-12.5013 12.5013 -30.1653 12.5013t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653v-0.00653458z" /> <glyph glyph-name="chevron-down" unicode="" d="M286.165 542.165q-12.4008 11.977 -29.641 11.977q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -17.2402 11.977 -29.641l256 -256q12.496 -12.4922 30.1653 -12.4922q17.6694 0 30.1653 12.4922l256 256q13.0256 12.5806 13.0256 30.6897 q0 17.6641 -12.5013 30.1653q-12.5013 12.5013 -30.1653 12.5013q-18.1091 0 -30.6897 -13.0257l-225.835 -225.835z" /> <glyph glyph-name="chevron-left" unicode="" d="M670.165 609.835q13.0256 12.5806 13.0256 30.6896q0 17.664 -12.5013 30.1653t-30.1653 12.5013q-18.109 0 -30.6897 -13.0256l-256 -256q-12.4922 -12.496 -12.4922 -30.1653t12.4922 -30.1653l256 -256q12.4008 -11.977 29.641 -11.977q17.664 0 30.1653 12.5013 t12.5013 30.1653q0 17.2403 -11.977 29.641l-225.835 225.835z" /> <glyph glyph-name="chevron-right" unicode="" d="M353.835 158.165q-11.977 -12.4007 -11.977 -29.641q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.2403 0 29.641 11.977l256 256q12.4922 12.4961 12.4922 30.1653q0 17.6693 -12.4922 30.1653l-256 256q-12.4007 11.977 -29.641 11.977 q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -17.2404 11.977 -29.6411l225.835 -225.835z" /> <glyph glyph-name="chevron-up" unicode="" d="M737.835 225.835q12.4008 -11.977 29.641 -11.977q17.664 0 30.1653 12.5013t12.5013 30.1653q0 17.2403 -11.977 29.641l-256 256q-12.496 12.4922 -30.1653 12.4922t-30.1653 -12.4922l-256 -256q-11.977 -12.4007 -11.977 -29.641q0 -17.664 12.5013 -30.1653 t30.1653 -12.5013q17.2403 0 29.641 11.977l225.835 225.835z" /> <glyph glyph-name="chevrons-down" unicode="" d="M328.832 371.499q-12.5805 13.0256 -30.6896 13.0256q-17.664 0 -30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653q0 -18.1091 13.0257 -30.6896l213.333 -213.333q12.496 -12.4922 30.1653 -12.4922q17.6694 0 30.1653 12.4922l213.333 213.333 q11.9771 12.4008 11.9771 29.641q0 17.664 -12.5013 30.1653t-30.1653 12.5013q-17.2403 0 -29.6411 -11.9771l-183.168 -183.168zM328.832 670.165q-12.4007 11.977 -29.641 11.977q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -17.2402 11.977 -29.6411 l213.333 -213.333q12.496 -12.4922 30.1653 -12.4922q17.6694 0 30.1653 12.4922l213.333 213.333q13.0256 12.5806 13.0256 30.6896q0 17.6639 -12.5013 30.1653t-30.1653 12.5014q-18.1089 0 -30.6897 -13.0256l-183.168 -183.168z" /> <glyph glyph-name="chevrons-right" unicode="" d="M524.501 200.832q-11.9771 -12.4008 -11.9771 -29.641q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.2403 0 29.6411 11.977l213.333 213.333q12.4922 12.4961 12.4922 30.1653q0 17.6693 -12.4922 30.1653l-213.333 213.333q-12.4008 11.9771 -29.6411 11.9771 q-17.6641 0 -30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653q0 -17.2404 11.977 -29.6411l183.168 -183.168zM225.835 200.832q-11.977 -12.4008 -11.977 -29.641q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.2403 0 29.641 11.977l213.333 213.333 q12.4922 12.496 12.4922 30.1653t-12.4922 30.1653l-213.333 213.333q-12.4007 11.977 -29.641 11.977q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -17.2403 11.977 -29.6411l183.168 -183.168z" /> <glyph glyph-name="chevrons-up" unicode="" d="M695.168 396.501q12.4008 -11.977 29.6411 -11.977q17.6639 0 30.1653 12.5013t12.5013 30.1653q0 17.2403 -11.977 29.641l-213.333 213.333q-12.4959 12.4922 -30.1653 12.4922q-17.6693 0 -30.1653 -12.4922l-213.333 -213.333q-11.977 -12.4007 -11.977 -29.641 q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.2403 0 29.641 11.9771l183.168 183.168zM512 281.003l183.168 -183.168q12.4008 -11.977 29.641 -11.977q17.664 0 30.1653 12.5013t12.5013 30.1653q0 17.2403 -11.977 29.641l-213.333 213.333 q-12.4959 12.4922 -30.1653 12.4922q-17.6693 0 -30.1653 -12.4922l-213.333 -213.333q-11.977 -12.4007 -11.977 -29.641q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.2403 0 29.641 11.977z" /> <glyph glyph-name="chevrons-left" unicode="" d="M499.499 567.168q13.0256 12.5805 13.0256 30.6896q0 17.664 -12.5013 30.1653t-30.1653 12.5013q-18.1091 0 -30.6896 -13.0256l-213.333 -213.333q-12.4922 -12.496 -12.4922 -30.1653t12.4922 -30.1653l213.333 -213.333q12.4007 -11.977 29.641 -11.977 q17.664 0 30.1653 12.5013t12.5013 30.1653q0 17.2403 -11.9771 29.641l-183.168 183.168zM798.165 567.168q13.0256 12.5806 13.0256 30.6896q0 17.6641 -12.5013 30.1654t-30.1653 12.5013q-18.109 0 -30.6897 -13.0256l-213.333 -213.333 q-12.4922 -12.4961 -12.4922 -30.1653q0 -17.6693 12.4922 -30.1653l213.333 -213.333q12.4008 -11.977 29.641 -11.977q17.664 0 30.1653 12.5013t12.5013 30.1653q0 17.2403 -11.977 29.641l-183.168 183.168z" /> <glyph glyph-name="circle" unicode="" d="M512 -85.3333q-95.4834 0 -182.397 37.1694t-149.756 100.011t-100.011 149.756q-37.1694 86.9139 -37.1694 182.397q0 95.4834 37.1694 182.397q37.1694 86.9138 100.011 149.755q62.8417 62.8417 149.756 100.011q86.9138 37.1694 182.397 37.1694 q95.4833 0 182.397 -37.1694t149.756 -100.011q62.8417 -62.8417 100.011 -149.755t37.1694 -182.397q0 -95.4833 -37.1694 -182.397t-100.011 -149.756q-62.8417 -62.8417 -149.755 -100.011q-86.9138 -37.1694 -182.398 -37.1694zM512 -2.87646e-06 q104.256 0 192.72 51.408q88.4642 51.408 139.872 139.872q51.408 88.4641 51.408 192.72q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5q0 -104.256 51.4079 -192.72q51.4079 -88.4642 139.872 -139.872t192.72 -51.408z" /> <glyph glyph-name="clipboard" unicode="" d="M298.667 768q0.160065 35.2517 25.1404 60.2925q24.9804 25.0408 60.0649 25.0408h256.256q35.3231 0 60.1841 -24.9042q24.8611 -24.9042 25.0212 -60.4291h42.6667q53 0 90.5 -37.5t37.5 -90.5v-597.333q0 -52.992 -37.504 -90.496q-37.504 -37.504 -90.496 -37.504 h-512q-52.992 0 -90.496 37.504q-37.504 37.504 -37.504 90.496v597.333q0 53 37.5 90.5t90.5 37.5h42.6667zM298.667 682.667h-42.6667q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653v-597.333q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013h512 q17.664 0 30.1653 12.5013q12.5013 12.5013 12.5013 30.1653v597.333q0 17.664 -12.5013 30.1653t-30.1653 12.5013h-42.6667q-0.160034 -35.2516 -25.1404 -60.2925t-60.0649 -25.0408h-256.256q-35.275 0.0176392 -60.2402 24.9954q-24.9652 24.9777 -24.9652 60.2526z M383.872 768l0.127991 -0.426697v-84.48l-0.0852966 -0.426636h256.213l-0.127991 0.426636v84.48l0.0853271 0.426697h-256.213z" /> <glyph glyph-name="chrome" unicode="" d="M462.379 -82.7733q-2.9249 0.141014 -5.80267 0.682663q-115.259 13.5661 -209.988 78.4471t-149.325 167.173q-54.5962 102.292 -54.5962 220.47q0 152.559 89.3867 275.584q2.03531 3.35077 4.65067 6.27197q58.2007 77.6157 168.05 132.547 q109.849 54.9309 206.862 54.9309l0.38382 -0.000183105h0.0444336q128.035 0 254.41 -83.2589q126.375 -83.2588 176.905 -200.901q37.9733 -88.2731 37.9733 -185.173q0 -95.4833 -37.1694 -182.397q-37.1694 -86.9139 -100.011 -149.756 q-62.8417 -62.8417 -149.755 -100.011q-86.9138 -37.1694 -182.397 -37.1694q-25.1093 0 -49.6217 2.55989zM441.771 6.4l95.616 165.76q-12.6666 -1.52039 -25.4241 -1.52039q-53.5173 0 -108.925 33.574q-55.4075 33.574 -80.1792 81.0131l-155.307 268.672 q-16.3747 -33.1481 -27.9635 -82.7742q-11.5888 -49.626 -11.5888 -86.598l0.000366211 -0.52652q0 -139.969 89.4003 -246.316q89.4003 -106.348 224.371 -131.284zM537.088 0.810669q97.4761 6.35225 180.188 59.9092q82.7114 53.557 130.776 139.576 q48.0649 86.0191 48.0649 183.702q0 65.8853 -21.9621 128.002h-191.488q42.6667 -56.7984 42.6667 -128q0 -61.9263 -33.024 -114.091zM619.477 314.453l3.20001 5.54666q0.947571 1.67657 1.79199 2.85867q15.5053 28.5639 15.5053 61.0651q0 52.992 -37.504 90.496 t-90.496 37.504t-90.496 -37.504t-37.504 -90.496q0 -30.7109 13.9347 -58.0784l3.41333 -5.84534q0.778473 -1.31683 1.53601 -2.90134q15.4878 -25.3376 47.4659 -43.2697q31.9781 -17.9322 61.6743 -17.9322q28.852 0 60.3432 17.1571q31.4911 17.1571 47.1353 41.3995z M220.16 633.515l95.7013 -165.589q22.9308 53.5691 80.3994 91.4857q57.4686 37.9166 115.739 37.9223h319.317q-47.1544 70.656 -140.646 120.661t-178.437 50.0054l-0.234497 -6.10352e-05l-0.430847 0.000244141q-73.1831 0 -158.591 -39.4043 q-85.4079 -39.4042 -132.904 -95.0813h0.0866547z" /> <glyph glyph-name="clock" unicode="" d="M512 -85.3333q-95.4834 0 -182.397 37.1694t-149.756 100.011t-100.011 149.756q-37.1694 86.9139 -37.1694 182.397q0 95.4834 37.1694 182.397q37.1694 86.9138 100.011 149.755q62.8417 62.8417 149.756 100.011q86.9138 37.1694 182.397 37.1694 q95.4833 0 182.397 -37.1694t149.756 -100.011q62.8417 -62.8417 100.011 -149.755t37.1694 -182.397q0 -95.4833 -37.1694 -182.397t-100.011 -149.756q-62.8417 -62.8417 -149.755 -100.011q-86.9138 -37.1694 -182.398 -37.1694zM512 -2.87646e-06 q104.256 0 192.72 51.408q88.4642 51.408 139.872 139.872q51.408 88.4641 51.408 192.72q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5q0 -104.256 51.4079 -192.72q51.4079 -88.4642 139.872 -139.872t192.72 -51.408zM554.667 640 q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013t-12.5013 -30.1653v-256q0.00372314 -17.6715 12.5013 -30.1653l128 -128q12.4008 -11.977 29.641 -11.977q17.664 0 30.1653 12.5013t12.5013 30.1653q0 17.2403 -11.977 29.641l-115.499 115.499z" /> <glyph glyph-name="cloud-lightning" unicode="" d="M384.07 896h-0.038147q-104.255 0 -192.718 -51.4075t-139.871 -139.871q-51.4075 -88.4633 -51.4075 -192.718q0 -93.7272 58.0418 -192.174q58.0418 -98.4471 140.053 -143.823q9.47714 -5.10799 20.2432 -5.10799q17.6638 0 30.165 12.5012 q12.5012 12.5012 12.5012 30.1651q0 10.286 -6.3313 21.1585q-6.33128 10.8726 -15.2772 15.9492q-63.7573 35.2984 -108.88 111.857q-45.1229 76.5585 -45.1229 149.435q0 123.647 87.5085 211.155q87.5085 87.5085 211.155 87.5085q95.7631 0 180.49 -65.6199 q84.7267 -65.6199 108.68 -158.339q3.41962 -13.2446 15.5209 -22.6204q12.1013 -9.37592 25.7801 -9.37927h53.7595l0.214417 0.00012207q70.6553 0 120.66 -50.0049q50.0049 -50.0049 50.0049 -120.66q0 -57.7503 -40.0542 -106.755q-40.0543 -49.0048 -96.6496 -60.4967 q-14.1487 -2.87306 -24.1622 -15.1243q-10.0135 -12.2512 -10.0135 -26.6887q0 -17.6639 12.5012 -30.1651t30.1651 -12.5012q4.28821 0 8.49054 0.853348q84.8929 17.238 144.974 90.7452q60.0811 73.5072 60.0812 160.133q0 105.983 -75.0073 180.99t-180.99 75.0073 l-0.257324 -0.00012207h-22.1865q-37.4694 105.979 -143.542 180.987t-218.481 75.0106zM434.16 -61.6442q-7.17325 -10.7534 -7.17325 -23.6798q0 -17.666 12.5027 -30.1688q12.5028 -12.5028 30.1688 -12.5028q9.45139 0 19.8524 5.56459q10.4011 5.5646 15.6459 13.4272 l170.665 255.998q7.17432 10.7531 7.17432 23.6798q0 17.6638 -12.5012 30.165t-30.165 12.5012h-0.00634766h-176.254l126.42 189.652q7.17322 10.7535 7.17322 23.6798q0 17.666 -12.5028 30.1688t-30.1688 12.5028q-9.45135 0 -19.8524 -5.56461 q-10.4011 -5.56458 -15.6459 -13.4272l-170.665 -255.998q-7.17432 -10.753 -7.17432 -23.6798q0 -17.6638 12.5012 -30.165t30.165 -12.5012h0.00637817h176.254z" /> <glyph glyph-name="cloud-drizzle" unicode="" d="M298.832 85.3333v-85.3333q0.00271606 -17.6613 12.504 -30.1607q12.5013 -12.4994 30.1626 -12.4994t30.1626 12.4994t12.5041 30.1607v85.3333q-0.00268555 17.6613 -12.504 30.1607t-30.1627 12.4994t-30.1627 -12.4994t-12.5039 -30.1607zM298.832 341.333v-85.3333 q0.00271606 -17.6613 12.504 -30.1607q12.5013 -12.4994 30.1626 -12.4994t30.1626 12.4994q12.5014 12.4994 12.5041 30.1607v85.3333q-0.00268555 17.6613 -12.504 30.1607q-12.5013 12.4994 -30.1626 12.4994t-30.1626 -12.4994t-12.5041 -30.1607zM640.165 85.3333 v-85.3333q0.00274658 -17.6613 12.5041 -30.1607q12.5013 -12.4994 30.1626 -12.4994t30.1626 12.4994t12.504 30.1607v85.3333q-0.00262451 17.6613 -12.504 30.1607q-12.5013 12.4994 -30.1627 12.4994q-17.6613 0 -30.1626 -12.4994t-12.504 -30.1607zM640.165 341.333 v-85.3333q0.00274658 -17.6613 12.504 -30.1607t30.1627 -12.4994q17.6613 0 30.1626 12.4994t12.504 30.1607v85.3333q-0.00268555 17.6613 -12.504 30.1607q-12.5014 12.4994 -30.1627 12.4994t-30.1626 -12.4994t-12.504 -30.1607zM469.498 0v-85.3333 q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653v85.3333q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013t-12.5013 -30.1653zM469.498 256v-85.3333q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013 t12.5013 30.1653v85.3333q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013t-12.5013 -30.1653zM405.498 895.36q-10.7287 0.600952 -21.4753 0.600952q-104.256 0 -192.72 -51.408q-88.4642 -51.4079 -139.872 -139.872q-51.408 -88.4642 -51.408 -192.72 q0 -76.4299 42.2461 -164.303q42.2461 -87.8731 101.939 -135.605q11.4281 -8.65823 25.7657 -8.65823q17.664 0 30.1653 12.5013t12.5013 30.1653q0 19.8507 -15.1844 32.6369q-46.4523 37.1251 -79.3279 105.485q-32.8756 68.3596 -32.8756 127.825 q0 123.648 87.5093 211.157q87.5093 87.5093 211.157 87.5093q95.7801 0 180.511 -65.6343q84.7312 -65.6343 108.674 -158.374q3.41968 -13.2446 15.521 -22.6206q12.1014 -9.37598 25.7803 -9.37939h53.76q70.5552 -0.100586 120.489 -50.1059t49.934 -120.561 q0 -46.1905 -29.9445 -91.9954t-72.2548 -64.3354q-10.3873 -4.69606 -17.7386 -16.0873q-7.35132 -11.3913 -7.35132 -22.7907q0 -17.664 12.5013 -30.1653q12.5014 -12.5013 30.1653 -12.5013q8.66406 0 16.6419 3.37938q63.4658 27.7958 108.382 96.5032 q44.9165 68.7073 44.9165 137.993q0 105.859 -74.9197 180.867t-180.779 75.1326h-22.2293q-35.2886 99.7805 -135.049 174.601q-99.7607 74.8205 -205.431 80.7599z" /> <glyph glyph-name="cloud-rain" unicode="" d="M640.165 341.333v-341.333q0.00274658 -17.6613 12.5041 -30.1607q12.5013 -12.4994 30.1626 -12.4994t30.1626 12.4994t12.504 30.1607v341.333q-0.00268555 17.6613 -12.504 30.1607q-12.5014 12.4994 -30.1627 12.4994t-30.1626 -12.4994t-12.504 -30.1607z M298.832 341.333v-341.333q0.00271606 -17.6613 12.504 -30.1607q12.5013 -12.4994 30.1626 -12.4994t30.1626 12.4994t12.5041 30.1607v341.333q-0.00268555 17.6613 -12.504 30.1607q-12.5013 12.4994 -30.1626 12.4994t-30.1626 -12.4994t-12.5041 -30.1607zM469.498 256 v-341.333q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653v341.333q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013t-12.5013 -30.1653zM405.498 895.36q-10.7287 0.600952 -21.4753 0.600952q-104.256 0 -192.72 -51.408 q-88.4642 -51.4079 -139.872 -139.872q-51.408 -88.4642 -51.408 -192.72q0 -76.4299 42.2461 -164.303q42.2461 -87.8731 101.939 -135.605q11.4281 -8.65823 25.7657 -8.65823q17.664 0 30.1653 12.5013t12.5013 30.1653q0 19.8507 -15.1844 32.6369 q-46.4523 37.1251 -79.3279 105.485q-32.8756 68.3596 -32.8756 127.825q0 123.648 87.5093 211.157q87.5093 87.5093 211.157 87.5093q95.7801 0 180.511 -65.6343q84.7312 -65.6343 108.674 -158.374q3.41968 -13.2446 15.521 -22.6206q12.1014 -9.37598 25.7803 -9.37939 h53.76q70.5552 -0.100586 120.489 -50.1059t49.934 -120.561q0 -46.1905 -29.9445 -91.9954t-72.2548 -64.3354q-10.3873 -4.69606 -17.7386 -16.0873q-7.35132 -11.3913 -7.35132 -22.7907q0 -17.664 12.5013 -30.1653q12.5014 -12.5013 30.1653 -12.5013 q8.66406 0 16.6419 3.37938q63.4658 27.7958 108.382 96.5032q44.9165 68.7073 44.9165 137.993q0 105.859 -74.9197 180.867t-180.779 75.1326h-22.2293q-35.2886 99.7805 -135.049 174.601q-99.7607 74.8205 -205.431 80.7599z" /> <glyph glyph-name="cloud-off" unicode="" d="M420.662 767.37q-1.82129 0.157043 -3.64935 0.157043q-16.1537 0 -28.554 -11.3914t-13.7678 -27.4871q-0.173981 -1.91821 -0.173981 -3.84442q0 -16.0814 11.3339 -28.4995q11.3339 -12.418 27.3483 -13.8831q87.061 -7.88904 163.705 -73.4874t97.8783 -150.398 q3.31854 -13.2929 15.3636 -22.7141q12.0451 -9.42117 25.746 -9.44003h53.4339l0.0993652 3.05176e-05q37.7929 0 79.2469 -22.3409q41.454 -22.341 62.2344 -53.908q11.7054 -17.7652 19.9896 -45.3946q8.28418 -27.6294 8.28418 -48.9041q0 -34.614 -13.4333 -66.5148 q-3.35638 -7.96089 -3.35638 -16.6003q0 -11.6568 7.58075 -23.1613q7.58069 -11.5045 18.2921 -16.1031q7.94427 -3.38405 16.579 -3.38405q11.6605 0 23.0963 7.61385q11.4359 7.61385 15.9335 18.3719q20.1473 47.8464 20.1473 99.7614q0 31.9097 -12.4255 73.351 t-29.9824 68.0865q-31.1687 47.3683 -93.3578 80.8922t-118.892 33.5239l-0.120972 -3.05176e-05h-21.8768q-33.4063 96.6531 -129.13 171.573q-95.7236 74.9197 -197.572 84.1255zM197.544 719.608q-114.979 -63.9664 -166.458 -185.541 q-51.4786 -121.575 -17.6395 -249.223q33.8693 -127.674 138.699 -207.326q104.83 -79.6523 236.191 -77.5413h380.989q44.464 0 86.5689 15.3521q16.5021 6.0444 23.9285 22.0358q7.42645 15.9914 1.44513 32.5922q-4.15833 11.6285 -15.8412 19.8583 q-11.6829 8.22977 -24.0324 8.22977q-7.45166 0 -14.4558 -2.5438q-28.1131 -10.2347 -57.6558 -10.2347h-381.628q-2.38364 -0.0382309 -4.76746 -0.0382309q-94.8603 0 -179.091 64.9223q-84.2309 64.9223 -108.386 156.656q-10.074 37.8307 -10.074 76.9796 q0 72.6697 44.8971 149.187q44.8971 76.5172 108.335 111.964q15.3542 8.54083 20.2296 25.5229t-3.59816 32.4314q-4.97447 9.1134 -15.8432 15.5633q-10.8687 6.44983 -21.2515 6.44983q-10.9738 0 -20.5611 -5.33899zM13.0202 822.68l938.185 -938.185 q12.3944 -11.9709 29.6259 -11.9709q17.6549 0 30.1498 12.4949t12.4949 30.1499q0 17.2314 -11.9709 29.6259l-938.185 938.185q-12.5741 13.0188 -30.6737 13.0188q-17.655 0 -30.1499 -12.4949t-12.4949 -30.1499q0 -18.0996 13.0188 -30.6738z" /> <glyph glyph-name="codepen" unicode="" d="M535.253 846.421l426.667 -277.333q8.03284 -5.22162 13.7209 -15.6978q5.68805 -10.4761 5.69232 -20.0569v-298.667q-0.00421143 -9.58092 -5.69232 -20.057q-5.68805 -10.4761 -13.721 -15.6977l-426.667 -277.333q-10.605 -6.89339 -23.2533 -6.89339 q-12.6484 0 -23.2533 6.89339l-426.667 277.333q-8.03294 5.22159 -13.721 15.6977q-5.6881 10.4761 -5.69227 20.057v298.667q0.00418091 9.58087 5.6923 20.0569q5.68812 10.4761 13.721 15.6977l426.667 277.333q10.6049 6.89337 23.2533 6.89337 q12.6483 0 23.2534 -6.89325zM469.333 732.075l-307.712 -200.107l137.045 -95.872l170.667 119.467v176.469v0.0430298zM554.667 732.075v-176.555l170.667 -119.467l137.045 95.9147l-307.712 200.064v0.0432739zM512 286.72l138.923 97.28l-138.923 97.28 l-138.923 -97.28zM896 316.587v134.741l-96.256 -67.328zM862.379 235.947l-137.045 95.9573l-170.667 -119.467v-176.469l307.712 200.021v-0.0422974zM161.621 235.947l307.712 -199.979v176.469l-170.667 119.467l-137.045 -95.9147zM128 316.587l96.256 67.4133 l-96.256 67.4133v-134.827z" /> <glyph glyph-name="cloud-snow" unicode="" d="M405.632 852.693q-10.7517 0.603577 -21.5212 0.603577q-104.256 0 -192.72 -51.4079q-88.4641 -51.408 -139.872 -139.872t-51.408 -192.72q0 -76.4309 42.2471 -164.305q42.2471 -87.8737 101.941 -135.606q11.6258 -9.17807 26.4378 -9.17807 q17.664 0 30.1653 12.5013t12.5013 30.1653q0 20.3495 -15.8138 33.1567q-46.4745 37.1254 -79.3659 105.498t-32.8914 127.855q0 123.648 87.5094 211.157q87.5093 87.5093 211.157 87.5093q95.7947 0 180.529 -65.647q84.7344 -65.647 108.667 -158.404 q3.41968 -13.2447 15.5211 -22.6207q12.1013 -9.37598 25.7803 -9.37933h53.76q70.5728 -0.0830383 120.519 -50.0883q49.9465 -50.0053 49.9465 -120.578q0 -46.1905 -29.9443 -91.9954q-29.9443 -45.8049 -72.2548 -64.3354q-10.3873 -4.69609 -17.7386 -16.0873 t-7.35132 -22.7907q0 -17.664 12.5013 -30.1653q12.5013 -12.5014 30.1653 -12.5014q8.66412 0 16.642 3.37938q63.4656 27.7958 108.382 96.5032q44.9166 68.7074 44.9166 137.993q0 105.859 -74.9198 180.867t-180.779 75.1325h-22.272q-35.2885 99.7805 -135.049 174.601 q-99.7607 74.8204 -205.431 80.759zM682.667 256zM640 256v-0.00653076q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.6641 0 30.1653 12.5013t12.5013 30.1654v0.0065155v0.00653076q0 17.664 -12.5013 30.1653t-30.1654 12.5013q-17.6639 0 -30.1653 -12.5013 t-12.5013 -30.1653zM512 170.667zM469.333 170.667q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653zM341.333 256zM298.667 256v-0.00653076 q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1654 12.5013q12.5013 12.5013 12.5013 30.1653v0.00653076v0.00653076q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013t-12.5013 -30.1653zM341.333 42.6667zM298.667 42.6667v-0.00653076 q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013t30.1653 12.5013q12.5013 12.5013 12.5013 30.1653v0.00653076v0.00653076q0 17.664 -12.5013 30.1653q-12.5013 12.5013 -30.1653 12.5013t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653 v-0.00653458zM512 -42.6667zM469.333 -42.6667q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013t30.1653 12.5013q12.5013 12.5013 12.5013 30.1653q0 17.664 -12.5013 30.1653q-12.5013 12.5013 -30.1654 12.5013q-17.664 0 -30.1653 -12.5013 q-12.5013 -12.5013 -12.5012 -30.1653zM682.667 42.6667zM640 42.6667v-0.00653076q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013q17.6641 0 30.1653 12.5013q12.5012 12.5013 12.5013 30.1654v0.00653076v0.00653076q0 17.664 -12.5013 30.1653 q-12.5013 12.5013 -30.1654 12.5013q-17.664 0 -30.1653 -12.5014q-12.5013 -12.5013 -12.5013 -30.1653zM682.667 42.6667zM640 42.6667v-0.00653076q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013q17.6641 0 30.1653 12.5013 q12.5012 12.5013 12.5013 30.1654v0.00653076v0.00653076q0 17.664 -12.5013 30.1653q-12.5013 12.5013 -30.1654 12.5013q-17.664 0 -30.1653 -12.5014q-12.5013 -12.5013 -12.5013 -30.1653z" /> <glyph glyph-name="compass" unicode="" d="M512 -85.3333q-95.4834 0 -182.397 37.1694t-149.756 100.011t-100.011 149.756q-37.1694 86.9139 -37.1694 182.397q0 95.4834 37.1694 182.397q37.1694 86.9138 100.011 149.755q62.8417 62.8417 149.756 100.011q86.9138 37.1694 182.397 37.1694 q95.4833 0 182.397 -37.1694t149.756 -100.011q62.8417 -62.8417 100.011 -149.755t37.1694 -182.397q0 -95.4833 -37.1694 -182.397t-100.011 -149.756q-62.8417 -62.8417 -149.755 -100.011q-86.9138 -37.1694 -182.398 -37.1694zM512 -2.87646e-06 q104.256 0 192.72 51.408q88.4642 51.408 139.872 139.872q51.408 88.4641 51.408 192.72q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5q0 -104.256 51.4079 -192.72q51.4079 -88.4642 139.872 -139.872t192.72 -51.408zM455.253 440.747l-56.6613 -170.24 l170.155 56.7467l56.7466 170.155l-170.155 -56.7467zM733.397 551.424l-90.4533 -271.36q-2.79224 -8.38898 -10.7056 -16.3023q-7.91345 -7.91335 -16.3024 -10.7057l-271.36 -90.4533q-6.57111 -2.19141 -13.4981 -2.19141q-17.664 0 -30.1653 12.5013t-12.5013 30.1653 q0 6.92693 2.19141 13.4981l90.4533 271.36q2.79227 8.38898 10.7056 16.3023q7.91336 7.91336 16.3024 10.7057l271.36 90.4533q6.57111 2.19141 13.498 2.19141q17.664 0 30.1653 -12.5013t12.5013 -30.1653q0 -6.92694 -2.19116 -13.4982z" /> <glyph glyph-name="copy" unicode="" d="M426.667 426.539v-383.744l-0.000183105 -0.128193q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013l0.128204 0.000192607h383.744l0.128174 -0.000192611q17.664 0 30.1653 12.5013q12.5013 12.5013 12.5013 30.1653l-0.000183105 0.128193v383.744 l0.000183105 0.128204q0 17.664 -12.5014 30.1653q-12.5013 12.5013 -30.1653 12.5013l-0.128174 -0.000183105h-383.744l-0.128204 0.000183105q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653zM341.333 426.539l-6.10352e-05 0.128052q0 52.992 37.504 90.496 q37.504 37.504 90.496 37.504l0.128082 -6.10352e-05h383.744l0.128052 6.10352e-05q52.9919 0 90.496 -37.504t37.504 -90.496l-6.10352e-05 -0.128082v-383.744l6.10352e-05 -0.128063q0 -52.992 -37.504 -90.496q-37.504 -37.504 -90.496 -37.504l-0.128052 6.10352e-05 h-383.744l-0.128052 -6.10352e-05q-52.992 0 -90.496 37.504t-37.504 90.496l6.10352e-05 0.128067zM213.333 298.667h-42.6667q-17.664 0 -30.1653 12.5013t-12.5013 30.1653v384q0 17.664 12.5013 30.1653t30.1653 12.5013h384q17.664 0 30.1653 -12.5013 t12.5013 -30.1653v-42.6667q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1654v42.6667q0 52.9921 -37.504 90.496t-90.496 37.504h-384q-52.992 0 -90.496 -37.504q-37.504 -37.504 -37.504 -90.496v-384q0 -52.992 37.504 -90.496 q37.504 -37.504 90.496 -37.504h42.6667q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1654q-12.5013 12.5013 -30.165 12.5013z" /> <glyph glyph-name="corner-down-right" unicode="" d="M609.835 72.832q-11.977 -12.4007 -11.977 -29.641q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013q17.2403 0 29.6411 11.977l213.333 213.333q12.4922 12.4961 12.4922 30.1653q0 17.6693 -12.4922 30.1653l-213.333 213.333 q-12.4008 11.977 -29.641 11.977q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -17.2403 11.977 -29.641l183.168 -183.168zM128 725.333v-298.667q0 -88.32 62.5067 -150.827q62.5067 -62.5067 150.827 -62.5066h512q17.664 0 30.1653 12.5013t12.5013 30.1653 q0 17.664 -12.5014 30.1653q-12.5013 12.5013 -30.1653 12.5013h-512q-52.992 0 -90.496 37.504t-37.504 90.496v298.667v0.00653076q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5014q-12.5013 -12.5013 -12.5017 -30.1713z" /> <glyph glyph-name="corner-down-left" unicode="" d="M414.165 439.168q13.0256 12.5805 13.0256 30.6896q0 17.664 -12.5013 30.1653t-30.1653 12.5013q-18.1091 0 -30.6896 -13.0256l-213.333 -213.333q-12.4922 -12.496 -12.4922 -30.1653q0 -17.6693 12.4922 -30.1653l213.333 -213.333 q12.5806 -13.0256 30.6896 -13.0256q17.664 0 30.1653 12.5013t12.5013 30.1653q0 18.1091 -13.0257 30.6896l-183.168 183.168zM810.667 725.333v-298.667q0 -52.992 -37.504 -90.496t-90.496 -37.504h-512q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653 t12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013h512v0q88.32 0 150.827 62.5067q62.5067 62.5067 62.5067 150.827v298.667q-0.00262451 17.6613 -12.504 30.1607q-12.5014 12.4995 -30.1627 12.4995t-30.1626 -12.4995q-12.5013 -12.4994 -12.5044 -30.1612z" /> <glyph glyph-name="corner-left-down" unicode="" d="M200.832 286.165q-12.5806 13.0256 -30.6897 13.0256q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -18.1091 13.0256 -30.6897l213.333 -213.333q12.496 -12.4922 30.1653 -12.4922t30.1653 12.4922l213.333 213.333q11.977 12.4007 11.977 29.641 q0 17.664 -12.5013 30.1654q-12.5013 12.5013 -30.1653 12.5013q-17.2403 0 -29.6411 -11.977l-183.168 -183.168zM853.333 768h-298.667v0q-88.32 0 -150.827 -62.5067q-62.5067 -62.5067 -62.5067 -150.827v-512q0 -17.664 12.5013 -30.1653 q12.5013 -12.5013 30.1653 -12.5013t30.1653 12.5013q12.5013 12.5013 12.5013 30.1653v512q0 52.992 37.504 90.496q37.504 37.504 90.496 37.504h298.667q17.6613 0.00268555 30.1607 12.504q12.4995 12.5013 12.4995 30.1627q0 17.6613 -12.4995 30.1626 q-12.4994 12.5013 -30.1602 12.5044z" /> <glyph glyph-name="corner-left-up" unicode="" d="M567.168 481.835q12.5805 -13.0256 30.6896 -13.0256q17.664 0 30.1653 12.5013t12.5013 30.1653q0 18.109 -13.0256 30.6897l-213.333 213.333q-12.4961 12.4922 -30.1653 12.4922q-17.6693 0 -30.1653 -12.4922l-213.333 -213.333q-11.977 -12.4008 -11.977 -29.641 q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.2403 0 29.641 11.977l183.168 183.168zM853.333 85.3333h-298.667q-52.992 0 -90.496 37.504t-37.504 90.496v512q0 17.6639 -12.5013 30.1653q-12.5013 12.5013 -30.1653 12.5013t-30.1653 -12.5013t-12.5013 -30.1653 v-512q0 -88.32 62.5067 -150.827q62.5067 -62.5067 150.827 -62.5067h298.667q17.6613 0.00270382 30.1607 12.504t12.4995 30.1626q0 17.6613 -12.4995 30.1626q-12.4994 12.5013 -30.1612 12.5045z" /> <glyph glyph-name="corner-up-left" unicode="" d="M414.165 695.168q13.0256 12.5805 13.0256 30.6896q0 17.6639 -12.5013 30.1653t-30.1653 12.5014q-18.109 0 -30.6896 -13.0256l-213.333 -213.333q-12.4922 -12.496 -12.4922 -30.1653t12.4922 -30.1653l213.333 -213.333q12.5805 -13.0257 30.6896 -13.0257 q17.664 0 30.1654 12.5013q12.5013 12.5013 12.5013 30.1653q0 18.1091 -13.0257 30.6896l-183.168 183.168zM896 42.6667v298.667q0 88.32 -62.5067 150.827q-62.5067 62.507 -150.827 62.5067h-512q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653 t30.1653 -12.5013h512q52.992 0 90.496 -37.504q37.504 -37.504 37.504 -90.496v-298.667q0.00268555 -17.6613 12.504 -30.1607t30.1627 -12.4994q17.6613 0 30.1626 12.4994q12.5013 12.4994 12.5044 30.1602z" /> <glyph glyph-name="corner-up-right" unicode="" d="M609.835 328.832q-11.977 -12.4007 -11.977 -29.641q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.2403 0 29.6411 11.977l213.333 213.333q12.4922 12.4961 12.4922 30.1653q0 17.6694 -12.4922 30.1653l-213.333 213.333q-12.4007 11.977 -29.641 11.977 q-17.6641 0 -30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653q0 -17.2404 11.977 -29.6411l183.168 -183.168zM213.333 42.6667v298.667q0 52.992 37.504 90.496q37.504 37.504 90.496 37.504h512q17.664 0 30.1653 12.5013t12.5013 30.1653 q0 17.664 -12.5013 30.1653t-30.1653 12.5013h-512q-88.32 0 -150.827 -62.5067t-62.5067 -150.827v-298.667q0.00271606 -17.6613 12.504 -30.1607t30.1626 -12.4994q17.6613 0 30.1626 12.4994q12.5013 12.4994 12.5045 30.1612z" /> <glyph glyph-name="corner-right-down" unicode="" d="M456.832 286.165q-12.5805 13.0256 -30.6896 13.0256q-17.664 0 -30.1653 -12.5013q-12.5014 -12.5013 -12.5014 -30.1653q0 -18.109 13.0257 -30.6897l213.333 -213.333q12.496 -12.4922 30.1653 -12.4922t30.1653 12.4922l213.333 213.333 q11.977 12.4007 11.977 29.641q0 17.664 -12.5013 30.1654q-12.5013 12.5013 -30.1653 12.5013q-17.2404 0 -29.6411 -11.977l-183.168 -183.168zM170.667 682.667h298.667q52.992 0 90.496 -37.504t37.504 -90.496v-512q0 -17.664 12.5013 -30.1653 q12.5013 -12.5013 30.1653 -12.5013q17.6641 0 30.1653 12.5013q12.5013 12.5013 12.5013 30.1654v512q0 88.32 -62.5067 150.827t-150.827 62.5067h-298.667h-0.00653076q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -17.6641 12.5013 -30.1653 q12.5013 -12.5013 30.1654 -12.5013z" /> <glyph glyph-name="corner-right-up" unicode="" d="M823.168 481.835q12.5806 -13.0256 30.6896 -13.0256q17.6639 0 30.1653 12.5013t12.5014 30.1653q0 18.109 -13.0256 30.6897l-213.333 213.333q-12.4961 12.4922 -30.1653 12.4922t-30.1653 -12.4922l-213.333 -213.333q-13.0256 -12.5805 -13.0256 -30.6896 q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q18.1091 0 30.6896 13.0257l183.168 183.168zM170.667 0h298.667v2.84217e-14q88.32 0 150.827 62.5067t62.5067 150.827v512q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013t-12.5013 -30.1653v-512 q0 -52.992 -37.504 -90.496t-90.496 -37.504h-298.667q-17.6613 -0.00270844 -30.1607 -12.504q-12.4994 -12.5013 -12.4994 -30.1626t12.4994 -30.1626q12.4994 -12.5013 30.1607 -12.504v2.00117e-05z" /> <glyph glyph-name="cpu" unicode="" d="M213.333 640.256v-512.512q0 -17.536 12.4373 -29.9733t29.9733 -12.4373h512.512q17.5405 0.0176239 29.9667 12.4439q12.4263 12.4263 12.444 29.9667v512.512q-0.0177002 17.5404 -12.444 29.9667q-12.4262 12.4263 -29.9667 12.444h-512.512 q-17.5404 -0.0177002 -29.9667 -12.444t-12.4439 -29.9667zM128 640.256q0.0176544 52.8684 37.4466 90.2974t90.2974 37.4466h512.512q52.8685 -0.0175781 90.2975 -37.4465q37.429 -37.429 37.4465 -90.2975v-512.512q-0.0176392 -52.8684 -37.4467 -90.2974 t-90.2974 -37.4466h-512.512q-52.8684 0.017648 -90.2974 37.4466q-37.429 37.429 -37.4466 90.2974zM426.667 298.667h170.667v170.667h-170.667v-170.667zM384 554.667h256q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-256q0 -17.664 -12.5013 -30.1653 t-30.1653 -12.5013h-256v0q-17.664 0 -30.1653 12.5013t-12.5013 30.1653v256q0 17.664 12.5013 30.1653t30.1653 12.5013zM341.333 853.333q0 17.664 12.5013 30.1653t30.1653 12.5013t30.1653 -12.5013t12.5013 -30.1653v-128q0 -17.664 -12.5013 -30.1653 t-30.1653 -12.5013t-30.1653 12.5013t-12.5013 30.1653v128zM597.333 853.333q0 17.664 12.5013 30.1653t30.1653 12.5013t30.1653 -12.5013t12.5013 -30.1653v-128q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013t-30.1653 12.5013q-12.5013 12.5014 -12.5013 30.1653v128 zM341.333 42.6667q0 17.664 12.5013 30.1653q12.5013 12.5013 30.1653 12.5013t30.1653 -12.5013q12.5013 -12.5013 12.5013 -30.1653v-128q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013t-30.1653 12.5013q-12.5014 12.5013 -12.5014 30.1653zM597.333 42.6667 q0 17.664 12.5013 30.1653q12.5013 12.5013 30.1653 12.5013q17.6641 0 30.1653 -12.5013q12.5013 -12.5013 12.5013 -30.1653v-128q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013q-17.6639 0 -30.1653 12.5014q-12.5013 12.5013 -12.5013 30.1653v128zM853.333 469.333 q-17.6641 0 -30.1654 12.5013t-12.5013 30.1653t12.5013 30.1653t30.1653 12.5013h128q17.664 0 30.1653 -12.5013t12.5013 -30.1653t-12.5013 -30.1653q-12.5013 -12.5013 -30.1653 -12.5013zM853.333 256q-17.6613 0.00271606 -30.1607 12.5041t-12.4995 30.1626 t12.4995 30.1626q12.4995 12.5014 30.1606 12.5041h128q17.6614 -0.00268555 30.1608 -12.504t12.4994 -30.1626t-12.4994 -30.1627q-12.4995 -12.5013 -30.1608 -12.504zM42.6667 469.333q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653t12.5013 30.1653 q12.5013 12.5013 30.1653 12.5013h128q17.664 0 30.1653 -12.5013t12.5013 -30.1653t-12.5013 -30.1653q-12.5013 -12.5013 -30.1653 -12.5013zM42.6667 256q-17.6613 0.00268555 -30.1607 12.504q-12.4994 12.5013 -12.4994 30.1626t12.4994 30.1626 q12.4994 12.5014 30.1607 12.5041h128q17.6613 -0.00265503 30.1607 -12.504q12.4994 -12.5014 12.4994 -30.1627t-12.4994 -30.1627q-12.4994 -12.5013 -30.1607 -12.504z" /> <glyph glyph-name="credit-card" unicode="" d="M0 640.256l-6.42112e-05 0.127991q0 52.8331 37.3915 90.2245q37.3915 37.3915 90.2245 37.3915h768.811q52.8154 -0.0705566 90.1944 -37.4996q37.3789 -37.429 37.3789 -90.2444v-512.512l0.00012207 -0.127983q0 -52.833 -37.3915 -90.2245t-90.2247 -37.3915 h-768.811q-52.8154 0.0705616 -90.1944 37.4996q-37.379 37.429 -37.3789 90.2444v512.512h8.1488e-05zM938.667 512v128.256v0.000183105q0 17.5051 -12.3889 29.9313q-12.3888 12.4263 -29.8939 12.4792h-768.811q-17.4875 -0.0175781 -29.8638 -12.4064 q-12.3764 -12.3888 -12.3764 -29.8762l0.000198364 -0.128052v-128.256zM938.667 426.667h-853.333v-298.923q0 -17.5334 12.4041 -29.9721q12.4041 -12.4386 29.8786 -12.4386h768.811h0.000183105q17.5051 0 29.8939 12.3888t12.3888 29.8939l-0.000183105 0.127998 v298.923h-0.043396z" /> <glyph glyph-name="crosshair" unicode="" d="M469.333 2.34667v125.653q0 17.664 12.5013 30.1653q12.5013 12.5013 30.1653 12.5013t30.1653 -12.5013t12.5013 -30.1653v-125.653q126.195 14.1451 225.518 113.468q99.323 99.3231 113.468 225.519h-125.653q-17.6641 0 -30.1654 12.5013t-12.5013 30.1653 t12.5013 30.1653t30.1653 12.5013h125.653q-14.145 126.195 -113.468 225.518q-99.3231 99.3231 -225.518 113.468v-125.653q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013t-30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1654v125.653 q-126.195 -14.1451 -225.519 -113.468q-99.3231 -99.3231 -113.468 -225.519h125.653q17.664 0 30.1653 -12.5013t12.5013 -30.1653t-12.5013 -30.1653t-30.1653 -12.5013h-125.653q14.1451 -126.195 113.468 -225.518q99.3231 -99.3231 225.518 -113.468zM512 -85.3333 q-95.4834 0 -182.397 37.1694t-149.756 100.011t-100.011 149.756q-37.1694 86.9139 -37.1694 182.397q0 95.4834 37.1694 182.397q37.1694 86.9138 100.011 149.755q62.8417 62.8417 149.756 100.011q86.9138 37.1694 182.397 37.1694q95.4833 0 182.397 -37.1694 t149.756 -100.011q62.8417 -62.8417 100.011 -149.755t37.1694 -182.397q0 -95.4833 -37.1694 -182.397t-100.011 -149.756q-62.8417 -62.8417 -149.755 -100.011q-86.9138 -37.1694 -182.398 -37.1694z" /> <glyph glyph-name="disc" unicode="" d="M512 -85.3333q-95.4834 0 -182.397 37.1694t-149.756 100.011t-100.011 149.756q-37.1694 86.9139 -37.1694 182.397q0 95.4834 37.1694 182.397q37.1694 86.9138 100.011 149.755q62.8417 62.8417 149.756 100.011q86.9138 37.1694 182.397 37.1694 q95.4833 0 182.397 -37.1694t149.756 -100.011q62.8417 -62.8417 100.011 -149.755t37.1694 -182.397q0 -95.4833 -37.1694 -182.397t-100.011 -149.756q-62.8417 -62.8417 -149.755 -100.011q-86.9138 -37.1694 -182.398 -37.1694zM512 -2.87646e-06 q104.256 0 192.72 51.408q88.4642 51.408 139.872 139.872q51.408 88.4641 51.408 192.72q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5q0 -104.256 51.4079 -192.72q51.4079 -88.4642 139.872 -139.872t192.72 -51.408zM512 213.333 q-70.656 0 -120.661 50.0053q-50.0053 50.0053 -50.0053 120.661t50.0053 120.661q50.0053 50.0053 120.661 50.0053q70.6561 0 120.661 -50.0053t50.0053 -120.661t-50.0053 -120.661q-50.0053 -50.0053 -120.661 -50.0053zM512 298.667q35.328 0 60.3307 25.0027 q25.0026 25.0026 25.0026 60.3307q0 35.328 -25.0026 60.3307q-25.0027 25.0026 -60.3307 25.0026t-60.3307 -25.0027t-25.0027 -60.3307t25.0027 -60.3307t60.3307 -25.0026z" /> <glyph glyph-name="delete" unicode="" d="M896 768q53 0 90.5 -37.5t37.5 -90.5v-512q0 -53 -37.5 -90.5t-90.5 -37.5h-554.667l-0.0365601 -1.56589e-05q-19.3438 0 -32.0914 14.5493l-298.667 341.333q-10.5752 12.0699 -10.5752 28.1173q0 16.0474 10.5752 28.1173l298.667 341.333 q12.7476 14.5493 32.0914 14.5493h0.0365601zM896 85.3333q17.664 0 30.1653 12.5013t12.5013 30.1653v512q0 17.664 -12.5013 30.1653t-30.1653 12.5013h-535.296l-261.333 -298.667l261.333 -298.667zM737.835 542.165l-256 -256q-11.977 -12.4007 -11.977 -29.641 q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.2404 0 29.6411 11.977l256 256q13.0256 12.5806 13.0256 30.6896q0 17.6641 -12.5013 30.1654t-30.1653 12.5013q-18.109 0 -30.6898 -13.0257zM481.835 481.835l256 -256q12.4008 -11.977 29.641 -11.977 q17.664 0 30.1653 12.5013t12.5013 30.1653q0 17.2403 -11.977 29.641l-256 256q-12.4008 11.977 -29.641 11.977q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -17.2403 11.9771 -29.641z" /> <glyph glyph-name="download-cloud" unicode="" d="M512.469 17.664l-140.501 140.501q-12.5805 13.0257 -30.6897 13.0257q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -18.1091 13.0257 -30.6897l170.667 -170.667q12.496 -12.4922 30.1653 -12.4922t30.1653 12.4922l170.667 170.667q11.977 12.4007 11.977 29.641 q0 17.664 -12.5013 30.1653q-12.5013 12.5013 -30.1653 12.5013q-17.2402 0 -29.6411 -11.977zM469.802 341.333v-384q0.00268555 -17.6613 12.504 -30.1607t30.1627 -12.4994q17.6613 0 30.1626 12.4994q12.5013 12.4994 12.504 30.1607v384 q-0.00268555 17.6613 -12.504 30.1607q-12.5013 12.4994 -30.1627 12.4994q-17.6613 0 -30.1626 -12.4994t-12.504 -30.1607zM427.989 765.995q-21.8957 2.52179 -43.9359 2.52179q-104.256 0 -192.72 -51.408q-88.4641 -51.4079 -139.872 -139.872 q-51.408 -88.4642 -51.408 -192.72q0 -60.2512 28.2623 -134.823q28.2623 -74.5718 68.1962 -119.688q12.7385 -14.3908 31.9573 -14.3908q17.6691 0 30.1739 12.5049q12.5049 12.5049 12.5049 30.1739q0 16.1758 -10.7215 28.288q-31.099 35.101 -53.1087 93.1328 q-22.0097 58.0318 -22.0097 104.928q0 123.648 87.5093 211.157q87.5093 87.5093 211.157 87.5093q95.997 0 180.776 -65.8201q84.7789 -65.82 108.572 -158.822q3.41058 -13.2656 15.5182 -22.6541q12.1075 -9.38852 25.8046 -9.38852h0.0211792h53.8027 l0.176208 9.15527e-05q70.6561 0 120.661 -50.0053q50.0053 -50.0053 50.0053 -120.661q0 -36.6912 -21.2414 -77.5956q-21.2413 -40.9044 -51.2548 -62.0098q-17.5803 -12.7787 -17.5803 -34.5126q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q13.1247 0 23.9803 7.3766 q45.0453 31.6563 76.9251 93.0254q31.8799 61.3691 31.8799 116.425q0 105.984 -75.0079 180.992q-75.008 75.008 -180.992 75.008l-0.218323 -0.00012207h-22.1013q-33.0063 93.7808 -126.266 168.201t-192.027 85.7935z" /> <glyph glyph-name="download" unicode="" d="M85.3333 170.667v-128q0 -52.992 37.504 -90.496q37.504 -37.504 90.496 -37.504h597.333q52.992 0 90.496 37.504q37.504 37.504 37.504 90.496v128q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5014t-12.5013 -30.1653v-128q0 -17.664 -12.5013 -30.1653 q-12.5013 -12.5013 -30.1653 -12.5013h-597.333q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653v128q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013t-12.5018 -30.1652zM512 273.664l-140.501 140.501q-12.5805 13.0256 -30.6896 13.0256 q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -18.1091 13.0257 -30.6896l170.667 -170.667q12.496 -12.4922 30.1653 -12.4922q17.6694 0 30.1653 12.4922l170.667 170.667q11.977 12.4007 11.977 29.641q0 17.664 -12.5013 30.1653t-30.1653 12.5013 q-17.2404 0 -29.6411 -11.977zM469.333 810.667v-597.333q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653v597.333q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653z" /> <glyph glyph-name="droplet" unicode="" d="M301.099 501.035q-36.2357 -35.4397 -61.8808 -96.3928q-25.6451 -60.9531 -25.6451 -111.638q0 -24.255 6.64307 -57.2494t16.0295 -55.3595q34.6924 -82.4743 110.024 -132.074q75.3315 -49.6002 165.944 -49.6002q90.6243 0 165.952 49.5895 q75.3279 49.5895 110.016 132.085q9.38635 22.3649 16.0295 55.3594q6.64307 32.9946 6.64307 57.2495q0 50.6853 -25.6451 111.638t-61.8808 96.3928l-211.328 208.128zM542.165 798.336l241.493 -237.867q46.5703 -45.5641 79.5297 -123.922 q32.9595 -78.358 32.9595 -143.511q0 -31.1918 -8.54419 -73.6217t-20.6169 -71.1905q-44.5456 -106.02 -141.406 -169.789t-213.368 -63.7688q-116.495 0 -213.365 63.7615t-141.408 169.796q-12.0726 28.7604 -20.6167 71.1902q-8.5441 42.4298 -8.54414 73.6213 q0 65.1384 32.9467 143.484t79.4995 123.907l241.067 237.909q12.5713 12.3395 30.1867 12.3395q17.6153 0 30.1868 -12.3385z" /> <glyph glyph-name="edit-" unicode="" d="M170.667 195.669v-153.003h153.003l512 512l-153.003 153.003zM712.832 798.165l213.333 -213.333q12.4922 -12.496 12.4922 -30.1653q0 -17.6692 -12.4922 -30.1653l-554.667 -554.667q-12.4938 -12.4975 -30.1653 -12.5013h-213.333q-17.664 0 -30.1653 12.5013 t-12.5013 30.1653v213.333q0.00376892 17.6716 12.5013 30.1653l554.667 554.667q12.496 12.4922 30.1653 12.4922t30.1653 -12.4922z" /> <glyph glyph-name="edit" unicode="" d="M810.667 270.507v-227.84q0 -17.664 -12.5014 -30.1653q-12.5013 -12.5013 -30.1653 -12.5013h-597.333q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653v597.333q0 17.664 12.5013 30.1653t30.1653 12.5013h227.84h0.00653076q17.664 0 30.1653 12.5013 t12.5013 30.1653q0 17.6639 -12.5013 30.1653t-30.1653 12.5013h-0.00653076h-227.84q-52.992 0 -90.496 -37.504t-37.504 -90.496v-597.333q0 -52.992 37.504 -90.496q37.504 -37.504 90.496 -37.504h597.333q52.9919 0 90.496 37.504q37.504 37.504 37.504 90.496v227.84 q-0.00262451 17.6613 -12.504 30.1607q-12.5013 12.4994 -30.1627 12.4994q-17.6613 0 -30.1626 -12.4994t-12.504 -30.1604zM384 366.336v-110.336h110.336l384 384l-110.336 110.336zM798.165 840.832l170.667 -170.667q12.4922 -12.4961 12.4922 -30.1653 t-12.4922 -30.1653l-426.667 -426.667q-12.4938 -12.4975 -30.1653 -12.5013h-170.667q-17.664 0 -30.1653 12.5013t-12.5013 30.1653v170.667q0.00372314 17.6715 12.5013 30.1653l426.667 426.667q12.496 12.4922 30.1653 12.4922t30.1653 -12.4922z" /> <glyph glyph-name="edit-1" unicode="" d="M170.667 323.669v-110.336h110.336l426.667 426.667l-110.336 110.336zM627.499 840.832l170.667 -170.667q12.4922 -12.496 12.4922 -30.1653q0 -17.6692 -12.4922 -30.1653l-469.333 -469.333q-12.4938 -12.4975 -30.1653 -12.5013h-170.667 q-17.664 0 -30.1653 12.5013t-12.5013 30.1653v170.667q0.00376892 17.6715 12.5013 30.1653l469.333 469.333q12.496 12.4922 30.1653 12.4922t30.1653 -12.4922zM128 -85.3333h768q17.6613 0.00270081 30.1608 12.504q12.4994 12.5013 12.4994 30.1626t-12.4994 30.1626 q-12.4995 12.5013 -30.1608 12.504h-768q-17.6613 -0.00270382 -30.1607 -12.504q-12.4994 -12.5013 -12.4994 -30.1626q0 -17.6613 12.4994 -30.1626q12.4994 -12.5013 30.1607 -12.504z" /> <glyph glyph-name="external-link" unicode="" d="M725.333 341.333v-256q0 -17.664 -12.5014 -30.1653q-12.5013 -12.5013 -30.1653 -12.5013h-469.333q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653v469.333q0 17.6639 12.5013 30.1653q12.5013 12.5013 30.1653 12.5013h256q17.664 0 30.1653 12.5013 t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013h-256q-52.992 0 -90.496 -37.504t-37.504 -90.496v-469.333q0 -52.992 37.504 -90.496q37.504 -37.504 90.496 -37.504h469.333q52.992 0 90.496 37.504q37.504 37.504 37.504 90.496v256q0 17.664 -12.5013 30.1653 t-30.1653 12.5013q-17.6639 0 -30.1653 -12.5013t-12.5015 -30.165zM853.333 725.333v-213.333q0 -17.664 12.5014 -30.1653q12.5013 -12.5013 30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653v256q0 17.664 -12.5013 30.1653t-30.1653 12.5013h-256 q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013zM456.832 268.501l469.333 469.333q13.0256 12.5806 13.0256 30.6896q0 17.664 -12.5013 30.1653t-30.1653 12.5013q-18.109 0 -30.6897 -13.0256l-469.333 -469.333 q-11.977 -12.4007 -11.977 -29.641q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.2403 0 29.6411 11.9771z" /> <glyph glyph-name="eye" unicode="" d="M109.844 353.835q39.27 -60.7832 86.6133 -111.36q147.566 -157.141 315.563 -157.141q168.177 0 315.52 157.184q25.0598 26.8424 55.8755 68.2966t49.2978 73.1861q-18.4738 31.7304 -49.2772 73.1847q-30.8033 41.4543 -55.8535 68.298 q-147.411 157.184 -315.563 157.184q-168.177 0 -315.52 -157.184q-25.0596 -26.8419 -55.8754 -68.2965q-30.8158 -41.4546 -49.2979 -73.1862q8.70657 -15.0638 18.4747 -30.1653zM4.54272 403.072q11.5288 23.1399 33.6213 57.4293q42.4885 65.9629 96.0427 123.307 q172.534 184.192 377.813 184.192q205.19 0 377.813 -184.149q53.5351 -57.367 96 -123.349q21.9058 -33.9106 33.7067 -57.4293q4.5 -9.00528 4.5 -19.072q0 -10.0668 -4.49994 -19.072q-11.8008 -23.5176 -33.7067 -57.4293q-42.4679 -65.9598 -96 -123.307 q-172.534 -184.192 -377.813 -184.192q-205.19 0 -377.813 184.149q-53.535 57.3669 -96 123.349q-18.3306 27.8476 -33.7067 57.4293q-4.49988 9.00522 -4.49988 19.072q0 10.0669 4.49988 19.072zM512.02 213.333q-70.656 0 -120.661 50.0053 q-50.0053 50.0053 -50.0053 120.661t50.0053 120.661q50.0053 50.0053 120.661 50.0053q70.656 0 120.661 -50.0053q50.0054 -50.0053 50.0054 -120.661t-50.0054 -120.661q-50.0053 -50.0054 -120.661 -50.0053zM512.02 298.667q35.3279 0 60.3306 25.0027 q25.0027 25.0027 25.0027 60.3307t-25.0027 60.3306q-25.0027 25.0027 -60.3306 25.0027q-35.328 0 -60.3307 -25.0027t-25.0027 -60.3307t25.0027 -60.3307t60.3307 -25.0026z" /> <glyph glyph-name="feather" unicode="" d="M230.997 42.6667l-115.499 -115.499q-12.5806 -13.0256 -30.6896 -13.0256q-17.664 0 -30.1653 12.5013t-12.5013 30.1653q0 18.1091 13.0256 30.6896l115.499 115.499v345.003q0.00375366 17.6716 12.5013 30.1653l288 288q36.2348 36.2385 98.1476 61.8854 q61.9128 25.6469 113.159 25.6469q123.711 0 211.264 -87.5536t87.5536 -211.264q0 -51.2389 -25.6407 -113.146t-61.8703 -98.1398l-287.573 -288.427q-12.4976 -12.5013 -30.1744 -12.5013l-0.0335693 1.52588e-05zM486.997 298.667l241.365 -0.0853271l104.96 105.301 q27.076 26.0758 46.2385 71.1344q19.1625 45.0587 19.1625 82.6494q0 88.3907 -62.5566 150.947t-150.947 62.5566q-37.5687 0 -82.6088 -19.1434t-71.1121 -46.1924l-275.499 -275.499v-242.005l396.501 396.501q12.4008 11.9771 29.6411 11.9771 q17.6641 0 30.1653 -12.5013t12.5013 -30.1653q0 -17.2404 -11.977 -29.6411zM643.371 213.333h-241.707l-85.3333 -85.3333h241.92z" /> <glyph glyph-name="facebook" unicode="" d="M384 597.333q0 105.984 75.008 180.992t180.992 75.008h128q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-170.667q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013h-128v-85.3333h128q17.6635 -0.000488281 30.1645 -12.5018t12.501 -30.1649 q0 -5.26285 -1.27887 -10.368l-42.6667 -170.667q-3.34967 -13.3712 -15.476 -22.8347q-12.1262 -9.4635 -25.9107 -9.46387h-85.3333v-298.667q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013h-170.667v0q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653 v298.667h-85.3333q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653v170.667q0 17.664 12.5013 30.1653q12.5013 12.5013 30.1653 12.5013h85.3333zM725.333 768h-85.3333q-70.6559 0 -120.661 -50.0054q-50.0053 -50.0053 -50.0053 -120.661v-128 q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013h-85.3333v-85.3333h85.3333q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-298.667h85.3333v298.667q0 17.664 12.5014 30.1653q12.5013 12.5013 30.1653 12.5013h94.72l21.3333 85.3333h-116.053 q-17.664 0 -30.1653 12.5013t-12.5013 30.1653v128q0 35.3279 25.0027 60.3306t60.3306 25.0027h85.3333z" /> <glyph glyph-name="file-minus" unicode="" d="M554.667 768h-298.667q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653v-682.667q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013h512q17.664 0 30.1653 12.5013q12.5013 12.5013 12.5013 30.1653v469.333h-213.333q-17.664 0 -30.1653 12.5013 q-12.5013 12.5013 -12.5013 30.1653v213.334zM640 707.669v-110.336h110.336zM597.333 853.333q17.6716 -0.00378418 30.1653 -12.5013l256 -256q12.4976 -12.4937 12.5013 -30.1653v-512q0 -52.992 -37.504 -90.496q-37.504 -37.504 -90.496 -37.504h-512 q-52.992 0 -90.496 37.504q-37.504 37.504 -37.504 90.496v682.667q0 52.992 37.504 90.496q37.504 37.504 90.496 37.504zM384 213.333q-17.664 0 -30.1653 12.5013t-12.5013 30.1653q0 17.664 12.5013 30.1653t30.1653 12.5013h256q17.664 0 30.1653 -12.5013 t12.5013 -30.1654q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013z" /> <glyph glyph-name="eye-off" unicode="" d="M284.838 603.145q16.7695 12.8038 16.7695 33.9026q0 17.6592 -12.4978 30.157q-12.4979 12.4979 -30.157 12.4979q-14.4223 0 -25.8854 -8.75226q-59.0355 -45.0934 -125.671 -123.337q-66.6354 -78.243 -101.754 -143.705q-5.06166 -9.44012 -5.06166 -20.1516 q0 -10.0732 4.50728 -19.0816q11.5227 -23.1277 33.6041 -57.3999q43.5466 -67.3366 95.9934 -123.243q172.377 -184.098 377.577 -184.098q64.3635 0.98095 146.155 29.282q81.7917 28.301 132.998 67.3085q17.724 12.7638 17.724 34.6054q0 17.6549 -12.4949 30.1499 t-30.1498 12.4949q-15.0488 0 -26.7647 -9.44495q-41.8466 -31.8924 -108.694 -55.0705q-66.8478 -23.1781 -119.455 -24.0356q-167.383 0 -314.719 157.103q-25.0046 26.8087 -55.7546 68.2044q-30.75 41.3957 -49.1942 73.0778q30.8344 53.4417 87.3615 117.766 q56.5271 64.3239 105.563 101.77zM856.619 275.164q-9.85004 -11.8503 -9.85004 -27.2596q0 -17.6549 12.4949 -30.1499t30.1498 -12.4949q19.6823 0 32.4518 14.9779q56.0593 66.6237 97.1022 143.414q5.01758 9.40735 5.01758 20.0692q0 10.0715 -4.50586 19.0788 q-11.5222 23.1276 -33.6041 57.3999q-42.467 65.9294 -95.9934 123.243q-172.446 184.098 -377.62 184.098l-0.999939 0.00115967q-49.7935 0 -98.2771 -11.3447q-13.6354 -3.19196 -23.2856 -15.3619q-9.65024 -12.17 -9.65024 -26.1741q0 -17.6607 12.4991 -30.1598 t30.1598 -12.4991q4.92651 0 9.72299 1.1228q38.9618 9.12689 78.978 9.12689l0.767731 -0.000854492q168.176 0 315.444 -157.103q25.0247 -26.8141 55.8001 -68.2226t49.234 -73.1023q-33.1714 -57.7209 -76.0356 -108.659zM571.454 322.414 q-10.4902 -11.3976 -28.8774 -19.464t-33.8776 -8.06638q-35.3099 0 -60.2997 24.9898t-24.9898 60.2997q0 15.4903 8.06644 33.8775q8.06641 18.3872 19.464 28.8775q13.5812 12.6536 13.5812 31.216q0 17.6633 -12.5008 30.1642q-12.5008 12.5009 -30.1642 12.5008 q-16.7953 0 -29.0838 -11.449q-22.2953 -20.9219 -38.0744 -57.3676t-15.7791 -67.0204q0 -70.6198 49.9797 -120.599q49.9797 -49.9797 120.599 -49.9797q30.5747 0 67.0204 15.7791t57.3676 38.0744q11.449 12.2884 11.449 29.0837q0 17.6633 -12.5009 30.1642 q-12.5009 12.5009 -30.1642 12.5009q-18.5624 0 -31.2154 -13.5818zM13.0202 822.68l938.185 -938.185q12.3944 -11.9709 29.6259 -11.9709q17.6549 0 30.1498 12.4949t12.4949 30.1499q0 17.2314 -11.9709 29.6259l-938.185 938.185q-12.5741 13.0188 -30.6737 13.0188 q-17.655 0 -30.1499 -12.4949t-12.4949 -30.1499q0 -18.0996 13.0188 -30.6738z" /> <glyph glyph-name="fast-forward" unicode="" d="M580.864 51.6267q-11.5563 -8.98963 -26.1973 -8.98963q-17.664 0 -30.1653 12.5013t-12.5013 30.1653v0.0296326v597.333v0.0296021q0 17.664 12.5013 30.1653t30.1653 12.5013q14.6411 0 26.1973 -8.98962l384 -298.667q16.5074 -12.8111 16.5074 -33.7067 t-16.5074 -33.7067zM869.12 384l-271.787 211.413v-422.827l271.829 211.413zM111.531 51.6267q-11.5563 -8.98962 -26.1973 -8.98962q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653l1.14441e-05 0.0296249v597.333l-1.14441e-05 0.0296021 q0 17.6639 12.5013 30.1653q12.5013 12.5014 30.1653 12.5014q14.6411 0 26.1973 -8.98962l384 -298.667q16.5074 -12.8111 16.5074 -33.7067q0 -20.8955 -16.5074 -33.7067zM399.787 384l-271.787 211.413v-422.827l271.829 211.413z" /> <glyph glyph-name="file-text" unicode="" d="M554.667 768h-298.667q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653v-682.667q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013h512q17.664 0 30.1653 12.5013q12.5013 12.5013 12.5013 30.1653v469.333h-213.333q-17.664 0 -30.1653 12.5013 q-12.5013 12.5013 -12.5013 30.1653v213.334zM640 707.669v-110.336h110.336zM597.333 853.333q17.6716 -0.00378418 30.1653 -12.5013l256 -256q12.4976 -12.4937 12.5013 -30.1653v-512q0 -52.992 -37.504 -90.496q-37.504 -37.504 -90.496 -37.504h-512 q-52.992 0 -90.496 37.504q-37.504 37.504 -37.504 90.496v682.667q0 52.992 37.504 90.496q37.504 37.504 90.496 37.504zM682.667 384q17.6613 -0.00268555 30.1607 -12.5041q12.4995 -12.5013 12.4995 -30.1626t-12.4994 -30.1626q-12.4995 -12.5013 -30.1608 -12.5041 h-341.333q-17.6613 0.00271606 -30.1607 12.504q-12.4994 12.5013 -12.4994 30.1626t12.4995 30.1626q12.4994 12.5014 30.1607 12.5041zM682.667 213.333q17.6613 -0.00270081 30.1607 -12.504q12.4995 -12.5014 12.4995 -30.1626t-12.4994 -30.1626 q-12.4995 -12.5013 -30.1608 -12.5041h-341.333q-17.6613 0.00270844 -30.1607 12.504q-12.4994 12.5013 -12.4994 30.1626t12.4994 30.1626t30.1607 12.504zM426.667 554.667q17.664 0 30.1653 -12.5013t12.5013 -30.1653t-12.5013 -30.1654 q-12.5013 -12.5013 -30.1653 -12.5013h-85.3333q-17.664 0 -30.1653 12.5013t-12.5013 30.1653q0 17.664 12.5013 30.1653t30.1653 12.5013z" /> <glyph glyph-name="film" unicode="" d="M42.6667 717.739q0.0352669 56.101 39.7645 95.8301q39.7292 39.7292 95.8302 39.7646h667.477q56.101 -0.0354004 95.8301 -39.7646q39.7292 -39.7292 39.7646 -95.8301v-667.477q-0.0354004 -56.1009 -39.7646 -95.8301q-39.7292 -39.7292 -95.8301 -39.7645h-667.477 q-56.1009 0.0352707 -95.8302 39.7645q-39.7292 39.7292 -39.7645 95.8302v667.477zM341.333 768v-341.333h341.333v341.333h-341.333zM341.333 0h341.333v341.333h-341.333v-341.333v-7.8125e-06zM896 426.667v128h-128v-128h128zM896 341.333h-128v-128h128v128z M128 341.333v-128h128v128h-128zM128 426.667h128v128h-128v-128zM768 768v-128h128v77.7386q-0.0351562 20.7731 -14.7617 35.4996q-14.7266 14.7265 -35.4996 14.7617zM896 128h-128v-128h77.7386q20.7731 0.035171 35.4996 14.7617q14.7266 14.7266 14.7617 35.4996z M256 768h-77.7387q-20.773 -0.0351562 -35.4996 -14.7617t-14.7617 -35.4996v-77.7386h128v128zM256 0v128h-128v-77.7387q0 -20.7434 14.7503 -35.5023q14.7504 -14.759 35.511 -14.759z" /> <glyph glyph-name="file" unicode="" d="M554.667 853.333q17.6717 -0.00372314 30.1653 -12.5013l298.667 -298.667q12.4975 -12.4938 12.5013 -30.1653v-469.333q0 -52.992 -37.504 -90.496q-37.504 -37.504 -90.496 -37.504h-512q-52.992 0 -90.496 37.504q-37.504 37.504 -37.504 90.496v682.667 q0 52.992 37.504 90.496q37.504 37.504 90.496 37.504zM512 512v256h-256q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653v-682.667q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013h512q17.664 0 30.1653 12.5013q12.5013 12.5013 12.5013 30.1653v426.667 h-256q-17.6641 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653zM597.333 707.669v-153.003h153.003z" /> <glyph glyph-name="file-plus" unicode="" d="M554.667 768h-298.667q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653v-682.667q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013h512q17.664 0 30.1653 12.5013q12.5013 12.5013 12.5013 30.1653v469.333h-213.333q-17.664 0 -30.1653 12.5013 q-12.5013 12.5013 -12.5013 30.1653v213.334zM640 707.669v-110.336h110.336zM597.333 853.333q17.6716 -0.00378418 30.1653 -12.5013l256 -256q12.4976 -12.4937 12.5013 -30.1653v-512q0 -52.992 -37.504 -90.496q-37.504 -37.504 -90.496 -37.504h-512 q-52.992 0 -90.496 37.504q-37.504 37.504 -37.504 90.496v682.667q0 52.992 37.504 90.496q37.504 37.504 90.496 37.504zM469.333 213.333h-85.3333q-17.664 0 -30.1653 12.5013t-12.5013 30.1653q0 17.664 12.5013 30.1654q12.5013 12.5013 30.1653 12.5013h85.3333 v85.3333q0 17.664 12.5013 30.1653t30.1653 12.5013t30.1653 -12.5013t12.5013 -30.1653v-85.3333h85.3333q17.664 0 30.1653 -12.5013t12.5013 -30.1654q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013h-85.3333v-85.3333q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013 t-30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653z" /> <glyph glyph-name="folder" unicode="" d="M170.667 725.333q-17.664 0 -30.1653 -12.5014q-12.5013 -12.5013 -12.5013 -30.1653v-597.333q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013h682.667q17.664 0 30.1653 12.5013q12.5013 12.5013 12.5013 30.1653v469.333q0 17.664 -12.5013 30.1653 t-30.1653 12.5013h-384h-0.00637817q-9.4494 0 -19.8487 5.56311q-10.3992 5.56311 -15.6436 13.4236l-72.6613 109.013zM853.333 682.667q52.992 0 90.496 -37.504q37.504 -37.504 37.504 -90.496v-469.333q0 -52.992 -37.504 -90.496q-37.504 -37.504 -90.496 -37.504 h-682.667q-52.992 0 -90.496 37.504q-37.504 37.504 -37.504 90.496v597.333q0 52.992 37.504 90.496q37.504 37.504 90.496 37.504h213.333h0.00637817q9.44937 0 19.8486 -5.56311t15.6437 -13.4236l72.6613 -109.013z" /> <glyph glyph-name="filter" unicode="" d="M384 348.757l-331.264 391.68q-10.0976 11.9318 -10.0976 27.5627q0 17.664 12.5013 30.1653q12.5013 12.5013 30.1653 12.5013h0.0282974h853.333h0.0282593q17.664 0 30.1653 -12.5013t12.5013 -30.1653q0 -15.6309 -10.0976 -27.5626l-331.264 -391.68v-348.757 q-0.00939941 -17.6546 -12.5107 -30.1492q-12.5013 -12.4946 -30.1559 -12.4946q-10.0668 0 -19.072 4.49989l-170.667 85.3333q-9.76233 4.87826 -16.6756 16.0545q-6.91327 11.1762 -6.91907 22.0895zM177.28 725.333l281.984 -333.397q10.0693 -11.923 10.0693 -27.5292 v-0.0334167v-252.672l85.3333 -42.6667v295.339v0.0334167q0 15.6062 10.0693 27.5292l281.984 333.397z" /> <glyph glyph-name="flag" unicode="" d="M128 -42.6667v810.667q0.00376892 17.6716 12.5013 30.1653q16.8922 16.8922 51.6267 30.7627q60.9459 24.4053 149.205 24.4053q43.992 0 82.2812 -9.67096t104.215 -36.0677q57.8734 -23.1229 89.4225 -31.3588q31.5491 -8.23584 65.4149 -8.23584 q71.6771 0 117.504 18.2614q18.4719 7.4212 22.9973 11.9467q20.16 20.126 46.496 9.20001t26.336 -39.408v-512q-0.00372314 -17.6716 -12.5013 -30.1653q-16.8921 -16.8922 -51.6266 -30.7627q-60.8785 -24.4053 -149.205 -24.4053q-43.9921 0 -82.2811 9.67091 q-38.2889 9.6709 -104.215 36.0677q-57.8736 23.1231 -89.4226 31.3589q-31.549 8.23578 -65.4148 8.23578q-71.6771 0 -117.504 -18.2613q-5.32376 -2.13168 -10.496 -4.608v-275.797q-0.00270081 -17.6613 -12.504 -30.1607q-12.5013 -12.4994 -30.1626 -12.4994 t-30.1626 12.4994q-12.5013 12.4994 -12.5041 30.1607zM341.333 341.333q43.9922 0 82.2812 -9.67093t104.215 -36.0677q57.8736 -23.1232 89.4225 -31.3589t65.4148 -8.23575q71.677 0 117.504 18.2613q6.08002 2.496 10.496 4.608v420.693q-54.7618 -16.896 -128 -16.896 q-43.992 0 -82.2812 9.6709t-104.215 36.0677q-57.8734 23.1229 -89.4225 31.3588q-31.5491 8.2359 -65.4149 8.2359q-71.6772 0 -117.504 -18.2614q-5.32307 -2.13135 -10.496 -4.60797v-420.693q54.7619 16.896 128 16.896z" /> <glyph glyph-name="globe" unicode="" d="M512 -85.3333q-95.4834 0 -182.397 37.1694t-149.756 100.011t-100.011 149.756q-37.1694 86.9139 -37.1694 182.397q0 95.4834 37.1694 182.397q37.1694 86.9138 100.011 149.755q62.8417 62.8417 149.756 100.011q86.9138 37.1694 182.397 37.1694 q95.4833 0 182.397 -37.1694t149.756 -100.011q62.8417 -62.8417 100.011 -149.755t37.1694 -182.397q0 -95.4833 -37.1694 -182.397t-100.011 -149.756q-62.8417 -62.8417 -149.755 -100.011q-86.9138 -37.1694 -182.398 -37.1694zM723.2 341.333 q-6.02661 -74.2061 -39.4803 -170.591t-74.6957 -158.369q105.658 27.6537 189.054 124.039q83.3964 96.3853 95.575 204.921h-170.453zM300.928 341.333h-170.581q12.1786 -108.536 95.575 -204.921q83.3964 -96.385 189.054 -124.039q-41.1777 62.0034 -74.5938 158.389 q-33.4161 96.3853 -39.4542 170.571zM609.024 755.627q41.1777 -62.0034 74.5938 -158.389q33.4161 -96.3853 39.4542 -170.571h170.581q-12.1786 108.536 -95.575 204.921t-189.054 124.039zM414.976 755.627q-105.658 -27.6537 -189.054 -124.039 q-83.3964 -96.3853 -95.575 -204.921h170.453q6.02667 74.2061 39.4802 170.591q33.4536 96.3852 74.6958 158.369zM386.475 341.333q6.78772 -73.3789 43.5666 -166.514q36.7789 -93.1349 81.9587 -151.353q45.2267 58.2022 82.0431 151.337 q36.8163 93.1349 43.6102 166.53h-251.179zM637.525 426.667q-6.78778 73.379 -43.5667 166.514q-36.7789 93.1349 -81.9586 151.353q-45.2267 -58.2021 -82.0431 -151.337q-36.8164 -93.1349 -43.6103 -166.53z" /> <glyph glyph-name="grid" unicode="" d="M170.667 512h213.333v213.333h-213.333v-213.333zM128 810.667h298.667q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-298.667q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013h-298.667q-17.664 0 -30.1653 12.5013t-12.5013 30.1653v298.667q0 17.664 12.5013 30.1653 t30.1653 12.5013zM640 512h213.333v213.333h-213.333v-213.333zM597.333 810.667h298.667q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-298.667q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013h-298.667q-17.6639 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653 v298.667q0 17.664 12.5013 30.1653t30.1653 12.5013zM640 42.6667h213.333v213.333h-213.333v-213.333zM597.333 341.333h298.667q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-298.667q0 -17.664 -12.5013 -30.1653q-12.5013 -12.5013 -30.1653 -12.5013h-298.667 q-17.664 0 -30.1653 12.5013t-12.5013 30.1653v298.667q0 17.664 12.5013 30.1653t30.1653 12.5013zM170.667 42.6667h213.333v213.333h-213.333v-213.333zM128 341.333h298.667q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-298.667q0 -17.664 -12.5013 -30.1653 q-12.5013 -12.5013 -30.1653 -12.5013h-298.667q-17.664 0 -30.1653 12.5013t-12.5013 30.1653v298.667q0 17.664 12.5013 30.1653t30.1653 12.5013z" /> <glyph glyph-name="heart" unicode="" d="M527.061 729.472q33.6374 33.6785 91.131 57.5137q57.4936 23.8351 105.093 23.8351q114.816 0 196.075 -81.2587t81.2587 -196.075l-6.10352e-05 -0.154236q-0.00280762 -47.5718 -23.8179 -105.04q-23.8151 -57.4686 -57.4622 -91.0983l-377.173 -377.173 q-12.496 -12.4922 -30.1653 -12.4922t-30.1653 12.4922l-377.173 377.173q-33.6347 33.6347 -57.439 91.1033q-23.8043 57.4687 -23.8043 105.035q0 114.836 81.2729 196.109q81.2729 81.273 196.109 81.2729q47.5667 0 105.035 -23.8043t91.1033 -57.439l15.0613 -15.0613z M813.781 352.299l45.2267 45.2267q23.335 23.2906 39.8497 63.1074t16.5148 72.786q0 79.488 -56.256 135.744t-135.744 56.256l-0.172485 -6.10352e-05q-32.944 -0.00708008 -72.7358 -16.5089q-39.7918 -16.5017 -63.0722 -39.8112l-45.2267 -45.2267 q-12.496 -12.4922 -30.1653 -12.4922q-17.6693 0 -30.1653 12.4922l-45.2267 45.2267q-23.2878 23.2915 -63.0796 39.7756q-39.7918 16.4841 -72.7284 16.4841q-79.5072 0 -135.777 -56.2696q-56.2696 -56.2696 -56.2696 -135.777q0 -32.9293 16.4779 -72.7148 q16.4779 -39.7855 39.7606 -63.0719l347.008 -347.008z" /> <glyph glyph-name="home" unicode="" d="M101.803 545.707l384 298.667q11.5562 8.98962 26.1973 8.98962q14.6411 0 26.1973 -8.98962l384 -298.667q16.4694 -12.8115 16.4694 -33.6771v-0.0296021v-469.333q0 -52.992 -37.504 -90.496q-37.504 -37.504 -90.496 -37.504h-597.333q-52.992 0 -90.496 37.504 q-37.504 37.504 -37.504 90.496v469.333l-7.62939e-06 0.0296021q0 20.8656 16.4689 33.6771zM682.667 0h128q17.664 0 30.1653 12.5013t12.5013 30.1653v448.427l-341.333 265.515l-341.333 -265.472v-448.469q0 -17.664 12.5013 -30.1653 q12.5013 -12.5013 30.1653 -12.5013h128v384q0 17.664 12.5013 30.1653t30.1653 12.5013h256q17.6641 0 30.1653 -12.5013q12.5013 -12.5013 12.5013 -30.1653zM426.667 0h170.667v341.333h-170.667v-341.333z" /> <glyph glyph-name="github" unicode="" d="M371.755 83.5413q-69.9978 -19.2684 -104.619 -9.71733q-34.6208 9.55106 -70.1867 53.5787q-1.51442 1.8716 -9.49222 11.9618t-9.70778 12.2302q-21.5316 26.5801 -39.9821 40.5713q-18.4505 13.9912 -42.0659 19.8873q-4.96397 1.20593 -10.0724 1.20593 q-17.664 0 -30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653q0 -13.6835 9.37689 -25.7881t22.6261 -15.5245q13.8316 -3.48799 36.3947 -31.36q1.58878 -1.92943 9.59492 -12.0332t9.60507 -12.0735q34.3674 -42.5723 69.9812 -63.6808t84.8197 -24.93 q49.2059 -3.8215 110.884 16.5894q12.5956 3.77343 21.5099 15.7497q8.91431 11.9763 8.91431 25.125q0 17.6652 -12.5022 30.1673q-12.5022 12.5022 -30.1673 12.5022q-6.25424 0 -12.2446 -1.79479zM960 489.813q-0.00878906 39.376 -17.2482 89.1437 q-17.2393 49.7678 -41.5892 80.7123q8.49005 32.3362 8.49005 65.7687q0 53.1701 -20.9487 102.039q-7.88763 18.4133 -27.0933 24.1067q-4.41217 1.2594 -8.96002 1.87732q-67.6144 9.79297 -177.621 -59.9893q-69.8774 16.5862 -141.696 16.5862t-141.696 -16.5862 q-110.094 69.8373 -177.664 59.9893q-4.54758 -0.61792 -8.96001 -1.87732q-19.1782 -5.71008 -27.0507 -24.1067q-20.9487 -48.8693 -20.9487 -102.039q0 -33.4324 8.49002 -65.7687q-24.3602 -30.9562 -41.6006 -80.7435t-17.2404 -89.179 q0 -0.714172 0.00370026 -1.42688q0 -143.729 62.04 -222.495q62.0401 -78.7656 185.427 -107.105q-13.174 -33.16 -13.174 -68.8411q0 -6.54781 0.45929 -13.0789l-0.0853271 -162.133q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653 v165.12q-3.24313 48.0632 28.1173 80.4267q11.974 12.4001 11.974 29.6379q0 15.6042 -10.9591 28.01q-10.9592 12.4058 -26.4442 14.3308q-125.204 15.5803 -181.279 72.8947q-56.0756 57.3144 -56.0756 183.447q-0.00363159 0.589203 -0.00363159 1.17383 q0 31.3691 15.3027 69.6543t36.9249 61.0119q11.7859 12.3619 11.7859 29.4419q0 7.70953 -2.69795 14.9315q-10.964 29.3732 -10.964 60.7261q0 20.9677 4.99066 41.3326q4.48 -0.960022 9.85599 -2.56q44.165 -12.6674 103.04 -52.1813q10.7737 -7.2146 23.7402 -7.2146 q5.70193 0 11.2038 1.49725q67.8537 18.3873 138.155 18.3873q70.3013 0 138.155 -18.3873q5.50189 -1.49725 11.2038 -1.49725q12.9664 0 23.7402 7.2146q58.8077 39.4686 103.04 52.224q5.54694 1.58478 9.81335 2.56q5.01392 -20.4099 5.01392 -41.4273 q0 -31.324 -10.9446 -60.674q-2.69794 -7.22205 -2.69794 -14.9314q0 -17.08 11.7859 -29.442q21.6122 -22.7051 36.9138 -60.9593q15.3016 -38.2542 15.3102 -69.6007q0 -127.341 -56.2067 -184.866q-56.2067 -57.5253 -180.593 -71.39q-15.7214 -1.73953 -26.8478 -14.165 q-11.1265 -12.4255 -11.1265 -28.2428q0 -17.2871 12.033 -29.6988q11.8055 -12.1781 20.1607 -32.8005q8.3551 -20.6224 8.3551 -37.5834q0 -3.98179 -0.313171 -7.95213l-0.127991 -168.448q0.00274658 -17.6613 12.504 -30.1607t30.1627 -12.4994t30.1627 12.4994 t12.504 30.1607v165.12q0.502625 6.65949 0.502625 13.3382q0 34.4102 -12.876 66.3205q122.721 27.2164 184.881 106.442q62.1594 79.2256 62.1576 223.925z" /> <glyph glyph-name="image" unicode="" d="M213.333 -42.6667h-0.213333q-52.9037 3.8147e-06 -90.3452 37.4415t-37.4415 90.3452v597.76q0 52.9037 37.4415 90.3452t90.3452 37.4415h597.76q52.9037 0 90.3452 -37.4415t37.4415 -90.3452v-597.76v0q0 -52.9037 -37.4415 -90.3452t-90.3452 -37.4415h-597.547z M853.333 358.997v323.84v0.0426636q0 17.5756 -12.4388 30.0145t-30.0145 12.4388h-597.76q-17.5757 0 -30.0145 -12.4388t-12.4388 -30.0145v-597.76q0 -13.5096 7.68639 -24.3694q7.6864 -10.8597 19.9616 -15.4386l454.187 454.187q12.496 12.4922 30.1653 12.4922 t30.1653 -12.4922zM853.333 238.336l-170.667 170.667l-366.336 -366.336h494.507q17.6041 0 30.05 12.4287q12.4459 12.4287 12.4459 30.0246v153.173zM362.667 426.667h-0.0103149q-44.16 0 -75.4134 31.2533q-31.2533 31.2533 -31.2533 75.4133q0 44.16 31.2533 75.4133 q31.2534 31.2534 75.4134 31.2534h0.0103149q44.1558 -0.00421143 75.406 -31.2576q31.2503 -31.2534 31.2503 -75.4091t-31.2503 -75.4091t-75.406 -31.2575zM362.667 512q8.832 0 15.0827 6.25067t6.25067 15.0826t-6.25067 15.0827q-6.25067 6.25067 -15.0827 6.25067 q-8.83197 0 -15.0827 -6.25067q-6.25067 -6.25067 -6.25067 -15.0826q0 -8.83203 6.25067 -15.0827t15.0827 -6.25067z" /> <glyph glyph-name="inbox" unicode="" d="M311.467 768h401.067h0.0637207q34.4713 0 68.7563 -22.3024q34.285 -22.3023 48.2573 -53.8149l148.053 -333.227q3.66931 -8.26639 3.66931 -17.3105v-0.012207v-213.333q0 -52.992 -37.504 -90.496t-90.496 -37.504h-682.667q-52.992 0 -90.496 37.504t-37.504 90.496 v213.333v0.012207q0 9.04413 3.66933 17.3105l148.053 333.227q13.9724 31.5125 48.2574 53.8149q34.285 22.3024 68.7563 22.3024h0.0643921zM873.003 384l-121.387 273.28q-4.65552 10.5101 -16.0856 17.9484q-11.4302 7.43835 -22.9252 7.43835l-0.0718384 -6.10352e-05 h-401.067l-0.0718079 6.10352e-05q-11.495 0 -22.9252 -7.43829q-11.4301 -7.43829 -16.0857 -17.9484l-121.344 -273.28h190.293h0.00637817q9.44943 0 19.8486 -5.56305q10.3992 -5.56308 15.6436 -13.4236l72.6613 -109.013h125.013l72.6613 109.013 q5.24445 7.86053 15.6437 13.4236q10.3992 5.56305 19.8486 5.56305h0.00640869zM896 128v170.667h-190.507l-72.6613 -109.013q-5.24445 -7.86049 -15.6437 -13.4236q-10.3992 -5.56308 -19.8486 -5.56308h-0.00646973h-170.667h-0.00637817q-9.4494 0 -19.8486 5.5631 q-10.3993 5.56308 -15.6436 13.4236l-72.6613 109.013h-190.507v-170.667q0 -17.664 12.5013 -30.1653t30.1653 -12.5013h682.667q17.664 0 30.1653 12.5013t12.502 30.1653z" /> <glyph glyph-name="layers" unicode="" d="M492.928 848.811q9.00519 4.49988 19.072 4.49988q10.067 0 19.072 -4.49988l426.667 -213.333q9.74927 -4.88623 16.6492 -16.0624q6.8999 -11.1763 6.8999 -22.0815q0 -10.9053 -6.8999 -22.0815q-6.89984 -11.1762 -16.6492 -16.0625l-426.667 -213.333 q-9.00507 -4.49988 -19.072 -4.49988q-10.0669 0 -19.072 4.49988l-426.667 213.333q-9.74931 4.88635 -16.6492 16.0625q-6.89991 11.1762 -6.89991 22.0815t6.89991 22.0815t16.6492 16.0626zM180.736 597.333l331.264 -165.632l331.264 165.632l-331.264 165.632z M104.405 208.811q-8.51405 3.933 -17.8927 3.933q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -10.5432 6.56769 -21.5466t15.8476 -16.0077l426.667 -213.333q9.00516 -4.49989 19.072 -4.49989q10.067 0 19.072 4.49989l426.667 213.333 q9.27997 5.00426 15.8477 16.0077t6.56769 21.5467q0 17.664 -12.5013 30.1653t-30.1653 12.5013q-9.37854 0 -17.8926 -3.933l-407.595 -203.776zM104.405 422.144q-8.51401 3.93298 -17.8927 3.93298q-17.664 0 -30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653 q0 -10.5433 6.5677 -21.5467t15.8476 -16.0077l426.667 -213.333q9.00519 -4.49988 19.072 -4.49988q10.0669 0 19.072 4.49988l426.667 213.333q9.27991 5.00421 15.8476 16.0076q6.56775 11.0034 6.56775 21.5467q0 17.664 -12.5013 30.1653t-30.1653 12.5013 q-9.37854 0 -17.8926 -3.93301l-407.595 -203.776z" /> <glyph glyph-name="info" unicode="" d="M512 -85.3333q-95.4834 0 -182.397 37.1694t-149.756 100.011t-100.011 149.756q-37.1694 86.9139 -37.1694 182.397q0 95.4834 37.1694 182.397q37.1694 86.9138 100.011 149.755q62.8417 62.8417 149.756 100.011q86.9138 37.1694 182.397 37.1694 q95.4833 0 182.397 -37.1694t149.756 -100.011q62.8417 -62.8417 100.011 -149.755t37.1694 -182.397q0 -95.4833 -37.1694 -182.397t-100.011 -149.756q-62.8417 -62.8417 -149.755 -100.011q-86.9138 -37.1694 -182.398 -37.1694zM512 -2.87646e-06 q104.256 0 192.72 51.408q88.4642 51.408 139.872 139.872q51.408 88.4641 51.408 192.72q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5q0 -104.256 51.4079 -192.72q51.4079 -88.4642 139.872 -139.872t192.72 -51.408zM554.667 213.333v170.667 q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013t-12.5013 -30.1653v-170.667q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653zM512 554.667zM469.333 554.667q0 -17.6641 12.5013 -30.1653 q12.5013 -12.5013 30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653z" /> <glyph glyph-name="instagram" unicode="" d="M128 597.547v-427.093v-1.52588e-05q0 -70.5677 49.9428 -120.511t120.511 -49.9428h427.093q70.5677 1.03063e-05 120.51 49.9428q49.9428 49.9428 49.9428 120.511v427.093q0 70.5677 -49.9428 120.51t-120.51 49.9428h-427.093v0q-70.5677 0 -120.511 -49.9428 t-49.9428 -120.51zM42.6667 597.547q7.62939e-06 105.896 74.9455 180.841q74.9455 74.9455 180.841 74.9455h427.093q105.896 0 180.841 -74.9455t74.9455 -180.841v-427.093v-1.52588e-05q0 -105.896 -74.9455 -180.841t-180.841 -74.9455h-427.093v0 q-105.896 0 -180.841 74.9455q-74.9455 74.9455 -74.9455 180.841zM640.427 404.608q-5.95142 46.2252 -43.1484 78.9402q-37.197 32.715 -83.8038 32.715q-52.992 0 -90.496 -37.504t-37.504 -90.496q0 -10.6746 1.76816 -21.2019q6.94067 -44.8958 44.0044 -76.67 t82.4929 -31.7741q52.9919 0 90.496 37.504q37.504 37.504 37.504 90.496q0 9.04065 -1.27063 17.9908zM724.907 417.152q2.3078 -15.5626 2.3078 -31.296q0 -88.3304 -62.514 -150.844q-62.514 -62.514 -150.844 -62.514q-76.1981 0 -138.036 53.3443 q-61.8378 53.3443 -73.0148 128.718q-2.30801 15.563 -2.30801 31.296q0 88.3216 62.5079 150.829q62.5078 62.5079 150.829 62.5079q76.1893 0 138.021 -53.3381q61.8315 -53.3381 73.0084 -128.703zM725.333 640zM682.667 640v-0.00653076q0 -17.664 12.5013 -30.1653 t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653v0.00653076v0.00653076q0 17.664 -12.5013 30.1653t-30.1653 12.5013q-17.6639 0 -30.1653 -12.5013q-12.5013 -12.5014 -12.5013 -30.1653v-0.00653076z" /> <glyph glyph-name="layout" unicode="" d="M85.3333 682.88q0 52.9037 37.4415 90.3452t90.3452 37.4415h597.76q52.9037 0 90.3452 -37.4415t37.4415 -90.3452v-597.76v0q0 -52.9037 -37.4415 -90.3452t-90.3452 -37.4415h-597.76q-52.9037 3.8147e-06 -90.3452 37.4415t-37.4415 90.3452zM853.333 554.667 v128.213q0 17.5756 -12.4388 30.0145t-30.0145 12.4388h-597.76q-17.5757 0 -30.0145 -12.4388t-12.4388 -30.0145v-128.213h682.667zM853.333 469.333h-426.667v-426.667h384.213q17.6 0 30.0267 12.4267t12.4266 30.0267zM341.333 42.6667v426.667h-170.667v-384.213 q0 -17.6 12.4267 -30.0267t30.0267 -12.4267z" /> <glyph glyph-name="link-" unicode="" d="M640 554.667h128q70.6561 0 120.661 -50.0053t50.0053 -120.661t-50.0053 -120.661q-50.0054 -50.0053 -120.661 -50.0053h-128q-17.6613 -0.00268555 -30.1607 -12.504t-12.4995 -30.1626t12.4994 -30.1626q12.4995 -12.5013 30.1608 -12.504h128 q105.984 0 180.992 75.008q75.008 75.008 75.008 180.992t-75.008 180.992t-180.992 75.008h-128q-17.6613 -0.00268555 -30.1607 -12.504t-12.4995 -30.1627q0 -17.6613 12.4994 -30.1625q12.4995 -12.5013 30.1608 -12.5049zM384 213.333h-128q-70.656 0 -120.661 50.0053 q-50.0053 50.0053 -50.0053 120.661q0 70.656 50.0053 120.661q50.0053 50.0053 120.661 50.0053h128h0.00653076q17.664 0 30.1653 12.5014q12.5013 12.5013 12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013h-0.00653076h-128q-106 0 -181 -75t-75 -181t75 -181 t181 -75h128q17.6613 0.00270081 30.1607 12.504q12.4994 12.5013 12.4994 30.1626t-12.4994 30.1626t-30.1607 12.505zM341.333 341.333h341.333q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013h-341.333q-17.664 0 -30.1653 -12.5013 t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013z" /> <glyph glyph-name="life-buoy" unicode="" d="M272.299 83.968q43.3875 -34.763 113.441 -59.3657q70.0539 -24.6028 125.65 -24.6028q0.30484 0 0.60968 0.000486063q0.304871 -0.000486082 0.60968 -0.000486082q55.5963 0 125.65 24.6028q70.0538 24.6028 113.441 59.3657l-122.027 122.027 q-22.0755 -14.6259 -56.4403 -24.9771q-34.3647 -10.3512 -60.8457 -10.3512l-0.388672 0.000366211l-0.34613 -0.000274658q-26.481 0 -60.8457 10.3512q-34.3647 10.3512 -56.4402 24.9771l-122.027 -122.027zM211.968 144.299l122.027 122.027 q-14.6259 22.0754 -24.9771 56.4402t-10.3512 60.8458l0.000335693 0.388672q0 64.2685 35.328 117.632l-122.027 122.027q-34.7629 -43.3876 -59.3657 -113.441q-24.6027 -70.0538 -24.6027 -125.65l0.000419617 -0.567108q0 -134.741 83.968 -239.702zM272.299 684.032 l122.027 -122.027q22.0754 14.626 56.4402 24.9772q34.3647 10.3512 60.8458 10.3512l0.388611 -0.000366211q64.2686 0 117.632 -35.328l122.027 122.027q-43.3877 34.7631 -113.441 59.3657q-70.0538 24.6027 -125.65 24.6027l-0.567139 -0.000427246 l-0.609711 0.000488281q-55.5963 0 -125.65 -24.6028q-70.0539 -24.6028 -113.443 -59.3657zM812.032 623.701l-122.027 -122.027q35.328 -53.4309 35.328 -117.675q0 -64.2685 -35.328 -117.632l122.027 -122.027q34.7629 43.3877 59.3657 113.441 q24.6027 70.0537 24.6027 125.65l-0.000427246 0.567108l0.000488281 0.609711q0 55.5963 -24.6028 125.65q-24.6028 70.0538 -59.3657 113.443zM512 -85.3333q-95.4834 0 -182.397 37.1694t-149.756 100.011t-100.011 149.756q-37.1694 86.9139 -37.1694 182.397 q0 95.4834 37.1694 182.397q37.1694 86.9138 100.011 149.755q62.8417 62.8417 149.756 100.011q86.9138 37.1694 182.397 37.1694q95.4833 0 182.397 -37.1694t149.756 -100.011q62.8417 -62.8417 100.011 -149.755t37.1694 -182.397q0 -95.4833 -37.1694 -182.397 t-100.011 -149.756q-62.8417 -62.8417 -149.755 -100.011q-86.9138 -37.1694 -182.398 -37.1694zM512 256q53 0 90.5 37.5t37.5 90.5t-37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5z" /> <glyph glyph-name="link" unicode="" d="M392.533 315.776q31.792 -42.4917 91.8505 -72.5644q60.0585 -30.0727 113.127 -30.0727q43.903 0 96.944 21.9718q53.0411 21.9718 84.0837 53.0173l128 128q32.4592 31.2651 55.4315 85.2881q22.9724 54.023 22.9724 99.0908q0 105.984 -75.008 180.992 t-180.992 75.008q-44.8909 0 -98.7665 -22.8196q-53.8756 -22.8197 -85.1093 -55.0633l-73.8133 -73.3867q-13.1054 -12.592 -13.1054 -30.7665q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q18.0321 0 30.5988 12.9318l73.3867 72.96q20.4918 19.6772 55.1006 33.6033 q34.6089 13.9261 63.0186 13.9261q29.278 0 64.6391 -14.6636q35.361 -14.6636 56.047 -35.3831q20.6947 -20.6948 35.341 -56.0539t14.6463 -64.6259q0 -28.546 -14.0337 -63.2818t-33.863 -55.2704l-127.488 -127.488q-20.6968 -20.7063 -56.064 -35.3607 q-35.3672 -14.6544 -64.6436 -14.6544q-35.4003 0 -75.4534 20.0675t-61.2471 48.4223q-12.8011 17.1179 -34.176 17.1179q-17.6676 0 -30.1714 -12.5038q-12.5038 -12.5038 -12.5038 -30.1714q0 -14.1919 8.49924 -25.5573zM631.467 452.224 q-31.7921 42.4916 -91.8505 72.5643q-60.0585 30.0728 -113.127 30.0728q-43.9029 0 -96.944 -21.9718t-84.0837 -53.0173l-128 -128q-32.4592 -31.2652 -55.4315 -85.2881t-22.9723 -99.0908q0 -105.984 75.008 -180.992q75.008 -75.008 180.992 -75.008 q44.8909 0 98.7665 22.8197q53.8756 22.8197 85.1093 55.0632l73.472 73.472q11.977 12.4007 11.977 29.641q0 17.664 -12.5013 30.1653q-12.5013 12.5013 -30.1653 12.5013q-17.2402 0 -29.641 -11.977l-72.96 -72.96q-49.7852 -48.1668 -119.584 -47.4507 t-119.136 50.0533q-20.6947 20.6947 -35.341 56.0538q-14.6463 35.3592 -14.6463 64.6259q0 28.5459 14.0337 63.2818q14.0337 34.7358 33.8629 55.2705l127.488 127.488q20.6962 20.7037 56.0617 35.3564q35.3655 14.6526 64.6397 14.6526q35.3844 0 75.4269 -20.0533 t61.2369 -48.3878q12.801 -17.1179 34.176 -17.1179q17.6676 0 30.1714 12.5039q12.5038 12.5038 12.5038 30.1714q0 14.1919 -8.49927 25.5573z" /> <glyph glyph-name="log-in" unicode="" d="M597.333 -85.3333h213.333q52.9919 0 90.496 37.504q37.504 37.504 37.504 90.496v682.667q0 52.992 -37.504 90.496q-37.504 37.504 -90.496 37.504h-213.333q-17.6613 -0.00268555 -30.1607 -12.504q-12.4995 -12.5013 -12.4995 -30.1627q0 -17.6613 12.4995 -30.1626 t30.1607 -12.504h213.333q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-682.667q0 -17.664 -12.5013 -30.1653q-12.5013 -12.5013 -30.1654 -12.5013h-213.333q-17.6613 -0.00270382 -30.1607 -12.504t-12.4995 -30.1626q0 -17.6613 12.4995 -30.1626 q12.4995 -12.5014 30.1608 -12.5042zM439.168 243.499q-11.977 -12.4007 -11.977 -29.641q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.2403 0 29.641 11.977l170.667 170.667q12.4922 12.4961 12.4922 30.1653q0 17.6693 -12.4922 30.1653l-170.667 170.667 q-12.4007 11.9771 -29.641 11.9771q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -17.2403 11.9771 -29.6411l140.501 -140.501zM640 426.667h-512q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013h512q17.664 0 30.1653 12.5013 t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013z" /> <glyph glyph-name="list" unicode="" d="M341.333 597.333h554.667q17.664 0 30.1653 12.5013t12.5013 30.1653q0 17.6639 -12.5014 30.1653q-12.5013 12.5013 -30.1653 12.5013h-554.667q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1654 -12.5013zM341.333 341.333h554.667 q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013h-554.667q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013zM341.333 85.3333h554.667q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653 t-30.1653 12.5013h-554.667q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013zM128 640zM85.3333 640q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013 t-30.1653 -12.5013t-12.5013 -30.1653zM128 384zM85.3333 384q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013t-12.5013 -30.1653zM128 128zM85.3333 128q0 -17.664 12.5013 -30.1653 t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013t-12.5013 -30.1653z" /> <glyph glyph-name="lock" unicode="" d="M256 469.333v128q0 105.984 75.008 180.992t180.992 75.008t180.992 -75.008t75.008 -180.992v-128h42.88q52.7806 -0.0702515 90.222 -37.4742q37.4415 -37.404 37.5646 -90.1844v-299.349q-0.0176392 -52.8507 -37.4341 -90.2547t-90.2672 -37.404 l-0.0853271 2.28882e-05h-597.76q-52.7805 0.0702591 -90.222 37.4743t-37.5646 90.1844v299.349q0.0176392 52.8507 37.4341 90.2547q37.4165 37.404 90.2672 37.404l0.0853271 -3.05176e-05zM170.667 341.675v-299.349q0 -17.386 12.4957 -29.8556t29.9577 -12.4697 h597.76q17.5975 0 30.0254 12.3934t12.4279 29.9319v299.349q-0.122192 17.4532 -12.561 29.8546q-12.4388 12.4013 -29.8923 12.4708h-597.76l-0.0853577 9.15527e-05q-17.5227 0 -29.9366 -12.4014q-12.4138 -12.4013 -12.4315 -29.9241zM341.333 469.461h341.333v127.872 q0 70.656 -50.0053 120.661q-50.0054 50.0054 -120.661 50.0054q-70.6559 0 -120.661 -50.0054q-50.0053 -50.0053 -50.0053 -120.661z" /> <glyph glyph-name="log-out" unicode="" d="M426.667 0h-213.333q-17.664 0 -30.1653 12.5013t-12.5013 30.1653v682.667q0 17.664 12.5013 30.1653t30.1653 12.5013h213.333q17.6613 0.00274658 30.1607 12.5041q12.4994 12.5013 12.4994 30.1626q0 17.6612 -12.4994 30.1625q-12.4994 12.5014 -30.1607 12.5041 h-213.333q-52.992 0 -90.496 -37.504t-37.504 -90.496v-682.667q0 -52.992 37.504 -90.496q37.504 -37.504 90.496 -37.504h213.333q17.6613 0.00270081 30.1607 12.504q12.4994 12.5013 12.4994 30.1626t-12.4994 30.1626q-12.4994 12.5013 -30.1607 12.504v1.81353e-05 v0.000347786zM695.168 243.499q-11.9771 -12.4008 -11.9771 -29.641q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.2403 0 29.6411 11.977l170.667 170.667q12.4922 12.4961 12.4922 30.1653q0 17.6693 -12.4922 30.1653l-170.667 170.667 q-12.4008 11.9771 -29.6411 11.9771q-17.664 0 -30.1653 -12.5014q-12.5013 -12.5013 -12.5013 -30.1653q0 -17.2404 11.977 -29.6411l140.501 -140.501zM896 426.667h-512q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013h512 q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013z" /> <glyph glyph-name="loader" unicode="" d="M469.333 810.667v-170.667q0 -17.6641 12.5013 -30.1654t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653v170.667q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1652zM469.333 128v-170.667 q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013q12.5013 12.5013 12.5013 30.1653v170.667q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653zM180.181 655.488l120.747 -120.747 q12.4008 -11.9771 29.641 -11.9771q17.664 0 30.1653 12.5013t12.5013 30.1653q0 17.2403 -11.9771 29.6411l-120.747 120.747q-12.4008 11.9771 -29.641 11.9771q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -17.2403 11.9771 -29.6411zM662.741 172.928 l120.747 -120.747q12.4008 -11.977 29.6411 -11.977q17.6639 0 30.1653 12.5013q12.5013 12.5013 12.5013 30.1653q0 17.2403 -11.977 29.641l-120.747 120.747q-12.4008 11.977 -29.6411 11.977q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1654q0 -17.2403 11.977 -29.6409 zM85.3333 341.333h170.667q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013h-170.667q-17.664 0 -30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653t12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013zM768 341.333h170.667 q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013h-170.667q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013zM240.512 52.1813l120.747 120.747q11.977 12.4007 11.977 29.641q0 17.664 -12.5013 30.1653 t-30.1653 12.5013q-17.2403 0 -29.641 -11.977l-120.747 -120.747q-11.977 -12.4007 -11.977 -29.641q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013q17.2403 0 29.641 11.977zM723.072 534.741l120.747 120.747q13.0256 12.5806 13.0256 30.6896 q0 17.664 -12.5013 30.1653t-30.1653 12.5013q-18.1091 0 -30.6896 -13.0256l-120.747 -120.747q-13.0256 -12.5806 -13.0256 -30.6896q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q18.109 0 30.6896 13.0256z" /> <glyph glyph-name="mail" unicode="" d="M170.667 768h682.667q52.864 0 90.432 -37.568t37.568 -90.432v-512q0 -52.864 -37.5681 -90.432q-37.568 -37.568 -90.4319 -37.568h-682.667q-52.864 0 -90.432 37.568t-37.568 90.432v512q0 52.864 37.568 90.432t90.432 37.568zM891.435 659.029 q-4.89008 9.72363 -16.0538 16.6494t-22.0476 6.98798h-682.667q-26.1743 0 -38.1013 -23.6373l379.435 -265.6zM896 558.08l-359.552 -251.648q-11.0117 -7.69897 -24.448 -7.69897t-24.448 7.69897l-359.552 251.605v-430.037q0 -17.536 12.5653 -30.1013 t30.1013 -12.5653h682.667q17.5361 0 30.1014 12.5653t12.5653 30.1013z" /> <glyph glyph-name="maximize-" unicode="" d="M853.333 725.333v-213.333q0 -17.664 12.5014 -30.1653q12.5013 -12.5013 30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653v256q0 17.664 -12.5013 30.1653t-30.1653 12.5013h-256q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013z M170.667 256q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013t-12.5013 -30.1653v-256q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013h256q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013h-213.333z M865.835 798.165l-298.667 -298.667q-13.0256 -12.5806 -13.0256 -30.6896q0 -17.664 12.5013 -30.1653q12.5014 -12.5013 30.1653 -12.5013q18.1091 0 30.6896 13.0256l298.667 298.667q13.0256 12.5806 13.0256 30.6896q0 17.664 -12.5013 30.1653t-30.1653 12.5013 q-18.109 0 -30.6896 -13.0255zM158.165 -30.1653l298.667 298.667q11.977 12.4007 11.977 29.641q0 17.664 -12.5013 30.1653q-12.5013 12.5014 -30.1653 12.5014q-17.2403 0 -29.641 -11.9771l-298.667 -298.667q-11.977 -12.4007 -11.977 -29.641 q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.2402 0 29.641 11.977z" /> <glyph glyph-name="map" unicode="" d="M640 613.632l-256 128v-587.264l256 -128v587.264zM725.333 615.253v-584.405l213.333 121.899v584.405zM319.531 847.36q10.0558 6.00592 21.7686 6.00592q10.5509 0 19.8741 -4.93927l320.171 -160.043l278.827 159.317q9.83563 5.61823 21.1627 5.61823 q17.6583 0 30.1597 -12.4973t12.507 -30.1555v-682.667q-0.0032959 -10.2488 -6.30408 -21.1t-15.2 -15.9347l-298.667 -170.667q-9.83228 -5.61343 -21.1542 -5.61343q-10.0718 0 -19.0804 4.50409l-320.939 160.427l-278.827 -159.317 q-9.83556 -5.61821 -21.1626 -5.61821q-17.6583 0 -30.1596 12.4973t-12.507 30.1556v682.667q0.00330574 10.2489 6.30399 21.1q6.30068 10.8511 15.2 15.9347zM298.667 737.152l-213.333 -121.899v-584.405l213.333 121.899v584.405z" /> <glyph glyph-name="map-pin" unicode="" d="M545.408 -7.25333q67.8688 53.8593 127.616 116.608q180.309 190.3 180.309 359.979q0 92.6718 -45.696 171.307q-45.6959 78.6348 -124.331 124.331t-171.307 45.696q-92.6718 0 -171.307 -45.696q-78.6348 -45.6959 -124.331 -124.331 q-45.696 -78.6348 -45.696 -171.307q0 -169.611 180.309 -359.979q30.7772 -32.3537 77.9573 -74.0582q47.1801 -41.7045 83.0667 -68.2779q18.1343 13.4887 33.408 25.6853v0.0426688zM734.976 50.6453q-34.5701 -36.3348 -87.7508 -82.9146 q-53.1807 -46.5798 -93.7532 -76.0614q-11.7894 -8.52442 -17.792 -12.5013q-10.7532 -7.17439 -23.68 -7.17439q-12.9268 0 -23.68 7.17439q-7.56363 5.10558 -17.792 12.5013q-40.5725 29.4815 -93.7532 76.0615q-53.1808 46.58 -87.7508 82.9145 q-203.691 214.999 -203.691 418.688q0 115.907 57.0941 214.193q57.0941 98.2858 155.38 155.38q98.2857 57.0941 214.193 57.0941q115.907 0 214.193 -57.0941q98.2858 -57.0941 155.38 -155.38q57.0941 -98.2858 57.0941 -214.193q0 -203.689 -203.691 -418.688z M512 298.667h-0.0130615q-70.656 0 -120.661 50.0053t-50.0053 120.661q0 70.6559 50.0053 120.661q50.0054 50.0054 120.661 50.0054h0.0130615q70.6506 -0.00537109 120.652 -50.0107q50.0015 -50.0054 50.0015 -120.656q0 -70.6506 -50.0015 -120.656t-120.652 -50.01z M512 384q35.328 0 60.3307 25.0027q25.0026 25.0027 25.0026 60.3307t-25.0026 60.3307q-25.0027 25.0026 -60.3307 25.0026t-60.3307 -25.0027t-25.0027 -60.3307t25.0027 -60.3307t60.3307 -25.0026z" /> <glyph glyph-name="menu" unicode="" d="M128 341.333h768q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013h-768q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653q12.5013 -12.5014 30.1653 -12.5013zM128 597.333h768q17.664 0 30.1653 12.5013t12.5013 30.1653 q0 17.6639 -12.5014 30.1653q-12.5013 12.5013 -30.1653 12.5013h-768q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1654 -12.5013zM128 85.3333h768q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013h-768 q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013z" /> <glyph glyph-name="message-circle" unicode="" d="M357.717 121.557q6.56958 2.19026 13.4946 2.19026q10.1606 0 19.2307 -4.5796q27.7292 -14.008 69.3408 -23.922q41.6116 -9.91392 72.6782 -9.91392l0.871643 0.00120544q81.8851 0.0490036 165.732 51.9295q83.8464 51.8805 120.434 125.137 q14.008 27.7249 23.9219 69.3304q9.91394 41.6055 9.91394 72.6682l-0.00115967 0.849457l0.0853271 19.1147q-6.70929 121.598 -92.6023 207.919q-85.893 86.3207 -206.15 93.0515h-21.4613l-0.71582 0.000793457q-31.1138 0 -72.7835 -9.93878t-69.434 -23.982 q-73.2444 -36.6072 -125.087 -120.466q-51.843 -83.8589 -51.8513 -165.742l-0.000930786 -0.764587q0 -31.0625 9.91383 -72.6679t23.9218 -69.3301q4.57959 -9.0701 4.57959 -19.2307q0 -6.92509 -2.19026 -13.4946l-54.144 -162.304l162.261 54.1013zM895.744 224.128 q-46.331 -92.7036 -152.467 -158.373q-106.136 -65.6695 -209.773 -65.7549q-0.544922 -0.00148375 -1.08978 -0.00148375q-35.5142 0 -83.5751 10.3015t-80.4551 24.8573l-226.859 -75.6907q-6.57114 -2.19141 -13.4981 -2.19141q-17.664 0 -30.1653 12.5013 t-12.5013 30.1653q0 6.92692 2.19141 13.4981l75.648 226.901q-14.5314 32.6039 -24.8158 80.9413t-10.2843 84.033q0 103.639 65.5902 209.818q65.5902 106.179 158.267 152.568q35.2187 17.7881 88.0679 30.3774q52.8492 12.5892 92.3052 12.5892l1.00287 -0.0012207 l23.68 -0.0853271q154.579 -8.52179 263.833 -118.228q109.254 -109.706 117.82 -265.686v-21.2907l0.00140381 -1.05377q0 -39.4125 -12.5643 -92.2094t-30.3171 -87.9848z" /> <glyph glyph-name="message-square" unicode="" d="M268.501 200.832q12.4938 12.4976 30.1653 12.5013h512q17.6639 0 30.1653 12.5013t12.5014 30.1653v426.667q0 17.664 -12.5013 30.1653t-30.1653 12.5013h-597.333q-17.664 0 -30.1653 -12.5013q-12.5013 -12.5014 -12.5013 -30.1653v-579.669zM158.165 -30.1653 q-20.16 -20.1604 -46.496 -9.25333q-26.336 10.9071 -26.336 39.4187v682.667q0 52.992 37.504 90.496q37.504 37.504 90.496 37.504h597.333q52.9921 0 90.496 -37.504t37.504 -90.496v-426.667q0 -52.992 -37.504 -90.496t-90.496 -37.504h-494.336z" /> <glyph glyph-name="minimize-" unicode="" d="M384 42.6667q0.00271606 -17.6613 12.504 -30.1607t30.1626 -12.4994q17.6613 0 30.1626 12.4994q12.5013 12.4994 12.5041 30.1607v256q0 17.664 -12.5013 30.1653t-30.1653 12.5013h-256q-17.6613 -0.00271606 -30.1607 -12.504q-12.4994 -12.5013 -12.4994 -30.1626 t12.4994 -30.1626q12.4994 -12.5014 30.1607 -12.504h213.333zM640 725.333q-0.00268555 17.6613 -12.504 30.1607q-12.5013 12.4995 -30.1627 12.4995q-17.6613 0 -30.1625 -12.4995q-12.5013 -12.4994 -12.5041 -30.1607v-256q0 -17.664 12.5014 -30.1653 q12.5013 -12.5013 30.1653 -12.5013h256q17.6613 0.00274658 30.1608 12.5041q12.4994 12.5013 12.4994 30.1626t-12.4994 30.1627q-12.4995 12.5013 -30.1608 12.504h-213.333zM627.499 439.168l298.667 298.667q13.0256 12.5806 13.0256 30.6896 q0 17.664 -12.5013 30.1653t-30.1653 12.5013q-18.109 0 -30.6897 -13.0256l-298.667 -298.667q-13.0256 -12.5806 -13.0256 -30.6896q0 -17.664 12.5013 -30.1653q12.5014 -12.5013 30.1653 -12.5013q18.1091 0 30.6897 13.0256zM158.165 -30.1653l298.667 298.667 q11.977 12.4007 11.977 29.641q0 17.664 -12.5013 30.1653q-12.5013 12.5014 -30.1653 12.5014q-17.2403 0 -29.641 -11.9771l-298.667 -298.667q-11.977 -12.4007 -11.977 -29.641q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.2402 0 29.641 11.977z" /> <glyph glyph-name="mic-off" unicode="" d="M13.0202 822.68l938.185 -938.185q12.3944 -11.9709 29.6259 -11.9709q17.6549 0 30.1498 12.4949t12.4949 30.1499q0 17.2314 -11.9709 29.6259l-938.185 938.185q-12.5741 13.0188 -30.6737 13.0188q-17.655 0 -30.1499 -12.4949t-12.4949 -30.1499 q0 -18.0996 13.0188 -30.6738zM341.684 511.672v-127.934q0.0327148 -70.5871 50.0124 -120.544t120.567 -49.9565q29.2308 0 64.554 14.6209t56.0029 35.2798q12.5187 12.5009 12.5187 30.1925q0 17.6647 -12.5019 30.1666t-30.1666 12.5019q-17.6563 0 -30.1499 -12.476 q-10.3383 -10.3207 -27.9937 -17.6249q-17.6554 -7.30423 -32.2635 -7.30423q-35.2495 0 -60.2393 24.9471q-24.9898 24.9471 -25.0501 60.1965v127.934q0 17.6549 -12.4949 30.1499t-30.1499 12.4949q-17.6549 0 -30.1498 -12.4949t-12.4954 -30.1495zM682.842 497.173 v227.723l6.10352e-05 0.128601q0 70.6198 -49.9797 120.599t-120.599 49.9797q-57.7211 0 -106.701 -40.0339q-48.9801 -40.0339 -60.4664 -96.6006q-0.852905 -4.20044 -0.852905 -8.48633q0 -17.6549 12.4949 -30.1498t30.1499 -12.4949q14.4302 0 26.6753 10.0085 q12.2451 10.0084 15.1166 24.15q5.74304 28.2834 30.2332 48.3004q24.4901 20.017 53.3507 20.017q35.3098 0 60.2997 -24.9899t24.9899 -60.2997l-6.10352e-05 -0.0856934v-227.766q0 -17.6549 12.4949 -30.1499t30.1498 -12.4949q17.655 0 30.1499 12.4949 t12.4942 30.1504zM695.038 202.497q-31.1532 -31.8024 -84.7086 -54.31q-53.5554 -22.5075 -98.074 -22.5075q-105.93 0 -180.899 74.9695q-74.9695 74.9695 -74.9695 180.899q0 0.942261 0.00698853 1.89059v85.5881q0 17.6549 -12.4949 30.1499t-30.1499 12.4949 t-30.1499 -12.4949t-12.4949 -30.1499v-85.2896q-0.00694275 -1.08862 -0.00694275 -2.17664q0 -92.6243 45.6725 -171.219q45.6725 -78.5945 124.267 -124.267t171.219 -45.6725q59.3477 0 130.746 30.0008q71.3981 30.0008 112.934 72.3911q11.77 12.3535 11.77 29.4164 q0 17.6549 -12.4949 30.1499q-12.4949 12.4949 -30.1498 12.4949q-17.5547 0 -30.0232 -12.3581zM768.132 469.027v-85.2896q0 -22.4051 -4.00861 -44.905q-0.836121 -4.15982 -0.836121 -8.40311q0 -17.6549 12.4949 -30.1499t30.1498 -12.4949q15.0708 0 27.4108 10.5338 t14.7054 25.4178q5.34583 29.7626 5.37323 60.0012v85.2896q0 17.6549 -12.4949 30.1499q-12.4949 12.4949 -30.1498 12.4949t-30.1499 -12.4949t-12.4948 -30.1498zM469.618 85.224v-170.579q0 -17.6549 12.4949 -30.1499q12.4949 -12.4949 30.1499 -12.4949 q17.6549 0 30.1498 12.4949t12.4949 30.1499v170.579q0 17.6549 -12.4949 30.1499q-12.4949 12.4949 -30.1498 12.4949t-30.1499 -12.4949q-12.4949 -12.4949 -12.4949 -30.1499zM341.684 -128h341.158q17.6549 0 30.1498 12.4949t12.4949 30.1499 q0 17.6549 -12.4949 30.1499q-12.4949 12.4949 -30.1498 12.4949h-341.158q-17.6549 0 -30.1499 -12.4949q-12.4949 -12.4949 -12.4949 -30.1499q0 -17.6549 12.4949 -30.1499q12.4949 -12.4949 30.1499 -12.4949z" /> <glyph glyph-name="minus-circle" unicode="" d="M512 -85.3333q-95.4834 0 -182.397 37.1694t-149.756 100.011t-100.011 149.756q-37.1694 86.9139 -37.1694 182.397q0 95.4834 37.1694 182.397q37.1694 86.9138 100.011 149.755q62.8417 62.8417 149.756 100.011q86.9138 37.1694 182.397 37.1694 q95.4833 0 182.397 -37.1694t149.756 -100.011q62.8417 -62.8417 100.011 -149.755t37.1694 -182.397q0 -95.4833 -37.1694 -182.397t-100.011 -149.756q-62.8417 -62.8417 -149.755 -100.011q-86.9138 -37.1694 -182.398 -37.1694zM512 -2.87646e-06 q104.256 0 192.72 51.408q88.4642 51.408 139.872 139.872q51.408 88.4641 51.408 192.72q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5q0 -104.256 51.4079 -192.72q51.4079 -88.4642 139.872 -139.872t192.72 -51.408zM341.333 341.333h341.333 q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013h-341.333q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013z" /> <glyph glyph-name="mic" unicode="" d="M682.667 725.333v-341.333q0 -70.656 -50.0053 -120.661q-50.0053 -50.0053 -120.661 -50.0053q-70.656 0 -120.661 50.0053q-50.0053 50.0053 -50.0053 120.661v341.333q0 70.656 50.0053 120.661q50.0054 50.0054 120.661 50.0054q70.656 0 120.661 -50.0054 q50.0053 -50.0053 50.0053 -120.661zM512 810.667q-35.328 0 -60.3307 -25.0027t-25.0027 -60.3306v-341.333q0 -35.328 25.0027 -60.3307t60.3307 -25.0027t60.3307 25.0027q25.0026 25.0027 25.0026 60.3307v341.333q0 35.3279 -25.0027 60.3306t-60.3306 25.0027z M768 469.333v-85.3333q0 -106 -75 -181t-181 -75t-181 75t-75 181v85.3333v0.00653076q0 17.664 -12.5013 30.1653q-12.5014 12.5013 -30.1653 12.5013q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653v-0.00653076v-85.3333q0 -92.6718 45.6959 -171.307 q45.696 -78.6348 124.331 -124.331q78.6348 -45.6959 171.307 -45.6959q92.6718 0 171.307 45.696q78.6348 45.696 124.331 124.331q45.696 78.6348 45.696 171.307v85.3333q-0.00256348 17.6613 -12.504 30.1607q-12.5013 12.4994 -30.1627 12.4994 q-17.6613 0 -30.1626 -12.4994t-12.5054 -30.1608zM469.333 85.3333v-170.667q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653v170.667q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013 q-12.5013 -12.5013 -12.5013 -30.1653zM341.333 -128h341.333q17.6613 0.00270081 30.1607 12.504q12.4995 12.5014 12.4995 30.1626q0 17.6613 -12.4995 30.1626q-12.4994 12.5013 -30.1607 12.504h-341.333q-17.6613 -0.00270844 -30.1607 -12.504 q-12.4994 -12.5013 -12.4994 -30.1626t12.4994 -30.1626t30.1607 -12.504z" /> <glyph glyph-name="minus-square" unicode="" d="M170.667 682.88v-597.76q0 -17.6 12.4267 -30.0267t30.0267 -12.4267h597.76q17.6 0 30.0267 12.4267q12.4266 12.4267 12.4266 30.0267v597.76q0 17.5756 -12.4388 30.0145t-30.0145 12.4388h-597.76q-17.5757 0 -30.0145 -12.4388t-12.4389 -30.0145zM85.3333 682.88 q0 52.9037 37.4415 90.3452t90.3452 37.4415h597.76q52.9037 0 90.3452 -37.4415t37.4415 -90.3452v-597.76v0q0 -52.9037 -37.4415 -90.3452t-90.3452 -37.4415h-597.76q-52.9037 3.8147e-06 -90.3452 37.4415t-37.4415 90.3452zM341.333 341.333h341.333 q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013h-341.333q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013z" /> <glyph glyph-name="minus" unicode="" d="M213.333 341.333h597.333q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013h-597.333q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013z" /> <glyph glyph-name="moon" unicode="" d="M476.203 348.245q-41.4769 41.4772 -70.8313 112.345q-29.3544 70.8678 -29.3544 129.526q0 59.9673 20.3991 116.358q-93.3469 -33.8229 -159.411 -128.028t-66.0644 -193.491q0 -92.8456 45.7816 -171.628t124.564 -124.564q78.7823 -45.7816 171.628 -45.7816 q99.2856 0 193.491 66.0644q94.2054 66.0644 128.028 159.411q-56.391 -20.3991 -116.358 -20.3991q-58.6573 0 -129.526 29.3544q-70.8682 29.3544 -112.347 70.833zM938.453 345.472q-9.74341 -105.374 -70.192 -194.787q-60.4486 -89.413 -155.047 -141.372 t-200.422 -51.9593q-116.06 0 -214.54 57.2285t-155.709 155.709q-57.2285 98.4803 -57.2285 214.54q0 105.833 51.9645 200.436q51.9645 94.6027 141.387 155.049q89.422 60.4459 194.806 70.1805q27.5793 2.55957 41.1733 -21.568q13.594 -24.1276 -2.85867 -46.4 q-20.8318 -28.1474 -35.575 -72.851q-14.7432 -44.7036 -14.7432 -79.7211q0 -106.178 75.1455 -181.324q75.1455 -75.1455 181.324 -75.1455q35.0107 0 79.707 14.7379t72.8406 35.5622q22.2719 16.4785 46.4 2.87466t21.5676 -41.1898z" /> <glyph glyph-name="monitor" unicode="" d="M554.667 128v-85.3333h128q17.664 0 30.1653 -12.5013t12.5013 -30.1653t-12.5013 -30.1653t-30.1653 -12.5013h-341.333q-17.664 0 -30.1653 12.5013t-12.5013 30.1653t12.5013 30.1653t30.1653 12.5013h128v85.3333h-299.093q-52.8155 0.140747 -90.1947 37.6196 q-37.3791 37.4789 -37.3791 90.2946l0.000457764 0.341812v426.155l-6.48499e-05 0.129211q0 52.8159 37.379 90.357q37.379 37.5412 90.1944 37.7698h683.52q52.8156 -0.140808 90.1947 -37.6197q37.3791 -37.4788 37.3791 -90.2945l-0.000488281 -0.341858v-426.155 l6.10352e-05 -0.129181q0 -52.8158 -37.379 -90.357t-90.1943 -37.7698zM128 682.411v-426.155l-0.00138092 -0.342667q0 -17.4885 12.3767 -29.9644q12.3767 -12.4759 29.8647 -12.6156h683.52q17.3182 0 29.7791 12.6167q12.4609 12.6167 12.4609 30.306v426.155 l0.00140381 0.342712q0 17.4885 -12.3768 29.9644q-12.3767 12.4758 -29.8646 12.6155h-683.52q-17.3182 0 -29.7791 -12.6166q-12.4609 -12.6167 -12.4609 -30.3061z" /> <glyph glyph-name="more-vertical" unicode="" d="M512 256q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5zM512 341.333q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653 t12.5013 -30.1654q12.5013 -12.5013 30.1653 -12.5012zM512 597.333q-52.992 0 -90.496 37.504t-37.504 90.496t37.504 90.496t90.496 37.504t90.496 -37.504q37.504 -37.504 37.504 -90.496t-37.504 -90.496t-90.496 -37.504zM512 682.667h0.00653076 q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013h-0.00653076q-17.6613 -0.00268555 -30.1607 -12.5041q-12.4994 -12.5013 -12.4994 -30.1626t12.4994 -30.1626q12.4995 -12.5013 30.1607 -12.5038zM512 -85.3333q-52.992 0 -90.496 37.504 q-37.504 37.504 -37.504 90.496t37.504 90.496q37.504 37.504 90.496 37.504q52.9919 0 90.496 -37.504t37.504 -90.496q0 -52.992 -37.504 -90.496t-90.496 -37.504zM512 -2.87646e-06l0.00653076 -5e-07q17.664 0 30.1653 12.5013t12.5013 30.1653 q0 17.664 -12.5013 30.1653t-30.1653 12.5013h-0.00653076q-17.6613 -0.00270844 -30.1607 -12.504q-12.4994 -12.5013 -12.4994 -30.1626t12.4994 -30.1626q12.4994 -12.5013 30.1607 -12.504v1.87646e-06v3.16639e-06z" /> <glyph glyph-name="more-horizontal" unicode="" d="M512 256q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5zM512 341.333q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653 t12.5013 -30.1654q12.5013 -12.5013 30.1653 -12.5012zM853.333 256q-52.992 0 -90.496 37.504q-37.504 37.504 -37.504 90.496t37.504 90.496t90.496 37.504t90.496 -37.504t37.504 -90.496t-37.504 -90.496t-90.496 -37.504zM853.333 341.333q17.664 0 30.1653 12.5013 t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013zM170.667 256q-52.992 0 -90.496 37.504t-37.504 90.496t37.504 90.496t90.496 37.504t90.496 -37.504q37.504 -37.504 37.504 -90.496 t-37.504 -90.496t-90.496 -37.504zM170.667 341.333q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013z" /> <glyph glyph-name="move" unicode="" d="M243.499 481.835q11.977 12.4008 11.977 29.641q0 17.664 -12.5013 30.1653q-12.5013 12.5013 -30.1653 12.5013q-17.2403 0 -29.641 -11.977l-128 -128q-12.4922 -12.496 -12.4922 -30.1653t12.4922 -30.1653l128 -128q12.5806 -13.0257 30.6897 -13.0257 q17.664 0 30.1653 12.5013t12.5013 30.1653q0 18.1091 -13.0257 30.6896l-97.8347 97.8347zM609.835 652.501q12.4007 -11.977 29.641 -11.977q17.664 0 30.1653 12.5013t12.5013 30.1653q0 17.2404 -11.977 29.6411l-128 128q-12.496 12.4922 -30.1653 12.4922 t-30.1653 -12.4922l-128 -128q-11.977 -12.4008 -11.977 -29.641q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.2403 0 29.641 11.977l97.8347 97.8347zM414.165 115.499q-12.5805 13.0256 -30.6896 13.0256q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653 q0 -18.109 13.0257 -30.6896l128 -128q12.496 -12.4922 30.1653 -12.4922q17.6694 0 30.1653 12.4922l128 128q11.977 12.4007 11.977 29.641q0 17.664 -12.5013 30.1653q-12.5013 12.5014 -30.1653 12.5014q-17.2403 0 -29.6411 -11.977l-97.8347 -97.8347z M780.501 286.165q-11.977 -12.4007 -11.977 -29.641q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.2403 0 29.6411 11.977l128 128q12.4922 12.4961 12.4922 30.1653q0 17.6693 -12.4922 30.1653l-128 128q-12.4008 11.977 -29.641 11.977q-17.664 0 -30.1653 -12.5013 t-12.5013 -30.1653q0 -17.2403 11.977 -29.641l97.8347 -97.8346zM85.3333 341.333h853.333q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013h-853.333q-17.664 0 -30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653t12.5013 -30.1653 q12.5013 -12.5013 30.1653 -12.5013zM469.333 810.667v-853.333q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013q12.5013 12.5013 12.5013 30.1653v853.333q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013 q-12.5013 -12.5013 -12.5013 -30.1653z" /> <glyph glyph-name="music" unicode="" d="M426.667 646.528v-561.195q0 -52.992 -37.504 -90.496q-37.504 -37.504 -90.496 -37.504h-85.3333q-52.992 0 -90.496 37.504q-37.504 37.504 -37.504 90.496q0 52.992 37.504 90.496t90.496 37.504h128v469.333q0.00686646 14.9628 10.458 27.2891 q10.4511 12.3264 25.2113 14.7802l512 85.3333q3.47449 0.577698 6.99731 0.577698q17.6559 0 30.1572 -12.4955q12.5013 -12.4955 12.5095 -30.1515v-597.333q0 -52.992 -37.504 -90.496q-37.504 -37.504 -90.496 -37.504h-85.3333q-52.9919 0 -90.496 37.504 q-37.5041 37.504 -37.504 90.496t37.504 90.496q37.504 37.504 90.496 37.504h128v418.987zM341.333 128h-128q-17.6613 -0.00270081 -30.1607 -12.504t-12.4994 -30.1626t12.4994 -30.1626t30.1607 -12.504h85.3333q17.664 0 30.1653 12.5013t12.5013 30.1653z M853.333 213.333h-128q-17.6613 -0.00270081 -30.1607 -12.504q-12.4995 -12.5014 -12.4995 -30.1626t12.4995 -30.1626q12.4995 -12.5013 30.1607 -12.504h85.3333q17.664 0 30.1653 12.5013t12.5013 30.1653z" /> <glyph glyph-name="navigation-" unicode="" d="M293.845 52.48l196.992 112.555q9.83551 5.61824 21.1627 5.61824q11.327 0 21.1627 -5.61824l196.992 -112.555l-218.155 592.085zM234.539 -79.7013q-25.9527 -14.8164 -48.7576 4.47484q-22.8048 19.2913 -12.4691 47.3225l298.667 810.667 q10.272 27.904 40.0213 27.904q29.7494 0 40.0214 -27.904l298.667 -810.667q10.3347 -28.0285 -12.4631 -47.3218q-22.7978 -19.2934 -48.7209 -4.47551l-277.504 158.549l-277.504 -158.549z" /> <glyph glyph-name="navigation" unicode="" d="M479.701 340.053q10.269 -2.57275 19.3575 -11.6612t11.6612 -19.3575l56.4053 -225.707l281.856 594.987l-594.987 -281.856zM117.632 342.613q-29.1278 7.29794 -32.0907 37.1947t24.1973 42.7627l810.667 384q27.1956 12.8619 48.4468 -8.3988 q21.2512 -21.2608 8.38513 -48.4332l-384 -810.667q-12.8659 -27.1602 -42.7626 -24.1973t-37.1947 32.0907l-79.1467 316.501z" /> <glyph glyph-name="octagon" unicode="" d="M128 542.976v-317.952l225.024 -225.024h317.952l225.024 225.024v317.952l-225.024 225.024h-317.952zM335.36 853.333h353.28q17.6716 -0.00372314 30.1653 -12.5013l250.027 -250.027q12.4975 -12.4938 12.5013 -30.1653v-353.28 q-0.00390625 -17.6716 -12.5013 -30.1653l-250.027 -250.027q-12.4938 -12.4976 -30.1653 -12.5013h-353.28q-17.6716 0.00377655 -30.1653 12.5013l-250.027 250.027q-12.4975 12.4938 -12.5013 30.1653v353.28q0.00377274 17.6716 12.5013 30.1653l250.027 250.027 q12.4937 12.4975 30.1653 12.5013z" /> <glyph glyph-name="package" unicode="" d="M568.96 872.363l341.333 -170.667q29.4041 -14.6111 50.2188 -48.1898q20.8147 -33.5787 20.8212 -66.4129v-406.613q-0.0174561 -32.7947 -20.8072 -66.3483q-20.7897 -33.5536 -50.1475 -48.1691l-341.333 -170.667q-27.0328 -13.521 -57.2587 -13.521 q-30.2257 0 -57.2587 13.521l-341.461 170.709q-29.1463 14.6639 -49.7741 48.1331t-20.6277 66.0965q0 0.336395 0.0017662 0.671646v406.187q0.0174561 32.7947 20.8072 66.3483q20.7897 33.5536 50.1475 48.169l341.419 170.752q26.9103 13.3721 56.96 13.3721 t56.9594 -13.3716zM843.051 639.872l-312.107 156.075q-8.94257 4.43054 -18.9227 4.43054t-18.9227 -4.43054l-98.816 -49.3226l331.051 -165.589l117.717 58.88zM896 570.965l-151.125 -75.5627q-0.423889 -0.217987 -0.853333 -0.426666l-189.355 -94.6773v-416.811 l317.653 158.848q9.7868 4.86314 16.7251 16.0393q6.93829 11.1762 6.9549 22.1047zM469.333 -16.7253v417.024l-341.333 170.667v-390.357q-0.209038 -26.4787 23.3387 -38.3573zM298.88 698.837l-117.931 -58.9227l331.051 -165.547l117.931 58.9653l-331.051 165.547z " /> <glyph glyph-name="pause-circle" unicode="" d="M512 -85.3333q-95.4834 0 -182.397 37.1694t-149.756 100.011t-100.011 149.756q-37.1694 86.9139 -37.1694 182.397q0 95.4834 37.1694 182.397q37.1694 86.9138 100.011 149.755q62.8417 62.8417 149.756 100.011q86.9138 37.1694 182.397 37.1694 q95.4833 0 182.397 -37.1694t149.756 -100.011q62.8417 -62.8417 100.011 -149.755t37.1694 -182.397q0 -95.4833 -37.1694 -182.397t-100.011 -149.756q-62.8417 -62.8417 -149.755 -100.011q-86.9138 -37.1694 -182.398 -37.1694zM512 -2.87646e-06 q104.256 0 192.72 51.408q88.4642 51.408 139.872 139.872q51.408 88.4641 51.408 192.72q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5q0 -104.256 51.4079 -192.72q51.4079 -88.4642 139.872 -139.872t192.72 -51.408zM469.333 256v256 q-0.00268555 17.6613 -12.504 30.1607t-30.1626 12.4995t-30.1626 -12.4994t-12.5041 -30.1608v-256q0.00271606 -17.6613 12.504 -30.1607q12.5013 -12.4994 30.1626 -12.4994t30.1626 12.4994q12.5014 12.4994 12.5041 30.1607zM640 256v256 q-0.00268555 17.6613 -12.504 30.1608q-12.5013 12.4994 -30.1627 12.4994q-17.6613 0 -30.1625 -12.4994q-12.5013 -12.4995 -12.5041 -30.1608v-256q0.00274658 -17.6613 12.5041 -30.1607q12.5013 -12.4994 30.1626 -12.4994t30.1626 12.4994t12.504 30.1607z" /> <glyph glyph-name="pause" unicode="" d="M298.667 682.667v-597.333h85.3333v597.333h-85.3333zM256 768h170.667q17.664 0 30.1653 -12.5013q12.5013 -12.5014 12.5013 -30.1653v-682.667q0 -17.664 -12.5013 -30.1653q-12.5013 -12.5013 -30.1653 -12.5013h-170.667q-17.664 0 -30.1653 12.5013 q-12.5013 12.5013 -12.5013 30.1653v682.667q0 17.664 12.5013 30.1653t30.1653 12.5013zM640 682.667v-597.333h85.3333v597.333h-85.3333zM597.333 768h170.667q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-682.667q0 -17.664 -12.5014 -30.1653 q-12.5013 -12.5013 -30.1653 -12.5013h-170.667q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653v682.667q0 17.664 12.5013 30.1653t30.1654 12.5013z" /> <glyph glyph-name="percent" unicode="" d="M780.501 712.832l-597.333 -597.333q-11.977 -12.4007 -11.977 -29.641q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.2403 0 29.641 11.977l597.333 597.333q13.0256 12.5806 13.0256 30.6896q0 17.664 -12.5013 30.1653t-30.1653 12.5013 q-18.1091 0 -30.6896 -13.0255zM277.333 469.333q-61.824 0 -105.579 43.7547q-43.7547 43.7547 -43.7547 105.579t43.7547 105.579q43.7547 43.7546 105.579 43.7546q61.8243 0 105.579 -43.7546q43.7547 -43.7547 43.7547 -105.579q0 -61.824 -43.7547 -105.579 q-43.7547 -43.7547 -105.579 -43.7547zM277.333 554.667q26.496 0 45.248 18.752q18.752 18.752 18.752 45.248t-18.752 45.248t-45.248 18.752q-26.496 0 -45.248 -18.752t-18.752 -45.248t18.752 -45.248t45.248 -18.752zM746.667 0q-61.824 0 -105.579 43.7547 t-43.7546 105.579q0 61.824 43.7546 105.579q43.7547 43.7547 105.579 43.7547t105.579 -43.7547q43.7546 -43.7547 43.7546 -105.579q0 -61.824 -43.7546 -105.579q-43.7547 -43.7547 -105.579 -43.7547v4.10767e-06zM746.667 85.3333q26.496 0 45.248 18.752 t18.752 45.248t-18.752 45.248t-45.248 18.752t-45.248 -18.752t-18.752 -45.248t18.752 -45.248t45.248 -18.752z" /> <glyph glyph-name="phone-call" unicode="" d="M981.333 3.584l0.000976562 -0.505953q0 -52.992 -37.504 -90.496q-37.504 -37.504 -90.496 -37.504q-6.15881 0 -12.289 0.591286q-86.762 9.4182 -199.999 49.6725q-113.237 40.2543 -186.476 87.7142q-68.0648 43.239 -146.861 121.997 q-78.7959 78.7584 -122.067 146.803q-47.7718 73.7674 -88.1136 187.83q-40.3418 114.062 -49.5717 201.461q-0.519455 5.74829 -0.519455 11.52q0 52.9598 37.4812 90.4637q37.4812 37.504 90.4409 37.5363h127.573l1.16858 0.00531006q46.1888 0 83.3629 -32.38 q37.1741 -32.3799 43.5112 -78.132q7.5007 -56.7361 27.52 -110.421q8.18268 -21.7803 8.18268 -45.0468q0 -21.8404 -10.8859 -48.2709t-26.2674 -41.9357l-30.592 -30.5493q31.5351 -49.472 88.8662 -106.803q57.3312 -57.3311 106.803 -88.8662l30.72 30.7627 q15.4855 15.3199 41.8619 26.1623q26.3763 10.8423 48.1594 10.8423q23.2285 0 44.976 -8.16193q53.7759 -20.0695 110.933 -27.6053q45.5836 -6.43591 77.8444 -43.5716q32.2608 -37.1357 32.2608 -83.1714q0 -1.26628 -0.0251465 -2.53709v-127.36v-0.0426638z M896 131.413q0.41333 16.9138 -9.9856 29.4947t-26.2811 14.836q-66.5118 8.76086 -129.365 32.2133q-7.25397 2.73131 -15.0048 2.73131q-17.3793 0 -29.7952 -12.1606l-54.1866 -54.1867q-12.4974 -12.5009 -30.1741 -12.5009q-11.2954 0 -21.1113 5.58893 q-71.7882 40.8199 -151.484 120.516t-120.516 151.484q-5.57346 9.80545 -5.57346 21.0841q0 17.6637 12.4854 30.1586l54.016 54.016q12.3209 12.4658 12.3209 29.9929q0 7.8056 -2.76352 15.1058q-23.3669 62.6058 -32.128 128.853q-2.18622 15.1937 -14.5973 25.9467 q-12.411 10.753 -27.7611 10.753l-0.734955 -0.00634766h-128q-17.6418 -0.0222168 -30.1274 -12.5235t-12.4856 -30.1431q0 -1.58075 0.116989 -3.15735q8.39217 -78.9407 44.8961 -181.952q36.5039 -103.011 79.6906 -169.622q39.1206 -61.5436 110.378 -132.764 q71.2576 -71.2201 132.822 -110.308q66.0978 -42.8841 168.309 -79.3005t180.534 -44.9875q1.91675 -0.173275 3.84137 -0.173275q17.664 0 30.1653 12.5013q12.5013 12.5013 12.5013 30.1653l-0.00140381 0.343933zM633.984 598.144q-13.7001 3.15479 -23.3961 15.3373 t-9.69604 26.2411q0 17.664 12.5013 30.1653t30.1653 12.5013q3.38306 0 6.72412 -0.533203q70.0587 -13.6688 129.315 -72.925t72.925 -129.315q1.08813 -4.72552 1.08813 -9.57449q0 -17.664 -12.5013 -30.1654q-12.5013 -12.5013 -30.1653 -12.5013 q-15.0685 0 -27.4136 10.5312q-12.345 10.5312 -14.7198 25.4113q-9.11261 46.7057 -48.6168 86.21q-39.5042 39.5043 -86.2099 48.617zM637.397 768.256q-15.7144 1.74689 -26.8358 14.1732q-11.1215 12.4263 -11.1215 28.2374q0 17.6662 12.5029 30.1691t30.1691 12.5029 q2.36505 0 4.71466 -0.26123q91.9946 -10.2134 175.152 -64.2347q83.1578 -54.0214 137.292 -137.106q54.1345 -83.0843 64.4727 -175.065q0.268311 -2.38174 0.268311 -4.77866q0 -17.6692 -12.5049 -30.1741t-30.1741 -12.5049q-15.79 0 -28.2164 11.1048 q-12.4263 11.1048 -14.1943 26.7956q-12.6029 112.197 -100.937 200.431q-88.3344 88.2344 -200.545 100.71z" /> <glyph glyph-name="phone-forwarded" unicode="" d="M780.479 499.51q-13.0253 -12.5802 -13.0253 -30.6887q0 -17.6635 12.501 -30.1645t30.1645 -12.501q18.1085 0 30.6887 13.0252l170.662 170.662q12.4919 12.4957 12.4919 30.1644q0 17.6688 -12.4919 30.1645l-170.662 170.662q-12.4005 11.9767 -29.6402 11.9767 q-17.6635 0 -30.1644 -12.501t-12.501 -30.1644q0 -17.2398 11.9767 -29.6402l140.497 -140.497zM639.981 597.342h341.323q17.6635 0 30.1644 12.501t12.501 30.1644t-12.501 30.1644q-12.5009 12.501 -30.1644 12.501h-341.323q-17.6635 0 -30.1644 -12.501 t-12.501 -30.1644q0 -17.6635 12.501 -30.1645q12.5009 -12.501 30.1644 -12.5009zM895.547 129.174q0.0419312 0.950302 0.0419312 1.89935q0 15.3121 -10.7131 27.7816t-25.8504 14.7764q-66.8124 8.80495 -129.959 32.3404q-7.3114 2.75952 -15.1261 2.75952 q-17.4814 0 -29.9713 -12.2312l-54.4411 -54.3557q-10.234 -10.2339 -24.5859 -12.165t-26.9539 5.21051q-72.1184 40.9277 -152.212 120.884q-80.0937 79.9562 -121.145 152.004q-5.61423 9.84479 -5.61423 21.1779q0 17.7471 12.5687 30.2766l54.2704 54.1851 q19.3402 19.5504 9.6424 45.2253q-23.5346 62.9727 -32.2977 129.276q-2.27481 16.0198 -14.5768 26.4999t-28.7286 10.3204h-128.636q-17.7267 -0.0426025 -30.2724 -12.6186q-12.5457 -12.5759 -12.5457 -30.3027q0 -1.53796 0.110077 -3.07208 q8.43939 -79.2051 45.1172 -182.538t80.0631 -170.134q39.3431 -61.7797 110.974 -133.248q71.6304 -71.4679 133.499 -110.671q66.4481 -43.0234 169.168 -79.5512t181.413 -45.1171q1.89514 -0.168346 3.79773 -0.168346q17.7695 0 30.3455 12.576 q12.576 12.576 12.576 30.3454l-0.000549316 0.21101v128.423zM981.305 0.922106l0.000915527 -0.476757q0 -23.3956 -12.2137 -51.1331q-12.2137 -27.7375 -29.4714 -43.534q-15.3181 -13.9823 -40.8375 -23.878q-25.5193 -9.89572 -46.2593 -9.89572 q-6.12805 0 -12.2283 0.580025q-87.1865 9.43269 -201.008 49.8108t-187.461 87.9985q-68.3899 43.3679 -147.584 122.399q-79.1936 79.0311 -122.702 147.332q-48.0018 73.9869 -88.5424 188.421t-49.8215 202.138q-0.520092 5.75861 -0.520092 11.5403 q0 20.6276 9.85313 45.9985q9.85312 25.3709 23.7753 40.5916q15.8372 17.3134 43.6518 29.5768q27.8146 12.2634 51.2788 12.2779h128.295l1.241 0.00598145q46.3391 0 83.6785 -32.4793q37.3393 -32.4792 43.7595 -78.3715q7.59998 -57.1935 27.6472 -110.802 q13.2666 -35.1799 5.38651 -71.9979t-34.4843 -63.6781l-30.7618 -30.7191q31.7194 -49.6405 89.3489 -107.145t107.339 -89.116l30.8898 30.8471q15.5699 15.3659 42.0711 26.2408t48.3766 10.8749q23.3348 0 45.1857 -8.1886q53.8301 -20.0582 111.485 -27.6898 q45.8113 -6.42662 78.2334 -43.7144t32.4221 -83.5477q0 -1.24219 -0.0239868 -2.48343v-127.783v0.000256777z" /> <glyph glyph-name="phone-missed" unicode="" d="M951.14 840.834l-255.993 -255.993q-13.0253 -12.5802 -13.0253 -30.6887q0 -17.6635 12.501 -30.1645q12.501 -12.5009 30.1645 -12.5009q18.1085 0 30.6887 13.0252l255.993 255.993q13.0251 12.5801 13.0251 30.6887q0 17.6635 -12.501 30.1644t-30.1644 12.501 q-18.1085 0 -30.6886 -13.0252zM695.148 780.505l255.993 -255.993q12.4005 -11.9767 29.6402 -11.9767q17.6635 0 30.1644 12.501t12.501 30.1644q0 17.2398 -11.9767 29.6402l-255.993 255.993q-12.4004 11.9767 -29.6402 11.9767q-17.6635 0 -30.1644 -12.501 t-12.501 -30.1644q0 -17.2398 11.9767 -29.6402zM895.547 129.174q0.0419312 0.950302 0.0419312 1.89935q0 15.3121 -10.7131 27.7816t-25.8504 14.7764q-66.8124 8.80495 -129.959 32.3404q-7.3114 2.75952 -15.1261 2.75952q-17.4814 0 -29.9713 -12.2312 l-54.4411 -54.3557q-10.234 -10.2339 -24.5859 -12.165t-26.9539 5.21051q-72.1184 40.9277 -152.212 120.884q-80.0937 79.9562 -121.145 152.004q-5.61423 9.84479 -5.61423 21.1779q0 17.7471 12.5687 30.2766l54.2704 54.1851q19.3402 19.5504 9.6424 45.2253 q-23.5346 62.9727 -32.2977 129.276q-2.27481 16.0198 -14.5768 26.4999t-28.7286 10.3204h-128.636q-17.7267 -0.0426025 -30.2724 -12.6186q-12.5457 -12.5759 -12.5457 -30.3027q0 -1.53796 0.110077 -3.07208q8.43939 -79.2051 45.1172 -182.538t80.0631 -170.134 q39.3431 -61.7797 110.974 -133.248q71.6304 -71.4679 133.499 -110.671q66.4481 -43.0234 169.168 -79.5512t181.413 -45.1171q1.89514 -0.168346 3.79773 -0.168346q17.7695 0 30.3455 12.576q12.576 12.576 12.576 30.3454l-0.000549316 0.21101v128.423z M981.305 0.922106l0.000915527 -0.476757q0 -23.3956 -12.2137 -51.1331q-12.2137 -27.7375 -29.4714 -43.534q-15.3181 -13.9823 -40.8375 -23.878q-25.5193 -9.89572 -46.2593 -9.89572q-6.12805 0 -12.2283 0.580025q-87.1865 9.43269 -201.008 49.8108t-187.461 87.9985 q-68.3899 43.3679 -147.584 122.399q-79.1936 79.0311 -122.702 147.332q-48.0018 73.9869 -88.5424 188.421t-49.8215 202.138q-0.520092 5.75861 -0.520092 11.5403q0 20.6276 9.85313 45.9985q9.85312 25.3709 23.7753 40.5916q15.8372 17.3134 43.6518 29.5768 q27.8146 12.2634 51.2788 12.2779h128.295l1.241 0.00598145q46.3391 0 83.6785 -32.4793q37.3393 -32.4792 43.7595 -78.3715q7.59998 -57.1935 27.6472 -110.802q13.2666 -35.1799 5.38651 -71.9979t-34.4843 -63.6781l-30.7618 -30.7191 q31.7194 -49.6405 89.3489 -107.145t107.339 -89.116l30.8898 30.8471q15.5699 15.3659 42.0711 26.2408t48.3766 10.8749q23.3348 0 45.1857 -8.1886q53.8301 -20.0582 111.485 -27.6898q45.8113 -6.42662 78.2334 -43.7144t32.4221 -83.5477 q0 -1.24219 -0.0239868 -2.48343v-127.783v0.000256777z" /> <glyph glyph-name="phone-off" unicode="" d="M485.596 358.023q-12.5742 13.0189 -30.6739 13.0189q-17.6549 0 -30.1498 -12.4949t-12.4949 -30.1498q0 -18.0997 13.0189 -30.6739q28.6853 -28.7058 73.9543 -63.2168q45.269 -34.511 80.5477 -54.5681q9.80035 -5.5706 21.0733 -5.5706q17.6546 0 30.1431 12.4791 l54.1589 54.1589q12.4061 12.1352 29.7603 12.1352q7.78143 0 15.0594 -2.75339q62.9324 -23.4391 129.256 -32.1542q15.0259 -2.23634 25.66 -14.5704q10.6342 -12.3341 10.6342 -27.5254l-0.00354004 -0.548965v-128.318l0.000732422 -0.250465 q0 -17.6903 -12.5199 -30.2102t-30.2102 -12.5199q-1.88043 0 -3.75348 0.165175q-78.2828 8.56672 -180.441 44.9644q-102.159 36.3977 -168.222 79.2598q-73.6212 46.7335 -135.056 108.232q-12.5741 13.019 -30.6739 13.019q-17.655 0 -30.1499 -12.4949 t-12.4949 -30.1499q0 -18.0998 13.019 -30.6739q28.1657 -28.195 71.9106 -63.2684t77.3889 -56.4356q73.201 -47.4355 186.38 -87.6692t199.896 -49.647q6.1272 -0.590988 12.2828 -0.590988q52.9648 0 90.4496 37.4848t37.4848 90.4496l-0.000976562 0.505726v127.764 l0.003479 0.944183q0 45.9985 -32.2379 83.0816q-32.2379 37.0832 -77.7891 43.4821q-57.006 7.49487 -110.876 27.5912q-21.7225 8.14615 -44.9221 8.14615q-21.7679 0 -48.1273 -10.8334q-26.3593 -10.8334 -41.8361 -26.1406l-30.7469 -30.7469 q-59.1358 37.6888 -108.702 87.294zM257.105 372.394q-42.9389 66.211 -79.3616 168.594q-36.4227 102.383 -44.948 180.837q-0.110672 1.53308 -0.110672 3.07043q0 17.6478 12.4899 30.1426t30.1377 12.5021h127.892q16.3447 0.159546 28.5864 -10.2944 q12.2417 -10.454 14.4848 -26.3801q8.68729 -66.0232 32.1115 -128.787q2.76212 -7.29633 2.76212 -15.098q0 -17.5182 -12.3145 -29.9776l-53.9883 -53.9883q-11.9709 -12.3944 -11.9709 -29.6259q0 -17.6549 12.4949 -30.1499t30.1499 -12.4949q17.2314 0 29.6259 11.9709 l54.1589 54.1589q15.3816 15.4986 26.2676 41.9213q10.886 26.4227 10.886 48.2585q0 23.2205 -8.15515 44.9615q-20.0546 53.6176 -27.5912 110.365q-6.3472 45.7106 -43.5005 78.0615q-37.1533 32.3508 -83.3026 32.3508l-1.13132 -0.00500488h-127.508 q-52.9326 -0.0321655 -90.3946 -37.517t-37.462 -90.4174q0 -5.76874 0.519192 -11.5142q9.39055 -86.9723 49.7117 -200.476q40.3211 -113.504 87.9031 -186.909q5.23988 -7.87357 15.6418 -13.4459q10.402 -5.57233 19.8597 -5.57233q17.655 0 30.1499 12.4949 q12.4949 12.4949 12.4949 30.1499q0 12.3386 -6.58841 22.7709zM950.68 882.98l-938.185 -938.185q-11.9709 -12.3944 -11.9709 -29.6259q0 -17.6549 12.4949 -30.1499q12.4949 -12.495 30.1499 -12.4949q17.2315 0 29.6259 11.9709l938.185 938.185 q13.0189 12.5742 13.0189 30.6738q0 17.6549 -12.4949 30.1498t-30.1498 12.4949q-18.0997 0 -30.6741 -13.0187z" /> <glyph glyph-name="phone-incoming" unicode="" d="M725.312 768.004q0 17.6635 -12.501 30.1644t-30.1644 12.501q-17.6635 0 -30.1645 -12.5009q-12.501 -12.501 -12.501 -30.1645v-255.993v0q0 -17.6635 12.501 -30.1645t30.1644 -12.501h255.993q17.6635 0 30.1644 12.501t12.501 30.1645q0 17.6635 -12.501 30.1644 t-30.1644 12.501h-213.327zM951.14 840.834l-298.658 -298.658q-13.0253 -12.5803 -13.0253 -30.6887q0 -17.6635 12.501 -30.1645t30.1645 -12.501q18.1085 0 30.6887 13.0252l298.658 298.658q13.0251 12.5801 13.0251 30.6887q0 17.6635 -12.501 30.1644t-30.1644 12.501 q-18.1085 0 -30.6886 -13.0251zM895.547 129.174q0.0419312 0.950302 0.0419312 1.89935q0 15.3121 -10.7131 27.7816t-25.8504 14.7764q-66.8124 8.80495 -129.959 32.3404q-7.3114 2.75952 -15.1261 2.75952q-17.4814 0 -29.9713 -12.2312l-54.4411 -54.3557 q-10.234 -10.2339 -24.5859 -12.165t-26.9539 5.21051q-72.1184 40.9277 -152.212 120.884q-80.0937 79.9562 -121.145 152.004q-5.61423 9.84479 -5.61423 21.1779q0 17.7471 12.5687 30.2766l54.2704 54.1851q19.3402 19.5504 9.6424 45.2253 q-23.5346 62.9727 -32.2977 129.276q-2.27481 16.0198 -14.5768 26.4999t-28.7286 10.3204h-128.636q-17.7267 -0.0426025 -30.2724 -12.6186q-12.5457 -12.5759 -12.5457 -30.3027q0 -1.53796 0.110077 -3.07208q8.43939 -79.2051 45.1172 -182.538t80.0631 -170.134 q39.3431 -61.7797 110.974 -133.248q71.6304 -71.4679 133.499 -110.671q66.4481 -43.0234 169.168 -79.5512t181.413 -45.1171q1.89514 -0.168346 3.79773 -0.168346q17.7695 0 30.3455 12.576q12.576 12.576 12.576 30.3454l-0.000549316 0.21101v128.423z M981.305 0.922106l0.000915527 -0.476757q0 -23.3956 -12.2137 -51.1331q-12.2137 -27.7375 -29.4714 -43.534q-15.3181 -13.9823 -40.8375 -23.878q-25.5193 -9.89572 -46.2593 -9.89572q-6.12805 0 -12.2283 0.580025q-87.1865 9.43269 -201.008 49.8108t-187.461 87.9985 q-68.3899 43.3679 -147.584 122.399q-79.1936 79.0311 -122.702 147.332q-48.0018 73.9869 -88.5424 188.421t-49.8215 202.138q-0.520092 5.75861 -0.520092 11.5403q0 20.6276 9.85313 45.9985q9.85312 25.3709 23.7753 40.5916q15.8372 17.3134 43.6518 29.5768 q27.8146 12.2634 51.2788 12.2779h128.295l1.241 0.00598145q46.3391 0 83.6785 -32.4793q37.3393 -32.4792 43.7595 -78.3715q7.59998 -57.1935 27.6472 -110.802q13.2666 -35.1799 5.38651 -71.9979t-34.4843 -63.6781l-30.7618 -30.7191 q31.7194 -49.6405 89.3489 -107.145t107.339 -89.116l30.8898 30.8471q15.5699 15.3659 42.0711 26.2408t48.3766 10.8749q23.3348 0 45.1857 -8.1886q53.8301 -20.0582 111.485 -27.6898q45.8113 -6.42662 78.2334 -43.7144t32.4221 -83.5477 q0 -1.24219 -0.0239868 -2.48343v-127.783v0.000256777z" /> <glyph glyph-name="phone" unicode="" d="M895.573 171.819q0.0419312 0.949554 0.0419312 1.8994q0 15.3125 -10.7134 27.7824t-25.8512 14.7769q-66.8141 8.80516 -129.963 32.3413q-7.31165 2.75961 -15.1266 2.75961q-17.4819 0 -29.9721 -12.2316l-54.4427 -54.3573q-10.2343 -10.2343 -24.5867 -12.1653 t-26.9547 5.21066q-72.1205 40.9289 -152.217 120.887q-80.096 79.9585 -121.149 152.009q-5.61438 9.84503 -5.61438 21.1786q0 17.7476 12.5691 30.2774l54.272 54.1867q19.3409 19.551 9.64267 45.2267q-23.5353 62.9744 -32.2987 129.28 q-2.2749 16.0204 -14.5772 26.5008q-12.3023 10.4803 -28.7294 10.3206h-128.64q-17.7272 -0.0426636 -30.2733 -12.619t-12.5461 -30.3036q0 -1.5379 0.110077 -3.07214q8.43962 -79.2075 45.1185 -182.544q36.6789 -103.336 80.0655 -170.139 q39.3441 -61.7815 110.977 -133.252q71.6327 -71.4701 133.503 -110.674q66.45 -43.0247 169.173 -79.5535q102.723 -36.5289 181.419 -45.1185q1.8952 -0.16835 3.79785 -0.16835q17.77 0 30.3463 12.5763t12.5764 30.3463l-0.000549316 0.211014v128.427zM981.333 43.5627 l0.000915527 -0.476772q0 -23.3963 -12.2141 -51.1346q-12.2141 -27.7383 -29.4722 -43.5353q-15.3186 -13.9827 -40.8387 -23.8787q-25.5201 -9.89599 -46.2606 -9.89599q-6.12799 0 -12.2287 0.580048q-87.1891 9.43297 -201.014 49.8123 q-113.825 40.3793 -187.466 88.001q-68.3918 43.3692 -147.588 122.403q-79.196 79.0335 -122.706 147.336q-48.0032 73.9891 -88.545 188.426q-40.5418 114.437 -49.823 202.144q-0.520107 5.75867 -0.520107 11.5407q0 20.6282 9.85343 45.9998t23.776 40.5928 q15.8376 17.3138 43.6531 29.5776q27.8155 12.2638 51.2803 12.2784h128.299l1.24106 0.00598145q46.3405 0 83.6808 -32.4802q37.3404 -32.4802 43.7608 -78.3738q7.60028 -57.1952 27.648 -110.805q13.267 -35.1808 5.38666 -72t-34.4853 -63.68l-30.7627 -30.72 q31.7202 -49.642 89.3513 -107.148t107.342 -89.1185l30.8907 30.848q15.5703 15.3664 42.0723 26.2416t48.3781 10.8752q23.3354 0 45.187 -8.18884q53.8318 -20.0587 111.488 -27.6907q45.8127 -6.42676 78.2357 -43.7157q32.423 -37.2889 32.423 -83.5502 q0 -1.23907 -0.0240479 -2.48349z" /> <glyph glyph-name="phone-outgoing" unicode="" d="M938.639 768.004v-213.327q0 -17.6635 12.501 -30.1644t30.1644 -12.501t30.1644 12.501q12.501 12.5009 12.501 30.1644v255.992v0q0 17.6635 -12.501 30.1644t-30.1644 12.501h-255.993q-17.6635 0 -30.1644 -12.501t-12.501 -30.1644t12.501 -30.1645 q12.501 -12.501 30.1644 -12.501zM712.811 481.847l298.658 298.658q13.0251 12.5801 13.0251 30.6887q0 17.6635 -12.501 30.1644t-30.1644 12.501q-18.1085 0 -30.6887 -13.0252l-298.658 -298.658q-13.0253 -12.5803 -13.0253 -30.6887q0 -17.6635 12.501 -30.1645 t30.1645 -12.501q18.1085 0 30.6888 13.0253zM895.974 131.436q0.413269 16.9133 -9.98529 29.4938t-26.2803 14.8356q-66.5098 8.76057 -129.362 32.2124q-7.25348 2.73123 -15.0044 2.73123q-17.3787 0 -29.7943 -12.1603l-54.1851 -54.1851 q-12.4971 -12.5006 -30.1732 -12.5006q-11.295 0 -21.1107 5.58876q-71.786 40.8187 -151.48 120.512q-79.6937 79.6937 -120.512 151.48q-5.5733 9.80511 -5.5733 21.0835q0 17.6632 12.4851 30.1577l54.0144 54.0144q12.3205 12.4655 12.3205 29.9921 q0 7.80542 -2.76343 15.1053q-23.3663 62.6039 -32.1271 128.85q-2.18619 15.1932 -14.5968 25.9459q-12.4106 10.7527 -27.7603 10.7527l-0.734924 -0.00628662h-127.996q-17.6413 -0.0222778 -30.1265 -12.5231q-12.4852 -12.5009 -12.4852 -30.1423 q0 -1.58093 0.116974 -3.15729q8.39191 -78.9384 44.8947 -181.946t79.6883 -169.617q39.1193 -61.5418 110.375 -132.76t132.818 -110.305q66.0959 -42.8829 168.304 -79.2982q102.208 -36.4153 180.529 -44.9862q1.91669 -0.173271 3.84125 -0.173271 q17.6635 0 30.1645 12.501t12.501 30.1645l-0.00140381 0.343955zM981.305 0.922111l0.000915527 -0.476757q0 -23.3956 -12.2137 -51.1331q-12.2138 -27.7375 -29.4713 -43.5341q-15.3181 -13.9823 -40.8374 -23.878t-46.2594 -9.8957q-6.12799 0 -12.2283 0.580025 q-87.1865 9.43269 -201.008 49.8108q-113.821 40.3781 -187.461 87.9985q-68.3899 43.3679 -147.584 122.399q-79.1936 79.0311 -122.702 147.332q-48.0018 73.9869 -88.5424 188.421q-40.5406 114.434 -49.8215 202.138q-0.520092 5.75861 -0.520092 11.5403 q0 20.6276 9.85313 45.9985q9.85312 25.3709 23.7753 40.5916q15.8371 17.3132 43.6518 29.5767q27.8147 12.2634 51.2787 12.278h128.295l1.241 0.00598145q46.3391 0 83.6785 -32.4793q37.3393 -32.4792 43.7595 -78.3715q7.59998 -57.1935 27.6472 -110.802 q13.2666 -35.1799 5.38651 -71.9979t-34.4843 -63.6781l-30.7618 -30.7191q31.7194 -49.6405 89.3489 -107.145t107.339 -89.116l30.8898 30.8471q15.5699 15.3659 42.0711 26.2408t48.3766 10.8749q23.3348 0 45.1857 -8.1886q53.8301 -20.0582 111.485 -27.6898 q45.8113 -6.42662 78.2334 -43.7144t32.4221 -83.5477q0 -1.24219 -0.0239868 -2.48343v-127.783v9.53674e-05z" /> <glyph glyph-name="pie-chart" unicode="" d="M865.664 234.667q-41.0269 -97.1033 -144.668 -165.826q-103.641 -68.7229 -209.056 -68.7229q-104.256 0 -192.72 51.408q-88.4642 51.408 -139.872 139.872q-51.408 88.4641 -51.408 192.72q0 104.093 67.5247 207.22q67.5247 103.127 162.935 144.748 q10.6063 4.62646 18.1126 16.0902q7.50635 11.4637 7.50635 23.0351q0 17.6718 -12.5069 30.1788q-12.5069 12.5069 -30.1787 12.5069q-8.90457 0 -17.0667 -3.5603q-116.59 -50.8781 -199.105 -176.915q-82.5143 -126.037 -82.5143 -253.245q0 -95.4328 37.1879 -182.343 q37.1879 -86.91 100.04 -149.762q62.8524 -62.8524 149.762 -100.04q86.91 -37.1879 182.343 -37.1879q128.799 0 255.455 83.9572t176.819 202.586q3.02325 7.59767 3.02325 15.7747q0 17.664 -12.5014 30.1653q-12.5013 12.5013 -30.1653 12.5013 q-11.45 0 -22.8618 -7.39728t-16.0867 -17.8494zM981.333 384q0 -17.664 -12.5013 -30.1653t-30.1654 -12.5013h-426.667v0q-17.664 0 -30.1653 12.5013t-12.5013 30.1653v426.667q0 17.664 12.5013 30.1653t30.1653 12.5013v0q95.4329 -6.10352e-05 182.343 -37.1879 q86.9099 -37.1877 149.762 -100.04q62.8525 -62.8525 100.04 -149.762q37.1878 -86.9099 37.1887 -182.344zM783.531 655.531q-39.3907 39.3863 -106.448 71.6397t-122.416 38.4403v-338.944h338.944q-6.18689 55.3591 -38.4403 122.416t-71.6396 106.448z" /> <glyph glyph-name="play-circle" unicode="" d="M512 -85.3333q-95.4834 0 -182.397 37.1694t-149.756 100.011t-100.011 149.756q-37.1694 86.9139 -37.1694 182.397q0 95.4834 37.1694 182.397q37.1694 86.9138 100.011 149.755q62.8417 62.8417 149.756 100.011q86.9138 37.1694 182.397 37.1694 q95.4833 0 182.397 -37.1694t149.756 -100.011q62.8417 -62.8417 100.011 -149.755t37.1694 -182.397q0 -95.4833 -37.1694 -182.397t-100.011 -149.756q-62.8417 -62.8417 -149.755 -100.011q-86.9138 -37.1694 -182.398 -37.1694zM512 -2.87646e-06 q104.256 0 192.72 51.408q88.4642 51.408 139.872 139.872q51.408 88.4641 51.408 192.72q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5q0 -104.256 51.4079 -192.72q51.4079 -88.4642 139.872 -139.872t192.72 -51.408zM469.333 293.077l136.405 90.9227 l-136.405 90.9227zM450.347 590.165l256 -170.667q7.86432 -5.24399 13.4303 -15.6451q5.56592 -10.4012 5.56592 -19.8535t-5.56586 -19.8535t-13.4304 -15.6451l-256 -170.667q-10.7532 -7.17439 -23.68 -7.17439q-17.664 0 -30.1653 12.5013t-12.5013 30.1653v0.00637817 v341.333v0.00640869q0 17.6639 12.5013 30.1653q12.5014 12.5013 30.1653 12.5013q12.9268 0 23.6801 -7.17334z" /> <glyph glyph-name="play" unicode="" d="M256 78.1653l475.733 305.835l-475.733 305.835zM236.373 803.925l597.333 -384q8.12079 -5.21378 13.8683 -15.7336q5.74744 -10.5199 5.74744 -20.1703q0 -9.65042 -5.74744 -20.1703q-5.74738 -10.52 -13.8683 -15.7337l-597.333 -384 q-10.5296 -6.75563 -23.04 -6.75563q-17.6522 0 -30.1536 12.493q-12.5013 12.493 -12.5131 30.1453v768q0.0117493 17.6523 12.5131 30.1453q12.5013 12.493 30.1536 12.493q12.5105 0 23.04 -6.75562v0.0425415z" /> <glyph glyph-name="plus-square" unicode="" d="M170.667 682.88v-597.76q0 -17.6 12.4267 -30.0267t30.0267 -12.4267h597.76q17.6 0 30.0267 12.4267q12.4266 12.4267 12.4266 30.0267v597.76q0 17.5756 -12.4388 30.0145t-30.0145 12.4388h-597.76q-17.5757 0 -30.0145 -12.4388t-12.4389 -30.0145zM85.3333 682.88 q0 52.9037 37.4415 90.3452t90.3452 37.4415h597.76q52.9037 0 90.3452 -37.4415t37.4415 -90.3452v-597.76v0q0 -52.9037 -37.4415 -90.3452t-90.3452 -37.4415h-597.76q-52.9037 3.8147e-06 -90.3452 37.4415t-37.4415 90.3452zM469.333 554.667v-341.333 q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653v341.333q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653zM341.333 341.333h341.333q17.664 0 30.1653 12.5013t12.5013 30.1653 t-12.5013 30.1653t-30.1653 12.5013h-341.333q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013z" /> <glyph glyph-name="plus-circle" unicode="" d="M512 -85.3333q-95.4834 0 -182.397 37.1694t-149.756 100.011t-100.011 149.756q-37.1694 86.9139 -37.1694 182.397q0 95.4834 37.1694 182.397q37.1694 86.9138 100.011 149.755q62.8417 62.8417 149.756 100.011q86.9138 37.1694 182.397 37.1694 q95.4833 0 182.397 -37.1694t149.756 -100.011q62.8417 -62.8417 100.011 -149.755t37.1694 -182.397q0 -95.4833 -37.1694 -182.397t-100.011 -149.756q-62.8417 -62.8417 -149.755 -100.011q-86.9138 -37.1694 -182.398 -37.1694zM512 -2.87646e-06 q104.256 0 192.72 51.408q88.4642 51.408 139.872 139.872q51.408 88.4641 51.408 192.72q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5q0 -104.256 51.4079 -192.72q51.4079 -88.4642 139.872 -139.872t192.72 -51.408zM469.333 554.667v-341.333 q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653v341.333q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653zM341.333 341.333h341.333q17.664 0 30.1653 12.5013t12.5013 30.1653 t-12.5013 30.1653t-30.1653 12.5013h-341.333q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013z" /> <glyph glyph-name="plus" unicode="" d="M469.333 682.667v-597.333q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013t30.1653 12.5013q12.5013 12.5013 12.5013 30.1653v597.333q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653z M213.333 341.333h597.333q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013h-597.333q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013z" /> <glyph glyph-name="pocket" unicode="" d="M128 682.667v-256q0 -104.256 51.4079 -192.72t139.872 -139.872t192.72 -51.4079q104.256 0 192.72 51.408q88.4641 51.408 139.872 139.872q51.408 88.4641 51.408 192.72v256q0 17.664 -12.5013 30.1653t-30.1653 12.5013h-682.667q-17.664 0 -30.1653 -12.5013 q-12.5013 -12.5014 -12.5011 -30.1654zM853.333 810.667q52.9921 0 90.496 -37.504t37.504 -90.496v-256q0 -95.4833 -37.1694 -182.397q-37.1694 -86.9139 -100.011 -149.756q-62.8417 -62.8417 -149.755 -100.011t-182.397 -37.1694 q-95.4328 7.62939e-06 -182.343 37.1879q-86.91 37.1879 -149.762 100.04q-62.8524 62.8524 -100.04 149.762q-37.1879 86.91 -37.1879 182.343v256q0 52.992 37.504 90.496q37.504 37.504 90.496 37.504zM371.499 499.499q-12.5806 13.0256 -30.6896 13.0256 q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -18.1091 13.0256 -30.6896l170.667 -170.667q12.496 -12.4922 30.1653 -12.4922t30.1653 12.4922l170.667 170.667q13.0256 12.5806 13.0256 30.6896q0 17.664 -12.5013 30.1653t-30.1653 12.5013 q-18.1091 0 -30.6896 -13.0256l-140.501 -140.501z" /> <glyph glyph-name="printer" unicode="" d="M298.667 554.667h426.667v213.333h-426.667v-213.333zM213.333 554.667v256q0 17.6639 12.5013 30.1653q12.5013 12.5013 30.1653 12.5013h512q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-256h42.6667q52.992 0 90.496 -37.504q37.504 -37.504 37.504 -90.496 v-213.333q0 -52.992 -37.504 -90.496t-90.496 -37.504h-85.3333q-17.664 0 -30.1653 12.5013t-12.5013 30.1653t12.5013 30.1653t30.1653 12.5013h85.3333q17.664 0 30.1653 12.5013t12.5013 30.1653v213.333q0 17.664 -12.5014 30.1653q-12.5013 12.5013 -30.1653 12.5013 h-682.667q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653v-213.333q0 -17.664 12.5013 -30.1653t30.1653 -12.5013h85.3333q17.664 0 30.1653 -12.5013t12.5013 -30.1653t-12.5013 -30.1653t-30.1653 -12.5013h-85.3333q-52.992 0 -90.496 37.504 q-37.504 37.504 -37.504 90.496v213.333q0 52.992 37.504 90.496q37.504 37.504 90.496 37.504h42.6673zM298.667 0h426.667v256h-426.667v-256zM256 341.333h512q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-341.333q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013h-512 q-17.664 0 -30.1653 12.5013t-12.5013 30.1653v341.333q0 17.664 12.5013 30.1653t30.1653 12.5013z" /> <glyph glyph-name="power" unicode="" d="M753.408 582.528q41.369 -41.3859 70.6472 -112.09q29.2782 -70.7039 29.2782 -129.22q0 -92.6718 -45.6959 -171.307q-45.696 -78.6348 -124.331 -124.331q-78.6348 -45.696 -171.307 -45.696q-92.6718 0 -171.307 45.6959q-78.6348 45.6959 -124.331 124.331 q-45.6962 78.6351 -45.696 171.307q0 58.5165 29.2781 129.22q29.2781 70.7039 70.6472 112.09q13.0256 12.5805 13.0256 30.6896q0 17.6639 -12.5013 30.1653t-30.1653 12.5014q-18.109 0 -30.6896 -13.0256q-81.9497 -81.9706 -111.064 -191.841t0.0198212 -219.723 q29.1343 -109.853 111.087 -191.784q61.3764 -61.3764 141.14 -93.3521t160.556 -31.9757q80.7924 -1.52588e-05 160.556 31.9757q79.7637 31.9758 141.14 93.3521q81.9527 81.9317 111.087 191.784q29.1343 109.853 0.0198364 219.723t-111.064 191.841 q-12.5806 13.0256 -30.6896 13.0256q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -18.1091 13.0263 -30.6896zM469.333 810.667v-426.667q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653v426.667q0 17.664 -12.5013 30.1653 t-30.1653 12.5013t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653z" /> <glyph glyph-name="radio" unicode="" d="M512 256q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5zM512 341.333q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653 t12.5013 -30.1654q12.5013 -12.5013 30.1653 -12.5012zM662.741 534.741q25.903 -25.8743 44.2354 -70.0978t18.3324 -80.8355t-18.3324 -80.8356q-18.3324 -44.2235 -44.2354 -70.0977q-12.5099 -12.5011 -12.5099 -30.1867q0 -17.6676 12.5038 -30.1715 q12.5039 -12.5039 30.1714 -12.5039q17.6678 0 30.1653 12.4886q36.2643 36.224 61.9297 98.1368q25.6653 61.9129 25.6653 113.17q0 51.2569 -25.6653 113.17q-25.6653 61.9131 -61.9296 98.1369q-12.4975 12.4886 -30.1653 12.4886q-17.6676 0 -30.1714 -12.5038 t-12.5038 -30.1714q0 -17.6856 12.5098 -30.187zM361.259 233.259q-25.9031 25.8743 -44.2354 70.0977t-18.3324 80.8356q0 36.6122 18.3324 80.8356t44.2354 70.0977q12.51 12.5011 12.51 30.1866q0 17.6675 -12.5039 30.1714t-30.1714 12.5039 q-17.6679 0 -30.1653 -12.4886q-36.2643 -36.2239 -61.9296 -98.1368q-25.6653 -61.9129 -25.6653 -113.17t25.6653 -113.17q25.6653 -61.9128 61.9296 -98.1368q12.4975 -12.4886 30.1653 -12.4886q17.6675 0 30.1714 12.5039q12.5039 12.5039 12.5039 30.1714 q0 17.6855 -12.51 30.187zM783.488 655.488q46.546 -46.5601 79.488 -126.106q32.942 -79.546 32.942 -145.382q0 -65.8359 -32.942 -145.382q-32.942 -79.546 -79.488 -126.106q-13.0256 -12.5806 -13.0256 -30.6896q0 -17.664 12.5013 -30.1653t30.1653 -12.5013 q18.1091 0 30.6896 13.0256q90.1147 90.1356 122.14 210.977q32.0258 120.842 0 241.683q-32.0259 120.842 -122.14 210.977q-12.5805 13.0256 -30.6896 13.0256q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -18.109 13.0256 -30.6894zM240.512 112.512 q-46.546 46.5601 -79.488 126.106q-32.942 79.546 -32.942 145.382t32.942 145.382t79.488 126.106q11.977 12.4008 11.977 29.6411q0 17.664 -12.5013 30.1653t-30.1653 12.5013q-17.2403 0 -29.641 -11.977q-67.4906 -67.5064 -102.652 -155.233t-35.1609 -176.585 q-7.62939e-06 -88.8584 35.1609 -176.585q35.1609 -87.727 102.652 -155.233q12.5806 -13.0256 30.6896 -13.0256q17.664 0 30.1653 12.5013q12.5013 12.5013 12.5013 30.1653q0 18.1091 -13.0256 30.6882z" /> <glyph glyph-name="repeat" unicode="" d="M695.074 542.347q-13.019 -12.5742 -13.019 -30.6739q0 -17.6549 12.4949 -30.1498t30.1498 -12.4949q18.0998 0 30.6739 13.019l170.579 170.579q12.4858 12.4894 12.4858 30.1498q0 17.6603 -12.4858 30.1498l-170.579 170.579q-12.3944 11.9709 -29.6258 11.9709 q-17.6549 0 -30.1498 -12.4949t-12.4949 -30.1498q0 -17.2314 11.9709 -29.6258l140.429 -140.429zM170.842 426.907v85.2896q0 52.9648 37.4847 90.4496q37.4848 37.4847 90.4496 37.4847h597.027q17.6522 0.00274658 30.1452 12.4976t12.493 30.1472t-12.493 30.1472 t-30.1452 12.4976h-597.027v0q-88.2747 0 -150.749 -62.4746q-62.4746 -62.4746 -62.4746 -150.749v-85.2896q0 -17.6549 12.4949 -30.1498t30.1498 -12.4949q17.6549 0 30.1498 12.4949q12.4949 12.4949 12.4948 30.1495zM328.926 226.179q11.9709 12.3943 11.9709 29.6258 q0 17.6549 -12.4949 30.1498t-30.1498 12.4949q-17.2314 0 -29.6258 -11.9709l-170.579 -170.579q-12.4858 -12.4896 -12.4858 -30.1499t12.4858 -30.1499l170.579 -170.579q12.5741 -13.019 30.6739 -13.019q17.6549 0 30.1499 12.4949q12.4949 12.4949 12.4949 30.1499 q0 18.0998 -13.019 30.6739l-140.429 140.429zM853.158 341.618v-85.2896q0 -52.9648 -37.4847 -90.4496q-37.4847 -37.4847 -90.4496 -37.4847h-597.027q-17.6549 0 -30.1499 -12.4949t-12.4949 -30.1499t12.4949 -30.1499t30.1499 -12.4949h597.027v0 q88.2747 0 150.749 62.4746q62.4743 62.4746 62.4746 150.749v85.2896q0 17.6549 -12.4949 30.1498t-30.1498 12.4949t-30.1498 -12.4949t-12.4949 -30.1495z" /> <glyph glyph-name="refresh-ccw" unicode="" d="M85.379 725.333q0 17.664 -12.5013 30.1653q-12.5013 12.5013 -30.1653 12.5013q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653v-256q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013h256q17.6613 0.00271606 30.1607 12.504 q12.4994 12.5013 12.4994 30.1626t-12.4994 30.1627t-30.1607 12.504h-213.333zM938.712 42.6667q0.00268555 -17.6613 12.504 -30.1607q12.5013 -12.4994 30.1627 -12.4994q17.6614 0 30.1627 12.4994q12.5013 12.4994 12.504 30.1608v256q0 17.664 -12.5013 30.1653 t-30.1653 12.5013h-256q-17.6612 -0.00271606 -30.1607 -12.504q-12.4995 -12.5013 -12.4995 -30.1626t12.4995 -30.1626q12.4994 -12.5014 30.1607 -12.504h213.333zM914.52 526.251q-41.6568 117.709 -159.508 201.016q-117.851 83.3063 -242.714 83.3063 q-73.1939 0 -161.615 -36.6388q-88.421 -36.6388 -140.163 -88.4083l-197.035 -185.088q-13.4542 -12.6421 -13.4542 -31.104q0 -17.6699 12.5055 -30.1754q12.5055 -12.5055 30.1754 -12.5055q16.9062 0 29.2267 11.5769l197.973 186.027q41.5212 41.788 112.599 71.3627 q71.0775 29.5746 129.986 29.5746q38.0198 0 75.1111 -8.35065q76.0327 -17.2101 148.24 -81.4045q72.2077 -64.1944 98.2024 -137.689q4.16931 -11.7713 15.958 -20.1022q11.7888 -8.33093 24.2767 -8.33093q17.6711 0 30.1775 12.5063t12.5063 30.1775 q0 7.33575 -2.44836 14.2501zM952.152 329.771l-197.973 -186.027q-41.5212 -41.7881 -112.599 -71.3627t-129.986 -29.5746q-38.0198 0 -75.1111 8.35068q-76.0327 17.2102 -148.24 81.4045q-72.2077 64.1944 -98.2023 137.689q-4.1693 11.7713 -15.9581 20.1022 t-24.2766 8.33093q-17.6711 0 -30.1775 -12.5064q-12.5064 -12.5063 -12.5064 -30.1775q0 -7.33582 2.44917 -14.2507q41.6569 -117.709 159.508 -201.016q117.851 -83.3063 242.714 -83.3063q73.1939 0 161.615 36.6388q88.421 36.6388 140.163 88.4083l197.035 185.088 q13.4542 12.6422 13.4542 31.104q0 17.6699 -12.5055 30.1754t-30.1754 12.5055q-16.9062 0 -29.2274 -11.5761z" /> <glyph glyph-name="rewind" unicode="" d="M426.667 595.413l-271.829 -211.413l271.829 -211.413v422.826zM443.136 51.6693l-384 298.667q-16.4526 12.8116 -16.4526 33.664t16.4526 33.664l384 298.667q11.5562 8.98962 26.1974 8.98962q17.6586 0 30.1599 -12.4975t12.5067 -30.1561v-597.333v-0.0296173 q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013q-14.6411 0 -26.1974 8.98962v0.0426445v-0.00104523zM896 172.587v422.827l-271.829 -211.413zM912.469 51.6693l-384 298.667q-16.4526 12.8116 -16.4526 33.664q0 20.8525 16.4526 33.664l384 298.667 q11.5564 8.98956 26.1973 8.98956q17.6586 0 30.16 -12.4975q12.5013 -12.4974 12.5067 -30.1561v-597.333v-0.0296173q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013q-14.641 0 -26.1973 8.98962z" /> <glyph glyph-name="rotate-ccw" unicode="" d="M128 725.333v0.00653076q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653v-0.00653076v-256q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013h256q17.6613 0.00274658 30.1607 12.5041 q12.4994 12.5013 12.4994 30.1626t-12.4994 30.1627q-12.4994 12.5013 -30.1607 12.504h-213.333zM152.192 242.219q41.5572 -117.935 159.464 -201.4q117.907 -83.4658 242.95 -83.4658q115.84 0 214.133 57.1199q98.2935 57.1199 155.413 155.413 q57.1195 98.2931 57.1199 214.133t-57.1199 214.133t-155.413 155.413q-98.2935 57.1199 -214.133 57.12q-73.0865 0 -161.416 -36.547q-88.3292 -36.5471 -140.049 -88.1868l-197.035 -185.173q-13.6862 -12.6662 -13.6862 -31.3142q0 -17.664 12.5013 -30.1653 t30.1653 -12.5013q17.1048 0 29.4729 11.8155l197.973 186.027q41.4748 41.6395 112.422 71.1089q70.9467 29.4694 129.717 29.4694q36.4357 0 84.8018 -12.4551t80.27 -30.0538q72.9395 -40.3256 124.561 -127.85q51.6213 -87.5248 51.6213 -170.869 q0 -92.6718 -45.696 -171.307q-45.6959 -78.6348 -124.331 -124.331q-78.6348 -45.696 -171.307 -45.696q-100.034 0 -194.36 66.7726q-94.3258 66.7727 -127.572 161.12q-3.97704 12.1821 -15.8611 20.8037q-11.8841 8.62158 -24.6989 8.62158q-17.664 0 -30.1653 -12.5013 q-12.5013 -12.5014 -12.5013 -30.1653q0 -7.79655 2.75916 -15.0887z" /> <glyph glyph-name="refresh-cw" unicode="" d="M725.379 512q-17.6612 -0.00271606 -30.1607 -12.5041q-12.4995 -12.5013 -12.4995 -30.1626t12.4995 -30.1626t30.1607 -12.5041h256q17.6641 0 30.1653 12.5013q12.5013 12.5013 12.5013 30.1653v256q-0.00268555 17.6613 -12.504 30.1607 q-12.5014 12.4995 -30.1627 12.4995t-30.1625 -12.4995q-12.5013 -12.4994 -12.5041 -30.1607v-213.333zM85.379 256h213.333q17.6613 0.00268555 30.1607 12.504q12.4994 12.5013 12.4994 30.1626t-12.4994 30.1627t-30.1607 12.504h-256v0q-17.664 0 -30.1653 -12.5013 q-12.5013 -12.5013 -12.5013 -30.1653v-256q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013q17.664 0 30.1653 12.5013q12.5013 12.5013 12.5013 30.1653zM190.04 497.749q33.322 94.1751 127.605 160.826q94.2828 66.6506 194.179 66.6506 q58.5528 0 129.288 -29.3091t112.128 -70.7219l198.912 -186.965q12.3205 -11.5769 29.2267 -11.5769q17.6699 0 30.1754 12.5055t12.5055 30.1754q0 18.4619 -13.4542 31.104l-197.973 186.027q-51.6119 51.3864 -139.684 87.754t-160.903 36.3676 q-47.7834 0 -94.3791 -10.5856q-95.0274 -21.5027 -185.287 -101.724t-122.766 -172.068q-2.28606 -6.69971 -2.28606 -13.7786q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013q12.3258 0 24.0594 8.18762q11.7335 8.18759 15.9867 19.7563z M13.4857 267.563l197.973 -186.027q51.6143 -51.4007 139.696 -87.7785q88.082 -36.3778 160.925 -36.3778q47.7652 0 94.3443 10.5777q95.0274 21.5028 185.287 101.724t122.766 172.068q2.28607 6.69966 2.28607 13.7786q0 17.664 -12.5013 30.1653t-30.1653 12.5013 q-12.3259 0 -24.0593 -8.18759q-11.7335 -8.18759 -15.9867 -19.7563q-33.3221 -94.1752 -127.605 -160.826q-94.2827 -66.6506 -194.179 -66.6506q-58.5528 0 -129.288 29.3091q-70.7349 29.3091 -112.128 70.7219l-198.912 186.965q-12.3205 11.5769 -29.2267 11.5769 q-17.6699 0 -30.1754 -12.5055q-12.5055 -12.5055 -12.5055 -30.1754q0 -18.4619 13.4542 -31.104z" /> <glyph glyph-name="rotate-cw" unicode="" d="M682.667 512q-17.6613 -0.00271606 -30.1607 -12.5041t-12.4995 -30.1626q0 -17.6613 12.4995 -30.1626t30.1607 -12.5041h256q17.664 0 30.1653 12.5013t12.5013 30.1653v256q-0.00262451 17.6613 -12.504 30.1607q-12.5014 12.4995 -30.1627 12.4995t-30.1627 -12.4995 q-12.5013 -12.4994 -12.504 -30.1607v-213.333zM791.339 270.208q-33.2964 -94.2328 -127.594 -160.924q-94.2972 -66.6914 -194.24 -66.6914q-92.6718 0 -171.307 45.6959q-78.6348 45.6959 -124.331 124.331q-45.696 78.6348 -45.696 171.307q0 92.6718 45.6959 171.307 q45.696 78.6348 124.331 124.331q78.6348 45.6959 171.307 45.6959q58.5643 0 129.309 -29.3188q70.7446 -29.3188 112.14 -70.7456l198.443 -186.923q12.3291 -11.6177 29.2693 -11.6177q17.6691 0 30.1741 12.505q12.5049 12.5049 12.5049 30.1741 q0 18.4253 -13.4097 31.0613l-197.547 186.027q-100.126 100.222 -241.072 120.059t-265.808 -48.9333q-91.3587 -50.3666 -156.016 -159.845q-64.6572 -109.478 -64.6573 -213.801q0 -115.84 57.1199 -214.133q57.1199 -98.2935 155.413 -155.413t214.133 -57.1199 q124.941 0 242.816 83.3754t159.489 201.182q2.43494 6.89551 2.43494 14.208q0 17.6652 -12.5022 30.1674t-30.1674 12.5022q-12.4963 0 -24.285 -8.33926q-11.7888 -8.33926 -15.9474 -20.1243z" /> <glyph glyph-name="save" unicode="" d="M341.333 725.333v-128h298.667q17.6613 -0.00268555 30.1607 -12.504t12.4995 -30.1627q0 -17.6613 -12.4995 -30.1626t-30.1607 -12.5041h-341.333q-17.664 0 -30.1653 12.5013t-12.5013 30.1653v170.667h-42.6667q-17.664 0 -30.1653 -12.5014 q-12.5013 -12.5013 -12.5013 -30.1653v-597.333q0 -17.664 12.5013 -30.1653t30.1653 -12.5013h42.6667v298.667q0 17.664 12.5013 30.1653t30.1653 12.5013h426.667q17.6639 0 30.1653 -12.5013q12.5013 -12.5013 12.5013 -30.1653v-298.667h42.6667 q17.664 0 30.1653 12.5013t12.5013 30.1653v451.669l-188.331 188.331zM682.667 42.6666v256h-341.333v-256zM810.667 -42.6667h-597.333q-52.992 0 -90.496 37.504q-37.504 37.504 -37.504 90.496v597.333q0 52.992 37.504 90.496q37.504 37.504 90.496 37.504h469.333 q17.6717 -0.00372314 30.1653 -12.5013l213.333 -213.333q12.4975 -12.4937 12.5013 -30.1653v-469.333q0 -52.992 -37.504 -90.496q-37.504 -37.504 -90.4955 -37.5044z" /> <glyph glyph-name="search" unicode="" d="M732.843 223.488l193.323 -193.28q12.5099 -12.5011 12.5099 -30.1867q0 -17.6676 -12.5038 -30.1715t-30.1714 -12.5039q-17.6678 0 -30.1653 12.4886l-193.323 193.323q-40.8846 -32.2248 -106.663 -55.0312q-65.778 -22.8064 -117.836 -22.8064 q-98.4638 0 -182.013 48.552q-83.5495 48.5519 -132.101 132.101t-48.5519 182.013q0 98.4638 48.5519 182.013q48.5519 83.5495 132.101 132.101q83.5495 48.552 182.013 48.552q98.4637 0 182.013 -48.552q83.5495 -48.5519 132.101 -132.101 q48.5519 -83.5494 48.5519 -182.013q0 -52.0576 -22.8065 -117.836q-22.8065 -65.778 -55.0298 -106.662zM448 170.667q114.816 0 196.075 81.2587q81.2587 81.2587 81.2587 196.075q0 114.816 -81.2587 196.075t-196.075 81.2587t-196.075 -81.2587 q-81.2587 -81.2587 -81.2587 -196.075q0 -114.816 81.2587 -196.075q81.2587 -81.2587 196.075 -81.2587z" /> <glyph glyph-name="server" unicode="" d="M128 725.419v-170.837l-0.00138092 -0.341309q0 -17.488 12.3767 -29.8643q12.3767 -12.3763 29.8647 -12.3757h683.52q17.3632 0 29.8016 12.5163t12.4384 30.0651v170.837l0.00140381 0.34137q0 17.4873 -12.3763 29.8636t-29.8637 12.3763h-0.00134277h-683.52 q-17.4706 -0.157471 -29.8469 -12.6338t-12.3932 -29.9476zM42.6667 725.419q0.0173569 52.7982 37.3963 90.2772q37.379 37.479 90.177 37.6375h683.52h0.000427246q52.8154 0 90.1944 -37.379q37.379 -37.379 37.379 -90.1943l-0.000488281 -0.34137v-170.837 q-0.017395 -52.7982 -37.3964 -90.2772t-90.1769 -37.6374h-683.52h-0.000457764q-52.8154 0 -90.1944 37.379q-37.379 37.379 -37.379 90.1943l0.000457764 0.34137zM128 213.419v-170.837l-0.00138092 -0.341331q0 -17.4879 12.3767 -29.8642 q12.3767 -12.3763 29.8647 -12.3758h683.52q17.3631 0 29.8015 12.5163q12.4385 12.5163 12.4385 30.065v170.837l0.00140381 0.341339q0 17.4874 -12.3764 29.8637q-12.3763 12.3763 -29.8636 12.3763h-0.00134277h-683.52q-17.4706 -0.15741 -29.8469 -12.6337 q-12.3763 -12.4763 -12.3932 -29.9476zM42.6667 213.419q0.0173683 52.7982 37.3964 90.2773q37.379 37.479 90.177 37.6374h683.52h0.000427246q52.8153 0 90.1943 -37.379t37.379 -90.1943l-0.000488281 -0.341339v-170.837q-0.017334 -52.7982 -37.3963 -90.2772 t-90.177 -37.6374h-683.52h-0.000457764q-52.8154 0 -90.1944 37.379q-37.379 37.379 -37.379 90.1944l0.000457764 0.341335zM298.667 128zM256 128v-0.00653076q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653v0.00653076v0.00653076 q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013t-12.5013 -30.1653v-0.00653076zM298.667 640zM256 640v-0.00653076q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653v0.00653076v0.00653076q0 17.664 -12.5013 30.1653 t-30.1653 12.5013t-30.1653 -12.5013t-12.5013 -30.1653v-0.00653076z" /> <glyph glyph-name="scissors" unicode="" d="M298.667 469.333q-70.656 0 -120.661 50.0053q-50.0053 50.0054 -50.0053 120.661q0 70.6561 50.0053 120.661q50.0053 50.0053 120.661 50.0053t120.661 -50.0053t50.0053 -120.661q0 -70.656 -50.0053 -120.661q-50.0053 -50.0053 -120.661 -50.0053zM298.667 554.667 q35.328 0 60.3307 25.0026q25.0027 25.0027 25.0027 60.3307t-25.0027 60.3307t-60.3307 25.0027t-60.3307 -25.0027t-25.0027 -60.3306q0 -35.328 25.0027 -60.3307t60.3307 -25.0027zM298.667 -42.6667q-70.656 0 -120.661 50.0053q-50.005 50.0053 -50.0053 120.661 q0 70.656 50.0053 120.661q50.0053 50.0053 120.661 50.0054q70.6561 0 120.661 -50.0053q50.0053 -50.0053 50.0053 -120.661q0 -70.656 -50.0053 -120.661t-120.661 -50.0054zM298.667 42.6667q35.328 0 60.3307 25.0027q25.0027 25.0027 25.0027 60.3307 q0 35.328 -25.0027 60.3307t-60.3307 25.0027t-60.3307 -25.0027t-25.0027 -60.3307t25.0027 -60.3307t60.3307 -25.0027zM494.336 384l-135.381 135.381q-11.977 12.4007 -11.977 29.641q0 17.6639 12.5013 30.1653t30.1653 12.5014q17.2403 0 29.641 -11.977 l135.381 -135.381l311.168 311.168q12.4007 11.977 29.641 11.977q17.664 0 30.1653 -12.5013t12.5013 -30.1653q0 -17.2404 -11.977 -29.6411l-506.88 -506.88q-12.5805 -13.0257 -30.6896 -13.0257q-17.664 0 -30.1653 12.5013t-12.5013 30.1653q0 18.109 13.0257 30.6897 zM629.931 247.979q-12.0207 12.4093 -12.0207 29.6862q0 17.664 12.5013 30.1653t30.1653 12.5013q17.2066 0 29.5994 -11.9369l235.947 -235.52q12.0207 -12.4093 12.0207 -29.6862q0 -17.664 -12.5013 -30.1653q-12.5013 -12.5013 -30.1653 -12.5013 q-17.2066 0 -29.5994 11.9368z" /> <glyph glyph-name="share-" unicode="" d="M768 512h-0.0130615q-70.656 0 -120.661 50.0054q-50.0053 50.0053 -50.0053 120.661t50.0053 120.661t120.661 50.0053h0.0130615q70.6505 -0.00537109 120.652 -50.0107q50.0015 -50.0054 50.0015 -120.656t-50.0015 -120.656t-120.652 -50.01zM768 597.333 q35.3281 0 60.3307 25.0026t25.0026 60.3307t-25.0026 60.3307q-25.0027 25.0027 -60.3307 25.0027t-60.3307 -25.0027q-25.0026 -25.0026 -25.0026 -60.3306t25.0026 -60.3307q25.0027 -25.0027 60.3307 -25.0027zM256 213.333q-70.656 0 -120.661 50.0053 q-50.0053 50.0053 -50.0053 120.661q0 70.656 50.0053 120.661q50.0053 50.0053 120.661 50.0053q70.656 0 120.661 -50.0053q50.0053 -50.0053 50.0053 -120.661t-50.0053 -120.661q-50.0053 -50.0053 -120.661 -50.0053zM256 298.667q35.328 0 60.3307 25.0027 t25.0027 60.3307t-25.0027 60.3307t-60.3307 25.0027q-35.328 0 -60.3307 -25.0027t-25.0027 -60.3307t25.0027 -60.3307t60.3307 -25.0027zM768 -85.3333h-0.0130615q-70.6561 0 -120.661 50.0053t-50.0053 120.661q0 70.656 50.0053 120.661 q50.0054 50.0053 120.661 50.0053h0.0130615q70.6506 -0.00541687 120.652 -50.0108t50.0015 -120.656q0 -70.6506 -50.0015 -120.656q-50.0015 -50.0054 -120.652 -50.0098zM768 -2.87646e-06q35.328 0 60.3307 25.0027q25.0026 25.0027 25.0026 60.3307 q0 35.328 -25.0026 60.3307q-25.0026 25.0027 -60.3307 25.0027q-35.328 0 -60.3307 -25.0027q-25.0026 -25.0026 -25.0026 -60.3307q0 -35.328 25.0026 -60.3307q25.0027 -25.0026 60.3307 -25.0027v-7.62939e-06v1.53914e-05zM345.045 282.709 q-9.11859 5.04041 -15.5722 15.9815q-6.45355 10.9411 -6.45355 21.3601q0 17.664 12.5013 30.1653q12.5014 12.5013 30.1653 12.5013q12.0259 0 22.2817 -6.28027l291.413 -169.813q9.11865 -5.04042 15.5722 -15.9815q6.45355 -10.9411 6.45355 -21.3601 q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013q-12.0259 0 -22.2817 6.28028zM635.989 655.104q9.96606 5.8136 21.504 5.8136q17.6686 0 30.173 -12.5045q12.5045 -12.5046 12.5045 -30.1731q0 -10.1483 -6.20386 -20.9495q-6.2038 -10.8011 -14.9697 -15.9146 l-290.987 -169.813q-9.96616 -5.8136 -21.504 -5.8136q-17.6685 0 -30.173 12.5045t-12.5045 30.1731q0 10.1483 6.20383 20.9494q6.20386 10.8011 14.9698 15.9146z" /> <glyph glyph-name="share" unicode="" d="M128 384v-341.333q0 -52.992 37.504 -90.496q37.504 -37.504 90.496 -37.504h512q52.9919 0 90.496 37.504q37.504 37.504 37.504 90.496v341.333q-0.00262451 17.6613 -12.504 30.1607q-12.5013 12.4994 -30.1627 12.4994q-17.6613 0 -30.1626 -12.4994 t-12.504 -30.1607v-341.333q0 -17.664 -12.5014 -30.1653q-12.5013 -12.5013 -30.1653 -12.5013h-512q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653v341.333q-0.00267029 17.6613 -12.504 30.1607t-30.1626 12.4994t-30.1626 -12.4994 q-12.5013 -12.4994 -12.5042 -30.1607zM652.501 609.835q12.4007 -11.977 29.641 -11.977q17.664 0 30.1653 12.5013t12.5013 30.1653q0 17.2404 -11.977 29.6411l-170.667 170.667q-12.496 12.4922 -30.1653 12.4922q-17.6693 0 -30.1653 -12.4922l-170.667 -170.667 q-11.977 -12.4008 -11.977 -29.641q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.2403 0 29.641 11.977l140.501 140.501zM469.333 810.667v-554.667q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653v554.667q0 17.664 -12.5013 30.1653 t-30.1653 12.5013t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653z" /> <glyph glyph-name="shield" unicode="" d="M531.072 -80.8107q-9.00507 -4.49989 -19.072 -4.49989q-10.0668 0 -19.072 4.49989q-29.1624 15.0562 -56.8747 32.64q-65.0429 40.4468 -122.837 90.7093q-185.216 162.193 -185.216 341.461v341.333q0.000350952 13.7844 9.46388 25.9107t22.8348 15.476 l341.333 85.3333q5.10522 1.27887 10.368 1.27887q5.26288 0 10.368 -1.27887l341.333 -85.3333q13.3713 -3.34961 22.8348 -15.4759q9.46344 -12.1263 9.46387 -25.9108v-341.333q0 -179.337 -185.216 -341.461q-57.7944 -50.2626 -122.837 -90.7093 q-27.7123 -17.5838 -56.8746 -32.64zM542.72 24.1493q59.2115 36.8618 111.829 82.6453q156.117 136.543 156.117 277.205v308.053l-298.667 74.6667l-298.667 -74.6667v-308.053q0 -140.662 156.117 -277.205q66.2069 -57.6309 142.549 -100.949 q15.9467 9.09153 30.72 18.3467z" /> <glyph glyph-name="settings" unicode="" d="M512 213.333q-70.656 0 -120.661 50.0053q-50.0053 50.0053 -50.0053 120.661t50.0053 120.661q50.0053 50.0053 120.661 50.0053q70.6561 0 120.661 -50.0053t50.0053 -120.661t-50.0053 -120.661q-50.0053 -50.0053 -120.661 -50.0053zM512 298.667 q35.328 0 60.3307 25.0027q25.0026 25.0026 25.0026 60.3307q0 35.328 -25.0026 60.3307q-25.0027 25.0026 -60.3307 25.0026t-60.3307 -25.0027t-25.0027 -60.3307t25.0027 -60.3307t60.3307 -25.0026zM272.768 680.235l-2.56 2.56q-12.5127 12.5126 -30.208 12.5126 q-17.6863 0 -30.2034 -12.5171q-12.5171 -12.5172 -12.5171 -30.2035q0 -17.6955 12.5126 -30.208l2.90134 -2.90131q24.092 -24.633 30.5387 -58.5707t-6.90134 -63.6266q-11.1421 -30.1269 -41.7579 -51.8167q-30.6158 -21.6898 -62.7328 -22.21h-3.84 q-17.6613 -0.00274658 -30.1607 -12.5041t-12.4994 -30.1626q0 -17.6613 12.4994 -30.1626t30.1607 -12.5041h7.424q30.603 -0.101257 60.8562 -20.0534q30.2532 -19.9521 42.3971 -48.0426q9.60489 -21.8094 9.60489 -45.64q0 -19.1951 -9.52745 -42.464 q-9.52744 -23.2689 -22.9894 -36.952l-2.56 -2.56q-12.5126 -12.5126 -12.5126 -30.208q0 -17.6863 12.5171 -30.2034t30.2034 -12.5171q17.6954 0 30.208 12.5126l2.90134 2.90134q24.633 24.092 58.5707 30.5387t63.6266 -6.90133q30.1269 -11.1421 51.8167 -41.7579 q21.6898 -30.6158 22.21 -62.7328v-3.83998q0.00271606 -17.6613 12.504 -30.1607q12.5013 -12.4994 30.1627 -12.4994q17.6613 0 30.1626 12.4994t12.504 30.1607v7.424q0.101257 30.603 20.0533 60.8562q19.9521 30.2532 48.0427 42.3971q21.8093 9.60488 45.64 9.60488 q19.1951 0 42.4639 -9.52746q23.2689 -9.52746 36.9521 -22.9894l2.56 -2.56q12.5126 -12.5126 30.208 -12.5126q17.6863 0 30.2034 12.5171q12.5172 12.5171 12.5172 30.2034q0 17.6954 -12.5126 30.208l-2.90131 2.90134q-13.347 13.6449 -22.793 36.8104 q-9.44611 23.1654 -9.44611 42.2528q0 23.8405 9.62579 45.6515q12.1791 28.1331 42.4948 48.0852q30.3157 19.9521 60.9719 20.0108h3.84003q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013h-7.42401q-30.7292 0.124054 -61.045 20.2012 q-30.3157 20.0771 -42.4217 48.3215l-3.45599 8.064v4.26666q-5.95844 17.638 -5.95844 36.2552q0 19.2059 9.53418 42.4868q9.53418 23.2809 23.0056 36.9699l2.56 2.56q12.5126 12.5126 12.5126 30.208q0 17.6863 -12.5172 30.2034t-30.2034 12.5172 q-17.6954 0 -30.208 -12.5126l-2.90131 -2.90131q-13.6296 -13.3555 -36.7808 -22.8075t-42.2335 -9.45203q-23.6284 0 -45.2737 9.47552q-28.283 12.1311 -48.3602 42.4968t-20.1625 61.1404v3.84003q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013 t-12.5013 -30.1653v-7.42401q-0.124023 -30.7292 -20.2011 -61.0449q-20.0771 -30.3157 -48.3215 -42.4218l-8.064 -3.45599h-4.26666q-17.6379 -5.95844 -36.2552 -5.95844q-19.206 0 -42.4868 9.53424q-23.2808 9.53418 -36.9704 23.0057zM888.747 512h7.25336 q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5h-3.66931q-7.54022 -0.0286102 -14.9786 -4.95416q-7.43835 -4.92554 -10.4081 -11.8565q-2.55127 -5.52925 -2.55127 -11.619q0 -11.0389 7.58594 -19.0583l2.56 -2.56q15.5259 -15.5259 26.5141 -42.0538 q10.9882 -26.5278 10.9882 -48.4849q0 -53.009 -37.516 -90.525q-37.5159 -37.516 -90.525 -37.516q-21.957 0 -48.4849 10.9882q-26.5279 10.9882 -42.0538 26.5142l-2.21869 2.21867q-8.12122 7.88986 -19.444 7.88986q-6.0603 0 -11.5747 -2.51386 q-6.89246 -2.94462 -11.818 -10.3329q-4.92548 -7.38829 -4.99268 -14.8831v-7.25333q0 -52.992 -37.504 -90.496t-90.496 -37.504q-52.992 0 -90.496 37.504t-37.504 90.496q0.0128784 0.437507 0.0128784 0.875414q0 8.98622 -6.05441 17.2931 q-6.05441 8.30692 -14.6091 11.0581q-5.36304 2.38931 -11.2342 2.38931q-11.0248 0 -19.0165 -7.59465l-2.56 -2.56q-15.5259 -15.526 -42.0538 -26.5142q-26.5278 -10.9882 -48.4849 -10.9882q-53.009 0 -90.525 37.516q-37.516 37.516 -37.516 90.525 q0 21.957 10.9882 48.4849q10.9882 26.5278 26.5142 42.0538l2.21866 2.21866q7.88986 8.12123 7.88986 19.444q0 6.06033 -2.51385 11.5747q-2.9446 6.89246 -10.3329 11.818q-7.38831 4.92552 -14.8831 4.99269h-7.25333q-52.992 0 -90.496 37.504t-37.504 90.496 t37.504 90.496t90.496 37.504q0.438354 -0.0128784 0.875412 -0.0128784q8.98619 0 17.2931 6.05435q8.30693 6.05444 11.0581 14.6092q2.38931 5.36304 2.38931 11.2342q0 11.0248 -7.59465 19.0165l-2.56 2.56q-15.526 15.5261 -26.5142 42.0539t-10.9882 48.4848 q0 53.009 37.516 90.525q37.516 37.516 90.525 37.516q21.9571 0 48.4849 -10.9882t42.0538 -26.5142l2.21866 -2.21869q8.08423 -7.9082 19.3933 -7.9082q5.84818 0 11.1987 2.36151l8.23468 3.62665q12.416 7.33124 12.416 21.7501v0.00994873v7.25336q0 53 37.5 90.5 t90.5 37.5q53 0 90.5 -37.5t37.5 -90.5v-3.66931q0.0699463 -18.1931 17.2373 -25.6q5.34985 -2.37573 11.2036 -2.37573q11.0493 0 19.0471 7.62372l2.56 2.56q15.5261 15.526 42.0538 26.5142t48.4849 10.9882q53.009 0 90.525 -37.516t37.516 -90.525 q0 -21.9571 -10.9882 -48.4849q-10.9882 -26.5278 -26.5141 -42.0538l-2.21869 -2.21869q-7.9082 -8.08423 -7.9082 -19.3934q0 -5.84821 2.36151 -11.1986l3.62665 -8.23468q7.63647 -12.3457 21.7601 -12.4161z" /> <glyph glyph-name="skip-back" unicode="" d="M768 636.587l-315.733 -252.587l315.733 -252.587v505.174zM784 9.38667l-426.667 341.333q-15.9667 12.8098 -15.9667 33.28t15.9667 33.28l426.667 341.333q11.6907 9.36005 26.6667 9.36005q17.653 0 30.1544 -12.4935q12.5013 -12.4936 12.5123 -30.1465v-682.667 q-0.0109863 -17.653 -12.5124 -30.1465q-12.5013 -12.4935 -30.1543 -12.4935q-14.9759 0 -26.6666 9.36004zM256 85.3333v597.333v0.00653076q0 17.6639 -12.5013 30.1653t-30.1653 12.5014t-30.1653 -12.5013t-12.5013 -30.1653v-0.00653076v-597.333 q0.00271606 -17.6613 12.504 -30.1607q12.5013 -12.4994 30.1626 -12.4994t30.1626 12.4994t12.504 30.1606z" /> <glyph glyph-name="shuffle" unicode="" d="M853.333 554.667q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653v213.333q0 17.664 -12.5013 30.1653t-30.1653 12.5013h-213.333q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013h170.667z M200.832 12.5013l725.333 725.333q13.0256 12.5806 13.0256 30.6896q0 17.664 -12.5013 30.1653t-30.1653 12.5013q-18.109 0 -30.6897 -13.0256l-725.333 -725.333q-11.977 -12.4007 -11.977 -29.641q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013 q17.2403 0 29.6411 11.977zM682.667 42.6667q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013h213.333q17.664 0 30.1653 12.5013t12.5013 30.1653v213.333q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013 q-12.5013 -12.5014 -12.5013 -30.1653v-170.667zM609.835 225.835l256 -256q12.4008 -11.977 29.641 -11.977q17.664 0 30.1653 12.5013t12.5013 30.1653q0 17.2403 -11.977 29.641l-256 256q-12.4008 11.977 -29.641 11.977q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653 q0 -17.2403 11.977 -29.641zM140.501 695.168l213.333 -213.333q12.5806 -13.0257 30.6897 -13.0257q17.664 0 30.1653 12.5013t12.5013 30.1653q0 18.1092 -13.0257 30.6897l-213.333 213.333q-12.4008 11.9771 -29.641 11.9771q-17.664 0 -30.1653 -12.5013 q-12.5013 -12.5014 -12.5013 -30.1653q0 -17.2403 11.977 -29.6412z" /> <glyph glyph-name="sidebar" unicode="" d="M85.3333 682.88q0 52.9037 37.4415 90.3452t90.3452 37.4415h597.76q52.9037 0 90.3452 -37.4415t37.4415 -90.3452v-597.76v0q0 -52.9037 -37.4415 -90.3452t-90.3452 -37.4415h-597.76q-52.9037 3.8147e-06 -90.3452 37.4415t-37.4415 90.3452zM341.333 725.333 h-128.213q-17.5757 0 -30.0145 -12.4388t-12.4388 -30.0145v-597.76q0 -17.6 12.4267 -30.0267t30.0267 -12.4267h128.213zM426.667 725.333v-682.667h384.213q17.6 0 30.0267 12.4267t12.4266 30.0267v597.76q0 17.5756 -12.4388 30.0145t-30.0145 12.4388z" /> <glyph glyph-name="skip-forward" unicode="" d="M256 131.413l315.733 252.587l-315.733 252.587zM240 758.613l426.667 -341.333q15.9667 -12.8098 15.9667 -33.28q0 -20.4702 -15.9667 -33.28l-426.667 -341.333q-11.6907 -9.36003 -26.6667 -9.36003q-17.653 0 -30.1543 12.4935q-12.5013 12.4935 -12.5123 30.1465 v682.667q0.0110168 17.653 12.5124 30.1465t30.1543 12.4935q14.976 0 26.6666 -9.36096zM768 682.667v-597.333q0.00274658 -17.6613 12.504 -30.1607t30.1627 -12.4994t30.1626 12.4994t12.504 30.1607v597.333q-0.00268555 17.6613 -12.504 30.1607 q-12.5013 12.4995 -30.1627 12.4995q-17.6613 0 -30.1626 -12.4995q-12.5013 -12.4994 -12.504 -30.1607z" /> <glyph glyph-name="slack" unicode="" d="M983.272 524.026q39.3366 -130.641 40.8965 -226.129q1.55981 -95.4883 -38.4744 -169.334q-40.0341 -73.8462 -121.044 -125.18t-212.316 -90.8522q-130.69 -39.3368 -226.218 -40.9043q-95.5279 -1.56752 -169.411 38.4499q-73.8829 40.0174 -125.249 121.004 t-90.9167 212.26q-39.3366 130.657 -40.8968 226.155q-1.56025 95.4974 38.4749 169.352q40.0351 73.8546 121.043 125.197q81.0079 51.3425 212.316 90.8777q131.158 39.4739 226.712 41.1922q95.554 1.71826 169.416 -38.2278q73.8615 -39.946 125.052 -121.033 t90.6155 -212.828zM901.455 499.498q-27.6764 92.5563 -58.829 153.044q-31.1527 60.4882 -71.2796 99.176t-94.3437 51.0646q-54.2167 12.3767 -121.547 5.22357q-67.3304 -7.15314 -159.364 -34.8604q-92.2299 -27.7607 -152.646 -59.0255 q-60.4156 -31.2649 -99.0974 -71.4949t-51.1834 -94.3938q-12.5016 -54.1638 -5.45212 -121.414q7.0495 -67.2507 34.645 -158.865q27.7738 -92.2038 59.0515 -152.604q31.2777 -60.4004 71.5228 -99.0746t94.426 -51.1769q54.1808 -12.5028 121.453 -5.46003 q67.2719 7.04272 158.911 34.6249q92.2337 27.7749 152.646 59.0426q60.4122 31.2677 99.0964 71.4986t51.1843 94.3949q12.5001 54.164 5.45123 121.418t-34.645 158.882zM495.867 626.618l152.714 -443.638q4.09692 -11.9254 15.9207 -20.3654 q11.8237 -8.43999 24.4333 -8.43999q17.665 0 30.1671 12.502q12.502 12.502 12.502 30.1671q0 7.12502 -2.31506 13.8637l-152.714 443.639q-4.09705 11.9255 -15.9207 20.3655q-11.8237 8.43988 -24.4333 8.43988q-17.665 0 -30.1671 -12.502t-12.502 -30.1671 q0 -7.12512 2.31506 -13.8646zM294.523 557.512l152.714 -443.638q4.09695 -11.9254 15.9207 -20.3654t24.4333 -8.43998q17.665 0 30.1671 12.502q12.502 12.502 12.502 30.1671q0 7.12522 -2.315 13.8637l-152.714 443.639q-4.09702 11.9255 -15.9207 20.3654 q-11.8237 8.43994 -24.4333 8.43994q-17.665 0 -30.1671 -12.502t-12.502 -30.1671q0 -7.12512 2.31503 -13.8646zM685.309 601.492l-443.638 -152.714q-11.9254 -4.09698 -20.3654 -15.9207q-8.43999 -11.8238 -8.43999 -24.4333q0 -17.665 12.502 -30.1671 t30.1671 -12.502q7.12515 0 13.8637 2.31506l443.639 152.714q11.9255 4.09698 20.3654 15.9207t8.43994 24.4333q0 17.665 -12.502 30.1671t-30.1671 12.502q-7.125 0 -13.8646 -2.31512zM754.414 400.149l-443.639 -152.714q-11.9254 -4.09697 -20.3654 -15.9207 t-8.43997 -24.4333q0 -17.665 12.502 -30.1671t30.1671 -12.502q7.12515 0 13.8637 2.31505l443.639 152.714q11.9255 4.09702 20.3654 15.9207q8.43994 11.8237 8.43994 24.4333q0 17.665 -12.502 30.1671q-12.502 12.502 -30.1671 12.502q-7.12512 0 -13.8637 -2.31503z " /> <glyph glyph-name="slash" unicode="" d="M512 -85.3333q-95.4834 0 -182.397 37.1694t-149.756 100.011t-100.011 149.756q-37.1694 86.9139 -37.1694 182.397q0 95.4834 37.1694 182.397q37.1694 86.9138 100.011 149.755q62.8417 62.8417 149.756 100.011q86.9138 37.1694 182.397 37.1694 q95.4833 0 182.397 -37.1694t149.756 -100.011q62.8417 -62.8417 100.011 -149.755t37.1694 -182.397q0 -95.4833 -37.1694 -182.397t-100.011 -149.756q-62.8417 -62.8417 -149.755 -100.011q-86.9138 -37.1694 -182.398 -37.1694zM751.701 83.968l-539.733 539.733 q-34.8313 -43.5439 -59.4825 -113.825q-24.6512 -70.281 -24.6512 -126.042q0 -104.256 51.408 -192.72q51.4079 -88.4642 139.872 -139.872q88.4642 -51.4079 192.72 -51.4079q55.761 0 126.042 24.6512q70.281 24.6512 113.825 59.4827zM272.299 684.032l539.733 -539.733 q34.8314 43.5439 59.4825 113.825q24.6511 70.281 24.6511 126.042q0 104.256 -51.408 192.72q-51.408 88.4641 -139.872 139.872q-88.4641 51.408 -192.72 51.4079q-55.761 0 -126.042 -24.6511t-113.825 -59.4828z" /> <glyph glyph-name="smartphone" unicode="" d="M256 725.76v-683.52q0 -17.3182 12.6167 -29.7791q12.6167 -12.4609 30.306 -12.4609h426.155l0.342712 -0.00137901q17.4885 0 29.9644 12.3767q12.4759 12.3767 12.6155 29.8647v683.52q0 17.3182 -12.6167 29.7791q-12.6166 12.4609 -30.306 12.4609h-426.155 l-0.342682 0.00140381q-17.4885 0 -29.9644 -12.3766q-12.4759 -12.3767 -12.6155 -29.8648zM170.667 725.76q0.140747 52.8155 37.6196 90.1946q37.4789 37.3792 90.2946 37.3792l0.341797 -0.000488281h426.155l0.129211 6.10352e-05q52.8158 0 90.357 -37.379 q37.5412 -37.3791 37.7698 -90.1943v-683.52q-0.140808 -52.8155 -37.6197 -90.1946q-37.4788 -37.3791 -90.2945 -37.3791l-0.341797 0.000450134h-426.155l-0.129211 -6.86646e-05q-52.8159 0 -90.357 37.379q-37.5412 37.379 -37.7698 90.1944zM512 128zM469.333 128 q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653z" /> <glyph glyph-name="square" unicode="" d="M170.667 682.88v-597.76q0 -17.6 12.4267 -30.0267t30.0267 -12.4267h597.76q17.6 0 30.0267 12.4267q12.4266 12.4267 12.4266 30.0267v597.76q0 17.5756 -12.4388 30.0145t-30.0145 12.4388h-597.76q-17.5757 0 -30.0145 -12.4388t-12.4389 -30.0145zM85.3333 682.88 q0 52.9037 37.4415 90.3452t90.3452 37.4415h597.76q52.9037 0 90.3452 -37.4415t37.4415 -90.3452v-597.76v0q0 -52.9037 -37.4415 -90.3452t-90.3452 -37.4415h-597.76q-52.9037 3.8147e-06 -90.3452 37.4415t-37.4415 90.3452z" /> <glyph glyph-name="speaker" unicode="" d="M213.333 725.76v-683.52q0 -17.3573 12.476 -29.7986t29.9347 -12.4414h512.512l0.000366211 -1.39062e-09q17.4875 0 29.9137 12.3763q12.4263 12.3763 12.4966 29.8637v683.52q-0.122375 17.4354 -12.5487 29.8116q-12.4263 12.3762 -29.8619 12.4283h-512.512 h-0.000350952q-17.4875 0 -29.9137 -12.3763t-12.4967 -29.8636zM128 725.76q0.0705719 52.8154 37.4995 90.1944q37.429 37.379 90.2445 37.3789h512.512q52.7628 -0.0526123 90.1918 -37.4316t37.5522 -90.1417v-683.52q-0.0705566 -52.8154 -37.4995 -90.1944 q-37.429 -37.379 -90.2445 -37.3789h-512.512q-52.7628 0.0526733 -90.1918 37.4317q-37.429 37.379 -37.5522 90.1417zM512 640zM469.333 640q0 -17.6641 12.5013 -30.1654t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013 t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1652zM512 85.3333q-88.32 0 -150.827 62.5067q-62.5067 62.5067 -62.5067 150.827q0 88.32 62.5067 150.827q62.5067 62.5067 150.827 62.5067q88.3201 0 150.827 -62.5067q62.5067 -62.5067 62.5067 -150.827 t-62.5067 -150.827t-150.827 -62.5067zM512 170.667q52.9919 0 90.496 37.504t37.504 90.496q0 52.992 -37.504 90.496t-90.496 37.504q-52.992 0 -90.496 -37.504t-37.504 -90.496t37.504 -90.496t90.496 -37.504z" /> <glyph glyph-name="star" unicode="" d="M418.432 525.056q-4.10452 -8.31909 -13.5056 -15.1573q-9.401 -6.83823 -18.5798 -8.18137l-209.365 -30.5493l151.467 -147.371q16.0474 -15.5714 12.288 -37.7173l-35.7547 -208.085l187.179 98.304q9.31656 4.89342 19.84 4.89342q10.5235 0 19.84 -4.89342 l187.179 -98.304l-35.7546 208.085q-0.61084 3.5675 -0.61084 7.18668q0 17.9902 12.8989 30.5307l151.467 147.371l-209.365 30.5493q-9.17877 1.34308 -18.5798 8.18137q-9.40106 6.83829 -13.5056 15.1573l-93.5681 189.355zM473.728 829.568 q4.85693 9.85602 16.0706 16.8314q11.2137 6.97534 22.2014 6.97534q10.9877 0 22.2014 -6.97534q11.2137 -6.97528 16.0706 -16.8314l121.899 -246.741l272.64 -39.808q15.1143 -2.19135 25.811 -14.551q10.6968 -12.3597 10.6968 -27.632q0 -17.9742 -12.8705 -30.5211 l-197.248 -191.915l46.5067 -271.147q0.600647 -3.54195 0.600647 -7.13411q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013q-10.5 0 -19.8007 4.87277l-243.84 128.085l-243.84 -128.085q-9.30072 -4.87277 -19.8007 -4.87277q-17.664 0 -30.1653 12.5013 t-12.5013 30.1653q0 3.59226 0.600662 7.13411l46.5067 271.147l-197.248 191.915q-12.8761 12.5476 -12.8761 30.5265q0 15.2587 10.6859 27.6167t25.7848 14.5608l272.64 39.808z" /> <glyph glyph-name="stop-circle" unicode="" d="M512 -85.3333q-95.4834 0 -182.397 37.1694t-149.756 100.011t-100.011 149.756q-37.1694 86.9139 -37.1694 182.397q0 95.4834 37.1694 182.397q37.1694 86.9138 100.011 149.755q62.8417 62.8417 149.756 100.011q86.9138 37.1694 182.397 37.1694 q95.4833 0 182.397 -37.1694t149.756 -100.011q62.8417 -62.8417 100.011 -149.755t37.1694 -182.397q0 -95.4833 -37.1694 -182.397t-100.011 -149.756q-62.8417 -62.8417 -149.755 -100.011q-86.9138 -37.1694 -182.398 -37.1694zM512 -2.87646e-06 q104.256 0 192.72 51.408q88.4642 51.408 139.872 139.872q51.408 88.4641 51.408 192.72q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5q0 -104.256 51.4079 -192.72q51.4079 -88.4642 139.872 -139.872t192.72 -51.408zM426.667 469.333v-170.667h170.667 v170.667h-170.667zM384 554.667h256q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-256q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013h-256v0q-17.664 0 -30.1653 12.5013t-12.5013 30.1653v256q0 17.664 12.5013 30.1653t30.1653 12.5013z" /> <glyph glyph-name="sun" unicode="" d="M512 128q-106 0 -181 75t-75 181t75 181t181 75t181 -75t75 -181t-75 -181t-181 -75zM512 213.333q70.6561 0 120.661 50.0053q50.0053 50.0053 50.0053 120.661t-50.0053 120.661q-50.0054 50.0053 -120.661 50.0053t-120.661 -50.0053 q-50.0053 -50.0053 -50.0053 -120.661t50.0053 -120.661q50.0053 -50.0053 120.661 -50.0053zM469.333 853.333v-85.3333q0 -17.6641 12.5013 -30.1654t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653v85.3333q0 17.664 -12.5013 30.1653t-30.1653 12.5013 t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1652zM469.333 0v-85.3333q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653v85.3333q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013 q-12.5013 -12.5013 -12.5013 -30.1653zM149.888 685.781l60.5867 -60.5867q12.4007 -11.977 29.641 -11.977q17.664 0 30.1653 12.5013t12.5013 30.1653q0 17.2404 -11.977 29.6411l-60.5867 60.5867q-12.4007 11.9771 -29.641 11.9771q-17.664 0 -30.1653 -12.5013 t-12.5013 -30.1653q0 -17.2403 11.977 -29.6412zM753.195 82.4747l60.5867 -60.5867q12.4008 -11.977 29.6411 -11.977q17.664 0 30.1653 12.5013q12.5013 12.5013 12.5013 30.1653q0 17.2404 -11.977 29.641l-60.5867 60.5867q-12.4007 11.977 -29.641 11.977 q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -17.2403 11.9769 -29.641zM42.6667 341.333h85.3333q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013h-85.3333q-17.664 0 -30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653 t12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013zM896 341.333h85.3333q17.6641 0 30.1653 12.5013q12.5013 12.5013 12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013h-85.3333q-17.6639 0 -30.1653 -12.5013t-12.5014 -30.1653t12.5013 -30.1653t30.1654 -12.5013 zM210.219 21.888l60.5867 60.5867q11.977 12.4007 11.977 29.641q0 17.664 -12.5013 30.1653q-12.5013 12.5013 -30.1653 12.5013q-17.2402 0 -29.641 -11.977l-60.5867 -60.5867q-11.977 -12.4007 -11.977 -29.641q0 -17.664 12.5013 -30.1653 q12.5013 -12.5013 30.1653 -12.5013q17.2403 0 29.641 11.977zM813.525 625.195l60.5867 60.5867q13.0256 12.5806 13.0256 30.6896q0 17.664 -12.5013 30.1653t-30.1653 12.5013q-18.1091 0 -30.6896 -13.0256l-60.5867 -60.5867q-13.0256 -12.5806 -13.0256 -30.6896 q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q18.109 0 30.6896 13.0256z" /> <glyph glyph-name="sunrise" unicode="" d="M768 128q0 106 -75 181t-181 75t-181 -75t-75 -181q0.00268555 -17.6613 12.504 -30.1607t30.1626 -12.4994t30.1626 12.4994t12.5041 30.1607q0 70.656 50.0053 120.661q50.0053 50.0053 120.661 50.0053q70.6561 0 120.661 -50.0053q50.0053 -50.0053 50.0053 -120.661 q0.00268555 -17.6613 12.504 -30.1607t30.1627 -12.4994q17.6613 0 30.1626 12.4994t12.5048 30.1607zM469.333 810.667v-298.667q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653v298.667q0 17.664 -12.5013 30.1653t-30.1653 12.5013 t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653zM149.888 429.781l60.5867 -60.5867q12.5806 -13.0257 30.6897 -13.0257q17.664 0 30.1653 12.5013t12.5013 30.1653q0 18.1091 -13.0257 30.6897l-60.5867 60.5867q-12.5806 13.0256 -30.6896 13.0256 q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -18.1091 13.0256 -30.6896zM42.6667 85.3333h85.3333q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013h-85.3333q-17.664 0 -30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653 t12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013zM896 85.3333h85.3333q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013h-85.3333q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013zM813.525 369.195 l60.5867 60.5867q13.0256 12.5806 13.0256 30.6896q0 17.664 -12.5014 30.1653q-12.5013 12.5013 -30.1653 12.5013q-18.1091 0 -30.6896 -13.0256l-60.5867 -60.5867q-11.977 -12.4007 -11.977 -29.641q0 -17.664 12.5013 -30.1653t30.1653 -12.5013 q17.2403 0 29.6411 11.977zM981.333 0h-938.667q-17.6613 -0.00270382 -30.1607 -12.504q-12.4994 -12.5013 -12.4994 -30.1626q0 -17.6613 12.4994 -30.1626q12.4994 -12.5013 30.1607 -12.504h938.667q17.6613 0.00270081 30.1607 12.504q12.4995 12.5013 12.4995 30.1626 t-12.4995 30.1626q-12.4994 12.5013 -30.1607 12.5041v-0.00010029zM652.501 609.835q12.4007 -11.977 29.641 -11.977q17.664 0 30.1653 12.5013t12.5013 30.1653q0 17.2404 -11.977 29.6411l-170.667 170.667q-12.496 12.4922 -30.1653 12.4922 q-17.6693 0 -30.1653 -12.4922l-170.667 -170.667q-11.977 -12.4008 -11.977 -29.641q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.2403 0 29.641 11.977l140.501 140.501z" /> <glyph glyph-name="tablet" unicode="" d="M810.667 42.24v683.52q-0.122375 17.4354 -12.5486 29.8116q-12.4263 12.3762 -29.862 12.4283h-512.512h-0.000350952q-17.4875 0 -29.9137 -12.3763t-12.4966 -29.8636v-683.52q0 -17.3573 12.476 -29.7986t29.9347 -12.4414h512.512l0.000366211 -1.39062e-09 q17.4875 0 29.9137 12.3763q12.4263 12.3763 12.4965 29.8637zM896 42.24q-0.0705566 -52.8154 -37.4995 -90.1944q-37.429 -37.379 -90.2445 -37.3789h-512.512q-52.7628 0.0526733 -90.1918 37.4317q-37.429 37.379 -37.5522 90.1417v683.52 q0.0705566 52.8154 37.4995 90.1944q37.429 37.379 90.2445 37.3789h512.512q52.7628 -0.0526123 90.1918 -37.4316t37.5522 -90.1417zM512 128zM469.333 128q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653 t-30.1653 12.5013t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653z" /> <glyph glyph-name="tag" unicode="" d="M841.813 417.536l-351.147 351.147h-363.349v-363.349l351.147 -350.72q12.4008 -12.4203 29.952 -12.4203q17.5511 0 29.952 12.4203l303.36 303.36q12.3105 12.3715 12.3105 29.8243q0 17.382 -12.2255 29.7377zM901.76 298.283l-303.531 -303.488 q-15.4002 -15.4171 -41.7218 -26.3283q-26.3217 -10.9112 -48.1129 -10.9112q-21.7766 0 -48.0857 10.8987q-26.3091 10.8987 -41.7064 26.2982l-363.52 363.093q-12.416 12.4001 -12.416 29.9478l2.67029e-05 0.0469055v423.253q0 17.454 12.4016 29.847t29.9237 12.393 h423.211q17.4692 0 29.9093 -12.3734l363.648 -363.648q15.2851 -15.3774 26.1027 -41.6052q10.8176 -26.2278 10.8176 -47.9095q0 -21.6817 -10.8176 -47.9095q-10.8176 -26.2278 -26.1025 -41.6046zM298.667 597.333zM256 597.333v-0.00653076 q0 -17.6639 12.5013 -30.1653t30.1653 -12.5014t30.1653 12.5014q12.5013 12.5013 12.5013 30.1653v0.00653076v0.00653076q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013t-12.5013 -30.1653v-0.00653076z" /> <glyph glyph-name="sunset" unicode="" d="M768 128q0 106 -75 181t-181 75t-181 -75t-75 -181q0.00268555 -17.6613 12.504 -30.1607t30.1626 -12.4994t30.1626 12.4994t12.5041 30.1607q0 70.656 50.0053 120.661q50.0053 50.0053 120.661 50.0053q70.6561 0 120.661 -50.0053q50.0053 -50.0053 50.0053 -120.661 q0.00268555 -17.6613 12.504 -30.1607t30.1627 -12.4994q17.6613 0 30.1626 12.4994t12.5048 30.1607zM554.667 512v298.667q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013t-12.5013 -30.1653v-298.667q0 -17.664 12.5013 -30.1653t30.1653 -12.5013 t30.1653 12.5013t12.5013 30.1653zM149.888 429.781l60.5867 -60.5867q12.5806 -13.0257 30.6897 -13.0257q17.664 0 30.1653 12.5013t12.5013 30.1653q0 18.1091 -13.0257 30.6897l-60.5867 60.5867q-12.5806 13.0256 -30.6896 13.0256q-17.664 0 -30.1653 -12.5013 t-12.5013 -30.1653q0 -18.1091 13.0256 -30.6896zM42.6667 85.3333h85.3333q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013h-85.3333q-17.664 0 -30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653t12.5013 -30.1653 q12.5013 -12.5013 30.1653 -12.5013zM896 85.3333h85.3333q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013h-85.3333q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013zM813.525 369.195l60.5867 60.5867 q13.0256 12.5806 13.0256 30.6896q0 17.664 -12.5014 30.1653q-12.5013 12.5013 -30.1653 12.5013q-18.1091 0 -30.6896 -13.0256l-60.5867 -60.5867q-11.977 -12.4007 -11.977 -29.641q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.2403 0 29.6411 11.977zM981.333 0 h-938.667q-17.6613 -0.00270382 -30.1607 -12.504q-12.4994 -12.5013 -12.4994 -30.1626q0 -17.6613 12.4994 -30.1626q12.4994 -12.5013 30.1607 -12.504h938.667q17.6613 0.00270081 30.1607 12.504q12.4995 12.5013 12.4995 30.1626t-12.4995 30.1626 q-12.4994 12.5013 -30.1607 12.5041v-0.00010029zM371.499 712.832q-12.4007 11.9771 -29.641 11.9771q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -17.2403 11.9771 -29.6411l170.667 -170.667q12.4961 -12.4922 30.1653 -12.4922q17.6693 0 30.1653 12.4922 l170.667 170.667q13.0256 12.5806 13.0256 30.6896q0 17.664 -12.5013 30.1653t-30.1653 12.5013q-18.109 0 -30.6896 -13.0256l-140.501 -140.501z" /> <glyph glyph-name="target" unicode="" d="M512 -85.3333q-95.4834 0 -182.397 37.1694t-149.756 100.011t-100.011 149.756q-37.1694 86.9139 -37.1694 182.397q0 95.4834 37.1694 182.397q37.1694 86.9138 100.011 149.755q62.8417 62.8417 149.756 100.011q86.9138 37.1694 182.397 37.1694 q95.4833 0 182.397 -37.1694t149.756 -100.011q62.8417 -62.8417 100.011 -149.755t37.1694 -182.397q0 -95.4833 -37.1694 -182.397t-100.011 -149.756q-62.8417 -62.8417 -149.755 -100.011q-86.9138 -37.1694 -182.398 -37.1694zM512 -2.87646e-06 q104.256 0 192.72 51.408q88.4642 51.408 139.872 139.872q51.408 88.4641 51.408 192.72q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5q0 -104.256 51.4079 -192.72q51.4079 -88.4642 139.872 -139.872t192.72 -51.408zM512 85.3333 q-123.648 0 -211.157 87.5093q-87.5093 87.5093 -87.5093 211.157q0 123.648 87.5093 211.157q87.5093 87.5093 211.157 87.5093q123.648 0 211.157 -87.5093t87.5093 -211.157q0 -123.648 -87.5093 -211.157t-211.157 -87.5093zM512 170.667q88.32 0 150.827 62.5067 q62.5067 62.5067 62.5067 150.827t-62.5067 150.827t-150.827 62.5067t-150.827 -62.5067q-62.5067 -62.5067 -62.5067 -150.827t62.5067 -150.827q62.5067 -62.5067 150.827 -62.5067zM512 256q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5 t-37.5 -90.5t-90.5 -37.5zM512 341.333q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653t12.5013 -30.1654q12.5013 -12.5013 30.1653 -12.5012z" /> <glyph glyph-name="thermometer" unicode="" d="M715.216 38.5064q-20.9231 -68.9332 -86.7148 -117.719q-65.7917 -48.7858 -137.83 -48.7861q-97.1496 0 -165.905 68.7556t-68.7556 165.905q0 45.7955 25.0009 98.8319t60.3264 82.1798v458.997q0 61.8224 43.7536 105.576t105.576 43.7536t105.576 -43.7536 t43.7536 -105.576v-459.039q35.3282 -29.1434 60.3309 -82.1814q25.0027 -53.0379 25.0027 -98.8355q0 -34.8257 -10.1141 -68.1504zM554.666 266.255v480.415q0 26.4954 -18.7515 45.2469t-45.2469 18.7515t-45.2469 -18.7515q-18.7516 -18.7515 -18.7516 -45.2469 v-480.415q-0.0017395 -9.43347 -5.55215 -19.8218t-13.3914 -15.6333q-27.4845 -18.3578 -46.9361 -54.7417t-19.4516 -69.4355q0 -61.8225 43.7536 -105.576t105.576 -43.7536q61.8225 0 105.576 43.7536q43.7535 43.7536 43.7536 105.576q0 33.0516 -19.4515 69.4355 q-19.4516 36.3839 -46.9362 54.7417q-7.84088 5.24501 -13.3914 15.6334t-5.55194 19.8217z" /> <glyph glyph-name="thumbs-up" unicode="" d="M850.005 554.667q0.814636 0.0102539 1.63867 0.0102539q24.3452 0 53.0056 -12.8918q28.6603 -12.8918 44.8118 -31.1077q39.4445 -44.762 30.3787 -103.253l-59.7333 -383.957q-7.25677 -47.3129 -44.191 -78.3287q-36.9341 -31.0158 -85.1744 -30.4713h-488.32 q-17.9221 0 -30.6144 12.5023q-12.6923 12.5023 -12.6923 30.1643v469.333q0 9.0365 3.75467 17.3227l173.141 384q11.4435 25.344 39.552 25.344q71.7484 0 122.466 -49.9755q50.7178 -49.9755 50.7178 -120.691v-128zM791.211 2.00117e-05 q0.371338 -0.00640364 0.742859 -0.00640364q15.2397 0 27.7108 10.653t14.853 25.7054l59.7333 383.915q0.488342 3.18338 0.488342 6.40451q0 16 -10.6003 27.9848q-13.0828 14.6868 -32.7516 14.6868q-0.457092 0 -0.912415 -0.00949097h-245.035 q-17.918 0 -30.591 12.5004q-12.673 12.5003 -12.673 30.1663v170.667q0 28.2363 -16.8722 50.6148q-16.8723 22.3786 -43.4158 30.7079l-156.16 -346.368v-417.621h445.483zM259.157 384h-86.6133q-17.9221 0 -30.6144 -12.5023q-12.6923 -12.5023 -12.6923 -30.1643 v-298.667q0 -17.662 12.6923 -30.1643q12.6923 -12.5023 30.6144 -12.5023h86.6133v384zM302.421 -85.3333h-129.877q-53.7942 -2.28882e-05 -91.8358 37.4891q-38.0416 37.4891 -38.0416 90.5109v298.667q0 53.0218 38.0416 90.5109q38.0416 37.4891 91.8358 37.4891 h129.877q17.918 0 30.591 -12.5003t12.673 -30.1663v-469.333q0 -17.666 -12.673 -30.1663t-30.591 -12.5011z" /> <glyph glyph-name="thumbs-down" unicode="" d="M173.483 213.333q-0.797348 -0.00978088 -1.59502 -0.00978088q-24.2059 0 -52.7041 12.8167t-44.5595 30.9264q-13.2268 14.9358 -22.5877 39.626t-9.36097 44.6408q0 9.74219 1.4847 19.3705l59.8187 383.915q7.11898 45.0119 44.4095 76.8682 q37.2905 31.8562 82.8619 31.8562l1.58194 -0.00970459h489.088q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-469.333l6.10352e-05 -0.0770569q0 -9.15347 -3.7547 -17.5016l-173.44 -384q-4.69531 -10.3843 -16.084 -17.7351t-22.7853 -7.3529 q-71.5084 0 -122.133 49.9512q-50.6245 49.9512 -50.6245 120.715v128h-202.24zM232.363 768q-0.509644 0.0120239 -1.02438 0.0120239q-15.2996 0 -27.9133 -10.6796q-12.6137 -10.6797 -15.137 -25.7697l-59.8187 -383.957q-0.474289 -3.1188 -0.474289 -6.27356 q0 -15.9047 10.5863 -27.7744q13.3761 -15.1326 34.432 -14.9333h245.376v0q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-170.667q0 -28.3706 17.2418 -50.8547q17.2418 -22.4841 44.3263 -30.6386l156.587 346.709v417.493zM764.544 384h73.8134 q0.824402 -0.0237427 1.64661 -0.0237427q19.4051 0 35.812 13.4709t20.1841 32.5049v291.968q-3.70215 20.2166 -20.1331 33.3019q-16.431 13.0853 -38.1922 12.7354h-73.088v-384zM721.877 853.333h115.029q54.2548 0.896851 95.4825 -34.0545t48.5175 -88.1855 l0.426636 -5.76001v-298.667l-0.426636 -5.84534q-7.16968 -50.5812 -48.3995 -86.3791q-41.2299 -35.7979 -92.3167 -35.7979q-1.25671 0 -2.51587 0.0222473h-115.755q-17.664 0 -30.1653 12.5013t-12.5013 30.1653v469.333q0 17.664 12.5013 30.1653t30.1653 12.5013z " /> <glyph glyph-name="toggle-left" unicode="" d="M85.3333 384q0 -105.895 74.9315 -180.948q74.9315 -75.0524 180.684 -75.0524h342.101q105.825 0.0705719 180.721 75.0161q74.8955 74.9455 74.8955 180.771l-6.10352e-05 0.213379q0 105.895 -74.9315 180.948q-74.9315 75.0524 -180.685 75.0524h-342.144 q-105.807 -0.0882568 -180.69 -75.0337q-74.883 -74.9455 -74.883 -180.753zM2.87646e-06 384q0 92.72 45.6181 171.347q45.6181 78.6271 124.159 124.307q78.5411 45.6795 171.172 45.6795h342.101q92.5566 0 171.111 -45.7243q78.5541 -45.7244 124.196 -124.359 q45.6423 -78.6349 45.6423 -171.25q0 -92.7199 -45.6182 -171.347q-45.6181 -78.6272 -124.159 -124.307q-78.5411 -45.6795 -171.172 -45.6795h-342.144q-92.5365 0 -171.081 45.724q-78.5443 45.724 -124.185 124.36q-45.6408 78.6361 -45.6408 171.249zM341.333 213.333 q-70.656 0 -120.661 50.0053q-50.0053 50.0053 -50.0053 120.661q0 70.656 50.0053 120.661q50.0053 50.0053 120.661 50.0053q70.656 0 120.661 -50.0053t50.0053 -120.661t-50.0053 -120.661q-50.0053 -50.0053 -120.661 -50.0053zM341.333 298.667 q35.328 0 60.3307 25.0027t25.0027 60.3307t-25.0027 60.3306q-25.0027 25.0027 -60.3307 25.0027t-60.3307 -25.0027t-25.0027 -60.3307t25.0027 -60.3307q25.0027 -25.0027 60.3307 -25.0026z" /> <glyph glyph-name="toggle-right" unicode="" d="M85.3333 384q0 -105.895 74.9315 -180.948q74.9315 -75.0524 180.684 -75.0524h342.101q105.825 0.0705719 180.721 75.0161q74.8955 74.9455 74.8955 180.771l-6.10352e-05 0.213379q0 105.895 -74.9315 180.948q-74.9315 75.0524 -180.685 75.0524h-342.144 q-105.807 -0.0882568 -180.69 -75.0337q-74.883 -74.9455 -74.883 -180.753zM2.87646e-06 384q0 92.72 45.6181 171.347q45.6181 78.6271 124.159 124.307q78.5411 45.6795 171.172 45.6795h342.101q92.5566 0 171.111 -45.7243q78.5541 -45.7244 124.196 -124.359 q45.6423 -78.6349 45.6423 -171.25q0 -92.7199 -45.6182 -171.347q-45.6181 -78.6272 -124.159 -124.307q-78.5411 -45.6795 -171.172 -45.6795h-342.144q-92.5365 0 -171.081 45.724q-78.5443 45.724 -124.185 124.36q-45.6408 78.6361 -45.6408 171.249zM682.667 213.333 q-70.656 0 -120.661 50.0054q-50.0054 50.0053 -50.0054 120.661t50.0054 120.661q50.0054 50.0054 120.661 50.0054q70.656 0 120.661 -50.0053q50.0054 -50.0053 50.0054 -120.661t-50.0054 -120.661q-50.0053 -50.0054 -120.661 -50.0054zM682.667 298.667 q35.3279 0 60.3306 25.0027q25.0027 25.0027 25.0027 60.3307t-25.0027 60.3306q-25.0027 25.0027 -60.3306 25.0027t-60.3306 -25.0027t-25.0027 -60.3307t25.0027 -60.3307t60.3306 -25.0026z" /> <glyph glyph-name="trash-" unicode="" d="M128 597.333h768q17.664 0 30.1653 12.5013t12.5013 30.1653q0 17.6639 -12.5014 30.1653q-12.5013 12.5013 -30.1653 12.5013h-768q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1654 -12.5013zM768 640v-597.333q0 -17.664 -12.5013 -30.1653 q-12.5013 -12.5013 -30.1653 -12.5013h-426.667q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653v597.333v0.00653076q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013t-12.5013 -30.1653v-0.00653076v-597.333q0 -52.992 37.504 -90.496 q37.504 -37.504 90.496 -37.504h426.667q52.992 0 90.496 37.504q37.504 37.504 37.504 90.496v597.333q-0.00256348 17.6613 -12.504 30.1607t-30.1627 12.4995q-17.6613 0 -30.1626 -12.4995t-12.5043 -30.1607zM384 640v85.3333q0 17.6639 12.5013 30.1653 q12.5013 12.5013 30.1653 12.5013h170.667q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-85.3333q0.00274658 -17.6613 12.504 -30.1607q12.5013 -12.4995 30.1627 -12.4995q17.6613 0 30.1627 12.4994q12.5013 12.4995 12.504 30.1608v85.3333q0 52.9921 -37.504 90.496 t-90.496 37.504h-170.667q-52.992 0 -90.496 -37.504t-37.504 -90.496v-85.3333v-0.00653076q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653zM384 426.667v-256q0.00271606 -17.6613 12.504 -30.1607q12.5013 -12.4994 30.1626 -12.4994 t30.1626 12.4994q12.5014 12.4994 12.5041 30.1607v256q-0.00265503 17.6613 -12.504 30.1607q-12.5014 12.4994 -30.1627 12.4994t-30.1627 -12.4994t-12.5039 -30.1607zM554.667 426.667v-256q0.00274658 -17.6613 12.5041 -30.1607q12.5013 -12.4994 30.1626 -12.4994 t30.1626 12.4994t12.504 30.1607v256q-0.00268555 17.6613 -12.504 30.1607q-12.5014 12.4994 -30.1627 12.4994t-30.1626 -12.4994t-12.504 -30.1607z" /> <glyph glyph-name="trash" unicode="" d="M128 597.333h768q17.664 0 30.1653 12.5013t12.5013 30.1653q0 17.6639 -12.5014 30.1653q-12.5013 12.5013 -30.1653 12.5013h-768q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1654 -12.5013zM768 640v-597.333q0 -17.664 -12.5013 -30.1653 q-12.5013 -12.5013 -30.1653 -12.5013h-426.667q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653v597.333v0.00653076q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013t-12.5013 -30.1653v-0.00653076v-597.333q0 -52.992 37.504 -90.496 q37.504 -37.504 90.496 -37.504h426.667q52.992 0 90.496 37.504q37.504 37.504 37.504 90.496v597.333q-0.00256348 17.6613 -12.504 30.1607t-30.1627 12.4995q-17.6613 0 -30.1626 -12.4995t-12.5043 -30.1607zM384 640v85.3333q0 17.6639 12.5013 30.1653 q12.5013 12.5013 30.1653 12.5013h170.667q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-85.3333q0.00274658 -17.6613 12.504 -30.1607q12.5013 -12.4995 30.1627 -12.4995q17.6613 0 30.1627 12.4994q12.5013 12.4995 12.504 30.1608v85.3333q0 52.9921 -37.504 90.496 t-90.496 37.504h-170.667q-52.992 0 -90.496 -37.504t-37.504 -90.496v-85.3333v-0.00653076q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653z" /> <glyph glyph-name="trending-up" unicode="" d="M392.832 478.165q-12.496 12.4922 -30.1653 12.4922t-30.1653 -12.4922l-320 -320q-11.977 -12.4008 -11.977 -29.641q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013q17.2403 0 29.641 11.977l289.835 289.835l183.168 -183.168 q12.4959 -12.4922 30.1653 -12.4922q17.6693 0 30.1653 12.4922l405.333 405.333q13.0256 12.5806 13.0256 30.6896q0 17.6639 -12.5013 30.1653t-30.1653 12.5014q-18.1089 0 -30.6897 -13.0256l-375.168 -375.168zM938.667 384q0.00274658 -17.6613 12.5041 -30.1607 t30.1626 -12.4994t30.1626 12.4994q12.5013 12.4995 12.504 30.1607v256q0 17.664 -12.5013 30.1653t-30.1653 12.5013h-256q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653q12.5014 -12.5013 30.1653 -12.5013h213.333z" /> <glyph glyph-name="trending-down" unicode="" d="M72.832 670.165q-12.4008 11.9772 -29.6412 11.9772q-17.664 0 -30.1654 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653q0 -17.2405 11.9772 -29.6412l320 -320q12.496 -12.4922 30.1653 -12.4922t30.1653 12.4922l183.168 183.168l375.168 -375.168 q12.4008 -11.977 29.641 -11.977q17.664 0 30.1653 12.5013t12.5013 30.1653q0 17.2403 -11.977 29.641l-405.333 405.333q-12.496 12.4922 -30.1653 12.4922t-30.1653 -12.4922l-183.168 -183.168zM725.333 170.667q-17.6639 0 -30.1653 -12.5013 q-12.5013 -12.5013 -12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013h256q17.664 0 30.1653 12.5013t12.5013 30.1653v256q-0.00268555 17.6613 -12.504 30.1607q-12.5013 12.4994 -30.1627 12.4994q-17.6612 0 -30.1625 -12.4994t-12.5041 -30.1607v-213.333z" /> <glyph glyph-name="triangle" unicode="" d="M402.517 753.237q15.4867 25.547 47.5901 43.6274t61.9779 18.0804q29.8746 0 61.978 -18.0804t47.59 -43.6274l361.813 -603.904q17.1508 -29.7037 17.1508 -64.0034q0 -52.6043 -37.2286 -90.1073t-89.8315 -37.8893h-723.413q-52.4119 0.57373 -89.5054 38.0755 q-37.0935 37.5018 -37.0935 89.9168q0 34.6727 17.5003 64.605zM114.603 106.667q-5.72215 -9.90473 -5.72215 -21.3436q0 -17.2815 12.2277 -29.7799q12.2277 -12.4983 29.5051 -12.8766h722.475q17.471 0.190895 29.8358 12.6915q12.3647 12.5006 12.3647 29.9726 q0 11.0669 -5.37915 20.7385l-361.344 603.093q-5.15479 8.52069 -15.851 14.551t-20.6548 6.03027q-9.93143 0 -20.6125 -6.00531q-10.6811 -6.00531 -15.8416 -14.4906l-360.96 -602.581z" /> <glyph glyph-name="type" unicode="" d="M213.333 682.667h597.333v-85.3333q0.00274658 -17.6613 12.5041 -30.1608q12.5013 -12.4994 30.1626 -12.4994t30.1626 12.4995t12.504 30.1607v128q0 17.664 -12.5013 30.1653t-30.1653 12.5013h-682.667q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653v-128 v-0.00653076q0 -17.6639 12.5013 -30.1653t30.1653 -12.5014t30.1653 12.5014q12.5013 12.5013 12.5013 30.1653v0.00653076zM384 0h256q17.6613 0.00270382 30.1607 12.5041q12.4995 12.5013 12.4995 30.1626q0 17.6613 -12.4995 30.1626 q-12.4995 12.5013 -30.1607 12.5041h-256q-17.6613 -0.00270081 -30.1607 -12.504q-12.4994 -12.5013 -12.4994 -30.1626t12.4994 -30.1626q12.4994 -12.5013 30.1607 -12.504v-0.000198074zM469.333 725.333v-682.667q0 -17.664 12.5013 -30.1653 q12.5013 -12.5013 30.1653 -12.5013t30.1653 12.5013q12.5013 12.5013 12.5013 30.1653v682.667q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653z" /> <glyph glyph-name="twitter" unicode="" d="M956.844 759.765q24.1596 17.0542 48.592 0.383972q24.4324 -16.6702 17.456 -45.44q-9.19702 -37.8303 -34.1371 -85.0854q-24.9402 -47.2551 -50.9828 -76.1946q0.914001 -9.80908 0.981323 -20.864q0 -123.669 -38.3765 -231.228t-103.883 -184.417 q-65.507 -76.8576 -155.686 -127.645t-190.511 -67.2469q-100.332 -16.4596 -211.85 3.53374q-111.518 19.9934 -216.429 78.3629q-18.7903 10.4368 -21.7718 30.2597q-2.9815 19.8229 9.86542 35.2104q12.8469 15.3875 34.3491 14.5299 q8.99974 -0.357666 18.0069 -0.357666q41.2149 0 96.8703 12.2186q55.6555 12.2186 93.0801 29.4831q-138.091 85.2104 -183.808 225.792q-42.6547 131.245 -0.597336 286.208q10.1872 37.5797 21.0773 62.208q4.66515 10.4811 16.0862 17.899 q11.4211 7.41791 22.8936 7.41791q22.1758 0 34.9188 -18.1489q46.3502 -66.1114 136.135 -117.192q89.7846 -51.0804 170.297 -57.1442l-0.00582886 1.65198q0 66.6757 44.0689 130.736q44.069 64.0603 106.337 87.9001q40.2839 15.3991 83.4106 15.3991 q36.9817 0 82.6498 -17.4633t73.2142 -42.1385q52.2405 19.2434 97.7067 51.3707zM859.735 618.539q-6.0097 -1.80695 -12.2852 -1.80695q-19.4583 0 -32.2161 14.6923q-18.365 21.1567 -51.1902 36.1299q-32.8251 14.9732 -60.8409 14.9732q-27.3588 0 -52.9182 -9.75916 q-39.5581 -15.1824 -67.5546 -55.9151t-27.9965 -83.1042q0 -1.22925 0.0203857 -2.46326v-42.7093l6.10352e-05 -0.0570984q0 -17.2105 -12.1763 -29.7076t-29.381 -12.9446q-103.891 -2.70886 -199.794 36.3044q-95.903 39.0132 -168.078 112.602 q-27.5169 -118.915 4.43733 -217.259q45.1055 -138.848 208.981 -211.797q22.9442 -10.2081 25.184 -35.232t-18.528 -39.136q-29.649 -20.1573 -75.0288 -41.3971q-45.3798 -21.2398 -79.8512 -31.0936q69.4092 -18.2832 138.685 -18.9077 q69.2755 -0.624463 132.175 16.2698q62.8998 16.8943 119.641 48.1051q56.7413 31.2108 102.644 78.5174q45.9023 47.3066 79.517 105.46q33.6147 58.1529 51.9271 130.979q18.3125 72.8259 18.3125 153.156q-0.0430908 13.9041 -2.64532 27.5627 q-0.760559 3.97827 -0.760559 8.02814q0 17.8618 12.7072 30.4146q14.0721 13.8828 26.368 29.952q-13.9974 -5.17987 -29.3547 -9.81335v-0.0435791z" /> <glyph glyph-name="upload" unicode="" d="M554.667 665.003v-409.003q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013t-30.1653 12.5013t-12.5013 30.1653v409.003l-140.501 -140.501q-12.4008 -11.9771 -29.641 -11.9771q-17.664 0 -30.1653 12.5013t-12.5013 30.1653q0 17.2403 11.9771 29.6411 l213.333 213.333q12.4961 12.4922 30.1653 12.4922q17.6694 0 30.1653 -12.4922l213.333 -213.333q13.0256 -12.5806 13.0256 -30.6896q0 -17.664 -12.5013 -30.1653q-12.5013 -12.5013 -30.1653 -12.5013q-18.1091 0 -30.6896 13.0256zM853.333 256 q0 17.664 12.5013 30.1653t30.1653 12.5013q17.6639 0 30.1653 -12.5013t12.5013 -30.1653v-170.667q0 -52.992 -37.504 -90.496q-37.504 -37.504 -90.496 -37.504h-597.333q-52.992 0 -90.496 37.504q-37.504 37.504 -37.504 90.496v170.667q0 17.664 12.5013 30.1653 t30.1653 12.5013t30.1653 -12.5013t12.5013 -30.1653v-170.667q0 -17.664 12.5013 -30.1653t30.1653 -12.5013h597.333q17.664 0 30.1653 12.5013q12.5013 12.5013 12.5013 30.1653z" /> <glyph glyph-name="umbrella" unicode="" d="M554.667 341.333v-256q0 -35.328 25.0026 -60.3307q25.0027 -25.0027 60.3307 -25.0027q35.3279 0 60.3307 25.0027q25.0027 25.0027 25.0027 60.3307q0 17.664 12.5013 30.1653t30.1653 12.5013q17.6641 0 30.1653 -12.5013t12.5013 -30.1654 q0 -70.656 -50.0053 -120.661q-50.0053 -50.005 -120.661 -50.0053q-70.656 0 -120.661 50.0053q-50.0053 50.0053 -50.0053 120.661v256h-426.667q-17.6556 0.00845337 -30.1509 12.5097q-12.4954 12.5013 -12.4954 30.1569q0 2.03125 0.19297 4.05334 q12.1054 126.265 84.9234 233.406q72.8181 107.14 186.418 169.401q113.6 62.2607 240.445 62.2607q126.844 0 240.445 -62.2608q113.6 -62.2608 186.418 -169.401q72.8181 -107.14 84.9234 -233.406q0.192993 -2.02283 0.192993 -4.05334q0 -17.6555 -12.4954 -30.1569 q-12.4954 -12.5013 -30.1509 -12.5098zM512 768q-153.122 0 -271.097 -96.5606q-117.975 -96.5606 -148.743 -244.773h839.68q-30.7676 148.212 -148.743 244.773t-271.097 96.5606z" /> <glyph glyph-name="upload-cloud" unicode="" d="M652.518 183.168q12.4008 -11.977 29.641 -11.977q17.6639 0 30.1653 12.5013q12.5013 12.5013 12.5013 30.1653q0 17.2403 -11.977 29.641l-170.667 170.667q-12.4959 12.4922 -30.1653 12.4922q-17.6693 0 -30.1653 -12.4922l-170.667 -170.667 q-11.977 -12.4007 -11.977 -29.641q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.2403 0 29.641 11.977l140.501 140.501zM469.35 384v-384q0.00274658 -17.6613 12.5041 -30.1607t30.1626 -12.4994q17.6612 0 30.1626 12.4994q12.5013 12.4994 12.504 30.1607v384 q-0.00268555 17.6613 -12.504 30.1607q-12.5013 12.4994 -30.1627 12.4994t-30.1626 -12.4994q-12.5013 -12.4994 -12.504 -30.1607zM427.579 808.107q-21.7185 2.48071 -43.5779 2.48071q-104.256 0 -192.72 -51.408q-88.4642 -51.4079 -139.872 -139.872 q-51.408 -88.4642 -51.4079 -192.72q0 -60.1843 28.2075 -134.694q28.2075 -74.5097 68.0638 -119.605q12.7437 -14.498 32.0464 -14.498q17.664 0 30.1653 12.5013t12.5013 30.1653q0 16.2034 -10.7557 28.322q-31.0037 35.0756 -52.9459 93.0311 q-21.9422 57.9554 -21.9422 104.769q0 123.648 87.5094 211.157q87.5094 87.509 211.157 87.5093q95.7474 0 180.471 -65.6063q84.7239 -65.6063 108.689 -158.306q3.41974 -13.2446 15.5211 -22.6206t25.7803 -9.37939h53.76q70.6093 -0.0465698 120.582 -50.0519 q49.9724 -50.0053 49.9724 -120.615q0 -41.9542 -26.0698 -85.8589q-26.0697 -43.9047 -62.9055 -63.9865q-9.40411 -4.97488 -16.0597 -16.0252q-6.65558 -11.0504 -6.65558 -21.6893q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q11.1537 0 20.8806 5.45853 q55.2537 30.1227 94.3583 95.9797q39.1046 65.857 39.1046 128.788q0 105.914 -74.9584 180.922q-74.9584 75.008 -180.872 75.0779h-22.2293q-33.1372 93.6583 -126.447 167.916q-93.3101 74.2579 -192.018 85.5249zM652.518 183.168q12.4008 -11.977 29.641 -11.977 q17.6639 0 30.1653 12.5013q12.5013 12.5013 12.5013 30.1653q0 17.2403 -11.977 29.641l-170.667 170.667q-12.4959 12.4922 -30.1653 12.4922q-17.6693 0 -30.1653 -12.4922l-170.667 -170.667q-11.977 -12.4007 -11.977 -29.641q0 -17.664 12.5013 -30.1653 t30.1653 -12.5013q17.2403 0 29.641 11.977l140.501 140.501z" /> <glyph glyph-name="unlock" unicode="" d="M256 469.333v127.872q-0.095993 98.5662 66.5791 171.742q66.6751 73.1758 165.613 83.0633q98.9743 9.9198 179.076 -48.5594q80.102 -58.4791 99.8784 -155.089q0.833496 -4.15497 0.833496 -8.3924q0 -14.5361 -10.0953 -26.8036q-10.0953 -12.2676 -24.3596 -15.0653 q-4.27679 -0.877441 -8.64319 -0.877441q-14.4505 0 -26.7822 10.0082q-12.3316 10.0081 -15.3053 24.1493q-13.1847 64.4194 -66.5728 103.404t-119.369 32.3611q-65.984 -6.59198 -110.421 -55.3654q-44.4373 -48.7734 -44.3734 -114.533v-127.915h468.821 q52.7806 -0.0702515 90.2221 -37.4742q37.4415 -37.404 37.5646 -90.1845v-299.349q-0.0176392 -52.8507 -37.4341 -90.2547t-90.2672 -37.404l-0.0853271 2.28882e-05h-597.76q-52.7805 0.0702591 -90.222 37.4743t-37.5646 90.1844v299.349 q0.0176392 52.8507 37.4341 90.2547q37.4165 37.404 90.2672 37.404l0.0853271 -3.05176e-05zM170.667 341.675v-299.349q0 -17.386 12.4957 -29.8556t29.9577 -12.4697h597.76q17.5975 0 30.0254 12.3934t12.4279 29.9319v299.349q-0.122192 17.4532 -12.561 29.8546 q-12.4388 12.4013 -29.8923 12.4708h-597.76l-0.0853577 9.15527e-05q-17.5227 0 -29.9366 -12.4014q-12.4138 -12.4013 -12.4315 -29.9241z" /> <glyph glyph-name="user-check" unicode="" d="M725.333 0v85.3333q0 88.32 -62.5067 150.827q-62.5067 62.507 -150.827 62.5066h-298.667q-88.32 0 -150.827 -62.5067q-62.5067 -62.5067 -62.5067 -150.827v-85.3333q0.00270382 -17.6613 12.504 -30.1607q12.5013 -12.4994 30.1626 -12.4994 q17.6613 0 30.1626 12.4994t12.504 30.1607v85.3333q0 52.992 37.504 90.496t90.496 37.504h298.667q52.9919 0 90.496 -37.504t37.504 -90.496v-85.3333q0.00268555 -17.6613 12.504 -30.1607q12.5014 -12.4994 30.1627 -12.4994t30.1627 12.4994 q12.5013 12.4994 12.504 30.1607v2.00117e-05zM362.667 384q-88.32 0 -150.827 62.5067q-62.5067 62.5067 -62.5067 150.827q0 88.3201 62.5066 150.827q62.5067 62.5067 150.827 62.5067q88.32 0 150.827 -62.5067q62.5067 -62.5067 62.5067 -150.827t-62.5067 -150.827 q-62.5067 -62.5067 -150.827 -62.5067zM362.667 469.333q52.992 0 90.496 37.504t37.504 90.496q0 52.9919 -37.504 90.496q-37.504 37.504 -90.496 37.504t-90.496 -37.504t-37.504 -90.496q0 -52.992 37.504 -90.496t90.496 -37.504zM755.499 456.832 q-12.4008 11.977 -29.6411 11.977q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -17.2403 11.977 -29.641l85.3333 -85.3333q12.4959 -12.4922 30.1653 -12.4922q17.6693 0 30.1653 12.4922l170.667 170.667q13.0256 12.5806 13.0256 30.6896 q0 17.664 -12.5013 30.1653t-30.1653 12.5013q-18.1089 0 -30.6897 -13.0256l-140.501 -140.501z" /> <glyph glyph-name="user-minus" unicode="" d="M725.333 0v85.3333q0 88.32 -62.5067 150.827q-62.5067 62.507 -150.827 62.5066h-298.667q-88.32 0 -150.827 -62.5067q-62.5067 -62.5067 -62.5067 -150.827v-85.3333q0.00270382 -17.6613 12.504 -30.1607q12.5013 -12.4994 30.1626 -12.4994 q17.6613 0 30.1626 12.4994t12.504 30.1607v85.3333q0 52.992 37.504 90.496t90.496 37.504h298.667q52.9919 0 90.496 -37.504t37.504 -90.496v-85.3333q0.00268555 -17.6613 12.504 -30.1607q12.5014 -12.4994 30.1627 -12.4994t30.1627 12.4994 q12.5013 12.4994 12.504 30.1607v2.00117e-05zM362.667 384q-88.32 0 -150.827 62.5067q-62.5067 62.5067 -62.5067 150.827q0 88.3201 62.5066 150.827q62.5067 62.5067 150.827 62.5067q88.32 0 150.827 -62.5067q62.5067 -62.5067 62.5067 -150.827t-62.5067 -150.827 q-62.5067 -62.5067 -150.827 -62.5067zM362.667 469.333q52.992 0 90.496 37.504t37.504 90.496q0 52.9919 -37.504 90.496q-37.504 37.504 -90.496 37.504t-90.496 -37.504t-37.504 -90.496q0 -52.992 37.504 -90.496t90.496 -37.504zM981.333 469.333h-256 q-17.6612 -0.00265503 -30.1607 -12.504q-12.4995 -12.5014 -12.4995 -30.1627t12.4995 -30.1627t30.1607 -12.504h256q17.6613 0.00271606 30.1607 12.5041q12.4995 12.5013 12.4995 30.1626t-12.4995 30.1626q-12.4994 12.5014 -30.1607 12.5041z" /> <glyph glyph-name="user-plus" unicode="" d="M725.333 0v85.3333q0 88.32 -62.5067 150.827q-62.5067 62.507 -150.827 62.5066h-298.667q-88.32 0 -150.827 -62.5067q-62.5067 -62.5067 -62.5067 -150.827v-85.3333q0.00270382 -17.6613 12.504 -30.1607q12.5013 -12.4994 30.1626 -12.4994 q17.6613 0 30.1626 12.4994t12.504 30.1607v85.3333q0 52.992 37.504 90.496t90.496 37.504h298.667q52.9919 0 90.496 -37.504t37.504 -90.496v-85.3333q0.00268555 -17.6613 12.504 -30.1607q12.5014 -12.4994 30.1627 -12.4994t30.1627 12.4994 q12.5013 12.4994 12.504 30.1607v2.00117e-05zM362.667 384q-88.32 0 -150.827 62.5067q-62.5067 62.5067 -62.5067 150.827q0 88.3201 62.5066 150.827q62.5067 62.5067 150.827 62.5067q88.32 0 150.827 -62.5067q62.5067 -62.5067 62.5067 -150.827t-62.5067 -150.827 q-62.5067 -62.5067 -150.827 -62.5067zM362.667 469.333q52.992 0 90.496 37.504t37.504 90.496q0 52.9919 -37.504 90.496q-37.504 37.504 -90.496 37.504t-90.496 -37.504t-37.504 -90.496q0 -52.992 37.504 -90.496t90.496 -37.504zM810.667 554.667v-256 q0.00268555 -17.6613 12.504 -30.1607q12.5013 -12.4994 30.1627 -12.4994q17.6613 0 30.1627 12.4994q12.5013 12.4995 12.504 30.1607v256q-0.00274658 17.6613 -12.5041 30.1607q-12.5013 12.4995 -30.1626 12.4995t-30.1625 -12.4995 q-12.5013 -12.4995 -12.5043 -30.1607zM981.333 469.333h-256q-17.6612 -0.00265503 -30.1607 -12.504q-12.4995 -12.5014 -12.4995 -30.1627t12.4995 -30.1627t30.1607 -12.504h256q17.6613 0.00271606 30.1607 12.5041q12.4995 12.5013 12.4995 30.1626t-12.4995 30.1626 q-12.4994 12.5014 -30.1607 12.5041z" /> <glyph glyph-name="user-x" unicode="" d="M725.333 0v85.3333q0 88.32 -62.5067 150.827q-62.5067 62.507 -150.827 62.5066h-298.667q-88.32 0 -150.827 -62.5067q-62.5067 -62.5067 -62.5067 -150.827v-85.3333q0.00270382 -17.6613 12.504 -30.1607q12.5013 -12.4994 30.1626 -12.4994 q17.6613 0 30.1626 12.4994t12.504 30.1607v85.3333q0 52.992 37.504 90.496t90.496 37.504h298.667q52.9919 0 90.496 -37.504t37.504 -90.496v-85.3333q0.00268555 -17.6613 12.504 -30.1607q12.5014 -12.4994 30.1627 -12.4994t30.1627 12.4994 q12.5013 12.4994 12.504 30.1607v2.00117e-05zM362.667 384q-88.32 0 -150.827 62.5067q-62.5067 62.5067 -62.5067 150.827q0 88.3201 62.5066 150.827q62.5067 62.5067 150.827 62.5067q88.32 0 150.827 -62.5067q62.5067 -62.5067 62.5067 -150.827t-62.5067 -150.827 q-62.5067 -62.5067 -150.827 -62.5067zM362.667 469.333q52.992 0 90.496 37.504t37.504 90.496q0 52.9919 -37.504 90.496q-37.504 37.504 -90.496 37.504t-90.496 -37.504t-37.504 -90.496q0 -52.992 37.504 -90.496t90.496 -37.504zM737.835 524.501l213.333 -213.333 q12.4007 -11.977 29.6411 -11.977q17.664 0 30.1653 12.5013t12.5013 30.1653q0 17.2403 -11.977 29.641l-213.333 213.333q-12.4007 11.977 -29.641 11.977q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -17.2404 11.9769 -29.6411zM951.168 584.832 l-213.333 -213.333q-11.977 -12.4007 -11.977 -29.641q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.2403 0 29.6411 11.977l213.333 213.333q13.0256 12.5806 13.0256 30.6896q0 17.6639 -12.5013 30.1653t-30.1653 12.5014q-18.109 0 -30.6897 -13.0256z" /> <glyph glyph-name="user" unicode="" d="M896 0v85.3333q0 88.32 -62.5067 150.827q-62.5067 62.507 -150.827 62.5067h-341.333q-88.32 0 -150.827 -62.5067q-62.5067 -62.5067 -62.5067 -150.827v-85.3333q0.00271606 -17.6613 12.504 -30.1607q12.5013 -12.4994 30.1626 -12.4994t30.1626 12.4994 q12.5013 12.4994 12.504 30.1607v85.3333q0 52.992 37.504 90.496q37.504 37.504 90.496 37.504h341.333q52.992 0 90.496 -37.504q37.504 -37.504 37.504 -90.496v-85.3333q0.00268555 -17.6613 12.5041 -30.1607q12.5013 -12.4994 30.1626 -12.4994t30.1626 12.4994 t12.504 30.1607zM512 384q-88.32 0 -150.827 62.5067q-62.5067 62.5067 -62.5067 150.827q0 88.32 62.5067 150.827q62.5067 62.5067 150.827 62.5067q88.3203 0 150.827 -62.5067t62.5067 -150.827t-62.5067 -150.827q-62.5066 -62.5067 -150.827 -62.5067zM512 469.333 q52.992 0 90.496 37.504q37.504 37.504 37.504 90.496q0 52.9919 -37.504 90.496t-90.496 37.504q-52.992 0 -90.496 -37.504t-37.504 -90.496q0 -52.992 37.504 -90.496t90.496 -37.504z" /> <glyph glyph-name="users" unicode="" d="M768 0v85.3333q0 88.32 -62.5067 150.827q-62.5067 62.5067 -150.827 62.5067h-341.333q-88.32 0 -150.827 -62.5067q-62.5067 -62.5067 -62.5067 -150.827v-85.3333q0.00270382 -17.6613 12.504 -30.1607q12.5013 -12.4994 30.1626 -12.4994q17.6613 0 30.1626 12.4994 t12.504 30.1607v85.3333q0 52.992 37.504 90.496t90.496 37.504h341.333q52.992 0 90.496 -37.504q37.504 -37.504 37.504 -90.496v-85.3333q0.00268555 -17.6613 12.504 -30.1607q12.5013 -12.4994 30.1627 -12.4994q17.6613 0 30.1626 12.4994t12.504 30.1607zM384 384 q-88.32 0 -150.827 62.5067q-62.5067 62.5067 -62.5067 150.827q0 88.3201 62.5067 150.827q62.5067 62.5067 150.827 62.5067t150.827 -62.5067q62.5067 -62.5067 62.5067 -150.827t-62.5067 -150.827q-62.5067 -62.5067 -150.827 -62.5067zM384 469.333 q52.992 0 90.496 37.504t37.504 90.496q0 52.9919 -37.504 90.496q-37.504 37.504 -90.496 37.504t-90.496 -37.504t-37.504 -90.496q0 -52.992 37.504 -90.496t90.496 -37.504zM1024 0v85.3333q-0.0440674 68.3667 -46.9241 128.848q-46.8801 60.4815 -113.076 77.5732 q-5.67346 1.59811 -11.568 1.59811q-17.6639 0 -30.1653 -12.5013q-12.5013 -12.5014 -12.5013 -30.1653q0 -13.9926 9.64008 -26.162t23.2612 -15.3721q39.7202 -10.2557 67.8482 -46.5471t28.1518 -77.3142v-85.2907q0.00268555 -17.6613 12.504 -30.1607 q12.5013 -12.4994 30.1627 -12.4994q17.6613 0 30.1626 12.4994t12.504 30.1607v9.13971e-05zM672.085 721.109q39.8307 -10.2125 68.02 -46.5413q28.1893 -36.3289 28.1893 -77.448t-28.1893 -77.4479q-28.1893 -36.3289 -68.02 -46.5414 q-13.2874 -3.40067 -22.6913 -15.5145t-9.40393 -25.8295q0 -17.6681 12.5043 -30.1723q12.5043 -12.5043 30.1724 -12.5043q5.37457 0 10.5813 1.33261q66.4304 16.9946 113.445 77.5511t47.0148 129.126q0 68.5697 -47.0148 129.126q-47.0148 60.5566 -113.445 77.5511 q-5.20667 1.33258 -10.5814 1.33258q-17.6682 0 -30.1724 -12.5042t-12.5042 -30.1724q0 -13.7157 9.40393 -25.8295q9.40393 -12.1138 22.6913 -15.514z" /> <glyph glyph-name="video-off" unicode="" d="M640.197 213.158v-42.6448q0 -17.6549 -12.4949 -30.1499t-30.1498 -12.4949h-469.093q-17.6549 0 -30.1499 12.4949q-12.4949 12.4949 -12.4949 30.1499v426.448q0 17.6549 12.4949 30.1498t30.1499 12.4949h85.2896q17.6549 0 30.1499 12.4949 q12.4949 12.4949 12.4949 30.1498t-12.4949 30.1498q-12.4949 12.495 -30.1499 12.495h-85.2896q-52.9649 0 -90.4496 -37.4847q-37.4848 -37.4848 -37.4848 -90.4496v-426.448q0 -52.9648 37.4848 -90.4496q37.4848 -37.4848 90.4496 -37.4848h469.093v0 q52.9649 0 90.4496 37.4848q37.4847 37.4848 37.4847 90.4496v42.6448q0 17.6549 -12.4949 30.1499q-12.4949 12.4949 -30.1498 12.4949t-30.1499 -12.4949q-12.4949 -12.4949 -12.4951 -30.1497zM956.366 631.504l-255.869 -185.078l55.1397 -4.39243l-42.6448 42.6448 l12.4949 -30.1499v142.434q0 52.9649 -37.4847 90.4496t-90.4496 37.4847h-142.434q-17.6549 0 -30.1499 -12.4949q-12.4949 -12.4949 -12.4949 -30.1499t12.4949 -30.1499t30.1499 -12.4949h142.434v0q17.6549 0 30.1498 -12.4949t12.4949 -30.1498v-142.434 q0.00366211 -17.6625 12.4949 -30.1499l42.6448 -42.6448q12.4893 -12.4834 30.1475 -12.4834q13.8057 0 24.9922 8.09097l188.234 136.122v-342.949q0 -17.6549 12.4949 -30.1499q12.4949 -12.4949 30.1499 -12.4949q17.6549 0 30.1498 12.4949t12.4949 30.1499v426.448 q-0.00543213 17.6494 -12.5004 30.1404q-12.4949 12.4911 -30.1444 12.4911q-13.8042 0 -24.9891 -8.0899zM13.0202 822.68l938.185 -938.185q12.3944 -11.9709 29.6259 -11.9709q17.6549 0 30.1498 12.4949t12.4949 30.1499q0 17.2314 -11.9709 29.6259l-938.185 938.185 q-12.5741 13.0188 -30.6737 13.0188q-17.655 0 -30.1499 -12.4949t-12.4949 -30.1499q0 -18.0996 13.0188 -30.6738z" /> <glyph glyph-name="video" unicode="" d="M956.544 632.064q11.123 7.94012 24.7893 7.94012q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-0.00415039v-426.667v-0.00411987q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013q-13.6663 0 -24.7893 7.94012l-298.667 213.333q-17.8831 12.7613 -17.8831 34.7307 q0 21.9694 17.8831 34.7307zM756.054 384l182.613 -130.432v260.864zM85.3338 597.077v-426.155l-0.00137329 -0.342102q0 -17.5236 12.4017 -29.9997q12.4017 -12.4761 29.925 -12.5809h470.016q17.523 0.139877 29.9246 12.6408q12.4016 12.5009 12.4016 30.0245 l-0.000793457 0.257355v426.155l0.00140381 0.342102q0 17.5236 -12.4017 29.9996q-12.4017 12.4761 -29.925 12.5809h-470.016q-17.523 -0.139832 -29.9245 -12.6407q-12.4016 -12.501 -12.4016 -30.0245zM0.000430123 597.077l-0.000256913 0.25647 q0 52.851 37.4041 90.3549q37.4041 37.5038 90.2549 37.6446h470.016q52.8509 -0.105591 90.255 -37.5845t37.4041 -90.3299l-0.000488281 -0.341553v-426.155l0.000244141 -0.256454q0 -52.851 -37.4041 -90.3548q-37.4041 -37.5039 -90.2548 -37.6447h-470.016 q-52.8509 0.105579 -90.255 37.5845q-37.4041 37.4789 -37.4041 90.3299l0.000456094 0.341583v426.155h3.12258e-06z" /> <glyph glyph-name="voicemail" unicode="" d="M608.307 256q-22.21 26.9225 -37.9286 70.6772q-15.7187 43.7547 -15.7187 78.6561q0 97.152 68.7573 165.909t165.909 68.7573t165.909 -68.7573q68.7573 -68.7573 68.7573 -165.909q0 -97.1457 -68.7529 -165.903q-68.7528 -68.7573 -165.898 -68.7637h-554.667 q-97.1457 0.00636292 -165.898 68.7637q-68.7528 68.7573 -68.7528 165.903q0 97.152 68.7573 165.909q68.7573 68.757 165.909 68.7573q97.152 0 165.909 -68.7573q68.7573 -68.7574 68.7573 -165.909q0 -34.9015 -15.7187 -78.6561t-37.9287 -70.6772zM234.675 256 q61.824 0 105.579 43.7547t43.7547 105.579t-43.7547 105.579t-105.579 43.7547t-105.579 -43.7547q-43.7547 -43.7547 -43.7547 -105.579q0 -61.824 43.7547 -105.579q43.7547 -43.7547 105.579 -43.7547zM789.341 256q61.824 0 105.579 43.7546 q43.7546 43.7547 43.7546 105.579t-43.7546 105.579q-43.7546 43.7546 -105.579 43.7546t-105.579 -43.7546q-43.7546 -43.7547 -43.7546 -105.579q0 -61.824 43.7546 -105.579q43.7546 -43.7547 105.579 -43.7546z" /> <glyph glyph-name="volume-x" unicode="" d="M442.667 715.947q11.6907 9.36005 26.6667 9.36005q17.653 0 30.1543 -12.4935q12.5013 -12.4935 12.5124 -30.1465v-597.333q-0.0110168 -17.6529 -12.5124 -30.1465q-12.5013 -12.4935 -30.1543 -12.4935q-14.976 0 -26.6667 9.36002l-201.6 161.28h-155.733 q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653v256q0 17.664 12.5013 30.1653q12.5013 12.5013 30.1653 12.5013h155.733zM282.667 478.72q-11.6854 -9.375 -26.6667 -9.38666h-128v-170.667h128q14.9812 -0.0116577 26.6667 -9.38666l144 -115.2v419.84z M951.168 542.165l-256 -256q-11.977 -12.4007 -11.977 -29.641q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.2404 0 29.6411 11.977l256 256q13.0257 12.5805 13.0257 30.6896q0 17.664 -12.5013 30.1653t-30.1653 12.5013q-18.1089 0 -30.6898 -13.0256z M695.168 481.835l256 -256q12.4008 -11.977 29.641 -11.977q17.664 0 30.1653 12.5013t12.5013 30.1653q0 17.2404 -11.977 29.641l-256 256q-12.4007 11.977 -29.641 11.977q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -17.2403 11.977 -29.641z" /> <glyph glyph-name="volume-" unicode="" d="M528 715.947q11.6907 9.36005 26.6667 9.36005q17.653 0 30.1544 -12.4935q12.5013 -12.4935 12.5123 -30.1465v-597.333q-0.0109863 -17.653 -12.5123 -30.1465t-30.1544 -12.4935q-14.976 0 -26.6666 9.36002l-201.6 161.28h-155.733q-17.664 0 -30.1653 12.5013 t-12.5013 30.1653v256q0 17.664 12.5013 30.1653t30.1653 12.5013h155.733zM368 478.72q-11.6854 -9.375 -26.6667 -9.38666h-128v-170.667h128q14.9812 -0.0116577 26.6667 -9.38666l144 -115.2v419.84zM718.208 504.875q20.6871 -20.6934 35.328 -56.0471 q14.6409 -35.3538 14.6409 -64.6142t-14.6409 -64.6142t-35.328 -56.0471q-13.0256 -12.5806 -13.0256 -30.6896q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q18.1091 0 30.6896 13.0256q31.0308 31.0401 52.9921 84.0707q21.9612 53.0306 21.9612 96.9213 t-21.9613 96.9213q-21.9613 53.0306 -52.992 84.0707q-12.5805 13.0256 -30.6896 13.0256q-17.6639 0 -30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653q0 -18.109 13.0256 -30.6898z" /> <glyph glyph-name="volume-1" unicode="" d="M442.667 715.947q11.6907 9.36005 26.6667 9.36005q17.653 0 30.1543 -12.4935q12.5013 -12.4935 12.5124 -30.1465v-597.333q-0.0110168 -17.6529 -12.5124 -30.1465q-12.5013 -12.4935 -30.1543 -12.4935q-14.976 0 -26.6667 9.36002l-201.6 161.28h-155.733 q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653v256q0 17.664 12.5013 30.1653q12.5013 12.5013 30.1653 12.5013h155.733zM282.667 478.72q-11.6854 -9.375 -26.6667 -9.38666h-128v-170.667h128q14.9812 -0.0116577 26.6667 -9.38666l144 -115.2v419.84z M783.488 655.488q46.546 -46.5601 79.488 -126.106q32.942 -79.546 32.942 -145.382q0 -65.8359 -32.942 -145.382q-32.942 -79.546 -79.488 -126.106q-13.0256 -12.5806 -13.0256 -30.6896q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q18.1091 0 30.6896 13.0256 q90.1147 90.1356 122.14 210.977q32.0258 120.842 0 241.683q-32.0259 120.842 -122.14 210.977q-12.5805 13.0256 -30.6896 13.0256q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -18.109 13.0256 -30.6894zM632.875 504.875q20.6871 -20.6934 35.328 -56.0471 t14.6409 -64.6142q0 -29.2604 -14.6409 -64.6142t-35.328 -56.0471q-13.0256 -12.5806 -13.0256 -30.6897q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q18.109 0 30.6897 13.0257q31.0307 31.0401 52.992 84.0707t21.9613 96.9213t-21.9614 96.9213 q-21.9613 53.0306 -52.9919 84.0707q-12.5806 13.0256 -30.6896 13.0256q-17.6639 0 -30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653q0 -18.109 13.0255 -30.6898z" /> <glyph glyph-name="volume" unicode="" d="M656 715.947q11.6907 9.36005 26.6667 9.36005q17.653 0 30.1542 -12.4935t12.5124 -30.1465v-597.333q-0.0111084 -17.653 -12.5125 -30.1465t-30.1542 -12.4935q-14.9759 0 -26.6666 9.36002l-201.6 161.28h-155.733q-17.664 0 -30.1653 12.5013t-12.5013 30.1653v256 q0 17.664 12.5013 30.1653t30.1653 12.5013h155.733zM496 478.72q-11.6854 -9.375 -26.6667 -9.38666h-128v-170.667h128q14.9812 -0.0116577 26.6667 -9.38666l144 -115.2v419.84z" /> <glyph glyph-name="watch" unicode="" d="M512 42.6672q-92.6716 0 -171.306 45.6959q-78.6346 45.6959 -124.331 124.33q-45.6958 78.6346 -45.6958 171.306t45.6958 171.306t124.331 124.331q78.6347 45.6959 171.306 45.6959q92.6716 0 171.306 -45.6958q78.6346 -45.6959 124.331 -124.331 q45.6959 -78.6346 45.6959 -171.306q0 -92.6716 -45.6959 -171.306q-45.6959 -78.6347 -124.33 -124.331q-78.6346 -45.6959 -171.306 -45.6958zM512 128h0.0159912q105.984 0 180.992 75.0078q75.0078 75.0078 75.0078 180.992t-75.0079 180.992 q-75.0078 75.0078 -180.992 75.0078h-0.0159912q-105.977 -0.00665283 -180.98 -75.0145q-75.0032 -75.0078 -75.0032 -180.985q0 -105.977 75.0032 -180.985q75.0032 -75.0079 180.98 -75.0151zM554.667 512v-110.336l51.4985 -51.4986q11.977 -12.4006 11.977 -29.641 q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013q-17.2402 0 -29.641 11.977l-63.9999 63.9999q-12.4975 12.4938 -12.5012 30.1653v128q0 17.6639 12.5013 30.1653q12.5013 12.5013 30.1653 12.5013t30.1653 -12.5013t12.5013 -30.1653zM661.93 159.616 q1.46722 16.0592 13.9185 27.4247t28.5774 11.3655q17.6666 0 30.1697 -12.5032t12.5032 -30.1698q0 -1.94559 -0.177002 -3.88266l-14.9333 -163.37q-4.34271 -48.2229 -41.683 -82.3516q-37.3403 -34.1287 -85.7584 -34.1287l-0.387756 0.000587463h-184.576 l-0.523224 -0.00106812q-48.4033 0 -85.7538 34.1164q-37.3506 34.1164 -41.7227 82.3218l-14.9333 163.413q-0.177002 1.93716 -0.177002 3.88266q0 17.6666 12.5032 30.1698t30.1697 12.5032q16.1261 0 28.5774 -11.3655t13.9185 -27.4247l14.9333 -163.456 q1.50522 -16.5572 13.8099 -27.7239q12.3047 -11.1667 29.0273 -11.1027h184.917l0.169312 -0.000335693q16.1561 0 28.6078 11.3888t13.8894 27.4808zM362.07 608.383q-1.46725 -16.0593 -13.9185 -27.4248q-12.4513 -11.3655 -28.5774 -11.3655 q-17.6666 0 -30.1697 12.5032t-12.5032 30.1697q0 1.94562 0.177002 3.88269l14.9333 163.37q4.35504 48.1932 41.6839 82.3218q37.3289 34.1287 85.7185 34.158h185.429l0.523193 0.00109863q48.4032 0 85.7538 -34.1164q37.3506 -34.1165 41.7227 -82.3218 l14.9333 -163.413q0.177002 -1.93677 0.177002 -3.88263q0 -17.6666 -12.5032 -30.1697t-30.1697 -12.5032q-16.1261 0 -28.5774 11.3655t-13.9185 27.4247l-14.9333 163.456q-1.46704 16.0747 -13.929 27.4511q-12.462 11.3765 -28.6035 11.3765l-0.30481 -0.0010376 h-185.6q-16.123 -0.0327148 -28.5494 -11.4214q-12.4263 -11.3887 -13.8612 -27.4478z" /> <glyph glyph-name="wifi" unicode="" d="M240.64 327.765q49.1211 40.9142 129.13 69.8705q80.0085 28.9562 143.937 28.9562t143.937 -28.9562q80.0085 -28.9562 129.13 -69.8705q11.6492 -9.2431 26.52 -9.2431q17.6639 0 30.1653 12.5013t12.5013 30.1653q0 19.363 -14.5733 32.1125 q-58.9453 49.0972 -154.956 83.8446q-96.0102 34.7474 -172.724 34.7474q-76.7142 0 -172.724 -34.7474q-96.0102 -34.7475 -154.956 -83.8446q-16.1467 -12.8116 -16.1467 -33.4236q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q16.0292 0 28.0928 10.5542zM88.4053 480 q75.1151 66.2622 199.166 113.158q124.051 46.8958 224.215 46.8958q100.165 0 224.216 -46.8958q124.051 -46.8958 199.166 -113.158q12.1027 -10.6825 28.2454 -10.6825q17.6705 0 30.1765 12.506t12.506 30.1765q0 19.2568 -14.4372 32 q-135.205 119.259 -307.539 161.252q-172.333 41.9923 -344.667 -6.10352e-05q-172.333 -41.9924 -307.539 -161.252q-14.4372 -12.7432 -14.4372 -32q0 -17.6706 12.506 -30.1765q12.506 -12.506 30.1766 -12.506q16.1428 0 28.2459 10.6825zM388.224 173.867 q22.9733 16.3228 59.1771 27.8749q36.2039 11.5522 64.3855 11.5522q28.1817 0 64.3856 -11.5521t59.1771 -27.875q10.8285 -7.3223 23.9002 -7.3223q17.664 0 30.1653 12.5013t12.5013 30.1653q0 21.4053 -17.1589 34.2023q-32.1603 22.847 -82.8407 39.0164 t-90.13 16.1694t-90.13 -16.1694q-50.6804 -16.1694 -82.8407 -39.0164q-17.1589 -12.7969 -17.1589 -34.2023q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q13.0718 0 23.9005 7.32231zM512 42.6667zM469.333 42.6667q0 -17.664 12.5013 -30.1653 q12.5013 -12.5013 30.1653 -12.5013t30.1653 12.5013q12.5013 12.5013 12.5013 30.1653q0 17.664 -12.5013 30.1653q-12.5013 12.5013 -30.1654 12.5013q-17.664 0 -30.1653 -12.5013q-12.5013 -12.5013 -12.5012 -30.1653z" /> <glyph glyph-name="x-square" unicode="" d="M170.667 682.88v-597.76q0 -17.6 12.4267 -30.0267t30.0267 -12.4267h597.76q17.6 0 30.0267 12.4267q12.4266 12.4267 12.4266 30.0267v597.76q0 17.5756 -12.4388 30.0145t-30.0145 12.4388h-597.76q-17.5757 0 -30.0145 -12.4388t-12.4389 -30.0145zM85.3333 682.88 q0 52.9037 37.4415 90.3452t90.3452 37.4415h597.76q52.9037 0 90.3452 -37.4415t37.4415 -90.3452v-597.76v0q0 -52.9037 -37.4415 -90.3452t-90.3452 -37.4415h-597.76q-52.9037 3.8147e-06 -90.3452 37.4415t-37.4415 90.3452zM353.835 481.835l256 -256 q12.4008 -11.977 29.641 -11.977q17.664 0 30.1653 12.5013t12.5013 30.1653q0 17.2403 -11.977 29.641l-256 256q-12.4007 11.977 -29.641 11.977q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -17.2403 11.9771 -29.641zM609.835 542.165l-256 -256 q-11.977 -12.4007 -11.977 -29.641q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.2402 0 29.641 11.977l256 256q13.0256 12.5806 13.0256 30.6896q0 17.664 -12.5013 30.1653t-30.1653 12.5013q-18.109 0 -30.6896 -13.0256z" /> <glyph glyph-name="wind" unicode="" d="M439.467 670.08q12.5118 12.5858 30.2587 12.5858q17.664 0 30.1653 -12.5013t12.5013 -30.1653t-12.5013 -30.1653t-30.1653 -12.5013l-0.264038 0.000793457h-384.128h-0.00653076q-17.664 0 -30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653t12.5013 -30.1653 q12.5013 -12.5013 30.1653 -12.5013h0.00653076h384l0.528503 -0.00109863q52.9744 0 90.4659 37.4915q37.4915 37.4915 37.4915 90.4659q0 30.6512 -18.8068 63.155q-18.8068 32.5038 -45.3804 47.7794q-29.6764 17.109 -63.9311 17.109q-22.0423 0 -48.6404 -11.0636 q-26.598 -11.0635 -42.1378 -26.6961q-11.9001 -12.3854 -11.9001 -29.5612q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.3163 0 29.7348 12.0679zM506.88 37.76q15.5399 -15.6323 42.1378 -26.6958t48.64 -11.0635q52.9921 0 90.496 37.504 q37.5038 37.504 37.504 90.496t-37.504 90.496q-37.504 37.504 -90.496 37.504l-0.452454 -0.000793457h-511.872q-17.6613 -0.00271606 -30.1607 -12.504q-12.4994 -12.5013 -12.4994 -30.1626t12.4994 -30.1626t30.1607 -12.504h512l0.181519 0.00038147 q17.6816 0 30.1955 -12.5138q12.5138 -12.5138 12.5138 -30.1955q0 -10.1644 -6.21631 -20.9782t-14.9998 -15.9289q-9.89893 -5.7134 -21.3284 -5.7134q-17.7443 0 -30.2556 12.5827q-12.592 13.1055 -30.7665 13.1055q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653 q0 -18.0321 12.9319 -30.5988zM786.603 535.979q18.7354 18.6879 45.1974 18.6879q26.496 0 45.248 -18.752t18.752 -45.248q0 -26.4486 -18.7184 -45.2006q-18.7185 -18.752 -45.167 -18.7993h-746.581q-17.664 0 -30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653 t12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013h746.667q61.7488 0.0751038 105.45 43.8298q43.7014 43.7546 43.7014 105.503q0 61.824 -43.7546 105.579q-43.7547 43.7546 -105.579 43.7546q-25.5625 0 -56.4626 -12.7764t-48.9984 -30.8289 q-13.0673 -12.5867 -13.0673 -30.7298q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q18.072 0 30.6459 12.9805z" /> <glyph glyph-name="x" unicode="" d="M737.835 670.165l-512 -512q-11.977 -12.4007 -11.977 -29.641q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.2402 0 29.641 11.977l512 512q13.0256 12.5806 13.0256 30.6896q0 17.6639 -12.5013 30.1653t-30.1653 12.5014q-18.109 0 -30.6896 -13.0256z M225.835 609.835l512 -512q12.4008 -11.977 29.641 -11.977q17.664 0 30.1653 12.5013t12.5013 30.1653q0 17.2403 -11.977 29.641l-512 512q-12.4008 11.977 -29.641 11.977q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -17.2403 11.977 -29.6411z" /> <glyph glyph-name="x-circle" unicode="" d="M512 -85.3333q-95.4834 0 -182.397 37.1694t-149.756 100.011t-100.011 149.756q-37.1694 86.9139 -37.1694 182.397q0 95.4834 37.1694 182.397q37.1694 86.9138 100.011 149.755q62.8417 62.8417 149.756 100.011q86.9138 37.1694 182.397 37.1694 q95.4833 0 182.397 -37.1694t149.756 -100.011q62.8417 -62.8417 100.011 -149.755t37.1694 -182.397q0 -95.4833 -37.1694 -182.397t-100.011 -149.756q-62.8417 -62.8417 -149.755 -100.011q-86.9138 -37.1694 -182.398 -37.1694zM512 -2.87646e-06 q104.256 0 192.72 51.408q88.4642 51.408 139.872 139.872q51.408 88.4641 51.408 192.72q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5q0 -104.256 51.4079 -192.72q51.4079 -88.4642 139.872 -139.872t192.72 -51.408zM609.835 542.165l-256 -256 q-11.977 -12.4007 -11.977 -29.641q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.2402 0 29.641 11.977l256 256q13.0256 12.5806 13.0256 30.6896q0 17.664 -12.5013 30.1653t-30.1653 12.5013q-18.109 0 -30.6896 -13.0256zM353.835 481.835l256 -256 q12.4008 -11.977 29.641 -11.977q17.664 0 30.1653 12.5013t12.5013 30.1653q0 17.2403 -11.977 29.641l-256 256q-12.4007 11.977 -29.641 11.977q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -17.2403 11.9771 -29.641z" /> <glyph glyph-name="zap" unicode="" d="M128 256q-17.6574 0.0065918 -30.154 12.5079t-12.4966 30.1587q0 15.4417 9.88268 27.3067l426.667 512q15.0868 14.8414 32.7617 15.4896t31.2731 -13.5712t11.0586 -34.5157l-36.6934 -293.376h335.701q17.6575 -0.0065918 30.1541 -12.5079 q12.4966 -12.5013 12.4966 -30.1587q0 -15.4417 -9.88269 -27.3067l-426.667 -512q-15.0868 -14.8414 -32.7617 -15.4896t-31.2731 13.5712q-13.5982 14.2193 -11.0586 34.5158l36.6933 293.376zM219.093 341.333h292.907q17.6589 -0.00497437 30.1567 -12.5063 q12.4979 -12.5013 12.4979 -30.1603q0 -2.65552 -0.329285 -5.29068l-24.6187 -196.949l275.2 330.24h-292.907q-17.659 0.00497437 -30.1568 12.5063t-12.4978 30.1604q0 2.65552 0.329285 5.29068l24.6187 196.949z" /> <glyph glyph-name="zoom-in" unicode="" d="M469.333 42.6667q-104.247 0.00901794 -192.703 51.4202q-88.4565 51.4111 -139.86 139.872q-51.4035 88.461 -51.4035 192.708q0 104.256 51.4079 192.72q51.4079 88.4641 139.872 139.872q88.4641 51.4079 192.72 51.408q104.256 0 192.72 -51.4079 q88.4641 -51.408 139.872 -139.872t51.408 -192.72q0 -55.7117 -24.6123 -125.944t-59.3889 -113.757l156.8 -156.8q11.977 -12.4007 11.977 -29.641q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013q-17.2403 0 -29.6411 11.977l-156.8 156.8 q-43.3876 -34.7629 -113.441 -59.3657q-70.0538 -24.6028 -125.65 -24.6028zM469.333 128h0.0172729q123.648 0 211.157 87.5093t87.5093 211.157q0.000305176 123.648 -87.5093 211.157t-211.157 87.5093h-0.0172729q-123.641 -0.00714111 -211.145 -87.5165 q-87.5043 -87.5093 -87.5043 -211.15t87.5043 -211.15q87.5043 -87.5094 211.145 -87.5161zM426.667 554.667v-256q0.00274658 -17.6613 12.5041 -30.1607q12.5013 -12.4994 30.1626 -12.4994t30.1627 12.4994q12.5013 12.4994 12.504 30.1607v256 q-0.00268555 17.6613 -12.504 30.1607q-12.5014 12.4995 -30.1626 12.4995q-17.6613 0 -30.1626 -12.4995q-12.5013 -12.4994 -12.5042 -30.1607zM341.333 384h256q17.6613 0.00271606 30.1607 12.5041t12.4995 30.1626t-12.4994 30.1626q-12.4995 12.5014 -30.1608 12.5041 h-256q-17.6613 -0.00265503 -30.1607 -12.504q-12.4994 -12.5014 -12.4994 -30.1627t12.4994 -30.1627t30.1607 -12.504z" /> <glyph glyph-name="zoom-out" unicode="" d="M709.035 126.635q-43.5224 -34.7704 -113.75 -59.3784q-70.2271 -24.608 -125.933 -24.608q-104.256 0 -192.72 51.4079q-88.4642 51.4079 -139.872 139.872q-51.4078 88.4641 -51.408 192.72q0 104.256 51.408 192.72q51.408 88.4641 139.872 139.872 q88.4641 51.408 192.72 51.408t192.72 -51.408t139.872 -139.872q51.408 -88.4642 51.408 -192.72q0 -55.7062 -24.608 -125.933q-24.6081 -70.2271 -59.3784 -113.75l156.8 -156.8q11.977 -12.4007 11.977 -29.641q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013 q-17.2403 0 -29.6411 11.977zM469.333 128h0.0172729q123.648 0 211.157 87.5093t87.5093 211.157q0.000305176 123.648 -87.5093 211.157t-211.157 87.5093h-0.0172729q-123.641 -0.00714111 -211.145 -87.5165q-87.5043 -87.5093 -87.5043 -211.15t87.5043 -211.15 q87.5043 -87.5094 211.145 -87.5161zM341.333 384h256q17.6613 0.00271606 30.1607 12.5041t12.4995 30.1626t-12.4994 30.1626q-12.4995 12.5014 -30.1608 12.5041h-256q-17.6613 -0.00265503 -30.1607 -12.504q-12.4994 -12.5014 -12.4994 -30.1627t12.4994 -30.1627 t30.1607 -12.504z" /> <glyph glyph-name="command" unicode="" d="M597.333 213.333h-170.667v-85.3333q0 -70.656 -50.0053 -120.661t-120.661 -50.0053q-70.656 0 -120.661 50.0053q-50.0053 50.0053 -50.0053 120.661q0 70.656 50.0053 120.661q50.0053 50.0053 120.661 50.0053h85.3333v170.667h-85.3333v0 q-70.656 0 -120.661 50.0053q-50.005 50.0052 -50.0053 120.661q0 70.656 50.0053 120.661q50.0053 50.0053 120.661 50.0053q70.6557 0 120.661 -50.0054q50.0053 -50.0053 50.0053 -120.661v-85.3333h170.667v85.3333q0 70.6561 50.0053 120.661t120.661 50.0053 q70.656 0 120.661 -50.0053t50.0053 -120.661q0 -70.656 -50.0054 -120.661q-50.0053 -50.0053 -120.661 -50.0053h-85.3333v-170.667h85.3333v0q70.656 0 120.661 -50.0053q50.0053 -50.0053 50.0053 -120.661t-50.0053 -120.661q-50.0054 -50.0053 -120.661 -50.0053 q-70.6561 0 -120.661 50.0053q-50.0049 50.0053 -50.0053 120.661zM426.667 469.333v-170.667h170.667v170.667h-170.667zM341.333 554.667v85.3333q0 35.3281 -25.0027 60.3307q-25.0026 25.0026 -60.3307 25.0026q-35.328 0 -60.3307 -25.0026 q-25.0026 -25.0027 -25.0026 -60.3307t25.0026 -60.3307q25.0027 -25.0026 60.3307 -25.0026h85.3334zM341.333 213.333h-85.3333v0q-35.328 0 -60.3307 -25.0027t-25.0027 -60.3307t25.0027 -60.3307t60.3307 -25.0027q35.328 0 60.3307 25.0027 q25.0027 25.0027 25.0027 60.3307zM682.667 128q0 -35.328 25.0026 -60.3307q25.0027 -25.0027 60.3307 -25.0027t60.3307 25.0027t25.0027 60.3307t-25.0027 60.3307t-60.3307 25.0027h-85.3333v-85.3334zM768 554.667q35.3281 0 60.3307 25.0026t25.0026 60.3307 q0 35.328 -25.0026 60.3307q-25.0027 25.0027 -60.3307 25.0027t-60.3307 -25.0027q-25.0026 -25.0027 -25.0026 -60.3307v-85.3333h85.3333z" /> <glyph glyph-name="cloud" unicode="" horiz-adv-x="1044" d="M768.19 512h0.0159912q105.949 0 180.932 -74.983q74.983 -74.983 74.983 -180.932t-74.983 -180.932q-74.983 -74.983 -180.932 -74.983l-0.0159912 4.91738e-07h-383.872l-0.378265 -0.000186354q-104.233 0 -192.677 51.3965t-139.841 139.841 q-51.3965 88.4445 -51.3965 192.677q0 104.233 51.3965 192.677q51.3965 88.4445 139.841 139.841q88.4445 51.3965 192.677 51.3965q112.407 0 218.466 -75.0079q106.06 -75.0079 143.512 -180.992h22.1866zM768.19 426.709h-53.76q-13.679 0.00335693 -25.7803 9.37936 q-12.1014 9.37598 -15.5211 22.6206q-23.9426 92.7006 -108.647 158.308t-180.447 65.607q-123.613 0 -211.097 -87.4844q-87.4843 -87.4843 -87.4843 -211.097t87.4843 -211.097t211.097 -87.4843l0.241272 9.91821e-05h383.915q70.6382 0 120.631 49.9928 q49.9929 49.9929 49.9929 120.631t-49.9928 120.631q-49.9929 49.9928 -120.632 49.9928z" /> <glyph glyph-name="hash" unicode="" d="M170.667 469.333h682.667q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013h-682.667q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013zM170.667 213.333h682.667 q17.664 0 30.1653 12.5013t12.5013 30.1653q0 17.664 -12.5013 30.1653t-30.1653 12.5013h-682.667q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013zM384.256 772.693l-85.3333 -768 q-0.258911 -2.33969 -0.258911 -4.69333q0 -17.6652 12.5022 -30.1674q12.5022 -12.5022 30.1674 -12.5022q15.8181 0 28.2444 11.127q12.4263 11.127 14.1662 26.8492l85.3333 768q0.258911 2.33966 0.258911 4.69336q0 17.6652 -12.5022 30.1674t-30.1674 12.5022 q-15.8182 0 -28.2445 -11.127t-14.1661 -26.8492zM640.256 772.693l-85.3333 -768q-0.258911 -2.33936 -0.258911 -4.69333q0 -17.6652 12.5021 -30.1674q12.5022 -12.5022 30.1674 -12.5022q15.8181 0 28.2444 11.1271q12.4264 11.1271 14.1663 26.8492l85.3333 768 q0.258911 2.33917 0.258911 4.69336q0 17.6652 -12.5022 30.1674t-30.1674 12.5022q-15.8182 0 -28.2445 -11.127q-12.4263 -11.1271 -14.1661 -26.8493z" /> <glyph glyph-name="headphones" unicode="" d="M85.3333 213.333v170.667q0 115.907 57.0941 214.193q57.0941 98.2858 155.38 155.38q98.2857 57.0941 214.193 57.0941q115.907 0 214.193 -57.0941q98.2858 -57.0941 155.38 -155.38q57.0941 -98.2857 57.0941 -214.193v-298.667q0 -52.992 -37.504 -90.496 q-37.504 -37.504 -90.496 -37.504h-42.6667q-52.9919 0 -90.496 37.504q-37.5041 37.504 -37.504 90.496v128q0 52.992 37.504 90.496t90.496 37.504h85.3333v42.6667q0 92.6718 -45.696 171.307q-45.6959 78.6348 -124.331 124.331q-78.6348 45.6959 -171.307 45.6959 q-92.6718 0 -171.307 -45.6959q-78.6348 -45.6959 -124.331 -124.331q-45.696 -78.6349 -45.696 -171.307v-42.6667h85.3333q52.992 0 90.496 -37.504t37.504 -90.496v-128q0 -52.992 -37.504 -90.496q-37.504 -37.504 -90.496 -37.504h-42.6666q-52.992 0 -90.496 37.504 q-37.504 37.504 -37.504 90.496zM853.333 256h-85.3333q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653v-128q0 -17.664 12.5013 -30.1653t30.1653 -12.5013h42.6667q17.664 0 30.1653 12.5013q12.5013 12.5013 12.5013 30.1653zM170.667 256v-170.667 q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013h42.6667v0q17.664 0 30.1653 12.5013q12.5013 12.5013 12.5013 30.1653v128q0 17.664 -12.5013 30.1653t-30.1654 12.5013z" /> <glyph glyph-name="underline" unicode="" d="M213.333 768q0 17.664 12.5013 30.1653t30.1653 12.5013q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-298.667q0 -88.32 62.5067 -150.827q62.5067 -62.5067 150.827 -62.5067q88.3201 0 150.827 62.5067q62.5067 62.5067 62.5067 150.827v298.667 q0 17.664 12.5013 30.1653t30.1653 12.5013t30.1653 -12.5014q12.5013 -12.5013 12.5013 -30.1653v-298.667q0 -123.648 -87.5093 -211.157q-87.5093 -87.5093 -211.157 -87.5093q-123.648 0 -211.157 87.5093q-87.5093 87.5093 -87.5093 211.157zM170.667 -42.6667 q-17.664 0 -30.1653 12.5013t-12.5013 30.1653t12.5013 30.1653t30.1653 12.5013h682.667q17.664 0 30.1653 -12.5013t12.5013 -30.1653t-12.5013 -30.1653q-12.5014 -12.5013 -30.1653 -12.5013h-682.667z" /> <glyph glyph-name="italic" unicode="" d="M669.568 682.667h141.099q17.6613 0.00280762 30.1607 12.5041q12.4995 12.5013 12.4995 30.1626t-12.4995 30.1626t-30.1607 12.504h-384h-0.00653076q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -17.6641 12.5013 -30.1653t30.1653 -12.5013h0.00653076h151.765 l-224 -597.333h-141.099q-17.6613 -0.00270081 -30.1607 -12.504q-12.4994 -12.5013 -12.4994 -30.1626t12.4994 -30.1626q12.4994 -12.5013 30.1607 -12.504h384q17.6613 0.00270382 30.1607 12.504q12.4995 12.5013 12.4995 30.1626q0 17.6613 -12.4995 30.1626 q-12.4994 12.5013 -30.1607 12.504h-151.765z" /> <glyph glyph-name="bold" unicode="" d="M743.936 399.701q45.3396 -25.2567 77.4277 -79.8625t32.0881 -106.506q0 -88.32 -62.5067 -150.827q-62.5067 -62.5067 -150.827 -62.5067l-0.118469 3.29048e-05h-384q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653v682.667q0 17.664 12.5013 30.1653 t30.1653 12.5013h341.333q88.3137 -0.00628662 150.816 -62.5129q62.5021 -62.5067 62.5021 -150.82q0 -38.0234 -19.5475 -83.4282t-47.1671 -71.537zM298.667 682.667v-256h298.667q52.992 0 90.496 37.504q37.504 37.504 37.504 90.496q0 52.9921 -37.504 90.496 t-90.496 37.504h-298.667zM298.667 85.3334h341.333q52.9919 0 90.496 37.504q37.504 37.504 37.504 90.496t-37.504 90.496t-90.496 37.504h-341.333v-256z" /> <glyph glyph-name="crop" unicode="" d="M302.764 679.38l379.946 3.28534v0q52.9919 0 90.4958 -37.5039t37.5039 -90.4958v-383.999h170.666q17.6613 -0.00268555 30.1606 -12.504q12.4995 -12.5013 12.4995 -30.1626t-12.4994 -30.1626q-12.4993 -12.5013 -30.1606 -12.504h-170.666v-170.666 q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013q-17.6639 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653v170.666h-383.999q-53.0535 0 -90.5266 37.5508t-37.4731 90.833l3.28532 379.562l-173.568 -1.49335l-0.383999 -0.00170898q-17.6647 0 -30.1665 12.5018 q-12.5018 12.5018 -12.5018 30.1664q0 17.5064 12.3893 30.0077q12.3893 12.5013 29.895 12.6589l175.061 1.53601l1.53603 175.061q0.157562 17.5057 12.6589 29.895q12.5013 12.3893 30.0077 12.3893q17.6647 0 30.1665 -12.5018t12.5018 -30.1665l-0.00170898 -0.384033z M301.996 594.047l-3.28531 -380.714q0 -17.664 12.5013 -30.1653t30.1653 -12.5013h383.999v383.999q0 17.6341 -12.4385 30.1503q-12.4384 12.5162 -29.8441 12.5162z" /> <glyph glyph-name="help-circle" unicode="" d="M512 -85.3333q-95.4834 0 -182.397 37.1694t-149.756 100.011t-100.011 149.756q-37.1694 86.9139 -37.1694 182.397q0 95.4834 37.1694 182.397q37.1694 86.9138 100.011 149.755q62.8417 62.8417 149.756 100.011q86.9138 37.1694 182.397 37.1694 q95.4833 0 182.397 -37.1694t149.756 -100.011q62.8417 -62.8417 100.011 -149.755t37.1694 -182.397q0 -95.4833 -37.1694 -182.397t-100.011 -149.756q-62.8417 -62.8417 -149.755 -100.011q-86.9138 -37.1694 -182.398 -37.1694zM512 -2.87646e-06 q104.256 0 192.72 51.408q88.4642 51.408 139.872 139.872q51.408 88.4641 51.408 192.72q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5q0 -104.256 51.4079 -192.72q51.4079 -88.4642 139.872 -139.872t192.72 -51.408zM512 128h-0.00653076 q-17.664 0 -30.1653 12.5013t-12.5013 30.1653t12.5013 30.1653t30.1653 12.5013h0.00653076q17.6613 -0.00267029 30.1607 -12.504q12.4995 -12.5014 12.4995 -30.1626t-12.4995 -30.1626t-30.1607 -12.504zM428.075 497.835q-3.97705 -12.182 -15.8611 -20.8036 q-11.884 -8.62161 -24.6988 -8.62161q-17.664 0 -30.1653 12.5013t-12.5013 30.1653q0 7.79657 2.75726 15.0893q16.6147 47.1924 63.7822 80.5919q47.1675 33.3994 97.1992 33.3994q70.6559 0 120.661 -50.0054t50.0054 -120.661l-6.10352e-05 -0.156586 q0 -76.1277 -82.9867 -131.499q-34.7065 -23.2939 -74.1973 -36.992q-6.56415 -2.18576 -13.4827 -2.18576q-17.668 0 -30.1722 12.5042t-12.5042 30.1722q0 12.7386 8.55374 24.6024q8.55377 11.8638 20.64 15.8882q28.5258 10.3078 53.8453 27.008 q44.9706 30.0459 44.9706 60.5867l0.00012207 0.139191q0 35.328 -25.0027 60.3307t-60.3307 25.0027q-25.0359 0 -48.6259 -16.7176q-23.5901 -16.7176 -31.8858 -40.339z" /> <glyph glyph-name="paperclip" unicode="" d="M884.523 428.587l-392.107 -392.107q-25.8864 -25.8864 -70.1161 -44.2069q-44.2297 -18.3205 -80.8386 -18.3205q-88.3816 0 -150.932 62.5503q-62.5503 62.5503 -62.5503 150.932q0 36.6089 18.3205 80.8386q18.3205 44.2297 44.2069 70.1161l392.107 392.107 q15.5333 15.5333 42.0736 26.5267t48.5078 10.9933q53.0339 0 90.5676 -37.5338q37.5337 -37.5337 37.5337 -90.5676q0 -21.9674 -10.9933 -48.5077t-26.5267 -42.0736l-392.533 -392.107q-12.5126 -12.5126 -30.208 -12.5126q-17.6863 0 -30.2034 12.5171t-12.5171 30.2034 q0 17.6955 12.5126 30.208l362.24 361.813q11.5641 12.3145 11.5641 29.2075q0 17.6641 -12.5013 30.1653t-30.1653 12.5013q-16.8756 0 -29.1855 -11.5434l-362.24 -361.813q-16.1417 -15.6242 -27.5656 -42.5809t-11.4239 -49.4216q0 -53.0097 37.5165 -90.5262 q37.5165 -37.5165 90.5262 -37.5165q22.4575 0 49.4081 11.4176q26.9506 11.4176 42.5735 27.5503l392.533 392.107q25.879 25.8791 44.1945 70.0963q18.3154 44.2172 18.3154 80.8157q0 88.3566 -62.5326 150.889t-150.889 62.5326q-36.5985 0 -80.8157 -18.3153 q-44.2172 -18.3154 -70.0963 -44.1945l-392.107 -392.107q-36.2321 -36.2321 -61.8747 -98.1387t-25.6426 -113.147q0 -123.704 87.5492 -211.253q87.5492 -87.5492 211.253 -87.5492q51.24 0 113.147 25.6426q61.9066 25.6426 98.1388 61.8747l392.107 392.107 q11.977 12.4007 11.977 29.641q0 17.6641 -12.5013 30.1653q-12.5013 12.5013 -30.1653 12.5013q-17.2403 0 -29.6417 -11.9768z" /> <glyph glyph-name="shopping-cart" unicode="" d="M341.333 -128q-52.992 0 -90.496 37.504t-37.504 90.496q0 52.992 37.504 90.496q37.504 37.504 90.496 37.504t90.496 -37.504t37.504 -90.496q0 -52.992 -37.504 -90.496q-37.504 -37.504 -90.496 -37.504zM341.333 -42.6667q17.664 0 30.1653 12.5013t12.5013 30.1653 t-12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013zM853.333 -128q-52.9919 0 -90.496 37.504t-37.504 90.496q6.10352e-05 52.992 37.504 90.496q37.504 37.504 90.496 37.504t90.496 -37.504t37.504 -90.496 q6.10352e-05 -52.992 -37.504 -90.496q-37.5041 -37.504 -90.496 -37.504zM853.333 -42.6667q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5014 30.1653q-12.5013 12.5013 -30.1653 12.5013t-30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1654 -12.5013z M278.912 682.667h702.421q17.6534 -0.0106201 30.1472 -12.512q12.4938 -12.5013 12.4938 -30.1547q0 -4.22247 -0.827576 -8.36267l-71.68 -357.931q-8.41718 -42.6637 -45.1506 -72.858t-80.2195 -30.1943q-0.888184 0 -1.77661 0.0123596h-450.645 q-0.541748 -0.00460815 -1.0856 -0.00460815q-46.4993 0 -83.6852 32.6298q-37.1859 32.6298 -43.2292 78.7348l-64.8107 491.52q-2.00975 15.3288 -14.3736 26.2049q-12.3638 10.8761 -27.8238 10.9151h-96h-0.00653076q-17.664 0 -30.1653 12.5013 q-12.5013 12.5013 -12.5013 30.1653t12.5013 30.1653q12.5013 12.5013 30.1653 12.5013h0.00653076h96.0853q46.4267 -0.0703735 83.5556 -32.6989t43.1644 -78.6611l13.3973 -101.973zM330.325 293.12q2.08304 -16.055 14.3332 -26.6514q12.2502 -10.5964 28.6748 -10.4686 h451.84q0.404724 -0.00767517 0.809082 -0.00767517q14.5157 0 26.7799 10.0783q12.2643 10.0783 15.0777 24.3187l61.44 306.944h-639.147z" /> <glyph glyph-name="tv" unicode="" d="M409.003 640l-140.501 140.501q-11.977 12.4008 -11.977 29.6411q0 17.6641 12.5013 30.1653q12.5013 12.5013 30.1653 12.5013q17.2403 0 29.641 -11.977l183.168 -183.168l183.168 183.168q12.4008 11.9771 29.6411 11.9771q17.6639 0 30.1653 -12.5013 t12.5013 -30.1653q0 -17.2404 -11.977 -29.6411l-140.501 -140.501h238.336q52.992 0 90.496 -37.504q37.504 -37.504 37.504 -90.496v-469.333q0 -52.992 -37.504 -90.496q-37.504 -37.504 -90.496 -37.504h-682.667q-52.992 0 -90.496 37.504 q-37.504 37.504 -37.504 90.496v469.333q0 52.9919 37.504 90.496q37.504 37.5041 90.496 37.504zM170.667 554.667q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653v-469.333q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013h682.667 q17.664 0 30.1653 12.5013q12.5013 12.5013 12.5013 30.1653v469.333q0 17.664 -12.5013 30.1653t-30.1653 12.5013h-682.667z" /> <glyph glyph-name="wifi-off" unicode="" d="M669.172 166.545q-4.15656 -0.837753 -8.39661 -0.837753q-13.5765 0 -24.6384 7.87102q-22.9513 16.3072 -59.1205 27.8483q-36.1693 11.5411 -64.3239 11.5411q-28.1547 0 -64.3239 -11.5411q-36.1692 -11.5411 -59.1205 -27.8483q-11.3387 -8.45627 -25.4834 -8.45627 q-17.6471 0 -30.1364 12.4894q-12.4894 12.4894 -12.4894 30.1365q0 9.36987 5.49332 19.7159q5.49332 10.346 13.2552 15.5947q32.1154 22.8281 82.7304 38.9843t90.0171 16.1562q13.0115 0 25.9741 -1.13348l-118.542 118.585q-41.3907 -9.33099 -93.7212 -35.1964 q-52.3305 -25.8654 -84.881 -53.0817q-11.9855 -10.3076 -27.7937 -10.3076q-17.6471 0 -30.1365 12.4894t-12.4894 30.1365q0 20.2762 15.7306 33.0697q30.3999 25.4233 78.4965 52.3628q48.0966 26.9394 85.6557 39.5811l-98.9772 99.0624 q-36.8968 -16.4358 -84.4315 -46.9974q-47.5347 -30.5616 -77.8024 -57.308q-12.2852 -11.4746 -29.0957 -11.4746q-17.6471 0 -30.1365 12.4894t-12.4894 30.1365q0 19.9233 15.285 32.7023q29.1882 25.8059 74.4998 56.4174q45.3115 30.6115 80.1468 48.0585 l-174.468 174.51q-13.4463 12.627 -13.4463 31.0728q0 17.6471 12.4894 30.1365q12.4894 12.4894 30.1365 12.4894q18.4636 0 31.0934 -13.4683l217.605 -217.562l1.32141 -1.36401l168.159 -168.159q4.1315 -3.27908 7.2464 -7.20377l543.479 -543.479 q12.4767 -12.4855 12.4767 -30.1365q0 -17.6507 -12.4919 -30.1426t-30.1426 -12.4919q-17.6686 0 -30.1578 12.498l-282.055 282.013zM512.48 -0.122496l-0.00653076 -4.99189e-07q-17.6471 0 -30.1364 12.4894q-12.4894 12.4894 -12.4894 30.1365t12.4893 30.1365 q12.4894 12.4894 30.1365 12.4894h0.00653076q17.6445 -0.00270081 30.1319 -12.4921q12.4874 -12.4894 12.4874 -30.1338q0 -17.6444 -12.4874 -30.1338t-30.1319 -12.4921zM694.961 385.258q-9.90814 4.83832 -16.9205 16.0663q-7.01227 11.2279 -7.01227 22.2544 q0 17.6552 12.4952 30.1503q12.4951 12.4951 30.1503 12.4951q9.85602 0 18.7127 -4.32483q57.5153 -28.1143 106.053 -69.3522q15.935 -12.7972 15.935 -33.235q0 -17.6471 -12.4894 -30.1364q-12.4894 -12.4894 -30.1364 -12.4894q-16.3199 0 -28.467 10.899 q-40.5428 34.3765 -88.3207 57.6728zM460.945 637.262q-1.71246 -0.138306 -3.43137 -0.138306q-17.6514 0 -30.1439 12.4924q-12.4924 12.4924 -12.4924 30.1439q0 16.2836 11.487 28.7355t27.7179 13.7624q29.0533 2.341 58.2005 2.341q113.419 0 253.882 -53.1038 t225.515 -128.138q14.4234 -12.7311 14.4234 -31.9694q0 -17.6537 -12.494 -30.1477q-12.494 -12.494 -30.1478 -12.494q-16.1273 0 -28.2183 10.6723q-75.0442 66.2025 -198.979 113.056q-123.935 46.8533 -224.007 46.8533q-25.7182 0 -51.3546 -2.06573z" /> <glyph glyph-name="minimize" unicode="" d="M298.667 768v-128q0 -17.664 -12.5013 -30.1653t-30.1654 -12.5013h-128h-0.00653076q-17.664 0 -30.1653 -12.5014q-12.5013 -12.5013 -12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013h0.00653076h128q52.992 0 90.496 37.504t37.504 90.496v128v0.00653076 q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013t-12.5013 -30.1653zM896 597.333h-128q-17.664 0 -30.1653 12.5013t-12.5013 30.1653v128q-0.00262451 17.6613 -12.504 30.1608q-12.5014 12.4994 -30.1627 12.4994t-30.1626 -12.4994 q-12.5013 -12.4995 -12.504 -30.1608v-128q0 -53 37.5 -90.5t90.5 -37.5h128q17.6613 0.00268555 30.1607 12.504t12.4995 30.1627q0 17.6613 -12.4994 30.1626q-12.4995 12.5013 -30.1609 12.5041zM725.333 -2.00117e-05v128q0 17.664 12.5013 30.1653 q12.5013 12.5013 30.1653 12.5013h128q17.6613 0.00270081 30.1608 12.504q12.4994 12.5014 12.4994 30.1626t-12.4994 30.1626q-12.4995 12.5013 -30.1608 12.504h-128q-52.9919 0 -90.496 -37.504t-37.504 -90.496v-128q0.00274658 -17.6613 12.504 -30.1607 t30.1627 -12.4994t30.1627 12.4994t12.504 30.1607v1.05059e-05zM128 170.667h128v0q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-128q0.00271606 -17.6613 12.5041 -30.1607q12.5013 -12.4994 30.1626 -12.4994t30.1627 12.4994q12.5013 12.4994 12.504 30.1607v128 q0 53 -37.5 90.5q-37.5 37.5 -90.5 37.5h-128q-17.6613 -0.00270081 -30.1607 -12.504t-12.4994 -30.1626t12.4994 -30.1626t30.1607 -12.5042z" /> <glyph glyph-name="maximize" unicode="" d="M341.333 810.667h-128q-52.992 0 -90.496 -37.504t-37.504 -90.496v-128q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653v128q0 17.6639 12.5013 30.1653q12.5013 12.5013 30.1653 12.5013h128q17.664 0 30.1653 12.5013t12.5013 30.1653 t-12.5013 30.1653t-30.1651 12.5016zM938.667 554.667v128q0 52.9921 -37.504 90.496t-90.496 37.504h-128q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013h128q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-128 q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.6641 0 30.1653 12.5013q12.5013 12.5013 12.5016 30.165zM682.667 -42.6666h128q52.992 0 90.496 37.504q37.504 37.504 37.504 90.496v128q0 17.664 -12.5013 30.1653t-30.1653 12.5013q-17.6639 0 -30.1653 -12.5013 t-12.5013 -30.1653v-128q0 -17.664 -12.5013 -30.1653q-12.5013 -12.5013 -30.1653 -12.5013h-128q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.165 -12.5015zM85.3333 213.333v-128q0 -52.992 37.504 -90.496q37.504 -37.504 90.496 -37.504h128 q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013h-128q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653v128q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013t-12.5015 -30.1651z" /> <glyph glyph-name="gitlab" unicode="" horiz-adv-x="1025" d="M537.088 -82.7307q-11.2185 -8.15527 -25.088 -8.15527q-13.8694 0 -25.088 8.15527l-454.571 330.368q-13.2643 9.72922 -22.6519 28.257q-9.38755 18.5278 -9.38755 34.9777q0 12.4889 3.87942 24.36l52.0533 161.365l104.96 322.645q5.1996 13.454 15.7013 22.912 q17.5104 15.8663 41.14 15.8663q24.3182 0 42.0173 -16.677q11.0297 -10.588 15.616 -25.1733l94.5067 -290.091h283.648l95.2747 293.12q5.16376 13.4259 15.744 22.9547q17.5104 15.8663 41.14 15.8663q24.3182 0 42.0173 -16.677q11.0296 -10.5881 15.616 -25.1733 l103.936 -319.957l54.7413 -162.133q3.13696 -10.7614 3.13696 -21.9704q0 -17.3148 -10.1701 -36.4052t-24.5402 -28.7498zM86.8693 313.515l425.131 -308.992l426.795 310.187l-52.224 154.667l-80.7253 248.491l-80.512 -247.637q-3.96545 -12.205 -15.8542 -20.8434 q-11.8888 -8.63843 -24.7218 -8.63922h-345.6q-12.7963 0.0222473 -24.6601 8.64816q-11.8637 8.62589 -15.8306 20.7918l-80.768 247.765l-80.4267 -247.637z" /> <glyph glyph-name="sliders" unicode="" d="M810.667 170.667v-170.667q0.00268555 -17.6613 12.5041 -30.1607q12.5013 -12.4994 30.1626 -12.4994t30.1626 12.4994t12.504 30.1607v170.667h85.3333q17.6613 0.00270081 30.1607 12.504q12.4995 12.5014 12.4995 30.1626t-12.4995 30.1626 q-12.4994 12.5013 -30.1607 12.504h-256q-17.6613 -0.00271606 -30.1607 -12.5041q-12.4995 -12.5013 -12.4995 -30.1626t12.4995 -30.1626t30.1607 -12.504zM469.333 597.333v170.667q0 17.664 12.5013 30.1653t30.1653 12.5013t30.1653 -12.5013t12.5013 -30.1653 v-170.667h85.3333q17.6613 -0.00268555 30.1607 -12.504t12.4995 -30.1627q0 -17.6613 -12.4995 -30.1626t-30.1607 -12.5041h-256h-0.00653076q-17.664 0 -30.1653 12.5013t-12.5013 30.1653t12.5013 30.1654q12.5013 12.5013 30.1653 12.5013h0.00653076zM128 256v-256 q0.00271606 -17.6613 12.504 -30.1607q12.5013 -12.4994 30.1626 -12.4994t30.1626 12.4994t12.504 30.1607v256h85.3333q17.6613 0.00271606 30.1607 12.504q12.4994 12.5013 12.4994 30.1626t-12.4994 30.1626q-12.4994 12.5014 -30.1607 12.504h-256 q-17.6613 -0.00271606 -30.1607 -12.504t-12.4994 -30.1626q0 -17.6613 12.4994 -30.1626q12.4994 -12.5014 30.1607 -12.504h85.3335zM213.333 469.333q-0.00271606 -17.6613 -12.504 -30.1607q-12.5013 -12.4994 -30.1626 -12.4994t-30.1626 12.4994t-12.504 30.1607 v298.667v0.00653076q0 17.664 12.5013 30.1653t30.1653 12.5013t30.1653 -12.5013t12.5013 -30.1653v-0.00653076v-298.667zM554.667 -2.00117e-05q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013t-30.1653 12.5013t-12.5013 30.1653v384q0 17.664 12.5013 30.1653 t30.1653 12.5013t30.1653 -12.5013t12.5013 -30.1653v-384v1.05059e-05zM896 384q-0.00262451 -17.6613 -12.504 -30.1607q-12.5013 -12.4994 -30.1627 -12.4994q-17.6613 0 -30.1626 12.4995q-12.5013 12.4994 -12.504 30.1607v384q0.00268555 17.6613 12.5041 30.1608 q12.5013 12.4994 30.1626 12.4994t30.1626 -12.4994q12.5014 -12.4995 12.504 -30.1608z" /> <glyph glyph-name="star-on" unicode="" d="M473.728 829.568q4.85693 9.85602 16.0706 16.8314q11.2137 6.97534 22.2014 6.97534q10.9877 0 22.2014 -6.97534t16.0706 -16.8314l121.899 -246.741l272.64 -39.808q15.1143 -2.19141 25.811 -14.551q10.6968 -12.3596 10.6968 -27.6319q0 -17.9742 -12.8705 -30.5211 l-197.248 -191.915l46.5067 -271.147q0.600647 -3.54189 0.600647 -7.13411q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013q-10.5 0 -19.8007 4.87277l-243.84 128.085l-243.84 -128.085q-9.30072 -4.87277 -19.8007 -4.87277q-17.664 0 -30.1653 12.5013 t-12.5013 30.1653q0 3.59226 0.600662 7.13411l46.5067 271.147l-197.248 191.915q-12.8761 12.5476 -12.8761 30.5265q0 15.2587 10.6859 27.6167q10.6859 12.358 25.7848 14.5608l272.64 39.808z" /> <glyph glyph-name="heart-on" unicode="" d="M527.061 729.472q33.6374 33.6785 91.131 57.5137q57.4936 23.8351 105.093 23.8351q114.816 0 196.075 -81.2587t81.2587 -196.075l-6.10352e-05 -0.154236q-0.00280762 -47.5718 -23.8179 -105.04q-23.8151 -57.4686 -57.4622 -91.0983l-377.173 -377.173 q-12.496 -12.4922 -30.1653 -12.4922t-30.1653 12.4922l-377.173 377.173q-33.6347 33.6347 -57.439 91.1033q-23.8043 57.4687 -23.8043 105.035q0 114.836 81.2729 196.109q81.2729 81.273 196.109 81.2729q47.5667 0 105.035 -23.8043t91.1033 -57.439l15.0613 -15.0613z " /> <glyph glyph-name="archive" unicode="" d="M853.333 512h-682.667v-469.333h682.667v469.333zM938.667 512v-512q0 -17.664 -12.5013 -30.1653q-12.5013 -12.5013 -30.1653 -12.5013h-768q-17.664 0 -30.1653 12.5013t-12.5013 30.1653v512h-42.6667q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653 v213.333q0 17.664 12.5013 30.1653q12.5013 12.5013 30.1653 12.5013h938.667q17.664 0 30.1653 -12.5013q12.5013 -12.5013 12.5013 -30.1653v-213.333q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013zM85.3333 725.333v-128h853.333v128h-853.333zM426.667 341.333 q-17.664 0 -30.1653 12.5013t-12.5013 30.1653t12.5013 30.1653q12.5013 12.5014 30.1653 12.5014h170.667q17.664 0 30.1653 -12.5013t12.5013 -30.1653t-12.5013 -30.1653t-30.1653 -12.5013z" /> <glyph glyph-name="arrow-down-circle" unicode="" d="M469.333 316.331v238.336q0 17.664 12.5013 30.1653t30.1653 12.5013t30.1653 -12.5013t12.5013 -30.1653v-238.336l97.8347 97.8347q12.4007 11.977 29.641 11.977q17.6641 0 30.1654 -12.5013t12.5013 -30.1653q0 -17.2403 -11.977 -29.641l-170.667 -170.667 q-12.496 -12.4922 -30.1653 -12.4922q-17.6693 0 -30.1653 12.4922l-170.667 170.667q-11.977 12.4008 -11.977 29.641q0 17.664 12.5013 30.1653t30.1653 12.5013q17.2403 0 29.641 -11.977zM512 -85.3333q-95.4834 0 -182.397 37.1694t-149.756 100.011t-100.011 149.756 q-37.1694 86.9139 -37.1694 182.397q0 95.4834 37.1694 182.397q37.1694 86.9138 100.011 149.755q62.8417 62.8417 149.756 100.011q86.9138 37.1694 182.397 37.1694q95.4833 0 182.397 -37.1694t149.756 -100.011q62.8417 -62.8417 100.011 -149.755t37.1694 -182.397 q0 -95.4833 -37.1694 -182.397t-100.011 -149.756q-62.8417 -62.8417 -149.755 -100.011q-86.9138 -37.1694 -182.398 -37.1694zM512 -2.87646e-06q104.256 0 192.72 51.408q88.4642 51.408 139.872 139.872q51.408 88.4641 51.408 192.72q0 159 -112.5 271.5t-271.5 112.5 t-271.5 -112.5t-112.5 -271.5q0 -104.256 51.4079 -192.72q51.4079 -88.4642 139.872 -139.872t192.72 -51.408z" /> <glyph glyph-name="arrow-up-circle" unicode="" d="M554.667 451.669v-238.336q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013t-30.1653 12.5013t-12.5013 30.1653v238.336l-97.8347 -97.8347q-12.5805 -13.0256 -30.6896 -13.0256q-17.664 0 -30.1653 12.5013t-12.5013 30.1653q0 18.1091 13.0257 30.6896 l170.667 170.667q12.4961 12.4922 30.1653 12.4922q17.6694 0 30.1653 -12.4922l170.667 -170.667q11.977 -12.4008 11.977 -29.641q0 -17.6641 -12.5013 -30.1653q-12.5013 -12.5013 -30.1653 -12.5013q-17.2404 0 -29.6411 11.977zM512 -85.3333 q-95.4834 0 -182.397 37.1694t-149.756 100.011t-100.011 149.756q-37.1694 86.9139 -37.1694 182.397q0 95.4834 37.1694 182.397q37.1694 86.9138 100.011 149.755q62.8417 62.8417 149.756 100.011q86.9138 37.1694 182.397 37.1694q95.4833 0 182.397 -37.1694 t149.756 -100.011q62.8417 -62.8417 100.011 -149.755t37.1694 -182.397q0 -95.4833 -37.1694 -182.397t-100.011 -149.756q-62.8417 -62.8417 -149.755 -100.011q-86.9138 -37.1694 -182.398 -37.1694zM512 -2.87646e-06q104.256 0 192.72 51.408 q88.4642 51.408 139.872 139.872q51.408 88.4641 51.408 192.72q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5q0 -104.256 51.4079 -192.72q51.4079 -88.4642 139.872 -139.872t192.72 -51.408z" /> <glyph glyph-name="arrow-left-circle" unicode="" d="M444.331 426.667h238.336q17.664 0 30.1653 -12.5013t12.5013 -30.1653t-12.5013 -30.1653t-30.1653 -12.5013h-238.336l97.8347 -97.8347q11.977 -12.4007 11.977 -29.641q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013q-17.2403 0 -29.641 11.977l-170.667 170.667 q-12.4922 12.4961 -12.4922 30.1653t12.4922 30.1653l170.667 170.667q12.4007 11.977 29.641 11.977q17.664 0 30.1653 -12.5013t12.5013 -30.1653q0 -17.2403 -11.9771 -29.6411zM512 -85.3333q-95.4834 0 -182.397 37.1694t-149.756 100.011t-100.011 149.756 q-37.1694 86.9139 -37.1694 182.397q0 95.4834 37.1694 182.397q37.1694 86.9138 100.011 149.755q62.8417 62.8417 149.756 100.011q86.9138 37.1694 182.397 37.1694q95.4833 0 182.397 -37.1694t149.756 -100.011q62.8417 -62.8417 100.011 -149.755t37.1694 -182.397 q0 -95.4833 -37.1694 -182.397t-100.011 -149.756q-62.8417 -62.8417 -149.755 -100.011q-86.9138 -37.1694 -182.398 -37.1694zM512 -2.87646e-06q104.256 0 192.72 51.408q88.4642 51.408 139.872 139.872q51.408 88.4641 51.408 192.72q0 159 -112.5 271.5t-271.5 112.5 t-271.5 -112.5t-112.5 -271.5q0 -104.256 51.4079 -192.72q51.4079 -88.4642 139.872 -139.872t192.72 -51.408z" /> <glyph glyph-name="arrow-right-circle" unicode="" d="M579.669 341.333h-238.336q-17.664 0 -30.1653 12.5013t-12.5013 30.1653t12.5013 30.1653t30.1653 12.5013h238.336l-97.8347 97.8347q-13.0256 12.5806 -13.0256 30.6896q0 17.664 12.5013 30.1653t30.1653 12.5013q18.109 0 30.6897 -13.0256l170.667 -170.667 q12.4922 -12.496 12.4922 -30.1653t-12.4922 -30.1653l-170.667 -170.667q-12.4008 -11.977 -29.641 -11.977q-17.664 0 -30.1653 12.5013t-12.5013 30.1653q0 17.2403 11.977 29.641zM512 -85.3333q-95.4834 0 -182.397 37.1694t-149.756 100.011t-100.011 149.756 q-37.1694 86.9139 -37.1694 182.397q0 95.4834 37.1694 182.397q37.1694 86.9138 100.011 149.755q62.8417 62.8417 149.756 100.011q86.9138 37.1694 182.397 37.1694q95.4833 0 182.397 -37.1694t149.756 -100.011q62.8417 -62.8417 100.011 -149.755t37.1694 -182.397 q0 -95.4833 -37.1694 -182.397t-100.011 -149.756q-62.8417 -62.8417 -149.755 -100.011q-86.9138 -37.1694 -182.398 -37.1694zM512 -2.87646e-06q104.256 0 192.72 51.408q88.4642 51.408 139.872 139.872q51.408 88.4641 51.408 192.72q0 159 -112.5 271.5t-271.5 112.5 t-271.5 -112.5t-112.5 -271.5q0 -104.256 51.4079 -192.72q51.4079 -88.4642 139.872 -139.872t192.72 -51.408z" /> <glyph glyph-name="bar-chart-line-" unicode="" d="M810.667 42.6667q0 -17.664 -12.5014 -30.1653q-12.5013 -12.5013 -30.1653 -12.5013t-30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653v426.667q0 17.664 12.5013 30.1653q12.5013 12.5013 30.1653 12.5013t30.1653 -12.5013t12.5013 -30.1653zM554.667 42.6667 q0 -17.664 -12.5013 -30.1653q-12.5013 -12.5013 -30.1654 -12.5013q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653v682.667q0 17.664 12.5013 30.1653t30.1653 12.5013t30.1653 -12.5013t12.5013 -30.1653zM298.667 42.6667q0 -17.664 -12.5013 -30.1653 q-12.5013 -12.5013 -30.1653 -12.5013t-30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653v256q0 17.664 12.5013 30.1653t30.1653 12.5013t30.1653 -12.5013t12.5013 -30.1653v-256z" /> <glyph glyph-name="bar-chart-line" unicode="" d="M554.667 42.6667q0 -17.664 -12.5013 -30.1653q-12.5013 -12.5013 -30.1654 -12.5013q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653v426.667q0 17.664 12.5013 30.1653q12.5013 12.5013 30.1653 12.5013t30.1653 -12.5013t12.5013 -30.1653z M810.667 42.6667q0 -17.664 -12.5014 -30.1653q-12.5013 -12.5013 -30.1653 -12.5013t-30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653v682.667q0 17.664 12.5013 30.1653t30.1653 12.5013q17.6641 0 30.1653 -12.5013q12.5013 -12.5013 12.5013 -30.1653z M298.667 42.6667q0 -17.664 -12.5013 -30.1653q-12.5013 -12.5013 -30.1653 -12.5013t-30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653v170.667q0 17.664 12.5013 30.1653q12.5013 12.5013 30.1653 12.5013t30.1653 -12.5013t12.5013 -30.1653v-170.667z" /> <glyph glyph-name="book-open" unicode="" d="M128 725.333v-554.667h256q45.8566 0 85.3333 -22.8267v449.493q0 52.992 -37.504 90.496q-37.504 37.504 -90.496 37.504zM512 -42.6667q-17.3363 0 -30.0015 11.2551t-12.6652 31.4116q0 35.328 -25.0027 60.3307t-60.3307 25.0027h-298.667 q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653v640q0 17.6639 12.5013 30.1653q12.5013 12.5014 30.1653 12.5014h256q51.4481 0 96.1844 -22.8523t74.4823 -62.481q26.4518 35.3281 76.4071 60.3307q49.9553 25.0027 94.0889 25.0027 l0.170715 -6.10352e-05h256q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-640q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013h-298.667v0q-35.3281 0 -60.3307 -25.0027t-25.0026 -60.3307q0 -20.1565 -12.6652 -31.4116q-12.6652 -11.2551 -30.0015 -11.2551 q-17.3363 0 -30.0015 11.2551t-12.6652 31.4116q0 46.5997 23.1907 85.9512q23.1907 39.3515 62.1426 61.8888v-147.84q0 -20.1565 -12.6652 -31.4116q-12.6652 -11.2551 -30.0007 -11.2552zM896 725.333h-213.333q-52.9921 0 -90.496 -37.504t-37.504 -90.496v-449.493 q16.3397 9.45035 41.2626 16.1386q24.923 6.68828 43.7988 6.68828l0.271851 -0.000213623h256z" /> <glyph glyph-name="code" unicode="" d="M652.501 609.835q-13.0256 12.5805 -13.0256 30.6896q0 17.6639 12.5013 30.1653t30.1653 12.5014q18.109 0 30.6897 -13.0256l256 -256q12.4922 -12.496 12.4922 -30.1653t-12.4922 -30.1653l-256 -256q-12.4008 -11.977 -29.641 -11.977q-17.664 0 -30.1653 12.5013 t-12.5013 30.1653q0 17.2403 11.977 29.641l225.835 225.835zM145.664 384l225.835 -225.835q11.977 -12.4007 11.977 -29.641q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013q-17.2403 0 -29.641 11.977l-256 256q-12.4922 12.496 -12.4922 30.1653t12.4922 30.1653 l256 256q12.4007 11.977 29.641 11.977q17.6641 0 30.1653 -12.5013q12.5013 -12.5013 12.5013 -30.1653q0 -17.2404 -11.977 -29.6411z" /> <glyph glyph-name="database" unicode="" d="M170.667 574.805v-190.805q0 -17.674 44.5838 -37.3145q44.5838 -19.6405 125.759 -33.8297q81.1748 -14.1892 170.991 -14.1892q89.816 0 170.991 14.1892q81.1749 14.1891 125.759 33.8297q44.5838 19.6405 44.5838 37.3145v190.805 q-120.907 -62.8054 -341.333 -62.8054q-220.426 0 -341.335 62.8054zM85.3333 682.667q0 52.0058 57.8331 91.3232t153.987 59.3304q96.154 20.0131 214.846 20.0131q118.692 0 214.846 -20.0131q96.1541 -20.0131 153.987 -59.3304q57.8331 -39.3173 57.8331 -91.3232 v-597.333q0 -52.1311 -57.6378 -91.4257q-57.6378 -39.2946 -153.752 -59.2678t-215.277 -19.9732q-119.163 0 -215.277 19.9732q-96.1143 19.9732 -153.752 59.2678t-57.6378 91.4257v597.333h0.00141907zM853.333 275.925q-120.359 -62.592 -341.333 -62.592 q-220.847 0 -341.333 62.592v-190.592q0 -17.674 44.5838 -37.3145q44.5838 -19.6405 125.759 -33.8297q81.1749 -14.1892 170.991 -14.1892q89.816 0 170.991 14.1892q81.1749 14.1892 125.759 33.8297q44.5838 19.6405 44.5838 37.3145zM512 597.333 q89.3021 0 170.521 14.2409q81.219 14.2408 126.016 33.8969t44.7966 37.1955q0 17.5394 -44.7966 37.1955t-126.016 33.897t-170.521 14.2408q-89.3024 0 -170.521 -14.2408q-81.2188 -14.2408 -126.015 -33.897q-44.7967 -19.6561 -44.7967 -37.1955 q0 -17.5394 44.7966 -37.1955q44.7966 -19.6561 126.016 -33.897t170.52 -14.2408z" /> <glyph glyph-name="dollar-sign" unicode="" d="M554.667 725.333h170.667q17.6613 -0.00262451 30.1608 -12.504q12.4994 -12.5014 12.4994 -30.1627t-12.4994 -30.1626q-12.4995 -12.5013 -30.1608 -12.504h-170.667v-213.333h64q79.488 0 135.744 -56.256q56.256 -56.256 56.256 -135.744t-56.256 -135.744 t-135.744 -56.256h-64v-128q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013t-30.1653 12.5013t-12.5013 30.1653v128h-213.333q-17.6613 0.00270462 -30.1607 12.504q-12.4994 12.5013 -12.4994 30.1626t12.4994 30.1626t30.1607 12.504h213.333v213.333h-64 q-79.488 0 -135.744 56.256q-56.256 56.256 -56.256 135.744q0 79.488 56.256 135.744q56.256 56.256 135.744 56.256h64v128q0 17.664 12.5013 30.1653t30.1653 12.5013t30.1653 -12.5013t12.5013 -30.1653v-128zM554.667 341.333v-213.333h64 q44.1557 0.00427246 75.406 31.2576q31.2503 31.2533 31.2503 75.409q0 44.1557 -31.2503 75.4091t-75.406 31.2576zM469.333 426.667v213.333h-64h-0.0103149q-44.16 0 -75.4134 -31.2534q-31.2533 -31.2534 -31.2533 -75.4133q0 -44.16 31.2533 -75.4133t75.4134 -31.2533 h0.0103149z" /> <glyph glyph-name="folder-plus" unicode="" d="M554.667 341.333h85.3333q17.6613 -0.00268555 30.1608 -12.504q12.4994 -12.5013 12.4994 -30.1626t-12.4994 -30.1627q-12.4995 -12.5013 -30.1608 -12.504h-85.3333v-85.3333q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013t-30.1653 12.5013t-12.5013 30.1653 v85.3333h-85.3333q-17.6613 0.00268555 -30.1607 12.504t-12.4994 30.1626t12.4994 30.1626q12.4995 12.5014 30.1607 12.5041h85.3333v85.3333q0 17.664 12.5013 30.1653t30.1653 12.5013t30.1653 -12.5013t12.5013 -30.1653v-85.3333zM492.16 682.667h361.173 q52.9921 0 90.496 -37.504t37.504 -90.496v-469.333q0 -52.992 -37.504 -90.496q-37.504 -37.504 -90.496 -37.504h-682.667q-52.992 0 -90.496 37.504q-37.504 37.504 -37.504 90.496v597.333q0 52.992 37.504 90.496q37.504 37.504 90.496 37.504h213.333h0.00637817 q9.44937 0 19.8486 -5.56311t15.6437 -13.4236zM361.173 725.333h-190.507q-17.664 0 -30.1653 -12.5013q-12.5013 -12.5014 -12.5013 -30.1653v-597.333q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013h682.667q17.664 0 30.1653 12.5013 q12.5013 12.5013 12.5013 30.1653v469.333q0 17.664 -12.5013 30.1653t-30.1653 12.5013h-384h-0.00637817q-9.4494 0 -19.8487 5.56311q-10.3992 5.56311 -15.6436 13.4236z" /> <glyph glyph-name="gift" unicode="" d="M838.955 640h99.712q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-213.333q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013h-42.6667v-384q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013h-682.667q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653v384 h-42.6667q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653v213.333q0 17.664 12.5013 30.1653q12.5013 12.5013 30.1653 12.5013h99.712q-14.4095 30.3778 -14.4095 64q0 61.824 43.7547 105.579q43.7546 43.7546 105.579 43.7546h0.0308228 q118.54 0 189.397 -128.768l2.60266 -4.82135l2.60266 4.82135q70.9268 128.768 189.397 128.768h0.0308228q61.824 0 105.579 -43.7546t43.7546 -105.579q0 -33.6222 -14.4091 -64zM554.667 554.667v-128h341.333v128h-341.333zM469.333 554.667h-341.333v-128h341.333v128 zM554.667 2.00117e-05h256v341.333h-256v-341.333v9.50586e-06v2.69334e-06zM469.333 2.00117e-05v341.333h-256v-341.333h256v1.21992e-05zM434.603 683.435q-46.4944 84.5653 -114.603 84.5653q-26 0 -45 -19t-19 -45t19 -45t45 -19h134.571 q-8.48843 22.4048 -19.968 43.4347zM704 640q26 0 45 19t19 45t-19 45t-45 19q-68.1083 0 -114.603 -84.5653q-11.4799 -21.0298 -19.968 -43.4347h134.571z" /> <glyph glyph-name="folder-minus" unicode="" d="M492.16 682.667h361.173q52.9921 0 90.496 -37.504t37.504 -90.496v-469.333q0 -52.992 -37.504 -90.496q-37.504 -37.504 -90.496 -37.504h-682.667q-52.992 0 -90.496 37.504q-37.504 37.504 -37.504 90.496v597.333q0 52.992 37.504 90.496 q37.504 37.504 90.496 37.504h213.333h0.00637817q9.44937 0 19.8486 -5.56311t15.6437 -13.4236zM361.173 725.333h-190.507q-17.664 0 -30.1653 -12.5013q-12.5013 -12.5014 -12.5013 -30.1653v-597.333q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013 h682.667q17.664 0 30.1653 12.5013q12.5013 12.5013 12.5013 30.1653v469.333q0 17.664 -12.5013 30.1653t-30.1653 12.5013h-384h-0.00637817q-9.4494 0 -19.8487 5.56311q-10.3992 5.56311 -15.6436 13.4236zM384 256q-17.6613 0.00268555 -30.1607 12.504 t-12.4994 30.1626t12.4994 30.1626q12.4995 12.5014 30.1607 12.5041h256q17.6613 -0.00268555 30.1608 -12.504q12.4994 -12.5013 12.4994 -30.1626t-12.4994 -30.1627q-12.4995 -12.5013 -30.1608 -12.504h-256z" /> <glyph glyph-name="git-commit" unicode="" d="M721.109 341.589q-14.4193 -70.6983 -75.6896 -120.734t-133.424 -50.0353q-72.1388 0 -133.407 50.0228q-61.2677 50.0228 -75.6984 120.704q-2.10632 -0.210205 -4.224 -0.213318h-253.867q-17.664 0 -30.1653 12.5013t-12.5013 30.1653q0 17.664 12.5013 30.1653 q12.5013 12.5013 30.1653 12.5013h253.867q1.87753 0 4.224 -0.213348q14.425 70.6895 75.694 120.719q61.269 50.0291 133.415 50.0291q72.1464 0 133.415 -50.0291q61.269 -50.0291 75.6939 -120.719q2.56 0.213318 4.6507 0.213348h253.867q17.664 0 30.1653 -12.5013 t12.5013 -30.1653t-12.5013 -30.1653t-30.1653 -12.5013h-253.867q-2.34668 0 -4.6496 0.255768zM512 256q53 0 90.5 37.5t37.5 90.5t-37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5z" /> <glyph glyph-name="git-branch" unicode="" d="M421.717 86.9973q-13.4067 -53.5114 -61.9371 -91.3829t-103.696 -37.8716q-70.4867 0 -120.517 49.8854t-50.2344 120.372q0.00728607 54.7278 37.5113 103.158t90.4887 62.1326v474.709q0 17.664 12.5013 30.1653t30.1653 12.5013t30.1653 -12.5013t12.5013 -30.1653 v-474.709q39.777 -10.3027 75.5558 -45.6565t46.5562 -75.0048q112.999 12.274 201.659 100.933q88.6595 88.6595 100.933 201.659q-52.0284 14.241 -88.8505 62.4964q-36.8221 48.2554 -36.8221 102.198q0 70.5052 49.8984 120.535q49.8985 50.0302 120.403 50.216 l0.200256 0.00012207q70.656 0 120.661 -50.0053t50.0053 -120.661q0 -55.3694 -38.0502 -103.925q-38.0502 -48.5552 -91.814 -61.7928q-8.5921 -96.5556 -63.4939 -182.723q-54.9017 -86.1671 -141.069 -141.069q-86.1671 -54.9017 -182.721 -63.4936zM768 554.667 q35.3281 0 60.3307 25.0026t25.0026 60.3307q0 35.328 -25.0026 60.3307q-25.0027 25.0027 -60.3307 25.0027t-60.3307 -25.0027q-25.0026 -25.0026 -25.0026 -60.3306q0 -35.3281 25.0026 -60.3307q25.0027 -25.0026 60.3307 -25.0027zM256 42.6667 q35.328 0 60.3307 25.0027q25.0027 25.0027 25.0027 60.3307q0 35.328 -25.0027 60.3307t-60.3307 25.0027q-35.328 0 -60.3307 -25.0027t-25.0027 -60.3307t25.0027 -60.3307t60.3307 -25.0027z" /> <glyph glyph-name="git-pull-request" unicode="" d="M213.333 474.709q-52.8211 13.8011 -90.2042 62.2065q-37.3831 48.4053 -37.3831 103q0 70.4854 49.8844 120.516q49.8844 50.0301 120.369 50.2358l0.168686 6.10352e-05q70.656 0 120.661 -50.0053t50.0053 -120.661q0 -54.7877 -37.5534 -103.218t-90.6153 -62.0729 v-474.709q0 -17.664 -12.5013 -30.1653q-12.5013 -12.5013 -30.1653 -12.5013q-17.664 0 -30.1653 12.5013t-12.5013 30.1653zM725.333 293.291v261.376q0 17.664 -12.5013 30.1653t-30.1653 12.5013h-128q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653 t12.5013 30.1653q12.5013 12.5013 30.1653 12.5013h128q52.992 0 90.496 -37.504q37.504 -37.504 37.504 -90.496v-261.376q52.8211 -13.8011 90.2042 -62.2064q37.3831 -48.4053 37.3831 -103q0 -70.4854 -49.8843 -120.516q-49.8844 -50.0301 -120.37 -50.2358 l-0.168701 -8.39233e-05q-70.656 0 -120.661 50.0053q-50.005 50.0053 -50.0053 120.661q0 54.7876 37.5534 103.218t90.6151 62.0743zM768 42.6667q35.328 0 60.3307 25.0027q25.0026 25.0026 25.0026 60.3307t-25.0026 60.3307q-25.0027 25.0026 -60.3307 25.0026 t-60.3307 -25.0027q-25.0026 -25.0027 -25.0026 -60.3307t25.0026 -60.3307q25.0026 -25.0026 60.3307 -25.0026zM256 554.667q35.3281 0 60.3307 25.0026q25.0027 25.0026 25.0027 60.3307t-25.0027 60.3307q-25.0027 25.0027 -60.3307 25.0027 q-35.328 0 -60.3307 -25.0027t-25.0027 -60.3306q0 -35.328 25.0027 -60.3307t60.3307 -25.0027z" /> <glyph glyph-name="git-merge" unicode="" d="M602.283 86.9973q-78.4632 6.91563 -167.423 56.4209q-88.9595 49.5053 -136.193 112.539v-255.957q0 -17.664 -12.5013 -30.1653q-12.5013 -12.5013 -30.1653 -12.5013t-30.1653 12.5013t-12.5013 30.1653v474.709q-52.8211 13.8011 -90.2042 62.2065 q-37.3831 48.4053 -37.3831 103q0 70.4854 49.8844 120.516q49.8844 50.0301 120.369 50.2358l0.187592 0.00012207q70.656 0 120.661 -50.0053t50.0053 -120.661q0 -54.1244 -36.9839 -102.405q-36.9839 -48.2802 -89.241 -62.3742q12.274 -112.999 100.933 -201.659 q88.6595 -88.6595 201.659 -100.933q14.241 52.0285 62.4963 88.8506q48.2552 36.8221 102.198 36.8221q70.5052 0 120.535 -49.8985q50.0302 -49.8985 50.216 -120.403l0.00012207 -0.200241q0 -70.656 -50.0053 -120.661q-50.0054 -50.0053 -120.661 -50.0053 q-55.3695 0 -103.925 38.0502q-48.5552 38.0502 -61.7928 91.814zM768 42.6667q35.328 0 60.3307 25.0027q25.0026 25.0026 25.0026 60.3307t-25.0026 60.3307q-25.0027 25.0026 -60.3307 25.0026t-60.3307 -25.0027q-25.0026 -25.0027 -25.0026 -60.3307t25.0026 -60.3307 q25.0026 -25.0026 60.3307 -25.0026zM256 554.667q35.3281 0 60.3307 25.0026q25.0027 25.0026 25.0027 60.3307t-25.0027 60.3307q-25.0027 25.0027 -60.3307 25.0027q-35.328 0 -60.3307 -25.0027t-25.0027 -60.3306q0 -35.328 25.0027 -60.3307t60.3307 -25.0027z" /> <glyph glyph-name="linkedin" unicode="" d="M682.667 554.667q123.648 0 211.157 -87.5093q87.5093 -87.5093 87.5093 -211.157v-298.667q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013h-170.667q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653v298.667q-0.00262451 17.6613 -12.504 30.1607 q-12.5014 12.4994 -30.1627 12.4994t-30.1626 -12.4994t-12.504 -30.1607v-298.667q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013h-170.667v0q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653v298.667q0 123.648 87.5093 211.157 q87.5093 87.5093 211.158 87.5093zM896 2.00117e-05v256q0 88.32 -62.5067 150.827t-150.827 62.5067t-150.827 -62.5067q-62.5067 -62.5067 -62.5067 -150.827v-256h85.3333v256q0 52.992 37.504 90.496t90.496 37.504t90.496 -37.504t37.504 -90.496v-256h85.3333z M85.3333 512h170.667v0q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-512q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013h-170.667q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653v512q0 17.664 12.5013 30.1653q12.5013 12.5013 30.1653 12.5013z M128 426.667v-426.667h85.3333v426.667h-85.3333zM170.667 554.667q-52.992 0 -90.496 37.504t-37.504 90.496t37.504 90.496t90.496 37.504t90.496 -37.504q37.504 -37.504 37.504 -90.496q0 -52.9919 -37.504 -90.496q-37.504 -37.504 -90.496 -37.504zM170.667 640 h0.00653076q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5014 30.1653t-30.1653 12.5013h-0.00653076q-17.6613 -0.00268555 -30.1607 -12.504t-12.4994 -30.1627t12.4994 -30.1627q12.4994 -12.5013 30.1608 -12.5037z" /> <glyph glyph-name="hard-drive" unicode="" d="M976.427 403.883q4.90674 -9.28748 4.90674 -19.7914l-0.00012207 -0.091217v-256q0 -52.992 -37.504 -90.496t-90.496 -37.504h-682.667q-52.992 0 -90.496 37.504t-37.504 90.496v256l-3.8147e-06 0.0174561q0 10.5386 4.90667 19.8652l146.773 293.12 q14.6134 29.3809 48.1795 50.183q33.5661 20.8022 66.3806 20.8143h406.187q36.4231 0 67.3846 -19.1888q30.9615 -19.1889 47.1327 -51.7231zM869.589 426.667l-116.352 232.32q-4.8631 9.78693 -16.0394 16.7252q-11.1763 6.93817 -22.1047 6.9549h-406.187 q-10.9285 -0.0166626 -22.1047 -6.9549q-11.1762 -6.93829 -16.0393 -16.7251l-116.352 -232.32zM896 341.333h-768v-213.333q0 -17.664 12.5013 -30.1653t30.1653 -12.5013h682.667q17.664 0 30.1653 12.5013t12.5013 30.1653zM256 170.667h-0.00653076 q-17.664 0 -30.1653 12.5013t-12.5013 30.1653t12.5013 30.1653q12.5013 12.5013 30.1653 12.5013h0.00653076q17.6613 -0.00270081 30.1607 -12.504q12.4994 -12.5013 12.4994 -30.1626t-12.4994 -30.1626t-30.1607 -12.504zM426.667 170.667h-0.00653076 q-17.664 0 -30.1653 12.5013t-12.5013 30.1653t12.5013 30.1653q12.5013 12.5013 30.1653 12.5013h0.00653076q17.6613 -0.00271606 30.1607 -12.504q12.4994 -12.5013 12.4994 -30.1626t-12.4994 -30.1626t-30.1607 -12.504z" /> <glyph glyph-name="more-vertical-" unicode="" d="M512 298.667q-35.328 0 -60.3307 25.0027t-25.0027 60.3307t25.0027 60.3307t60.3307 25.0027t60.3307 -25.0027q25.0026 -25.0027 25.0026 -60.3307t-25.0026 -60.3307q-25.0027 -25.0027 -60.3307 -25.0027zM512 597.333q-35.3281 0 -60.3307 25.0026 q-25.0027 25.0026 -25.0027 60.3307q0 35.328 25.0027 60.3307t60.3307 25.0027t60.3307 -25.0027q25.0026 -25.0026 25.0026 -60.3306t-25.0026 -60.3307q-25.0027 -25.0027 -60.3307 -25.0027zM512 -2.00117e-05q-35.328 0 -60.3307 25.0027t-25.0027 60.3307 t25.0027 60.3307q25.0027 25.0027 60.3307 25.0027t60.3307 -25.0027q25.0026 -25.0026 25.0026 -60.3307q0 -35.328 -25.0026 -60.3307q-25.0027 -25.0026 -60.3307 -25.0027v5.75293e-06v1.32586e-07z" /> <glyph glyph-name="more-horizontal-" unicode="" d="M512 298.667q-35.328 0 -60.3307 25.0027t-25.0027 60.3307t25.0027 60.3307t60.3307 25.0027t60.3307 -25.0027q25.0026 -25.0027 25.0026 -60.3307t-25.0026 -60.3307q-25.0027 -25.0027 -60.3307 -25.0027zM810.667 298.667q-35.3279 0 -60.3306 25.0027 q-25.0027 25.0027 -25.0027 60.3307t25.0027 60.3306q25.0027 25.0027 60.3306 25.0027t60.3306 -25.0027t25.0027 -60.3307t-25.0027 -60.3307t-60.3306 -25.0026zM213.333 298.667q-35.328 0 -60.3307 25.0027t-25.0027 60.3307t25.0027 60.3307t60.3307 25.0027 t60.3307 -25.0027q25.0027 -25.0027 25.0027 -60.3307t-25.0027 -60.3307t-60.3307 -25.0027z" /> <glyph glyph-name="rss" unicode="" d="M170.667 384q-17.6613 0.00271606 -30.1607 12.504q-12.4994 12.5013 -12.4994 30.1626t12.4994 30.1626q12.4994 12.5014 30.1607 12.5041q115.907 0 214.193 -57.0941q98.2857 -57.0941 155.38 -155.38q57.0941 -98.2858 57.0941 -214.193 q-0.00268555 -17.6613 -12.504 -30.1607t-30.1627 -12.4994q-17.6613 0 -30.1626 12.4994q-12.5013 12.4994 -12.5041 30.1607q0 92.6718 -45.696 171.307q-45.6959 78.6348 -124.331 124.331q-78.6348 45.696 -171.307 45.6958zM170.667 682.667h-0.00653076 q-17.664 0 -30.1653 12.5014q-12.5013 12.5013 -12.5013 30.1653t12.5013 30.1653q12.5014 12.5013 30.1653 12.5013h0.00653076q147.571 0 281.893 -57.4414q134.322 -57.4415 231.44 -154.559q97.1177 -97.1177 154.559 -231.44q57.4414 -134.322 57.4414 -281.893 q-0.00268555 -17.6613 -12.504 -30.1607t-30.1627 -12.4994q-17.6613 0 -30.1627 12.4994q-12.5013 12.4994 -12.504 30.1607q0 130.203 -50.6862 248.722t-136.38 204.212q-85.6934 85.6934 -204.212 136.38q-118.519 50.6863 -248.722 50.6862zM213.333 2.00117e-05 q-35.328 0 -60.3307 25.0027t-25.0027 60.3307q0 35.328 25.0027 60.3307t60.3307 25.0027t60.3307 -25.0027q25.0027 -25.0027 25.0027 -60.3307t-25.0027 -60.3307t-60.3307 -25.0027v1.32548e-07z" /> <glyph glyph-name="send" unicode="" d="M923.691 850.645q7.26105 2.73065 15.0187 2.73065q17.6639 0 30.1653 -12.5013t12.5013 -30.1653q0 -7.75763 -2.73065 -15.0187l-298.368 -852.48q-9.60223 -27.3344 -38.5493 -28.512t-40.7253 25.312l-164.011 368.981l-368.981 164.011 q-26.5007 11.7744 -25.3227 40.7413q1.178 28.9669 28.5653 38.5333zM776.277 708.651l-575.275 -201.387l258.901 -115.029zM836.651 648.277l-316.416 -316.373l115.029 -258.901z" /> <glyph glyph-name="shield-off" unicode="" d="M781.79 174.592l0.426636 -0.426666l229.291 -229.333q11.9771 -12.4007 11.9771 -29.641q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013q-17.2403 0 -29.6411 11.977l-198.528 198.528q-40.5152 -40.8131 -105.185 -88.6932q-64.6694 -47.8801 -115.53 -74.7201 q-9.34607 -4.93229 -19.9139 -4.93229q-10.0736 0 -19.0835 4.50562q-29.1624 15.0562 -56.8747 32.64q-65.043 40.4468 -122.837 90.7093q-185.216 162.193 -185.216 341.461v298.667q0 10.6257 4.992 20.0107l-120.491 120.491q-13.0261 12.5807 -13.0261 30.6901 q0 17.664 12.5013 30.1653q12.5013 12.5013 30.1653 12.5013q18.1094 0 30.6901 -13.0261l158.507 -158.507l1.32266 -1.28003zM213.342 622.336v-238.336q0 -140.662 156.117 -277.205q66.1894 -57.6049 142.507 -100.907q41.2907 23.264 94.134 63.5433t86.218 73.9287z M512.009 765.099l-119.893 -44.7574q-7.22275 -2.698 -14.9333 -2.698q-17.6681 0 -30.1724 12.5043t-12.5043 30.1724q0 12.2609 8.12878 23.9746t19.6146 16.0041l134.827 50.3467q7.23239 2.70667 14.9547 2.70667q7.72229 0 14.9547 -2.70667l341.333 -128 q11.4641 -4.29724 19.5774 -16.0032q8.11328 -11.7059 8.11328 -23.9489v-0.0266113v-298.965q-0.329712 -49.9762 -15.1467 -97.7067q-3.92358 -12.2929 -15.8331 -20.9931q-11.9094 -8.70013 -24.8134 -8.70013q-17.6639 0 -30.1653 12.5013t-12.5014 30.1653 q0 6.29828 1.81976 12.3279q11.0328 35.5154 11.3066 72.704v269.099z" /> <glyph glyph-name="shopping-bag" unicode="" d="M929.877 665.941q8.77588 -11.4861 8.78937 -25.9413v-597.333q0 -52.992 -37.504 -90.496q-37.504 -37.504 -90.496 -37.504h-597.333q-52.992 0 -90.496 37.504q-37.504 37.504 -37.504 90.496v597.333v0.003479q0 14.4582 8.78934 25.9379l127.744 170.325 q12.8 17.0667 34.1333 17.0667h512q21.3333 0 34.1334 -17.0667zM810.667 682.667l-64 85.3333h-469.333l-64 -85.3333h597.333zM853.333 597.333h-682.667v-554.667q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013h597.333q17.664 0 30.1653 12.5013 q12.5013 12.5013 12.5013 30.1653zM640 469.333q0.00268555 17.6613 12.504 30.1607q12.5013 12.4994 30.1627 12.4994q17.6612 0 30.1626 -12.4994t12.504 -30.1607q0 -88.32 -62.5067 -150.827q-62.5067 -62.5067 -150.827 -62.5067q-88.32 0 -150.827 62.5067 q-62.507 62.5067 -62.5067 150.827v0.00653076q0 17.664 12.5013 30.1653t30.1653 12.5013t30.1653 -12.5013t12.5013 -30.1653v-0.00653076q0 -52.992 37.504 -90.496t90.496 -37.504t90.496 37.504q37.504 37.504 37.5048 90.496z" /> <glyph glyph-name="terminal" unicode="" d="M140.501 652.501q-11.977 12.4008 -11.977 29.6411q0 17.6641 12.5013 30.1653q12.5013 12.5013 30.1654 12.5013q17.2403 0 29.641 -11.977l256 -256q12.4922 -12.4961 12.4922 -30.1653q0 -17.6693 -12.4922 -30.1653l-256 -256q-12.5806 -13.0256 -30.6896 -13.0256 q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653q0 18.109 13.0256 30.6896l225.835 225.835zM512 42.6667q-17.6613 0.00270844 -30.1607 12.504q-12.4994 12.5013 -12.4994 30.1626t12.4994 30.1626t30.1607 12.504h341.333 q17.6613 -0.00270844 30.1607 -12.5041t12.4995 -30.1626q0 -17.6613 -12.4995 -30.1626t-30.1607 -12.504z" /> <glyph glyph-name="truck" unicode="" d="M924.288 170.667q14.3787 -30.3508 14.3787 -63.935q0 -61.824 -43.7547 -105.579q-43.7546 -43.7547 -105.579 -43.7547t-105.579 43.7547t-43.7547 105.579q0 33.5843 14.3787 63.935h-284.757q14.3787 -30.3507 14.3787 -63.935q0 -61.824 -43.7547 -105.579 q-43.7547 -43.755 -105.579 -43.7547q-61.824 0 -105.579 43.7547q-43.7547 43.7547 -43.7547 105.579q0 33.5844 14.3787 63.935h-57.0453v0q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653v554.667q0 17.664 12.5013 30.1653 q12.5013 12.5013 30.1653 12.5013h640q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-170.667h128q17.6717 -0.00384521 30.1653 -12.5013l128 -128q12.4974 -12.4938 12.5013 -30.1653v-213.333q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013zM640 554.667v170.667 h-554.667v-469.333h554.667v298.666zM725.333 512v-256h213.333v153.003l-102.997 102.997h-110.336zM234.667 42.6667q26.496 0 45.248 18.752q18.752 18.752 18.752 45.248t-18.752 45.248t-45.248 18.752q-26.496 0 -45.248 -18.752t-18.752 -45.248t18.752 -45.248 t45.248 -18.752zM789.333 42.6667q26.496 0 45.248 18.752q18.752 18.752 18.752 45.248t-18.752 45.248t-45.248 18.752t-45.248 -18.752t-18.752 -45.248t18.752 -45.248t45.248 -18.752z" /> <glyph glyph-name="zap-off" unicode="" d="M283.614 552.064l-271.104 271.104q-13.0261 12.5807 -13.0261 30.6901q0 17.664 12.5013 30.1653t30.1653 12.5013q18.1094 0 30.6901 -13.0261l298.368 -298.368l0.682678 -0.682678l340.651 -340.651l0.682678 -0.682663l298.283 -298.24 q12.5099 -12.5012 12.5099 -30.1867q0 -17.6676 -12.5039 -30.1714q-12.5039 -12.5039 -30.1714 -12.5039q-17.6678 0 -30.1653 12.4886l-265.643 265.643l-183.424 -220.16q-15.0867 -14.8199 -32.7617 -15.4596t-31.2731 13.5822q-13.5981 14.2218 -11.0586 34.5173 l36.6933 293.376h-335.701q-17.6574 0.00660706 -30.154 12.5079q-12.4966 12.5013 -12.4966 30.1587q0 15.4417 9.88268 27.3067l188.373 226.133zM344.201 491.477l-125.099 -150.144h275.2l-150.059 150.144h-0.0420227zM553.011 282.667l-23.296 -186.24l95.232 114.304 zM483.806 658.773q-12.8057 -15.3969 -32.832 -15.3969q-17.6793 0 -30.1914 12.5121t-12.5121 30.1915q0 15.4377 9.87158 27.3066l103.68 124.587q15.087 14.8437 32.7632 15.5007t31.2841 -13.5507t11.0886 -34.5047l-25.1733 -202.667 q-1.52271 -15.9893 -13.9678 -27.3054q-12.445 -11.3161 -28.5067 -11.3161q-17.6641 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653q0 3.2442 0.490479 6.45087l7.25333 58.2827l-10.6667 -12.7573zM668.169 426.667q-17.6613 0.00274658 -30.1607 12.5041 t-12.4995 30.1626q0 17.6613 12.4995 30.1627q12.4994 12.5013 30.1607 12.504h227.84h0.0195923q17.664 0 30.1653 -12.5013t12.5013 -30.1653q0 -15.4732 -9.91827 -27.3493l-103.68 -124.16q-12.7969 -15.3324 -32.768 -15.3324q-17.6702 0 -30.176 12.5057 t-12.5057 30.176q0 15.4714 9.9137 27.3493l45.2266 54.144z" /> <glyph glyph-name="youtube" unicode="" d="M1003.09 632.448l0.640015 -2.77332q20.2913 -112.541 20.2913 -226.897q0 -3.98792 -0.0246582 -7.94067l0.00671387 -4.14117q0 -116.148 -20.9134 -230.397q-9.46387 -37.6442 -42.6174 -71.6853q-33.1534 -34.0411 -70.5346 -44.496 q-45.2421 -12.0844 -184.619 -17.3653q-97.2285 -3.57427 -194.523 -3.57427q-29.63 0 -59.2585 0.3316q-70.858 0.868193 -132.907 3.24267q-139.656 5.36108 -184.832 17.408q-41.1235 11.28 -71.2065 41.6671q-30.083 30.3871 -42.2868 73.8316 q-20.3325 112.641 -20.3325 227.102q0 3.84637 0.0231444 7.69272q-0.641471 117.71 20.9067 236.288q9.45839 37.6357 42.5995 71.6768t70.5099 44.5045q45.2313 12.0814 184.619 17.3654q97.667 3.60669 195.403 3.60669q29.166 0 58.3359 -0.32135 q72.7106 -0.82312 132.821 -2.94397q139.051 -4.81793 185.344 -16.1707q37.2133 -10.5282 70.1917 -44.5319q32.9785 -34.0036 42.363 -71.5215zM920.021 612.949q-4.44592 16.9178 -19.4474 32.457q-15.0016 15.5391 -31.7526 20.5776q-36.3031 8.8183 -166.571 13.3547 q-95.0735 3.16754 -190.199 3.16754q-29.705 0 -59.4014 -0.308899q-70.8321 -0.881226 -130.688 -3.15735q-129.931 -4.94781 -165.248 -14.3787q-19.4439 -5.51013 -33.6545 -19.7291q-14.2105 -14.219 -18.7402 -32.111q-19.0021 -105.333 -19.0021 -212.367 q0 -3.04443 0.0154877 -6.08652q-0.702179 -110.115 17.9627 -215.467q5.43334 -19.1125 19.5742 -33.121q14.1409 -14.0085 33.2044 -19.2309q35.9987 -9.62981 165.845 -14.5067q95.7487 -3.52123 191.562 -3.52123q28.9348 0 57.8677 0.321236 q70.8304 0.881126 130.688 3.15733q129.931 4.94783 165.248 14.3787q19.4439 5.51015 33.6545 19.7291q14.2105 14.2189 18.7402 32.1109q19.3077 106.96 18.9867 216.747q0.0230103 3.70682 0.0230103 7.41623q0 106.137 -18.711 210.61zM437.12 218.069 q-9.80276 -5.56963 -21.0773 -5.56963q-17.6559 0 -30.1572 12.4956q-12.5013 12.4955 -12.5095 30.1514v279.04v0.0229492q0 17.664 12.5013 30.1653t30.1653 12.5013q11.2746 0 21.0773 -5.56964l245.333 -139.52q8.95471 -5.07492 15.2923 -15.951 q6.33752 -10.8761 6.33752 -21.1689t-6.33752 -21.169t-15.2923 -15.951l-245.333 -139.52zM575.061 394.667l-116.395 66.1333v-132.267l116.352 66.1333z" /> </font> </defs></svg> PK�x�\PWH�S�Sfonts/iconkit.woff2nu�[���wOF2S� ��S^?FFTM V�r ����@�*6$� ��(���I��lF+*jIl����=9�����}Z*"t� �Ȋ�mXv܂.���"3SLPI坪�Wb4��/��ڴS7�'��1%TL�u�e�C��;�����]�n���p�?�[6.c$+''/<Ov���@��ĭXr"h�&������/��_�C]zZ�5����N.ث��鸴ä;���p�={P(P;^�Վ4@ T��yko@o�}� j`�༒�����c��;��0rD����Xw!������1��dȁGQIutGmB����n��~/�y��T���u��Z�$;��G�ě�$�0H��~ �����ö1.bVi���1���x�g!/���[�ϰW��s"+�=�����3 �"Җn����/�F����nEW|&�De[j�9�A&�(&�8�������/��y�N�~��e�ON��j�v��ފk�"�u�e�d��U]�e@B$���Z��f�L�A�f��oIj�:#w�к�X��t�y����mkU!�c�"� ���}��߯�!s��J���f0bD��mw�͚two�)�ϰB��I*����?F˾90(^1��4v�\�Xg!$�|�v�{2�������*�`t*r��A0e}$���r@��_KP�l�C`���ϴM��JF^H*sQ�����Ģ�a��k���,맮4ӄ�XӻBiJW�qBx�����d����_ۭ��JWu:�� ��$���Uݴ]?�Ӽʸ�J�n�q^��~ #(�$E3,��$+���u<_��g;��a'i�3\�Uݴ���4/��5B0�b8AR4�r� J��j�aZ��z~Fq�fy�)��i�~��n8�Η���0��4aBRic]^�Uݴ]?�Ӽ��~���?��yd��X$X$E3lN.n^> ��].�p��p������O��WQ=i�d�I~/]�{�̽Z��AXSQ ��f��S��n#�f'�F�zZ���Og ��Lk��h26��1 �T�$0W���u3@$�em.�`F����{dԠh�`Y�F#����f�L�j B�t�'ݮ�Ҕ��N+��ܦ�2e�)�S��.@�ja��S�'� ��߬��,,����q��S��d�k���{�5:YN s"cN����ŁsK��S�[�uV�!ާ��r��`r�e�[O��~�Њ�/�K߃y8���9"e���Y�I9�� ��M��G��^�������@���L8���j������^�`���m9W��<$����� N��"a-9�<z��"�;�R�<1�>���,�Up��1o��^������,�G��0AP�� �3�^�ʹ'щs�&,���2�����G.��?�~��e�?�-|���DX�Gl�&���W9ƹ����~o��� z8��9�!n���*�N�%jkU�k-��8k S�Un��i�E��Vm.كx�/�͛R�a7w^\.�Z>f(>�Ҳ�W���L�����*�{��1�.���.%�����Ĝ��e�{�l�*Oz~V"�V�|vژ�|�ʓ�9��8�@�z;�BKF��S�.~���蔿'TK�)���u��~�� s���I���?>��H��ж��V��9�/cC�B܉R���!�f+Ɯ��6'��{�#���#� �� ��������ҹ-�P�"�ʝm]�m�!JS�N�aS+�s7����Q�vq��m�������j��ֺh��t��,c� ![PI!.�Qռ��sm�B!^���k�Ɍ'-I��Pd?S���2R�Vn��:�R ��0T��o-'�:�B�B�`��j��m�tq�+���v->y��n�P��D������?�� ���B�@�Ŵ60�%�*�y�����B6C�U��!�y��u��*���[nY?���&�j$��YAHQZ��LB<��%G��`�� ��,V�ޓ��&��:b)tLP�[��T?oG��W�,�l7��|-��l��Q�T�U�d�t֖����b�h��b�*@��X�{�E����.�E���@бV��7k�����2�l�$d�d�O�l!Q1 ���$�Y�q����U����@��2P�d��H�az�n��XYP��.g�W�wkI���+,b�1`�f(�%�k4q�[�X�,��{�ly��4�����)I��웼��LwYh�w�.JR�3�V�AX����� �">���}p��(.)/n]�l �]�O���>i���x������Z��4?��B�"P5����jԎ�g/p��@��֖�v�.'x��j{�Dm�����mNTo��]�Ш40Pf�2<�NK�#�#�IJ�B0�r*)D��m}yZ�Y��$0�?�>W��NNB�q3.F����SM����dž*�����/��0����x�e����1��|QF��T��������N�spm�-�Ln�<#ڠ���%ϱ��8�����%���r�sE2"���Dz���=�>��|Gw�"��(h� wC@��Lctl�6�(Kd�j��B�Ё@55j(E:�.cW؈��(�\��bu&Жh�0o�">�7��h�F�-Hљh�{� ��i�&�'����5"Lr)9���h���u����?���*�3�l�V�����C B����Ul�i�g<E�3| �i}�Jl`��i�N��j�6�"���L[�54�iQ��i��ݥ�5����:�͎�m���}f0��m8�mF������^��ۧk>�\R�����y}�[+QY5NJ|)֤J�C@�$� �9%�'4ٶ���0�Vr��'��Q��#Z�������|�+�K �٦��S4tͱ�l�0`:`�8�1�vKbp��$������1<�+If=5��m�к}[ʜ��Σv�k��pm=w�碰 <)��$+ew�ʧ���@˲#��O&>�����#J�����TT�o���w�JJ1Q�lm%�20�$%삒r+PƪjzE�da}<�4�%t���X�ެav�s�?E�!Yq��*�d�'Sn�xK#�i�ڶ5����)�(��� ���_N�?���mjqIq���KEV��#|_!����&�@���m��U��D�*9lϯ����Bt>IVj~`�{���ђ�o�}q���b[IK��b�!%��R"K��z��j}U5:��7�RT(�0�c��1P&��Wr7�nwf��f���=� ��Ĝ{�*�R]�8��R�c+ �S�;6d�7N�cJ��V��Em+ג�R>6�����!\\2eLm?2�l:�3���Ʈ 7��z�WxH܁uh�EЭ�i@b��a;�3{?x�u��z��i��ٻ�*r��홏j���qe�>��ζ:-@l|ơt�B:^�a�@O��\ll�_�@4'���k� �8���ء��?�Ԣ�#��'�?��xn��I���]Z� �w��_�=Ԑ^�j}��.��'�L��W���O��W'�3���/���"�p�M��As����|Ö��E�f籢!P��;_H3[c�Zك��//9m�('}��1���I���t�@:~|�ߟ��Ɣ�'�}��W���9�6�� iC��d�-j��w$�a�ʐ��띓x���X����^ �C}'�ŵ�kdVh��^� a����+Ӷ�6�$?�Tρt����v�P6�PH,͘P�Ĝ*h)Պ�l:{�����;0��r�"�)R�;�8��V.�~��_\�{οW��M�;6H��=�+����%[ ��mJ��}���X:Aݬ�A-=�mY��/�VԱ����þ ��{�u� ���ӧ��)%dv�9���,244%'��������eQ2�UW��u $l@t���E��2���[���v+J�su6��NY�e��u���~\���۽��~�|]�j�g�����:�G���j�]��pXR50N8�5BWV����#�Z曞܆���&�9v��<<�=��EC�D�6^Y�f9D�/n���m*�t���wv.ͱ�B�fh�U�vGN�RM ����d�l�T���[^Q�9�\I��%�V�Unj�v�9��������apu�q��t0�� � ol?>�|L!YQ4x�B�"hd�"�<�l�b ���;fh�Y"�k2x;U�H� cv�r>܇}�&���[Z�G�]���w�UmΗ~�9���[�.��}������s�ۀ;�y�nG�e ����f�����DegD��6�6@�m������7x%8v��n|��ס�3����0�j��� �G:W�(*h�&�k�n���sq\���%�j���U�8�Zr�83�Fd��p��H�h�XXVc�yM��b�#����g�,yζ�r�#�c.����Y"�RU5��&?�^�]Aq��5U�}@Gmɦ���������}�u֦kq�7��Sl�#ԅG�o�~/p(��e<(�)=̺�����;\1KD������ �DR��U�ɍ�⌤��8�иI���2DfH�kP6��w��Z��P8��s|�J ��$_O�=i��8�jk(���y��50��!��ւK��/�ąi� ��Ol����g�;ב�LF�SI��F��6oe�s���/��%����t����Gaɸ�~����Tq��>���յ�����vZKok2�&=�7_�t��i��� �4�pW��.��f��ж� �Z{�ܛ�GM�-���8��jΎ.=)�m���y,(���������O!�8sNv=$umE-[�.�v���:p�(d����v��\��; �w�Y�1B+�/PV�՞�t�E�C���G���O�/]ce��V�� Iz�=����g_NQG��v� ��\3X�>��-p�\�Q��fO �s��ނ����dV!]��b�O��ǁ���ggk�_Q��_�1�N���|�Z�*�٘z��(���i�".d��@n��1�- ?Yot'��}h�BQ�$d�'N�g�]� ���\�"���ņ�ǐ�u���a��k��ϛ�t��t,�ceT^ڡ.r�\t��! 7�"`H���,t ��D��3/��"�� �&�D�DB�kf��ݕ��o�NM� ���b{%�)�)��j m)�dF��&�����#P�t�%k�ߤ���\hO���a-����(C��<7�=��:ɁZ��Z���>�І��]���n�It��W^�b�)Z֜���~א��b���m��v삀��-���Ab#�c�l)F��]^�Q���F= ��Dv�mW���h�ʹܶ��chȅ�=*��5VD�Y�g�G,bw 5Y�q����9����o�GX����9�ð��:��/�����ge�o�<#���Ǎ��Vh50a�ex�0 �1nܧ� :f�0z�es�Y�,�R},�1D煆��� �O�����=��q�!丟F]�gC�;����vR�G���V�or��6�u�c�lC>��rK�:���Dֽ!2��_�K����4>��BIť`�� ��Y��BN3�ԿW�+]���fU��v�rPzV�±j����zɬ��M1ߒ�//�(�y'����JI�tZ��#/�7���k�^�$�^��3p�gK�[$;�T��B�"�mHF�B�b�qoʕ�+Q��'��e�ɛ/w� �E&70��MZXL��C�~�GÕu-M̂^��U�]C��-Ωlq�hk�+��b;��� ��I�C���<s��,F�i �v�?��j�r=���'��B/T�&m匨�A k<~i)2̡��q�.�0�!9�}��:��v�v���89�"�҉;���ь�7ݮI;�DB�.f���5�U?�8��'�)�!��b�p���x=b��/�o��}oi��q��#��y{�q� ϔHf���w�q�2����!���:r�{セ��Ϫ����\I�K��[��,_�H�Хh��7p)wq����2�N��h��J���3���O��y�y���B��a ���mn#�[��˜�`����t�ق��S�8�āۅB��37�=��[�#ͱF�i�� �#�DZi��kJd��(�y��m�ktdvR��#���D_��M���'@�"��}��2��A<���?��E�~r��,&�<'}0�L�&(��e���F~w+�J�-�>�rA�B�= [Ý�m\]I�}�M�/���q{d�6�kZ�N� �N� gY�媣4t�Ϥs_����dQ�|�7~rb�k�y���7n����7�/���J�?�hg��>آ����(O�Q�T[ʺ2�*�<�I�l���E"��>( ��ٗ�C��p͇࿂�V�X����s�:2J $O�_�h}5�QC͜�h�V$�?��v��,er��/a�e��q��So�4k�#9���D� ��u�Ű�㦔�Y6��/��'�_�}���������՚�/,2��P=��߂q�fe��\5K��ׇ�_�j*�sۡ*|W��i5���"��V��mb���M+-@�;�E�i��� :X`%(��)KtF:Dx��f'�v���(�uͨ�Q*� Pu��F匳�vڭ�e��[}�ƺ8�`xD_���9��9U8��u����w0���S?� {�`�6v�����i��d�$4�W^[\���:�p �P�2%��V�1���\���gw���2n׳Q��@/��ImD�4�F{48�YO\�L�d-D�2v���e���#=*�}_6�d(�'�� ����@I!�����h �@�W���C��a��/��/�QW"`?6�o(�ҏ��#����JN����1�䡗x�%5�/>t�M,P�m�.�Z(� ���H�R��<�|uk�|�����҂"\|_�ŗɞ��Q�J������f��$+p%F���H�Z�� [G�E44�$��pW�>I������]���;qC���(���xG'������O{�j���5T��h)��5"�rr�J0�u����r�4��Z����Mݚ��+�@ ɞ}��}�i�ۂa�ȄL��э��n�ܤ�,=QR�#�:S�����30�*|F��@�>�^��r�kg|�����ˣs�L��"�'6լ�,�>3�Z�VO��Z8��]XZ���������{�6v�����g�#I�d��,ʉΊ��IP�[��)�� /��Z�g6+/������Ƭ��n�K��seU�=[�L�%��j��u ��5���}L��ye��� �Z��ys7%)�~Z�}��:���"j��__1h�(�a��}��Ĥ0�ƿLk�ع![�uA��������hZu��x���뽮6x��G��se-8�r���9��yU�)��)}@� ��qɾ`�8WE����)h�uh/�u��+��H���W��0��X���#� ���~� S�����h�Ǩ({K��h�l=�Y-�=�Ӷ�L�*Zڳ�Y�g��Q+]��MV�}��$�SY6]��A�a�\?H�Z�R Z�0�r���xQ�F�n>��y�nΥ�Ϩd�qlS��L���'��O��a�aH� ������N�!�R��1���BO�:j@3�Ƹ�5D���Ԛ�ʟwO�I��f�zJܺI�A�{"��_ҧg��{ȯ�p�Q)o�ْ�3!���Vm�ڡ�B���q��نD�Լe�_Q6��Ϣ��NzkU��c�������ر��l�CM28(�`��_�'ө�WbQ�a�2�����KO�l��Y��*X%�Ar��� �k9I�%l�0p�|;�w�dC��{;~��ч]$ދ�[!}1b��"҆,�4�R᧬n�!������}��C�>U6v���z*98��i�|*>qr�S� i�;*�q���{�P�N�] ���.��\����mJ�]ʹ��-�S���y�guID�{۩��)����l��mm�C�[��ɧ�x�?����& �2w&&�l��%~2l��~�G��_�f�D���-���k�L}�:�W��>��{��it+('���n�.=sM����\�U�lM�l�1�̱Z��U���9�ppi���w��g��N�uel�駻�ʠ��?���Om �&�%~,���xm��j�%�+�d�eH���kL�9&F�Z�E�h������;���ja4V����j�p�,|���_��{�丵��b���gX����g�9�����}2��l99]�=w�N�& �b�ňfQ�4�0C5��E#ۛ��P�� z)���S7ʼn8������ ty[�o�������f��z�Vb5��HG��-�m`?�f��TlüWd>Z�tn��z<P�S�DB�'�z���jsm ���ފ$v�I��pօ�S�����m�����%�]{�/�8��Z\R�7���8T� �%�֩�C���TPC�7�(p�F�*�aZ��� t��05j�[Z�(�R��hnT�KY%�&���6{�]8��ͩ�Y�WG�l-�vݚu4��xt�x^#�)M�G��12�,�Ư5l�qV��3sy/�y�N���.��+nӤq����4B�h���� �:���"��)��`2"�U+$�ĉ鏊�y�S">*F���?pă�fJ�:�e�kώ��L��.�B����>��̙R����u�� K�^&���4Տ%����^�@(&�Z���Z��6���nf�%����70���>94�˴ >\�?9��Sc�21����¹����`v>n�غ����t����n�e>J�W}� ���rf\���H���e�7�%ް�G��EŮ�öO���ڕ�d���ω�8}�g��m�eG���E�(:}�f:⇀{� ���YԄ�2x�S�<|s"��8�sͷ��3�ЕZ����|��?�����ia!UDz�B%sBC���t�����A���)�kq�+P���x��G��kQ��Y�,��ɒ��{��JY�(j�-0#� ��x��gO���t���.d��8%�%Q[�@#�������SmhJ#�m#HhC��(j @���+�`�#��y=n�*��=�.~M�� ��kig�[�ڪ���nڴUc�����\�p�c'�ؽZ�&�Y����� ��'^[m 纟�b yD�Q�|���Ru���6Tè^%B .���V����tRL��ߏM�M����5i��1��+�j3����Zb���O>�1A��ΐ�4�a��-��ĺ��#�����}�J�'b��-ZѷOt���Z�E$<t��e�i���%k�(�_���f�5qu �u�����sk���Y��Nr�Hz>�y{W�b�Y��F�ߏ�np�){63ׅ���K��rEiZ�����_����Ne�^�)�L8wY_��'�Z�ހ�/͑N*b�Ia��^��/2'>�����A��ujSS�u����& =��5;����-�52�,Y31��Ēk,Ƹ�WA���mt�ٰuђ�ڏ3��� ��� ÙG�qktېr��^�ى�HMhW��ccsK:��4�!���y:A GK�����"��h��E�Y���:�5b�湁X@�ث�%�̷8�G��� Dӝ��"N�̌�O$�8�&wlm�څ�<i*���eb�������� ���Z����4����J.�> �7����?�����p�>������UX1��!#:!(}���Me�i(��u5��oh'c��-o���g�;�zw:�H[Ϟm�<��X��&I��G�(�<���ԘI0�m>Xh�~����N�o�͵:��Bۯn{E��)�I+���'�y�MM�5���%�=�jv%�x�m2�>�^��1�ZG��#Ŕ��Uc�sQW��9xW��q���T�m�-9��k���q��f��v� 6��/�9��=�~��ϾKv�,!��)ߒ��W��gŵ�T����ߒ�||t'�=��/rc6X�+�=�UL�9��I�~��w��Ԋ�q��4l�M�5�Y�VcM���.�[E6������2+�5����k�T���J�H�;��:�VCQ�+���88W�,�\�vݕ��|�Н��� *>8��nO��G�kM��#�9�p-����5�zx��I+�L-.�ň��x��D]��������_Wd��4�U�cj��7���L��(ү����.q�R�غiU)� (%P:}@���*�M( _ւQ��^��~���������GЋ���p�>WKz�*� c`�/�ss��5�Ί��MO�7c�;=��)n���Q��>�,C_sNB��@�HL}�Q�i�[��� ���}�p6jC�T���jL��Y��A/� �$墦��@��8��zD|��`�|U-�L��S�k���Me܁�"��'$�=���{��Ӫ��)k7TY�%q�k�A����Q���P�$��T�;$<��к)qQ}�Wmok�3OD��Z`턩��q�l�(N���]��'�%l���Yv��� ZE(�4)݄�0M�t1FhZ#����R��"<]��5ԉ���w��*DY�)�q���+^=�2i$��%�u7v���nky���/���ϴ�o 2��{�^���Ḗ�v�^LJ�s�o� ٩oS}K�hĿ:k�z�Z�ν��sѽi�}�� �iz},[�`�ghާA�h�}b� ��6.��b)�:CPMb�����G����`�r�C#��F�b�-��H���w�6x"O��\Ҷ4��KQvQ��N>X�g;I�ՙ7�=��h@m�.�4<^hKh(�eBC�<O �UP;�[�]l�m����3���"_�į@*�T�����/��� ���UuE�B�$3�ʌ�5e{Drѡ ;� ?�J��I��c� ��%1�a��if��P�#O�܊�.���LLjw���*j.OO_��'�|g�Ep��� >}pdO\>�ۍ���!G��E&�gJXV��<<I2s�.��C?��\jp�?r��Ȟؼe�b���s�i�'�Y�!扫��y^�W����x���j9��ۂ��_WxqNh��Aҟ�,�,:h}`����4r�}"(�w����F��wI9I2r���*��"Y��ޒ��z��˩���w��h�5����/��N��0C{|��&o�[�0�*�S��y��@�G�N�>��T�i�����T�9̝�w8�ev�SD��u�rμ���$�:~��0����X����BC�� �?)ߎ�iԷ��O���|�(�ۊ Si�u��7�k�w��aﭲ�?Ԇ�k�.7�Ui&�^��yM�^4c0;�"L� ��1�$Q�v��0vl�%�|�6,[�x�d#����Y#�HMp���F��ݭ���ݰ!��=7/hڅ� Nl��V5�Űʋ��8m^�m��)ؓv$2��� V�TJrqE�44�٦b1�oFE�M�D%�[K�٨K����-G��,��ϫz�~����D��uii�i�ui)���> 9^��yU�!���m�7�f'����x�E9�W�� �(@x�iZ��w�g�������6KL��&c�fև'5y����t����66��_)��V�7jbr�0��9��6זQ���E+�䰰7�f{ʭ����-��d�^�����?i!�+��@x��*�@~WCs�S�C���C���X�����]��S�\�z�zY�q �db����� ���7Ig��v1j�$�ݮ�6�/::h}�]t��a���G66M�6Z��>m�uܱ�����Og��v������(r���� YO�����l58�?�I�I���e�4>�mWK'��U�nWd��[e��[����9g�����튌A5Uc�)����k���@�*�p+�*�R���{F��7]K�G[p �wG"�D�-�o�Z�j� �*�������lS]!ч�E������ȇ48p^�� x� �x�IV��y�c~�!����7�k���R)�u�JB�\���ݺ��<�\�B)*4��]��qc~�=ߝ<�H���D��hطM@�[,�T���!���P˘�yFOϼ-4"Q�J�!.�o�'$�l�.��?$��%��&+ w�������j��t,zN�6�~=�����kյ����h0�F[�u sϟ/]��'ͼ��� bJ;A��MP?�ph��lz���V�cѮ��,���M�L��`��5�V���_q�v�����҅^k�5jCe2�)1l�ԯ�g�:�9�ca�՝! �k՞x|3k3��l�4K �z�ڔ��(1K��^��G�?��+u�=�&\&V�I[t����۷6�ȽiM:�ӱ��",�+b־ڰjk��U��|[�?��/y���[ӭ�3[L^��⪄�z2���?�X��G�<�*���_ag���Dg�m|dO�U�kw~R�Y��8 Y|��Ű��T�� �Åv����T�i������ԭ��Wh`�[9��N��{���ߑW�Dʻ���NwOwK���| ��s��2����ʜ��6����sw��:���@G���ÝI)+-)��3Td?�cx�:N�G&��n�^:&�����N{�x�YEL�H��>L�3vۤ����i|R@�I����vD(���JLA� 3K�^G�Or��2�2�U�W�4$??�'&6�Գ][]V22RRV�m�,m��q���m>�]]�t���vS�j��Z��o�����>\�W�_��/���^)rR��V���*Qx5�1"#����褬t��tfgo� `��3]\�Ttَ�����J����P4l�Ry���[K�8[9�m�]��lV6R7Al����������!���U����41~�w�b�T-�fl5������Y?ϵ�]�.��c���>���?.�� ���%�|��a�̄�Pi?r2}4ޚC�Z�S��c�kP,+:,�p�r�j�P@���K-��̣�ѵ�8-'�A����K����?$I��aT�w����o#��i�d�}N���s!��W .ׄtp�f�r��\IP >:��,��~c!75���V���j�v9:/�-5l�=~�f�$.�mH�!;Ш_�-���@55��'�?z�?]�F��3w�n���AT�5B̳%w���{�.&�:I�9�Sc`����Uc��i֛߲N31�[���l��Z��N�%��k[���]<���g7� ���k>%A C��=�;�p�ַ"� �pO�����4�������{p�E��ۆ`H�>�=Q��}�>M�$��FF��A!��9��ۙ��-�ɕ������(���~��ٱ���~�#z������E��ca��;�� QAL��a*k_ ����%�s�~��j�ݪ�[(N�0-�C-��O�XRp� �-eY,H�pI�W��ٴ�i&�eK9r����>\���=gc� x�Dg����@�xI�}-0 ���f|�7��o��^'MBTMs���<��2�XfbMg�&�M�>5��A�h0>�)Z\r�e��K���B�T�K�?(��|���w�x8#0ϑ�5�%�Yt�[�'4�[~�#Y��'R�r��z=~���nq$C�_^�<�JC�4#���[�@ ~��~�܅[�^����x��_�2��O�+�w�1�i:���GC��,�{���\����F��W4�1R|S���Quv��������������ikb��֘Z�50Y�����&��1�$E 8�����̔���>Xz���ө�#���݇(�fV=��u p|���<�Rzf{��5@����r���W��=�h eq^O7yr�@�z�}���=7i� ��b�D�4�8x'��ox�>��'�li����R^ފG[U^�WGN��U�u�W��O���(q;�{z�����ҥ�Ж� �6��U�%�`�(*%�z!K�C.~D�HW#�)�g�k�ȡ"̹k��hZ�7r^i��t0��*�|�@�vG):%zJ�7�漙���'+' w�0tB��5��ͳ;Z�z:�]:+��s��g��W�h?qw��Y��m�e���/�7:Ʒ0�Ozm��Q��97��#��v���2vÔN����nFkV�x�aӭ5rs����ۗ�,嫣�sE�7:FP��R�_s���xd��t��ó���A�i,��p%,n7���<�>�_�wE�{��`��s%�m�4��r���x%>�cS1���{!����I� �f4M���)��e#�%#�9^ۻ3oRBi]��ٷ%�$D�EmӦ۷75�>���`�D&6�Wy��I��I(�eD�o�nk4��@b��Et���{����7t�@���V5YY9y[#�o/O� l��'^�қ>[8��G���+ G���"����8��F�^T�u�bC����Nޝ�Z�xx�����}2�)#x�s�y��ap����9�"Ν�*ɟL�|�p�~K��ާ#g�C�=��S�Ꝏ3��o�u�(�K��C^ɱ��b̚����� Xn�]��s�~/��@��"�D�D���gC^8������e ����pY���'����,���ykj���v�Wg>ziR������r� Z8�X)쯾��h�(�?9n!�α_�JA���i��+=f<�W����K ����X<d�#�hb��������pen�!�A����G-O��zC�)^�&-A����O=�����㺤�9��f�i�]T0�1��j�V�|��`�T�h,(r2�vu�R��nxX�Cw;��|.<a�_�<�|0 i��䂀�+�r�^�*���*W{�Ը��N�k9OԴ���]3:�Ss�w�q�N�2˾f|P~-�����5N�֗"��2s��X�r)q-�:��i�uIv�9>3g��9�ŀ&��z��ψ&�Ov�!6~.:̋�:�`���|�f �$����YR����f�sNr+wuwG��Pw�m��1�8䭅OpQk����*G�����g>�����`v�YGzT��=��H�<d|������1�pF��9�Y��i��9�I���[�pT���A6�&�$���y,Z�m\���Ƒ,�XJ�zz���6A�TJGz"��\�k}��?��८Y�5�J�s#W�Hv��x�92)��ѪEJ')�<B�xՉk9c1~�V�:�������\s�ņVB�$�(��[Bf�>v�dy�ڵ�e|� Y��ʿH��XS��`ۂMb�5k���:�Q0.�}}� ��o} /wP~��yE�;�==�j������_٩�mm]��O����.u�R���R.��šV�.���@~�o�\��4�%˱��b/d+�~Ĝl�po�8u�j�C��ƽ� S����3�iw��t�^NGP4ed�k��6��vd���U[J� `���'�"2d�x8�ц �����!ۑ�\;+˯�@���z��^ǒ��яV� ��ab̥�'�*�)���'HJ� �V!�PK{� �7�槭4�ͪ��C�i�'�W/���%A�e�W}~��ʆihI3x�/��<}�8��6FP_���(� �Uwi�@ӹk�� 9 �_-� X��^^ssZ����Zټ�^�)*�d�FO�Z��0�Q��������?��m �/B&�_�5߱�X����D+U���g�� g�2b|�6���Ț]��G,X���;/����دv���h��%��1���w ��'e�Y�&]��15JQP����x��_eO���]�$w7���y8b��FW]�K]6�{NI�B�n�S�.d�צ����F~o���� ����+U���*[���Gه�n$j)&N������ V���.>iy��C �zF���!�~�3ǂHdH��3M���}��4O#����t3�� ����;�Ga���jO��x���XU���1������&�JcN��DNc ;�>���P&���HB2�mBD�<J�����c�����+m�/����d�>�Xyt&X���TM��bzC�C�\v�ϰ)�B������oď�2�T���ȴ��$n��Fm��EI���*l����`�M/ʪ�dn��.r����1k?��8�E%rls���!��g�`�4�W�m������V�}���j3��-��)f3{���y�IW�J��q�[���{��$��`;\D���"�h�X@��%Mȶ� ��C�W��nv�Z�+ ~C�����(���Ա�p5 ���n�s���#�ݯtD�q���U�+��X�&�h�i"{2A�������l��*R�ң�J�}J��:�ϭ���Ȇ�c���y�>�}�S�_�M��BW��! R�����1�r�&�.��FF6�d)��e$�� ��93�x���ɽh'ǭ���yX.M�����;��jx)�8�B���m��{z�z� ;t���='3��*��edI?�ӎ�_��\X�(����"}7H��&��/݁��*Ϝ���P5j��B\[Sjmv�1�6kٓe�]�tET�Dr2�'��o�E�ɔ-/H_!�|�`RR-`��W�#�wy:��<�����x��Q��M^��Ī�MW���S̻cT��sO�`]���� L�9��d�2��Z��\���>y�lmTp>2�+ [���ZϞ��G��2�̥�w'�Y��;N����Z=�Y=� 3���* �t��~��i�!�&)eQA��s���� 0L�٤��rp��9�֛�KN�W��a+x��Z��D������|�vz,��͎-��O75ܺ��F��I4�q՟NRD� E�>z�ch)V����)��@S�zF����\���h���!S� F�j%���#�#7 �u~�a��0[��'~�}}�?�{IQH��z�&Z�����������@1u�Y9��7����бz�J.��� ���}S�26�2�#����_�Pu��|�W�wF���:�G�ؽ���P�úZ�w���C���JaPP��EpFXȶ���g[L&$�)�ʠ���]�v�m��0��+&^�M� 7X&M,K|걋Sy^�ʠ�f�*d��{���� �nl5���J6��R���{��D�����C��a�i��ܖcM��[�ؼ��6�u��뎟U��VU%��~�wc���c�Ξq�?��;y:��� �����edB����T}�,�9�8��k{��79cF��ڗ7��� �#;4��,��ҕν�3-�z����O�{! ��Ab;���@����\7��s���x�Hpʟt�|O��eDŽ��M�:�qr�Ne�y��־z��O�,4��(U��0:<t0��ܿb*���+cR�2;�_E4�D����(b�˯�?�_S�ݒ�봪>A�7�5�~*\�C�N�f`���lj�J�b(.�c^�x���N��_��O��m�1v�5pn�>[D�����;� ݓ�>_[śCfE�tfjM�Ȧ�q�6;�T�n{��a���Q�H��-����P����"�����,(��ώ��������У4=�c�@���^�RS6�b�@�_��'\/r�Ʈ7�_�G�5f]�{�[&_U1����o�3��C�0�O�=��)s�U�*Ć}�#��`H�ٸ��� 9�=C�X�>N�Y�|@?����Di�xA�J�L�h�W�"���W�֠Z�q��S�#�J���ʯ����xؒF ��f���6�H�4i������^t��^:�ݻ���Z�G�v�S�>���&�V? �ӷU��E\�7g<�ƈ�mx�y��cs�P>��P)�L����HYe�45�����9�,�$��U����|���ekgf�.~dY�._Ԁ��8YE6*�D�W���`����b�b��{B�<��\�s�N�ػDH+�Xgg7�>��D� =�w\�a�) � \��E�ߥ��>5��oeZ@V���e2�<���y�x1�49mE~�����IX0�༁%���,�:�s���~����ʤa�;�m'�+G�����|��/�u�i�n8���u;�"���֦M���SZ<:Z\RΜC�w�m`z=~�_h��U��/��߮Xq�@i��Q����ʩ�O ;��1��QC3�`�_��|����m���Q�*�,+��Q��t��pr�k�깋zNg].\X�% �K���Tg���$���A�"f�x����)k���nv�nj�=�߰H �0E�x��S�A�i /�NBO�R˧�S����kD��7����=^��W4*��U�/6t�= �D���F}8w8-<G�; �~66�?K(���j��-XX\z���[��m���p�a����}#=?��u�~���C^'�R?r���I2�[����.�;|��7#�LLL��:�Sd�n�Jc�� ��n���vC��1�e���yW��K����Ҥ�]�X�c�������ߕt8�f��I����Gk�5�m&F���֯71^��~���;���{:�����k�1�C��T������������peL����2��\�yOB������s��z\���QO��T3Ϳ�;'���U ٔ�T�UOY���P�<��SXeM���|�x��-K�3f&@���ىt�q3�9yq�6��x�+����҄�+�-{4��$�JG����0�Ҡ��<6���: ��7�[{<t�-�dX�JKH0��*]��bݟ0�8n/�,�nB9���$q_��f*� Sqj;Zk��3]�P�^M���O���aR���H(1��I���M�W��m��8?��D�A+��;m?����D���nj��ZnW�pJ�Π�S,X�$^���sƂ�E�{�o�T3WI��3���RJ����b1��@� �T���;=�nf-��|@L�!��1R�!����$1�Z�5w��nP�Itl�1��ᬁUE)���ʠ�zr��w�&Zf�J36Ei�h��P�-2nN��^�+c/��r�)�u����Is ��r���K�5����Cg���b1Ψ�ra���`��$.��i�a�' � �ٺ E%�7��d���c2�0�i����y(��|jQ��[�{-�#�v��,���)�i�~Q.��3�o|kfM�;�zp�8�>Ҭ��YK9�;ѝwǦ7�|�;�ˠt���l�{���ѽ���$@�����*Hfg���8lu0�QZ���y���7�u43ɒfh�Xg�l�y>l�f涖�{�T���%�r�3�mŁvc}a�D�� =3��i�C��W$�ԝn�ҽ���u�9��`�b��'Q��LEۜ�f�$IWr4rP]ĝΈ��b8��N��,�4���N��ٌ�KQ��!��4zHD:����CJP��Nɞ��#��Y�ȇ�S�!�h�X�����S��!��,����w�q(FYש'���iG�VL4j��wI�w���$��XS�m�ϟ�-T�H����5B!ȯC^�ejcU����� �~�WQP���;_R�Sn�0e�/����"�D*�+`�J������lAP'H�fX���p���C�08�Bc�8<�H"S�4:��r�����cs�<�@(K�2�B�Rk�:��h2[:f6����!�G Qh�'�$2�J�3�,6����"�D*�+R�R��huz��dkg����������������!A1� )�ak8�B�Rk�:��h2[�6���r{�>aBRi��ī�˴l����u�C*�⧰6��'�@��ѧ��ů����4�r�����F���.J�3N>��~'��M%��"~R��PG�4��^�<D�}�=Z��J^�DtF[F�.�/��+X:�3�bcӲN����0���U����PfHr /�G�cA0�x`W��]6�U>(z3ݼ �$B���8Qy������:D�F��}�y���qיM��$-Wm<K�@�vN6���ǧ�\�>-��dma��l�5����h�h�� ��9-/�����s�<4}�&M�ܾ��wOQ��S����\8?Qu��ī=� `c�6��$��{�O[ WL�T�ԥ�q94�r�o�4P��������\���?�Ƶ�/���|��oP���F�H��?rpc��O�"�$�jl�߉���-��A�zMK��խ���c�p�9а]��%���Ĺ渰S@�k����a2�:� �C��#E��栾��x�,��U1����Ց�Mtf��=�fYm����I�NՠzR`��b�o~`g���-NV�~vj�B�5'��au_��N����xD�R�!j�mn(nyJ���?�5�$/�<v�e�h��@��e��pwɤs��O�؊B�H�+��$w�xK����p4���g��EJ)�ƹt�{���@�$�oIb�3%wK�!e4f4 ��ʎ.ã�7W�97ܷ��i�8>�O4t����Z�hrX{I+�X"��89w��־>���w5��)��NtF�)�Lw���B��j&]Ns��pQPM��V�K�y6l�N�q|-��0�+w8`s�xuI,�1ٟm����M. 肯'F���p#q��B�p�B�@�c �A�5�Bu�� %E�w,�5�K�����^�E>'�稰�e��o,�n[�K~�9����5�*�D>���.}U���� ܿKas�c/ ŧ㛅{���+�X�)/Y��Y'��K\���e���y�#���*K�k��:��{��S[�<Т~}.�Fh���YÎ6��07Uu�*W�ץӒ��.���8����;5[O�8؇����:c��2;�x�đ"'���݅i�/?^�ֲs�ƪ�3|r��m�í�>/B_�_�݀Sϱ�<PK�x�\�W��fonts/iconkit.otfnu�[���OTTO�0CFF ߅���FFTM|`fD�GDEF?� OS/2Wv_u `cmap1�:IrheadC��6hhea���$hmtxͣL��maxpPname-��post| ^�u_<��a��a�������\�P��������3 PfEd@x�*���\�� �&$w��� H- � � �iconkiticonkitMediumMediumFontForge 2.0 : iconkit : 14-11-2018FontForge 2.0 : iconkit : 14-11-2018iconkiticonkitVersion 1.0Version 1.0iconkiticonkitlPx�*��x����� !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrs�tuvwxyz{|}~������������������������������������������������������������������������������������������������������������������������������� iconkitI�&�'��� vV/�� vV/�������a ��� "0<CPZet�������������#,6>FIO[`lp|������������",37HXhv�������������� )0<EIMV\bfkotx~��������������������!$04;HW[`ku|�������������#(.9?IS\`fltz������������������$06;FS[_flt������������������� !%/8>BFQZgiqy����������� $/3?ISclt~������������alert-octagonalert-circleactivityalert-trianglealign-centerairplayalign-justifyalign-leftalign-rightarrow-down-leftarrow-down-rightanchoraperturearrow-leftarrow-rightarrow-downarrow-up-leftarrow-up-rightarrow-upawardbar-chartat-signbar-chart-battery-chargingbell-offbatterybluetoothbellbookbriefcasecamera-offcalendarbookmarkboxcameracheck-circlecheckcheck-squarecastchevron-downchevron-leftchevron-rightchevron-upchevrons-downchevrons-rightchevrons-upchevrons-leftcircleclipboardchromeclockcloud-lightningcloud-drizzlecloud-raincloud-offcodepencloud-snowcompasscopycorner-down-rightcorner-down-leftcorner-left-downcorner-left-upcorner-up-leftcorner-up-rightcorner-right-downcorner-right-upcpucredit-cardcrosshairdiscdeletedownload-clouddownloaddropletedit-editedit-1external-linkeyefeatherfacebookfile-minuseye-offfast-forwardfile-textfilmfilefile-plusfolderfilterflagglobegridhearthomegithubimageinboxlayersinfoinstagramlayoutlink-life-buoylinklog-inlistlocklog-outloadermailmaximize-mapmap-pinmenumessage-circlemessage-squareminimize-mic-offminus-circlemicminus-squaremoonmonitormore-verticalmore-horizontalmovemusicnavigation-navigationoctagonpackagepause-circlepausephone-callphone-forwardedphone-missedphone-offphone-incomingphonephone-outgoingpie-chartplay-circleplayplus-squareplus-circlepocketprinterpowerradiorepeatrefresh-ccwrewindrotate-ccwrefresh-cwrotate-cwsavesearchserverscissorsshare-shareshieldsettingsskip-backshufflesidebarskip-forwardslacksmartphonesquarespeakerstarstop-circlesunsunrisetablettagsunsettargetthermometerthumbs-upthumbs-downtoggle-lefttoggle-righttrash-trashtrending-uptrending-downtriangletypetwitteruploadumbrellaupload-cloudunlockuser-checkuser-minususer-plususer-xuserusersvideo-offvideovoicemailvolume-xvolume-volume-1volumewatchwifix-squarewindx-circlezapzoom-inzoom-outcommandcloudhashheadphonesunderlineitalicboldcrophelp-circlepaperclipshopping-carttvwifi-offminimizemaximizegitlabslidersstar-onheart-onarchivearrow-down-circlearrow-up-circlearrow-left-circlearrow-right-circlebar-chart-line-bar-chart-linebook-opencodedatabasedollar-signfolder-plusgiftfolder-minusgit-commitgit-branchgit-pull-requestgit-mergelinkedinhard-drivemore-vertical-more-horizontal-rsssendshield-offshopping-bagterminaltruckzap-offyoutubeiconkiticonkitY�������������������������������������������������������������������������������������������������������������������������� !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\Y]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������< ������� !"z$�&�'�)�+�.1�4:<A�HGJ�L�Q3SV�\@`bb�cXhAmTn�r+x�z{>|r}���|���W�j�r�?�k�2�����z�'������=���n�ä�=��ˌ�'�w�]ڀ��������W�~������� 78-!��!T%{'V)�3�8;�@xBUG�H�L~P�WW[X`�b�f�npErrt�y�{��i�e�������������c���1���9���*�����������:�*�y�t�OҜ٠���i���"�T�~�p�E����W�(�S� �'d->4�7�:VJ�L�Q�SU ^_�b b%f�j�j�slt�v�y�|N~-����C�#����� ���k���{���=�w�6��c�������/�S�Ȇ����Z�=���� �B��!�N�������������� D�� '�-2p5d<�>�? A�C\EF�H�KUN R TaY\�^�cdfpk*n�q�w<{�}Z�c���L�������������*�J����������� ���������������*��UT���UV�UT���UV������UT����UV����UV�*���UT������UT������*������UVb�$���UV��*��������� ��� UV�UV� UV�UT� �T�*��UV��UV��*������UU�����UT�����6�}�#�;�������UU�����������UV������UV�����*��UU��UV������UV� �������� �������� ������U����������UU������� UU��������K������ S��� �T����U� V����� T������� �T�*�� V(���� UT�� �������������UU� UT���� UT���������UV��UV����U��UU��UP����T�UU������U[������UG����T�UU��Ud��������UU���*�����UU����Ur�����U����U9����Uo�����U����U<����UU��������*����UU������U����������*�����������*������������U���-��������~�UT���UV�UT���*��������UV����UV�*�����U�UT���UU������UT���UU�����������������𪬋g�K�;�:�H�f�����������V�UU������������V��������UU�����UU�������V��z�UU����UU���UV����UV������UU�����������UU�UV������������UV�UV����w��UT���*������UT� �����U� ������T��T���T���P}�������UV����UV����*�����T���������������������T���UV����UV����*����UT���������� ��\(�tO! ��O\(����U@�����" �UU�# �������$ �UUS% ���U@�*��# �*����UU?���U@�����" ��}�� {��ׂV��ym�W�`��,��� ��K����<����@��Z�2�ٮ�}d����������ƨ�� ����8�U�����r�U�����r�*�������9X����9X����8�������t����r����t����r�������8���9X���t ������`���/��������D������E����}܋���}ԋ���� �^�����t���(}����,���}����m����Q4������~���P������L�������L�����0���&R����������^���UU@����9X������*����r�U�����r�U�����9� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ����n��v:��b���{�t�� 4� �`������ċ� 4���E��|����D��n���<����������|���UI�������*����w����↋�����]O��������������������N�"�����>4�#��A���9�Ѵ���Ѭ���h� (��#͋�����Hx�U������r���E��[�l������ ���#��D�������������Vl����؋�������Vn����(�������H�������H���#���r���������,���+��yn�h���Z���q&����G|��l���$���$��p����� �����������L� l������ l������HL���(p�p,���TL�iBL����0������a�����Q�����?����Z������V�����������������������������ZL����l��-�,���{S�@����*;�J����$�U����#�U���� �8���`���<��K�R�Д��h��e��@���U@�& �UU@# ������4������ ������U@����r�U<����n�*���������9���9����d���� ��������r���������p����H�������9������������T����9X������*����r�U�����r�U�����9� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ��������' �������( ���UU��ƨ�� ����9�U�����r�U�����r�*�������9X����9X����8�������t����r����t����r�������9���9X������9X������*����r�U�����r�U�����9� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ���U?��U?��2������ ������U;����r�U;����r�*����� ����9���9����b���� ��������r��������r����I�������9��������US��ܬ��������խ��W���Q�����Q�������*S��#S�������#S��W�*T���������*S��X�#S�������#S����*T���������X�����X��X���լ���ܬ��UU@���ܬ �������խ���P���Q���T���Q���լ������ܬ����UT���9�v����H�+������U�������U�����`� ���1���1�*�� �U<�U��U<�U�� ��+��4�u�*���ƨ�� �*�U��U��U��U��*� ��ƨ������ƨ����8� ����t�U�����t�U������*���9X���UU@���9X��������8����r����t����r��������9�������8��UU@����9Y�*�����U�����r�U�����r� ����9�ƨ��UUn�����z=p��mO��� ��O���������d�$� �+Y�T��U��T��U��*`� ���Ň�� Kb������ ,���i\����*�������x�� :*������������������x�%��*�������i\��� ���������ԋ���������:x�*`����u�T����s�T����k� $���ԧ�ł����������,������ ������U@����r�U@����n�*���������9��������9����`���� ��������p����8����p����H�������9\������������T����9X������*����r�U�����r�U�����9� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ���������' �������( ����UU��ƨ�� ����9�U�����r�U�����r�*�������9X����9X����8�������t����r����t����r�������9���9X������9X������*����r�U�����r�U�����9� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ���U@����4������ ������U<����r�U@����n�*���������9���9����`���� ���������r����8����p����H�������8\���������������T����9Y������*����r�U�����r�U�����9� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ���������' �������( �UU@��UU��ƨ�� ����9�U�����r�U�����r�*�������9X����9X����8�������t����r����t����r�������9���9X���������9Y������*����r�U�����r�U�����9� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ������,������ ������U@����r�U@����n�*���������9��������9����`���� ��������p����8����p����H�������9\���������������T����9X������*����r�U�����r�U�����9� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ����UU@����' �������( ����UU��ƨ�� ����9�U�����r�U�����r�*�������9X����9X����8�������t����r����t����r�������9���9X���������9X������*����r�U�����r�U�����8� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ������*<) �H��a���������UU@��ƨ�� ����9�U�����r�U�����r�*�������9X����9X����8�������t����r����t����r�������9���9X�������9X������*����r�U�����r�U�����9� ��ƨ���ƪ�*� �U��U��U��U�� �*�ƨ��Ƭ�� ����8�U�����t�U�����t�*�������9X����a��* ���*<�H��UU\���UU@��ƨ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����8�U�����t�U�����t�*�������9X�����9W����8�������t����r����t����r�������9���9X�����9X������*����r�U�����r�U�����8� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ��*���X������A��(Q���ƨ����8� ����t�U�����t�U������*���9V����9X��������8����r����t����r����t����8�������9X������ n�����%Қ�����B7$�����B7 ���-f�K,4�����T!H�R���ƨ�� �*�U��U��U��U��*� ��ƨ��ƨ����9� ����r�U�����r�U������*���9X�����9X��������8����r����r����q����r����9�������9X��������X8�c���3t�ǘ�����ǐ�����!VE����)����)� ����1�.��ީ��9�N���8l�9�B���8l�<̊���6�?��?�̋�<̈�c�9�L�ǔ�9�4�Ǐ�1��!VF�)�)�)�)��!VD�1�.���9�E�ǔ�9�F�c�<̊��?�ҋ�ƨ����8� ����t�U�����t�U������*���9X�����9X��������8����t����r����t����r����8�������9X����9X�*�����U�����r�U�����r� ����8�Ƭ��R��������ސ���-d���Ӷ��������������������-f�����������U@���@�/���(7�����!U��!V@�!U��!V<���(7�������/�������/����U4�(7���ުl�!V<��ު��!V<����\�������<�����������n����ǘ���T�ީ��ީ��ީ��ީ���T��ǘ�����`�����p�����ǘ�!V>��ީ��!V4��ީ��(8h���T�/���X�UU@���r�������U����T�� ���T�� ����p�8���P���L�U��8�� �� �� �� �8�U���P���P��8����p�� ���T�� ���T�U�������������r��(���r�����p�������S����T��T��T�������p���r���Ȉr������ ������f����:��*����c����������8G�����$�����@����D�`�Q!�I> �$�4�I> �$�3�8x�,2��&��3�-��T����6�[d�;����!�F��+̷�u�5�(�u�5�6���/�ȋ�)�^������*��@���[@�=����|�:������E�t��˼��>W����l�7����m�7����������� <���eL�Ǹ���Y0�����M����Of���������������]�������]��������P���3<���<����A���� t���s%�������������$���h���������4V���#~����KD������sP����q��r����j����j������į� {��癈�����S��3yB���:�Il���� ��Il���� ��I���"K�J9X���#����G��X}�����6�.7��ѳ��"6���V� 4���V� A���A2�"�;���,E�%(6�W���xP��V$�� ���n|����%�=w�$h�=�#�>S�=p��j=q�^�0��[�k���������op������������k��������m��Ϣ���^���a@���P�z���%v��������l����I������������z�����L�����������������i�^���,���D���چ�H ���UT�����&����N���Ԍ���a������ʲ���=Z��)�"���o��)%x�����*����,/�����������H���پ����!6����!6� O����� ���m�A���S����e.�W`���g�[2���h��=V���E�������yx���������"<�(����4(���4*��0]����,����l�����A&��������°���ۖ��������"�������\����N��$DZ�+������.L\�����0�����0�����$����`����������b�UU@�����ƨ�� ����8�U�����r�U�����r�*�������9X����9X����8�������t����r���� ����r�������8���7����UU@���9W������*����r�U�����r�U�����9� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ��*���+��*7��*`�����*>�������W�����%�����f����9X����8�������r����r����r����r�������:���9X�����b�����&�W�����������������T������ ��ǐ��ǐ�*� �T�%�����b���� :�W����ƨ�� ����8�U�����t�U�����t�*�������9X�����h����|����(���P�����������UU@���9X������*����r�U�����r�U�����9� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ������ƨ�� ����8�U�����r�U�����r�*�������9X����9X����8�������t����r����t����r�������8���9X����Մ��H������Ց��*<��������Dd����� �`��~\��ƨ�*� �U��U��U��U�� �*�ƨ��~T�� �\�����Dh���������T����Z�*�������8p����8t�����������V%������������������������9X������*����t�U�����t�U�����8� ��ƨ��~Y��� �]���Dc��U@��U@+ ��H��*~��Ր��*>��������Dh��� �`�� �~X��ƨ�� ����8�U�����r�U�����n�*�������9\��������������������������\���������������8p����8p������*����Z%�������P��b����{� :؋��ƨ�*� �U��U��U��U�� �*�ƨ����� :����|�c$���P��*<��*=�������������������9X����8�������t����r����t����r�������:���9X��������� ���������������Dh����� �`��~X��ƨ�*� �U��U��U��U�� �*�ƨ��~T�� �^�����Df�����a����+������������������9X����8�������r����r����r����r�������9���9X����9X������*����r�U�����r�U�����9� ��ƨ���ƨ�*� �U��U��U��U�� �*�ƨ���ƨ�� ����8�U�����t�U�������*�������9����9X����8�������t����t����t����t�������8���9X��*>�aկ��������������������9W������*����r�U�����r�U�����9� ��ƨ��~Y�� � �]���Dc�����c��� :�W�����ƨ�� ����8�U�����t�U�����t�*�������9X�����h����|����(���P���������+���*P�����UU\���������9X������*����r�U�����r�U�����8� ��Ƥ��ƨ�*� �U��U��U��U�� �*�ƨ���ƨ�� ����8�U�����t�U�����t�*�������9X�����9X����8�������t����r����t����r�������9���9X����9X������*����t�U�����t�U�����8� ��ƨ�*���*������9X����8�������t����r����t����r�������9���9X����9X������*����r�U�����r�U�����8� ��ƨ������ƨ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����8�U�����t�U�����t�*�������9X��+���Ֆ��*d�����*<��*<��������������������9W������*����r�U�����r�U�����9� ��ƨ��~T�� � �^���Df�����T��T� �*�ǐ��ǔ�� �����T�%��������������������������9X����8�������t����r����t����r�������8���9X��������� ��������0�`�������� ��������<����F���%,������#"����!����9r�*�����U|������U|������ ����A�ƒ���؋�M����� ���e��r�!��e������h�����Rp����e��|��Ɛ�� �*��U��U|�U��U|�*�� ��ƒ���]������2������������k5��$���Gl���(���)�4��)�4�� ��1�$��.�n��=ǜ���ĸ�9���d�4k��d�4k�֎��)q<��˔$�v���˔$�v�����P�;D���8|����8������P���ļ��˔���t��˔���t��֎��֎����u��˔���u��˓����ĺ����<����8x����u�� ����@�)���4�)���J����bd�$�����~�O�~���Y�����:������7�����58�����57�y|������*��y �������* ��y|�ed����������������e������v��Rm����=,�������ԋ���L�������������<�%��v�����Z�-ۦ���X����ë�~�����2�����2����<T:��F�l��F�|�|�<T8�2��2��2�2��<T:�|�F�l��F�|��<T8����2������2������|��ëċ���X�����X������ë��������������ë������X���*����U@, ���U@�@���9X��������8����t����t����t����t����8�������9X������9X�*�����U�����r�U�����r� ����9�ƨ������ƨ�� �*�U��U��U��U��*� ��ƨ����ƨ����8� ����t�U�����t�U������*���9X���*�����U@- ���U��*�����9R��������8����r����t����r����t����8�������9X���U@����9W�*�����U�����r�U�����r� ����9�ƨ��������|������ �*�V��U��U��U��*� ��Ƨ�*����ƨ����8� ����t�U�����t�U������*���9X���*�����Ul. �����UUT/ ��U@��L�j��:�T���*�2F����T,�)����Tx�)���l����d��������n���*���T0���T0���T0���T$���*��n�������������n�)����T0�)����T1�2F����*�:�H��x��<��+����+|���^���a����)�����0��|����+d����+l�����������N<��/���(8h���!V<�!V=�!V<�!V/�� �(8h��/������*��������?�����<���4��9���4�9��ާ�1���0�)�$���<�)�$�����!X<�����T�����T���8�e(���aЋ���`ċ���8�����\���5D���n���5����O��ާ@���1�������>���@��ާA���P���5D���\���5D���T�����8����`� ���`��e\���8�ʮ���n�ʬ���o�!X����O�)����/�)����>�1��ާA�9��5D�9��5D�<���?�6��+��1�� r�7�@��"�7�0��!�-L �ʵ�"���J�&����h�J܋���������,� <����X�U�����T�U������*���90����\����ZX������X����#����{<���)!����4���Z%���e4���*���e4���)���<���E����~���������"����"E����"�"E����`A�.����ݺb�:���ݺb�:�����1�@=q��E���E��"�@=p�"E��:���"E��:��.���.���:��"E��:��"E��@=p�"�E���E؋�@<�����x�:����ݺ�:�x��ݺ��.�����a�"F����"F����#����Ô� ����,���UT����r�����p�������T��T��T��T�������o���r�����r�����������U����T��"���T�� ����p�8���P��*���������ܬ��������լ��W���R�����R�������*T��#S���#S���X�*T���������*T��X�#S���#S�*T���������R�����R��X���լ�������ܬ�������ܬ�������լ���T���R���T���R���լ������ܬ���U@��U@, ���U��@���9R��������8����r����t����r����t����8�������9X������9X�*�����U�����r�U�����r� ����9�ƨ��������|�� �*�V��U��U��U��*� ��ƨ����ƨ����8� ����t�U�����t�U������*���9X���U@���U@- ���U@�*�����9X��������8����t����t����t����t����8�������9X���U@����9W�*�����U�����r�U�����r� ����9�ƨ������ƨ������ �*�U��U��U��U��*� ��Ƨ�*����ƨ����8� ����t�U�����t�U������*���9X����U@���Ul. �����UUT/ ��U?�����Ƨ����� ����.�U�����r�U�����r�*�������9X����9X����9�������r����r����r����r�������9���9X��������ܬ����լ��W���R�����Q�������*S��#S��UU@��#S��W�*T���������*T��X�#S����d�ƨ�� ����8�U�����t�U�����t�*�������9X����9X����8�������r����t����r����t�������8���9X���w����9X��������8����r����t����r����t����9�������9X���������9W�*�����U�����r�U�����r� ����9�ƨ���������9X������*����t�U�����t�U�����8� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ��UUT�#S����*T���������X�����X��X���լ���ܬ��������ܬ�������խ���P���Q���T���Q���լ������ܬ���w����9X����������*����t�U�����t�U�����8� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ���d�ƨ������ �*�U��U��U��U��*� ��ƨ�UU@��ƨ����8� ����t�U�����t�U������*���9X��*����0 ��\�@�����~k���(��O�v�����^����9X������*����r�U�����r�U�����8� ��ƨ���0�d6���n�+2�������(�=�7"�y���������������M����� n�����U����,�U����,�*�����8�����a�����P���7����Լ����:��BX��A������ƨ�� ����8�U�����r�U�����r�*�������9X����a�������N���7��������UU>������������������4�����JN�����JM���a��%'������8������*���,�U����,�U����� n�������d ���>�+H����8��������8���v���֜��������:����4�*<������Tt������Tt����� ̋�� ��;`�Hp�T���nT���nT��:�Yt�s��D����&�$@� `0� ������ ���������L��Ƌ�=���9����Ɯ�4et���d�4ex��ፔ�)l ��֓�r��˚0�r��˚��9d����P����@����堋��Uk�����:�������4������������������������8�������:�������:��������8�*<������Tz������T*����� ʋ��l����:��3������F�������<L����L�1����L�1���óH��d���aH����r�����p����o\������o\�����룖���6�����������}���K�x����q��e�������������t���� �����Tt������Tt������*<����5����:ʋ���:���������5���������v��������������8�������:����S���������^��������7������7��7�^n�7�^m�7������U���1����Ty����������Ty�����:���.V���������4�����$�i���i�����m�� y��OX�K!�` �Y��q��h���h���J�A��- ��Ȧ�� ���Ԅ�V������V������+|����0����7X�������i����w����:���ڤ��� ������F����d���l���@���m^���<���6��������������@�$������g���M���4��&7�4��&7�����`���x�� ���զ�T�����L�T�����M�*X�������:�����X��P����6���(����a����ˀ���h\�������bD������bD���������P���x����r�����9����bB�s^���b@�s[��������˂������(���v���P�"ˋ�����q�*Z� �T��T��TJ�T�� �*\�����R����������4������4������M����u�g���# �f���"�M�����+�4����ٌ�4����ً�������ǂ���|����;�4��&u�4��&u�M���f��6���ބ�!V�1 �UU��*Ht��������& � '�LH�eD�L8�eD� ��2�����U��������� �����X�OP������OP�����'�����\��������z����?��������������������0���������l����]���I�����=p���Q̋����5����l�j����j�j����6� $����������T�����������@����z������>���ܻ �{���������������w���m�#D����U�#D��|��i�������{�#�#D������Wq��T����6���#D����'��� �� x��� �� 0�������ܺT����=p��ܻ���������u���� ����4��� ����4������ ���ܻ����*�X0 �*������LJ���$��|Y����B���|Y��|Yڋ�LJ��̌���^0��3st��̌�������̌���̌����QN����;��������Ŏ��������9�*�����I�U;�����U<����� �����b��2��$�� :r�WZ�b������B��B��S��TT�)� �����������(� ��TT%��^���H���� o���� ���r����<���r����<���9����(������Uz`��������������������������� p� p.��H��H�S��TR�)� �����������(� ��TS%��*�0��B������������������9����J����d��������������������b����L����9̋���D��������������*����������d����j��:����f��ut���by�ux���bz�a,���>�L���[���X��7�Q\���qƋ��2��U@��F����<UT�����<UV��F����F����<UTr�Y�Y���ê�����UT������������s�_h�8�_h�8�8�����8�����8��\x�q���T����r�����������U����T�����T������p�8���T��U@��=����Ĝ�94���8�4lX���0�4ld��֎l�)q���˓��v��˓��v�����;d���8����7������Ĝ��˓����8��˓����0��֎l��֎l���7��˓����7��˓����Ĝ����̋���8��*������r�����p�������T���T��T��T��������p���r������X��������\x���������������������������_g�����_c�����������箋�ϒ����k0�gt�ݤ�N|�3�5��&�5��&���a��0����� h�����U����1�U����0�*�����9����W�������E���( ���`�����,���f��������_h������_d���������Ł���Ћ���ʋ����:���_l�t����_p�u����|����(������( ��U����#���� ����*� g�U�U�U�U� h�*�����6�������5�����=�5�����=�N������g|���"[�gD���"�Nh������5������5�������������f���d�������5��&��5��&��Nh�~�gD���UU@�UU@����H���ȧ����Η���jH���Ԉ���Ԍ���Ԉ����|���jD���Θ����ȴ���������ȧ������Η�+x���Ԉ�+����Ԉ�#1h���jD�)7L�����ƨ�� �*�U��U��U��U��*� ��ƨ�UU@��ƨ����8� ����t�U�����t�U������*���9X����U������,����� ���"���껪���5����2���j��������@,�(��W��X��W��X�*�@,������U@��������V������@,������W������W�����*���������@,�*��W��W��W��W�*�@,�����*�������������,��������j���h������������������T���ላ�����������U�R������������� �u�������^������^���������u�#5������� �#5�'������\���\��u��v��#5�������!���'�� �W���#5��P�$������d����������`��4����$�������*��������#S����*T���X�����X�����լ��X��ܬ���UU@��ܬ����լ�������R���P���R���T�������լ���ܬ�������������Wb������4�������Q9������Q8����� �������Z�W����'�����'T� �N��i@�N��i<� �&�4��������������UU@����mP��������,� �t����|�@L�����@L����� $�������WH���������D���U�R����5���ج�������X���������������������`���r������������UU@�����*����ƨ�*� �U��U��U��U�� �*�ƨ�������ƨ�� ����8�U�����t�U�����t�*�������9X���UT���j>����&������ �����>������sD���������ƅ�V�������:����5��������������������������������8����:�����V��Ƅ��������m��s�,�������ܰ�����٢���P�������������������L���٤���ܰ���*�4���ܰ��~����٢��h������g�����&]���L�#OU����t��H�p���4��CT����� ����|�|ԋ�������� �*;�Tt�T|�Tt�Tz�*<� ˋ����|���|� ������CP�������\�x������d��t��gV�����:����6�*;������Tv������T{����� ʋ���������*;� �Tw�Tt�T{�Tt� �*<����nGm��r��������9B���!�����U����*����U����*��������θ����r����&���*����)�H���Y��)�H���Y��2?��,�:ٌ������3��V?�ל� �~�ל� �~�O����|����Ç��<m����*������8�������X���,���X���,�����a���,ȋ��ܰ�����٢�~�������h������g���L�&^��#OT���<��np��<� ���8� ��&���;� �������b���`,�l����.����:����4�*<������Tt������Tt����� ̋�� ��������*<� �Tz�Tt�Td�Tt� �*<��2����v�����K����%�����K��H���K�6<������4����,�H������Ô��#OX��&\���P��d������d�����~����٤���ܰ���q������:������5���������x����x���������4�������8��:����8�*<������Tv������T{����� ʋ����MP�������� ������Tt������Tt����8�*<���:����Uk�����\����$����c ��x�����������x���l�<����������*�������ƨ����8� ����r�U�����r�U������*���9X����9X��������8����r����t����r����t����8�������9T�����T����UT���t���ܻ��������� ���� ���� ���� ������∋��ܻ������=p���ܻ�{�������� ������ ��u���#D��U�#D|��t�{��p�������{�u��#D��U��#D����t��� ���\��� �������{��ܻ����t�*���������,����� �����t�U@����x�U@����$�*����9̋���9ȋ��������`����t���������p����d��������H��������80���UT��U@�����������x����DE���ۘ���������,����-����0����-��������ۗ���DD����=p���DE�������$i����-�H����-�H���ۗ� G������6���U���������UT�x���9�+����H�U�������U������ ���d��4���4�� �*��U��U@�U��U<�+� ��t��4�*���U������� <���ڌ�J����J����%p����ċ���Hl������x��UU@����6������%r� <�J�J�J�J� =�%p�����U�����UT����T����9X�*�����U�����t�U�����t� ����8�ƨ��ƨ�� �*�U��U��U��U��*� ��ƨ�����R���������������K�����������⠋���㤋��������Zr�����%�����Z�H��W����Ƥ�*� �U��U��U��U�� �*�ƨ������ƨ�� ����8�U�����t�U�����t�*�������9X���|��2�\���à����<_|�jT�����CX���Zr� d��ƨ�� �*�U��U��U��U��*� ��ƨ���������#S����*T���P�����T�����լ��X��ܬ���UU>��ܬ����խ�������B���P���Q���T�������լ���ܬ���UU<��������������9X�*�����U�����r�U�����r� ����9�ƨ�� b��C[����jS�K�8��h\�2 ��q����� ������� �8&$���0��2��$�N��z��H���H��N�������4%�8d��c���4�����y������,�����������������_��������_��������l����P���y��������X��a&��Ϟ�������^�3 �N*>�hQ��H��mT��Xԋ�H�L����������|�6���������J������J�������%H�L�����������ƨ�� ����8�U�����t�U�����t�*�������9X��*������9Y����8�������t����r����t����q�������9���9X������9X������*����r�U�����r�U�����:� ��ƨ��U@��ƨ�*� �U��U��U��U�� �*�ƨ����������L������ڸ����p����p�6�y|��=��1��BX���l(��V��mT�����=������y|���4��p���0��p���b@�ڸ����L�����\�����������^�����N����b@���%H���4���J����4���J�������������������|���V��������l(����ܬ ����խ�������P���P���Q���T�������լ���ܬ��*�����ܬ ��W���լ�����R�����P�*S�����#S�����#S�*T��X����������X�*S��#S���U@��#S����*T���P�����T�����լ��X��ܬ�����U@�:�T��2F����)��)��)��)����2F���:�H��:�T���*�2F����T0�)����T(�)���l�������������n���*���T0���T0���T0���T$���*��n�������������n�)����T1�)����T1�2F����*�:�H��UU?��ܬ��������լ��W���R�����R�������*T��#S���#S���X�*T���������*T��X�#S���#S���*T���������R�����P��X���լ���ܬ ���ܬ �������լ���P���Q���T���Q���լ������ܬ����������� ��|��.�+� ��U��U@�U��U:� �*���4���4�� ���b�U������U������+����J�t���9����F�����$���h������?����18�������18������ޥ4���s���0���Y���D���X���\��ޫU���t���8R�������8R���>���)���hx����`�����8�e^���`�ʼ���n�ʯ���O�!X����1�)�����>�)���ާA�1���5D�9��5D�9��<��?�6��?�>�e[�<��ʸ�9�ʫ�9�!X��1�)��)��)��)��1�!X��9�ʸ�9�ʼ�<��e`�?�6������ n����%O�<�%O��=x���l��+���ǐ�H�������80���� �'����K�'����K�����5D����̋���9X����8�������t����t����t����t�������8���9X�����������,�f8���*���l���hh� ,���p��՜���x�~X���y�~\���v�?,���t�����~�������������,���"��ݺd��� ��ݺd���`B���`@��ݺc��� ��ݺc���(����1�������~������"����"E�����"E����!�.�����`A�:��ݺc�:���ݺb�@=p����2�E���Et���@5(��:���"?��:���"?��.���.���"I�:�"I�:�r�+�@2-�$�Et���*>�H��aՔ���*@��+��+�c ��� :�W�����ƨ�� ����8�U�����l�U�������*�������7ԋ����h����|����(���P��������*����*���������������������8,����8t������*����V%������Db����� �^��~X��ƨ�*� �U��U��U��U�� �*�ƨ��~X�� �^�����Db��������s���*�H���+��+�c��� :�W�����ƨ�� ����8�U�����t�U�����t�*�������9X�����h����|����(���P��������*����*������Z��������������8p����8p������*����Z%��*����U@���P��b����{� :؋��ƨ�*� �U��U��U��U�� �*�ƨ����� :����|�c���P��s�����a���*8��+��+�c��� :�W�����ƨ�� ����8�U�����t�U�����t�*�������9X�����h����|����(���P��������*����*������Z��������������8p����8p������*����Z%������Db���� �^��~X��ƨ�*� �U��U��U��U�� �*�ƨ��~X�� �^�����Db������+���+����H���+� ��X��UT�U��U:� �*���4���8�� ���b�U������U������+����J�t���9����U>���ܬ �������լ���L���R������P���լ������ܫ���������ܬ ����խ��X���Q�����Q�������*S��#S��UU@��#S��W�*T���������*S��X�#S����U@�ƨ������ ����8�U�����x�U�����x�*�������9T����9X����8�������t����t����t����t�������8���9X���*�����9Y��������8����r����t����r��������9�������8�������������9X�*�����U�����r�U�����r� ����9�ƨ��UU@�ƨ������ �*�U��U��U��U��*� ��ƨ�L���@��������F����:�����T��*��T��*���\��y�� ��������)�*�� ��V�V�U��U�� ��*���@��ߞ���.����t�н���l�-Ɵ�����*c�����'�����'������+���՜(� V���9]�����/F�I����'ҋ��� `����8���������`��������������������`�������8�����a����U�������H������H����e������ lS���Ƶ��m����B����H�����H�����n����{��9L�� ��3�����&�����n�+V���'�� �����H�����H���Kq� h��� �<����*�� ��U�VR�U�U� ��*���0���Z���$���������=b���+�:ko����7t`�����7t`����-�N���=��$<��ȋ��$<��ȋ��r<��Ŕ���>��p�,����m#�����k���j����8��������o����&������������ ����p�������8Ћ���vċ�����������>�i����<�i"���E�����Ԫ� x������J���d��B�D���>�:����U�:�����!������U��/\)��6������`��������9X����9�������r����t����r����p�������8���9X����9X������*����r�U�����r�U�����9� ��ƨ�����UUT��#S��X�*T���������*S��X�#S�������#S�*T���������P�����T��X���լ���ܬ�����ܬ �������խ���P���R���T���Q���լ������ܬ������9�u����H�+������U�������U�����`� ��2���0�*�� �U@�U��U<�U�� ��+��4�v���ƨ�� �*�U��U��U��U��*� ��ƨ����ƨ����8� ����t�U�����t�U������*���9X���UU@���9X��������8����r����t����r����t����9�������9X���US��������UY�����Ƨ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����9�U�����r�U�����r�*�������9X�����T�����T����9Y����9�������r����r����r����r�������8���9X����9X������*����r�U�����r�U�����9� ��ƨ�*>�*<����*>��������c��� :�W�����ƨ�� ����8�U�����t�U�����x�*�������9T�����`����|����$���P��������������\���������������8n����8p������*����Z%��������Df����� �^��~T��ƪ�*� �U��U��U��U�� �*�ƨ��~T�� �^�����Df������*<�a����*6��*b�����*=�������������������9X����8�������t����r����t����r�������:���9X��������� ����������������T������ ��ǐ��ǐ�*� �T�%�����c��� :�W�����ƨ�� ����8�U�����t�U�����t�*�������9X�����h����|����(���P�������a���*=�����ՙ��*<��������Dd����� �`��~\��ƨ�*� �U��U��U��U�� �*�ƨ��~X�� �^�����Db������������T����Z�*�������8p����8t�����������V%���������������������������9X������*����r�U�����r�U�����8� ��ƨ��~Y�� � �]���Dc���������*d�����*<��*=��������������������9W������*����r�U�����r�U�����9� ��ƨ��~X�� � �^���Db�����T��T� �*�ǐ��ǐ�� �����T�%�����������������������9X����8�������t����r����t����r�������9���9X��������� ��������H��s���*�H���+��+�Dh��� �`���~X��ƨ�� ����8�U�����r�U�����r�*�������9X�����������������*����*���������������������8,����8p������*����Z%��*����U@���P�b����y� :؋��ƨ�*� �U��U��U��U�� �*�ƨ��P�� :����|�cb���P��*�~��*��H���+��+�c ��� :�W�����ƨ�� ����8�U�����l�U�������*�������8�����h����|����(���P��������*����*���������������������8,����8p������*����Z%��*����U@����Dl����� �`��~T��ƨ�*� �U��U��U��U�� �*�ƨ��~X�� �^�����Db������@�����*���*�H���+����Dd����� �`��~\��ƨ�*� �U��U��U��U�� �*�Ƭ��~X�� �`����Dh������U@��*���T����Z�*�������8p����8t�����������V%��*����*����������������������9X������*����t�U�����t�U�����8� ��ƨ��~T��� �^���Dg���U���+��*��H���+����Dh����� �`��~X��ƨ�*� �U��U��U��U�� �*�ƨ��~X�� �^�����Db������U@��*���T����Z�*�������8p����8p�����������Z%��*����*����������������������9X������*����r�U�����r�U�����9� ��ƨ��~T�� � �^���Dg��+���B��H�,��+ ��H���H�������������������9X������*����r�U�����r�U�����8� ��ƨ��~X�� � �^���Db��U@��U@�T��T� �*�ǐ��ǔ�� �����T�%��U@��*����������������������9X����8�������p����r�������r�������8���7�������� ���������H��������H�&��H���������������������9X������*����r�U�����r�U�����8� ��ƨ��~Y�� � �]���Dc��U@��U?�T��T� �*�ǐ��ǔ�� �����T�%��U@��*���������������������9X����8�������t����r����t����r�������:���9X��������� �����������7+��H���H�"��+��H��������������������9X����8�������r����r����r����r�������9���9X��������� ���������*����U?������T������ ��ǐ��ǐ�*� �T�%��U?��U@�b���� :�W����ƨ�� ����8�U�����t�U�����t�*�������9X�����d����|����(���P�������*�~��H��H�*��+��H��������������������9X����8�������t����r����t����r�������9���9X��������� ���������*����U?�����T������ ��ǐ��nj�*� �T�%��U@��U@�c��� :�W�����ƨ�� ����8�U�����t�U�����t�*�������9T�����h����|����(���P�������������$ �UUS% �*�������UP��ܪ������U���rrrr�������T���ܪ���������ܬ ��W���լ�����R�����Q�*S�����#S�����#S�*T��X����������X�*T��#S��UU@��#UT����*�r�r�����T����ܪ�����UT���������$����m��P���m��P����L�M(���s������x���>����v����0���X����N`���X����N`������������������������������0����{��R^����p������Y$������Y ��������D������A��c��������X��P�����P���aP��P����*���ƨ�� ����8�U�����t�U�����t�*�������9X���������9X����8�������t����q����t����r�������9���9X������9X������*����r�U�����r�U�����9� ��ƨ�UU@��ƨ�*� �U��U��U��U�� �*�ƨ���(�UU@�6������(����ċ���� � ��������z���m8��Tz���a���: �Wt���K��d���%���R��?�̋�<̈�c�9�L�ǔ�9�4�Ǐ�1��!VF�)�)�)�)� �!VD�1�.�ǔ�9�N�ǔ�9�F�c�<̊��?�ҋ�@�����W��=�n���8�:�F���P4�Nm�����B�������7�������7�����2X��������������������S�����������p���a ����b���a��������T���3���A����A���� t���s%�������������$���h���������4U���#�����KD����6��2�����$e�����*�$e�����*�1�f���F��?'��Ծ��?'��Ծ��E�������L������$�������*���ſ��.��������dZ�Y,^���������5��+���fY�F����fY�F���3,�R���]P�������������ݲ���!����!�� R8��f� �H��N����S�������_��������$�6��� �$�"��� �$N����#�����F��y�����q�{����t��T����8�� $��"���&ċ�)H�/w������*�����8�%ݘ��|���4��֖��R���U*�������������x���������Ƨh����Ƨm���hp���y�������K��������K���������������Rc��9�p�����������I���3>�����������������G������3ڋ���q ��7���h��n���f��j���-��lZ�������H���~��l���|������{$������0��h�����>����Z�\��yT������#S���X�*T���������*T��X�#S���#S���*T���������R�����R��X���լ���ܬ����U"����������������o��6B���g������^H�������m{��9����������%<�,M$����8�H�D��8�H�E�4�� "��0���nL�����<��8�\�����;z����T�>S�ީ�>S�ީ�.����ǘ�o�����`��������'L�������k����[���ٯ���ٰ�����3@���8���z���I��������$ �UUS% �*����������s�����B�������������������9W����8�������t����r����t����r�������9���9X��������� ����������������TF����8� ����^�������ƨ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����8�U�����t�U�����t�*�������9X����J�L������HӴ����F������F������/��ë�����X��/���A��F�������<T|���`�2@����2@�������ë�����X.�����?�����ʟR����,�������(�����Ϭ��i���g�������9,���n]���+x����.���ȋ���:�����*�����U�����t�U�����<� ��ƣ�� ��V|��p����*����*� � �� n���V�%���I� 7p�*b��� �}��� �x� Y�#��&���/x���T�(8R��ީ�!V,��ީ�!V.���ǰ�����個������������=�����������h� \����X�@(����@$���ӌ��D����d��l�����=������4ǘ��ǃ��+� ��ǃ�+� ����0�ߐ���(n�����������q���Ԝ��ũ7��ũ8��ũ7��ũL���ԛ����p����������jj� ~���06���������$K��ڶ�*�?���w���������������8�����i�8�����m�F����z����$�����9]����<�������u����v����w����v�������;���9a����Ҙ����@��������g���Sl�@'���P�/���N3�A�����N3�A������@ڋ�>|��E���"�@=D�"E��:��"E��:��.���.���:���"E��:���"E��@=E�"�E�܋�2 ��B[�~k~����O�������^����9`������*����v�U�����v�Uv����<� ��Ƴ���,�d6���j�+.���>���}��=�7�y�� �������������M����� h�����U����0�U����0�*�����9����a�����R���7���Լ����z��BY��A�����Ɯ������ ����;�U�����w�U�����w�*�������9a����a�������S���7��������UU�����������������6�����JP�����JO���a��%'���������9�����*���0�U����6�U����� g�������d���<�+@�*��UUS�r��1�+� ��U��U:�U��U<� �*���6���6�� ���c�U������U������+����I�v���9��������������9��������I����r��������r�������� ����c���9���9���� �*�����r�U;����r�U;����� ��������2�UU@�z���+� ��U��U��U��U:� �*���2���2�� ���b�U������U������+����J�v���9��������������9��������I����n��������r�������� ����b���9���9���� �*�����r�U;����r�U;����� ��������2�UU>��UUf������1�+� ��X�U:�U��U<� �*���4���8�� ���c�U������U������+����I�t���9��������������9��������I����t��������t�������� ����c���9̋���9̋���� �*�����t�U;����p�U;����� ��������2�UU@�x���+� ��U��U��U��U:� �*���4���4�� ���b�U������U������+����J�t���9��������������9��������I����t��������t�������� ����b���9̋���9ȋ�����*�����t�U;����t�U;����� ��������2��UU@����ƨ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����:�U�����q�U�����r�*�������9X���������9Y����8�������t����r����t����r�������9���9X����9X������*����r�U�����r�U�����8� ��ƨ�UUT��ƨ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����8�U�����r�U�����r�*�������9X���������9Y����8�������t����r����t����r�������9���9X����9X������*����r�U�����r�U�����8� ��ƨK�Ա|4 ��*<�UU@�������+� ��X�U��U��U:� �*���4���4�� ���b�U������U������+����J�t���9��������������9��������J����t��������t�������� ����b���9̋���9̋���� �*�����t�U;����p�U;����� ��������3�����UU@�z���+� ��U��U��U��U:� �*���2���2�� ���b�U������U������+����J�v���9��������������9��������J����r��������r�������� ����b���9���9���� �*�����r�U;����r�U;����� ��������3���~������ƨ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����8�U�����r�U�����r�*�������9X���������9X����8�������t����r����t����r�������8���9X����9X������*����r�U�����r�U�����8� ��ƨK�Աh4 ���x��^��C�&�����A�z���L�?���� ��?���� ��+�����EX�������t�����%�L��'�t����J�)u���首�)u���首����� 2��t���k��d���<�� �����M�H����_Z�H����_Z�$P��猶��������c���H�������7���l��������X����D���`D�������`L������M���vI���9��>X����yD� ����,�A�����������^"����<��o����8��[���y��n��ł���u�h����<�N���Dg�zP�+�u��.��=�M&���z,�kj���z(�kj���V8�!����2H����%|�n���AT��&���]0�����]0����啘�rl���������������ʐ����ݸ�8���k�%�����L�G���P�G����F���ɤ�ܨ�����8�x���_��2!�����l�+�t����+����n��~��x�C���R������H������q��GX���q��G\���8� � ����H���H���G`��b� ���� )��DR��$�DR��$� ����� ��7���7h����6����4�� ����<�� �����d<��0�ڌ�ǘ�P���v���ٜ�>���<�>���8�G���P������'����P�3���0��������������A����~���Í���N\��յC���^l����j��ڭ���������������������E`���ύ������[����W��K���ǐ�y����!�$ ����8'h��Է�8'`��Է�;�n���[��?=~���V����D��P���}�����7��i\����Һ��`��$�ѐ�������;������A������t�����r�G���an�Ű���?f��������������"�������V���@���V�������������l����������$������[|��������m��������E������5�����5���Z�E���k��U����p�UB��<�S�"Q��Q�"Q��Q��7|k�=��L��*���Gy�gp1 �@�Nk�������t���?��L8����^�����V����?��������g�%��UU@��������������m$����x���5:������5@������B���P|����D��������U@����������Px����������������w�Z����������������g���H�����n���n����H�L=��%�����U@�Z�{&���;����������������c%�*����c ���@������-�����5<���m(�;������{(��i�����������O��UU@����t��v�z�_�<����d������3�D��7��v�|�����UU@�ww����U@���32��u��aG����J�aG����J����R�������F����x�Ci��`A��CS����a��(�w�� ���I���7�����x�����ww����Ix��� ��� ����_�*��������r���O���������v���Ӝ�`A�����2����T�h��������Frf��� |�Dz�����B������B������-,���̴������z��E��F������<Bx����1�P�����1�P������(��ö����mf�����B����������<���1��D���1���d������հ����x.����p����@���s��ߡ���9T����9X������*����t�U�����t�U�����8� ��ƨ���p�sP�����-��d����\���!��5�Z����q��|��_��|��_� �@��F���.��/h���Y�(1R���!V>���!V:���Ӵ��4����,���=p���������h� \����X�@,����?$���ӈ��L����`��x�����=ֈ�����4�$��ǂ��+���ǂ��+���������# �����v�����D���Ԍ��ũ��ũ��ũ��ũ ���Ԉ����D�����j����XV� �����a���v���k��x���k�t����Ղ������?� ���v=�Er������o����9X����9�������r����r����r����r�������9���9X���� )����/��2���?�d���4>��P��� �-3������:������:�.�����6İ��2�6��E��"�@=p�"E��:��"E��:��.���.���:��"E��:��"E��@=q�"�E���-���,z���̀�*�����������N����U@�������������ƨ�*� �U��U��U��U�� �*�Ƥ���P�� ����8�V���r�U�����r�*�������9X�����T�����U��������9R����8�������x����r����x����r�������9���9T����9X������*����t�U�����t�U�����8� ��ƨ�����m���U@�& ��UU?���U������ƨ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����8�U�����r�U�����r�*�������9X�����T�����T����9X����8�������r����r����n����r�������9���9X����9X������*����r�U�����r�U�����8� ��ƨ�*����*�Y���U������Ƨ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����9�U�����r�U�����r�*�������9X�����T�����T����9Y����8�������r����r����r����r�������8���9X����9X������*����r�U�����r�U�����8� ��ƨ��U@����R���U@����������Ƨ�*� �Vz�U��U��U�� �*�ƨ���l�� ����9�U����r�U�����r�*�������9X����9X����8�������t����r����t����r�������9���9X����9X������*����r�U�����r�U�����8� ��Ʀ��U��UUZ���U@�5 �*�������U@�5 �������$ �UUS% ���@���<�����>��'��8�(���@�U�R��U�R���@��N�&���u�a|����؋��4��ƨ����8� ����t�U�����t�U������*���9X����aЋ����,���E��������������������hF���#p�������nr����t����t����v����v���nt�������#t���hH�������������������E����*����a���9X�*�����U�����r�U�����r� ����9�ƨ���6�����ax�v�\(�Zt�����o$����F��F��F��F�����o"�܌���������������� ���ƨ�*� �U��U��U��U�� �*�ƨ�� ������v�� ��ƨ�� ����8�U�����r�U�����r�*�������9X������.����A������/����9X����8�������t����r����t����r�������9���9X�����0� ���A������.��������9X������*����r�U�����r�U�����8� ��ƨ�� ��������v����A����������7���ܬ ��X���խ�����Q�����Q�*T�����#S��� ���v�� ������#S�*T��X����������X�*T��#S������� ɋ��v�� ���#S������*T���L�����0�����լ��X��ܫ,�����8��������A������6���ܬ����լ�������R���P���R���R�������ծ���ܬ��������Ƙ�� ����:�U�����r�U�����n�*�������9X����9X����9�������r����r����r����r�������9���9X����US��ܬ����լ��W���R�����Q�������*T��#S����#S��W�*T���������*S��X�#S����#S����*T���������X�����X��X���լ���ܬ���UT����9T����8�������t����t����t����t�������8���9X����9X������*����t�U�����t�U�����8� ��ƨ�*����ƨ����8� ����t�U�����t�U������*���9X�������9X��������8����r����t����r����t����9�������9X�����9X�*�����U�����r�U�����r� ����8�ƨ��a��H���+��*��H���+����Db����� �^��~X��ƨ�*� �U��U��U��U�� �*�ƨ��~T�� �\�����Dh������U@��*���T����Z�*�������8p����8u�����������U%��*����*����������������������9X������*����t�U�����t�U�����8� ��ƨ��~X��� �]���Dc��*<���@��ǰ�*� ��U��U��U��U�� �*�ƨ��ƨ�� ����8�U�����t�U�����t�*�������9X�����T����U>���ܬ��W���լ�����R�����R�*T�����#S�����ƨ�� ����8�U�����r�U�����r�*�������9W����9X����8�������t����r����t����r�������9���9X��������������n����T1�)����T1�)����*�2F���:�H��*>��+��H���H�&��+��H��������W�����'�����`����9X����8�������r����r����r����r�������9���9X�����f�����&�W������� ��*����U@������T������ ��Ǐ��ǐ�*� �T�%��U?��U@�b��� � :�W�����ƨ�� ����8�U�����r�U�����r�*�������9X�����b����|����&���P�����������*>����H�+� ��U��U<�U��U@� �*���4���4�� ���`�U�������U�����8�+����H�t���8\���U@��������*��n���T0���T0���T$���T1��l���*�����������9X����������*����r�U�����r�U�����9� ��Ƨ��Ƨ�*� �U��U��U��U�� �*�ƨ����#S�*T��X����������X�*T��#S�����*>��*��H���+��+�Dh��� �`�� �~X��ƨ�� ����8�U�����r�U�����n�*�������9Y���������������������*���*������Z��������������8p����8p������*����Z%��*����U@���P��c����{� :ڋ����ƨ�*� �U��U��U��U�� �*�ƨ����� :����|�c���P����@����������x� ������U<����t�U@����t�*����� ����9̋���9����`�������������t����x����p����H�������8��������U@��ܬ����ծ�������R���P���R���T�������լ���ܬ������9X����8�������r����r����r����r�������9���9X����9X������*����r�U�����r�U�����8� ��ƨ����:�T���2F��)��)��)��)��2F����:�H���7+������H�"��+ ��H���H���������������������9X������*����r�U�����r�U�����9� ��ƨ��~T�� � �\���Dh��U?��U@�T��T� �*�ǐ��nj�� �����T�%��U@��*��������(�W�����$�����$����9X����8�������t����r����t����r�������8���9X�����d�����(�W������� �*<��s���H����t� ������U<����r�U@����r�*����� ����9��������9����`���� ��������r����x����r����H�������8��������U@�������n����T0�)����T0�)����*�2F���:�H����ƨ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����8�U�����t�U������*�������7������ܬ��X���խ�����Q�����Q�*T�����#S����*>��+��H���H�(��+��H��������W�����&�����b����9X����8�������r����r����n����r�������8���9X�����b�����&�W���������*����U@������T������ ��ǐ��ǐ�*� �T�%��U?��U@�c��� :�W�����ƨ�� ����8�U�����l�U������*�������7����d����|����(���P�����������s�����x���9�����U����t��������t�������� ����b���9̋���9̋�����*�����p�U;����p�U;����� ��������2�*����#S������*T���P�����T�����լ��X��ܬ������9X������*����r�U�����r�U�����9� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ����:�T��2F����*�)����T$�)����T$���n������a��H���+��*��H���+����Dd����� �`��~\��ƨ�*� �U��U��U��U�� �*�Ƭ��~X�� �\�����Dd������U@��*���T������*�������8,����8t�����������V%��*����*����������������������9X������*����t�U�����t�U�����8� ��ƨ��~X��� �^���Db��s|���ծ����t���9�������>����r��������r�������� ����b���9���9͋���� �*�����s�U;����s�U;����� ��������2�*�������:�T���2F��)��)��)��)��2F����:�H����ƨ�� ����8�U�����t�U�����t�*�������9X����9Z����8�������t����r����t����r�������8���9X�����ܬ ����լ�������Q���R���Q���R�������լ���ܬ����*>��*��H���+��+�Dd��� �`�� �~\��ƨ�� ����8�U�����r�U�����n�*�������9Y���������������������*����*������\��������������8p����8p������*����\%��*���U@���P�c����z� :ۋ����ƨ�*� �U��U��U��U�� �*�ƨ��0�� :����|�c����P�������������7�0���9S������*����r�U�����r�U�����9� ��Ƭ��ƨ�*� �U��U��U��U�� �*�ƨ�����*����:�R��2F����*�)����T$�)����T$���l�����������9T����8�������t����r����x����r�������9���9T����9X������*����t�U�����t�U�����8� ��ƨ����#S����*T���P�����P�����լ��X��ܬ ��7+������H�0��+��H���H�������P��&����z����b����9X������*����r�U�����r�U�����8� ��ƨ����W�� :�� �c��U@��U@�T��T� �*�nj��nj�� �����T�%��U@��*��������(�W�����$�����$����9X����8�������l����r���� ����r�������8���7������h�����(�W������� ��s���*>�$�!���������9�u����I�+�����U������U�����b� ��2���0�*�� �U;�U��U;�U�� ��+��2�v�*���#S���*T��X����������X�*S��#S�����ƨ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����8�U�����t�U�����t�*�������9X����������*��n���T$���T1���T$���T1��l���*��������U?��A������%� �(�H��H��H��H�� �)�%��������������� �(�����H�����@�H�����@�%������Np���|���������Np�����������@����>����D����@����������Nl��������|����O1����G�%Q����^�J�����^�J����گ� ������������������|������{r������� ���� �a���#>��������#>x��`�{q��L�������{t�a��#>��������#>��`���@���� ������{p�������|����������������!������!���������������� �*�����i8����������UU@��*����6 ���U@�*�������9X�*�����U�����t�U�����t� ����8�ƨ��ƨ�� �*�U��U��U��U��*� ��ƨ���ƨ����8� ����r�U�����r�U������*���9X����9X��������8����r����t����r����t����8�������9X�������:��*�����U������U�����t� ����8�ƨ��ƨ�� �*�U��U��U��U��*� ��ƨ���ƨ����8� ����t�U�����t�U������*���9X����9X��������8����t����t����t����t����8�������9X�����Ul����������9Y�*�����U�����r�U�����r� ����9�ƨ��ƨ�� �*�U��U��U��U��*� ��ƨ���Ƨ����8� ����r�U�����r�U������*���9X����9X��������9����r����r����r����r����8�������9X����������9X�*�����U�����r�U�����m� ����7�Ƥ��ƨ�� �*�U��U��U��U��*� ��ƨ���Ƨ����8� ����t�U�����x�U������*���9T����9X��������9����t����r����t����r����8�������9X���������������ƨ�� �*�U��U��U��U��*� ��ƪ��ƪ����8� ����t�U�����t�U������*���9X�����9X��������8����t����t����t����t����8�������9X����9X�*�����U�����r�S���r� ����8��P���*��������4�v� ��+�U@�U��U8�U��*�� ���2���2����`� ����U������U�����D�+���9�v����9���������L�������������n���������n����`���� ����9����9�*����� �U<����n�U<����n� �������4��������Ul��U@�������Ʃ�� �*�U��U��U��U��*� ��ƪ��ƪ����9� ����r�U�����r�U������*���9X�����9Y��������8����r����t����r����t����8�������9X����9X�*�����U�����r�U�����r� ����8�ƨ����*����������3�v� ��+�U;�U��U;�U��*�� ��2���2����b� ����U������U�����I�+���9�t����9���������I������������n��������r����b���� ����9���9�*����� �U;����r�U;����r� �������2�������A���������|����������,�u�����&��Y�����Z�������� �#5�����Ϝ�#8܋�,�v���|��{��|��|�v��(��#8������� ċ����#5���T���������������h����,����0`����+��������D�������������������B����؋����$��������������������A������ ������ � �p�@=�B\�@2�B\� �a�"������Ϝ��������� ����B\����@�B`������!0���܋���T$�������*i8����������<����Tv������� ��������������p�������� �������R��������0d����Y��������� \�%m���� �J�����J���݄� �����^�*�J��U@�X����������� n�����%Қ�����B7$�����B7 ���-f�K,4�����T!H�}�+�ƨ�� �*�U��U��U��U��*� ��ƨ��ƨ����8� ����r�U�����r�U������*���9Y����X�� n�T!l�%Қ�K,J�B7%�B7(�B7K�B7�K,J�%Ҝ�T!H� n���X�����9T�*�����U�����t�U�����t� ����8�ƪ��ƪ�� �*�U��U��U��U��*� ��ƨ�}�,�T!D�����K,4���-d�B7$�����B7 �����%Ҝ����� n������X����9X��������8����t����r����t����r����8�������9X����9X�*�����U�����r�U0����r� ����8����}�,������ޒ���-d���Ӷ��������������������-f���������}�+��Ƨ����8� ����t�U�����t�U������*���9X����9X��������9����r����r����r����q����8�������9X�*����*��$ �������$ �UUS% ��U?7 �UU�8 ������U@������������������M����&t����j���L����U@���������*�������y����������M>����M>��k���������%�*������������L� �x���&v��X�� \��*����#UT��*������������*���#UV����#UT����*�r�r�����T����ܪ����UUT���8����������*���U@�*���Kȋ�ƨ�� ����8�U�����t�U�����t�*�������9X������9Y����8�������t����r����t����r�������9���9X���a������c��� :�W�����ƨ�� ����8�U�����t�U�����t�*�������9T�����f����|����(���P������������������������������9X������*����r�U�����r�U�����8� ��ƨ��~X�� � �^���Db������ë�����Db���� �^��~X��ƪ�*� �U��U��U��U�� �*�ƨ��~T�� �\�����Dh���������������������������9W����8�������t����r����t����r�������9���9X��������� ��������x����������A�Dl��� �`�� �~T��ƨ�� ����9�U�����r�U�����q�*�������9Y��������������������UU@��UU@����\��������������8p����8p������*����Z%��UU@�������P�c����z� :ڋ����ƨ�*� �U��U��U��U�� �*�ƨ��J�� :����y�cl���P��aՂ��+�t���+� ��U��U��U��U:� �*���2���8�� ���b�U������U������+����J�t���9����������9��������J����t��������t�������� ����b���9̋���9ʋ�����*�����r�U:����r�U<����� ��������2���/�(�x�������A�J���j�@L���f�>,T���b�>,T���c�*���������z���7��F��<T����P�2\�����2X��������ëZ����X����K���_����1���,���W���L���W���[�������(����S����P���������������@����9X������*����t�U�����t�U�����8� ��ƨ��}@��0����`���P��������),�E�)4�E����}��u���/����T�(8h��ީ�!V>��ީ�!V>���ǘ������\������������2������������\����f�!(����BN����Ap������&���������#L�>V����0�4����{�+�H���{�+�L��ý���������v�����D���Ԍ��ũ��ũ��ũ��ũ$���Ԋ����D���������h����b�V*���$��R���O��R���O����������n�%�������������7U����8}�������)��������������������)������8y����/�����X��������� ����`�����D��'�`���(��1���(��1����I�,��(*ދ�E���"�@=p�"E��:��"E��:��.���.���:��"E��:��"E��@=q�"�E��������2���(�����Q��UUS������Ƥ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����9�U�����r�U�����r�*�������9X���������9X�*�����U�����r�U�����r� ����9�ƨ��UU@�ƨ�� �*�U��U��U��U��*� ��ƨ���ƣ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����9�U�����r�U�����r�*�������9X����ܬ �������խ���P���Q���T���Q���լ������ܬ��������ܬ����խ��W���Q�����Q�������*S��#S�������;�������B�Dd��� �`�� �~\��ƨ�� ����8�U�����r�U�����r�*�������9X��������������������UU@��UU?�������������������8,����8r������*�T%��UU@�������P�b�����z� :؋����ƨ�*� �U��U��U��U�� �*�ƨ��F�� :����|�cl���P��aՂ���������ƨ�*� �Vz�U��U��U�� �*�ƪ��ƪ�� ����8�U�����t�U�����t�*�������9X���������9Y����8�������t����r����t����r�������9���9X����9X������*����r�U�����r�U�����8� ��ƨ�-X������� ��S���/�:�(<���_���|����|����]h����]h��`���Ɏ����5�����Ԁ���� �������@������<�����(�������������������S�������������������Ȯ����x]��Õt���×z���ȯr�������l�!����j�!���SH�,P����*�6������ �����&�t����@������@������ �H��+���!�:��b�%6p��(����(����~� !��(:��`���)M����t�9�������A�����A��������������%�����L������0�����ֲ���� ������� �����������,���ԓ����4������u���1��㶦��1��㶦��K���E�d���ӏ��!���Or�/"���f��@�����~ �@�z���~ �G&����M�Ћ�M�����Gh�A��@��*�>�@��*�>�/"��8����t�F��h�,z��P����4�I_��4�I_����c���f��+or���t�/�D����4=����4=���}x�)N������`D�����ëD�������f�<������f�;��*<�������\�T�����*���8p����8p������������\%���U<���U@�������������9�������[���8��*������9X�*�����U�����s�U�����q� ����9�ƨ���U@����� �*�TF�T��*���*���T�T��*� ��nj��ǐ����� �T�%�*���������H��&�+� ��X��U:�U��U:� �*���4���8�� ���b�U������U������+����J�t���9���(����ܬ �������լ���P���R������Q���լ������ܫ���������ܬ����լ��X���R�����Q�������*T��#S��UU@��#S��W�*T���������*S��X�#S����� �����ƨ�� ����8�U�����p�U������*�������7���9X����8�������r����t����r����t�������8���9X�����T���(�����9Y��������8����r����t����r����t����9�������9X�������������9X�*�����U�����r�U�����q� ����9�ƨ��UU@�ƨ������ �*�U��U��U��U��*� ��ƨ��UU@�C�D���nV���������������*<�H�����X�T�����*���8p����8p������������%��UU@��UU>�������������8�������^���8��UU@����9X�*�����U�����r�U�����r� ����9�ƨ���������� �*�TD�T����������T�T��*� ��nj��nj����� �T�%�����C�D��������nV�������UU>��UU@����������s�����X�T�����*���8p����8p������������%��*����*���������������:�������[���8��UU@��������9X�*�����U�����r�U�����r� ����9�ƨ���������� �*�TF�T���U@��U@�T�T��*� ��nj��ǐ����� �T�%��aՀ���p���9�w����J�+�����U������U�����b� ��0���2�*�� �U:�U��U<�U�� ��+��2�w����4������ ������U@����q�U<����r�*����� ����9���9����d���� ��������r���������r����H�������9�������U@�UU@���B�*� �U��U�U��U�� �*�Ƥ��ƨ�� ����8�U�����r�U�����r�*�������9X�����ܬ �������լ���P���R���T���P���լ������ܬ���*����ܬ����խ��X���Q�����R�������*S��#S���U@��#S��X�*T���������*S��X�#S�����ƨ�� ����8�U�����t�U�����t�*�������9X����9X����8�������r����t����r����t�������8���9X������9Y��������8����r����t����r���������9�������8@��*����������9X�*�����U�����r�U�����r� ����9�ƨ���U@�ƨ�� �*�U��U��U��U��*� ��ƨ��9 ��s����B������������������9X������*����r�U�����r�U�����8� ��ƨ��~X�� � �^���Db��U@��U@�c��� :�W�����ƨ�� ����8�U�����t�U�����t�*�������9X�����h����|����(���P�������m��a����������|� R����~� ���2� �RG�'z�n��e8��;�����;�����������b:��h��i,^�4e�p6��p�i0��˚��bF$���5��<������,���;�����]"������]"�l�����QP���خ������l���@������t���]&���t���]&���_��<���K ������t���5��Ӡ��˚�����̋����������4a^����\�h»���p�!����!�%������(�������1<�������������"�������������I���I��������������� @0���Gd�<N����^�8l���oX�O\��������8�#�����b�s����;�}����������H��}��=e��s�z�p�#�$�&;B��)2�O�+�$�������<P�$�������������[z�����������[z����!������ð�$����eh��j��㰨�+��k�)���OX�&>������z�����=b��w4��w%��������H����3���4����L����D���[������㬡���V���E����#�������^���Pk������z0��BB��/�������(8h���!V<�!VA�!V@�!V>�� �(8h��/���/����T�(8h��ީ��!V>��ީ�!V<���ǘ�� ����`�����n����ǘ���T�ީ��ީ��ީ��ީ���T��ǘ�����n�����n�����ǘ�!V>��ީ�!V0��ީ�(8h���T�/���UU����r�����������U����T�� ���T�� ����p�8���P���P�U��8�� �� �� �� �8�U���P���L��8����p�� ���T�� ���T�U�����ʋ���r�����r�����p�������T��T��U���T�������p���r����;�*���Y�������������Ȍ�� �*�U8�U����� mP�'0�'����� ����)E~��)E\���%� ��"(����Ry<�����Fk��š��:^|��š��:^|����$�/<��������������G���sx��ֹ������ֹ�������H����_�������L�������������������9�������\���8�����<����B����B���P��������|����(�����a����9X�*�����U�����r�U�����r� ����9�ƨ����� :�W��c���s��s���Ռ���p���Dd��� �`��~\������ƨ����8� ����x�U�����x�U������*���9T�������������������s���s����H�����a��\��<�e����$���$��H�a�����:�L�����2P���%�)�T���K��)�T���K���(��ͯ0���������������s@���9�������9�������P���I��������� <��������L����W����4�������z��UUT�UUS��UU@�����������������9X��������8����r����r����r����r����9�������9X��UU@����9X�*�����U�����r�U�����r� ����8�ƨ��UUT���U@����9X�*�����U�����r�U�����r� ����:�ƨ�������ƨ�� �*�U��U��U��U��*� ��ƨ�*���UUT� 0�����'����O���O�(�����;����*��������D�gH�m �t����2��Ɩ����@� ������U�������U�����*���9l���UUT��ƨ�� �*�U��U��U��U��*� ��ƨ������ƨ����8� ����t�U�����t�U������*���9X�����X���ëZ���P�������������������R��ëX����X�UU@�����0��������������r����������p���T��T���T��U|����p����ȋ���r�����9X�*�����U�����r�U�����r� ����8�ƨ��t ����ꪬ��������G�����9X��������8����t����r����l����r����8�������9X���U@������*����ƨ����8� ����r�U�����r�U������*���9X�������UUT�UUT�ƨ�� �*�U��U��U��U��*� ��ƨ���/����(8h�!V>�!V<�!V4�!V@�(8h�� �/���*����: ���ëD; ���U@��< ��*�����������ƨ�� �*�U��U��U��U��*� ��ƨ��Ƭ����8� ����t�U�����t�U������*���9X������9X��������8����r����r����r����r����8�������9Y����9X�*�����U�����r�U�����r� ����9�ƨ��ֈ�[% ���O3��� 4����������P�������P���������'��ؾ����q����_H�K�����e�������g"�����g"������C��s��� ��b9X���C�h���ˡ�o����#N��R�'�|� �,���s��,���s��$;8�[Y���B��τ�K���%�� T����� �����Tt������Tt������*<����5����:Ӌ���p^�������w���/���}����������Ӫ���W���x��!����x��!��H���=E���L���X���w34����$�=]������z�e��� �%EU�����)�����,�$���Gq�� ����s�" ���Qv�k ������n���a�\L���*��$������_�K�i��+�.�!��/��,lr�4)z�,lt�4)��)��)��'[e���_�ո����� �h���ҋ� f���Մ�T������T������*z������:,�����$���i���������v��;�����|�!�n�X`�$8:�@�&{���!���^���{������{������fd������Q��F����p�h�@�����4^ ����̋���;v�8���R����嬊����,��������X����f���@`����N����0����6����9����\�*������U,�����U,����h� ������ V�7|����n���n���� �� � �� R���,� �P���!2������������\��}ߔ��¢L�r����D��#�,����|��p����B�O����������&�3�������l�����������������I"�����`���S���On���������z���\����v��ߡ��2��ڠ���ӕ����|�������.���������:��������8�*;������T{������T{����� ʋ���� E�H�� (����t�����/@�ot� �� g�����_���ƈ�� ����B�U|������U|�����*�������9*����͚���/���N0���^������� T���"�����N�����{ ����{ ��������������뤋�������ޮ"�!Q��ޮ"�!Q���W�(3��/r��b�B|�W� ���L� ���L���^��� �1>���� ����2f��Ǝ�� ����D�Ux������Ux������*�������8��������y����<����$����t���f�����������_����V������T���N���O�����������u�Tv����l����V����W���������:�� S���J��T�B�`��B�`�� �4�|��T��2��ѐ��D1 �D�0�3�p��*�p�D��n����<N�� �.�� �.���`�<N��n%��*�����K���<���D������=@����9X��������8����t����t����t����t����8�������9X�����l�����������j����9X�*�����U�����r�U�����r� ����9�ƨ�� ����������d��<� A��L_�= ��2����6���*�x�B��r����<N�� �*�� �.���^�<N��n%��*�����K��<���D~�����=;����9X��������8����r����l����r��������9�������8�����l���������������j����9X�*�����U�����r�U�����r� ����9�ƨ�� »��������G��;� A��L_�= �*����: ���ëD; ���U@��< �UU���*��������������9���������H������������n���������r����`���� ����9���9�*����� �U:����r�U<����r� �������2������UU@��4�z� ��+�U@�U��U<�U��*�� ��2���2����`� �����U�����$�U�����H�+���8p�v��UU?�������������9���������H������������r��������r����b���� ����9���9�*����� �U:����r�U<����r� �������2������UU@��4�{� ��+�U@�U��U<�U��*�� ��-���-����`� �����U�����$�U�����H�+���8p�v���UU��������������9X��������8����r����t����r����t����8�������9X����9Z�*�����U�����r�U�����r� ����8�ƨ��UUT�ƨ�� �*�U��U��U��U��*� ��ƨ��ƨ����8� ����r�U�����r�U������*���9X��*���ͽ0��d�����ڙn� A=���}�|s��働�|w��僋����%f��������z�%f���� A<�|t�|t�|t�|s� A<���%f���z����p�%f�������|t��僔�|t����� A<��ڙl���d����ڙm����`���}����働���$��僋��僔��������������ڙl�*���2B��UU@������������UU@����UU@�UU@���������U����������*�����������U�������UU@�M������� �@�������L���T� �X���+�� �T���.�����*�����&����B������������B��������&����T���*����.����.����.����.����*����V���&���������B���������M��� �D���L� �x� �T� �W� �T��M�� �B��M������B����(ߋ���)���o���*�� ����*�� ����O�Ո�� �4�M���*���UU@���Ud���ܬ����խ�������Q���P���Q���T�������լ���ܬ��UU@���ܬ ��W���լ�����R�����Q�*S�����#S�����#S�*T��X����������X�*T��#S���U@����\����8� �����TD���U@�*�������T����*���8�����U@�������������9Z�*�����U�����r�U�����r� ����8�Ƭ�����UU@����9X����8�������t����r����t����r�������9���9X������9X����������*����r�U�����r�U�����9� ��ƨ������ƨ�*� �U��U��U��U�� �*�ƨ����UU@��ëD����f�<��f�<��*����: ���ëD; ���U@��< ����������������9W�*�����U�����r�U�����r� ����9�ƪ��ƪ�� �*�U��U��U��U��*� ��ƨ�UUS�UUT�ƨ�� �*�U��U��U��U��*� ��ƨ��Ƭ����8� ����t�U�����t�U������*���9X�������UUT��ƨ����8� ����t�U�����t�U������*���9X����9X��������8����r����r����r����r����8�������9X�������������9X��������8����r����r����r����n����8�������9Y����9X�*�����U�����r�U�����r� ����9�ƨ�������U@��������H�J������ ����|�6���������J������J������%H�L��������ƨ�� ����8�U�����t�U�����t�*�������9X��*������9Y����8�������t����r����t����q�������9���9X���UU@���9Y������*����r�U�����r�U�����9� ��ƨ�UU@������ƨ�*� �U��U��U��U�� �*�ƨ��������U�����r����V��mT�����=������y|���2��p������p���b@�ڸ����������^���*�����ܬ����խ�������Q���P���Q���T�������լ���ܬ��������ܬ ��X���լ�����R�����P�*S�����#S�������#S�*T��X����������X�*S��#S���U@��#S����*T���P�����T�����լ��X��ܬ���\�����������������w�Nl�������������������������������q�������������[|���������܋� L�*5�V��Ti�U��Tj�+�� ����� ��\��KC������T��X�]�� 0�� k���ƨ����8� ����t�U�����t�U������*���9X�����ċ�������������9Y��������8����r����t����q����t����9�������9X�����T�]�������R�����|�D����`��p���������^���I���� $���������؋����������r���ة8������*����������� gv������ -(���I��������US��2�z���9�+����I�U������U������ ���b��2���2�� �*��U��U;�U��U=�+� ��v��1���r��������7����k�� �,��'+�L�/��������A7�^����m�^����l�κ���� �&����+�b���f�"����9����������������mT�����S���:�`��1�(�"��(��E,�(� ?!�5x� A�B�C �T�TB�*� �����������8�� "���qT�H����qT�H����X������\���,�������������U��������t��� t���r���d����������7����l<����1������}�����}����1H� s��j�jP���������B�����yP�r����yP�r���䒬�9@�������)����C����l���^���������������ʅ����������������� ����9�������[���7���U@��UU,���,�����UT���^6���}����j���h�r�������8��y�k����,��'+�P�/��������A4�b����h�`����h�θ�����&����+�V���f�"����8�����������������mT�����S���0�T��*�����$��C���[N����X���������X���v����X���V���r����h����������7 ����l8����1������}�����}����1H� s����j�j\���������B�����yX�r����yX�r���䒬�9@�����������$ ��34������s������������$D����h���g����;���g����>����d��֧W��������o�~��)R����4�'�Ml�@A��Ml�@A�� (��8����1x���Y�^����Ί�� &���$��G����>�G����1��V���4#�s���֪�����o�����d�)X����g�@A����g�@A����$D�DN�����H[z�ޭN��KD�Fp<���d�?���֧T�7������L�7������L�ۼ����h�|�������UkD����0�1u����<�8�d���L�@A����@A���"��4����X�)U���=����V��֭l�����5��鲖����D��鲚����P�������"���r��·~��U��{�H[l�ۼ�DN��7���@A�7��@A�?��)X��FpL�o�������a����-����x������v����}p���t�������t���������͍���P���2����P�&���0�2su���{�>���{�>���zR�7�1���y��0�V���UU����B���~�0���h�7����V�>��T�>�Y�2r�&��&�(�f���0�Q��͌���4������������~��t������������U@��U?��*�����*�����9X��������8����r����t����r����t����:�������9X���U@����9X�*�����U�����r�U�����r� ����8�ƨ��*���ƨ�� �*�U��U��U��U��*� ��ƨ�*����ƨ����8� ����r�U�����r�U������*���9X���U@���U@��U@��U@��*�����*�����9X��������8����t����t����t����t����8�������9X���U@����9X�*�����U�����r�U�����r� ����8�Ƥ��*���ƨ�� �*�U��U��U��U��*� ��ƨ�*����ƨ����8� ����t�U�����t�U������*���9X����������U?��U@��*�����*�����9X��������8����t����r����t����r����8�������9X���U@����9W�*�����U�����r�U�����r� ����9�ƨ��*���ƨ������ �*�U��U��U��U��*� ��Ƨ�*����ƨ����8� ����t�U�����t�U������*���9X���*�����Ul��U?��U?��*�����*�����9X��������8����r����r����r����r����:�������9X���U@����9W�*�����U�����r�U�����r� ����9�ƨ��*���ƨ������ �*�U��U��U��U��*� ��Ƨ�*����ƨ����8� ����r�U�����r�U������*���9X�����x�> ��T���Ӹ���7��7����[���zo��6����"����������������=��������5D����-BL�%�\�%�X�%�a�%�X�-BM����5;���.��>(����\��"������"����������t���x��-: �����T������ �����ǐ��ǒ�� �*�T�%�-:�-:��0��(�(� E8��$�L��$�P�>����p�4�,(��4���-?|���?|�%�8���~��%����~��������������������B���~��������t������t���������q|���y�e͒�!�����L���u����������8����������l���*�����ܬ ��W���լ�����R�����Q�*S�����#S���UU@�#S�*T��X����������X�*T��#S����U@����� �������9���8�����*�����K���<���D������=@����=B����D~�����K�%���.����D���B��ƨ����8� ����t�U�����x�U������*���9T������9X��������8����r����r����r����r����8�������9X��������9W����������*����r�U�����r�U�����9� ��ƨ���x�UU@� x�UU@���|*���?������9X����8�������t����r����t����r�������9���9X���UU@����������s�H�S����Z�2P���(�+d���؋� F����&�U�����J�U�����O�*������9$����;�P������������������ ����|��������Z���|������d���� ��x_���22��4���22��3����O]���A�����A�����E�:�����a�����=�P!����^�E������k�������a����<������IJ���<������Q� t����i�SP���*�G����u>�,���������������������� Q��ƨ�*� �U��U��U��U�� �*�ƨ��g�[������O/���20��Y��������^�L����L���+� S���y�Z����G��'@�����<f����[�Q����E�Q����E�*���B�v����������eD���#�������������"�|�=6�.�^��y�L>���E��P��������G��[���֏t���.��֏����.���_|��܄�/l�����������J����䦋���T�����*������������8����s��Z�H��������9��������J����t��������t������������b���9ȋ���9ȋ�����*�����t�U;����t�U;����� ��������2� ��r��5t��������������N����7�����n� �����n� �����G�� ���!4�e����\�FD����0� �L���U�� �|��x� j �j�H��j�H������� {�(��R� >/�<2����%x��&Y��%x��&Y���P�=�:��T������������3B���̈�������,�������Q����#���$��=���D� �d��b���#���8��$��t�А�K�����9���������T$� � ����L� �L���'���Y���������%����MT�����d�����ݧ@������ ���L����D���0����,����\���[����2���C����U������ä�B�����!���!���!����������â�����U���x���C��<���2ދ���[����*�g�����J��L����W���ݧ@�d��⎂�q��j��������t���j�������C���ld���V!���8���������������O1���j���s���/t��:���؋����<�������E���/����$�����<�������P�����멨����W���y�����W���y�����+����*����Z�����:�O����������r�����^�������%b=����X�%b����X�<m$��糧�Sx0������ RX����x�В���9�N������NZ�������.����Ћ�������+���8�����p�����������l���������0�)~���7��Z�H����9W����8�������r����r����r����r�������9���9X����9X������*����r�U�����r�U�����8� ��ƨ���"������Z������\��]~��ɔ�d.��p��^�O���������0�#����֣�4����֣�4�����Q�J*>��_�����_�w�������y�{̋�B��.���~]�!1�~]�!1� ����=y��0���W ������+���@��I̋�#rL����"T� �?� �\�?��C�� S� ���΄���������4��it�-����;8�����Ie`���q�.�����/;d��\�/�(��/���/;d���x��.��%�IVD�.���;4����-����x��,�����������_�����)�����5�� ������B(���� �@���k�����������܍�����0���+��������W���qL�9��^� ����������L�~4����P�����I��������U?���US�U���#D|��t�{��p�������{�t��#D�����U��#D����t��� ���`��� �������{��ܻ����=p��ܻ��������� ���� ���� ���� ������∋��ܻ���=p���ܻ�{�������� ������ ��u���#D���6�������s����n����\�T�����*���8p����8p������������\%��9� ��9�"���� � w���X��%m����0�=d����1�=h���p���� ��U�����%r� <�J�J�J�J� =�%p�����U����� <���ڐ�J����J����%p����ċ���Hl������C�������������fӶ����D�����������������������������k���C����~4��nV�nV���@����o���"�� kN��b����b��� j��"�o�o���N�"��*�����*������Z� kP���������\���\����ܺ�������*���*���*���*���� ���ܼ����\���⏘� j��ܺ����)����*�#F�����p�����UU@����������d����8�*����8�*�������T���P�d��*�*�*�*��d�����V������*����8�*����4�d�����������������������6����8����6����8�����������7w��������������������$����!����$����!����� �������a������k�o������������}6������:����x�������*�����ܬ ��X���խ�����P�����Q�*S�����#S�������#S����*T��W����������X�*S��#S����U?�� ���������*���������k�p�M:����d�$������4���$���D���$���H����o$����������x���A�������\����������b@���%J�����J����4���J����������������x���V���������������V��mT������=������y|���4��n���6��n���b@�ڶ����L�����^���A����yX�G������\���������x����x��H�z���Ћ�b�������&��d���Ћ��H����D������ ������� ��\����h������H��bP���P������9X����(�������t����r����t����r�������:���9X���UU@���9W������*����r�U�����r�U�����9� ��ƨ���������H�J����������z�6���������J������J�������%H�L��������������L������ڷ����o��\��p�6�y{����=��H�L�mT���̋���PϜ��UU@��*�������������sE����T���fk��������fj���������5����������ԋ�����L����������������������������T����������*�������[z�����������[|����%������U@��A����Z�����sh����sh�L�\H��E,��E(����4�\H���fl�sl���fl�sd���sD�Z����� �A���UU@��U@���0�������������G܋���I�������������%���������KC�����KC���Z^4����l��Z^6��hg���!(���f��49_���P��ƨ����<���O��@���ƨ�� ����9�U�����r�U�����r�*�������9X���������ό����Y�����������������������������8�������UU@��*�����0���������������G܋���I�����������%��UU>��U@����;�V������U������U����U��Ϗ�.���_��ƨ�*� �U��U��U��U�� �*�ƨ��@��������b�����`���U@���b��49P���P��ƨ����<���O��@���ƨ�� ����8�U�����r�U�����r�*�������9X���������ό����Z����������������"�������������<�������UU@��*������ ���������������I���I����������%��UU@��U?����@�V������U������U����U��Ϗ�.���d��ƨ�*� �U��U��U��U�� �*�ƨ��@��������b�����`��������$ �UUS% �*����U?����9W����8�������t����r����t����r�������9���9X����9X������*����r�U�����r�U�����8� ��ƨ������ƨ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����8�U�����r�U�����r�*�������9X���U@�������U@�����ƨ�*� �Vz�U��U��U�� �*�ƪ��ƪ�� ����8�U�����t�U�����t�*�������9X����9X����8�������t����t����t����t�������8���9X����9X������*����r�U�����r�U�����8� ��Ƭ��U������/x���(+��!K��!K��!K��!K��(+����/�������/x�����(+����Z4�!K�����!K����������x�����t��T�0�����\���Z8����e��l��n�����n����x���Z7����t���T�0����\�������e����n�!K���n�!K����Z7�(+���/�������������T�0����g+��Y��ø<�1����� M�1����� M�<G�����F�������F���<G��Y�1���1���1���1����X�<Gċ�F�������������F������<G��� d�1����� d�1����ø<��X���g���T�0���g,���ø<������� M��� L��� N��� d������ø<��������g�U¤��?�� �����������ll���ȋ�������ܬ�������լ���P���R������R���լ������ܫȋ����������䀚� �d���Jv�.���Jv�.���T������_v��8����<�����i�:�����#S���X�*T���������*T��X�#S���8���@���R��L���0���H���0��b���������.��Tz��D���������x�2>F����*����l�#� ����d�#����4�DŽ���5��������B���*���T���S����S����T���)���B����r�����D����h�������s����:�V�����)9����o��)9����o�.���7�2�z��:ⴋ�2H�և�)�X�)��)��)���ֈ�2H��:��� }*���;� n����v$� `�m������U�����Ƥ�*� �U��U��U��U�� �*�Ƥ��ƨ�� ����8�U�����t�U�����t�*�������9X�����T�����T����9X����8�������t����t����t����t�������8���9X����9X������*����t�U�����t�U�����8� ��ƨ�UUS���H? �����x��UUX��6������%r� <�J�J�J�J� =�%p�����U����� <���ڐ�J����J����%p����ċ���Hl��*s��������R�X���DD���ۘ�������������.��������-��������ۗ���B�����x�����������UUl���Q�(���DE�������$i����-�H����-�H���ۗ� G������6�������*�����9������H�+������U������U�����d� ܋��4���4�*�� �U<�U��U<�U�� ��+��4�t��F��<T����P�2\�����2\��������ëX����X����X���P��ëZ������������������ëX���Q���X�����9�w����H�+������U�������U�����d� ���1���1�*�� �U<�U��U<�U�� ��+��4�u��/���(8h���!V@�!V=�!VP�!V>�� �(8h�����/���/����T�(8h��ި�!V>��ީ�!V<���ǘ�� ����\�������������_� ������UT����r�U:����r�*����� ����9���9����b���� ��������r��������r����J�������9���������UV���ê��Y�Y�1��r�<UU��F����F����<UV���1����<UU��F���������ƨ�� ����8�U�����t�U�����t�*�������9X����9X����8�������r����t����r����l�������8���9X�����T�������m����ǘ���T�ީ��ީ��ީ��ީ���T��ǘ�����`�����n�����ǘ�!V=��ީ�!V/��ީ�(8h���T�/���UU@��@ �L��S��� j��z�z�������?��:���������e����e�H*�������l��X���c��������l��H,�sM�����X���<�Sa��$� �'�z������@���� ���/����6!���L(������L,��� ������̏����������������������������������������������3q���L"�f��L4�f���/������2�,���ëC�<T����w�E�m�����O杋�Y��������.������%j�3n�)�"�f�.��f�.����%�L�,����z������r����l����9X��������'�����������������X��sN������������Sb���/� �&���Hv���M�������,�%�r���.��f�.��f�)�"�3p�%p���������0��%l��)�$���̐�.����$�.����(�%�L���6 �����������������l���P�����ƨ���'l����������X����������������d������x���/��������Hv���?������=�,�,������/��f��L(�f��L,�3p���ދ����������c����n��������̐������$���L*������L=���6 ���/�����$���+�����z���P�#�^�ƨ�'5�*�~��*�R���9X�'9����r��#����M������$$ �UUTA ���r�;ƨ����"� ����Uv������*���� v���D�*�� ��U��U��U��U�� ��*���F��?���dZ���KF������!����jl����������&������&�&����O�����������@���� ���� ��� ��r� �@� ���|�|�� 84� ���I��lh� [�(>� [�(<������܋����0������<\������<\������8<��D���4� ���5�� �$���QT��\���m� Ɣ���m� Ɣ���t ��L���{8����h����h���[�����l����H����p����H������̄���V������������� <����H���`��������|������9X������*����r�U�����r�U�����8� ��ƨ���^T� Ah����e�I�4�Ic��D�~�^��Z��#��6��#��6�� ���D��d��F��<T����P�2\�����2\��������ëX����X�����l���W����@���`������d������������\L���(�����N���M�������S��ܣ����Z&��ܣ����Z%��߯t�������8���ܞ�����J�� 4����h����i���b�0*����*�S������r�� ����������lN��D���{��������8���������`��������������������`�������8��������������wL�it��������t�!���N� ^n���N� ^n���ے��8���i����{ދ���t�������lJ���;J���lJ���;F���P���6��3���2����������������Oj���^��퓔����������������Ru������+����}'�����uA� ã���m]� ã���mb�����P�� ���4� �6����'�F���P�.�U�����.�V�����'܀�� �!0�� x�H��H���Df��� �^�� �~T��ƨ�� ����9�U�����r�U�����r�*�������9X����������������������,����+���-�������V���F��� ����p���P����p�����d���������X���ëY�������2]�����2^���Q�<T���F�����M�!��P��$�P��$�z'�m������������n�$��$�#\Z���#\Z��� P��R�D�#a��%�������( �����( ����������1����UU@��������9�}����H�+������U�������U�����`� ��2���3�*�� �U<�U��U<�U�� ��+��4�v��U@�������� �*�W,�U��U��U��*� ��ƨ������ƨ����8� ����t�U�����t�U������*���9X���*�����9�x����H�+������U�������U�����`� ��4���8�*�� �U@�U��U<�U�� ��+��4�t��U@�#S�*T���������P�����T��X���լ���ܬ��UU@���ܬ �������խ���P���Q������Q���լ������ܫ��������H����J������s����B����Dh���� �`��~X��ƨ�*� �U��U��U��U�� �*�ƨ��~X�� �^����Db����������UU@�T����Z�*�������8p����8t�����������V%��UU>��UU@��������������������9X������*����r�U�����r�U�����8� ��ƨ��~Y�� � �]���Dc�����+�ƨ�� ����8�U�����r�U�����r�*�������9X����9X����8�������t����r����t����r�������8���9X������9X������*����r�U�����r�U�����9� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ��UU@�UU@���9R������*����r�U�����r�U�����8� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ��*���ƨ�� ����8�U�����t�U�������*�������9����9X����8�������t����t����t����t�������8���9X����U@�����9X������*����r�U�����r�U�����8� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ��*���ƨ�� ����8�U�����r�U�����r�*�������9X����9X����8�������t����r����t����r�������8���9X����U@�����9X����������*����r�U�����r�U�����8� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ��*���ƨ������ ����9�U�����r�U�����r�*�������9X����9X����8�������t����r����t����r�������9���9X����*�����US������ƨ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����8�U�����t�U�����t�*�������9X����9X����9�������r����t����r����t�������8���9X����9X������*����r�U�����r�U�����9� ��ƨ�*�������US������ƨ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����8�U�����r�U�����r�*�������9X����9X����9�������r����r����r����r�������8���9X����9X������*����r�U�����r�U�����9� ��ƨ�*�������US������ƨ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����9�U�����r�U�����r�*�������9X����9X����9�������r����r����r����r�������9���9X����9X������*����r�U�����r�U�����9� ��ƨ����U@���������(�����$�����3���2���A���b���B���b������D���������&��Ԧ������&�������D�����a�����`���1�#/�����U��������#;t���w��(����z`����#;��+YX�����#/���z|����� ����� ������}�������������F���P�<T������2\�����2\��ëX�����X����X���ëZ���P�������������������Q��ëX����X�������W�B �����"����<��/����(8h�!V>�!V<�!V4�!V@�(8h�� �/���/���(8h���T�!V@��ީ��!V<��ީ�� ���ǘ�����`��� ����������������������� ������U�����r�U:����r�*����� ����9���9����b���� ��������r��������r����J�������9�������*����ܬ ����խ��W���Q�����Q�������*T��#S�������#S��W�*T���������*S��X�#S����U?�������� ������U�����l�U:����t�*����� ����9ԋ���9����b���� ��������t��������p����J�������9�������*�����9Y��������8����r����t����r����t����9�������9X��UU@��������9X�*�����U�����r�U�����r� ����9�ƨ���Մ������8������s����B����Dd����� �`��~\��ƨ�*� �U��U��U��U�� �*�ƨ��~X�� �`����Dh����������UU@�T����Z�*�������8p����8t�����������V%��UU@��UU@��������������������9X������*����t�U�����t�U�����8� ��ƨ��~T��� �^���Dg�����+�ƨ�� ����8�U�����r�U�����r�*�������9X����9X����8�������t����r����t����r�������8���9X������9X������*����r�U�����r�U�����8� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ���U@�*�������Ƥ�*� �Vz�U��U��U�� �*�ƪ��ƪ�� ����8�U�����t�U�����t�*�������9X��UU@����9X����8�������t����t����t����t�������8���9X����9X������*����r�U�����r�U@����8� ����������ƨ�*� �Vz�U��U��U�� �*�ƪ��ƪ�� ����9�U�����r�U�����r�*�������9X��UU@����9X����8�������t����r����t����r�������:���9X����9X������*����r�U�����r�U�����8� ��ƨ������'�����Dh����� �`��~X��ƨ�*� �U��U��U��U�� �*�ƨ��~T�� �^����Dg�����x�;���@��������������������9X����8�������r����t����r����t�������8���9X�����������������i�"���/�����D`����� �[��~X��ƭ�*� �U��U��U��U�� �*�ƨ��~X�� �`�����Dh�����x�<���@��������������������9X����8�������t����r��������r�������9���7���������� ���������E�d�!&����9X������*����r�U�����r�U�����9� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ������ƨ�� ����8�U�����r�U�����r�*�������9X����9X����8�������r����r����r����r�������8���9X��������9X������*����t�U�����t�U�����8� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ������ƨ�� ����8�U�����r�U�����r�*�������9X����9X����8�������t����r����t����r�������8���9X���E�P����*��������������������9X������*����r�U�����r�U�����9� ��ƨ��~X�� � �]���Dd�x�;�x�<�Db��� �^�� �~X��ƨ�� ����9�U�����r�U�����r�*�������9X�������������������i�"�i�������P�����(����|����d����9X������*����t�U�����t�U�����8� ��ƨ����W�� :���c�x�<�x�<�c��� :�W�����ƨ�� ����8�U�����t�U�����t�*�������9X�����h����|����(���P�������������������"���z4����b����d����d����d���z3����$���������������������#������d������f�$���z2�#>#������#>��$�������������$ދ�#> ����#> ���z4�$����d������d������$�������&���l��������fj������ �������O���s������AP����d�Yd������q|���b�qD���b�Y��s@�B������������ ���Q�����O0��������Z��������������8���������X�������M|���UU@���O0�����[�0>������`z������`z����� �������� x�g�P��e �WV���� �&:���o�� ��� ��&<����WT%�UU@��U@9 ��UU������*����U?��ƨ�� ����:�U�����q�U�����r�*�������9X����9X����8�������r����r����r����r�������9���9X������9W������*����r�U�����r�U�����9� ��ƨ����ƨ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����8�U�����r�U�����r�*�������9X��+�*<�c��� :�W�����ƨ�� ����8�U�����t�U�����t�*�������9X�����h����|����(���P���������U@���U@������P�����(����|����d����:�������*����L�U�����t�U�����8� ��ƨ��"�W�� :���c���f�8���V4C ��e�������h�����KC��UU@�������U@�y�$�����T��*��������j2��0����.��U�����0�����������<���̮����x���̯������������x����o���*���UU@�����:O�+D����U�����"�U�����!� ����Ց�Ű���&�� ��k�������Ӷ��Q'�@�b��_���x����M�\0��������D�� (�������*���������c���O�7H�;�3T�;�������"���������Ŭ���Լ� D����l�T���l�T���`�*p���:P����r؋������� ����qd���A(���,H��`�����8�������J����`��|����P����1�����j��������K��������"���������T��*�����ۋ�Hg��!ht����&�������������������H����r����0���p0���������Z��1���O���b����͑����͒����������{\�������D�~�z����w�4��q�=��;d�94�v�4lX�v�4ld�)q��)q��4lX�v��4lh�v�92�;d�=���=���90���Ĝ�4ld���0�4ld���0�)q���֎l�v��˓��v��˓��;d����̋���8�����r����������D���"#���+$���*��v���!s���������h�9����P��U,�C��� �����MEX����Ge�����A�D�����A� ���4�3����y�&���y�&����0�����������|�����2������y����y�����4��4����y������y�������0���������x5�C��to����D��p������@���\��#t0����X�#t,����X�@F���k�`���X�Ѥ�����@����:� ������+6���7��������,���(���d7�,<��m�p�����@�*���������@D�Z��#tx� ��#t,� ��@��a���9#��!$����/���(7�����!U��!VB�!U��!VB���(7���/���/����U4�(7���ުh�!V@��ު��!V<����\�������<�����������r����ǘ���T�ީ���ީ���ީ��ީ���T��ǘ�����d�����n�����ǘ�!V0��ީ�!V0��ީ�(8h���T�/���X�UU@���r�����������U����T�� ���T�� ����p�8���P���P�U��8�� �� �� �� �8�U���P���P��8����p�� ���T�����T�U�����ȋ���r�����r�����p�������T��T��T��T�������p���r����UU@���9X����������*����r�U�����r�U�����9� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ����ƨ�� ����8�U�����r�U�����r�*�������9X����9X����8�������t����r����t����r�������8���9X�����D �������9X����������*����r�U�����r�U�����9� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ����ƨ������ ����9�U�����r�U�����r�*�������9X����9X����8�������t����r����t����r�������9���9X��e���y������,������]�0�����6$��M��u�a3����������y5�i����k�����O�{������,���d ������d ��������8����V�=�ü�l�6���H��7?P�"��7��"��7��)��('�0�`�g���p� \��%��x�Ǣ��8�Ǣ��8�B�P�����@�����v��P+����D�D�x����9C���s�9C���s��������y����F����(����L���&�����J������������d���CT���d���CT������������L���H��直���)��������I����8���i���� ���i����������h������ ��������I������ �M����BJ������BJ���������X��탎� V����� � �����������9���b"�����v���E��������2��f�-� ��%���ug� �T �`L�#2��`L�#2��0(�����Ff������ ċ�Jl���J�g����غ�X���)��I#(���)��I#4���@�'h�����d���Q�����D�P���.����;J�������f����t����f����l���������X���$,���7(�����>����$���E�6���E�6���"����������8��������3�m����0��4����j��4����j�E����� ����C����Z��Y������������E����*����a���9X�*�����U�����r�U�����r� ����9�ƨ��������a��v����K��������K�р����� f���!� f���!�۾��������\���]� �]�A�Ed���E���F��+ǘ�F��+ǔ�2҄�4���(�=�j��B������*u���*v��C�D������Ƥ�*� �U��U��U��U�� �*�ƨ��UU@�ƨ�� ����8�U�����t�U�����t�*�������9X��UU@����9Y����8�������l����r��������r�������9���7�������8����^�������9�������������������*?��*U��V��#S�*T��W����������X�*S��#S�����������#S����*T���X�����X�����լ��X��ܬ��������ܬ����խ�������Q���P���Q���T�������լ���ܬ��UU@����������W����E��������������������� p�� p���*��������U[��*������9�r����I�+�����U������U�����b� ��2���2�*�� �U;�U��U;�U�� ��+��2�v���ƨ�� ����8�U�����r�U�����r�*�������9X����������9��������I����r��������r�������� ����b���9���9����� �*�����r�U;����r�U;����� ��������2���������*����U@���4������ ������U@����r�U<����n�*���������9���9����d���� ��������r���������p����H�������9����������9X������*����t�U�����l�U�����8� ��ƨ���|��4�+� ��U��U<�U��U@� �*���4���8�� ���`�U�������U�����8�+����H�t���8\���������������P�����$����z����d����:�������*����L�U�����t�U�����8� ��ƨ��"�W�� :���c��*���*���c��� :�W�����ƨ�� ����8�U�����t�U�����t�*�������9X�����h����|����(���P����������������C � ,�6�1 ���z��s-P����*F� �Tv�Tt�T`�Tt� �*<��2��ĺ�0� �����T����\�Tv�����*<����4����:������ J����Y�����<����^\����^\�l����.�� ��� �(�oL��0�ޖ��0�ޖ� T����h��f�T<�Q>� �(���X���ȋ� 8����,�U�����X�U�����X�*����ȋ���9:����4����Ӽ�������|��������6����:V���U���=u���s����@����s����@����{d��� Z���H�����������Ϟ���ޮ"�!M���ޮN�!M����TF�(.l����@�/��U(r�qo\����:��������*������������������������4�������:���:��������8�*<������Tz������Tl����� ʋ��*��������������4����������W����W�����l�Tx���ű����v����7h���S��Z������Z�����������\���+���$����������������4����,���S���,���S��������a>����:����4�*<������Tt������Tt����� ȋ�����t�H��,�������T�%��'� 3@� �F��t� �<��t�#�&� X8�&{��/L�����(3���W�!Q�ޮ8�!Q��ޮ8�������������������20������O�=� ���������� �����Tt������Tt������*<����5����:���������1���'@���ë���O4���c���Z��ޠ���f�������f�������k������oT����@�����P�9c��˚��r��˚��r��֓�)l���;�4ev���:�4e~���Ɲ�9���=����������/����UJ$��Ī�*;� �Tw�T�Tw�Tr� �*<������� �����Tw������Tw������*;����4����:����ir�������^&����h���^�����_0����a^��f��óH�1����5�1�����4�<L������F�����ԋ� ������#� �H�#� �L�<x�t���3��I� ����������*8� �T|�Tv�T|�Tv� �*<������� �����Tt������Tt������*<����4����:����������T����H���5|�����o����(����lP������$������������:��������:�����}�������:��������8�*<������Tz������T,����� ʋ��j���0�GX����������$����V��������|j���|�����*<� �Tv�T}�T\�Tv� �*<��:����� �����Tt������Tt������*<����5����:���Uk�����:�������5������������������������8�������:���:����4�*<������Tv������T|����� ʋ�������Z����:����4�*<������Tv������T{����� ˋ������*<� �Tv�Tw�T*�Tv� �*<��l��U(r���� �����Tt������Tt������*<����5����:���:�������4������������������������8�������:��������$ �UUS% ��UU@�UU@@ ������U@��/����T�(8h��ީ�!V<��ީ�!V@���ǘ�� ����`�����r����ǘ���T�ީ���ީ���ީ��ީ���T��ǘ�����`����������n�����ǘ�!V>��ީ�!V0��ީ�(8h���T�/���/���(8h���!V<�!V=�!V<�!V0�� �(8h��/���UU@������L��8����p�� ���T�� ���U��U�����ȋ���q����������r�����p�������T��T��T��T�������p���r�����r�������U����T�� ���T�� ����p�8���P�UU@���L�U��8�� �� �� �� �8�U���P�����������ž�+ � ��U��U��U��U:� �*���4���8�� ���b�U������U������+����J�p���9����������7��Ĝ�������8��˓����0��˓���֎l��֎k��˓����8��˓����8�������ě���8����7����;b��˓��v��˓��v��֎l�)q����7�4lW���;�4lh���Ğ�92��=���UUT�����ƨ�*� �U��U��U��U�� �*�ƨ��ƣ�� ����8�U�����r�U�����r�*�������9X�����T����������UV���ê��Y�Y�<UVr�F����F����<UT�����1����<UU��F�����U@���Uh�����Ʀ�*� �Vz�U��U��U�� �*�ƪ��ƪ�� ����:�U�����r�U�����r�*�������9X��UU@����9X����8�������t����r����t����r�������9���9X����9X������*����r�U�����r�U�����8� ��ƨ����Un���9�v����H�+�����U������U�����b� ��2���2�*�� �U:�U��U<�U�� ��+��2�s�UU@��4������ ������U<����r�U@����r�*����� ����9���9����`���� ���������n����$����r����H�������8p������������HE ������U? �����s�@ ��U?�UU@F ��3��\>�������X��%r��c��/>���n.�/>��n0�+,��7�'؋�'�\��&�8�̹�%�� �r���t�������R�����1�����2D��������������D����V���������h�B����z~��e���zx��e���z��)�v���z��4�����z��4�����N�95���=� �B0��@<�, �>ͬ�, �>ͬ�5#�*��>;4��p���f����hP���3F���6ȋ���D������ ���������<�����:��D��ڍ:������Y:��@���:���d���ϐ� �����$� �����$� ������ ����&������=��������D���%\���3���,����3���,����nX���^���؋���6��Ï�j����,�2����*�2���<p���F���XT����� �,��l� �.��l�ۼ�H�� �J��� ���,���wx������������F��0x���"���K,����v������������D���b���׳��b���׳�������Q(���[e����x���[e����l�����0"����q����z����|��&'���X��&'���X��3�*����A�B�����A�B�����G�j����M_���F��� �Bά�Q�?�"���?�"���3���/��(L��;���(L��;��e��@��~�F?��*����+������#5�'������\���\��u��w��#5�������!���'�� �W���#5��P� ������d������d����`��8����$���Tz�����,��������j���h���������������X���T���ላ���ɼ�������U�R������������ �u�������^������c���������u�#5�����+���������9X��������9����r����r����r����q����8�������9X����9X�*�����U�����r�U�����r� ����9�ƨ��UU@�ƨ�� �*�U��U��U��U��*� ��ƨ��ƨ����8� ����t�U�����t�U������*���9X����UU@�������'T� �N��i@�N��i<� �&�4�������� �������,� �p����x�@L�����@L����� (�������WL���������D���U�P����5���ج�������X���������������������`���r����Tz����Wa������4�������Q9������Q9����� �������Z�W�����G �UU@H ���#S�*T��X����������X�*T��#S�#S����*T���P�����T�����լ��X��ܬ���ܬ����լ�������R���P���R���P�������լ���ܬ���ܬ��X���լ�����P�����P�*T�����#S���UU����9�p����J�+������U������U�����b� ��4���4�*�� �U:�U��U<�U�� ��+��2�t���ƨ�� ����8�U�����t�U�����t�*�������9X����9X����8�������t����t����t����t�������8���9X�����T������#S��*T��W����������X�*T��#S���#S������*S���L����������լ��W��ܫȋ��ܬ����լ�������R���Q���R���S�������լ���ܬ���ܬ��X���խ�����Q�����Q�*T�����#S���UUS�������9�u����H�+�����U������U�����b� ��2���0�*�� �U:�U��U<�U�� ��+��2�v���ƨ�� ����9�U�����r�U�����r�*�������9X����9X����8�������t����r����t����r�������9���9X�����G �UU@H �UU@������#S����*T��W����������X�*T��#S���#S������*T���P�����P�����լ��X��ܬ���ܬ����լ�������P���R���P���R�������լ���ܬ���ܬ��X���լ�����R�����R�*T�����#S���UU@���9X������*����t�U�����t�U�����8� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����8�U�����r�U�����r�*�������9X����9X����8�������t����r����t����r�������8���9X���UU�������#S�������*S��W����������X�*T��#S���#S������*T���R�����R�����խ��X��ܬ���ܬ����խ�������Q���R���Q���R�������լ���ܬ�������ܬ��X���լ�����R�����R�*S�����#S���UU@���9Y������*����r�U�����r�U�����9� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����8�U�����r�U�����r�*�������9X����9X����9�������r����r����r����r�������8���9X�����������*Q���*H�aկ���*R�� �����W�����&�����b����9X����9�������r����r����r����r�������9���9X�����z�����%�W������� �������T������ ��ǐ��ǐ�*� �T�%���Dc��� �^���~X��ƨ�� ����8�U�����t�U�����p�*�������9Z�������������������nV���~���*P�aո���*R���*P��������������������9X������*����r�U�����r�U�����8� ��ƨ��~T�� � �\���Dh���T��T� �*�ǐ��ǐ�� �����T�%���������������������9X����8�������t����t����t����t�������8���9X������������������<Tz����aհ���*X�aծ�aկ�Dh��� �`�� �~X��ƨ�� ����6�U�����n�U�����r�*�������9X���������������������������������������8*����8p������*����Z%�����P�c����z� :ً����ƨ�*� �U��U��U��U�� �*�ƨ����� :����|�c,���P��nV�����aո�aո���*P�aը����Db����� �^��~X��ƪ�*� �U��U��U��U�� �*�ƨ��~T�� �\�����Dh�������T����Z�*�������8p����8t�����������V%������������������������9X������*����t�U�����t�U�����8� ��ƨ��~X��� �^���Db��H��7+���9X������*����r�U�����q�U�����9� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ��UU@�ƨ�� ����8�U�����r�U�����r�*�������9X����9X����8�������t����r����t����r�������8���9X���*����U������ƨ�*� �Vz�U��U��U�� �*�ƪ��ƪ�� ����8�U�����t�U�����t�*�������9X���������9Y����8�������t����r����t����r�������8���9X����9X������*����r�U�����r�U�����8� ��ƨ�������,�����G ���]T����ܬ����լ�������P���R���T���R�������խ�������ܬ�������ܬ��X���խ�����Q�����Q�*P�����#S��UUT�#S��*T��W����������X�*S��#S��UU@�������L���Ԅ� ���t�T�����p�T�����*H���:��������������δ��������h����������(��]8������������X����L���V����P���������T�������X��*�������ܬ ����խ�������Q���Q���Q���Q�������խ���ܬ���ܬ ��W���լ�����R�����P�*S�����#S���UUS�#S���*T��X����������X�*S��#S�������*����������UZ����9X����8�������r����r����r����q�������:���9X���������9�v����I�+�����U������U�����b� ��2���2�*�� �U;�U��U;�U�� ��+��2�v��UU?��������UZ����9Y����8�������t����r����t����r�������9���9X���������9�u����H�+������U�������U�����`� ��-���-�*�� �U@�U��U<�U�� ��+��4�v�%�R�4z���'��P��'�����<��;�p����q`��������l���r܋���rԋ������� ����qh%�������C�����B�����������ast�H4����=��}�2�ܾ�2�ܹ�'���!���4������U@�*�����&��H���� M$���*ċ���*ʋ����������&��e����U@���U<��� ���P�(���9�4���#��4 ���#��@�����%�MC� ��߳t�T ���K�8g�R����"���$���P��ǘ>�����H�ؖ����s��������������(�����'l������X��\�<�h����P�O%������݈����e�M���\���U��\���U�A����X��*�����l���4x�$����� �,�����$�,|�����̴���ޜ���l����U<����������lj����*���������l�������� �h����k%���"|���� ��\(�tO! �8��h\�2 �������-����� ���Ht������������b��1R���2��$�N��z��H���H��N�������4%�mT��������y������,�����������������_��������_��������l����P���y��������X��a&��Ϟ��Z�^�d�IL�#��H�$h�HX�%4���u@����T3 ��U��*���� �K ��Zs���������������������$ �UUS% ���U@����������9��������I����n��������r�������� ����b���9���9���� �*�����r�U;����r�U;����� ��������2���z��4�+� ��U��U@�U��U@� �*���2�������2������ ���`�U������U������+����H�v���9���������������9��������I����t��������t�������� ����b���9̋���9̋���� �*�����t�U;����p�U;����� ��������2���|��4�+� ��U��U@�U��U<� �*���4���8�� ���d�U������U�������+����H�t���9��*������I ���U@�������9W��������8����r����t����r����t����9�������9X��UU@����9X�*�����U�����r�U�����r� ����9�ƨ������ƨ������ �*�U��U��U��U��*� ��ƨ������Ƥ����8� ����r�U�����r�U������*���9X���U@�����I ���U@�������9T��������8����t����t����t����t����8�������9X��UU@����9X�*�����U�����r�U�����r� ����9�ƨ������ƨ������ �*�U��U��U��U��*� ��ƨ������ƨ����8� ����t�U�����t�U������*���9X���@����a���� :�W��,��ƨ�� ����8�U�����t�U�����t�*�������9X�����h����|����(���P������������������������������������9X������*����r�U�����r�U�����9� ��ƨ��~X�� � �^���Db�^*?�aՄ�)7Z��#1h����+x�+x�+x�+�����#1h��)7L��)7X���jD�#1h���Ԉ�+x���Ԇ�+t���Θ������Ȩ����ȧ����Θ���jH���Ԉ���Ԍ���Ԉ���Ԉ���jD���Θ����Ȩ����Ȩ������Θ�+x���Ԉ�+����Ԉ�#1h���jD�)7L��UU����V������@,������X������X�����(���������@,�(��W��X��W��X�*�@,���������*������X������X�����@,����؋���V����V�����������������������������������V���U����U@��)7X��#1h����+x�+x�+t�+�����#1h��)7L��)7Y���jH�#1h���Ԍ�+x���Ԉ�+x���Θ������Ȩ����Ȩ����Θ���jD���Ԉ���Ԉ���Ԍ����{���jH���Θ����ȴ��������ȩ������Η�,����ԇ�+����Ԉ�#1h���jD�)7L��UUS���V����������@+������X������X�����)���������@,�*��X��W��X��W�(�@,���������(������X������X�����@,�������V����V�����������������������������������V���U@���������0�� �\)�L���$�����������?��K���~(�����~(����� H�����d�Je����0������ 3����&@� a2���l�p������|������zX�����d���b���jt���Ŗ���k���Ő������G|���������h���G����<���������f$��?����|�&8�����~�&8~���`��#����� �8������� A� V8��|� ���A���A����� ���l������E�������~��,���`�#�<���Ӡ�$Θ�����%���x��\����D���7���,���7���0���6^� ����5�������������mO���ܱ�����|����`���|��6���P���6���T������p���ܱ�����)��,T���(�X����(P�';��Ż�����ب������l������R�_���c������^���ң�(�b����4����~��4���~��0�$���U��-`d���,��0�v���\.�>(������K}���)�K}���)�B�����qH�9�d������8���������͋���#S�*T��W����������X�*S��#S��������U������\���������9W����8�������t����r����t����r�������9���9X�����������4�����������������p������G�����G����n�����N�������ӹ�$���~��/z����~��/z��5�,A1����j�)r���5y�,hH���o��8�j����D������D������<�����g��4������ � ����� l�� ȋ���)p� 8�R�U��R�U�� �,���������&��� ;��� @�jh�F&�����F(�����ݢ���Y�u������:����� ����������CH�פ���"������������؋���P������������<���������������(��������֔����v����9f����{�ۚ������4���v��6����$2�(,��́^�5!j���ވ�5!j���ވ�2~������/�����g��@���F(� ����#������ԋ� �*��T�U}�6/�6/��F��i� � �����*Ћ�h��������-�)���]s�+$���C"�,WX���(� �����!�¨��� ������������T���+����t���a�����һ"�#�����������X�V����V����4����Ch�8������L���v��������:�����:����� #L���}V� ���ƨ�� �*�U��U��U��U��*� ��ƨ��;�����$�1���FL�&~����P�.������+��~�'�0���~�'����� �N��KP� �����[����4�-����������9X��������8����t����t����t����t����8�������9X�������;d���@��v�����v������x����8� "$�����i����� ����JΜ�����B�,���n�:���-T�:���-d�!�L���0��f��3��-�������@���r�H������H����� g���Ld� �ԋ�nj�� �+�V,�V,�V,�V,�+� ܋�NJ�������������4��|�����=R���T�:Z����7c������7c���<l�-����ȏ��$���ȏ�$���ŝ��i\��«������o�,����m��L���l\����8������������,����,����,����,����������8�����u�������h�j����@�h��������F�� {$����\�z�����8��|��s���<�����DT����� �L��~D��Ɛ�*�� �U|�U��U|�U�� �*��Ɣ��~<�� �L�����D\�������x��UV��S��h�)�������8�����8�����������d%��UV���UV���������Q����8���������|����9l�����*�������U�������U�����@� ��ƒ����W�� :����c��s���a����9l���������*�������U�������U�����@� ��Ɣ��Ɛ�*�� �U|�U��U|�U�� �*��Ɣ��UR��Ɣ�� ����@�U|������U�������*�����������9p��������9p����@����������������������������@���9l����>4��+�J �U�����K ��#�HՀ�c���� :�W|����Ɛ������ ����@�U�������U�������*�������9l�����t���������<���Q�����������������Q����8���������|����9l�����*�������U|������U�����@� ��Ɣ��h�W�� :����d$�@�é������DT����� �L��~D��Ɛ�*�� �U|�U��U|�U�� �*��Ɣ��~D�� �L�����DT�������4���������������������������9p����@����������������������������@���9l����ċ����������������g�t�xJ �U�����K �嘔�f��!T�����$;����'l����ߴ��4��4� Q`� 4n� ��������8���8� ��t�����wh���\���H�{L������#����:�$�l���͎�&����^���������}��G"�}��G'� �����N^����U��������J����<j�@���~����ܰ����L���٣�������������������٤���L��ܰ������t������2n����L�d���0L�F����^4������� �ҍ���� �ҍ���ߔ�9���3�������=���4&������4�a�����4�a�������9���R�a������ 9�������*<� �Tv�Tw�T(�Tw� �*;��n���� 9������a����R�(���B�-����4�1�����&�, ����l�8��~�D$���!�D���!�<%���� �40D���I�?������@L�����@��$�� �,^�X��X��X��X��,\� ��%�����@���Qh������ ����t�� ,�����9�����8���rX��W�����}�����a����(� �������F���%��������������n8����t����w��������������T����R���������<�����������:��|��������\���wh������{� _���&��0z�����������Y<������`�# ���R�a������ 9�������*<� �Tv�T��T �Tv� �*<�ň���� 9������a����R���N�^�� �����dl�����26���h����6����:�������4������������������������5�������:ċ�������aN�ۂ����������������<�{b������?���GW�0�����>M������K�Z�����K�(���m�B�H����Y�9�l����d�Ԑ���Ӳ���؈��#I�|�#������l�����l�!���t�#I�|����!��H��&���~���7d�����n�����n�� ����;B��ᆼ����+� 2r���60� ^���AD�o������H��������q��_������ ���a��������b����>�����������������R����R��������������|���,����:��������4�*<������Tz������TB����� ʋ��T��|���� ����CP�5��5��5��Nh�� ����ċ�1,���L�\���(��ߐ���bD�)װ���K�*����5^�,��.� ����+���������$������$���x��nt����������������<���������@����(����d���������d���������2����ԋ���<������� r���������\�����˲������ø��H$������H$������t1����N��=�������0����b��� 9��V������ �����Tt������Tt������*<����8����:�����������ƀ���R������UФ��UФ��������������{���(����:��������6�*<������T{������T{����� ʋ����|���� ��� �CP��O�� ��*�$��S���Ɛ������ ����@�U�������U�������*�������9l��������9�����@�����������`���������~������@���9l�������9p�����*�������U�������U�����@� ��ƒ������4��Ɣ�*�� �U��U��U��U|� �*��Ɣ��Ɛ������ ����@�U�������U�������*�������9l����H�x�c��� :�W|����Ɛ������ ����@�U�������U�������*�������9l�����t���������<���Q�������W����W���������Q����8���������|����9l�����*�������U�������U�����@� ��ƒ��~�W�� :����c�����b��J �U�����K �����Ѫ��������ً�����$������������'@��������t������������������������t�������'@�����H������^���������ˉ8�����Æ� ������ZD������Z?��Ǜ�����ӳ2�����"�����$�/���>��/�����>��/�������,j����4�)0���Z�,����O��8�����#�D����,�D�����<����_��4�����7�������(��x���t�.�� �]3�b\�] �b\� R�4�х�H����� �@� ������P�3����\�3����X����*���@���Q�מ����� �(����������\�w���������(���������L��ɺ^����4������������p����T����+����q���������0���o�^`���b�(b���T��5e���ʱ��5e��ʱ�2�0��״O�0�����f���=(��$���C[� �x�I�� �x�I��2��Ҩ�ҧ�6qT�6[x�S��'�� ��������5��� ���������)�*l���O+�+R,���85�,��!A� ����vE������ �$l�����$l������4����<����ʫ����]���l���]������]��U���c������_���a�����x���C���1<�ٞ���b|�����bx��������h���uL�H��ِ������\� :���� _Z���n��u����������ql����j|�������_����T���������T������������@����������x�������&������2���8$����ٔN�&V\��ٔL�&V\���7\�#�L����j�!<��@��R�����<�~��:�@���@�����4V����'�t0���#�h���ȴ�$�\�����&!P����@������i����>��L���B��L���>� Ӥ���8�����J����x���u����[V�������������<���t�������t�������r��$���q ���u�������D������x���nV�����nX������-��𪰋���?t����%4�,b���'0�X���)0�/���ŇX�������`�#����l�"����p�����0�� ���ά������w �(����S�4����O��4�&���O��12.���2�-�4���R�1���@��>}��⪔�K�$�����K�����C0���eZ�: t�����0����������؋� Ӹ��k��Lu�l���l��� ����� 6`� Rb��d� �� ����$��~�$��~�D�|�����������*�$��������9p�����*�������U�����|�U�����@� ��Ɛ��Ɛ�*�� �U|�U��U|�U�� �*��Ɣ����4�Ɛ������ ����@�U�������U�������*�������9l���������9l����@���������������������|������@���9p����9p�����*�������U|������U|����@� ��Ɣ��,���+������Q����8���������|����9l�����*�������U�������U�����@� ��ƒ��~�W�� :����c�*�t�*�t�a$���� :�W|�h��Ɛ������ ����@�U�������U�������*�������9l�����t���������<���Q��������H��v�X�����\���������9o����@��������������������������?���9l�����������4�����������8�����������܀�F���|�F����n���������z���Ӻ2�$ı���~�/z�����/z����5V�,@����)$���5��,h���o�8�����1�D�����1�D�������<����g�4�(���� � ����� l�� Ћ���)g� $�R�U|�R�Ux� �,�����������$��� ;��� @��jp�F�����F�����ݘ���Y�u������.����� ����������C��נ���"(��������������P�����������N��������P���R����6��������֚������9t����{(�ۖ������.���v��6H���$x�(+���́��5!�����5!�����2~J����O�/�|���ɜ��8���F/� t���#�����ȼ�� �*��T�Uo�6/d�6/c�F�Z� �t� ������*ԋ�`�������-�)����]��+��C5�,W���(� �|���7���������������T���+2����x���w�UT���}|q�������������������r��������������1P��g���b������b���������L���u��H��ِ<�v���֜� :���� _D���n�u�����(�����q�����j���������`���U �������U ��������@�������������8���'$����@����8h�����ٔ��&V��ٔ��&V���7��#� ���ڎ�!�������t���~��9�@����@������4Z�����'�t���#�0�����$������&!����J��L���i�����n�����j��$���n� Ӑ���v�����N����x���{����[|���������8����D���t�����t��������s���$ ���q"���u8������T���-���x0���ng������nf�������3���̋���?�����%D�,a���'8�X���)4�/�Ň��p��������������������1h� O��ά�o���wP�(����4˵���P�4����P�11���3I�-�����1��@�>|�����K�t����K����C����e{�:����'������|����؋� Ӥ��kx�Lo�L���L��� ����� 6L� RP��H� �� ����$|�}�$x�}�<�[�����a��������|����)����\���&�����x�����x���w<��$��ƨ�� ����9�U�����q�U�����r�*�������9X�����t���������������U��ގ�������p���x��������N�������N����,�������"L����`Ƌ���8�e^���\�ʼ���n�ʯ���N�!X����1�)����>�)��ާA�1���5D�9��5D�9��<��?�2������T�*��8�Tj>�7r�TP�7��TL�B^K�:���M� �!�4�q�_���\�/�ﶋ���� @�����V�����|�V�����|�+B������8����I$���v���RX������[�������[�����d�������������l���d����@���ɰ6���,������?�������?����}���:����������~��"����"E����!�"E����%�.�����`A�:��ݺ^�:���ݺ_�@=p����/�E���FF�E�p��Z�E�-е�E��-Э�09�7F|�ZT�@�L�s�D��U?�����?�Z���<����5H�9��5�9�ާ@�1�����)����<�)����P�!X����`�ʴ���X�ʼ���8�e\���`�����9X��������8����r����t����r����t����8�������9X��UU@����9X�*�����U�����r�U�����r� ����8�ƨ��������Ћ� �*�Wl�U��U��U��*� ��ƨ��:2�����A��@��@��܄p������K��~���K���<���1�!�������X�R��$�����(�(���/��,�t���l�,�t���l�#{������B�����������$ �UUS% ���U@�%�����l��g�������d���*P������@���N�d ���aԋ���9\��������8����n����t����r���������8�������8@�����\���������^����9X�*�����U�����r�U�����r� ����9�ƨ���,���d7�+6��n�������>8�~��z�7����$����$����*��M0��M0���%��*���J��$���J�� �����7�����~����N*Q������c���ۻ����*<������������������Q�@|�������;W����������r��������o��������7����������;X������;X�+����U������U������ �����ĥ��V�����@{�*����UU@��i��y��l�>����j���d��t��2��o��o������2���+�f���+�b���`��>������y��������HE ������U? ����xL ����@ �������$ �UUS% ���U@�*��L ����@ ��U@���������ƨ�*� �Vz�U��U��U�� �*�ƪ��ƪ�� ����8�U�����t�U�����t�*�������9X���������9X����8�������t����r����t����q�������9���9X����9X������*����r�U�����r�U�����8� ��ƨ������F �����������ƨ�*� �U��U��U��U�� �*�ƨ������ƨ�� ����8�U�����t�U�����t�*�������9X���������~�����0�����ݺ\��� ��ݺd���%���`@���`B��� ��ݺ^���$��ݺ^�������/���~�����~����������"��� �"E���� �"E����`A�.����ݺc�:���ݺc�:�����1�@=p��E���U@���UU��������ܬ����խ�������Q���P���R���T�������լ���ܬ���������`�e^���8�ʼ���\�ʬ���n�!X����O�)����1�)���>�1��ާA�9��5C�9��5E�<���?�2��?���<̌�c�9�4�ǎ�9�4�ǐ�1��!VE�)�)��)�)� �!VD�1�.�ǔ�9�N�ǔ�9�F�c�<̊��?����������#S����*T���X�����X�����լ��X��ܬ���*~����������s����@���B�c�� � :�W�����ƨ�� ����8�U�����r�U�����r�*�������9X�����f����|����&���P��������UU@��UU@����\��������������8p����8p������*����Z%��UU@�������P��b�����|� :؋���ƨ�*� �U��U��U��U�� �*�ƨ��B�� :����|�cp���P��*���*����U@������*����������U-��ܬ����լ�������R���P���Q���R�������լ���ܬ��*�����ܬ��W���խ�����Q�����Q�*S�����#S���UUS�Ʀ������ �*�U��U��U��U��*� ��ƨ��ƨ����8� ����r�U�����r�U������*���9X���������9W����������*����r�U�����r�U�����9� ��ƨ��U?��ƨ�*� �U��U��U��U�� �*�ƨ������ƨ�� ����8�U�����r�U�����r�*�������9X��*������9Y����8�������t����r����t����r�������9���9X���������9X������������9����t����r����t����r����8�������9X����9X�*�����U�����r�U�����r� ����9�ƨ��UUT�#S����*T��W����������X�*S��#S���U?��#S������*T���P�����T�����լ��X��ܬ����UT����ƨ����8� ����t�U�����t�U������*���9X������9Y��������8����r����t����r��������9�������7��UU����U@����������*���UU@���9X��������8����r����r����r����r����9�������9X���������9X�*�����U�����r�U�����r� ����8�ƨ����ƨ�� �*�U��U��U��U��*� ��ƨ�UU@��ƨ����8� ����t�U�����t�U������*���9X���ht�F�,���P�c����l� :؋����ƨ�*� �U��U��U��U�� �*�ƨ����� :����|�c���P��6����ZH�%x��� ��h�����h��������P����N��������������������n���]h���`�������������������������������{8���Wh���#l����#�����{8� �������Q0�����Q/���������(���]h�6�����?����I<?����I<-����P�I=��h�I?8�h�I?8�%v�?�p�6��6���c��� :�W�����Ʀ�� ����8�U�����l�U�������*�������8$�����d����|����(���P���������k����i���sp��ڢ����{4������{4����F���=�����:����.������7��;d�����v��˓��v��˓��)q���֎l�4lX���<�4lh���<�92���ĝ�=���=���94�;d�4lX�v��4l`�v�)q��)q��v�4lW�v�4li�;d�93��=���'����=��+���{0�/"���{0�/"���sp�%]���k���4������#������ƨ�*� �Vz�U��U��U�� �*�ƪ��ƪ�� ����8�U�����t�U�����t�*�������9X��UU@����9X����8�������t����r����t����r�������8���9X����9X������*����r�U�����r�U�����8� ��ƨ����G �UU@H ������ht������U����Ԁ� ��X���D�*�� ��U��U��U��U�� ��*���D���L�� ����P�T�����,`����������I���ֹ|�4��ֹ~�����Fԋ����(��������q��F������ֹ������ֹ����[T���I�����(��������������������N���8�����8������`�+�����V�����U���� ����]���X�+�� �W�U��D�?����]��8��{z�8��{T�\��h���h>�������D�{�����D�{<���A@�]����8�@ ��҄���҄��W ����h�+����� ����5�����8���������`��������������������`�������8�����8�������)������Sc�����&;���[V� �W�����)Fs�����)Fx���q�%�,��"+���"+���%�,�6�)Fx�6�)Fz���� �X�-�&4�T�Sd� �)���R���@�� ������V�����V�����+����`����8�����5�����z�������������|���8���\���A>���T����F���L����F��ℊ���������痄���痄�^����8���ℊ�8���ℊ�����U�D�����:���:�M ���(���(�� ����)�W�����E�����b����9X����9�������r����r����r����r�������9���9X�����~�����'�W������� �����-����]�3�����4�:|���5�:{����G��:ܖ��;=4�����;=,��f�:ܖ�p�:|�p�:|�"7��3���,�g�-�Dc��� �^���~X��ƨ�� ����8�U�����t�U�����t�*�������9X���������������������&����������� ��$��� ��&����ϊ����������� � ��ϊ�����%�����+�~�����������X���m��m�s�,��m������CP���|� ���|ԋ���*<� �Tt�Tt�Tt�Tt� �*<����|ԋ� ����|�CP�������8��Uk��R���t�)t����8����9�����9�����8����|%��Uk��Uk��������R���ƀ�����������:����8�*<������Tv������S������ ȋ�Ŗ���V� 9����b���Ĝ����^����:������<������������������������8�������:���:����7�*<������Tv������T����� ȋ�ł�UJ$��:ـ��+�2?�)�U�)�T�)�G�)�T�2?��,�:ٍ���U��Ĥ������ d���Ո�T$������T$������*����p����;T����;T������p�����������������������Ո���;\�����������ܰ�����٢���P�������������������N���٤���ܰ���������s�1��s� ��m��s�-������V����������:�������5������������������������4�������:��������~�V����������Uk���9�����S����� ʋ������)u� �S�%���:���:�CN��� �����|ԋ��̋� �����T������Tv������*<����6����:���)���|������������;h�spc����*<� �Tt�Tv�Tt�Tv� �*<������� �����Tt������Tt������*<����6����:������������&����,������Y����Y����Y����Y�������,���&t���������:܋����6�*<������Tv������Tv����� ��������������*<� �T{�T}�T{�Tv� �*<����U��#OX��&\�~���d��c��d��h�~��&^��#OS�Ua��U@���*����U@�������� ������U�����n�U:����n�*���������9���9����b���� ��������r��������r����J�������9����������9X������*����r�U�����r�U�����9� ��ƨ����ƨ�*� �U��U��U��U�� �*�ƨ��Ʀ�� ����8�U�����t�U�����t�*�������9X�UU@��UUl�������Uc��*������;0�r����H�+����d�U�������U�����`� ��2���2�*�� �U@�U��U@�U�� ��+��,�v���ƨ�� ����8�U�����r�U�����r�*�������9X����������9��������G����t��������p������������b���9̋���9ȋ�����*�����t�U;����p�U;����� ��������2�����㕔�����c����?���������8���������������������������������������8$�����������d����$�����$������@��d���8p�����0����D�-�x���܌�*�����ܠ�*���Ζ0�"����O��y0���E���,����Ș���L���غJ���ԫ���$L��Нp���H���Нd���H����w����6d���Q����$,��:�E�����N���H6���A����$������8W������+"������VF������VF����� ���Ǫ��N�|� ^4��/�m��������"~��"�(�.���x,�:�m4�:�m�5�&�6��0��S=�P���;4�N�<���vd�N����vD�5+X������Ť�����%���;� �6���� ����ET��Ǭ�� ������VD������VD������+$��������8V����0��������������f��:���F�x��݁\���|����Gl������ |������ t������ ����~���4>���������h�����n�7�����n��7�����Ԧ�C]���:��Ny���^��$���/��������+7� &�Vl�Vh�Vn�Vn� %�+6��ދ�S@����������9�����r2�����r2�Q���L��Ǐ���'�Ti���� �����0#s���4(�0#`���4,�1i����{�2�@�����@���n� |���7h�X���'E���+T$� ۳�/b���f�/b���f�%�t�ɞ��H��������Si����Y,����+��i�� LH����V��D�������F���������� ���ƨ�� �*�U��U��U��U��*� ��ƨ�����UU@�����ż����� T����r�T���r�T���Z�*t���:D����=>����D|�����K���������U@������u|��������V����2����2�{�����V���u|%�D�0��N@.���+��i���8��i��x���A\�����V��H���������� ¼��ƨ�� �*�U��U��U��U��*� ��ƨ�����UU@����������� P����t�T���p�T���X�*t���:D����=H����D������K���������U@������u���������V����,����2�{���V���u|%���U@���*����U?��������� ������U�����r�U:����n�*���������9���9����b���� ��������r��������p����J�������9����������9X������*����r�U�����r�U�����9� ��ƨ��������ƨ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����8�U�����t�U�����t�*�������9X�1'���$���)�܇��������2���Ƥ�*� �U��U��U��U�� �*�ƨ�����;���� J��8���@���7���@��I{������������*����*�$���K�>�F���|!�>�N���|%�@�b����B�x������=���94�;d�4lX�v�4ld�v�)q��)q��v�4lW�v�4lh�;d�92��=���7������8���ݕ��:Y���ݕ�:Y0���z�*����_������������>L� ������M������M���㻔�&��絤������������-H��г���Z���г����Z���چ����L���Y����=���:�E�����.���~���,��������ȋ���9X������*����r�U�����r�U�����8� ��ƨ��n���� p&� �q������,J�"z�"m,�.��eH�:��]`�:��]\�5�*�.��0�n��M9����G`�����A�l����A�����3���2�&����x��&����x�� <����R�������������������P������x�������x����2���2���x�������x��������P������������T����D��j���e4�7����e>�7������g�C""���K��N����a����UT����U@�|��4�+� ��U��U<�U��U@� �*���4���4�� ���`�U�������U�����8�+����H�x���8\������9X����8�������p����r����x����r�������8���9T������9�z����H�+������U�������U�����`� ��2���2�*�� �U@�U��U@�U�� ��+��,�v��������*������9X����9�������r����r����r����r�������9���9X����9X������*����r�U�����r�U�����9� ��ƨ����ƨ�*� �U��U��U��U�� �*�ƨ����������� ������U�����n�U:����n�*���������9���9����b���� ��������r��������r����J�������9��������S������������V���**���I��������j"���-p��������-������������ER����Q����9X������*����q�U�����r�U�����:� ��ƨ���$������'�wl���=;,�(��9[ �<,N�5{�<,C�5{�=�(�!�p�?Z�U�V���u���L����0�̋�5�d����:�����D�:�����D�.�����"hl��ݾ����E���0������|����ʋ������8V���������������������������������������8T�������A������l�����9���� ���g�����ڟ������������������l� ���������g����F����|���%��Ӑ����%��Ӑ��w ���d,�������7v��Or���b�������������m������ ^4��N�Ǫ�+"� ��VF�VF�VE�VF� ��+"�Ǫ��ES�� ����$�6����H6���y��E���l���d8�%`B���m�/(���u�/($���u�+����:��' ��B����@��7��>��,o �>��,o�*��5��6��>ȗ����d�T4���҄�uZ�Ҁ�uZ�����7���ƨ�� ����8�U�����r�U�����r�*�������9X����G���<��h:���y��������T<����������Ƥ���Ӵ��ʄ��Ӵ��ʄ��<������������3�������H���y^���(����p ����[�� =���GV�@{���Gd�@z���oF�Bo��ݗ)�"Db��������UD����U@�x��4�+� ��U��U<�U��U@� �*���4���4�� ���`�U�������U�����8�+����H�t���8\������9X����8�������t����r����t����r�������8���9X������9�z����H�+������U�������U�����`� ��2���.�*�� �U<�U��U<�U�� ��+��4�v�l���5@�ż��R�P��F����<����<�P�Ǟ�T����t�� H����&�V ����J�U�����J�*������9$���� ���08���C����`p���g+���A��vU����D����x���j����j����j����j��������5M���������������P� ;���x��&e���x��&d���2�3����A�n����A�U����G`���M:��E�v��l�GDX�+�H�@�+�H�P�4]�5H�<��!���S=�-��X�H�O��]�����|�]�����|�P[x����B�,���/t�Ō��E�����t�xL����p����j����8v�������$��������������������$������8x�������>\��`���������9�����J���g0�����ڞ������@��d����<������� �������7������Ĝ��˓����<��˓����0��֎l��֎l���7��˓����;��˓����Ğ�������8����7�;d�����v��˓��v��˓��)q���֎l�4lW���<�4lh���<�92���Ğ�=�������B��@�$�;�>�d�,u��>��,u��*��5�.�2�>�f�UU@��U@�C�x���T���C�D���<T�����9X����8�������t����r����t����q�������:���9X����UT�*����ƨ����8� ����t�U������U������*���7���UU@���9X��������8����r����r����r����r����8�������9X���U@���US���9W������*����r�U�����r�U�����9� ��ƨ�UU@��ƨ�*� �U��U��U��U�� �*�ƨ��*����UU@����9X�*�����U�����t�U�����t� ����8�ƨ��UU@��,�|� ��+�U@�U��U@�U��*�� ��4�������4����`� ����U������U�����H�+���9|�t���U@�UU����Uh����������UU@��������#S��*H��a����������X�*S��#S���U@����\����8� �����TD��*����U@�����T����*���8����*����ܬ ����խ�������Q���P���Q���T�������լ���ܬ��������ܬ��W���լ�����Q�����Q�*S�����#S�������|��{p�A��W�#��4P�+��4P�+���(�'GV��"����A�t�����<���ߡ�7���ߡ�7����`�,����L� ^0���L� ^4���T8�/���[�����[�����T:������L�ߡ����L�ߡ��b���`��ߡ���L�ߡ���L�����T8����[�����[~�/���T:� ^"���L� ^���L�,����b�7���ߡ�7���ߡ�<������A�~��"�r��'GV��%�+�<�4K�+�0�4J�#��W��A��{���R���>�P�T����� ����N��L���D�� ��+�U��V�U��V�*�� ����E���X����|� �����U���!Հ��u����t������D������6,'�����6,3�����A[���L�D��L�P��A[��6,'�6,(�6,'�6,�A[���L�P��L�P��A[������6,(�����6,(���������D����t�����t��������D��������������������D������t�����kD����!�� ���@9�QL�@9�QL� ��6�������� ��X������ �`�����@8�����@8����� ��������W��������������U)���������M���ژ����p����0�������0����������l����Tz����Wa�������� ������@8������@<����� �l�����Z�W`��������D�������U)�������������p�u�����l��Y���h��Y���������T�#5ԋ����� ��#2�������\��j��\��j�w(�����#2�����D� �Wd��#5���T��������\������\����h�u�����,�������Tz�����(���������tD�����������������������X���� �����UUS������!�� ���@9�QJ�@9�Q � ��6������� ��X������ �\�����@8�����@<����� ��������W|�������������U)�����M���ڔ����t����,�������,����������l����Tz����Wa�������� ������@9������@8����� �j�����Z�Wb��������F�������U)�������������,�u�����i��Y������Y���������S�#5ԋ����� ��#2�������X��k��X��j�w(����#2�����F� �Wb������#5���T��������Z������Z����l�u�����0�������Tz�����#���������tF�����������������������V���� �������������U@��������ƨ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����9�U�����r�U�����r�*�������9X�����T�����T����9X����8�������r����r����r����r�������9���9X����9X������*����r�U�����r�U�����8� ��ƨ�*�������U@��������ƨ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����8�U�����t�U�����t�*�������9X�����T�����T����9X����8�������r����t����r����t�������8���9X����9X������*����r�U�����r�U�����8� ��ƨ�*����U@�/���(8h���!V>�!V>�!V>�!V0���(8h��/���/����T�(8h��ީ�!V<��ީ�!V<���ǘ�� ����n�����u����ǘ���T�ީ���ީ��ީ��ީ���T��ǘ�����\�����p�����ǘ�!V=��ީ��!V/��ީ�(8h���T�/���UU����r�������U����T�� ���T�� ����p�8���P���L�U��8��!�� ��!�� �8�U���P���P��8����p�� ���T�� ���T�U�����ȋ���r�����r�����p�������T��T��T��T�������p���r��������/���(8h�� �!V>�!V0�!V>�!V0���(8h��/���/����T�(8h��ީ�!V=��ީ�!V=���ǘ������\�����u��������ǘ���T�ީ���ީ��ީ��ީ���T��ǘ�����`�����m�����ǘ�!V8��ީ�!V/��ީ�(8h���T�/���UUZ���r�����������U����T��"���T��!����p�8���P���P�U��8��!��!��!��!�8�U���P���P��8����p�� ���T�� ���T�U�����ȋ���r�����r�����p�������T��T��T��T��������p���r���ëD�UUT��x�b��x�Z���P�����z����%�����f����9X�*�����U�����r�U�����r� ����9�ƨ��:�� :�W��cx�� ���H���H���Dd��� �`��~\��ƨ����8� ����t�U�����t�U������*���9X������������������������������x�v��a�������������������9X��������8����r����l����r���������8�������8D����� �������������������p��z��C��� � ����d�x���ƨ�� �*�U��U��U��U��*� ��ƨ��������<� �9����x�E��� ���������:���"0������h����9X��������8����t����r����t����r����8�������9X����{j����������&�����/���(7�����!U��!V@�!U��!V@���(7���/���/����U4�(7���ުh�!V@��ުl�!V<����\�������P�����������l����ǘ���T�ީ��ީ��ީ��ީ���T��ǘ�����l�����l�� ���ǘ�!V<��ީ�!V0��ީ��(8h���T�/���X�UU@���r�������U����T�� ���T�� ����p�8���P���P�U��8������ �� �8�U���P���P��8����p�� ���T�� ���T�U�������������r������r�����p�������S<���T��T��T�������p���r������/�������(8h���!V>�!V=�!V>�!V>���(8h��/���/����T�(8h��ީ�!V>��ީ�!V<���ǘ�� ����`�����m����ǘ���T�ީ��ީ��ީ��ީ���T��ǘ�����`�����n�����ǘ�!V=��ީ�!V/��ީ�(8h���T�/���UU����r�������U����T�� ���T�� ����p�8���P���P�U��8��!�� ��!�� �8�U���P���Q��8����p�� ���T�� ���T�U�����ȋ���r�����r�����p�������T��T��T��T�������p���r���������/���(7�����!U��!V?�!U��!VA���(7���/�������/����U4�(7���ުl�!VA��ު��!VA����\�������4�����������p����ǘ���T�ީ���ީ��ީ��ީ���T��ǘ�����a�����m�����ǘ�!V,��ީ�!V,��ީ�(8h���T�/���X�UUS�����������r�������U����T�����T��!����p�8���P���U�U��8������ ��!�8�U���P���T������8����p�����T�����T�U�����ȋ���r�����r�����p�������T��T���T��T��������p���r����Y�����#i��V/���T����*�m\�����l��ƨ�� �*�U��U��U��U��*� ��ƨ���-����L��������KH������K1����,�S�����\R��ܖD���!���)��/��������������9\��������8����n����r����r����r����8�������9X���� �&�����F�Mh������Mj������0����>�>������"�te���X��V/����'��J����������6���̞����6���̜������R����<����\���8��+����:�V������V����� ������l��� ��+������0�"����� ���h���l�N�"�3d�"�3h�d���������0����� �����W\�����V����<�+���8�����N܋���������[ �������}���+� ��U��UT�U��U:� �*���1���1�� ���b�U������U������+����J�u���9����������9X�*�����U�����q�U�����r� ����9�ƨ����ƨ�� �*�U��U��U��U��*� ��ƨ�UU@�x���+� ��U��UT�U��U:� �*���4���8�� ���b�U������U������+����J�t���9���������ܬ �������լ���P���R������Q���լ������ܫ������ܬ����խ��X���Q�����Q�������*T��#S���@�7+N ��H���������ƨ�*� �Vz�U��U��U�� �*�ƪ��ƪ�� ����8�U�����t�U�����t�*�������9X���U@����9W����8�������t����r����t����r�������9���9X����9X������*����r�U�����r�U�����8� ��ƨ�p���0v�q� ���L� �H�y�����+\����(��<��&���!�&�{z4�l*�=��q���w���UU@����� 0�����l�����������������cp�(������;�������UUT�������D����D�m ���}̋���}ҋ����B��������%������������������P���cn����`�������t�������t����j���\����t�������������|�=����-��{z5�����&�����}�(�����y�+\���� �y����G��N�����q����j����[z�����������[|���������h������|����&�����t�������j���^n����a�������{�!�P���ܰ�&k������[W����\f������]�P��4 ��*���J���*�����UT�����n����9��������,���������������zI��ڹ@���s���؆����l�����U?7 �UU�8 ��Ĝ�}�h� Z���,�R���T��B�������B�����)�����h��ҋ�iZ����t��4����DD��b�t���b��n�$� b~�5� b~�5���Y(�*�|t�l���ƨ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����8�U�����t�U�����t�*�������9X���(������{�����랰� b����� b���������՜������n �����\����l������`���&��o|�M$�m��M$�B���<� ���X����W|�W|� ��+������t��� \�����XD�����XD������,$������5�����3�����D����@�������������p����p���������T���<�������z��������z�����l����t����24�����t����8����=��������t���������+�#�����5��H�5��Y,���D*�|t������l��ƨ�� ����8�U�����r�U�����r�*�������9X����9X����8�������t����r����t����r�������8���9X����(���������������Tj���� ��������������������p���>z����4���u����ʘ����h����9����Fk�&����m�L$���p�L ���l����������E����B�W|������+�����@����3�����5�������������������������������������5�����3������@�+�������W|���p���\��������������|��Z���|�Z����h�-���4��������d����b���u������E����q���\���������������������P�����������u��������9��������J����t��������t�������� ����c���9̋���9ʋ�����*�����r�U<����r�U;����� ��������2�� ����8�iM�������3���F�i���F�i���N� �W����X�m����5�����ʈ�L��_��������_��������y������������L���B���B��������������@����B���3�����5������, ������X@������XA����� [���v����+�� ��W|�W|��\��\���� ?���Q=�Z��:�Z��:�-�'�����������b�6�������#����u������������� M(����� M*�����:����H����u���9�z����I�+�����U������U�����c� ��2���0�*�� �U<�U��U:�U�� ��+��2�x�� �iN�X��3�g@�i�u��i�u�� �W�E��m��������L�5x����������������������M�l���B��������Wx����B� �������(�, � \�XA�Y��XA�X@� [�, ��v����� �����D�W�������j����U4|����������$�#�����;���_��<���l���$���6|������������v�E��c��7��7�� Y�� Y�ֈ���ST��h�ST��l����)`���X��#V��~��,���D�����D������0��\��ܩ$����\�����֠���VX���P���������R��������h���)t��������<���p����p����������������up����@���������C�ʼ���l`��t��������A�������� ���X��#UT����*�r�r�����T����ܪ����ܪ������V���rrrr�������T���ܪ������$�����t����d����܀������������X������_����n���l����D`���6|������v��������������E������7�����b� Y���h����Pp�ST���P��ST���֟������\����ܩ"�����3���~����E���D���D���D���~�����0���ܩ$����\�������֠�SR���P��SQ���P�����h� Y����4��\���p��'����������D�����p�������4���AX���h9���j����*w���N���P`���!X���vI�����vl��������<R����\���9�����i�����L�����0�2��ܬ ����խ�������P���R���Q���R�������լ���ܬ���ܬ��W���լ�����R�����R�*S�����#S���@�����������U�����a����`�q�����������g������R�ք���$K����������s����^���������w�����������������<����<���)t���h��������P���������P����VX���֟����\����ܩ"��]����3�����E�����E�,���~��#Vߋ��X��)`�����j�SR��n�SR���� Y� Y���\��\�S�(�V����Y����N�������4�����h:�����*w�ޤ���P`� J���vI� J���vK�����<R����Z�����D�������L��������U���ܬ��X���խ�����Q�����R�*T�����#S���#S�*T��X����������X�*S��#S��@��x�������H����H�����x�q���P����� ���۴�ք� L���l��{8���^��j����w�7������ Y�����;�����)t��l�������p������)`���VX��T��#V�,��]����������\�,͋�#Vߋ��X���VX�)a�������i�������n���)x������@� Y����p���\����T�X����x��ZO��[���Q�ٴ��}��l��������x(���|�H���|�H���,��������X�#UT��*����������*���#UV��#UV����*�r�r�����T����ܪ�����|�D����t���DZ���F�K�����b���������8��������F� ����� ,�*�U��T9�U��T9�+�� �������������������H� �����t�T<����l�T<�����*���;8��������p����H���4�����UU@��������[���u�������������Zl����Zl�R~�������u�%�����������������9��������L����r��������r�������� ����b���9���9���� �*�����r�U;����s�U;����� ��������2��UU@�����ƨ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����8�U�����l�U������*�������8����T�UU@�*���$������UU@����9X������*����t�U�����t�U�����8� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ���U@�ƨ�� ����8�U�����t�U�����t�*�������9X��*������9X����8�������t����t����t����t�������8���9X����9X������*����t�U�����t�U�����8� ��ƨ��s����Ք��������������������9X������*����r�U�����r�U�����9� ��ƨ��~X�� � �^���Db��U@��U@�c��� :�W�����ƨ�� ����8�U�����t�U�����t�*�������9X�����h����|����(���P������������H���������ً������ƣ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����9�U�����r�U�����r�*�������9X��*������9X����8�������t����r����t����r�������9���9X���*�����9X������*����t�U�����t�U�����8� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ����+��+����Db����� �]��~X��Ƨ�*� �U��U��U��U�� �*�ƨ��~T�� �\�����Dh���������������������������9W����8�������t����s����t����q�������9���9X��������� ���������*����U@����Dl����� �`��~X��Ƥ�*� �U��U��U��U�� �*�ƨ��~T�� �^����Dg������U?��*��������0�W�����$���������9X����8�������r����r����r����r�������8���9X�����b�����$�W��������UUS���H? ����*s����UUT���x����DD�������$j����-�H����-�H���ۗ� G�����U�����%r� <�J�J�J�J� =�%p�����Ռ��6����������� <���ڐ�J����J����%p����ċ���Hl���=p�X���DD���ۘ�������������.��������-��������ۗ���B�����x����i��������,��;����i����D\�v�����4�=����s��������;=����������������n��������n��������F���������;8��UU@���;:�+������U������U������ +������Nj� ������7�=q�����UU@� ����4�R|�� ���� ����������6%�eU@� c�x��4�+� ��U��U<�U��U@� �*���4���8�� ���`�U�������U�����$�+����H�t���8p�������������9��������J����x��������x�������� ����b���9ȋ���9ȋ�����*�����t�U;����t�U;����� ��������2��E������x�WӴ����|�F�H����|�6�����6���P�(X$�����t����8��t��LJ,�����L�������L,���ڼ���m��D������ ���v��夬���:]����������Ō�������Ő��צ����D����OX����|���OU����|���,��nj�� I���U� F���U�� �����p�9r����4�]����|�N9���?&�">{���I�">{���I�)��תT�1AY���R\�1Ab���R]�8xh���.�?�n���?�r���Kg� ���W l�9z�W���Xz�FŠ�H��6��"8��6��"8��(Y�)���|�1;����1;��(�8q�����?�������?�����^,�K`X���ƌ�W���.���x��e�����,��`��� �����)������)����.��׆�����������������������D������5���-��5��-�����*������'�������'����4���Q������{�����D��휣�������uX���&��N���&��N��ׄ�����&�U���� �U���P����+���f���+���d���(��!^���%�(DV���%�(DN���P�2�5���{�=x���^�=����s��4�z���L�,�t���L�,�^��?�(x��U��$��U��$���v�ɱ���ɱ���!P���(F���(G���2����=|����=[�w(�5����,���\�,���d�(����B@�$$����� �$%������r����|��T���5H��T���5H�����ļ����Ĵ�������<�sp���K���jix�����t�{����:r�����������*� D�V��U��U��U�� @�*��ԋ�h��$����/����_�����_��N����6$��<���������D\l�������Ō���`�����?�����9(����(������T����S���������S������*���7̋������������6�����m�����m����l�����D��E����(�v�4���t�|���:t�����<��������*� D�U��U��U��U�� B�*��ԋ�h ��$����/����_�����_��N����6(��:���������D\l��������Ō���`�����?�����9(����(������T����T����P����S������)���9,�������������6�����m�����m����n�����D��D��p��4�~<�����Ő������`� D����(�U������U�����p�*������8���������/�������_�������_�������6(����p�������D���D\l��gI6�����t��`����:r���?�����9(���������*����S�U�����S�U�����*� B���ԋ�h��6�$���m����m�����N���E��8��4���^��{�����Ō�����؋� D����*�U�����R�U�����N�*������9,�����N���/�������_��������_�������6(����p�������D���D\j��gI8�����t��`����:s���?�����9(��������*����R�U����R�U�����*� B����h ��6�$���l����l�����N���F��7�������$ ��t��M"�������j�����,%���%`������%`������l����n����t���������"����"E���� �"E����`B�.����ݺc�:��ݺ^�:�����/�@=q��E���%,��7��*��o$�.ڠ�o#�.ڔ���%��8����<T��<T��p�8��%����.ڠ�o �.ڠ�o �*��7��%,���E���@=p����0�:��ݹ��:���ݺd�.�����`@�"E���� �"E����$�"�������~������v����p���j�����%`�����%[���,(������p������������4�� �t�Q8�@L�Q8�@D� ��� $�����W��������'������ ���ج�i<����X�i@�����4����؋���r���Tz�����,���Wb����|��������������������������������WL�����D�Z��U�R����5������'T������N�������N�����`� �'������������ �������Tz��'����+������i�����������w���S�#5��!���'���W�������#5� �u���d��^��d��^��8����#5���� �����#5���h��������\�����\����u����������������U�R������� ����.��������P�������������������u����d�������(�UU@���=p���U@O �������HE ������U? ��U?�������*b� �\�H��@8�H��@8� ��� ����������������� �8����t�H������H�����.������`\��Tz��������W|���ՠ��������@��������D�������\������Wx��������|����\b������%������KP�����KQ����b� �Ћ��P�������� �������Tz������*��t���������������^����#,�������#5�������u�����Y����Y�����#5���� ����#,���{����� ��X��� ��X����z(����$�����|�����&�p����#���T������<���!�����������h������,����=p���U@�����Ƥ�*� �Vz�U��U��U�� �*�ƪ��ƪ�� ����8�U�����t�U�����t�*�������9X����9X����8�������t����t����t����t�������8���9X����9X������*����r�U�����r�U@����8� ����*�����UT�:�T������2F����)��)��)��)����2F���:�T��:�T���*�2F����T0�)����T(�)���l�������������n���*���T0���T2���T0���T$���*��n�������������n�)����T1�)����T1�2F����*�:�H��UUn��ܬ����լ��W���R�����R�������*S��#S���#S���X�*T���������*T��X�#S���#S���*T���������R�����R��X���լ���ܬ���ܬ�������խ���L���B������Q���լ������ܫȋ��n�� X�]���Z�]�p��B� ������t8��x����Dt���p�Dp���p�1x���E��������]p���sb��h�t��l����f���������L���Ҷ����������T�4 ������h@����&�#�,��/�=��D�,�bM������C%���b������������������b����^n����%��D�.����.�#�4�����F�Ð����l������L�� a���h�s��^���]q�������1z��$�Dp��N�Dt����z� l�������7K�0������ BD���\(���1(�����������g����%|����E�������F������p#����`�����؋����J�������������?}��@���~I����^����}��������̾����9��������9W�*�����U�����r�U�����r� ����9�ƨ�����������3T�?���� ��������=�3T����b������`1���ƨ�� �*�U��U��U��U��*� ��ƨ��e�����`����|�\~���~H�%���?|���>����]V�JH� ,v������ .z���o4� 5���l�=d����p�=d���ex�ٰ����|�u����\(�'���������������������H����4��t����4��t����x�S<����Ƌ����Ƌ����z��������2���Y�����4���Y���������c��������m��������$ �UUS% �������U@P ���U@�@6 ����F����<UT�����1����<UU��F����F��r�<UVY�Y���ê�����UT����UV���ê�rYYYYr��ê�����UV����UV���ê��Y�Y�<UVr�F����UU?����n��������ǘ����ީ�!V=��ީ�!V>���T�(8h��/���/����(8h�!V>�!V>�!V@�!V<�(8h�� �/���/���(8h���T�!V@��ީ�!V<��ީ�� ���ǘ�����n�����n���T��ǘ��ީ��ީ��ީ��ީ���ǘ���T���\����U@������Ƥ�*� �Vz�U��U��U�� �*�ƪ��ƪ�� ����8�U�����t�U�����t�*�������9X���������9X����8�������t����t����t����t�������8���9X����9X������*����r�U�����r�U0����8� ����������ƨ�*� �Vz�U��U��U�� �*�ƪ��ƪ�� ����:�U�����q�U�����r�*�������9X���������9Y����8�������t����r����t����r�������9���9X����9X������*����r�U�����r�U�����8� ��ƨ�����D����Dl����� �d��~X��ƨ�*� �U��U��U��U�� �*�ƨ��~Y�� �]����Dc�����<�2���i���������� ����������9X����8�������r����t����r����t�������8���9Y������������������h���G�����Dc����� �]��~Y��ƨ�*� �U��U��U��U�� �*�ƨ��~X�� �\�����Dd�����<�0���i��������������������9X����8�������t����q����t����r�������9���9X��������� �����������?q����9Y������*����r�U�����r�U�����8� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ��UUS�ƨ�� ����8�U�����r�U�����r�*�������9X����9X����9�������r����r����r����r�������8���9X������9T������*����t�U�����t�U�����8� ��ƨ��ƨ�*� �U��U��U��U�� �*�Ƥ��UUT�ƨ�� ����8�U�����r�U�����r�*�������9X����9X����8�������t����r����x����r�������8���9T����������������������������9X������*����r�U�����r�U�����9� ��ƨ��~X�� � �]���Dc�<�2�<�2�Dg��� �^�� �~T��ƈ�� ����9�U�����r�U�����q�*�������9X��������������������(��h������P�����(����|����d����9X������*����t�U�����t�U�����8� ��ƨ����W�� :���c�<�0�<�0�c��� :�W�����ƨ�� ����8�U�����t�U�����t�*�������9X�����h����|����(���P���������Q ���U@���������ƨ�*� �Vz�U��U��U�� �*�ƪ��ƪ�� ����8�U�����t�U�����t�*�������9X���U@����9X����8�������t����r����t����r�������8���9X����9X������*����r�U�����r�U�����8� ��ƨ���������R ��X1'���#�S ��T ��X1�ܘU �k8���R7�V �a��a��N �*���*=q�������W}���դ��������@��������D�������\������Wx��������|����\c������%������KP�����KQ����b� �Ћ��P��� �����*`� �\�H��@8�H��@8� ��� ����������������� �8����t�H������H������.������`\�UU@��Tz���������(����#,���{����� ��X��� ��X����z(����$�����|�����'�p����#���T������<���!�����������h������,��Tz������*��t���������������^����#,�������#5�������u�����Y����Z�����#5���U���U@O �I� ���8�&|����J�<���`����iz����]b������������������У��У����������E�������"���L�����L������#�����%����^�^�R��kYX�kYX�����)��� 0�� @L��l� �B�64�|6�64�|6����F��tX��t$���d��F�����|j�����|6���L�� �N����X� @j���Z�k�������?���������Z����X����Q����������x����v�������v������ݻ��� ����]0���X�:�������������M0�#����t�F�������k�����0� C����� ��;��������������P���]��������� �����<�F.��8�F.� �D�Ʈ� DL� G/���p �Z�����U@��������ƨ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����8�U�����t�U�����t�*�������9X�����T�����T����9X����8�������r����t����r����l�������8���9X����9X������*����r�U�����r�U�����8� ��Ƥ���Q ��*�������9X����8�������t����r����t����r�������8���9X����9X������*����r�U�����r�U�����8� ��ƨ�*����ƨ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����8�U�����t�U�����t�*�������9X��k8����0R ��X1'���#�S ��T ��X1�ܘU �k8���R7�V �H�>���������s����@���@�c��� :�W�����ƨ�� ����8�U�����t�U�����t�*�������9X�����h����|����(���P��������UU@��UU@����\��������������8p����8t������*����V%��UU@��������Dh���� �`��~X��ƨ�*� �U��U��U��U�� �*�ƨ��~X�� �^����Db�����������$ �UUS% �UUS�Rn�� �Fb��+v�:V�:V�:V�:V�+t�Fb���Rn������Rn����Ԉ�Fb���ũ$�:V�ũ$�:V���D�+t����h�����v�����D���Ԍ��ũ��ũ��ũ��ũ@���Ԋ����D�����J�����v�+v����D�:V�ũ�:V��ũ�Fb����Ԋ�Rn���UUn�������n����T0�)����T0�)����*�2F���:�T��:�T���2F��)��)��)��)��2F����:�V��:�T��2F����*�)����T0�)����T0���n�������������*��n���T0���T0���T$���T1��l���*������UU?G �UU@H ��7L�&���$����8��$�7j�_�����7���� ����p� ��T�#[���T�#[�����d���r��m��� ���)7���j\�#1(���Ը�+H���Ը�+H������������������������j\���Ը���Ը���Ը���Ը���j\����؋������5����s���2����&���R���U.��ܤu���U.��ܤu��������X����x<� ���;��$��Ȳ�-�B���)��-�B���)��7M:����@�2��0�� �-�|�C�+�t� ��+�t� ���'=[� ��-���_s4�㿤�<���������d���L�����L����v������:,�����R ������8�����T���n�����羄�{�������)������������j\�������Լ���Ը�������Ը�������j\���Ȱ����������������Ը�+C���Ը�+D���j\�#1'��)7 ���{�%)����A�����A���6�?J�R��=�:2�%�v��6 ��F����F������v�L�I���j>����@"���F��D��B�|��@ ����������������D������D�����@ ������V�RH�*����6���$����/$����(:����0,�!Q(���04�!Q(���-�������*��Bҋ�������P���^�������R�����4���y��������9̋�������*������9��;����v&����H�v(����F� 4n����#����Q�� )�����d4� (8��l��\��p��]���� ��|����;�����<�&�v���߬�"j��$��b���;x�$���� ^������4�����4���T�L��������s\����t,���� ���t�����@���4����U@��C��B�\��������(��Z^6�����rx�x���Ø�?������?���������� ���-��UU@����9�9l�����r������r������ 2l����L�������M����M��N�� �� �����������5t�����������������UV�����B����T����|������������DH�������i|�����������ny��������������������X���r��������������������������0�����b���� M��������˒�*�����U������U������ ���R�*�����R�;� �v'�U��v'�U�� 4m�*������*�����$� 2n�*�r�Ub�r�Ub�9n� 1�����U@��Ɛ���ƒ� 0����$�U����$�Ub���͒�*���� ����~}���#����cX����棑�����棑������Q����h���ܦ����U@���ܦ��7����h�\o����\l����������#����{���U?� ���=q���������������!����!����(����Y�/�����[��X�ss���������\���e�!T��A��p��������@h��x��2����������U@��ƨ����8� ����t�U�����t�U������*���9X����x����k�|��គ����a���a����#�����4���#�����0���2d���`����A������.j����������������O���������V����������=����4�=����4��|���ʔ��d��� �� � ����G��j����������t�������t���k����O�#$���#���������:�H�*�����.������^���ci����J������o����9|� 6���(��I���f��I���@�����������Ʀ����8� ����r�U�����r�U������*���9X���� �����~���������N���� �����E�����x�� B�� �f��j�(y�X�P�F�;і������ \�����h����h���� M��T� 3"��Wً�Wj������V�������.X�� �����I�����;�������@� �<���F� �8���F������<�w������2���{\���O����E����*@�������������������|���4����z<����s|����l��������U@� ���������9X��������8����t����t����t����t����8�������9X��*������9X�*�����U�����r�U�����r� ����8�ƨ��s�H�����4�ְ������|��"Ћ�Ű���|��݂�|��݂�"���Ǡ�!���m8��h��*����������#�#}L�����e(����M����M���,(�Y����Ԅ���f��UUS�W �����X �UU@��UU?�/�������(8h���!V>�!V=�!V�!V>���(8h�2�/������/����T�(8h��ީ�!V>��ީ�!V<���ǘ�� ����`�����n����ǘ���T�ީ��ީ��ީ��ީ���T��ǘ�����`�����n�����ǘ�!V=��ީ�!V/��ީ�(8h���T�/���UU����r�����������U����T�� ���T�� ����p�8���P���P�U��8�� �� �� �� �8�U���P���P��8����p�� ���T�� ���T�U�����ʋ���r�����r�����p�������T��T��T��T�������p���r���UUS�W �����X ������UU?�/���(8h��"�!V<�!VA�!V@�!V>�� �(8h��/���/����T�(8h��ީ��!V>��ީ�!V<���ǘ�� ����`�����p����ǘ���T�ީ���ީ���ީ���ީ���T��ǘ�����n�����n�� ���ǘ�!V@��ީ�!V0��ީ��(8h���T�/���UU����r�����������U����T�� ���T�� ����p�8���P���P�U��8�� �� �� �� �8�U���L���L��8����p�� ���T�� ���T�U�����ʋ���r�����r�����p�������T��T��U����T�������p���r���UU@D ��*��Y ��UU@Z ���Ul�n���+� ��U��U��U��U:� �*���2���2�� ���b�U������U������+����J�t���9�����������9��������I����n��������r�������� ����b���9���9���� �*�����r�U;����r�U;����� ��������2����������H���+� ��W��U��U��U:� �*���4���4�� ���b�U������U������+����J�t���9�����������9��������I����t��������t�������� ����b���9̋���9̋���� �*�����t�U;����p�U;����� ��������2��UU@D ��*��Y ��UU@Z �����*>��*���H��w+�w+�c ��� :�W�����ƨ�� ����8�U�����l�U�������*�������8�����h����|����(���P�����j����j������\���������������8p����8�������*����%��H���+���*>���*>��������������������9X������*����r�U�����r�U�����9� ��ƨ��~T�� � �^���Dg����T��T� �*�ǐ��ǐ�� �����T�%�!������������U\��*������:�������*�����U�����t�U�����8� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ����ƨ�� ����8�U�����t�U�����t�*�������9X����������9��������J����t���������p����r���� ����b���9����T���9��������� �*�����p�U<����p�U<����� ��������2�H���*<�!����*B��+��+�T��T� �*�ǐ��ǐ�� �����T�%��U@��j���������������������9X����8�������t����r����t����r�������:���9X��������� ������������w+��H���H�����Z��������������8p����8p������*����Z%�������Dd���� �`��~`��ƨ�*� �U��U��U��U�� �*�ƨ��~]�� �b����Dg�������@������UP����U?�|���+� ��U��UT�S��U:� �*������8�� ���b�U������U������+����J�t���9�������9W����8�������t����r����t����r�������9���9X������9X������*����t�U�����t�U�����8� ��ƨ��ƨ�*� �U��U��U��U�� �*�Ƥ����Z��<�����6����|���UH�������*����w����↋�����]P��������������������N�"�����i��#��A���9�Ѭ���Ѭ���h� (��#͋�����Hx�U������r���/�[�l��������"������ ����� ����W4����h����l����W8����$�������H�������H���"����u �����������yn�������h��Z���p���(�G�Ԉ�������t�����������h�!|�����!|�����H����&P�o����Q��iX����0������a�����Q�����?����Z������V�����������������������������ZH����l��-�h���{S�@����*;�J����$�U����#�U���� �8���`���<��K�R�Д��h��U?������������������T����9X����9�������r����t����r����l�������8���9X����9X������*����r�U�����r�U�����9� ��Ƥ�������ƨ�*� �U��U��U��U�� �*�ƨ������ƨ�� ����8�U�����t�U�����t�*�������9X���������9��������H����t���������t��������� ����`���9̋���9̋���� �*�����t�U<����p�U@����� ��������4�UUT��UU���UU@� ���9�w����H�+�����U������U�����b� ��2���1�*�� �U:�U��U<�U�� ��+��2�v����,������ ������U@����r�U@����r�*����� ����9���9����`���� ���������r��������m����H�������9|�������UU@��U@+ �����������4��������l�����n\����\���,L���+����s<���d������h�����h���s8��4���Xt����?�����2L������$�����}4���X��܍��0��➠���K�����K���Ot���k܋��ӌ��~���Y���S8� ��;��P���$�" ����$��" ��ҟ%�'`�����,����2�l���\C�����7U����Z����^j�������b������b�������P�����������<����l�����h���C����5b����<���6������2������o������z^���Gh�=D��j�\����1l������}����*���,����v���ڲ����{���ڲ��ߵ�����X��������Nj����j������= ���K��]�����(���ov��������ov��������'���Cb�������������A�������� �E����F�H$������JXh����JXh����F�����u�B�T� ��B�T� ��?��jh�<��!۷�<��!۷�3�4�*�`�+��3=�+��3=�"���=x����G������G�����Mt��Rr.����]�����@��d���d��$�\��K����e��t����p���a�\��!��8`����.���.h�%����4����4�����|����<�������l������r�$�(� <��� ��Eh� T�t���̀���I����5�����\���������L��������è���ܠ���������L�@��R�����Y������������\��������rT����T�����ʬ���s���ʬ���s�����W ������;>������;'���~����ؿ���f���vW���e��vW�����������,(���1[���,,���1[���������������(����������������j������j����Ō�Mu��Ѻ*�0V��������� ]R�@�(�@�(�v� ̍��� p.� נ� hw�-� �����~������������������v���0��/�����0�����V�F�X����\����겺�A� ����Y�Hkp�W��OF��0�����8����wL�?�r����?�f����B������EB��P�w<�L`� �,�P�� �T��T��� ���y~���������*��������Ҝ����D��0���̋�?d� U������'����'������l�_@� � $�������@�=<������G����H��������,�����8�����>L����D��T���4�� ����@���/��X��0���4d�*��������X��s��c���P�� :����z����ƨ�� �*�U��U��U��U��*� ��ƨ�������|� :���P��c��*����U@������T�����*���8,����8t������������V%��*����*��������������������9X�*�����U�����t�U�����t� ����8�ƨ��~T�� �^���Df�����B���@���f�<����9W�*�����U�����r�U�����r� ����9�ƨ��ƨ�� �*�U��U��U��U��*� ��ƨ�*��������UU@����9X����8�������t����q����t����r�������9���9X���������9W������*����r�U�����r�U�����9� ��ƨ������ƨ����9� ����r�U�����r�U������*���9X����9X��������8����r����r����r����r����9�������9X��UU@���ܬ��W���լ�����R�����P�*S�����#S���UU@�#S�*T��W����������X�*T��#S��������ƨ����8� �����U������U������*���8���9X��������8����t����r����t����r����8�������9X�*���UU@�����������4�� �+��T��V:�T��U��*H� d���4��Y����Y����Y������T-f���4�M�N���t`�Gm<���td�GmD����T�8w����DD�)����D�)���������o����oʋ�������?���DD���~,���DH���~ ����U��Ljt���ta�������te��������4���2����������������������������V����:�*F����T�����r�T�����t� ��Ԃ��:����������������m�����ǘ�!V>��ީ�!V0��ީ�(8h���T�/���/�� �(8h���!V<�!V0�!V<�!V0�� �(8h��/�������Ƭ����8� ����x�U�����x�U������*���9T����9X��������9����t����r����t����r����8�������9X����r�����p�������T��T���T���T�������o���r�����r�������U����T�� ���T��!����p�8���P���U@�����f��Z]�����(�N�x����@�N�x����@�1�����h������1(���Q����b��1���Q�L�N�g�@_��N�[�@_��Z]�� /�fދ������+[ ��H�����v���+� ��U��UT�U��U:� �*���8���8�� ���b�U������U������+����J�t���9����������9��������J����t��������l�������� ����c���9ԋ���9���� �*�����p�U;����p�U<����� ��������2���:��(d�A����}�@����}�>4��~��>4��~��*&$���,�l������:��F�������<Jh���X�1������1������t��ñR����c�������������(���a����(���h����������*���������\j��� 0���.4����p����9X������*����t�U�����t�U�����8� ��ƨ����7�:�o�]�o�]�Zl�W|�D��Q���� cA���T.�a<�E�a@�E���������>��/����W��(4z��ޯ`�!V>��ޯT�!V����X������X�,���=p����x�����h� `����@,����@,���ӈ��J����\��j����=̾����4�4���DŽt�+���DŽ��+�������h���+�����z������E���Ԉ��ũ��ũ$��ũ��ũ$���ԇ����D�����h�����z�Pg���������\�����\�� ���X��L����+�����������0����2�����9X����9�������r����r����r����r�������9���9X����!�����Q_��*����� �S���m�C���O�'�K���1�1�S���1�1�R������,��(t������E���"�@=p�"E��:��"E��:��.���.���:��"E��:��"E��@=q�"�E������������,P�z����X����b����[ ����U@������������(�����$�����3���2���A���b���B���b������D���������&��Ԧ������&�������D�����a�����`���1�#/�����U��������#;t���w��(����z`����#;��+YX�����#/��z|����� ����� �������}��������+-��>�����+��ʈ�&-|���� ����� ��$Ζ�t��+�F�e�+���jl�'�(���6��#�������#�������0�݈0��0��� �������������@�8����S�8����S��l������ �8���4���J������ �t��|�������-����-��]x��<�� �ԋ��0������(���q��������@h���3�D��ʙD�&�p��ʙL�&�t���N�/����f���c��� ����h����˰���O�ӌ���7T��ӌ���7T���Ε�����c���J�������xPB ��U@\ ���U��*��] �UU@^ ��������7+$����(���@���B�c ��� :�W�����ƨ�� ����8�U�����t�U�����t�*�������9X�����f����|����&���P��������UU@��UU@����\��������������8p����9�������*�����%������UUT����Db����� �^��~X��ƨ�*� �U��U��U��U�� �*�ƨ��~X�� �`�����Dh������U@\ ���U��*��] �UU@^ �j��_ ��U@\ ���U��*��] �UU@^ �T�UU�����X��,�+� ��X��U@�U��U@� �*���4���4�� ���`�U�������U������+����H�x���8�����������9��������J����t��������� ������������b���8����9ȋ�����*�����t�U:����p�U<����� ��������2��������_ ��U@\ ���U��*��] �UU@^ �w+�7+����D`����� �`��~\��ƨ�*� �U��U��U��U�� �*�ƨ��~X�� �\�����Dd������U@��*���������������������9X����8�������t����r����t����r�������8���9X��������� �����������c��� :�W�����ƨ�� ����8�U�����l�U�������*�������8@�����h����|����(���P��������*����*����������������������9X������*����t�U�����t�U�����8� ��ƨ��~X��� �^���Db�������������������9��������I����t��������t�������� ����b���9̋���9̋���� �*�����t�U;����l�U;����� ��������2�UUS��#S������*S���P�����T�����լ��W��ܬ��������ܬ ����լ�������Q���Q���Q���Q�������խ���ܬ�������������9��������J����r��������s�������� ����c���9͋���9͋���� �*�����s�U<����s�U;����� ��������2�UUS������:�V���2F��)��)��)��)��2F����:�H��UU@�:�T��2F����*�)����T#�)����T$���n�������*���:�\��2F����)��)��)��)�����2F���:�t��:�T���*�2F����T0�)����T0�)���l�������������n���*���T0���T0���T0���T$���*��l�������������l�)����T0�)����T0�2F����*�:�H��UU@��ܬ����լ��X���R�����R�������*T��#S���#S��X�*T���������*T��X�#S���#S���*T���������L�������X���լ���ܫl���ܬ�������լ���P���R���T���R���լ������ܬ��������������������9��������I����t��������t�������� ����b���9̋���9̋�����*�����p�U;����p�U;����� ��������2�UUS��#S������*S���P�����T�����լ��W��ܬ��������ܬ����խ�������Q���Q���R���Q�������խ���ܬ�������������9��������J����r��������r�������� ����c���9���9���� �*�����r�U<����r�U;����� ��������2�UUS��:�V���2F��)��)��)��)��2F����:�H��UU@�:�T��2F����*�)����T1�)����T$���n�������*���:�V��2F����)��)��)��)�����2F���:�t��:�T���*�2F����T0�)����T.�)���n�������������n���*���T0���T0���T1���T(���*��l�������������l�)����T0�)����T0�2F����*�:�H��UU@��ܬ����լ��X���R�����R�������*T��#S�������#S��W�*T���������*T��X�#S���#S���*T���������P�������X���լ���ܫl���ܬ�������լ���R���R���R���R���լ������ܬ����*���������������9��������J����t��������t�������� ����c���9̋���9ȋ�����*�����t�U;����p�U<����� ��������2�UJl�����Y6�������z���?|�1����?�1����bH����儨��O����T�"����?��������������`��~�� T��ƣ�*� �U��U��U��U�� �*�Ƥ������$���w���D����B�,!l����%�(���$k�@��@����0���������l����{Ɣ���$H�DL���o��+�����l�����l���݈�� �� $Ћ��`�+� ��V�V�V�V� ��+��`���L�����H�x������,Il���%Ф���&L�W��ס�W��ס����@����Ip��������Ix���T���@���,��ס���,��ס���/\���&N��Ӷ�������d�������y����H���j�����8������H�+�����V�����V����� ����Z�� $�"x���D�n�D�n��T�+�۸�Db������`������8"���8� e|���i���i����������5�8$���5�8���S�������r<�����2p��(s����*@� �Tt�Tw�T|�Tw� �*;������� �����Tt������Tt������*<����5����:����Z����ܰ����P���٢�������������������٤���L��ܰ�����*�0��ܰ���������٢�~�������h������e���L�&]��#OW��r���#OT�~��&\��h��h��d��d�&]�~��#OX��UJ#���� �����Tw������Tw������*;����8����:���:�������8������������������������5�������:ɋ��������:����6��������������������������������8����:���U�P��������:��*;����5�Tw����v�T{������ ������������������ �*;�Tt�T{�Tt�T{�*<� ʋ���<+D����t�d��Th��X� 3��0�� T�����Tt����0�T|����h�*��������:���U�N����:���������5���������v��������������8�������:���:����4�*;������Tw������T{����� ʋ����V��C���w����������$����T���M�����ԋ���;������h�)@�����R����Z�*�����,�R����� ����`�����o�������� ������Tt������Tt����8�*<���:����q�����:����4�*<������Tt������Tt����� ̋�� ��� �*<� �Tv�Tt�T�Tt� �*<�ň���o�#OX��&\���P��d������d�����~����٤���ܰ����q���P�&`�*����Z���<�dv��P��xA1 ���D�xd���U@��*������~��� ����lP����Z�����Z������lP���~%�*����*���jT�����CX���Zq� d��ƨ�� �*�U��U��U��U��*� ��ƨ�����������ƨ����8� ����t�U�����t�U������*���9X����䐋��������Zp������������7����������n�����"�������W�P�����A������"E� �D��U��D~�U|� ���6����������t����� ������p�E�������D�������"H�������P���������l���U�T�4��������QO���ݼ�������t���������t��������p����Q���Qh����!��)�����Q\���f�1�����r�QA����r�QA���ݸ� �������Z�W��������'��������U�P��������������w������������������x�#;������#;�����X�������w�F��#;������A����'�� �Wp��#;��0�(���\��d���������<��4����|�`��)������!�������?���s����^���\���^���T���/���ḋ�����`N�����?f���������� z��+t� z��+t�=T�7���D���@Ċ�����7M����)l�-֘���)x�-֔��Ȳn��L���;e����;q�����Ȳn�������)l���)|���)l���)�������Ȳn����;F����<x���Ȳ�-����)k�-չ���)j�7L����*�@É������*���@�t��7L����-��-֔�-��-֕���7M��@È��@Ď�����7M����)l�-֔���)l�-֤��Ȳl��H���;t�����;t�����Ȳl�������)l���)x���)l���)x������Ȳn����;d����~�=T����� z����Ԉ� z����Ԉ������p�΄��� :���^4���Ȩ����Θ������Ԉ�+x���Ԉ�+����jD�#1h��)7L��)7Z����#1h�+x�+x�+k�+x�#1h����)7f��)7g��#1h���jD�+j���Ԉ�+j���Ԉ������Θ����Ȧ����Ȧ���jD���Θ����z���Ԉ����z���Ԉ���Θ���jD���ȵ��*�����Ȥ��������Θ������Ԍ�+x���Ԍ�+����jH�#1h��)7L��)7Z����#1h�+t�+x�+t�+v�#1h����)7\��)7\��#1h���jH�+t���Ԋ�+t���Ԉ������Θ����Ȧ����Ȧ���jH���Θ���Ԍ���Ԉ����|���Ԍ���Θ���jF���ȴ��������p` �4����a ���D�?q��aD��� :�W��x��ƨ�� ����8�U�����t�U�����t�*�������9X�����b����x����(���P���������������������������9X������*����t�U�����t�U�����8� ��ƨ��~X��� �^���Db�ë�����Db����� �^��~X��ƪ�*� �U��U��U��U�� �*�ƨ��~X�� �\�����Dd���������������������������9W����8�������t����r����t����r�������9���9X��������� ������������p��6fj��^�`��dDZ����9X��������8����r����t����r����t����9�������9X������9X�*�����U�����r�U�����r� ����9�ƨ�������ə���^�R��4��������H� ���̋� ,�*�U��T:�U��T9�+�� ������UU@����������H� �����t�T<����l�T<�����*���;8��������p����H���4����4�����$�s3���\(��$�s33���5��@���p� ����6��������� �v���� ��ʨ�@�^5@�'����P��c ����|� :܋����ƨ�*� �U��U��U��U�� �*�Ƥ����� :����|�c���P�����N|����������ܥt����ܥr�R��߱b����R����R�������߱b���[�ܥr���[�ܥy���V������P���Nv������P�����(����{����d����9X������*����t�U�����t�U�����8� ��ƨ����W�� :���c� ʘ� ˨�ƨ���� ¸���� ¸�����\������ҋ�������������=H�����=H������9X������5h� ˬ�������p` �4����a ���,��ĚM ��ic��ic���P��c ������ :܋����ƨ�*� �U��U��U��U�� �*�Ƥ����� :����|�c���P�����N|����������ܥt����ܥr�R��߱b����R����R�������߱b���[�ܥr���[�ܥy���V������P���Nv��������P��$����y���켋���9X������*����t�U�����t�U�����8� ��ƨ����W�� :���c� ʘ� ˨�ƨ���� ¸���� ¸�����\������ҋ�������������=H������=H������9X������5h� ˬ�$���p��6fb��^�`��dDZ����9X��������8����r����t����r����t����8�������9X������9X�*�����U�����r�U�����r� ����9�ƨ�������ə���^�R��8��������H� ��ļ�� (�*�U��T:�U��T9�+�� ������UU@����������H� �����x�T<����x�T<�����*���;8��������p����H���4����4�����$�s3���\(��$�s33���5��@���p� ����6��������� �V���� ����@���*���@������=�������9�;`�4lt�v�4l8�v�)q��)q��v�4lS�v�4lF�;d�9��=��=����Ĝ�9���<�4l^���$�4ld��֎l�)q���˓��v��˓��v������;`���8����8�������Ĝ��˓����<��˓����$��֎l��֎l���@��˓����@��˓����Ġ�������8����8�;`�����v���˓��v��˓�)q���֎��4lP���<�4lF���<�9���Ğ�=���UU2���YH�9��ì^�I���t�2Y���t�2^����<T ��F����F��F�<T�2��2T�2��2X�<S��<�F���$��F����<T����T�2T�����2X��������ëZ����X����X���T��ëZ������������������ëX���V���X��*�����ƨ����8� ����t�U�����t�U������*���9X����9X��������8����r����t����r���������8�������9������8�*�����T�����?������Dh���� �\�����~T��ƨ�� �*�U��U��U��U��*� ��ƨ��~\����� �^����D^��̀d�3��kCT�� �����\�K��� ����E����^����������hP������hO���v���4(���:�����Ԩ���G@������������S��o�����q�����q���e�� =����� ������t������ ����\J� $>�������������������yf�����?Ћ���96���������������������������������8������������6����d���\�F��,����� �V���5����Ax��~���Aw������ Dԋ���F���t��cD������ G����`R���������� ��sV��(� &����^��4�J���KR��L������������ }����$�U�������U���*��7|����?Ћ���yd���6%��������lJ��������lJ���\H�����������K;���#���Z����i���� ���� &4�H����H���� �8�Π� ����������N�D� �ԋ� ����54�N���jh�N���k�������ـ��`���G���\�D��h���K<��������M���lL�M���lL� �����6$� �0����� |�*�U�U�U�U�*� x�����L�����KP�����J������i����� #�����p�����������������jX�_D��0����z�������F�.���߽��������mZ���0���4���?\���6���?d�������4�������������\�H��������h�����������������8�*��U���� �U���� � z�������� �0�� �����M����M������� $@��j� �����G������$�������������{`���PY����9X������*����r�U�����r�U�����9� ��ƨ�� ��a�$&� ô����'L� �>�3���@��*>�@��*:�9����3$���3$4��9����j�@�����@�����3��� B�'L���D�� �,�����ۘ���K�����b�\���9X����8�����������r��������r�������8���7���������(�����;�)~���@��F������JH��ʩ8�M��ʩ4�M���`� ���a�����a�����`���Y��ʩ0���$��ʩ&��� �����赸���@����N��g���<(����h������������pl���<�����87������+.������V\������VX����� ���ȋ��|��� ��� ��~�Z#(�O���f�T�5�,�r����r����r㖋�r���P�r���0�f�T���?�Z"����~x� ���(�����UT����)�����8<�����������������������������������8<����<��������������x�&����`�,,�������%�(���L��C����L��C����B�����9*����9X����B����^8���L����t���L����t��������G����\����@�+і�����������S���~����*���I����9X������*����r�U�����r�U�����8� ��ƨ��E0��:�f��pt���p��;9��� f�!�t� ǔ�!�v� ǔ��c�L���L�������6�!�t���8l�!�t���8l�����p������pt���w���8���g����ԋ���9X����8�������t����r����t����r�������9���9X����I������p���������<� ����F8� J�����4�������4�����������6V����6V�������&6����4���Lm����8���Lq���F8����X���:���>�{ƨ��|̹���U@������Ƨ�*� �Vz�U��U��U�� �*�ƨ���l�� ����9�U����r�U�����r�*�������9X����9X����8�������t����r����t����r�������8���9X����9X������*����r�U�����r�U�����8� ��ƨ�������HE ������U? ��p��6�zb ��<Tzc ��w���|����� ���������l��������4���t�����9X������*����r�U�����r�U�����8� ��ƨ��sX��z� ڐ���A� \ � k������d�`,��j�`0�6���������Ot���L�������8����� t���������T�������T�D����ċ��됴���ܯ������<���t���t���t���t����>����ܯ ����x��H������T����9X������*����r�U�����r�U�����9� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ������ ċ�C�������ƨ�� �*�U��U��U��U��*� ��ƨ��ƨ����8� ����r�U�����r�U������*���9X����+�������������6�����Ci������ ����`��`�����z� 3��{��ƨ�*� �U��U��U��U�� �*�ƨ��ȋ� Ah������e���CT�WD������ ����G��\���������l�����h�����OD�$�5��$�5��t��#��ƹ��ɮ����(� �����P�W�����L�W�����P�+���6X����ш���������9�v����J�+�����U������U�����b� ��2���2�*�� �U;�U��U;�U�� ��+��2�w���<��s�4�#S�*T���������Q�����Q��X���խ�������ܬ�������ܬ�������լ���X���R���X���Q���լ������ܬ����N$�����d�����D��`+���D��`,����<�� ����� k�����8�������X��������T������9X������*����t�U�����t�U�����8� ��ƨ��l�[� >H��(�d ���U4� F���������������$�B@� ���)7X��#1h���jH�+x���Ԍ�+t����|������Δ����ȶ����՜���n�������ݠ���Ԍ���ݨ���Ԉ���٘���c���Ռ����.��U@���9X������*����r�U�����r�U�����9� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ��ꔼ����@�D4�z���X�z���V�=L������������*������X������X�����@,���V����[ԋ����(����L���|��������*<) ������ë�* �������$ �UUS% �a��*<c ������ë�b ����O�t����N���ڟ����M����x������~�� �����?� ����8� l����y�Ȅ�n��Ȅ�n�� �)� � �������������KT� ,�� Kb������ՠ� �����@�V������U������+X���:� ���L���$���%`B��l� ���PT��T����@� z����@� z����\�����7|����\���7|����\���T����8����0�����UU>�����i[��� ���������ԋ���������:z�*a����t�T�����r�T�����r� $���Ԩ�Ŋ������[�UU@�34�J=x���a���; �������>D������<�����:ʋ���:.�*z����P�T�����r�T�����r� `����������&�$�2����������d�����84������x���6������Մ� ������U������U�����+4���:8����U@�*����J��%l������)�"�3p�.��f�.��f�%�L�����,������c33�Dh���� �`�����~X��ƨ�� �*�U��U��U��U��*� ��ƨ��~X����� �^����Db��c34�����/4�8���%�D�h��.�P�h��.�P�4@�)�8��%$"������E�����,�@=p��ݺd�:���ݺd�:����`@�.����� �"E����$�"E�����"���~�����~�������������,���"��ݺd���!��ݺd���`A���`@��ݺc��� ��ݺc���$����1�������~������������"o���Ö�"D����"D�����.�����`A�:����ݹ�:�~��ݹ�@;�����%�E~����v�UUSd ���Q�����~��4�+� ��U��U<�U��U@� �*���2���.�� ���`�U�������U������+����H�v���8�����������9��������H����r��������n������������b���9���9���� �*�����r�U:����p�U<����� ��������2������UU@e ���~�������c3*�Dh���� �`�����~X��ƨ�� �*�U��U��U��U��*� ��ƨ��~X����� �]����Dc��c34�����.$����%�g�.�m�g�.�`�3�)�H��%#2��E������0�@=p��ݺ\�:��ݺd�:����`@�.����� �"E���� �"E�����"���~�����~���������0��� ��ݺ\���%��ݺd���`B���`@��ݺ^��� ��ݺa���$����/�����������~�� ���~��"����"E����"�"E����!�.�����`A�:��ݺb�:���ݺc�@=p����1�E���%#"��)�H�3�.�p�g��.ф�g�%����.&��LL�]pd ������e �UU@��U?���������������m�����ǘ�!V,��ީ�!V,��ީ�(8h���T�/���/���(8h���!V@�!V<�!V<�!V=�� �(8g��/���/����T�(8h��ީ�!V=��ީ�!V=���ǘ������`������������UUT�/���(8h���!V<�!V>�!V@�!V0�� �(8h��/������/����T�(8h��ީ�!V<��ީ�!V<���ǘ�� ����`�����l�����ǘ���T�ީ��ީ��ީ��ީ���T��ǘ�����\�������UU@�UUT��/����T�(8h��ީ�!V<��ީ�!V@���ǘ�� ����i�����m����ǘ���T�ީ��ީ��ީ��ީ���T��ǘ�����`�����l�����ǘ�!V2��ީ�!V/��ީ�(8h���T�/����UUS��UU@���������n����ǘ���T�ީ��ީ��ީ��ީ���T��ǘ�����`�����n�����ǘ�!V=��ީ�!V/��ީ�(8h���T�/���/���(8f���!V>�!V0�!V>�!V/���(8h��/��UUS�@��P ������@��������r�������U����T�����T�� ����r�8���P���P�U��8���� ��!���8�U���P���U��8����p�����T�� ���T�U�����ȋ���r���UU,����������r�����p�������T��T��T���T�������o���r�����r�����������U����T��"���T�� ����p�9���P���P�U��8��!��!��!��!�8�U���P�����������UUZ�UUT��P��8����p�� ���T�� ���T�U�����ȋ���r�����r�����p�������T��T���T��T��������p���r�����r�����������U����T��"���T��!����p�8���P�UU@����������UUT���P�U��8���� �� �� �8�U���P���P��8����p�� ���T�����T�U�����ȋ���r������r�����p�������S<���T��T��T�������p���r����0����������������<����0�F���)��<T����K�2X���KT�2X���-������Ћ����������;����,��� y��ݼT��� {��ݼT���b��b�ݼR��� x��ݼU��� �����*����:�����������!����:�"C���� y�"C��� {�.����b�:�q��ݼT�:�q��ݼT�@9����*�E}��`���<����F����<O�����1��1��1��1�����<O���F����F�����t�<O�����1�����1���ðx������^����������/���(5��U�!T ��ޫ�!T��ޫ������(�����n�����o���U���'��ޫ�ޫ�ޫ�ޫ���(���U���l��������<���������n���������d�)T��ŭY�:R���ŭY�:R����֬�F]���Rh�������Rh��)T�F]��:R��:R��:R��:R��F]��)T�Rh���?���<&$���!��8x6���C�8x,���C�$74���;��@���3�G����+��,x���u��L�����H��������ߠ� �����n������U@���9X���������*����r�Vz����r�U�����9� ��ƪ��ƪ�*� �U��U��U��U�� �*�ƨ������ƨ�� ����8�U�����t�U�����t�*�������9X����9X����8�������t����r����t����r�������8���9X���UU@�����9X����������*����r�U�����r�U�����9� ��Ƨ��Ƨ�*� �U��U��U��U�� �*�ƨ������ƨ�� ����8�U�����r�U�����r�*�������9Y����9X����8�������t����r����t����r�������9���9X���*� �/\(�(� {D���� �H�k�H�k� j2���� �����܋� H����$�U�����L�U�����L�*������9$����nL������o��������p������������n��������G&���������������@������������J���t`����9$�����*����J�U�����J�U�����&� I���܋�������,0��O�UUR���(� {D����$�H��k�H�k� j0���� ����ŀ�� H����$�W����L�U�����L�*������9$����n8������o��������p�������������������G$�������<���������@������������J}���t`����9$�����*����L�U�����P�U�����(� I���܋��������,0��@�UUS��U?���������ܬ��X���խ�����Q�����P�*S�����#S���*���#S���*T��W����������X�*S��#S����#S������*S���R�����R�����լ��X��ܬ�������*��������=��;d�92�v�4lj�v�4ld�)q��)q��4lX�v�4lh�v�92�;d�=���=���94���Ĝ�4lX���<�4ld���0�)q���֎l�v��˓��v��˓��;d�������8���UT�������ܬ����լ�������P���R���P���R�������լ���ܬ��������ܬ��X���լ�����R�����P�*P�����#S��*���#S�*T��W����������X�*T��#S��*����ME�����Ge�����A������A� ���4�3����y�&���y�&����4�����|�����|�����2������y����y�����4��4����y����y�������2�����������������UUZ����9X����8�������t����r����t����r�������9���9X����UT���9X������*����t�U�����t�U�����8� ��ƨ���ƨ�*� �U��U��U��U�� �*�ƨ�������UUM������Ƭ�� ����9�U�����r�U�����r�*�������9X�����9X����8�������r����r����r����r�������9���9X�����US���9W����������*����r�U�����r�U�����9� ��ƨ��U?���N���U8�����v�+v����D�:V�ũ�:V��ũ�Fb����Ԋ�Rn���Rn���Fb��+v�:V�:V�:V�:V�+t�Fb���Rn��*����ƨ����8� ����t�U�����t�U������*���9X����9X��������8����t����t����t����t����8�������9X���U@��������*��n���T0���T0���T(���T0��p���*������������n����T0�)����T0�)����*�2F���:�H�*����ƨ����8� ����r�U�����r�U������*���9Y����9X��������8����r����t����r����t����9�������9X���U����UT�����Ƥ������ �*�U��U��U��U��*� ��ƨ��ƨ����8� ����t�U�����t�U������*���9X���UU@���9Y��������9����r����r����r����q����9�������9Y����9W�*�����U�����r�U�����r� ����9�ƨ����h�����t�������؋��4������ ������U<����r�U@����r�*����� ����9���9����`���� ���������r���������r����H�������8����������9�v����I�+�����U������U�����b� ��2���0�*�� �U;�U��U;�U�� ��+��2�v��X��t�UU@��h<(�����T����9X������*����r�U�����r�U�����8� ��Ƭ��ƨ�*� �U��U��U��U�� �*�ƨ��������,������ ������U@����t�U@����t�*����� ����9̋���9����`���� ���������t����d����t����H�������80����������t�i��k����|� �E2� �E����4��YT��:�$���*|�2E����T��)����T�)���ͺ\��l������������9X��������8����r����t����r����t����9�������9X��UU@����9X�*�����U�����r�U�����r� ����9�ƨ����T������:�T��2F����)��)��)��)����2F���:�H��"�����M�#����ꛤ�$gd��ꛤ�$gL���0������֒��B�$��L�*���#S����*T���������X�����X��X���լ���ܬ���ܬ�������լ���P���R���T���R���լ������ܬ����U@����������UU@�#S�*T���������R�����R��X���լ���ܬ ���ܬ �������լ���P���R������Q���լ������ܫ���.Ö��aH�~V���`�p�bP�������.� 4����\�U�����\�U������*���9:����T>�����X��������r���������p����@������������R����v��P�d��P�b���v����T]���������������������t���������t��������X����T<����:t�*�����U�����(�U�����\� 5����0��Nj�bN�p���h�~L��������p"����z��}������i���U��i���U�,��{��#^v������UU�����9W�*�����U�����r�U�����r� ����9�Ƥ��ƨ�� �*�U��U��U��U��*� ��ƨ���������0�v� ��+�U8�U��U<�U��*�� ��2���2����`� ����U������U�����L�+���9�u��UU������#S����*L���T����������հ��T��ܫ������I6���a��}�H������ ����J�����J�����%l����,����>t���@���@���9X������*����r�U�����r�U�����8� ��ƨ�������$ �UUS% ���,�q� ��+�U@�U��U@�U��*�� ��-���-����`� �����U������U�����H�+���9��u����T���9X��������9����r����r����r����r����8�������9X����9X�*�����U�����r�U�����r� ����9�ƨ�����q������f� �� r@�� �%$���%$�5h��������P��8����p�� ���T�� ���T�U�����ȋ���r����������^���룴�������������*���������� 4����P������ ����H���QZ��������4���L(������L*�������&���̘����������8��+����N�V�����V����� �������V���Ƌ�~�����`H�u �S�� !�����T��#����7S�$� ����+�>��2�v��(�����/����T�(8h��ީ�!V@��ީ�!V@���ǘ�� ����f���ޥB���ߙ�������������������@���"����n������)n���#`��������`�����d����9X�*�����U�����r�U�����r� ����8�ƨ�����;��߶��4��l��6��j�I|��>�����t����F�D��� � �l���~X��ƨ�� ����8�U�����r�U�����v�*�������9T��������������������w��w�����`����d���I~���`��ֺ������ֺ�������H���s���� ����������.��ŢB�:]���ŢF�:]�����#�Fj�����Rx&��")��+�%�5�W�)Ef�V�)Ef���� ���'��'���d��d�@��@��]���D�zh�5�z�5��D��ft��:�|�����2K���'�)�<���O�)�<���O����ʹ$����x����������������,��⅘����(��⅜���D����r���P���L��ww���w���������>��������� ���n���cf���n���ce������1����B���ܩ�������h�������/����~��,�#V�������yO������������� 0D�1�� �� j��j=p�i� �4��� �|���@��ƨ������ ����8�U�����x�U�����x�*�������9T������%4���C����Jd����T������/���������������B����@����3�����5��, ����X@������X@������ \������v����� ��+��W|�W|���r��d� [� [�ל�H�T0����T0������+P�����#[ ���} �0p���@�����<����ϐ���ܤ���Z����Ԭ���U��Nt�������Nt���������(d������������w��w�������6���C��������M���P����M���w������ Ƌ�����������1�٠��Ͱx�)�A���L��)�E���L��2O����&`�:�̋�g��:�Y�|��6��|��6��_>��S�A�A��UU@��#S���*T��X����������X�*S��#S���#S������*S���R�����R�����լ��X��ܬ���ܬ����լ�������R���N���Q���Q�������խ���ܬ���ܬ��W���լ�����R�����R�*T�����#S���UUS���9X����������*����r�U�����r�U�����8� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����9�U�����r�U�����q�*�������9Y����9W����8�������r����r����r����r�������9���9X���������#S�*P��X����������X�*S������#S�������#S������*S���T�����T�����լ��X��ܬ���ܬ����լ�������T���N���T���Q�������խ�������ܬ�������ܬ��X���լ�����R�����R�*P�����#S��UUS���9T����������*����t�U�����t�U�����8� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����9�U�����r�U�����q�*�������9Y����9W����8�������t����r����t����r�������9���9X�����8��Ul����������J�e�������8���8h���?U������?U������%� �L���������*�����T����9X��������8����r����t����r����t����9�������9X����9X�*�����U�����t�U�����t� ����8�ƨ������ N�����X� FL���\��>�����>�����ʌ���C�V�������@ϊ��z��d���Ck�h��L��f���?.��f���?.��"�������\ҋ�\��e�\v���¥������������������������d� ��},�!)�},�!��I7����qT�G��e�V��<��F��ɜ��Ф�������� 4������U�������U�����p�+����;(����t��zs������06��%����\���V������������`����������G�������G������������R�������������������O��<(��������0���q�}R����L�t�����t���8��@����� ����������ܬ����խ�������Q���L���Q����������լ���ܫ���*�����ܬ ��W���լ�����R�����Q�*S�����#S�������#S�*T��X����������X�*T��#S���U@��#S����*T���P�����T�����լ��X��ܬ���������@���@���Dd��� �`��~\��ƨ����8� ����p�U������U������*���7������������������H���H���H���+������������������9X��������8����r����t����r����x����8�������9T����� ��������������*?��*������ƨ�� ����8�U�����t�U�����t�*�������9X��*������9X����8�������t����q����t����r�������9���9X���UU@���9Y������*����r�U�����r�U�����9� ��ƨ��U@������ƨ�*� �U��U��U��U�� �*�ƨ���,���������V�����S|����� x���Ձ��p���d�� (�)��S�S�S�S�)�� ,���b���p����P� �������R����`�z�����d��������f����>�/���W�L��(�������]0��&e�ُ���������������}L������<:�����Z����<����z����|����z����|����<����X����<<�����{k����t���������w��Q}p�������^d���H���������뗤������뗤���*����1���슌��������\���{������h�������<:�)����Z�S�����z�S�����z� �����<��ŋ�4��� ���*�0���V�-���z��#�H����`����_�$��p��� ��b�*����������|���r�����j������ X������ T���բ�������� ����O���x�������������{���������<:�)����Z�S�����z�S�����z� �����<��ŋ� �� C��o������*��I�$�K.����"��>\�"�>^�=���l���8~�v�����j>���[���r���W��`����S`����`��������V���A����:����A����:����lV���V�����������N����9�������@���Vz���I���Vz���G���+<���m���������<:�)����Z�S�����z�S�����z� �����=��Ƌ� n��~��њ��$��4�M� ���� Hc���������p���������p����')����NQ���NR������M��� ��_�����6|���`W� ��Ӥ��̀�G}��d�����cN��YU��������T�v� @�)��S0�S��S0�S��)�� k���P���O����h� l�����S������S�����)����<��v����T���<<�����Z����=����z����y����~����z����@����Z����<;����<;�)����Z�S�����y�S�����z� �����=��Ƌ��|��ah�����x�p����Ƙ�L��������� },���]� �D���ċ� ��)�S��S��S��S��)� ����Ƌ� �����8����`l����ߤ��}�ܦ$���٧���,���t������0�q���m���:؋����,������������������|�������������,����:؋����&�V`����������������������������B���������������H�`��B��H�%>��B��J�D���a�R�����ô�R�����ì�BS����P��2�����p������ g����qL� �d���� ��*(�TP�TN�TP�TP�*(� ��������V���14� ����bh�|���L��2������*�p���[��#g\���[��#g���_h������c(���쑎���왎���8<��졒���px���-�� T���¼���i����W�������W�������+���k���$�����;x�*����T ������T������ F�����Ă��%\��$��$B���*���������ƨ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����8�U�����t�U�����t�*�������9X�����T�����ܬ�������լ���R���P���R���P���լ������ܬ�������T����9X������*����r�U�����r�U�����9� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ�������Ƭ�� �*�U��U��U��U��*� ��ƨ�UU@���U@��4������ ������U@����t�U<����t�*����� ����9��������9����`������������p����8����p����H�������9\��������ܪ������T��r�r�����*���#UT��x��4�+� ��U��U@�U��U<� �*���4���4�� ���d�U������U�������+����H�t���9������9X�*�����U�����t�U�����t� ����8�ƨ����U@����������������������9��������I����t��������t������������c���9ȋ���9ȋ�����*�����t�U;����t�U;����� ��������2�������#S���X�*S���������*P��W�#S����4������ ������U@����r�U<����m�*����� ����9Ӌ���9����d���� ��������m���������r����H�������9���������9X��������9����t����r����t����q����8�������9X������*�����9������J�+�����U������U�����b� ��2���2�*�� �U:�U��U<�U�� ��+��2�v��#UV��*���������r������U���ܪ����������9��������I����r��������n������������c���9���9���� �*�����r�U;����n�U;����� ��������2���Ƨ����8� ����r�U�����r�U������*���9X���UU@�*����F����� ����0�U���t�U�����t�*�������9X����9X����8�������r����t����r����t�������8���9X�����9X��������8����r����t����r��������9�������8�����9X����9�������r����t����r����t�������8���9X����9X������*����r�U�����r�U�����9� ��ƨ���#S��X�*T���������*S��X�#S����U���������9d����0�������t����t����x����t�������8���9T����9X������*����t�U�����t�U�����8� ��ƨ���ƨ����8� ����t�U�����t�U������*���9X�����9X������*����t�U�����t�U�����8� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ���#S����*T���������X�����X��X���լ���ܬ����*�����9d������*����t�U�����t�U�����8� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ���ƨ�� �*�U��U��U��U��*� ��ƨ�������ƨ�*� �U��U��U��U�� �*�Ƥ��ƨ�� ����9�U�����r�U�����r�*�������9X����ܬ�������լ���P���R���T���P���լ������ܬ���*������� �ƞ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����9�U�����r�U�����r�*�������9X�����9X�*�����U�����r�U�����r� ����9�ƨ���ƨ�� ����9�U�����q�U�����r�*�������9X����9X����8�������r����r����r����r�������9���9X�������ܬ��������խ��W���Q�����Q�������*S��#S������D��š��I�V� ���p��.� �P�Ǵ���Ǵ���c�"������y����P�R����,����B<��"���d�?�����@� �4����p�d ���������3\�4�������ɴ����?4����Id�������S����l(����L�������������Y4������������������H���Z����~H�"L����F� �8����n�d ���������3[�4�������ɱ����?7����Ic�������S����l(�������������(���\������������ =���Z���[��^�����i�����������H������������!���W<�B$����B'�������������������ƒ,������z�����,�\���H� ? �� ?��\���o�%��=���>��2�r���&�Pm<����PĜ��<*������F������?�����?�8T��������4�Y����,����F�=���6����(����J�H����"��P�����P�����L�49X��eU@��U4|���� �*�������������������9�u����H�+������U�������U�����`� ��2���2�*�� �U@�U��U<�U�� ��+��4�w����4������ ������U<����r�U@����m�*����� ����9Ӌ���9����`���� ���������m���������r����H�������7������������UU@��������9��������J����t��������t�������� ����b���9̋���9̋���� �*�����t�U;����l�U;����� ��������2������UU@�����������T����9X��������8����r����t����r����l����8�������9X����9X�*�����U�����t�U�����t� ����8�ƨ���������,�|� ��+�U@�U��U@�U��*�� ��4�������4����`� ����U������U�����H�+���9|�t�����������ƨ����8� ����t�U�����t�U������*���9X����9X��������8����r����t����r����t����8�������9X���������������9�r����J�+�����U������U�����c� ��2���2�*�� �U;�U��U<�U�� ��+��2�v��������� ������U�����n�U:����r�*����� ����9���9����b���� ��������r��������r����J�������9��������������������9��������J����r��������r�������� ����c���9���9���� �*�����r�U;����s�U<����� ��������2�UU?��U@��*�����������ƨ����9� ����r�U�����r�U������*���9X����9X��������8����r����t����r����t����9�������9X�����T����U@�u���9�+����H�U������U������ ���b��2���2�� �*��U��U:�U��U<�+� ��w��2�UU���*������������ƨ����8� ����t�U�����t�U������*���9X����9X��������8����r����r����r����r����8�������9X�����9Y�*�����U�����r�U�����r� ����8�ƨ��ƨ�� �*�U��U��U��U��*� ��ƨ�UU@�����������4����� ������U@����t�U<���� �*����9̋���9̋���� ����d����t��������l�������������H��������9���x���9�+����H�U������U������� ���`��4���8�� �*��U��U:�U��U<�+� ��t��2�ٺ^�=�h����� BL���\(���1(�����������g����%|����E�������F������p#����`�����ڋ����J�������������?}��@���~I����^����}��������̾����9��������9W�*�����U�����r�U�����r� ����9�ƨ�����������3T�?���� ��������=�3T����b������`1���ƨ�� �*�U��U��U��U��*� ��ƨ��e�����`����|�\{���~H�%���?|���>����]V�JH� ,v������ .x���o4� 5���l�=`����p�=`���ex�ٰ����|�v���\(�'���������������������H����4��t����4��t����x�S<����Ƌ����Ƌ����z��������2���Y�����4���Y���������c��������m�����x�> �UU@����*����UU@��U@�@�*�������ƨ�� �*�U��U��U��U��*� ��ƨ��U@��ƨ����8� ����p�U�����t�U������*���9X���UU@���9W��������8����r����t����r����t����9�������9X��*������9X�*�����U�����t�U�����t� ����8�ƨ��*��������9X�*�����U�����r�U�����r� ����9�ƨ����ƨ�� �*�U��U��U��U��*� ��ƨ�������U@�UU@�������UUl��������ƨ�� �*�U��U��U��U��*� ��ƨ��ƨ����8� ����t�U�����t�U������*���9X���UU@���9X��������6����r����n����r����r����8�������9X����9X�*�����U�����r�U�����r� ����8�ƨ���U@�<T����*$�aծ������������� �����9X��������8����r����r����r����r����8�������9X����� �����������������UU?�T������ �����ǐ��ǒ�� �*�T%�����������Db��� �^��~X��ƨ����8� ����t�U�����t�U������*���9T�����������������������*P���*R���V��ƨ����8� ����t�U�����t�U������*���9X����9X��������8����r����t����r����t����8�������9X�*������$ �UUS% �*���ëD�a���*T�Dd���� �`�����~\��ƨ�� �*�U��U��U��U��*� ��Ƭ��~T����� �^����Df��UU@����������T�����*���8,����8v������������V%��UU@��UU>���P�����z����&�����b����9X�*�����U�����r�U�����r� ����8�ƨ��F�� :�W��cl�� �aծ�aծ���������9X�*�����U�����r�U�����r� ����9�ƨ��ƨ�� �*�U��U��U��U��*� ��ƨ���U@���Ul$ �UUS% ��T������aը�a�����Dh��� �`��~X��ƨ����8� ����p�U�����p�U������*���9Z����������������������UU@��UU@��������V�����������8t����8t�*�������V%������UU?�Db���� �^�����~X��ƪ�� �*�U��U��U��U��*� ��ƨ��~Y����� �]����Dc���*P�aկ��V��ƨ�� �*�U��U��U��U��*� ��ƨ��ƨ����8� ����t�U�����t�U������*���9X���UU@�����$ �UUS% �C�D�UU@���*X���*���������������������9X�*�����U�����r�U�����r� ����9�ƨ��~T�� �\�� �Dh�����������T�T��*� ��ǐ��ǐ����� �T�%��UU@��������(������$�W�����$����9X��������8����r����t����r����t����8�������9X�����h�W�����(�� ������aծ���*P��������9X��������8����r����r����r����r����8�������9X����9X�*�����U�����r�U�����r� ����8�ƨ�������UUl$ �UUS% �*���*�������������ƨ����8� ����t�U�����t�U������*���9X����9X��������:����t����r����t����r����8�������9X��UU>����9Y�*�����U�����r�U�����r� ����8�ƨ��ƨ�� �*�U��U��U��U��*� ��ƨ��������������ƨ����8� ����t�U�����t�U������*���9X����9X��������8����r����t����r����t����8�������9X��UU@����9Y�*�����U�����r�U�����r� ����8�ƨ���l�� �*�U�U��U��U��*� ��ƨ���������ƨ����8� ����r�U�����r�U������*���9X����9X��������8����r����r����r����r����9�������9X������9Y�*�����U�����r�U�����r� ����8�ƨ��ƨ�� �*�U��U��U��U��*� ��ƨ�*���*�������������ƨ����8� ����t�U�����t�U������*���9X����9X��������:����r����r����r����r����8�������9X��UU>����9Y�*�����U�����r�U�����r� ����8�ƨ���l�� �*�U�U��U��U��*� ��ƨ��������������ƨ����8� ����t�U�����x�U������*���9T����9X��������8����t����t����t����t����8�������9X��UU@����9Y�*�����U�����r�U�����r� ����8�ƨ��ƨ�� �*�U��U��U��U��*� ��ƨ���������ƨ����8� ����r�U�����r�U������*���9X����9X��������9����r����q����r����r����9�������9X��UU@����9Y�*�����U�����r�U�����r� ����8�ƨ��ƨ�� �*�U��U��U��U��*� ��ƨ���U@��UT������#S���*T���������P�����T��X���լ���ܬ��>����室�7���:����m�����*������� ��r�q����q����8� xu�� p��� ���4�����I*���^���"��������������E���Y��������8������q����"�qh���!� ���?���ڋ����� ��o�q����q����8� xu�� p���P�U��8����!����!�8�U���T���*���ƨ�� �*�U��U��U��U��*� ��ƨ���ƨ����8� ����t�U�����t�U������*���9X��������L����܋�������p��L���T�L���T��������]����r����+Z�kL���,,�Ӹ���-�< ���-�< ����D����ݳ�������9X��������8����r����l����r��������9�������8����������9X�*�����U�����r�U�����r� ����:�ƨ��*����P��8����o�� ���T�� ���T�U�����ȋ���r�����8������q����"�qh���!� ���?���ڋ���������Ul�������h����j�����f�����D���b|��������b���������>������\����$��~4��#S��X�*T���������*T��X�#S�����@�a�������*j��*<��*=���������������������9X�*�����U�����r�U�����r� ����:�ƨ��~T�� �\�� �Dh�������T�T��*� ��ǐ��ǐ����� �T�%��������D������$�W���������9X��������8����t����l����t���������8�������8�����d�W�����(���������)���*<��������Dd�� � �`��~\��ƨ����8� ����r�U�����v�U������*���9T�����������������������������������Z�����������8p����8p�*�������Z%�����Db���� �^�����~X��ƨ�� �*�U��U��U��U��*� ��ƨ��~Y����� �]����Dc�����>��P����!8�q�6�������`����`������q���d�P��)����A1�����7����#�������G�������G\�����������2��������f���� ����`������E0���h����l����������� u������ u������F���G � ����G� ����#��p,���^������*����������������>��6m���W�&l����&l����3@,���>{�@����>�@v���=�G�N���W��Oq&��Oq��G�P��a�@|� P�@|� P�3@,����&l�2G�&l�2G�6l�y���"� �UU@��"������p��q�6(���q�6$��̫������ W����� W����b|������:�����:����bz���T8������l������t��̫���9$���q�������q�������������TX����iB�h��Ahr����7����#�������G�������G\�����������3��������`���� ����a������E0���h����p����������� u������ u������F���G � ����G� ����#��p,���\�����PR��E��q����"��;8���PЋ�q���/�P=\�)�^������Aht���wX����(��8���ڎ� ~p���ڎ� ~p�����L����"�� ����"�� ����[�f���d���d��f��N� ���7� ��*H�L��6%X� ~l�6%N� ~l�8� ��8�;���;���8� ���@�6%t���~��6%t�����*\���t��H������H����\�������N�����N����\�����"�����\���"�����\�������t���ڠ��������ڤ��������(��@���w��*����U@�����ƨ����8� ����t�U�����t�U������*���9X����9X��������8����r����t����r����t����8�������9X�K�����������?|���~����~����~����~����?}��������������������%����~��%����~��-?|���?|�4����*���*�����9���������I������������r��������r����b���� ����9���9�*����� �U;����q�U;����r� �������2�������U@�����9W�*�����U�����r�U�����r� ����9�ƨ��ƨ�� �*�U��U��U��U��*� ��ƨ���4����-?|����%�\�%��%��%�����-?}��4��4���?|�-?~���~��%����~��%������������K��U@������4�x� ��+�U@�U��U<�U��*�� ��4���4����d� ����U�������U�����H�+���9�t��UU@���o���J�"��������d���*��d���*� j�����������������P�������*����*���*����**����\������������5K������*��K�������\����X����ܺ� j��*����*������#D��p���p�� j�#D���������#F� j�p�����ˋ�*���UU@�UUT��ƨ����8� ����t�U�����t�U������*���9X����9X��������8����r����r����r����r����8�������9X�������������9���������J�������������n����r����r����b���� ����T���9��������9�*����� �U<����r�U<����r� �������2������UUT���������9W�*�����U�����r�U�����r� ����9�ƨ��ƨ�� �*�U��U��U��U��*� ��ƨ�UUS�UUT��4�v� ��+�U@�U��U<�U��*�� ��2���2����d� ����U�������U�����H�+���9�v��l(�UU�f ��� �*��g �F�|�� �(�@|�͔�UT��j0��)7\���jD�#1h����|�+t����|�+t���Θ������ȴ������������� �����з(���'�����e����-������e��"�����U�h���� �*�4����,��������Ȣ����Θ���jH���ԍ���Ԍ���Ԉ����|���jD���Θ����ȴ�����͜��ꪬ� �9��뿄���I����9X��������8����r����t����r����t����9�������9X��*������9X�*�����U�����r�U�����r� ����8�ƨ��*�������9X�*�����U�����r�U�����r� ����9�ƨ������ƨ�� �*�U��U��U��U��*� ��ƨ��*���ƨ�� �*�U��U��U��U��*� ��ƨ��U@��ƨ����8� ����t�U�����t�U������*���9X��������UU@��������������������������U@����������UU@���������������������������UU@�����E�V��.������������@��ym����|�UT���UV������UV�����������UT������UT�UU���������������UT�UV��-g܋�&3t��������ǟ�� e���Ԑ���ym������ ���zl��<�����8`|�&3t�0<�-gЋ�UT�������������UT������UT�UT|�����������|���UT���UT���UT���UT|����������(�����f ��� �*��g ��U���*������4�v� ��+�U@�U��U<�U��*�� ��2���2����d� ����U�������U�����H�+���9�v�����9���������J�������������n����r����r����b���� ����T���9��������9�*����� �U<����r�U<����r� �������2��������U��������Z������,���������ƨ�� �*�U��U��U��U��*� ��ƨ��ƨ����8� ����t�U�����t�U������*���9X���"����0��������s$�������K���ۘ���b�/ J�����(=Z���&��!Zl���'��!ZL��Ӈ@��(������������Ӈ@���R���'l��ޥ����'l��ޥ��������¤���b"���ߊ���o��$j������4��������"���9X��������8����r����r����r����r����9�������9X����9X�*�����U�����r�U�����r� ����8�ƨ������g���hr�4�i�#� �������;������(��ަ�(�r��ަ�,x���Sc�0���0<�����,y�����(��![m�(��![m�:�(>�� ��/!���.����i8A �����V�O�@^���Y�<�0�*�9q�$��9q�$��/�/�$��9q�$��9q�*$�<�\��d�@^�#״��6������]� ^�]� ^���"�D��$�����/����T�(8h��ީ�!V<��ީ�!V<���ǘ�� ����`����̼��������<����L���ݜ���B����ޥ�����ޥ����^����X������������ �F(������P����l��P����j����*��"�����������T��������[��������������������������[ ��������=���Ц�o���{4�i���%������%������В�8���{d��T�ڵ���ƨ����8� ����r�U�����r�U������*���9X����9X��������8����r����t����r����t����9�������9X��%J~��ܭH����v����L���J���Q��߶����W��߶������ݝ/�������ۃ�"���I�������B�!Z���:�!Z���9�(,���_�.����$���"������ Z��?g� Z��?g��L�v���#���ZHr�ӫp���r�������U����T�����T������p�8���T���P�U��8������ �� �8�U���P���P��8����p�� ���T�����T�U�����ȋ���r������r�����p�������S<���T��T��T�������p���r������������r�����������U����T��"���T��!����p�8���P���P�U��8��!��!��!��!�8�U���P���Q��8����p�� ���T�� ���T�U�����ȋ���r�����r�����p�������T��T��T��T��������p���r����U?�ڵ�������%J���������9W�*�����U�����r�U�����r� ����9�ƨ��Ƨ�� �*�U��U��U��U��*� ��ƨ�ڵ��#_� V�4���� � Ip� � Ip����"g�$�p�����/����T�(8h��ީ�!V<��ީ�!V<���ǘ�� ����`�����������������������A8��e��ޥ���e��ޥt���_3��������|���ۚ��v��ݪ�����ߺ�� ��ߺ�m���C��#6���̞����J����ܠ$����r���ˀ���N�����߶�����߶����{p��ݘ����y������n�� ���ǘ�!V0��ީ�!V0��ީ�(8h���T�/���+0��.���#�(����!A��!Zx�!A��!Z����(,��.����$e���"UU���� E,���� E-�����H����4� 3b�`B��#S����*T���P�����T�����լ��X��ܬ�����9X��������8����t����t������t����8�����������9X����9X�*�����U�����t�U�����t� ����8�ƨ���ƨ�� ����8�U�����t�U�����t�*�������9X�*�������h ���i �ZHt�V�O�����j��8���(O������e5� ^����� ^����"�D���Q�$��/���(8h���!V@�!V=�!V<�!V/�� �(8h��/�������3C����L�/���B�("c��ޥ��!D��ޥ��!D����X��������� ċ�����������t���s�����p���s����*����b��������Px������.������!�����;9�����;N���[�C8<����>�KU*�"� e`��<�ʚ��� /��� /�S��""���$<�����/����T�(8h��ީ�!V<��ީ�!V<���ǘ�� ����`�����������������������A8��e��ޥ���e��ޥt���_2��������|���ۚ��v��ݪ��� ��ߺ����ߺ�m���C��#6���̞��%J�����9W�*�����U�����r�U�����r� ����9�ƨ��ƨ�� �*�U��U��U��U��*� ��ƨ����}.���>�-e���|��;Nl����;Nz����7����1k�4O���c�������ӫ^h ���i �����*������D�����,���Ԉ��ũ��ũ��ũ��ũ"���Ԋ����D�����h���U@����9X�*�����U�����r�U�����r� ����:�ƨ�������ƨ�� �*�U��U��U��U��*� ��ƨ�*���x��"�+� ��U��UL�U��U:� �*���4���4�� ���b�U������U������+����J�t���9����U@����9X�*�����U�����r�U�����r� ����:�ƨ������ƨ�� �*�U��U��U��U��*� ��ƨ�*����Rn����Ԍ�Fb���ũ�:V�ũ$�:V���D�+x����h���U@���U@����������������#S������*T���P�����P�����լ��X��ܬ���ܬ����լ�������P���R���P���R�������լ���ܬ�����������:�T���2F��)��)��)��)��2F����:�T��:�T��2F����*�)����T$�)����T$���n��������UT�������9X��������8����q����r����r����r����9�������9X����������9X�*�����U�����r�U�����r� ����9�ƨ������ƨ�� �*�U��U��U��U��*� ��ƨ����ƨ����8� ����r�U�����r�U������*���9X����������UUS��UU@������*���*���#S���*S��X����������X�*P��#S�#S����*T���R�����R�����խ��X��ܬ���ܬ����խ�������Q���P���Q���P�������լ���ܬ�������ܬ��X���լ�����P�����P�*S�����#S���UU@���9�h����G�*������U������U�����b� ��4���4�*�� �U;�U��U;�U�� ��+��2�t���ƣ�� ����8�U�����t�U�����t�*�������9X����9X����9�������r����t����r����t�������8���9X���mP�����m/�%4����8������J�=����[����[�����ep���̋��i� ����������߆������c���!���c���!�����E����A����i���m:����F���������B���]L���`����j������������ܬ ��X���խ�����P�����Q�*S�����#S�������#S�*T��W����������X�*S��#S������Z������]L��������1���)x�ȴ��4�$��tZ��Q��=���H�X���4�sh��$�sh�� �^D�Q|�I"����/��I����$�^D������sl���_�sl���_�X����l�=����y����T���X����*������9Y����8�������t����r����t����r�������9���9X���UU@���9X����������*����r�U�����r�U�����9� ��ƨ��U?���UU���"�x� ��+�UL�U��U:�U��*�� ��2���2����b� ����U������U�����J�+���9�v����T���9X��������9����r����q����r����r����9�������9X����9X�*�����U�����r�U�����r� ����9�ƨ����l���x� ��+�U��U��U:�U��*�� ��2���2����b� ����U������U�����J�+���9�w����T���9X��������9����r����q����r����r����8�������9X����9X�*�����U�����r�U�����r� ����9�ƨ����*��j �*����P��8�U��� �� ���� �U��8���P���P����p�8���T�����T�� �����U����r�����r����������p���T��T��T��T���p����ȋ���r�����r��U������� ���T�����T�8����p��T������������P��8�U��� ������!�U��8���P���T����p�9���T�����T��!�����U����r�����r����������p���T��T���T��T���p����Nj���r�����r��U������� ���T�� ���T�8����p��P����*��j �*����L������8�U��� �� �� �� �U��8���P���P����p�8���T�� ���T�� �����U����r�����r����������p���T��T��T��T���p����ʋ���r�����r��U������� ���T��$���T�4����p��L��������P��8�U��� �� �� �� �U��8���P���P����p�8���T�� ���T�� �����U����r�����r����������p���T���T��T���T���o��������r�����r��U�������!���T��!���T�8����p��P�������=�� �9+���Ġ�4lX���6�4ld���.�)q���֎l�v��˓��v��˓��;d����͋���8�|���9�+����I�U������U������ ���b��4���4�� �*��U��U;�U��U;�+� ��t��2��ME~����Ge�����A������A�"���4�3����y�&���y�&����2����������9���������I������������n��������r����b���� ����9�����9�*����� �U;����r�U;����r� �������2������*���V�D��R�@����O>���5��O,���5��D��Ҋ<�9!�����9!�����-u������!�t�����!�t������8��������2��x���9�+����J�U������U������ ���b��4���4�� �*��U��U;�U��U;�+� ��t��2��bat����T�]���ٴ��Y�J��ٴ��Y�V���z��M%����A@�@����A4�@������t�3����s��&K\���s��&KT��� "�%�����������T���9^��������8����m����t����r����t����9�������9X����9X�*�����U�����t�U�����l� ����8�ƨ��*�*��UU@���P������8�U��� �� �� ��!�U��8���P���P����p�8���T��!���T��!�����U����r�����r����������p���T���T���T���T���o��������r�����r��U�������!���T��!���T�8����o��P�����R� ������ա�������T���zn���'���6��T���6����R�p���kh�����&��p�$��[�0�������ٌ���W� �8���� �L���LL���ٌ� ��f�9�*^4�Tz�����8������+���ƨ����8� ������U�����L�U������*���7�����������h�������(���-���l���r���àB��Õ����X�sl�{�(��R��6������������ �<��������X�%����f�G���a~5���������� �����W�����U����9X��������8����r����t����r����t����9�������9X�����T�W�������������x}�����L��������L���V���Tl��������U@��������|�=����-��{z5�����&�����}�(�����y�+\���� �y����G��N�����q����j�������\v������:������P���;�I�!�8��&�����+���+���#��}���5o�Ƈ,��9x��Dh���� �`�����~X��ƨ�� �*�U��U��U��U��*� ��ƨ��~X���� �]����Dd������U@��� ��+�����!$������,���B����[k����h���%�����h���%����<���Ѥ���y���}����"��:���f�!�����߮�&g=�����[W����\f������]�P�*���}X�*�����(���������D���5&���;,����������R�����l�����d��������������9X�*�����U�����r�U�����r� ����8�Ƥ���H��Eh��j�������G��h����1�� �H����� ���;�!QF��*� �����)|���K��������T�����������yd�U����Y���d���������-������������������������-�%��y,J��ͧ@���W���&��v8����P��������-��������0���JX���,�����x����8��+����H�V�����V����� �������Z��#.���N��<��p��t���������A���S<���wt�`����H��\���������������K���O����ww���H���A���U�����#�X�������Z�����\x��������������ܬ ��W���լ�����R�����Q�*S�����#S���UU@�#S�*T��X����������X�*T��#S��UU@������ �����������&@��L����<����������UUT��U@��j����UU,�������U@����9X����8�������t����r����t����r�������9���9X���������9Y����������*����r�U�����r�U�����9� ��ƨ�*����U��������ܬ�������լ���P���R���T���R���լ������ܬ���ܬ����լ��X���R�����R�������*T��#S�����ƨ����8� ����r�U�����r�U������*���9X����9X��������8����r����r����r����r����8�������9X����T����������n�)����T2�)����T0�2F����*�:�H��:�V��2F����)��)��)��)����2F���:�H�`�ź����� �������U�����l�U:���� �*����9ԋ���9ȋ��������b����t��������p������������J��������9����B���@�����*j��*>��*=���P��������{����'�����f����9X�*�����U�����r�U�����r� ����8�ƨ����� :�W��c�� �����T�T��*� ��ǐ��nj����� �T�%����������������������9S��������8����r����t����r����x����9�������9T����� ������������s����*l�UU@�������,�v� ��+�U@�U��U@�U��*�� ��2�������.����`� ����U�����x�U�����H�+���8�w��������9���������H������������r��������r����b���� ����9���9�*����� �U:����r�U<����r� �������2�������I������9\��ƨ�� �*�U��U��U��U��*� ��ƨ��U?�T����8� ���� �TF�������T����*���8���������ƨ����8� ����t�U�����t�U������*���9X�����9X��������8����r����t����q����t����9�������9X���U@��������9W�*�����U�����r�U�����r� ����9�ƨ���9����j ����+���5���7����C����ȧ������Θ�+x���Ԉ�+����Ԉ�#1h���jD�)7L��)7Y�����#1h����+x�+��+x�+�����#1h��)7L��c����5�O���j �;�������j����'���5���7����G����ȧ������Θ�+t���Ԉ�+t���Ԉ�#1h���jD�)7\��)7\��#1h����+t�+x�+x�+�����#1h��)7L��c����5�O���j�;����D����U����U@��U@�*���UU@��*���nV��f�<���ċ��f�<��*�����U���*�����V������@,������W������W�����*���������@,�)��W��X��W��W�*�@,���������*������X������X�����@,�������V����V�����������������������������������V��*������V������@,������W������W�����*���������@,�)��X��X��X��W�(�@,���������(������X������X�����@,�������V����V�����������������������������������V���0�(d�� ��C���������i\��� ���������ԋ���������:z�*`����t�T�����r�T�����r� $���Ԫ�ʼn������O�t����N���ڟ����M���x<������~�� ������ ������ l����x��Ȉ�m,�Ȉ�m.� �'8� � �C��l���(�� �����[d�T����� ����N��L���@�� ��+�V�V�V�U��+� ����E���T����|� �����U���շ��*=p���Q<�����YX�T�����Q<����ա�*^4������ �����W�����T����9X��������8����r����t����r����t����9�������9X�����T�W�������������K���O� ����i�"����̋�M���U��G���b���Ĝ����.���N�2X�����,����� �������&��ŷ�����J���ܼ����&���ل�����T����9X�*�����U�����t�U�����t� ����8�Ƭ�� �4�� ���Ť�K��H�K��H��� �� ���,\�ʪ���L� ����M��h����@� x���� x����l��T���7D������7D������4����H����(�������Q��i����k@���`���������؋����L����2���6��+�����X4������Wf������ V����L��D�� Yҋ� �!���� C���\������X���������"���d�����������2��������������8F�+$����VT������VT������ �����Ǹ�� Ph�� �4�^��� 8��g��|(������j�N\� � Q4��ƨ����8� ����t�U�����t�U������*���9X���������(����;���������H�������������r���������n����`��������9����9�*����� �U<����p�U<����p� �������4��������xr���������(����d�������,������H������L���P�����0����#T������7��c��L��6D����(�i�ӹ��8��φ���|����6����l���4��������ݜ����<�������t���*���z4���u���6$���؇�������e���@���(���*H������NP������NP�������������������r���������<�mz�������� ���o��������o�����o������R�� ���L�� �������"��� y�y���c��+����)�����J���h�jj���z� ������=�U���2��]����m�)]����j�,Mf����J�/=���k�������h��������ڋ�@��@�L�1�@Ѭ�b�\��F�=�(���)T�g���N�����,����4����4���&�O,��� �8�L*}����L̋��Mn�����H�$$�8���������*��L<���<x�K���x�K���J|���F8����� ��yX���Y�<�������=����������&��������^�6������������A��� ����������o�������K���������O���������M����$���ls��� ����S����t�����w�������5���a��������X���{����o���ǔ���i���� ����.�������̋���܋���%`�,z���*�X����o��@D��ȷ����9�k����J�{K����i ������ V������ V���y�� S���`�������F<���/�G҄�w�Ih�����[�.������b�����G[�U��F����F8���?)� �$� yC� z�� yF� x$�7�����m�����o�I��7*���V��Ll�'�h�$�+� � l�/8������0�4����\�ͦ��?j���?fP����?a���h�V�d�����7�����d�3�����*����� �����$� D������ @������{����.T�������X��u������������U@�����H�b��Q&�9��@4�9��@4��l��ܤ��ܤ����4�j����d�@0����d�?Z�����Q&�����b��� ��������w�������f��H���{���9X��������8����r����t����r����t����8�������9X����� �����f���:��+z�����U�����o�U�����k� j���յ��F���0�����F���������������������������DZ���=l��ˋ� K=tK(����m H �0 ���dS2�(���TV 4! !�"�#e$<$M'�+>,-�.�/�/�1T2233�4�5�6�8':;�= ??�@�A�B�C8DD�E�F�HI@JJ�K���&��$�=��$���܋���J���������H������%���8����\�������8��������������������������9�������[���6�����R�����8�*�����T���������TB����� ����:����Z�aG������ �*�TD�T�������T�TC�*� ������aG�����\����8� �����TD���������� �T����*���6��������Ƨ�*� �Vz�U��U��U�� �*�ƪ��ƪ�� ����9�U�����r�U�����r�*�������9X����9X����8�������t����r����t����r�������9���9X����9X������*����r�U�����r�U�����8� ��ƨ�����ƨ�*� �Vz�U��U��U�� �*�ƪ��ƪ�� ����8�U�����t�U�����t�*�������9X��UU@����9X����8�������t����r����t����r�������8���9X����9X������*����r�U�����r�U�����8� ��ƨ�?��<̠�c�9�L�ǔ�9�4�Ǐ�1��!VF�)�)�)�)��!VD�1�.�ǔ�9�E�ǔ�9�F�c�<̊��?�������?���8�<̊���8p�9�6���8p�9�4��ީ��1�����)�����)����!VD�����ǔ�����ǔ���3t�c���X0����X@����3t���8�������8l�������8p�����ީ����������� �����ީ������8l�������8l������6���3t����X����X8�c���3v�ǔ������r�����!VE����)���� �)�����1�-��ީ��9�B���8l�9�B���8l�<̊���6�?����������~�� ����"��� �"E���� �"E����`A�.����ݺc�:��ݺc�:�����1�@=q��E����%��Z�����Z��%������Z���ڀ�@�@�%������!����~�����0�����ݺ\���!��ݺ���%���`@���`A������ݺ^���$��ݺ_�������/���~�������Ʃ�*� �Vz�U��U��U�� �*�ƪ��ƪ�� ����9�U�����r�U�����r�*�������9X����9X����8�������t����r����t����r�������9���9X����9X������*����r�U�����r�U�����8� ��ƨ��<�� ����8�V����t�U�����t�*�������9X����9X����8�������t����t����t����t�������8���9X������9W������*����r�U�����n�U�����6� ��Ƥ��ƨ�*� �U��U��U��U�� �*�ƨ���,������ ������U@����n�U@����n�*����� ����9ҋ���9����`���� ���������n����8����r����H�������9\����������9�r����J�+�����U������U�����b� ��2���2�*�� �U:�U��U<�U�� ��+��2�v�c��� :�W�����ƨ�� ����8�U�����l�U�������*�������8�����h����|����(���P������������������������������9W������*����r�U�����r�U�����9� ��ƨ��~Y�� � �]���Dc����Dd����� �`��~X��ƨ�*� �U��U��U��U�� �*�ƨ��~T�� �^�����Df���������������������������9X����8�������t����r����t����r�������:���9X��������� ������������ƨ�*� �Vz�U��U��U�� �*�ƪ��ƪ�� ����8�U�����t�U�����t�*�������9X��UU@����9X����8�������t����r����t����r�������9���9X����9X������*����r�U�����r�U�����8� ��ƨ�UUT��UU@������UUT��*������������UUS�����9X��������8����q����r����r����r����9�������9X�������������9X�*�����U�����s�U�����q� ����9�ƨ������ƨ�� �*�U��U��U��U��*� ��ƨ�UU@��ƨ����8� ����r�U�����r�U������*���9X����������9��������L����t��������t��������� ����`���9̋���9̋���� �*�����t�U:����t�U<����� ��������2�UUT�|���+� ��U��U��S��U:� �*������8�� ���b�U������U������+����J�x���9����R�b����� 9������ �*;� �Tw�Tt�Tv�Tt� �*<������ 9}�����a����R ��/\��UФ����������������-����:�������6������������������������8�������:���(�����������������h�����x�u�����������j�������%�������U?|���m����A����H������#�顄���#�顄���t����D�������#��i� ����������������Ư����Ɨ��������?���;���� �z���� �{�����c����nN���9\�Uv��UJ������j����~5�&���&�������%�UU@������h� �a��@�n� ��^{� ��^{�������������������@�#<�����b�����b���B��4���e�� �����v��� ���M0��H���8n��(�#������[d�UU@��UU@�FrR��� T�Dz���|�B������B������-0���̴������z��:��F������<Bx����1�L�����1�L������$��ö����mf�����>��� �������@���1��L���1���h������հ����x/����t����A���s��ߠ���9T����;������*�����U�����t�U�����8� ��ƨ���s�sP�����*��d����\���!v�4�Z{���q�����n�����^� �D��F���.������/ ����Z��(/���!V>���!V<����D������|�,���=p����x�����h� `����@,����@,���ӌ��H����`��l��� �=�l����|�4ʔ��ǃ4�+����ǃB�+������f�����%������v�����D���Ԍ��ũ��ũ��ũ��ũ$���Ԋ����D�����h����[>� �b���dD�����mL�����m>�qQ���֞�����?�� y���y�����������'����9X����9�������r����r����r����r�������9���9X����q ����iS�����a��Ŭ���4i��=���4�-3������:������:������6Ć��2� ��E���"�@=p�"E��:��"E��:��.���.���:��"E��:��"E��@=q�"�E���*��(����̸�'����p���������Ʀ�*� �U��U��U��U�� �*�ƨ���P�� ����8�V���r�U�����r�*�������9X�����T�����T��������9S����8�������x����r����x����r�������8���9T����9X������*����t�U�����t�U�����8� ��ƨ���9X��������8����r����t����r����t����8�������9X������9X�*�����U�����r�U�����r� ����9�ƨ�����ƨ�� �*�U��U��U��U��*� ��ƨ����ƨ����8� ����t�U�����t�U������*���9X��/�������(8h���!V<�!V=�!VP�!V>�� �(8h�����/����/����T�(8h��ީ,�!V>��ީ�!V<���ǘ�� ����\�����n����ǘ���T�ީ��ީ��ީ��ީ���T��ǘ�����n�����n�����ǘ�!V>��ީ�!V0��ީ�(8h���T�/�����r�����������U����T�� ���T�� ����p�8���P���P�U��8�� �� �� �� �8�U���P���P��8����r�� ���T�����T�U�����ȋ���r�����r�����p�������T��T��T��T�������p���r����*������9X������*����t�U�����t�U�����8� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ����ƨ�� ����8�U�����t�U�����t�*�������9X������9X����8�������t����r����t����r�������8���9X����9X������*����t�U�����l�U�����8� ��ƨ��*������9\�*�����U�����p�U������ ����8�ƨ�������U@��*������9X����8�������t����r����t����r�������9���9X������9W����������*����r�U�����r�U�����9� ��ƨ������ƨ�*� �U��U��U��U�� �*�ƨ��nV�������������������ܬ����խ�������Q���P���Q���T�������լ���ܬ��UU@���ܬ��W���խ�����Q�����R�*S�����#S�����#S�*T��X����������X�*S��#S�������`����8� �����TD���������T����*���6��� ���������+��,�F���Ӷ������p����$��������P���%��铠�lT����%t��ٰ�ޜ��ٰ�ޜ�����L���I��qN�����]�������m����h����m����h�������\����qT����J��L����ޚ��ٰ�ޚ��ٰ�%v����lR��铮�y,J���Ӷ�T������ �����ǐ��ǐ�� �*�T�%�y,H�y,J�np�kx�'p�]���t�&O���p�&O��t�#j�|�����'|��L�P�����A[������6,(�����6,(����D����t�����D\���������٫���$��٫���$���|����(���8���4����=p���ܻ�{�������� ������ ��u���#D��U�#D|��t�{��p�������{�t��#D�����U��#D����t��� ���`��� �������{��ܻ����=p��ܻ��������� ���� ���� ���� ������∋��ܻ���9X������*����r�U�����r�U�����8� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ��UU@�ƨ�� ����8�U�����r�U�����r�*�������9X����9X����8�������t����r����t����r�������8���9X���ܪ������V��r�r�����*���#UV��#UV���*������*����#UV��#UT��*�����r�r������V���ܪ����ܪ��������Vrrrr����T�����ܪ�������$� ���F��D~�F��D�� ���"@�����������U��������$� ������J�����J���~�/���h����]R��Ԧ�����N����|�����������������������������n���D�����=p���[������(����g�P%����g�P%���ճ� ��6��������������������9X������*����r�U�����r�U�����9� ��ƨ��~X�� � �^���Dc�*���*���Db��� �^���~X��ƨ�� ����6�U�����n�U�����r�*�������9X���������������������9R������*����r�U�����r�U�����9� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ����ƨ�� ����8�U�����t�U�������*�������9����9X����8�������t����t����t����t�������8���9X���������%s� <�K�J�J�J� =�%p�����U����� <���ڐ�J����J����%p����ċ���Hl���=p����DE���ۘ���������4����-��������-��������ۖ���B�����=p���DC�������$j����-�H����-�H���ۗ� G�������9X������*����r�U�����r�U�����9� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ��UU@�ƨ�� ����8�U�����r�U�����r�*�������9X����9X����8�������t����r����t����r�������8���9X��#UT��*����������*���#UV��#UV����*�r�r�����T����ܪ����ܪ������V���rrrr�������V���ܪ����ܪ�������V�r�r�*�����#UV����9V����������*����r�U�����r�U�����8� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƪ��ƪ�� ����8�U�����r�U�����r�*�������9X����9X����8�������t����r����t����r�������8���9X��UUT������������������ڋ�����$��������'\�������������������������������������'X�����L������^���������ˉ����Çl� �����$�Z����$�Z��ǜT��_��ӳ��������"���Ӏ�$���?�/�0���>��/�B���8�,j����r�)/������,�����O�8����R�D�|���R�D�z����<ؔ���_��4ͬ����7�������$��|���\�.�� �]"�bL�]"�_|� ?�4��[� ����� �z�D� ������T�3����d�3��������*���<���P��ג����<� �����t��������w����(����.�������F���d��ɺ���О�����������x����d����+*����q��������*���o�^����(a����T��5e^��ʲ$�5e0��ʲ �2���״��0T����f����=+�����C^� �d�I�� �d�I��1���Ҝ�Җ�6p�6[�R@�'u� ������܋�5��� ���������)�*����OI�+Q���8I�,����!J� p���vJ�����$\�����$\������0����N����ʼ����^����l���]������]��������r��������������1P��g���b������b���������L���u��H��ِ<�v���֜� :���� _D���n�u�����(�����q�����j���������`���U �������U ��������@�������������8���'$����@����8h�����ٔ��&V��ٔ��&V���7��#� ���ڎ�!�������t���~��9�@����@������4Z�����'�t���#�0�����$������&!����J��L���i�����n�����j��$���n� Ӑ���v�����N����x���z����[q���������6����H���t��������t����Ԙ���s���$���q���s�������T���-���x0���ng������nf�������3���̋���?�����%D�,a���'8�X���)4�/�Ň��o��������������������1h� O��ά�o���wQ�(����4˵���P�4����P�11���3I�-�����1���@�>|�����K����K����C����ez�:����(������x����܋� Ӡ��kt�Lo�L���P��� ����� 6L� RP��P� �� ����$x�}�$x�}�<�[���������ƨ�*� �Vz�U��U��U�� �*�ƪ��ƪ�� ����8�U�����t�U�����t�*�������9X���������9Y����8�������t����r����t����r�������9���9X����9X������*����r�U�����r�U�����8� ��ƨ���P��c����|� :ԋ����ƨ�*� �U��U��U��U�� �*�ƨ����� :����|�c���P��<|�����(��������Y����p(�Y����px����pb���D���pL���X���ph���Id���������l����������P�����(����{����d����9X������*����t�U�����t�U�����8� ��ƨ����W�� :���c�� =�~��* ���5����5� ��0u�+���+�����0u�� �5��� �5����* ���$� D��sb���H��s���s���������������������9X������*����r�U�����r�U�����8� ��ƨ��~T�� � �\���Dh���������T��T� �*�ǐ��ǒ�� �����T�%������UU@�������������������9X����8�������t����t����t����t�������8���9X���������������������ƨ�*� �Vz�U��U��U�� �*�ƪ��ƪ�� ����9�U�����r�U�����r�*�������9X����9X����8�������t����r����t����r�������9���9X����9X������*����r�U�����r�U�����8� ��ƨ������UU@��UU@����h���9�������I����t��������t�������� ����c���9̋���9̋�����*�����p�U;����p�U;����� ��������2��/����T�(8h��ީ�!V=��ީ�!V=���ǘ������^�����n����ǘ���T�ީ��ީ��ީ��ީ���T��ǘ�����`��������9��������J����r��������r�������� ����b���9���9���� �*�����r�U:����r�U<����� ��������2��F����<UU��2���<UV��F����F����<UTr�Y�Y���ê�����UV���P��b�����|� :؋���ƨ�*� �U��U��U��U�� �*�ƨ����� :����|�c���P��<�2���i��������W�����$�����b����9X����8�������r����r����r����r�������8���9X�����e�����%�W����������9Y����������*����r�U�����r�U�����8� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ��UUS�ƨ������ ����9�U�����r�U�����r�*�������9X����9X����9�������r����r����r����r�������9���9X����9X����������*����t�U�����t�U�����8� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ��UUT�ƨ������ ����9�U�����r�U�����r�*�������9X����9X����8�������t����r����t����r�������9���9X���������������������9X������*����t�U�����t�U�����8� ��ƨ��~X��� �^���Db�<�0�<�2�c�� � :�W�����ƨ�� ����8�U�����r�U�����r�*�������9X�����f����|����&���P���������4������ ������U<����r�U@����r�*����� ����9���9����`���� ���������r���������r����H�������7�������UU@���9�v����I�+�����U������U�����b� ��0���2�*�� �U;�U��U;�U�� ��+��2�v�����6�������F����<@@�1� �1���1��1���<:��F���V$��F����<:t����1�P����1�P�����(��ï����gB�����`����s����þ4������ M������� L����x������s4��������$��������š�x�����2����2 ����<P�F���������������B�6�����m]��˓q�mX��˓u�)e���4\��p�4\��p�9���8�=���V$��=���9��9��4\X�s��4\P�t�)b�)o��i|�4k�i��4j��4��9���=�<��=�P����0�9V���d�4lZ���t�4lL��֙�)s���ˡp�{���ˡ`�{������=���K������$���>������S������ˣ������ˣ�����֝��x��ᖂ��˔���ᖃ��˔�����A����d����/�����,�+� ��U��U@�U��U@� �*���4���0������ ���`�U������U������+����H�p���9|��������ܬ �������լ���P���R���T���Q���լ������ܬ���UU@��ܬ����խ��X���B�����Q�������*T��#S���UU@�����ƨ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����8�U�����t�U�����t�*�������9X�����T����������9X�*�����U�����q�U�����r� ����9�ƨ������ƨ�� �*�U��U��U��U��*� ��ƨ���������T����9X����8�������r����t����r����t�������8���9X����9X������*����r�U�����r�U�����8� ��ƨ�����UUT��#S��X�*T���������*T��X�#S�������#S����*T���������X�����X��X���լ���ܬ�������������9��������H����t���������������������d���8p����9ȋ�����*�����t�U@����t�U<����� ��������4�UUT��ƨ����8� ����t�U�����t�U������*���9X���UU@���9X��������8����r����t����r�������8�������7���sd���@��s���s���������������������9X������*����r�U�����r�U�����8� ��ƨ��~Y�� � �]���Dc���������T��T� �*�ǐ��ǔ�� �����T�%������UU@�������������������9X����8�������t����r��������r�������9���8��������� ������������������������������9��������I����t��������������������b���8p����;������*����� �U;����p�U;����� ��������2�UUS��#S������*S���L����������լ��W��ܫȋ���U@��ܬ����խ�������Q���Q���R���Q�������խ���ܬ�������������9��������J����r��������r�������� ����c���9���9���� �*�����r�U<����r�U;����� ��������2�UUS��:�V���2F��)��)��)��)��2F����:�H��*���:�V��2F����*�)����T#�)����T$���n������:�P��2F����)��)��)��)�����2F���:�t��:�T���*�2F����T0�)����T$�)���n�������������n���*���T0���T0���T5���T(���*��l�������������l�)����T0�)����T0�2F����*�:�H���ܬ����լ��X���R�����Q�������*T��#S���#S��W�*T���������*T��X�#S���#S���*T���������P�������X���լ���ܫl���ܬ�������լ���R���R���R���R���լ������ܬ���4������ ������U<����n�U@����r�*����� ����9���9����`���� ���������r���������n����H�������7����������9�r����H�+������U�������U�����`� ��2���2�*�� �U@�U��U@�U�� ��+��,�t��6ff��^�`��dDZ����9X��������8����r����t����r����t����9�������9X������9X�*�����U�����r�U�����r� ����9�ƨ�������ə���^�R��6��������H� ���N�� *�*�V�T:�U��T=�+�� ������UU@����������F� �����r�T<����r�T<�����*���;8��������p����H���4����$�s3���\(��$�s33���5��@���p� ����6��������� ������ ��ʒ�@����Db���� �^��~X��ƪ�*� �U��U��U��U�� �*�ƨ��~X�� �^�����Db���������������������������9W����8�������t����r����t����r�������9���9X��������� ��������c��� :�W�����ƨ�� ����8�U�����t�U�����t�*�������9X�����f����|����(���P������������������������������9X������*����r�U�����r�U�����8� ��ƨ��~X�� � �^���Db������%����J�,��ũ�:V�ũ�:V����Fb"��RmZ��RmZ�+ �Fb �:V�:V�:V�:V�Fa��,�Rmf�8�l�Rn~��Fb����Ԉ�:V���ũ�:V���ũ�+t����D������v������v���Ԉ����D��ũ$��ũ��ũ$��ũ����D���Ԋ����h����9�r����H�+�����U������U�����b� ��2���2�*�� �U:�U��U<�U�� ��+��2�t����4������ ������U@����n�U@����n�*����� ��������9��������9����`���� ��������n���������n����H�������8���������Vr�mh�����=������y|���2��p������p���b@�ڸ����������^���*�����ܬ����խ�������Q���P���Q���T�������լ���ܬ��������ܬ ��X���լ�����R�����P�*S�����#S�������#S�*T��X����������X�*S��#S���U@������#S����*T���X�����X�����լ��X��ܬ��H�N������ ����|�6���������J������J������%H�L��������ƨ�� ����8�U�����t�U�����t�*�������9X��*������9Y����8�������t����r����t����q�������9���9X���UU@���9W������*����r�U�����r�U�����9� ��ƨ�UU@��Ƥ�*� �U��U��U��U�� �*�ƨ����r�������U����T�����T�� ����p�9���P���P�U��8����!�� ��!�8�U���P���P��8����r�� ���T�����T�U�����ȋ���r�����r�����p�������T��T��T��T��������p���r�����r�������U����T�� ���T�� ����p�8���P���L�U��8��!�� ��!�� �8�U���P���Q��8����p�� ���T�� ���T�U�����ȋ���r�����r�����p�������T��T��T��T�������p���r����P��8�U��� �� ���� �U��8���P���P����p�8���T�� ���T�� �����U����r�����r����������p���T��T��T��T���p����ȋ���r�����r��U������� ���T�� ���T�8����p��P��=���a��a��,***U*UUU��**������***�)*U�****�UU����*�*****����**U�U*UU*�**�**�*UU*U****U*'UUUU**UUUUUU*�U�U*�**U�U***�/*******�U*�**T*U***UU*�U����U�*�U******UUUU*�*�U*�*UUUU�U���***UU*****��**U�***UUU**�*UPK�x�\�٬>:>:css/iconkit.cssnu�[���/*! * @package IconKit * @version 1.0 */ @font-face { font-family: "iconkit"; src: url('../fonts/iconkit.eot'); src: url('../fonts/iconkit.eot#iefix') format('embedded-opentype'), url('../fonts/iconkit.woff') format('woff'), url('../fonts/iconkit.ttf') format('truetype'), url('../fonts/iconkit.svg#iconkit') format('svg'); } .ik { font-family: 'iconkit' !important; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .ik-alert-octagon:before { content: "\e81b"; } .ik-alert-circle:before { content: "\e81c"; } .ik-activity:before { content: "\e81d"; } .ik-alert-triangle:before { content: "\e81e"; } .ik-align-center:before { content: "\e81f"; } .ik-airplay:before { content: "\e820"; } .ik-align-justify:before { content: "\e821"; } .ik-align-left:before { content: "\e822"; } .ik-align-right:before { content: "\e823"; } .ik-arrow-down-left:before { content: "\e824"; } .ik-arrow-down-right:before { content: "\e825"; } .ik-anchor:before { content: "\e826"; } .ik-aperture:before { content: "\e827"; } .ik-arrow-left:before { content: "\e828"; } .ik-arrow-right:before { content: "\e829"; } .ik-arrow-down:before { content: "\e82a"; } .ik-arrow-up-left:before { content: "\e82b"; } .ik-arrow-up-right:before { content: "\e82c"; } .ik-arrow-up:before { content: "\e82d"; } .ik-award:before { content: "\e82e"; } .ik-bar-chart:before { content: "\e82f"; } .ik-at-sign:before { content: "\e830"; } .ik-bar-chart-2:before { content: "\e831"; } .ik-battery-charging:before { content: "\e832"; } .ik-bell-off:before { content: "\e833"; } .ik-battery:before { content: "\e834"; } .ik-bluetooth:before { content: "\e835"; } .ik-bell:before { content: "\e836"; } .ik-book:before { content: "\e837"; } .ik-briefcase:before { content: "\e838"; } .ik-camera-off:before { content: "\e839"; } .ik-calendar:before { content: "\e83a"; } .ik-bookmark:before { content: "\e83b"; } .ik-box:before { content: "\e83c"; } .ik-camera:before { content: "\e83d"; } .ik-check-circle:before { content: "\e83e"; } .ik-check:before { content: "\e83f"; } .ik-check-square:before { content: "\e840"; } .ik-cast:before { content: "\e841"; } .ik-chevron-down:before { content: "\e842"; } .ik-chevron-left:before { content: "\e843"; } .ik-chevron-right:before { content: "\e844"; } .ik-chevron-up:before { content: "\e845"; } .ik-chevrons-down:before { content: "\e846"; } .ik-chevrons-right:before { content: "\e847"; } .ik-chevrons-up:before { content: "\e848"; } .ik-chevrons-left:before { content: "\e849"; } .ik-circle:before { content: "\e84a"; } .ik-clipboard:before { content: "\e84b"; } .ik-chrome:before { content: "\e84c"; } .ik-clock:before { content: "\e84d"; } .ik-cloud-lightning:before { content: "\e84e"; } .ik-cloud-drizzle:before { content: "\e84f"; } .ik-cloud-rain:before { content: "\e850"; } .ik-cloud-off:before { content: "\e851"; } .ik-codepen:before { content: "\e852"; } .ik-cloud-snow:before { content: "\e853"; } .ik-compass:before { content: "\e854"; } .ik-copy:before { content: "\e855"; } .ik-corner-down-right:before { content: "\e856"; } .ik-corner-down-left:before { content: "\e857"; } .ik-corner-left-down:before { content: "\e858"; } .ik-corner-left-up:before { content: "\e859"; } .ik-corner-up-left:before { content: "\e85a"; } .ik-corner-up-right:before { content: "\e85b"; } .ik-corner-right-down:before { content: "\e85c"; } .ik-corner-right-up:before { content: "\e85d"; } .ik-cpu:before { content: "\e85e"; } .ik-credit-card:before { content: "\e85f"; } .ik-crosshair:before { content: "\e860"; } .ik-disc:before { content: "\e861"; } .ik-delete:before { content: "\e862"; } .ik-download-cloud:before { content: "\e863"; } .ik-download:before { content: "\e864"; } .ik-droplet:before { content: "\e865"; } .ik-edit-2:before { content: "\e866"; } .ik-edit:before { content: "\e867"; } .ik-edit-1:before { content: "\e868"; } .ik-external-link:before { content: "\e869"; } .ik-eye:before { content: "\e86a"; } .ik-feather:before { content: "\e86b"; } .ik-facebook:before { content: "\e86c"; } .ik-file-minus:before { content: "\e86d"; } .ik-eye-off:before { content: "\e86e"; } .ik-fast-forward:before { content: "\e86f"; } .ik-file-text:before { content: "\e870"; } .ik-film:before { content: "\e871"; } .ik-file:before { content: "\e872"; } .ik-file-plus:before { content: "\e873"; } .ik-folder:before { content: "\e874"; } .ik-filter:before { content: "\e875"; } .ik-flag:before { content: "\e876"; } .ik-globe:before { content: "\e877"; } .ik-grid:before { content: "\e878"; } .ik-heart:before { content: "\e879"; } .ik-home:before { content: "\e87a"; } .ik-github:before { content: "\e87b"; } .ik-image:before { content: "\e87c"; } .ik-inbox:before { content: "\e87d"; } .ik-layers:before { content: "\e87e"; } .ik-info:before { content: "\e87f"; } .ik-instagram:before { content: "\e880"; } .ik-layout:before { content: "\e881"; } .ik-link-2:before { content: "\e882"; } .ik-life-buoy:before { content: "\e883"; } .ik-link:before { content: "\e884"; } .ik-log-in:before { content: "\e885"; } .ik-list:before { content: "\e886"; } .ik-lock:before { content: "\e887"; } .ik-log-out:before { content: "\e888"; } .ik-loader:before { content: "\e889"; } .ik-mail:before { content: "\e88a"; } .ik-maximize-2:before { content: "\e88b"; } .ik-map:before { content: "\e88c"; } .ik-map-pin:before { content: "\e88e"; } .ik-menu:before { content: "\e88f"; } .ik-message-circle:before { content: "\e890"; } .ik-message-square:before { content: "\e891"; } .ik-minimize-2:before { content: "\e892"; } .ik-mic-off:before { content: "\e893"; } .ik-minus-circle:before { content: "\e894"; } .ik-mic:before { content: "\e895"; } .ik-minus-square:before { content: "\e896"; } .ik-minus:before { content: "\e897"; } .ik-moon:before { content: "\e898"; } .ik-monitor:before { content: "\e899"; } .ik-more-vertical:before { content: "\e89a"; } .ik-more-horizontal:before { content: "\e89b"; } .ik-move:before { content: "\e89c"; } .ik-music:before { content: "\e89d"; } .ik-navigation-2:before { content: "\e89e"; } .ik-navigation:before { content: "\e89f"; } .ik-octagon:before { content: "\e8a0"; } .ik-package:before { content: "\e8a1"; } .ik-pause-circle:before { content: "\e8a2"; } .ik-pause:before { content: "\e8a3"; } .ik-percent:before { content: "\e8a4"; } .ik-phone-call:before { content: "\e8a5"; } .ik-phone-forwarded:before { content: "\e8a6"; } .ik-phone-missed:before { content: "\e8a7"; } .ik-phone-off:before { content: "\e8a8"; } .ik-phone-incoming:before { content: "\e8a9"; } .ik-phone:before { content: "\e8aa"; } .ik-phone-outgoing:before { content: "\e8ab"; } .ik-pie-chart:before { content: "\e8ac"; } .ik-play-circle:before { content: "\e8ad"; } .ik-play:before { content: "\e8ae"; } .ik-plus-square:before { content: "\e8af"; } .ik-plus-circle:before { content: "\e8b0"; } .ik-plus:before { content: "\e8b1"; } .ik-pocket:before { content: "\e8b2"; } .ik-printer:before { content: "\e8b3"; } .ik-power:before { content: "\e8b4"; } .ik-radio:before { content: "\e8b5"; } .ik-repeat:before { content: "\e8b6"; } .ik-refresh-ccw:before { content: "\e8b7"; } .ik-rewind:before { content: "\e8b8"; } .ik-rotate-ccw:before { content: "\e8b9"; } .ik-refresh-cw:before { content: "\e8ba"; } .ik-rotate-cw:before { content: "\e8bb"; } .ik-save:before { content: "\e8bc"; } .ik-search:before { content: "\e8bd"; } .ik-server:before { content: "\e8be"; } .ik-scissors:before { content: "\e8bf"; } .ik-share-2:before { content: "\e8c0"; } .ik-share:before { content: "\e8c1"; } .ik-shield:before { content: "\e8c2"; } .ik-settings:before { content: "\e8c3"; } .ik-skip-back:before { content: "\e8c4"; } .ik-shuffle:before { content: "\e8c5"; } .ik-sidebar:before { content: "\e8c6"; } .ik-skip-forward:before { content: "\e8c7"; } .ik-slack:before { content: "\e8c8"; } .ik-slash:before { content: "\e8c9"; } .ik-smartphone:before { content: "\e8ca"; } .ik-square:before { content: "\e8cb"; } .ik-speaker:before { content: "\e8cc"; } .ik-star:before { content: "\e8cd"; } .ik-stop-circle:before { content: "\e8ce"; } .ik-sun:before { content: "\e8cf"; } .ik-sunrise:before { content: "\e8d0"; } .ik-tablet:before { content: "\e8d1"; } .ik-tag:before { content: "\e8d2"; } .ik-sunset:before { content: "\e8d3"; } .ik-target:before { content: "\e8d4"; } .ik-thermometer:before { content: "\e8d5"; } .ik-thumbs-up:before { content: "\e8d6"; } .ik-thumbs-down:before { content: "\e8d7"; } .ik-toggle-left:before { content: "\e8d8"; } .ik-toggle-right:before { content: "\e8d9"; } .ik-trash-2:before { content: "\e8da"; } .ik-trash:before { content: "\e8db"; } .ik-trending-up:before { content: "\e8dc"; } .ik-trending-down:before { content: "\e8dd"; } .ik-triangle:before { content: "\e8de"; } .ik-type:before { content: "\e8df"; } .ik-twitter:before { content: "\e8e0"; } .ik-upload:before { content: "\e8e1"; } .ik-umbrella:before { content: "\e8e2"; } .ik-upload-cloud:before { content: "\e8e3"; } .ik-unlock:before { content: "\e8e4"; } .ik-user-check:before { content: "\e8e5"; } .ik-user-minus:before { content: "\e8e6"; } .ik-user-plus:before { content: "\e8e7"; } .ik-user-x:before { content: "\e8e8"; } .ik-user:before { content: "\e8e9"; } .ik-users:before { content: "\e8ea"; } .ik-video-off:before { content: "\e8eb"; } .ik-video:before { content: "\e8ec"; } .ik-voicemail:before { content: "\e8ed"; } .ik-volume-x:before { content: "\e8ee"; } .ik-volume-2:before { content: "\e8ef"; } .ik-volume-1:before { content: "\e8f0"; } .ik-volume:before { content: "\e8f1"; } .ik-watch:before { content: "\e8f2"; } .ik-wifi:before { content: "\e8f3"; } .ik-x-square:before { content: "\e8f4"; } .ik-wind:before { content: "\e8f5"; } .ik-x:before { content: "\e8f6"; } .ik-x-circle:before { content: "\e8f7"; } .ik-zap:before { content: "\e8f8"; } .ik-zoom-in:before { content: "\e8f9"; } .ik-zoom-out:before { content: "\e8fa"; } .ik-command:before { content: "\e8fb"; } .ik-cloud:before { content: "\e8fc"; } .ik-hash:before { content: "\e8fd"; } .ik-headphones:before { content: "\e8fe"; } .ik-underline:before { content: "\e8ff"; } .ik-italic:before { content: "\e900"; } .ik-bold:before { content: "\e901"; } .ik-crop:before { content: "\e902"; } .ik-help-circle:before { content: "\e903"; } .ik-paperclip:before { content: "\e904"; } .ik-shopping-cart:before { content: "\e905"; } .ik-tv:before { content: "\e906"; } .ik-wifi-off:before { content: "\e907"; } .ik-minimize:before { content: "\e88d"; } .ik-maximize:before { content: "\e908"; } .ik-gitlab:before { content: "\e909"; } .ik-sliders:before { content: "\e90a"; } .ik-star-on:before { content: "\e90b"; } .ik-heart-on:before { content: "\e90c"; } .ik-archive:before { content: "\e90d"; } .ik-arrow-down-circle:before { content: "\e90e"; } .ik-arrow-up-circle:before { content: "\e90f"; } .ik-arrow-left-circle:before { content: "\e910"; } .ik-arrow-right-circle:before { content: "\e911"; } .ik-bar-chart-line-:before { content: "\e912"; } .ik-bar-chart-line:before { content: "\e913"; } .ik-book-open:before { content: "\e914"; } .ik-code:before { content: "\e915"; } .ik-database:before { content: "\e916"; } .ik-dollar-sign:before { content: "\e917"; } .ik-folder-plus:before { content: "\e918"; } .ik-gift:before { content: "\e919"; } .ik-folder-minus:before { content: "\e91a"; } .ik-git-commit:before { content: "\e91b"; } .ik-git-branch:before { content: "\e91c"; } .ik-git-pull-request:before { content: "\e91d"; } .ik-git-merge:before { content: "\e91e"; } .ik-linkedin:before { content: "\e91f"; } .ik-hard-drive:before { content: "\e920"; } .ik-more-vertical-:before { content: "\e921"; } .ik-more-horizontal-:before { content: "\e922"; } .ik-rss:before { content: "\e923"; } .ik-send:before { content: "\e924"; } .ik-shield-off:before { content: "\e925"; } .ik-shopping-bag:before { content: "\e926"; } .ik-terminal:before { content: "\e927"; } .ik-truck:before { content: "\e928"; } .ik-zap-off:before { content: "\e929"; } .ik-youtube:before { content: "\e92a"; } .ik-1x { font-size: 1em; } .ik-2x { font-size: 2em; } .ik-3x { font-size: 3em; } .ik-4x { font-size: 4em; } .ik-5x { font-size: 5em; } :root .ik-flip-horizontal, :root .ik-flip-vertical, :root .ik-rotate-180, :root .ik-rotate-270, :root .ik-rotate-90 { -webkit-filter: none; filter: none; display: inline-block; } .ik-rotate-90 { -webkit-transform: rotate(90deg); transform: rotate(90deg); } .ik-rotate-180 { -webkit-transform: rotate(180deg); transform: rotate(180deg); } .ik-rotate-270 { -webkit-transform: rotate(270deg); transform: rotate(270deg); } .ik-flip-horizontal { -webkit-transform: scale(-1, 1); transform: scale(-1, 1); } .ik-flip-vertical { -webkit-transform: scale(1, -1); transform: scale(1, -1); }PK�x�\�}d"+"+css/iconkit.min.cssnu�[���/*! * @package IconKit * @version 1.0 */@font-face{font-family:iconkit;src:url(../fonts/iconkit.eot);src:url(../fonts/iconkit.eot#iefix) format('embedded-opentype'),url(../fonts/iconkit.woff) format('woff'),url(../fonts/iconkit.ttf) format('truetype'),url(../fonts/iconkit.svg#iconkit) format('svg')}.ik{font-family:iconkit!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ik-alert-octagon:before{content:"\e81b"}.ik-alert-circle:before{content:"\e81c"}.ik-activity:before{content:"\e81d"}.ik-alert-triangle:before{content:"\e81e"}.ik-align-center:before{content:"\e81f"}.ik-airplay:before{content:"\e820"}.ik-align-justify:before{content:"\e821"}.ik-align-left:before{content:"\e822"}.ik-align-right:before{content:"\e823"}.ik-arrow-down-left:before{content:"\e824"}.ik-arrow-down-right:before{content:"\e825"}.ik-anchor:before{content:"\e826"}.ik-aperture:before{content:"\e827"}.ik-arrow-left:before{content:"\e828"}.ik-arrow-right:before{content:"\e829"}.ik-arrow-down:before{content:"\e82a"}.ik-arrow-up-left:before{content:"\e82b"}.ik-arrow-up-right:before{content:"\e82c"}.ik-arrow-up:before{content:"\e82d"}.ik-award:before{content:"\e82e"}.ik-bar-chart:before{content:"\e82f"}.ik-at-sign:before{content:"\e830"}.ik-bar-chart-2:before{content:"\e831"}.ik-battery-charging:before{content:"\e832"}.ik-bell-off:before{content:"\e833"}.ik-battery:before{content:"\e834"}.ik-bluetooth:before{content:"\e835"}.ik-bell:before{content:"\e836"}.ik-book:before{content:"\e837"}.ik-briefcase:before{content:"\e838"}.ik-camera-off:before{content:"\e839"}.ik-calendar:before{content:"\e83a"}.ik-bookmark:before{content:"\e83b"}.ik-box:before{content:"\e83c"}.ik-camera:before{content:"\e83d"}.ik-check-circle:before{content:"\e83e"}.ik-check:before{content:"\e83f"}.ik-check-square:before{content:"\e840"}.ik-cast:before{content:"\e841"}.ik-chevron-down:before{content:"\e842"}.ik-chevron-left:before{content:"\e843"}.ik-chevron-right:before{content:"\e844"}.ik-chevron-up:before{content:"\e845"}.ik-chevrons-down:before{content:"\e846"}.ik-chevrons-right:before{content:"\e847"}.ik-chevrons-up:before{content:"\e848"}.ik-chevrons-left:before{content:"\e849"}.ik-circle:before{content:"\e84a"}.ik-clipboard:before{content:"\e84b"}.ik-chrome:before{content:"\e84c"}.ik-clock:before{content:"\e84d"}.ik-cloud-lightning:before{content:"\e84e"}.ik-cloud-drizzle:before{content:"\e84f"}.ik-cloud-rain:before{content:"\e850"}.ik-cloud-off:before{content:"\e851"}.ik-codepen:before{content:"\e852"}.ik-cloud-snow:before{content:"\e853"}.ik-compass:before{content:"\e854"}.ik-copy:before{content:"\e855"}.ik-corner-down-right:before{content:"\e856"}.ik-corner-down-left:before{content:"\e857"}.ik-corner-left-down:before{content:"\e858"}.ik-corner-left-up:before{content:"\e859"}.ik-corner-up-left:before{content:"\e85a"}.ik-corner-up-right:before{content:"\e85b"}.ik-corner-right-down:before{content:"\e85c"}.ik-corner-right-up:before{content:"\e85d"}.ik-cpu:before{content:"\e85e"}.ik-credit-card:before{content:"\e85f"}.ik-crosshair:before{content:"\e860"}.ik-disc:before{content:"\e861"}.ik-delete:before{content:"\e862"}.ik-download-cloud:before{content:"\e863"}.ik-download:before{content:"\e864"}.ik-droplet:before{content:"\e865"}.ik-edit-2:before{content:"\e866"}.ik-edit:before{content:"\e867"}.ik-edit-1:before{content:"\e868"}.ik-external-link:before{content:"\e869"}.ik-eye:before{content:"\e86a"}.ik-feather:before{content:"\e86b"}.ik-facebook:before{content:"\e86c"}.ik-file-minus:before{content:"\e86d"}.ik-eye-off:before{content:"\e86e"}.ik-fast-forward:before{content:"\e86f"}.ik-file-text:before{content:"\e870"}.ik-film:before{content:"\e871"}.ik-file:before{content:"\e872"}.ik-file-plus:before{content:"\e873"}.ik-folder:before{content:"\e874"}.ik-filter:before{content:"\e875"}.ik-flag:before{content:"\e876"}.ik-globe:before{content:"\e877"}.ik-grid:before{content:"\e878"}.ik-heart:before{content:"\e879"}.ik-home:before{content:"\e87a"}.ik-github:before{content:"\e87b"}.ik-image:before{content:"\e87c"}.ik-inbox:before{content:"\e87d"}.ik-layers:before{content:"\e87e"}.ik-info:before{content:"\e87f"}.ik-instagram:before{content:"\e880"}.ik-layout:before{content:"\e881"}.ik-link-2:before{content:"\e882"}.ik-life-buoy:before{content:"\e883"}.ik-link:before{content:"\e884"}.ik-log-in:before{content:"\e885"}.ik-list:before{content:"\e886"}.ik-lock:before{content:"\e887"}.ik-log-out:before{content:"\e888"}.ik-loader:before{content:"\e889"}.ik-mail:before{content:"\e88a"}.ik-maximize-2:before{content:"\e88b"}.ik-map:before{content:"\e88c"}.ik-map-pin:before{content:"\e88e"}.ik-menu:before{content:"\e88f"}.ik-message-circle:before{content:"\e890"}.ik-message-square:before{content:"\e891"}.ik-minimize-2:before{content:"\e892"}.ik-mic-off:before{content:"\e893"}.ik-minus-circle:before{content:"\e894"}.ik-mic:before{content:"\e895"}.ik-minus-square:before{content:"\e896"}.ik-minus:before{content:"\e897"}.ik-moon:before{content:"\e898"}.ik-monitor:before{content:"\e899"}.ik-more-vertical:before{content:"\e89a"}.ik-more-horizontal:before{content:"\e89b"}.ik-move:before{content:"\e89c"}.ik-music:before{content:"\e89d"}.ik-navigation-2:before{content:"\e89e"}.ik-navigation:before{content:"\e89f"}.ik-octagon:before{content:"\e8a0"}.ik-package:before{content:"\e8a1"}.ik-pause-circle:before{content:"\e8a2"}.ik-pause:before{content:"\e8a3"}.ik-percent:before{content:"\e8a4"}.ik-phone-call:before{content:"\e8a5"}.ik-phone-forwarded:before{content:"\e8a6"}.ik-phone-missed:before{content:"\e8a7"}.ik-phone-off:before{content:"\e8a8"}.ik-phone-incoming:before{content:"\e8a9"}.ik-phone:before{content:"\e8aa"}.ik-phone-outgoing:before{content:"\e8ab"}.ik-pie-chart:before{content:"\e8ac"}.ik-play-circle:before{content:"\e8ad"}.ik-play:before{content:"\e8ae"}.ik-plus-square:before{content:"\e8af"}.ik-plus-circle:before{content:"\e8b0"}.ik-plus:before{content:"\e8b1"}.ik-pocket:before{content:"\e8b2"}.ik-printer:before{content:"\e8b3"}.ik-power:before{content:"\e8b4"}.ik-radio:before{content:"\e8b5"}.ik-repeat:before{content:"\e8b6"}.ik-refresh-ccw:before{content:"\e8b7"}.ik-rewind:before{content:"\e8b8"}.ik-rotate-ccw:before{content:"\e8b9"}.ik-refresh-cw:before{content:"\e8ba"}.ik-rotate-cw:before{content:"\e8bb"}.ik-save:before{content:"\e8bc"}.ik-search:before{content:"\e8bd"}.ik-server:before{content:"\e8be"}.ik-scissors:before{content:"\e8bf"}.ik-share-2:before{content:"\e8c0"}.ik-share:before{content:"\e8c1"}.ik-shield:before{content:"\e8c2"}.ik-settings:before{content:"\e8c3"}.ik-skip-back:before{content:"\e8c4"}.ik-shuffle:before{content:"\e8c5"}.ik-sidebar:before{content:"\e8c6"}.ik-skip-forward:before{content:"\e8c7"}.ik-slack:before{content:"\e8c8"}.ik-slash:before{content:"\e8c9"}.ik-smartphone:before{content:"\e8ca"}.ik-square:before{content:"\e8cb"}.ik-speaker:before{content:"\e8cc"}.ik-star:before{content:"\e8cd"}.ik-stop-circle:before{content:"\e8ce"}.ik-sun:before{content:"\e8cf"}.ik-sunrise:before{content:"\e8d0"}.ik-tablet:before{content:"\e8d1"}.ik-tag:before{content:"\e8d2"}.ik-sunset:before{content:"\e8d3"}.ik-target:before{content:"\e8d4"}.ik-thermometer:before{content:"\e8d5"}.ik-thumbs-up:before{content:"\e8d6"}.ik-thumbs-down:before{content:"\e8d7"}.ik-toggle-left:before{content:"\e8d8"}.ik-toggle-right:before{content:"\e8d9"}.ik-trash-2:before{content:"\e8da"}.ik-trash:before{content:"\e8db"}.ik-trending-up:before{content:"\e8dc"}.ik-trending-down:before{content:"\e8dd"}.ik-triangle:before{content:"\e8de"}.ik-type:before{content:"\e8df"}.ik-twitter:before{content:"\e8e0"}.ik-upload:before{content:"\e8e1"}.ik-umbrella:before{content:"\e8e2"}.ik-upload-cloud:before{content:"\e8e3"}.ik-unlock:before{content:"\e8e4"}.ik-user-check:before{content:"\e8e5"}.ik-user-minus:before{content:"\e8e6"}.ik-user-plus:before{content:"\e8e7"}.ik-user-x:before{content:"\e8e8"}.ik-user:before{content:"\e8e9"}.ik-users:before{content:"\e8ea"}.ik-video-off:before{content:"\e8eb"}.ik-video:before{content:"\e8ec"}.ik-voicemail:before{content:"\e8ed"}.ik-volume-x:before{content:"\e8ee"}.ik-volume-2:before{content:"\e8ef"}.ik-volume-1:before{content:"\e8f0"}.ik-volume:before{content:"\e8f1"}.ik-watch:before{content:"\e8f2"}.ik-wifi:before{content:"\e8f3"}.ik-x-square:before{content:"\e8f4"}.ik-wind:before{content:"\e8f5"}.ik-x:before{content:"\e8f6"}.ik-x-circle:before{content:"\e8f7"}.ik-zap:before{content:"\e8f8"}.ik-zoom-in:before{content:"\e8f9"}.ik-zoom-out:before{content:"\e8fa"}.ik-command:before{content:"\e8fb"}.ik-cloud:before{content:"\e8fc"}.ik-hash:before{content:"\e8fd"}.ik-headphones:before{content:"\e8fe"}.ik-underline:before{content:"\e8ff"}.ik-italic:before{content:"\e900"}.ik-bold:before{content:"\e901"}.ik-crop:before{content:"\e902"}.ik-help-circle:before{content:"\e903"}.ik-paperclip:before{content:"\e904"}.ik-shopping-cart:before{content:"\e905"}.ik-tv:before{content:"\e906"}.ik-wifi-off:before{content:"\e907"}.ik-minimize:before{content:"\e88d"}.ik-maximize:before{content:"\e908"}.ik-gitlab:before{content:"\e909"}.ik-sliders:before{content:"\e90a"}.ik-star-on:before{content:"\e90b"}.ik-heart-on:before{content:"\e90c"}.ik-archive:before{content:"\e90d"}.ik-arrow-down-circle:before{content:"\e90e"}.ik-arrow-up-circle:before{content:"\e90f"}.ik-arrow-left-circle:before{content:"\e910"}.ik-arrow-right-circle:before{content:"\e911"}.ik-bar-chart-line-:before{content:"\e912"}.ik-bar-chart-line:before{content:"\e913"}.ik-book-open:before{content:"\e914"}.ik-code:before{content:"\e915"}.ik-database:before{content:"\e916"}.ik-dollar-sign:before{content:"\e917"}.ik-folder-plus:before{content:"\e918"}.ik-gift:before{content:"\e919"}.ik-folder-minus:before{content:"\e91a"}.ik-git-commit:before{content:"\e91b"}.ik-git-branch:before{content:"\e91c"}.ik-git-pull-request:before{content:"\e91d"}.ik-git-merge:before{content:"\e91e"}.ik-linkedin:before{content:"\e91f"}.ik-hard-drive:before{content:"\e920"}.ik-more-vertical-:before{content:"\e921"}.ik-more-horizontal-:before{content:"\e922"}.ik-rss:before{content:"\e923"}.ik-send:before{content:"\e924"}.ik-shield-off:before{content:"\e925"}.ik-shopping-bag:before{content:"\e926"}.ik-terminal:before{content:"\e927"}.ik-truck:before{content:"\e928"}.ik-zap-off:before{content:"\e929"}.ik-youtube:before{content:"\e92a"}.ik-1x{font-size:1em}.ik-2x{font-size:2em}.ik-3x{font-size:3em}.ik-4x{font-size:4em}.ik-5x{font-size:5em}:root .ik-flip-horizontal,:root .ik-flip-vertical,:root .ik-rotate-180,:root .ik-rotate-270,:root .ik-rotate-90{-webkit-filter:none;filter:none;display:inline-block}.ik-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.ik-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.ik-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.ik-flip-horizontal{-webkit-transform:scale(-1,1);transform:scale(-1,1)}.ik-flip-vertical{-webkit-transform:scale(1,-1);transform:scale(1,-1)}PKmy�\;����0�0d3-quadtree.jsnu�[���// https://d3js.org/d3-quadtree/ v1.0.5 Copyright 2018 Mike Bostock (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : typeof define === 'function' && define.amd ? define(['exports'], factory) : (factory((global.d3 = global.d3 || {}))); }(this, (function (exports) { 'use strict'; function tree_add(d) { var x = +this._x.call(null, d), y = +this._y.call(null, d); return add(this.cover(x, y), x, y, d); } function add(tree, x, y, d) { if (isNaN(x) || isNaN(y)) return tree; // ignore invalid points var parent, node = tree._root, leaf = {data: d}, x0 = tree._x0, y0 = tree._y0, x1 = tree._x1, y1 = tree._y1, xm, ym, xp, yp, right, bottom, i, j; // If the tree is empty, initialize the root as a leaf. if (!node) return tree._root = leaf, tree; // Find the existing leaf for the new point, or add it. while (node.length) { if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm; if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym; if (parent = node, !(node = node[i = bottom << 1 | right])) return parent[i] = leaf, tree; } // Is the new point is exactly coincident with the existing point? xp = +tree._x.call(null, node.data); yp = +tree._y.call(null, node.data); if (x === xp && y === yp) return leaf.next = node, parent ? parent[i] = leaf : tree._root = leaf, tree; // Otherwise, split the leaf node until the old and new point are separated. do { parent = parent ? parent[i] = new Array(4) : tree._root = new Array(4); if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm; if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym; } while ((i = bottom << 1 | right) === (j = (yp >= ym) << 1 | (xp >= xm))); return parent[j] = node, parent[i] = leaf, tree; } function addAll(data) { var d, i, n = data.length, x, y, xz = new Array(n), yz = new Array(n), x0 = Infinity, y0 = Infinity, x1 = -Infinity, y1 = -Infinity; // Compute the points and their extent. for (i = 0; i < n; ++i) { if (isNaN(x = +this._x.call(null, d = data[i])) || isNaN(y = +this._y.call(null, d))) continue; xz[i] = x; yz[i] = y; if (x < x0) x0 = x; if (x > x1) x1 = x; if (y < y0) y0 = y; if (y > y1) y1 = y; } // If there were no (valid) points, inherit the existing extent. if (x1 < x0) x0 = this._x0, x1 = this._x1; if (y1 < y0) y0 = this._y0, y1 = this._y1; // Expand the tree to cover the new points. this.cover(x0, y0).cover(x1, y1); // Add the new points. for (i = 0; i < n; ++i) { add(this, xz[i], yz[i], data[i]); } return this; } function tree_cover(x, y) { if (isNaN(x = +x) || isNaN(y = +y)) return this; // ignore invalid points var x0 = this._x0, y0 = this._y0, x1 = this._x1, y1 = this._y1; // If the quadtree has no extent, initialize them. // Integer extent are necessary so that if we later double the extent, // the existing quadrant boundaries don’t change due to floating point error! if (isNaN(x0)) { x1 = (x0 = Math.floor(x)) + 1; y1 = (y0 = Math.floor(y)) + 1; } // Otherwise, double repeatedly to cover. else if (x0 > x || x > x1 || y0 > y || y > y1) { var z = x1 - x0, node = this._root, parent, i; switch (i = (y < (y0 + y1) / 2) << 1 | (x < (x0 + x1) / 2)) { case 0: { do parent = new Array(4), parent[i] = node, node = parent; while (z *= 2, x1 = x0 + z, y1 = y0 + z, x > x1 || y > y1); break; } case 1: { do parent = new Array(4), parent[i] = node, node = parent; while (z *= 2, x0 = x1 - z, y1 = y0 + z, x0 > x || y > y1); break; } case 2: { do parent = new Array(4), parent[i] = node, node = parent; while (z *= 2, x1 = x0 + z, y0 = y1 - z, x > x1 || y0 > y); break; } case 3: { do parent = new Array(4), parent[i] = node, node = parent; while (z *= 2, x0 = x1 - z, y0 = y1 - z, x0 > x || y0 > y); break; } } if (this._root && this._root.length) this._root = node; } // If the quadtree covers the point already, just return. else return this; this._x0 = x0; this._y0 = y0; this._x1 = x1; this._y1 = y1; return this; } function tree_data() { var data = []; this.visit(function(node) { if (!node.length) do data.push(node.data); while (node = node.next) }); return data; } function tree_extent(_) { return arguments.length ? this.cover(+_[0][0], +_[0][1]).cover(+_[1][0], +_[1][1]) : isNaN(this._x0) ? undefined : [[this._x0, this._y0], [this._x1, this._y1]]; } function Quad(node, x0, y0, x1, y1) { this.node = node; this.x0 = x0; this.y0 = y0; this.x1 = x1; this.y1 = y1; } function tree_find(x, y, radius) { var data, x0 = this._x0, y0 = this._y0, x1, y1, x2, y2, x3 = this._x1, y3 = this._y1, quads = [], node = this._root, q, i; if (node) quads.push(new Quad(node, x0, y0, x3, y3)); if (radius == null) radius = Infinity; else { x0 = x - radius, y0 = y - radius; x3 = x + radius, y3 = y + radius; radius *= radius; } while (q = quads.pop()) { // Stop searching if this quadrant can’t contain a closer node. if (!(node = q.node) || (x1 = q.x0) > x3 || (y1 = q.y0) > y3 || (x2 = q.x1) < x0 || (y2 = q.y1) < y0) continue; // Bisect the current quadrant. if (node.length) { var xm = (x1 + x2) / 2, ym = (y1 + y2) / 2; quads.push( new Quad(node[3], xm, ym, x2, y2), new Quad(node[2], x1, ym, xm, y2), new Quad(node[1], xm, y1, x2, ym), new Quad(node[0], x1, y1, xm, ym) ); // Visit the closest quadrant first. if (i = (y >= ym) << 1 | (x >= xm)) { q = quads[quads.length - 1]; quads[quads.length - 1] = quads[quads.length - 1 - i]; quads[quads.length - 1 - i] = q; } } // Visit this point. (Visiting coincident points isn’t necessary!) else { var dx = x - +this._x.call(null, node.data), dy = y - +this._y.call(null, node.data), d2 = dx * dx + dy * dy; if (d2 < radius) { var d = Math.sqrt(radius = d2); x0 = x - d, y0 = y - d; x3 = x + d, y3 = y + d; data = node.data; } } } return data; } function tree_remove(d) { if (isNaN(x = +this._x.call(null, d)) || isNaN(y = +this._y.call(null, d))) return this; // ignore invalid points var parent, node = this._root, retainer, previous, next, x0 = this._x0, y0 = this._y0, x1 = this._x1, y1 = this._y1, x, y, xm, ym, right, bottom, i, j; // If the tree is empty, initialize the root as a leaf. if (!node) return this; // Find the leaf node for the point. // While descending, also retain the deepest parent with a non-removed sibling. if (node.length) while (true) { if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm; if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym; if (!(parent = node, node = node[i = bottom << 1 | right])) return this; if (!node.length) break; if (parent[(i + 1) & 3] || parent[(i + 2) & 3] || parent[(i + 3) & 3]) retainer = parent, j = i; } // Find the point to remove. while (node.data !== d) if (!(previous = node, node = node.next)) return this; if (next = node.next) delete node.next; // If there are multiple coincident points, remove just the point. if (previous) return (next ? previous.next = next : delete previous.next), this; // If this is the root point, remove it. if (!parent) return this._root = next, this; // Remove this leaf. next ? parent[i] = next : delete parent[i]; // If the parent now contains exactly one leaf, collapse superfluous parents. if ((node = parent[0] || parent[1] || parent[2] || parent[3]) && node === (parent[3] || parent[2] || parent[1] || parent[0]) && !node.length) { if (retainer) retainer[j] = node; else this._root = node; } return this; } function removeAll(data) { for (var i = 0, n = data.length; i < n; ++i) this.remove(data[i]); return this; } function tree_root() { return this._root; } function tree_size() { var size = 0; this.visit(function(node) { if (!node.length) do ++size; while (node = node.next) }); return size; } function tree_visit(callback) { var quads = [], q, node = this._root, child, x0, y0, x1, y1; if (node) quads.push(new Quad(node, this._x0, this._y0, this._x1, this._y1)); while (q = quads.pop()) { if (!callback(node = q.node, x0 = q.x0, y0 = q.y0, x1 = q.x1, y1 = q.y1) && node.length) { var xm = (x0 + x1) / 2, ym = (y0 + y1) / 2; if (child = node[3]) quads.push(new Quad(child, xm, ym, x1, y1)); if (child = node[2]) quads.push(new Quad(child, x0, ym, xm, y1)); if (child = node[1]) quads.push(new Quad(child, xm, y0, x1, ym)); if (child = node[0]) quads.push(new Quad(child, x0, y0, xm, ym)); } } return this; } function tree_visitAfter(callback) { var quads = [], next = [], q; if (this._root) quads.push(new Quad(this._root, this._x0, this._y0, this._x1, this._y1)); while (q = quads.pop()) { var node = q.node; if (node.length) { var child, x0 = q.x0, y0 = q.y0, x1 = q.x1, y1 = q.y1, xm = (x0 + x1) / 2, ym = (y0 + y1) / 2; if (child = node[0]) quads.push(new Quad(child, x0, y0, xm, ym)); if (child = node[1]) quads.push(new Quad(child, xm, y0, x1, ym)); if (child = node[2]) quads.push(new Quad(child, x0, ym, xm, y1)); if (child = node[3]) quads.push(new Quad(child, xm, ym, x1, y1)); } next.push(q); } while (q = next.pop()) { callback(q.node, q.x0, q.y0, q.x1, q.y1); } return this; } function defaultX(d) { return d[0]; } function tree_x(_) { return arguments.length ? (this._x = _, this) : this._x; } function defaultY(d) { return d[1]; } function tree_y(_) { return arguments.length ? (this._y = _, this) : this._y; } function quadtree(nodes, x, y) { var tree = new Quadtree(x == null ? defaultX : x, y == null ? defaultY : y, NaN, NaN, NaN, NaN); return nodes == null ? tree : tree.addAll(nodes); } function Quadtree(x, y, x0, y0, x1, y1) { this._x = x; this._y = y; this._x0 = x0; this._y0 = y0; this._x1 = x1; this._y1 = y1; this._root = undefined; } function leaf_copy(leaf) { var copy = {data: leaf.data}, next = copy; while (leaf = leaf.next) next = next.next = {data: leaf.data}; return copy; } var treeProto = quadtree.prototype = Quadtree.prototype; treeProto.copy = function() { var copy = new Quadtree(this._x, this._y, this._x0, this._y0, this._x1, this._y1), node = this._root, nodes, child; if (!node) return copy; if (!node.length) return copy._root = leaf_copy(node), copy; nodes = [{source: node, target: copy._root = new Array(4)}]; while (node = nodes.pop()) { for (var i = 0; i < 4; ++i) { if (child = node.source[i]) { if (child.length) nodes.push({source: child, target: node.target[i] = new Array(4)}); else node.target[i] = leaf_copy(child); } } } return copy; }; treeProto.add = tree_add; treeProto.addAll = addAll; treeProto.cover = tree_cover; treeProto.data = tree_data; treeProto.extent = tree_extent; treeProto.find = tree_find; treeProto.remove = tree_remove; treeProto.removeAll = removeAll; treeProto.root = tree_root; treeProto.size = tree_size; treeProto.visit = tree_visit; treeProto.visitAfter = tree_visitAfter; treeProto.x = tree_x; treeProto.y = tree_y; exports.quadtree = quadtree; Object.defineProperty(exports, '__esModule', { value: true }); }))); PKmy�\J!==d3-quadtree.min.jsnu�[���// https://d3js.org/d3-quadtree/ v1.0.5 Copyright 2018 Mike Bostock !function(t,i){"object"==typeof exports&&"undefined"!=typeof module?i(exports):"function"==typeof define&&define.amd?define(["exports"],i):i(t.d3=t.d3||{})}(this,function(t){"use strict";function i(t,i,e,r){if(isNaN(i)||isNaN(e))return t;var n,h,s,o,a,u,l,_,f,y=t._root,x={data:r},c=t._x0,d=t._y0,v=t._x1,p=t._y1;if(!y)return t._root=x,t;for(;y.length;)if((u=i>=(h=(c+v)/2))?c=h:v=h,(l=e>=(s=(d+p)/2))?d=s:p=s,n=y,!(y=y[_=l<<1|u]))return n[_]=x,t;if(o=+t._x.call(null,y.data),a=+t._y.call(null,y.data),i===o&&e===a)return x.next=y,n?n[_]=x:t._root=x,t;do{n=n?n[_]=new Array(4):t._root=new Array(4),(u=i>=(h=(c+v)/2))?c=h:v=h,(l=e>=(s=(d+p)/2))?d=s:p=s}while((_=l<<1|u)==(f=(a>=s)<<1|o>=h));return n[f]=y,n[_]=x,t}function e(t,i,e,r,n){this.node=t,this.x0=i,this.y0=e,this.x1=r,this.y1=n}function r(t){return t[0]}function n(t){return t[1]}function h(t,i,e){var h=new s(null==i?r:i,null==e?n:e,NaN,NaN,NaN,NaN);return null==t?h:h.addAll(t)}function s(t,i,e,r,n,h){this._x=t,this._y=i,this._x0=e,this._y0=r,this._x1=n,this._y1=h,this._root=void 0}function o(t){for(var i={data:t.data},e=i;t=t.next;)e=e.next={data:t.data};return i}var a=h.prototype=s.prototype;a.copy=function(){var t,i,e=new s(this._x,this._y,this._x0,this._y0,this._x1,this._y1),r=this._root;if(!r)return e;if(!r.length)return e._root=o(r),e;for(t=[{source:r,target:e._root=new Array(4)}];r=t.pop();)for(var n=0;n<4;++n)(i=r.source[n])&&(i.length?t.push({source:i,target:r.target[n]=new Array(4)}):r.target[n]=o(i));return e},a.add=function(t){var e=+this._x.call(null,t),r=+this._y.call(null,t);return i(this.cover(e,r),e,r,t)},a.addAll=function(t){var e,r,n,h,s=t.length,o=new Array(s),a=new Array(s),u=1/0,l=1/0,_=-1/0,f=-1/0;for(r=0;r<s;++r)isNaN(n=+this._x.call(null,e=t[r]))||isNaN(h=+this._y.call(null,e))||(o[r]=n,a[r]=h,n<u&&(u=n),n>_&&(_=n),h<l&&(l=h),h>f&&(f=h));for(_<u&&(u=this._x0,_=this._x1),f<l&&(l=this._y0,f=this._y1),this.cover(u,l).cover(_,f),r=0;r<s;++r)i(this,o[r],a[r],t[r]);return this},a.cover=function(t,i){if(isNaN(t=+t)||isNaN(i=+i))return this;var e=this._x0,r=this._y0,n=this._x1,h=this._y1;if(isNaN(e))n=(e=Math.floor(t))+1,h=(r=Math.floor(i))+1;else{if(!(e>t||t>n||r>i||i>h))return this;var s,o,a=n-e,u=this._root;switch(o=(i<(r+h)/2)<<1|t<(e+n)/2){case 0:do{(s=new Array(4))[o]=u,u=s}while(h=r+(a*=2),t>(n=e+a)||i>h);break;case 1:do{(s=new Array(4))[o]=u,u=s}while(h=r+(a*=2),(e=n-a)>t||i>h);break;case 2:do{(s=new Array(4))[o]=u,u=s}while(r=h-(a*=2),t>(n=e+a)||r>i);break;case 3:do{(s=new Array(4))[o]=u,u=s}while(r=h-(a*=2),(e=n-a)>t||r>i)}this._root&&this._root.length&&(this._root=u)}return this._x0=e,this._y0=r,this._x1=n,this._y1=h,this},a.data=function(){var t=[];return this.visit(function(i){if(!i.length)do{t.push(i.data)}while(i=i.next)}),t},a.extent=function(t){return arguments.length?this.cover(+t[0][0],+t[0][1]).cover(+t[1][0],+t[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]},a.find=function(t,i,r){var n,h,s,o,a,u,l,_=this._x0,f=this._y0,y=this._x1,x=this._y1,c=[],d=this._root;for(d&&c.push(new e(d,_,f,y,x)),null==r?r=1/0:(_=t-r,f=i-r,y=t+r,x=i+r,r*=r);u=c.pop();)if(!(!(d=u.node)||(h=u.x0)>y||(s=u.y0)>x||(o=u.x1)<_||(a=u.y1)<f))if(d.length){var v=(h+o)/2,p=(s+a)/2;c.push(new e(d[3],v,p,o,a),new e(d[2],h,p,v,a),new e(d[1],v,s,o,p),new e(d[0],h,s,v,p)),(l=(i>=p)<<1|t>=v)&&(u=c[c.length-1],c[c.length-1]=c[c.length-1-l],c[c.length-1-l]=u)}else{var w=t-+this._x.call(null,d.data),N=i-+this._y.call(null,d.data),g=w*w+N*N;if(g<r){var A=Math.sqrt(r=g);_=t-A,f=i-A,y=t+A,x=i+A,n=d.data}}return n},a.remove=function(t){if(isNaN(h=+this._x.call(null,t))||isNaN(s=+this._y.call(null,t)))return this;var i,e,r,n,h,s,o,a,u,l,_,f,y=this._root,x=this._x0,c=this._y0,d=this._x1,v=this._y1;if(!y)return this;if(y.length)for(;;){if((u=h>=(o=(x+d)/2))?x=o:d=o,(l=s>=(a=(c+v)/2))?c=a:v=a,i=y,!(y=y[_=l<<1|u]))return this;if(!y.length)break;(i[_+1&3]||i[_+2&3]||i[_+3&3])&&(e=i,f=_)}for(;y.data!==t;)if(r=y,!(y=y.next))return this;return(n=y.next)&&delete y.next,r?(n?r.next=n:delete r.next,this):i?(n?i[_]=n:delete i[_],(y=i[0]||i[1]||i[2]||i[3])&&y===(i[3]||i[2]||i[1]||i[0])&&!y.length&&(e?e[f]=y:this._root=y),this):(this._root=n,this)},a.removeAll=function(t){for(var i=0,e=t.length;i<e;++i)this.remove(t[i]);return this},a.root=function(){return this._root},a.size=function(){var t=0;return this.visit(function(i){if(!i.length)do{++t}while(i=i.next)}),t},a.visit=function(t){var i,r,n,h,s,o,a=[],u=this._root;for(u&&a.push(new e(u,this._x0,this._y0,this._x1,this._y1));i=a.pop();)if(!t(u=i.node,n=i.x0,h=i.y0,s=i.x1,o=i.y1)&&u.length){var l=(n+s)/2,_=(h+o)/2;(r=u[3])&&a.push(new e(r,l,_,s,o)),(r=u[2])&&a.push(new e(r,n,_,l,o)),(r=u[1])&&a.push(new e(r,l,h,s,_)),(r=u[0])&&a.push(new e(r,n,h,l,_))}return this},a.visitAfter=function(t){var i,r=[],n=[];for(this._root&&r.push(new e(this._root,this._x0,this._y0,this._x1,this._y1));i=r.pop();){var h=i.node;if(h.length){var s,o=i.x0,a=i.y0,u=i.x1,l=i.y1,_=(o+u)/2,f=(a+l)/2;(s=h[0])&&r.push(new e(s,o,a,_,f)),(s=h[1])&&r.push(new e(s,_,a,u,f)),(s=h[2])&&r.push(new e(s,o,f,_,l)),(s=h[3])&&r.push(new e(s,_,f,u,l))}n.push(i)}for(;i=n.pop();)t(i.node,i.x0,i.y0,i.x1,i.y1);return this},a.x=function(t){return arguments.length?(this._x=t,this):this._x},a.y=function(t){return arguments.length?(this._y=t,this):this._y},t.quadtree=h,Object.defineProperty(t,"__esModule",{value:!0})}); PKty�\uG��nnd3-path.min.jsnu�[���// https://d3js.org/d3-path/ v1.0.7 Copyright 2018 Mike Bostock !function(t,i){"object"==typeof exports&&"undefined"!=typeof module?i(exports):"function"==typeof define&&define.amd?define(["exports"],i):i(t.d3=t.d3||{})}(this,function(t){"use strict";var i=Math.PI,s=2*i,h=s-1e-6;function _(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function e(){return new _}_.prototype=e.prototype={constructor:_,moveTo:function(t,i){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+i)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,i){this._+="L"+(this._x1=+t)+","+(this._y1=+i)},quadraticCurveTo:function(t,i,s,h){this._+="Q"+ +t+","+ +i+","+(this._x1=+s)+","+(this._y1=+h)},bezierCurveTo:function(t,i,s,h,_,e){this._+="C"+ +t+","+ +i+","+ +s+","+ +h+","+(this._x1=+_)+","+(this._y1=+e)},arcTo:function(t,s,h,_,e){t=+t,s=+s,h=+h,_=+_,e=+e;var n=this._x1,o=this._y1,r=h-t,a=_-s,u=n-t,c=o-s,f=u*u+c*c;if(e<0)throw new Error("negative radius: "+e);if(null===this._x1)this._+="M"+(this._x1=t)+","+(this._y1=s);else if(f>1e-6)if(Math.abs(c*r-a*u)>1e-6&&e){var x=h-n,y=_-o,M=r*r+a*a,l=x*x+y*y,d=Math.sqrt(M),p=Math.sqrt(f),v=e*Math.tan((i-Math.acos((M+f-l)/(2*d*p)))/2),b=v/p,w=v/d;Math.abs(b-1)>1e-6&&(this._+="L"+(t+b*u)+","+(s+b*c)),this._+="A"+e+","+e+",0,0,"+ +(c*x>u*y)+","+(this._x1=t+w*r)+","+(this._y1=s+w*a)}else this._+="L"+(this._x1=t)+","+(this._y1=s);else;},arc:function(t,_,e,n,o,r){t=+t,_=+_;var a=(e=+e)*Math.cos(n),u=e*Math.sin(n),c=t+a,f=_+u,x=1^r,y=r?n-o:o-n;if(e<0)throw new Error("negative radius: "+e);null===this._x1?this._+="M"+c+","+f:(Math.abs(this._x1-c)>1e-6||Math.abs(this._y1-f)>1e-6)&&(this._+="L"+c+","+f),e&&(y<0&&(y=y%s+s),y>h?this._+="A"+e+","+e+",0,1,"+x+","+(t-a)+","+(_-u)+"A"+e+","+e+",0,1,"+x+","+(this._x1=c)+","+(this._y1=f):y>1e-6&&(this._+="A"+e+","+e+",0,"+ +(y>=i)+","+x+","+(this._x1=t+e*Math.cos(o))+","+(this._y1=_+e*Math.sin(o))))},rect:function(t,i,s,h){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+i)+"h"+ +s+"v"+ +h+"h"+-s+"Z"},toString:function(){return this._}},t.path=e,Object.defineProperty(t,"__esModule",{value:!0})}); PKty�\*�e�ww d3-path.jsnu�[���// https://d3js.org/d3-path/ v1.0.7 Copyright 2018 Mike Bostock (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : typeof define === 'function' && define.amd ? define(['exports'], factory) : (factory((global.d3 = global.d3 || {}))); }(this, (function (exports) { 'use strict'; var pi = Math.PI, tau = 2 * pi, epsilon = 1e-6, tauEpsilon = tau - epsilon; function Path() { this._x0 = this._y0 = // start of current subpath this._x1 = this._y1 = null; // end of current subpath this._ = ""; } function path() { return new Path; } Path.prototype = path.prototype = { constructor: Path, moveTo: function(x, y) { this._ += "M" + (this._x0 = this._x1 = +x) + "," + (this._y0 = this._y1 = +y); }, closePath: function() { if (this._x1 !== null) { this._x1 = this._x0, this._y1 = this._y0; this._ += "Z"; } }, lineTo: function(x, y) { this._ += "L" + (this._x1 = +x) + "," + (this._y1 = +y); }, quadraticCurveTo: function(x1, y1, x, y) { this._ += "Q" + (+x1) + "," + (+y1) + "," + (this._x1 = +x) + "," + (this._y1 = +y); }, bezierCurveTo: function(x1, y1, x2, y2, x, y) { this._ += "C" + (+x1) + "," + (+y1) + "," + (+x2) + "," + (+y2) + "," + (this._x1 = +x) + "," + (this._y1 = +y); }, arcTo: function(x1, y1, x2, y2, r) { x1 = +x1, y1 = +y1, x2 = +x2, y2 = +y2, r = +r; var x0 = this._x1, y0 = this._y1, x21 = x2 - x1, y21 = y2 - y1, x01 = x0 - x1, y01 = y0 - y1, l01_2 = x01 * x01 + y01 * y01; // Is the radius negative? Error. if (r < 0) throw new Error("negative radius: " + r); // Is this path empty? Move to (x1,y1). if (this._x1 === null) { this._ += "M" + (this._x1 = x1) + "," + (this._y1 = y1); } // Or, is (x1,y1) coincident with (x0,y0)? Do nothing. else if (!(l01_2 > epsilon)); // Or, are (x0,y0), (x1,y1) and (x2,y2) collinear? // Equivalently, is (x1,y1) coincident with (x2,y2)? // Or, is the radius zero? Line to (x1,y1). else if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon) || !r) { this._ += "L" + (this._x1 = x1) + "," + (this._y1 = y1); } // Otherwise, draw an arc! else { var x20 = x2 - x0, y20 = y2 - y0, l21_2 = x21 * x21 + y21 * y21, l20_2 = x20 * x20 + y20 * y20, l21 = Math.sqrt(l21_2), l01 = Math.sqrt(l01_2), l = r * Math.tan((pi - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2), t01 = l / l01, t21 = l / l21; // If the start tangent is not coincident with (x0,y0), line to. if (Math.abs(t01 - 1) > epsilon) { this._ += "L" + (x1 + t01 * x01) + "," + (y1 + t01 * y01); } this._ += "A" + r + "," + r + ",0,0," + (+(y01 * x20 > x01 * y20)) + "," + (this._x1 = x1 + t21 * x21) + "," + (this._y1 = y1 + t21 * y21); } }, arc: function(x, y, r, a0, a1, ccw) { x = +x, y = +y, r = +r; var dx = r * Math.cos(a0), dy = r * Math.sin(a0), x0 = x + dx, y0 = y + dy, cw = 1 ^ ccw, da = ccw ? a0 - a1 : a1 - a0; // Is the radius negative? Error. if (r < 0) throw new Error("negative radius: " + r); // Is this path empty? Move to (x0,y0). if (this._x1 === null) { this._ += "M" + x0 + "," + y0; } // Or, is (x0,y0) not coincident with the previous point? Line to (x0,y0). else if (Math.abs(this._x1 - x0) > epsilon || Math.abs(this._y1 - y0) > epsilon) { this._ += "L" + x0 + "," + y0; } // Is this arc empty? We’re done. if (!r) return; // Does the angle go the wrong way? Flip the direction. if (da < 0) da = da % tau + tau; // Is this a complete circle? Draw two arcs to complete the circle. if (da > tauEpsilon) { this._ += "A" + r + "," + r + ",0,1," + cw + "," + (x - dx) + "," + (y - dy) + "A" + r + "," + r + ",0,1," + cw + "," + (this._x1 = x0) + "," + (this._y1 = y0); } // Is this arc non-empty? Draw an arc! else if (da > epsilon) { this._ += "A" + r + "," + r + ",0," + (+(da >= pi)) + "," + cw + "," + (this._x1 = x + r * Math.cos(a1)) + "," + (this._y1 = y + r * Math.sin(a1)); } }, rect: function(x, y, w, h) { this._ += "M" + (this._x0 = this._x1 = +x) + "," + (this._y0 = this._y1 = +y) + "h" + (+w) + "v" + (+h) + "h" + (-w) + "Z"; }, toString: function() { return this._; } }; exports.path = path; Object.defineProperty(exports, '__esModule', { value: true }); }))); PK�y�\�/���C�Cumd/ReactDnDHTML5Backend.min.jsnu�[���!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e=e||self).ReactDnDHTML5Backend={})}(this,(function(e){"use strict";function t(e){var t=null;return function(){return null==t&&(t=e()),t}}function r(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var n=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.entered=[],this.isNodeInDocument=t}var t,n,a;return t=e,(n=[{key:"enter",value:function(e){var t=this,r=this.entered.length;return this.entered=function(e,t){var r=new Set,n=function(e){return r.add(e)};e.forEach(n),t.forEach(n);var a=[];return r.forEach((function(e){return a.push(e)})),a}(this.entered.filter((function(r){return t.isNodeInDocument(r)&&(!r.contains||r.contains(e))})),[e]),0===r&&this.entered.length>0}},{key:"leave",value:function(e){var t,r,n=this.entered.length;return this.entered=(t=this.entered.filter(this.isNodeInDocument),r=e,t.filter((function(e){return e!==r}))),n>0&&0===this.entered.length}},{key:"reset",value:function(){this.entered=[]}}])&&r(t.prototype,n),a&&r(t,a),e}(),a=t((function(){return/firefox/i.test(navigator.userAgent)})),i=t((function(){return Boolean(window.safari)}));function o(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var s=function(){function e(t,r){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e);for(var n=t.length,a=[],i=0;i<n;i++)a.push(i);a.sort((function(e,r){return t[e]<t[r]?-1:1}));for(var o,s,u=[],d=[],c=0;c<n-1;c++)o=t[c+1]-t[c],s=r[c+1]-r[c],u.push(o),d.push(s/o);for(var l=[d[0]],g=0;g<u.length-1;g++){var f=d[g],v=d[g+1];if(f*v<=0)l.push(0);else{o=u[g];var h=u[g+1],p=o+h;l.push(3*p/((p+h)/f+(p+o)/v))}}l.push(d[d.length-1]);for(var m,D=[],y=[],w=0;w<l.length-1;w++){m=d[w];var T=l[w],E=1/u[w],b=T+l[w+1]-m-m;D.push((m-T-b)*E),y.push(b*E*E)}this.xs=t,this.ys=r,this.c1s=l,this.c2s=D,this.c3s=y}var t,r,n;return t=e,(r=[{key:"interpolate",value:function(e){var t=this.xs,r=this.ys,n=this.c1s,a=this.c2s,i=this.c3s,o=t.length-1;if(e===t[o])return r[o];for(var s,u=0,d=i.length-1;u<=d;){var c=t[s=Math.floor(.5*(u+d))];if(c<e)u=s+1;else{if(!(c>e))return r[s];d=s-1}}var l=e-t[o=Math.max(0,d)],g=l*l;return r[o]+n[o]*l+a[o]*g+i[o]*l*g}}])&&o(t.prototype,r),n&&o(t,n),e}();function u(e){var t=1===e.nodeType?e:e.parentElement;if(!t)return null;var r=t.getBoundingClientRect(),n=r.top;return{x:r.left,y:n}}function d(e){return{x:e.clientX,y:e.clientY}}function c(e,t,r,n,o){var d,c,l,g="IMG"===(d=t).nodeName&&(a()||!(null===(c=document.documentElement)||void 0===c?void 0:c.contains(d))),f=u(g?e:t),v={x:r.x-f.x,y:r.y-f.y},h=e.offsetWidth,p=e.offsetHeight,m=n.anchorX,D=n.anchorY,y=function(e,t,r,n){var a=e?t.width:r,o=e?t.height:n;return i()&&e&&(o/=window.devicePixelRatio,a/=window.devicePixelRatio),{dragPreviewWidth:a,dragPreviewHeight:o}}(g,t,h,p),w=y.dragPreviewWidth,T=y.dragPreviewHeight,E=o.offsetX,b=o.offsetY,N=0===b||b;return{x:0===E||E?E:new s([0,.5,1],[v.x,v.x/h*w,v.x+w-h]).interpolate(m),y:N?b:(l=new s([0,.5,1],[v.y,v.y/p*T,v.y+T-p]).interpolate(D),i()&&g&&(l+=(window.devicePixelRatio-1)*T),l)}}var l,g="__NATIVE_FILE__",f="__NATIVE_URL__",v="__NATIVE_TEXT__",h=Object.freeze({__proto__:null,FILE:g,URL:f,TEXT:v});function p(e,t,r){var n=t.reduce((function(t,r){return t||e.getData(r)}),"");return null!=n?n:r}function m(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var D=(m(l={},g,{exposeProperties:{files:function(e){return Array.prototype.slice.call(e.files)},items:function(e){return e.items}},matchesTypes:["Files"]}),m(l,f,{exposeProperties:{urls:function(e,t){return p(e,t,"").split("\n")}},matchesTypes:["Url","text/uri-list"]}),m(l,v,{exposeProperties:{text:function(e,t){return p(e,t,"")}},matchesTypes:["Text","text/plain"]}),l);function y(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var w=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.config=t,this.item={},this.initializeExposedProperties()}var t,r,n;return t=e,(r=[{key:"initializeExposedProperties",value:function(){var e=this;Object.keys(this.config.exposeProperties).forEach((function(t){Object.defineProperty(e.item,t,{configurable:!0,enumerable:!0,get:function(){return console.warn("Browser doesn't allow reading \"".concat(t,'" until the drop event.')),null}})}))}},{key:"loadDataTransfer",value:function(e){var t=this;if(e){var r={};Object.keys(this.config.exposeProperties).forEach((function(n){r[n]={value:t.config.exposeProperties[n](e,t.config.matchesTypes),configurable:!0,enumerable:!0}})),Object.defineProperties(this.item,r)}}},{key:"canDrag",value:function(){return!0}},{key:"beginDrag",value:function(){return this.item}},{key:"isDragging",value:function(e,t){return t===e.getSourceId()}},{key:"endDrag",value:function(){}}])&&y(t.prototype,r),n&&y(t,n),e}();function T(e){if(!e)return null;var t=Array.prototype.slice.call(e.types||[]);return Object.keys(D).filter((function(e){return D[e].matchesTypes.some((function(e){return t.indexOf(e)>-1}))}))[0]||null}function E(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var b=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.globalContext=t}var t,r,n;return t=e,(r=[{key:"window",get:function(){return this.globalContext?this.globalContext:"undefined"!=typeof window?window:void 0}},{key:"document",get:function(){if(this.window)return this.window.document}}])&&E(t.prototype,r),n&&E(t,n),e}();function N(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function O(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?N(Object(r),!0).forEach((function(t){S(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):N(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function S(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function I(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var C,P=function(){function e(t,r){var i=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.sourcePreviewNodes=new Map,this.sourcePreviewNodeOptions=new Map,this.sourceNodes=new Map,this.sourceNodeOptions=new Map,this.dragStartSourceIds=null,this.dropTargetIds=[],this.dragEnterTargetIds=[],this.currentNativeSource=null,this.currentNativeHandle=null,this.currentDragSourceNode=null,this.altKeyPressed=!1,this.mouseMoveTimeoutTimer=null,this.asyncEndDragFrameId=null,this.dragOverTargetIds=null,this.getSourceClientOffset=function(e){var t=i.sourceNodes.get(e);return t&&u(t)||null},this.endDragNativeItem=function(){i.isDraggingNativeItem()&&(i.actions.endDrag(),i.currentNativeHandle&&i.registry.removeSource(i.currentNativeHandle),i.currentNativeHandle=null,i.currentNativeSource=null)},this.isNodeInDocument=function(e){return Boolean(e&&i.document&&i.document.body&&document.body.contains(e))},this.endDragIfSourceWasRemovedFromDOM=function(){var e=i.currentDragSourceNode;i.isNodeInDocument(e)||i.clearCurrentDragSourceNode()&&i.actions.endDrag()},this.handleTopDragStartCapture=function(){i.clearCurrentDragSourceNode(),i.dragStartSourceIds=[]},this.handleTopDragStart=function(e){if(!e.defaultPrevented){var t=i.dragStartSourceIds;i.dragStartSourceIds=null;var r=d(e);i.monitor.isDragging()&&i.actions.endDrag(),i.actions.beginDrag(t||[],{publishSource:!1,getSourceClientOffset:i.getSourceClientOffset,clientOffset:r});var n=e.dataTransfer,a=T(n);if(i.monitor.isDragging()){if(n&&"function"==typeof n.setDragImage){var o=i.monitor.getSourceId(),s=i.sourceNodes.get(o),u=i.sourcePreviewNodes.get(o)||s;if(u){var l=i.getCurrentSourcePreviewNodeOptions(),g=c(s,u,r,{anchorX:l.anchorX,anchorY:l.anchorY},{offsetX:l.offsetX,offsetY:l.offsetY});n.setDragImage(u,g.x,g.y)}}try{null==n||n.setData("application/json",{})}catch(e){}i.setCurrentDragSourceNode(e.target),i.getCurrentSourcePreviewNodeOptions().captureDraggingState?i.actions.publishDragSource():setTimeout((function(){return i.actions.publishDragSource()}),0)}else if(a)i.beginDragNativeItem(a);else{if(n&&!n.types&&(e.target&&!e.target.hasAttribute||!e.target.hasAttribute("draggable")))return;e.preventDefault()}}},this.handleTopDragEndCapture=function(){i.clearCurrentDragSourceNode()&&i.actions.endDrag()},this.handleTopDragEnterCapture=function(e){if(i.dragEnterTargetIds=[],i.enterLeaveCounter.enter(e.target)&&!i.monitor.isDragging()){var t=e.dataTransfer,r=T(t);r&&i.beginDragNativeItem(r,t)}},this.handleTopDragEnter=function(e){var t=i.dragEnterTargetIds;(i.dragEnterTargetIds=[],i.monitor.isDragging())&&(i.altKeyPressed=e.altKey,a()||i.actions.hover(t,{clientOffset:d(e)}),t.some((function(e){return i.monitor.canDropOnTarget(e)}))&&(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=i.getCurrentDropEffect())))},this.handleTopDragOverCapture=function(){i.dragOverTargetIds=[]},this.handleTopDragOver=function(e){var t=i.dragOverTargetIds;if(i.dragOverTargetIds=[],!i.monitor.isDragging())return e.preventDefault(),void(e.dataTransfer&&(e.dataTransfer.dropEffect="none"));i.altKeyPressed=e.altKey,i.actions.hover(t||[],{clientOffset:d(e)}),(t||[]).some((function(e){return i.monitor.canDropOnTarget(e)}))?(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=i.getCurrentDropEffect())):i.isDraggingNativeItem()?e.preventDefault():(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect="none"))},this.handleTopDragLeaveCapture=function(e){i.isDraggingNativeItem()&&e.preventDefault(),i.enterLeaveCounter.leave(e.target)&&i.isDraggingNativeItem()&&i.endDragNativeItem()},this.handleTopDropCapture=function(e){var t;(i.dropTargetIds=[],e.preventDefault(),i.isDraggingNativeItem())&&(null===(t=i.currentNativeSource)||void 0===t||t.loadDataTransfer(e.dataTransfer));i.enterLeaveCounter.reset()},this.handleTopDrop=function(e){var t=i.dropTargetIds;i.dropTargetIds=[],i.actions.hover(t,{clientOffset:d(e)}),i.actions.drop({dropEffect:i.getCurrentDropEffect()}),i.isDraggingNativeItem()?i.endDragNativeItem():i.endDragIfSourceWasRemovedFromDOM()},this.handleSelectStart=function(e){var t=e.target;"function"==typeof t.dragDrop&&("INPUT"===t.tagName||"SELECT"===t.tagName||"TEXTAREA"===t.tagName||t.isContentEditable||(e.preventDefault(),t.dragDrop()))},this.options=new b(r),this.actions=t.getActions(),this.monitor=t.getMonitor(),this.registry=t.getRegistry(),this.enterLeaveCounter=new n(this.isNodeInDocument)}var t,r,i;return t=e,(r=[{key:"profile",value:function(){var e,t;return{sourcePreviewNodes:this.sourcePreviewNodes.size,sourcePreviewNodeOptions:this.sourcePreviewNodeOptions.size,sourceNodeOptions:this.sourceNodeOptions.size,sourceNodes:this.sourceNodes.size,dragStartSourceIds:(null===(e=this.dragStartSourceIds)||void 0===e?void 0:e.length)||0,dropTargetIds:this.dropTargetIds.length,dragEnterTargetIds:this.dragEnterTargetIds.length,dragOverTargetIds:(null===(t=this.dragOverTargetIds)||void 0===t?void 0:t.length)||0}}},{key:"setup",value:function(){if(void 0!==this.window){if(this.window.__isReactDndBackendSetUp)throw new Error("Cannot have two HTML5 backends at the same time.");this.window.__isReactDndBackendSetUp=!0,this.addEventListeners(this.window)}}},{key:"teardown",value:function(){void 0!==this.window&&(this.window.__isReactDndBackendSetUp=!1,this.removeEventListeners(this.window),this.clearCurrentDragSourceNode(),this.asyncEndDragFrameId&&this.window.cancelAnimationFrame(this.asyncEndDragFrameId))}},{key:"connectDragPreview",value:function(e,t,r){var n=this;return this.sourcePreviewNodeOptions.set(e,r),this.sourcePreviewNodes.set(e,t),function(){n.sourcePreviewNodes.delete(e),n.sourcePreviewNodeOptions.delete(e)}}},{key:"connectDragSource",value:function(e,t,r){var n=this;this.sourceNodes.set(e,t),this.sourceNodeOptions.set(e,r);var a=function(t){return n.handleDragStart(t,e)},i=function(e){return n.handleSelectStart(e)};return t.setAttribute("draggable","true"),t.addEventListener("dragstart",a),t.addEventListener("selectstart",i),function(){n.sourceNodes.delete(e),n.sourceNodeOptions.delete(e),t.removeEventListener("dragstart",a),t.removeEventListener("selectstart",i),t.setAttribute("draggable","false")}}},{key:"connectDropTarget",value:function(e,t){var r=this,n=function(t){return r.handleDragEnter(t,e)},a=function(t){return r.handleDragOver(t,e)},i=function(t){return r.handleDrop(t,e)};return t.addEventListener("dragenter",n),t.addEventListener("dragover",a),t.addEventListener("drop",i),function(){t.removeEventListener("dragenter",n),t.removeEventListener("dragover",a),t.removeEventListener("drop",i)}}},{key:"addEventListeners",value:function(e){e.addEventListener&&(e.addEventListener("dragstart",this.handleTopDragStart),e.addEventListener("dragstart",this.handleTopDragStartCapture,!0),e.addEventListener("dragend",this.handleTopDragEndCapture,!0),e.addEventListener("dragenter",this.handleTopDragEnter),e.addEventListener("dragenter",this.handleTopDragEnterCapture,!0),e.addEventListener("dragleave",this.handleTopDragLeaveCapture,!0),e.addEventListener("dragover",this.handleTopDragOver),e.addEventListener("dragover",this.handleTopDragOverCapture,!0),e.addEventListener("drop",this.handleTopDrop),e.addEventListener("drop",this.handleTopDropCapture,!0))}},{key:"removeEventListeners",value:function(e){e.removeEventListener&&(e.removeEventListener("dragstart",this.handleTopDragStart),e.removeEventListener("dragstart",this.handleTopDragStartCapture,!0),e.removeEventListener("dragend",this.handleTopDragEndCapture,!0),e.removeEventListener("dragenter",this.handleTopDragEnter),e.removeEventListener("dragenter",this.handleTopDragEnterCapture,!0),e.removeEventListener("dragleave",this.handleTopDragLeaveCapture,!0),e.removeEventListener("dragover",this.handleTopDragOver),e.removeEventListener("dragover",this.handleTopDragOverCapture,!0),e.removeEventListener("drop",this.handleTopDrop),e.removeEventListener("drop",this.handleTopDropCapture,!0))}},{key:"getCurrentSourceNodeOptions",value:function(){var e=this.monitor.getSourceId(),t=this.sourceNodeOptions.get(e);return O({dropEffect:this.altKeyPressed?"copy":"move"},t||{})}},{key:"getCurrentDropEffect",value:function(){return this.isDraggingNativeItem()?"copy":this.getCurrentSourceNodeOptions().dropEffect}},{key:"getCurrentSourcePreviewNodeOptions",value:function(){var e=this.monitor.getSourceId();return O({anchorX:.5,anchorY:.5,captureDraggingState:!1},this.sourcePreviewNodeOptions.get(e)||{})}},{key:"isDraggingNativeItem",value:function(){var e=this.monitor.getItemType();return Object.keys(h).some((function(t){return h[t]===e}))}},{key:"beginDragNativeItem",value:function(e,t){this.clearCurrentDragSourceNode(),this.currentNativeSource=function(e,t){var r=new w(D[e]);return r.loadDataTransfer(t),r}(e,t),this.currentNativeHandle=this.registry.addSource(e,this.currentNativeSource),this.actions.beginDrag([this.currentNativeHandle])}},{key:"setCurrentDragSourceNode",value:function(e){var t=this;this.clearCurrentDragSourceNode(),this.currentDragSourceNode=e,this.mouseMoveTimeoutTimer=setTimeout((function(){return t.window&&t.window.addEventListener("mousemove",t.endDragIfSourceWasRemovedFromDOM,!0)}),1e3)}},{key:"clearCurrentDragSourceNode",value:function(){return!!this.currentDragSourceNode&&(this.currentDragSourceNode=null,this.window&&(this.window.clearTimeout(this.mouseMoveTimeoutTimer||void 0),this.window.removeEventListener("mousemove",this.endDragIfSourceWasRemovedFromDOM,!0)),this.mouseMoveTimeoutTimer=null,!0)}},{key:"handleDragStart",value:function(e,t){e.defaultPrevented||(this.dragStartSourceIds||(this.dragStartSourceIds=[]),this.dragStartSourceIds.unshift(t))}},{key:"handleDragEnter",value:function(e,t){this.dragEnterTargetIds.unshift(t)}},{key:"handleDragOver",value:function(e,t){null===this.dragOverTargetIds&&(this.dragOverTargetIds=[]),this.dragOverTargetIds.unshift(t)}},{key:"handleDrop",value:function(e,t){this.dropTargetIds.unshift(t)}},{key:"window",get:function(){return this.options.window}},{key:"document",get:function(){return this.options.document}}])&&I(t.prototype,r),i&&I(t,i),e}();e.HTML5Backend=function(e,t){return new P(e,t)},e.NativeTypes=h,e.getEmptyImage=function(){return C||((C=new Image).src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="),C},Object.defineProperty(e,"__esModule",{value:!0})})); PK�y�\�.D�ɤɤumd/ReactDnDHTML5Backend.jsnu�[���(function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : typeof define === 'function' && define.amd ? define(['exports'], factory) : (global = global || self, factory(global.ReactDnDHTML5Backend = {})); }(this, (function (exports) { 'use strict'; // cheap lodash replacements function memoize(fn) { var result = null; var memoized = function memoized() { if (result == null) { result = fn(); } return result; }; return memoized; } /** * drop-in replacement for _.without */ function without(items, item) { return items.filter(function (i) { return i !== item; }); } function union(itemsA, itemsB) { var set = new Set(); var insertItem = function insertItem(item) { return set.add(item); }; itemsA.forEach(insertItem); itemsB.forEach(insertItem); var result = []; set.forEach(function (key) { return result.push(key); }); return result; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } var EnterLeaveCounter = /*#__PURE__*/function () { function EnterLeaveCounter(isNodeInDocument) { _classCallCheck(this, EnterLeaveCounter); this.entered = []; this.isNodeInDocument = isNodeInDocument; } _createClass(EnterLeaveCounter, [{ key: "enter", value: function enter(enteringNode) { var _this = this; var previousLength = this.entered.length; var isNodeEntered = function isNodeEntered(node) { return _this.isNodeInDocument(node) && (!node.contains || node.contains(enteringNode)); }; this.entered = union(this.entered.filter(isNodeEntered), [enteringNode]); return previousLength === 0 && this.entered.length > 0; } }, { key: "leave", value: function leave(leavingNode) { var previousLength = this.entered.length; this.entered = without(this.entered.filter(this.isNodeInDocument), leavingNode); return previousLength > 0 && this.entered.length === 0; } }, { key: "reset", value: function reset() { this.entered = []; } }]); return EnterLeaveCounter; }(); var isFirefox = memoize(function () { return /firefox/i.test(navigator.userAgent); }); var isSafari = memoize(function () { return Boolean(window.safari); }); function _classCallCheck$1(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties$1(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass$1(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties$1(Constructor.prototype, protoProps); if (staticProps) _defineProperties$1(Constructor, staticProps); return Constructor; } var MonotonicInterpolant = /*#__PURE__*/function () { function MonotonicInterpolant(xs, ys) { _classCallCheck$1(this, MonotonicInterpolant); var length = xs.length; // Rearrange xs and ys so that xs is sorted var indexes = []; for (var i = 0; i < length; i++) { indexes.push(i); } indexes.sort(function (a, b) { return xs[a] < xs[b] ? -1 : 1; }); // Get consecutive differences and slopes var dxs = []; var ms = []; var dx; var dy; for (var _i = 0; _i < length - 1; _i++) { dx = xs[_i + 1] - xs[_i]; dy = ys[_i + 1] - ys[_i]; dxs.push(dx); ms.push(dy / dx); } // Get degree-1 coefficients var c1s = [ms[0]]; for (var _i2 = 0; _i2 < dxs.length - 1; _i2++) { var m2 = ms[_i2]; var mNext = ms[_i2 + 1]; if (m2 * mNext <= 0) { c1s.push(0); } else { dx = dxs[_i2]; var dxNext = dxs[_i2 + 1]; var common = dx + dxNext; c1s.push(3 * common / ((common + dxNext) / m2 + (common + dx) / mNext)); } } c1s.push(ms[ms.length - 1]); // Get degree-2 and degree-3 coefficients var c2s = []; var c3s = []; var m; for (var _i3 = 0; _i3 < c1s.length - 1; _i3++) { m = ms[_i3]; var c1 = c1s[_i3]; var invDx = 1 / dxs[_i3]; var _common = c1 + c1s[_i3 + 1] - m - m; c2s.push((m - c1 - _common) * invDx); c3s.push(_common * invDx * invDx); } this.xs = xs; this.ys = ys; this.c1s = c1s; this.c2s = c2s; this.c3s = c3s; } _createClass$1(MonotonicInterpolant, [{ key: "interpolate", value: function interpolate(x) { var xs = this.xs, ys = this.ys, c1s = this.c1s, c2s = this.c2s, c3s = this.c3s; // The rightmost point in the dataset should give an exact result var i = xs.length - 1; if (x === xs[i]) { return ys[i]; } // Search for the interval x is in, returning the corresponding y if x is one of the original xs var low = 0; var high = c3s.length - 1; var mid; while (low <= high) { mid = Math.floor(0.5 * (low + high)); var xHere = xs[mid]; if (xHere < x) { low = mid + 1; } else if (xHere > x) { high = mid - 1; } else { return ys[mid]; } } i = Math.max(0, high); // Interpolate var diff = x - xs[i]; var diffSq = diff * diff; return ys[i] + c1s[i] * diff + c2s[i] * diffSq + c3s[i] * diff * diffSq; } }]); return MonotonicInterpolant; }(); var ELEMENT_NODE = 1; function getNodeClientOffset(node) { var el = node.nodeType === ELEMENT_NODE ? node : node.parentElement; if (!el) { return null; } var _el$getBoundingClient = el.getBoundingClientRect(), top = _el$getBoundingClient.top, left = _el$getBoundingClient.left; return { x: left, y: top }; } function getEventClientOffset(e) { return { x: e.clientX, y: e.clientY }; } function isImageNode(node) { var _document$documentEle; return node.nodeName === 'IMG' && (isFirefox() || !((_document$documentEle = document.documentElement) === null || _document$documentEle === void 0 ? void 0 : _document$documentEle.contains(node))); } function getDragPreviewSize(isImage, dragPreview, sourceWidth, sourceHeight) { var dragPreviewWidth = isImage ? dragPreview.width : sourceWidth; var dragPreviewHeight = isImage ? dragPreview.height : sourceHeight; // Work around @2x coordinate discrepancies in browsers if (isSafari() && isImage) { dragPreviewHeight /= window.devicePixelRatio; dragPreviewWidth /= window.devicePixelRatio; } return { dragPreviewWidth: dragPreviewWidth, dragPreviewHeight: dragPreviewHeight }; } function getDragPreviewOffset(sourceNode, dragPreview, clientOffset, anchorPoint, offsetPoint) { // The browsers will use the image intrinsic size under different conditions. // Firefox only cares if it's an image, but WebKit also wants it to be detached. var isImage = isImageNode(dragPreview); var dragPreviewNode = isImage ? sourceNode : dragPreview; var dragPreviewNodeOffsetFromClient = getNodeClientOffset(dragPreviewNode); var offsetFromDragPreview = { x: clientOffset.x - dragPreviewNodeOffsetFromClient.x, y: clientOffset.y - dragPreviewNodeOffsetFromClient.y }; var sourceWidth = sourceNode.offsetWidth, sourceHeight = sourceNode.offsetHeight; var anchorX = anchorPoint.anchorX, anchorY = anchorPoint.anchorY; var _getDragPreviewSize = getDragPreviewSize(isImage, dragPreview, sourceWidth, sourceHeight), dragPreviewWidth = _getDragPreviewSize.dragPreviewWidth, dragPreviewHeight = _getDragPreviewSize.dragPreviewHeight; var calculateYOffset = function calculateYOffset() { var interpolantY = new MonotonicInterpolant([0, 0.5, 1], [// Dock to the top offsetFromDragPreview.y, // Align at the center offsetFromDragPreview.y / sourceHeight * dragPreviewHeight, // Dock to the bottom offsetFromDragPreview.y + dragPreviewHeight - sourceHeight]); var y = interpolantY.interpolate(anchorY); // Work around Safari 8 positioning bug if (isSafari() && isImage) { // We'll have to wait for @3x to see if this is entirely correct y += (window.devicePixelRatio - 1) * dragPreviewHeight; } return y; }; var calculateXOffset = function calculateXOffset() { // Interpolate coordinates depending on anchor point // If you know a simpler way to do this, let me know var interpolantX = new MonotonicInterpolant([0, 0.5, 1], [// Dock to the left offsetFromDragPreview.x, // Align at the center offsetFromDragPreview.x / sourceWidth * dragPreviewWidth, // Dock to the right offsetFromDragPreview.x + dragPreviewWidth - sourceWidth]); return interpolantX.interpolate(anchorX); }; // Force offsets if specified in the options. var offsetX = offsetPoint.offsetX, offsetY = offsetPoint.offsetY; var isManualOffsetX = offsetX === 0 || offsetX; var isManualOffsetY = offsetY === 0 || offsetY; return { x: isManualOffsetX ? offsetX : calculateXOffset(), y: isManualOffsetY ? offsetY : calculateYOffset() }; } var FILE = '__NATIVE_FILE__'; var URL = '__NATIVE_URL__'; var TEXT = '__NATIVE_TEXT__'; var NativeTypes = /*#__PURE__*/Object.freeze({ __proto__: null, FILE: FILE, URL: URL, TEXT: TEXT }); function getDataFromDataTransfer(dataTransfer, typesToTry, defaultValue) { var result = typesToTry.reduce(function (resultSoFar, typeToTry) { return resultSoFar || dataTransfer.getData(typeToTry); }, ''); return result != null ? result : defaultValue; } var _nativeTypesConfig; function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } var nativeTypesConfig = (_nativeTypesConfig = {}, _defineProperty(_nativeTypesConfig, FILE, { exposeProperties: { files: function files(dataTransfer) { return Array.prototype.slice.call(dataTransfer.files); }, items: function items(dataTransfer) { return dataTransfer.items; } }, matchesTypes: ['Files'] }), _defineProperty(_nativeTypesConfig, URL, { exposeProperties: { urls: function urls(dataTransfer, matchesTypes) { return getDataFromDataTransfer(dataTransfer, matchesTypes, '').split('\n'); } }, matchesTypes: ['Url', 'text/uri-list'] }), _defineProperty(_nativeTypesConfig, TEXT, { exposeProperties: { text: function text(dataTransfer, matchesTypes) { return getDataFromDataTransfer(dataTransfer, matchesTypes, ''); } }, matchesTypes: ['Text', 'text/plain'] }), _nativeTypesConfig); function _classCallCheck$2(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties$2(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass$2(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties$2(Constructor.prototype, protoProps); if (staticProps) _defineProperties$2(Constructor, staticProps); return Constructor; } var NativeDragSource = /*#__PURE__*/function () { function NativeDragSource(config) { _classCallCheck$2(this, NativeDragSource); this.config = config; this.item = {}; this.initializeExposedProperties(); } _createClass$2(NativeDragSource, [{ key: "initializeExposedProperties", value: function initializeExposedProperties() { var _this = this; Object.keys(this.config.exposeProperties).forEach(function (property) { Object.defineProperty(_this.item, property, { configurable: true, enumerable: true, get: function get() { // eslint-disable-next-line no-console console.warn("Browser doesn't allow reading \"".concat(property, "\" until the drop event.")); return null; } }); }); } }, { key: "loadDataTransfer", value: function loadDataTransfer(dataTransfer) { var _this2 = this; if (dataTransfer) { var newProperties = {}; Object.keys(this.config.exposeProperties).forEach(function (property) { newProperties[property] = { value: _this2.config.exposeProperties[property](dataTransfer, _this2.config.matchesTypes), configurable: true, enumerable: true }; }); Object.defineProperties(this.item, newProperties); } } }, { key: "canDrag", value: function canDrag() { return true; } }, { key: "beginDrag", value: function beginDrag() { return this.item; } }, { key: "isDragging", value: function isDragging(monitor, handle) { return handle === monitor.getSourceId(); } }, { key: "endDrag", value: function endDrag() {// empty } }]); return NativeDragSource; }(); function createNativeDragSource(type, dataTransfer) { var result = new NativeDragSource(nativeTypesConfig[type]); result.loadDataTransfer(dataTransfer); return result; } function matchNativeItemType(dataTransfer) { if (!dataTransfer) { return null; } var dataTransferTypes = Array.prototype.slice.call(dataTransfer.types || []); return Object.keys(nativeTypesConfig).filter(function (nativeItemType) { var matchesTypes = nativeTypesConfig[nativeItemType].matchesTypes; return matchesTypes.some(function (t) { return dataTransferTypes.indexOf(t) > -1; }); })[0] || null; } function _classCallCheck$3(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties$3(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass$3(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties$3(Constructor.prototype, protoProps); if (staticProps) _defineProperties$3(Constructor, staticProps); return Constructor; } var OptionsReader = /*#__PURE__*/function () { function OptionsReader(globalContext) { _classCallCheck$3(this, OptionsReader); this.globalContext = globalContext; } _createClass$3(OptionsReader, [{ key: "window", get: function get() { if (this.globalContext) { return this.globalContext; } else if (typeof window !== 'undefined') { return window; } return undefined; } }, { key: "document", get: function get() { if (this.window) { return this.window.document; } return undefined; } }]); return OptionsReader; }(); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty$1(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } function _defineProperty$1(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function _classCallCheck$4(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties$4(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass$4(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties$4(Constructor.prototype, protoProps); if (staticProps) _defineProperties$4(Constructor, staticProps); return Constructor; } var HTML5BackendImpl = /*#__PURE__*/function () { function HTML5BackendImpl(manager, globalContext) { var _this = this; _classCallCheck$4(this, HTML5BackendImpl); this.sourcePreviewNodes = new Map(); this.sourcePreviewNodeOptions = new Map(); this.sourceNodes = new Map(); this.sourceNodeOptions = new Map(); this.dragStartSourceIds = null; this.dropTargetIds = []; this.dragEnterTargetIds = []; this.currentNativeSource = null; this.currentNativeHandle = null; this.currentDragSourceNode = null; this.altKeyPressed = false; this.mouseMoveTimeoutTimer = null; this.asyncEndDragFrameId = null; this.dragOverTargetIds = null; this.getSourceClientOffset = function (sourceId) { var source = _this.sourceNodes.get(sourceId); return source && getNodeClientOffset(source) || null; }; this.endDragNativeItem = function () { if (!_this.isDraggingNativeItem()) { return; } _this.actions.endDrag(); if (_this.currentNativeHandle) { _this.registry.removeSource(_this.currentNativeHandle); } _this.currentNativeHandle = null; _this.currentNativeSource = null; }; this.isNodeInDocument = function (node) { // Check the node either in the main document or in the current context return Boolean(node && _this.document && _this.document.body && document.body.contains(node)); }; this.endDragIfSourceWasRemovedFromDOM = function () { var node = _this.currentDragSourceNode; if (_this.isNodeInDocument(node)) { return; } if (_this.clearCurrentDragSourceNode()) { _this.actions.endDrag(); } }; this.handleTopDragStartCapture = function () { _this.clearCurrentDragSourceNode(); _this.dragStartSourceIds = []; }; this.handleTopDragStart = function (e) { if (e.defaultPrevented) { return; } var dragStartSourceIds = _this.dragStartSourceIds; _this.dragStartSourceIds = null; var clientOffset = getEventClientOffset(e); // Avoid crashing if we missed a drop event or our previous drag died if (_this.monitor.isDragging()) { _this.actions.endDrag(); } // Don't publish the source just yet (see why below) _this.actions.beginDrag(dragStartSourceIds || [], { publishSource: false, getSourceClientOffset: _this.getSourceClientOffset, clientOffset: clientOffset }); var dataTransfer = e.dataTransfer; var nativeType = matchNativeItemType(dataTransfer); if (_this.monitor.isDragging()) { if (dataTransfer && typeof dataTransfer.setDragImage === 'function') { // Use custom drag image if user specifies it. // If child drag source refuses drag but parent agrees, // use parent's node as drag image. Neither works in IE though. var sourceId = _this.monitor.getSourceId(); var sourceNode = _this.sourceNodes.get(sourceId); var dragPreview = _this.sourcePreviewNodes.get(sourceId) || sourceNode; if (dragPreview) { var _this$getCurrentSourc = _this.getCurrentSourcePreviewNodeOptions(), anchorX = _this$getCurrentSourc.anchorX, anchorY = _this$getCurrentSourc.anchorY, offsetX = _this$getCurrentSourc.offsetX, offsetY = _this$getCurrentSourc.offsetY; var anchorPoint = { anchorX: anchorX, anchorY: anchorY }; var offsetPoint = { offsetX: offsetX, offsetY: offsetY }; var dragPreviewOffset = getDragPreviewOffset(sourceNode, dragPreview, clientOffset, anchorPoint, offsetPoint); dataTransfer.setDragImage(dragPreview, dragPreviewOffset.x, dragPreviewOffset.y); } } try { // Firefox won't drag without setting data dataTransfer === null || dataTransfer === void 0 ? void 0 : dataTransfer.setData('application/json', {}); } catch (err) {} // IE doesn't support MIME types in setData // Store drag source node so we can check whether // it is removed from DOM and trigger endDrag manually. _this.setCurrentDragSourceNode(e.target); // Now we are ready to publish the drag source.. or are we not? var _this$getCurrentSourc2 = _this.getCurrentSourcePreviewNodeOptions(), captureDraggingState = _this$getCurrentSourc2.captureDraggingState; if (!captureDraggingState) { // Usually we want to publish it in the next tick so that browser // is able to screenshot the current (not yet dragging) state. // // It also neatly avoids a situation where render() returns null // in the same tick for the source element, and browser freaks out. setTimeout(function () { return _this.actions.publishDragSource(); }, 0); } else { // In some cases the user may want to override this behavior, e.g. // to work around IE not supporting custom drag previews. // // When using a custom drag layer, the only way to prevent // the default drag preview from drawing in IE is to screenshot // the dragging state in which the node itself has zero opacity // and height. In this case, though, returning null from render() // will abruptly end the dragging, which is not obvious. // // This is the reason such behavior is strictly opt-in. _this.actions.publishDragSource(); } } else if (nativeType) { // A native item (such as URL) dragged from inside the document _this.beginDragNativeItem(nativeType); } else if (dataTransfer && !dataTransfer.types && (e.target && !e.target.hasAttribute || !e.target.hasAttribute('draggable'))) { // Looks like a Safari bug: dataTransfer.types is null, but there was no draggable. // Just let it drag. It's a native type (URL or text) and will be picked up in // dragenter handler. return; } else { // If by this time no drag source reacted, tell browser not to drag. e.preventDefault(); } }; this.handleTopDragEndCapture = function () { if (_this.clearCurrentDragSourceNode()) { // Firefox can dispatch this event in an infinite loop // if dragend handler does something like showing an alert. // Only proceed if we have not handled it already. _this.actions.endDrag(); } }; this.handleTopDragEnterCapture = function (e) { _this.dragEnterTargetIds = []; var isFirstEnter = _this.enterLeaveCounter.enter(e.target); if (!isFirstEnter || _this.monitor.isDragging()) { return; } var dataTransfer = e.dataTransfer; var nativeType = matchNativeItemType(dataTransfer); if (nativeType) { // A native item (such as file or URL) dragged from outside the document _this.beginDragNativeItem(nativeType, dataTransfer); } }; this.handleTopDragEnter = function (e) { var dragEnterTargetIds = _this.dragEnterTargetIds; _this.dragEnterTargetIds = []; if (!_this.monitor.isDragging()) { // This is probably a native item type we don't understand. return; } _this.altKeyPressed = e.altKey; if (!isFirefox()) { // Don't emit hover in `dragenter` on Firefox due to an edge case. // If the target changes position as the result of `dragenter`, Firefox // will still happily dispatch `dragover` despite target being no longer // there. The easy solution is to only fire `hover` in `dragover` on FF. _this.actions.hover(dragEnterTargetIds, { clientOffset: getEventClientOffset(e) }); } var canDrop = dragEnterTargetIds.some(function (targetId) { return _this.monitor.canDropOnTarget(targetId); }); if (canDrop) { // IE requires this to fire dragover events e.preventDefault(); if (e.dataTransfer) { e.dataTransfer.dropEffect = _this.getCurrentDropEffect(); } } }; this.handleTopDragOverCapture = function () { _this.dragOverTargetIds = []; }; this.handleTopDragOver = function (e) { var dragOverTargetIds = _this.dragOverTargetIds; _this.dragOverTargetIds = []; if (!_this.monitor.isDragging()) { // This is probably a native item type we don't understand. // Prevent default "drop and blow away the whole document" action. e.preventDefault(); if (e.dataTransfer) { e.dataTransfer.dropEffect = 'none'; } return; } _this.altKeyPressed = e.altKey; _this.actions.hover(dragOverTargetIds || [], { clientOffset: getEventClientOffset(e) }); var canDrop = (dragOverTargetIds || []).some(function (targetId) { return _this.monitor.canDropOnTarget(targetId); }); if (canDrop) { // Show user-specified drop effect. e.preventDefault(); if (e.dataTransfer) { e.dataTransfer.dropEffect = _this.getCurrentDropEffect(); } } else if (_this.isDraggingNativeItem()) { // Don't show a nice cursor but still prevent default // "drop and blow away the whole document" action. e.preventDefault(); } else { e.preventDefault(); if (e.dataTransfer) { e.dataTransfer.dropEffect = 'none'; } } }; this.handleTopDragLeaveCapture = function (e) { if (_this.isDraggingNativeItem()) { e.preventDefault(); } var isLastLeave = _this.enterLeaveCounter.leave(e.target); if (!isLastLeave) { return; } if (_this.isDraggingNativeItem()) { _this.endDragNativeItem(); } }; this.handleTopDropCapture = function (e) { _this.dropTargetIds = []; e.preventDefault(); if (_this.isDraggingNativeItem()) { var _this$currentNativeSo; (_this$currentNativeSo = _this.currentNativeSource) === null || _this$currentNativeSo === void 0 ? void 0 : _this$currentNativeSo.loadDataTransfer(e.dataTransfer); } _this.enterLeaveCounter.reset(); }; this.handleTopDrop = function (e) { var dropTargetIds = _this.dropTargetIds; _this.dropTargetIds = []; _this.actions.hover(dropTargetIds, { clientOffset: getEventClientOffset(e) }); _this.actions.drop({ dropEffect: _this.getCurrentDropEffect() }); if (_this.isDraggingNativeItem()) { _this.endDragNativeItem(); } else { _this.endDragIfSourceWasRemovedFromDOM(); } }; this.handleSelectStart = function (e) { var target = e.target; // Only IE requires us to explicitly say // we want drag drop operation to start if (typeof target.dragDrop !== 'function') { return; } // Inputs and textareas should be selectable if (target.tagName === 'INPUT' || target.tagName === 'SELECT' || target.tagName === 'TEXTAREA' || target.isContentEditable) { return; } // For other targets, ask IE // to enable drag and drop e.preventDefault(); target.dragDrop(); }; this.options = new OptionsReader(globalContext); this.actions = manager.getActions(); this.monitor = manager.getMonitor(); this.registry = manager.getRegistry(); this.enterLeaveCounter = new EnterLeaveCounter(this.isNodeInDocument); } /** * Generate profiling statistics for the HTML5Backend. */ _createClass$4(HTML5BackendImpl, [{ key: "profile", value: function profile() { var _this$dragStartSource, _this$dragOverTargetI; return { sourcePreviewNodes: this.sourcePreviewNodes.size, sourcePreviewNodeOptions: this.sourcePreviewNodeOptions.size, sourceNodeOptions: this.sourceNodeOptions.size, sourceNodes: this.sourceNodes.size, dragStartSourceIds: ((_this$dragStartSource = this.dragStartSourceIds) === null || _this$dragStartSource === void 0 ? void 0 : _this$dragStartSource.length) || 0, dropTargetIds: this.dropTargetIds.length, dragEnterTargetIds: this.dragEnterTargetIds.length, dragOverTargetIds: ((_this$dragOverTargetI = this.dragOverTargetIds) === null || _this$dragOverTargetI === void 0 ? void 0 : _this$dragOverTargetI.length) || 0 }; } // public for test }, { key: "setup", value: function setup() { if (this.window === undefined) { return; } if (this.window.__isReactDndBackendSetUp) { throw new Error('Cannot have two HTML5 backends at the same time.'); } this.window.__isReactDndBackendSetUp = true; this.addEventListeners(this.window); } }, { key: "teardown", value: function teardown() { if (this.window === undefined) { return; } this.window.__isReactDndBackendSetUp = false; this.removeEventListeners(this.window); this.clearCurrentDragSourceNode(); if (this.asyncEndDragFrameId) { this.window.cancelAnimationFrame(this.asyncEndDragFrameId); } } }, { key: "connectDragPreview", value: function connectDragPreview(sourceId, node, options) { var _this2 = this; this.sourcePreviewNodeOptions.set(sourceId, options); this.sourcePreviewNodes.set(sourceId, node); return function () { _this2.sourcePreviewNodes.delete(sourceId); _this2.sourcePreviewNodeOptions.delete(sourceId); }; } }, { key: "connectDragSource", value: function connectDragSource(sourceId, node, options) { var _this3 = this; this.sourceNodes.set(sourceId, node); this.sourceNodeOptions.set(sourceId, options); var handleDragStart = function handleDragStart(e) { return _this3.handleDragStart(e, sourceId); }; var handleSelectStart = function handleSelectStart(e) { return _this3.handleSelectStart(e); }; node.setAttribute('draggable', 'true'); node.addEventListener('dragstart', handleDragStart); node.addEventListener('selectstart', handleSelectStart); return function () { _this3.sourceNodes.delete(sourceId); _this3.sourceNodeOptions.delete(sourceId); node.removeEventListener('dragstart', handleDragStart); node.removeEventListener('selectstart', handleSelectStart); node.setAttribute('draggable', 'false'); }; } }, { key: "connectDropTarget", value: function connectDropTarget(targetId, node) { var _this4 = this; var handleDragEnter = function handleDragEnter(e) { return _this4.handleDragEnter(e, targetId); }; var handleDragOver = function handleDragOver(e) { return _this4.handleDragOver(e, targetId); }; var handleDrop = function handleDrop(e) { return _this4.handleDrop(e, targetId); }; node.addEventListener('dragenter', handleDragEnter); node.addEventListener('dragover', handleDragOver); node.addEventListener('drop', handleDrop); return function () { node.removeEventListener('dragenter', handleDragEnter); node.removeEventListener('dragover', handleDragOver); node.removeEventListener('drop', handleDrop); }; } }, { key: "addEventListeners", value: function addEventListeners(target) { // SSR Fix (https://github.com/react-dnd/react-dnd/pull/813 if (!target.addEventListener) { return; } target.addEventListener('dragstart', this.handleTopDragStart); target.addEventListener('dragstart', this.handleTopDragStartCapture, true); target.addEventListener('dragend', this.handleTopDragEndCapture, true); target.addEventListener('dragenter', this.handleTopDragEnter); target.addEventListener('dragenter', this.handleTopDragEnterCapture, true); target.addEventListener('dragleave', this.handleTopDragLeaveCapture, true); target.addEventListener('dragover', this.handleTopDragOver); target.addEventListener('dragover', this.handleTopDragOverCapture, true); target.addEventListener('drop', this.handleTopDrop); target.addEventListener('drop', this.handleTopDropCapture, true); } }, { key: "removeEventListeners", value: function removeEventListeners(target) { // SSR Fix (https://github.com/react-dnd/react-dnd/pull/813 if (!target.removeEventListener) { return; } target.removeEventListener('dragstart', this.handleTopDragStart); target.removeEventListener('dragstart', this.handleTopDragStartCapture, true); target.removeEventListener('dragend', this.handleTopDragEndCapture, true); target.removeEventListener('dragenter', this.handleTopDragEnter); target.removeEventListener('dragenter', this.handleTopDragEnterCapture, true); target.removeEventListener('dragleave', this.handleTopDragLeaveCapture, true); target.removeEventListener('dragover', this.handleTopDragOver); target.removeEventListener('dragover', this.handleTopDragOverCapture, true); target.removeEventListener('drop', this.handleTopDrop); target.removeEventListener('drop', this.handleTopDropCapture, true); } }, { key: "getCurrentSourceNodeOptions", value: function getCurrentSourceNodeOptions() { var sourceId = this.monitor.getSourceId(); var sourceNodeOptions = this.sourceNodeOptions.get(sourceId); return _objectSpread({ dropEffect: this.altKeyPressed ? 'copy' : 'move' }, sourceNodeOptions || {}); } }, { key: "getCurrentDropEffect", value: function getCurrentDropEffect() { if (this.isDraggingNativeItem()) { // It makes more sense to default to 'copy' for native resources return 'copy'; } return this.getCurrentSourceNodeOptions().dropEffect; } }, { key: "getCurrentSourcePreviewNodeOptions", value: function getCurrentSourcePreviewNodeOptions() { var sourceId = this.monitor.getSourceId(); var sourcePreviewNodeOptions = this.sourcePreviewNodeOptions.get(sourceId); return _objectSpread({ anchorX: 0.5, anchorY: 0.5, captureDraggingState: false }, sourcePreviewNodeOptions || {}); } }, { key: "isDraggingNativeItem", value: function isDraggingNativeItem() { var itemType = this.monitor.getItemType(); return Object.keys(NativeTypes).some(function (key) { return NativeTypes[key] === itemType; }); } }, { key: "beginDragNativeItem", value: function beginDragNativeItem(type, dataTransfer) { this.clearCurrentDragSourceNode(); this.currentNativeSource = createNativeDragSource(type, dataTransfer); this.currentNativeHandle = this.registry.addSource(type, this.currentNativeSource); this.actions.beginDrag([this.currentNativeHandle]); } }, { key: "setCurrentDragSourceNode", value: function setCurrentDragSourceNode(node) { var _this5 = this; this.clearCurrentDragSourceNode(); this.currentDragSourceNode = node; // A timeout of > 0 is necessary to resolve Firefox issue referenced // See: // * https://github.com/react-dnd/react-dnd/pull/928 // * https://github.com/react-dnd/react-dnd/issues/869 var MOUSE_MOVE_TIMEOUT = 1000; // Receiving a mouse event in the middle of a dragging operation // means it has ended and the drag source node disappeared from DOM, // so the browser didn't dispatch the dragend event. // // We need to wait before we start listening for mousemove events. // This is needed because the drag preview needs to be drawn or else it fires an 'mousemove' event // immediately in some browsers. // // See: // * https://github.com/react-dnd/react-dnd/pull/928 // * https://github.com/react-dnd/react-dnd/issues/869 // this.mouseMoveTimeoutTimer = setTimeout(function () { return _this5.window && _this5.window.addEventListener('mousemove', _this5.endDragIfSourceWasRemovedFromDOM, true); }, MOUSE_MOVE_TIMEOUT); } }, { key: "clearCurrentDragSourceNode", value: function clearCurrentDragSourceNode() { if (this.currentDragSourceNode) { this.currentDragSourceNode = null; if (this.window) { this.window.clearTimeout(this.mouseMoveTimeoutTimer || undefined); this.window.removeEventListener('mousemove', this.endDragIfSourceWasRemovedFromDOM, true); } this.mouseMoveTimeoutTimer = null; return true; } return false; } }, { key: "handleDragStart", value: function handleDragStart(e, sourceId) { if (e.defaultPrevented) { return; } if (!this.dragStartSourceIds) { this.dragStartSourceIds = []; } this.dragStartSourceIds.unshift(sourceId); } }, { key: "handleDragEnter", value: function handleDragEnter(e, targetId) { this.dragEnterTargetIds.unshift(targetId); } }, { key: "handleDragOver", value: function handleDragOver(e, targetId) { if (this.dragOverTargetIds === null) { this.dragOverTargetIds = []; } this.dragOverTargetIds.unshift(targetId); } }, { key: "handleDrop", value: function handleDrop(e, targetId) { this.dropTargetIds.unshift(targetId); } }, { key: "window", get: function get() { return this.options.window; } }, { key: "document", get: function get() { return this.options.document; } }]); return HTML5BackendImpl; }(); var emptyImage; function getEmptyImage() { if (!emptyImage) { emptyImage = new Image(); emptyImage.src = 'data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=='; } return emptyImage; } var HTML5Backend = function createBackend(manager, context) { return new HTML5BackendImpl(manager, context); }; exports.HTML5Backend = HTML5Backend; exports.NativeTypes = NativeTypes; exports.getEmptyImage = getEmptyImage; Object.defineProperty(exports, '__esModule', { value: true }); }))); PK�y�\����cjs/OptionsReader.jsnu�[���"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.OptionsReader = void 0; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } var OptionsReader = /*#__PURE__*/function () { function OptionsReader(globalContext) { _classCallCheck(this, OptionsReader); this.globalContext = globalContext; } _createClass(OptionsReader, [{ key: "window", get: function get() { if (this.globalContext) { return this.globalContext; } else if (typeof window !== 'undefined') { return window; } return undefined; } }, { key: "document", get: function get() { if (this.window) { return this.window.document; } return undefined; } }]); return OptionsReader; }(); exports.OptionsReader = OptionsReader;PK�y�\_���0cjs/NativeDragSources/getDataFromDataTransfer.jsnu�[���"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getDataFromDataTransfer = getDataFromDataTransfer; function getDataFromDataTransfer(dataTransfer, typesToTry, defaultValue) { var result = typesToTry.reduce(function (resultSoFar, typeToTry) { return resultSoFar || dataTransfer.getData(typeToTry); }, ''); return result != null ? result : defaultValue; }PK�y�\�����cjs/NativeDragSources/index.jsnu�[���"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createNativeDragSource = createNativeDragSource; exports.matchNativeItemType = matchNativeItemType; var _nativeTypesConfig = require("./nativeTypesConfig"); var _NativeDragSource = require("./NativeDragSource"); function createNativeDragSource(type, dataTransfer) { var result = new _NativeDragSource.NativeDragSource(_nativeTypesConfig.nativeTypesConfig[type]); result.loadDataTransfer(dataTransfer); return result; } function matchNativeItemType(dataTransfer) { if (!dataTransfer) { return null; } var dataTransferTypes = Array.prototype.slice.call(dataTransfer.types || []); return Object.keys(_nativeTypesConfig.nativeTypesConfig).filter(function (nativeItemType) { var matchesTypes = _nativeTypesConfig.nativeTypesConfig[nativeItemType].matchesTypes; return matchesTypes.some(function (t) { return dataTransferTypes.indexOf(t) > -1; }); })[0] || null; }PK�y�\���[ [ )cjs/NativeDragSources/NativeDragSource.jsnu�[���"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.NativeDragSource = void 0; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } var NativeDragSource = /*#__PURE__*/function () { function NativeDragSource(config) { _classCallCheck(this, NativeDragSource); this.config = config; this.item = {}; this.initializeExposedProperties(); } _createClass(NativeDragSource, [{ key: "initializeExposedProperties", value: function initializeExposedProperties() { var _this = this; Object.keys(this.config.exposeProperties).forEach(function (property) { Object.defineProperty(_this.item, property, { configurable: true, enumerable: true, get: function get() { // eslint-disable-next-line no-console console.warn("Browser doesn't allow reading \"".concat(property, "\" until the drop event.")); return null; } }); }); } }, { key: "loadDataTransfer", value: function loadDataTransfer(dataTransfer) { var _this2 = this; if (dataTransfer) { var newProperties = {}; Object.keys(this.config.exposeProperties).forEach(function (property) { newProperties[property] = { value: _this2.config.exposeProperties[property](dataTransfer, _this2.config.matchesTypes), configurable: true, enumerable: true }; }); Object.defineProperties(this.item, newProperties); } } }, { key: "canDrag", value: function canDrag() { return true; } }, { key: "beginDrag", value: function beginDrag() { return this.item; } }, { key: "isDragging", value: function isDragging(monitor, handle) { return handle === monitor.getSourceId(); } }, { key: "endDrag", value: function endDrag() {// empty } }]); return NativeDragSource; }(); exports.NativeDragSource = NativeDragSource;PK�y�\��f*cjs/NativeDragSources/nativeTypesConfig.jsnu�[���"use strict"; function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } Object.defineProperty(exports, "__esModule", { value: true }); exports.nativeTypesConfig = void 0; var NativeTypes = _interopRequireWildcard(require("../NativeTypes")); var _getDataFromDataTransfer = require("./getDataFromDataTransfer"); var _nativeTypesConfig; function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; } function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } var nativeTypesConfig = (_nativeTypesConfig = {}, _defineProperty(_nativeTypesConfig, NativeTypes.FILE, { exposeProperties: { files: function files(dataTransfer) { return Array.prototype.slice.call(dataTransfer.files); }, items: function items(dataTransfer) { return dataTransfer.items; } }, matchesTypes: ['Files'] }), _defineProperty(_nativeTypesConfig, NativeTypes.URL, { exposeProperties: { urls: function urls(dataTransfer, matchesTypes) { return (0, _getDataFromDataTransfer.getDataFromDataTransfer)(dataTransfer, matchesTypes, '').split('\n'); } }, matchesTypes: ['Url', 'text/uri-list'] }), _defineProperty(_nativeTypesConfig, NativeTypes.TEXT, { exposeProperties: { text: function text(dataTransfer, matchesTypes) { return (0, _getDataFromDataTransfer.getDataFromDataTransfer)(dataTransfer, matchesTypes, ''); } }, matchesTypes: ['Text', 'text/plain'] }), _nativeTypesConfig); exports.nativeTypesConfig = nativeTypesConfig;PK�y�\"�Νsscjs/types.jsnu�[���"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); //# sourceMappingURL=types.js.mapPK�y�\+h����cjs/EnterLeaveCounter.jsnu�[���"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.EnterLeaveCounter = void 0; var _js_utils = require("./utils/js_utils"); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } var EnterLeaveCounter = /*#__PURE__*/function () { function EnterLeaveCounter(isNodeInDocument) { _classCallCheck(this, EnterLeaveCounter); this.entered = []; this.isNodeInDocument = isNodeInDocument; } _createClass(EnterLeaveCounter, [{ key: "enter", value: function enter(enteringNode) { var _this = this; var previousLength = this.entered.length; var isNodeEntered = function isNodeEntered(node) { return _this.isNodeInDocument(node) && (!node.contains || node.contains(enteringNode)); }; this.entered = (0, _js_utils.union)(this.entered.filter(isNodeEntered), [enteringNode]); return previousLength === 0 && this.entered.length > 0; } }, { key: "leave", value: function leave(leavingNode) { var previousLength = this.entered.length; this.entered = (0, _js_utils.without)(this.entered.filter(this.isNodeInDocument), leavingNode); return previousLength > 0 && this.entered.length === 0; } }, { key: "reset", value: function reset() { this.entered = []; } }]); return EnterLeaveCounter; }(); exports.EnterLeaveCounter = EnterLeaveCounter;PK�y�\܆ (eecjs/HTML5BackendImpl.jsnu�[���"use strict"; function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } Object.defineProperty(exports, "__esModule", { value: true }); exports.HTML5BackendImpl = void 0; var _EnterLeaveCounter = require("./EnterLeaveCounter"); var _BrowserDetector = require("./BrowserDetector"); var _OffsetUtils = require("./OffsetUtils"); var _NativeDragSources = require("./NativeDragSources"); var NativeTypes = _interopRequireWildcard(require("./NativeTypes")); var _OptionsReader = require("./OptionsReader"); function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; } function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } var HTML5BackendImpl = /*#__PURE__*/function () { function HTML5BackendImpl(manager, globalContext) { var _this = this; _classCallCheck(this, HTML5BackendImpl); this.sourcePreviewNodes = new Map(); this.sourcePreviewNodeOptions = new Map(); this.sourceNodes = new Map(); this.sourceNodeOptions = new Map(); this.dragStartSourceIds = null; this.dropTargetIds = []; this.dragEnterTargetIds = []; this.currentNativeSource = null; this.currentNativeHandle = null; this.currentDragSourceNode = null; this.altKeyPressed = false; this.mouseMoveTimeoutTimer = null; this.asyncEndDragFrameId = null; this.dragOverTargetIds = null; this.getSourceClientOffset = function (sourceId) { var source = _this.sourceNodes.get(sourceId); return source && (0, _OffsetUtils.getNodeClientOffset)(source) || null; }; this.endDragNativeItem = function () { if (!_this.isDraggingNativeItem()) { return; } _this.actions.endDrag(); if (_this.currentNativeHandle) { _this.registry.removeSource(_this.currentNativeHandle); } _this.currentNativeHandle = null; _this.currentNativeSource = null; }; this.isNodeInDocument = function (node) { // Check the node either in the main document or in the current context return Boolean(node && _this.document && _this.document.body && document.body.contains(node)); }; this.endDragIfSourceWasRemovedFromDOM = function () { var node = _this.currentDragSourceNode; if (_this.isNodeInDocument(node)) { return; } if (_this.clearCurrentDragSourceNode()) { _this.actions.endDrag(); } }; this.handleTopDragStartCapture = function () { _this.clearCurrentDragSourceNode(); _this.dragStartSourceIds = []; }; this.handleTopDragStart = function (e) { if (e.defaultPrevented) { return; } var dragStartSourceIds = _this.dragStartSourceIds; _this.dragStartSourceIds = null; var clientOffset = (0, _OffsetUtils.getEventClientOffset)(e); // Avoid crashing if we missed a drop event or our previous drag died if (_this.monitor.isDragging()) { _this.actions.endDrag(); } // Don't publish the source just yet (see why below) _this.actions.beginDrag(dragStartSourceIds || [], { publishSource: false, getSourceClientOffset: _this.getSourceClientOffset, clientOffset: clientOffset }); var dataTransfer = e.dataTransfer; var nativeType = (0, _NativeDragSources.matchNativeItemType)(dataTransfer); if (_this.monitor.isDragging()) { if (dataTransfer && typeof dataTransfer.setDragImage === 'function') { // Use custom drag image if user specifies it. // If child drag source refuses drag but parent agrees, // use parent's node as drag image. Neither works in IE though. var sourceId = _this.monitor.getSourceId(); var sourceNode = _this.sourceNodes.get(sourceId); var dragPreview = _this.sourcePreviewNodes.get(sourceId) || sourceNode; if (dragPreview) { var _this$getCurrentSourc = _this.getCurrentSourcePreviewNodeOptions(), anchorX = _this$getCurrentSourc.anchorX, anchorY = _this$getCurrentSourc.anchorY, offsetX = _this$getCurrentSourc.offsetX, offsetY = _this$getCurrentSourc.offsetY; var anchorPoint = { anchorX: anchorX, anchorY: anchorY }; var offsetPoint = { offsetX: offsetX, offsetY: offsetY }; var dragPreviewOffset = (0, _OffsetUtils.getDragPreviewOffset)(sourceNode, dragPreview, clientOffset, anchorPoint, offsetPoint); dataTransfer.setDragImage(dragPreview, dragPreviewOffset.x, dragPreviewOffset.y); } } try { // Firefox won't drag without setting data dataTransfer === null || dataTransfer === void 0 ? void 0 : dataTransfer.setData('application/json', {}); } catch (err) {} // IE doesn't support MIME types in setData // Store drag source node so we can check whether // it is removed from DOM and trigger endDrag manually. _this.setCurrentDragSourceNode(e.target); // Now we are ready to publish the drag source.. or are we not? var _this$getCurrentSourc2 = _this.getCurrentSourcePreviewNodeOptions(), captureDraggingState = _this$getCurrentSourc2.captureDraggingState; if (!captureDraggingState) { // Usually we want to publish it in the next tick so that browser // is able to screenshot the current (not yet dragging) state. // // It also neatly avoids a situation where render() returns null // in the same tick for the source element, and browser freaks out. setTimeout(function () { return _this.actions.publishDragSource(); }, 0); } else { // In some cases the user may want to override this behavior, e.g. // to work around IE not supporting custom drag previews. // // When using a custom drag layer, the only way to prevent // the default drag preview from drawing in IE is to screenshot // the dragging state in which the node itself has zero opacity // and height. In this case, though, returning null from render() // will abruptly end the dragging, which is not obvious. // // This is the reason such behavior is strictly opt-in. _this.actions.publishDragSource(); } } else if (nativeType) { // A native item (such as URL) dragged from inside the document _this.beginDragNativeItem(nativeType); } else if (dataTransfer && !dataTransfer.types && (e.target && !e.target.hasAttribute || !e.target.hasAttribute('draggable'))) { // Looks like a Safari bug: dataTransfer.types is null, but there was no draggable. // Just let it drag. It's a native type (URL or text) and will be picked up in // dragenter handler. return; } else { // If by this time no drag source reacted, tell browser not to drag. e.preventDefault(); } }; this.handleTopDragEndCapture = function () { if (_this.clearCurrentDragSourceNode()) { // Firefox can dispatch this event in an infinite loop // if dragend handler does something like showing an alert. // Only proceed if we have not handled it already. _this.actions.endDrag(); } }; this.handleTopDragEnterCapture = function (e) { _this.dragEnterTargetIds = []; var isFirstEnter = _this.enterLeaveCounter.enter(e.target); if (!isFirstEnter || _this.monitor.isDragging()) { return; } var dataTransfer = e.dataTransfer; var nativeType = (0, _NativeDragSources.matchNativeItemType)(dataTransfer); if (nativeType) { // A native item (such as file or URL) dragged from outside the document _this.beginDragNativeItem(nativeType, dataTransfer); } }; this.handleTopDragEnter = function (e) { var dragEnterTargetIds = _this.dragEnterTargetIds; _this.dragEnterTargetIds = []; if (!_this.monitor.isDragging()) { // This is probably a native item type we don't understand. return; } _this.altKeyPressed = e.altKey; if (!(0, _BrowserDetector.isFirefox)()) { // Don't emit hover in `dragenter` on Firefox due to an edge case. // If the target changes position as the result of `dragenter`, Firefox // will still happily dispatch `dragover` despite target being no longer // there. The easy solution is to only fire `hover` in `dragover` on FF. _this.actions.hover(dragEnterTargetIds, { clientOffset: (0, _OffsetUtils.getEventClientOffset)(e) }); } var canDrop = dragEnterTargetIds.some(function (targetId) { return _this.monitor.canDropOnTarget(targetId); }); if (canDrop) { // IE requires this to fire dragover events e.preventDefault(); if (e.dataTransfer) { e.dataTransfer.dropEffect = _this.getCurrentDropEffect(); } } }; this.handleTopDragOverCapture = function () { _this.dragOverTargetIds = []; }; this.handleTopDragOver = function (e) { var dragOverTargetIds = _this.dragOverTargetIds; _this.dragOverTargetIds = []; if (!_this.monitor.isDragging()) { // This is probably a native item type we don't understand. // Prevent default "drop and blow away the whole document" action. e.preventDefault(); if (e.dataTransfer) { e.dataTransfer.dropEffect = 'none'; } return; } _this.altKeyPressed = e.altKey; _this.actions.hover(dragOverTargetIds || [], { clientOffset: (0, _OffsetUtils.getEventClientOffset)(e) }); var canDrop = (dragOverTargetIds || []).some(function (targetId) { return _this.monitor.canDropOnTarget(targetId); }); if (canDrop) { // Show user-specified drop effect. e.preventDefault(); if (e.dataTransfer) { e.dataTransfer.dropEffect = _this.getCurrentDropEffect(); } } else if (_this.isDraggingNativeItem()) { // Don't show a nice cursor but still prevent default // "drop and blow away the whole document" action. e.preventDefault(); } else { e.preventDefault(); if (e.dataTransfer) { e.dataTransfer.dropEffect = 'none'; } } }; this.handleTopDragLeaveCapture = function (e) { if (_this.isDraggingNativeItem()) { e.preventDefault(); } var isLastLeave = _this.enterLeaveCounter.leave(e.target); if (!isLastLeave) { return; } if (_this.isDraggingNativeItem()) { _this.endDragNativeItem(); } }; this.handleTopDropCapture = function (e) { _this.dropTargetIds = []; e.preventDefault(); if (_this.isDraggingNativeItem()) { var _this$currentNativeSo; (_this$currentNativeSo = _this.currentNativeSource) === null || _this$currentNativeSo === void 0 ? void 0 : _this$currentNativeSo.loadDataTransfer(e.dataTransfer); } _this.enterLeaveCounter.reset(); }; this.handleTopDrop = function (e) { var dropTargetIds = _this.dropTargetIds; _this.dropTargetIds = []; _this.actions.hover(dropTargetIds, { clientOffset: (0, _OffsetUtils.getEventClientOffset)(e) }); _this.actions.drop({ dropEffect: _this.getCurrentDropEffect() }); if (_this.isDraggingNativeItem()) { _this.endDragNativeItem(); } else { _this.endDragIfSourceWasRemovedFromDOM(); } }; this.handleSelectStart = function (e) { var target = e.target; // Only IE requires us to explicitly say // we want drag drop operation to start if (typeof target.dragDrop !== 'function') { return; } // Inputs and textareas should be selectable if (target.tagName === 'INPUT' || target.tagName === 'SELECT' || target.tagName === 'TEXTAREA' || target.isContentEditable) { return; } // For other targets, ask IE // to enable drag and drop e.preventDefault(); target.dragDrop(); }; this.options = new _OptionsReader.OptionsReader(globalContext); this.actions = manager.getActions(); this.monitor = manager.getMonitor(); this.registry = manager.getRegistry(); this.enterLeaveCounter = new _EnterLeaveCounter.EnterLeaveCounter(this.isNodeInDocument); } /** * Generate profiling statistics for the HTML5Backend. */ _createClass(HTML5BackendImpl, [{ key: "profile", value: function profile() { var _this$dragStartSource, _this$dragOverTargetI; return { sourcePreviewNodes: this.sourcePreviewNodes.size, sourcePreviewNodeOptions: this.sourcePreviewNodeOptions.size, sourceNodeOptions: this.sourceNodeOptions.size, sourceNodes: this.sourceNodes.size, dragStartSourceIds: ((_this$dragStartSource = this.dragStartSourceIds) === null || _this$dragStartSource === void 0 ? void 0 : _this$dragStartSource.length) || 0, dropTargetIds: this.dropTargetIds.length, dragEnterTargetIds: this.dragEnterTargetIds.length, dragOverTargetIds: ((_this$dragOverTargetI = this.dragOverTargetIds) === null || _this$dragOverTargetI === void 0 ? void 0 : _this$dragOverTargetI.length) || 0 }; } // public for test }, { key: "setup", value: function setup() { if (this.window === undefined) { return; } if (this.window.__isReactDndBackendSetUp) { throw new Error('Cannot have two HTML5 backends at the same time.'); } this.window.__isReactDndBackendSetUp = true; this.addEventListeners(this.window); } }, { key: "teardown", value: function teardown() { if (this.window === undefined) { return; } this.window.__isReactDndBackendSetUp = false; this.removeEventListeners(this.window); this.clearCurrentDragSourceNode(); if (this.asyncEndDragFrameId) { this.window.cancelAnimationFrame(this.asyncEndDragFrameId); } } }, { key: "connectDragPreview", value: function connectDragPreview(sourceId, node, options) { var _this2 = this; this.sourcePreviewNodeOptions.set(sourceId, options); this.sourcePreviewNodes.set(sourceId, node); return function () { _this2.sourcePreviewNodes.delete(sourceId); _this2.sourcePreviewNodeOptions.delete(sourceId); }; } }, { key: "connectDragSource", value: function connectDragSource(sourceId, node, options) { var _this3 = this; this.sourceNodes.set(sourceId, node); this.sourceNodeOptions.set(sourceId, options); var handleDragStart = function handleDragStart(e) { return _this3.handleDragStart(e, sourceId); }; var handleSelectStart = function handleSelectStart(e) { return _this3.handleSelectStart(e); }; node.setAttribute('draggable', 'true'); node.addEventListener('dragstart', handleDragStart); node.addEventListener('selectstart', handleSelectStart); return function () { _this3.sourceNodes.delete(sourceId); _this3.sourceNodeOptions.delete(sourceId); node.removeEventListener('dragstart', handleDragStart); node.removeEventListener('selectstart', handleSelectStart); node.setAttribute('draggable', 'false'); }; } }, { key: "connectDropTarget", value: function connectDropTarget(targetId, node) { var _this4 = this; var handleDragEnter = function handleDragEnter(e) { return _this4.handleDragEnter(e, targetId); }; var handleDragOver = function handleDragOver(e) { return _this4.handleDragOver(e, targetId); }; var handleDrop = function handleDrop(e) { return _this4.handleDrop(e, targetId); }; node.addEventListener('dragenter', handleDragEnter); node.addEventListener('dragover', handleDragOver); node.addEventListener('drop', handleDrop); return function () { node.removeEventListener('dragenter', handleDragEnter); node.removeEventListener('dragover', handleDragOver); node.removeEventListener('drop', handleDrop); }; } }, { key: "addEventListeners", value: function addEventListeners(target) { // SSR Fix (https://github.com/react-dnd/react-dnd/pull/813 if (!target.addEventListener) { return; } target.addEventListener('dragstart', this.handleTopDragStart); target.addEventListener('dragstart', this.handleTopDragStartCapture, true); target.addEventListener('dragend', this.handleTopDragEndCapture, true); target.addEventListener('dragenter', this.handleTopDragEnter); target.addEventListener('dragenter', this.handleTopDragEnterCapture, true); target.addEventListener('dragleave', this.handleTopDragLeaveCapture, true); target.addEventListener('dragover', this.handleTopDragOver); target.addEventListener('dragover', this.handleTopDragOverCapture, true); target.addEventListener('drop', this.handleTopDrop); target.addEventListener('drop', this.handleTopDropCapture, true); } }, { key: "removeEventListeners", value: function removeEventListeners(target) { // SSR Fix (https://github.com/react-dnd/react-dnd/pull/813 if (!target.removeEventListener) { return; } target.removeEventListener('dragstart', this.handleTopDragStart); target.removeEventListener('dragstart', this.handleTopDragStartCapture, true); target.removeEventListener('dragend', this.handleTopDragEndCapture, true); target.removeEventListener('dragenter', this.handleTopDragEnter); target.removeEventListener('dragenter', this.handleTopDragEnterCapture, true); target.removeEventListener('dragleave', this.handleTopDragLeaveCapture, true); target.removeEventListener('dragover', this.handleTopDragOver); target.removeEventListener('dragover', this.handleTopDragOverCapture, true); target.removeEventListener('drop', this.handleTopDrop); target.removeEventListener('drop', this.handleTopDropCapture, true); } }, { key: "getCurrentSourceNodeOptions", value: function getCurrentSourceNodeOptions() { var sourceId = this.monitor.getSourceId(); var sourceNodeOptions = this.sourceNodeOptions.get(sourceId); return _objectSpread({ dropEffect: this.altKeyPressed ? 'copy' : 'move' }, sourceNodeOptions || {}); } }, { key: "getCurrentDropEffect", value: function getCurrentDropEffect() { if (this.isDraggingNativeItem()) { // It makes more sense to default to 'copy' for native resources return 'copy'; } return this.getCurrentSourceNodeOptions().dropEffect; } }, { key: "getCurrentSourcePreviewNodeOptions", value: function getCurrentSourcePreviewNodeOptions() { var sourceId = this.monitor.getSourceId(); var sourcePreviewNodeOptions = this.sourcePreviewNodeOptions.get(sourceId); return _objectSpread({ anchorX: 0.5, anchorY: 0.5, captureDraggingState: false }, sourcePreviewNodeOptions || {}); } }, { key: "isDraggingNativeItem", value: function isDraggingNativeItem() { var itemType = this.monitor.getItemType(); return Object.keys(NativeTypes).some(function (key) { return NativeTypes[key] === itemType; }); } }, { key: "beginDragNativeItem", value: function beginDragNativeItem(type, dataTransfer) { this.clearCurrentDragSourceNode(); this.currentNativeSource = (0, _NativeDragSources.createNativeDragSource)(type, dataTransfer); this.currentNativeHandle = this.registry.addSource(type, this.currentNativeSource); this.actions.beginDrag([this.currentNativeHandle]); } }, { key: "setCurrentDragSourceNode", value: function setCurrentDragSourceNode(node) { var _this5 = this; this.clearCurrentDragSourceNode(); this.currentDragSourceNode = node; // A timeout of > 0 is necessary to resolve Firefox issue referenced // See: // * https://github.com/react-dnd/react-dnd/pull/928 // * https://github.com/react-dnd/react-dnd/issues/869 var MOUSE_MOVE_TIMEOUT = 1000; // Receiving a mouse event in the middle of a dragging operation // means it has ended and the drag source node disappeared from DOM, // so the browser didn't dispatch the dragend event. // // We need to wait before we start listening for mousemove events. // This is needed because the drag preview needs to be drawn or else it fires an 'mousemove' event // immediately in some browsers. // // See: // * https://github.com/react-dnd/react-dnd/pull/928 // * https://github.com/react-dnd/react-dnd/issues/869 // this.mouseMoveTimeoutTimer = setTimeout(function () { return _this5.window && _this5.window.addEventListener('mousemove', _this5.endDragIfSourceWasRemovedFromDOM, true); }, MOUSE_MOVE_TIMEOUT); } }, { key: "clearCurrentDragSourceNode", value: function clearCurrentDragSourceNode() { if (this.currentDragSourceNode) { this.currentDragSourceNode = null; if (this.window) { this.window.clearTimeout(this.mouseMoveTimeoutTimer || undefined); this.window.removeEventListener('mousemove', this.endDragIfSourceWasRemovedFromDOM, true); } this.mouseMoveTimeoutTimer = null; return true; } return false; } }, { key: "handleDragStart", value: function handleDragStart(e, sourceId) { if (e.defaultPrevented) { return; } if (!this.dragStartSourceIds) { this.dragStartSourceIds = []; } this.dragStartSourceIds.unshift(sourceId); } }, { key: "handleDragEnter", value: function handleDragEnter(e, targetId) { this.dragEnterTargetIds.unshift(targetId); } }, { key: "handleDragOver", value: function handleDragOver(e, targetId) { if (this.dragOverTargetIds === null) { this.dragOverTargetIds = []; } this.dragOverTargetIds.unshift(targetId); } }, { key: "handleDrop", value: function handleDrop(e, targetId) { this.dropTargetIds.unshift(targetId); } }, { key: "window", get: function get() { return this.options.window; } }, { key: "document", get: function get() { return this.options.document; } }]); return HTML5BackendImpl; }(); exports.HTML5BackendImpl = HTML5BackendImpl;PK�y�\ɟ$$cjs/OffsetUtils.jsnu�[���"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getNodeClientOffset = getNodeClientOffset; exports.getEventClientOffset = getEventClientOffset; exports.getDragPreviewOffset = getDragPreviewOffset; var _BrowserDetector = require("./BrowserDetector"); var _MonotonicInterpolant = require("./MonotonicInterpolant"); var ELEMENT_NODE = 1; function getNodeClientOffset(node) { var el = node.nodeType === ELEMENT_NODE ? node : node.parentElement; if (!el) { return null; } var _el$getBoundingClient = el.getBoundingClientRect(), top = _el$getBoundingClient.top, left = _el$getBoundingClient.left; return { x: left, y: top }; } function getEventClientOffset(e) { return { x: e.clientX, y: e.clientY }; } function isImageNode(node) { var _document$documentEle; return node.nodeName === 'IMG' && ((0, _BrowserDetector.isFirefox)() || !((_document$documentEle = document.documentElement) === null || _document$documentEle === void 0 ? void 0 : _document$documentEle.contains(node))); } function getDragPreviewSize(isImage, dragPreview, sourceWidth, sourceHeight) { var dragPreviewWidth = isImage ? dragPreview.width : sourceWidth; var dragPreviewHeight = isImage ? dragPreview.height : sourceHeight; // Work around @2x coordinate discrepancies in browsers if ((0, _BrowserDetector.isSafari)() && isImage) { dragPreviewHeight /= window.devicePixelRatio; dragPreviewWidth /= window.devicePixelRatio; } return { dragPreviewWidth: dragPreviewWidth, dragPreviewHeight: dragPreviewHeight }; } function getDragPreviewOffset(sourceNode, dragPreview, clientOffset, anchorPoint, offsetPoint) { // The browsers will use the image intrinsic size under different conditions. // Firefox only cares if it's an image, but WebKit also wants it to be detached. var isImage = isImageNode(dragPreview); var dragPreviewNode = isImage ? sourceNode : dragPreview; var dragPreviewNodeOffsetFromClient = getNodeClientOffset(dragPreviewNode); var offsetFromDragPreview = { x: clientOffset.x - dragPreviewNodeOffsetFromClient.x, y: clientOffset.y - dragPreviewNodeOffsetFromClient.y }; var sourceWidth = sourceNode.offsetWidth, sourceHeight = sourceNode.offsetHeight; var anchorX = anchorPoint.anchorX, anchorY = anchorPoint.anchorY; var _getDragPreviewSize = getDragPreviewSize(isImage, dragPreview, sourceWidth, sourceHeight), dragPreviewWidth = _getDragPreviewSize.dragPreviewWidth, dragPreviewHeight = _getDragPreviewSize.dragPreviewHeight; var calculateYOffset = function calculateYOffset() { var interpolantY = new _MonotonicInterpolant.MonotonicInterpolant([0, 0.5, 1], [// Dock to the top offsetFromDragPreview.y, // Align at the center offsetFromDragPreview.y / sourceHeight * dragPreviewHeight, // Dock to the bottom offsetFromDragPreview.y + dragPreviewHeight - sourceHeight]); var y = interpolantY.interpolate(anchorY); // Work around Safari 8 positioning bug if ((0, _BrowserDetector.isSafari)() && isImage) { // We'll have to wait for @3x to see if this is entirely correct y += (window.devicePixelRatio - 1) * dragPreviewHeight; } return y; }; var calculateXOffset = function calculateXOffset() { // Interpolate coordinates depending on anchor point // If you know a simpler way to do this, let me know var interpolantX = new _MonotonicInterpolant.MonotonicInterpolant([0, 0.5, 1], [// Dock to the left offsetFromDragPreview.x, // Align at the center offsetFromDragPreview.x / sourceWidth * dragPreviewWidth, // Dock to the right offsetFromDragPreview.x + dragPreviewWidth - sourceWidth]); return interpolantX.interpolate(anchorX); }; // Force offsets if specified in the options. var offsetX = offsetPoint.offsetX, offsetY = offsetPoint.offsetY; var isManualOffsetX = offsetX === 0 || offsetX; var isManualOffsetY = offsetY === 0 || offsetY; return { x: isManualOffsetX ? offsetX : calculateXOffset(), y: isManualOffsetY ? offsetY : calculateYOffset() }; }PK�y�\�|��TTcjs/getEmptyImage.jsnu�[���"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getEmptyImage = getEmptyImage; var emptyImage; function getEmptyImage() { if (!emptyImage) { emptyImage = new Image(); emptyImage.src = 'data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=='; } return emptyImage; }PK�y�\�^cjs/NativeTypes.jsnu�[���"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.TEXT = exports.URL = exports.FILE = void 0; var FILE = '__NATIVE_FILE__'; exports.FILE = FILE; var URL = '__NATIVE_URL__'; exports.URL = URL; var TEXT = '__NATIVE_TEXT__'; exports.TEXT = TEXT;PK�y�\�ZI� � cjs/MonotonicInterpolant.jsnu�[���"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.MonotonicInterpolant = void 0; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } var MonotonicInterpolant = /*#__PURE__*/function () { function MonotonicInterpolant(xs, ys) { _classCallCheck(this, MonotonicInterpolant); var length = xs.length; // Rearrange xs and ys so that xs is sorted var indexes = []; for (var i = 0; i < length; i++) { indexes.push(i); } indexes.sort(function (a, b) { return xs[a] < xs[b] ? -1 : 1; }); // Get consecutive differences and slopes var dys = []; var dxs = []; var ms = []; var dx; var dy; for (var _i = 0; _i < length - 1; _i++) { dx = xs[_i + 1] - xs[_i]; dy = ys[_i + 1] - ys[_i]; dxs.push(dx); dys.push(dy); ms.push(dy / dx); } // Get degree-1 coefficients var c1s = [ms[0]]; for (var _i2 = 0; _i2 < dxs.length - 1; _i2++) { var m2 = ms[_i2]; var mNext = ms[_i2 + 1]; if (m2 * mNext <= 0) { c1s.push(0); } else { dx = dxs[_i2]; var dxNext = dxs[_i2 + 1]; var common = dx + dxNext; c1s.push(3 * common / ((common + dxNext) / m2 + (common + dx) / mNext)); } } c1s.push(ms[ms.length - 1]); // Get degree-2 and degree-3 coefficients var c2s = []; var c3s = []; var m; for (var _i3 = 0; _i3 < c1s.length - 1; _i3++) { m = ms[_i3]; var c1 = c1s[_i3]; var invDx = 1 / dxs[_i3]; var _common = c1 + c1s[_i3 + 1] - m - m; c2s.push((m - c1 - _common) * invDx); c3s.push(_common * invDx * invDx); } this.xs = xs; this.ys = ys; this.c1s = c1s; this.c2s = c2s; this.c3s = c3s; } _createClass(MonotonicInterpolant, [{ key: "interpolate", value: function interpolate(x) { var xs = this.xs, ys = this.ys, c1s = this.c1s, c2s = this.c2s, c3s = this.c3s; // The rightmost point in the dataset should give an exact result var i = xs.length - 1; if (x === xs[i]) { return ys[i]; } // Search for the interval x is in, returning the corresponding y if x is one of the original xs var low = 0; var high = c3s.length - 1; var mid; while (low <= high) { mid = Math.floor(0.5 * (low + high)); var xHere = xs[mid]; if (xHere < x) { low = mid + 1; } else if (xHere > x) { high = mid - 1; } else { return ys[mid]; } } i = Math.max(0, high); // Interpolate var diff = x - xs[i]; var diffSq = diff * diff; return ys[i] + c1s[i] * diff + c2s[i] * diffSq + c3s[i] * diff * diffSq; } }]); return MonotonicInterpolant; }(); exports.MonotonicInterpolant = MonotonicInterpolant;PK�y�\���:��cjs/BrowserDetector.jsnu�[���"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isSafari = exports.isFirefox = void 0; var _js_utils = require("./utils/js_utils"); var isFirefox = (0, _js_utils.memoize)(function () { return /firefox/i.test(navigator.userAgent); }); exports.isFirefox = isFirefox; var isSafari = (0, _js_utils.memoize)(function () { return Boolean(window.safari); }); exports.isSafari = isSafari;PK�y�\�^}++esm/OptionsReader.jsnu�[���function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } export var OptionsReader = /*#__PURE__*/function () { function OptionsReader(globalContext) { _classCallCheck(this, OptionsReader); this.globalContext = globalContext; } _createClass(OptionsReader, [{ key: "window", get: function get() { if (this.globalContext) { return this.globalContext; } else if (typeof window !== 'undefined') { return window; } return undefined; } }, { key: "document", get: function get() { if (this.window) { return this.window.document; } return undefined; } }]); return OptionsReader; }();PK�y�\�yT0esm/NativeDragSources/getDataFromDataTransfer.jsnu�[���export function getDataFromDataTransfer(dataTransfer, typesToTry, defaultValue) { var result = typesToTry.reduce(function (resultSoFar, typeToTry) { return resultSoFar || dataTransfer.getData(typeToTry); }, ''); return result != null ? result : defaultValue; }PK�y�\r ���esm/NativeDragSources/index.jsnu�[���import { nativeTypesConfig } from './nativeTypesConfig'; import { NativeDragSource } from './NativeDragSource'; export function createNativeDragSource(type, dataTransfer) { var result = new NativeDragSource(nativeTypesConfig[type]); result.loadDataTransfer(dataTransfer); return result; } export function matchNativeItemType(dataTransfer) { if (!dataTransfer) { return null; } var dataTransferTypes = Array.prototype.slice.call(dataTransfer.types || []); return Object.keys(nativeTypesConfig).filter(function (nativeItemType) { var matchesTypes = nativeTypesConfig[nativeItemType].matchesTypes; return matchesTypes.some(function (t) { return dataTransferTypes.indexOf(t) > -1; }); })[0] || null; }PK�y�\����� � )esm/NativeDragSources/NativeDragSource.jsnu�[���function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } export var NativeDragSource = /*#__PURE__*/function () { function NativeDragSource(config) { _classCallCheck(this, NativeDragSource); this.config = config; this.item = {}; this.initializeExposedProperties(); } _createClass(NativeDragSource, [{ key: "initializeExposedProperties", value: function initializeExposedProperties() { var _this = this; Object.keys(this.config.exposeProperties).forEach(function (property) { Object.defineProperty(_this.item, property, { configurable: true, enumerable: true, get: function get() { // eslint-disable-next-line no-console console.warn("Browser doesn't allow reading \"".concat(property, "\" until the drop event.")); return null; } }); }); } }, { key: "loadDataTransfer", value: function loadDataTransfer(dataTransfer) { var _this2 = this; if (dataTransfer) { var newProperties = {}; Object.keys(this.config.exposeProperties).forEach(function (property) { newProperties[property] = { value: _this2.config.exposeProperties[property](dataTransfer, _this2.config.matchesTypes), configurable: true, enumerable: true }; }); Object.defineProperties(this.item, newProperties); } } }, { key: "canDrag", value: function canDrag() { return true; } }, { key: "beginDrag", value: function beginDrag() { return this.item; } }, { key: "isDragging", value: function isDragging(monitor, handle) { return handle === monitor.getSourceId(); } }, { key: "endDrag", value: function endDrag() {// empty } }]); return NativeDragSource; }();PK�y�\�v�m��*esm/NativeDragSources/nativeTypesConfig.jsnu�[���var _nativeTypesConfig; function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } import * as NativeTypes from '../NativeTypes'; import { getDataFromDataTransfer } from './getDataFromDataTransfer'; export var nativeTypesConfig = (_nativeTypesConfig = {}, _defineProperty(_nativeTypesConfig, NativeTypes.FILE, { exposeProperties: { files: function files(dataTransfer) { return Array.prototype.slice.call(dataTransfer.files); }, items: function items(dataTransfer) { return dataTransfer.items; } }, matchesTypes: ['Files'] }), _defineProperty(_nativeTypesConfig, NativeTypes.URL, { exposeProperties: { urls: function urls(dataTransfer, matchesTypes) { return getDataFromDataTransfer(dataTransfer, matchesTypes, '').split('\n'); } }, matchesTypes: ['Url', 'text/uri-list'] }), _defineProperty(_nativeTypesConfig, NativeTypes.TEXT, { exposeProperties: { text: function text(dataTransfer, matchesTypes) { return getDataFromDataTransfer(dataTransfer, matchesTypes, ''); } }, matchesTypes: ['Text', 'text/plain'] }), _nativeTypesConfig);PK�y�\esm/types.jsnu�[���PK�y�\C�C77esm/EnterLeaveCounter.jsnu�[���function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } import { union, without } from './utils/js_utils'; export var EnterLeaveCounter = /*#__PURE__*/function () { function EnterLeaveCounter(isNodeInDocument) { _classCallCheck(this, EnterLeaveCounter); this.entered = []; this.isNodeInDocument = isNodeInDocument; } _createClass(EnterLeaveCounter, [{ key: "enter", value: function enter(enteringNode) { var _this = this; var previousLength = this.entered.length; var isNodeEntered = function isNodeEntered(node) { return _this.isNodeInDocument(node) && (!node.contains || node.contains(enteringNode)); }; this.entered = union(this.entered.filter(isNodeEntered), [enteringNode]); return previousLength === 0 && this.entered.length > 0; } }, { key: "leave", value: function leave(leavingNode) { var previousLength = this.entered.length; this.entered = without(this.entered.filter(this.isNodeInDocument), leavingNode); return previousLength > 0 && this.entered.length === 0; } }, { key: "reset", value: function reset() { this.entered = []; } }]); return EnterLeaveCounter; }();PK�y�\^��|^|^esm/HTML5BackendImpl.jsnu�[���function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } import { EnterLeaveCounter } from './EnterLeaveCounter'; import { isFirefox } from './BrowserDetector'; import { getNodeClientOffset, getEventClientOffset, getDragPreviewOffset } from './OffsetUtils'; import { createNativeDragSource, matchNativeItemType } from './NativeDragSources'; import * as NativeTypes from './NativeTypes'; import { OptionsReader } from './OptionsReader'; export var HTML5BackendImpl = /*#__PURE__*/function () { function HTML5BackendImpl(manager, globalContext) { var _this = this; _classCallCheck(this, HTML5BackendImpl); this.sourcePreviewNodes = new Map(); this.sourcePreviewNodeOptions = new Map(); this.sourceNodes = new Map(); this.sourceNodeOptions = new Map(); this.dragStartSourceIds = null; this.dropTargetIds = []; this.dragEnterTargetIds = []; this.currentNativeSource = null; this.currentNativeHandle = null; this.currentDragSourceNode = null; this.altKeyPressed = false; this.mouseMoveTimeoutTimer = null; this.asyncEndDragFrameId = null; this.dragOverTargetIds = null; this.getSourceClientOffset = function (sourceId) { var source = _this.sourceNodes.get(sourceId); return source && getNodeClientOffset(source) || null; }; this.endDragNativeItem = function () { if (!_this.isDraggingNativeItem()) { return; } _this.actions.endDrag(); if (_this.currentNativeHandle) { _this.registry.removeSource(_this.currentNativeHandle); } _this.currentNativeHandle = null; _this.currentNativeSource = null; }; this.isNodeInDocument = function (node) { // Check the node either in the main document or in the current context return Boolean(node && _this.document && _this.document.body && document.body.contains(node)); }; this.endDragIfSourceWasRemovedFromDOM = function () { var node = _this.currentDragSourceNode; if (_this.isNodeInDocument(node)) { return; } if (_this.clearCurrentDragSourceNode()) { _this.actions.endDrag(); } }; this.handleTopDragStartCapture = function () { _this.clearCurrentDragSourceNode(); _this.dragStartSourceIds = []; }; this.handleTopDragStart = function (e) { if (e.defaultPrevented) { return; } var dragStartSourceIds = _this.dragStartSourceIds; _this.dragStartSourceIds = null; var clientOffset = getEventClientOffset(e); // Avoid crashing if we missed a drop event or our previous drag died if (_this.monitor.isDragging()) { _this.actions.endDrag(); } // Don't publish the source just yet (see why below) _this.actions.beginDrag(dragStartSourceIds || [], { publishSource: false, getSourceClientOffset: _this.getSourceClientOffset, clientOffset: clientOffset }); var dataTransfer = e.dataTransfer; var nativeType = matchNativeItemType(dataTransfer); if (_this.monitor.isDragging()) { if (dataTransfer && typeof dataTransfer.setDragImage === 'function') { // Use custom drag image if user specifies it. // If child drag source refuses drag but parent agrees, // use parent's node as drag image. Neither works in IE though. var sourceId = _this.monitor.getSourceId(); var sourceNode = _this.sourceNodes.get(sourceId); var dragPreview = _this.sourcePreviewNodes.get(sourceId) || sourceNode; if (dragPreview) { var _this$getCurrentSourc = _this.getCurrentSourcePreviewNodeOptions(), anchorX = _this$getCurrentSourc.anchorX, anchorY = _this$getCurrentSourc.anchorY, offsetX = _this$getCurrentSourc.offsetX, offsetY = _this$getCurrentSourc.offsetY; var anchorPoint = { anchorX: anchorX, anchorY: anchorY }; var offsetPoint = { offsetX: offsetX, offsetY: offsetY }; var dragPreviewOffset = getDragPreviewOffset(sourceNode, dragPreview, clientOffset, anchorPoint, offsetPoint); dataTransfer.setDragImage(dragPreview, dragPreviewOffset.x, dragPreviewOffset.y); } } try { // Firefox won't drag without setting data dataTransfer === null || dataTransfer === void 0 ? void 0 : dataTransfer.setData('application/json', {}); } catch (err) {} // IE doesn't support MIME types in setData // Store drag source node so we can check whether // it is removed from DOM and trigger endDrag manually. _this.setCurrentDragSourceNode(e.target); // Now we are ready to publish the drag source.. or are we not? var _this$getCurrentSourc2 = _this.getCurrentSourcePreviewNodeOptions(), captureDraggingState = _this$getCurrentSourc2.captureDraggingState; if (!captureDraggingState) { // Usually we want to publish it in the next tick so that browser // is able to screenshot the current (not yet dragging) state. // // It also neatly avoids a situation where render() returns null // in the same tick for the source element, and browser freaks out. setTimeout(function () { return _this.actions.publishDragSource(); }, 0); } else { // In some cases the user may want to override this behavior, e.g. // to work around IE not supporting custom drag previews. // // When using a custom drag layer, the only way to prevent // the default drag preview from drawing in IE is to screenshot // the dragging state in which the node itself has zero opacity // and height. In this case, though, returning null from render() // will abruptly end the dragging, which is not obvious. // // This is the reason such behavior is strictly opt-in. _this.actions.publishDragSource(); } } else if (nativeType) { // A native item (such as URL) dragged from inside the document _this.beginDragNativeItem(nativeType); } else if (dataTransfer && !dataTransfer.types && (e.target && !e.target.hasAttribute || !e.target.hasAttribute('draggable'))) { // Looks like a Safari bug: dataTransfer.types is null, but there was no draggable. // Just let it drag. It's a native type (URL or text) and will be picked up in // dragenter handler. return; } else { // If by this time no drag source reacted, tell browser not to drag. e.preventDefault(); } }; this.handleTopDragEndCapture = function () { if (_this.clearCurrentDragSourceNode()) { // Firefox can dispatch this event in an infinite loop // if dragend handler does something like showing an alert. // Only proceed if we have not handled it already. _this.actions.endDrag(); } }; this.handleTopDragEnterCapture = function (e) { _this.dragEnterTargetIds = []; var isFirstEnter = _this.enterLeaveCounter.enter(e.target); if (!isFirstEnter || _this.monitor.isDragging()) { return; } var dataTransfer = e.dataTransfer; var nativeType = matchNativeItemType(dataTransfer); if (nativeType) { // A native item (such as file or URL) dragged from outside the document _this.beginDragNativeItem(nativeType, dataTransfer); } }; this.handleTopDragEnter = function (e) { var dragEnterTargetIds = _this.dragEnterTargetIds; _this.dragEnterTargetIds = []; if (!_this.monitor.isDragging()) { // This is probably a native item type we don't understand. return; } _this.altKeyPressed = e.altKey; if (!isFirefox()) { // Don't emit hover in `dragenter` on Firefox due to an edge case. // If the target changes position as the result of `dragenter`, Firefox // will still happily dispatch `dragover` despite target being no longer // there. The easy solution is to only fire `hover` in `dragover` on FF. _this.actions.hover(dragEnterTargetIds, { clientOffset: getEventClientOffset(e) }); } var canDrop = dragEnterTargetIds.some(function (targetId) { return _this.monitor.canDropOnTarget(targetId); }); if (canDrop) { // IE requires this to fire dragover events e.preventDefault(); if (e.dataTransfer) { e.dataTransfer.dropEffect = _this.getCurrentDropEffect(); } } }; this.handleTopDragOverCapture = function () { _this.dragOverTargetIds = []; }; this.handleTopDragOver = function (e) { var dragOverTargetIds = _this.dragOverTargetIds; _this.dragOverTargetIds = []; if (!_this.monitor.isDragging()) { // This is probably a native item type we don't understand. // Prevent default "drop and blow away the whole document" action. e.preventDefault(); if (e.dataTransfer) { e.dataTransfer.dropEffect = 'none'; } return; } _this.altKeyPressed = e.altKey; _this.actions.hover(dragOverTargetIds || [], { clientOffset: getEventClientOffset(e) }); var canDrop = (dragOverTargetIds || []).some(function (targetId) { return _this.monitor.canDropOnTarget(targetId); }); if (canDrop) { // Show user-specified drop effect. e.preventDefault(); if (e.dataTransfer) { e.dataTransfer.dropEffect = _this.getCurrentDropEffect(); } } else if (_this.isDraggingNativeItem()) { // Don't show a nice cursor but still prevent default // "drop and blow away the whole document" action. e.preventDefault(); } else { e.preventDefault(); if (e.dataTransfer) { e.dataTransfer.dropEffect = 'none'; } } }; this.handleTopDragLeaveCapture = function (e) { if (_this.isDraggingNativeItem()) { e.preventDefault(); } var isLastLeave = _this.enterLeaveCounter.leave(e.target); if (!isLastLeave) { return; } if (_this.isDraggingNativeItem()) { _this.endDragNativeItem(); } }; this.handleTopDropCapture = function (e) { _this.dropTargetIds = []; e.preventDefault(); if (_this.isDraggingNativeItem()) { var _this$currentNativeSo; (_this$currentNativeSo = _this.currentNativeSource) === null || _this$currentNativeSo === void 0 ? void 0 : _this$currentNativeSo.loadDataTransfer(e.dataTransfer); } _this.enterLeaveCounter.reset(); }; this.handleTopDrop = function (e) { var dropTargetIds = _this.dropTargetIds; _this.dropTargetIds = []; _this.actions.hover(dropTargetIds, { clientOffset: getEventClientOffset(e) }); _this.actions.drop({ dropEffect: _this.getCurrentDropEffect() }); if (_this.isDraggingNativeItem()) { _this.endDragNativeItem(); } else { _this.endDragIfSourceWasRemovedFromDOM(); } }; this.handleSelectStart = function (e) { var target = e.target; // Only IE requires us to explicitly say // we want drag drop operation to start if (typeof target.dragDrop !== 'function') { return; } // Inputs and textareas should be selectable if (target.tagName === 'INPUT' || target.tagName === 'SELECT' || target.tagName === 'TEXTAREA' || target.isContentEditable) { return; } // For other targets, ask IE // to enable drag and drop e.preventDefault(); target.dragDrop(); }; this.options = new OptionsReader(globalContext); this.actions = manager.getActions(); this.monitor = manager.getMonitor(); this.registry = manager.getRegistry(); this.enterLeaveCounter = new EnterLeaveCounter(this.isNodeInDocument); } /** * Generate profiling statistics for the HTML5Backend. */ _createClass(HTML5BackendImpl, [{ key: "profile", value: function profile() { var _this$dragStartSource, _this$dragOverTargetI; return { sourcePreviewNodes: this.sourcePreviewNodes.size, sourcePreviewNodeOptions: this.sourcePreviewNodeOptions.size, sourceNodeOptions: this.sourceNodeOptions.size, sourceNodes: this.sourceNodes.size, dragStartSourceIds: ((_this$dragStartSource = this.dragStartSourceIds) === null || _this$dragStartSource === void 0 ? void 0 : _this$dragStartSource.length) || 0, dropTargetIds: this.dropTargetIds.length, dragEnterTargetIds: this.dragEnterTargetIds.length, dragOverTargetIds: ((_this$dragOverTargetI = this.dragOverTargetIds) === null || _this$dragOverTargetI === void 0 ? void 0 : _this$dragOverTargetI.length) || 0 }; } // public for test }, { key: "setup", value: function setup() { if (this.window === undefined) { return; } if (this.window.__isReactDndBackendSetUp) { throw new Error('Cannot have two HTML5 backends at the same time.'); } this.window.__isReactDndBackendSetUp = true; this.addEventListeners(this.window); } }, { key: "teardown", value: function teardown() { if (this.window === undefined) { return; } this.window.__isReactDndBackendSetUp = false; this.removeEventListeners(this.window); this.clearCurrentDragSourceNode(); if (this.asyncEndDragFrameId) { this.window.cancelAnimationFrame(this.asyncEndDragFrameId); } } }, { key: "connectDragPreview", value: function connectDragPreview(sourceId, node, options) { var _this2 = this; this.sourcePreviewNodeOptions.set(sourceId, options); this.sourcePreviewNodes.set(sourceId, node); return function () { _this2.sourcePreviewNodes.delete(sourceId); _this2.sourcePreviewNodeOptions.delete(sourceId); }; } }, { key: "connectDragSource", value: function connectDragSource(sourceId, node, options) { var _this3 = this; this.sourceNodes.set(sourceId, node); this.sourceNodeOptions.set(sourceId, options); var handleDragStart = function handleDragStart(e) { return _this3.handleDragStart(e, sourceId); }; var handleSelectStart = function handleSelectStart(e) { return _this3.handleSelectStart(e); }; node.setAttribute('draggable', 'true'); node.addEventListener('dragstart', handleDragStart); node.addEventListener('selectstart', handleSelectStart); return function () { _this3.sourceNodes.delete(sourceId); _this3.sourceNodeOptions.delete(sourceId); node.removeEventListener('dragstart', handleDragStart); node.removeEventListener('selectstart', handleSelectStart); node.setAttribute('draggable', 'false'); }; } }, { key: "connectDropTarget", value: function connectDropTarget(targetId, node) { var _this4 = this; var handleDragEnter = function handleDragEnter(e) { return _this4.handleDragEnter(e, targetId); }; var handleDragOver = function handleDragOver(e) { return _this4.handleDragOver(e, targetId); }; var handleDrop = function handleDrop(e) { return _this4.handleDrop(e, targetId); }; node.addEventListener('dragenter', handleDragEnter); node.addEventListener('dragover', handleDragOver); node.addEventListener('drop', handleDrop); return function () { node.removeEventListener('dragenter', handleDragEnter); node.removeEventListener('dragover', handleDragOver); node.removeEventListener('drop', handleDrop); }; } }, { key: "addEventListeners", value: function addEventListeners(target) { // SSR Fix (https://github.com/react-dnd/react-dnd/pull/813 if (!target.addEventListener) { return; } target.addEventListener('dragstart', this.handleTopDragStart); target.addEventListener('dragstart', this.handleTopDragStartCapture, true); target.addEventListener('dragend', this.handleTopDragEndCapture, true); target.addEventListener('dragenter', this.handleTopDragEnter); target.addEventListener('dragenter', this.handleTopDragEnterCapture, true); target.addEventListener('dragleave', this.handleTopDragLeaveCapture, true); target.addEventListener('dragover', this.handleTopDragOver); target.addEventListener('dragover', this.handleTopDragOverCapture, true); target.addEventListener('drop', this.handleTopDrop); target.addEventListener('drop', this.handleTopDropCapture, true); } }, { key: "removeEventListeners", value: function removeEventListeners(target) { // SSR Fix (https://github.com/react-dnd/react-dnd/pull/813 if (!target.removeEventListener) { return; } target.removeEventListener('dragstart', this.handleTopDragStart); target.removeEventListener('dragstart', this.handleTopDragStartCapture, true); target.removeEventListener('dragend', this.handleTopDragEndCapture, true); target.removeEventListener('dragenter', this.handleTopDragEnter); target.removeEventListener('dragenter', this.handleTopDragEnterCapture, true); target.removeEventListener('dragleave', this.handleTopDragLeaveCapture, true); target.removeEventListener('dragover', this.handleTopDragOver); target.removeEventListener('dragover', this.handleTopDragOverCapture, true); target.removeEventListener('drop', this.handleTopDrop); target.removeEventListener('drop', this.handleTopDropCapture, true); } }, { key: "getCurrentSourceNodeOptions", value: function getCurrentSourceNodeOptions() { var sourceId = this.monitor.getSourceId(); var sourceNodeOptions = this.sourceNodeOptions.get(sourceId); return _objectSpread({ dropEffect: this.altKeyPressed ? 'copy' : 'move' }, sourceNodeOptions || {}); } }, { key: "getCurrentDropEffect", value: function getCurrentDropEffect() { if (this.isDraggingNativeItem()) { // It makes more sense to default to 'copy' for native resources return 'copy'; } return this.getCurrentSourceNodeOptions().dropEffect; } }, { key: "getCurrentSourcePreviewNodeOptions", value: function getCurrentSourcePreviewNodeOptions() { var sourceId = this.monitor.getSourceId(); var sourcePreviewNodeOptions = this.sourcePreviewNodeOptions.get(sourceId); return _objectSpread({ anchorX: 0.5, anchorY: 0.5, captureDraggingState: false }, sourcePreviewNodeOptions || {}); } }, { key: "isDraggingNativeItem", value: function isDraggingNativeItem() { var itemType = this.monitor.getItemType(); return Object.keys(NativeTypes).some(function (key) { return NativeTypes[key] === itemType; }); } }, { key: "beginDragNativeItem", value: function beginDragNativeItem(type, dataTransfer) { this.clearCurrentDragSourceNode(); this.currentNativeSource = createNativeDragSource(type, dataTransfer); this.currentNativeHandle = this.registry.addSource(type, this.currentNativeSource); this.actions.beginDrag([this.currentNativeHandle]); } }, { key: "setCurrentDragSourceNode", value: function setCurrentDragSourceNode(node) { var _this5 = this; this.clearCurrentDragSourceNode(); this.currentDragSourceNode = node; // A timeout of > 0 is necessary to resolve Firefox issue referenced // See: // * https://github.com/react-dnd/react-dnd/pull/928 // * https://github.com/react-dnd/react-dnd/issues/869 var MOUSE_MOVE_TIMEOUT = 1000; // Receiving a mouse event in the middle of a dragging operation // means it has ended and the drag source node disappeared from DOM, // so the browser didn't dispatch the dragend event. // // We need to wait before we start listening for mousemove events. // This is needed because the drag preview needs to be drawn or else it fires an 'mousemove' event // immediately in some browsers. // // See: // * https://github.com/react-dnd/react-dnd/pull/928 // * https://github.com/react-dnd/react-dnd/issues/869 // this.mouseMoveTimeoutTimer = setTimeout(function () { return _this5.window && _this5.window.addEventListener('mousemove', _this5.endDragIfSourceWasRemovedFromDOM, true); }, MOUSE_MOVE_TIMEOUT); } }, { key: "clearCurrentDragSourceNode", value: function clearCurrentDragSourceNode() { if (this.currentDragSourceNode) { this.currentDragSourceNode = null; if (this.window) { this.window.clearTimeout(this.mouseMoveTimeoutTimer || undefined); this.window.removeEventListener('mousemove', this.endDragIfSourceWasRemovedFromDOM, true); } this.mouseMoveTimeoutTimer = null; return true; } return false; } }, { key: "handleDragStart", value: function handleDragStart(e, sourceId) { if (e.defaultPrevented) { return; } if (!this.dragStartSourceIds) { this.dragStartSourceIds = []; } this.dragStartSourceIds.unshift(sourceId); } }, { key: "handleDragEnter", value: function handleDragEnter(e, targetId) { this.dragEnterTargetIds.unshift(targetId); } }, { key: "handleDragOver", value: function handleDragOver(e, targetId) { if (this.dragOverTargetIds === null) { this.dragOverTargetIds = []; } this.dragOverTargetIds.unshift(targetId); } }, { key: "handleDrop", value: function handleDrop(e, targetId) { this.dropTargetIds.unshift(targetId); } }, { key: "window", get: function get() { return this.options.window; } }, { key: "document", get: function get() { return this.options.document; } }]); return HTML5BackendImpl; }();PK�y�\Ou�!��esm/OffsetUtils.jsnu�[���import { isSafari, isFirefox } from './BrowserDetector'; import { MonotonicInterpolant } from './MonotonicInterpolant'; var ELEMENT_NODE = 1; export function getNodeClientOffset(node) { var el = node.nodeType === ELEMENT_NODE ? node : node.parentElement; if (!el) { return null; } var _el$getBoundingClient = el.getBoundingClientRect(), top = _el$getBoundingClient.top, left = _el$getBoundingClient.left; return { x: left, y: top }; } export function getEventClientOffset(e) { return { x: e.clientX, y: e.clientY }; } function isImageNode(node) { var _document$documentEle; return node.nodeName === 'IMG' && (isFirefox() || !((_document$documentEle = document.documentElement) === null || _document$documentEle === void 0 ? void 0 : _document$documentEle.contains(node))); } function getDragPreviewSize(isImage, dragPreview, sourceWidth, sourceHeight) { var dragPreviewWidth = isImage ? dragPreview.width : sourceWidth; var dragPreviewHeight = isImage ? dragPreview.height : sourceHeight; // Work around @2x coordinate discrepancies in browsers if (isSafari() && isImage) { dragPreviewHeight /= window.devicePixelRatio; dragPreviewWidth /= window.devicePixelRatio; } return { dragPreviewWidth: dragPreviewWidth, dragPreviewHeight: dragPreviewHeight }; } export function getDragPreviewOffset(sourceNode, dragPreview, clientOffset, anchorPoint, offsetPoint) { // The browsers will use the image intrinsic size under different conditions. // Firefox only cares if it's an image, but WebKit also wants it to be detached. var isImage = isImageNode(dragPreview); var dragPreviewNode = isImage ? sourceNode : dragPreview; var dragPreviewNodeOffsetFromClient = getNodeClientOffset(dragPreviewNode); var offsetFromDragPreview = { x: clientOffset.x - dragPreviewNodeOffsetFromClient.x, y: clientOffset.y - dragPreviewNodeOffsetFromClient.y }; var sourceWidth = sourceNode.offsetWidth, sourceHeight = sourceNode.offsetHeight; var anchorX = anchorPoint.anchorX, anchorY = anchorPoint.anchorY; var _getDragPreviewSize = getDragPreviewSize(isImage, dragPreview, sourceWidth, sourceHeight), dragPreviewWidth = _getDragPreviewSize.dragPreviewWidth, dragPreviewHeight = _getDragPreviewSize.dragPreviewHeight; var calculateYOffset = function calculateYOffset() { var interpolantY = new MonotonicInterpolant([0, 0.5, 1], [// Dock to the top offsetFromDragPreview.y, // Align at the center offsetFromDragPreview.y / sourceHeight * dragPreviewHeight, // Dock to the bottom offsetFromDragPreview.y + dragPreviewHeight - sourceHeight]); var y = interpolantY.interpolate(anchorY); // Work around Safari 8 positioning bug if (isSafari() && isImage) { // We'll have to wait for @3x to see if this is entirely correct y += (window.devicePixelRatio - 1) * dragPreviewHeight; } return y; }; var calculateXOffset = function calculateXOffset() { // Interpolate coordinates depending on anchor point // If you know a simpler way to do this, let me know var interpolantX = new MonotonicInterpolant([0, 0.5, 1], [// Dock to the left offsetFromDragPreview.x, // Align at the center offsetFromDragPreview.x / sourceWidth * dragPreviewWidth, // Dock to the right offsetFromDragPreview.x + dragPreviewWidth - sourceWidth]); return interpolantX.interpolate(anchorX); }; // Force offsets if specified in the options. var offsetX = offsetPoint.offsetX, offsetY = offsetPoint.offsetY; var isManualOffsetX = offsetX === 0 || offsetX; var isManualOffsetY = offsetY === 0 || offsetY; return { x: isManualOffsetX ? offsetX : calculateXOffset(), y: isManualOffsetY ? offsetY : calculateYOffset() }; }PK�y�\�g���esm/getEmptyImage.jsnu�[���var emptyImage; export function getEmptyImage() { if (!emptyImage) { emptyImage = new Image(); emptyImage.src = 'data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=='; } return emptyImage; }PK�y�\u�Ebllesm/NativeTypes.jsnu�[���export var FILE = '__NATIVE_FILE__'; export var URL = '__NATIVE_URL__'; export var TEXT = '__NATIVE_TEXT__';PK�y�\��� esm/MonotonicInterpolant.jsnu�[���function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } export var MonotonicInterpolant = /*#__PURE__*/function () { function MonotonicInterpolant(xs, ys) { _classCallCheck(this, MonotonicInterpolant); var length = xs.length; // Rearrange xs and ys so that xs is sorted var indexes = []; for (var i = 0; i < length; i++) { indexes.push(i); } indexes.sort(function (a, b) { return xs[a] < xs[b] ? -1 : 1; }); // Get consecutive differences and slopes var dys = []; var dxs = []; var ms = []; var dx; var dy; for (var _i = 0; _i < length - 1; _i++) { dx = xs[_i + 1] - xs[_i]; dy = ys[_i + 1] - ys[_i]; dxs.push(dx); dys.push(dy); ms.push(dy / dx); } // Get degree-1 coefficients var c1s = [ms[0]]; for (var _i2 = 0; _i2 < dxs.length - 1; _i2++) { var m2 = ms[_i2]; var mNext = ms[_i2 + 1]; if (m2 * mNext <= 0) { c1s.push(0); } else { dx = dxs[_i2]; var dxNext = dxs[_i2 + 1]; var common = dx + dxNext; c1s.push(3 * common / ((common + dxNext) / m2 + (common + dx) / mNext)); } } c1s.push(ms[ms.length - 1]); // Get degree-2 and degree-3 coefficients var c2s = []; var c3s = []; var m; for (var _i3 = 0; _i3 < c1s.length - 1; _i3++) { m = ms[_i3]; var c1 = c1s[_i3]; var invDx = 1 / dxs[_i3]; var _common = c1 + c1s[_i3 + 1] - m - m; c2s.push((m - c1 - _common) * invDx); c3s.push(_common * invDx * invDx); } this.xs = xs; this.ys = ys; this.c1s = c1s; this.c2s = c2s; this.c3s = c3s; } _createClass(MonotonicInterpolant, [{ key: "interpolate", value: function interpolate(x) { var xs = this.xs, ys = this.ys, c1s = this.c1s, c2s = this.c2s, c3s = this.c3s; // The rightmost point in the dataset should give an exact result var i = xs.length - 1; if (x === xs[i]) { return ys[i]; } // Search for the interval x is in, returning the corresponding y if x is one of the original xs var low = 0; var high = c3s.length - 1; var mid; while (low <= high) { mid = Math.floor(0.5 * (low + high)); var xHere = xs[mid]; if (xHere < x) { low = mid + 1; } else if (xHere > x) { high = mid - 1; } else { return ys[mid]; } } i = Math.max(0, high); // Interpolate var diff = x - xs[i]; var diffSq = diff * diff; return ys[i] + c1s[i] * diff + c2s[i] * diffSq + c3s[i] * diff * diffSq; } }]); return MonotonicInterpolant; }();PK�y�\DX)e��esm/BrowserDetector.jsnu�[���import { memoize } from './utils/js_utils'; export var isFirefox = memoize(function () { return /firefox/i.test(navigator.userAgent); }); export var isSafari = memoize(function () { return Boolean(window.safari); });PK�z�\z� �W�Wbootstrap-tagsinput.jsnu�[���(function ($) { "use strict"; var defaultOptions = { tagClass: function(item) { return 'label label-info'; }, itemValue: function(item) { return item ? item.toString() : item; }, itemText: function(item) { return this.itemValue(item); }, itemTitle: function(item) { return null; }, freeInput: true, addOnBlur: true, maxTags: undefined, maxChars: undefined, confirmKeys: [13, 44], delimiter: ',', delimiterRegex: null, cancelConfirmKeysOnEmpty: false, onTagExists: function(item, $tag) { $tag.hide().fadeIn(); }, trimValue: false, allowDuplicates: false }; /** * Constructor function */ function TagsInput(element, options) { this.isInit = true; this.itemsArray = []; this.$element = $(element); this.$element.hide(); this.isSelect = (element.tagName === 'SELECT'); this.multiple = (this.isSelect && element.hasAttribute('multiple')); this.objectItems = options && options.itemValue; this.placeholderText = element.hasAttribute('placeholder') ? this.$element.attr('placeholder') : ''; this.inputSize = Math.max(1, this.placeholderText.length); this.$container = $('<div class="bootstrap-tagsinput"></div>'); this.$input = $('<input type="text" placeholder="' + this.placeholderText + '"/>').appendTo(this.$container); this.$element.before(this.$container); this.build(options); this.isInit = false; } TagsInput.prototype = { constructor: TagsInput, /** * Adds the given item as a new tag. Pass true to dontPushVal to prevent * updating the elements val() */ add: function(item, dontPushVal, options) { var self = this; if (self.options.maxTags && self.itemsArray.length >= self.options.maxTags) return; // Ignore falsey values, except false if (item !== false && !item) return; // Trim value if (typeof item === "string" && self.options.trimValue) { item = $.trim(item); } // Throw an error when trying to add an object while the itemValue option was not set if (typeof item === "object" && !self.objectItems) throw("Can't add objects when itemValue option is not set"); // Ignore strings only containg whitespace if (item.toString().match(/^\s*$/)) return; // If SELECT but not multiple, remove current tag if (self.isSelect && !self.multiple && self.itemsArray.length > 0) self.remove(self.itemsArray[0]); if (typeof item === "string" && this.$element[0].tagName === 'INPUT') { var delimiter = (self.options.delimiterRegex) ? self.options.delimiterRegex : self.options.delimiter; var items = item.split(delimiter); if (items.length > 1) { for (var i = 0; i < items.length; i++) { this.add(items[i], true); } if (!dontPushVal) self.pushVal(); return; } } var itemValue = self.options.itemValue(item), itemText = self.options.itemText(item), tagClass = self.options.tagClass(item), itemTitle = self.options.itemTitle(item); // Ignore items allready added var existing = $.grep(self.itemsArray, function(item) { return self.options.itemValue(item) === itemValue; } )[0]; if (existing && !self.options.allowDuplicates) { // Invoke onTagExists if (self.options.onTagExists) { var $existingTag = $(".tag", self.$container).filter(function() { return $(this).data("item") === existing; }); self.options.onTagExists(item, $existingTag); } return; } // if length greater than limit if (self.items().toString().length + item.length + 1 > self.options.maxInputLength) return; // raise beforeItemAdd arg var beforeItemAddEvent = $.Event('beforeItemAdd', { item: item, cancel: false, options: options}); self.$element.trigger(beforeItemAddEvent); if (beforeItemAddEvent.cancel) return; // register item in internal array and map self.itemsArray.push(item); // add a tag element var $tag = $('<span class="tag ' + htmlEncode(tagClass) + (itemTitle !== null ? ('" title="' + itemTitle) : '') + '">' + htmlEncode(itemText) + '<span data-role="remove"></span></span>'); $tag.data('item', item); self.findInputWrapper().before($tag); $tag.after(' '); // Check to see if the tag exists in its raw or uri-encoded form var optionExists = ( $('option[value="' + encodeURIComponent(itemValue) + '"]', self.$element).length || $('option[value="' + htmlEncode(itemValue) + '"]', self.$element).length ); // add <option /> if item represents a value not present in one of the <select />'s options if (self.isSelect && !optionExists) { var $option = $('<option selected>' + htmlEncode(itemText) + '</option>'); $option.data('item', item); $option.attr('value', itemValue); self.$element.append($option); } if (!dontPushVal) self.pushVal(); // Add class when reached maxTags if (self.options.maxTags === self.itemsArray.length || self.items().toString().length === self.options.maxInputLength) self.$container.addClass('bootstrap-tagsinput-max'); // If using typeahead, once the tag has been added, clear the typeahead value so it does not stick around in the input. if ($('.typeahead, .twitter-typeahead', self.$container).length) { self.$input.typeahead('val', ''); } if (this.isInit) { self.$element.trigger($.Event('itemAddedOnInit', { item: item, options: options })); } else { self.$element.trigger($.Event('itemAdded', { item: item, options: options })); } }, /** * Removes the given item. Pass true to dontPushVal to prevent updating the * elements val() */ remove: function(item, dontPushVal, options) { var self = this; if (self.objectItems) { if (typeof item === "object") item = $.grep(self.itemsArray, function(other) { return self.options.itemValue(other) == self.options.itemValue(item); } ); else item = $.grep(self.itemsArray, function(other) { return self.options.itemValue(other) == item; } ); item = item[item.length-1]; } if (item) { var beforeItemRemoveEvent = $.Event('beforeItemRemove', { item: item, cancel: false, options: options }); self.$element.trigger(beforeItemRemoveEvent); if (beforeItemRemoveEvent.cancel) return; $('.tag', self.$container).filter(function() { return $(this).data('item') === item; }).remove(); $('option', self.$element).filter(function() { return $(this).data('item') === item; }).remove(); if($.inArray(item, self.itemsArray) !== -1) self.itemsArray.splice($.inArray(item, self.itemsArray), 1); } if (!dontPushVal) self.pushVal(); // Remove class when reached maxTags if (self.options.maxTags > self.itemsArray.length) self.$container.removeClass('bootstrap-tagsinput-max'); self.$element.trigger($.Event('itemRemoved', { item: item, options: options })); }, /** * Removes all items */ removeAll: function() { var self = this; $('.tag', self.$container).remove(); $('option', self.$element).remove(); while(self.itemsArray.length > 0) self.itemsArray.pop(); self.pushVal(); }, /** * Refreshes the tags so they match the text/value of their corresponding * item. */ refresh: function() { var self = this; $('.tag', self.$container).each(function() { var $tag = $(this), item = $tag.data('item'), itemValue = self.options.itemValue(item), itemText = self.options.itemText(item), tagClass = self.options.tagClass(item); // Update tag's class and inner text $tag.attr('class', null); $tag.addClass('tag ' + htmlEncode(tagClass)); $tag.contents().filter(function() { return this.nodeType == 3; })[0].nodeValue = htmlEncode(itemText); if (self.isSelect) { var option = $('option', self.$element).filter(function() { return $(this).data('item') === item; }); option.attr('value', itemValue); } }); }, /** * Returns the items added as tags */ items: function() { return this.itemsArray; }, /** * Assembly value by retrieving the value of each item, and set it on the * element. */ pushVal: function() { var self = this, val = $.map(self.items(), function(item) { return self.options.itemValue(item).toString(); }); self.$element.val(val, true).trigger('change'); }, /** * Initializes the tags input behaviour on the element */ build: function(options) { var self = this; self.options = $.extend({}, defaultOptions, options); // When itemValue is set, freeInput should always be false if (self.objectItems) self.options.freeInput = false; makeOptionItemFunction(self.options, 'itemValue'); makeOptionItemFunction(self.options, 'itemText'); makeOptionFunction(self.options, 'tagClass'); // Typeahead Bootstrap version 2.3.2 if (self.options.typeahead) { var typeahead = self.options.typeahead || {}; makeOptionFunction(typeahead, 'source'); self.$input.typeahead($.extend({}, typeahead, { source: function (query, process) { function processItems(items) { var texts = []; for (var i = 0; i < items.length; i++) { var text = self.options.itemText(items[i]); map[text] = items[i]; texts.push(text); } process(texts); } this.map = {}; var map = this.map, data = typeahead.source(query); if ($.isFunction(data.success)) { // support for Angular callbacks data.success(processItems); } else if ($.isFunction(data.then)) { // support for Angular promises data.then(processItems); } else { // support for functions and jquery promises $.when(data) .then(processItems); } }, updater: function (text) { self.add(this.map[text]); return this.map[text]; }, matcher: function (text) { return (text.toLowerCase().indexOf(this.query.trim().toLowerCase()) !== -1); }, sorter: function (texts) { return texts.sort(); }, highlighter: function (text) { var regex = new RegExp( '(' + this.query + ')', 'gi' ); return text.replace( regex, "<strong>$1</strong>" ); } })); } // typeahead.js if (self.options.typeaheadjs) { var typeaheadConfig = null; var typeaheadDatasets = {}; // Determine if main configurations were passed or simply a dataset var typeaheadjs = self.options.typeaheadjs; if ($.isArray(typeaheadjs)) { typeaheadConfig = typeaheadjs[0]; typeaheadDatasets = typeaheadjs[1]; } else { typeaheadDatasets = typeaheadjs; } self.$input.typeahead(typeaheadConfig, typeaheadDatasets).on('typeahead:selected', $.proxy(function (obj, datum) { if (typeaheadDatasets.valueKey) self.add(datum[typeaheadDatasets.valueKey]); else self.add(datum); self.$input.typeahead('val', ''); }, self)); } self.$container.on('click', $.proxy(function(event) { if (! self.$element.attr('disabled')) { self.$input.removeAttr('disabled'); } self.$input.focus(); }, self)); if (self.options.addOnBlur && self.options.freeInput) { self.$input.on('focusout', $.proxy(function(event) { // HACK: only process on focusout when no typeahead opened, to // avoid adding the typeahead text as tag if ($('.typeahead, .twitter-typeahead', self.$container).length === 0) { self.add(self.$input.val()); self.$input.val(''); } }, self)); } self.$container.on('keydown', 'input', $.proxy(function(event) { var $input = $(event.target), $inputWrapper = self.findInputWrapper(); if (self.$element.attr('disabled')) { self.$input.attr('disabled', 'disabled'); return; } switch (event.which) { // BACKSPACE case 8: if (doGetCaretPosition($input[0]) === 0) { var prev = $inputWrapper.prev(); if (prev.length) { self.remove(prev.data('item')); } } break; // DELETE case 46: if (doGetCaretPosition($input[0]) === 0) { var next = $inputWrapper.next(); if (next.length) { self.remove(next.data('item')); } } break; // LEFT ARROW case 37: // Try to move the input before the previous tag var $prevTag = $inputWrapper.prev(); if ($input.val().length === 0 && $prevTag[0]) { $prevTag.before($inputWrapper); $input.focus(); } break; // RIGHT ARROW case 39: // Try to move the input after the next tag var $nextTag = $inputWrapper.next(); if ($input.val().length === 0 && $nextTag[0]) { $nextTag.after($inputWrapper); $input.focus(); } break; default: // ignore } // Reset internal input's size var textLength = $input.val().length, wordSpace = Math.ceil(textLength / 5), size = textLength + wordSpace + 1; $input.attr('size', Math.max(this.inputSize, $input.val().length)); }, self)); self.$container.on('keypress', 'input', $.proxy(function(event) { var $input = $(event.target); if (self.$element.attr('disabled')) { self.$input.attr('disabled', 'disabled'); return; } var text = $input.val(), maxLengthReached = self.options.maxChars && text.length >= self.options.maxChars; if (self.options.freeInput && (keyCombinationInList(event, self.options.confirmKeys) || maxLengthReached)) { // Only attempt to add a tag if there is data in the field if (text.length !== 0) { self.add(maxLengthReached ? text.substr(0, self.options.maxChars) : text); $input.val(''); } // If the field is empty, let the event triggered fire as usual if (self.options.cancelConfirmKeysOnEmpty === false) { event.preventDefault(); } } // Reset internal input's size var textLength = $input.val().length, wordSpace = Math.ceil(textLength / 5), size = textLength + wordSpace + 1; $input.attr('size', Math.max(this.inputSize, $input.val().length)); }, self)); // Remove icon clicked self.$container.on('click', '[data-role=remove]', $.proxy(function(event) { if (self.$element.attr('disabled')) { return; } self.remove($(event.target).closest('.tag').data('item')); }, self)); // Only add existing value as tags when using strings as tags if (self.options.itemValue === defaultOptions.itemValue) { if (self.$element[0].tagName === 'INPUT') { self.add(self.$element.val()); } else { $('option', self.$element).each(function() { self.add($(this).attr('value'), true); }); } } }, /** * Removes all tagsinput behaviour and unregsiter all event handlers */ destroy: function() { var self = this; // Unbind events self.$container.off('keypress', 'input'); self.$container.off('click', '[role=remove]'); self.$container.remove(); self.$element.removeData('tagsinput'); self.$element.show(); }, /** * Sets focus on the tagsinput */ focus: function() { this.$input.focus(); }, /** * Returns the internal input element */ input: function() { return this.$input; }, /** * Returns the element which is wrapped around the internal input. This * is normally the $container, but typeahead.js moves the $input element. */ findInputWrapper: function() { var elt = this.$input[0], container = this.$container[0]; while(elt && elt.parentNode !== container) elt = elt.parentNode; return $(elt); } }; /** * Register JQuery plugin */ $.fn.tagsinput = function(arg1, arg2, arg3) { var results = []; this.each(function() { var tagsinput = $(this).data('tagsinput'); // Initialize a new tags input if (!tagsinput) { tagsinput = new TagsInput(this, arg1); $(this).data('tagsinput', tagsinput); results.push(tagsinput); if (this.tagName === 'SELECT') { $('option', $(this)).attr('selected', 'selected'); } // Init tags from $(this).val() $(this).val($(this).val()); } else if (!arg1 && !arg2) { // tagsinput already exists // no function, trying to init results.push(tagsinput); } else if(tagsinput[arg1] !== undefined) { // Invoke function on existing tags input if(tagsinput[arg1].length === 3 && arg3 !== undefined){ var retVal = tagsinput[arg1](arg2, null, arg3); }else{ var retVal = tagsinput[arg1](arg2); } if (retVal !== undefined) results.push(retVal); } }); if ( typeof arg1 == 'string') { // Return the results from the invoked function calls return results.length > 1 ? results : results[0]; } else { return results; } }; $.fn.tagsinput.Constructor = TagsInput; /** * Most options support both a string or number as well as a function as * option value. This function makes sure that the option with the given * key in the given options is wrapped in a function */ function makeOptionItemFunction(options, key) { if (typeof options[key] !== 'function') { var propertyName = options[key]; options[key] = function(item) { return item[propertyName]; }; } } function makeOptionFunction(options, key) { if (typeof options[key] !== 'function') { var value = options[key]; options[key] = function() { return value; }; } } /** * HtmlEncodes the given value */ var htmlEncodeContainer = $('<div />'); function htmlEncode(value) { if (value) { return htmlEncodeContainer.text(value).html(); } else { return ''; } } /** * Returns the position of the caret in the given input field * http://flightschool.acylt.com/devnotes/caret-position-woes/ */ function doGetCaretPosition(oField) { var iCaretPos = 0; if (document.selection) { oField.focus (); var oSel = document.selection.createRange(); oSel.moveStart ('character', -oField.value.length); iCaretPos = oSel.text.length; } else if (oField.selectionStart || oField.selectionStart == '0') { iCaretPos = oField.selectionStart; } return (iCaretPos); } /** * Returns boolean indicates whether user has pressed an expected key combination. * @param object keyPressEvent: JavaScript event object, refer * http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html * @param object lookupList: expected key combinations, as in: * [13, {which: 188, shiftKey: true}] */ function keyCombinationInList(keyPressEvent, lookupList) { var found = false; $.each(lookupList, function (index, keyCombination) { if (typeof (keyCombination) === 'number' && keyPressEvent.which === keyCombination) { found = true; return false; } if (keyPressEvent.which === keyCombination.which) { var alt = !keyCombination.hasOwnProperty('altKey') || keyPressEvent.altKey === keyCombination.altKey, shift = !keyCombination.hasOwnProperty('shiftKey') || keyPressEvent.shiftKey === keyCombination.shiftKey, ctrl = !keyCombination.hasOwnProperty('ctrlKey') || keyPressEvent.ctrlKey === keyCombination.ctrlKey; if (alt && shift && ctrl) { found = true; return false; } } }); return found; } /** * Initialize tagsinput behaviour on inputs and selects which have * data-role=tagsinput */ $(function() { $("input[data-role=tagsinput], select[multiple][data-role=tagsinput]").tagsinput(); }); })(window.jQuery); PK�z�\C�.��#�#bootstrap-tagsinput.min.jsnu�[���/* * bootstrap-tagsinput v0.7.1 by Tim Schlechter * */ !function(a){"use strict";function b(b,c){this.isInit=!0,this.itemsArray=[],this.$element=a(b),this.$element.hide(),this.isSelect="SELECT"===b.tagName,this.multiple=this.isSelect&&b.hasAttribute("multiple"),this.objectItems=c&&c.itemValue,this.placeholderText=b.hasAttribute("placeholder")?this.$element.attr("placeholder"):"",this.inputSize=Math.max(1,this.placeholderText.length),this.$container=a('<div class="bootstrap-tagsinput"></div>'),this.$input=a('<input type="text" placeholder="'+this.placeholderText+'"/>').appendTo(this.$container),this.$element.before(this.$container),this.build(c),this.isInit=!1}function c(a,b){if("function"!=typeof a[b]){var c=a[b];a[b]=function(a){return a[c]}}}function d(a,b){if("function"!=typeof a[b]){var c=a[b];a[b]=function(){return c}}}function e(a){return a?i.text(a).html():""}function f(a){var b=0;if(document.selection){a.focus();var c=document.selection.createRange();c.moveStart("character",-a.value.length),b=c.text.length}else(a.selectionStart||"0"==a.selectionStart)&&(b=a.selectionStart);return b}function g(b,c){var d=!1;return a.each(c,function(a,c){if("number"==typeof c&&b.which===c)return d=!0,!1;if(b.which===c.which){var e=!c.hasOwnProperty("altKey")||b.altKey===c.altKey,f=!c.hasOwnProperty("shiftKey")||b.shiftKey===c.shiftKey,g=!c.hasOwnProperty("ctrlKey")||b.ctrlKey===c.ctrlKey;if(e&&f&&g)return d=!0,!1}}),d}var h={tagClass:function(a){return"label label-info"},itemValue:function(a){return a?a.toString():a},itemText:function(a){return this.itemValue(a)},itemTitle:function(a){return null},freeInput:!0,addOnBlur:!0,maxTags:void 0,maxChars:void 0,confirmKeys:[13,44],delimiter:",",delimiterRegex:null,cancelConfirmKeysOnEmpty:!1,onTagExists:function(a,b){b.hide().fadeIn()},trimValue:!1,allowDuplicates:!1};b.prototype={constructor:b,add:function(b,c,d){var f=this;if(!(f.options.maxTags&&f.itemsArray.length>=f.options.maxTags)&&(b===!1||b)){if("string"==typeof b&&f.options.trimValue&&(b=a.trim(b)),"object"==typeof b&&!f.objectItems)throw"Can't add objects when itemValue option is not set";if(!b.toString().match(/^\s*$/)){if(f.isSelect&&!f.multiple&&f.itemsArray.length>0&&f.remove(f.itemsArray[0]),"string"==typeof b&&"INPUT"===this.$element[0].tagName){var g=f.options.delimiterRegex?f.options.delimiterRegex:f.options.delimiter,h=b.split(g);if(h.length>1){for(var i=0;i<h.length;i++)this.add(h[i],!0);return void(c||f.pushVal())}}var j=f.options.itemValue(b),k=f.options.itemText(b),l=f.options.tagClass(b),m=f.options.itemTitle(b),n=a.grep(f.itemsArray,function(a){return f.options.itemValue(a)===j})[0];if(!n||f.options.allowDuplicates){if(!(f.items().toString().length+b.length+1>f.options.maxInputLength)){var o=a.Event("beforeItemAdd",{item:b,cancel:!1,options:d});if(f.$element.trigger(o),!o.cancel){f.itemsArray.push(b);var p=a('<span class="tag '+e(l)+(null!==m?'" title="'+m:"")+'">'+e(k)+'<span data-role="remove"></span></span>');p.data("item",b),f.findInputWrapper().before(p),p.after(" ");var q=a('option[value="'+encodeURIComponent(j)+'"]',f.$element).length||a('option[value="'+e(j)+'"]',f.$element).length;if(f.isSelect&&!q){var r=a("<option selected>"+e(k)+"</option>");r.data("item",b),r.attr("value",j),f.$element.append(r)}c||f.pushVal(),(f.options.maxTags===f.itemsArray.length||f.items().toString().length===f.options.maxInputLength)&&f.$container.addClass("bootstrap-tagsinput-max"),a(".typeahead, .twitter-typeahead",f.$container).length&&f.$input.typeahead("val",""),this.isInit?f.$element.trigger(a.Event("itemAddedOnInit",{item:b,options:d})):f.$element.trigger(a.Event("itemAdded",{item:b,options:d}))}}}else if(f.options.onTagExists){var s=a(".tag",f.$container).filter(function(){return a(this).data("item")===n});f.options.onTagExists(b,s)}}}},remove:function(b,c,d){var e=this;if(e.objectItems&&(b="object"==typeof b?a.grep(e.itemsArray,function(a){return e.options.itemValue(a)==e.options.itemValue(b)}):a.grep(e.itemsArray,function(a){return e.options.itemValue(a)==b}),b=b[b.length-1]),b){var f=a.Event("beforeItemRemove",{item:b,cancel:!1,options:d});if(e.$element.trigger(f),f.cancel)return;a(".tag",e.$container).filter(function(){return a(this).data("item")===b}).remove(),a("option",e.$element).filter(function(){return a(this).data("item")===b}).remove(),-1!==a.inArray(b,e.itemsArray)&&e.itemsArray.splice(a.inArray(b,e.itemsArray),1)}c||e.pushVal(),e.options.maxTags>e.itemsArray.length&&e.$container.removeClass("bootstrap-tagsinput-max"),e.$element.trigger(a.Event("itemRemoved",{item:b,options:d}))},removeAll:function(){var b=this;for(a(".tag",b.$container).remove(),a("option",b.$element).remove();b.itemsArray.length>0;)b.itemsArray.pop();b.pushVal()},refresh:function(){var b=this;a(".tag",b.$container).each(function(){var c=a(this),d=c.data("item"),f=b.options.itemValue(d),g=b.options.itemText(d),h=b.options.tagClass(d);if(c.attr("class",null),c.addClass("tag "+e(h)),c.contents().filter(function(){return 3==this.nodeType})[0].nodeValue=e(g),b.isSelect){var i=a("option",b.$element).filter(function(){return a(this).data("item")===d});i.attr("value",f)}})},items:function(){return this.itemsArray},pushVal:function(){var b=this,c=a.map(b.items(),function(a){return b.options.itemValue(a).toString()});b.$element.val(c,!0).trigger("change")},build:function(b){var e=this;if(e.options=a.extend({},h,b),e.objectItems&&(e.options.freeInput=!1),c(e.options,"itemValue"),c(e.options,"itemText"),d(e.options,"tagClass"),e.options.typeahead){var i=e.options.typeahead||{};d(i,"source"),e.$input.typeahead(a.extend({},i,{source:function(b,c){function d(a){for(var b=[],d=0;d<a.length;d++){var g=e.options.itemText(a[d]);f[g]=a[d],b.push(g)}c(b)}this.map={};var f=this.map,g=i.source(b);a.isFunction(g.success)?g.success(d):a.isFunction(g.then)?g.then(d):a.when(g).then(d)},updater:function(a){return e.add(this.map[a]),this.map[a]},matcher:function(a){return-1!==a.toLowerCase().indexOf(this.query.trim().toLowerCase())},sorter:function(a){return a.sort()},highlighter:function(a){var b=new RegExp("("+this.query+")","gi");return a.replace(b,"<strong>$1</strong>")}}))}if(e.options.typeaheadjs){var j=null,k={},l=e.options.typeaheadjs;a.isArray(l)?(j=l[0],k=l[1]):k=l,e.$input.typeahead(j,k).on("typeahead:selected",a.proxy(function(a,b){k.valueKey?e.add(b[k.valueKey]):e.add(b),e.$input.typeahead("val","")},e))}e.$container.on("click",a.proxy(function(a){e.$element.attr("disabled")||e.$input.removeAttr("disabled"),e.$input.focus()},e)),e.options.addOnBlur&&e.options.freeInput&&e.$input.on("focusout",a.proxy(function(b){0===a(".typeahead, .twitter-typeahead",e.$container).length&&(e.add(e.$input.val()),e.$input.val(""))},e)),e.$container.on("keydown","input",a.proxy(function(b){var c=a(b.target),d=e.findInputWrapper();if(e.$element.attr("disabled"))return void e.$input.attr("disabled","disabled");switch(b.which){case 8:if(0===f(c[0])){var g=d.prev();g.length&&e.remove(g.data("item"))}break;case 46:if(0===f(c[0])){var h=d.next();h.length&&e.remove(h.data("item"))}break;case 37:var i=d.prev();0===c.val().length&&i[0]&&(i.before(d),c.focus());break;case 39:var j=d.next();0===c.val().length&&j[0]&&(j.after(d),c.focus())}var k=c.val().length;Math.ceil(k/5);c.attr("size",Math.max(this.inputSize,c.val().length))},e)),e.$container.on("keypress","input",a.proxy(function(b){var c=a(b.target);if(e.$element.attr("disabled"))return void e.$input.attr("disabled","disabled");var d=c.val(),f=e.options.maxChars&&d.length>=e.options.maxChars;e.options.freeInput&&(g(b,e.options.confirmKeys)||f)&&(0!==d.length&&(e.add(f?d.substr(0,e.options.maxChars):d),c.val("")),e.options.cancelConfirmKeysOnEmpty===!1&&b.preventDefault());var h=c.val().length;Math.ceil(h/5);c.attr("size",Math.max(this.inputSize,c.val().length))},e)),e.$container.on("click","[data-role=remove]",a.proxy(function(b){e.$element.attr("disabled")||e.remove(a(b.target).closest(".tag").data("item"))},e)),e.options.itemValue===h.itemValue&&("INPUT"===e.$element[0].tagName?e.add(e.$element.val()):a("option",e.$element).each(function(){e.add(a(this).attr("value"),!0)}))},destroy:function(){var a=this;a.$container.off("keypress","input"),a.$container.off("click","[role=remove]"),a.$container.remove(),a.$element.removeData("tagsinput"),a.$element.show()},focus:function(){this.$input.focus()},input:function(){return this.$input},findInputWrapper:function(){for(var b=this.$input[0],c=this.$container[0];b&&b.parentNode!==c;)b=b.parentNode;return a(b)}},a.fn.tagsinput=function(c,d,e){var f=[];return this.each(function(){var g=a(this).data("tagsinput");if(g)if(c||d){if(void 0!==g[c]){if(3===g[c].length&&void 0!==e)var h=g[c](d,null,e);else var h=g[c](d);void 0!==h&&f.push(h)}}else f.push(g);else g=new b(this,c),a(this).data("tagsinput",g),f.push(g),"SELECT"===this.tagName&&a("option",a(this)).attr("selected","selected"),a(this).val(a(this).val())}),"string"==typeof c?f.length>1?f:f[0]:f},a.fn.tagsinput.Constructor=b;var i=a("<div />");a(function(){a("input[data-role=tagsinput], select[multiple][data-role=tagsinput]").tagsinput()})}(window.jQuery); //# sourceMappingURL=bootstrap-tagsinput.min.js.mapPK�z�\��R,00bootstrap-tagsinput.min.js.mapnu�[���{"version":3,"sources":["../src/bootstrap-tagsinput.js"],"names":["$","TagsInput","element","options","this","isInit","itemsArray","$element","hide","isSelect","tagName","multiple","hasAttribute","objectItems","itemValue","placeholderText","attr","inputSize","Math","max","length","$container","$input","appendTo","before","build","makeOptionItemFunction","key","propertyName","item","makeOptionFunction","value","htmlEncode","htmlEncodeContainer","text","html","doGetCaretPosition","oField","iCaretPos","document","selection","focus","oSel","createRange","moveStart","selectionStart","keyCombinationInList","keyPressEvent","lookupList","found","each","index","keyCombination","which","alt","hasOwnProperty","altKey","shift","shiftKey","ctrl","ctrlKey","defaultOptions","tagClass","toString","itemText","itemTitle","freeInput","addOnBlur","maxTags","undefined","maxChars","confirmKeys","delimiter","delimiterRegex","cancelConfirmKeysOnEmpty","onTagExists","$tag","fadeIn","trimValue","allowDuplicates","prototype","constructor","add","dontPushVal","self","trim","match","remove","items","split","i","pushVal","existing","grep","maxInputLength","beforeItemAddEvent","Event","cancel","trigger","push","data","findInputWrapper","after","optionExists","encodeURIComponent","$option","append","addClass","typeahead","$existingTag","filter","other","beforeItemRemoveEvent","inArray","splice","removeClass","removeAll","pop","refresh","contents","nodeType","nodeValue","option","val","map","extend","source","query","process","processItems","texts","isFunction","success","then","when","updater","matcher","toLowerCase","indexOf","sorter","sort","highlighter","regex","RegExp","replace","typeaheadjs","typeaheadConfig","typeaheadDatasets","isArray","on","proxy","obj","datum","valueKey","event","removeAttr","target","$inputWrapper","prev","next","$prevTag","$nextTag","textLength","ceil","maxLengthReached","substr","preventDefault","closest","destroy","off","removeData","show","input","elt","container","parentNode","fn","tagsinput","arg1","arg2","arg3","results","retVal","Constructor","window","jQuery"],"mappings":"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","file":"bootstrap-tagsinput.min.js"}PK�z�\T��bootstrap-tagsinput.lessnu�[���.bootstrap-tagsinput { background-color: #fff; border: 1px solid #ccc; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); display: inline-block; padding: 4px 6px; margin-bottom: 10px; color: #555; vertical-align: middle; border-radius: 4px; max-width: 100%; line-height: 22px; cursor: text; input { border: none; box-shadow: none; outline: none; background-color: transparent; padding: 0; margin: 0; width: auto !important; max-width: inherit; &:focus { border: none; box-shadow: none; } } .tag { margin-right: 2px; color: white; [data-role="remove"] { margin-left:8px; cursor:pointer; &:after{ content: "x"; padding:0px 2px; } &:hover { box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); &:active { box-shadow: inset 0 3px 5px rgba(0,0,0,0.125); } } } } } PK�z�\}�ST����bootstrap-tagsinput.zipnu�[���PK �jGdist/PK �jGv��gg#dist/bootstrap-tagsinput-angular.jsangular.module('bootstrap-tagsinput', []) .directive('bootstrapTagsinput', [function() { function getItemProperty(scope, property) { if (!property) return undefined; if (angular.isFunction(scope.$parent[property])) return scope.$parent[property]; return function(item) { return item[property]; }; } return { restrict: 'EA', scope: { model: '=ngModel' }, template: '<select multiple></select>', replace: false, link: function(scope, element, attrs) { $(function() { if (!angular.isArray(scope.model)) scope.model = []; var select = $('select', element); var typeaheadSourceArray = attrs.typeaheadSource ? attrs.typeaheadSource.split('.') : null; var typeaheadSource = typeaheadSourceArray ? (typeaheadSourceArray.length > 1 ? scope.$parent[typeaheadSourceArray[0]][typeaheadSourceArray[1]] : scope.$parent[typeaheadSourceArray[0]]) : null; select.tagsinput(scope.$parent[attrs.options || ''] || { typeahead : { source : angular.isFunction(typeaheadSource) ? typeaheadSource : null }, itemValue: getItemProperty(scope, attrs.itemvalue), itemText : getItemProperty(scope, attrs.itemtext), confirmKeys : getItemProperty(scope, attrs.confirmkeys) ? JSON.parse(attrs.confirmkeys) : [13], tagClass : angular.isFunction(scope.$parent[attrs.tagclass]) ? scope.$parent[attrs.tagclass] : function(item) { return attrs.tagclass; } }); for (var i = 0; i < scope.model.length; i++) { select.tagsinput('add', scope.model[i]); } select.on('itemAdded', function(event) { if (scope.model.indexOf(event.item) === -1) scope.model.push(event.item); }); select.on('itemRemoved', function(event) { var idx = scope.model.indexOf(event.item); if (idx !== -1) scope.model.splice(idx, 1); }); // create a shallow copy of model's current state, needed to determine // diff when model changes var prev = scope.model.slice(); scope.$watch("model", function() { var added = scope.model.filter(function(i) {return prev.indexOf(i) === -1;}), removed = prev.filter(function(i) {return scope.model.indexOf(i) === -1;}), i; prev = scope.model.slice(); // Remove tags no longer in binded model for (i = 0; i < removed.length; i++) { select.tagsinput('remove', removed[i]); } // Refresh remaining tags select.tagsinput('refresh'); // Add new items in model as tags for (i = 0; i < added.length; i++) { select.tagsinput('add', added[i]); } }, true); }); } }; }]); PK �jG�T+��'dist/bootstrap-tagsinput-angular.min.js/* * bootstrap-tagsinput v0.7.1 by Tim Schlechter * */ angular.module("bootstrap-tagsinput",[]).directive("bootstrapTagsinput",[function(){function a(a,b){return b?angular.isFunction(a.$parent[b])?a.$parent[b]:function(a){return a[b]}:void 0}return{restrict:"EA",scope:{model:"=ngModel"},template:"<select multiple></select>",replace:!1,link:function(b,c,d){$(function(){angular.isArray(b.model)||(b.model=[]);var e=$("select",c),f=d.typeaheadSource?d.typeaheadSource.split("."):null,g=f?f.length>1?b.$parent[f[0]][f[1]]:b.$parent[f[0]]:null;e.tagsinput(b.$parent[d.options||""]||{typeahead:{source:angular.isFunction(g)?g:null},itemValue:a(b,d.itemvalue),itemText:a(b,d.itemtext),confirmKeys:a(b,d.confirmkeys)?JSON.parse(d.confirmkeys):[13],tagClass:angular.isFunction(b.$parent[d.tagclass])?b.$parent[d.tagclass]:function(a){return d.tagclass}});for(var h=0;h<b.model.length;h++)e.tagsinput("add",b.model[h]);e.on("itemAdded",function(a){-1===b.model.indexOf(a.item)&&b.model.push(a.item)}),e.on("itemRemoved",function(a){var c=b.model.indexOf(a.item);-1!==c&&b.model.splice(c,1)});var i=b.model.slice();b.$watch("model",function(){var a,c=b.model.filter(function(a){return-1===i.indexOf(a)}),d=i.filter(function(a){return-1===b.model.indexOf(a)});for(i=b.model.slice(),a=0;a<d.length;a++)e.tagsinput("remove",d[a]);for(e.tagsinput("refresh"),a=0;a<c.length;a++)e.tagsinput("add",c[a])},!0)})}}}]); //# sourceMappingURL=bootstrap-tagsinput-angular.min.js.mapPK �jG �L�UUdist/bootstrap-tagsinput.js(function ($) { "use strict"; var defaultOptions = { tagClass: function(item) { return 'label label-info'; }, itemValue: function(item) { return item ? item.toString() : item; }, itemText: function(item) { return this.itemValue(item); }, itemTitle: function(item) { return null; }, freeInput: true, addOnBlur: true, maxTags: undefined, maxChars: undefined, confirmKeys: [13, 44], delimiter: ',', delimiterRegex: null, cancelConfirmKeysOnEmpty: false, onTagExists: function(item, $tag) { $tag.hide().fadeIn(); }, trimValue: false, allowDuplicates: false }; /** * Constructor function */ function TagsInput(element, options) { this.isInit = true; this.itemsArray = []; this.$element = $(element); this.$element.hide(); this.isSelect = (element.tagName === 'SELECT'); this.multiple = (this.isSelect && element.hasAttribute('multiple')); this.objectItems = options && options.itemValue; this.placeholderText = element.hasAttribute('placeholder') ? this.$element.attr('placeholder') : ''; this.inputSize = Math.max(1, this.placeholderText.length); this.$container = $('<div class="bootstrap-tagsinput"></div>'); this.$input = $('<input type="text" placeholder="' + this.placeholderText + '"/>').appendTo(this.$container); this.$element.before(this.$container); this.build(options); this.isInit = false; } TagsInput.prototype = { constructor: TagsInput, /** * Adds the given item as a new tag. Pass true to dontPushVal to prevent * updating the elements val() */ add: function(item, dontPushVal, options) { var self = this; if (self.options.maxTags && self.itemsArray.length >= self.options.maxTags) return; // Ignore falsey values, except false if (item !== false && !item) return; // Trim value if (typeof item === "string" && self.options.trimValue) { item = $.trim(item); } // Throw an error when trying to add an object while the itemValue option was not set if (typeof item === "object" && !self.objectItems) throw("Can't add objects when itemValue option is not set"); // Ignore strings only containg whitespace if (item.toString().match(/^\s*$/)) return; // If SELECT but not multiple, remove current tag if (self.isSelect && !self.multiple && self.itemsArray.length > 0) self.remove(self.itemsArray[0]); if (typeof item === "string" && this.$element[0].tagName === 'INPUT') { var delimiter = (self.options.delimiterRegex) ? self.options.delimiterRegex : self.options.delimiter; var items = item.split(delimiter); if (items.length > 1) { for (var i = 0; i < items.length; i++) { this.add(items[i], true); } if (!dontPushVal) self.pushVal(); return; } } var itemValue = self.options.itemValue(item), itemText = self.options.itemText(item), tagClass = self.options.tagClass(item), itemTitle = self.options.itemTitle(item); // Ignore items allready added var existing = $.grep(self.itemsArray, function(item) { return self.options.itemValue(item) === itemValue; } )[0]; if (existing && !self.options.allowDuplicates) { // Invoke onTagExists if (self.options.onTagExists) { var $existingTag = $(".tag", self.$container).filter(function() { return $(this).data("item") === existing; }); self.options.onTagExists(item, $existingTag); } return; } // if length greater than limit if (self.items().toString().length + item.length + 1 > self.options.maxInputLength) return; // raise beforeItemAdd arg var beforeItemAddEvent = $.Event('beforeItemAdd', { item: item, cancel: false, options: options}); self.$element.trigger(beforeItemAddEvent); if (beforeItemAddEvent.cancel) return; // register item in internal array and map self.itemsArray.push(item); // add a tag element var $tag = $('<span class="tag ' + htmlEncode(tagClass) + (itemTitle !== null ? ('" title="' + itemTitle) : '') + '">' + htmlEncode(itemText) + '<span data-role="remove"></span></span>'); $tag.data('item', item); self.findInputWrapper().before($tag); $tag.after(' '); // Check to see if the tag exists in its raw or uri-encoded form var optionExists = ( $('option[value="' + encodeURIComponent(itemValue) + '"]', self.$element).length || $('option[value="' + htmlEncode(itemValue) + '"]', self.$element).length ); // add <option /> if item represents a value not present in one of the <select />'s options if (self.isSelect && !optionExists) { var $option = $('<option selected>' + htmlEncode(itemText) + '</option>'); $option.data('item', item); $option.attr('value', itemValue); self.$element.append($option); } if (!dontPushVal) self.pushVal(); // Add class when reached maxTags if (self.options.maxTags === self.itemsArray.length || self.items().toString().length === self.options.maxInputLength) self.$container.addClass('bootstrap-tagsinput-max'); // If using typeahead, once the tag has been added, clear the typeahead value so it does not stick around in the input. if ($('.typeahead, .twitter-typeahead', self.$container).length) { self.$input.typeahead('val', ''); } if (this.isInit) { self.$element.trigger($.Event('itemAddedOnInit', { item: item, options: options })); } else { self.$element.trigger($.Event('itemAdded', { item: item, options: options })); } }, /** * Removes the given item. Pass true to dontPushVal to prevent updating the * elements val() */ remove: function(item, dontPushVal, options) { var self = this; if (self.objectItems) { if (typeof item === "object") item = $.grep(self.itemsArray, function(other) { return self.options.itemValue(other) == self.options.itemValue(item); } ); else item = $.grep(self.itemsArray, function(other) { return self.options.itemValue(other) == item; } ); item = item[item.length-1]; } if (item) { var beforeItemRemoveEvent = $.Event('beforeItemRemove', { item: item, cancel: false, options: options }); self.$element.trigger(beforeItemRemoveEvent); if (beforeItemRemoveEvent.cancel) return; $('.tag', self.$container).filter(function() { return $(this).data('item') === item; }).remove(); $('option', self.$element).filter(function() { return $(this).data('item') === item; }).remove(); if($.inArray(item, self.itemsArray) !== -1) self.itemsArray.splice($.inArray(item, self.itemsArray), 1); } if (!dontPushVal) self.pushVal(); // Remove class when reached maxTags if (self.options.maxTags > self.itemsArray.length) self.$container.removeClass('bootstrap-tagsinput-max'); self.$element.trigger($.Event('itemRemoved', { item: item, options: options })); }, /** * Removes all items */ removeAll: function() { var self = this; $('.tag', self.$container).remove(); $('option', self.$element).remove(); while(self.itemsArray.length > 0) self.itemsArray.pop(); self.pushVal(); }, /** * Refreshes the tags so they match the text/value of their corresponding * item. */ refresh: function() { var self = this; $('.tag', self.$container).each(function() { var $tag = $(this), item = $tag.data('item'), itemValue = self.options.itemValue(item), itemText = self.options.itemText(item), tagClass = self.options.tagClass(item); // Update tag's class and inner text $tag.attr('class', null); $tag.addClass('tag ' + htmlEncode(tagClass)); $tag.contents().filter(function() { return this.nodeType == 3; })[0].nodeValue = htmlEncode(itemText); if (self.isSelect) { var option = $('option', self.$element).filter(function() { return $(this).data('item') === item; }); option.attr('value', itemValue); } }); }, /** * Returns the items added as tags */ items: function() { return this.itemsArray; }, /** * Assembly value by retrieving the value of each item, and set it on the * element. */ pushVal: function() { var self = this, val = $.map(self.items(), function(item) { return self.options.itemValue(item).toString(); }); self.$element.val(val, true).trigger('change'); }, /** * Initializes the tags input behaviour on the element */ build: function(options) { var self = this; self.options = $.extend({}, defaultOptions, options); // When itemValue is set, freeInput should always be false if (self.objectItems) self.options.freeInput = false; makeOptionItemFunction(self.options, 'itemValue'); makeOptionItemFunction(self.options, 'itemText'); makeOptionFunction(self.options, 'tagClass'); // Typeahead Bootstrap version 2.3.2 if (self.options.typeahead) { var typeahead = self.options.typeahead || {}; makeOptionFunction(typeahead, 'source'); self.$input.typeahead($.extend({}, typeahead, { source: function (query, process) { function processItems(items) { var texts = []; for (var i = 0; i < items.length; i++) { var text = self.options.itemText(items[i]); map[text] = items[i]; texts.push(text); } process(texts); } this.map = {}; var map = this.map, data = typeahead.source(query); if ($.isFunction(data.success)) { // support for Angular callbacks data.success(processItems); } else if ($.isFunction(data.then)) { // support for Angular promises data.then(processItems); } else { // support for functions and jquery promises $.when(data) .then(processItems); } }, updater: function (text) { self.add(this.map[text]); return this.map[text]; }, matcher: function (text) { return (text.toLowerCase().indexOf(this.query.trim().toLowerCase()) !== -1); }, sorter: function (texts) { return texts.sort(); }, highlighter: function (text) { var regex = new RegExp( '(' + this.query + ')', 'gi' ); return text.replace( regex, "<strong>$1</strong>" ); } })); } // typeahead.js if (self.options.typeaheadjs) { var typeaheadConfig = null; var typeaheadDatasets = {}; // Determine if main configurations were passed or simply a dataset var typeaheadjs = self.options.typeaheadjs; if ($.isArray(typeaheadjs)) { typeaheadConfig = typeaheadjs[0]; typeaheadDatasets = typeaheadjs[1]; } else { typeaheadDatasets = typeaheadjs; } self.$input.typeahead(typeaheadConfig, typeaheadDatasets).on('typeahead:selected', $.proxy(function (obj, datum) { if (typeaheadDatasets.valueKey) self.add(datum[typeaheadDatasets.valueKey]); else self.add(datum); self.$input.typeahead('val', ''); }, self)); } self.$container.on('click', $.proxy(function(event) { if (! self.$element.attr('disabled')) { self.$input.removeAttr('disabled'); } self.$input.focus(); }, self)); if (self.options.addOnBlur && self.options.freeInput) { self.$input.on('focusout', $.proxy(function(event) { // HACK: only process on focusout when no typeahead opened, to // avoid adding the typeahead text as tag if ($('.typeahead, .twitter-typeahead', self.$container).length === 0) { self.add(self.$input.val()); self.$input.val(''); } }, self)); } self.$container.on('keydown', 'input', $.proxy(function(event) { var $input = $(event.target), $inputWrapper = self.findInputWrapper(); if (self.$element.attr('disabled')) { self.$input.attr('disabled', 'disabled'); return; } switch (event.which) { // BACKSPACE case 8: if (doGetCaretPosition($input[0]) === 0) { var prev = $inputWrapper.prev(); if (prev.length) { self.remove(prev.data('item')); } } break; // DELETE case 46: if (doGetCaretPosition($input[0]) === 0) { var next = $inputWrapper.next(); if (next.length) { self.remove(next.data('item')); } } break; // LEFT ARROW case 37: // Try to move the input before the previous tag var $prevTag = $inputWrapper.prev(); if ($input.val().length === 0 && $prevTag[0]) { $prevTag.before($inputWrapper); $input.focus(); } break; // RIGHT ARROW case 39: // Try to move the input after the next tag var $nextTag = $inputWrapper.next(); if ($input.val().length === 0 && $nextTag[0]) { $nextTag.after($inputWrapper); $input.focus(); } break; default: // ignore } // Reset internal input's size var textLength = $input.val().length, wordSpace = Math.ceil(textLength / 5), size = textLength + wordSpace + 1; $input.attr('size', Math.max(this.inputSize, $input.val().length)); }, self)); self.$container.on('keypress', 'input', $.proxy(function(event) { var $input = $(event.target); if (self.$element.attr('disabled')) { self.$input.attr('disabled', 'disabled'); return; } var text = $input.val(), maxLengthReached = self.options.maxChars && text.length >= self.options.maxChars; if (self.options.freeInput && (keyCombinationInList(event, self.options.confirmKeys) || maxLengthReached)) { // Only attempt to add a tag if there is data in the field if (text.length !== 0) { self.add(maxLengthReached ? text.substr(0, self.options.maxChars) : text); $input.val(''); } // If the field is empty, let the event triggered fire as usual if (self.options.cancelConfirmKeysOnEmpty === false) { event.preventDefault(); } } // Reset internal input's size var textLength = $input.val().length, wordSpace = Math.ceil(textLength / 5), size = textLength + wordSpace + 1; $input.attr('size', Math.max(this.inputSize, $input.val().length)); }, self)); // Remove icon clicked self.$container.on('click', '[data-role=remove]', $.proxy(function(event) { if (self.$element.attr('disabled')) { return; } self.remove($(event.target).closest('.tag').data('item')); }, self)); // Only add existing value as tags when using strings as tags if (self.options.itemValue === defaultOptions.itemValue) { if (self.$element[0].tagName === 'INPUT') { self.add(self.$element.val()); } else { $('option', self.$element).each(function() { self.add($(this).attr('value'), true); }); } } }, /** * Removes all tagsinput behaviour and unregsiter all event handlers */ destroy: function() { var self = this; // Unbind events self.$container.off('keypress', 'input'); self.$container.off('click', '[role=remove]'); self.$container.remove(); self.$element.removeData('tagsinput'); self.$element.show(); }, /** * Sets focus on the tagsinput */ focus: function() { this.$input.focus(); }, /** * Returns the internal input element */ input: function() { return this.$input; }, /** * Returns the element which is wrapped around the internal input. This * is normally the $container, but typeahead.js moves the $input element. */ findInputWrapper: function() { var elt = this.$input[0], container = this.$container[0]; while(elt && elt.parentNode !== container) elt = elt.parentNode; return $(elt); } }; /** * Register JQuery plugin */ $.fn.tagsinput = function(arg1, arg2, arg3) { var results = []; this.each(function() { var tagsinput = $(this).data('tagsinput'); // Initialize a new tags input if (!tagsinput) { tagsinput = new TagsInput(this, arg1); $(this).data('tagsinput', tagsinput); results.push(tagsinput); if (this.tagName === 'SELECT') { $('option', $(this)).attr('selected', 'selected'); } // Init tags from $(this).val() $(this).val($(this).val()); } else if (!arg1 && !arg2) { // tagsinput already exists // no function, trying to init results.push(tagsinput); } else if(tagsinput[arg1] !== undefined) { // Invoke function on existing tags input if(tagsinput[arg1].length === 3 && arg3 !== undefined){ var retVal = tagsinput[arg1](arg2, null, arg3); }else{ var retVal = tagsinput[arg1](arg2); } if (retVal !== undefined) results.push(retVal); } }); if ( typeof arg1 == 'string') { // Return the results from the invoked function calls return results.length > 1 ? results : results[0]; } else { return results; } }; $.fn.tagsinput.Constructor = TagsInput; /** * Most options support both a string or number as well as a function as * option value. This function makes sure that the option with the given * key in the given options is wrapped in a function */ function makeOptionItemFunction(options, key) { if (typeof options[key] !== 'function') { var propertyName = options[key]; options[key] = function(item) { return item[propertyName]; }; } } function makeOptionFunction(options, key) { if (typeof options[key] !== 'function') { var value = options[key]; options[key] = function() { return value; }; } } /** * HtmlEncodes the given value */ var htmlEncodeContainer = $('<div />'); function htmlEncode(value) { if (value) { return htmlEncodeContainer.text(value).html(); } else { return ''; } } /** * Returns the position of the caret in the given input field * http://flightschool.acylt.com/devnotes/caret-position-woes/ */ function doGetCaretPosition(oField) { var iCaretPos = 0; if (document.selection) { oField.focus (); var oSel = document.selection.createRange(); oSel.moveStart ('character', -oField.value.length); iCaretPos = oSel.text.length; } else if (oField.selectionStart || oField.selectionStart == '0') { iCaretPos = oField.selectionStart; } return (iCaretPos); } /** * Returns boolean indicates whether user has pressed an expected key combination. * @param object keyPressEvent: JavaScript event object, refer * http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html * @param object lookupList: expected key combinations, as in: * [13, {which: 188, shiftKey: true}] */ function keyCombinationInList(keyPressEvent, lookupList) { var found = false; $.each(lookupList, function (index, keyCombination) { if (typeof (keyCombination) === 'number' && keyPressEvent.which === keyCombination) { found = true; return false; } if (keyPressEvent.which === keyCombination.which) { var alt = !keyCombination.hasOwnProperty('altKey') || keyPressEvent.altKey === keyCombination.altKey, shift = !keyCombination.hasOwnProperty('shiftKey') || keyPressEvent.shiftKey === keyCombination.shiftKey, ctrl = !keyCombination.hasOwnProperty('ctrlKey') || keyPressEvent.ctrlKey === keyCombination.ctrlKey; if (alt && shift && ctrl) { found = true; return false; } } }); return found; } /** * Initialize tagsinput behaviour on inputs and selects which have * data-role=tagsinput */ $(function() { $("input[data-role=tagsinput], select[multiple][data-role=tagsinput]").tagsinput(); }); })(window.jQuery); PK �jG���#�#dist/bootstrap-tagsinput.min.js/* * bootstrap-tagsinput v0.7.1 by Tim Schlechter * */ !function(a){"use strict";function b(b,c){this.isInit=!0,this.itemsArray=[],this.$element=a(b),this.$element.hide(),this.isSelect="SELECT"===b.tagName,this.multiple=this.isSelect&&b.hasAttribute("multiple"),this.objectItems=c&&c.itemValue,this.placeholderText=b.hasAttribute("placeholder")?this.$element.attr("placeholder"):"",this.inputSize=Math.max(1,this.placeholderText.length),this.$container=a('<div class="bootstrap-tagsinput"></div>'),this.$input=a('<input type="text" placeholder="'+this.placeholderText+'"/>').appendTo(this.$container),this.$element.before(this.$container),this.build(c),this.isInit=!1}function c(a,b){if("function"!=typeof a[b]){var c=a[b];a[b]=function(a){return a[c]}}}function d(a,b){if("function"!=typeof a[b]){var c=a[b];a[b]=function(){return c}}}function e(a){return a?i.text(a).html():""}function f(a){var b=0;if(document.selection){a.focus();var c=document.selection.createRange();c.moveStart("character",-a.value.length),b=c.text.length}else(a.selectionStart||"0"==a.selectionStart)&&(b=a.selectionStart);return b}function g(b,c){var d=!1;return a.each(c,function(a,c){if("number"==typeof c&&b.which===c)return d=!0,!1;if(b.which===c.which){var e=!c.hasOwnProperty("altKey")||b.altKey===c.altKey,f=!c.hasOwnProperty("shiftKey")||b.shiftKey===c.shiftKey,g=!c.hasOwnProperty("ctrlKey")||b.ctrlKey===c.ctrlKey;if(e&&f&&g)return d=!0,!1}}),d}var h={tagClass:function(a){return"label label-info"},itemValue:function(a){return a?a.toString():a},itemText:function(a){return this.itemValue(a)},itemTitle:function(a){return null},freeInput:!0,addOnBlur:!0,maxTags:void 0,maxChars:void 0,confirmKeys:[13,44],delimiter:",",delimiterRegex:null,cancelConfirmKeysOnEmpty:!1,onTagExists:function(a,b){b.hide().fadeIn()},trimValue:!1,allowDuplicates:!1};b.prototype={constructor:b,add:function(b,c,d){var f=this;if(!(f.options.maxTags&&f.itemsArray.length>=f.options.maxTags)&&(b===!1||b)){if("string"==typeof b&&f.options.trimValue&&(b=a.trim(b)),"object"==typeof b&&!f.objectItems)throw"Can't add objects when itemValue option is not set";if(!b.toString().match(/^\s*$/)){if(f.isSelect&&!f.multiple&&f.itemsArray.length>0&&f.remove(f.itemsArray[0]),"string"==typeof b&&"INPUT"===this.$element[0].tagName){var g=f.options.delimiterRegex?f.options.delimiterRegex:f.options.delimiter,h=b.split(g);if(h.length>1){for(var i=0;i<h.length;i++)this.add(h[i],!0);return void(c||f.pushVal())}}var j=f.options.itemValue(b),k=f.options.itemText(b),l=f.options.tagClass(b),m=f.options.itemTitle(b),n=a.grep(f.itemsArray,function(a){return f.options.itemValue(a)===j})[0];if(!n||f.options.allowDuplicates){if(!(f.items().toString().length+b.length+1>f.options.maxInputLength)){var o=a.Event("beforeItemAdd",{item:b,cancel:!1,options:d});if(f.$element.trigger(o),!o.cancel){f.itemsArray.push(b);var p=a('<span class="tag '+e(l)+(null!==m?'" title="'+m:"")+'">'+e(k)+'<span data-role="remove"></span></span>');p.data("item",b),f.findInputWrapper().before(p),p.after(" ");var q=a('option[value="'+encodeURIComponent(j)+'"]',f.$element).length||a('option[value="'+e(j)+'"]',f.$element).length;if(f.isSelect&&!q){var r=a("<option selected>"+e(k)+"</option>");r.data("item",b),r.attr("value",j),f.$element.append(r)}c||f.pushVal(),(f.options.maxTags===f.itemsArray.length||f.items().toString().length===f.options.maxInputLength)&&f.$container.addClass("bootstrap-tagsinput-max"),a(".typeahead, .twitter-typeahead",f.$container).length&&f.$input.typeahead("val",""),this.isInit?f.$element.trigger(a.Event("itemAddedOnInit",{item:b,options:d})):f.$element.trigger(a.Event("itemAdded",{item:b,options:d}))}}}else if(f.options.onTagExists){var s=a(".tag",f.$container).filter(function(){return a(this).data("item")===n});f.options.onTagExists(b,s)}}}},remove:function(b,c,d){var e=this;if(e.objectItems&&(b="object"==typeof b?a.grep(e.itemsArray,function(a){return e.options.itemValue(a)==e.options.itemValue(b)}):a.grep(e.itemsArray,function(a){return e.options.itemValue(a)==b}),b=b[b.length-1]),b){var f=a.Event("beforeItemRemove",{item:b,cancel:!1,options:d});if(e.$element.trigger(f),f.cancel)return;a(".tag",e.$container).filter(function(){return a(this).data("item")===b}).remove(),a("option",e.$element).filter(function(){return a(this).data("item")===b}).remove(),-1!==a.inArray(b,e.itemsArray)&&e.itemsArray.splice(a.inArray(b,e.itemsArray),1)}c||e.pushVal(),e.options.maxTags>e.itemsArray.length&&e.$container.removeClass("bootstrap-tagsinput-max"),e.$element.trigger(a.Event("itemRemoved",{item:b,options:d}))},removeAll:function(){var b=this;for(a(".tag",b.$container).remove(),a("option",b.$element).remove();b.itemsArray.length>0;)b.itemsArray.pop();b.pushVal()},refresh:function(){var b=this;a(".tag",b.$container).each(function(){var c=a(this),d=c.data("item"),f=b.options.itemValue(d),g=b.options.itemText(d),h=b.options.tagClass(d);if(c.attr("class",null),c.addClass("tag "+e(h)),c.contents().filter(function(){return 3==this.nodeType})[0].nodeValue=e(g),b.isSelect){var i=a("option",b.$element).filter(function(){return a(this).data("item")===d});i.attr("value",f)}})},items:function(){return this.itemsArray},pushVal:function(){var b=this,c=a.map(b.items(),function(a){return b.options.itemValue(a).toString()});b.$element.val(c,!0).trigger("change")},build:function(b){var e=this;if(e.options=a.extend({},h,b),e.objectItems&&(e.options.freeInput=!1),c(e.options,"itemValue"),c(e.options,"itemText"),d(e.options,"tagClass"),e.options.typeahead){var i=e.options.typeahead||{};d(i,"source"),e.$input.typeahead(a.extend({},i,{source:function(b,c){function d(a){for(var b=[],d=0;d<a.length;d++){var g=e.options.itemText(a[d]);f[g]=a[d],b.push(g)}c(b)}this.map={};var f=this.map,g=i.source(b);a.isFunction(g.success)?g.success(d):a.isFunction(g.then)?g.then(d):a.when(g).then(d)},updater:function(a){return e.add(this.map[a]),this.map[a]},matcher:function(a){return-1!==a.toLowerCase().indexOf(this.query.trim().toLowerCase())},sorter:function(a){return a.sort()},highlighter:function(a){var b=new RegExp("("+this.query+")","gi");return a.replace(b,"<strong>$1</strong>")}}))}if(e.options.typeaheadjs){var j=null,k={},l=e.options.typeaheadjs;a.isArray(l)?(j=l[0],k=l[1]):k=l,e.$input.typeahead(j,k).on("typeahead:selected",a.proxy(function(a,b){k.valueKey?e.add(b[k.valueKey]):e.add(b),e.$input.typeahead("val","")},e))}e.$container.on("click",a.proxy(function(a){e.$element.attr("disabled")||e.$input.removeAttr("disabled"),e.$input.focus()},e)),e.options.addOnBlur&&e.options.freeInput&&e.$input.on("focusout",a.proxy(function(b){0===a(".typeahead, .twitter-typeahead",e.$container).length&&(e.add(e.$input.val()),e.$input.val(""))},e)),e.$container.on("keydown","input",a.proxy(function(b){var c=a(b.target),d=e.findInputWrapper();if(e.$element.attr("disabled"))return void e.$input.attr("disabled","disabled");switch(b.which){case 8:if(0===f(c[0])){var g=d.prev();g.length&&e.remove(g.data("item"))}break;case 46:if(0===f(c[0])){var h=d.next();h.length&&e.remove(h.data("item"))}break;case 37:var i=d.prev();0===c.val().length&&i[0]&&(i.before(d),c.focus());break;case 39:var j=d.next();0===c.val().length&&j[0]&&(j.after(d),c.focus())}var k=c.val().length;Math.ceil(k/5);c.attr("size",Math.max(this.inputSize,c.val().length))},e)),e.$container.on("keypress","input",a.proxy(function(b){var c=a(b.target);if(e.$element.attr("disabled"))return void e.$input.attr("disabled","disabled");var d=c.val(),f=e.options.maxChars&&d.length>=e.options.maxChars;e.options.freeInput&&(g(b,e.options.confirmKeys)||f)&&(0!==d.length&&(e.add(f?d.substr(0,e.options.maxChars):d),c.val("")),e.options.cancelConfirmKeysOnEmpty===!1&&b.preventDefault());var h=c.val().length;Math.ceil(h/5);c.attr("size",Math.max(this.inputSize,c.val().length))},e)),e.$container.on("click","[data-role=remove]",a.proxy(function(b){e.$element.attr("disabled")||e.remove(a(b.target).closest(".tag").data("item"))},e)),e.options.itemValue===h.itemValue&&("INPUT"===e.$element[0].tagName?e.add(e.$element.val()):a("option",e.$element).each(function(){e.add(a(this).attr("value"),!0)}))},destroy:function(){var a=this;a.$container.off("keypress","input"),a.$container.off("click","[role=remove]"),a.$container.remove(),a.$element.removeData("tagsinput"),a.$element.show()},focus:function(){this.$input.focus()},input:function(){return this.$input},findInputWrapper:function(){for(var b=this.$input[0],c=this.$container[0];b&&b.parentNode!==c;)b=b.parentNode;return a(b)}},a.fn.tagsinput=function(c,d,e){var f=[];return this.each(function(){var g=a(this).data("tagsinput");if(g)if(c||d){if(void 0!==g[c]){if(3===g[c].length&&void 0!==e)var h=g[c](d,null,e);else var h=g[c](d);void 0!==h&&f.push(h)}}else f.push(g);else g=new b(this,c),a(this).data("tagsinput",g),f.push(g),"SELECT"===this.tagName&&a("option",a(this)).attr("selected","selected"),a(this).val(a(this).val())}),"string"==typeof c?f.length>1?f:f[0]:f},a.fn.tagsinput.Constructor=b;var i=a("<div />");a(function(){a("input[data-role=tagsinput], select[multiple][data-role=tagsinput]").tagsinput()})}(window.jQuery); //# sourceMappingURL=bootstrap-tagsinput.min.js.mapPK �jG�����&dist/bootstrap-tagsinput-typeahead.css.twitter-typeahead .tt-query, .twitter-typeahead .tt-hint { margin-bottom: 0; } .twitter-typeahead .tt-hint { display: none; } .tt-menu { position: absolute; top: 100%; left: 0; z-index: 1000; display: none; float: left; min-width: 160px; padding: 5px 0; margin: 2px 0 0; list-style: none; font-size: 14px; background-color: #ffffff; border: 1px solid #cccccc; border: 1px solid rgba(0, 0, 0, 0.15); border-radius: 4px; -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); background-clip: padding-box; cursor: pointer; } .tt-suggestion { display: block; padding: 3px 20px; clear: both; font-weight: normal; line-height: 1.428571429; color: #333333; white-space: nowrap; } .tt-suggestion:hover, .tt-suggestion:focus { color: #ffffff; text-decoration: none; outline: 0; background-color: #428bca; } PK �jGi��6%%dist/bootstrap-tagsinput.css.bootstrap-tagsinput { background-color: #fff; border: 1px solid #ccc; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); display: inline-block; padding: 4px 6px; color: #555; vertical-align: middle; border-radius: 4px; max-width: 100%; line-height: 22px; cursor: text; } .bootstrap-tagsinput input { border: none; box-shadow: none; outline: none; background-color: transparent; padding: 0 6px; margin: 0; width: auto; max-width: inherit; } .bootstrap-tagsinput.form-control input::-moz-placeholder { color: #777; opacity: 1; } .bootstrap-tagsinput.form-control input:-ms-input-placeholder { color: #777; } .bootstrap-tagsinput.form-control input::-webkit-input-placeholder { color: #777; } .bootstrap-tagsinput input:focus { border: none; box-shadow: none; } .bootstrap-tagsinput .tag { margin-right: 2px; color: white; } .bootstrap-tagsinput .tag [data-role="remove"] { margin-left: 8px; cursor: pointer; } .bootstrap-tagsinput .tag [data-role="remove"]:after { content: "x"; padding: 0px 2px; } .bootstrap-tagsinput .tag [data-role="remove"]:hover { box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); } .bootstrap-tagsinput .tag [data-role="remove"]:hover:active { box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); } PK �jG�lN���dist/bootstrap-tagsinput.less.bootstrap-tagsinput { background-color: #fff; border: 1px solid #ccc; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); display: inline-block; padding: 4px 6px; margin-bottom: 10px; color: #555; vertical-align: middle; border-radius: 4px; max-width: 100%; line-height: 22px; cursor: text; input { border: none; box-shadow: none; outline: none; background-color: transparent; padding: 0; margin: 0; width: auto !important; max-width: inherit; &:focus { border: none; box-shadow: none; } } .tag { margin-right: 2px; color: white; [data-role="remove"] { margin-left:8px; cursor:pointer; &:after{ content: "x"; padding:0px 2px; } &:hover { box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); &:active { box-shadow: inset 0 3px 5px rgba(0,0,0,0.125); } } } } } PK �jGPS�oo+dist/bootstrap-tagsinput-angular.min.js.map{"version":3,"sources":["../src/bootstrap-tagsinput-angular.js"],"names":["angular","module","directive","getItemProperty","scope","property","isFunction","$parent","item","undefined","restrict","model","template","replace","link","element","attrs","$","isArray","select","typeaheadSourceArray","typeaheadSource","split","length","tagsinput","options","typeahead","source","itemValue","itemvalue","itemText","itemtext","confirmKeys","confirmkeys","JSON","parse","tagClass","tagclass","i","on","event","indexOf","push","idx","splice","prev","slice","$watch","added","filter","removed"],"mappings":";;;;;AAAAA,QAAQC,OAAO,0BACdC,UAAU,sBAAuB,WAEhC,QAASC,GAAgBC,EAAOC,GAC9B,MAAKA,GAGDL,QAAQM,WAAWF,EAAMG,QAAQF,IAC5BD,EAAMG,QAAQF,GAEhB,SAASG,GACd,MAAOA,GAAKH,IANLI,OAUX,OACEC,SAAU,KACVN,OACEO,MAAO,YAETC,SAAU,6BACVC,SAAS,EACTC,KAAM,SAASV,EAAOW,EAASC,GAC7BC,EAAE,WACKjB,QAAQkB,QAAQd,EAAMO,SACzBP,EAAMO,SAER,IAAIQ,GAASF,EAAE,SAAUF,GACrBK,EAAuBJ,EAAMK,gBAAkBL,EAAMK,gBAAgBC,MAAM,KAAO,KAClFD,EAAkBD,EACjBA,EAAqBG,OAAS,EAC3BnB,EAAMG,QAAQa,EAAqB,IAAIA,EAAqB,IAC1DhB,EAAMG,QAAQa,EAAqB,IACvC,IAEND,GAAOK,UAAUpB,EAAMG,QAAQS,EAAMS,SAAW,MAC9CC,WACEC,OAAW3B,QAAQM,WAAWe,GAAmBA,EAAkB,MAErEO,UAAWzB,EAAgBC,EAAOY,EAAMa,WACxCC,SAAW3B,EAAgBC,EAAOY,EAAMe,UACxCC,YAAc7B,EAAgBC,EAAOY,EAAMiB,aAAeC,KAAKC,MAAMnB,EAAMiB,cAAgB,IAC3FG,SAAWpC,QAAQM,WAAWF,EAAMG,QAAQS,EAAMqB,WAAajC,EAAMG,QAAQS,EAAMqB,UAAY,SAAS7B,GAAQ,MAAOQ,GAAMqB,WAG/H,KAAK,GAAIC,GAAI,EAAGA,EAAIlC,EAAMO,MAAMY,OAAQe,IACtCnB,EAAOK,UAAU,MAAOpB,EAAMO,MAAM2B,GAGtCnB,GAAOoB,GAAG,YAAa,SAASC,GACU,KAApCpC,EAAMO,MAAM8B,QAAQD,EAAMhC,OAC5BJ,EAAMO,MAAM+B,KAAKF,EAAMhC,QAG3BW,EAAOoB,GAAG,cAAe,SAASC,GAChC,GAAIG,GAAMvC,EAAMO,MAAM8B,QAAQD,EAAMhC,KACxB,MAARmC,GACFvC,EAAMO,MAAMiC,OAAOD,EAAK,IAK5B,IAAIE,GAAOzC,EAAMO,MAAMmC,OACvB1C,GAAM2C,OAAO,QAAS,WACpB,GAEIT,GAFAU,EAAQ5C,EAAMO,MAAMsC,OAAO,SAASX,GAAI,MAA2B,KAApBO,EAAKJ,QAAQH,KAC5DY,EAAUL,EAAKI,OAAO,SAASX,GAAI,MAAkC,KAA3BlC,EAAMO,MAAM8B,QAAQH,IAMlE,KAHAO,EAAOzC,EAAMO,MAAMmC,QAGdR,EAAI,EAAGA,EAAIY,EAAQ3B,OAAQe,IAC9BnB,EAAOK,UAAU,SAAU0B,EAAQZ,GAOrC,KAHAnB,EAAOK,UAAU,WAGZc,EAAI,EAAGA,EAAIU,EAAMzB,OAAQe,IAC5BnB,EAAOK,UAAU,MAAOwB,EAAMV,MAE/B","file":"bootstrap-tagsinput-angular.min.js"}PK �jG��R,00#dist/bootstrap-tagsinput.min.js.map{"version":3,"sources":["../src/bootstrap-tagsinput.js"],"names":["$","TagsInput","element","options","this","isInit","itemsArray","$element","hide","isSelect","tagName","multiple","hasAttribute","objectItems","itemValue","placeholderText","attr","inputSize","Math","max","length","$container","$input","appendTo","before","build","makeOptionItemFunction","key","propertyName","item","makeOptionFunction","value","htmlEncode","htmlEncodeContainer","text","html","doGetCaretPosition","oField","iCaretPos","document","selection","focus","oSel","createRange","moveStart","selectionStart","keyCombinationInList","keyPressEvent","lookupList","found","each","index","keyCombination","which","alt","hasOwnProperty","altKey","shift","shiftKey","ctrl","ctrlKey","defaultOptions","tagClass","toString","itemText","itemTitle","freeInput","addOnBlur","maxTags","undefined","maxChars","confirmKeys","delimiter","delimiterRegex","cancelConfirmKeysOnEmpty","onTagExists","$tag","fadeIn","trimValue","allowDuplicates","prototype","constructor","add","dontPushVal","self","trim","match","remove","items","split","i","pushVal","existing","grep","maxInputLength","beforeItemAddEvent","Event","cancel","trigger","push","data","findInputWrapper","after","optionExists","encodeURIComponent","$option","append","addClass","typeahead","$existingTag","filter","other","beforeItemRemoveEvent","inArray","splice","removeClass","removeAll","pop","refresh","contents","nodeType","nodeValue","option","val","map","extend","source","query","process","processItems","texts","isFunction","success","then","when","updater","matcher","toLowerCase","indexOf","sorter","sort","highlighter","regex","RegExp","replace","typeaheadjs","typeaheadConfig","typeaheadDatasets","isArray","on","proxy","obj","datum","valueKey","event","removeAttr","target","$inputWrapper","prev","next","$prevTag","$nextTag","textLength","ceil","maxLengthReached","substr","preventDefault","closest","destroy","off","removeData","show","input","elt","container","parentNode","fn","tagsinput","arg1","arg2","arg3","results","retVal","Constructor","window","jQuery"],"mappings":"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","file":"bootstrap-tagsinput.min.js"}PK �jGdist/PK �jGv��gg##dist/bootstrap-tagsinput-angular.jsPK �jG�T+��'�dist/bootstrap-tagsinput-angular.min.jsPK �jG �L�UU�dist/bootstrap-tagsinput.jsPK �jG���#�# gdist/bootstrap-tagsinput.min.jsPK �jG�����&�dist/bootstrap-tagsinput-typeahead.cssPK �jGi��6%%(�dist/bootstrap-tagsinput.cssPK �jG�lN�����dist/bootstrap-tagsinput.lessPK �jGPS�oo+��dist/bootstrap-tagsinput-angular.min.js.mapPK �jG��R,00#L�dist/bootstrap-tagsinput.min.js.mapPK ��PK�z�\~����bootstrap-tagsinput-angular.jsnu�[���angular.module('bootstrap-tagsinput', []) .directive('bootstrapTagsinput', [function() { function getItemProperty(scope, property) { if (!property) return undefined; if (angular.isFunction(scope.$parent[property])) return scope.$parent[property]; return function(item) { return item[property]; }; } return { restrict: 'EA', scope: { model: '=ngModel' }, template: '<select multiple></select>', replace: false, link: function(scope, element, attrs) { $(function() { if (!angular.isArray(scope.model)) scope.model = []; var select = $('select', element); var typeaheadSourceArray = attrs.typeaheadSource ? attrs.typeaheadSource.split('.') : null; var typeaheadSource = typeaheadSourceArray ? (typeaheadSourceArray.length > 1 ? scope.$parent[typeaheadSourceArray[0]][typeaheadSourceArray[1]] : scope.$parent[typeaheadSourceArray[0]]) : null; select.tagsinput(scope.$parent[attrs.options || ''] || { typeahead : { source : angular.isFunction(typeaheadSource) ? typeaheadSource : null }, itemValue: getItemProperty(scope, attrs.itemvalue), itemText : getItemProperty(scope, attrs.itemtext), confirmKeys : getItemProperty(scope, attrs.confirmkeys) ? JSON.parse(attrs.confirmkeys) : [13], tagClass : angular.isFunction(scope.$parent[attrs.tagclass]) ? scope.$parent[attrs.tagclass] : function(item) { return attrs.tagclass; } }); for (var i = 0; i < scope.model.length; i++) { select.tagsinput('add', scope.model[i]); } select.on('itemAdded', function(event) { if (scope.model.indexOf(event.item) === -1) scope.model.push(event.item); }); select.on('itemRemoved', function(event) { var idx = scope.model.indexOf(event.item); if (idx !== -1) scope.model.splice(idx, 1); }); // create a shallow copy of model's current state, needed to determine // diff when model changes var prev = scope.model.slice(); scope.$watch("model", function() { var added = scope.model.filter(function(i) {return prev.indexOf(i) === -1;}), removed = prev.filter(function(i) {return scope.model.indexOf(i) === -1;}), i; prev = scope.model.slice(); // Remove tags no longer in binded model for (i = 0; i < removed.length; i++) { select.tagsinput('remove', removed[i]); } // Refresh remaining tags select.tagsinput('refresh'); // Add new items in model as tags for (i = 0; i < added.length; i++) { select.tagsinput('add', added[i]); } }, true); }); } }; }]); PK�z�\�ȧE!bootstrap-tagsinput-typeahead.cssnu�[���.twitter-typeahead .tt-query, .twitter-typeahead .tt-hint { margin-bottom: 0; } .twitter-typeahead .tt-hint { display: none; } .tt-menu { position: absolute; top: 100%; left: 0; z-index: 1000; display: none; float: left; min-width: 160px; padding: 5px 0; margin: 2px 0 0; list-style: none; font-size: 14px; background-color: #ffffff; border: 1px solid #cccccc; border: 1px solid rgba(0, 0, 0, 0.15); border-radius: 4px; -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); background-clip: padding-box; cursor: pointer; } .tt-suggestion { display: block; padding: 3px 20px; clear: both; font-weight: normal; line-height: 1.428571429; color: #333333; white-space: nowrap; } .tt-suggestion:hover, .tt-suggestion:focus { color: #ffffff; text-decoration: none; outline: 0; background-color: #428bca; } PK�z�\7�4�\\bootstrap-tagsinput.cssnu�[���.bootstrap-tagsinput { background-color: #fff; border: 1px solid #ccc; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); display: inline-block; padding: 4px 6px; color: #555; vertical-align: middle; border-radius: 4px; max-width: 100%; line-height: 22px; cursor: text; } .bootstrap-tagsinput input { border: none; box-shadow: none; outline: none; background-color: transparent; padding: 0 6px; margin: 0; width: auto; max-width: inherit; } .bootstrap-tagsinput.form-control input::-moz-placeholder { color: #777; opacity: 1; } .bootstrap-tagsinput.form-control input:-ms-input-placeholder { color: #777; } .bootstrap-tagsinput.form-control input::-webkit-input-placeholder { color: #777; } .bootstrap-tagsinput input:focus { border: none; box-shadow: none; } .bootstrap-tagsinput .tag { margin-right: 2px; color: white; } .bootstrap-tagsinput .tag [data-role="remove"] { margin-left: 8px; cursor: pointer; } .bootstrap-tagsinput .tag [data-role="remove"]:after { content: "x"; padding: 0px 2px; } .bootstrap-tagsinput .tag [data-role="remove"]:hover { box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); } .bootstrap-tagsinput .tag [data-role="remove"]:hover:active { box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); } PK�z�\PS�oo&bootstrap-tagsinput-angular.min.js.mapnu�[���{"version":3,"sources":["../src/bootstrap-tagsinput-angular.js"],"names":["angular","module","directive","getItemProperty","scope","property","isFunction","$parent","item","undefined","restrict","model","template","replace","link","element","attrs","$","isArray","select","typeaheadSourceArray","typeaheadSource","split","length","tagsinput","options","typeahead","source","itemValue","itemvalue","itemText","itemtext","confirmKeys","confirmkeys","JSON","parse","tagClass","tagclass","i","on","event","indexOf","push","idx","splice","prev","slice","$watch","added","filter","removed"],"mappings":";;;;;AAAAA,QAAQC,OAAO,0BACdC,UAAU,sBAAuB,WAEhC,QAASC,GAAgBC,EAAOC,GAC9B,MAAKA,GAGDL,QAAQM,WAAWF,EAAMG,QAAQF,IAC5BD,EAAMG,QAAQF,GAEhB,SAASG,GACd,MAAOA,GAAKH,IANLI,OAUX,OACEC,SAAU,KACVN,OACEO,MAAO,YAETC,SAAU,6BACVC,SAAS,EACTC,KAAM,SAASV,EAAOW,EAASC,GAC7BC,EAAE,WACKjB,QAAQkB,QAAQd,EAAMO,SACzBP,EAAMO,SAER,IAAIQ,GAASF,EAAE,SAAUF,GACrBK,EAAuBJ,EAAMK,gBAAkBL,EAAMK,gBAAgBC,MAAM,KAAO,KAClFD,EAAkBD,EACjBA,EAAqBG,OAAS,EAC3BnB,EAAMG,QAAQa,EAAqB,IAAIA,EAAqB,IAC1DhB,EAAMG,QAAQa,EAAqB,IACvC,IAEND,GAAOK,UAAUpB,EAAMG,QAAQS,EAAMS,SAAW,MAC9CC,WACEC,OAAW3B,QAAQM,WAAWe,GAAmBA,EAAkB,MAErEO,UAAWzB,EAAgBC,EAAOY,EAAMa,WACxCC,SAAW3B,EAAgBC,EAAOY,EAAMe,UACxCC,YAAc7B,EAAgBC,EAAOY,EAAMiB,aAAeC,KAAKC,MAAMnB,EAAMiB,cAAgB,IAC3FG,SAAWpC,QAAQM,WAAWF,EAAMG,QAAQS,EAAMqB,WAAajC,EAAMG,QAAQS,EAAMqB,UAAY,SAAS7B,GAAQ,MAAOQ,GAAMqB,WAG/H,KAAK,GAAIC,GAAI,EAAGA,EAAIlC,EAAMO,MAAMY,OAAQe,IACtCnB,EAAOK,UAAU,MAAOpB,EAAMO,MAAM2B,GAGtCnB,GAAOoB,GAAG,YAAa,SAASC,GACU,KAApCpC,EAAMO,MAAM8B,QAAQD,EAAMhC,OAC5BJ,EAAMO,MAAM+B,KAAKF,EAAMhC,QAG3BW,EAAOoB,GAAG,cAAe,SAASC,GAChC,GAAIG,GAAMvC,EAAMO,MAAM8B,QAAQD,EAAMhC,KACxB,MAARmC,GACFvC,EAAMO,MAAMiC,OAAOD,EAAK,IAK5B,IAAIE,GAAOzC,EAAMO,MAAMmC,OACvB1C,GAAM2C,OAAO,QAAS,WACpB,GAEIT,GAFAU,EAAQ5C,EAAMO,MAAMsC,OAAO,SAASX,GAAI,MAA2B,KAApBO,EAAKJ,QAAQH,KAC5DY,EAAUL,EAAKI,OAAO,SAASX,GAAI,MAAkC,KAA3BlC,EAAMO,MAAM8B,QAAQH,IAMlE,KAHAO,EAAOzC,EAAMO,MAAMmC,QAGdR,EAAI,EAAGA,EAAIY,EAAQ3B,OAAQe,IAC9BnB,EAAOK,UAAU,SAAU0B,EAAQZ,GAOrC,KAHAnB,EAAOK,UAAU,WAGZc,EAAI,EAAGA,EAAIU,EAAMzB,OAAQe,IAC5BnB,EAAOK,UAAU,MAAOwB,EAAMV,MAE/B","file":"bootstrap-tagsinput-angular.min.js"}PK�z�\�غ��"bootstrap-tagsinput-angular.min.jsnu�[���/* * bootstrap-tagsinput v0.7.1 by Tim Schlechter * */ angular.module("bootstrap-tagsinput",[]).directive("bootstrapTagsinput",[function(){function a(a,b){return b?angular.isFunction(a.$parent[b])?a.$parent[b]:function(a){return a[b]}:void 0}return{restrict:"EA",scope:{model:"=ngModel"},template:"<select multiple></select>",replace:!1,link:function(b,c,d){$(function(){angular.isArray(b.model)||(b.model=[]);var e=$("select",c),f=d.typeaheadSource?d.typeaheadSource.split("."):null,g=f?f.length>1?b.$parent[f[0]][f[1]]:b.$parent[f[0]]:null;e.tagsinput(b.$parent[d.options||""]||{typeahead:{source:angular.isFunction(g)?g:null},itemValue:a(b,d.itemvalue),itemText:a(b,d.itemtext),confirmKeys:a(b,d.confirmkeys)?JSON.parse(d.confirmkeys):[13],tagClass:angular.isFunction(b.$parent[d.tagclass])?b.$parent[d.tagclass]:function(a){return d.tagclass}});for(var h=0;h<b.model.length;h++)e.tagsinput("add",b.model[h]);e.on("itemAdded",function(a){-1===b.model.indexOf(a.item)&&b.model.push(a.item)}),e.on("itemRemoved",function(a){var c=b.model.indexOf(a.item);-1!==c&&b.model.splice(c,1)});var i=b.model.slice();b.$watch("model",function(){var a,c=b.model.filter(function(a){return-1===i.indexOf(a)}),d=i.filter(function(a){return-1===b.model.indexOf(a)});for(i=b.model.slice(),a=0;a<d.length;a++)e.tagsinput("remove",d[a]);for(e.tagsinput("refresh"),a=0;a<c.length;a++)e.tagsinput("add",c[a])},!0)})}}}]); //# sourceMappingURL=bootstrap-tagsinput-angular.min.js.mapPK�z�\ H��JJd3-scale-chromatic.min.jsnu�[���// https://d3js.org/d3-scale-chromatic/ v1.3.3 Copyright 2018 Mike Bostock !function(f,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("d3-interpolate"),require("d3-color")):"function"==typeof define&&define.amd?define(["exports","d3-interpolate","d3-color"],e):e(f.d3=f.d3||{},f.d3,f.d3)}(this,function(f,e,d){"use strict";function c(f){for(var e=f.length/6|0,d=new Array(e),c=0;c<e;)d[c]="#"+f.slice(6*c,6*++c);return d}var a=c("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"),b=c("7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666"),r=c("1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666"),t=c("a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928"),n=c("fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2"),o=c("b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc"),l=c("e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999"),i=c("66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3"),p=c("8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f");function m(f){return e.interpolateRgbBasis(f[f.length-1])}var s=new Array(3).concat("d8b365f5f5f55ab4ac","a6611adfc27d80cdc1018571","a6611adfc27df5f5f580cdc1018571","8c510ad8b365f6e8c3c7eae55ab4ac01665e","8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e","8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e","8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e","5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30","5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30").map(c),u=m(s),h=new Array(3).concat("af8dc3f7f7f77fbf7b","7b3294c2a5cfa6dba0008837","7b3294c2a5cff7f7f7a6dba0008837","762a83af8dc3e7d4e8d9f0d37fbf7b1b7837","762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837","762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837","762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837","40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b","40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b").map(c),y=m(h),w=new Array(3).concat("e9a3c9f7f7f7a1d76a","d01c8bf1b6dab8e1864dac26","d01c8bf1b6daf7f7f7b8e1864dac26","c51b7de9a3c9fde0efe6f5d0a1d76a4d9221","c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221","c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221","c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221","8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419","8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419").map(c),A=m(w),P=new Array(3).concat("998ec3f7f7f7f1a340","5e3c99b2abd2fdb863e66101","5e3c99b2abd2f7f7f7fdb863e66101","542788998ec3d8daebfee0b6f1a340b35806","542788998ec3d8daebf7f7f7fee0b6f1a340b35806","5427888073acb2abd2d8daebfee0b6fdb863e08214b35806","5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b35806","2d004b5427888073acb2abd2d8daebfee0b6fdb863e08214b358067f3b08","2d004b5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b358067f3b08").map(c),B=m(P),G=new Array(3).concat("ef8a62f7f7f767a9cf","ca0020f4a58292c5de0571b0","ca0020f4a582f7f7f792c5de0571b0","b2182bef8a62fddbc7d1e5f067a9cf2166ac","b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac","b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac","b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac","67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061","67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061").map(c),R=m(G),x=new Array(3).concat("ef8a62ffffff999999","ca0020f4a582bababa404040","ca0020f4a582ffffffbababa404040","b2182bef8a62fddbc7e0e0e09999994d4d4d","b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d","b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d","b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d","67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a","67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a").map(c),Y=m(x),g=new Array(3).concat("fc8d59ffffbf91bfdb","d7191cfdae61abd9e92c7bb6","d7191cfdae61ffffbfabd9e92c7bb6","d73027fc8d59fee090e0f3f891bfdb4575b4","d73027fc8d59fee090ffffbfe0f3f891bfdb4575b4","d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4","d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4","a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695","a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695").map(c),M=m(g),O=new Array(3).concat("fc8d59ffffbf91cf60","d7191cfdae61a6d96a1a9641","d7191cfdae61ffffbfa6d96a1a9641","d73027fc8d59fee08bd9ef8b91cf601a9850","d73027fc8d59fee08bffffbfd9ef8b91cf601a9850","d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850","d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850","a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837","a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837").map(c),v=m(O),C=new Array(3).concat("fc8d59ffffbf99d594","d7191cfdae61abdda42b83ba","d7191cfdae61ffffbfabdda42b83ba","d53e4ffc8d59fee08be6f59899d5943288bd","d53e4ffc8d59fee08bffffbfe6f59899d5943288bd","d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd","d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd","9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2","9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2").map(c),S=m(C),I=new Array(3).concat("e5f5f999d8c92ca25f","edf8fbb2e2e266c2a4238b45","edf8fbb2e2e266c2a42ca25f006d2c","edf8fbccece699d8c966c2a42ca25f006d2c","edf8fbccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b").map(c),L=m(I),j=new Array(3).concat("e0ecf49ebcda8856a7","edf8fbb3cde38c96c688419d","edf8fbb3cde38c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b").map(c),q=m(j),D=new Array(3).concat("e0f3dba8ddb543a2ca","f0f9e8bae4bc7bccc42b8cbe","f0f9e8bae4bc7bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081").map(c),_=m(D),k=new Array(3).concat("fee8c8fdbb84e34a33","fef0d9fdcc8afc8d59d7301f","fef0d9fdcc8afc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000").map(c),V=m(k),W=new Array(3).concat("ece2f0a6bddb1c9099","f6eff7bdc9e167a9cf02818a","f6eff7bdc9e167a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636").map(c),z=m(W),E=new Array(3).concat("ece7f2a6bddb2b8cbe","f1eef6bdc9e174a9cf0570b0","f1eef6bdc9e174a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858").map(c),F=m(E),H=new Array(3).concat("e7e1efc994c7dd1c77","f1eef6d7b5d8df65b0ce1256","f1eef6d7b5d8df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f").map(c),J=m(H),K=new Array(3).concat("fde0ddfa9fb5c51b8a","feebe2fbb4b9f768a1ae017e","feebe2fbb4b9f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a").map(c),N=m(K),Q=new Array(3).concat("edf8b17fcdbb2c7fb8","ffffcca1dab441b6c4225ea8","ffffcca1dab441b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58").map(c),T=m(Q),U=new Array(3).concat("f7fcb9addd8e31a354","ffffccc2e69978c679238443","ffffccc2e69978c67931a354006837","ffffccd9f0a3addd8e78c67931a354006837","ffffccd9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529").map(c),X=m(U),Z=new Array(3).concat("fff7bcfec44fd95f0e","ffffd4fed98efe9929cc4c02","ffffd4fed98efe9929d95f0e993404","ffffd4fee391fec44ffe9929d95f0e993404","ffffd4fee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506").map(c),$=m(Z),ff=new Array(3).concat("ffeda0feb24cf03b20","ffffb2fecc5cfd8d3ce31a1c","ffffb2fecc5cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026").map(c),ef=m(ff),df=new Array(3).concat("deebf79ecae13182bd","eff3ffbdd7e76baed62171b5","eff3ffbdd7e76baed63182bd08519c","eff3ffc6dbef9ecae16baed63182bd08519c","eff3ffc6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b").map(c),cf=m(df),af=new Array(3).concat("e5f5e0a1d99b31a354","edf8e9bae4b374c476238b45","edf8e9bae4b374c47631a354006d2c","edf8e9c7e9c0a1d99b74c47631a354006d2c","edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b").map(c),bf=m(af),rf=new Array(3).concat("f0f0f0bdbdbd636363","f7f7f7cccccc969696525252","f7f7f7cccccc969696636363252525","f7f7f7d9d9d9bdbdbd969696636363252525","f7f7f7d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000").map(c),tf=m(rf),nf=new Array(3).concat("efedf5bcbddc756bb1","f2f0f7cbc9e29e9ac86a51a3","f2f0f7cbc9e29e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d").map(c),of=m(nf),lf=new Array(3).concat("fee0d2fc9272de2d26","fee5d9fcae91fb6a4acb181d","fee5d9fcae91fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d").map(c),pf=m(lf),mf=new Array(3).concat("fee6cefdae6be6550d","feeddefdbe85fd8d3cd94701","feeddefdbe85fd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704").map(c),sf=m(mf),uf=e.interpolateCubehelixLong(d.cubehelix(300,.5,0),d.cubehelix(-240,.5,1)),hf=e.interpolateCubehelixLong(d.cubehelix(-100,.75,.35),d.cubehelix(80,1.5,.8)),yf=e.interpolateCubehelixLong(d.cubehelix(260,.75,.35),d.cubehelix(80,1.5,.8)),wf=d.cubehelix();var Af=d.rgb(),Pf=Math.PI/3,Bf=2*Math.PI/3;function Gf(f){var e=f.length;return function(d){return f[Math.max(0,Math.min(e-1,Math.floor(d*e)))]}}var Rf=Gf(c("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725")),xf=Gf(c("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")),Yf=Gf(c("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")),gf=Gf(c("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"));f.schemeCategory10=a,f.schemeAccent=b,f.schemeDark2=r,f.schemePaired=t,f.schemePastel1=n,f.schemePastel2=o,f.schemeSet1=l,f.schemeSet2=i,f.schemeSet3=p,f.interpolateBrBG=u,f.schemeBrBG=s,f.interpolatePRGn=y,f.schemePRGn=h,f.interpolatePiYG=A,f.schemePiYG=w,f.interpolatePuOr=B,f.schemePuOr=P,f.interpolateRdBu=R,f.schemeRdBu=G,f.interpolateRdGy=Y,f.schemeRdGy=x,f.interpolateRdYlBu=M,f.schemeRdYlBu=g,f.interpolateRdYlGn=v,f.schemeRdYlGn=O,f.interpolateSpectral=S,f.schemeSpectral=C,f.interpolateBuGn=L,f.schemeBuGn=I,f.interpolateBuPu=q,f.schemeBuPu=j,f.interpolateGnBu=_,f.schemeGnBu=D,f.interpolateOrRd=V,f.schemeOrRd=k,f.interpolatePuBuGn=z,f.schemePuBuGn=W,f.interpolatePuBu=F,f.schemePuBu=E,f.interpolatePuRd=J,f.schemePuRd=H,f.interpolateRdPu=N,f.schemeRdPu=K,f.interpolateYlGnBu=T,f.schemeYlGnBu=Q,f.interpolateYlGn=X,f.schemeYlGn=U,f.interpolateYlOrBr=$,f.schemeYlOrBr=Z,f.interpolateYlOrRd=ef,f.schemeYlOrRd=ff,f.interpolateBlues=cf,f.schemeBlues=df,f.interpolateGreens=bf,f.schemeGreens=af,f.interpolateGreys=tf,f.schemeGreys=rf,f.interpolatePurples=of,f.schemePurples=nf,f.interpolateReds=pf,f.schemeReds=lf,f.interpolateOranges=sf,f.schemeOranges=mf,f.interpolateCubehelixDefault=uf,f.interpolateRainbow=function(f){(f<0||f>1)&&(f-=Math.floor(f));var e=Math.abs(f-.5);return wf.h=360*f-100,wf.s=1.5-1.5*e,wf.l=.8-.9*e,wf+""},f.interpolateWarm=hf,f.interpolateCool=yf,f.interpolateSinebow=function(f){var e;return f=(.5-f)*Math.PI,Af.r=255*(e=Math.sin(f))*e,Af.g=255*(e=Math.sin(f+Pf))*e,Af.b=255*(e=Math.sin(f+Bf))*e,Af+""},f.interpolateViridis=Rf,f.interpolateMagma=xf,f.interpolateInferno=Yf,f.interpolatePlasma=gf,Object.defineProperty(f,"__esModule",{value:!0})}); PK�z�\P��3Z3Zd3-scale-chromatic.jsnu�[���// https://d3js.org/d3-scale-chromatic/ v1.3.3 Copyright 2018 Mike Bostock (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('d3-interpolate'), require('d3-color')) : typeof define === 'function' && define.amd ? define(['exports', 'd3-interpolate', 'd3-color'], factory) : (factory((global.d3 = global.d3 || {}),global.d3,global.d3)); }(this, (function (exports,d3Interpolate,d3Color) { 'use strict'; function colors(specifier) { var n = specifier.length / 6 | 0, colors = new Array(n), i = 0; while (i < n) colors[i] = "#" + specifier.slice(i * 6, ++i * 6); return colors; } var category10 = colors("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"); var Accent = colors("7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666"); var Dark2 = colors("1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666"); var Paired = colors("a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928"); var Pastel1 = colors("fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2"); var Pastel2 = colors("b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc"); var Set1 = colors("e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999"); var Set2 = colors("66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3"); var Set3 = colors("8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f"); function ramp(scheme) { return d3Interpolate.interpolateRgbBasis(scheme[scheme.length - 1]); } var scheme = new Array(3).concat( "d8b365f5f5f55ab4ac", "a6611adfc27d80cdc1018571", "a6611adfc27df5f5f580cdc1018571", "8c510ad8b365f6e8c3c7eae55ab4ac01665e", "8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e", "8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e", "8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e", "5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30", "5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30" ).map(colors); var BrBG = ramp(scheme); var scheme$1 = new Array(3).concat( "af8dc3f7f7f77fbf7b", "7b3294c2a5cfa6dba0008837", "7b3294c2a5cff7f7f7a6dba0008837", "762a83af8dc3e7d4e8d9f0d37fbf7b1b7837", "762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837", "762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837", "762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837", "40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b", "40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b" ).map(colors); var PRGn = ramp(scheme$1); var scheme$2 = new Array(3).concat( "e9a3c9f7f7f7a1d76a", "d01c8bf1b6dab8e1864dac26", "d01c8bf1b6daf7f7f7b8e1864dac26", "c51b7de9a3c9fde0efe6f5d0a1d76a4d9221", "c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221", "c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221", "c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221", "8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419", "8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419" ).map(colors); var PiYG = ramp(scheme$2); var scheme$3 = new Array(3).concat( "998ec3f7f7f7f1a340", "5e3c99b2abd2fdb863e66101", "5e3c99b2abd2f7f7f7fdb863e66101", "542788998ec3d8daebfee0b6f1a340b35806", "542788998ec3d8daebf7f7f7fee0b6f1a340b35806", "5427888073acb2abd2d8daebfee0b6fdb863e08214b35806", "5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b35806", "2d004b5427888073acb2abd2d8daebfee0b6fdb863e08214b358067f3b08", "2d004b5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b358067f3b08" ).map(colors); var PuOr = ramp(scheme$3); var scheme$4 = new Array(3).concat( "ef8a62f7f7f767a9cf", "ca0020f4a58292c5de0571b0", "ca0020f4a582f7f7f792c5de0571b0", "b2182bef8a62fddbc7d1e5f067a9cf2166ac", "b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac", "b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac", "b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac", "67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061", "67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061" ).map(colors); var RdBu = ramp(scheme$4); var scheme$5 = new Array(3).concat( "ef8a62ffffff999999", "ca0020f4a582bababa404040", "ca0020f4a582ffffffbababa404040", "b2182bef8a62fddbc7e0e0e09999994d4d4d", "b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d", "b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d", "b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d", "67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a", "67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a" ).map(colors); var RdGy = ramp(scheme$5); var scheme$6 = new Array(3).concat( "fc8d59ffffbf91bfdb", "d7191cfdae61abd9e92c7bb6", "d7191cfdae61ffffbfabd9e92c7bb6", "d73027fc8d59fee090e0f3f891bfdb4575b4", "d73027fc8d59fee090ffffbfe0f3f891bfdb4575b4", "d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4", "d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4", "a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695", "a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695" ).map(colors); var RdYlBu = ramp(scheme$6); var scheme$7 = new Array(3).concat( "fc8d59ffffbf91cf60", "d7191cfdae61a6d96a1a9641", "d7191cfdae61ffffbfa6d96a1a9641", "d73027fc8d59fee08bd9ef8b91cf601a9850", "d73027fc8d59fee08bffffbfd9ef8b91cf601a9850", "d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850", "d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850", "a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837", "a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837" ).map(colors); var RdYlGn = ramp(scheme$7); var scheme$8 = new Array(3).concat( "fc8d59ffffbf99d594", "d7191cfdae61abdda42b83ba", "d7191cfdae61ffffbfabdda42b83ba", "d53e4ffc8d59fee08be6f59899d5943288bd", "d53e4ffc8d59fee08bffffbfe6f59899d5943288bd", "d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd", "d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd", "9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2", "9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2" ).map(colors); var Spectral = ramp(scheme$8); var scheme$9 = new Array(3).concat( "e5f5f999d8c92ca25f", "edf8fbb2e2e266c2a4238b45", "edf8fbb2e2e266c2a42ca25f006d2c", "edf8fbccece699d8c966c2a42ca25f006d2c", "edf8fbccece699d8c966c2a441ae76238b45005824", "f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824", "f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b" ).map(colors); var BuGn = ramp(scheme$9); var scheme$a = new Array(3).concat( "e0ecf49ebcda8856a7", "edf8fbb3cde38c96c688419d", "edf8fbb3cde38c96c68856a7810f7c", "edf8fbbfd3e69ebcda8c96c68856a7810f7c", "edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b", "f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b", "f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b" ).map(colors); var BuPu = ramp(scheme$a); var scheme$b = new Array(3).concat( "e0f3dba8ddb543a2ca", "f0f9e8bae4bc7bccc42b8cbe", "f0f9e8bae4bc7bccc443a2ca0868ac", "f0f9e8ccebc5a8ddb57bccc443a2ca0868ac", "f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e", "f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e", "f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081" ).map(colors); var GnBu = ramp(scheme$b); var scheme$c = new Array(3).concat( "fee8c8fdbb84e34a33", "fef0d9fdcc8afc8d59d7301f", "fef0d9fdcc8afc8d59e34a33b30000", "fef0d9fdd49efdbb84fc8d59e34a33b30000", "fef0d9fdd49efdbb84fc8d59ef6548d7301f990000", "fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000", "fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000" ).map(colors); var OrRd = ramp(scheme$c); var scheme$d = new Array(3).concat( "ece2f0a6bddb1c9099", "f6eff7bdc9e167a9cf02818a", "f6eff7bdc9e167a9cf1c9099016c59", "f6eff7d0d1e6a6bddb67a9cf1c9099016c59", "f6eff7d0d1e6a6bddb67a9cf3690c002818a016450", "fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450", "fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636" ).map(colors); var PuBuGn = ramp(scheme$d); var scheme$e = new Array(3).concat( "ece7f2a6bddb2b8cbe", "f1eef6bdc9e174a9cf0570b0", "f1eef6bdc9e174a9cf2b8cbe045a8d", "f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d", "f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b", "fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b", "fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858" ).map(colors); var PuBu = ramp(scheme$e); var scheme$f = new Array(3).concat( "e7e1efc994c7dd1c77", "f1eef6d7b5d8df65b0ce1256", "f1eef6d7b5d8df65b0dd1c77980043", "f1eef6d4b9dac994c7df65b0dd1c77980043", "f1eef6d4b9dac994c7df65b0e7298ace125691003f", "f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f", "f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f" ).map(colors); var PuRd = ramp(scheme$f); var scheme$g = new Array(3).concat( "fde0ddfa9fb5c51b8a", "feebe2fbb4b9f768a1ae017e", "feebe2fbb4b9f768a1c51b8a7a0177", "feebe2fcc5c0fa9fb5f768a1c51b8a7a0177", "feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177", "fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177", "fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a" ).map(colors); var RdPu = ramp(scheme$g); var scheme$h = new Array(3).concat( "edf8b17fcdbb2c7fb8", "ffffcca1dab441b6c4225ea8", "ffffcca1dab441b6c42c7fb8253494", "ffffccc7e9b47fcdbb41b6c42c7fb8253494", "ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84", "ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84", "ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58" ).map(colors); var YlGnBu = ramp(scheme$h); var scheme$i = new Array(3).concat( "f7fcb9addd8e31a354", "ffffccc2e69978c679238443", "ffffccc2e69978c67931a354006837", "ffffccd9f0a3addd8e78c67931a354006837", "ffffccd9f0a3addd8e78c67941ab5d238443005a32", "ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32", "ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529" ).map(colors); var YlGn = ramp(scheme$i); var scheme$j = new Array(3).concat( "fff7bcfec44fd95f0e", "ffffd4fed98efe9929cc4c02", "ffffd4fed98efe9929d95f0e993404", "ffffd4fee391fec44ffe9929d95f0e993404", "ffffd4fee391fec44ffe9929ec7014cc4c028c2d04", "ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04", "ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506" ).map(colors); var YlOrBr = ramp(scheme$j); var scheme$k = new Array(3).concat( "ffeda0feb24cf03b20", "ffffb2fecc5cfd8d3ce31a1c", "ffffb2fecc5cfd8d3cf03b20bd0026", "ffffb2fed976feb24cfd8d3cf03b20bd0026", "ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026", "ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026", "ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026" ).map(colors); var YlOrRd = ramp(scheme$k); var scheme$l = new Array(3).concat( "deebf79ecae13182bd", "eff3ffbdd7e76baed62171b5", "eff3ffbdd7e76baed63182bd08519c", "eff3ffc6dbef9ecae16baed63182bd08519c", "eff3ffc6dbef9ecae16baed64292c62171b5084594", "f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594", "f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b" ).map(colors); var Blues = ramp(scheme$l); var scheme$m = new Array(3).concat( "e5f5e0a1d99b31a354", "edf8e9bae4b374c476238b45", "edf8e9bae4b374c47631a354006d2c", "edf8e9c7e9c0a1d99b74c47631a354006d2c", "edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32", "f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32", "f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b" ).map(colors); var Greens = ramp(scheme$m); var scheme$n = new Array(3).concat( "f0f0f0bdbdbd636363", "f7f7f7cccccc969696525252", "f7f7f7cccccc969696636363252525", "f7f7f7d9d9d9bdbdbd969696636363252525", "f7f7f7d9d9d9bdbdbd969696737373525252252525", "fffffff0f0f0d9d9d9bdbdbd969696737373525252252525", "fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000" ).map(colors); var Greys = ramp(scheme$n); var scheme$o = new Array(3).concat( "efedf5bcbddc756bb1", "f2f0f7cbc9e29e9ac86a51a3", "f2f0f7cbc9e29e9ac8756bb154278f", "f2f0f7dadaebbcbddc9e9ac8756bb154278f", "f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486", "fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486", "fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d" ).map(colors); var Purples = ramp(scheme$o); var scheme$p = new Array(3).concat( "fee0d2fc9272de2d26", "fee5d9fcae91fb6a4acb181d", "fee5d9fcae91fb6a4ade2d26a50f15", "fee5d9fcbba1fc9272fb6a4ade2d26a50f15", "fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d", "fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d", "fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d" ).map(colors); var Reds = ramp(scheme$p); var scheme$q = new Array(3).concat( "fee6cefdae6be6550d", "feeddefdbe85fd8d3cd94701", "feeddefdbe85fd8d3ce6550da63603", "feeddefdd0a2fdae6bfd8d3ce6550da63603", "feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04", "fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04", "fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704" ).map(colors); var Oranges = ramp(scheme$q); var cubehelix = d3Interpolate.interpolateCubehelixLong(d3Color.cubehelix(300, 0.5, 0.0), d3Color.cubehelix(-240, 0.5, 1.0)); var warm = d3Interpolate.interpolateCubehelixLong(d3Color.cubehelix(-100, 0.75, 0.35), d3Color.cubehelix(80, 1.50, 0.8)); var cool = d3Interpolate.interpolateCubehelixLong(d3Color.cubehelix(260, 0.75, 0.35), d3Color.cubehelix(80, 1.50, 0.8)); var c = d3Color.cubehelix(); function rainbow(t) { if (t < 0 || t > 1) t -= Math.floor(t); var ts = Math.abs(t - 0.5); c.h = 360 * t - 100; c.s = 1.5 - 1.5 * ts; c.l = 0.8 - 0.9 * ts; return c + ""; } var c$1 = d3Color.rgb(), pi_1_3 = Math.PI / 3, pi_2_3 = Math.PI * 2 / 3; function sinebow(t) { var x; t = (0.5 - t) * Math.PI; c$1.r = 255 * (x = Math.sin(t)) * x; c$1.g = 255 * (x = Math.sin(t + pi_1_3)) * x; c$1.b = 255 * (x = Math.sin(t + pi_2_3)) * x; return c$1 + ""; } function ramp$1(range) { var n = range.length; return function(t) { return range[Math.max(0, Math.min(n - 1, Math.floor(t * n)))]; }; } var viridis = ramp$1(colors("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725")); var magma = ramp$1(colors("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")); var inferno = ramp$1(colors("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")); var plasma = ramp$1(colors("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921")); exports.schemeCategory10 = category10; exports.schemeAccent = Accent; exports.schemeDark2 = Dark2; exports.schemePaired = Paired; exports.schemePastel1 = Pastel1; exports.schemePastel2 = Pastel2; exports.schemeSet1 = Set1; exports.schemeSet2 = Set2; exports.schemeSet3 = Set3; exports.interpolateBrBG = BrBG; exports.schemeBrBG = scheme; exports.interpolatePRGn = PRGn; exports.schemePRGn = scheme$1; exports.interpolatePiYG = PiYG; exports.schemePiYG = scheme$2; exports.interpolatePuOr = PuOr; exports.schemePuOr = scheme$3; exports.interpolateRdBu = RdBu; exports.schemeRdBu = scheme$4; exports.interpolateRdGy = RdGy; exports.schemeRdGy = scheme$5; exports.interpolateRdYlBu = RdYlBu; exports.schemeRdYlBu = scheme$6; exports.interpolateRdYlGn = RdYlGn; exports.schemeRdYlGn = scheme$7; exports.interpolateSpectral = Spectral; exports.schemeSpectral = scheme$8; exports.interpolateBuGn = BuGn; exports.schemeBuGn = scheme$9; exports.interpolateBuPu = BuPu; exports.schemeBuPu = scheme$a; exports.interpolateGnBu = GnBu; exports.schemeGnBu = scheme$b; exports.interpolateOrRd = OrRd; exports.schemeOrRd = scheme$c; exports.interpolatePuBuGn = PuBuGn; exports.schemePuBuGn = scheme$d; exports.interpolatePuBu = PuBu; exports.schemePuBu = scheme$e; exports.interpolatePuRd = PuRd; exports.schemePuRd = scheme$f; exports.interpolateRdPu = RdPu; exports.schemeRdPu = scheme$g; exports.interpolateYlGnBu = YlGnBu; exports.schemeYlGnBu = scheme$h; exports.interpolateYlGn = YlGn; exports.schemeYlGn = scheme$i; exports.interpolateYlOrBr = YlOrBr; exports.schemeYlOrBr = scheme$j; exports.interpolateYlOrRd = YlOrRd; exports.schemeYlOrRd = scheme$k; exports.interpolateBlues = Blues; exports.schemeBlues = scheme$l; exports.interpolateGreens = Greens; exports.schemeGreens = scheme$m; exports.interpolateGreys = Greys; exports.schemeGreys = scheme$n; exports.interpolatePurples = Purples; exports.schemePurples = scheme$o; exports.interpolateReds = Reds; exports.schemeReds = scheme$p; exports.interpolateOranges = Oranges; exports.schemeOranges = scheme$q; exports.interpolateCubehelixDefault = cubehelix; exports.interpolateRainbow = rainbow; exports.interpolateWarm = warm; exports.interpolateCool = cool; exports.interpolateSinebow = sinebow; exports.interpolateViridis = viridis; exports.interpolateMagma = magma; exports.interpolateInferno = inferno; exports.interpolatePlasma = plasma; Object.defineProperty(exports, '__esModule', { value: true }); }))); PKr{�\ ��f==d3-interpolate.jsnu�[���// https://d3js.org/d3-interpolate/ v1.3.2 Copyright 2018 Mike Bostock (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('d3-color')) : typeof define === 'function' && define.amd ? define(['exports', 'd3-color'], factory) : (factory((global.d3 = global.d3 || {}),global.d3)); }(this, (function (exports,d3Color) { 'use strict'; function basis(t1, v0, v1, v2, v3) { var t2 = t1 * t1, t3 = t2 * t1; return ((1 - 3 * t1 + 3 * t2 - t3) * v0 + (4 - 6 * t2 + 3 * t3) * v1 + (1 + 3 * t1 + 3 * t2 - 3 * t3) * v2 + t3 * v3) / 6; } function basis$1(values) { var n = values.length - 1; return function(t) { var i = t <= 0 ? (t = 0) : t >= 1 ? (t = 1, n - 1) : Math.floor(t * n), v1 = values[i], v2 = values[i + 1], v0 = i > 0 ? values[i - 1] : 2 * v1 - v2, v3 = i < n - 1 ? values[i + 2] : 2 * v2 - v1; return basis((t - i / n) * n, v0, v1, v2, v3); }; } function basisClosed(values) { var n = values.length; return function(t) { var i = Math.floor(((t %= 1) < 0 ? ++t : t) * n), v0 = values[(i + n - 1) % n], v1 = values[i % n], v2 = values[(i + 1) % n], v3 = values[(i + 2) % n]; return basis((t - i / n) * n, v0, v1, v2, v3); }; } function constant(x) { return function() { return x; }; } function linear(a, d) { return function(t) { return a + t * d; }; } function exponential(a, b, y) { return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) { return Math.pow(a + t * b, y); }; } function hue(a, b) { var d = b - a; return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a); } function gamma(y) { return (y = +y) === 1 ? nogamma : function(a, b) { return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a); }; } function nogamma(a, b) { var d = b - a; return d ? linear(a, d) : constant(isNaN(a) ? b : a); } var rgb = (function rgbGamma(y) { var color = gamma(y); function rgb(start, end) { var r = color((start = d3Color.rgb(start)).r, (end = d3Color.rgb(end)).r), g = color(start.g, end.g), b = color(start.b, end.b), opacity = nogamma(start.opacity, end.opacity); return function(t) { start.r = r(t); start.g = g(t); start.b = b(t); start.opacity = opacity(t); return start + ""; }; } rgb.gamma = rgbGamma; return rgb; })(1); function rgbSpline(spline) { return function(colors) { var n = colors.length, r = new Array(n), g = new Array(n), b = new Array(n), i, color; for (i = 0; i < n; ++i) { color = d3Color.rgb(colors[i]); r[i] = color.r || 0; g[i] = color.g || 0; b[i] = color.b || 0; } r = spline(r); g = spline(g); b = spline(b); color.opacity = 1; return function(t) { color.r = r(t); color.g = g(t); color.b = b(t); return color + ""; }; }; } var rgbBasis = rgbSpline(basis$1); var rgbBasisClosed = rgbSpline(basisClosed); function array(a, b) { var nb = b ? b.length : 0, na = a ? Math.min(nb, a.length) : 0, x = new Array(na), c = new Array(nb), i; for (i = 0; i < na; ++i) x[i] = value(a[i], b[i]); for (; i < nb; ++i) c[i] = b[i]; return function(t) { for (i = 0; i < na; ++i) c[i] = x[i](t); return c; }; } function date(a, b) { var d = new Date; return a = +a, b -= a, function(t) { return d.setTime(a + b * t), d; }; } function number(a, b) { return a = +a, b -= a, function(t) { return a + b * t; }; } function object(a, b) { var i = {}, c = {}, k; if (a === null || typeof a !== "object") a = {}; if (b === null || typeof b !== "object") b = {}; for (k in b) { if (k in a) { i[k] = value(a[k], b[k]); } else { c[k] = b[k]; } } return function(t) { for (k in i) c[k] = i[k](t); return c; }; } var reA = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g, reB = new RegExp(reA.source, "g"); function zero(b) { return function() { return b; }; } function one(b) { return function(t) { return b(t) + ""; }; } function string(a, b) { var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b am, // current match in a bm, // current match in b bs, // string preceding current number in b, if any i = -1, // index in s s = [], // string constants and placeholders q = []; // number interpolators // Coerce inputs to strings. a = a + "", b = b + ""; // Interpolate pairs of numbers in a & b. while ((am = reA.exec(a)) && (bm = reB.exec(b))) { if ((bs = bm.index) > bi) { // a string precedes the next number in b bs = b.slice(bi, bs); if (s[i]) s[i] += bs; // coalesce with previous string else s[++i] = bs; } if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match if (s[i]) s[i] += bm; // coalesce with previous string else s[++i] = bm; } else { // interpolate non-matching numbers s[++i] = null; q.push({i: i, x: number(am, bm)}); } bi = reB.lastIndex; } // Add remains of b. if (bi < b.length) { bs = b.slice(bi); if (s[i]) s[i] += bs; // coalesce with previous string else s[++i] = bs; } // Special optimization for only a single match. // Otherwise, interpolate each of the numbers and rejoin the string. return s.length < 2 ? (q[0] ? one(q[0].x) : zero(b)) : (b = q.length, function(t) { for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t); return s.join(""); }); } function value(a, b) { var t = typeof b, c; return b == null || t === "boolean" ? constant(b) : (t === "number" ? number : t === "string" ? ((c = d3Color.color(b)) ? (b = c, rgb) : string) : b instanceof d3Color.color ? rgb : b instanceof Date ? date : Array.isArray(b) ? array : typeof b.valueOf !== "function" && typeof b.toString !== "function" || isNaN(b) ? object : number)(a, b); } function discrete(range) { var n = range.length; return function(t) { return range[Math.max(0, Math.min(n - 1, Math.floor(t * n)))]; }; } function hue$1(a, b) { var i = hue(+a, +b); return function(t) { var x = i(t); return x - 360 * Math.floor(x / 360); }; } function round(a, b) { return a = +a, b -= a, function(t) { return Math.round(a + b * t); }; } var degrees = 180 / Math.PI; var identity = { translateX: 0, translateY: 0, rotate: 0, skewX: 0, scaleX: 1, scaleY: 1 }; function decompose(a, b, c, d, e, f) { var scaleX, scaleY, skewX; if (scaleX = Math.sqrt(a * a + b * b)) a /= scaleX, b /= scaleX; if (skewX = a * c + b * d) c -= a * skewX, d -= b * skewX; if (scaleY = Math.sqrt(c * c + d * d)) c /= scaleY, d /= scaleY, skewX /= scaleY; if (a * d < b * c) a = -a, b = -b, skewX = -skewX, scaleX = -scaleX; return { translateX: e, translateY: f, rotate: Math.atan2(b, a) * degrees, skewX: Math.atan(skewX) * degrees, scaleX: scaleX, scaleY: scaleY }; } var cssNode, cssRoot, cssView, svgNode; function parseCss(value) { if (value === "none") return identity; if (!cssNode) cssNode = document.createElement("DIV"), cssRoot = document.documentElement, cssView = document.defaultView; cssNode.style.transform = value; value = cssView.getComputedStyle(cssRoot.appendChild(cssNode), null).getPropertyValue("transform"); cssRoot.removeChild(cssNode); value = value.slice(7, -1).split(","); return decompose(+value[0], +value[1], +value[2], +value[3], +value[4], +value[5]); } function parseSvg(value) { if (value == null) return identity; if (!svgNode) svgNode = document.createElementNS("http://www.w3.org/2000/svg", "g"); svgNode.setAttribute("transform", value); if (!(value = svgNode.transform.baseVal.consolidate())) return identity; value = value.matrix; return decompose(value.a, value.b, value.c, value.d, value.e, value.f); } function interpolateTransform(parse, pxComma, pxParen, degParen) { function pop(s) { return s.length ? s.pop() + " " : ""; } function translate(xa, ya, xb, yb, s, q) { if (xa !== xb || ya !== yb) { var i = s.push("translate(", null, pxComma, null, pxParen); q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)}); } else if (xb || yb) { s.push("translate(" + xb + pxComma + yb + pxParen); } } function rotate(a, b, s, q) { if (a !== b) { if (a - b > 180) b += 360; else if (b - a > 180) a += 360; // shortest path q.push({i: s.push(pop(s) + "rotate(", null, degParen) - 2, x: number(a, b)}); } else if (b) { s.push(pop(s) + "rotate(" + b + degParen); } } function skewX(a, b, s, q) { if (a !== b) { q.push({i: s.push(pop(s) + "skewX(", null, degParen) - 2, x: number(a, b)}); } else if (b) { s.push(pop(s) + "skewX(" + b + degParen); } } function scale(xa, ya, xb, yb, s, q) { if (xa !== xb || ya !== yb) { var i = s.push(pop(s) + "scale(", null, ",", null, ")"); q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)}); } else if (xb !== 1 || yb !== 1) { s.push(pop(s) + "scale(" + xb + "," + yb + ")"); } } return function(a, b) { var s = [], // string constants and placeholders q = []; // number interpolators a = parse(a), b = parse(b); translate(a.translateX, a.translateY, b.translateX, b.translateY, s, q); rotate(a.rotate, b.rotate, s, q); skewX(a.skewX, b.skewX, s, q); scale(a.scaleX, a.scaleY, b.scaleX, b.scaleY, s, q); a = b = null; // gc return function(t) { var i = -1, n = q.length, o; while (++i < n) s[(o = q[i]).i] = o.x(t); return s.join(""); }; }; } var interpolateTransformCss = interpolateTransform(parseCss, "px, ", "px)", "deg)"); var interpolateTransformSvg = interpolateTransform(parseSvg, ", ", ")", ")"); var rho = Math.SQRT2, rho2 = 2, rho4 = 4, epsilon2 = 1e-12; function cosh(x) { return ((x = Math.exp(x)) + 1 / x) / 2; } function sinh(x) { return ((x = Math.exp(x)) - 1 / x) / 2; } function tanh(x) { return ((x = Math.exp(2 * x)) - 1) / (x + 1); } // p0 = [ux0, uy0, w0] // p1 = [ux1, uy1, w1] function zoom(p0, p1) { var ux0 = p0[0], uy0 = p0[1], w0 = p0[2], ux1 = p1[0], uy1 = p1[1], w1 = p1[2], dx = ux1 - ux0, dy = uy1 - uy0, d2 = dx * dx + dy * dy, i, S; // Special case for u0 ≅ u1. if (d2 < epsilon2) { S = Math.log(w1 / w0) / rho; i = function(t) { return [ ux0 + t * dx, uy0 + t * dy, w0 * Math.exp(rho * t * S) ]; }; } // General case. else { var d1 = Math.sqrt(d2), b0 = (w1 * w1 - w0 * w0 + rho4 * d2) / (2 * w0 * rho2 * d1), b1 = (w1 * w1 - w0 * w0 - rho4 * d2) / (2 * w1 * rho2 * d1), r0 = Math.log(Math.sqrt(b0 * b0 + 1) - b0), r1 = Math.log(Math.sqrt(b1 * b1 + 1) - b1); S = (r1 - r0) / rho; i = function(t) { var s = t * S, coshr0 = cosh(r0), u = w0 / (rho2 * d1) * (coshr0 * tanh(rho * s + r0) - sinh(r0)); return [ ux0 + u * dx, uy0 + u * dy, w0 * coshr0 / cosh(rho * s + r0) ]; }; } i.duration = S * 1000; return i; } function hsl(hue$$1) { return function(start, end) { var h = hue$$1((start = d3Color.hsl(start)).h, (end = d3Color.hsl(end)).h), s = nogamma(start.s, end.s), l = nogamma(start.l, end.l), opacity = nogamma(start.opacity, end.opacity); return function(t) { start.h = h(t); start.s = s(t); start.l = l(t); start.opacity = opacity(t); return start + ""; }; } } var hsl$1 = hsl(hue); var hslLong = hsl(nogamma); function lab(start, end) { var l = nogamma((start = d3Color.lab(start)).l, (end = d3Color.lab(end)).l), a = nogamma(start.a, end.a), b = nogamma(start.b, end.b), opacity = nogamma(start.opacity, end.opacity); return function(t) { start.l = l(t); start.a = a(t); start.b = b(t); start.opacity = opacity(t); return start + ""; }; } function hcl(hue$$1) { return function(start, end) { var h = hue$$1((start = d3Color.hcl(start)).h, (end = d3Color.hcl(end)).h), c = nogamma(start.c, end.c), l = nogamma(start.l, end.l), opacity = nogamma(start.opacity, end.opacity); return function(t) { start.h = h(t); start.c = c(t); start.l = l(t); start.opacity = opacity(t); return start + ""; }; } } var hcl$1 = hcl(hue); var hclLong = hcl(nogamma); function cubehelix(hue$$1) { return (function cubehelixGamma(y) { y = +y; function cubehelix(start, end) { var h = hue$$1((start = d3Color.cubehelix(start)).h, (end = d3Color.cubehelix(end)).h), s = nogamma(start.s, end.s), l = nogamma(start.l, end.l), opacity = nogamma(start.opacity, end.opacity); return function(t) { start.h = h(t); start.s = s(t); start.l = l(Math.pow(t, y)); start.opacity = opacity(t); return start + ""; }; } cubehelix.gamma = cubehelixGamma; return cubehelix; })(1); } var cubehelix$1 = cubehelix(hue); var cubehelixLong = cubehelix(nogamma); function piecewise(interpolate, values) { var i = 0, n = values.length - 1, v = values[0], I = new Array(n < 0 ? 0 : n); while (i < n) I[i] = interpolate(v, v = values[++i]); return function(t) { var i = Math.max(0, Math.min(n - 1, Math.floor(t *= n))); return I[i](t - i); }; } function quantize(interpolator, n) { var samples = new Array(n); for (var i = 0; i < n; ++i) samples[i] = interpolator(i / (n - 1)); return samples; } exports.interpolate = value; exports.interpolateArray = array; exports.interpolateBasis = basis$1; exports.interpolateBasisClosed = basisClosed; exports.interpolateDate = date; exports.interpolateDiscrete = discrete; exports.interpolateHue = hue$1; exports.interpolateNumber = number; exports.interpolateObject = object; exports.interpolateRound = round; exports.interpolateString = string; exports.interpolateTransformCss = interpolateTransformCss; exports.interpolateTransformSvg = interpolateTransformSvg; exports.interpolateZoom = zoom; exports.interpolateRgb = rgb; exports.interpolateRgbBasis = rgbBasis; exports.interpolateRgbBasisClosed = rgbBasisClosed; exports.interpolateHsl = hsl$1; exports.interpolateHslLong = hslLong; exports.interpolateLab = lab; exports.interpolateHcl = hcl$1; exports.interpolateHclLong = hclLong; exports.interpolateCubehelix = cubehelix$1; exports.interpolateCubehelixLong = cubehelixLong; exports.piecewise = piecewise; exports.quantize = quantize; Object.defineProperty(exports, '__esModule', { value: true }); }))); PKr{�\�����d3-interpolate.min.jsnu�[���// https://d3js.org/d3-interpolate/ v1.3.2 Copyright 2018 Mike Bostock !function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("d3-color")):"function"==typeof define&&define.amd?define(["exports","d3-color"],n):n(t.d3=t.d3||{},t.d3)}(this,function(t,n){"use strict";function r(t,n,r,e,o){var a=t*t,u=a*t;return((1-3*t+3*a-u)*n+(4-6*a+3*u)*r+(1+3*t+3*a-3*u)*e+u*o)/6}function e(t){var n=t.length-1;return function(e){var o=e<=0?e=0:e>=1?(e=1,n-1):Math.floor(e*n),a=t[o],u=t[o+1],i=o>0?t[o-1]:2*a-u,l=o<n-1?t[o+2]:2*u-a;return r((e-o/n)*n,i,a,u,l)}}function o(t){var n=t.length;return function(e){var o=Math.floor(((e%=1)<0?++e:e)*n),a=t[(o+n-1)%n],u=t[o%n],i=t[(o+1)%n],l=t[(o+2)%n];return r((e-o/n)*n,a,u,i,l)}}function a(t){return function(){return t}}function u(t,n){return function(r){return t+r*n}}function i(t,n){var r=n-t;return r?u(t,r>180||r<-180?r-360*Math.round(r/360):r):a(isNaN(t)?n:t)}function l(t){return 1==(t=+t)?c:function(n,r){return r-n?function(t,n,r){return t=Math.pow(t,r),n=Math.pow(n,r)-t,r=1/r,function(e){return Math.pow(t+e*n,r)}}(n,r,t):a(isNaN(n)?r:n)}}function c(t,n){var r=n-t;return r?u(t,r):a(isNaN(t)?n:t)}var f=function t(r){var e=l(r);function o(t,r){var o=e((t=n.rgb(t)).r,(r=n.rgb(r)).r),a=e(t.g,r.g),u=e(t.b,r.b),i=c(t.opacity,r.opacity);return function(n){return t.r=o(n),t.g=a(n),t.b=u(n),t.opacity=i(n),t+""}}return o.gamma=t,o}(1);function s(t){return function(r){var e,o,a=r.length,u=new Array(a),i=new Array(a),l=new Array(a);for(e=0;e<a;++e)o=n.rgb(r[e]),u[e]=o.r||0,i[e]=o.g||0,l[e]=o.b||0;return u=t(u),i=t(i),l=t(l),o.opacity=1,function(t){return o.r=u(t),o.g=i(t),o.b=l(t),o+""}}}var p=s(e),h=s(o);function v(t,n){var r,e=n?n.length:0,o=t?Math.min(e,t.length):0,a=new Array(o),u=new Array(e);for(r=0;r<o;++r)a[r]=m(t[r],n[r]);for(;r<e;++r)u[r]=n[r];return function(t){for(r=0;r<o;++r)u[r]=a[r](t);return u}}function g(t,n){var r=new Date;return n-=t=+t,function(e){return r.setTime(t+n*e),r}}function d(t,n){return n-=t=+t,function(r){return t+n*r}}function y(t,n){var r,e={},o={};for(r in null!==t&&"object"==typeof t||(t={}),null!==n&&"object"==typeof n||(n={}),n)r in t?e[r]=m(t[r],n[r]):o[r]=n[r];return function(t){for(r in e)o[r]=e[r](t);return o}}var x=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,M=new RegExp(x.source,"g");function b(t,n){var r,e,o,a=x.lastIndex=M.lastIndex=0,u=-1,i=[],l=[];for(t+="",n+="";(r=x.exec(t))&&(e=M.exec(n));)(o=e.index)>a&&(o=n.slice(a,o),i[u]?i[u]+=o:i[++u]=o),(r=r[0])===(e=e[0])?i[u]?i[u]+=e:i[++u]=e:(i[++u]=null,l.push({i:u,x:d(r,e)})),a=M.lastIndex;return a<n.length&&(o=n.slice(a),i[u]?i[u]+=o:i[++u]=o),i.length<2?l[0]?function(t){return function(n){return t(n)+""}}(l[0].x):function(t){return function(){return t}}(n):(n=l.length,function(t){for(var r,e=0;e<n;++e)i[(r=l[e]).i]=r.x(t);return i.join("")})}function m(t,r){var e,o=typeof r;return null==r||"boolean"===o?a(r):("number"===o?d:"string"===o?(e=n.color(r))?(r=e,f):b:r instanceof n.color?f:r instanceof Date?g:Array.isArray(r)?v:"function"!=typeof r.valueOf&&"function"!=typeof r.toString||isNaN(r)?y:d)(t,r)}var w,X,A,N,C=180/Math.PI,Y={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function j(t,n,r,e,o,a){var u,i,l;return(u=Math.sqrt(t*t+n*n))&&(t/=u,n/=u),(l=t*r+n*e)&&(r-=t*l,e-=n*l),(i=Math.sqrt(r*r+e*e))&&(r/=i,e/=i,l/=i),t*e<n*r&&(t=-t,n=-n,l=-l,u=-u),{translateX:o,translateY:a,rotate:Math.atan2(n,t)*C,skewX:Math.atan(l)*C,scaleX:u,scaleY:i}}function q(t,n,r,e){function o(t){return t.length?t.pop()+" ":""}return function(a,u){var i=[],l=[];return a=t(a),u=t(u),function(t,e,o,a,u,i){if(t!==o||e!==a){var l=u.push("translate(",null,n,null,r);i.push({i:l-4,x:d(t,o)},{i:l-2,x:d(e,a)})}else(o||a)&&u.push("translate("+o+n+a+r)}(a.translateX,a.translateY,u.translateX,u.translateY,i,l),function(t,n,r,a){t!==n?(t-n>180?n+=360:n-t>180&&(t+=360),a.push({i:r.push(o(r)+"rotate(",null,e)-2,x:d(t,n)})):n&&r.push(o(r)+"rotate("+n+e)}(a.rotate,u.rotate,i,l),function(t,n,r,a){t!==n?a.push({i:r.push(o(r)+"skewX(",null,e)-2,x:d(t,n)}):n&&r.push(o(r)+"skewX("+n+e)}(a.skewX,u.skewX,i,l),function(t,n,r,e,a,u){if(t!==r||n!==e){var i=a.push(o(a)+"scale(",null,",",null,")");u.push({i:i-4,x:d(t,r)},{i:i-2,x:d(n,e)})}else 1===r&&1===e||a.push(o(a)+"scale("+r+","+e+")")}(a.scaleX,a.scaleY,u.scaleX,u.scaleY,i,l),a=u=null,function(t){for(var n,r=-1,e=l.length;++r<e;)i[(n=l[r]).i]=n.x(t);return i.join("")}}}var k=q(function(t){return"none"===t?Y:(w||(w=document.createElement("DIV"),X=document.documentElement,A=document.defaultView),w.style.transform=t,t=A.getComputedStyle(X.appendChild(w),null).getPropertyValue("transform"),X.removeChild(w),j(+(t=t.slice(7,-1).split(","))[0],+t[1],+t[2],+t[3],+t[4],+t[5]))},"px, ","px)","deg)"),R=q(function(t){return null==t?Y:(N||(N=document.createElementNS("http://www.w3.org/2000/svg","g")),N.setAttribute("transform",t),(t=N.transform.baseVal.consolidate())?j((t=t.matrix).a,t.b,t.c,t.d,t.e,t.f):Y)},", ",")",")"),S=Math.SQRT2,D=2,E=4,H=1e-12;function I(t){return((t=Math.exp(t))+1/t)/2}function B(t){return function(r,e){var o=t((r=n.hsl(r)).h,(e=n.hsl(e)).h),a=c(r.s,e.s),u=c(r.l,e.l),i=c(r.opacity,e.opacity);return function(t){return r.h=o(t),r.s=a(t),r.l=u(t),r.opacity=i(t),r+""}}}var L=B(i),T=B(c);function V(t){return function(r,e){var o=t((r=n.hcl(r)).h,(e=n.hcl(e)).h),a=c(r.c,e.c),u=c(r.l,e.l),i=c(r.opacity,e.opacity);return function(t){return r.h=o(t),r.c=a(t),r.l=u(t),r.opacity=i(t),r+""}}}var O=V(i),P=V(c);function _(t){return function r(e){function o(r,o){var a=t((r=n.cubehelix(r)).h,(o=n.cubehelix(o)).h),u=c(r.s,o.s),i=c(r.l,o.l),l=c(r.opacity,o.opacity);return function(t){return r.h=a(t),r.s=u(t),r.l=i(Math.pow(t,e)),r.opacity=l(t),r+""}}return e=+e,o.gamma=r,o}(1)}var z=_(i),Q=_(c);t.interpolate=m,t.interpolateArray=v,t.interpolateBasis=e,t.interpolateBasisClosed=o,t.interpolateDate=g,t.interpolateDiscrete=function(t){var n=t.length;return function(r){return t[Math.max(0,Math.min(n-1,Math.floor(r*n)))]}},t.interpolateHue=function(t,n){var r=i(+t,+n);return function(t){var n=r(t);return n-360*Math.floor(n/360)}},t.interpolateNumber=d,t.interpolateObject=y,t.interpolateRound=function(t,n){return n-=t=+t,function(r){return Math.round(t+n*r)}},t.interpolateString=b,t.interpolateTransformCss=k,t.interpolateTransformSvg=R,t.interpolateZoom=function(t,n){var r,e,o=t[0],a=t[1],u=t[2],i=n[0],l=n[1],c=n[2],f=i-o,s=l-a,p=f*f+s*s;if(p<H)e=Math.log(c/u)/S,r=function(t){return[o+t*f,a+t*s,u*Math.exp(S*t*e)]};else{var h=Math.sqrt(p),v=(c*c-u*u+E*p)/(2*u*D*h),g=(c*c-u*u-E*p)/(2*c*D*h),d=Math.log(Math.sqrt(v*v+1)-v),y=Math.log(Math.sqrt(g*g+1)-g);e=(y-d)/S,r=function(t){var n,r=t*e,i=I(d),l=u/(D*h)*(i*(n=S*r+d,((n=Math.exp(2*n))-1)/(n+1))-function(t){return((t=Math.exp(t))-1/t)/2}(d));return[o+l*f,a+l*s,u*i/I(S*r+d)]}}return r.duration=1e3*e,r},t.interpolateRgb=f,t.interpolateRgbBasis=p,t.interpolateRgbBasisClosed=h,t.interpolateHsl=L,t.interpolateHslLong=T,t.interpolateLab=function(t,r){var e=c((t=n.lab(t)).l,(r=n.lab(r)).l),o=c(t.a,r.a),a=c(t.b,r.b),u=c(t.opacity,r.opacity);return function(n){return t.l=e(n),t.a=o(n),t.b=a(n),t.opacity=u(n),t+""}},t.interpolateHcl=O,t.interpolateHclLong=P,t.interpolateCubehelix=z,t.interpolateCubehelixLong=Q,t.piecewise=function(t,n){for(var r=0,e=n.length-1,o=n[0],a=new Array(e<0?0:e);r<e;)a[r]=t(o,o=n[++r]);return function(t){var n=Math.max(0,Math.min(e-1,Math.floor(t*=e)));return a[n](t-n)}},t.quantize=function(t,n){for(var r=new Array(n),e=0;e<n;++e)r[e]=t(e/(n-1));return r},Object.defineProperty(t,"__esModule",{value:!0})}); PK�{�\�%�sssummernote-lite.jsnu�[���/** * Super simple wysiwyg editor v0.8.10 * https://summernote.org * * Copyright 2013- Alan Hong. and other contributors * summernote may be freely distributed under the MIT license. * * Date: 2018-02-20T00:34Z */ (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) : typeof define === 'function' && define.amd ? define(['jquery'], factory) : (factory(global.jQuery)); }(this, (function ($$1) { 'use strict'; $$1 = $$1 && $$1.hasOwnProperty('default') ? $$1['default'] : $$1; var Renderer = /** @class */ (function () { function Renderer(markup, children, options, callback) { this.markup = markup; this.children = children; this.options = options; this.callback = callback; } Renderer.prototype.render = function ($parent) { var $node = $$1(this.markup); if (this.options && this.options.contents) { $node.html(this.options.contents); } if (this.options && this.options.className) { $node.addClass(this.options.className); } if (this.options && this.options.data) { $$1.each(this.options.data, function (k, v) { $node.attr('data-' + k, v); }); } if (this.options && this.options.click) { $node.on('click', this.options.click); } if (this.children) { var $container_1 = $node.find('.note-children-container'); this.children.forEach(function (child) { child.render($container_1.length ? $container_1 : $node); }); } if (this.callback) { this.callback($node, this.options); } if (this.options && this.options.callback) { this.options.callback($node); } if ($parent) { $parent.append($node); } return $node; }; return Renderer; }()); var renderer = { create: function (markup, callback) { return function () { var options = typeof arguments[1] === 'object' ? arguments[1] : arguments[0]; var children = $$1.isArray(arguments[0]) ? arguments[0] : []; if (options && options.children) { children = options.children; } return new Renderer(markup, children, options, callback); }; } }; var TooltipUI = /** @class */ (function () { function TooltipUI($node, options) { this.$node = $node; this.options = $.extend({}, { title: '', target: options.container, trigger: 'hover focus', placement: 'bottom' }, options); // create tooltip node this.$tooltip = $([ '<div class="note-tooltip in">', ' <div class="note-tooltip-arrow"/>', ' <div class="note-tooltip-content"/>', '</div>' ].join('')); // define event if (this.options.trigger !== 'manual') { var showCallback_1 = this.show.bind(this); var hideCallback_1 = this.hide.bind(this); var toggleCallback_1 = this.toggle.bind(this); this.options.trigger.split(' ').forEach(function (eventName) { if (eventName === 'hover') { $node.off('mouseenter mouseleave'); $node.on('mouseenter', showCallback_1).on('mouseleave', hideCallback_1); } else if (eventName === 'click') { $node.on('click', toggleCallback_1); } else if (eventName === 'focus') { $node.on('focus', showCallback_1).on('blur', hideCallback_1); } }); } } TooltipUI.prototype.show = function () { var $node = this.$node; var offset = $node.offset(); var $tooltip = this.$tooltip; var title = this.options.title || $node.attr('title') || $node.data('title'); var placement = this.options.placement || $node.data('placement'); $tooltip.addClass(placement); $tooltip.addClass('in'); $tooltip.find('.note-tooltip-content').text(title); $tooltip.appendTo(this.options.target); var nodeWidth = $node.outerWidth(); var nodeHeight = $node.outerHeight(); var tooltipWidth = $tooltip.outerWidth(); var tooltipHeight = $tooltip.outerHeight(); if (placement === 'bottom') { $tooltip.css({ top: offset.top + nodeHeight, left: offset.left + (nodeWidth / 2 - tooltipWidth / 2) }); } else if (placement === 'top') { $tooltip.css({ top: offset.top - tooltipHeight, left: offset.left + (nodeWidth / 2 - tooltipWidth / 2) }); } else if (placement === 'left') { $tooltip.css({ top: offset.top + (nodeHeight / 2 - tooltipHeight / 2), left: offset.left - tooltipWidth }); } else if (placement === 'right') { $tooltip.css({ top: offset.top + (nodeHeight / 2 - tooltipHeight / 2), left: offset.left + nodeWidth }); } }; TooltipUI.prototype.hide = function () { this.$tooltip.removeClass('in'); this.$tooltip.remove(); }; TooltipUI.prototype.toggle = function () { if (this.$tooltip.hasClass('in')) { this.hide(); } else { this.show(); } }; return TooltipUI; }()); var DropdownUI = /** @class */ (function () { function DropdownUI($node, options) { this.$button = $node; this.options = $.extend({}, { target: options.container }, options); this.setEvent(); } DropdownUI.prototype.setEvent = function () { this.$button.on('click', this.toggle.bind(this)); }; DropdownUI.prototype.clear = function () { var $parent = $('.note-btn-group.open'); $parent.find('.note-btn.active').removeClass('active'); $parent.removeClass('open'); }; DropdownUI.prototype.show = function () { this.$button.addClass('active'); this.$button.parent().addClass('open'); var $dropdown = this.$button.next(); var offset = $dropdown.offset(); var width = $dropdown.outerWidth(); var windowWidth = $(window).width(); var targetMarginRight = parseFloat($(this.options.target).css('margin-right')); if (offset.left + width > windowWidth - targetMarginRight) { $dropdown.css('margin-left', windowWidth - targetMarginRight - (offset.left + width)); } else { $dropdown.css('margin-left', ''); } }; DropdownUI.prototype.hide = function () { this.$button.removeClass('active'); this.$button.parent().removeClass('open'); }; DropdownUI.prototype.toggle = function () { var isOpened = this.$button.parent().hasClass('open'); this.clear(); if (isOpened) { this.hide(); } else { this.show(); } }; return DropdownUI; }()); $(document).on('click', function (e) { if (!$(e.target).closest('.note-btn-group').length) { $('.note-btn-group.open').removeClass('open'); } }); $(document).on('click.note-dropdown-menu', function (e) { $(e.target).closest('.note-dropdown-menu').parent().removeClass('open'); }); var ModalUI = /** @class */ (function () { function ModalUI($node, options) { this.options = $.extend({}, { target: options.container || 'body' }, options); this.$modal = $node; this.$backdrop = $('<div class="note-modal-backdrop" />'); } ModalUI.prototype.show = function () { if (this.options.target === 'body') { this.$backdrop.css('position', 'fixed'); this.$modal.css('position', 'fixed'); } else { this.$backdrop.css('position', 'absolute'); this.$modal.css('position', 'absolute'); } this.$backdrop.appendTo(this.options.target).show(); this.$modal.appendTo(this.options.target).addClass('open').show(); this.$modal.trigger('note.modal.show'); this.$modal.off('click', '.close').on('click', '.close', this.hide.bind(this)); }; ModalUI.prototype.hide = function () { this.$modal.removeClass('open').hide(); this.$backdrop.hide(); this.$modal.trigger('note.modal.hide'); }; return ModalUI; }()); var editor = renderer.create('<div class="note-editor note-frame"/>'); var toolbar = renderer.create('<div class="note-toolbar" role="toolbar"/>'); var editingArea = renderer.create('<div class="note-editing-area"/>'); var codable = renderer.create('<textarea class="note-codable" role="textbox" aria-multiline="true"/>'); var editable = renderer.create('<div class="note-editable" contentEditable="true" role="textbox" aria-multiline="true"/>'); var statusbar = renderer.create([ '<output class="note-status-output" role="status" aria-live="polite"/>', '<div class="note-statusbar" role="resize">', ' <div class="note-resizebar" role="seperator" aria-orientation="horizontal" aria-label="resize">', ' <div class="note-icon-bar"/>', ' <div class="note-icon-bar"/>', ' <div class="note-icon-bar"/>', ' </div>', '</div>' ].join('')); var airEditor = renderer.create('<div class="note-editor"/>'); var airEditable = renderer.create([ '<output class="note-status-output" role="status" aria-live="polite"/>', '<div class="note-editable" contentEditable="true" role="textbox" aria-multiline="true"/>' ].join('')); var buttonGroup = renderer.create('<div class="note-btn-group">'); var button = renderer.create('<button type="button" class="note-btn" role="button" tabindex="-1">', function ($node, options) { // set button type if (options && options.tooltip) { $node.attr({ 'aria-label': options.tooltip }); $node.data('_lite_tooltip', new TooltipUI($node, { title: options.tooltip, container: options.container })); } if (options.contents) { $node.html(options.contents); } if (options && options.data && options.data.toggle === 'dropdown') { $node.data('_lite_dropdown', new DropdownUI($node, { container: options.container })); } }); var dropdown = renderer.create('<div class="note-dropdown-menu" role="list">', function ($node, options) { var markup = $.isArray(options.items) ? options.items.map(function (item) { var value = (typeof item === 'string') ? item : (item.value || ''); var content = options.template ? options.template(item) : item; var $temp = $('<a class="note-dropdown-item" href="#" data-value="' + value + '" role="listitem" aria-label="' + item + '"></a>'); $temp.html(content).data('item', item); return $temp; }) : options.items; $node.html(markup).attr({ 'aria-label': options.title }); $node.on('click', '> .note-dropdown-item', function (e) { var $a = $(this); var item = $a.data('item'); var value = $a.data('value'); if (item.click) { item.click($a); } else if (options.itemClick) { options.itemClick(e, item, value); } }); }); var dropdownCheck = renderer.create('<div class="note-dropdown-menu note-check" role="list">', function ($node, options) { var markup = $.isArray(options.items) ? options.items.map(function (item) { var value = (typeof item === 'string') ? item : (item.value || ''); var content = options.template ? options.template(item) : item; var $temp = $('<a class="note-dropdown-item" href="#" data-value="' + value + '" role="listitem" aria-label="' + item + '"></a>'); $temp.html([icon(options.checkClassName), ' ', content]).data('item', item); return $temp; }) : options.items; $node.html(markup).attr({ 'aria-label': options.title }); $node.on('click', '> .note-dropdown-item', function (e) { var $a = $(this); var item = $a.data('item'); var value = $a.data('value'); if (item.click) { item.click($a); } else if (options.itemClick) { options.itemClick(e, item, value); } }); }); var dropdownButtonContents = function (contents, options) { return contents + ' ' + icon(options.icons.caret, 'span'); }; var dropdownButton = function (opt, callback) { return buttonGroup([ button({ className: 'dropdown-toggle', contents: opt.title + ' ' + icon('note-icon-caret'), tooltip: opt.tooltip, data: { toggle: 'dropdown' } }), dropdown({ className: opt.className, items: opt.items, template: opt.template, itemClick: opt.itemClick }) ], { callback: callback }).render(); }; var dropdownCheckButton = function (opt, callback) { return buttonGroup([ button({ className: 'dropdown-toggle', contents: opt.title + ' ' + icon('note-icon-caret'), tooltip: opt.tooltip, data: { toggle: 'dropdown' } }), dropdownCheck({ className: opt.className, checkClassName: opt.checkClassName, items: opt.items, template: opt.template, itemClick: opt.itemClick }) ], { callback: callback }).render(); }; var paragraphDropdownButton = function (opt) { return buttonGroup([ button({ className: 'dropdown-toggle', contents: opt.title + ' ' + icon('note-icon-caret'), tooltip: opt.tooltip, data: { toggle: 'dropdown' } }), dropdown([ buttonGroup({ className: 'note-align', children: opt.items[0] }), buttonGroup({ className: 'note-list', children: opt.items[1] }) ]) ]).render(); }; var tableMoveHandler = function (event, col, row) { var PX_PER_EM = 18; var $picker = $(event.target.parentNode); // target is mousecatcher var $dimensionDisplay = $picker.next(); var $catcher = $picker.find('.note-dimension-picker-mousecatcher'); var $highlighted = $picker.find('.note-dimension-picker-highlighted'); var $unhighlighted = $picker.find('.note-dimension-picker-unhighlighted'); var posOffset; // HTML5 with jQuery - e.offsetX is undefined in Firefox if (event.offsetX === undefined) { var posCatcher = $(event.target).offset(); posOffset = { x: event.pageX - posCatcher.left, y: event.pageY - posCatcher.top }; } else { posOffset = { x: event.offsetX, y: event.offsetY }; } var dim = { c: Math.ceil(posOffset.x / PX_PER_EM) || 1, r: Math.ceil(posOffset.y / PX_PER_EM) || 1 }; $highlighted.css({ width: dim.c + 'em', height: dim.r + 'em' }); $catcher.data('value', dim.c + 'x' + dim.r); if (dim.c > 3 && dim.c < col) { $unhighlighted.css({ width: dim.c + 1 + 'em' }); } if (dim.r > 3 && dim.r < row) { $unhighlighted.css({ height: dim.r + 1 + 'em' }); } $dimensionDisplay.html(dim.c + ' x ' + dim.r); }; var tableDropdownButton = function (opt) { return buttonGroup([ button({ className: 'dropdown-toggle', contents: opt.title + ' ' + icon('note-icon-caret'), tooltip: opt.tooltip, data: { toggle: 'dropdown' } }), dropdown({ className: 'note-table', items: [ '<div class="note-dimension-picker">', ' <div class="note-dimension-picker-mousecatcher" data-event="insertTable" data-value="1x1"/>', ' <div class="note-dimension-picker-highlighted"/>', ' <div class="note-dimension-picker-unhighlighted"/>', '</div>', '<div class="note-dimension-display">1 x 1</div>' ].join('') }) ], { callback: function ($node) { var $catcher = $node.find('.note-dimension-picker-mousecatcher'); $catcher.css({ width: opt.col + 'em', height: opt.row + 'em' }) .mousedown(opt.itemClick) .mousemove(function (e) { tableMoveHandler(e, opt.col, opt.row); }); } }).render(); }; var palette = renderer.create('<div class="note-color-palette"/>', function ($node, options) { var contents = []; for (var row = 0, rowSize = options.colors.length; row < rowSize; row++) { var eventName = options.eventName; var colors = options.colors[row]; var colorsName = options.colorsName[row]; var buttons = []; for (var col = 0, colSize = colors.length; col < colSize; col++) { var color = colors[col]; var colorName = colorsName[col]; buttons.push([ '<button type="button" class="note-btn note-color-btn"', 'style="background-color:', color, '" ', 'data-event="', eventName, '" ', 'data-value="', color, '" ', 'title="', colorName, '" ', 'aria-label="', colorName, '" ', 'data-toggle="button" tabindex="-1"></button>' ].join('')); } contents.push('<div class="note-color-row">' + buttons.join('') + '</div>'); } $node.html(contents.join('')); $node.find('.note-color-btn').each(function () { $(this).data('_lite_tooltip', new TooltipUI($(this), { container: options.container })); }); }); var colorDropdownButton = function (opt, type) { return buttonGroup({ className: 'note-color', children: [ button({ className: 'note-current-color-button', contents: opt.title, tooltip: opt.lang.color.recent, click: opt.currentClick, callback: function ($button) { var $recentColor = $button.find('.note-recent-color'); if (type !== 'foreColor') { $recentColor.css('background-color', '#FFFF00'); $button.attr('data-backColor', '#FFFF00'); } } }), button({ className: 'dropdown-toggle', contents: icon('note-icon-caret'), tooltip: opt.lang.color.more, data: { toggle: 'dropdown' } }), dropdown({ items: [ '<div>', '<div class="note-btn-group btn-background-color">', ' <div class="note-palette-title">' + opt.lang.color.background + '</div>', ' <div>', '<button type="button" class="note-color-reset note-btn note-btn-block" ' + ' data-event="backColor" data-value="inherit">', opt.lang.color.transparent, ' </button>', ' </div>', ' <div class="note-holder" data-event="backColor"/>', '</div>', '<div class="note-btn-group btn-foreground-color">', ' <div class="note-palette-title">' + opt.lang.color.foreground + '</div>', ' <div>', '<button type="button" class="note-color-reset note-btn note-btn-block" ' + ' data-event="removeFormat" data-value="foreColor">', opt.lang.color.resetToDefault, ' </button>', ' </div>', ' <div class="note-holder" data-event="foreColor"/>', '</div>', '</div>' ].join(''), callback: function ($dropdown) { $dropdown.find('.note-holder').each(function () { var $holder = $(this); $holder.append(palette({ colors: opt.colors, eventName: $holder.data('event') }).render()); }); if (type === 'fore') { $dropdown.find('.btn-background-color').hide(); $dropdown.css({ 'min-width': '210px' }); } else if (type === 'back') { $dropdown.find('.btn-foreground-color').hide(); $dropdown.css({ 'min-width': '210px' }); } }, click: function (event) { var $button = $(event.target); var eventName = $button.data('event'); var value = $button.data('value'); if (eventName && value) { var key = eventName === 'backColor' ? 'background-color' : 'color'; var $color = $button.closest('.note-color').find('.note-recent-color'); var $currentButton = $button.closest('.note-color').find('.note-current-color-button'); $color.css(key, value); $currentButton.attr('data-' + eventName, value); if (type === 'fore') { opt.itemClick('foreColor', value); } else if (type === 'back') { opt.itemClick('backColor', value); } else { opt.itemClick(eventName, value); } } } }) ] }).render(); }; var dialog = renderer.create('<div class="note-modal" aria-hidden="false" tabindex="-1" role="dialog"/>', function ($node, options) { if (options.fade) { $node.addClass('fade'); } $node.attr({ 'aria-label': options.title }); $node.html([ ' <div class="note-modal-content">', (options.title ? ' <div class="note-modal-header">' + ' <button type="button" class="close" aria-label="Close" aria-hidden="true"><i class="note-icon-close"></i></button>' + ' <h4 class="note-modal-title">' + options.title + '</h4>' + ' </div>' : ''), ' <div class="note-modal-body">' + options.body + '</div>', (options.footer ? ' <div class="note-modal-footer">' + options.footer + '</div>' : ''), ' </div>' ].join('')); $node.data('modal', new ModalUI($node, options)); }); var videoDialog = function (opt) { var body = '<div class="note-form-group">' + '<label class="note-form-label">' + opt.lang.video.url + ' <small class="text-muted">' + opt.lang.video.providers + '</small>' + '</label>' + '<input class="note-video-url note-input" type="text" />' + '</div>'; var footer = [ '<button type="button" href="#" class="note-btn note-btn-primary note-video-btn disabled" disabled>', opt.lang.video.insert, '</button>' ].join(''); return dialog({ title: opt.lang.video.insert, fade: opt.fade, body: body, footer: footer }).render(); }; var imageDialog = function (opt) { var body = '<div class="note-form-group note-group-select-from-files">' + '<label class="note-form-label">' + opt.lang.image.selectFromFiles + '</label>' + '<input class="note-note-image-input note-input" type="file" name="files" accept="image/*" multiple="multiple" />' + opt.imageLimitation + '</div>' + '<div class="note-form-group" style="overflow:auto;">' + '<label class="note-form-label">' + opt.lang.image.url + '</label>' + '<input class="note-image-url note-input" type="text" />' + '</div>'; var footer = [ '<button href="#" type="button" class="note-btn note-btn-primary note-btn-large note-image-btn disabled" disabled>', opt.lang.image.insert, '</button>' ].join(''); return dialog({ title: opt.lang.image.insert, fade: opt.fade, body: body, footer: footer }).render(); }; var linkDialog = function (opt) { var body = '<div class="note-form-group">' + '<label class="note-form-label">' + opt.lang.link.textToDisplay + '</label>' + '<input class="note-link-text note-input" type="text" />' + '</div>' + '<div class="note-form-group">' + '<label class="note-form-label">' + opt.lang.link.url + '</label>' + '<input class="note-link-url note-input" type="text" value="http://" />' + '</div>' + (!opt.disableLinkTarget ? '<div class="checkbox">' + '<label>' + '<input type="checkbox" checked> ' + opt.lang.link.openInNewWindow + '</label>' + '</div>' : ''); var footer = [ '<button href="#" type="button" class="note-btn note-btn-primary note-link-btn disabled" disabled>', opt.lang.link.insert, '</button>' ].join(''); return dialog({ className: 'link-dialog', title: opt.lang.link.insert, fade: opt.fade, body: body, footer: footer }).render(); }; var popover = renderer.create([ '<div class="note-popover bottom">', ' <div class="note-popover-arrow"/>', ' <div class="note-popover-content note-children-container"/>', '</div>' ].join(''), function ($node, options) { var direction = typeof options.direction !== 'undefined' ? options.direction : 'bottom'; $node.addClass(direction).hide(); if (options.hideArrow) { $node.find('.note-popover-arrow').hide(); } }); var checkbox = renderer.create('<div class="checkbox"></div>', function ($node, options) { $node.html([ ' <label' + (options.id ? ' for="' + options.id + '"' : '') + '>', ' <input role="checkbox" type="checkbox"' + (options.id ? ' id="' + options.id + '"' : ''), (options.checked ? ' checked' : ''), ' aria-checked="' + (options.checked ? 'true' : 'false') + '"/>', (options.text ? options.text : ''), '</label>' ].join('')); }); var icon = function (iconClassName, tagName) { tagName = tagName || 'i'; return '<' + tagName + ' class="' + iconClassName + '"/>'; }; var ui = { editor: editor, toolbar: toolbar, editingArea: editingArea, codable: codable, editable: editable, statusbar: statusbar, airEditor: airEditor, airEditable: airEditable, buttonGroup: buttonGroup, button: button, dropdown: dropdown, dropdownCheck: dropdownCheck, dropdownButton: dropdownButton, dropdownButtonContents: dropdownButtonContents, dropdownCheckButton: dropdownCheckButton, paragraphDropdownButton: paragraphDropdownButton, tableDropdownButton: tableDropdownButton, colorDropdownButton: colorDropdownButton, palette: palette, dialog: dialog, videoDialog: videoDialog, imageDialog: imageDialog, linkDialog: linkDialog, popover: popover, checkbox: checkbox, icon: icon, toggleBtn: function ($btn, isEnable) { $btn.toggleClass('disabled', !isEnable); $btn.attr('disabled', !isEnable); }, toggleBtnActive: function ($btn, isActive) { $btn.toggleClass('active', isActive); }, check: function ($dom, value) { $dom.find('.checked').removeClass('checked'); $dom.find('[data-value="' + value + '"]').addClass('checked'); }, onDialogShown: function ($dialog, handler) { $dialog.one('note.modal.show', handler); }, onDialogHidden: function ($dialog, handler) { $dialog.one('note.modal.hide', handler); }, showDialog: function ($dialog) { $dialog.data('modal').show(); }, hideDialog: function ($dialog) { $dialog.data('modal').hide(); }, /** * get popover content area * * @param $popover * @returns {*} */ getPopoverContent: function ($popover) { return $popover.find('.note-popover-content'); }, /** * get dialog's body area * * @param $dialog * @returns {*} */ getDialogBody: function ($dialog) { return $dialog.find('.note-modal-body'); }, createLayout: function ($note, options) { var $editor = (options.airMode ? ui.airEditor([ ui.editingArea([ ui.airEditable() ]) ]) : ui.editor([ ui.toolbar(), ui.editingArea([ ui.codable(), ui.editable() ]), ui.statusbar() ])).render(); $editor.insertAfter($note); return { note: $note, editor: $editor, toolbar: $editor.find('.note-toolbar'), editingArea: $editor.find('.note-editing-area'), editable: $editor.find('.note-editable'), codable: $editor.find('.note-codable'), statusbar: $editor.find('.note-statusbar') }; }, removeLayout: function ($note, layoutInfo) { $note.html(layoutInfo.editable.html()); layoutInfo.editor.remove(); $note.off('summernote'); // remove summernote custom event $note.show(); } }; $$1.summernote = $$1.summernote || { lang: {} }; $$1.extend($$1.summernote.lang, { 'en-US': { font: { bold: 'Bold', italic: 'Italic', underline: 'Underline', clear: 'Remove Font Style', height: 'Line Height', name: 'Font Family', strikethrough: 'Strikethrough', subscript: 'Subscript', superscript: 'Superscript', size: 'Font Size' }, image: { image: 'Picture', insert: 'Insert Image', resizeFull: 'Resize Full', resizeHalf: 'Resize Half', resizeQuarter: 'Resize Quarter', floatLeft: 'Float Left', floatRight: 'Float Right', floatNone: 'Float None', shapeRounded: 'Shape: Rounded', shapeCircle: 'Shape: Circle', shapeThumbnail: 'Shape: Thumbnail', shapeNone: 'Shape: None', dragImageHere: 'Drag image or text here', dropImage: 'Drop image or Text', selectFromFiles: 'Select from files', maximumFileSize: 'Maximum file size', maximumFileSizeError: 'Maximum file size exceeded.', url: 'Image URL', remove: 'Remove Image', original: 'Original' }, video: { video: 'Video', videoLink: 'Video Link', insert: 'Insert Video', url: 'Video URL', providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion or Youku)' }, link: { link: 'Link', insert: 'Insert Link', unlink: 'Unlink', edit: 'Edit', textToDisplay: 'Text to display', url: 'To what URL should this link go?', openInNewWindow: 'Open in new window' }, table: { table: 'Table', addRowAbove: 'Add row above', addRowBelow: 'Add row below', addColLeft: 'Add column left', addColRight: 'Add column right', delRow: 'Delete row', delCol: 'Delete column', delTable: 'Delete table' }, hr: { insert: 'Insert Horizontal Rule' }, style: { style: 'Style', p: 'Normal', blockquote: 'Quote', pre: 'Code', h1: 'Header 1', h2: 'Header 2', h3: 'Header 3', h4: 'Header 4', h5: 'Header 5', h6: 'Header 6' }, lists: { unordered: 'Unordered list', ordered: 'Ordered list' }, options: { help: 'Help', fullscreen: 'Full Screen', codeview: 'Code View' }, paragraph: { paragraph: 'Paragraph', outdent: 'Outdent', indent: 'Indent', left: 'Align left', center: 'Align center', right: 'Align right', justify: 'Justify full' }, color: { recent: 'Recent Color', more: 'More Color', background: 'Background Color', foreground: 'Foreground Color', transparent: 'Transparent', setTransparent: 'Set transparent', reset: 'Reset', resetToDefault: 'Reset to default' }, shortcut: { shortcuts: 'Keyboard shortcuts', close: 'Close', textFormatting: 'Text formatting', action: 'Action', paragraphFormatting: 'Paragraph formatting', documentStyle: 'Document Style', extraKeys: 'Extra keys' }, help: { 'insertParagraph': 'Insert Paragraph', 'undo': 'Undoes the last command', 'redo': 'Redoes the last command', 'tab': 'Tab', 'untab': 'Untab', 'bold': 'Set a bold style', 'italic': 'Set a italic style', 'underline': 'Set a underline style', 'strikethrough': 'Set a strikethrough style', 'removeFormat': 'Clean a style', 'justifyLeft': 'Set left align', 'justifyCenter': 'Set center align', 'justifyRight': 'Set right align', 'justifyFull': 'Set full align', 'insertUnorderedList': 'Toggle unordered list', 'insertOrderedList': 'Toggle ordered list', 'outdent': 'Outdent on current paragraph', 'indent': 'Indent on current paragraph', 'formatPara': 'Change current block\'s format as a paragraph(P tag)', 'formatH1': 'Change current block\'s format as H1', 'formatH2': 'Change current block\'s format as H2', 'formatH3': 'Change current block\'s format as H3', 'formatH4': 'Change current block\'s format as H4', 'formatH5': 'Change current block\'s format as H5', 'formatH6': 'Change current block\'s format as H6', 'insertHorizontalRule': 'Insert horizontal rule', 'linkDialog.show': 'Show Link Dialog' }, history: { undo: 'Undo', redo: 'Redo' }, specialChar: { specialChar: 'SPECIAL CHARACTERS', select: 'Select Special characters' } } }); var isSupportAmd = typeof define === 'function' && define.amd; // eslint-disable-line /** * returns whether font is installed or not. * * @param {String} fontName * @return {Boolean} */ function isFontInstalled(fontName) { var testFontName = fontName === 'Comic Sans MS' ? 'Courier New' : 'Comic Sans MS'; var $tester = $$1('<div>').css({ position: 'absolute', left: '-9999px', top: '-9999px', fontSize: '200px' }).text('mmmmmmmmmwwwwwww').appendTo(document.body); var originalWidth = $tester.css('fontFamily', testFontName).width(); var width = $tester.css('fontFamily', fontName + ',' + testFontName).width(); $tester.remove(); return originalWidth !== width; } var userAgent = navigator.userAgent; var isMSIE = /MSIE|Trident/i.test(userAgent); var browserVersion; if (isMSIE) { var matches = /MSIE (\d+[.]\d+)/.exec(userAgent); if (matches) { browserVersion = parseFloat(matches[1]); } matches = /Trident\/.*rv:([0-9]{1,}[.0-9]{0,})/.exec(userAgent); if (matches) { browserVersion = parseFloat(matches[1]); } } var isEdge = /Edge\/\d+/.test(userAgent); var hasCodeMirror = !!window.CodeMirror; if (!hasCodeMirror && isSupportAmd) { // Webpack if (typeof __webpack_require__ === 'function') { try { // If CodeMirror can't be resolved, `require.resolve` will throw an // exception and `hasCodeMirror` won't be set to `true`. require.resolve('codemirror'); hasCodeMirror = true; } catch (e) { // do nothing } } else if (typeof require !== 'undefined') { // Browserify if (typeof require.resolve !== 'undefined') { try { // If CodeMirror can't be resolved, `require.resolve` will throw an // exception and `hasCodeMirror` won't be set to `true`. require.resolve('codemirror'); hasCodeMirror = true; } catch (e) { // do nothing } // Almond/Require } else if (typeof require.specified !== 'undefined') { hasCodeMirror = require.specified('codemirror'); } } } var isSupportTouch = (('ontouchstart' in window) || (navigator.MaxTouchPoints > 0) || (navigator.msMaxTouchPoints > 0)); // [workaround] IE doesn't have input events for contentEditable // - see: https://goo.gl/4bfIvA var inputEventName = (isMSIE || isEdge) ? 'DOMCharacterDataModified DOMSubtreeModified DOMNodeInserted' : 'input'; /** * @class core.env * * Object which check platform and agent * * @singleton * @alternateClassName env */ var env = { isMac: navigator.appVersion.indexOf('Mac') > -1, isMSIE: isMSIE, isEdge: isEdge, isFF: !isEdge && /firefox/i.test(userAgent), isPhantom: /PhantomJS/i.test(userAgent), isWebkit: !isEdge && /webkit/i.test(userAgent), isChrome: !isEdge && /chrome/i.test(userAgent), isSafari: !isEdge && /safari/i.test(userAgent), browserVersion: browserVersion, jqueryVersion: parseFloat($$1.fn.jquery), isSupportAmd: isSupportAmd, isSupportTouch: isSupportTouch, hasCodeMirror: hasCodeMirror, isFontInstalled: isFontInstalled, isW3CRangeSupport: !!document.createRange, inputEventName: inputEventName }; /** * @class core.func * * func utils (for high-order func's arg) * * @singleton * @alternateClassName func */ function eq(itemA) { return function (itemB) { return itemA === itemB; }; } function eq2(itemA, itemB) { return itemA === itemB; } function peq2(propName) { return function (itemA, itemB) { return itemA[propName] === itemB[propName]; }; } function ok() { return true; } function fail() { return false; } function not(f) { return function () { return !f.apply(f, arguments); }; } function and(fA, fB) { return function (item) { return fA(item) && fB(item); }; } function self(a) { return a; } function invoke(obj, method) { return function () { return obj[method].apply(obj, arguments); }; } var idCounter = 0; /** * generate a globally-unique id * * @param {String} [prefix] */ function uniqueId(prefix) { var id = ++idCounter + ''; return prefix ? prefix + id : id; } /** * returns bnd (bounds) from rect * * - IE Compatibility Issue: http://goo.gl/sRLOAo * - Scroll Issue: http://goo.gl/sNjUc * * @param {Rect} rect * @return {Object} bounds * @return {Number} bounds.top * @return {Number} bounds.left * @return {Number} bounds.width * @return {Number} bounds.height */ function rect2bnd(rect) { var $document = $(document); return { top: rect.top + $document.scrollTop(), left: rect.left + $document.scrollLeft(), width: rect.right - rect.left, height: rect.bottom - rect.top }; } /** * returns a copy of the object where the keys have become the values and the values the keys. * @param {Object} obj * @return {Object} */ function invertObject(obj) { var inverted = {}; for (var key in obj) { if (obj.hasOwnProperty(key)) { inverted[obj[key]] = key; } } return inverted; } /** * @param {String} namespace * @param {String} [prefix] * @return {String} */ function namespaceToCamel(namespace, prefix) { prefix = prefix || ''; return prefix + namespace.split('.').map(function (name) { return name.substring(0, 1).toUpperCase() + name.substring(1); }).join(''); } /** * Returns a function, that, as long as it continues to be invoked, will not * be triggered. The function will be called after it stops being called for * N milliseconds. If `immediate` is passed, trigger the function on the * leading edge, instead of the trailing. * @param {Function} func * @param {Number} wait * @param {Boolean} immediate * @return {Function} */ function debounce(func, wait, immediate) { var _this = this; var timeout; return function () { var context = _this; var args = arguments; var later = function () { timeout = null; if (!immediate) { func.apply(context, args); } }; var callNow = immediate && !timeout; clearTimeout(timeout); timeout = setTimeout(later, wait); if (callNow) { func.apply(context, args); } }; } var func = { eq: eq, eq2: eq2, peq2: peq2, ok: ok, fail: fail, self: self, not: not, and: and, invoke: invoke, uniqueId: uniqueId, rect2bnd: rect2bnd, invertObject: invertObject, namespaceToCamel: namespaceToCamel, debounce: debounce }; /** * returns the first item of an array. * * @param {Array} array */ function head(array) { return array[0]; } /** * returns the last item of an array. * * @param {Array} array */ function last(array) { return array[array.length - 1]; } /** * returns everything but the last entry of the array. * * @param {Array} array */ function initial(array) { return array.slice(0, array.length - 1); } /** * returns the rest of the items in an array. * * @param {Array} array */ function tail(array) { return array.slice(1); } /** * returns item of array */ function find(array, pred) { for (var idx = 0, len = array.length; idx < len; idx++) { var item = array[idx]; if (pred(item)) { return item; } } } /** * returns true if all of the values in the array pass the predicate truth test. */ function all(array, pred) { for (var idx = 0, len = array.length; idx < len; idx++) { if (!pred(array[idx])) { return false; } } return true; } /** * returns index of item */ function indexOf(array, item) { return $$1.inArray(item, array); } /** * returns true if the value is present in the list. */ function contains(array, item) { return indexOf(array, item) !== -1; } /** * get sum from a list * * @param {Array} array - array * @param {Function} fn - iterator */ function sum(array, fn) { fn = fn || func.self; return array.reduce(function (memo, v) { return memo + fn(v); }, 0); } /** * returns a copy of the collection with array type. * @param {Collection} collection - collection eg) node.childNodes, ... */ function from(collection) { var result = []; var length = collection.length; var idx = -1; while (++idx < length) { result[idx] = collection[idx]; } return result; } /** * returns whether list is empty or not */ function isEmpty(array) { return !array || !array.length; } /** * cluster elements by predicate function. * * @param {Array} array - array * @param {Function} fn - predicate function for cluster rule * @param {Array[]} */ function clusterBy(array, fn) { if (!array.length) { return []; } var aTail = tail(array); return aTail.reduce(function (memo, v) { var aLast = last(memo); if (fn(last(aLast), v)) { aLast[aLast.length] = v; } else { memo[memo.length] = [v]; } return memo; }, [[head(array)]]); } /** * returns a copy of the array with all false values removed * * @param {Array} array - array * @param {Function} fn - predicate function for cluster rule */ function compact(array) { var aResult = []; for (var idx = 0, len = array.length; idx < len; idx++) { if (array[idx]) { aResult.push(array[idx]); } } return aResult; } /** * produces a duplicate-free version of the array * * @param {Array} array */ function unique(array) { var results = []; for (var idx = 0, len = array.length; idx < len; idx++) { if (!contains(results, array[idx])) { results.push(array[idx]); } } return results; } /** * returns next item. * @param {Array} array */ function next(array, item) { var idx = indexOf(array, item); if (idx === -1) { return null; } return array[idx + 1]; } /** * returns prev item. * @param {Array} array */ function prev(array, item) { var idx = indexOf(array, item); if (idx === -1) { return null; } return array[idx - 1]; } /** * @class core.list * * list utils * * @singleton * @alternateClassName list */ var lists = { head: head, last: last, initial: initial, tail: tail, prev: prev, next: next, find: find, contains: contains, all: all, sum: sum, from: from, isEmpty: isEmpty, clusterBy: clusterBy, compact: compact, unique: unique }; var KEY_MAP = { 'BACKSPACE': 8, 'TAB': 9, 'ENTER': 13, 'SPACE': 32, 'DELETE': 46, // Arrow 'LEFT': 37, 'UP': 38, 'RIGHT': 39, 'DOWN': 40, // Number: 0-9 'NUM0': 48, 'NUM1': 49, 'NUM2': 50, 'NUM3': 51, 'NUM4': 52, 'NUM5': 53, 'NUM6': 54, 'NUM7': 55, 'NUM8': 56, // Alphabet: a-z 'B': 66, 'E': 69, 'I': 73, 'J': 74, 'K': 75, 'L': 76, 'R': 82, 'S': 83, 'U': 85, 'V': 86, 'Y': 89, 'Z': 90, 'SLASH': 191, 'LEFTBRACKET': 219, 'BACKSLASH': 220, 'RIGHTBRACKET': 221 }; /** * @class core.key * * Object for keycodes. * * @singleton * @alternateClassName key */ var key = { /** * @method isEdit * * @param {Number} keyCode * @return {Boolean} */ isEdit: function (keyCode) { return lists.contains([ KEY_MAP.BACKSPACE, KEY_MAP.TAB, KEY_MAP.ENTER, KEY_MAP.SPACE, KEY_MAP.DELETE ], keyCode); }, /** * @method isMove * * @param {Number} keyCode * @return {Boolean} */ isMove: function (keyCode) { return lists.contains([ KEY_MAP.LEFT, KEY_MAP.UP, KEY_MAP.RIGHT, KEY_MAP.DOWN ], keyCode); }, /** * @property {Object} nameFromCode * @property {String} nameFromCode.8 "BACKSPACE" */ nameFromCode: func.invertObject(KEY_MAP), code: KEY_MAP }; var NBSP_CHAR = String.fromCharCode(160); var ZERO_WIDTH_NBSP_CHAR = '\ufeff'; /** * @method isEditable * * returns whether node is `note-editable` or not. * * @param {Node} node * @return {Boolean} */ function isEditable(node) { return node && $$1(node).hasClass('note-editable'); } /** * @method isControlSizing * * returns whether node is `note-control-sizing` or not. * * @param {Node} node * @return {Boolean} */ function isControlSizing(node) { return node && $$1(node).hasClass('note-control-sizing'); } /** * @method makePredByNodeName * * returns predicate which judge whether nodeName is same * * @param {String} nodeName * @return {Function} */ function makePredByNodeName(nodeName) { nodeName = nodeName.toUpperCase(); return function (node) { return node && node.nodeName.toUpperCase() === nodeName; }; } /** * @method isText * * * * @param {Node} node * @return {Boolean} true if node's type is text(3) */ function isText(node) { return node && node.nodeType === 3; } /** * @method isElement * * * * @param {Node} node * @return {Boolean} true if node's type is element(1) */ function isElement(node) { return node && node.nodeType === 1; } /** * ex) br, col, embed, hr, img, input, ... * @see http://www.w3.org/html/wg/drafts/html/master/syntax.html#void-elements */ function isVoid(node) { return node && /^BR|^IMG|^HR|^IFRAME|^BUTTON|^INPUT/.test(node.nodeName.toUpperCase()); } function isPara(node) { if (isEditable(node)) { return false; } // Chrome(v31.0), FF(v25.0.1) use DIV for paragraph return node && /^DIV|^P|^LI|^H[1-7]/.test(node.nodeName.toUpperCase()); } function isHeading(node) { return node && /^H[1-7]/.test(node.nodeName.toUpperCase()); } var isPre = makePredByNodeName('PRE'); var isLi = makePredByNodeName('LI'); function isPurePara(node) { return isPara(node) && !isLi(node); } var isTable = makePredByNodeName('TABLE'); var isData = makePredByNodeName('DATA'); function isInline(node) { return !isBodyContainer(node) && !isList(node) && !isHr(node) && !isPara(node) && !isTable(node) && !isBlockquote(node) && !isData(node); } function isList(node) { return node && /^UL|^OL/.test(node.nodeName.toUpperCase()); } var isHr = makePredByNodeName('HR'); function isCell(node) { return node && /^TD|^TH/.test(node.nodeName.toUpperCase()); } var isBlockquote = makePredByNodeName('BLOCKQUOTE'); function isBodyContainer(node) { return isCell(node) || isBlockquote(node) || isEditable(node); } var isAnchor = makePredByNodeName('A'); function isParaInline(node) { return isInline(node) && !!ancestor(node, isPara); } function isBodyInline(node) { return isInline(node) && !ancestor(node, isPara); } var isBody = makePredByNodeName('BODY'); /** * returns whether nodeB is closest sibling of nodeA * * @param {Node} nodeA * @param {Node} nodeB * @return {Boolean} */ function isClosestSibling(nodeA, nodeB) { return nodeA.nextSibling === nodeB || nodeA.previousSibling === nodeB; } /** * returns array of closest siblings with node * * @param {Node} node * @param {function} [pred] - predicate function * @return {Node[]} */ function withClosestSiblings(node, pred) { pred = pred || func.ok; var siblings = []; if (node.previousSibling && pred(node.previousSibling)) { siblings.push(node.previousSibling); } siblings.push(node); if (node.nextSibling && pred(node.nextSibling)) { siblings.push(node.nextSibling); } return siblings; } /** * blank HTML for cursor position * - [workaround] old IE only works with * - [workaround] IE11 and other browser works with bogus br */ var blankHTML = env.isMSIE && env.browserVersion < 11 ? ' ' : '<br>'; /** * @method nodeLength * * returns #text's text size or element's childNodes size * * @param {Node} node */ function nodeLength(node) { if (isText(node)) { return node.nodeValue.length; } if (node) { return node.childNodes.length; } return 0; } /** * returns whether node is empty or not. * * @param {Node} node * @return {Boolean} */ function isEmpty$1(node) { var len = nodeLength(node); if (len === 0) { return true; } else if (!isText(node) && len === 1 && node.innerHTML === blankHTML) { // ex) <p><br></p>, <span><br></span> return true; } else if (lists.all(node.childNodes, isText) && node.innerHTML === '') { // ex) <p></p>, <span></span> return true; } return false; } /** * padding blankHTML if node is empty (for cursor position) */ function paddingBlankHTML(node) { if (!isVoid(node) && !nodeLength(node)) { node.innerHTML = blankHTML; } } /** * find nearest ancestor predicate hit * * @param {Node} node * @param {Function} pred - predicate function */ function ancestor(node, pred) { while (node) { if (pred(node)) { return node; } if (isEditable(node)) { break; } node = node.parentNode; } return null; } /** * find nearest ancestor only single child blood line and predicate hit * * @param {Node} node * @param {Function} pred - predicate function */ function singleChildAncestor(node, pred) { node = node.parentNode; while (node) { if (nodeLength(node) !== 1) { break; } if (pred(node)) { return node; } if (isEditable(node)) { break; } node = node.parentNode; } return null; } /** * returns new array of ancestor nodes (until predicate hit). * * @param {Node} node * @param {Function} [optional] pred - predicate function */ function listAncestor(node, pred) { pred = pred || func.fail; var ancestors = []; ancestor(node, function (el) { if (!isEditable(el)) { ancestors.push(el); } return pred(el); }); return ancestors; } /** * find farthest ancestor predicate hit */ function lastAncestor(node, pred) { var ancestors = listAncestor(node); return lists.last(ancestors.filter(pred)); } /** * returns common ancestor node between two nodes. * * @param {Node} nodeA * @param {Node} nodeB */ function commonAncestor(nodeA, nodeB) { var ancestors = listAncestor(nodeA); for (var n = nodeB; n; n = n.parentNode) { if ($$1.inArray(n, ancestors) > -1) { return n; } } return null; // difference document area } /** * listing all previous siblings (until predicate hit). * * @param {Node} node * @param {Function} [optional] pred - predicate function */ function listPrev(node, pred) { pred = pred || func.fail; var nodes = []; while (node) { if (pred(node)) { break; } nodes.push(node); node = node.previousSibling; } return nodes; } /** * listing next siblings (until predicate hit). * * @param {Node} node * @param {Function} [pred] - predicate function */ function listNext(node, pred) { pred = pred || func.fail; var nodes = []; while (node) { if (pred(node)) { break; } nodes.push(node); node = node.nextSibling; } return nodes; } /** * listing descendant nodes * * @param {Node} node * @param {Function} [pred] - predicate function */ function listDescendant(node, pred) { var descendants = []; pred = pred || func.ok; // start DFS(depth first search) with node (function fnWalk(current) { if (node !== current && pred(current)) { descendants.push(current); } for (var idx = 0, len = current.childNodes.length; idx < len; idx++) { fnWalk(current.childNodes[idx]); } })(node); return descendants; } /** * wrap node with new tag. * * @param {Node} node * @param {Node} tagName of wrapper * @return {Node} - wrapper */ function wrap(node, wrapperName) { var parent = node.parentNode; var wrapper = $$1('<' + wrapperName + '>')[0]; parent.insertBefore(wrapper, node); wrapper.appendChild(node); return wrapper; } /** * insert node after preceding * * @param {Node} node * @param {Node} preceding - predicate function */ function insertAfter(node, preceding) { var next = preceding.nextSibling; var parent = preceding.parentNode; if (next) { parent.insertBefore(node, next); } else { parent.appendChild(node); } return node; } /** * append elements. * * @param {Node} node * @param {Collection} aChild */ function appendChildNodes(node, aChild) { $$1.each(aChild, function (idx, child) { node.appendChild(child); }); return node; } /** * returns whether boundaryPoint is left edge or not. * * @param {BoundaryPoint} point * @return {Boolean} */ function isLeftEdgePoint(point) { return point.offset === 0; } /** * returns whether boundaryPoint is right edge or not. * * @param {BoundaryPoint} point * @return {Boolean} */ function isRightEdgePoint(point) { return point.offset === nodeLength(point.node); } /** * returns whether boundaryPoint is edge or not. * * @param {BoundaryPoint} point * @return {Boolean} */ function isEdgePoint(point) { return isLeftEdgePoint(point) || isRightEdgePoint(point); } /** * returns whether node is left edge of ancestor or not. * * @param {Node} node * @param {Node} ancestor * @return {Boolean} */ function isLeftEdgeOf(node, ancestor) { while (node && node !== ancestor) { if (position(node) !== 0) { return false; } node = node.parentNode; } return true; } /** * returns whether node is right edge of ancestor or not. * * @param {Node} node * @param {Node} ancestor * @return {Boolean} */ function isRightEdgeOf(node, ancestor) { if (!ancestor) { return false; } while (node && node !== ancestor) { if (position(node) !== nodeLength(node.parentNode) - 1) { return false; } node = node.parentNode; } return true; } /** * returns whether point is left edge of ancestor or not. * @param {BoundaryPoint} point * @param {Node} ancestor * @return {Boolean} */ function isLeftEdgePointOf(point, ancestor) { return isLeftEdgePoint(point) && isLeftEdgeOf(point.node, ancestor); } /** * returns whether point is right edge of ancestor or not. * @param {BoundaryPoint} point * @param {Node} ancestor * @return {Boolean} */ function isRightEdgePointOf(point, ancestor) { return isRightEdgePoint(point) && isRightEdgeOf(point.node, ancestor); } /** * returns offset from parent. * * @param {Node} node */ function position(node) { var offset = 0; while ((node = node.previousSibling)) { offset += 1; } return offset; } function hasChildren(node) { return !!(node && node.childNodes && node.childNodes.length); } /** * returns previous boundaryPoint * * @param {BoundaryPoint} point * @param {Boolean} isSkipInnerOffset * @return {BoundaryPoint} */ function prevPoint(point, isSkipInnerOffset) { var node; var offset; if (point.offset === 0) { if (isEditable(point.node)) { return null; } node = point.node.parentNode; offset = position(point.node); } else if (hasChildren(point.node)) { node = point.node.childNodes[point.offset - 1]; offset = nodeLength(node); } else { node = point.node; offset = isSkipInnerOffset ? 0 : point.offset - 1; } return { node: node, offset: offset }; } /** * returns next boundaryPoint * * @param {BoundaryPoint} point * @param {Boolean} isSkipInnerOffset * @return {BoundaryPoint} */ function nextPoint(point, isSkipInnerOffset) { var node, offset; if (nodeLength(point.node) === point.offset) { if (isEditable(point.node)) { return null; } node = point.node.parentNode; offset = position(point.node) + 1; } else if (hasChildren(point.node)) { node = point.node.childNodes[point.offset]; offset = 0; } else { node = point.node; offset = isSkipInnerOffset ? nodeLength(point.node) : point.offset + 1; } return { node: node, offset: offset }; } /** * returns whether pointA and pointB is same or not. * * @param {BoundaryPoint} pointA * @param {BoundaryPoint} pointB * @return {Boolean} */ function isSamePoint(pointA, pointB) { return pointA.node === pointB.node && pointA.offset === pointB.offset; } /** * returns whether point is visible (can set cursor) or not. * * @param {BoundaryPoint} point * @return {Boolean} */ function isVisiblePoint(point) { if (isText(point.node) || !hasChildren(point.node) || isEmpty$1(point.node)) { return true; } var leftNode = point.node.childNodes[point.offset - 1]; var rightNode = point.node.childNodes[point.offset]; if ((!leftNode || isVoid(leftNode)) && (!rightNode || isVoid(rightNode))) { return true; } return false; } /** * @method prevPointUtil * * @param {BoundaryPoint} point * @param {Function} pred * @return {BoundaryPoint} */ function prevPointUntil(point, pred) { while (point) { if (pred(point)) { return point; } point = prevPoint(point); } return null; } /** * @method nextPointUntil * * @param {BoundaryPoint} point * @param {Function} pred * @return {BoundaryPoint} */ function nextPointUntil(point, pred) { while (point) { if (pred(point)) { return point; } point = nextPoint(point); } return null; } /** * returns whether point has character or not. * * @param {Point} point * @return {Boolean} */ function isCharPoint(point) { if (!isText(point.node)) { return false; } var ch = point.node.nodeValue.charAt(point.offset - 1); return ch && (ch !== ' ' && ch !== NBSP_CHAR); } /** * @method walkPoint * * @param {BoundaryPoint} startPoint * @param {BoundaryPoint} endPoint * @param {Function} handler * @param {Boolean} isSkipInnerOffset */ function walkPoint(startPoint, endPoint, handler, isSkipInnerOffset) { var point = startPoint; while (point) { handler(point); if (isSamePoint(point, endPoint)) { break; } var isSkipOffset = isSkipInnerOffset && startPoint.node !== point.node && endPoint.node !== point.node; point = nextPoint(point, isSkipOffset); } } /** * @method makeOffsetPath * * return offsetPath(array of offset) from ancestor * * @param {Node} ancestor - ancestor node * @param {Node} node */ function makeOffsetPath(ancestor, node) { var ancestors = listAncestor(node, func.eq(ancestor)); return ancestors.map(position).reverse(); } /** * @method fromOffsetPath * * return element from offsetPath(array of offset) * * @param {Node} ancestor - ancestor node * @param {array} offsets - offsetPath */ function fromOffsetPath(ancestor, offsets) { var current = ancestor; for (var i = 0, len = offsets.length; i < len; i++) { if (current.childNodes.length <= offsets[i]) { current = current.childNodes[current.childNodes.length - 1]; } else { current = current.childNodes[offsets[i]]; } } return current; } /** * @method splitNode * * split element or #text * * @param {BoundaryPoint} point * @param {Object} [options] * @param {Boolean} [options.isSkipPaddingBlankHTML] - default: false * @param {Boolean} [options.isNotSplitEdgePoint] - default: false * @return {Node} right node of boundaryPoint */ function splitNode(point, options) { var isSkipPaddingBlankHTML = options && options.isSkipPaddingBlankHTML; var isNotSplitEdgePoint = options && options.isNotSplitEdgePoint; // edge case if (isEdgePoint(point) && (isText(point.node) || isNotSplitEdgePoint)) { if (isLeftEdgePoint(point)) { return point.node; } else if (isRightEdgePoint(point)) { return point.node.nextSibling; } } // split #text if (isText(point.node)) { return point.node.splitText(point.offset); } else { var childNode = point.node.childNodes[point.offset]; var clone = insertAfter(point.node.cloneNode(false), point.node); appendChildNodes(clone, listNext(childNode)); if (!isSkipPaddingBlankHTML) { paddingBlankHTML(point.node); paddingBlankHTML(clone); } return clone; } } /** * @method splitTree * * split tree by point * * @param {Node} root - split root * @param {BoundaryPoint} point * @param {Object} [options] * @param {Boolean} [options.isSkipPaddingBlankHTML] - default: false * @param {Boolean} [options.isNotSplitEdgePoint] - default: false * @return {Node} right node of boundaryPoint */ function splitTree(root, point, options) { // ex) [#text, <span>, <p>] var ancestors = listAncestor(point.node, func.eq(root)); if (!ancestors.length) { return null; } else if (ancestors.length === 1) { return splitNode(point, options); } return ancestors.reduce(function (node, parent) { if (node === point.node) { node = splitNode(point, options); } return splitNode({ node: parent, offset: node ? position(node) : nodeLength(parent) }, options); }); } /** * split point * * @param {Point} point * @param {Boolean} isInline * @return {Object} */ function splitPoint(point, isInline) { // find splitRoot, container // - inline: splitRoot is a child of paragraph // - block: splitRoot is a child of bodyContainer var pred = isInline ? isPara : isBodyContainer; var ancestors = listAncestor(point.node, pred); var topAncestor = lists.last(ancestors) || point.node; var splitRoot, container; if (pred(topAncestor)) { splitRoot = ancestors[ancestors.length - 2]; container = topAncestor; } else { splitRoot = topAncestor; container = splitRoot.parentNode; } // if splitRoot is exists, split with splitTree var pivot = splitRoot && splitTree(splitRoot, point, { isSkipPaddingBlankHTML: isInline, isNotSplitEdgePoint: isInline }); // if container is point.node, find pivot with point.offset if (!pivot && container === point.node) { pivot = point.node.childNodes[point.offset]; } return { rightNode: pivot, container: container }; } function create(nodeName) { return document.createElement(nodeName); } function createText(text) { return document.createTextNode(text); } /** * @method remove * * remove node, (isRemoveChild: remove child or not) * * @param {Node} node * @param {Boolean} isRemoveChild */ function remove(node, isRemoveChild) { if (!node || !node.parentNode) { return; } if (node.removeNode) { return node.removeNode(isRemoveChild); } var parent = node.parentNode; if (!isRemoveChild) { var nodes = []; for (var i = 0, len = node.childNodes.length; i < len; i++) { nodes.push(node.childNodes[i]); } for (var i = 0, len = nodes.length; i < len; i++) { parent.insertBefore(nodes[i], node); } } parent.removeChild(node); } /** * @method removeWhile * * @param {Node} node * @param {Function} pred */ function removeWhile(node, pred) { while (node) { if (isEditable(node) || !pred(node)) { break; } var parent = node.parentNode; remove(node); node = parent; } } /** * @method replace * * replace node with provided nodeName * * @param {Node} node * @param {String} nodeName * @return {Node} - new node */ function replace(node, nodeName) { if (node.nodeName.toUpperCase() === nodeName.toUpperCase()) { return node; } var newNode = create(nodeName); if (node.style.cssText) { newNode.style.cssText = node.style.cssText; } appendChildNodes(newNode, lists.from(node.childNodes)); insertAfter(newNode, node); remove(node); return newNode; } var isTextarea = makePredByNodeName('TEXTAREA'); /** * @param {jQuery} $node * @param {Boolean} [stripLinebreaks] - default: false */ function value($node, stripLinebreaks) { var val = isTextarea($node[0]) ? $node.val() : $node.html(); if (stripLinebreaks) { return val.replace(/[\n\r]/g, ''); } return val; } /** * @method html * * get the HTML contents of node * * @param {jQuery} $node * @param {Boolean} [isNewlineOnBlock] */ function html($node, isNewlineOnBlock) { var markup = value($node); if (isNewlineOnBlock) { var regexTag = /<(\/?)(\b(?!!)[^>\s]*)(.*?)(\s*\/?>)/g; markup = markup.replace(regexTag, function (match, endSlash, name) { name = name.toUpperCase(); var isEndOfInlineContainer = /^DIV|^TD|^TH|^P|^LI|^H[1-7]/.test(name) && !!endSlash; var isBlockNode = /^BLOCKQUOTE|^TABLE|^TBODY|^TR|^HR|^UL|^OL/.test(name); return match + ((isEndOfInlineContainer || isBlockNode) ? '\n' : ''); }); markup = $$1.trim(markup); } return markup; } function posFromPlaceholder(placeholder) { var $placeholder = $$1(placeholder); var pos = $placeholder.offset(); var height = $placeholder.outerHeight(true); // include margin return { left: pos.left, top: pos.top + height }; } function attachEvents($node, events) { Object.keys(events).forEach(function (key) { $node.on(key, events[key]); }); } function detachEvents($node, events) { Object.keys(events).forEach(function (key) { $node.off(key, events[key]); }); } /** * @method isCustomStyleTag * * assert if a node contains a "note-styletag" class, * which implies that's a custom-made style tag node * * @param {Node} an HTML DOM node */ function isCustomStyleTag(node) { return node && !isText(node) && lists.contains(node.classList, 'note-styletag'); } var dom = { /** @property {String} NBSP_CHAR */ NBSP_CHAR: NBSP_CHAR, /** @property {String} ZERO_WIDTH_NBSP_CHAR */ ZERO_WIDTH_NBSP_CHAR: ZERO_WIDTH_NBSP_CHAR, /** @property {String} blank */ blank: blankHTML, /** @property {String} emptyPara */ emptyPara: "<p>" + blankHTML + "</p>", makePredByNodeName: makePredByNodeName, isEditable: isEditable, isControlSizing: isControlSizing, isText: isText, isElement: isElement, isVoid: isVoid, isPara: isPara, isPurePara: isPurePara, isHeading: isHeading, isInline: isInline, isBlock: func.not(isInline), isBodyInline: isBodyInline, isBody: isBody, isParaInline: isParaInline, isPre: isPre, isList: isList, isTable: isTable, isData: isData, isCell: isCell, isBlockquote: isBlockquote, isBodyContainer: isBodyContainer, isAnchor: isAnchor, isDiv: makePredByNodeName('DIV'), isLi: isLi, isBR: makePredByNodeName('BR'), isSpan: makePredByNodeName('SPAN'), isB: makePredByNodeName('B'), isU: makePredByNodeName('U'), isS: makePredByNodeName('S'), isI: makePredByNodeName('I'), isImg: makePredByNodeName('IMG'), isTextarea: isTextarea, isEmpty: isEmpty$1, isEmptyAnchor: func.and(isAnchor, isEmpty$1), isClosestSibling: isClosestSibling, withClosestSiblings: withClosestSiblings, nodeLength: nodeLength, isLeftEdgePoint: isLeftEdgePoint, isRightEdgePoint: isRightEdgePoint, isEdgePoint: isEdgePoint, isLeftEdgeOf: isLeftEdgeOf, isRightEdgeOf: isRightEdgeOf, isLeftEdgePointOf: isLeftEdgePointOf, isRightEdgePointOf: isRightEdgePointOf, prevPoint: prevPoint, nextPoint: nextPoint, isSamePoint: isSamePoint, isVisiblePoint: isVisiblePoint, prevPointUntil: prevPointUntil, nextPointUntil: nextPointUntil, isCharPoint: isCharPoint, walkPoint: walkPoint, ancestor: ancestor, singleChildAncestor: singleChildAncestor, listAncestor: listAncestor, lastAncestor: lastAncestor, listNext: listNext, listPrev: listPrev, listDescendant: listDescendant, commonAncestor: commonAncestor, wrap: wrap, insertAfter: insertAfter, appendChildNodes: appendChildNodes, position: position, hasChildren: hasChildren, makeOffsetPath: makeOffsetPath, fromOffsetPath: fromOffsetPath, splitTree: splitTree, splitPoint: splitPoint, create: create, createText: createText, remove: remove, removeWhile: removeWhile, replace: replace, html: html, value: value, posFromPlaceholder: posFromPlaceholder, attachEvents: attachEvents, detachEvents: detachEvents, isCustomStyleTag: isCustomStyleTag }; /** * return boundaryPoint from TextRange, inspired by Andy Na's HuskyRange.js * * @param {TextRange} textRange * @param {Boolean} isStart * @return {BoundaryPoint} * * @see http://msdn.microsoft.com/en-us/library/ie/ms535872(v=vs.85).aspx */ function textRangeToPoint(textRange, isStart) { var container = textRange.parentElement(); var offset; var tester = document.body.createTextRange(); var prevContainer; var childNodes = lists.from(container.childNodes); for (offset = 0; offset < childNodes.length; offset++) { if (dom.isText(childNodes[offset])) { continue; } tester.moveToElementText(childNodes[offset]); if (tester.compareEndPoints('StartToStart', textRange) >= 0) { break; } prevContainer = childNodes[offset]; } if (offset !== 0 && dom.isText(childNodes[offset - 1])) { var textRangeStart = document.body.createTextRange(); var curTextNode = null; textRangeStart.moveToElementText(prevContainer || container); textRangeStart.collapse(!prevContainer); curTextNode = prevContainer ? prevContainer.nextSibling : container.firstChild; var pointTester = textRange.duplicate(); pointTester.setEndPoint('StartToStart', textRangeStart); var textCount = pointTester.text.replace(/[\r\n]/g, '').length; while (textCount > curTextNode.nodeValue.length && curTextNode.nextSibling) { textCount -= curTextNode.nodeValue.length; curTextNode = curTextNode.nextSibling; } // [workaround] enforce IE to re-reference curTextNode, hack var dummy = curTextNode.nodeValue; // eslint-disable-line if (isStart && curTextNode.nextSibling && dom.isText(curTextNode.nextSibling) && textCount === curTextNode.nodeValue.length) { textCount -= curTextNode.nodeValue.length; curTextNode = curTextNode.nextSibling; } container = curTextNode; offset = textCount; } return { cont: container, offset: offset }; } /** * return TextRange from boundary point (inspired by google closure-library) * @param {BoundaryPoint} point * @return {TextRange} */ function pointToTextRange(point) { var textRangeInfo = function (container, offset) { var node, isCollapseToStart; if (dom.isText(container)) { var prevTextNodes = dom.listPrev(container, func.not(dom.isText)); var prevContainer = lists.last(prevTextNodes).previousSibling; node = prevContainer || container.parentNode; offset += lists.sum(lists.tail(prevTextNodes), dom.nodeLength); isCollapseToStart = !prevContainer; } else { node = container.childNodes[offset] || container; if (dom.isText(node)) { return textRangeInfo(node, 0); } offset = 0; isCollapseToStart = false; } return { node: node, collapseToStart: isCollapseToStart, offset: offset }; }; var textRange = document.body.createTextRange(); var info = textRangeInfo(point.node, point.offset); textRange.moveToElementText(info.node); textRange.collapse(info.collapseToStart); textRange.moveStart('character', info.offset); return textRange; } /** * Wrapped Range * * @constructor * @param {Node} sc - start container * @param {Number} so - start offset * @param {Node} ec - end container * @param {Number} eo - end offset */ var WrappedRange = /** @class */ (function () { function WrappedRange(sc, so, ec, eo) { this.sc = sc; this.so = so; this.ec = ec; this.eo = eo; // isOnEditable: judge whether range is on editable or not this.isOnEditable = this.makeIsOn(dom.isEditable); // isOnList: judge whether range is on list node or not this.isOnList = this.makeIsOn(dom.isList); // isOnAnchor: judge whether range is on anchor node or not this.isOnAnchor = this.makeIsOn(dom.isAnchor); // isOnCell: judge whether range is on cell node or not this.isOnCell = this.makeIsOn(dom.isCell); // isOnData: judge whether range is on data node or not this.isOnData = this.makeIsOn(dom.isData); } // nativeRange: get nativeRange from sc, so, ec, eo WrappedRange.prototype.nativeRange = function () { if (env.isW3CRangeSupport) { var w3cRange = document.createRange(); w3cRange.setStart(this.sc, this.so); w3cRange.setEnd(this.ec, this.eo); return w3cRange; } else { var textRange = pointToTextRange({ node: this.sc, offset: this.so }); textRange.setEndPoint('EndToEnd', pointToTextRange({ node: this.ec, offset: this.eo })); return textRange; } }; WrappedRange.prototype.getPoints = function () { return { sc: this.sc, so: this.so, ec: this.ec, eo: this.eo }; }; WrappedRange.prototype.getStartPoint = function () { return { node: this.sc, offset: this.so }; }; WrappedRange.prototype.getEndPoint = function () { return { node: this.ec, offset: this.eo }; }; /** * select update visible range */ WrappedRange.prototype.select = function () { var nativeRng = this.nativeRange(); if (env.isW3CRangeSupport) { var selection = document.getSelection(); if (selection.rangeCount > 0) { selection.removeAllRanges(); } selection.addRange(nativeRng); } else { nativeRng.select(); } return this; }; /** * Moves the scrollbar to start container(sc) of current range * * @return {WrappedRange} */ WrappedRange.prototype.scrollIntoView = function (container) { var height = $$1(container).height(); if (container.scrollTop + height < this.sc.offsetTop) { container.scrollTop += Math.abs(container.scrollTop + height - this.sc.offsetTop); } return this; }; /** * @return {WrappedRange} */ WrappedRange.prototype.normalize = function () { /** * @param {BoundaryPoint} point * @param {Boolean} isLeftToRight * @return {BoundaryPoint} */ var getVisiblePoint = function (point, isLeftToRight) { if ((dom.isVisiblePoint(point) && !dom.isEdgePoint(point)) || (dom.isVisiblePoint(point) && dom.isRightEdgePoint(point) && !isLeftToRight) || (dom.isVisiblePoint(point) && dom.isLeftEdgePoint(point) && isLeftToRight) || (dom.isVisiblePoint(point) && dom.isBlock(point.node) && dom.isEmpty(point.node))) { return point; } // point on block's edge var block = dom.ancestor(point.node, dom.isBlock); if (((dom.isLeftEdgePointOf(point, block) || dom.isVoid(dom.prevPoint(point).node)) && !isLeftToRight) || ((dom.isRightEdgePointOf(point, block) || dom.isVoid(dom.nextPoint(point).node)) && isLeftToRight)) { // returns point already on visible point if (dom.isVisiblePoint(point)) { return point; } // reverse direction isLeftToRight = !isLeftToRight; } var nextPoint = isLeftToRight ? dom.nextPointUntil(dom.nextPoint(point), dom.isVisiblePoint) : dom.prevPointUntil(dom.prevPoint(point), dom.isVisiblePoint); return nextPoint || point; }; var endPoint = getVisiblePoint(this.getEndPoint(), false); var startPoint = this.isCollapsed() ? endPoint : getVisiblePoint(this.getStartPoint(), true); return new WrappedRange(startPoint.node, startPoint.offset, endPoint.node, endPoint.offset); }; /** * returns matched nodes on range * * @param {Function} [pred] - predicate function * @param {Object} [options] * @param {Boolean} [options.includeAncestor] * @param {Boolean} [options.fullyContains] * @return {Node[]} */ WrappedRange.prototype.nodes = function (pred, options) { pred = pred || func.ok; var includeAncestor = options && options.includeAncestor; var fullyContains = options && options.fullyContains; // TODO compare points and sort var startPoint = this.getStartPoint(); var endPoint = this.getEndPoint(); var nodes = []; var leftEdgeNodes = []; dom.walkPoint(startPoint, endPoint, function (point) { if (dom.isEditable(point.node)) { return; } var node; if (fullyContains) { if (dom.isLeftEdgePoint(point)) { leftEdgeNodes.push(point.node); } if (dom.isRightEdgePoint(point) && lists.contains(leftEdgeNodes, point.node)) { node = point.node; } } else if (includeAncestor) { node = dom.ancestor(point.node, pred); } else { node = point.node; } if (node && pred(node)) { nodes.push(node); } }, true); return lists.unique(nodes); }; /** * returns commonAncestor of range * @return {Element} - commonAncestor */ WrappedRange.prototype.commonAncestor = function () { return dom.commonAncestor(this.sc, this.ec); }; /** * returns expanded range by pred * * @param {Function} pred - predicate function * @return {WrappedRange} */ WrappedRange.prototype.expand = function (pred) { var startAncestor = dom.ancestor(this.sc, pred); var endAncestor = dom.ancestor(this.ec, pred); if (!startAncestor && !endAncestor) { return new WrappedRange(this.sc, this.so, this.ec, this.eo); } var boundaryPoints = this.getPoints(); if (startAncestor) { boundaryPoints.sc = startAncestor; boundaryPoints.so = 0; } if (endAncestor) { boundaryPoints.ec = endAncestor; boundaryPoints.eo = dom.nodeLength(endAncestor); } return new WrappedRange(boundaryPoints.sc, boundaryPoints.so, boundaryPoints.ec, boundaryPoints.eo); }; /** * @param {Boolean} isCollapseToStart * @return {WrappedRange} */ WrappedRange.prototype.collapse = function (isCollapseToStart) { if (isCollapseToStart) { return new WrappedRange(this.sc, this.so, this.sc, this.so); } else { return new WrappedRange(this.ec, this.eo, this.ec, this.eo); } }; /** * splitText on range */ WrappedRange.prototype.splitText = function () { var isSameContainer = this.sc === this.ec; var boundaryPoints = this.getPoints(); if (dom.isText(this.ec) && !dom.isEdgePoint(this.getEndPoint())) { this.ec.splitText(this.eo); } if (dom.isText(this.sc) && !dom.isEdgePoint(this.getStartPoint())) { boundaryPoints.sc = this.sc.splitText(this.so); boundaryPoints.so = 0; if (isSameContainer) { boundaryPoints.ec = boundaryPoints.sc; boundaryPoints.eo = this.eo - this.so; } } return new WrappedRange(boundaryPoints.sc, boundaryPoints.so, boundaryPoints.ec, boundaryPoints.eo); }; /** * delete contents on range * @return {WrappedRange} */ WrappedRange.prototype.deleteContents = function () { if (this.isCollapsed()) { return this; } var rng = this.splitText(); var nodes = rng.nodes(null, { fullyContains: true }); // find new cursor point var point = dom.prevPointUntil(rng.getStartPoint(), function (point) { return !lists.contains(nodes, point.node); }); var emptyParents = []; $$1.each(nodes, function (idx, node) { // find empty parents var parent = node.parentNode; if (point.node !== parent && dom.nodeLength(parent) === 1) { emptyParents.push(parent); } dom.remove(node, false); }); // remove empty parents $$1.each(emptyParents, function (idx, node) { dom.remove(node, false); }); return new WrappedRange(point.node, point.offset, point.node, point.offset).normalize(); }; /** * makeIsOn: return isOn(pred) function */ WrappedRange.prototype.makeIsOn = function (pred) { return function () { var ancestor = dom.ancestor(this.sc, pred); return !!ancestor && (ancestor === dom.ancestor(this.ec, pred)); }; }; /** * @param {Function} pred * @return {Boolean} */ WrappedRange.prototype.isLeftEdgeOf = function (pred) { if (!dom.isLeftEdgePoint(this.getStartPoint())) { return false; } var node = dom.ancestor(this.sc, pred); return node && dom.isLeftEdgeOf(this.sc, node); }; /** * returns whether range was collapsed or not */ WrappedRange.prototype.isCollapsed = function () { return this.sc === this.ec && this.so === this.eo; }; /** * wrap inline nodes which children of body with paragraph * * @return {WrappedRange} */ WrappedRange.prototype.wrapBodyInlineWithPara = function () { if (dom.isBodyContainer(this.sc) && dom.isEmpty(this.sc)) { this.sc.innerHTML = dom.emptyPara; return new WrappedRange(this.sc.firstChild, 0, this.sc.firstChild, 0); } /** * [workaround] firefox often create range on not visible point. so normalize here. * - firefox: |<p>text</p>| * - chrome: <p>|text|</p> */ var rng = this.normalize(); if (dom.isParaInline(this.sc) || dom.isPara(this.sc)) { return rng; } // find inline top ancestor var topAncestor; if (dom.isInline(rng.sc)) { var ancestors = dom.listAncestor(rng.sc, func.not(dom.isInline)); topAncestor = lists.last(ancestors); if (!dom.isInline(topAncestor)) { topAncestor = ancestors[ancestors.length - 2] || rng.sc.childNodes[rng.so]; } } else { topAncestor = rng.sc.childNodes[rng.so > 0 ? rng.so - 1 : 0]; } // siblings not in paragraph var inlineSiblings = dom.listPrev(topAncestor, dom.isParaInline).reverse(); inlineSiblings = inlineSiblings.concat(dom.listNext(topAncestor.nextSibling, dom.isParaInline)); // wrap with paragraph if (inlineSiblings.length) { var para = dom.wrap(lists.head(inlineSiblings), 'p'); dom.appendChildNodes(para, lists.tail(inlineSiblings)); } return this.normalize(); }; /** * insert node at current cursor * * @param {Node} node * @return {Node} */ WrappedRange.prototype.insertNode = function (node) { var rng = this.wrapBodyInlineWithPara().deleteContents(); var info = dom.splitPoint(rng.getStartPoint(), dom.isInline(node)); if (info.rightNode) { info.rightNode.parentNode.insertBefore(node, info.rightNode); } else { info.container.appendChild(node); } return node; }; /** * insert html at current cursor */ WrappedRange.prototype.pasteHTML = function (markup) { var contentsContainer = $$1('<div></div>').html(markup)[0]; var childNodes = lists.from(contentsContainer.childNodes); var rng = this.wrapBodyInlineWithPara().deleteContents(); return childNodes.reverse().map(function (childNode) { return rng.insertNode(childNode); }).reverse(); }; /** * returns text in range * * @return {String} */ WrappedRange.prototype.toString = function () { var nativeRng = this.nativeRange(); return env.isW3CRangeSupport ? nativeRng.toString() : nativeRng.text; }; /** * returns range for word before cursor * * @param {Boolean} [findAfter] - find after cursor, default: false * @return {WrappedRange} */ WrappedRange.prototype.getWordRange = function (findAfter) { var endPoint = this.getEndPoint(); if (!dom.isCharPoint(endPoint)) { return this; } var startPoint = dom.prevPointUntil(endPoint, function (point) { return !dom.isCharPoint(point); }); if (findAfter) { endPoint = dom.nextPointUntil(endPoint, function (point) { return !dom.isCharPoint(point); }); } return new WrappedRange(startPoint.node, startPoint.offset, endPoint.node, endPoint.offset); }; /** * create offsetPath bookmark * * @param {Node} editable */ WrappedRange.prototype.bookmark = function (editable) { return { s: { path: dom.makeOffsetPath(editable, this.sc), offset: this.so }, e: { path: dom.makeOffsetPath(editable, this.ec), offset: this.eo } }; }; /** * create offsetPath bookmark base on paragraph * * @param {Node[]} paras */ WrappedRange.prototype.paraBookmark = function (paras) { return { s: { path: lists.tail(dom.makeOffsetPath(lists.head(paras), this.sc)), offset: this.so }, e: { path: lists.tail(dom.makeOffsetPath(lists.last(paras), this.ec)), offset: this.eo } }; }; /** * getClientRects * @return {Rect[]} */ WrappedRange.prototype.getClientRects = function () { var nativeRng = this.nativeRange(); return nativeRng.getClientRects(); }; return WrappedRange; }()); /** * Data structure * * BoundaryPoint: a point of dom tree * * BoundaryPoints: two boundaryPoints corresponding to the start and the end of the Range * * See to http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-Position */ var range = { /** * create Range Object From arguments or Browser Selection * * @param {Node} sc - start container * @param {Number} so - start offset * @param {Node} ec - end container * @param {Number} eo - end offset * @return {WrappedRange} */ create: function (sc, so, ec, eo) { if (arguments.length === 4) { return new WrappedRange(sc, so, ec, eo); } else if (arguments.length === 2) { ec = sc; eo = so; return new WrappedRange(sc, so, ec, eo); } else { var wrappedRange = this.createFromSelection(); if (!wrappedRange && arguments.length === 1) { wrappedRange = this.createFromNode(arguments[0]); return wrappedRange.collapse(dom.emptyPara === arguments[0].innerHTML); } return wrappedRange; } }, createFromSelection: function () { var sc, so, ec, eo; if (env.isW3CRangeSupport) { var selection = document.getSelection(); if (!selection || selection.rangeCount === 0) { return null; } else if (dom.isBody(selection.anchorNode)) { // Firefox: returns entire body as range on initialization. // We won't never need it. return null; } var nativeRng = selection.getRangeAt(0); sc = nativeRng.startContainer; so = nativeRng.startOffset; ec = nativeRng.endContainer; eo = nativeRng.endOffset; } else { var textRange = document.selection.createRange(); var textRangeEnd = textRange.duplicate(); textRangeEnd.collapse(false); var textRangeStart = textRange; textRangeStart.collapse(true); var startPoint = textRangeToPoint(textRangeStart, true); var endPoint = textRangeToPoint(textRangeEnd, false); // same visible point case: range was collapsed. if (dom.isText(startPoint.node) && dom.isLeftEdgePoint(startPoint) && dom.isTextNode(endPoint.node) && dom.isRightEdgePoint(endPoint) && endPoint.node.nextSibling === startPoint.node) { startPoint = endPoint; } sc = startPoint.cont; so = startPoint.offset; ec = endPoint.cont; eo = endPoint.offset; } return new WrappedRange(sc, so, ec, eo); }, /** * @method * * create WrappedRange from node * * @param {Node} node * @return {WrappedRange} */ createFromNode: function (node) { var sc = node; var so = 0; var ec = node; var eo = dom.nodeLength(ec); // browsers can't target a picture or void node if (dom.isVoid(sc)) { so = dom.listPrev(sc).length - 1; sc = sc.parentNode; } if (dom.isBR(ec)) { eo = dom.listPrev(ec).length - 1; ec = ec.parentNode; } else if (dom.isVoid(ec)) { eo = dom.listPrev(ec).length; ec = ec.parentNode; } return this.create(sc, so, ec, eo); }, /** * create WrappedRange from node after position * * @param {Node} node * @return {WrappedRange} */ createFromNodeBefore: function (node) { return this.createFromNode(node).collapse(true); }, /** * create WrappedRange from node after position * * @param {Node} node * @return {WrappedRange} */ createFromNodeAfter: function (node) { return this.createFromNode(node).collapse(); }, /** * @method * * create WrappedRange from bookmark * * @param {Node} editable * @param {Object} bookmark * @return {WrappedRange} */ createFromBookmark: function (editable, bookmark) { var sc = dom.fromOffsetPath(editable, bookmark.s.path); var so = bookmark.s.offset; var ec = dom.fromOffsetPath(editable, bookmark.e.path); var eo = bookmark.e.offset; return new WrappedRange(sc, so, ec, eo); }, /** * @method * * create WrappedRange from paraBookmark * * @param {Object} bookmark * @param {Node[]} paras * @return {WrappedRange} */ createFromParaBookmark: function (bookmark, paras) { var so = bookmark.s.offset; var eo = bookmark.e.offset; var sc = dom.fromOffsetPath(lists.head(paras), bookmark.s.path); var ec = dom.fromOffsetPath(lists.last(paras), bookmark.e.path); return new WrappedRange(sc, so, ec, eo); } }; /** * @method readFileAsDataURL * * read contents of file as representing URL * * @param {File} file * @return {Promise} - then: dataUrl */ function readFileAsDataURL(file) { return $$1.Deferred(function (deferred) { $$1.extend(new FileReader(), { onload: function (e) { var dataURL = e.target.result; deferred.resolve(dataURL); }, onerror: function (err) { deferred.reject(err); } }).readAsDataURL(file); }).promise(); } /** * @method createImage * * create `<image>` from url string * * @param {String} url * @return {Promise} - then: $image */ function createImage(url) { return $$1.Deferred(function (deferred) { var $img = $$1('<img>'); $img.one('load', function () { $img.off('error abort'); deferred.resolve($img); }).one('error abort', function () { $img.off('load').detach(); deferred.reject($img); }).css({ display: 'none' }).appendTo(document.body).attr('src', url); }).promise(); } var History = /** @class */ (function () { function History($editable) { this.stack = []; this.stackOffset = -1; this.$editable = $editable; this.editable = $editable[0]; } History.prototype.makeSnapshot = function () { var rng = range.create(this.editable); var emptyBookmark = { s: { path: [], offset: 0 }, e: { path: [], offset: 0 } }; return { contents: this.$editable.html(), bookmark: (rng ? rng.bookmark(this.editable) : emptyBookmark) }; }; History.prototype.applySnapshot = function (snapshot) { if (snapshot.contents !== null) { this.$editable.html(snapshot.contents); } if (snapshot.bookmark !== null) { range.createFromBookmark(this.editable, snapshot.bookmark).select(); } }; /** * @method rewind * Rewinds the history stack back to the first snapshot taken. * Leaves the stack intact, so that "Redo" can still be used. */ History.prototype.rewind = function () { // Create snap shot if not yet recorded if (this.$editable.html() !== this.stack[this.stackOffset].contents) { this.recordUndo(); } // Return to the first available snapshot. this.stackOffset = 0; // Apply that snapshot. this.applySnapshot(this.stack[this.stackOffset]); }; /** * @method reset * Resets the history stack completely; reverting to an empty editor. */ History.prototype.reset = function () { // Clear the stack. this.stack = []; // Restore stackOffset to its original value. this.stackOffset = -1; // Clear the editable area. this.$editable.html(''); // Record our first snapshot (of nothing). this.recordUndo(); }; /** * undo */ History.prototype.undo = function () { // Create snap shot if not yet recorded if (this.$editable.html() !== this.stack[this.stackOffset].contents) { this.recordUndo(); } if (this.stackOffset > 0) { this.stackOffset--; this.applySnapshot(this.stack[this.stackOffset]); } }; /** * redo */ History.prototype.redo = function () { if (this.stack.length - 1 > this.stackOffset) { this.stackOffset++; this.applySnapshot(this.stack[this.stackOffset]); } }; /** * recorded undo */ History.prototype.recordUndo = function () { this.stackOffset++; // Wash out stack after stackOffset if (this.stack.length > this.stackOffset) { this.stack = this.stack.slice(0, this.stackOffset); } // Create new snapshot and push it to the end this.stack.push(this.makeSnapshot()); }; return History; }()); var Style = /** @class */ (function () { function Style() { } /** * @method jQueryCSS * * [workaround] for old jQuery * passing an array of style properties to .css() * will result in an object of property-value pairs. * (compability with version < 1.9) * * @private * @param {jQuery} $obj * @param {Array} propertyNames - An array of one or more CSS properties. * @return {Object} */ Style.prototype.jQueryCSS = function ($obj, propertyNames) { if (env.jqueryVersion < 1.9) { var result_1 = {}; $$1.each(propertyNames, function (idx, propertyName) { result_1[propertyName] = $obj.css(propertyName); }); return result_1; } return $obj.css(propertyNames); }; /** * returns style object from node * * @param {jQuery} $node * @return {Object} */ Style.prototype.fromNode = function ($node) { var properties = ['font-family', 'font-size', 'text-align', 'list-style-type', 'line-height']; var styleInfo = this.jQueryCSS($node, properties) || {}; styleInfo['font-size'] = parseInt(styleInfo['font-size'], 10); return styleInfo; }; /** * paragraph level style * * @param {WrappedRange} rng * @param {Object} styleInfo */ Style.prototype.stylePara = function (rng, styleInfo) { $$1.each(rng.nodes(dom.isPara, { includeAncestor: true }), function (idx, para) { $$1(para).css(styleInfo); }); }; /** * insert and returns styleNodes on range. * * @param {WrappedRange} rng * @param {Object} [options] - options for styleNodes * @param {String} [options.nodeName] - default: `SPAN` * @param {Boolean} [options.expandClosestSibling] - default: `false` * @param {Boolean} [options.onlyPartialContains] - default: `false` * @return {Node[]} */ Style.prototype.styleNodes = function (rng, options) { rng = rng.splitText(); var nodeName = (options && options.nodeName) || 'SPAN'; var expandClosestSibling = !!(options && options.expandClosestSibling); var onlyPartialContains = !!(options && options.onlyPartialContains); if (rng.isCollapsed()) { return [rng.insertNode(dom.create(nodeName))]; } var pred = dom.makePredByNodeName(nodeName); var nodes = rng.nodes(dom.isText, { fullyContains: true }).map(function (text) { return dom.singleChildAncestor(text, pred) || dom.wrap(text, nodeName); }); if (expandClosestSibling) { if (onlyPartialContains) { var nodesInRange_1 = rng.nodes(); // compose with partial contains predication pred = func.and(pred, function (node) { return lists.contains(nodesInRange_1, node); }); } return nodes.map(function (node) { var siblings = dom.withClosestSiblings(node, pred); var head = lists.head(siblings); var tails = lists.tail(siblings); $$1.each(tails, function (idx, elem) { dom.appendChildNodes(head, elem.childNodes); dom.remove(elem); }); return lists.head(siblings); }); } else { return nodes; } }; /** * get current style on cursor * * @param {WrappedRange} rng * @return {Object} - object contains style properties. */ Style.prototype.current = function (rng) { var $cont = $$1(!dom.isElement(rng.sc) ? rng.sc.parentNode : rng.sc); var styleInfo = this.fromNode($cont); // document.queryCommandState for toggle state // [workaround] prevent Firefox nsresult: "0x80004005 (NS_ERROR_FAILURE)" try { styleInfo = $$1.extend(styleInfo, { 'font-bold': document.queryCommandState('bold') ? 'bold' : 'normal', 'font-italic': document.queryCommandState('italic') ? 'italic' : 'normal', 'font-underline': document.queryCommandState('underline') ? 'underline' : 'normal', 'font-subscript': document.queryCommandState('subscript') ? 'subscript' : 'normal', 'font-superscript': document.queryCommandState('superscript') ? 'superscript' : 'normal', 'font-strikethrough': document.queryCommandState('strikethrough') ? 'strikethrough' : 'normal', 'font-family': document.queryCommandValue('fontname') || styleInfo['font-family'] }); } catch (e) { } // list-style-type to list-style(unordered, ordered) if (!rng.isOnList()) { styleInfo['list-style'] = 'none'; } else { var orderedTypes = ['circle', 'disc', 'disc-leading-zero', 'square']; var isUnordered = $$1.inArray(styleInfo['list-style-type'], orderedTypes) > -1; styleInfo['list-style'] = isUnordered ? 'unordered' : 'ordered'; } var para = dom.ancestor(rng.sc, dom.isPara); if (para && para.style['line-height']) { styleInfo['line-height'] = para.style.lineHeight; } else { var lineHeight = parseInt(styleInfo['line-height'], 10) / parseInt(styleInfo['font-size'], 10); styleInfo['line-height'] = lineHeight.toFixed(1); } styleInfo.anchor = rng.isOnAnchor() && dom.ancestor(rng.sc, dom.isAnchor); styleInfo.ancestors = dom.listAncestor(rng.sc, dom.isEditable); styleInfo.range = rng; return styleInfo; }; return Style; }()); var Bullet = /** @class */ (function () { function Bullet() { } /** * toggle ordered list */ Bullet.prototype.insertOrderedList = function (editable) { this.toggleList('OL', editable); }; /** * toggle unordered list */ Bullet.prototype.insertUnorderedList = function (editable) { this.toggleList('UL', editable); }; /** * indent */ Bullet.prototype.indent = function (editable) { var _this = this; var rng = range.create(editable).wrapBodyInlineWithPara(); var paras = rng.nodes(dom.isPara, { includeAncestor: true }); var clustereds = lists.clusterBy(paras, func.peq2('parentNode')); $$1.each(clustereds, function (idx, paras) { var head = lists.head(paras); if (dom.isLi(head)) { _this.wrapList(paras, head.parentNode.nodeName); } else { $$1.each(paras, function (idx, para) { $$1(para).css('marginLeft', function (idx, val) { return (parseInt(val, 10) || 0) + 25; }); }); } }); rng.select(); }; /** * outdent */ Bullet.prototype.outdent = function (editable) { var _this = this; var rng = range.create(editable).wrapBodyInlineWithPara(); var paras = rng.nodes(dom.isPara, { includeAncestor: true }); var clustereds = lists.clusterBy(paras, func.peq2('parentNode')); $$1.each(clustereds, function (idx, paras) { var head = lists.head(paras); if (dom.isLi(head)) { _this.releaseList([paras]); } else { $$1.each(paras, function (idx, para) { $$1(para).css('marginLeft', function (idx, val) { val = (parseInt(val, 10) || 0); return val > 25 ? val - 25 : ''; }); }); } }); rng.select(); }; /** * toggle list * * @param {String} listName - OL or UL */ Bullet.prototype.toggleList = function (listName, editable) { var _this = this; var rng = range.create(editable).wrapBodyInlineWithPara(); var paras = rng.nodes(dom.isPara, { includeAncestor: true }); var bookmark = rng.paraBookmark(paras); var clustereds = lists.clusterBy(paras, func.peq2('parentNode')); // paragraph to list if (lists.find(paras, dom.isPurePara)) { var wrappedParas_1 = []; $$1.each(clustereds, function (idx, paras) { wrappedParas_1 = wrappedParas_1.concat(_this.wrapList(paras, listName)); }); paras = wrappedParas_1; // list to paragraph or change list style } else { var diffLists = rng.nodes(dom.isList, { includeAncestor: true }).filter(function (listNode) { return !$$1.nodeName(listNode, listName); }); if (diffLists.length) { $$1.each(diffLists, function (idx, listNode) { dom.replace(listNode, listName); }); } else { paras = this.releaseList(clustereds, true); } } range.createFromParaBookmark(bookmark, paras).select(); }; /** * @param {Node[]} paras * @param {String} listName * @return {Node[]} */ Bullet.prototype.wrapList = function (paras, listName) { var head = lists.head(paras); var last = lists.last(paras); var prevList = dom.isList(head.previousSibling) && head.previousSibling; var nextList = dom.isList(last.nextSibling) && last.nextSibling; var listNode = prevList || dom.insertAfter(dom.create(listName || 'UL'), last); // P to LI paras = paras.map(function (para) { return dom.isPurePara(para) ? dom.replace(para, 'LI') : para; }); // append to list(<ul>, <ol>) dom.appendChildNodes(listNode, paras); if (nextList) { dom.appendChildNodes(listNode, lists.from(nextList.childNodes)); dom.remove(nextList); } return paras; }; /** * @method releaseList * * @param {Array[]} clustereds * @param {Boolean} isEscapseToBody * @return {Node[]} */ Bullet.prototype.releaseList = function (clustereds, isEscapseToBody) { var releasedParas = []; $$1.each(clustereds, function (idx, paras) { var head = lists.head(paras); var last = lists.last(paras); var headList = isEscapseToBody ? dom.lastAncestor(head, dom.isList) : head.parentNode; var lastList = headList.childNodes.length > 1 ? dom.splitTree(headList, { node: last.parentNode, offset: dom.position(last) + 1 }, { isSkipPaddingBlankHTML: true }) : null; var middleList = dom.splitTree(headList, { node: head.parentNode, offset: dom.position(head) }, { isSkipPaddingBlankHTML: true }); paras = isEscapseToBody ? dom.listDescendant(middleList, dom.isLi) : lists.from(middleList.childNodes).filter(dom.isLi); // LI to P if (isEscapseToBody || !dom.isList(headList.parentNode)) { paras = paras.map(function (para) { return dom.replace(para, 'P'); }); } $$1.each(lists.from(paras).reverse(), function (idx, para) { dom.insertAfter(para, headList); }); // remove empty lists var rootLists = lists.compact([headList, middleList, lastList]); $$1.each(rootLists, function (idx, rootList) { var listNodes = [rootList].concat(dom.listDescendant(rootList, dom.isList)); $$1.each(listNodes.reverse(), function (idx, listNode) { if (!dom.nodeLength(listNode)) { dom.remove(listNode, true); } }); }); releasedParas = releasedParas.concat(paras); }); return releasedParas; }; return Bullet; }()); /** * @class editing.Typing * * Typing * */ var Typing = /** @class */ (function () { function Typing() { // a Bullet instance to toggle lists off this.bullet = new Bullet(); } /** * insert tab * * @param {WrappedRange} rng * @param {Number} tabsize */ Typing.prototype.insertTab = function (rng, tabsize) { var tab = dom.createText(new Array(tabsize + 1).join(dom.NBSP_CHAR)); rng = rng.deleteContents(); rng.insertNode(tab, true); rng = range.create(tab, tabsize); rng.select(); }; /** * insert paragraph */ Typing.prototype.insertParagraph = function (editable) { var rng = range.create(editable); // deleteContents on range. rng = rng.deleteContents(); // Wrap range if it needs to be wrapped by paragraph rng = rng.wrapBodyInlineWithPara(); // finding paragraph var splitRoot = dom.ancestor(rng.sc, dom.isPara); var nextPara; // on paragraph: split paragraph if (splitRoot) { // if it is an empty line with li if (dom.isEmpty(splitRoot) && dom.isLi(splitRoot)) { // toogle UL/OL and escape this.bullet.toggleList(splitRoot.parentNode.nodeName); return; // if it is an empty line with para on blockquote } else if (dom.isEmpty(splitRoot) && dom.isPara(splitRoot) && dom.isBlockquote(splitRoot.parentNode)) { // escape blockquote dom.insertAfter(splitRoot, splitRoot.parentNode); nextPara = splitRoot; // if new line has content (not a line break) } else { nextPara = dom.splitTree(splitRoot, rng.getStartPoint()); var emptyAnchors = dom.listDescendant(splitRoot, dom.isEmptyAnchor); emptyAnchors = emptyAnchors.concat(dom.listDescendant(nextPara, dom.isEmptyAnchor)); $$1.each(emptyAnchors, function (idx, anchor) { dom.remove(anchor); }); // replace empty heading, pre or custom-made styleTag with P tag if ((dom.isHeading(nextPara) || dom.isPre(nextPara) || dom.isCustomStyleTag(nextPara)) && dom.isEmpty(nextPara)) { nextPara = dom.replace(nextPara, 'p'); } } // no paragraph: insert empty paragraph } else { var next = rng.sc.childNodes[rng.so]; nextPara = $$1(dom.emptyPara)[0]; if (next) { rng.sc.insertBefore(nextPara, next); } else { rng.sc.appendChild(nextPara); } } range.create(nextPara, 0).normalize().select().scrollIntoView(editable); }; return Typing; }()); /** * @class Create a virtual table to create what actions to do in change. * @param {object} startPoint Cell selected to apply change. * @param {enum} where Where change will be applied Row or Col. Use enum: TableResultAction.where * @param {enum} action Action to be applied. Use enum: TableResultAction.requestAction * @param {object} domTable Dom element of table to make changes. */ var TableResultAction = function (startPoint, where, action, domTable) { var _startPoint = { 'colPos': 0, 'rowPos': 0 }; var _virtualTable = []; var _actionCellList = []; /// /////////////////////////////////////////// // Private functions /// /////////////////////////////////////////// /** * Set the startPoint of action. */ function setStartPoint() { if (!startPoint || !startPoint.tagName || (startPoint.tagName.toLowerCase() !== 'td' && startPoint.tagName.toLowerCase() !== 'th')) { console.error('Impossible to identify start Cell point.', startPoint); return; } _startPoint.colPos = startPoint.cellIndex; if (!startPoint.parentElement || !startPoint.parentElement.tagName || startPoint.parentElement.tagName.toLowerCase() !== 'tr') { console.error('Impossible to identify start Row point.', startPoint); return; } _startPoint.rowPos = startPoint.parentElement.rowIndex; } /** * Define virtual table position info object. * * @param {int} rowIndex Index position in line of virtual table. * @param {int} cellIndex Index position in column of virtual table. * @param {object} baseRow Row affected by this position. * @param {object} baseCell Cell affected by this position. * @param {bool} isSpan Inform if it is an span cell/row. */ function setVirtualTablePosition(rowIndex, cellIndex, baseRow, baseCell, isRowSpan, isColSpan, isVirtualCell) { var objPosition = { 'baseRow': baseRow, 'baseCell': baseCell, 'isRowSpan': isRowSpan, 'isColSpan': isColSpan, 'isVirtual': isVirtualCell }; if (!_virtualTable[rowIndex]) { _virtualTable[rowIndex] = []; } _virtualTable[rowIndex][cellIndex] = objPosition; } /** * Create action cell object. * * @param {object} virtualTableCellObj Object of specific position on virtual table. * @param {enum} resultAction Action to be applied in that item. */ function getActionCell(virtualTableCellObj, resultAction, virtualRowPosition, virtualColPosition) { return { 'baseCell': virtualTableCellObj.baseCell, 'action': resultAction, 'virtualTable': { 'rowIndex': virtualRowPosition, 'cellIndex': virtualColPosition } }; } /** * Recover free index of row to append Cell. * * @param {int} rowIndex Index of row to find free space. * @param {int} cellIndex Index of cell to find free space in table. */ function recoverCellIndex(rowIndex, cellIndex) { if (!_virtualTable[rowIndex]) { return cellIndex; } if (!_virtualTable[rowIndex][cellIndex]) { return cellIndex; } var newCellIndex = cellIndex; while (_virtualTable[rowIndex][newCellIndex]) { newCellIndex++; if (!_virtualTable[rowIndex][newCellIndex]) { return newCellIndex; } } } /** * Recover info about row and cell and add information to virtual table. * * @param {object} row Row to recover information. * @param {object} cell Cell to recover information. */ function addCellInfoToVirtual(row, cell) { var cellIndex = recoverCellIndex(row.rowIndex, cell.cellIndex); var cellHasColspan = (cell.colSpan > 1); var cellHasRowspan = (cell.rowSpan > 1); var isThisSelectedCell = (row.rowIndex === _startPoint.rowPos && cell.cellIndex === _startPoint.colPos); setVirtualTablePosition(row.rowIndex, cellIndex, row, cell, cellHasRowspan, cellHasColspan, false); // Add span rows to virtual Table. var rowspanNumber = cell.attributes.rowSpan ? parseInt(cell.attributes.rowSpan.value, 10) : 0; if (rowspanNumber > 1) { for (var rp = 1; rp < rowspanNumber; rp++) { var rowspanIndex = row.rowIndex + rp; adjustStartPoint(rowspanIndex, cellIndex, cell, isThisSelectedCell); setVirtualTablePosition(rowspanIndex, cellIndex, row, cell, true, cellHasColspan, true); } } // Add span cols to virtual table. var colspanNumber = cell.attributes.colSpan ? parseInt(cell.attributes.colSpan.value, 10) : 0; if (colspanNumber > 1) { for (var cp = 1; cp < colspanNumber; cp++) { var cellspanIndex = recoverCellIndex(row.rowIndex, (cellIndex + cp)); adjustStartPoint(row.rowIndex, cellspanIndex, cell, isThisSelectedCell); setVirtualTablePosition(row.rowIndex, cellspanIndex, row, cell, cellHasRowspan, true, true); } } } /** * Process validation and adjust of start point if needed * * @param {int} rowIndex * @param {int} cellIndex * @param {object} cell * @param {bool} isSelectedCell */ function adjustStartPoint(rowIndex, cellIndex, cell, isSelectedCell) { if (rowIndex === _startPoint.rowPos && _startPoint.colPos >= cell.cellIndex && cell.cellIndex <= cellIndex && !isSelectedCell) { _startPoint.colPos++; } } /** * Create virtual table of cells with all cells, including span cells. */ function createVirtualTable() { var rows = domTable.rows; for (var rowIndex = 0; rowIndex < rows.length; rowIndex++) { var cells = rows[rowIndex].cells; for (var cellIndex = 0; cellIndex < cells.length; cellIndex++) { addCellInfoToVirtual(rows[rowIndex], cells[cellIndex]); } } } /** * Get action to be applied on the cell. * * @param {object} cell virtual table cell to apply action */ function getDeleteResultActionToCell(cell) { switch (where) { case TableResultAction.where.Column: if (cell.isColSpan) { return TableResultAction.resultAction.SubtractSpanCount; } break; case TableResultAction.where.Row: if (!cell.isVirtual && cell.isRowSpan) { return TableResultAction.resultAction.AddCell; } else if (cell.isRowSpan) { return TableResultAction.resultAction.SubtractSpanCount; } break; } return TableResultAction.resultAction.RemoveCell; } /** * Get action to be applied on the cell. * * @param {object} cell virtual table cell to apply action */ function getAddResultActionToCell(cell) { switch (where) { case TableResultAction.where.Column: if (cell.isColSpan) { return TableResultAction.resultAction.SumSpanCount; } else if (cell.isRowSpan && cell.isVirtual) { return TableResultAction.resultAction.Ignore; } break; case TableResultAction.where.Row: if (cell.isRowSpan) { return TableResultAction.resultAction.SumSpanCount; } else if (cell.isColSpan && cell.isVirtual) { return TableResultAction.resultAction.Ignore; } break; } return TableResultAction.resultAction.AddCell; } function init() { setStartPoint(); createVirtualTable(); } /// /////////////////////////////////////////// // Public functions /// /////////////////////////////////////////// /** * Recover array os what to do in table. */ this.getActionList = function () { var fixedRow = (where === TableResultAction.where.Row) ? _startPoint.rowPos : -1; var fixedCol = (where === TableResultAction.where.Column) ? _startPoint.colPos : -1; var actualPosition = 0; var canContinue = true; while (canContinue) { var rowPosition = (fixedRow >= 0) ? fixedRow : actualPosition; var colPosition = (fixedCol >= 0) ? fixedCol : actualPosition; var row = _virtualTable[rowPosition]; if (!row) { canContinue = false; return _actionCellList; } var cell = row[colPosition]; if (!cell) { canContinue = false; return _actionCellList; } // Define action to be applied in this cell var resultAction = TableResultAction.resultAction.Ignore; switch (action) { case TableResultAction.requestAction.Add: resultAction = getAddResultActionToCell(cell); break; case TableResultAction.requestAction.Delete: resultAction = getDeleteResultActionToCell(cell); break; } _actionCellList.push(getActionCell(cell, resultAction, rowPosition, colPosition)); actualPosition++; } return _actionCellList; }; init(); }; /** * * Where action occours enum. */ TableResultAction.where = { 'Row': 0, 'Column': 1 }; /** * * Requested action to apply enum. */ TableResultAction.requestAction = { 'Add': 0, 'Delete': 1 }; /** * * Result action to be executed enum. */ TableResultAction.resultAction = { 'Ignore': 0, 'SubtractSpanCount': 1, 'RemoveCell': 2, 'AddCell': 3, 'SumSpanCount': 4 }; /** * * @class editing.Table * * Table * */ var Table = /** @class */ (function () { function Table() { } /** * handle tab key * * @param {WrappedRange} rng * @param {Boolean} isShift */ Table.prototype.tab = function (rng, isShift) { var cell = dom.ancestor(rng.commonAncestor(), dom.isCell); var table = dom.ancestor(cell, dom.isTable); var cells = dom.listDescendant(table, dom.isCell); var nextCell = lists[isShift ? 'prev' : 'next'](cells, cell); if (nextCell) { range.create(nextCell, 0).select(); } }; /** * Add a new row * * @param {WrappedRange} rng * @param {String} position (top/bottom) * @return {Node} */ Table.prototype.addRow = function (rng, position) { var cell = dom.ancestor(rng.commonAncestor(), dom.isCell); var currentTr = $$1(cell).closest('tr'); var trAttributes = this.recoverAttributes(currentTr); var html = $$1('<tr' + trAttributes + '></tr>'); var vTable = new TableResultAction(cell, TableResultAction.where.Row, TableResultAction.requestAction.Add, $$1(currentTr).closest('table')[0]); var actions = vTable.getActionList(); for (var idCell = 0; idCell < actions.length; idCell++) { var currentCell = actions[idCell]; var tdAttributes = this.recoverAttributes(currentCell.baseCell); switch (currentCell.action) { case TableResultAction.resultAction.AddCell: html.append('<td' + tdAttributes + '>' + dom.blank + '</td>'); break; case TableResultAction.resultAction.SumSpanCount: if (position === 'top') { var baseCellTr = currentCell.baseCell.parent; var isTopFromRowSpan = (!baseCellTr ? 0 : currentCell.baseCell.closest('tr').rowIndex) <= currentTr[0].rowIndex; if (isTopFromRowSpan) { var newTd = $$1('<div></div>').append($$1('<td' + tdAttributes + '>' + dom.blank + '</td>').removeAttr('rowspan')).html(); html.append(newTd); break; } } var rowspanNumber = parseInt(currentCell.baseCell.rowSpan, 10); rowspanNumber++; currentCell.baseCell.setAttribute('rowSpan', rowspanNumber); break; } } if (position === 'top') { currentTr.before(html); } else { var cellHasRowspan = (cell.rowSpan > 1); if (cellHasRowspan) { var lastTrIndex = currentTr[0].rowIndex + (cell.rowSpan - 2); $$1($$1(currentTr).parent().find('tr')[lastTrIndex]).after($$1(html)); return; } currentTr.after(html); } }; /** * Add a new col * * @param {WrappedRange} rng * @param {String} position (left/right) * @return {Node} */ Table.prototype.addCol = function (rng, position) { var cell = dom.ancestor(rng.commonAncestor(), dom.isCell); var row = $$1(cell).closest('tr'); var rowsGroup = $$1(row).siblings(); rowsGroup.push(row); var vTable = new TableResultAction(cell, TableResultAction.where.Column, TableResultAction.requestAction.Add, $$1(row).closest('table')[0]); var actions = vTable.getActionList(); for (var actionIndex = 0; actionIndex < actions.length; actionIndex++) { var currentCell = actions[actionIndex]; var tdAttributes = this.recoverAttributes(currentCell.baseCell); switch (currentCell.action) { case TableResultAction.resultAction.AddCell: if (position === 'right') { $$1(currentCell.baseCell).after('<td' + tdAttributes + '>' + dom.blank + '</td>'); } else { $$1(currentCell.baseCell).before('<td' + tdAttributes + '>' + dom.blank + '</td>'); } break; case TableResultAction.resultAction.SumSpanCount: if (position === 'right') { var colspanNumber = parseInt(currentCell.baseCell.colSpan, 10); colspanNumber++; currentCell.baseCell.setAttribute('colSpan', colspanNumber); } else { $$1(currentCell.baseCell).before('<td' + tdAttributes + '>' + dom.blank + '</td>'); } break; } } }; /* * Copy attributes from element. * * @param {object} Element to recover attributes. * @return {string} Copied string elements. */ Table.prototype.recoverAttributes = function (el) { var resultStr = ''; if (!el) { return resultStr; } var attrList = el.attributes || []; for (var i = 0; i < attrList.length; i++) { if (attrList[i].name.toLowerCase() === 'id') { continue; } if (attrList[i].specified) { resultStr += ' ' + attrList[i].name + '=\'' + attrList[i].value + '\''; } } return resultStr; }; /** * Delete current row * * @param {WrappedRange} rng * @return {Node} */ Table.prototype.deleteRow = function (rng) { var cell = dom.ancestor(rng.commonAncestor(), dom.isCell); var row = $$1(cell).closest('tr'); var cellPos = row.children('td, th').index($$1(cell)); var rowPos = row[0].rowIndex; var vTable = new TableResultAction(cell, TableResultAction.where.Row, TableResultAction.requestAction.Delete, $$1(row).closest('table')[0]); var actions = vTable.getActionList(); for (var actionIndex = 0; actionIndex < actions.length; actionIndex++) { if (!actions[actionIndex]) { continue; } var baseCell = actions[actionIndex].baseCell; var virtualPosition = actions[actionIndex].virtualTable; var hasRowspan = (baseCell.rowSpan && baseCell.rowSpan > 1); var rowspanNumber = (hasRowspan) ? parseInt(baseCell.rowSpan, 10) : 0; switch (actions[actionIndex].action) { case TableResultAction.resultAction.Ignore: continue; case TableResultAction.resultAction.AddCell: var nextRow = row.next('tr')[0]; if (!nextRow) { continue; } var cloneRow = row[0].cells[cellPos]; if (hasRowspan) { if (rowspanNumber > 2) { rowspanNumber--; nextRow.insertBefore(cloneRow, nextRow.cells[cellPos]); nextRow.cells[cellPos].setAttribute('rowSpan', rowspanNumber); nextRow.cells[cellPos].innerHTML = ''; } else if (rowspanNumber === 2) { nextRow.insertBefore(cloneRow, nextRow.cells[cellPos]); nextRow.cells[cellPos].removeAttribute('rowSpan'); nextRow.cells[cellPos].innerHTML = ''; } } continue; case TableResultAction.resultAction.SubtractSpanCount: if (hasRowspan) { if (rowspanNumber > 2) { rowspanNumber--; baseCell.setAttribute('rowSpan', rowspanNumber); if (virtualPosition.rowIndex !== rowPos && baseCell.cellIndex === cellPos) { baseCell.innerHTML = ''; } } else if (rowspanNumber === 2) { baseCell.removeAttribute('rowSpan'); if (virtualPosition.rowIndex !== rowPos && baseCell.cellIndex === cellPos) { baseCell.innerHTML = ''; } } } continue; case TableResultAction.resultAction.RemoveCell: // Do not need remove cell because row will be deleted. continue; } } row.remove(); }; /** * Delete current col * * @param {WrappedRange} rng * @return {Node} */ Table.prototype.deleteCol = function (rng) { var cell = dom.ancestor(rng.commonAncestor(), dom.isCell); var row = $$1(cell).closest('tr'); var cellPos = row.children('td, th').index($$1(cell)); var vTable = new TableResultAction(cell, TableResultAction.where.Column, TableResultAction.requestAction.Delete, $$1(row).closest('table')[0]); var actions = vTable.getActionList(); for (var actionIndex = 0; actionIndex < actions.length; actionIndex++) { if (!actions[actionIndex]) { continue; } switch (actions[actionIndex].action) { case TableResultAction.resultAction.Ignore: continue; case TableResultAction.resultAction.SubtractSpanCount: var baseCell = actions[actionIndex].baseCell; var hasColspan = (baseCell.colSpan && baseCell.colSpan > 1); if (hasColspan) { var colspanNumber = (baseCell.colSpan) ? parseInt(baseCell.colSpan, 10) : 0; if (colspanNumber > 2) { colspanNumber--; baseCell.setAttribute('colSpan', colspanNumber); if (baseCell.cellIndex === cellPos) { baseCell.innerHTML = ''; } } else if (colspanNumber === 2) { baseCell.removeAttribute('colSpan'); if (baseCell.cellIndex === cellPos) { baseCell.innerHTML = ''; } } } continue; case TableResultAction.resultAction.RemoveCell: dom.remove(actions[actionIndex].baseCell, true); continue; } } }; /** * create empty table element * * @param {Number} rowCount * @param {Number} colCount * @return {Node} */ Table.prototype.createTable = function (colCount, rowCount, options) { var tds = []; var tdHTML; for (var idxCol = 0; idxCol < colCount; idxCol++) { tds.push('<td>' + dom.blank + '</td>'); } tdHTML = tds.join(''); var trs = []; var trHTML; for (var idxRow = 0; idxRow < rowCount; idxRow++) { trs.push('<tr>' + tdHTML + '</tr>'); } trHTML = trs.join(''); var $table = $$1('<table>' + trHTML + '</table>'); if (options && options.tableClassName) { $table.addClass(options.tableClassName); } return $table[0]; }; /** * Delete current table * * @param {WrappedRange} rng * @return {Node} */ Table.prototype.deleteTable = function (rng) { var cell = dom.ancestor(rng.commonAncestor(), dom.isCell); $$1(cell).closest('table').remove(); }; return Table; }()); var KEY_BOGUS = 'bogus'; /** * @class Editor */ var Editor = /** @class */ (function () { function Editor(context) { var _this = this; this.context = context; this.$note = context.layoutInfo.note; this.$editor = context.layoutInfo.editor; this.$editable = context.layoutInfo.editable; this.options = context.options; this.lang = this.options.langInfo; this.editable = this.$editable[0]; this.lastRange = null; this.style = new Style(); this.table = new Table(); this.typing = new Typing(); this.bullet = new Bullet(); this.history = new History(this.$editable); this.context.memo('help.undo', this.lang.help.undo); this.context.memo('help.redo', this.lang.help.redo); this.context.memo('help.tab', this.lang.help.tab); this.context.memo('help.untab', this.lang.help.untab); this.context.memo('help.insertParagraph', this.lang.help.insertParagraph); this.context.memo('help.insertOrderedList', this.lang.help.insertOrderedList); this.context.memo('help.insertUnorderedList', this.lang.help.insertUnorderedList); this.context.memo('help.indent', this.lang.help.indent); this.context.memo('help.outdent', this.lang.help.outdent); this.context.memo('help.formatPara', this.lang.help.formatPara); this.context.memo('help.insertHorizontalRule', this.lang.help.insertHorizontalRule); this.context.memo('help.fontName', this.lang.help.fontName); // native commands(with execCommand), generate function for execCommand var commands = [ 'bold', 'italic', 'underline', 'strikethrough', 'superscript', 'subscript', 'justifyLeft', 'justifyCenter', 'justifyRight', 'justifyFull', 'formatBlock', 'removeFormat', 'backColor' ]; for (var idx = 0, len = commands.length; idx < len; idx++) { this[commands[idx]] = (function (sCmd) { return function (value) { _this.beforeCommand(); document.execCommand(sCmd, false, value); _this.afterCommand(true); }; })(commands[idx]); this.context.memo('help.' + commands[idx], this.lang.help[commands[idx]]); } this.fontName = this.wrapCommand(function (value) { return _this.fontStyling('font-family', "\'" + value + "\'"); }); this.fontSize = this.wrapCommand(function (value) { return _this.fontStyling('font-size', value + 'px'); }); for (var idx = 1; idx <= 6; idx++) { this['formatH' + idx] = (function (idx) { return function () { _this.formatBlock('H' + idx); }; })(idx); this.context.memo('help.formatH' + idx, this.lang.help['formatH' + idx]); } this.insertParagraph = this.wrapCommand(function () { _this.typing.insertParagraph(_this.editable); }); this.insertOrderedList = this.wrapCommand(function () { _this.bullet.insertOrderedList(_this.editable); }); this.insertUnorderedList = this.wrapCommand(function () { _this.bullet.insertUnorderedList(_this.editable); }); this.indent = this.wrapCommand(function () { _this.bullet.indent(_this.editable); }); this.outdent = this.wrapCommand(function () { _this.bullet.outdent(_this.editable); }); /** * insertNode * insert node * @param {Node} node */ this.insertNode = this.wrapCommand(function (node) { if (_this.isLimited($$1(node).text().length)) { return; } var rng = _this.createRange(); rng.insertNode(node); range.createFromNodeAfter(node).select(); }); /** * insert text * @param {String} text */ this.insertText = this.wrapCommand(function (text) { if (_this.isLimited(text.length)) { return; } var rng = _this.createRange(); var textNode = rng.insertNode(dom.createText(text)); range.create(textNode, dom.nodeLength(textNode)).select(); }); /** * paste HTML * @param {String} markup */ this.pasteHTML = this.wrapCommand(function (markup) { if (_this.isLimited(markup.length)) { return; } var contents = _this.createRange().pasteHTML(markup); range.createFromNodeAfter(lists.last(contents)).select(); }); /** * formatBlock * * @param {String} tagName */ this.formatBlock = this.wrapCommand(function (tagName, $target) { var onApplyCustomStyle = _this.options.callbacks.onApplyCustomStyle; if (onApplyCustomStyle) { onApplyCustomStyle.call(_this, $target, _this.context, _this.onFormatBlock); } else { _this.onFormatBlock(tagName, $target); } }); /** * insert horizontal rule */ this.insertHorizontalRule = this.wrapCommand(function () { var hrNode = _this.createRange().insertNode(dom.create('HR')); if (hrNode.nextSibling) { range.create(hrNode.nextSibling, 0).normalize().select(); } }); /** * lineHeight * @param {String} value */ this.lineHeight = this.wrapCommand(function (value) { _this.style.stylePara(_this.createRange(), { lineHeight: value }); }); /** * create link (command) * * @param {Object} linkInfo */ this.createLink = this.wrapCommand(function (linkInfo) { var linkUrl = linkInfo.url; var linkText = linkInfo.text; var isNewWindow = linkInfo.isNewWindow; var rng = linkInfo.range || _this.createRange(); var isTextChanged = rng.toString() !== linkText; // handle spaced urls from input if (typeof linkUrl === 'string') { linkUrl = linkUrl.trim(); } if (_this.options.onCreateLink) { linkUrl = _this.options.onCreateLink(linkUrl); } else { // if url doesn't match an URL schema, set http:// as default linkUrl = /^[A-Za-z][A-Za-z0-9+-.]*\:[\/\/]?/.test(linkUrl) ? linkUrl : 'http://' + linkUrl; } var anchors = []; if (isTextChanged) { rng = rng.deleteContents(); var anchor = rng.insertNode($$1('<A>' + linkText + '</A>')[0]); anchors.push(anchor); } else { anchors = _this.style.styleNodes(rng, { nodeName: 'A', expandClosestSibling: true, onlyPartialContains: true }); } $$1.each(anchors, function (idx, anchor) { $$1(anchor).attr('href', linkUrl); if (isNewWindow) { $$1(anchor).attr('target', '_blank'); } else { $$1(anchor).removeAttr('target'); } }); var startRange = range.createFromNodeBefore(lists.head(anchors)); var startPoint = startRange.getStartPoint(); var endRange = range.createFromNodeAfter(lists.last(anchors)); var endPoint = endRange.getEndPoint(); range.create(startPoint.node, startPoint.offset, endPoint.node, endPoint.offset).select(); }); /** * setting color * * @param {Object} sObjColor color code * @param {String} sObjColor.foreColor foreground color * @param {String} sObjColor.backColor background color */ this.color = this.wrapCommand(function (colorInfo) { var foreColor = colorInfo.foreColor; var backColor = colorInfo.backColor; if (foreColor) { document.execCommand('foreColor', false, foreColor); } if (backColor) { document.execCommand('backColor', false, backColor); } }); /** * Set foreground color * * @param {String} colorCode foreground color code */ this.foreColor = this.wrapCommand(function (colorInfo) { document.execCommand('styleWithCSS', false, true); document.execCommand('foreColor', false, colorInfo); }); /** * insert Table * * @param {String} dimension of table (ex : "5x5") */ this.insertTable = this.wrapCommand(function (dim) { var dimension = dim.split('x'); var rng = _this.createRange().deleteContents(); rng.insertNode(_this.table.createTable(dimension[0], dimension[1], _this.options)); }); /** * remove media object and Figure Elements if media object is img with Figure. */ this.removeMedia = this.wrapCommand(function () { var $target = $$1(_this.restoreTarget()).parent(); if ($target.parent('figure').length) { $target.parent('figure').remove(); } else { $target = $$1(_this.restoreTarget()).detach(); } _this.context.triggerEvent('media.delete', $target, _this.$editable); }); /** * float me * * @param {String} value */ this.floatMe = this.wrapCommand(function (value) { var $target = $$1(_this.restoreTarget()); $target.toggleClass('note-float-left', value === 'left'); $target.toggleClass('note-float-right', value === 'right'); $target.css('float', value); }); /** * resize overlay element * @param {String} value */ this.resize = this.wrapCommand(function (value) { var $target = $$1(_this.restoreTarget()); $target.css({ width: value * 100 + '%', height: '' }); }); } Editor.prototype.initialize = function () { var _this = this; // bind custom events this.$editable.on('keydown', function (event) { if (event.keyCode === key.code.ENTER) { _this.context.triggerEvent('enter', event); } _this.context.triggerEvent('keydown', event); if (!event.isDefaultPrevented()) { if (_this.options.shortcuts) { _this.handleKeyMap(event); } else { _this.preventDefaultEditableShortCuts(event); } } if (_this.isLimited(1, event)) { return false; } }).on('keyup', function (event) { _this.context.triggerEvent('keyup', event); }).on('focus', function (event) { _this.context.triggerEvent('focus', event); }).on('blur', function (event) { _this.context.triggerEvent('blur', event); }).on('mousedown', function (event) { _this.context.triggerEvent('mousedown', event); }).on('mouseup', function (event) { _this.context.triggerEvent('mouseup', event); }).on('scroll', function (event) { _this.context.triggerEvent('scroll', event); }).on('paste', function (event) { _this.context.triggerEvent('paste', event); }); // init content before set event this.$editable.html(dom.html(this.$note) || dom.emptyPara); this.$editable.on(env.inputEventName, func.debounce(function () { _this.context.triggerEvent('change', _this.$editable.html()); }, 100)); this.$editor.on('focusin', function (event) { _this.context.triggerEvent('focusin', event); }).on('focusout', function (event) { _this.context.triggerEvent('focusout', event); }); if (!this.options.airMode) { if (this.options.width) { this.$editor.outerWidth(this.options.width); } if (this.options.height) { this.$editable.outerHeight(this.options.height); } if (this.options.maxHeight) { this.$editable.css('max-height', this.options.maxHeight); } if (this.options.minHeight) { this.$editable.css('min-height', this.options.minHeight); } } this.history.recordUndo(); }; Editor.prototype.destroy = function () { this.$editable.off(); }; Editor.prototype.handleKeyMap = function (event) { var keyMap = this.options.keyMap[env.isMac ? 'mac' : 'pc']; var keys = []; if (event.metaKey) { keys.push('CMD'); } if (event.ctrlKey && !event.altKey) { keys.push('CTRL'); } if (event.shiftKey) { keys.push('SHIFT'); } var keyName = key.nameFromCode[event.keyCode]; if (keyName) { keys.push(keyName); } var eventName = keyMap[keys.join('+')]; if (eventName) { if (this.context.invoke(eventName) !== false) { event.preventDefault(); } } else if (key.isEdit(event.keyCode)) { this.afterCommand(); } }; Editor.prototype.preventDefaultEditableShortCuts = function (event) { // B(Bold, 66) / I(Italic, 73) / U(Underline, 85) if ((event.ctrlKey || event.metaKey) && lists.contains([66, 73, 85], event.keyCode)) { event.preventDefault(); } }; Editor.prototype.isLimited = function (pad, event) { pad = pad || 0; if (typeof event !== 'undefined') { if (key.isMove(event.keyCode) || (event.ctrlKey || event.metaKey) || lists.contains([key.code.BACKSPACE, key.code.DELETE], event.keyCode)) { return false; } } if (this.options.maxTextLength > 0) { if ((this.$editable.text().length + pad) >= this.options.maxTextLength) { return true; } } return false; }; /** * create range * @return {WrappedRange} */ Editor.prototype.createRange = function () { this.focus(); return range.create(this.editable); }; /** * saveRange * * save current range * * @param {Boolean} [thenCollapse=false] */ Editor.prototype.saveRange = function (thenCollapse) { this.lastRange = this.createRange(); if (thenCollapse) { this.lastRange.collapse().select(); } }; /** * restoreRange * * restore lately range */ Editor.prototype.restoreRange = function () { if (this.lastRange) { this.lastRange.select(); this.focus(); } }; Editor.prototype.saveTarget = function (node) { this.$editable.data('target', node); }; Editor.prototype.clearTarget = function () { this.$editable.removeData('target'); }; Editor.prototype.restoreTarget = function () { return this.$editable.data('target'); }; /** * currentStyle * * current style * @return {Object|Boolean} unfocus */ Editor.prototype.currentStyle = function () { var rng = range.create(); if (rng) { rng = rng.normalize(); } return rng ? this.style.current(rng) : this.style.fromNode(this.$editable); }; /** * style from node * * @param {jQuery} $node * @return {Object} */ Editor.prototype.styleFromNode = function ($node) { return this.style.fromNode($node); }; /** * undo */ Editor.prototype.undo = function () { this.context.triggerEvent('before.command', this.$editable.html()); this.history.undo(); this.context.triggerEvent('change', this.$editable.html()); }; /** * redo */ Editor.prototype.redo = function () { this.context.triggerEvent('before.command', this.$editable.html()); this.history.redo(); this.context.triggerEvent('change', this.$editable.html()); }; /** * before command */ Editor.prototype.beforeCommand = function () { this.context.triggerEvent('before.command', this.$editable.html()); // keep focus on editable before command execution this.focus(); }; /** * after command * @param {Boolean} isPreventTrigger */ Editor.prototype.afterCommand = function (isPreventTrigger) { this.normalizeContent(); this.history.recordUndo(); if (!isPreventTrigger) { this.context.triggerEvent('change', this.$editable.html()); } }; /** * handle tab key */ Editor.prototype.tab = function () { var rng = this.createRange(); if (rng.isCollapsed() && rng.isOnCell()) { this.table.tab(rng); } else { if (this.options.tabSize === 0) { return false; } if (!this.isLimited(this.options.tabSize)) { this.beforeCommand(); this.typing.insertTab(rng, this.options.tabSize); this.afterCommand(); } } }; /** * handle shift+tab key */ Editor.prototype.untab = function () { var rng = this.createRange(); if (rng.isCollapsed() && rng.isOnCell()) { this.table.tab(rng, true); } else { if (this.options.tabSize === 0) { return false; } } }; /** * run given function between beforeCommand and afterCommand */ Editor.prototype.wrapCommand = function (fn) { var _this = this; return function () { _this.beforeCommand(); fn.apply(_this, arguments); _this.afterCommand(); }; }; /** * insert image * * @param {String} src * @param {String|Function} param * @return {Promise} */ Editor.prototype.insertImage = function (src, param) { var _this = this; return createImage(src, param).then(function ($image) { _this.beforeCommand(); if (typeof param === 'function') { param($image); } else { if (typeof param === 'string') { $image.attr('data-filename', param); } $image.css('width', Math.min(_this.$editable.width(), $image.width())); } $image.show(); range.create(_this.editable).insertNode($image[0]); range.createFromNodeAfter($image[0]).select(); _this.afterCommand(); }).fail(function (e) { _this.context.triggerEvent('image.upload.error', e); }); }; /** * insertImages * @param {File[]} files */ Editor.prototype.insertImages = function (files) { var _this = this; $$1.each(files, function (idx, file) { var filename = file.name; if (_this.options.maximumImageFileSize && _this.options.maximumImageFileSize < file.size) { _this.context.triggerEvent('image.upload.error', _this.lang.image.maximumFileSizeError); } else { readFileAsDataURL(file).then(function (dataURL) { return _this.insertImage(dataURL, filename); }).fail(function () { _this.context.triggerEvent('image.upload.error'); }); } }); }; /** * insertImagesOrCallback * @param {File[]} files */ Editor.prototype.insertImagesOrCallback = function (files) { var callbacks = this.options.callbacks; // If onImageUpload this.options setted if (callbacks.onImageUpload) { this.context.triggerEvent('image.upload', files); // else insert Image as dataURL } else { this.insertImages(files); } }; /** * return selected plain text * @return {String} text */ Editor.prototype.getSelectedText = function () { var rng = this.createRange(); // if range on anchor, expand range with anchor if (rng.isOnAnchor()) { rng = range.createFromNode(dom.ancestor(rng.sc, dom.isAnchor)); } return rng.toString(); }; Editor.prototype.onFormatBlock = function (tagName, $target) { // [workaround] for MSIE, IE need `<` tagName = env.isMSIE ? '<' + tagName + '>' : tagName; document.execCommand('FormatBlock', false, tagName); // support custom class if ($target && $target.length) { var className = $target[0].className || ''; if (className) { var currentRange = this.createRange(); var $parent = $$1([currentRange.sc, currentRange.ec]).closest(tagName); $parent.addClass(className); } } }; Editor.prototype.formatPara = function () { this.formatBlock('P'); }; Editor.prototype.fontStyling = function (target, value) { var rng = this.createRange(); if (rng) { var spans = this.style.styleNodes(rng); $$1(spans).css(target, value); // [workaround] added styled bogus span for style // - also bogus character needed for cursor position if (rng.isCollapsed()) { var firstSpan = lists.head(spans); if (firstSpan && !dom.nodeLength(firstSpan)) { firstSpan.innerHTML = dom.ZERO_WIDTH_NBSP_CHAR; range.createFromNodeAfter(firstSpan.firstChild).select(); this.$editable.data(KEY_BOGUS, firstSpan); } } } }; /** * unlink * * @type command */ Editor.prototype.unlink = function () { var rng = this.createRange(); if (rng.isOnAnchor()) { var anchor = dom.ancestor(rng.sc, dom.isAnchor); rng = range.createFromNode(anchor); rng.select(); this.beforeCommand(); document.execCommand('unlink'); this.afterCommand(); } }; /** * returns link info * * @return {Object} * @return {WrappedRange} return.range * @return {String} return.text * @return {Boolean} [return.isNewWindow=true] * @return {String} [return.url=""] */ Editor.prototype.getLinkInfo = function () { var rng = this.createRange().expand(dom.isAnchor); // Get the first anchor on range(for edit). var $anchor = $$1(lists.head(rng.nodes(dom.isAnchor))); var linkInfo = { range: rng, text: rng.toString(), url: $anchor.length ? $anchor.attr('href') : '' }; // Define isNewWindow when anchor exists. if ($anchor.length) { linkInfo.isNewWindow = $anchor.attr('target') === '_blank'; } return linkInfo; }; Editor.prototype.addRow = function (position) { var rng = this.createRange(this.$editable); if (rng.isCollapsed() && rng.isOnCell()) { this.beforeCommand(); this.table.addRow(rng, position); this.afterCommand(); } }; Editor.prototype.addCol = function (position) { var rng = this.createRange(this.$editable); if (rng.isCollapsed() && rng.isOnCell()) { this.beforeCommand(); this.table.addCol(rng, position); this.afterCommand(); } }; Editor.prototype.deleteRow = function () { var rng = this.createRange(this.$editable); if (rng.isCollapsed() && rng.isOnCell()) { this.beforeCommand(); this.table.deleteRow(rng); this.afterCommand(); } }; Editor.prototype.deleteCol = function () { var rng = this.createRange(this.$editable); if (rng.isCollapsed() && rng.isOnCell()) { this.beforeCommand(); this.table.deleteCol(rng); this.afterCommand(); } }; Editor.prototype.deleteTable = function () { var rng = this.createRange(this.$editable); if (rng.isCollapsed() && rng.isOnCell()) { this.beforeCommand(); this.table.deleteTable(rng); this.afterCommand(); } }; /** * @param {Position} pos * @param {jQuery} $target - target element * @param {Boolean} [bKeepRatio] - keep ratio */ Editor.prototype.resizeTo = function (pos, $target, bKeepRatio) { var imageSize; if (bKeepRatio) { var newRatio = pos.y / pos.x; var ratio = $target.data('ratio'); imageSize = { width: ratio > newRatio ? pos.x : pos.y / ratio, height: ratio > newRatio ? pos.x * ratio : pos.y }; } else { imageSize = { width: pos.x, height: pos.y }; } $target.css(imageSize); }; /** * returns whether editable area has focus or not. */ Editor.prototype.hasFocus = function () { return this.$editable.is(':focus'); }; /** * set focus */ Editor.prototype.focus = function () { // [workaround] Screen will move when page is scolled in IE. // - do focus when not focused if (!this.hasFocus()) { this.$editable.focus(); } }; /** * returns whether contents is empty or not. * @return {Boolean} */ Editor.prototype.isEmpty = function () { return dom.isEmpty(this.$editable[0]) || dom.emptyPara === this.$editable.html(); }; /** * Removes all contents and restores the editable instance to an _emptyPara_. */ Editor.prototype.empty = function () { this.context.invoke('code', dom.emptyPara); }; /** * normalize content */ Editor.prototype.normalizeContent = function () { this.$editable[0].normalize(); }; return Editor; }()); var Clipboard = /** @class */ (function () { function Clipboard(context) { this.context = context; this.$editable = context.layoutInfo.editable; } Clipboard.prototype.initialize = function () { this.$editable.on('paste', this.pasteByEvent.bind(this)); }; /** * paste by clipboard event * * @param {Event} event */ Clipboard.prototype.pasteByEvent = function (event) { var clipboardData = event.originalEvent.clipboardData; if (clipboardData && clipboardData.items && clipboardData.items.length) { var item = lists.head(clipboardData.items); if (item.kind === 'file' && item.type.indexOf('image/') !== -1) { this.context.invoke('editor.insertImagesOrCallback', [item.getAsFile()]); } this.context.invoke('editor.afterCommand'); } }; return Clipboard; }()); var Dropzone = /** @class */ (function () { function Dropzone(context) { this.context = context; this.$eventListener = $$1(document); this.$editor = context.layoutInfo.editor; this.$editable = context.layoutInfo.editable; this.options = context.options; this.lang = this.options.langInfo; this.documentEventHandlers = {}; this.$dropzone = $$1([ '<div class="note-dropzone">', ' <div class="note-dropzone-message"/>', '</div>' ].join('')).prependTo(this.$editor); } /** * attach Drag and Drop Events */ Dropzone.prototype.initialize = function () { if (this.options.disableDragAndDrop) { // prevent default drop event this.documentEventHandlers.onDrop = function (e) { e.preventDefault(); }; // do not consider outside of dropzone this.$eventListener = this.$dropzone; this.$eventListener.on('drop', this.documentEventHandlers.onDrop); } else { this.attachDragAndDropEvent(); } }; /** * attach Drag and Drop Events */ Dropzone.prototype.attachDragAndDropEvent = function () { var _this = this; var collection = $$1(); var $dropzoneMessage = this.$dropzone.find('.note-dropzone-message'); this.documentEventHandlers.onDragenter = function (e) { var isCodeview = _this.context.invoke('codeview.isActivated'); var hasEditorSize = _this.$editor.width() > 0 && _this.$editor.height() > 0; if (!isCodeview && !collection.length && hasEditorSize) { _this.$editor.addClass('dragover'); _this.$dropzone.width(_this.$editor.width()); _this.$dropzone.height(_this.$editor.height()); $dropzoneMessage.text(_this.lang.image.dragImageHere); } collection = collection.add(e.target); }; this.documentEventHandlers.onDragleave = function (e) { collection = collection.not(e.target); if (!collection.length) { _this.$editor.removeClass('dragover'); } }; this.documentEventHandlers.onDrop = function () { collection = $$1(); _this.$editor.removeClass('dragover'); }; // show dropzone on dragenter when dragging a object to document // -but only if the editor is visible, i.e. has a positive width and height this.$eventListener.on('dragenter', this.documentEventHandlers.onDragenter) .on('dragleave', this.documentEventHandlers.onDragleave) .on('drop', this.documentEventHandlers.onDrop); // change dropzone's message on hover. this.$dropzone.on('dragenter', function () { _this.$dropzone.addClass('hover'); $dropzoneMessage.text(_this.lang.image.dropImage); }).on('dragleave', function () { _this.$dropzone.removeClass('hover'); $dropzoneMessage.text(_this.lang.image.dragImageHere); }); // attach dropImage this.$dropzone.on('drop', function (event) { var dataTransfer = event.originalEvent.dataTransfer; // stop the browser from opening the dropped content event.preventDefault(); if (dataTransfer && dataTransfer.files && dataTransfer.files.length) { _this.$editable.focus(); _this.context.invoke('editor.insertImagesOrCallback', dataTransfer.files); } else { $$1.each(dataTransfer.types, function (idx, type) { var content = dataTransfer.getData(type); if (type.toLowerCase().indexOf('text') > -1) { _this.context.invoke('editor.pasteHTML', content); } else { $$1(content).each(function (idx, item) { _this.context.invoke('editor.insertNode', item); }); } }); } }).on('dragover', false); // prevent default dragover event }; Dropzone.prototype.destroy = function () { var _this = this; Object.keys(this.documentEventHandlers).forEach(function (key) { _this.$eventListener.off(key.substr(2).toLowerCase(), _this.documentEventHandlers[key]); }); this.documentEventHandlers = {}; }; return Dropzone; }()); var CodeMirror; if (env.hasCodeMirror) { if (env.isSupportAmd) { require(['codemirror'], function (cm) { CodeMirror = cm; }); } else { CodeMirror = window.CodeMirror; } } /** * @class Codeview */ var CodeView = /** @class */ (function () { function CodeView(context) { this.context = context; this.$editor = context.layoutInfo.editor; this.$editable = context.layoutInfo.editable; this.$codable = context.layoutInfo.codable; this.options = context.options; } CodeView.prototype.sync = function () { var isCodeview = this.isActivated(); if (isCodeview && env.hasCodeMirror) { this.$codable.data('cmEditor').save(); } }; /** * @return {Boolean} */ CodeView.prototype.isActivated = function () { return this.$editor.hasClass('codeview'); }; /** * toggle codeview */ CodeView.prototype.toggle = function () { if (this.isActivated()) { this.deactivate(); } else { this.activate(); } this.context.triggerEvent('codeview.toggled'); }; /** * activate code view */ CodeView.prototype.activate = function () { var _this = this; this.$codable.val(dom.html(this.$editable, this.options.prettifyHtml)); this.$codable.height(this.$editable.height()); this.context.invoke('toolbar.updateCodeview', true); this.$editor.addClass('codeview'); this.$codable.focus(); // activate CodeMirror as codable if (env.hasCodeMirror) { var cmEditor_1 = CodeMirror.fromTextArea(this.$codable[0], this.options.codemirror); // CodeMirror TernServer if (this.options.codemirror.tern) { var server_1 = new CodeMirror.TernServer(this.options.codemirror.tern); cmEditor_1.ternServer = server_1; cmEditor_1.on('cursorActivity', function (cm) { server_1.updateArgHints(cm); }); } cmEditor_1.on('blur', function (event) { _this.context.triggerEvent('blur.codeview', cmEditor_1.getValue(), event); }); // CodeMirror hasn't Padding. cmEditor_1.setSize(null, this.$editable.outerHeight()); this.$codable.data('cmEditor', cmEditor_1); } else { this.$codable.on('blur', function (event) { _this.context.triggerEvent('blur.codeview', _this.$codable.val(), event); }); } }; /** * deactivate code view */ CodeView.prototype.deactivate = function () { // deactivate CodeMirror as codable if (env.hasCodeMirror) { var cmEditor = this.$codable.data('cmEditor'); this.$codable.val(cmEditor.getValue()); cmEditor.toTextArea(); } var value = dom.value(this.$codable, this.options.prettifyHtml) || dom.emptyPara; var isChange = this.$editable.html() !== value; this.$editable.html(value); this.$editable.height(this.options.height ? this.$codable.height() : 'auto'); this.$editor.removeClass('codeview'); if (isChange) { this.context.triggerEvent('change', this.$editable.html(), this.$editable); } this.$editable.focus(); this.context.invoke('toolbar.updateCodeview', false); }; CodeView.prototype.destroy = function () { if (this.isActivated()) { this.deactivate(); } }; return CodeView; }()); var EDITABLE_PADDING = 24; var Statusbar = /** @class */ (function () { function Statusbar(context) { this.$document = $$1(document); this.$statusbar = context.layoutInfo.statusbar; this.$editable = context.layoutInfo.editable; this.options = context.options; } Statusbar.prototype.initialize = function () { var _this = this; if (this.options.airMode || this.options.disableResizeEditor) { this.destroy(); return; } this.$statusbar.on('mousedown', function (event) { event.preventDefault(); event.stopPropagation(); var editableTop = _this.$editable.offset().top - _this.$document.scrollTop(); var onMouseMove = function (event) { var height = event.clientY - (editableTop + EDITABLE_PADDING); height = (_this.options.minheight > 0) ? Math.max(height, _this.options.minheight) : height; height = (_this.options.maxHeight > 0) ? Math.min(height, _this.options.maxHeight) : height; _this.$editable.height(height); }; _this.$document.on('mousemove', onMouseMove).one('mouseup', function () { _this.$document.off('mousemove', onMouseMove); }); }); }; Statusbar.prototype.destroy = function () { this.$statusbar.off(); this.$statusbar.addClass('locked'); }; return Statusbar; }()); var Fullscreen = /** @class */ (function () { function Fullscreen(context) { var _this = this; this.context = context; this.$editor = context.layoutInfo.editor; this.$toolbar = context.layoutInfo.toolbar; this.$editable = context.layoutInfo.editable; this.$codable = context.layoutInfo.codable; this.$window = $$1(window); this.$scrollbar = $$1('html, body'); this.onResize = function () { _this.resizeTo({ h: _this.$window.height() - _this.$toolbar.outerHeight() }); }; } Fullscreen.prototype.resizeTo = function (size) { this.$editable.css('height', size.h); this.$codable.css('height', size.h); if (this.$codable.data('cmeditor')) { this.$codable.data('cmeditor').setsize(null, size.h); } }; /** * toggle fullscreen */ Fullscreen.prototype.toggle = function () { this.$editor.toggleClass('fullscreen'); if (this.isFullscreen()) { this.$editable.data('orgHeight', this.$editable.css('height')); this.$window.on('resize', this.onResize).trigger('resize'); this.$scrollbar.css('overflow', 'hidden'); } else { this.$window.off('resize', this.onResize); this.resizeTo({ h: this.$editable.data('orgHeight') }); this.$scrollbar.css('overflow', 'visible'); } this.context.invoke('toolbar.updateFullscreen', this.isFullscreen()); }; Fullscreen.prototype.isFullscreen = function () { return this.$editor.hasClass('fullscreen'); }; return Fullscreen; }()); var Handle = /** @class */ (function () { function Handle(context) { var _this = this; this.context = context; this.$document = $$1(document); this.$editingArea = context.layoutInfo.editingArea; this.options = context.options; this.lang = this.options.langInfo; this.events = { 'summernote.mousedown': function (we, e) { if (_this.update(e.target)) { e.preventDefault(); } }, 'summernote.keyup summernote.scroll summernote.change summernote.dialog.shown': function () { _this.update(); }, 'summernote.disable': function () { _this.hide(); }, 'summernote.codeview.toggled': function () { _this.update(); } }; } Handle.prototype.initialize = function () { var _this = this; this.$handle = $$1([ '<div class="note-handle">', '<div class="note-control-selection">', '<div class="note-control-selection-bg"></div>', '<div class="note-control-holder note-control-nw"></div>', '<div class="note-control-holder note-control-ne"></div>', '<div class="note-control-holder note-control-sw"></div>', '<div class="', (this.options.disableResizeImage ? 'note-control-holder' : 'note-control-sizing'), ' note-control-se"></div>', (this.options.disableResizeImage ? '' : '<div class="note-control-selection-info"></div>'), '</div>', '</div>' ].join('')).prependTo(this.$editingArea); this.$handle.on('mousedown', function (event) { if (dom.isControlSizing(event.target)) { event.preventDefault(); event.stopPropagation(); var $target_1 = _this.$handle.find('.note-control-selection').data('target'); var posStart_1 = $target_1.offset(); var scrollTop_1 = _this.$document.scrollTop(); var onMouseMove_1 = function (event) { _this.context.invoke('editor.resizeTo', { x: event.clientX - posStart_1.left, y: event.clientY - (posStart_1.top - scrollTop_1) }, $target_1, !event.shiftKey); _this.update($target_1[0]); }; _this.$document .on('mousemove', onMouseMove_1) .one('mouseup', function (e) { e.preventDefault(); _this.$document.off('mousemove', onMouseMove_1); _this.context.invoke('editor.afterCommand'); }); if (!$target_1.data('ratio')) { $target_1.data('ratio', $target_1.height() / $target_1.width()); } } }); // Listen for scrolling on the handle overlay. this.$handle.on('wheel', function (e) { e.preventDefault(); _this.update(); }); }; Handle.prototype.destroy = function () { this.$handle.remove(); }; Handle.prototype.update = function (target) { if (this.context.isDisabled()) { return false; } var isImage = dom.isImg(target); var $selection = this.$handle.find('.note-control-selection'); this.context.invoke('imagePopover.update', target); if (isImage) { var $image = $$1(target); var position = $image.position(); var pos = { left: position.left + parseInt($image.css('marginLeft'), 10), top: position.top + parseInt($image.css('marginTop'), 10) }; // exclude margin var imageSize = { w: $image.outerWidth(false), h: $image.outerHeight(false) }; $selection.css({ display: 'block', left: pos.left, top: pos.top, width: imageSize.w, height: imageSize.h }).data('target', $image); // save current image element. var origImageObj = new Image(); origImageObj.src = $image.attr('src'); var sizingText = imageSize.w + 'x' + imageSize.h + ' (' + this.lang.image.original + ': ' + origImageObj.width + 'x' + origImageObj.height + ')'; $selection.find('.note-control-selection-info').text(sizingText); this.context.invoke('editor.saveTarget', target); } else { this.hide(); } return isImage; }; /** * hide * * @param {jQuery} $handle */ Handle.prototype.hide = function () { this.context.invoke('editor.clearTarget'); this.$handle.children().hide(); }; return Handle; }()); var defaultScheme = 'http://'; var linkPattern = /^([A-Za-z][A-Za-z0-9+-.]*\:[\/\/]?|mailto:[A-Z0-9._%+-]+@)?(www\.)?(.+)$/i; var AutoLink = /** @class */ (function () { function AutoLink(context) { var _this = this; this.context = context; this.events = { 'summernote.keyup': function (we, e) { if (!e.isDefaultPrevented()) { _this.handleKeyup(e); } }, 'summernote.keydown': function (we, e) { _this.handleKeydown(e); } }; } AutoLink.prototype.initialize = function () { this.lastWordRange = null; }; AutoLink.prototype.destroy = function () { this.lastWordRange = null; }; AutoLink.prototype.replace = function () { if (!this.lastWordRange) { return; } var keyword = this.lastWordRange.toString(); var match = keyword.match(linkPattern); if (match && (match[1] || match[2])) { var link = match[1] ? keyword : defaultScheme + keyword; var node = $$1('<a />').html(keyword).attr('href', link)[0]; this.lastWordRange.insertNode(node); this.lastWordRange = null; this.context.invoke('editor.focus'); } }; AutoLink.prototype.handleKeydown = function (e) { if (lists.contains([key.code.ENTER, key.code.SPACE], e.keyCode)) { var wordRange = this.context.invoke('editor.createRange').getWordRange(); this.lastWordRange = wordRange; } }; AutoLink.prototype.handleKeyup = function (e) { if (lists.contains([key.code.ENTER, key.code.SPACE], e.keyCode)) { this.replace(); } }; return AutoLink; }()); /** * textarea auto sync. */ var AutoSync = /** @class */ (function () { function AutoSync(context) { var _this = this; this.$note = context.layoutInfo.note; this.events = { 'summernote.change': function () { _this.$note.val(context.invoke('code')); } }; } AutoSync.prototype.shouldInitialize = function () { return dom.isTextarea(this.$note[0]); }; return AutoSync; }()); var Placeholder = /** @class */ (function () { function Placeholder(context) { var _this = this; this.context = context; this.$editingArea = context.layoutInfo.editingArea; this.options = context.options; this.events = { 'summernote.init summernote.change': function () { _this.update(); }, 'summernote.codeview.toggled': function () { _this.update(); } }; } Placeholder.prototype.shouldInitialize = function () { return !!this.options.placeholder; }; Placeholder.prototype.initialize = function () { var _this = this; this.$placeholder = $$1('<div class="note-placeholder">'); this.$placeholder.on('click', function () { _this.context.invoke('focus'); }).text(this.options.placeholder).prependTo(this.$editingArea); this.update(); }; Placeholder.prototype.destroy = function () { this.$placeholder.remove(); }; Placeholder.prototype.update = function () { var isShow = !this.context.invoke('codeview.isActivated') && this.context.invoke('editor.isEmpty'); this.$placeholder.toggle(isShow); }; return Placeholder; }()); var Buttons = /** @class */ (function () { function Buttons(context) { this.ui = $$1.summernote.ui; this.context = context; this.$toolbar = context.layoutInfo.toolbar; this.options = context.options; this.lang = this.options.langInfo; this.invertedKeyMap = func.invertObject(this.options.keyMap[env.isMac ? 'mac' : 'pc']); } Buttons.prototype.representShortcut = function (editorMethod) { var shortcut = this.invertedKeyMap[editorMethod]; if (!this.options.shortcuts || !shortcut) { return ''; } if (env.isMac) { shortcut = shortcut.replace('CMD', '⌘').replace('SHIFT', '⇧'); } shortcut = shortcut.replace('BACKSLASH', '\\') .replace('SLASH', '/') .replace('LEFTBRACKET', '[') .replace('RIGHTBRACKET', ']'); return ' (' + shortcut + ')'; }; Buttons.prototype.button = function (o) { if (!this.options.tooltip && o.tooltip) { delete o.tooltip; } o.container = this.options.container; return this.ui.button(o); }; Buttons.prototype.initialize = function () { this.addToolbarButtons(); this.addImagePopoverButtons(); this.addLinkPopoverButtons(); this.addTablePopoverButtons(); this.fontInstalledMap = {}; }; Buttons.prototype.destroy = function () { delete this.fontInstalledMap; }; Buttons.prototype.isFontInstalled = function (name) { if (!this.fontInstalledMap.hasOwnProperty(name)) { this.fontInstalledMap[name] = env.isFontInstalled(name) || lists.contains(this.options.fontNamesIgnoreCheck, name); } return this.fontInstalledMap[name]; }; Buttons.prototype.isFontDeservedToAdd = function (name) { var genericFamilies = ['sans-serif', 'serif', 'monospace', 'cursive', 'fantasy']; name = name.toLowerCase(); return ((name !== '') && this.isFontInstalled(name) && ($$1.inArray(name, genericFamilies) === -1)); }; Buttons.prototype.addToolbarButtons = function () { var _this = this; this.context.memo('button.style', function () { return _this.ui.buttonGroup([ _this.button({ className: 'dropdown-toggle', contents: _this.ui.dropdownButtonContents(_this.ui.icon(_this.options.icons.magic), _this.options), tooltip: _this.lang.style.style, data: { toggle: 'dropdown' } }), _this.ui.dropdown({ className: 'dropdown-style', items: _this.options.styleTags, title: _this.lang.style.style, template: function (item) { if (typeof item === 'string') { item = { tag: item, title: (_this.lang.style.hasOwnProperty(item) ? _this.lang.style[item] : item) }; } var tag = item.tag; var title = item.title; var style = item.style ? ' style="' + item.style + '" ' : ''; var className = item.className ? ' class="' + item.className + '"' : ''; return '<' + tag + style + className + '>' + title + '</' + tag + '>'; }, click: _this.context.createInvokeHandler('editor.formatBlock') }) ]).render(); }); var _loop_1 = function (styleIdx, styleLen) { var item = this_1.options.styleTags[styleIdx]; this_1.context.memo('button.style.' + item, function () { return _this.button({ className: 'note-btn-style-' + item, contents: '<div data-value="' + item + '">' + item.toUpperCase() + '</div>', tooltip: _this.lang.style[item], click: _this.context.createInvokeHandler('editor.formatBlock') }).render(); }); }; var this_1 = this; for (var styleIdx = 0, styleLen = this.options.styleTags.length; styleIdx < styleLen; styleIdx++) { _loop_1(styleIdx, styleLen); } this.context.memo('button.bold', function () { return _this.button({ className: 'note-btn-bold', contents: _this.ui.icon(_this.options.icons.bold), tooltip: _this.lang.font.bold + _this.representShortcut('bold'), click: _this.context.createInvokeHandlerAndUpdateState('editor.bold') }).render(); }); this.context.memo('button.italic', function () { return _this.button({ className: 'note-btn-italic', contents: _this.ui.icon(_this.options.icons.italic), tooltip: _this.lang.font.italic + _this.representShortcut('italic'), click: _this.context.createInvokeHandlerAndUpdateState('editor.italic') }).render(); }); this.context.memo('button.underline', function () { return _this.button({ className: 'note-btn-underline', contents: _this.ui.icon(_this.options.icons.underline), tooltip: _this.lang.font.underline + _this.representShortcut('underline'), click: _this.context.createInvokeHandlerAndUpdateState('editor.underline') }).render(); }); this.context.memo('button.clear', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.eraser), tooltip: _this.lang.font.clear + _this.representShortcut('removeFormat'), click: _this.context.createInvokeHandler('editor.removeFormat') }).render(); }); this.context.memo('button.strikethrough', function () { return _this.button({ className: 'note-btn-strikethrough', contents: _this.ui.icon(_this.options.icons.strikethrough), tooltip: _this.lang.font.strikethrough + _this.representShortcut('strikethrough'), click: _this.context.createInvokeHandlerAndUpdateState('editor.strikethrough') }).render(); }); this.context.memo('button.superscript', function () { return _this.button({ className: 'note-btn-superscript', contents: _this.ui.icon(_this.options.icons.superscript), tooltip: _this.lang.font.superscript, click: _this.context.createInvokeHandlerAndUpdateState('editor.superscript') }).render(); }); this.context.memo('button.subscript', function () { return _this.button({ className: 'note-btn-subscript', contents: _this.ui.icon(_this.options.icons.subscript), tooltip: _this.lang.font.subscript, click: _this.context.createInvokeHandlerAndUpdateState('editor.subscript') }).render(); }); this.context.memo('button.fontname', function () { var styleInfo = _this.context.invoke('editor.currentStyle'); // Add 'default' fonts into the fontnames array if not exist $$1.each(styleInfo['font-family'].split(','), function (idx, fontname) { fontname = fontname.trim().replace(/['"]+/g, ''); if (_this.isFontDeservedToAdd(fontname)) { if ($$1.inArray(fontname, _this.options.fontNames) === -1) { _this.options.fontNames.push(fontname); } } }); return _this.ui.buttonGroup([ _this.button({ className: 'dropdown-toggle', contents: _this.ui.dropdownButtonContents('<span class="note-current-fontname"/>', _this.options), tooltip: _this.lang.font.name, data: { toggle: 'dropdown' } }), _this.ui.dropdownCheck({ className: 'dropdown-fontname', checkClassName: _this.options.icons.menuCheck, items: _this.options.fontNames.filter(_this.isFontInstalled.bind(_this)), title: _this.lang.font.name, template: function (item) { return '<span style="font-family: \'' + item + '\'">' + item + '</span>'; }, click: _this.context.createInvokeHandlerAndUpdateState('editor.fontName') }) ]).render(); }); this.context.memo('button.fontsize', function () { return _this.ui.buttonGroup([ _this.button({ className: 'dropdown-toggle', contents: _this.ui.dropdownButtonContents('<span class="note-current-fontsize"/>', _this.options), tooltip: _this.lang.font.size, data: { toggle: 'dropdown' } }), _this.ui.dropdownCheck({ className: 'dropdown-fontsize', checkClassName: _this.options.icons.menuCheck, items: _this.options.fontSizes, title: _this.lang.font.size, click: _this.context.createInvokeHandlerAndUpdateState('editor.fontSize') }) ]).render(); }); this.context.memo('button.color', function () { return _this.ui.buttonGroup({ className: 'note-color', children: [ _this.button({ className: 'note-current-color-button', contents: _this.ui.icon(_this.options.icons.font + ' note-recent-color'), tooltip: _this.lang.color.recent, click: function (e) { var $button = $$1(e.currentTarget); _this.context.invoke('editor.color', { backColor: $button.attr('data-backColor'), foreColor: $button.attr('data-foreColor') }); }, callback: function ($button) { var $recentColor = $button.find('.note-recent-color'); $recentColor.css('background-color', '#FFFF00'); $button.attr('data-backColor', '#FFFF00'); } }), _this.button({ className: 'dropdown-toggle', contents: _this.ui.dropdownButtonContents('', _this.options), tooltip: _this.lang.color.more, data: { toggle: 'dropdown' } }), _this.ui.dropdown({ items: [ '<div class="note-palette">', ' <div class="note-palette-title">' + _this.lang.color.background + '</div>', ' <div>', ' <button type="button" class="note-color-reset btn btn-light" data-event="backColor" data-value="inherit">', _this.lang.color.transparent, ' </button>', ' </div>', ' <div class="note-holder" data-event="backColor"/>', '</div>', '<div class="note-palette">', ' <div class="note-palette-title">' + _this.lang.color.foreground + '</div>', ' <div>', ' <button type="button" class="note-color-reset btn btn-light" data-event="removeFormat" data-value="foreColor">', _this.lang.color.resetToDefault, ' </button>', ' </div>', ' <div class="note-holder" data-event="foreColor"/>', '</div>' ].join(''), callback: function ($dropdown) { $dropdown.find('.note-holder').each(function (idx, item) { var $holder = $$1(item); $holder.append(_this.ui.palette({ colors: _this.options.colors, colorsName: _this.options.colorsName, eventName: $holder.data('event'), container: _this.options.container, tooltip: _this.options.tooltip }).render()); }); }, click: function (event) { var $button = $$1(event.target); var eventName = $button.data('event'); var value = $button.data('value'); if (eventName && value) { var key = eventName === 'backColor' ? 'background-color' : 'color'; var $color = $button.closest('.note-color').find('.note-recent-color'); var $currentButton = $button.closest('.note-color').find('.note-current-color-button'); $color.css(key, value); $currentButton.attr('data-' + eventName, value); _this.context.invoke('editor.' + eventName, value); } } }) ] }).render(); }); this.context.memo('button.ul', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.unorderedlist), tooltip: _this.lang.lists.unordered + _this.representShortcut('insertUnorderedList'), click: _this.context.createInvokeHandler('editor.insertUnorderedList') }).render(); }); this.context.memo('button.ol', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.orderedlist), tooltip: _this.lang.lists.ordered + _this.representShortcut('insertOrderedList'), click: _this.context.createInvokeHandler('editor.insertOrderedList') }).render(); }); var justifyLeft = this.button({ contents: this.ui.icon(this.options.icons.alignLeft), tooltip: this.lang.paragraph.left + this.representShortcut('justifyLeft'), click: this.context.createInvokeHandler('editor.justifyLeft') }); var justifyCenter = this.button({ contents: this.ui.icon(this.options.icons.alignCenter), tooltip: this.lang.paragraph.center + this.representShortcut('justifyCenter'), click: this.context.createInvokeHandler('editor.justifyCenter') }); var justifyRight = this.button({ contents: this.ui.icon(this.options.icons.alignRight), tooltip: this.lang.paragraph.right + this.representShortcut('justifyRight'), click: this.context.createInvokeHandler('editor.justifyRight') }); var justifyFull = this.button({ contents: this.ui.icon(this.options.icons.alignJustify), tooltip: this.lang.paragraph.justify + this.representShortcut('justifyFull'), click: this.context.createInvokeHandler('editor.justifyFull') }); var outdent = this.button({ contents: this.ui.icon(this.options.icons.outdent), tooltip: this.lang.paragraph.outdent + this.representShortcut('outdent'), click: this.context.createInvokeHandler('editor.outdent') }); var indent = this.button({ contents: this.ui.icon(this.options.icons.indent), tooltip: this.lang.paragraph.indent + this.representShortcut('indent'), click: this.context.createInvokeHandler('editor.indent') }); this.context.memo('button.justifyLeft', func.invoke(justifyLeft, 'render')); this.context.memo('button.justifyCenter', func.invoke(justifyCenter, 'render')); this.context.memo('button.justifyRight', func.invoke(justifyRight, 'render')); this.context.memo('button.justifyFull', func.invoke(justifyFull, 'render')); this.context.memo('button.outdent', func.invoke(outdent, 'render')); this.context.memo('button.indent', func.invoke(indent, 'render')); this.context.memo('button.paragraph', function () { return _this.ui.buttonGroup([ _this.button({ className: 'dropdown-toggle', contents: _this.ui.dropdownButtonContents(_this.ui.icon(_this.options.icons.alignLeft), _this.options), tooltip: _this.lang.paragraph.paragraph, data: { toggle: 'dropdown' } }), _this.ui.dropdown([ _this.ui.buttonGroup({ className: 'note-align', children: [justifyLeft, justifyCenter, justifyRight, justifyFull] }), _this.ui.buttonGroup({ className: 'note-list', children: [outdent, indent] }) ]) ]).render(); }); this.context.memo('button.height', function () { return _this.ui.buttonGroup([ _this.button({ className: 'dropdown-toggle', contents: _this.ui.dropdownButtonContents(_this.ui.icon(_this.options.icons.textHeight), _this.options), tooltip: _this.lang.font.height, data: { toggle: 'dropdown' } }), _this.ui.dropdownCheck({ items: _this.options.lineHeights, checkClassName: _this.options.icons.menuCheck, className: 'dropdown-line-height', title: _this.lang.font.height, click: _this.context.createInvokeHandler('editor.lineHeight') }) ]).render(); }); this.context.memo('button.table', function () { return _this.ui.buttonGroup([ _this.button({ className: 'dropdown-toggle', contents: _this.ui.dropdownButtonContents(_this.ui.icon(_this.options.icons.table), _this.options), tooltip: _this.lang.table.table, data: { toggle: 'dropdown' } }), _this.ui.dropdown({ title: _this.lang.table.table, className: 'note-table', items: [ '<div class="note-dimension-picker">', ' <div class="note-dimension-picker-mousecatcher" data-event="insertTable" data-value="1x1"/>', ' <div class="note-dimension-picker-highlighted"/>', ' <div class="note-dimension-picker-unhighlighted"/>', '</div>', '<div class="note-dimension-display">1 x 1</div>' ].join('') }) ], { callback: function ($node) { var $catcher = $node.find('.note-dimension-picker-mousecatcher'); $catcher.css({ width: _this.options.insertTableMaxSize.col + 'em', height: _this.options.insertTableMaxSize.row + 'em' }).mousedown(_this.context.createInvokeHandler('editor.insertTable')) .on('mousemove', _this.tableMoveHandler.bind(_this)); } }).render(); }); this.context.memo('button.link', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.link), tooltip: _this.lang.link.link + _this.representShortcut('linkDialog.show'), click: _this.context.createInvokeHandler('linkDialog.show') }).render(); }); this.context.memo('button.picture', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.picture), tooltip: _this.lang.image.image, click: _this.context.createInvokeHandler('imageDialog.show') }).render(); }); this.context.memo('button.video', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.video), tooltip: _this.lang.video.video, click: _this.context.createInvokeHandler('videoDialog.show') }).render(); }); this.context.memo('button.hr', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.minus), tooltip: _this.lang.hr.insert + _this.representShortcut('insertHorizontalRule'), click: _this.context.createInvokeHandler('editor.insertHorizontalRule') }).render(); }); this.context.memo('button.fullscreen', function () { return _this.button({ className: 'btn-fullscreen', contents: _this.ui.icon(_this.options.icons.arrowsAlt), tooltip: _this.lang.options.fullscreen, click: _this.context.createInvokeHandler('fullscreen.toggle') }).render(); }); this.context.memo('button.codeview', function () { return _this.button({ className: 'btn-codeview', contents: _this.ui.icon(_this.options.icons.code), tooltip: _this.lang.options.codeview, click: _this.context.createInvokeHandler('codeview.toggle') }).render(); }); this.context.memo('button.redo', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.redo), tooltip: _this.lang.history.redo + _this.representShortcut('redo'), click: _this.context.createInvokeHandler('editor.redo') }).render(); }); this.context.memo('button.undo', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.undo), tooltip: _this.lang.history.undo + _this.representShortcut('undo'), click: _this.context.createInvokeHandler('editor.undo') }).render(); }); this.context.memo('button.help', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.question), tooltip: _this.lang.options.help, click: _this.context.createInvokeHandler('helpDialog.show') }).render(); }); }; /** * image : [ * ['imagesize', ['imageSize100', 'imageSize50', 'imageSize25']], * ['float', ['floatLeft', 'floatRight', 'floatNone' ]], * ['remove', ['removeMedia']] * ], */ Buttons.prototype.addImagePopoverButtons = function () { var _this = this; // Image Size Buttons this.context.memo('button.imageSize100', function () { return _this.button({ contents: '<span class="note-fontsize-10">100%</span>', tooltip: _this.lang.image.resizeFull, click: _this.context.createInvokeHandler('editor.resize', '1') }).render(); }); this.context.memo('button.imageSize50', function () { return _this.button({ contents: '<span class="note-fontsize-10">50%</span>', tooltip: _this.lang.image.resizeHalf, click: _this.context.createInvokeHandler('editor.resize', '0.5') }).render(); }); this.context.memo('button.imageSize25', function () { return _this.button({ contents: '<span class="note-fontsize-10">25%</span>', tooltip: _this.lang.image.resizeQuarter, click: _this.context.createInvokeHandler('editor.resize', '0.25') }).render(); }); // Float Buttons this.context.memo('button.floatLeft', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.alignLeft), tooltip: _this.lang.image.floatLeft, click: _this.context.createInvokeHandler('editor.floatMe', 'left') }).render(); }); this.context.memo('button.floatRight', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.alignRight), tooltip: _this.lang.image.floatRight, click: _this.context.createInvokeHandler('editor.floatMe', 'right') }).render(); }); this.context.memo('button.floatNone', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.alignJustify), tooltip: _this.lang.image.floatNone, click: _this.context.createInvokeHandler('editor.floatMe', 'none') }).render(); }); // Remove Buttons this.context.memo('button.removeMedia', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.trash), tooltip: _this.lang.image.remove, click: _this.context.createInvokeHandler('editor.removeMedia') }).render(); }); }; Buttons.prototype.addLinkPopoverButtons = function () { var _this = this; this.context.memo('button.linkDialogShow', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.link), tooltip: _this.lang.link.edit, click: _this.context.createInvokeHandler('linkDialog.show') }).render(); }); this.context.memo('button.unlink', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.unlink), tooltip: _this.lang.link.unlink, click: _this.context.createInvokeHandler('editor.unlink') }).render(); }); }; /** * table : [ * ['add', ['addRowDown', 'addRowUp', 'addColLeft', 'addColRight']], * ['delete', ['deleteRow', 'deleteCol', 'deleteTable']] * ], */ Buttons.prototype.addTablePopoverButtons = function () { var _this = this; this.context.memo('button.addRowUp', function () { return _this.button({ className: 'btn-md', contents: _this.ui.icon(_this.options.icons.rowAbove), tooltip: _this.lang.table.addRowAbove, click: _this.context.createInvokeHandler('editor.addRow', 'top') }).render(); }); this.context.memo('button.addRowDown', function () { return _this.button({ className: 'btn-md', contents: _this.ui.icon(_this.options.icons.rowBelow), tooltip: _this.lang.table.addRowBelow, click: _this.context.createInvokeHandler('editor.addRow', 'bottom') }).render(); }); this.context.memo('button.addColLeft', function () { return _this.button({ className: 'btn-md', contents: _this.ui.icon(_this.options.icons.colBefore), tooltip: _this.lang.table.addColLeft, click: _this.context.createInvokeHandler('editor.addCol', 'left') }).render(); }); this.context.memo('button.addColRight', function () { return _this.button({ className: 'btn-md', contents: _this.ui.icon(_this.options.icons.colAfter), tooltip: _this.lang.table.addColRight, click: _this.context.createInvokeHandler('editor.addCol', 'right') }).render(); }); this.context.memo('button.deleteRow', function () { return _this.button({ className: 'btn-md', contents: _this.ui.icon(_this.options.icons.rowRemove), tooltip: _this.lang.table.delRow, click: _this.context.createInvokeHandler('editor.deleteRow') }).render(); }); this.context.memo('button.deleteCol', function () { return _this.button({ className: 'btn-md', contents: _this.ui.icon(_this.options.icons.colRemove), tooltip: _this.lang.table.delCol, click: _this.context.createInvokeHandler('editor.deleteCol') }).render(); }); this.context.memo('button.deleteTable', function () { return _this.button({ className: 'btn-md', contents: _this.ui.icon(_this.options.icons.trash), tooltip: _this.lang.table.delTable, click: _this.context.createInvokeHandler('editor.deleteTable') }).render(); }); }; Buttons.prototype.build = function ($container, groups) { for (var groupIdx = 0, groupLen = groups.length; groupIdx < groupLen; groupIdx++) { var group = groups[groupIdx]; var groupName = $$1.isArray(group) ? group[0] : group; var buttons = $$1.isArray(group) ? ((group.length === 1) ? [group[0]] : group[1]) : [group]; var $group = this.ui.buttonGroup({ className: 'note-' + groupName }).render(); for (var idx = 0, len = buttons.length; idx < len; idx++) { var btn = this.context.memo('button.' + buttons[idx]); if (btn) { $group.append(typeof btn === 'function' ? btn(this.context) : btn); } } $group.appendTo($container); } }; /** * @param {jQuery} [$container] */ Buttons.prototype.updateCurrentStyle = function ($container) { var _this = this; var $cont = $container || this.$toolbar; var styleInfo = this.context.invoke('editor.currentStyle'); this.updateBtnStates($cont, { '.note-btn-bold': function () { return styleInfo['font-bold'] === 'bold'; }, '.note-btn-italic': function () { return styleInfo['font-italic'] === 'italic'; }, '.note-btn-underline': function () { return styleInfo['font-underline'] === 'underline'; }, '.note-btn-subscript': function () { return styleInfo['font-subscript'] === 'subscript'; }, '.note-btn-superscript': function () { return styleInfo['font-superscript'] === 'superscript'; }, '.note-btn-strikethrough': function () { return styleInfo['font-strikethrough'] === 'strikethrough'; } }); if (styleInfo['font-family']) { var fontNames = styleInfo['font-family'].split(',').map(function (name) { return name.replace(/[\'\"]/g, '') .replace(/\s+$/, '') .replace(/^\s+/, ''); }); var fontName_1 = lists.find(fontNames, this.isFontInstalled.bind(this)); $cont.find('.dropdown-fontname a').each(function (idx, item) { var $item = $$1(item); // always compare string to avoid creating another func. var isChecked = ($item.data('value') + '') === (fontName_1 + ''); $item.toggleClass('checked', isChecked); }); $cont.find('.note-current-fontname').text(fontName_1).css('font-family', fontName_1); } if (styleInfo['font-size']) { var fontSize_1 = styleInfo['font-size']; $cont.find('.dropdown-fontsize a').each(function (idx, item) { var $item = $$1(item); // always compare with string to avoid creating another func. var isChecked = ($item.data('value') + '') === (fontSize_1 + ''); $item.toggleClass('checked', isChecked); }); $cont.find('.note-current-fontsize').text(fontSize_1); } if (styleInfo['line-height']) { var lineHeight_1 = styleInfo['line-height']; $cont.find('.dropdown-line-height li a').each(function (idx, item) { // always compare with string to avoid creating another func. var isChecked = ($$1(item).data('value') + '') === (lineHeight_1 + ''); _this.className = isChecked ? 'checked' : ''; }); } }; Buttons.prototype.updateBtnStates = function ($container, infos) { var _this = this; $$1.each(infos, function (selector, pred) { _this.ui.toggleBtnActive($container.find(selector), pred()); }); }; Buttons.prototype.tableMoveHandler = function (event) { var PX_PER_EM = 18; var $picker = $$1(event.target.parentNode); // target is mousecatcher var $dimensionDisplay = $picker.next(); var $catcher = $picker.find('.note-dimension-picker-mousecatcher'); var $highlighted = $picker.find('.note-dimension-picker-highlighted'); var $unhighlighted = $picker.find('.note-dimension-picker-unhighlighted'); var posOffset; // HTML5 with jQuery - e.offsetX is undefined in Firefox if (event.offsetX === undefined) { var posCatcher = $$1(event.target).offset(); posOffset = { x: event.pageX - posCatcher.left, y: event.pageY - posCatcher.top }; } else { posOffset = { x: event.offsetX, y: event.offsetY }; } var dim = { c: Math.ceil(posOffset.x / PX_PER_EM) || 1, r: Math.ceil(posOffset.y / PX_PER_EM) || 1 }; $highlighted.css({ width: dim.c + 'em', height: dim.r + 'em' }); $catcher.data('value', dim.c + 'x' + dim.r); if (dim.c > 3 && dim.c < this.options.insertTableMaxSize.col) { $unhighlighted.css({ width: dim.c + 1 + 'em' }); } if (dim.r > 3 && dim.r < this.options.insertTableMaxSize.row) { $unhighlighted.css({ height: dim.r + 1 + 'em' }); } $dimensionDisplay.html(dim.c + ' x ' + dim.r); }; return Buttons; }()); var Toolbar = /** @class */ (function () { function Toolbar(context) { this.context = context; this.$window = $$1(window); this.$document = $$1(document); this.ui = $$1.summernote.ui; this.$note = context.layoutInfo.note; this.$editor = context.layoutInfo.editor; this.$toolbar = context.layoutInfo.toolbar; this.options = context.options; this.followScroll = this.followScroll.bind(this); } Toolbar.prototype.shouldInitialize = function () { return !this.options.airMode; }; Toolbar.prototype.initialize = function () { var _this = this; this.options.toolbar = this.options.toolbar || []; if (!this.options.toolbar.length) { this.$toolbar.hide(); } else { this.context.invoke('buttons.build', this.$toolbar, this.options.toolbar); } if (this.options.toolbarContainer) { this.$toolbar.appendTo(this.options.toolbarContainer); } this.changeContainer(false); this.$note.on('summernote.keyup summernote.mouseup summernote.change', function () { _this.context.invoke('buttons.updateCurrentStyle'); }); this.context.invoke('buttons.updateCurrentStyle'); if (this.options.followingToolbar) { this.$window.on('scroll resize', this.followScroll); } }; Toolbar.prototype.destroy = function () { this.$toolbar.children().remove(); if (this.options.followingToolbar) { this.$window.off('scroll resize', this.followScroll); } }; Toolbar.prototype.followScroll = function () { if (this.$editor.hasClass('fullscreen')) { return false; } var $toolbarWrapper = this.$toolbar.parent('.note-toolbar-wrapper'); var editorHeight = this.$editor.outerHeight(); var editorWidth = this.$editor.width(); var toolbarHeight = this.$toolbar.height(); $toolbarWrapper.css({ height: toolbarHeight }); // check if the web app is currently using another static bar var otherBarHeight = 0; if (this.options.otherStaticBar) { otherBarHeight = $$1(this.options.otherStaticBar).outerHeight(); } var currentOffset = this.$document.scrollTop(); var editorOffsetTop = this.$editor.offset().top; var editorOffsetBottom = editorOffsetTop + editorHeight; var activateOffset = editorOffsetTop - otherBarHeight; var deactivateOffsetBottom = editorOffsetBottom - otherBarHeight - toolbarHeight; if ((currentOffset > activateOffset) && (currentOffset < deactivateOffsetBottom)) { this.$toolbar.css({ position: 'fixed', top: otherBarHeight, width: editorWidth }); } else { this.$toolbar.css({ position: 'relative', top: 0, width: '100%' }); } }; Toolbar.prototype.changeContainer = function (isFullscreen) { if (isFullscreen) { this.$toolbar.prependTo(this.$editor); } else { if (this.options.toolbarContainer) { this.$toolbar.appendTo(this.options.toolbarContainer); } } }; Toolbar.prototype.updateFullscreen = function (isFullscreen) { this.ui.toggleBtnActive(this.$toolbar.find('.btn-fullscreen'), isFullscreen); this.changeContainer(isFullscreen); }; Toolbar.prototype.updateCodeview = function (isCodeview) { this.ui.toggleBtnActive(this.$toolbar.find('.btn-codeview'), isCodeview); if (isCodeview) { this.deactivate(); } else { this.activate(); } }; Toolbar.prototype.activate = function (isIncludeCodeview) { var $btn = this.$toolbar.find('button'); if (!isIncludeCodeview) { $btn = $btn.not('.btn-codeview'); } this.ui.toggleBtn($btn, true); }; Toolbar.prototype.deactivate = function (isIncludeCodeview) { var $btn = this.$toolbar.find('button'); if (!isIncludeCodeview) { $btn = $btn.not('.btn-codeview'); } this.ui.toggleBtn($btn, false); }; return Toolbar; }()); var LinkDialog = /** @class */ (function () { function LinkDialog(context) { this.context = context; this.ui = $$1.summernote.ui; this.$body = $$1(document.body); this.$editor = context.layoutInfo.editor; this.options = context.options; this.lang = this.options.langInfo; context.memo('help.linkDialog.show', this.options.langInfo.help['linkDialog.show']); } LinkDialog.prototype.initialize = function () { var $container = this.options.dialogsInBody ? this.$body : this.$editor; var body = [ '<div class="form-group note-form-group">', "<label class=\"note-form-label\">" + this.lang.link.textToDisplay + "</label>", '<input class="note-link-text form-control note-form-control note-input" type="text" />', '</div>', '<div class="form-group note-form-group">', "<label class=\"note-form-label\">" + this.lang.link.url + "</label>", '<input class="note-link-url form-control note-form-control note-input" type="text" value="http://" />', '</div>', !this.options.disableLinkTarget ? $$1('<div/>').append(this.ui.checkbox({ id: 'sn-checkbox-open-in-new-window', text: this.lang.link.openInNewWindow, checked: true }).render()).html() : '' ].join(''); var buttonClass = 'btn btn-primary note-btn note-btn-primary note-link-btn'; var footer = "<button type=\"submit\" href=\"#\" class=\"" + buttonClass + "\" disabled>" + this.lang.link.insert + "</button>"; this.$dialog = this.ui.dialog({ className: 'link-dialog', title: this.lang.link.insert, fade: this.options.dialogsFade, body: body, footer: footer }).render().appendTo($container); }; LinkDialog.prototype.destroy = function () { this.ui.hideDialog(this.$dialog); this.$dialog.remove(); }; LinkDialog.prototype.bindEnterKey = function ($input, $btn) { $input.on('keypress', function (event) { if (event.keyCode === key.code.ENTER) { event.preventDefault(); $btn.trigger('click'); } }); }; /** * toggle update button */ LinkDialog.prototype.toggleLinkBtn = function ($linkBtn, $linkText, $linkUrl) { this.ui.toggleBtn($linkBtn, $linkText.val() && $linkUrl.val()); }; /** * Show link dialog and set event handlers on dialog controls. * * @param {Object} linkInfo * @return {Promise} */ LinkDialog.prototype.showLinkDialog = function (linkInfo) { var _this = this; return $$1.Deferred(function (deferred) { var $linkText = _this.$dialog.find('.note-link-text'); var $linkUrl = _this.$dialog.find('.note-link-url'); var $linkBtn = _this.$dialog.find('.note-link-btn'); var $openInNewWindow = _this.$dialog.find('input[type=checkbox]'); _this.ui.onDialogShown(_this.$dialog, function () { _this.context.triggerEvent('dialog.shown'); // if no url was given, copy text to url if (!linkInfo.url) { linkInfo.url = linkInfo.text; } $linkText.val(linkInfo.text); var handleLinkTextUpdate = function () { _this.toggleLinkBtn($linkBtn, $linkText, $linkUrl); // if linktext was modified by keyup, // stop cloning text from linkUrl linkInfo.text = $linkText.val(); }; $linkText.on('input', handleLinkTextUpdate).on('paste', function () { setTimeout(handleLinkTextUpdate, 0); }); var handleLinkUrlUpdate = function () { _this.toggleLinkBtn($linkBtn, $linkText, $linkUrl); // display same link on `Text to display` input // when create a new link if (!linkInfo.text) { $linkText.val($linkUrl.val()); } }; $linkUrl.on('input', handleLinkUrlUpdate).on('paste', function () { setTimeout(handleLinkUrlUpdate, 0); }).val(linkInfo.url); if (!env.isSupportTouch) { $linkUrl.trigger('focus'); } _this.toggleLinkBtn($linkBtn, $linkText, $linkUrl); _this.bindEnterKey($linkUrl, $linkBtn); _this.bindEnterKey($linkText, $linkBtn); var isChecked = linkInfo.isNewWindow !== undefined ? linkInfo.isNewWindow : _this.context.options.linkTargetBlank; $openInNewWindow.prop('checked', isChecked); $linkBtn.one('click', function (event) { event.preventDefault(); deferred.resolve({ range: linkInfo.range, url: $linkUrl.val(), text: $linkText.val(), isNewWindow: $openInNewWindow.is(':checked') }); _this.ui.hideDialog(_this.$dialog); }); }); _this.ui.onDialogHidden(_this.$dialog, function () { // detach events $linkText.off('input paste keypress'); $linkUrl.off('input paste keypress'); $linkBtn.off('click'); if (deferred.state() === 'pending') { deferred.reject(); } }); _this.ui.showDialog(_this.$dialog); }).promise(); }; /** * @param {Object} layoutInfo */ LinkDialog.prototype.show = function () { var _this = this; var linkInfo = this.context.invoke('editor.getLinkInfo'); this.context.invoke('editor.saveRange'); this.showLinkDialog(linkInfo).then(function (linkInfo) { _this.context.invoke('editor.restoreRange'); _this.context.invoke('editor.createLink', linkInfo); }).fail(function () { _this.context.invoke('editor.restoreRange'); }); }; return LinkDialog; }()); var LinkPopover = /** @class */ (function () { function LinkPopover(context) { var _this = this; this.context = context; this.ui = $$1.summernote.ui; this.options = context.options; this.events = { 'summernote.keyup summernote.mouseup summernote.change summernote.scroll': function () { _this.update(); }, 'summernote.disable summernote.dialog.shown': function () { _this.hide(); } }; } LinkPopover.prototype.shouldInitialize = function () { return !lists.isEmpty(this.options.popover.link); }; LinkPopover.prototype.initialize = function () { this.$popover = this.ui.popover({ className: 'note-link-popover', callback: function ($node) { var $content = $node.find('.popover-content,.note-popover-content'); $content.prepend('<span><a target="_blank"></a> </span>'); } }).render().appendTo(this.options.container); var $content = this.$popover.find('.popover-content,.note-popover-content'); this.context.invoke('buttons.build', $content, this.options.popover.link); }; LinkPopover.prototype.destroy = function () { this.$popover.remove(); }; LinkPopover.prototype.update = function () { // Prevent focusing on editable when invoke('code') is executed if (!this.context.invoke('editor.hasFocus')) { this.hide(); return; } var rng = this.context.invoke('editor.createRange'); if (rng.isCollapsed() && rng.isOnAnchor()) { var anchor = dom.ancestor(rng.sc, dom.isAnchor); var href = $$1(anchor).attr('href'); this.$popover.find('a').attr('href', href).html(href); var pos = dom.posFromPlaceholder(anchor); this.$popover.css({ display: 'block', left: pos.left, top: pos.top }); } else { this.hide(); } }; LinkPopover.prototype.hide = function () { this.$popover.hide(); }; return LinkPopover; }()); var ImageDialog = /** @class */ (function () { function ImageDialog(context) { this.context = context; this.ui = $$1.summernote.ui; this.$body = $$1(document.body); this.$editor = context.layoutInfo.editor; this.options = context.options; this.lang = this.options.langInfo; } ImageDialog.prototype.initialize = function () { var $container = this.options.dialogsInBody ? this.$body : this.$editor; var imageLimitation = ''; if (this.options.maximumImageFileSize) { var unit = Math.floor(Math.log(this.options.maximumImageFileSize) / Math.log(1024)); var readableSize = (this.options.maximumImageFileSize / Math.pow(1024, unit)).toFixed(2) * 1 + ' ' + ' KMGTP'[unit] + 'B'; imageLimitation = "<small>" + (this.lang.image.maximumFileSize + ' : ' + readableSize) + "</small>"; } var body = [ '<div class="form-group note-form-group note-group-select-from-files">', '<label class="note-form-label">' + this.lang.image.selectFromFiles + '</label>', '<input class="note-image-input note-form-control note-input" ', ' type="file" name="files" accept="image/*" multiple="multiple" />', imageLimitation, '</div>', '<div class="form-group note-group-image-url" style="overflow:auto;">', '<label class="note-form-label">' + this.lang.image.url + '</label>', '<input class="note-image-url form-control note-form-control note-input ', ' col-md-12" type="text" />', '</div>' ].join(''); var buttonClass = 'btn btn-primary note-btn note-btn-primary note-image-btn'; var footer = "<button type=\"submit\" href=\"#\" class=\"" + buttonClass + "\" disabled>" + this.lang.image.insert + "</button>"; this.$dialog = this.ui.dialog({ title: this.lang.image.insert, fade: this.options.dialogsFade, body: body, footer: footer }).render().appendTo($container); }; ImageDialog.prototype.destroy = function () { this.ui.hideDialog(this.$dialog); this.$dialog.remove(); }; ImageDialog.prototype.bindEnterKey = function ($input, $btn) { $input.on('keypress', function (event) { if (event.keyCode === key.code.ENTER) { event.preventDefault(); $btn.trigger('click'); } }); }; ImageDialog.prototype.show = function () { var _this = this; this.context.invoke('editor.saveRange'); this.showImageDialog().then(function (data) { // [workaround] hide dialog before restore range for IE range focus _this.ui.hideDialog(_this.$dialog); _this.context.invoke('editor.restoreRange'); if (typeof data === 'string') { _this.context.invoke('editor.insertImage', data); } else { _this.context.invoke('editor.insertImagesOrCallback', data); } }).fail(function () { _this.context.invoke('editor.restoreRange'); }); }; /** * show image dialog * * @param {jQuery} $dialog * @return {Promise} */ ImageDialog.prototype.showImageDialog = function () { var _this = this; return $$1.Deferred(function (deferred) { var $imageInput = _this.$dialog.find('.note-image-input'); var $imageUrl = _this.$dialog.find('.note-image-url'); var $imageBtn = _this.$dialog.find('.note-image-btn'); _this.ui.onDialogShown(_this.$dialog, function () { _this.context.triggerEvent('dialog.shown'); // Cloning imageInput to clear element. $imageInput.replaceWith($imageInput.clone().on('change', function (event) { deferred.resolve(event.target.files || event.target.value); }).val('')); $imageBtn.click(function (event) { event.preventDefault(); deferred.resolve($imageUrl.val()); }); $imageUrl.on('keyup paste', function () { var url = $imageUrl.val(); _this.ui.toggleBtn($imageBtn, url); }).val(''); if (!env.isSupportTouch) { $imageUrl.trigger('focus'); } _this.bindEnterKey($imageUrl, $imageBtn); }); _this.ui.onDialogHidden(_this.$dialog, function () { $imageInput.off('change'); $imageUrl.off('keyup paste keypress'); $imageBtn.off('click'); if (deferred.state() === 'pending') { deferred.reject(); } }); _this.ui.showDialog(_this.$dialog); }); }; return ImageDialog; }()); /** * Image popover module * mouse events that show/hide popover will be handled by Handle.js. * Handle.js will receive the events and invoke 'imagePopover.update'. */ var ImagePopover = /** @class */ (function () { function ImagePopover(context) { var _this = this; this.context = context; this.ui = $$1.summernote.ui; this.editable = context.layoutInfo.editable[0]; this.options = context.options; this.events = { 'summernote.disable': function () { _this.hide(); } }; } ImagePopover.prototype.shouldInitialize = function () { return !lists.isEmpty(this.options.popover.image); }; ImagePopover.prototype.initialize = function () { this.$popover = this.ui.popover({ className: 'note-image-popover' }).render().appendTo(this.options.container); var $content = this.$popover.find('.popover-content,.note-popover-content'); this.context.invoke('buttons.build', $content, this.options.popover.image); }; ImagePopover.prototype.destroy = function () { this.$popover.remove(); }; ImagePopover.prototype.update = function (target) { if (dom.isImg(target)) { var pos = dom.posFromPlaceholder(target); var posEditor = dom.posFromPlaceholder(this.editable); this.$popover.css({ display: 'block', left: this.options.popatmouse ? event.pageX - 20 : pos.left, top: this.options.popatmouse ? event.pageY : Math.min(pos.top, posEditor.top) }); } else { this.hide(); } }; ImagePopover.prototype.hide = function () { this.$popover.hide(); }; return ImagePopover; }()); var TablePopover = /** @class */ (function () { function TablePopover(context) { var _this = this; this.context = context; this.ui = $$1.summernote.ui; this.options = context.options; this.events = { 'summernote.mousedown': function (we, e) { _this.update(e.target); }, 'summernote.keyup summernote.scroll summernote.change': function () { _this.update(); }, 'summernote.disable': function () { _this.hide(); } }; } TablePopover.prototype.shouldInitialize = function () { return !lists.isEmpty(this.options.popover.table); }; TablePopover.prototype.initialize = function () { this.$popover = this.ui.popover({ className: 'note-table-popover' }).render().appendTo(this.options.container); var $content = this.$popover.find('.popover-content,.note-popover-content'); this.context.invoke('buttons.build', $content, this.options.popover.table); // [workaround] Disable Firefox's default table editor if (env.isFF) { document.execCommand('enableInlineTableEditing', false, false); } }; TablePopover.prototype.destroy = function () { this.$popover.remove(); }; TablePopover.prototype.update = function (target) { if (this.context.isDisabled()) { return false; } var isCell = dom.isCell(target); if (isCell) { var pos = dom.posFromPlaceholder(target); this.$popover.css({ display: 'block', left: pos.left, top: pos.top }); } else { this.hide(); } return isCell; }; TablePopover.prototype.hide = function () { this.$popover.hide(); }; return TablePopover; }()); var VideoDialog = /** @class */ (function () { function VideoDialog(context) { this.context = context; this.ui = $$1.summernote.ui; this.$body = $$1(document.body); this.$editor = context.layoutInfo.editor; this.options = context.options; this.lang = this.options.langInfo; } VideoDialog.prototype.initialize = function () { var $container = this.options.dialogsInBody ? this.$body : this.$editor; var body = [ '<div class="form-group note-form-group row-fluid">', "<label class=\"note-form-label\">" + this.lang.video.url + " <small class=\"text-muted\">" + this.lang.video.providers + "</small></label>", '<input class="note-video-url form-control note-form-control note-input" type="text" />', '</div>' ].join(''); var buttonClass = 'btn btn-primary note-btn note-btn-primary note-video-btn'; var footer = "<button type=\"submit\" href=\"#\" class=\"" + buttonClass + "\" disabled>" + this.lang.video.insert + "</button>"; this.$dialog = this.ui.dialog({ title: this.lang.video.insert, fade: this.options.dialogsFade, body: body, footer: footer }).render().appendTo($container); }; VideoDialog.prototype.destroy = function () { this.ui.hideDialog(this.$dialog); this.$dialog.remove(); }; VideoDialog.prototype.bindEnterKey = function ($input, $btn) { $input.on('keypress', function (event) { if (event.keyCode === key.code.ENTER) { event.preventDefault(); $btn.trigger('click'); } }); }; VideoDialog.prototype.createVideoNode = function (url) { // video url patterns(youtube, instagram, vimeo, dailymotion, youku, mp4, ogg, webm) var ytRegExp = /^(?:https?:\/\/)?(?:www\.)?(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=))((\w|-){11})(?:\S+)?$/; var ytMatch = url.match(ytRegExp); var igRegExp = /(?:www\.|\/\/)instagram\.com\/p\/(.[a-zA-Z0-9_-]*)/; var igMatch = url.match(igRegExp); var vRegExp = /\/\/vine\.co\/v\/([a-zA-Z0-9]+)/; var vMatch = url.match(vRegExp); var vimRegExp = /\/\/(player\.)?vimeo\.com\/([a-z]*\/)*(\d+)[?]?.*/; var vimMatch = url.match(vimRegExp); var dmRegExp = /.+dailymotion.com\/(video|hub)\/([^_]+)[^#]*(#video=([^_&]+))?/; var dmMatch = url.match(dmRegExp); var youkuRegExp = /\/\/v\.youku\.com\/v_show\/id_(\w+)=*\.html/; var youkuMatch = url.match(youkuRegExp); var qqRegExp = /\/\/v\.qq\.com.*?vid=(.+)/; var qqMatch = url.match(qqRegExp); var qqRegExp2 = /\/\/v\.qq\.com\/x?\/?(page|cover).*?\/([^\/]+)\.html\??.*/; var qqMatch2 = url.match(qqRegExp2); var mp4RegExp = /^.+.(mp4|m4v)$/; var mp4Match = url.match(mp4RegExp); var oggRegExp = /^.+.(ogg|ogv)$/; var oggMatch = url.match(oggRegExp); var webmRegExp = /^.+.(webm)$/; var webmMatch = url.match(webmRegExp); var $video; if (ytMatch && ytMatch[1].length === 11) { var youtubeId = ytMatch[1]; $video = $$1('<iframe>') .attr('frameborder', 0) .attr('src', '//www.youtube.com/embed/' + youtubeId) .attr('width', '640').attr('height', '360'); } else if (igMatch && igMatch[0].length) { $video = $$1('<iframe>') .attr('frameborder', 0) .attr('src', 'https://instagram.com/p/' + igMatch[1] + '/embed/') .attr('width', '612').attr('height', '710') .attr('scrolling', 'no') .attr('allowtransparency', 'true'); } else if (vMatch && vMatch[0].length) { $video = $$1('<iframe>') .attr('frameborder', 0) .attr('src', vMatch[0] + '/embed/simple') .attr('width', '600').attr('height', '600') .attr('class', 'vine-embed'); } else if (vimMatch && vimMatch[3].length) { $video = $$1('<iframe webkitallowfullscreen mozallowfullscreen allowfullscreen>') .attr('frameborder', 0) .attr('src', '//player.vimeo.com/video/' + vimMatch[3]) .attr('width', '640').attr('height', '360'); } else if (dmMatch && dmMatch[2].length) { $video = $$1('<iframe>') .attr('frameborder', 0) .attr('src', '//www.dailymotion.com/embed/video/' + dmMatch[2]) .attr('width', '640').attr('height', '360'); } else if (youkuMatch && youkuMatch[1].length) { $video = $$1('<iframe webkitallowfullscreen mozallowfullscreen allowfullscreen>') .attr('frameborder', 0) .attr('height', '498') .attr('width', '510') .attr('src', '//player.youku.com/embed/' + youkuMatch[1]); } else if ((qqMatch && qqMatch[1].length) || (qqMatch2 && qqMatch2[2].length)) { var vid = ((qqMatch && qqMatch[1].length) ? qqMatch[1] : qqMatch2[2]); $video = $$1('<iframe webkitallowfullscreen mozallowfullscreen allowfullscreen>') .attr('frameborder', 0) .attr('height', '310') .attr('width', '500') .attr('src', 'http://v.qq.com/iframe/player.html?vid=' + vid + '&auto=0'); } else if (mp4Match || oggMatch || webmMatch) { $video = $$1('<video controls>') .attr('src', url) .attr('width', '640').attr('height', '360'); } else { // this is not a known video link. Now what, Cat? Now what? return false; } $video.addClass('note-video-clip'); return $video[0]; }; VideoDialog.prototype.show = function () { var _this = this; var text = this.context.invoke('editor.getSelectedText'); this.context.invoke('editor.saveRange'); this.showVideoDialog(text).then(function (url) { // [workaround] hide dialog before restore range for IE range focus _this.ui.hideDialog(_this.$dialog); _this.context.invoke('editor.restoreRange'); // build node var $node = _this.createVideoNode(url); if ($node) { // insert video node _this.context.invoke('editor.insertNode', $node); } }).fail(function () { _this.context.invoke('editor.restoreRange'); }); }; /** * show image dialog * * @param {jQuery} $dialog * @return {Promise} */ VideoDialog.prototype.showVideoDialog = function (text) { var _this = this; return $$1.Deferred(function (deferred) { var $videoUrl = _this.$dialog.find('.note-video-url'); var $videoBtn = _this.$dialog.find('.note-video-btn'); _this.ui.onDialogShown(_this.$dialog, function () { _this.context.triggerEvent('dialog.shown'); $videoUrl.val(text).on('input', function () { _this.ui.toggleBtn($videoBtn, $videoUrl.val()); }); if (!env.isSupportTouch) { $videoUrl.trigger('focus'); } $videoBtn.click(function (event) { event.preventDefault(); deferred.resolve($videoUrl.val()); }); _this.bindEnterKey($videoUrl, $videoBtn); }); _this.ui.onDialogHidden(_this.$dialog, function () { $videoUrl.off('input'); $videoBtn.off('click'); if (deferred.state() === 'pending') { deferred.reject(); } }); _this.ui.showDialog(_this.$dialog); }); }; return VideoDialog; }()); var HelpDialog = /** @class */ (function () { function HelpDialog(context) { this.context = context; this.ui = $$1.summernote.ui; this.$body = $$1(document.body); this.$editor = context.layoutInfo.editor; this.options = context.options; this.lang = this.options.langInfo; } HelpDialog.prototype.initialize = function () { var $container = this.options.dialogsInBody ? this.$body : this.$editor; var body = [ '<p class="text-center">', '<a href="http://summernote.org/" target="_blank">Summernote 0.8.10</a> · ', '<a href="https://github.com/summernote/summernote" target="_blank">Project</a> · ', '<a href="https://github.com/summernote/summernote/issues" target="_blank">Issues</a>', '</p>' ].join(''); this.$dialog = this.ui.dialog({ title: this.lang.options.help, fade: this.options.dialogsFade, body: this.createShortcutList(), footer: body, callback: function ($node) { $node.find('.modal-body,.note-modal-body').css({ 'max-height': 300, 'overflow': 'scroll' }); } }).render().appendTo($container); }; HelpDialog.prototype.destroy = function () { this.ui.hideDialog(this.$dialog); this.$dialog.remove(); }; HelpDialog.prototype.createShortcutList = function () { var _this = this; var keyMap = this.options.keyMap[env.isMac ? 'mac' : 'pc']; return Object.keys(keyMap).map(function (key) { var command = keyMap[key]; var $row = $$1('<div><div class="help-list-item"/></div>'); $row.append($$1('<label><kbd>' + key + '</kdb></label>').css({ 'width': 180, 'margin-right': 10 })).append($$1('<span/>').html(_this.context.memo('help.' + command) || command)); return $row.html(); }).join(''); }; /** * show help dialog * * @return {Promise} */ HelpDialog.prototype.showHelpDialog = function () { var _this = this; return $$1.Deferred(function (deferred) { _this.ui.onDialogShown(_this.$dialog, function () { _this.context.triggerEvent('dialog.shown'); deferred.resolve(); }); _this.ui.showDialog(_this.$dialog); }).promise(); }; HelpDialog.prototype.show = function () { var _this = this; this.context.invoke('editor.saveRange'); this.showHelpDialog().then(function () { _this.context.invoke('editor.restoreRange'); }); }; return HelpDialog; }()); var AIR_MODE_POPOVER_X_OFFSET = 20; var AirPopover = /** @class */ (function () { function AirPopover(context) { var _this = this; this.context = context; this.ui = $$1.summernote.ui; this.options = context.options; this.events = { 'summernote.keyup summernote.mouseup summernote.scroll': function () { _this.update(); }, 'summernote.disable summernote.change summernote.dialog.shown': function () { _this.hide(); }, 'summernote.focusout': function (we, e) { // [workaround] Firefox doesn't support relatedTarget on focusout // - Ignore hide action on focus out in FF. if (env.isFF) { return; } if (!e.relatedTarget || !dom.ancestor(e.relatedTarget, func.eq(_this.$popover[0]))) { _this.hide(); } } }; } AirPopover.prototype.shouldInitialize = function () { return this.options.airMode && !lists.isEmpty(this.options.popover.air); }; AirPopover.prototype.initialize = function () { this.$popover = this.ui.popover({ className: 'note-air-popover' }).render().appendTo(this.options.container); var $content = this.$popover.find('.popover-content'); this.context.invoke('buttons.build', $content, this.options.popover.air); }; AirPopover.prototype.destroy = function () { this.$popover.remove(); }; AirPopover.prototype.update = function () { var styleInfo = this.context.invoke('editor.currentStyle'); if (styleInfo.range && !styleInfo.range.isCollapsed()) { var rect = lists.last(styleInfo.range.getClientRects()); if (rect) { var bnd = func.rect2bnd(rect); this.$popover.css({ display: 'block', left: Math.max(bnd.left + bnd.width / 2, 0) - AIR_MODE_POPOVER_X_OFFSET, top: bnd.top + bnd.height }); this.context.invoke('buttons.updateCurrentStyle', this.$popover); } } else { this.hide(); } }; AirPopover.prototype.hide = function () { this.$popover.hide(); }; return AirPopover; }()); var POPOVER_DIST = 5; var HintPopover = /** @class */ (function () { function HintPopover(context) { var _this = this; this.context = context; this.ui = $$1.summernote.ui; this.$editable = context.layoutInfo.editable; this.options = context.options; this.hint = this.options.hint || []; this.direction = this.options.hintDirection || 'bottom'; this.hints = $$1.isArray(this.hint) ? this.hint : [this.hint]; this.events = { 'summernote.keyup': function (we, e) { if (!e.isDefaultPrevented()) { _this.handleKeyup(e); } }, 'summernote.keydown': function (we, e) { _this.handleKeydown(e); }, 'summernote.disable summernote.dialog.shown': function () { _this.hide(); } }; } HintPopover.prototype.shouldInitialize = function () { return this.hints.length > 0; }; HintPopover.prototype.initialize = function () { var _this = this; this.lastWordRange = null; this.$popover = this.ui.popover({ className: 'note-hint-popover', hideArrow: true, direction: '' }).render().appendTo(this.options.container); this.$popover.hide(); this.$content = this.$popover.find('.popover-content,.note-popover-content'); this.$content.on('click', '.note-hint-item', function () { _this.$content.find('.active').removeClass('active'); $$1(_this).addClass('active'); _this.replace(); }); }; HintPopover.prototype.destroy = function () { this.$popover.remove(); }; HintPopover.prototype.selectItem = function ($item) { this.$content.find('.active').removeClass('active'); $item.addClass('active'); this.$content[0].scrollTop = $item[0].offsetTop - (this.$content.innerHeight() / 2); }; HintPopover.prototype.moveDown = function () { var $current = this.$content.find('.note-hint-item.active'); var $next = $current.next(); if ($next.length) { this.selectItem($next); } else { var $nextGroup = $current.parent().next(); if (!$nextGroup.length) { $nextGroup = this.$content.find('.note-hint-group').first(); } this.selectItem($nextGroup.find('.note-hint-item').first()); } }; HintPopover.prototype.moveUp = function () { var $current = this.$content.find('.note-hint-item.active'); var $prev = $current.prev(); if ($prev.length) { this.selectItem($prev); } else { var $prevGroup = $current.parent().prev(); if (!$prevGroup.length) { $prevGroup = this.$content.find('.note-hint-group').last(); } this.selectItem($prevGroup.find('.note-hint-item').last()); } }; HintPopover.prototype.replace = function () { var $item = this.$content.find('.note-hint-item.active'); if ($item.length) { var node = this.nodeFromItem($item); // XXX: consider to move codes to editor for recording redo/undo. this.lastWordRange.insertNode(node); range.createFromNode(node).collapse().select(); this.lastWordRange = null; this.hide(); this.context.triggerEvent('change', this.$editable.html(), this.$editable[0]); this.context.invoke('editor.focus'); } }; HintPopover.prototype.nodeFromItem = function ($item) { var hint = this.hints[$item.data('index')]; var item = $item.data('item'); var node = hint.content ? hint.content(item) : item; if (typeof node === 'string') { node = dom.createText(node); } return node; }; HintPopover.prototype.createItemTemplates = function (hintIdx, items) { var hint = this.hints[hintIdx]; return items.map(function (item, idx) { var $item = $$1('<div class="note-hint-item"/>'); $item.append(hint.template ? hint.template(item) : item + ''); $item.data({ 'index': hintIdx, 'item': item }); return $item; }); }; HintPopover.prototype.handleKeydown = function (e) { if (!this.$popover.is(':visible')) { return; } if (e.keyCode === key.code.ENTER) { e.preventDefault(); this.replace(); } else if (e.keyCode === key.code.UP) { e.preventDefault(); this.moveUp(); } else if (e.keyCode === key.code.DOWN) { e.preventDefault(); this.moveDown(); } }; HintPopover.prototype.searchKeyword = function (index, keyword, callback) { var hint = this.hints[index]; if (hint && hint.match.test(keyword) && hint.search) { var matches = hint.match.exec(keyword); hint.search(matches[1], callback); } else { callback(); } }; HintPopover.prototype.createGroup = function (idx, keyword) { var _this = this; var $group = $$1('<div class="note-hint-group note-hint-group-' + idx + '"/>'); this.searchKeyword(idx, keyword, function (items) { items = items || []; if (items.length) { $group.html(_this.createItemTemplates(idx, items)); _this.show(); } }); return $group; }; HintPopover.prototype.handleKeyup = function (e) { var _this = this; if (!lists.contains([key.code.ENTER, key.code.UP, key.code.DOWN], e.keyCode)) { var wordRange = this.context.invoke('editor.createRange').getWordRange(); var keyword_1 = wordRange.toString(); if (this.hints.length && keyword_1) { this.$content.empty(); var bnd = func.rect2bnd(lists.last(wordRange.getClientRects())); if (bnd) { this.$popover.hide(); this.lastWordRange = wordRange; this.hints.forEach(function (hint, idx) { if (hint.match.test(keyword_1)) { _this.createGroup(idx, keyword_1).appendTo(_this.$content); } }); // select first .note-hint-item this.$content.find('.note-hint-item:first').addClass('active'); // set position for popover after group is created if (this.direction === 'top') { this.$popover.css({ left: bnd.left, top: bnd.top - this.$popover.outerHeight() - POPOVER_DIST }); } else { this.$popover.css({ left: bnd.left, top: bnd.top + bnd.height + POPOVER_DIST }); } } } else { this.hide(); } } }; HintPopover.prototype.show = function () { this.$popover.show(); }; HintPopover.prototype.hide = function () { this.$popover.hide(); }; return HintPopover; }()); var Context = /** @class */ (function () { /** * @param {jQuery} $note * @param {Object} options */ function Context($note, options) { this.ui = $$1.summernote.ui; this.$note = $note; this.memos = {}; this.modules = {}; this.layoutInfo = {}; this.options = options; this.initialize(); } /** * create layout and initialize modules and other resources */ Context.prototype.initialize = function () { this.layoutInfo = this.ui.createLayout(this.$note, this.options); this._initialize(); this.$note.hide(); return this; }; /** * destroy modules and other resources and remove layout */ Context.prototype.destroy = function () { this._destroy(); this.$note.removeData('summernote'); this.ui.removeLayout(this.$note, this.layoutInfo); }; /** * destory modules and other resources and initialize it again */ Context.prototype.reset = function () { var disabled = this.isDisabled(); this.code(dom.emptyPara); this._destroy(); this._initialize(); if (disabled) { this.disable(); } }; Context.prototype._initialize = function () { var _this = this; // add optional buttons var buttons = $$1.extend({}, this.options.buttons); Object.keys(buttons).forEach(function (key) { _this.memo('button.' + key, buttons[key]); }); var modules = $$1.extend({}, this.options.modules, $$1.summernote.plugins || {}); // add and initialize modules Object.keys(modules).forEach(function (key) { _this.module(key, modules[key], true); }); Object.keys(this.modules).forEach(function (key) { _this.initializeModule(key); }); }; Context.prototype._destroy = function () { var _this = this; // destroy modules with reversed order Object.keys(this.modules).reverse().forEach(function (key) { _this.removeModule(key); }); Object.keys(this.memos).forEach(function (key) { _this.removeMemo(key); }); // trigger custom onDestroy callback this.triggerEvent('destroy', this); }; Context.prototype.code = function (html) { var isActivated = this.invoke('codeview.isActivated'); if (html === undefined) { this.invoke('codeview.sync'); return isActivated ? this.layoutInfo.codable.val() : this.layoutInfo.editable.html(); } else { if (isActivated) { this.layoutInfo.codable.val(html); } else { this.layoutInfo.editable.html(html); } this.$note.val(html); this.triggerEvent('change', html); } }; Context.prototype.isDisabled = function () { return this.layoutInfo.editable.attr('contenteditable') === 'false'; }; Context.prototype.enable = function () { this.layoutInfo.editable.attr('contenteditable', true); this.invoke('toolbar.activate', true); this.triggerEvent('disable', false); }; Context.prototype.disable = function () { // close codeview if codeview is opend if (this.invoke('codeview.isActivated')) { this.invoke('codeview.deactivate'); } this.layoutInfo.editable.attr('contenteditable', false); this.invoke('toolbar.deactivate', true); this.triggerEvent('disable', true); }; Context.prototype.triggerEvent = function () { var namespace = lists.head(arguments); var args = lists.tail(lists.from(arguments)); var callback = this.options.callbacks[func.namespaceToCamel(namespace, 'on')]; if (callback) { callback.apply(this.$note[0], args); } this.$note.trigger('summernote.' + namespace, args); }; Context.prototype.initializeModule = function (key) { var module = this.modules[key]; module.shouldInitialize = module.shouldInitialize || func.ok; if (!module.shouldInitialize()) { return; } // initialize module if (module.initialize) { module.initialize(); } // attach events if (module.events) { dom.attachEvents(this.$note, module.events); } }; Context.prototype.module = function (key, ModuleClass, withoutIntialize) { if (arguments.length === 1) { return this.modules[key]; } this.modules[key] = new ModuleClass(this); if (!withoutIntialize) { this.initializeModule(key); } }; Context.prototype.removeModule = function (key) { var module = this.modules[key]; if (module.shouldInitialize()) { if (module.events) { dom.detachEvents(this.$note, module.events); } if (module.destroy) { module.destroy(); } } delete this.modules[key]; }; Context.prototype.memo = function (key, obj) { if (arguments.length === 1) { return this.memos[key]; } this.memos[key] = obj; }; Context.prototype.removeMemo = function (key) { if (this.memos[key] && this.memos[key].destroy) { this.memos[key].destroy(); } delete this.memos[key]; }; /** * Some buttons need to change their visual style immediately once they get pressed */ Context.prototype.createInvokeHandlerAndUpdateState = function (namespace, value) { var _this = this; return function (event) { _this.createInvokeHandler(namespace, value)(event); _this.invoke('buttons.updateCurrentStyle'); }; }; Context.prototype.createInvokeHandler = function (namespace, value) { var _this = this; return function (event) { event.preventDefault(); var $target = $$1(event.target); _this.invoke(namespace, value || $target.closest('[data-value]').data('value'), $target); }; }; Context.prototype.invoke = function () { var namespace = lists.head(arguments); var args = lists.tail(lists.from(arguments)); var splits = namespace.split('.'); var hasSeparator = splits.length > 1; var moduleName = hasSeparator && lists.head(splits); var methodName = hasSeparator ? lists.last(splits) : lists.head(splits); var module = this.modules[moduleName || 'editor']; if (!moduleName && this[methodName]) { return this[methodName].apply(this, args); } else if (module && module[methodName] && module.shouldInitialize()) { return module[methodName].apply(module, args); } }; return Context; }()); $$1.fn.extend({ /** * Summernote API * * @param {Object|String} * @return {this} */ summernote: function () { var type = $$1.type(lists.head(arguments)); var isExternalAPICalled = type === 'string'; var hasInitOptions = type === 'object'; var options = $$1.extend({}, $$1.summernote.options, hasInitOptions ? lists.head(arguments) : {}); // Update options options.langInfo = $$1.extend(true, {}, $$1.summernote.lang['en-US'], $$1.summernote.lang[options.lang]); options.icons = $$1.extend(true, {}, $$1.summernote.options.icons, options.icons); options.tooltip = options.tooltip === 'auto' ? !env.isSupportTouch : options.tooltip; this.each(function (idx, note) { var $note = $$1(note); if (!$note.data('summernote')) { var context = new Context($note, options); $note.data('summernote', context); $note.data('summernote').triggerEvent('init', context.layoutInfo); } }); var $note = this.first(); if ($note.length) { var context = $note.data('summernote'); if (isExternalAPICalled) { return context.invoke.apply(context, lists.from(arguments)); } else if (options.focus) { context.invoke('editor.focus'); } } return this; } }); $$1.summernote = $$1.extend($$1.summernote, { version: '0.8.10', ui: ui, plugins: {}, options: { modules: { 'editor': Editor, 'clipboard': Clipboard, 'dropzone': Dropzone, 'codeview': CodeView, 'statusbar': Statusbar, 'fullscreen': Fullscreen, 'handle': Handle, // FIXME: HintPopover must be front of autolink // - Script error about range when Enter key is pressed on hint popover 'hintPopover': HintPopover, 'autoLink': AutoLink, 'autoSync': AutoSync, 'placeholder': Placeholder, 'buttons': Buttons, 'toolbar': Toolbar, 'linkDialog': LinkDialog, 'linkPopover': LinkPopover, 'imageDialog': ImageDialog, 'imagePopover': ImagePopover, 'tablePopover': TablePopover, 'videoDialog': VideoDialog, 'helpDialog': HelpDialog, 'airPopover': AirPopover }, buttons: {}, lang: 'en-US', followingToolbar: true, otherStaticBar: '', // toolbar toolbar: [ ['style', ['style']], ['font', ['bold', 'underline', 'clear']], ['fontname', ['fontname']], ['fontsize', ['fontsize']], ['color', ['color']], ['para', ['ul', 'ol', 'paragraph']], ['table', ['table']], ['insert', ['link', 'picture', 'video']], ['view', ['fullscreen', 'codeview', 'help']] ], // popover popatmouse: true, popover: { image: [ ['imagesize', ['imageSize100', 'imageSize50', 'imageSize25']], ['float', ['floatLeft', 'floatRight', 'floatNone']], ['remove', ['removeMedia']] ], link: [ ['link', ['linkDialogShow', 'unlink']] ], table: [ ['add', ['addRowDown', 'addRowUp', 'addColLeft', 'addColRight']], ['delete', ['deleteRow', 'deleteCol', 'deleteTable']] ], air: [ ['color', ['color']], ['font', ['bold', 'underline', 'clear']], ['para', ['ul', 'paragraph']], ['table', ['table']], ['insert', ['link', 'picture']] ] }, // air mode: inline editor airMode: false, width: null, height: null, focus: false, tabSize: 4, styleWithSpan: true, shortcuts: true, textareaAutoSync: true, hintDirection: 'bottom', tooltip: 'auto', container: 'body', maxTextLength: 0, styleTags: ['p', 'pre', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6'], fontNames: [ 'Arial', 'Arial Black', 'Comic Sans MS', 'Courier New', 'Helvetica Neue', 'Helvetica', 'Impact', 'Lucida Grande', 'Tahoma', 'Times New Roman', 'Verdana' ], fontSizes: ['8', '9', '10', '11', '12', '14', '18', '24', '36'], // pallete colors(n x n) colors: [ ['#000000', '#424242', '#636363', '#9C9C94', '#CEC6CE', '#EFEFEF', '#F7F7F7', '#FFFFFF'], ['#FF0000', '#FF9C00', '#FFFF00', '#00FF00', '#00FFFF', '#0000FF', '#9C00FF', '#FF00FF'], ['#F7C6CE', '#FFE7CE', '#FFEFC6', '#D6EFD6', '#CEDEE7', '#CEE7F7', '#D6D6E7', '#E7D6DE'], ['#E79C9C', '#FFC69C', '#FFE79C', '#B5D6A5', '#A5C6CE', '#9CC6EF', '#B5A5D6', '#D6A5BD'], ['#E76363', '#F7AD6B', '#FFD663', '#94BD7B', '#73A5AD', '#6BADDE', '#8C7BC6', '#C67BA5'], ['#CE0000', '#E79439', '#EFC631', '#6BA54A', '#4A7B8C', '#3984C6', '#634AA5', '#A54A7B'], ['#9C0000', '#B56308', '#BD9400', '#397B21', '#104A5A', '#085294', '#311873', '#731842'], ['#630000', '#7B3900', '#846300', '#295218', '#083139', '#003163', '#21104A', '#4A1031'] ], // http://chir.ag/projects/name-that-color/ colorsName: [ ['Black', 'Tundora', 'Dove Gray', 'Star Dust', 'Pale Slate', 'Gallery', 'Alabaster', 'White'], ['Red', 'Orange Peel', 'Yellow', 'Green', 'Cyan', 'Blue', 'Electric Violet', 'Magenta'], ['Azalea', 'Karry', 'Egg White', 'Zanah', 'Botticelli', 'Tropical Blue', 'Mischka', 'Twilight'], ['Tonys Pink', 'Peach Orange', 'Cream Brulee', 'Sprout', 'Casper', 'Perano', 'Cold Purple', 'Careys Pink'], ['Mandy', 'Rajah', 'Dandelion', 'Olivine', 'Gulf Stream', 'Viking', 'Blue Marguerite', 'Puce'], ['Guardsman Red', 'Fire Bush', 'Golden Dream', 'Chelsea Cucumber', 'Smalt Blue', 'Boston Blue', 'Butterfly Bush', 'Cadillac'], ['Sangria', 'Mai Tai', 'Buddha Gold', 'Forest Green', 'Eden', 'Venice Blue', 'Meteorite', 'Claret'], ['Rosewood', 'Cinnamon', 'Olive', 'Parsley', 'Tiber', 'Midnight Blue', 'Valentino', 'Loulou'] ], lineHeights: ['1.0', '1.2', '1.4', '1.5', '1.6', '1.8', '2.0', '3.0'], tableClassName: 'table table-bordered', insertTableMaxSize: { col: 10, row: 10 }, dialogsInBody: false, dialogsFade: false, maximumImageFileSize: null, callbacks: { onInit: null, onFocus: null, onBlur: null, onBlurCodeview: null, onEnter: null, onKeyup: null, onKeydown: null, onSubmit: null, onImageUpload: null, onImageUploadError: null }, codemirror: { mode: 'text/html', htmlMode: true, lineNumbers: true }, keyMap: { pc: { 'ENTER': 'insertParagraph', 'CTRL+Z': 'undo', 'CTRL+Y': 'redo', 'TAB': 'tab', 'SHIFT+TAB': 'untab', 'CTRL+B': 'bold', 'CTRL+I': 'italic', 'CTRL+U': 'underline', 'CTRL+SHIFT+S': 'strikethrough', 'CTRL+BACKSLASH': 'removeFormat', 'CTRL+SHIFT+L': 'justifyLeft', 'CTRL+SHIFT+E': 'justifyCenter', 'CTRL+SHIFT+R': 'justifyRight', 'CTRL+SHIFT+J': 'justifyFull', 'CTRL+SHIFT+NUM7': 'insertUnorderedList', 'CTRL+SHIFT+NUM8': 'insertOrderedList', 'CTRL+LEFTBRACKET': 'outdent', 'CTRL+RIGHTBRACKET': 'indent', 'CTRL+NUM0': 'formatPara', 'CTRL+NUM1': 'formatH1', 'CTRL+NUM2': 'formatH2', 'CTRL+NUM3': 'formatH3', 'CTRL+NUM4': 'formatH4', 'CTRL+NUM5': 'formatH5', 'CTRL+NUM6': 'formatH6', 'CTRL+ENTER': 'insertHorizontalRule', 'CTRL+K': 'linkDialog.show' }, mac: { 'ENTER': 'insertParagraph', 'CMD+Z': 'undo', 'CMD+SHIFT+Z': 'redo', 'TAB': 'tab', 'SHIFT+TAB': 'untab', 'CMD+B': 'bold', 'CMD+I': 'italic', 'CMD+U': 'underline', 'CMD+SHIFT+S': 'strikethrough', 'CMD+BACKSLASH': 'removeFormat', 'CMD+SHIFT+L': 'justifyLeft', 'CMD+SHIFT+E': 'justifyCenter', 'CMD+SHIFT+R': 'justifyRight', 'CMD+SHIFT+J': 'justifyFull', 'CMD+SHIFT+NUM7': 'insertUnorderedList', 'CMD+SHIFT+NUM8': 'insertOrderedList', 'CMD+LEFTBRACKET': 'outdent', 'CMD+RIGHTBRACKET': 'indent', 'CMD+NUM0': 'formatPara', 'CMD+NUM1': 'formatH1', 'CMD+NUM2': 'formatH2', 'CMD+NUM3': 'formatH3', 'CMD+NUM4': 'formatH4', 'CMD+NUM5': 'formatH5', 'CMD+NUM6': 'formatH6', 'CMD+ENTER': 'insertHorizontalRule', 'CMD+K': 'linkDialog.show' } }, icons: { 'align': 'note-icon-align', 'alignCenter': 'note-icon-align-center', 'alignJustify': 'note-icon-align-justify', 'alignLeft': 'note-icon-align-left', 'alignRight': 'note-icon-align-right', 'rowBelow': 'note-icon-row-below', 'colBefore': 'note-icon-col-before', 'colAfter': 'note-icon-col-after', 'rowAbove': 'note-icon-row-above', 'rowRemove': 'note-icon-row-remove', 'colRemove': 'note-icon-col-remove', 'indent': 'note-icon-align-indent', 'outdent': 'note-icon-align-outdent', 'arrowsAlt': 'note-icon-arrows-alt', 'bold': 'note-icon-bold', 'caret': 'note-icon-caret', 'circle': 'note-icon-circle', 'close': 'note-icon-close', 'code': 'note-icon-code', 'eraser': 'note-icon-eraser', 'font': 'note-icon-font', 'frame': 'note-icon-frame', 'italic': 'note-icon-italic', 'link': 'note-icon-link', 'unlink': 'note-icon-chain-broken', 'magic': 'note-icon-magic', 'menuCheck': 'note-icon-menu-check', 'minus': 'note-icon-minus', 'orderedlist': 'note-icon-orderedlist', 'pencil': 'note-icon-pencil', 'picture': 'note-icon-picture', 'question': 'note-icon-question', 'redo': 'note-icon-redo', 'square': 'note-icon-square', 'strikethrough': 'note-icon-strikethrough', 'subscript': 'note-icon-subscript', 'superscript': 'note-icon-superscript', 'table': 'note-icon-table', 'textHeight': 'note-icon-text-height', 'trash': 'note-icon-trash', 'underline': 'note-icon-underline', 'undo': 'note-icon-undo', 'unorderedlist': 'note-icon-unorderedlist', 'video': 'note-icon-video' } } }); }))); //# sourceMappingURL=summernote-lite.js.map PK�{�\ ]Q�Q�Qsummernote-lite.js.mapnu�[���{"version":3,"file":"summernote-lite.js","sources":["../src/js/base/renderer.js","../src/js/lite/ui/TooltipUI.js","../src/js/lite/ui/DropdownUI.js","../src/js/lite/ui/ModalUI.js","../src/js/lite/ui.js","../src/js/base/summernote-en-US.js","../src/js/base/core/env.js","../src/js/base/core/func.js","../src/js/base/core/lists.js","../src/js/base/core/key.js","../src/js/base/core/dom.js","../src/js/base/core/range.js","../src/js/base/core/async.js","../src/js/base/editing/History.js","../src/js/base/editing/Style.js","../src/js/base/editing/Bullet.js","../src/js/base/editing/Typing.js","../src/js/base/editing/Table.js","../src/js/base/module/Editor.js","../src/js/base/module/Clipboard.js","../src/js/base/module/Dropzone.js","../src/js/base/module/Codeview.js","../src/js/base/module/Statusbar.js","../src/js/base/module/Fullscreen.js","../src/js/base/module/Handle.js","../src/js/base/module/AutoLink.js","../src/js/base/module/AutoSync.js","../src/js/base/module/Placeholder.js","../src/js/base/module/Buttons.js","../src/js/base/module/Toolbar.js","../src/js/base/module/LinkDialog.js","../src/js/base/module/LinkPopover.js","../src/js/base/module/ImageDialog.js","../src/js/base/module/ImagePopover.js","../src/js/base/module/TablePopover.js","../src/js/base/module/VideoDialog.js","../src/js/base/module/HelpDialog.js","../src/js/base/module/AirPopover.js","../src/js/base/module/HintPopover.js","../src/js/base/Context.js","../src/js/summernote.js","../src/js/lite/settings.js"],"sourcesContent":["import $ from 'jquery';\n\nclass Renderer {\n constructor(markup, children, options, callback) {\n this.markup = markup;\n this.children = children;\n this.options = options;\n this.callback = callback;\n }\n\n render($parent) {\n const $node = $(this.markup);\n\n if (this.options && this.options.contents) {\n $node.html(this.options.contents);\n }\n\n if (this.options && this.options.className) {\n $node.addClass(this.options.className);\n }\n\n if (this.options && this.options.data) {\n $.each(this.options.data, (k, v) => {\n $node.attr('data-' + k, v);\n });\n }\n\n if (this.options && this.options.click) {\n $node.on('click', this.options.click);\n }\n\n if (this.children) {\n const $container = $node.find('.note-children-container');\n this.children.forEach((child) => {\n child.render($container.length ? $container : $node);\n });\n }\n\n if (this.callback) {\n this.callback($node, this.options);\n }\n\n if (this.options && this.options.callback) {\n this.options.callback($node);\n }\n\n if ($parent) {\n $parent.append($node);\n }\n\n return $node;\n }\n}\n\nexport default {\n create: (markup, callback) => {\n return () => {\n const options = typeof arguments[1] === 'object' ? arguments[1] : arguments[0];\n let children = $.isArray(arguments[0]) ? arguments[0] : [];\n if (options && options.children) {\n children = options.children;\n }\n return new Renderer(markup, children, options, callback);\n };\n }\n};\n","class TooltipUI {\n constructor($node, options) {\n this.$node = $node;\n this.options = $.extend({}, {\n title: '',\n target: options.container,\n trigger: 'hover focus',\n placement: 'bottom'\n }, options);\n\n // create tooltip node\n this.$tooltip = $([\n '<div class=\"note-tooltip in\">',\n ' <div class=\"note-tooltip-arrow\"/>',\n ' <div class=\"note-tooltip-content\"/>',\n '</div>'\n ].join(''));\n\n // define event\n if (this.options.trigger !== 'manual') {\n const showCallback = this.show.bind(this);\n const hideCallback = this.hide.bind(this);\n const toggleCallback = this.toggle.bind(this);\n\n this.options.trigger.split(' ').forEach(function(eventName) {\n if (eventName === 'hover') {\n $node.off('mouseenter mouseleave');\n $node.on('mouseenter', showCallback).on('mouseleave', hideCallback);\n } else if (eventName === 'click') {\n $node.on('click', toggleCallback);\n } else if (eventName === 'focus') {\n $node.on('focus', showCallback).on('blur', hideCallback);\n }\n });\n }\n }\n\n show() {\n const $node = this.$node;\n const offset = $node.offset();\n\n const $tooltip = this.$tooltip;\n const title = this.options.title || $node.attr('title') || $node.data('title');\n const placement = this.options.placement || $node.data('placement');\n\n $tooltip.addClass(placement);\n $tooltip.addClass('in');\n $tooltip.find('.note-tooltip-content').text(title);\n $tooltip.appendTo(this.options.target);\n\n const nodeWidth = $node.outerWidth();\n const nodeHeight = $node.outerHeight();\n const tooltipWidth = $tooltip.outerWidth();\n const tooltipHeight = $tooltip.outerHeight();\n\n if (placement === 'bottom') {\n $tooltip.css({\n top: offset.top + nodeHeight,\n left: offset.left + (nodeWidth / 2 - tooltipWidth / 2)\n });\n } else if (placement === 'top') {\n $tooltip.css({\n top: offset.top - tooltipHeight,\n left: offset.left + (nodeWidth / 2 - tooltipWidth / 2)\n });\n } else if (placement === 'left') {\n $tooltip.css({\n top: offset.top + (nodeHeight / 2 - tooltipHeight / 2),\n left: offset.left - tooltipWidth\n });\n } else if (placement === 'right') {\n $tooltip.css({\n top: offset.top + (nodeHeight / 2 - tooltipHeight / 2),\n left: offset.left + nodeWidth\n });\n }\n }\n\n hide() {\n this.$tooltip.removeClass('in');\n this.$tooltip.remove();\n }\n\n toggle() {\n if (this.$tooltip.hasClass('in')) {\n this.hide();\n } else {\n this.show();\n }\n }\n}\n\nexport default TooltipUI;\n","class DropdownUI {\n constructor($node, options) {\n this.$button = $node;\n this.options = $.extend({}, {\n target: options.container\n }, options);\n this.setEvent();\n }\n\n setEvent() {\n this.$button.on('click', this.toggle.bind(this));\n }\n\n clear() {\n var $parent = $('.note-btn-group.open');\n $parent.find('.note-btn.active').removeClass('active');\n $parent.removeClass('open');\n }\n\n show() {\n this.$button.addClass('active');\n this.$button.parent().addClass('open');\n\n var $dropdown = this.$button.next();\n var offset = $dropdown.offset();\n var width = $dropdown.outerWidth();\n var windowWidth = $(window).width();\n var targetMarginRight = parseFloat($(this.options.target).css('margin-right'));\n\n if (offset.left + width > windowWidth - targetMarginRight) {\n $dropdown.css('margin-left', windowWidth - targetMarginRight - (offset.left + width));\n } else {\n $dropdown.css('margin-left', '');\n }\n }\n\n hide() {\n this.$button.removeClass('active');\n this.$button.parent().removeClass('open');\n }\n\n toggle() {\n var isOpened = this.$button.parent().hasClass('open');\n\n this.clear();\n\n if (isOpened) {\n this.hide();\n } else {\n this.show();\n }\n }\n}\n\n$(document).on('click', function(e) {\n if (!$(e.target).closest('.note-btn-group').length) {\n $('.note-btn-group.open').removeClass('open');\n }\n});\n\n$(document).on('click.note-dropdown-menu', function(e) {\n $(e.target).closest('.note-dropdown-menu').parent().removeClass('open');\n});\n\nexport default DropdownUI;\n","class ModalUI {\n constructor($node, options) {\n this.options = $.extend({}, {\n target: options.container || 'body'\n }, options);\n\n this.$modal = $node;\n this.$backdrop = $('<div class=\"note-modal-backdrop\" />');\n }\n\n show() {\n if (this.options.target === 'body') {\n this.$backdrop.css('position', 'fixed');\n this.$modal.css('position', 'fixed');\n } else {\n this.$backdrop.css('position', 'absolute');\n this.$modal.css('position', 'absolute');\n }\n\n this.$backdrop.appendTo(this.options.target).show();\n this.$modal.appendTo(this.options.target).addClass('open').show();\n\n this.$modal.trigger('note.modal.show');\n this.$modal.off('click', '.close').on('click', '.close', this.hide.bind(this));\n }\n\n hide() {\n this.$modal.removeClass('open').hide();\n this.$backdrop.hide();\n this.$modal.trigger('note.modal.hide');\n }\n}\n\nexport default ModalUI;\n","import renderer from '../base/renderer';\nimport TooltipUI from './ui/TooltipUI';\nimport DropdownUI from './ui/DropdownUI';\nimport ModalUI from './ui/ModalUI';\n\nconst editor = renderer.create('<div class=\"note-editor note-frame\"/>');\nconst toolbar = renderer.create('<div class=\"note-toolbar\" role=\"toolbar\"/>');\nconst editingArea = renderer.create('<div class=\"note-editing-area\"/>');\nconst codable = renderer.create('<textarea class=\"note-codable\" role=\"textbox\" aria-multiline=\"true\"/>');\nconst editable = renderer.create('<div class=\"note-editable\" contentEditable=\"true\" role=\"textbox\" aria-multiline=\"true\"/>');\nconst statusbar = renderer.create([\n '<output class=\"note-status-output\" role=\"status\" aria-live=\"polite\"/>',\n '<div class=\"note-statusbar\" role=\"resize\">',\n ' <div class=\"note-resizebar\" role=\"seperator\" aria-orientation=\"horizontal\" aria-label=\"resize\">',\n ' <div class=\"note-icon-bar\"/>',\n ' <div class=\"note-icon-bar\"/>',\n ' <div class=\"note-icon-bar\"/>',\n ' </div>',\n '</div>'\n].join(''));\n\nconst airEditor = renderer.create('<div class=\"note-editor\"/>');\nconst airEditable = renderer.create([\n '<output class=\"note-status-output\" role=\"status\" aria-live=\"polite\"/>',\n '<div class=\"note-editable\" contentEditable=\"true\" role=\"textbox\" aria-multiline=\"true\"/>'\n].join(''));\n\nconst buttonGroup = renderer.create('<div class=\"note-btn-group\">');\nconst button = renderer.create('<button type=\"button\" class=\"note-btn\" role=\"button\" tabindex=\"-1\">', function($node, options) {\n // set button type\n if (options && options.tooltip) {\n $node.attr({\n 'aria-label': options.tooltip\n });\n $node.data('_lite_tooltip', new TooltipUI($node, {\n title: options.tooltip,\n container: options.container\n }));\n }\n if (options.contents) {\n $node.html(options.contents);\n }\n\n if (options && options.data && options.data.toggle === 'dropdown') {\n $node.data('_lite_dropdown', new DropdownUI($node, {\n container: options.container\n }));\n }\n});\n\nconst dropdown = renderer.create('<div class=\"note-dropdown-menu\" role=\"list\">', function($node, options) {\n const markup = $.isArray(options.items) ? options.items.map(function(item) {\n const value = (typeof item === 'string') ? item : (item.value || '');\n const content = options.template ? options.template(item) : item;\n const $temp = $('<a class=\"note-dropdown-item\" href=\"#\" data-value=\"' + value + '\" role=\"listitem\" aria-label=\"' + item + '\"></a>');\n\n $temp.html(content).data('item', item);\n\n return $temp;\n }) : options.items;\n\n $node.html(markup).attr({'aria-label': options.title});\n\n $node.on('click', '> .note-dropdown-item', function(e) {\n const $a = $(this);\n\n const item = $a.data('item');\n const value = $a.data('value');\n\n if (item.click) {\n item.click($a);\n } else if (options.itemClick) {\n options.itemClick(e, item, value);\n }\n });\n});\n\nconst dropdownCheck = renderer.create('<div class=\"note-dropdown-menu note-check\" role=\"list\">', function($node, options) {\n const markup = $.isArray(options.items) ? options.items.map(function(item) {\n const value = (typeof item === 'string') ? item : (item.value || '');\n const content = options.template ? options.template(item) : item;\n\n const $temp = $('<a class=\"note-dropdown-item\" href=\"#\" data-value=\"' + value + '\" role=\"listitem\" aria-label=\"' + item + '\"></a>');\n $temp.html([icon(options.checkClassName), ' ', content]).data('item', item);\n return $temp;\n }) : options.items;\n\n $node.html(markup).attr({'aria-label': options.title});\n\n $node.on('click', '> .note-dropdown-item', function(e) {\n const $a = $(this);\n\n const item = $a.data('item');\n const value = $a.data('value');\n\n if (item.click) {\n item.click($a);\n } else if (options.itemClick) {\n options.itemClick(e, item, value);\n }\n });\n});\n\nconst dropdownButtonContents = function(contents, options) {\n return contents + ' ' + icon(options.icons.caret, 'span');\n};\n\nconst dropdownButton = function(opt, callback) {\n return buttonGroup([\n button({\n className: 'dropdown-toggle',\n contents: opt.title + ' ' + icon('note-icon-caret'),\n tooltip: opt.tooltip,\n data: {\n toggle: 'dropdown'\n }\n }),\n dropdown({\n className: opt.className,\n items: opt.items,\n template: opt.template,\n itemClick: opt.itemClick\n })\n ], { callback: callback }).render();\n};\n\nconst dropdownCheckButton = function(opt, callback) {\n return buttonGroup([\n button({\n className: 'dropdown-toggle',\n contents: opt.title + ' ' + icon('note-icon-caret'),\n tooltip: opt.tooltip,\n data: {\n toggle: 'dropdown'\n }\n }),\n dropdownCheck({\n className: opt.className,\n checkClassName: opt.checkClassName,\n items: opt.items,\n template: opt.template,\n itemClick: opt.itemClick\n })\n ], { callback: callback }).render();\n};\n\nconst paragraphDropdownButton = function(opt) {\n return buttonGroup([\n button({\n className: 'dropdown-toggle',\n contents: opt.title + ' ' + icon('note-icon-caret'),\n tooltip: opt.tooltip,\n data: {\n toggle: 'dropdown'\n }\n }),\n dropdown([\n buttonGroup({\n className: 'note-align',\n children: opt.items[0]\n }),\n buttonGroup({\n className: 'note-list',\n children: opt.items[1]\n })\n ])\n ]).render();\n};\n\nconst tableMoveHandler = function(event, col, row) {\n const PX_PER_EM = 18;\n const $picker = $(event.target.parentNode); // target is mousecatcher\n const $dimensionDisplay = $picker.next();\n const $catcher = $picker.find('.note-dimension-picker-mousecatcher');\n const $highlighted = $picker.find('.note-dimension-picker-highlighted');\n const $unhighlighted = $picker.find('.note-dimension-picker-unhighlighted');\n\n let posOffset;\n // HTML5 with jQuery - e.offsetX is undefined in Firefox\n if (event.offsetX === undefined) {\n const posCatcher = $(event.target).offset();\n posOffset = {\n x: event.pageX - posCatcher.left,\n y: event.pageY - posCatcher.top\n };\n } else {\n posOffset = {\n x: event.offsetX,\n y: event.offsetY\n };\n }\n\n const dim = {\n c: Math.ceil(posOffset.x / PX_PER_EM) || 1,\n r: Math.ceil(posOffset.y / PX_PER_EM) || 1\n };\n\n $highlighted.css({ width: dim.c + 'em', height: dim.r + 'em' });\n $catcher.data('value', dim.c + 'x' + dim.r);\n\n if (dim.c > 3 && dim.c < col) {\n $unhighlighted.css({ width: dim.c + 1 + 'em' });\n }\n\n if (dim.r > 3 && dim.r < row) {\n $unhighlighted.css({ height: dim.r + 1 + 'em' });\n }\n\n $dimensionDisplay.html(dim.c + ' x ' + dim.r);\n};\n\nconst tableDropdownButton = function(opt) {\n return buttonGroup([\n button({\n className: 'dropdown-toggle',\n contents: opt.title + ' ' + icon('note-icon-caret'),\n tooltip: opt.tooltip,\n data: {\n toggle: 'dropdown'\n }\n }),\n dropdown({\n className: 'note-table',\n items: [\n '<div class=\"note-dimension-picker\">',\n ' <div class=\"note-dimension-picker-mousecatcher\" data-event=\"insertTable\" data-value=\"1x1\"/>',\n ' <div class=\"note-dimension-picker-highlighted\"/>',\n ' <div class=\"note-dimension-picker-unhighlighted\"/>',\n '</div>',\n '<div class=\"note-dimension-display\">1 x 1</div>'\n ].join('')\n })\n ], {\n callback: function($node) {\n const $catcher = $node.find('.note-dimension-picker-mousecatcher');\n $catcher.css({\n width: opt.col + 'em',\n height: opt.row + 'em'\n })\n .mousedown(opt.itemClick)\n .mousemove(function(e) {\n tableMoveHandler(e, opt.col, opt.row);\n });\n }\n }).render();\n};\n\nconst palette = renderer.create('<div class=\"note-color-palette\"/>', function($node, options) {\n const contents = [];\n for (let row = 0, rowSize = options.colors.length; row < rowSize; row++) {\n const eventName = options.eventName;\n const colors = options.colors[row];\n const colorsName = options.colorsName[row];\n const buttons = [];\n for (let col = 0, colSize = colors.length; col < colSize; col++) {\n const color = colors[col];\n const colorName = colorsName[col];\n buttons.push([\n '<button type=\"button\" class=\"note-btn note-color-btn\"',\n 'style=\"background-color:', color, '\" ',\n 'data-event=\"', eventName, '\" ',\n 'data-value=\"', color, '\" ',\n 'title=\"', colorName, '\" ',\n 'aria-label=\"', colorName, '\" ',\n 'data-toggle=\"button\" tabindex=\"-1\"></button>'\n ].join(''));\n }\n contents.push('<div class=\"note-color-row\">' + buttons.join('') + '</div>');\n }\n $node.html(contents.join(''));\n\n $node.find('.note-color-btn').each(function() {\n $(this).data('_lite_tooltip', new TooltipUI($(this), {\n container: options.container\n }));\n });\n});\n\nconst colorDropdownButton = function(opt, type) {\n return buttonGroup({\n className: 'note-color',\n children: [\n button({\n className: 'note-current-color-button',\n contents: opt.title,\n tooltip: opt.lang.color.recent,\n click: opt.currentClick,\n callback: function($button) {\n const $recentColor = $button.find('.note-recent-color');\n\n if (type !== 'foreColor') {\n $recentColor.css('background-color', '#FFFF00');\n $button.attr('data-backColor', '#FFFF00');\n }\n }\n }),\n button({\n className: 'dropdown-toggle',\n contents: icon('note-icon-caret'),\n tooltip: opt.lang.color.more,\n data: {\n toggle: 'dropdown'\n }\n }),\n dropdown({\n items: [\n '<div>',\n '<div class=\"note-btn-group btn-background-color\">',\n ' <div class=\"note-palette-title\">' + opt.lang.color.background + '</div>',\n ' <div>',\n '<button type=\"button\" class=\"note-color-reset note-btn note-btn-block\" ' +\n ' data-event=\"backColor\" data-value=\"inherit\">',\n opt.lang.color.transparent,\n ' </button>',\n ' </div>',\n ' <div class=\"note-holder\" data-event=\"backColor\"/>',\n '</div>',\n '<div class=\"note-btn-group btn-foreground-color\">',\n ' <div class=\"note-palette-title\">' + opt.lang.color.foreground + '</div>',\n ' <div>',\n '<button type=\"button\" class=\"note-color-reset note-btn note-btn-block\" ' +\n ' data-event=\"removeFormat\" data-value=\"foreColor\">',\n opt.lang.color.resetToDefault,\n ' </button>',\n ' </div>',\n ' <div class=\"note-holder\" data-event=\"foreColor\"/>',\n '</div>',\n '</div>'\n ].join(''),\n callback: function($dropdown) {\n $dropdown.find('.note-holder').each(function() {\n const $holder = $(this);\n $holder.append(palette({\n colors: opt.colors,\n eventName: $holder.data('event')\n }).render());\n });\n\n if (type === 'fore') {\n $dropdown.find('.btn-background-color').hide();\n $dropdown.css({ 'min-width': '210px' });\n } else if (type === 'back') {\n $dropdown.find('.btn-foreground-color').hide();\n $dropdown.css({ 'min-width': '210px' });\n }\n },\n click: function(event) {\n const $button = $(event.target);\n const eventName = $button.data('event');\n const value = $button.data('value');\n\n if (eventName && value) {\n const key = eventName === 'backColor' ? 'background-color' : 'color';\n const $color = $button.closest('.note-color').find('.note-recent-color');\n const $currentButton = $button.closest('.note-color').find('.note-current-color-button');\n\n $color.css(key, value);\n $currentButton.attr('data-' + eventName, value);\n\n if (type === 'fore') {\n opt.itemClick('foreColor', value);\n } else if (type === 'back') {\n opt.itemClick('backColor', value);\n } else {\n opt.itemClick(eventName, value);\n }\n }\n }\n })\n ]\n }).render();\n};\n\nconst dialog = renderer.create('<div class=\"note-modal\" aria-hidden=\"false\" tabindex=\"-1\" role=\"dialog\"/>', function($node, options) {\n if (options.fade) {\n $node.addClass('fade');\n }\n $node.attr({\n 'aria-label': options.title\n });\n $node.html([\n ' <div class=\"note-modal-content\">',\n (options.title\n ? ' <div class=\"note-modal-header\">' +\n ' <button type=\"button\" class=\"close\" aria-label=\"Close\" aria-hidden=\"true\"><i class=\"note-icon-close\"></i></button>' +\n ' <h4 class=\"note-modal-title\">' + options.title + '</h4>' +\n ' </div>' : ''\n ),\n ' <div class=\"note-modal-body\">' + options.body + '</div>',\n (options.footer\n ? ' <div class=\"note-modal-footer\">' + options.footer + '</div>' : ''\n ),\n ' </div>'\n ].join(''));\n\n $node.data('modal', new ModalUI($node, options));\n});\n\nconst videoDialog = function(opt) {\n const body = '<div class=\"note-form-group\">' +\n '<label class=\"note-form-label\">' +\n opt.lang.video.url + ' <small class=\"text-muted\">' +\n opt.lang.video.providers + '</small>' +\n '</label>' +\n '<input class=\"note-video-url note-input\" type=\"text\" />' +\n '</div>';\n const footer = [\n '<button type=\"button\" href=\"#\" class=\"note-btn note-btn-primary note-video-btn disabled\" disabled>',\n opt.lang.video.insert,\n '</button>'\n ].join('');\n\n return dialog({\n title: opt.lang.video.insert,\n fade: opt.fade,\n body: body,\n footer: footer\n }).render();\n};\n\nconst imageDialog = function(opt) {\n const body = '<div class=\"note-form-group note-group-select-from-files\">' +\n '<label class=\"note-form-label\">' + opt.lang.image.selectFromFiles + '</label>' +\n '<input class=\"note-note-image-input note-input\" type=\"file\" name=\"files\" accept=\"image/*\" multiple=\"multiple\" />' +\n opt.imageLimitation +\n '</div>' +\n '<div class=\"note-form-group\" style=\"overflow:auto;\">' +\n '<label class=\"note-form-label\">' + opt.lang.image.url + '</label>' +\n '<input class=\"note-image-url note-input\" type=\"text\" />' +\n '</div>';\n const footer = [\n '<button href=\"#\" type=\"button\" class=\"note-btn note-btn-primary note-btn-large note-image-btn disabled\" disabled>',\n opt.lang.image.insert,\n '</button>'\n ].join('');\n\n return dialog({\n title: opt.lang.image.insert,\n fade: opt.fade,\n body: body,\n footer: footer\n }).render();\n};\n\nconst linkDialog = function(opt) {\n const body = '<div class=\"note-form-group\">' +\n '<label class=\"note-form-label\">' + opt.lang.link.textToDisplay + '</label>' +\n '<input class=\"note-link-text note-input\" type=\"text\" />' +\n '</div>' +\n '<div class=\"note-form-group\">' +\n '<label class=\"note-form-label\">' + opt.lang.link.url + '</label>' +\n '<input class=\"note-link-url note-input\" type=\"text\" value=\"http://\" />' +\n '</div>' +\n (!opt.disableLinkTarget\n ? '<div class=\"checkbox\">' +\n '<label>' + '<input type=\"checkbox\" checked> ' + opt.lang.link.openInNewWindow + '</label>' +\n '</div>' : ''\n );\n const footer = [\n '<button href=\"#\" type=\"button\" class=\"note-btn note-btn-primary note-link-btn disabled\" disabled>',\n opt.lang.link.insert,\n '</button>'\n ].join('');\n\n return dialog({\n className: 'link-dialog',\n title: opt.lang.link.insert,\n fade: opt.fade,\n body: body,\n footer: footer\n }).render();\n};\n\nconst popover = renderer.create([\n '<div class=\"note-popover bottom\">',\n ' <div class=\"note-popover-arrow\"/>',\n ' <div class=\"note-popover-content note-children-container\"/>',\n '</div>'\n].join(''), function($node, options) {\n const direction = typeof options.direction !== 'undefined' ? options.direction : 'bottom';\n\n $node.addClass(direction).hide();\n\n if (options.hideArrow) {\n $node.find('.note-popover-arrow').hide();\n }\n});\n\nconst checkbox = renderer.create('<div class=\"checkbox\"></div>', function($node, options) {\n $node.html([\n ' <label' + (options.id ? ' for=\"' + options.id + '\"' : '') + '>',\n ' <input role=\"checkbox\" type=\"checkbox\"' + (options.id ? ' id=\"' + options.id + '\"' : ''),\n (options.checked ? ' checked' : ''),\n ' aria-checked=\"' + (options.checked ? 'true' : 'false') + '\"/>',\n (options.text ? options.text : ''),\n '</label>'\n ].join(''));\n});\n\nconst icon = function(iconClassName, tagName) {\n tagName = tagName || 'i';\n return '<' + tagName + ' class=\"' + iconClassName + '\"/>';\n};\n\nconst ui = {\n editor: editor,\n toolbar: toolbar,\n editingArea: editingArea,\n codable: codable,\n editable: editable,\n statusbar: statusbar,\n airEditor: airEditor,\n airEditable: airEditable,\n buttonGroup: buttonGroup,\n button: button,\n dropdown: dropdown,\n dropdownCheck: dropdownCheck,\n dropdownButton: dropdownButton,\n dropdownButtonContents: dropdownButtonContents,\n dropdownCheckButton: dropdownCheckButton,\n paragraphDropdownButton: paragraphDropdownButton,\n tableDropdownButton: tableDropdownButton,\n colorDropdownButton: colorDropdownButton,\n palette: palette,\n dialog: dialog,\n videoDialog: videoDialog,\n imageDialog: imageDialog,\n linkDialog: linkDialog,\n popover: popover,\n checkbox: checkbox,\n icon: icon,\n\n toggleBtn: function($btn, isEnable) {\n $btn.toggleClass('disabled', !isEnable);\n $btn.attr('disabled', !isEnable);\n },\n\n toggleBtnActive: function($btn, isActive) {\n $btn.toggleClass('active', isActive);\n },\n\n check: function($dom, value) {\n $dom.find('.checked').removeClass('checked');\n $dom.find('[data-value=\"' + value + '\"]').addClass('checked');\n },\n\n onDialogShown: function($dialog, handler) {\n $dialog.one('note.modal.show', handler);\n },\n\n onDialogHidden: function($dialog, handler) {\n $dialog.one('note.modal.hide', handler);\n },\n\n showDialog: function($dialog) {\n $dialog.data('modal').show();\n },\n\n hideDialog: function($dialog) {\n $dialog.data('modal').hide();\n },\n\n /**\n * get popover content area\n *\n * @param $popover\n * @returns {*}\n */\n getPopoverContent: function($popover) {\n return $popover.find('.note-popover-content');\n },\n\n /**\n * get dialog's body area\n *\n * @param $dialog\n * @returns {*}\n */\n getDialogBody: function($dialog) {\n return $dialog.find('.note-modal-body');\n },\n\n createLayout: function($note, options) {\n const $editor = (options.airMode ? ui.airEditor([\n ui.editingArea([\n ui.airEditable()\n ])\n ]) : ui.editor([\n ui.toolbar(),\n ui.editingArea([\n ui.codable(),\n ui.editable()\n ]),\n ui.statusbar()\n ])).render();\n\n $editor.insertAfter($note);\n\n return {\n note: $note,\n editor: $editor,\n toolbar: $editor.find('.note-toolbar'),\n editingArea: $editor.find('.note-editing-area'),\n editable: $editor.find('.note-editable'),\n codable: $editor.find('.note-codable'),\n statusbar: $editor.find('.note-statusbar')\n };\n },\n\n removeLayout: function($note, layoutInfo) {\n $note.html(layoutInfo.editable.html());\n layoutInfo.editor.remove();\n $note.off('summernote'); // remove summernote custom event\n $note.show();\n }\n};\n\nexport default ui;\n","import $ from 'jquery';\n\n$.summernote = $.summernote || {\n lang: {}\n};\n\n$.extend($.summernote.lang, {\n 'en-US': {\n font: {\n bold: 'Bold',\n italic: 'Italic',\n underline: 'Underline',\n clear: 'Remove Font Style',\n height: 'Line Height',\n name: 'Font Family',\n strikethrough: 'Strikethrough',\n subscript: 'Subscript',\n superscript: 'Superscript',\n size: 'Font Size'\n },\n image: {\n image: 'Picture',\n insert: 'Insert Image',\n resizeFull: 'Resize Full',\n resizeHalf: 'Resize Half',\n resizeQuarter: 'Resize Quarter',\n floatLeft: 'Float Left',\n floatRight: 'Float Right',\n floatNone: 'Float None',\n shapeRounded: 'Shape: Rounded',\n shapeCircle: 'Shape: Circle',\n shapeThumbnail: 'Shape: Thumbnail',\n shapeNone: 'Shape: None',\n dragImageHere: 'Drag image or text here',\n dropImage: 'Drop image or Text',\n selectFromFiles: 'Select from files',\n maximumFileSize: 'Maximum file size',\n maximumFileSizeError: 'Maximum file size exceeded.',\n url: 'Image URL',\n remove: 'Remove Image',\n original: 'Original'\n },\n video: {\n video: 'Video',\n videoLink: 'Video Link',\n insert: 'Insert Video',\n url: 'Video URL',\n providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion or Youku)'\n },\n link: {\n link: 'Link',\n insert: 'Insert Link',\n unlink: 'Unlink',\n edit: 'Edit',\n textToDisplay: 'Text to display',\n url: 'To what URL should this link go?',\n openInNewWindow: 'Open in new window'\n },\n table: {\n table: 'Table',\n addRowAbove: 'Add row above',\n addRowBelow: 'Add row below',\n addColLeft: 'Add column left',\n addColRight: 'Add column right',\n delRow: 'Delete row',\n delCol: 'Delete column',\n delTable: 'Delete table'\n },\n hr: {\n insert: 'Insert Horizontal Rule'\n },\n style: {\n style: 'Style',\n p: 'Normal',\n blockquote: 'Quote',\n pre: 'Code',\n h1: 'Header 1',\n h2: 'Header 2',\n h3: 'Header 3',\n h4: 'Header 4',\n h5: 'Header 5',\n h6: 'Header 6'\n },\n lists: {\n unordered: 'Unordered list',\n ordered: 'Ordered list'\n },\n options: {\n help: 'Help',\n fullscreen: 'Full Screen',\n codeview: 'Code View'\n },\n paragraph: {\n paragraph: 'Paragraph',\n outdent: 'Outdent',\n indent: 'Indent',\n left: 'Align left',\n center: 'Align center',\n right: 'Align right',\n justify: 'Justify full'\n },\n color: {\n recent: 'Recent Color',\n more: 'More Color',\n background: 'Background Color',\n foreground: 'Foreground Color',\n transparent: 'Transparent',\n setTransparent: 'Set transparent',\n reset: 'Reset',\n resetToDefault: 'Reset to default'\n },\n shortcut: {\n shortcuts: 'Keyboard shortcuts',\n close: 'Close',\n textFormatting: 'Text formatting',\n action: 'Action',\n paragraphFormatting: 'Paragraph formatting',\n documentStyle: 'Document Style',\n extraKeys: 'Extra keys'\n },\n help: {\n 'insertParagraph': 'Insert Paragraph',\n 'undo': 'Undoes the last command',\n 'redo': 'Redoes the last command',\n 'tab': 'Tab',\n 'untab': 'Untab',\n 'bold': 'Set a bold style',\n 'italic': 'Set a italic style',\n 'underline': 'Set a underline style',\n 'strikethrough': 'Set a strikethrough style',\n 'removeFormat': 'Clean a style',\n 'justifyLeft': 'Set left align',\n 'justifyCenter': 'Set center align',\n 'justifyRight': 'Set right align',\n 'justifyFull': 'Set full align',\n 'insertUnorderedList': 'Toggle unordered list',\n 'insertOrderedList': 'Toggle ordered list',\n 'outdent': 'Outdent on current paragraph',\n 'indent': 'Indent on current paragraph',\n 'formatPara': 'Change current block\\'s format as a paragraph(P tag)',\n 'formatH1': 'Change current block\\'s format as H1',\n 'formatH2': 'Change current block\\'s format as H2',\n 'formatH3': 'Change current block\\'s format as H3',\n 'formatH4': 'Change current block\\'s format as H4',\n 'formatH5': 'Change current block\\'s format as H5',\n 'formatH6': 'Change current block\\'s format as H6',\n 'insertHorizontalRule': 'Insert horizontal rule',\n 'linkDialog.show': 'Show Link Dialog'\n },\n history: {\n undo: 'Undo',\n redo: 'Redo'\n },\n specialChar: {\n specialChar: 'SPECIAL CHARACTERS',\n select: 'Select Special characters'\n }\n }\n});\n","import $ from 'jquery';\nconst isSupportAmd = typeof define === 'function' && define.amd; // eslint-disable-line\n\n/**\n * returns whether font is installed or not.\n *\n * @param {String} fontName\n * @return {Boolean}\n */\nfunction isFontInstalled(fontName) {\n const testFontName = fontName === 'Comic Sans MS' ? 'Courier New' : 'Comic Sans MS';\n const $tester = $('<div>').css({\n position: 'absolute',\n left: '-9999px',\n top: '-9999px',\n fontSize: '200px'\n }).text('mmmmmmmmmwwwwwww').appendTo(document.body);\n\n const originalWidth = $tester.css('fontFamily', testFontName).width();\n const width = $tester.css('fontFamily', fontName + ',' + testFontName).width();\n\n $tester.remove();\n\n return originalWidth !== width;\n}\n\nconst userAgent = navigator.userAgent;\nconst isMSIE = /MSIE|Trident/i.test(userAgent);\nlet browserVersion;\nif (isMSIE) {\n let matches = /MSIE (\\d+[.]\\d+)/.exec(userAgent);\n if (matches) {\n browserVersion = parseFloat(matches[1]);\n }\n matches = /Trident\\/.*rv:([0-9]{1,}[.0-9]{0,})/.exec(userAgent);\n if (matches) {\n browserVersion = parseFloat(matches[1]);\n }\n}\n\nconst isEdge = /Edge\\/\\d+/.test(userAgent);\n\nlet hasCodeMirror = !!window.CodeMirror;\nif (!hasCodeMirror && isSupportAmd) {\n // Webpack\n if (typeof __webpack_require__ === 'function') { // eslint-disable-line\n try {\n // If CodeMirror can't be resolved, `require.resolve` will throw an\n // exception and `hasCodeMirror` won't be set to `true`.\n require.resolve('codemirror');\n hasCodeMirror = true;\n } catch (e) {\n // do nothing\n }\n } else if (typeof require !== 'undefined') {\n // Browserify\n if (typeof require.resolve !== 'undefined') {\n try {\n // If CodeMirror can't be resolved, `require.resolve` will throw an\n // exception and `hasCodeMirror` won't be set to `true`.\n require.resolve('codemirror');\n hasCodeMirror = true;\n } catch (e) {\n // do nothing\n }\n // Almond/Require\n } else if (typeof require.specified !== 'undefined') {\n hasCodeMirror = require.specified('codemirror');\n }\n }\n}\n\nconst isSupportTouch =\n (('ontouchstart' in window) ||\n (navigator.MaxTouchPoints > 0) ||\n (navigator.msMaxTouchPoints > 0));\n\n// [workaround] IE doesn't have input events for contentEditable\n// - see: https://goo.gl/4bfIvA\nconst inputEventName = (isMSIE || isEdge) ? 'DOMCharacterDataModified DOMSubtreeModified DOMNodeInserted' : 'input';\n\n/**\n * @class core.env\n *\n * Object which check platform and agent\n *\n * @singleton\n * @alternateClassName env\n */\nexport default {\n isMac: navigator.appVersion.indexOf('Mac') > -1,\n isMSIE,\n isEdge,\n isFF: !isEdge && /firefox/i.test(userAgent),\n isPhantom: /PhantomJS/i.test(userAgent),\n isWebkit: !isEdge && /webkit/i.test(userAgent),\n isChrome: !isEdge && /chrome/i.test(userAgent),\n isSafari: !isEdge && /safari/i.test(userAgent),\n browserVersion,\n jqueryVersion: parseFloat($.fn.jquery),\n isSupportAmd,\n isSupportTouch,\n hasCodeMirror,\n isFontInstalled,\n isW3CRangeSupport: !!document.createRange,\n inputEventName\n};\n","/**\n * @class core.func\n *\n * func utils (for high-order func's arg)\n *\n * @singleton\n * @alternateClassName func\n */\nfunction eq(itemA) {\n return function(itemB) {\n return itemA === itemB;\n };\n}\n\nfunction eq2(itemA, itemB) {\n return itemA === itemB;\n}\n\nfunction peq2(propName) {\n return function(itemA, itemB) {\n return itemA[propName] === itemB[propName];\n };\n}\n\nfunction ok() {\n return true;\n}\n\nfunction fail() {\n return false;\n}\n\nfunction not(f) {\n return () => {\n return !f.apply(f, arguments);\n };\n}\n\nfunction and(fA, fB) {\n return function(item) {\n return fA(item) && fB(item);\n };\n}\n\nfunction self(a) {\n return a;\n}\n\nfunction invoke(obj, method) {\n return () => {\n return obj[method].apply(obj, arguments);\n };\n}\n\nlet idCounter = 0;\n\n/**\n * generate a globally-unique id\n *\n * @param {String} [prefix]\n */\nfunction uniqueId(prefix) {\n const id = ++idCounter + '';\n return prefix ? prefix + id : id;\n}\n\n/**\n * returns bnd (bounds) from rect\n *\n * - IE Compatibility Issue: http://goo.gl/sRLOAo\n * - Scroll Issue: http://goo.gl/sNjUc\n *\n * @param {Rect} rect\n * @return {Object} bounds\n * @return {Number} bounds.top\n * @return {Number} bounds.left\n * @return {Number} bounds.width\n * @return {Number} bounds.height\n */\nfunction rect2bnd(rect) {\n const $document = $(document);\n return {\n top: rect.top + $document.scrollTop(),\n left: rect.left + $document.scrollLeft(),\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n}\n\n/**\n * returns a copy of the object where the keys have become the values and the values the keys.\n * @param {Object} obj\n * @return {Object}\n */\nfunction invertObject(obj) {\n const inverted = {};\n for (const key in obj) {\n if (obj.hasOwnProperty(key)) {\n inverted[obj[key]] = key;\n }\n }\n return inverted;\n}\n\n/**\n * @param {String} namespace\n * @param {String} [prefix]\n * @return {String}\n */\nfunction namespaceToCamel(namespace, prefix) {\n prefix = prefix || '';\n return prefix + namespace.split('.').map(function(name) {\n return name.substring(0, 1).toUpperCase() + name.substring(1);\n }).join('');\n}\n\n/**\n * Returns a function, that, as long as it continues to be invoked, will not\n * be triggered. The function will be called after it stops being called for\n * N milliseconds. If `immediate` is passed, trigger the function on the\n * leading edge, instead of the trailing.\n * @param {Function} func\n * @param {Number} wait\n * @param {Boolean} immediate\n * @return {Function}\n */\nfunction debounce(func, wait, immediate) {\n let timeout;\n return () => {\n const context = this;\n const args = arguments;\n const later = () => {\n timeout = null;\n if (!immediate) {\n func.apply(context, args);\n }\n };\n const callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) {\n func.apply(context, args);\n }\n };\n}\n\nexport default {\n eq,\n eq2,\n peq2,\n ok,\n fail,\n self,\n not,\n and,\n invoke,\n uniqueId,\n rect2bnd,\n invertObject,\n namespaceToCamel,\n debounce\n};\n","import $ from 'jquery';\nimport func from './func';\n\n/**\n * returns the first item of an array.\n *\n * @param {Array} array\n */\nfunction head(array) {\n return array[0];\n}\n\n/**\n * returns the last item of an array.\n *\n * @param {Array} array\n */\nfunction last(array) {\n return array[array.length - 1];\n}\n\n/**\n * returns everything but the last entry of the array.\n *\n * @param {Array} array\n */\nfunction initial(array) {\n return array.slice(0, array.length - 1);\n}\n\n/**\n * returns the rest of the items in an array.\n *\n * @param {Array} array\n */\nfunction tail(array) {\n return array.slice(1);\n}\n\n/**\n * returns item of array\n */\nfunction find(array, pred) {\n for (let idx = 0, len = array.length; idx < len; idx++) {\n const item = array[idx];\n if (pred(item)) {\n return item;\n }\n }\n}\n\n/**\n * returns true if all of the values in the array pass the predicate truth test.\n */\nfunction all(array, pred) {\n for (let idx = 0, len = array.length; idx < len; idx++) {\n if (!pred(array[idx])) {\n return false;\n }\n }\n return true;\n}\n\n/**\n * returns index of item\n */\nfunction indexOf(array, item) {\n return $.inArray(item, array);\n}\n\n/**\n * returns true if the value is present in the list.\n */\nfunction contains(array, item) {\n return indexOf(array, item) !== -1;\n}\n\n/**\n * get sum from a list\n *\n * @param {Array} array - array\n * @param {Function} fn - iterator\n */\nfunction sum(array, fn) {\n fn = fn || func.self;\n return array.reduce(function(memo, v) {\n return memo + fn(v);\n }, 0);\n}\n\n/**\n * returns a copy of the collection with array type.\n * @param {Collection} collection - collection eg) node.childNodes, ...\n */\nfunction from(collection) {\n const result = [];\n const length = collection.length;\n let idx = -1;\n while (++idx < length) {\n result[idx] = collection[idx];\n }\n return result;\n}\n\n/**\n * returns whether list is empty or not\n */\nfunction isEmpty(array) {\n return !array || !array.length;\n}\n\n/**\n * cluster elements by predicate function.\n *\n * @param {Array} array - array\n * @param {Function} fn - predicate function for cluster rule\n * @param {Array[]}\n */\nfunction clusterBy(array, fn) {\n if (!array.length) { return []; }\n const aTail = tail(array);\n return aTail.reduce(function(memo, v) {\n const aLast = last(memo);\n if (fn(last(aLast), v)) {\n aLast[aLast.length] = v;\n } else {\n memo[memo.length] = [v];\n }\n return memo;\n }, [[head(array)]]);\n}\n\n/**\n * returns a copy of the array with all false values removed\n *\n * @param {Array} array - array\n * @param {Function} fn - predicate function for cluster rule\n */\nfunction compact(array) {\n const aResult = [];\n for (let idx = 0, len = array.length; idx < len; idx++) {\n if (array[idx]) { aResult.push(array[idx]); }\n }\n return aResult;\n}\n\n/**\n * produces a duplicate-free version of the array\n *\n * @param {Array} array\n */\nfunction unique(array) {\n const results = [];\n\n for (let idx = 0, len = array.length; idx < len; idx++) {\n if (!contains(results, array[idx])) {\n results.push(array[idx]);\n }\n }\n\n return results;\n}\n\n/**\n * returns next item.\n * @param {Array} array\n */\nfunction next(array, item) {\n const idx = indexOf(array, item);\n if (idx === -1) { return null; }\n\n return array[idx + 1];\n}\n\n/**\n * returns prev item.\n * @param {Array} array\n */\nfunction prev(array, item) {\n const idx = indexOf(array, item);\n if (idx === -1) { return null; }\n\n return array[idx - 1];\n}\n\n/**\n * @class core.list\n *\n * list utils\n *\n * @singleton\n * @alternateClassName list\n */\nexport default {\n head,\n last,\n initial,\n tail,\n prev,\n next,\n find,\n contains,\n all,\n sum,\n from,\n isEmpty,\n clusterBy,\n compact,\n unique\n};\n","import lists from './lists';\nimport func from './func';\n\nconst KEY_MAP = {\n 'BACKSPACE': 8,\n 'TAB': 9,\n 'ENTER': 13,\n 'SPACE': 32,\n 'DELETE': 46,\n\n // Arrow\n 'LEFT': 37,\n 'UP': 38,\n 'RIGHT': 39,\n 'DOWN': 40,\n\n // Number: 0-9\n 'NUM0': 48,\n 'NUM1': 49,\n 'NUM2': 50,\n 'NUM3': 51,\n 'NUM4': 52,\n 'NUM5': 53,\n 'NUM6': 54,\n 'NUM7': 55,\n 'NUM8': 56,\n\n // Alphabet: a-z\n 'B': 66,\n 'E': 69,\n 'I': 73,\n 'J': 74,\n 'K': 75,\n 'L': 76,\n 'R': 82,\n 'S': 83,\n 'U': 85,\n 'V': 86,\n 'Y': 89,\n 'Z': 90,\n\n 'SLASH': 191,\n 'LEFTBRACKET': 219,\n 'BACKSLASH': 220,\n 'RIGHTBRACKET': 221\n};\n\n/**\n * @class core.key\n *\n * Object for keycodes.\n *\n * @singleton\n * @alternateClassName key\n */\nexport default {\n /**\n * @method isEdit\n *\n * @param {Number} keyCode\n * @return {Boolean}\n */\n isEdit: (keyCode) => {\n return lists.contains([\n KEY_MAP.BACKSPACE,\n KEY_MAP.TAB,\n KEY_MAP.ENTER,\n KEY_MAP.SPACE,\n KEY_MAP.DELETE\n ], keyCode);\n },\n /**\n * @method isMove\n *\n * @param {Number} keyCode\n * @return {Boolean}\n */\n isMove: (keyCode) => {\n return lists.contains([\n KEY_MAP.LEFT,\n KEY_MAP.UP,\n KEY_MAP.RIGHT,\n KEY_MAP.DOWN\n ], keyCode);\n },\n /**\n * @property {Object} nameFromCode\n * @property {String} nameFromCode.8 \"BACKSPACE\"\n */\n nameFromCode: func.invertObject(KEY_MAP),\n code: KEY_MAP\n};\n","import $ from 'jquery';\nimport func from './func';\nimport lists from './lists';\nimport env from './env';\n\nconst NBSP_CHAR = String.fromCharCode(160);\nconst ZERO_WIDTH_NBSP_CHAR = '\\ufeff';\n\n/**\n * @method isEditable\n *\n * returns whether node is `note-editable` or not.\n *\n * @param {Node} node\n * @return {Boolean}\n */\nfunction isEditable(node) {\n return node && $(node).hasClass('note-editable');\n}\n\n/**\n * @method isControlSizing\n *\n * returns whether node is `note-control-sizing` or not.\n *\n * @param {Node} node\n * @return {Boolean}\n */\nfunction isControlSizing(node) {\n return node && $(node).hasClass('note-control-sizing');\n}\n\n/**\n * @method makePredByNodeName\n *\n * returns predicate which judge whether nodeName is same\n *\n * @param {String} nodeName\n * @return {Function}\n */\nfunction makePredByNodeName(nodeName) {\n nodeName = nodeName.toUpperCase();\n return function(node) {\n return node && node.nodeName.toUpperCase() === nodeName;\n };\n}\n\n/**\n * @method isText\n *\n *\n *\n * @param {Node} node\n * @return {Boolean} true if node's type is text(3)\n */\nfunction isText(node) {\n return node && node.nodeType === 3;\n}\n\n/**\n * @method isElement\n *\n *\n *\n * @param {Node} node\n * @return {Boolean} true if node's type is element(1)\n */\nfunction isElement(node) {\n return node && node.nodeType === 1;\n}\n\n/**\n * ex) br, col, embed, hr, img, input, ...\n * @see http://www.w3.org/html/wg/drafts/html/master/syntax.html#void-elements\n */\nfunction isVoid(node) {\n return node && /^BR|^IMG|^HR|^IFRAME|^BUTTON|^INPUT/.test(node.nodeName.toUpperCase());\n}\n\nfunction isPara(node) {\n if (isEditable(node)) {\n return false;\n }\n\n // Chrome(v31.0), FF(v25.0.1) use DIV for paragraph\n return node && /^DIV|^P|^LI|^H[1-7]/.test(node.nodeName.toUpperCase());\n}\n\nfunction isHeading(node) {\n return node && /^H[1-7]/.test(node.nodeName.toUpperCase());\n}\n\nconst isPre = makePredByNodeName('PRE');\n\nconst isLi = makePredByNodeName('LI');\n\nfunction isPurePara(node) {\n return isPara(node) && !isLi(node);\n}\n\nconst isTable = makePredByNodeName('TABLE');\n\nconst isData = makePredByNodeName('DATA');\n\nfunction isInline(node) {\n return !isBodyContainer(node) &&\n !isList(node) &&\n !isHr(node) &&\n !isPara(node) &&\n !isTable(node) &&\n !isBlockquote(node) &&\n !isData(node);\n}\n\nfunction isList(node) {\n return node && /^UL|^OL/.test(node.nodeName.toUpperCase());\n}\n\nconst isHr = makePredByNodeName('HR');\n\nfunction isCell(node) {\n return node && /^TD|^TH/.test(node.nodeName.toUpperCase());\n}\n\nconst isBlockquote = makePredByNodeName('BLOCKQUOTE');\n\nfunction isBodyContainer(node) {\n return isCell(node) || isBlockquote(node) || isEditable(node);\n}\n\nconst isAnchor = makePredByNodeName('A');\n\nfunction isParaInline(node) {\n return isInline(node) && !!ancestor(node, isPara);\n}\n\nfunction isBodyInline(node) {\n return isInline(node) && !ancestor(node, isPara);\n}\n\nconst isBody = makePredByNodeName('BODY');\n\n/**\n * returns whether nodeB is closest sibling of nodeA\n *\n * @param {Node} nodeA\n * @param {Node} nodeB\n * @return {Boolean}\n */\nfunction isClosestSibling(nodeA, nodeB) {\n return nodeA.nextSibling === nodeB ||\n nodeA.previousSibling === nodeB;\n}\n\n/**\n * returns array of closest siblings with node\n *\n * @param {Node} node\n * @param {function} [pred] - predicate function\n * @return {Node[]}\n */\nfunction withClosestSiblings(node, pred) {\n pred = pred || func.ok;\n\n const siblings = [];\n if (node.previousSibling && pred(node.previousSibling)) {\n siblings.push(node.previousSibling);\n }\n siblings.push(node);\n if (node.nextSibling && pred(node.nextSibling)) {\n siblings.push(node.nextSibling);\n }\n return siblings;\n}\n\n/**\n * blank HTML for cursor position\n * - [workaround] old IE only works with \n * - [workaround] IE11 and other browser works with bogus br\n */\nconst blankHTML = env.isMSIE && env.browserVersion < 11 ? ' ' : '<br>';\n\n/**\n * @method nodeLength\n *\n * returns #text's text size or element's childNodes size\n *\n * @param {Node} node\n */\nfunction nodeLength(node) {\n if (isText(node)) {\n return node.nodeValue.length;\n }\n\n if (node) {\n return node.childNodes.length;\n }\n\n return 0;\n}\n\n/**\n * returns whether node is empty or not.\n *\n * @param {Node} node\n * @return {Boolean}\n */\nfunction isEmpty(node) {\n const len = nodeLength(node);\n\n if (len === 0) {\n return true;\n } else if (!isText(node) && len === 1 && node.innerHTML === blankHTML) {\n // ex) <p><br></p>, <span><br></span>\n return true;\n } else if (lists.all(node.childNodes, isText) && node.innerHTML === '') {\n // ex) <p></p>, <span></span>\n return true;\n }\n\n return false;\n}\n\n/**\n * padding blankHTML if node is empty (for cursor position)\n */\nfunction paddingBlankHTML(node) {\n if (!isVoid(node) && !nodeLength(node)) {\n node.innerHTML = blankHTML;\n }\n}\n\n/**\n * find nearest ancestor predicate hit\n *\n * @param {Node} node\n * @param {Function} pred - predicate function\n */\nfunction ancestor(node, pred) {\n while (node) {\n if (pred(node)) { return node; }\n if (isEditable(node)) { break; }\n\n node = node.parentNode;\n }\n return null;\n}\n\n/**\n * find nearest ancestor only single child blood line and predicate hit\n *\n * @param {Node} node\n * @param {Function} pred - predicate function\n */\nfunction singleChildAncestor(node, pred) {\n node = node.parentNode;\n\n while (node) {\n if (nodeLength(node) !== 1) { break; }\n if (pred(node)) { return node; }\n if (isEditable(node)) { break; }\n\n node = node.parentNode;\n }\n return null;\n}\n\n/**\n * returns new array of ancestor nodes (until predicate hit).\n *\n * @param {Node} node\n * @param {Function} [optional] pred - predicate function\n */\nfunction listAncestor(node, pred) {\n pred = pred || func.fail;\n\n const ancestors = [];\n ancestor(node, function(el) {\n if (!isEditable(el)) {\n ancestors.push(el);\n }\n\n return pred(el);\n });\n return ancestors;\n}\n\n/**\n * find farthest ancestor predicate hit\n */\nfunction lastAncestor(node, pred) {\n const ancestors = listAncestor(node);\n return lists.last(ancestors.filter(pred));\n}\n\n/**\n * returns common ancestor node between two nodes.\n *\n * @param {Node} nodeA\n * @param {Node} nodeB\n */\nfunction commonAncestor(nodeA, nodeB) {\n const ancestors = listAncestor(nodeA);\n for (let n = nodeB; n; n = n.parentNode) {\n if ($.inArray(n, ancestors) > -1) { return n; }\n }\n return null; // difference document area\n}\n\n/**\n * listing all previous siblings (until predicate hit).\n *\n * @param {Node} node\n * @param {Function} [optional] pred - predicate function\n */\nfunction listPrev(node, pred) {\n pred = pred || func.fail;\n\n const nodes = [];\n while (node) {\n if (pred(node)) { break; }\n nodes.push(node);\n node = node.previousSibling;\n }\n return nodes;\n}\n\n/**\n * listing next siblings (until predicate hit).\n *\n * @param {Node} node\n * @param {Function} [pred] - predicate function\n */\nfunction listNext(node, pred) {\n pred = pred || func.fail;\n\n const nodes = [];\n while (node) {\n if (pred(node)) { break; }\n nodes.push(node);\n node = node.nextSibling;\n }\n return nodes;\n}\n\n/**\n * listing descendant nodes\n *\n * @param {Node} node\n * @param {Function} [pred] - predicate function\n */\nfunction listDescendant(node, pred) {\n const descendants = [];\n pred = pred || func.ok;\n\n // start DFS(depth first search) with node\n (function fnWalk(current) {\n if (node !== current && pred(current)) {\n descendants.push(current);\n }\n for (let idx = 0, len = current.childNodes.length; idx < len; idx++) {\n fnWalk(current.childNodes[idx]);\n }\n })(node);\n\n return descendants;\n}\n\n/**\n * wrap node with new tag.\n *\n * @param {Node} node\n * @param {Node} tagName of wrapper\n * @return {Node} - wrapper\n */\nfunction wrap(node, wrapperName) {\n const parent = node.parentNode;\n const wrapper = $('<' + wrapperName + '>')[0];\n\n parent.insertBefore(wrapper, node);\n wrapper.appendChild(node);\n\n return wrapper;\n}\n\n/**\n * insert node after preceding\n *\n * @param {Node} node\n * @param {Node} preceding - predicate function\n */\nfunction insertAfter(node, preceding) {\n const next = preceding.nextSibling;\n let parent = preceding.parentNode;\n if (next) {\n parent.insertBefore(node, next);\n } else {\n parent.appendChild(node);\n }\n return node;\n}\n\n/**\n * append elements.\n *\n * @param {Node} node\n * @param {Collection} aChild\n */\nfunction appendChildNodes(node, aChild) {\n $.each(aChild, function(idx, child) {\n node.appendChild(child);\n });\n return node;\n}\n\n/**\n * returns whether boundaryPoint is left edge or not.\n *\n * @param {BoundaryPoint} point\n * @return {Boolean}\n */\nfunction isLeftEdgePoint(point) {\n return point.offset === 0;\n}\n\n/**\n * returns whether boundaryPoint is right edge or not.\n *\n * @param {BoundaryPoint} point\n * @return {Boolean}\n */\nfunction isRightEdgePoint(point) {\n return point.offset === nodeLength(point.node);\n}\n\n/**\n * returns whether boundaryPoint is edge or not.\n *\n * @param {BoundaryPoint} point\n * @return {Boolean}\n */\nfunction isEdgePoint(point) {\n return isLeftEdgePoint(point) || isRightEdgePoint(point);\n}\n\n/**\n * returns whether node is left edge of ancestor or not.\n *\n * @param {Node} node\n * @param {Node} ancestor\n * @return {Boolean}\n */\nfunction isLeftEdgeOf(node, ancestor) {\n while (node && node !== ancestor) {\n if (position(node) !== 0) {\n return false;\n }\n node = node.parentNode;\n }\n\n return true;\n}\n\n/**\n * returns whether node is right edge of ancestor or not.\n *\n * @param {Node} node\n * @param {Node} ancestor\n * @return {Boolean}\n */\nfunction isRightEdgeOf(node, ancestor) {\n if (!ancestor) {\n return false;\n }\n while (node && node !== ancestor) {\n if (position(node) !== nodeLength(node.parentNode) - 1) {\n return false;\n }\n node = node.parentNode;\n }\n\n return true;\n}\n\n/**\n * returns whether point is left edge of ancestor or not.\n * @param {BoundaryPoint} point\n * @param {Node} ancestor\n * @return {Boolean}\n */\nfunction isLeftEdgePointOf(point, ancestor) {\n return isLeftEdgePoint(point) && isLeftEdgeOf(point.node, ancestor);\n}\n\n/**\n * returns whether point is right edge of ancestor or not.\n * @param {BoundaryPoint} point\n * @param {Node} ancestor\n * @return {Boolean}\n */\nfunction isRightEdgePointOf(point, ancestor) {\n return isRightEdgePoint(point) && isRightEdgeOf(point.node, ancestor);\n}\n\n/**\n * returns offset from parent.\n *\n * @param {Node} node\n */\nfunction position(node) {\n let offset = 0;\n while ((node = node.previousSibling)) {\n offset += 1;\n }\n return offset;\n}\n\nfunction hasChildren(node) {\n return !!(node && node.childNodes && node.childNodes.length);\n}\n\n/**\n * returns previous boundaryPoint\n *\n * @param {BoundaryPoint} point\n * @param {Boolean} isSkipInnerOffset\n * @return {BoundaryPoint}\n */\nfunction prevPoint(point, isSkipInnerOffset) {\n let node;\n let offset;\n\n if (point.offset === 0) {\n if (isEditable(point.node)) {\n return null;\n }\n\n node = point.node.parentNode;\n offset = position(point.node);\n } else if (hasChildren(point.node)) {\n node = point.node.childNodes[point.offset - 1];\n offset = nodeLength(node);\n } else {\n node = point.node;\n offset = isSkipInnerOffset ? 0 : point.offset - 1;\n }\n\n return {\n node: node,\n offset: offset\n };\n}\n\n/**\n * returns next boundaryPoint\n *\n * @param {BoundaryPoint} point\n * @param {Boolean} isSkipInnerOffset\n * @return {BoundaryPoint}\n */\nfunction nextPoint(point, isSkipInnerOffset) {\n let node, offset;\n\n if (nodeLength(point.node) === point.offset) {\n if (isEditable(point.node)) {\n return null;\n }\n\n node = point.node.parentNode;\n offset = position(point.node) + 1;\n } else if (hasChildren(point.node)) {\n node = point.node.childNodes[point.offset];\n offset = 0;\n } else {\n node = point.node;\n offset = isSkipInnerOffset ? nodeLength(point.node) : point.offset + 1;\n }\n\n return {\n node: node,\n offset: offset\n };\n}\n\n/**\n * returns whether pointA and pointB is same or not.\n *\n * @param {BoundaryPoint} pointA\n * @param {BoundaryPoint} pointB\n * @return {Boolean}\n */\nfunction isSamePoint(pointA, pointB) {\n return pointA.node === pointB.node && pointA.offset === pointB.offset;\n}\n\n/**\n * returns whether point is visible (can set cursor) or not.\n *\n * @param {BoundaryPoint} point\n * @return {Boolean}\n */\nfunction isVisiblePoint(point) {\n if (isText(point.node) || !hasChildren(point.node) || isEmpty(point.node)) {\n return true;\n }\n\n const leftNode = point.node.childNodes[point.offset - 1];\n const rightNode = point.node.childNodes[point.offset];\n if ((!leftNode || isVoid(leftNode)) && (!rightNode || isVoid(rightNode))) {\n return true;\n }\n\n return false;\n}\n\n/**\n * @method prevPointUtil\n *\n * @param {BoundaryPoint} point\n * @param {Function} pred\n * @return {BoundaryPoint}\n */\nfunction prevPointUntil(point, pred) {\n while (point) {\n if (pred(point)) {\n return point;\n }\n\n point = prevPoint(point);\n }\n\n return null;\n}\n\n/**\n * @method nextPointUntil\n *\n * @param {BoundaryPoint} point\n * @param {Function} pred\n * @return {BoundaryPoint}\n */\nfunction nextPointUntil(point, pred) {\n while (point) {\n if (pred(point)) {\n return point;\n }\n\n point = nextPoint(point);\n }\n\n return null;\n}\n\n/**\n * returns whether point has character or not.\n *\n * @param {Point} point\n * @return {Boolean}\n */\nfunction isCharPoint(point) {\n if (!isText(point.node)) {\n return false;\n }\n\n const ch = point.node.nodeValue.charAt(point.offset - 1);\n return ch && (ch !== ' ' && ch !== NBSP_CHAR);\n}\n\n/**\n * @method walkPoint\n *\n * @param {BoundaryPoint} startPoint\n * @param {BoundaryPoint} endPoint\n * @param {Function} handler\n * @param {Boolean} isSkipInnerOffset\n */\nfunction walkPoint(startPoint, endPoint, handler, isSkipInnerOffset) {\n let point = startPoint;\n\n while (point) {\n handler(point);\n\n if (isSamePoint(point, endPoint)) {\n break;\n }\n\n const isSkipOffset = isSkipInnerOffset &&\n startPoint.node !== point.node &&\n endPoint.node !== point.node;\n point = nextPoint(point, isSkipOffset);\n }\n}\n\n/**\n * @method makeOffsetPath\n *\n * return offsetPath(array of offset) from ancestor\n *\n * @param {Node} ancestor - ancestor node\n * @param {Node} node\n */\nfunction makeOffsetPath(ancestor, node) {\n const ancestors = listAncestor(node, func.eq(ancestor));\n return ancestors.map(position).reverse();\n}\n\n/**\n * @method fromOffsetPath\n *\n * return element from offsetPath(array of offset)\n *\n * @param {Node} ancestor - ancestor node\n * @param {array} offsets - offsetPath\n */\nfunction fromOffsetPath(ancestor, offsets) {\n let current = ancestor;\n for (let i = 0, len = offsets.length; i < len; i++) {\n if (current.childNodes.length <= offsets[i]) {\n current = current.childNodes[current.childNodes.length - 1];\n } else {\n current = current.childNodes[offsets[i]];\n }\n }\n return current;\n}\n\n/**\n * @method splitNode\n *\n * split element or #text\n *\n * @param {BoundaryPoint} point\n * @param {Object} [options]\n * @param {Boolean} [options.isSkipPaddingBlankHTML] - default: false\n * @param {Boolean} [options.isNotSplitEdgePoint] - default: false\n * @return {Node} right node of boundaryPoint\n */\nfunction splitNode(point, options) {\n const isSkipPaddingBlankHTML = options && options.isSkipPaddingBlankHTML;\n const isNotSplitEdgePoint = options && options.isNotSplitEdgePoint;\n\n // edge case\n if (isEdgePoint(point) && (isText(point.node) || isNotSplitEdgePoint)) {\n if (isLeftEdgePoint(point)) {\n return point.node;\n } else if (isRightEdgePoint(point)) {\n return point.node.nextSibling;\n }\n }\n\n // split #text\n if (isText(point.node)) {\n return point.node.splitText(point.offset);\n } else {\n const childNode = point.node.childNodes[point.offset];\n const clone = insertAfter(point.node.cloneNode(false), point.node);\n appendChildNodes(clone, listNext(childNode));\n\n if (!isSkipPaddingBlankHTML) {\n paddingBlankHTML(point.node);\n paddingBlankHTML(clone);\n }\n\n return clone;\n }\n}\n\n/**\n * @method splitTree\n *\n * split tree by point\n *\n * @param {Node} root - split root\n * @param {BoundaryPoint} point\n * @param {Object} [options]\n * @param {Boolean} [options.isSkipPaddingBlankHTML] - default: false\n * @param {Boolean} [options.isNotSplitEdgePoint] - default: false\n * @return {Node} right node of boundaryPoint\n */\nfunction splitTree(root, point, options) {\n // ex) [#text, <span>, <p>]\n const ancestors = listAncestor(point.node, func.eq(root));\n\n if (!ancestors.length) {\n return null;\n } else if (ancestors.length === 1) {\n return splitNode(point, options);\n }\n\n return ancestors.reduce(function(node, parent) {\n if (node === point.node) {\n node = splitNode(point, options);\n }\n\n return splitNode({\n node: parent,\n offset: node ? position(node) : nodeLength(parent)\n }, options);\n });\n}\n\n/**\n * split point\n *\n * @param {Point} point\n * @param {Boolean} isInline\n * @return {Object}\n */\nfunction splitPoint(point, isInline) {\n // find splitRoot, container\n // - inline: splitRoot is a child of paragraph\n // - block: splitRoot is a child of bodyContainer\n const pred = isInline ? isPara : isBodyContainer;\n const ancestors = listAncestor(point.node, pred);\n const topAncestor = lists.last(ancestors) || point.node;\n\n let splitRoot, container;\n if (pred(topAncestor)) {\n splitRoot = ancestors[ancestors.length - 2];\n container = topAncestor;\n } else {\n splitRoot = topAncestor;\n container = splitRoot.parentNode;\n }\n\n // if splitRoot is exists, split with splitTree\n let pivot = splitRoot && splitTree(splitRoot, point, {\n isSkipPaddingBlankHTML: isInline,\n isNotSplitEdgePoint: isInline\n });\n\n // if container is point.node, find pivot with point.offset\n if (!pivot && container === point.node) {\n pivot = point.node.childNodes[point.offset];\n }\n\n return {\n rightNode: pivot,\n container: container\n };\n}\n\nfunction create(nodeName) {\n return document.createElement(nodeName);\n}\n\nfunction createText(text) {\n return document.createTextNode(text);\n}\n\n/**\n * @method remove\n *\n * remove node, (isRemoveChild: remove child or not)\n *\n * @param {Node} node\n * @param {Boolean} isRemoveChild\n */\nfunction remove(node, isRemoveChild) {\n if (!node || !node.parentNode) { return; }\n if (node.removeNode) { return node.removeNode(isRemoveChild); }\n\n const parent = node.parentNode;\n if (!isRemoveChild) {\n const nodes = [];\n for (let i = 0, len = node.childNodes.length; i < len; i++) {\n nodes.push(node.childNodes[i]);\n }\n\n for (let i = 0, len = nodes.length; i < len; i++) {\n parent.insertBefore(nodes[i], node);\n }\n }\n\n parent.removeChild(node);\n}\n\n/**\n * @method removeWhile\n *\n * @param {Node} node\n * @param {Function} pred\n */\nfunction removeWhile(node, pred) {\n while (node) {\n if (isEditable(node) || !pred(node)) {\n break;\n }\n\n const parent = node.parentNode;\n remove(node);\n node = parent;\n }\n}\n\n/**\n * @method replace\n *\n * replace node with provided nodeName\n *\n * @param {Node} node\n * @param {String} nodeName\n * @return {Node} - new node\n */\nfunction replace(node, nodeName) {\n if (node.nodeName.toUpperCase() === nodeName.toUpperCase()) {\n return node;\n }\n\n const newNode = create(nodeName);\n\n if (node.style.cssText) {\n newNode.style.cssText = node.style.cssText;\n }\n\n appendChildNodes(newNode, lists.from(node.childNodes));\n insertAfter(newNode, node);\n remove(node);\n\n return newNode;\n}\n\nconst isTextarea = makePredByNodeName('TEXTAREA');\n\n/**\n * @param {jQuery} $node\n * @param {Boolean} [stripLinebreaks] - default: false\n */\nfunction value($node, stripLinebreaks) {\n const val = isTextarea($node[0]) ? $node.val() : $node.html();\n if (stripLinebreaks) {\n return val.replace(/[\\n\\r]/g, '');\n }\n return val;\n}\n\n/**\n * @method html\n *\n * get the HTML contents of node\n *\n * @param {jQuery} $node\n * @param {Boolean} [isNewlineOnBlock]\n */\nfunction html($node, isNewlineOnBlock) {\n let markup = value($node);\n\n if (isNewlineOnBlock) {\n const regexTag = /<(\\/?)(\\b(?!!)[^>\\s]*)(.*?)(\\s*\\/?>)/g;\n markup = markup.replace(regexTag, function(match, endSlash, name) {\n name = name.toUpperCase();\n const isEndOfInlineContainer = /^DIV|^TD|^TH|^P|^LI|^H[1-7]/.test(name) &&\n !!endSlash;\n const isBlockNode = /^BLOCKQUOTE|^TABLE|^TBODY|^TR|^HR|^UL|^OL/.test(name);\n\n return match + ((isEndOfInlineContainer || isBlockNode) ? '\\n' : '');\n });\n markup = $.trim(markup);\n }\n\n return markup;\n}\n\nfunction posFromPlaceholder(placeholder) {\n const $placeholder = $(placeholder);\n const pos = $placeholder.offset();\n const height = $placeholder.outerHeight(true); // include margin\n\n return {\n left: pos.left,\n top: pos.top + height\n };\n}\n\nfunction attachEvents($node, events) {\n Object.keys(events).forEach(function(key) {\n $node.on(key, events[key]);\n });\n}\n\nfunction detachEvents($node, events) {\n Object.keys(events).forEach(function(key) {\n $node.off(key, events[key]);\n });\n}\n\n/**\n * @method isCustomStyleTag\n *\n * assert if a node contains a \"note-styletag\" class,\n * which implies that's a custom-made style tag node\n *\n * @param {Node} an HTML DOM node\n */\nfunction isCustomStyleTag(node) {\n return node && !isText(node) && lists.contains(node.classList, 'note-styletag');\n}\n\nexport default {\n /** @property {String} NBSP_CHAR */\n NBSP_CHAR,\n /** @property {String} ZERO_WIDTH_NBSP_CHAR */\n ZERO_WIDTH_NBSP_CHAR,\n /** @property {String} blank */\n blank: blankHTML,\n /** @property {String} emptyPara */\n emptyPara: `<p>${blankHTML}</p>`,\n makePredByNodeName,\n isEditable,\n isControlSizing,\n isText,\n isElement,\n isVoid,\n isPara,\n isPurePara,\n isHeading,\n isInline,\n isBlock: func.not(isInline),\n isBodyInline,\n isBody,\n isParaInline,\n isPre,\n isList,\n isTable,\n isData,\n isCell,\n isBlockquote,\n isBodyContainer,\n isAnchor,\n isDiv: makePredByNodeName('DIV'),\n isLi,\n isBR: makePredByNodeName('BR'),\n isSpan: makePredByNodeName('SPAN'),\n isB: makePredByNodeName('B'),\n isU: makePredByNodeName('U'),\n isS: makePredByNodeName('S'),\n isI: makePredByNodeName('I'),\n isImg: makePredByNodeName('IMG'),\n isTextarea,\n isEmpty,\n isEmptyAnchor: func.and(isAnchor, isEmpty),\n isClosestSibling,\n withClosestSiblings,\n nodeLength,\n isLeftEdgePoint,\n isRightEdgePoint,\n isEdgePoint,\n isLeftEdgeOf,\n isRightEdgeOf,\n isLeftEdgePointOf,\n isRightEdgePointOf,\n prevPoint,\n nextPoint,\n isSamePoint,\n isVisiblePoint,\n prevPointUntil,\n nextPointUntil,\n isCharPoint,\n walkPoint,\n ancestor,\n singleChildAncestor,\n listAncestor,\n lastAncestor,\n listNext,\n listPrev,\n listDescendant,\n commonAncestor,\n wrap,\n insertAfter,\n appendChildNodes,\n position,\n hasChildren,\n makeOffsetPath,\n fromOffsetPath,\n splitTree,\n splitPoint,\n create,\n createText,\n remove,\n removeWhile,\n replace,\n html,\n value,\n posFromPlaceholder,\n attachEvents,\n detachEvents,\n isCustomStyleTag\n};\n","import $ from 'jquery';\nimport env from './env';\nimport func from './func';\nimport lists from './lists';\nimport dom from './dom';\n\n/**\n * return boundaryPoint from TextRange, inspired by Andy Na's HuskyRange.js\n *\n * @param {TextRange} textRange\n * @param {Boolean} isStart\n * @return {BoundaryPoint}\n *\n * @see http://msdn.microsoft.com/en-us/library/ie/ms535872(v=vs.85).aspx\n */\nfunction textRangeToPoint(textRange, isStart) {\n let container = textRange.parentElement();\n let offset;\n\n const tester = document.body.createTextRange();\n let prevContainer;\n const childNodes = lists.from(container.childNodes);\n for (offset = 0; offset < childNodes.length; offset++) {\n if (dom.isText(childNodes[offset])) {\n continue;\n }\n tester.moveToElementText(childNodes[offset]);\n if (tester.compareEndPoints('StartToStart', textRange) >= 0) {\n break;\n }\n prevContainer = childNodes[offset];\n }\n\n if (offset !== 0 && dom.isText(childNodes[offset - 1])) {\n const textRangeStart = document.body.createTextRange();\n let curTextNode = null;\n textRangeStart.moveToElementText(prevContainer || container);\n textRangeStart.collapse(!prevContainer);\n curTextNode = prevContainer ? prevContainer.nextSibling : container.firstChild;\n\n const pointTester = textRange.duplicate();\n pointTester.setEndPoint('StartToStart', textRangeStart);\n let textCount = pointTester.text.replace(/[\\r\\n]/g, '').length;\n\n while (textCount > curTextNode.nodeValue.length && curTextNode.nextSibling) {\n textCount -= curTextNode.nodeValue.length;\n curTextNode = curTextNode.nextSibling;\n }\n\n // [workaround] enforce IE to re-reference curTextNode, hack\n const dummy = curTextNode.nodeValue; // eslint-disable-line\n\n if (isStart && curTextNode.nextSibling && dom.isText(curTextNode.nextSibling) &&\n textCount === curTextNode.nodeValue.length) {\n textCount -= curTextNode.nodeValue.length;\n curTextNode = curTextNode.nextSibling;\n }\n\n container = curTextNode;\n offset = textCount;\n }\n\n return {\n cont: container,\n offset: offset\n };\n}\n\n/**\n * return TextRange from boundary point (inspired by google closure-library)\n * @param {BoundaryPoint} point\n * @return {TextRange}\n */\nfunction pointToTextRange(point) {\n const textRangeInfo = function(container, offset) {\n let node, isCollapseToStart;\n\n if (dom.isText(container)) {\n const prevTextNodes = dom.listPrev(container, func.not(dom.isText));\n const prevContainer = lists.last(prevTextNodes).previousSibling;\n node = prevContainer || container.parentNode;\n offset += lists.sum(lists.tail(prevTextNodes), dom.nodeLength);\n isCollapseToStart = !prevContainer;\n } else {\n node = container.childNodes[offset] || container;\n if (dom.isText(node)) {\n return textRangeInfo(node, 0);\n }\n\n offset = 0;\n isCollapseToStart = false;\n }\n\n return {\n node: node,\n collapseToStart: isCollapseToStart,\n offset: offset\n };\n };\n\n const textRange = document.body.createTextRange();\n const info = textRangeInfo(point.node, point.offset);\n\n textRange.moveToElementText(info.node);\n textRange.collapse(info.collapseToStart);\n textRange.moveStart('character', info.offset);\n return textRange;\n}\n\n/**\n * Wrapped Range\n *\n * @constructor\n * @param {Node} sc - start container\n * @param {Number} so - start offset\n * @param {Node} ec - end container\n * @param {Number} eo - end offset\n */\nclass WrappedRange {\n constructor(sc, so, ec, eo) {\n this.sc = sc;\n this.so = so;\n this.ec = ec;\n this.eo = eo;\n\n // isOnEditable: judge whether range is on editable or not\n this.isOnEditable = this.makeIsOn(dom.isEditable);\n // isOnList: judge whether range is on list node or not\n this.isOnList = this.makeIsOn(dom.isList);\n // isOnAnchor: judge whether range is on anchor node or not\n this.isOnAnchor = this.makeIsOn(dom.isAnchor);\n // isOnCell: judge whether range is on cell node or not\n this.isOnCell = this.makeIsOn(dom.isCell);\n // isOnData: judge whether range is on data node or not\n this.isOnData = this.makeIsOn(dom.isData);\n }\n\n // nativeRange: get nativeRange from sc, so, ec, eo\n nativeRange() {\n if (env.isW3CRangeSupport) {\n const w3cRange = document.createRange();\n w3cRange.setStart(this.sc, this.so);\n w3cRange.setEnd(this.ec, this.eo);\n\n return w3cRange;\n } else {\n const textRange = pointToTextRange({\n node: this.sc,\n offset: this.so\n });\n\n textRange.setEndPoint('EndToEnd', pointToTextRange({\n node: this.ec,\n offset: this.eo\n }));\n\n return textRange;\n }\n }\n\n getPoints() {\n return {\n sc: this.sc,\n so: this.so,\n ec: this.ec,\n eo: this.eo\n };\n }\n\n getStartPoint() {\n return {\n node: this.sc,\n offset: this.so\n };\n }\n\n getEndPoint() {\n return {\n node: this.ec,\n offset: this.eo\n };\n }\n\n /**\n * select update visible range\n */\n select() {\n const nativeRng = this.nativeRange();\n if (env.isW3CRangeSupport) {\n const selection = document.getSelection();\n if (selection.rangeCount > 0) {\n selection.removeAllRanges();\n }\n selection.addRange(nativeRng);\n } else {\n nativeRng.select();\n }\n\n return this;\n }\n\n /**\n * Moves the scrollbar to start container(sc) of current range\n *\n * @return {WrappedRange}\n */\n scrollIntoView(container) {\n const height = $(container).height();\n if (container.scrollTop + height < this.sc.offsetTop) {\n container.scrollTop += Math.abs(container.scrollTop + height - this.sc.offsetTop);\n }\n\n return this;\n }\n\n /**\n * @return {WrappedRange}\n */\n normalize() {\n /**\n * @param {BoundaryPoint} point\n * @param {Boolean} isLeftToRight\n * @return {BoundaryPoint}\n */\n const getVisiblePoint = function(point, isLeftToRight) {\n if ((dom.isVisiblePoint(point) && !dom.isEdgePoint(point)) ||\n (dom.isVisiblePoint(point) && dom.isRightEdgePoint(point) && !isLeftToRight) ||\n (dom.isVisiblePoint(point) && dom.isLeftEdgePoint(point) && isLeftToRight) ||\n (dom.isVisiblePoint(point) && dom.isBlock(point.node) && dom.isEmpty(point.node))) {\n return point;\n }\n\n // point on block's edge\n const block = dom.ancestor(point.node, dom.isBlock);\n if (((dom.isLeftEdgePointOf(point, block) || dom.isVoid(dom.prevPoint(point).node)) && !isLeftToRight) ||\n ((dom.isRightEdgePointOf(point, block) || dom.isVoid(dom.nextPoint(point).node)) && isLeftToRight)) {\n // returns point already on visible point\n if (dom.isVisiblePoint(point)) {\n return point;\n }\n // reverse direction\n isLeftToRight = !isLeftToRight;\n }\n\n const nextPoint = isLeftToRight ? dom.nextPointUntil(dom.nextPoint(point), dom.isVisiblePoint)\n : dom.prevPointUntil(dom.prevPoint(point), dom.isVisiblePoint);\n return nextPoint || point;\n };\n\n const endPoint = getVisiblePoint(this.getEndPoint(), false);\n const startPoint = this.isCollapsed() ? endPoint : getVisiblePoint(this.getStartPoint(), true);\n\n return new WrappedRange(\n startPoint.node,\n startPoint.offset,\n endPoint.node,\n endPoint.offset\n );\n }\n\n /**\n * returns matched nodes on range\n *\n * @param {Function} [pred] - predicate function\n * @param {Object} [options]\n * @param {Boolean} [options.includeAncestor]\n * @param {Boolean} [options.fullyContains]\n * @return {Node[]}\n */\n nodes(pred, options) {\n pred = pred || func.ok;\n\n const includeAncestor = options && options.includeAncestor;\n const fullyContains = options && options.fullyContains;\n\n // TODO compare points and sort\n const startPoint = this.getStartPoint();\n const endPoint = this.getEndPoint();\n\n const nodes = [];\n const leftEdgeNodes = [];\n\n dom.walkPoint(startPoint, endPoint, function(point) {\n if (dom.isEditable(point.node)) {\n return;\n }\n\n let node;\n if (fullyContains) {\n if (dom.isLeftEdgePoint(point)) {\n leftEdgeNodes.push(point.node);\n }\n if (dom.isRightEdgePoint(point) && lists.contains(leftEdgeNodes, point.node)) {\n node = point.node;\n }\n } else if (includeAncestor) {\n node = dom.ancestor(point.node, pred);\n } else {\n node = point.node;\n }\n\n if (node && pred(node)) {\n nodes.push(node);\n }\n }, true);\n\n return lists.unique(nodes);\n }\n\n /**\n * returns commonAncestor of range\n * @return {Element} - commonAncestor\n */\n commonAncestor() {\n return dom.commonAncestor(this.sc, this.ec);\n }\n\n /**\n * returns expanded range by pred\n *\n * @param {Function} pred - predicate function\n * @return {WrappedRange}\n */\n expand(pred) {\n const startAncestor = dom.ancestor(this.sc, pred);\n const endAncestor = dom.ancestor(this.ec, pred);\n\n if (!startAncestor && !endAncestor) {\n return new WrappedRange(this.sc, this.so, this.ec, this.eo);\n }\n\n const boundaryPoints = this.getPoints();\n\n if (startAncestor) {\n boundaryPoints.sc = startAncestor;\n boundaryPoints.so = 0;\n }\n\n if (endAncestor) {\n boundaryPoints.ec = endAncestor;\n boundaryPoints.eo = dom.nodeLength(endAncestor);\n }\n\n return new WrappedRange(\n boundaryPoints.sc,\n boundaryPoints.so,\n boundaryPoints.ec,\n boundaryPoints.eo\n );\n }\n\n /**\n * @param {Boolean} isCollapseToStart\n * @return {WrappedRange}\n */\n collapse(isCollapseToStart) {\n if (isCollapseToStart) {\n return new WrappedRange(this.sc, this.so, this.sc, this.so);\n } else {\n return new WrappedRange(this.ec, this.eo, this.ec, this.eo);\n }\n }\n\n /**\n * splitText on range\n */\n splitText() {\n const isSameContainer = this.sc === this.ec;\n const boundaryPoints = this.getPoints();\n\n if (dom.isText(this.ec) && !dom.isEdgePoint(this.getEndPoint())) {\n this.ec.splitText(this.eo);\n }\n\n if (dom.isText(this.sc) && !dom.isEdgePoint(this.getStartPoint())) {\n boundaryPoints.sc = this.sc.splitText(this.so);\n boundaryPoints.so = 0;\n\n if (isSameContainer) {\n boundaryPoints.ec = boundaryPoints.sc;\n boundaryPoints.eo = this.eo - this.so;\n }\n }\n\n return new WrappedRange(\n boundaryPoints.sc,\n boundaryPoints.so,\n boundaryPoints.ec,\n boundaryPoints.eo\n );\n }\n\n /**\n * delete contents on range\n * @return {WrappedRange}\n */\n deleteContents() {\n if (this.isCollapsed()) {\n return this;\n }\n\n const rng = this.splitText();\n const nodes = rng.nodes(null, {\n fullyContains: true\n });\n\n // find new cursor point\n const point = dom.prevPointUntil(rng.getStartPoint(), function(point) {\n return !lists.contains(nodes, point.node);\n });\n\n const emptyParents = [];\n $.each(nodes, function(idx, node) {\n // find empty parents\n const parent = node.parentNode;\n if (point.node !== parent && dom.nodeLength(parent) === 1) {\n emptyParents.push(parent);\n }\n dom.remove(node, false);\n });\n\n // remove empty parents\n $.each(emptyParents, function(idx, node) {\n dom.remove(node, false);\n });\n\n return new WrappedRange(\n point.node,\n point.offset,\n point.node,\n point.offset\n ).normalize();\n }\n\n /**\n * makeIsOn: return isOn(pred) function\n */\n makeIsOn(pred) {\n return function() {\n const ancestor = dom.ancestor(this.sc, pred);\n return !!ancestor && (ancestor === dom.ancestor(this.ec, pred));\n };\n }\n\n /**\n * @param {Function} pred\n * @return {Boolean}\n */\n isLeftEdgeOf(pred) {\n if (!dom.isLeftEdgePoint(this.getStartPoint())) {\n return false;\n }\n\n const node = dom.ancestor(this.sc, pred);\n return node && dom.isLeftEdgeOf(this.sc, node);\n }\n\n /**\n * returns whether range was collapsed or not\n */\n isCollapsed() {\n return this.sc === this.ec && this.so === this.eo;\n }\n\n /**\n * wrap inline nodes which children of body with paragraph\n *\n * @return {WrappedRange}\n */\n wrapBodyInlineWithPara() {\n if (dom.isBodyContainer(this.sc) && dom.isEmpty(this.sc)) {\n this.sc.innerHTML = dom.emptyPara;\n return new WrappedRange(this.sc.firstChild, 0, this.sc.firstChild, 0);\n }\n\n /**\n * [workaround] firefox often create range on not visible point. so normalize here.\n * - firefox: |<p>text</p>|\n * - chrome: <p>|text|</p>\n */\n const rng = this.normalize();\n if (dom.isParaInline(this.sc) || dom.isPara(this.sc)) {\n return rng;\n }\n\n // find inline top ancestor\n let topAncestor;\n if (dom.isInline(rng.sc)) {\n const ancestors = dom.listAncestor(rng.sc, func.not(dom.isInline));\n topAncestor = lists.last(ancestors);\n if (!dom.isInline(topAncestor)) {\n topAncestor = ancestors[ancestors.length - 2] || rng.sc.childNodes[rng.so];\n }\n } else {\n topAncestor = rng.sc.childNodes[rng.so > 0 ? rng.so - 1 : 0];\n }\n\n // siblings not in paragraph\n let inlineSiblings = dom.listPrev(topAncestor, dom.isParaInline).reverse();\n inlineSiblings = inlineSiblings.concat(dom.listNext(topAncestor.nextSibling, dom.isParaInline));\n\n // wrap with paragraph\n if (inlineSiblings.length) {\n const para = dom.wrap(lists.head(inlineSiblings), 'p');\n dom.appendChildNodes(para, lists.tail(inlineSiblings));\n }\n\n return this.normalize();\n }\n\n /**\n * insert node at current cursor\n *\n * @param {Node} node\n * @return {Node}\n */\n insertNode(node) {\n const rng = this.wrapBodyInlineWithPara().deleteContents();\n const info = dom.splitPoint(rng.getStartPoint(), dom.isInline(node));\n\n if (info.rightNode) {\n info.rightNode.parentNode.insertBefore(node, info.rightNode);\n } else {\n info.container.appendChild(node);\n }\n\n return node;\n }\n\n /**\n * insert html at current cursor\n */\n pasteHTML(markup) {\n const contentsContainer = $('<div></div>').html(markup)[0];\n const childNodes = lists.from(contentsContainer.childNodes);\n\n const rng = this.wrapBodyInlineWithPara().deleteContents();\n\n return childNodes.reverse().map(function(childNode) {\n return rng.insertNode(childNode);\n }).reverse();\n }\n\n /**\n * returns text in range\n *\n * @return {String}\n */\n toString() {\n const nativeRng = this.nativeRange();\n return env.isW3CRangeSupport ? nativeRng.toString() : nativeRng.text;\n }\n\n /**\n * returns range for word before cursor\n *\n * @param {Boolean} [findAfter] - find after cursor, default: false\n * @return {WrappedRange}\n */\n getWordRange(findAfter) {\n let endPoint = this.getEndPoint();\n\n if (!dom.isCharPoint(endPoint)) {\n return this;\n }\n\n const startPoint = dom.prevPointUntil(endPoint, function(point) {\n return !dom.isCharPoint(point);\n });\n\n if (findAfter) {\n endPoint = dom.nextPointUntil(endPoint, function(point) {\n return !dom.isCharPoint(point);\n });\n }\n\n return new WrappedRange(\n startPoint.node,\n startPoint.offset,\n endPoint.node,\n endPoint.offset\n );\n }\n\n /**\n * create offsetPath bookmark\n *\n * @param {Node} editable\n */\n bookmark(editable) {\n return {\n s: {\n path: dom.makeOffsetPath(editable, this.sc),\n offset: this.so\n },\n e: {\n path: dom.makeOffsetPath(editable, this.ec),\n offset: this.eo\n }\n };\n }\n\n /**\n * create offsetPath bookmark base on paragraph\n *\n * @param {Node[]} paras\n */\n paraBookmark(paras) {\n return {\n s: {\n path: lists.tail(dom.makeOffsetPath(lists.head(paras), this.sc)),\n offset: this.so\n },\n e: {\n path: lists.tail(dom.makeOffsetPath(lists.last(paras), this.ec)),\n offset: this.eo\n }\n };\n }\n\n /**\n * getClientRects\n * @return {Rect[]}\n */\n getClientRects() {\n const nativeRng = this.nativeRange();\n return nativeRng.getClientRects();\n }\n}\n\n/**\n * Data structure\n * * BoundaryPoint: a point of dom tree\n * * BoundaryPoints: two boundaryPoints corresponding to the start and the end of the Range\n *\n * See to http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-Position\n */\nexport default {\n /**\n * create Range Object From arguments or Browser Selection\n *\n * @param {Node} sc - start container\n * @param {Number} so - start offset\n * @param {Node} ec - end container\n * @param {Number} eo - end offset\n * @return {WrappedRange}\n */\n create: function(sc, so, ec, eo) {\n if (arguments.length === 4) {\n return new WrappedRange(sc, so, ec, eo);\n } else if (arguments.length === 2) { // collapsed\n ec = sc;\n eo = so;\n return new WrappedRange(sc, so, ec, eo);\n } else {\n let wrappedRange = this.createFromSelection();\n if (!wrappedRange && arguments.length === 1) {\n wrappedRange = this.createFromNode(arguments[0]);\n return wrappedRange.collapse(dom.emptyPara === arguments[0].innerHTML);\n }\n return wrappedRange;\n }\n },\n\n createFromSelection: function() {\n let sc, so, ec, eo;\n if (env.isW3CRangeSupport) {\n const selection = document.getSelection();\n if (!selection || selection.rangeCount === 0) {\n return null;\n } else if (dom.isBody(selection.anchorNode)) {\n // Firefox: returns entire body as range on initialization.\n // We won't never need it.\n return null;\n }\n\n const nativeRng = selection.getRangeAt(0);\n sc = nativeRng.startContainer;\n so = nativeRng.startOffset;\n ec = nativeRng.endContainer;\n eo = nativeRng.endOffset;\n } else { // IE8: TextRange\n const textRange = document.selection.createRange();\n const textRangeEnd = textRange.duplicate();\n textRangeEnd.collapse(false);\n const textRangeStart = textRange;\n textRangeStart.collapse(true);\n\n let startPoint = textRangeToPoint(textRangeStart, true);\n let endPoint = textRangeToPoint(textRangeEnd, false);\n\n // same visible point case: range was collapsed.\n if (dom.isText(startPoint.node) && dom.isLeftEdgePoint(startPoint) &&\n dom.isTextNode(endPoint.node) && dom.isRightEdgePoint(endPoint) &&\n endPoint.node.nextSibling === startPoint.node) {\n startPoint = endPoint;\n }\n\n sc = startPoint.cont;\n so = startPoint.offset;\n ec = endPoint.cont;\n eo = endPoint.offset;\n }\n\n return new WrappedRange(sc, so, ec, eo);\n },\n\n /**\n * @method\n *\n * create WrappedRange from node\n *\n * @param {Node} node\n * @return {WrappedRange}\n */\n createFromNode: function(node) {\n let sc = node;\n let so = 0;\n let ec = node;\n let eo = dom.nodeLength(ec);\n\n // browsers can't target a picture or void node\n if (dom.isVoid(sc)) {\n so = dom.listPrev(sc).length - 1;\n sc = sc.parentNode;\n }\n if (dom.isBR(ec)) {\n eo = dom.listPrev(ec).length - 1;\n ec = ec.parentNode;\n } else if (dom.isVoid(ec)) {\n eo = dom.listPrev(ec).length;\n ec = ec.parentNode;\n }\n\n return this.create(sc, so, ec, eo);\n },\n\n /**\n * create WrappedRange from node after position\n *\n * @param {Node} node\n * @return {WrappedRange}\n */\n createFromNodeBefore: function(node) {\n return this.createFromNode(node).collapse(true);\n },\n\n /**\n * create WrappedRange from node after position\n *\n * @param {Node} node\n * @return {WrappedRange}\n */\n createFromNodeAfter: function(node) {\n return this.createFromNode(node).collapse();\n },\n\n /**\n * @method\n *\n * create WrappedRange from bookmark\n *\n * @param {Node} editable\n * @param {Object} bookmark\n * @return {WrappedRange}\n */\n createFromBookmark: function(editable, bookmark) {\n const sc = dom.fromOffsetPath(editable, bookmark.s.path);\n const so = bookmark.s.offset;\n const ec = dom.fromOffsetPath(editable, bookmark.e.path);\n const eo = bookmark.e.offset;\n return new WrappedRange(sc, so, ec, eo);\n },\n\n /**\n * @method\n *\n * create WrappedRange from paraBookmark\n *\n * @param {Object} bookmark\n * @param {Node[]} paras\n * @return {WrappedRange}\n */\n createFromParaBookmark: function(bookmark, paras) {\n const so = bookmark.s.offset;\n const eo = bookmark.e.offset;\n const sc = dom.fromOffsetPath(lists.head(paras), bookmark.s.path);\n const ec = dom.fromOffsetPath(lists.last(paras), bookmark.e.path);\n\n return new WrappedRange(sc, so, ec, eo);\n }\n};\n","import $ from 'jquery';\n\n/**\n * @method readFileAsDataURL\n *\n * read contents of file as representing URL\n *\n * @param {File} file\n * @return {Promise} - then: dataUrl\n */\nexport function readFileAsDataURL(file) {\n return $.Deferred((deferred) => {\n $.extend(new FileReader(), {\n onload: (e) => {\n const dataURL = e.target.result;\n deferred.resolve(dataURL);\n },\n onerror: (err) => {\n deferred.reject(err);\n }\n }).readAsDataURL(file);\n }).promise();\n}\n\n/**\n * @method createImage\n *\n * create `<image>` from url string\n *\n * @param {String} url\n * @return {Promise} - then: $image\n */\nexport function createImage(url) {\n return $.Deferred((deferred) => {\n const $img = $('<img>');\n\n $img.one('load', () => {\n $img.off('error abort');\n deferred.resolve($img);\n }).one('error abort', () => {\n $img.off('load').detach();\n deferred.reject($img);\n }).css({\n display: 'none'\n }).appendTo(document.body).attr('src', url);\n }).promise();\n}\n","import range from '../core/range';\n\nexport default class History {\n constructor($editable) {\n this.stack = [];\n this.stackOffset = -1;\n this.$editable = $editable;\n this.editable = $editable[0];\n }\n\n makeSnapshot() {\n const rng = range.create(this.editable);\n const emptyBookmark = {s: {path: [], offset: 0}, e: {path: [], offset: 0}};\n\n return {\n contents: this.$editable.html(),\n bookmark: (rng ? rng.bookmark(this.editable) : emptyBookmark)\n };\n }\n\n applySnapshot(snapshot) {\n if (snapshot.contents !== null) {\n this.$editable.html(snapshot.contents);\n }\n if (snapshot.bookmark !== null) {\n range.createFromBookmark(this.editable, snapshot.bookmark).select();\n }\n }\n\n /**\n * @method rewind\n * Rewinds the history stack back to the first snapshot taken.\n * Leaves the stack intact, so that \"Redo\" can still be used.\n */\n rewind() {\n // Create snap shot if not yet recorded\n if (this.$editable.html() !== this.stack[this.stackOffset].contents) {\n this.recordUndo();\n }\n\n // Return to the first available snapshot.\n this.stackOffset = 0;\n\n // Apply that snapshot.\n this.applySnapshot(this.stack[this.stackOffset]);\n }\n\n /**\n * @method reset\n * Resets the history stack completely; reverting to an empty editor.\n */\n reset() {\n // Clear the stack.\n this.stack = [];\n\n // Restore stackOffset to its original value.\n this.stackOffset = -1;\n\n // Clear the editable area.\n this.$editable.html('');\n\n // Record our first snapshot (of nothing).\n this.recordUndo();\n }\n\n /**\n * undo\n */\n undo() {\n // Create snap shot if not yet recorded\n if (this.$editable.html() !== this.stack[this.stackOffset].contents) {\n this.recordUndo();\n }\n\n if (this.stackOffset > 0) {\n this.stackOffset--;\n this.applySnapshot(this.stack[this.stackOffset]);\n }\n }\n\n /**\n * redo\n */\n redo() {\n if (this.stack.length - 1 > this.stackOffset) {\n this.stackOffset++;\n this.applySnapshot(this.stack[this.stackOffset]);\n }\n }\n\n /**\n * recorded undo\n */\n recordUndo() {\n this.stackOffset++;\n\n // Wash out stack after stackOffset\n if (this.stack.length > this.stackOffset) {\n this.stack = this.stack.slice(0, this.stackOffset);\n }\n\n // Create new snapshot and push it to the end\n this.stack.push(this.makeSnapshot());\n }\n}\n","import $ from 'jquery';\nimport env from '../core/env';\nimport func from '../core/func';\nimport lists from '../core/lists';\nimport dom from '../core/dom';\n\nexport default class Style {\n /**\n * @method jQueryCSS\n *\n * [workaround] for old jQuery\n * passing an array of style properties to .css()\n * will result in an object of property-value pairs.\n * (compability with version < 1.9)\n *\n * @private\n * @param {jQuery} $obj\n * @param {Array} propertyNames - An array of one or more CSS properties.\n * @return {Object}\n */\n jQueryCSS($obj, propertyNames) {\n if (env.jqueryVersion < 1.9) {\n const result = {};\n $.each(propertyNames, (idx, propertyName) => {\n result[propertyName] = $obj.css(propertyName);\n });\n return result;\n }\n return $obj.css(propertyNames);\n }\n\n /**\n * returns style object from node\n *\n * @param {jQuery} $node\n * @return {Object}\n */\n fromNode($node) {\n const properties = ['font-family', 'font-size', 'text-align', 'list-style-type', 'line-height'];\n const styleInfo = this.jQueryCSS($node, properties) || {};\n styleInfo['font-size'] = parseInt(styleInfo['font-size'], 10);\n return styleInfo;\n }\n\n /**\n * paragraph level style\n *\n * @param {WrappedRange} rng\n * @param {Object} styleInfo\n */\n stylePara(rng, styleInfo) {\n $.each(rng.nodes(dom.isPara, {\n includeAncestor: true\n }), (idx, para) => {\n $(para).css(styleInfo);\n });\n }\n\n /**\n * insert and returns styleNodes on range.\n *\n * @param {WrappedRange} rng\n * @param {Object} [options] - options for styleNodes\n * @param {String} [options.nodeName] - default: `SPAN`\n * @param {Boolean} [options.expandClosestSibling] - default: `false`\n * @param {Boolean} [options.onlyPartialContains] - default: `false`\n * @return {Node[]}\n */\n styleNodes(rng, options) {\n rng = rng.splitText();\n\n const nodeName = (options && options.nodeName) || 'SPAN';\n const expandClosestSibling = !!(options && options.expandClosestSibling);\n const onlyPartialContains = !!(options && options.onlyPartialContains);\n\n if (rng.isCollapsed()) {\n return [rng.insertNode(dom.create(nodeName))];\n }\n\n let pred = dom.makePredByNodeName(nodeName);\n const nodes = rng.nodes(dom.isText, {\n fullyContains: true\n }).map((text) => {\n return dom.singleChildAncestor(text, pred) || dom.wrap(text, nodeName);\n });\n\n if (expandClosestSibling) {\n if (onlyPartialContains) {\n const nodesInRange = rng.nodes();\n // compose with partial contains predication\n pred = func.and(pred, (node) => {\n return lists.contains(nodesInRange, node);\n });\n }\n\n return nodes.map((node) => {\n const siblings = dom.withClosestSiblings(node, pred);\n const head = lists.head(siblings);\n const tails = lists.tail(siblings);\n $.each(tails, (idx, elem) => {\n dom.appendChildNodes(head, elem.childNodes);\n dom.remove(elem);\n });\n return lists.head(siblings);\n });\n } else {\n return nodes;\n }\n }\n\n /**\n * get current style on cursor\n *\n * @param {WrappedRange} rng\n * @return {Object} - object contains style properties.\n */\n current(rng) {\n const $cont = $(!dom.isElement(rng.sc) ? rng.sc.parentNode : rng.sc);\n let styleInfo = this.fromNode($cont);\n\n // document.queryCommandState for toggle state\n // [workaround] prevent Firefox nsresult: \"0x80004005 (NS_ERROR_FAILURE)\"\n try {\n styleInfo = $.extend(styleInfo, {\n 'font-bold': document.queryCommandState('bold') ? 'bold' : 'normal',\n 'font-italic': document.queryCommandState('italic') ? 'italic' : 'normal',\n 'font-underline': document.queryCommandState('underline') ? 'underline' : 'normal',\n 'font-subscript': document.queryCommandState('subscript') ? 'subscript' : 'normal',\n 'font-superscript': document.queryCommandState('superscript') ? 'superscript' : 'normal',\n 'font-strikethrough': document.queryCommandState('strikethrough') ? 'strikethrough' : 'normal',\n 'font-family': document.queryCommandValue('fontname') || styleInfo['font-family']\n });\n } catch (e) {}\n\n // list-style-type to list-style(unordered, ordered)\n if (!rng.isOnList()) {\n styleInfo['list-style'] = 'none';\n } else {\n const orderedTypes = ['circle', 'disc', 'disc-leading-zero', 'square'];\n const isUnordered = $.inArray(styleInfo['list-style-type'], orderedTypes) > -1;\n styleInfo['list-style'] = isUnordered ? 'unordered' : 'ordered';\n }\n\n const para = dom.ancestor(rng.sc, dom.isPara);\n if (para && para.style['line-height']) {\n styleInfo['line-height'] = para.style.lineHeight;\n } else {\n const lineHeight = parseInt(styleInfo['line-height'], 10) / parseInt(styleInfo['font-size'], 10);\n styleInfo['line-height'] = lineHeight.toFixed(1);\n }\n\n styleInfo.anchor = rng.isOnAnchor() && dom.ancestor(rng.sc, dom.isAnchor);\n styleInfo.ancestors = dom.listAncestor(rng.sc, dom.isEditable);\n styleInfo.range = rng;\n\n return styleInfo;\n }\n}\n","import $ from 'jquery';\nimport lists from '../core/lists';\nimport func from '../core/func';\nimport dom from '../core/dom';\nimport range from '../core/range';\n\nexport default class Bullet {\n /**\n * toggle ordered list\n */\n insertOrderedList(editable) {\n this.toggleList('OL', editable);\n }\n\n /**\n * toggle unordered list\n */\n insertUnorderedList(editable) {\n this.toggleList('UL', editable);\n }\n\n /**\n * indent\n */\n indent(editable) {\n const rng = range.create(editable).wrapBodyInlineWithPara();\n\n const paras = rng.nodes(dom.isPara, { includeAncestor: true });\n const clustereds = lists.clusterBy(paras, func.peq2('parentNode'));\n\n $.each(clustereds, (idx, paras) => {\n const head = lists.head(paras);\n if (dom.isLi(head)) {\n this.wrapList(paras, head.parentNode.nodeName);\n } else {\n $.each(paras, (idx, para) => {\n $(para).css('marginLeft', (idx, val) => {\n return (parseInt(val, 10) || 0) + 25;\n });\n });\n }\n });\n\n rng.select();\n }\n\n /**\n * outdent\n */\n outdent(editable) {\n const rng = range.create(editable).wrapBodyInlineWithPara();\n\n const paras = rng.nodes(dom.isPara, { includeAncestor: true });\n const clustereds = lists.clusterBy(paras, func.peq2('parentNode'));\n\n $.each(clustereds, (idx, paras) => {\n const head = lists.head(paras);\n if (dom.isLi(head)) {\n this.releaseList([paras]);\n } else {\n $.each(paras, (idx, para) => {\n $(para).css('marginLeft', (idx, val) => {\n val = (parseInt(val, 10) || 0);\n return val > 25 ? val - 25 : '';\n });\n });\n }\n });\n\n rng.select();\n }\n\n /**\n * toggle list\n *\n * @param {String} listName - OL or UL\n */\n toggleList(listName, editable) {\n const rng = range.create(editable).wrapBodyInlineWithPara();\n\n let paras = rng.nodes(dom.isPara, { includeAncestor: true });\n const bookmark = rng.paraBookmark(paras);\n const clustereds = lists.clusterBy(paras, func.peq2('parentNode'));\n\n // paragraph to list\n if (lists.find(paras, dom.isPurePara)) {\n let wrappedParas = [];\n $.each(clustereds, (idx, paras) => {\n wrappedParas = wrappedParas.concat(this.wrapList(paras, listName));\n });\n paras = wrappedParas;\n // list to paragraph or change list style\n } else {\n const diffLists = rng.nodes(dom.isList, {\n includeAncestor: true\n }).filter((listNode) => {\n return !$.nodeName(listNode, listName);\n });\n\n if (diffLists.length) {\n $.each(diffLists, (idx, listNode) => {\n dom.replace(listNode, listName);\n });\n } else {\n paras = this.releaseList(clustereds, true);\n }\n }\n\n range.createFromParaBookmark(bookmark, paras).select();\n }\n\n /**\n * @param {Node[]} paras\n * @param {String} listName\n * @return {Node[]}\n */\n wrapList(paras, listName) {\n const head = lists.head(paras);\n const last = lists.last(paras);\n\n const prevList = dom.isList(head.previousSibling) && head.previousSibling;\n const nextList = dom.isList(last.nextSibling) && last.nextSibling;\n\n const listNode = prevList || dom.insertAfter(dom.create(listName || 'UL'), last);\n\n // P to LI\n paras = paras.map((para) => {\n return dom.isPurePara(para) ? dom.replace(para, 'LI') : para;\n });\n\n // append to list(<ul>, <ol>)\n dom.appendChildNodes(listNode, paras);\n\n if (nextList) {\n dom.appendChildNodes(listNode, lists.from(nextList.childNodes));\n dom.remove(nextList);\n }\n\n return paras;\n }\n\n /**\n * @method releaseList\n *\n * @param {Array[]} clustereds\n * @param {Boolean} isEscapseToBody\n * @return {Node[]}\n */\n releaseList(clustereds, isEscapseToBody) {\n let releasedParas = [];\n\n $.each(clustereds, (idx, paras) => {\n const head = lists.head(paras);\n const last = lists.last(paras);\n\n const headList = isEscapseToBody ? dom.lastAncestor(head, dom.isList) : head.parentNode;\n const lastList = headList.childNodes.length > 1 ? dom.splitTree(headList, {\n node: last.parentNode,\n offset: dom.position(last) + 1\n }, {\n isSkipPaddingBlankHTML: true\n }) : null;\n\n const middleList = dom.splitTree(headList, {\n node: head.parentNode,\n offset: dom.position(head)\n }, {\n isSkipPaddingBlankHTML: true\n });\n\n paras = isEscapseToBody ? dom.listDescendant(middleList, dom.isLi)\n : lists.from(middleList.childNodes).filter(dom.isLi);\n\n // LI to P\n if (isEscapseToBody || !dom.isList(headList.parentNode)) {\n paras = paras.map((para) => {\n return dom.replace(para, 'P');\n });\n }\n\n $.each(lists.from(paras).reverse(), (idx, para) => {\n dom.insertAfter(para, headList);\n });\n\n // remove empty lists\n const rootLists = lists.compact([headList, middleList, lastList]);\n $.each(rootLists, (idx, rootList) => {\n const listNodes = [rootList].concat(dom.listDescendant(rootList, dom.isList));\n $.each(listNodes.reverse(), (idx, listNode) => {\n if (!dom.nodeLength(listNode)) {\n dom.remove(listNode, true);\n }\n });\n });\n\n releasedParas = releasedParas.concat(paras);\n });\n\n return releasedParas;\n }\n}\n","import $ from 'jquery';\nimport dom from '../core/dom';\nimport range from '../core/range';\nimport Bullet from '../editing/Bullet';\n\n/**\n * @class editing.Typing\n *\n * Typing\n *\n */\nexport default class Typing {\n constructor() {\n // a Bullet instance to toggle lists off\n this.bullet = new Bullet();\n }\n\n /**\n * insert tab\n *\n * @param {WrappedRange} rng\n * @param {Number} tabsize\n */\n insertTab(rng, tabsize) {\n const tab = dom.createText(new Array(tabsize + 1).join(dom.NBSP_CHAR));\n rng = rng.deleteContents();\n rng.insertNode(tab, true);\n\n rng = range.create(tab, tabsize);\n rng.select();\n }\n\n /**\n * insert paragraph\n */\n insertParagraph(editable) {\n let rng = range.create(editable);\n\n // deleteContents on range.\n rng = rng.deleteContents();\n\n // Wrap range if it needs to be wrapped by paragraph\n rng = rng.wrapBodyInlineWithPara();\n\n // finding paragraph\n const splitRoot = dom.ancestor(rng.sc, dom.isPara);\n\n let nextPara;\n // on paragraph: split paragraph\n if (splitRoot) {\n // if it is an empty line with li\n if (dom.isEmpty(splitRoot) && dom.isLi(splitRoot)) {\n // toogle UL/OL and escape\n this.bullet.toggleList(splitRoot.parentNode.nodeName);\n return;\n // if it is an empty line with para on blockquote\n } else if (dom.isEmpty(splitRoot) && dom.isPara(splitRoot) && dom.isBlockquote(splitRoot.parentNode)) {\n // escape blockquote\n dom.insertAfter(splitRoot, splitRoot.parentNode);\n nextPara = splitRoot;\n // if new line has content (not a line break)\n } else {\n nextPara = dom.splitTree(splitRoot, rng.getStartPoint());\n\n let emptyAnchors = dom.listDescendant(splitRoot, dom.isEmptyAnchor);\n emptyAnchors = emptyAnchors.concat(dom.listDescendant(nextPara, dom.isEmptyAnchor));\n\n $.each(emptyAnchors, (idx, anchor) => {\n dom.remove(anchor);\n });\n\n // replace empty heading, pre or custom-made styleTag with P tag\n if ((dom.isHeading(nextPara) || dom.isPre(nextPara) || dom.isCustomStyleTag(nextPara)) && dom.isEmpty(nextPara)) {\n nextPara = dom.replace(nextPara, 'p');\n }\n }\n // no paragraph: insert empty paragraph\n } else {\n const next = rng.sc.childNodes[rng.so];\n nextPara = $(dom.emptyPara)[0];\n if (next) {\n rng.sc.insertBefore(nextPara, next);\n } else {\n rng.sc.appendChild(nextPara);\n }\n }\n\n range.create(nextPara, 0).normalize().select().scrollIntoView(editable);\n }\n}\n","import $ from 'jquery';\nimport dom from '../core/dom';\nimport range from '../core/range';\nimport lists from '../core/lists';\n\n/**\n * @class Create a virtual table to create what actions to do in change.\n * @param {object} startPoint Cell selected to apply change.\n * @param {enum} where Where change will be applied Row or Col. Use enum: TableResultAction.where\n * @param {enum} action Action to be applied. Use enum: TableResultAction.requestAction\n * @param {object} domTable Dom element of table to make changes.\n */\nconst TableResultAction = function(startPoint, where, action, domTable) {\n const _startPoint = { 'colPos': 0, 'rowPos': 0 };\n const _virtualTable = [];\n const _actionCellList = [];\n\n /// ///////////////////////////////////////////\n // Private functions\n /// ///////////////////////////////////////////\n\n /**\n * Set the startPoint of action.\n */\n function setStartPoint() {\n if (!startPoint || !startPoint.tagName || (startPoint.tagName.toLowerCase() !== 'td' && startPoint.tagName.toLowerCase() !== 'th')) {\n console.error('Impossible to identify start Cell point.', startPoint);\n return;\n }\n _startPoint.colPos = startPoint.cellIndex;\n if (!startPoint.parentElement || !startPoint.parentElement.tagName || startPoint.parentElement.tagName.toLowerCase() !== 'tr') {\n console.error('Impossible to identify start Row point.', startPoint);\n return;\n }\n _startPoint.rowPos = startPoint.parentElement.rowIndex;\n }\n\n /**\n * Define virtual table position info object.\n *\n * @param {int} rowIndex Index position in line of virtual table.\n * @param {int} cellIndex Index position in column of virtual table.\n * @param {object} baseRow Row affected by this position.\n * @param {object} baseCell Cell affected by this position.\n * @param {bool} isSpan Inform if it is an span cell/row.\n */\n function setVirtualTablePosition(rowIndex, cellIndex, baseRow, baseCell, isRowSpan, isColSpan, isVirtualCell) {\n const objPosition = {\n 'baseRow': baseRow,\n 'baseCell': baseCell,\n 'isRowSpan': isRowSpan,\n 'isColSpan': isColSpan,\n 'isVirtual': isVirtualCell\n };\n if (!_virtualTable[rowIndex]) {\n _virtualTable[rowIndex] = [];\n }\n _virtualTable[rowIndex][cellIndex] = objPosition;\n }\n\n /**\n * Create action cell object.\n *\n * @param {object} virtualTableCellObj Object of specific position on virtual table.\n * @param {enum} resultAction Action to be applied in that item.\n */\n function getActionCell(virtualTableCellObj, resultAction, virtualRowPosition, virtualColPosition) {\n return {\n 'baseCell': virtualTableCellObj.baseCell,\n 'action': resultAction,\n 'virtualTable': {\n 'rowIndex': virtualRowPosition,\n 'cellIndex': virtualColPosition\n }\n };\n }\n\n /**\n * Recover free index of row to append Cell.\n *\n * @param {int} rowIndex Index of row to find free space.\n * @param {int} cellIndex Index of cell to find free space in table.\n */\n function recoverCellIndex(rowIndex, cellIndex) {\n if (!_virtualTable[rowIndex]) {\n return cellIndex;\n }\n if (!_virtualTable[rowIndex][cellIndex]) {\n return cellIndex;\n }\n\n let newCellIndex = cellIndex;\n while (_virtualTable[rowIndex][newCellIndex]) {\n newCellIndex++;\n if (!_virtualTable[rowIndex][newCellIndex]) {\n return newCellIndex;\n }\n }\n }\n\n /**\n * Recover info about row and cell and add information to virtual table.\n *\n * @param {object} row Row to recover information.\n * @param {object} cell Cell to recover information.\n */\n function addCellInfoToVirtual(row, cell) {\n const cellIndex = recoverCellIndex(row.rowIndex, cell.cellIndex);\n const cellHasColspan = (cell.colSpan > 1);\n const cellHasRowspan = (cell.rowSpan > 1);\n const isThisSelectedCell = (row.rowIndex === _startPoint.rowPos && cell.cellIndex === _startPoint.colPos);\n setVirtualTablePosition(row.rowIndex, cellIndex, row, cell, cellHasRowspan, cellHasColspan, false);\n\n // Add span rows to virtual Table.\n const rowspanNumber = cell.attributes.rowSpan ? parseInt(cell.attributes.rowSpan.value, 10) : 0;\n if (rowspanNumber > 1) {\n for (let rp = 1; rp < rowspanNumber; rp++) {\n const rowspanIndex = row.rowIndex + rp;\n adjustStartPoint(rowspanIndex, cellIndex, cell, isThisSelectedCell);\n setVirtualTablePosition(rowspanIndex, cellIndex, row, cell, true, cellHasColspan, true);\n }\n }\n\n // Add span cols to virtual table.\n const colspanNumber = cell.attributes.colSpan ? parseInt(cell.attributes.colSpan.value, 10) : 0;\n if (colspanNumber > 1) {\n for (let cp = 1; cp < colspanNumber; cp++) {\n const cellspanIndex = recoverCellIndex(row.rowIndex, (cellIndex + cp));\n adjustStartPoint(row.rowIndex, cellspanIndex, cell, isThisSelectedCell);\n setVirtualTablePosition(row.rowIndex, cellspanIndex, row, cell, cellHasRowspan, true, true);\n }\n }\n }\n\n /**\n * Process validation and adjust of start point if needed\n *\n * @param {int} rowIndex\n * @param {int} cellIndex\n * @param {object} cell\n * @param {bool} isSelectedCell\n */\n function adjustStartPoint(rowIndex, cellIndex, cell, isSelectedCell) {\n if (rowIndex === _startPoint.rowPos && _startPoint.colPos >= cell.cellIndex && cell.cellIndex <= cellIndex && !isSelectedCell) {\n _startPoint.colPos++;\n }\n }\n\n /**\n * Create virtual table of cells with all cells, including span cells.\n */\n function createVirtualTable() {\n const rows = domTable.rows;\n for (let rowIndex = 0; rowIndex < rows.length; rowIndex++) {\n const cells = rows[rowIndex].cells;\n for (let cellIndex = 0; cellIndex < cells.length; cellIndex++) {\n addCellInfoToVirtual(rows[rowIndex], cells[cellIndex]);\n }\n }\n }\n\n /**\n * Get action to be applied on the cell.\n *\n * @param {object} cell virtual table cell to apply action\n */\n function getDeleteResultActionToCell(cell) {\n switch (where) {\n case TableResultAction.where.Column:\n if (cell.isColSpan) {\n return TableResultAction.resultAction.SubtractSpanCount;\n }\n break;\n case TableResultAction.where.Row:\n if (!cell.isVirtual && cell.isRowSpan) {\n return TableResultAction.resultAction.AddCell;\n } else if (cell.isRowSpan) {\n return TableResultAction.resultAction.SubtractSpanCount;\n }\n break;\n }\n return TableResultAction.resultAction.RemoveCell;\n }\n\n /**\n * Get action to be applied on the cell.\n *\n * @param {object} cell virtual table cell to apply action\n */\n function getAddResultActionToCell(cell) {\n switch (where) {\n case TableResultAction.where.Column:\n if (cell.isColSpan) {\n return TableResultAction.resultAction.SumSpanCount;\n } else if (cell.isRowSpan && cell.isVirtual) {\n return TableResultAction.resultAction.Ignore;\n }\n break;\n case TableResultAction.where.Row:\n if (cell.isRowSpan) {\n return TableResultAction.resultAction.SumSpanCount;\n } else if (cell.isColSpan && cell.isVirtual) {\n return TableResultAction.resultAction.Ignore;\n }\n break;\n }\n return TableResultAction.resultAction.AddCell;\n }\n\n function init() {\n setStartPoint();\n createVirtualTable();\n }\n\n /// ///////////////////////////////////////////\n // Public functions\n /// ///////////////////////////////////////////\n\n /**\n * Recover array os what to do in table.\n */\n this.getActionList = function() {\n const fixedRow = (where === TableResultAction.where.Row) ? _startPoint.rowPos : -1;\n const fixedCol = (where === TableResultAction.where.Column) ? _startPoint.colPos : -1;\n\n let actualPosition = 0;\n let canContinue = true;\n while (canContinue) {\n const rowPosition = (fixedRow >= 0) ? fixedRow : actualPosition;\n const colPosition = (fixedCol >= 0) ? fixedCol : actualPosition;\n const row = _virtualTable[rowPosition];\n if (!row) {\n canContinue = false;\n return _actionCellList;\n }\n const cell = row[colPosition];\n if (!cell) {\n canContinue = false;\n return _actionCellList;\n }\n\n // Define action to be applied in this cell\n let resultAction = TableResultAction.resultAction.Ignore;\n switch (action) {\n case TableResultAction.requestAction.Add:\n resultAction = getAddResultActionToCell(cell);\n break;\n case TableResultAction.requestAction.Delete:\n resultAction = getDeleteResultActionToCell(cell);\n break;\n }\n _actionCellList.push(getActionCell(cell, resultAction, rowPosition, colPosition));\n actualPosition++;\n }\n\n return _actionCellList;\n };\n\n init();\n};\n/**\n*\n* Where action occours enum.\n*/\nTableResultAction.where = { 'Row': 0, 'Column': 1 };\n/**\n*\n* Requested action to apply enum.\n*/\nTableResultAction.requestAction = { 'Add': 0, 'Delete': 1 };\n/**\n*\n* Result action to be executed enum.\n*/\nTableResultAction.resultAction = { 'Ignore': 0, 'SubtractSpanCount': 1, 'RemoveCell': 2, 'AddCell': 3, 'SumSpanCount': 4 };\n\n/**\n *\n * @class editing.Table\n *\n * Table\n *\n */\nexport default class Table {\n /**\n * handle tab key\n *\n * @param {WrappedRange} rng\n * @param {Boolean} isShift\n */\n tab(rng, isShift) {\n const cell = dom.ancestor(rng.commonAncestor(), dom.isCell);\n const table = dom.ancestor(cell, dom.isTable);\n const cells = dom.listDescendant(table, dom.isCell);\n\n const nextCell = lists[isShift ? 'prev' : 'next'](cells, cell);\n if (nextCell) {\n range.create(nextCell, 0).select();\n }\n }\n\n /**\n * Add a new row\n *\n * @param {WrappedRange} rng\n * @param {String} position (top/bottom)\n * @return {Node}\n */\n addRow(rng, position) {\n const cell = dom.ancestor(rng.commonAncestor(), dom.isCell);\n\n const currentTr = $(cell).closest('tr');\n const trAttributes = this.recoverAttributes(currentTr);\n const html = $('<tr' + trAttributes + '></tr>');\n\n const vTable = new TableResultAction(cell, TableResultAction.where.Row,\n TableResultAction.requestAction.Add, $(currentTr).closest('table')[0]);\n const actions = vTable.getActionList();\n\n for (let idCell = 0; idCell < actions.length; idCell++) {\n const currentCell = actions[idCell];\n const tdAttributes = this.recoverAttributes(currentCell.baseCell);\n switch (currentCell.action) {\n case TableResultAction.resultAction.AddCell:\n html.append('<td' + tdAttributes + '>' + dom.blank + '</td>');\n break;\n case TableResultAction.resultAction.SumSpanCount:\n if (position === 'top') {\n const baseCellTr = currentCell.baseCell.parent;\n const isTopFromRowSpan = (!baseCellTr ? 0 : currentCell.baseCell.closest('tr').rowIndex) <= currentTr[0].rowIndex;\n if (isTopFromRowSpan) {\n const newTd = $('<div></div>').append($('<td' + tdAttributes + '>' + dom.blank + '</td>').removeAttr('rowspan')).html();\n html.append(newTd);\n break;\n }\n }\n let rowspanNumber = parseInt(currentCell.baseCell.rowSpan, 10);\n rowspanNumber++;\n currentCell.baseCell.setAttribute('rowSpan', rowspanNumber);\n break;\n }\n }\n\n if (position === 'top') {\n currentTr.before(html);\n } else {\n const cellHasRowspan = (cell.rowSpan > 1);\n if (cellHasRowspan) {\n const lastTrIndex = currentTr[0].rowIndex + (cell.rowSpan - 2);\n $($(currentTr).parent().find('tr')[lastTrIndex]).after($(html));\n return;\n }\n currentTr.after(html);\n }\n }\n\n /**\n * Add a new col\n *\n * @param {WrappedRange} rng\n * @param {String} position (left/right)\n * @return {Node}\n */\n addCol(rng, position) {\n const cell = dom.ancestor(rng.commonAncestor(), dom.isCell);\n const row = $(cell).closest('tr');\n const rowsGroup = $(row).siblings();\n rowsGroup.push(row);\n\n const vTable = new TableResultAction(cell, TableResultAction.where.Column,\n TableResultAction.requestAction.Add, $(row).closest('table')[0]);\n const actions = vTable.getActionList();\n\n for (let actionIndex = 0; actionIndex < actions.length; actionIndex++) {\n const currentCell = actions[actionIndex];\n const tdAttributes = this.recoverAttributes(currentCell.baseCell);\n switch (currentCell.action) {\n case TableResultAction.resultAction.AddCell:\n if (position === 'right') {\n $(currentCell.baseCell).after('<td' + tdAttributes + '>' + dom.blank + '</td>');\n } else {\n $(currentCell.baseCell).before('<td' + tdAttributes + '>' + dom.blank + '</td>');\n }\n break;\n case TableResultAction.resultAction.SumSpanCount:\n if (position === 'right') {\n let colspanNumber = parseInt(currentCell.baseCell.colSpan, 10);\n colspanNumber++;\n currentCell.baseCell.setAttribute('colSpan', colspanNumber);\n } else {\n $(currentCell.baseCell).before('<td' + tdAttributes + '>' + dom.blank + '</td>');\n }\n break;\n }\n }\n }\n\n /*\n * Copy attributes from element.\n *\n * @param {object} Element to recover attributes.\n * @return {string} Copied string elements.\n */\n recoverAttributes(el) {\n let resultStr = '';\n\n if (!el) {\n return resultStr;\n }\n\n const attrList = el.attributes || [];\n\n for (let i = 0; i < attrList.length; i++) {\n if (attrList[i].name.toLowerCase() === 'id') {\n continue;\n }\n\n if (attrList[i].specified) {\n resultStr += ' ' + attrList[i].name + '=\\'' + attrList[i].value + '\\'';\n }\n }\n\n return resultStr;\n }\n\n /**\n * Delete current row\n *\n * @param {WrappedRange} rng\n * @return {Node}\n */\n deleteRow(rng) {\n const cell = dom.ancestor(rng.commonAncestor(), dom.isCell);\n const row = $(cell).closest('tr');\n const cellPos = row.children('td, th').index($(cell));\n const rowPos = row[0].rowIndex;\n\n const vTable = new TableResultAction(cell, TableResultAction.where.Row,\n TableResultAction.requestAction.Delete, $(row).closest('table')[0]);\n const actions = vTable.getActionList();\n\n for (let actionIndex = 0; actionIndex < actions.length; actionIndex++) {\n if (!actions[actionIndex]) {\n continue;\n }\n\n const baseCell = actions[actionIndex].baseCell;\n const virtualPosition = actions[actionIndex].virtualTable;\n const hasRowspan = (baseCell.rowSpan && baseCell.rowSpan > 1);\n let rowspanNumber = (hasRowspan) ? parseInt(baseCell.rowSpan, 10) : 0;\n switch (actions[actionIndex].action) {\n case TableResultAction.resultAction.Ignore:\n continue;\n case TableResultAction.resultAction.AddCell:\n const nextRow = row.next('tr')[0];\n if (!nextRow) { continue; }\n const cloneRow = row[0].cells[cellPos];\n if (hasRowspan) {\n if (rowspanNumber > 2) {\n rowspanNumber--;\n nextRow.insertBefore(cloneRow, nextRow.cells[cellPos]);\n nextRow.cells[cellPos].setAttribute('rowSpan', rowspanNumber);\n nextRow.cells[cellPos].innerHTML = '';\n } else if (rowspanNumber === 2) {\n nextRow.insertBefore(cloneRow, nextRow.cells[cellPos]);\n nextRow.cells[cellPos].removeAttribute('rowSpan');\n nextRow.cells[cellPos].innerHTML = '';\n }\n }\n continue;\n case TableResultAction.resultAction.SubtractSpanCount:\n if (hasRowspan) {\n if (rowspanNumber > 2) {\n rowspanNumber--;\n baseCell.setAttribute('rowSpan', rowspanNumber);\n if (virtualPosition.rowIndex !== rowPos && baseCell.cellIndex === cellPos) { baseCell.innerHTML = ''; }\n } else if (rowspanNumber === 2) {\n baseCell.removeAttribute('rowSpan');\n if (virtualPosition.rowIndex !== rowPos && baseCell.cellIndex === cellPos) { baseCell.innerHTML = ''; }\n }\n }\n continue;\n case TableResultAction.resultAction.RemoveCell:\n // Do not need remove cell because row will be deleted.\n continue;\n }\n }\n row.remove();\n }\n\n /**\n * Delete current col\n *\n * @param {WrappedRange} rng\n * @return {Node}\n */\n deleteCol(rng) {\n const cell = dom.ancestor(rng.commonAncestor(), dom.isCell);\n const row = $(cell).closest('tr');\n const cellPos = row.children('td, th').index($(cell));\n\n const vTable = new TableResultAction(cell, TableResultAction.where.Column,\n TableResultAction.requestAction.Delete, $(row).closest('table')[0]);\n const actions = vTable.getActionList();\n\n for (let actionIndex = 0; actionIndex < actions.length; actionIndex++) {\n if (!actions[actionIndex]) {\n continue;\n }\n switch (actions[actionIndex].action) {\n case TableResultAction.resultAction.Ignore:\n continue;\n case TableResultAction.resultAction.SubtractSpanCount:\n const baseCell = actions[actionIndex].baseCell;\n const hasColspan = (baseCell.colSpan && baseCell.colSpan > 1);\n if (hasColspan) {\n let colspanNumber = (baseCell.colSpan) ? parseInt(baseCell.colSpan, 10) : 0;\n if (colspanNumber > 2) {\n colspanNumber--;\n baseCell.setAttribute('colSpan', colspanNumber);\n if (baseCell.cellIndex === cellPos) { baseCell.innerHTML = ''; }\n } else if (colspanNumber === 2) {\n baseCell.removeAttribute('colSpan');\n if (baseCell.cellIndex === cellPos) { baseCell.innerHTML = ''; }\n }\n }\n continue;\n case TableResultAction.resultAction.RemoveCell:\n dom.remove(actions[actionIndex].baseCell, true);\n continue;\n }\n }\n }\n\n /**\n * create empty table element\n *\n * @param {Number} rowCount\n * @param {Number} colCount\n * @return {Node}\n */\n createTable(colCount, rowCount, options) {\n const tds = [];\n let tdHTML;\n for (let idxCol = 0; idxCol < colCount; idxCol++) {\n tds.push('<td>' + dom.blank + '</td>');\n }\n tdHTML = tds.join('');\n\n const trs = [];\n let trHTML;\n for (let idxRow = 0; idxRow < rowCount; idxRow++) {\n trs.push('<tr>' + tdHTML + '</tr>');\n }\n trHTML = trs.join('');\n const $table = $('<table>' + trHTML + '</table>');\n if (options && options.tableClassName) {\n $table.addClass(options.tableClassName);\n }\n\n return $table[0];\n }\n\n /**\n * Delete current table\n *\n * @param {WrappedRange} rng\n * @return {Node}\n */\n deleteTable(rng) {\n const cell = dom.ancestor(rng.commonAncestor(), dom.isCell);\n $(cell).closest('table').remove();\n }\n}\n","import $ from 'jquery';\nimport env from '../core/env';\nimport key from '../core/key';\nimport func from '../core/func';\nimport lists from '../core/lists';\nimport dom from '../core/dom';\nimport range from '../core/range';\nimport { readFileAsDataURL, createImage } from '../core/async';\nimport History from '../editing/History';\nimport Style from '../editing/Style';\nimport Typing from '../editing/Typing';\nimport Table from '../editing/Table';\nimport Bullet from '../editing/Bullet';\n\nconst KEY_BOGUS = 'bogus';\n\n/**\n * @class Editor\n */\nexport default class Editor {\n constructor(context) {\n this.context = context;\n\n this.$note = context.layoutInfo.note;\n this.$editor = context.layoutInfo.editor;\n this.$editable = context.layoutInfo.editable;\n this.options = context.options;\n this.lang = this.options.langInfo;\n\n this.editable = this.$editable[0];\n this.lastRange = null;\n\n this.style = new Style();\n this.table = new Table();\n this.typing = new Typing();\n this.bullet = new Bullet();\n this.history = new History(this.$editable);\n\n this.context.memo('help.undo', this.lang.help.undo);\n this.context.memo('help.redo', this.lang.help.redo);\n this.context.memo('help.tab', this.lang.help.tab);\n this.context.memo('help.untab', this.lang.help.untab);\n this.context.memo('help.insertParagraph', this.lang.help.insertParagraph);\n this.context.memo('help.insertOrderedList', this.lang.help.insertOrderedList);\n this.context.memo('help.insertUnorderedList', this.lang.help.insertUnorderedList);\n this.context.memo('help.indent', this.lang.help.indent);\n this.context.memo('help.outdent', this.lang.help.outdent);\n this.context.memo('help.formatPara', this.lang.help.formatPara);\n this.context.memo('help.insertHorizontalRule', this.lang.help.insertHorizontalRule);\n this.context.memo('help.fontName', this.lang.help.fontName);\n\n // native commands(with execCommand), generate function for execCommand\n const commands = [\n 'bold', 'italic', 'underline', 'strikethrough', 'superscript', 'subscript',\n 'justifyLeft', 'justifyCenter', 'justifyRight', 'justifyFull',\n 'formatBlock', 'removeFormat', 'backColor'\n ];\n\n for (let idx = 0, len = commands.length; idx < len; idx++) {\n this[commands[idx]] = ((sCmd) => {\n return (value) => {\n this.beforeCommand();\n document.execCommand(sCmd, false, value);\n this.afterCommand(true);\n };\n })(commands[idx]);\n this.context.memo('help.' + commands[idx], this.lang.help[commands[idx]]);\n }\n\n this.fontName = this.wrapCommand((value) => {\n return this.fontStyling('font-family', \"\\'\" + value + \"\\'\");\n });\n\n this.fontSize = this.wrapCommand((value) => {\n return this.fontStyling('font-size', value + 'px');\n });\n\n for (let idx = 1; idx <= 6; idx++) {\n this['formatH' + idx] = ((idx) => {\n return () => {\n this.formatBlock('H' + idx);\n };\n })(idx);\n this.context.memo('help.formatH' + idx, this.lang.help['formatH' + idx]);\n };\n\n this.insertParagraph = this.wrapCommand(() => {\n this.typing.insertParagraph(this.editable);\n });\n\n this.insertOrderedList = this.wrapCommand(() => {\n this.bullet.insertOrderedList(this.editable);\n });\n\n this.insertUnorderedList = this.wrapCommand(() => {\n this.bullet.insertUnorderedList(this.editable);\n });\n\n this.indent = this.wrapCommand(() => {\n this.bullet.indent(this.editable);\n });\n\n this.outdent = this.wrapCommand(() => {\n this.bullet.outdent(this.editable);\n });\n\n /**\n * insertNode\n * insert node\n * @param {Node} node\n */\n this.insertNode = this.wrapCommand((node) => {\n if (this.isLimited($(node).text().length)) {\n return;\n }\n const rng = this.createRange();\n rng.insertNode(node);\n range.createFromNodeAfter(node).select();\n });\n\n /**\n * insert text\n * @param {String} text\n */\n this.insertText = this.wrapCommand((text) => {\n if (this.isLimited(text.length)) {\n return;\n }\n const rng = this.createRange();\n const textNode = rng.insertNode(dom.createText(text));\n range.create(textNode, dom.nodeLength(textNode)).select();\n });\n /**\n * paste HTML\n * @param {String} markup\n */\n this.pasteHTML = this.wrapCommand((markup) => {\n if (this.isLimited(markup.length)) {\n return;\n }\n const contents = this.createRange().pasteHTML(markup);\n range.createFromNodeAfter(lists.last(contents)).select();\n });\n\n /**\n * formatBlock\n *\n * @param {String} tagName\n */\n this.formatBlock = this.wrapCommand((tagName, $target) => {\n const onApplyCustomStyle = this.options.callbacks.onApplyCustomStyle;\n if (onApplyCustomStyle) {\n onApplyCustomStyle.call(this, $target, this.context, this.onFormatBlock);\n } else {\n this.onFormatBlock(tagName, $target);\n }\n });\n\n /**\n * insert horizontal rule\n */\n this.insertHorizontalRule = this.wrapCommand(() => {\n const hrNode = this.createRange().insertNode(dom.create('HR'));\n if (hrNode.nextSibling) {\n range.create(hrNode.nextSibling, 0).normalize().select();\n }\n });\n\n /**\n * lineHeight\n * @param {String} value\n */\n this.lineHeight = this.wrapCommand((value) => {\n this.style.stylePara(this.createRange(), {\n lineHeight: value\n });\n });\n\n /**\n * create link (command)\n *\n * @param {Object} linkInfo\n */\n this.createLink = this.wrapCommand((linkInfo) => {\n let linkUrl = linkInfo.url;\n const linkText = linkInfo.text;\n const isNewWindow = linkInfo.isNewWindow;\n let rng = linkInfo.range || this.createRange();\n const isTextChanged = rng.toString() !== linkText;\n\n // handle spaced urls from input\n if (typeof linkUrl === 'string') {\n linkUrl = linkUrl.trim();\n }\n\n if (this.options.onCreateLink) {\n linkUrl = this.options.onCreateLink(linkUrl);\n } else {\n // if url doesn't match an URL schema, set http:// as default\n linkUrl = /^[A-Za-z][A-Za-z0-9+-.]*\\:[\\/\\/]?/.test(linkUrl)\n ? linkUrl : 'http://' + linkUrl;\n }\n\n let anchors = [];\n if (isTextChanged) {\n rng = rng.deleteContents();\n const anchor = rng.insertNode($('<A>' + linkText + '</A>')[0]);\n anchors.push(anchor);\n } else {\n anchors = this.style.styleNodes(rng, {\n nodeName: 'A',\n expandClosestSibling: true,\n onlyPartialContains: true\n });\n }\n\n $.each(anchors, (idx, anchor) => {\n $(anchor).attr('href', linkUrl);\n if (isNewWindow) {\n $(anchor).attr('target', '_blank');\n } else {\n $(anchor).removeAttr('target');\n }\n });\n\n const startRange = range.createFromNodeBefore(lists.head(anchors));\n const startPoint = startRange.getStartPoint();\n const endRange = range.createFromNodeAfter(lists.last(anchors));\n const endPoint = endRange.getEndPoint();\n\n range.create(\n startPoint.node,\n startPoint.offset,\n endPoint.node,\n endPoint.offset\n ).select();\n });\n\n /**\n * setting color\n *\n * @param {Object} sObjColor color code\n * @param {String} sObjColor.foreColor foreground color\n * @param {String} sObjColor.backColor background color\n */\n this.color = this.wrapCommand((colorInfo) => {\n const foreColor = colorInfo.foreColor;\n const backColor = colorInfo.backColor;\n\n if (foreColor) { document.execCommand('foreColor', false, foreColor); }\n if (backColor) { document.execCommand('backColor', false, backColor); }\n });\n\n /**\n * Set foreground color\n *\n * @param {String} colorCode foreground color code\n */\n this.foreColor = this.wrapCommand((colorInfo) => {\n document.execCommand('styleWithCSS', false, true);\n document.execCommand('foreColor', false, colorInfo);\n });\n\n /**\n * insert Table\n *\n * @param {String} dimension of table (ex : \"5x5\")\n */\n this.insertTable = this.wrapCommand((dim) => {\n const dimension = dim.split('x');\n\n const rng = this.createRange().deleteContents();\n rng.insertNode(this.table.createTable(dimension[0], dimension[1], this.options));\n });\n\n /**\n * remove media object and Figure Elements if media object is img with Figure.\n */\n this.removeMedia = this.wrapCommand(() => {\n let $target = $(this.restoreTarget()).parent();\n if ($target.parent('figure').length) {\n $target.parent('figure').remove();\n } else {\n $target = $(this.restoreTarget()).detach();\n }\n this.context.triggerEvent('media.delete', $target, this.$editable);\n });\n\n /**\n * float me\n *\n * @param {String} value\n */\n this.floatMe = this.wrapCommand((value) => {\n const $target = $(this.restoreTarget());\n $target.toggleClass('note-float-left', value === 'left');\n $target.toggleClass('note-float-right', value === 'right');\n $target.css('float', value);\n });\n\n /**\n * resize overlay element\n * @param {String} value\n */\n this.resize = this.wrapCommand((value) => {\n const $target = $(this.restoreTarget());\n $target.css({\n width: value * 100 + '%',\n height: ''\n });\n });\n }\n\n initialize() {\n // bind custom events\n this.$editable.on('keydown', (event) => {\n if (event.keyCode === key.code.ENTER) {\n this.context.triggerEvent('enter', event);\n }\n this.context.triggerEvent('keydown', event);\n\n if (!event.isDefaultPrevented()) {\n if (this.options.shortcuts) {\n this.handleKeyMap(event);\n } else {\n this.preventDefaultEditableShortCuts(event);\n }\n }\n if (this.isLimited(1, event)) {\n return false;\n }\n }).on('keyup', (event) => {\n this.context.triggerEvent('keyup', event);\n }).on('focus', (event) => {\n this.context.triggerEvent('focus', event);\n }).on('blur', (event) => {\n this.context.triggerEvent('blur', event);\n }).on('mousedown', (event) => {\n this.context.triggerEvent('mousedown', event);\n }).on('mouseup', (event) => {\n this.context.triggerEvent('mouseup', event);\n }).on('scroll', (event) => {\n this.context.triggerEvent('scroll', event);\n }).on('paste', (event) => {\n this.context.triggerEvent('paste', event);\n });\n\n // init content before set event\n this.$editable.html(dom.html(this.$note) || dom.emptyPara);\n\n this.$editable.on(env.inputEventName, func.debounce(() => {\n this.context.triggerEvent('change', this.$editable.html());\n }, 100));\n\n this.$editor.on('focusin', (event) => {\n this.context.triggerEvent('focusin', event);\n }).on('focusout', (event) => {\n this.context.triggerEvent('focusout', event);\n });\n\n if (!this.options.airMode) {\n if (this.options.width) {\n this.$editor.outerWidth(this.options.width);\n }\n if (this.options.height) {\n this.$editable.outerHeight(this.options.height);\n }\n if (this.options.maxHeight) {\n this.$editable.css('max-height', this.options.maxHeight);\n }\n if (this.options.minHeight) {\n this.$editable.css('min-height', this.options.minHeight);\n }\n }\n\n this.history.recordUndo();\n }\n\n destroy() {\n this.$editable.off();\n }\n\n handleKeyMap(event) {\n const keyMap = this.options.keyMap[env.isMac ? 'mac' : 'pc'];\n const keys = [];\n\n if (event.metaKey) { keys.push('CMD'); }\n if (event.ctrlKey && !event.altKey) { keys.push('CTRL'); }\n if (event.shiftKey) { keys.push('SHIFT'); }\n\n const keyName = key.nameFromCode[event.keyCode];\n if (keyName) {\n keys.push(keyName);\n }\n\n const eventName = keyMap[keys.join('+')];\n if (eventName) {\n if (this.context.invoke(eventName) !== false) {\n event.preventDefault();\n }\n } else if (key.isEdit(event.keyCode)) {\n this.afterCommand();\n }\n }\n\n preventDefaultEditableShortCuts(event) {\n // B(Bold, 66) / I(Italic, 73) / U(Underline, 85)\n if ((event.ctrlKey || event.metaKey) &&\n lists.contains([66, 73, 85], event.keyCode)) {\n event.preventDefault();\n }\n }\n\n isLimited(pad, event) {\n pad = pad || 0;\n\n if (typeof event !== 'undefined') {\n if (key.isMove(event.keyCode) ||\n (event.ctrlKey || event.metaKey) ||\n lists.contains([key.code.BACKSPACE, key.code.DELETE], event.keyCode)) {\n return false;\n }\n }\n\n if (this.options.maxTextLength > 0) {\n if ((this.$editable.text().length + pad) >= this.options.maxTextLength) {\n return true;\n }\n }\n return false;\n }\n /**\n * create range\n * @return {WrappedRange}\n */\n createRange() {\n this.focus();\n return range.create(this.editable);\n }\n\n /**\n * saveRange\n *\n * save current range\n *\n * @param {Boolean} [thenCollapse=false]\n */\n saveRange(thenCollapse) {\n this.lastRange = this.createRange();\n if (thenCollapse) {\n this.lastRange.collapse().select();\n }\n }\n\n /**\n * restoreRange\n *\n * restore lately range\n */\n restoreRange() {\n if (this.lastRange) {\n this.lastRange.select();\n this.focus();\n }\n }\n\n saveTarget(node) {\n this.$editable.data('target', node);\n }\n\n clearTarget() {\n this.$editable.removeData('target');\n }\n\n restoreTarget() {\n return this.$editable.data('target');\n }\n\n /**\n * currentStyle\n *\n * current style\n * @return {Object|Boolean} unfocus\n */\n currentStyle() {\n let rng = range.create();\n if (rng) {\n rng = rng.normalize();\n }\n return rng ? this.style.current(rng) : this.style.fromNode(this.$editable);\n }\n\n /**\n * style from node\n *\n * @param {jQuery} $node\n * @return {Object}\n */\n styleFromNode($node) {\n return this.style.fromNode($node);\n }\n\n /**\n * undo\n */\n undo() {\n this.context.triggerEvent('before.command', this.$editable.html());\n this.history.undo();\n this.context.triggerEvent('change', this.$editable.html());\n }\n\n /**\n * redo\n */\n redo() {\n this.context.triggerEvent('before.command', this.$editable.html());\n this.history.redo();\n this.context.triggerEvent('change', this.$editable.html());\n }\n\n /**\n * before command\n */\n beforeCommand() {\n this.context.triggerEvent('before.command', this.$editable.html());\n // keep focus on editable before command execution\n this.focus();\n }\n\n /**\n * after command\n * @param {Boolean} isPreventTrigger\n */\n afterCommand(isPreventTrigger) {\n this.normalizeContent();\n this.history.recordUndo();\n if (!isPreventTrigger) {\n this.context.triggerEvent('change', this.$editable.html());\n }\n }\n\n /**\n * handle tab key\n */\n tab() {\n const rng = this.createRange();\n if (rng.isCollapsed() && rng.isOnCell()) {\n this.table.tab(rng);\n } else {\n if (this.options.tabSize === 0) {\n return false;\n }\n\n if (!this.isLimited(this.options.tabSize)) {\n this.beforeCommand();\n this.typing.insertTab(rng, this.options.tabSize);\n this.afterCommand();\n }\n }\n }\n\n /**\n * handle shift+tab key\n */\n untab() {\n const rng = this.createRange();\n if (rng.isCollapsed() && rng.isOnCell()) {\n this.table.tab(rng, true);\n } else {\n if (this.options.tabSize === 0) {\n return false;\n }\n }\n }\n\n /**\n * run given function between beforeCommand and afterCommand\n */\n wrapCommand(fn) {\n return () => {\n this.beforeCommand();\n fn.apply(this, arguments);\n this.afterCommand();\n };\n }\n\n /**\n * insert image\n *\n * @param {String} src\n * @param {String|Function} param\n * @return {Promise}\n */\n insertImage(src, param) {\n return createImage(src, param).then(($image) => {\n this.beforeCommand();\n\n if (typeof param === 'function') {\n param($image);\n } else {\n if (typeof param === 'string') {\n $image.attr('data-filename', param);\n }\n $image.css('width', Math.min(this.$editable.width(), $image.width()));\n }\n\n $image.show();\n range.create(this.editable).insertNode($image[0]);\n range.createFromNodeAfter($image[0]).select();\n this.afterCommand();\n }).fail((e) => {\n this.context.triggerEvent('image.upload.error', e);\n });\n }\n\n /**\n * insertImages\n * @param {File[]} files\n */\n insertImages(files) {\n $.each(files, (idx, file) => {\n const filename = file.name;\n if (this.options.maximumImageFileSize && this.options.maximumImageFileSize < file.size) {\n this.context.triggerEvent('image.upload.error', this.lang.image.maximumFileSizeError);\n } else {\n readFileAsDataURL(file).then((dataURL) => {\n return this.insertImage(dataURL, filename);\n }).fail(() => {\n this.context.triggerEvent('image.upload.error');\n });\n }\n });\n }\n\n /**\n * insertImagesOrCallback\n * @param {File[]} files\n */\n insertImagesOrCallback(files) {\n const callbacks = this.options.callbacks;\n\n // If onImageUpload this.options setted\n if (callbacks.onImageUpload) {\n this.context.triggerEvent('image.upload', files);\n // else insert Image as dataURL\n } else {\n this.insertImages(files);\n }\n }\n\n /**\n * return selected plain text\n * @return {String} text\n */\n getSelectedText() {\n let rng = this.createRange();\n\n // if range on anchor, expand range with anchor\n if (rng.isOnAnchor()) {\n rng = range.createFromNode(dom.ancestor(rng.sc, dom.isAnchor));\n }\n\n return rng.toString();\n }\n\n onFormatBlock(tagName, $target) {\n // [workaround] for MSIE, IE need `<`\n tagName = env.isMSIE ? '<' + tagName + '>' : tagName;\n document.execCommand('FormatBlock', false, tagName);\n\n // support custom class\n if ($target && $target.length) {\n const className = $target[0].className || '';\n if (className) {\n const currentRange = this.createRange();\n\n const $parent = $([currentRange.sc, currentRange.ec]).closest(tagName);\n $parent.addClass(className);\n }\n }\n }\n\n formatPara() {\n this.formatBlock('P');\n }\n\n fontStyling(target, value) {\n const rng = this.createRange();\n\n if (rng) {\n const spans = this.style.styleNodes(rng);\n $(spans).css(target, value);\n\n // [workaround] added styled bogus span for style\n // - also bogus character needed for cursor position\n if (rng.isCollapsed()) {\n const firstSpan = lists.head(spans);\n if (firstSpan && !dom.nodeLength(firstSpan)) {\n firstSpan.innerHTML = dom.ZERO_WIDTH_NBSP_CHAR;\n range.createFromNodeAfter(firstSpan.firstChild).select();\n this.$editable.data(KEY_BOGUS, firstSpan);\n }\n }\n }\n }\n\n /**\n * unlink\n *\n * @type command\n */\n unlink() {\n let rng = this.createRange();\n if (rng.isOnAnchor()) {\n const anchor = dom.ancestor(rng.sc, dom.isAnchor);\n rng = range.createFromNode(anchor);\n rng.select();\n\n this.beforeCommand();\n document.execCommand('unlink');\n this.afterCommand();\n }\n }\n\n /**\n * returns link info\n *\n * @return {Object}\n * @return {WrappedRange} return.range\n * @return {String} return.text\n * @return {Boolean} [return.isNewWindow=true]\n * @return {String} [return.url=\"\"]\n */\n getLinkInfo() {\n const rng = this.createRange().expand(dom.isAnchor);\n\n // Get the first anchor on range(for edit).\n const $anchor = $(lists.head(rng.nodes(dom.isAnchor)));\n const linkInfo = {\n range: rng,\n text: rng.toString(),\n url: $anchor.length ? $anchor.attr('href') : ''\n };\n\n // Define isNewWindow when anchor exists.\n if ($anchor.length) {\n linkInfo.isNewWindow = $anchor.attr('target') === '_blank';\n }\n\n return linkInfo;\n }\n\n addRow(position) {\n const rng = this.createRange(this.$editable);\n if (rng.isCollapsed() && rng.isOnCell()) {\n this.beforeCommand();\n this.table.addRow(rng, position);\n this.afterCommand();\n }\n }\n\n addCol(position) {\n const rng = this.createRange(this.$editable);\n if (rng.isCollapsed() && rng.isOnCell()) {\n this.beforeCommand();\n this.table.addCol(rng, position);\n this.afterCommand();\n }\n }\n\n deleteRow() {\n const rng = this.createRange(this.$editable);\n if (rng.isCollapsed() && rng.isOnCell()) {\n this.beforeCommand();\n this.table.deleteRow(rng);\n this.afterCommand();\n }\n }\n\n deleteCol() {\n const rng = this.createRange(this.$editable);\n if (rng.isCollapsed() && rng.isOnCell()) {\n this.beforeCommand();\n this.table.deleteCol(rng);\n this.afterCommand();\n }\n }\n\n deleteTable() {\n const rng = this.createRange(this.$editable);\n if (rng.isCollapsed() && rng.isOnCell()) {\n this.beforeCommand();\n this.table.deleteTable(rng);\n this.afterCommand();\n }\n }\n\n /**\n * @param {Position} pos\n * @param {jQuery} $target - target element\n * @param {Boolean} [bKeepRatio] - keep ratio\n */\n resizeTo(pos, $target, bKeepRatio) {\n let imageSize;\n if (bKeepRatio) {\n const newRatio = pos.y / pos.x;\n const ratio = $target.data('ratio');\n imageSize = {\n width: ratio > newRatio ? pos.x : pos.y / ratio,\n height: ratio > newRatio ? pos.x * ratio : pos.y\n };\n } else {\n imageSize = {\n width: pos.x,\n height: pos.y\n };\n }\n\n $target.css(imageSize);\n }\n\n /**\n * returns whether editable area has focus or not.\n */\n hasFocus() {\n return this.$editable.is(':focus');\n }\n\n /**\n * set focus\n */\n focus() {\n // [workaround] Screen will move when page is scolled in IE.\n // - do focus when not focused\n if (!this.hasFocus()) {\n this.$editable.focus();\n }\n }\n\n /**\n * returns whether contents is empty or not.\n * @return {Boolean}\n */\n isEmpty() {\n return dom.isEmpty(this.$editable[0]) || dom.emptyPara === this.$editable.html();\n }\n\n /**\n * Removes all contents and restores the editable instance to an _emptyPara_.\n */\n empty() {\n this.context.invoke('code', dom.emptyPara);\n }\n\n /**\n * normalize content\n */\n normalizeContent() {\n this.$editable[0].normalize();\n }\n}\n","import lists from '../core/lists';\n\nexport default class Clipboard {\n constructor(context) {\n this.context = context;\n this.$editable = context.layoutInfo.editable;\n }\n\n initialize() {\n this.$editable.on('paste', this.pasteByEvent.bind(this));\n }\n\n /**\n * paste by clipboard event\n *\n * @param {Event} event\n */\n pasteByEvent(event) {\n const clipboardData = event.originalEvent.clipboardData;\n if (clipboardData && clipboardData.items && clipboardData.items.length) {\n const item = lists.head(clipboardData.items);\n if (item.kind === 'file' && item.type.indexOf('image/') !== -1) {\n this.context.invoke('editor.insertImagesOrCallback', [item.getAsFile()]);\n }\n this.context.invoke('editor.afterCommand');\n }\n }\n}\n","import $ from 'jquery';\n\nexport default class Dropzone {\n constructor(context) {\n this.context = context;\n this.$eventListener = $(document);\n this.$editor = context.layoutInfo.editor;\n this.$editable = context.layoutInfo.editable;\n this.options = context.options;\n this.lang = this.options.langInfo;\n this.documentEventHandlers = {};\n\n this.$dropzone = $([\n '<div class=\"note-dropzone\">',\n ' <div class=\"note-dropzone-message\"/>',\n '</div>'\n ].join('')).prependTo(this.$editor);\n }\n\n /**\n * attach Drag and Drop Events\n */\n initialize() {\n if (this.options.disableDragAndDrop) {\n // prevent default drop event\n this.documentEventHandlers.onDrop = (e) => {\n e.preventDefault();\n };\n // do not consider outside of dropzone\n this.$eventListener = this.$dropzone;\n this.$eventListener.on('drop', this.documentEventHandlers.onDrop);\n } else {\n this.attachDragAndDropEvent();\n }\n }\n\n /**\n * attach Drag and Drop Events\n */\n attachDragAndDropEvent() {\n let collection = $();\n const $dropzoneMessage = this.$dropzone.find('.note-dropzone-message');\n\n this.documentEventHandlers.onDragenter = (e) => {\n const isCodeview = this.context.invoke('codeview.isActivated');\n const hasEditorSize = this.$editor.width() > 0 && this.$editor.height() > 0;\n if (!isCodeview && !collection.length && hasEditorSize) {\n this.$editor.addClass('dragover');\n this.$dropzone.width(this.$editor.width());\n this.$dropzone.height(this.$editor.height());\n $dropzoneMessage.text(this.lang.image.dragImageHere);\n }\n collection = collection.add(e.target);\n };\n\n this.documentEventHandlers.onDragleave = (e) => {\n collection = collection.not(e.target);\n if (!collection.length) {\n this.$editor.removeClass('dragover');\n }\n };\n\n this.documentEventHandlers.onDrop = () => {\n collection = $();\n this.$editor.removeClass('dragover');\n };\n\n // show dropzone on dragenter when dragging a object to document\n // -but only if the editor is visible, i.e. has a positive width and height\n this.$eventListener.on('dragenter', this.documentEventHandlers.onDragenter)\n .on('dragleave', this.documentEventHandlers.onDragleave)\n .on('drop', this.documentEventHandlers.onDrop);\n\n // change dropzone's message on hover.\n this.$dropzone.on('dragenter', () => {\n this.$dropzone.addClass('hover');\n $dropzoneMessage.text(this.lang.image.dropImage);\n }).on('dragleave', () => {\n this.$dropzone.removeClass('hover');\n $dropzoneMessage.text(this.lang.image.dragImageHere);\n });\n\n // attach dropImage\n this.$dropzone.on('drop', (event) => {\n const dataTransfer = event.originalEvent.dataTransfer;\n\n // stop the browser from opening the dropped content\n event.preventDefault();\n\n if (dataTransfer && dataTransfer.files && dataTransfer.files.length) {\n this.$editable.focus();\n this.context.invoke('editor.insertImagesOrCallback', dataTransfer.files);\n } else {\n $.each(dataTransfer.types, (idx, type) => {\n const content = dataTransfer.getData(type);\n\n if (type.toLowerCase().indexOf('text') > -1) {\n this.context.invoke('editor.pasteHTML', content);\n } else {\n $(content).each((idx, item) => {\n this.context.invoke('editor.insertNode', item);\n });\n }\n });\n }\n }).on('dragover', false); // prevent default dragover event\n }\n\n destroy() {\n Object.keys(this.documentEventHandlers).forEach((key) => {\n this.$eventListener.off(key.substr(2).toLowerCase(), this.documentEventHandlers[key]);\n });\n this.documentEventHandlers = {};\n }\n}\n","import env from '../core/env';\nimport dom from '../core/dom';\n\nlet CodeMirror;\nif (env.hasCodeMirror) {\n if (env.isSupportAmd) {\n require(['codemirror'], function(cm) {\n CodeMirror = cm;\n });\n } else {\n CodeMirror = window.CodeMirror;\n }\n}\n\n/**\n * @class Codeview\n */\nexport default class CodeView {\n constructor(context) {\n this.context = context;\n this.$editor = context.layoutInfo.editor;\n this.$editable = context.layoutInfo.editable;\n this.$codable = context.layoutInfo.codable;\n this.options = context.options;\n }\n\n sync() {\n const isCodeview = this.isActivated();\n if (isCodeview && env.hasCodeMirror) {\n this.$codable.data('cmEditor').save();\n }\n }\n\n /**\n * @return {Boolean}\n */\n isActivated() {\n return this.$editor.hasClass('codeview');\n }\n\n /**\n * toggle codeview\n */\n toggle() {\n if (this.isActivated()) {\n this.deactivate();\n } else {\n this.activate();\n }\n this.context.triggerEvent('codeview.toggled');\n }\n\n /**\n * activate code view\n */\n activate() {\n this.$codable.val(dom.html(this.$editable, this.options.prettifyHtml));\n this.$codable.height(this.$editable.height());\n\n this.context.invoke('toolbar.updateCodeview', true);\n this.$editor.addClass('codeview');\n this.$codable.focus();\n\n // activate CodeMirror as codable\n if (env.hasCodeMirror) {\n const cmEditor = CodeMirror.fromTextArea(this.$codable[0], this.options.codemirror);\n\n // CodeMirror TernServer\n if (this.options.codemirror.tern) {\n const server = new CodeMirror.TernServer(this.options.codemirror.tern);\n cmEditor.ternServer = server;\n cmEditor.on('cursorActivity', (cm) => {\n server.updateArgHints(cm);\n });\n }\n\n cmEditor.on('blur', (event) => {\n this.context.triggerEvent('blur.codeview', cmEditor.getValue(), event);\n });\n\n // CodeMirror hasn't Padding.\n cmEditor.setSize(null, this.$editable.outerHeight());\n this.$codable.data('cmEditor', cmEditor);\n } else {\n this.$codable.on('blur', (event) => {\n this.context.triggerEvent('blur.codeview', this.$codable.val(), event);\n });\n }\n }\n\n /**\n * deactivate code view\n */\n deactivate() {\n // deactivate CodeMirror as codable\n if (env.hasCodeMirror) {\n const cmEditor = this.$codable.data('cmEditor');\n this.$codable.val(cmEditor.getValue());\n cmEditor.toTextArea();\n }\n\n const value = dom.value(this.$codable, this.options.prettifyHtml) || dom.emptyPara;\n const isChange = this.$editable.html() !== value;\n\n this.$editable.html(value);\n this.$editable.height(this.options.height ? this.$codable.height() : 'auto');\n this.$editor.removeClass('codeview');\n\n if (isChange) {\n this.context.triggerEvent('change', this.$editable.html(), this.$editable);\n }\n\n this.$editable.focus();\n\n this.context.invoke('toolbar.updateCodeview', false);\n }\n\n destroy() {\n if (this.isActivated()) {\n this.deactivate();\n }\n }\n}\n","import $ from 'jquery';\nconst EDITABLE_PADDING = 24;\n\nexport default class Statusbar {\n constructor(context) {\n this.$document = $(document);\n this.$statusbar = context.layoutInfo.statusbar;\n this.$editable = context.layoutInfo.editable;\n this.options = context.options;\n }\n\n initialize() {\n if (this.options.airMode || this.options.disableResizeEditor) {\n this.destroy();\n return;\n }\n\n this.$statusbar.on('mousedown', (event) => {\n event.preventDefault();\n event.stopPropagation();\n\n const editableTop = this.$editable.offset().top - this.$document.scrollTop();\n const onMouseMove = (event) => {\n let height = event.clientY - (editableTop + EDITABLE_PADDING);\n\n height = (this.options.minheight > 0) ? Math.max(height, this.options.minheight) : height;\n height = (this.options.maxHeight > 0) ? Math.min(height, this.options.maxHeight) : height;\n\n this.$editable.height(height);\n };\n\n this.$document.on('mousemove', onMouseMove).one('mouseup', () => {\n this.$document.off('mousemove', onMouseMove);\n });\n });\n }\n\n destroy() {\n this.$statusbar.off();\n this.$statusbar.addClass('locked');\n }\n}\n","import $ from 'jquery';\n\nexport default class Fullscreen {\n constructor(context) {\n this.context = context;\n\n this.$editor = context.layoutInfo.editor;\n this.$toolbar = context.layoutInfo.toolbar;\n this.$editable = context.layoutInfo.editable;\n this.$codable = context.layoutInfo.codable;\n\n this.$window = $(window);\n this.$scrollbar = $('html, body');\n\n this.onResize = () => {\n this.resizeTo({\n h: this.$window.height() - this.$toolbar.outerHeight()\n });\n };\n }\n\n resizeTo(size) {\n this.$editable.css('height', size.h);\n this.$codable.css('height', size.h);\n if (this.$codable.data('cmeditor')) {\n this.$codable.data('cmeditor').setsize(null, size.h);\n }\n }\n\n /**\n * toggle fullscreen\n */\n toggle() {\n this.$editor.toggleClass('fullscreen');\n if (this.isFullscreen()) {\n this.$editable.data('orgHeight', this.$editable.css('height'));\n this.$window.on('resize', this.onResize).trigger('resize');\n this.$scrollbar.css('overflow', 'hidden');\n } else {\n this.$window.off('resize', this.onResize);\n this.resizeTo({ h: this.$editable.data('orgHeight') });\n this.$scrollbar.css('overflow', 'visible');\n }\n\n this.context.invoke('toolbar.updateFullscreen', this.isFullscreen());\n }\n\n isFullscreen() {\n return this.$editor.hasClass('fullscreen');\n }\n}\n","import $ from 'jquery';\nimport dom from '../core/dom';\n\nexport default class Handle {\n constructor(context) {\n this.context = context;\n this.$document = $(document);\n this.$editingArea = context.layoutInfo.editingArea;\n this.options = context.options;\n this.lang = this.options.langInfo;\n\n this.events = {\n 'summernote.mousedown': (we, e) => {\n if (this.update(e.target)) {\n e.preventDefault();\n }\n },\n 'summernote.keyup summernote.scroll summernote.change summernote.dialog.shown': () => {\n this.update();\n },\n 'summernote.disable': () => {\n this.hide();\n },\n 'summernote.codeview.toggled': () => {\n this.update();\n }\n };\n }\n\n initialize() {\n this.$handle = $([\n '<div class=\"note-handle\">',\n '<div class=\"note-control-selection\">',\n '<div class=\"note-control-selection-bg\"></div>',\n '<div class=\"note-control-holder note-control-nw\"></div>',\n '<div class=\"note-control-holder note-control-ne\"></div>',\n '<div class=\"note-control-holder note-control-sw\"></div>',\n '<div class=\"',\n (this.options.disableResizeImage ? 'note-control-holder' : 'note-control-sizing'),\n ' note-control-se\"></div>',\n (this.options.disableResizeImage ? '' : '<div class=\"note-control-selection-info\"></div>'),\n '</div>',\n '</div>'\n ].join('')).prependTo(this.$editingArea);\n\n this.$handle.on('mousedown', (event) => {\n if (dom.isControlSizing(event.target)) {\n event.preventDefault();\n event.stopPropagation();\n\n const $target = this.$handle.find('.note-control-selection').data('target');\n const posStart = $target.offset();\n const scrollTop = this.$document.scrollTop();\n\n const onMouseMove = (event) => {\n this.context.invoke('editor.resizeTo', {\n x: event.clientX - posStart.left,\n y: event.clientY - (posStart.top - scrollTop)\n }, $target, !event.shiftKey);\n\n this.update($target[0]);\n };\n\n this.$document\n .on('mousemove', onMouseMove)\n .one('mouseup', (e) => {\n e.preventDefault();\n this.$document.off('mousemove', onMouseMove);\n this.context.invoke('editor.afterCommand');\n });\n\n if (!$target.data('ratio')) { // original ratio.\n $target.data('ratio', $target.height() / $target.width());\n }\n }\n });\n\n // Listen for scrolling on the handle overlay.\n this.$handle.on('wheel', (e) => {\n e.preventDefault();\n this.update();\n });\n }\n\n destroy() {\n this.$handle.remove();\n }\n\n update(target) {\n if (this.context.isDisabled()) {\n return false;\n }\n\n const isImage = dom.isImg(target);\n const $selection = this.$handle.find('.note-control-selection');\n\n this.context.invoke('imagePopover.update', target);\n\n if (isImage) {\n const $image = $(target);\n const position = $image.position();\n const pos = {\n left: position.left + parseInt($image.css('marginLeft'), 10),\n top: position.top + parseInt($image.css('marginTop'), 10)\n };\n\n // exclude margin\n const imageSize = {\n w: $image.outerWidth(false),\n h: $image.outerHeight(false)\n };\n\n $selection.css({\n display: 'block',\n left: pos.left,\n top: pos.top,\n width: imageSize.w,\n height: imageSize.h\n }).data('target', $image); // save current image element.\n\n const origImageObj = new Image();\n origImageObj.src = $image.attr('src');\n\n const sizingText = imageSize.w + 'x' + imageSize.h + ' (' + this.lang.image.original + ': ' + origImageObj.width + 'x' + origImageObj.height + ')';\n $selection.find('.note-control-selection-info').text(sizingText);\n this.context.invoke('editor.saveTarget', target);\n } else {\n this.hide();\n }\n\n return isImage;\n }\n\n /**\n * hide\n *\n * @param {jQuery} $handle\n */\n hide() {\n this.context.invoke('editor.clearTarget');\n this.$handle.children().hide();\n }\n}\n","import $ from 'jquery';\nimport lists from '../core/lists';\nimport key from '../core/key';\n\nconst defaultScheme = 'http://';\nconst linkPattern = /^([A-Za-z][A-Za-z0-9+-.]*\\:[\\/\\/]?|mailto:[A-Z0-9._%+-]+@)?(www\\.)?(.+)$/i;\n\nexport default class AutoLink {\n constructor(context) {\n this.context = context;\n this.events = {\n 'summernote.keyup': (we, e) => {\n if (!e.isDefaultPrevented()) {\n this.handleKeyup(e);\n }\n },\n 'summernote.keydown': (we, e) => {\n this.handleKeydown(e);\n }\n };\n }\n\n initialize() {\n this.lastWordRange = null;\n }\n\n destroy() {\n this.lastWordRange = null;\n }\n\n replace() {\n if (!this.lastWordRange) {\n return;\n }\n\n const keyword = this.lastWordRange.toString();\n const match = keyword.match(linkPattern);\n\n if (match && (match[1] || match[2])) {\n const link = match[1] ? keyword : defaultScheme + keyword;\n const node = $('<a />').html(keyword).attr('href', link)[0];\n\n this.lastWordRange.insertNode(node);\n this.lastWordRange = null;\n this.context.invoke('editor.focus');\n }\n }\n\n handleKeydown(e) {\n if (lists.contains([key.code.ENTER, key.code.SPACE], e.keyCode)) {\n const wordRange = this.context.invoke('editor.createRange').getWordRange();\n this.lastWordRange = wordRange;\n }\n }\n\n handleKeyup(e) {\n if (lists.contains([key.code.ENTER, key.code.SPACE], e.keyCode)) {\n this.replace();\n }\n }\n}\n","import dom from '../core/dom';\n\n/**\n * textarea auto sync.\n */\nexport default class AutoSync {\n constructor(context) {\n this.$note = context.layoutInfo.note;\n this.events = {\n 'summernote.change': () => {\n this.$note.val(context.invoke('code'));\n }\n };\n }\n\n shouldInitialize() {\n return dom.isTextarea(this.$note[0]);\n }\n}\n","import $ from 'jquery';\nexport default class Placeholder {\n constructor(context) {\n this.context = context;\n\n this.$editingArea = context.layoutInfo.editingArea;\n this.options = context.options;\n this.events = {\n 'summernote.init summernote.change': () => {\n this.update();\n },\n 'summernote.codeview.toggled': () => {\n this.update();\n }\n };\n }\n\n shouldInitialize() {\n return !!this.options.placeholder;\n }\n\n initialize() {\n this.$placeholder = $('<div class=\"note-placeholder\">');\n this.$placeholder.on('click', () => {\n this.context.invoke('focus');\n }).text(this.options.placeholder).prependTo(this.$editingArea);\n\n this.update();\n }\n\n destroy() {\n this.$placeholder.remove();\n }\n\n update() {\n const isShow = !this.context.invoke('codeview.isActivated') && this.context.invoke('editor.isEmpty');\n this.$placeholder.toggle(isShow);\n }\n}\n","import $ from 'jquery';\nimport func from '../core/func';\nimport lists from '../core/lists';\nimport env from '../core/env';\n\nexport default class Buttons {\n constructor(context) {\n this.ui = $.summernote.ui;\n this.context = context;\n this.$toolbar = context.layoutInfo.toolbar;\n this.options = context.options;\n this.lang = this.options.langInfo;\n this.invertedKeyMap = func.invertObject(\n this.options.keyMap[env.isMac ? 'mac' : 'pc']\n );\n }\n\n representShortcut(editorMethod) {\n let shortcut = this.invertedKeyMap[editorMethod];\n if (!this.options.shortcuts || !shortcut) {\n return '';\n }\n\n if (env.isMac) {\n shortcut = shortcut.replace('CMD', '⌘').replace('SHIFT', '⇧');\n }\n\n shortcut = shortcut.replace('BACKSLASH', '\\\\')\n .replace('SLASH', '/')\n .replace('LEFTBRACKET', '[')\n .replace('RIGHTBRACKET', ']');\n\n return ' (' + shortcut + ')';\n }\n\n button(o) {\n if (!this.options.tooltip && o.tooltip) {\n delete o.tooltip;\n }\n o.container = this.options.container;\n return this.ui.button(o);\n }\n\n initialize() {\n this.addToolbarButtons();\n this.addImagePopoverButtons();\n this.addLinkPopoverButtons();\n this.addTablePopoverButtons();\n this.fontInstalledMap = {};\n }\n\n destroy() {\n delete this.fontInstalledMap;\n }\n\n isFontInstalled(name) {\n if (!this.fontInstalledMap.hasOwnProperty(name)) {\n this.fontInstalledMap[name] = env.isFontInstalled(name) ||\n lists.contains(this.options.fontNamesIgnoreCheck, name);\n }\n\n return this.fontInstalledMap[name];\n }\n\n isFontDeservedToAdd(name) {\n const genericFamilies = ['sans-serif', 'serif', 'monospace', 'cursive', 'fantasy'];\n name = name.toLowerCase();\n\n return ((name !== '') && this.isFontInstalled(name) && ($.inArray(name, genericFamilies) === -1));\n }\n\n addToolbarButtons() {\n this.context.memo('button.style', () => {\n return this.ui.buttonGroup([\n this.button({\n className: 'dropdown-toggle',\n contents: this.ui.dropdownButtonContents(\n this.ui.icon(this.options.icons.magic), this.options\n ),\n tooltip: this.lang.style.style,\n data: {\n toggle: 'dropdown'\n }\n }),\n this.ui.dropdown({\n className: 'dropdown-style',\n items: this.options.styleTags,\n title: this.lang.style.style,\n template: (item) => {\n if (typeof item === 'string') {\n item = { tag: item, title: (this.lang.style.hasOwnProperty(item) ? this.lang.style[item] : item) };\n }\n\n const tag = item.tag;\n const title = item.title;\n const style = item.style ? ' style=\"' + item.style + '\" ' : '';\n const className = item.className ? ' class=\"' + item.className + '\"' : '';\n\n return '<' + tag + style + className + '>' + title + '</' + tag + '>';\n },\n click: this.context.createInvokeHandler('editor.formatBlock')\n })\n ]).render();\n });\n\n for (let styleIdx = 0, styleLen = this.options.styleTags.length; styleIdx < styleLen; styleIdx++) {\n const item = this.options.styleTags[styleIdx];\n\n this.context.memo('button.style.' + item, () => {\n return this.button({\n className: 'note-btn-style-' + item,\n contents: '<div data-value=\"' + item + '\">' + item.toUpperCase() + '</div>',\n tooltip: this.lang.style[item],\n click: this.context.createInvokeHandler('editor.formatBlock')\n }).render();\n });\n }\n\n this.context.memo('button.bold', () => {\n return this.button({\n className: 'note-btn-bold',\n contents: this.ui.icon(this.options.icons.bold),\n tooltip: this.lang.font.bold + this.representShortcut('bold'),\n click: this.context.createInvokeHandlerAndUpdateState('editor.bold')\n }).render();\n });\n\n this.context.memo('button.italic', () => {\n return this.button({\n className: 'note-btn-italic',\n contents: this.ui.icon(this.options.icons.italic),\n tooltip: this.lang.font.italic + this.representShortcut('italic'),\n click: this.context.createInvokeHandlerAndUpdateState('editor.italic')\n }).render();\n });\n\n this.context.memo('button.underline', () => {\n return this.button({\n className: 'note-btn-underline',\n contents: this.ui.icon(this.options.icons.underline),\n tooltip: this.lang.font.underline + this.representShortcut('underline'),\n click: this.context.createInvokeHandlerAndUpdateState('editor.underline')\n }).render();\n });\n\n this.context.memo('button.clear', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.eraser),\n tooltip: this.lang.font.clear + this.representShortcut('removeFormat'),\n click: this.context.createInvokeHandler('editor.removeFormat')\n }).render();\n });\n\n this.context.memo('button.strikethrough', () => {\n return this.button({\n className: 'note-btn-strikethrough',\n contents: this.ui.icon(this.options.icons.strikethrough),\n tooltip: this.lang.font.strikethrough + this.representShortcut('strikethrough'),\n click: this.context.createInvokeHandlerAndUpdateState('editor.strikethrough')\n }).render();\n });\n\n this.context.memo('button.superscript', () => {\n return this.button({\n className: 'note-btn-superscript',\n contents: this.ui.icon(this.options.icons.superscript),\n tooltip: this.lang.font.superscript,\n click: this.context.createInvokeHandlerAndUpdateState('editor.superscript')\n }).render();\n });\n\n this.context.memo('button.subscript', () => {\n return this.button({\n className: 'note-btn-subscript',\n contents: this.ui.icon(this.options.icons.subscript),\n tooltip: this.lang.font.subscript,\n click: this.context.createInvokeHandlerAndUpdateState('editor.subscript')\n }).render();\n });\n\n this.context.memo('button.fontname', () => {\n const styleInfo = this.context.invoke('editor.currentStyle');\n\n // Add 'default' fonts into the fontnames array if not exist\n $.each(styleInfo['font-family'].split(','), (idx, fontname) => {\n fontname = fontname.trim().replace(/['\"]+/g, '');\n if (this.isFontDeservedToAdd(fontname)) {\n if ($.inArray(fontname, this.options.fontNames) === -1) {\n this.options.fontNames.push(fontname);\n }\n }\n });\n\n return this.ui.buttonGroup([\n this.button({\n className: 'dropdown-toggle',\n contents: this.ui.dropdownButtonContents(\n '<span class=\"note-current-fontname\"/>', this.options\n ),\n tooltip: this.lang.font.name,\n data: {\n toggle: 'dropdown'\n }\n }),\n this.ui.dropdownCheck({\n className: 'dropdown-fontname',\n checkClassName: this.options.icons.menuCheck,\n items: this.options.fontNames.filter(this.isFontInstalled.bind(this)),\n title: this.lang.font.name,\n template: (item) => {\n return '<span style=\"font-family: \\'' + item + '\\'\">' + item + '</span>';\n },\n click: this.context.createInvokeHandlerAndUpdateState('editor.fontName')\n })\n ]).render();\n });\n\n this.context.memo('button.fontsize', () => {\n return this.ui.buttonGroup([\n this.button({\n className: 'dropdown-toggle',\n contents: this.ui.dropdownButtonContents('<span class=\"note-current-fontsize\"/>', this.options),\n tooltip: this.lang.font.size,\n data: {\n toggle: 'dropdown'\n }\n }),\n this.ui.dropdownCheck({\n className: 'dropdown-fontsize',\n checkClassName: this.options.icons.menuCheck,\n items: this.options.fontSizes,\n title: this.lang.font.size,\n click: this.context.createInvokeHandlerAndUpdateState('editor.fontSize')\n })\n ]).render();\n });\n\n this.context.memo('button.color', () => {\n return this.ui.buttonGroup({\n className: 'note-color',\n children: [\n this.button({\n className: 'note-current-color-button',\n contents: this.ui.icon(this.options.icons.font + ' note-recent-color'),\n tooltip: this.lang.color.recent,\n click: (e) => {\n const $button = $(e.currentTarget);\n this.context.invoke('editor.color', {\n backColor: $button.attr('data-backColor'),\n foreColor: $button.attr('data-foreColor')\n });\n },\n callback: ($button) => {\n const $recentColor = $button.find('.note-recent-color');\n $recentColor.css('background-color', '#FFFF00');\n $button.attr('data-backColor', '#FFFF00');\n }\n }),\n this.button({\n className: 'dropdown-toggle',\n contents: this.ui.dropdownButtonContents('', this.options),\n tooltip: this.lang.color.more,\n data: {\n toggle: 'dropdown'\n }\n }),\n this.ui.dropdown({\n items: [\n '<div class=\"note-palette\">',\n ' <div class=\"note-palette-title\">' + this.lang.color.background + '</div>',\n ' <div>',\n ' <button type=\"button\" class=\"note-color-reset btn btn-light\" data-event=\"backColor\" data-value=\"inherit\">',\n this.lang.color.transparent,\n ' </button>',\n ' </div>',\n ' <div class=\"note-holder\" data-event=\"backColor\"/>',\n '</div>',\n '<div class=\"note-palette\">',\n ' <div class=\"note-palette-title\">' + this.lang.color.foreground + '</div>',\n ' <div>',\n ' <button type=\"button\" class=\"note-color-reset btn btn-light\" data-event=\"removeFormat\" data-value=\"foreColor\">',\n this.lang.color.resetToDefault,\n ' </button>',\n ' </div>',\n ' <div class=\"note-holder\" data-event=\"foreColor\"/>',\n '</div>'\n ].join(''),\n callback: ($dropdown) => {\n $dropdown.find('.note-holder').each((idx, item) => {\n const $holder = $(item);\n $holder.append(this.ui.palette({\n colors: this.options.colors,\n colorsName: this.options.colorsName,\n eventName: $holder.data('event'),\n container: this.options.container,\n tooltip: this.options.tooltip\n }).render());\n });\n },\n click: (event) => {\n const $button = $(event.target);\n const eventName = $button.data('event');\n const value = $button.data('value');\n\n if (eventName && value) {\n const key = eventName === 'backColor' ? 'background-color' : 'color';\n const $color = $button.closest('.note-color').find('.note-recent-color');\n const $currentButton = $button.closest('.note-color').find('.note-current-color-button');\n\n $color.css(key, value);\n $currentButton.attr('data-' + eventName, value);\n this.context.invoke('editor.' + eventName, value);\n }\n }\n })\n ]\n }).render();\n });\n\n this.context.memo('button.ul', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.unorderedlist),\n tooltip: this.lang.lists.unordered + this.representShortcut('insertUnorderedList'),\n click: this.context.createInvokeHandler('editor.insertUnorderedList')\n }).render();\n });\n\n this.context.memo('button.ol', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.orderedlist),\n tooltip: this.lang.lists.ordered + this.representShortcut('insertOrderedList'),\n click: this.context.createInvokeHandler('editor.insertOrderedList')\n }).render();\n });\n\n const justifyLeft = this.button({\n contents: this.ui.icon(this.options.icons.alignLeft),\n tooltip: this.lang.paragraph.left + this.representShortcut('justifyLeft'),\n click: this.context.createInvokeHandler('editor.justifyLeft')\n });\n\n const justifyCenter = this.button({\n contents: this.ui.icon(this.options.icons.alignCenter),\n tooltip: this.lang.paragraph.center + this.representShortcut('justifyCenter'),\n click: this.context.createInvokeHandler('editor.justifyCenter')\n });\n\n const justifyRight = this.button({\n contents: this.ui.icon(this.options.icons.alignRight),\n tooltip: this.lang.paragraph.right + this.representShortcut('justifyRight'),\n click: this.context.createInvokeHandler('editor.justifyRight')\n });\n\n const justifyFull = this.button({\n contents: this.ui.icon(this.options.icons.alignJustify),\n tooltip: this.lang.paragraph.justify + this.representShortcut('justifyFull'),\n click: this.context.createInvokeHandler('editor.justifyFull')\n });\n\n const outdent = this.button({\n contents: this.ui.icon(this.options.icons.outdent),\n tooltip: this.lang.paragraph.outdent + this.representShortcut('outdent'),\n click: this.context.createInvokeHandler('editor.outdent')\n });\n\n const indent = this.button({\n contents: this.ui.icon(this.options.icons.indent),\n tooltip: this.lang.paragraph.indent + this.representShortcut('indent'),\n click: this.context.createInvokeHandler('editor.indent')\n });\n\n this.context.memo('button.justifyLeft', func.invoke(justifyLeft, 'render'));\n this.context.memo('button.justifyCenter', func.invoke(justifyCenter, 'render'));\n this.context.memo('button.justifyRight', func.invoke(justifyRight, 'render'));\n this.context.memo('button.justifyFull', func.invoke(justifyFull, 'render'));\n this.context.memo('button.outdent', func.invoke(outdent, 'render'));\n this.context.memo('button.indent', func.invoke(indent, 'render'));\n\n this.context.memo('button.paragraph', () => {\n return this.ui.buttonGroup([\n this.button({\n className: 'dropdown-toggle',\n contents: this.ui.dropdownButtonContents(this.ui.icon(this.options.icons.alignLeft), this.options),\n tooltip: this.lang.paragraph.paragraph,\n data: {\n toggle: 'dropdown'\n }\n }),\n this.ui.dropdown([\n this.ui.buttonGroup({\n className: 'note-align',\n children: [justifyLeft, justifyCenter, justifyRight, justifyFull]\n }),\n this.ui.buttonGroup({\n className: 'note-list',\n children: [outdent, indent]\n })\n ])\n ]).render();\n });\n\n this.context.memo('button.height', () => {\n return this.ui.buttonGroup([\n this.button({\n className: 'dropdown-toggle',\n contents: this.ui.dropdownButtonContents(this.ui.icon(this.options.icons.textHeight), this.options),\n tooltip: this.lang.font.height,\n data: {\n toggle: 'dropdown'\n }\n }),\n this.ui.dropdownCheck({\n items: this.options.lineHeights,\n checkClassName: this.options.icons.menuCheck,\n className: 'dropdown-line-height',\n title: this.lang.font.height,\n click: this.context.createInvokeHandler('editor.lineHeight')\n })\n ]).render();\n });\n\n this.context.memo('button.table', () => {\n return this.ui.buttonGroup([\n this.button({\n className: 'dropdown-toggle',\n contents: this.ui.dropdownButtonContents(this.ui.icon(this.options.icons.table), this.options),\n tooltip: this.lang.table.table,\n data: {\n toggle: 'dropdown'\n }\n }),\n this.ui.dropdown({\n title: this.lang.table.table,\n className: 'note-table',\n items: [\n '<div class=\"note-dimension-picker\">',\n ' <div class=\"note-dimension-picker-mousecatcher\" data-event=\"insertTable\" data-value=\"1x1\"/>',\n ' <div class=\"note-dimension-picker-highlighted\"/>',\n ' <div class=\"note-dimension-picker-unhighlighted\"/>',\n '</div>',\n '<div class=\"note-dimension-display\">1 x 1</div>'\n ].join('')\n })\n ], {\n callback: ($node) => {\n const $catcher = $node.find('.note-dimension-picker-mousecatcher');\n $catcher.css({\n width: this.options.insertTableMaxSize.col + 'em',\n height: this.options.insertTableMaxSize.row + 'em'\n }).mousedown(this.context.createInvokeHandler('editor.insertTable'))\n .on('mousemove', this.tableMoveHandler.bind(this));\n }\n }).render();\n });\n\n this.context.memo('button.link', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.link),\n tooltip: this.lang.link.link + this.representShortcut('linkDialog.show'),\n click: this.context.createInvokeHandler('linkDialog.show')\n }).render();\n });\n\n this.context.memo('button.picture', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.picture),\n tooltip: this.lang.image.image,\n click: this.context.createInvokeHandler('imageDialog.show')\n }).render();\n });\n\n this.context.memo('button.video', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.video),\n tooltip: this.lang.video.video,\n click: this.context.createInvokeHandler('videoDialog.show')\n }).render();\n });\n\n this.context.memo('button.hr', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.minus),\n tooltip: this.lang.hr.insert + this.representShortcut('insertHorizontalRule'),\n click: this.context.createInvokeHandler('editor.insertHorizontalRule')\n }).render();\n });\n\n this.context.memo('button.fullscreen', () => {\n return this.button({\n className: 'btn-fullscreen',\n contents: this.ui.icon(this.options.icons.arrowsAlt),\n tooltip: this.lang.options.fullscreen,\n click: this.context.createInvokeHandler('fullscreen.toggle')\n }).render();\n });\n\n this.context.memo('button.codeview', () => {\n return this.button({\n className: 'btn-codeview',\n contents: this.ui.icon(this.options.icons.code),\n tooltip: this.lang.options.codeview,\n click: this.context.createInvokeHandler('codeview.toggle')\n }).render();\n });\n\n this.context.memo('button.redo', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.redo),\n tooltip: this.lang.history.redo + this.representShortcut('redo'),\n click: this.context.createInvokeHandler('editor.redo')\n }).render();\n });\n\n this.context.memo('button.undo', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.undo),\n tooltip: this.lang.history.undo + this.representShortcut('undo'),\n click: this.context.createInvokeHandler('editor.undo')\n }).render();\n });\n\n this.context.memo('button.help', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.question),\n tooltip: this.lang.options.help,\n click: this.context.createInvokeHandler('helpDialog.show')\n }).render();\n });\n }\n\n /**\n * image : [\n * ['imagesize', ['imageSize100', 'imageSize50', 'imageSize25']],\n * ['float', ['floatLeft', 'floatRight', 'floatNone' ]],\n * ['remove', ['removeMedia']]\n * ],\n */\n addImagePopoverButtons() {\n // Image Size Buttons\n this.context.memo('button.imageSize100', () => {\n return this.button({\n contents: '<span class=\"note-fontsize-10\">100%</span>',\n tooltip: this.lang.image.resizeFull,\n click: this.context.createInvokeHandler('editor.resize', '1')\n }).render();\n });\n this.context.memo('button.imageSize50', () => {\n return this.button({\n contents: '<span class=\"note-fontsize-10\">50%</span>',\n tooltip: this.lang.image.resizeHalf,\n click: this.context.createInvokeHandler('editor.resize', '0.5')\n }).render();\n });\n this.context.memo('button.imageSize25', () => {\n return this.button({\n contents: '<span class=\"note-fontsize-10\">25%</span>',\n tooltip: this.lang.image.resizeQuarter,\n click: this.context.createInvokeHandler('editor.resize', '0.25')\n }).render();\n });\n\n // Float Buttons\n this.context.memo('button.floatLeft', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.alignLeft),\n tooltip: this.lang.image.floatLeft,\n click: this.context.createInvokeHandler('editor.floatMe', 'left')\n }).render();\n });\n\n this.context.memo('button.floatRight', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.alignRight),\n tooltip: this.lang.image.floatRight,\n click: this.context.createInvokeHandler('editor.floatMe', 'right')\n }).render();\n });\n\n this.context.memo('button.floatNone', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.alignJustify),\n tooltip: this.lang.image.floatNone,\n click: this.context.createInvokeHandler('editor.floatMe', 'none')\n }).render();\n });\n\n // Remove Buttons\n this.context.memo('button.removeMedia', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.trash),\n tooltip: this.lang.image.remove,\n click: this.context.createInvokeHandler('editor.removeMedia')\n }).render();\n });\n }\n\n addLinkPopoverButtons() {\n this.context.memo('button.linkDialogShow', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.link),\n tooltip: this.lang.link.edit,\n click: this.context.createInvokeHandler('linkDialog.show')\n }).render();\n });\n\n this.context.memo('button.unlink', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.unlink),\n tooltip: this.lang.link.unlink,\n click: this.context.createInvokeHandler('editor.unlink')\n }).render();\n });\n }\n\n /**\n * table : [\n * ['add', ['addRowDown', 'addRowUp', 'addColLeft', 'addColRight']],\n * ['delete', ['deleteRow', 'deleteCol', 'deleteTable']]\n * ],\n */\n addTablePopoverButtons() {\n this.context.memo('button.addRowUp', () => {\n return this.button({\n className: 'btn-md',\n contents: this.ui.icon(this.options.icons.rowAbove),\n tooltip: this.lang.table.addRowAbove,\n click: this.context.createInvokeHandler('editor.addRow', 'top')\n }).render();\n });\n this.context.memo('button.addRowDown', () => {\n return this.button({\n className: 'btn-md',\n contents: this.ui.icon(this.options.icons.rowBelow),\n tooltip: this.lang.table.addRowBelow,\n click: this.context.createInvokeHandler('editor.addRow', 'bottom')\n }).render();\n });\n this.context.memo('button.addColLeft', () => {\n return this.button({\n className: 'btn-md',\n contents: this.ui.icon(this.options.icons.colBefore),\n tooltip: this.lang.table.addColLeft,\n click: this.context.createInvokeHandler('editor.addCol', 'left')\n }).render();\n });\n this.context.memo('button.addColRight', () => {\n return this.button({\n className: 'btn-md',\n contents: this.ui.icon(this.options.icons.colAfter),\n tooltip: this.lang.table.addColRight,\n click: this.context.createInvokeHandler('editor.addCol', 'right')\n }).render();\n });\n this.context.memo('button.deleteRow', () => {\n return this.button({\n className: 'btn-md',\n contents: this.ui.icon(this.options.icons.rowRemove),\n tooltip: this.lang.table.delRow,\n click: this.context.createInvokeHandler('editor.deleteRow')\n }).render();\n });\n this.context.memo('button.deleteCol', () => {\n return this.button({\n className: 'btn-md',\n contents: this.ui.icon(this.options.icons.colRemove),\n tooltip: this.lang.table.delCol,\n click: this.context.createInvokeHandler('editor.deleteCol')\n }).render();\n });\n this.context.memo('button.deleteTable', () => {\n return this.button({\n className: 'btn-md',\n contents: this.ui.icon(this.options.icons.trash),\n tooltip: this.lang.table.delTable,\n click: this.context.createInvokeHandler('editor.deleteTable')\n }).render();\n });\n }\n\n build($container, groups) {\n for (let groupIdx = 0, groupLen = groups.length; groupIdx < groupLen; groupIdx++) {\n const group = groups[groupIdx];\n const groupName = $.isArray(group) ? group[0] : group;\n const buttons = $.isArray(group) ? ((group.length === 1) ? [group[0]] : group[1]) : [group];\n\n const $group = this.ui.buttonGroup({\n className: 'note-' + groupName\n }).render();\n\n for (let idx = 0, len = buttons.length; idx < len; idx++) {\n const btn = this.context.memo('button.' + buttons[idx]);\n if (btn) {\n $group.append(typeof btn === 'function' ? btn(this.context) : btn);\n }\n }\n $group.appendTo($container);\n }\n }\n\n /**\n * @param {jQuery} [$container]\n */\n updateCurrentStyle($container) {\n const $cont = $container || this.$toolbar;\n\n const styleInfo = this.context.invoke('editor.currentStyle');\n this.updateBtnStates($cont, {\n '.note-btn-bold': () => {\n return styleInfo['font-bold'] === 'bold';\n },\n '.note-btn-italic': () => {\n return styleInfo['font-italic'] === 'italic';\n },\n '.note-btn-underline': () => {\n return styleInfo['font-underline'] === 'underline';\n },\n '.note-btn-subscript': () => {\n return styleInfo['font-subscript'] === 'subscript';\n },\n '.note-btn-superscript': () => {\n return styleInfo['font-superscript'] === 'superscript';\n },\n '.note-btn-strikethrough': () => {\n return styleInfo['font-strikethrough'] === 'strikethrough';\n }\n });\n\n if (styleInfo['font-family']) {\n const fontNames = styleInfo['font-family'].split(',').map((name) => {\n return name.replace(/[\\'\\\"]/g, '')\n .replace(/\\s+$/, '')\n .replace(/^\\s+/, '');\n });\n const fontName = lists.find(fontNames, this.isFontInstalled.bind(this));\n\n $cont.find('.dropdown-fontname a').each((idx, item) => {\n const $item = $(item);\n // always compare string to avoid creating another func.\n const isChecked = ($item.data('value') + '') === (fontName + '');\n $item.toggleClass('checked', isChecked);\n });\n $cont.find('.note-current-fontname').text(fontName).css('font-family', fontName);\n }\n\n if (styleInfo['font-size']) {\n const fontSize = styleInfo['font-size'];\n $cont.find('.dropdown-fontsize a').each((idx, item) => {\n const $item = $(item);\n // always compare with string to avoid creating another func.\n const isChecked = ($item.data('value') + '') === (fontSize + '');\n $item.toggleClass('checked', isChecked);\n });\n $cont.find('.note-current-fontsize').text(fontSize);\n }\n\n if (styleInfo['line-height']) {\n const lineHeight = styleInfo['line-height'];\n $cont.find('.dropdown-line-height li a').each((idx, item) => {\n // always compare with string to avoid creating another func.\n const isChecked = ($(item).data('value') + '') === (lineHeight + '');\n this.className = isChecked ? 'checked' : '';\n });\n }\n }\n\n updateBtnStates($container, infos) {\n $.each(infos, (selector, pred) => {\n this.ui.toggleBtnActive($container.find(selector), pred());\n });\n }\n\n tableMoveHandler(event) {\n const PX_PER_EM = 18;\n const $picker = $(event.target.parentNode); // target is mousecatcher\n const $dimensionDisplay = $picker.next();\n const $catcher = $picker.find('.note-dimension-picker-mousecatcher');\n const $highlighted = $picker.find('.note-dimension-picker-highlighted');\n const $unhighlighted = $picker.find('.note-dimension-picker-unhighlighted');\n\n let posOffset;\n // HTML5 with jQuery - e.offsetX is undefined in Firefox\n if (event.offsetX === undefined) {\n const posCatcher = $(event.target).offset();\n posOffset = {\n x: event.pageX - posCatcher.left,\n y: event.pageY - posCatcher.top\n };\n } else {\n posOffset = {\n x: event.offsetX,\n y: event.offsetY\n };\n }\n\n const dim = {\n c: Math.ceil(posOffset.x / PX_PER_EM) || 1,\n r: Math.ceil(posOffset.y / PX_PER_EM) || 1\n };\n\n $highlighted.css({ width: dim.c + 'em', height: dim.r + 'em' });\n $catcher.data('value', dim.c + 'x' + dim.r);\n\n if (dim.c > 3 && dim.c < this.options.insertTableMaxSize.col) {\n $unhighlighted.css({ width: dim.c + 1 + 'em' });\n }\n\n if (dim.r > 3 && dim.r < this.options.insertTableMaxSize.row) {\n $unhighlighted.css({ height: dim.r + 1 + 'em' });\n }\n\n $dimensionDisplay.html(dim.c + ' x ' + dim.r);\n }\n}\n","import $ from 'jquery';\nexport default class Toolbar {\n constructor(context) {\n this.context = context;\n\n this.$window = $(window);\n this.$document = $(document);\n\n this.ui = $.summernote.ui;\n this.$note = context.layoutInfo.note;\n this.$editor = context.layoutInfo.editor;\n this.$toolbar = context.layoutInfo.toolbar;\n this.options = context.options;\n\n this.followScroll = this.followScroll.bind(this);\n }\n\n shouldInitialize() {\n return !this.options.airMode;\n }\n\n initialize() {\n this.options.toolbar = this.options.toolbar || [];\n\n if (!this.options.toolbar.length) {\n this.$toolbar.hide();\n } else {\n this.context.invoke('buttons.build', this.$toolbar, this.options.toolbar);\n }\n\n if (this.options.toolbarContainer) {\n this.$toolbar.appendTo(this.options.toolbarContainer);\n }\n\n this.changeContainer(false);\n\n this.$note.on('summernote.keyup summernote.mouseup summernote.change', () => {\n this.context.invoke('buttons.updateCurrentStyle');\n });\n\n this.context.invoke('buttons.updateCurrentStyle');\n if (this.options.followingToolbar) {\n this.$window.on('scroll resize', this.followScroll);\n }\n }\n\n destroy() {\n this.$toolbar.children().remove();\n\n if (this.options.followingToolbar) {\n this.$window.off('scroll resize', this.followScroll);\n }\n }\n\n followScroll() {\n if (this.$editor.hasClass('fullscreen')) {\n return false;\n }\n\n const $toolbarWrapper = this.$toolbar.parent('.note-toolbar-wrapper');\n const editorHeight = this.$editor.outerHeight();\n const editorWidth = this.$editor.width();\n\n const toolbarHeight = this.$toolbar.height();\n $toolbarWrapper.css({\n height: toolbarHeight\n });\n\n // check if the web app is currently using another static bar\n let otherBarHeight = 0;\n if (this.options.otherStaticBar) {\n otherBarHeight = $(this.options.otherStaticBar).outerHeight();\n }\n\n const currentOffset = this.$document.scrollTop();\n const editorOffsetTop = this.$editor.offset().top;\n const editorOffsetBottom = editorOffsetTop + editorHeight;\n const activateOffset = editorOffsetTop - otherBarHeight;\n const deactivateOffsetBottom = editorOffsetBottom - otherBarHeight - toolbarHeight;\n\n if ((currentOffset > activateOffset) && (currentOffset < deactivateOffsetBottom)) {\n this.$toolbar.css({\n position: 'fixed',\n top: otherBarHeight,\n width: editorWidth\n });\n } else {\n this.$toolbar.css({\n position: 'relative',\n top: 0,\n width: '100%'\n });\n }\n }\n\n changeContainer(isFullscreen) {\n if (isFullscreen) {\n this.$toolbar.prependTo(this.$editor);\n } else {\n if (this.options.toolbarContainer) {\n this.$toolbar.appendTo(this.options.toolbarContainer);\n }\n }\n }\n\n updateFullscreen(isFullscreen) {\n this.ui.toggleBtnActive(this.$toolbar.find('.btn-fullscreen'), isFullscreen);\n\n this.changeContainer(isFullscreen);\n }\n\n updateCodeview(isCodeview) {\n this.ui.toggleBtnActive(this.$toolbar.find('.btn-codeview'), isCodeview);\n if (isCodeview) {\n this.deactivate();\n } else {\n this.activate();\n }\n }\n\n activate(isIncludeCodeview) {\n let $btn = this.$toolbar.find('button');\n if (!isIncludeCodeview) {\n $btn = $btn.not('.btn-codeview');\n }\n this.ui.toggleBtn($btn, true);\n }\n\n deactivate(isIncludeCodeview) {\n let $btn = this.$toolbar.find('button');\n if (!isIncludeCodeview) {\n $btn = $btn.not('.btn-codeview');\n }\n this.ui.toggleBtn($btn, false);\n }\n}\n","import $ from 'jquery';\nimport env from '../core/env';\nimport key from '../core/key';\n\nexport default class LinkDialog {\n constructor(context) {\n this.context = context;\n\n this.ui = $.summernote.ui;\n this.$body = $(document.body);\n this.$editor = context.layoutInfo.editor;\n this.options = context.options;\n this.lang = this.options.langInfo;\n\n context.memo('help.linkDialog.show', this.options.langInfo.help['linkDialog.show']);\n }\n\n initialize() {\n const $container = this.options.dialogsInBody ? this.$body : this.$editor;\n\n const body = [\n '<div class=\"form-group note-form-group\">',\n `<label class=\"note-form-label\">${this.lang.link.textToDisplay}</label>`,\n '<input class=\"note-link-text form-control note-form-control note-input\" type=\"text\" />',\n '</div>',\n '<div class=\"form-group note-form-group\">',\n `<label class=\"note-form-label\">${this.lang.link.url}</label>`,\n '<input class=\"note-link-url form-control note-form-control note-input\" type=\"text\" value=\"http://\" />',\n '</div>',\n !this.options.disableLinkTarget\n ? $('<div/>').append(this.ui.checkbox({\n id: 'sn-checkbox-open-in-new-window',\n text: this.lang.link.openInNewWindow,\n checked: true\n }).render()).html()\n : ''\n ].join('');\n\n const buttonClass = 'btn btn-primary note-btn note-btn-primary note-link-btn';\n const footer = `<button type=\"submit\" href=\"#\" class=\"${buttonClass}\" disabled>${this.lang.link.insert}</button>`;\n\n this.$dialog = this.ui.dialog({\n className: 'link-dialog',\n title: this.lang.link.insert,\n fade: this.options.dialogsFade,\n body: body,\n footer: footer\n }).render().appendTo($container);\n }\n\n destroy() {\n this.ui.hideDialog(this.$dialog);\n this.$dialog.remove();\n }\n\n bindEnterKey($input, $btn) {\n $input.on('keypress', (event) => {\n if (event.keyCode === key.code.ENTER) {\n event.preventDefault();\n $btn.trigger('click');\n }\n });\n }\n\n /**\n * toggle update button\n */\n toggleLinkBtn($linkBtn, $linkText, $linkUrl) {\n this.ui.toggleBtn($linkBtn, $linkText.val() && $linkUrl.val());\n }\n\n /**\n * Show link dialog and set event handlers on dialog controls.\n *\n * @param {Object} linkInfo\n * @return {Promise}\n */\n showLinkDialog(linkInfo) {\n return $.Deferred((deferred) => {\n const $linkText = this.$dialog.find('.note-link-text');\n const $linkUrl = this.$dialog.find('.note-link-url');\n const $linkBtn = this.$dialog.find('.note-link-btn');\n const $openInNewWindow = this.$dialog.find('input[type=checkbox]');\n\n this.ui.onDialogShown(this.$dialog, () => {\n this.context.triggerEvent('dialog.shown');\n\n // if no url was given, copy text to url\n if (!linkInfo.url) {\n linkInfo.url = linkInfo.text;\n }\n\n $linkText.val(linkInfo.text);\n\n const handleLinkTextUpdate = () => {\n this.toggleLinkBtn($linkBtn, $linkText, $linkUrl);\n // if linktext was modified by keyup,\n // stop cloning text from linkUrl\n linkInfo.text = $linkText.val();\n };\n\n $linkText.on('input', handleLinkTextUpdate).on('paste', () => {\n setTimeout(handleLinkTextUpdate, 0);\n });\n\n const handleLinkUrlUpdate = () => {\n this.toggleLinkBtn($linkBtn, $linkText, $linkUrl);\n // display same link on `Text to display` input\n // when create a new link\n if (!linkInfo.text) {\n $linkText.val($linkUrl.val());\n }\n };\n\n $linkUrl.on('input', handleLinkUrlUpdate).on('paste', () => {\n setTimeout(handleLinkUrlUpdate, 0);\n }).val(linkInfo.url);\n\n if (!env.isSupportTouch) {\n $linkUrl.trigger('focus');\n }\n\n this.toggleLinkBtn($linkBtn, $linkText, $linkUrl);\n this.bindEnterKey($linkUrl, $linkBtn);\n this.bindEnterKey($linkText, $linkBtn);\n\n const isChecked = linkInfo.isNewWindow !== undefined\n ? linkInfo.isNewWindow : this.context.options.linkTargetBlank;\n\n $openInNewWindow.prop('checked', isChecked);\n\n $linkBtn.one('click', (event) => {\n event.preventDefault();\n\n deferred.resolve({\n range: linkInfo.range,\n url: $linkUrl.val(),\n text: $linkText.val(),\n isNewWindow: $openInNewWindow.is(':checked')\n });\n this.ui.hideDialog(this.$dialog);\n });\n });\n\n this.ui.onDialogHidden(this.$dialog, () => {\n // detach events\n $linkText.off('input paste keypress');\n $linkUrl.off('input paste keypress');\n $linkBtn.off('click');\n\n if (deferred.state() === 'pending') {\n deferred.reject();\n }\n });\n\n this.ui.showDialog(this.$dialog);\n }).promise();\n }\n\n /**\n * @param {Object} layoutInfo\n */\n show() {\n const linkInfo = this.context.invoke('editor.getLinkInfo');\n\n this.context.invoke('editor.saveRange');\n this.showLinkDialog(linkInfo).then((linkInfo) => {\n this.context.invoke('editor.restoreRange');\n this.context.invoke('editor.createLink', linkInfo);\n }).fail(() => {\n this.context.invoke('editor.restoreRange');\n });\n }\n}\n","import $ from 'jquery';\nimport lists from '../core/lists';\nimport dom from '../core/dom';\n\nexport default class LinkPopover {\n constructor(context) {\n this.context = context;\n\n this.ui = $.summernote.ui;\n this.options = context.options;\n this.events = {\n 'summernote.keyup summernote.mouseup summernote.change summernote.scroll': () => {\n this.update();\n },\n 'summernote.disable summernote.dialog.shown': () => {\n this.hide();\n }\n };\n }\n\n shouldInitialize() {\n return !lists.isEmpty(this.options.popover.link);\n }\n\n initialize() {\n this.$popover = this.ui.popover({\n className: 'note-link-popover',\n callback: ($node) => {\n const $content = $node.find('.popover-content,.note-popover-content');\n $content.prepend('<span><a target=\"_blank\"></a> </span>');\n }\n }).render().appendTo(this.options.container);\n const $content = this.$popover.find('.popover-content,.note-popover-content');\n\n this.context.invoke('buttons.build', $content, this.options.popover.link);\n }\n\n destroy() {\n this.$popover.remove();\n }\n\n update() {\n // Prevent focusing on editable when invoke('code') is executed\n if (!this.context.invoke('editor.hasFocus')) {\n this.hide();\n return;\n }\n\n const rng = this.context.invoke('editor.createRange');\n if (rng.isCollapsed() && rng.isOnAnchor()) {\n const anchor = dom.ancestor(rng.sc, dom.isAnchor);\n const href = $(anchor).attr('href');\n this.$popover.find('a').attr('href', href).html(href);\n\n const pos = dom.posFromPlaceholder(anchor);\n this.$popover.css({\n display: 'block',\n left: pos.left,\n top: pos.top\n });\n } else {\n this.hide();\n }\n }\n\n hide() {\n this.$popover.hide();\n }\n}\n","import $ from 'jquery';\nimport env from '../core/env';\nimport key from '../core/key';\n\nexport default class ImageDialog {\n constructor(context) {\n this.context = context;\n this.ui = $.summernote.ui;\n this.$body = $(document.body);\n this.$editor = context.layoutInfo.editor;\n this.options = context.options;\n this.lang = this.options.langInfo;\n }\n\n initialize() {\n const $container = this.options.dialogsInBody ? this.$body : this.$editor;\n\n let imageLimitation = '';\n if (this.options.maximumImageFileSize) {\n const unit = Math.floor(Math.log(this.options.maximumImageFileSize) / Math.log(1024));\n const readableSize = (this.options.maximumImageFileSize / Math.pow(1024, unit)).toFixed(2) * 1 +\n ' ' + ' KMGTP'[unit] + 'B';\n imageLimitation = `<small>${this.lang.image.maximumFileSize + ' : ' + readableSize}</small>`;\n }\n\n const body = [\n '<div class=\"form-group note-form-group note-group-select-from-files\">',\n '<label class=\"note-form-label\">' + this.lang.image.selectFromFiles + '</label>',\n '<input class=\"note-image-input note-form-control note-input\" ',\n ' type=\"file\" name=\"files\" accept=\"image/*\" multiple=\"multiple\" />',\n imageLimitation,\n '</div>',\n '<div class=\"form-group note-group-image-url\" style=\"overflow:auto;\">',\n '<label class=\"note-form-label\">' + this.lang.image.url + '</label>',\n '<input class=\"note-image-url form-control note-form-control note-input ',\n ' col-md-12\" type=\"text\" />',\n '</div>'\n ].join('');\n const buttonClass = 'btn btn-primary note-btn note-btn-primary note-image-btn';\n const footer = `<button type=\"submit\" href=\"#\" class=\"${buttonClass}\" disabled>${this.lang.image.insert}</button>`;\n\n this.$dialog = this.ui.dialog({\n title: this.lang.image.insert,\n fade: this.options.dialogsFade,\n body: body,\n footer: footer\n }).render().appendTo($container);\n }\n\n destroy() {\n this.ui.hideDialog(this.$dialog);\n this.$dialog.remove();\n }\n\n bindEnterKey($input, $btn) {\n $input.on('keypress', (event) => {\n if (event.keyCode === key.code.ENTER) {\n event.preventDefault();\n $btn.trigger('click');\n }\n });\n }\n\n show() {\n this.context.invoke('editor.saveRange');\n this.showImageDialog().then((data) => {\n // [workaround] hide dialog before restore range for IE range focus\n this.ui.hideDialog(this.$dialog);\n this.context.invoke('editor.restoreRange');\n\n if (typeof data === 'string') { // image url\n this.context.invoke('editor.insertImage', data);\n } else { // array of files\n this.context.invoke('editor.insertImagesOrCallback', data);\n }\n }).fail(() => {\n this.context.invoke('editor.restoreRange');\n });\n }\n\n /**\n * show image dialog\n *\n * @param {jQuery} $dialog\n * @return {Promise}\n */\n showImageDialog() {\n return $.Deferred((deferred) => {\n const $imageInput = this.$dialog.find('.note-image-input');\n const $imageUrl = this.$dialog.find('.note-image-url');\n const $imageBtn = this.$dialog.find('.note-image-btn');\n\n this.ui.onDialogShown(this.$dialog, () => {\n this.context.triggerEvent('dialog.shown');\n\n // Cloning imageInput to clear element.\n $imageInput.replaceWith($imageInput.clone().on('change', (event) => {\n deferred.resolve(event.target.files || event.target.value);\n }).val(''));\n\n $imageBtn.click((event) => {\n event.preventDefault();\n\n deferred.resolve($imageUrl.val());\n });\n\n $imageUrl.on('keyup paste', () => {\n const url = $imageUrl.val();\n this.ui.toggleBtn($imageBtn, url);\n }).val('');\n\n if (!env.isSupportTouch) {\n $imageUrl.trigger('focus');\n }\n this.bindEnterKey($imageUrl, $imageBtn);\n });\n\n this.ui.onDialogHidden(this.$dialog, () => {\n $imageInput.off('change');\n $imageUrl.off('keyup paste keypress');\n $imageBtn.off('click');\n\n if (deferred.state() === 'pending') {\n deferred.reject();\n }\n });\n\n this.ui.showDialog(this.$dialog);\n });\n }\n}\n","import $ from 'jquery';\nimport lists from '../core/lists';\nimport dom from '../core/dom';\n\n/**\n * Image popover module\n * mouse events that show/hide popover will be handled by Handle.js.\n * Handle.js will receive the events and invoke 'imagePopover.update'.\n */\nexport default class ImagePopover {\n constructor(context) {\n this.context = context;\n this.ui = $.summernote.ui;\n\n this.editable = context.layoutInfo.editable[0];\n this.options = context.options;\n\n this.events = {\n 'summernote.disable': () => {\n this.hide();\n }\n };\n }\n\n shouldInitialize() {\n return !lists.isEmpty(this.options.popover.image);\n }\n\n initialize() {\n this.$popover = this.ui.popover({\n className: 'note-image-popover'\n }).render().appendTo(this.options.container);\n const $content = this.$popover.find('.popover-content,.note-popover-content');\n this.context.invoke('buttons.build', $content, this.options.popover.image);\n }\n\n destroy() {\n this.$popover.remove();\n }\n\n update(target) {\n if (dom.isImg(target)) {\n const pos = dom.posFromPlaceholder(target);\n const posEditor = dom.posFromPlaceholder(this.editable);\n this.$popover.css({\n display: 'block',\n left: this.options.popatmouse ? event.pageX - 20 : pos.left,\n top: this.options.popatmouse ? event.pageY : Math.min(pos.top, posEditor.top)\n });\n } else {\n this.hide();\n }\n }\n\n hide() {\n this.$popover.hide();\n }\n}\n","import $ from 'jquery';\nimport env from '../core/env';\nimport lists from '../core/lists';\nimport dom from '../core/dom';\n\nexport default class TablePopover {\n constructor(context) {\n this.context = context;\n\n this.ui = $.summernote.ui;\n this.options = context.options;\n this.events = {\n 'summernote.mousedown': (we, e) => {\n this.update(e.target);\n },\n 'summernote.keyup summernote.scroll summernote.change': () => {\n this.update();\n },\n 'summernote.disable': () => {\n this.hide();\n }\n };\n }\n\n shouldInitialize() {\n return !lists.isEmpty(this.options.popover.table);\n }\n\n initialize() {\n this.$popover = this.ui.popover({\n className: 'note-table-popover'\n }).render().appendTo(this.options.container);\n const $content = this.$popover.find('.popover-content,.note-popover-content');\n\n this.context.invoke('buttons.build', $content, this.options.popover.table);\n\n // [workaround] Disable Firefox's default table editor\n if (env.isFF) {\n document.execCommand('enableInlineTableEditing', false, false);\n }\n }\n\n destroy() {\n this.$popover.remove();\n }\n\n update(target) {\n if (this.context.isDisabled()) {\n return false;\n }\n\n const isCell = dom.isCell(target);\n\n if (isCell) {\n const pos = dom.posFromPlaceholder(target);\n this.$popover.css({\n display: 'block',\n left: pos.left,\n top: pos.top\n });\n } else {\n this.hide();\n }\n\n return isCell;\n }\n\n hide() {\n this.$popover.hide();\n }\n}\n","import $ from 'jquery';\nimport env from '../core/env';\nimport key from '../core/key';\n\nexport default class VideoDialog {\n constructor(context) {\n this.context = context;\n\n this.ui = $.summernote.ui;\n this.$body = $(document.body);\n this.$editor = context.layoutInfo.editor;\n this.options = context.options;\n this.lang = this.options.langInfo;\n }\n\n initialize() {\n const $container = this.options.dialogsInBody ? this.$body : this.$editor;\n\n const body = [\n '<div class=\"form-group note-form-group row-fluid\">',\n `<label class=\"note-form-label\">${this.lang.video.url} <small class=\"text-muted\">${this.lang.video.providers}</small></label>`,\n '<input class=\"note-video-url form-control note-form-control note-input\" type=\"text\" />',\n '</div>'\n ].join('');\n const buttonClass = 'btn btn-primary note-btn note-btn-primary note-video-btn';\n const footer = `<button type=\"submit\" href=\"#\" class=\"${buttonClass}\" disabled>${this.lang.video.insert}</button>`;\n\n this.$dialog = this.ui.dialog({\n title: this.lang.video.insert,\n fade: this.options.dialogsFade,\n body: body,\n footer: footer\n }).render().appendTo($container);\n }\n\n destroy() {\n this.ui.hideDialog(this.$dialog);\n this.$dialog.remove();\n }\n\n bindEnterKey($input, $btn) {\n $input.on('keypress', (event) => {\n if (event.keyCode === key.code.ENTER) {\n event.preventDefault();\n $btn.trigger('click');\n }\n });\n }\n\n createVideoNode(url) {\n // video url patterns(youtube, instagram, vimeo, dailymotion, youku, mp4, ogg, webm)\n const ytRegExp = /^(?:https?:\\/\\/)?(?:www\\.)?(?:youtu\\.be\\/|youtube\\.com\\/(?:embed\\/|v\\/|watch\\?v=|watch\\?.+&v=))((\\w|-){11})(?:\\S+)?$/;\n const ytMatch = url.match(ytRegExp);\n\n const igRegExp = /(?:www\\.|\\/\\/)instagram\\.com\\/p\\/(.[a-zA-Z0-9_-]*)/;\n const igMatch = url.match(igRegExp);\n\n const vRegExp = /\\/\\/vine\\.co\\/v\\/([a-zA-Z0-9]+)/;\n const vMatch = url.match(vRegExp);\n\n const vimRegExp = /\\/\\/(player\\.)?vimeo\\.com\\/([a-z]*\\/)*(\\d+)[?]?.*/;\n const vimMatch = url.match(vimRegExp);\n\n const dmRegExp = /.+dailymotion.com\\/(video|hub)\\/([^_]+)[^#]*(#video=([^_&]+))?/;\n const dmMatch = url.match(dmRegExp);\n\n const youkuRegExp = /\\/\\/v\\.youku\\.com\\/v_show\\/id_(\\w+)=*\\.html/;\n const youkuMatch = url.match(youkuRegExp);\n\n const qqRegExp = /\\/\\/v\\.qq\\.com.*?vid=(.+)/;\n const qqMatch = url.match(qqRegExp);\n\n const qqRegExp2 = /\\/\\/v\\.qq\\.com\\/x?\\/?(page|cover).*?\\/([^\\/]+)\\.html\\??.*/;\n const qqMatch2 = url.match(qqRegExp2);\n\n const mp4RegExp = /^.+.(mp4|m4v)$/;\n const mp4Match = url.match(mp4RegExp);\n\n const oggRegExp = /^.+.(ogg|ogv)$/;\n const oggMatch = url.match(oggRegExp);\n\n const webmRegExp = /^.+.(webm)$/;\n const webmMatch = url.match(webmRegExp);\n\n let $video;\n if (ytMatch && ytMatch[1].length === 11) {\n const youtubeId = ytMatch[1];\n $video = $('<iframe>')\n .attr('frameborder', 0)\n .attr('src', '//www.youtube.com/embed/' + youtubeId)\n .attr('width', '640').attr('height', '360');\n } else if (igMatch && igMatch[0].length) {\n $video = $('<iframe>')\n .attr('frameborder', 0)\n .attr('src', 'https://instagram.com/p/' + igMatch[1] + '/embed/')\n .attr('width', '612').attr('height', '710')\n .attr('scrolling', 'no')\n .attr('allowtransparency', 'true');\n } else if (vMatch && vMatch[0].length) {\n $video = $('<iframe>')\n .attr('frameborder', 0)\n .attr('src', vMatch[0] + '/embed/simple')\n .attr('width', '600').attr('height', '600')\n .attr('class', 'vine-embed');\n } else if (vimMatch && vimMatch[3].length) {\n $video = $('<iframe webkitallowfullscreen mozallowfullscreen allowfullscreen>')\n .attr('frameborder', 0)\n .attr('src', '//player.vimeo.com/video/' + vimMatch[3])\n .attr('width', '640').attr('height', '360');\n } else if (dmMatch && dmMatch[2].length) {\n $video = $('<iframe>')\n .attr('frameborder', 0)\n .attr('src', '//www.dailymotion.com/embed/video/' + dmMatch[2])\n .attr('width', '640').attr('height', '360');\n } else if (youkuMatch && youkuMatch[1].length) {\n $video = $('<iframe webkitallowfullscreen mozallowfullscreen allowfullscreen>')\n .attr('frameborder', 0)\n .attr('height', '498')\n .attr('width', '510')\n .attr('src', '//player.youku.com/embed/' + youkuMatch[1]);\n } else if ((qqMatch && qqMatch[1].length) || (qqMatch2 && qqMatch2[2].length)) {\n const vid = ((qqMatch && qqMatch[1].length) ? qqMatch[1] : qqMatch2[2]);\n $video = $('<iframe webkitallowfullscreen mozallowfullscreen allowfullscreen>')\n .attr('frameborder', 0)\n .attr('height', '310')\n .attr('width', '500')\n .attr('src', 'http://v.qq.com/iframe/player.html?vid=' + vid + '&auto=0');\n } else if (mp4Match || oggMatch || webmMatch) {\n $video = $('<video controls>')\n .attr('src', url)\n .attr('width', '640').attr('height', '360');\n } else {\n // this is not a known video link. Now what, Cat? Now what?\n return false;\n }\n\n $video.addClass('note-video-clip');\n\n return $video[0];\n }\n\n show() {\n const text = this.context.invoke('editor.getSelectedText');\n this.context.invoke('editor.saveRange');\n this.showVideoDialog(text).then((url) => {\n // [workaround] hide dialog before restore range for IE range focus\n this.ui.hideDialog(this.$dialog);\n this.context.invoke('editor.restoreRange');\n\n // build node\n const $node = this.createVideoNode(url);\n\n if ($node) {\n // insert video node\n this.context.invoke('editor.insertNode', $node);\n }\n }).fail(() => {\n this.context.invoke('editor.restoreRange');\n });\n }\n\n /**\n * show image dialog\n *\n * @param {jQuery} $dialog\n * @return {Promise}\n */\n showVideoDialog(text) {\n return $.Deferred((deferred) => {\n const $videoUrl = this.$dialog.find('.note-video-url');\n const $videoBtn = this.$dialog.find('.note-video-btn');\n\n this.ui.onDialogShown(this.$dialog, () => {\n this.context.triggerEvent('dialog.shown');\n\n $videoUrl.val(text).on('input', () => {\n this.ui.toggleBtn($videoBtn, $videoUrl.val());\n });\n\n if (!env.isSupportTouch) {\n $videoUrl.trigger('focus');\n }\n\n $videoBtn.click((event) => {\n event.preventDefault();\n\n deferred.resolve($videoUrl.val());\n });\n\n this.bindEnterKey($videoUrl, $videoBtn);\n });\n\n this.ui.onDialogHidden(this.$dialog, () => {\n $videoUrl.off('input');\n $videoBtn.off('click');\n\n if (deferred.state() === 'pending') {\n deferred.reject();\n }\n });\n\n this.ui.showDialog(this.$dialog);\n });\n }\n}\n","import $ from 'jquery';\nimport env from '../core/env';\n\nexport default class HelpDialog {\n constructor(context) {\n this.context = context;\n\n this.ui = $.summernote.ui;\n this.$body = $(document.body);\n this.$editor = context.layoutInfo.editor;\n this.options = context.options;\n this.lang = this.options.langInfo;\n }\n\n initialize() {\n const $container = this.options.dialogsInBody ? this.$body : this.$editor;\n\n const body = [\n '<p class=\"text-center\">',\n '<a href=\"http://summernote.org/\" target=\"_blank\">Summernote @@VERSION@@</a> · ',\n '<a href=\"https://github.com/summernote/summernote\" target=\"_blank\">Project</a> · ',\n '<a href=\"https://github.com/summernote/summernote/issues\" target=\"_blank\">Issues</a>',\n '</p>'\n ].join('');\n\n this.$dialog = this.ui.dialog({\n title: this.lang.options.help,\n fade: this.options.dialogsFade,\n body: this.createShortcutList(),\n footer: body,\n callback: ($node) => {\n $node.find('.modal-body,.note-modal-body').css({\n 'max-height': 300,\n 'overflow': 'scroll'\n });\n }\n }).render().appendTo($container);\n }\n\n destroy() {\n this.ui.hideDialog(this.$dialog);\n this.$dialog.remove();\n }\n\n createShortcutList() {\n const keyMap = this.options.keyMap[env.isMac ? 'mac' : 'pc'];\n return Object.keys(keyMap).map((key) => {\n const command = keyMap[key];\n const $row = $('<div><div class=\"help-list-item\"/></div>');\n $row.append($('<label><kbd>' + key + '</kdb></label>').css({\n 'width': 180,\n 'margin-right': 10\n })).append($('<span/>').html(this.context.memo('help.' + command) || command));\n return $row.html();\n }).join('');\n }\n\n /**\n * show help dialog\n *\n * @return {Promise}\n */\n showHelpDialog() {\n return $.Deferred((deferred) => {\n this.ui.onDialogShown(this.$dialog, () => {\n this.context.triggerEvent('dialog.shown');\n deferred.resolve();\n });\n this.ui.showDialog(this.$dialog);\n }).promise();\n }\n\n show() {\n this.context.invoke('editor.saveRange');\n this.showHelpDialog().then(() => {\n this.context.invoke('editor.restoreRange');\n });\n }\n}\n","import $ from 'jquery';\nimport env from '../core/env';\nimport func from '../core/func';\nimport lists from '../core/lists';\nimport dom from '../core/dom';\n\nconst AIR_MODE_POPOVER_X_OFFSET = 20;\n\nexport default class AirPopover {\n constructor(context) {\n this.context = context;\n this.ui = $.summernote.ui;\n this.options = context.options;\n this.events = {\n 'summernote.keyup summernote.mouseup summernote.scroll': () => {\n this.update();\n },\n 'summernote.disable summernote.change summernote.dialog.shown': () => {\n this.hide();\n },\n 'summernote.focusout': (we, e) => {\n // [workaround] Firefox doesn't support relatedTarget on focusout\n // - Ignore hide action on focus out in FF.\n if (env.isFF) {\n return;\n }\n\n if (!e.relatedTarget || !dom.ancestor(e.relatedTarget, func.eq(this.$popover[0]))) {\n this.hide();\n }\n }\n };\n }\n\n shouldInitialize() {\n return this.options.airMode && !lists.isEmpty(this.options.popover.air);\n }\n\n initialize() {\n this.$popover = this.ui.popover({\n className: 'note-air-popover'\n }).render().appendTo(this.options.container);\n const $content = this.$popover.find('.popover-content');\n\n this.context.invoke('buttons.build', $content, this.options.popover.air);\n }\n\n destroy() {\n this.$popover.remove();\n }\n\n update() {\n const styleInfo = this.context.invoke('editor.currentStyle');\n if (styleInfo.range && !styleInfo.range.isCollapsed()) {\n const rect = lists.last(styleInfo.range.getClientRects());\n if (rect) {\n const bnd = func.rect2bnd(rect);\n this.$popover.css({\n display: 'block',\n left: Math.max(bnd.left + bnd.width / 2, 0) - AIR_MODE_POPOVER_X_OFFSET,\n top: bnd.top + bnd.height\n });\n this.context.invoke('buttons.updateCurrentStyle', this.$popover);\n }\n } else {\n this.hide();\n }\n }\n\n hide() {\n this.$popover.hide();\n }\n}\n","import $ from 'jquery';\nimport func from '../core/func';\nimport lists from '../core/lists';\nimport dom from '../core/dom';\nimport range from '../core/range';\nimport key from '../core/key';\n\nconst POPOVER_DIST = 5;\n\nexport default class HintPopover {\n constructor(context) {\n this.context = context;\n\n this.ui = $.summernote.ui;\n this.$editable = context.layoutInfo.editable;\n this.options = context.options;\n this.hint = this.options.hint || [];\n this.direction = this.options.hintDirection || 'bottom';\n this.hints = $.isArray(this.hint) ? this.hint : [this.hint];\n\n this.events = {\n 'summernote.keyup': (we, e) => {\n if (!e.isDefaultPrevented()) {\n this.handleKeyup(e);\n }\n },\n 'summernote.keydown': (we, e) => {\n this.handleKeydown(e);\n },\n 'summernote.disable summernote.dialog.shown': () => {\n this.hide();\n }\n };\n }\n\n shouldInitialize() {\n return this.hints.length > 0;\n }\n\n initialize() {\n this.lastWordRange = null;\n this.$popover = this.ui.popover({\n className: 'note-hint-popover',\n hideArrow: true,\n direction: ''\n }).render().appendTo(this.options.container);\n\n this.$popover.hide();\n this.$content = this.$popover.find('.popover-content,.note-popover-content');\n this.$content.on('click', '.note-hint-item', () => {\n this.$content.find('.active').removeClass('active');\n $(this).addClass('active');\n this.replace();\n });\n }\n\n destroy() {\n this.$popover.remove();\n }\n\n selectItem($item) {\n this.$content.find('.active').removeClass('active');\n $item.addClass('active');\n\n this.$content[0].scrollTop = $item[0].offsetTop - (this.$content.innerHeight() / 2);\n }\n\n moveDown() {\n const $current = this.$content.find('.note-hint-item.active');\n const $next = $current.next();\n\n if ($next.length) {\n this.selectItem($next);\n } else {\n let $nextGroup = $current.parent().next();\n\n if (!$nextGroup.length) {\n $nextGroup = this.$content.find('.note-hint-group').first();\n }\n\n this.selectItem($nextGroup.find('.note-hint-item').first());\n }\n }\n\n moveUp() {\n const $current = this.$content.find('.note-hint-item.active');\n const $prev = $current.prev();\n\n if ($prev.length) {\n this.selectItem($prev);\n } else {\n let $prevGroup = $current.parent().prev();\n\n if (!$prevGroup.length) {\n $prevGroup = this.$content.find('.note-hint-group').last();\n }\n\n this.selectItem($prevGroup.find('.note-hint-item').last());\n }\n }\n\n replace() {\n const $item = this.$content.find('.note-hint-item.active');\n\n if ($item.length) {\n const node = this.nodeFromItem($item);\n // XXX: consider to move codes to editor for recording redo/undo.\n this.lastWordRange.insertNode(node);\n range.createFromNode(node).collapse().select();\n\n this.lastWordRange = null;\n this.hide();\n this.context.triggerEvent('change', this.$editable.html(), this.$editable[0]);\n this.context.invoke('editor.focus');\n }\n }\n\n nodeFromItem($item) {\n const hint = this.hints[$item.data('index')];\n const item = $item.data('item');\n let node = hint.content ? hint.content(item) : item;\n if (typeof node === 'string') {\n node = dom.createText(node);\n }\n return node;\n }\n\n createItemTemplates(hintIdx, items) {\n const hint = this.hints[hintIdx];\n return items.map((item, idx) => {\n const $item = $('<div class=\"note-hint-item\"/>');\n $item.append(hint.template ? hint.template(item) : item + '');\n $item.data({\n 'index': hintIdx,\n 'item': item\n });\n return $item;\n });\n }\n\n handleKeydown(e) {\n if (!this.$popover.is(':visible')) {\n return;\n }\n\n if (e.keyCode === key.code.ENTER) {\n e.preventDefault();\n this.replace();\n } else if (e.keyCode === key.code.UP) {\n e.preventDefault();\n this.moveUp();\n } else if (e.keyCode === key.code.DOWN) {\n e.preventDefault();\n this.moveDown();\n }\n }\n\n searchKeyword(index, keyword, callback) {\n const hint = this.hints[index];\n if (hint && hint.match.test(keyword) && hint.search) {\n const matches = hint.match.exec(keyword);\n hint.search(matches[1], callback);\n } else {\n callback();\n }\n }\n\n createGroup(idx, keyword) {\n const $group = $('<div class=\"note-hint-group note-hint-group-' + idx + '\"/>');\n this.searchKeyword(idx, keyword, (items) => {\n items = items || [];\n if (items.length) {\n $group.html(this.createItemTemplates(idx, items));\n this.show();\n }\n });\n\n return $group;\n }\n\n handleKeyup(e) {\n if (!lists.contains([key.code.ENTER, key.code.UP, key.code.DOWN], e.keyCode)) {\n const wordRange = this.context.invoke('editor.createRange').getWordRange();\n const keyword = wordRange.toString();\n if (this.hints.length && keyword) {\n this.$content.empty();\n\n const bnd = func.rect2bnd(lists.last(wordRange.getClientRects()));\n if (bnd) {\n this.$popover.hide();\n this.lastWordRange = wordRange;\n this.hints.forEach((hint, idx) => {\n if (hint.match.test(keyword)) {\n this.createGroup(idx, keyword).appendTo(this.$content);\n }\n });\n // select first .note-hint-item\n this.$content.find('.note-hint-item:first').addClass('active');\n\n // set position for popover after group is created\n if (this.direction === 'top') {\n this.$popover.css({\n left: bnd.left,\n top: bnd.top - this.$popover.outerHeight() - POPOVER_DIST\n });\n } else {\n this.$popover.css({\n left: bnd.left,\n top: bnd.top + bnd.height + POPOVER_DIST\n });\n }\n }\n } else {\n this.hide();\n }\n }\n }\n\n show() {\n this.$popover.show();\n }\n\n hide() {\n this.$popover.hide();\n }\n}\n","import $ from 'jquery';\nimport func from './core/func';\nimport lists from './core/lists';\nimport dom from './core/dom';\n\nexport default class Context {\n /**\n * @param {jQuery} $note\n * @param {Object} options\n */\n constructor($note, options) {\n this.ui = $.summernote.ui;\n this.$note = $note;\n\n this.memos = {};\n this.modules = {};\n this.layoutInfo = {};\n this.options = options;\n\n this.initialize();\n }\n\n /**\n * create layout and initialize modules and other resources\n */\n initialize() {\n this.layoutInfo = this.ui.createLayout(this.$note, this.options);\n this._initialize();\n this.$note.hide();\n return this;\n }\n\n /**\n * destroy modules and other resources and remove layout\n */\n destroy() {\n this._destroy();\n this.$note.removeData('summernote');\n this.ui.removeLayout(this.$note, this.layoutInfo);\n }\n\n /**\n * destory modules and other resources and initialize it again\n */\n reset() {\n const disabled = this.isDisabled();\n this.code(dom.emptyPara);\n this._destroy();\n this._initialize();\n\n if (disabled) {\n this.disable();\n }\n }\n\n _initialize() {\n // add optional buttons\n const buttons = $.extend({}, this.options.buttons);\n Object.keys(buttons).forEach((key) => {\n this.memo('button.' + key, buttons[key]);\n });\n\n const modules = $.extend({}, this.options.modules, $.summernote.plugins || {});\n\n // add and initialize modules\n Object.keys(modules).forEach((key) => {\n this.module(key, modules[key], true);\n });\n\n Object.keys(this.modules).forEach((key) => {\n this.initializeModule(key);\n });\n }\n\n _destroy() {\n // destroy modules with reversed order\n Object.keys(this.modules).reverse().forEach((key) => {\n this.removeModule(key);\n });\n\n Object.keys(this.memos).forEach((key) => {\n this.removeMemo(key);\n });\n // trigger custom onDestroy callback\n this.triggerEvent('destroy', this);\n }\n\n code(html) {\n const isActivated = this.invoke('codeview.isActivated');\n\n if (html === undefined) {\n this.invoke('codeview.sync');\n return isActivated ? this.layoutInfo.codable.val() : this.layoutInfo.editable.html();\n } else {\n if (isActivated) {\n this.layoutInfo.codable.val(html);\n } else {\n this.layoutInfo.editable.html(html);\n }\n this.$note.val(html);\n this.triggerEvent('change', html);\n }\n }\n\n isDisabled() {\n return this.layoutInfo.editable.attr('contenteditable') === 'false';\n }\n\n enable() {\n this.layoutInfo.editable.attr('contenteditable', true);\n this.invoke('toolbar.activate', true);\n this.triggerEvent('disable', false);\n }\n\n disable() {\n // close codeview if codeview is opend\n if (this.invoke('codeview.isActivated')) {\n this.invoke('codeview.deactivate');\n }\n this.layoutInfo.editable.attr('contenteditable', false);\n this.invoke('toolbar.deactivate', true);\n\n this.triggerEvent('disable', true);\n }\n\n triggerEvent() {\n const namespace = lists.head(arguments);\n const args = lists.tail(lists.from(arguments));\n\n const callback = this.options.callbacks[func.namespaceToCamel(namespace, 'on')];\n if (callback) {\n callback.apply(this.$note[0], args);\n }\n this.$note.trigger('summernote.' + namespace, args);\n }\n\n initializeModule(key) {\n const module = this.modules[key];\n module.shouldInitialize = module.shouldInitialize || func.ok;\n if (!module.shouldInitialize()) {\n return;\n }\n\n // initialize module\n if (module.initialize) {\n module.initialize();\n }\n\n // attach events\n if (module.events) {\n dom.attachEvents(this.$note, module.events);\n }\n }\n\n module(key, ModuleClass, withoutIntialize) {\n if (arguments.length === 1) {\n return this.modules[key];\n }\n\n this.modules[key] = new ModuleClass(this);\n\n if (!withoutIntialize) {\n this.initializeModule(key);\n }\n }\n\n removeModule(key) {\n const module = this.modules[key];\n if (module.shouldInitialize()) {\n if (module.events) {\n dom.detachEvents(this.$note, module.events);\n }\n\n if (module.destroy) {\n module.destroy();\n }\n }\n\n delete this.modules[key];\n }\n\n memo(key, obj) {\n if (arguments.length === 1) {\n return this.memos[key];\n }\n this.memos[key] = obj;\n }\n\n removeMemo(key) {\n if (this.memos[key] && this.memos[key].destroy) {\n this.memos[key].destroy();\n }\n\n delete this.memos[key];\n }\n\n /**\n * Some buttons need to change their visual style immediately once they get pressed\n */\n createInvokeHandlerAndUpdateState(namespace, value) {\n return (event) => {\n this.createInvokeHandler(namespace, value)(event);\n this.invoke('buttons.updateCurrentStyle');\n };\n }\n\n createInvokeHandler(namespace, value) {\n return (event) => {\n event.preventDefault();\n const $target = $(event.target);\n this.invoke(namespace, value || $target.closest('[data-value]').data('value'), $target);\n };\n }\n\n invoke() {\n const namespace = lists.head(arguments);\n const args = lists.tail(lists.from(arguments));\n\n const splits = namespace.split('.');\n const hasSeparator = splits.length > 1;\n const moduleName = hasSeparator && lists.head(splits);\n const methodName = hasSeparator ? lists.last(splits) : lists.head(splits);\n\n const module = this.modules[moduleName || 'editor'];\n if (!moduleName && this[methodName]) {\n return this[methodName].apply(this, args);\n } else if (module && module[methodName] && module.shouldInitialize()) {\n return module[methodName].apply(module, args);\n }\n }\n}\n","import $ from 'jquery';\nimport env from './base/core/env';\nimport lists from './base/core/lists';\nimport Context from './base/Context';\n\n$.fn.extend({\n /**\n * Summernote API\n *\n * @param {Object|String}\n * @return {this}\n */\n summernote: function() {\n const type = $.type(lists.head(arguments));\n const isExternalAPICalled = type === 'string';\n const hasInitOptions = type === 'object';\n\n const options = $.extend({}, $.summernote.options, hasInitOptions ? lists.head(arguments) : {});\n\n // Update options\n options.langInfo = $.extend(true, {}, $.summernote.lang['en-US'], $.summernote.lang[options.lang]);\n options.icons = $.extend(true, {}, $.summernote.options.icons, options.icons);\n options.tooltip = options.tooltip === 'auto' ? !env.isSupportTouch : options.tooltip;\n\n this.each((idx, note) => {\n const $note = $(note);\n if (!$note.data('summernote')) {\n const context = new Context($note, options);\n $note.data('summernote', context);\n $note.data('summernote').triggerEvent('init', context.layoutInfo);\n }\n });\n\n const $note = this.first();\n if ($note.length) {\n const context = $note.data('summernote');\n if (isExternalAPICalled) {\n return context.invoke.apply(context, lists.from(arguments));\n } else if (options.focus) {\n context.invoke('editor.focus');\n }\n }\n\n return this;\n }\n});\n","import $ from 'jquery';\nimport ui from './ui';\nimport '../base/summernote-en-US';\nimport Editor from '../base/module/Editor';\nimport Clipboard from '../base/module/Clipboard';\nimport Dropzone from '../base/module/Dropzone';\nimport Codeview from '../base/module/Codeview';\nimport Statusbar from '../base/module/Statusbar';\nimport Fullscreen from '../base/module/Fullscreen';\nimport Handle from '../base/module/Handle';\nimport AutoLink from '../base/module/AutoLink';\nimport AutoSync from '../base/module/AutoSync';\nimport Placeholder from '../base/module/Placeholder';\nimport Buttons from '../base/module/Buttons';\nimport Toolbar from '../base/module/Toolbar';\nimport LinkDialog from '../base/module/LinkDialog';\nimport LinkPopover from '../base/module/LinkPopover';\nimport ImageDialog from '../base/module/ImageDialog';\nimport ImagePopover from '../base/module/ImagePopover';\nimport TablePopover from '../base/module/TablePopover';\nimport VideoDialog from '../base/module/VideoDialog';\nimport HelpDialog from '../base/module/HelpDialog';\nimport AirPopover from '../base/module/AirPopover';\nimport HintPopover from '../base/module/HintPopover';\n\n$.summernote = $.extend($.summernote, {\n version: '@@VERSION@@',\n ui: ui,\n\n plugins: {},\n\n options: {\n modules: {\n 'editor': Editor,\n 'clipboard': Clipboard,\n 'dropzone': Dropzone,\n 'codeview': Codeview,\n 'statusbar': Statusbar,\n 'fullscreen': Fullscreen,\n 'handle': Handle,\n // FIXME: HintPopover must be front of autolink\n // - Script error about range when Enter key is pressed on hint popover\n 'hintPopover': HintPopover,\n 'autoLink': AutoLink,\n 'autoSync': AutoSync,\n 'placeholder': Placeholder,\n 'buttons': Buttons,\n 'toolbar': Toolbar,\n 'linkDialog': LinkDialog,\n 'linkPopover': LinkPopover,\n 'imageDialog': ImageDialog,\n 'imagePopover': ImagePopover,\n 'tablePopover': TablePopover,\n 'videoDialog': VideoDialog,\n 'helpDialog': HelpDialog,\n 'airPopover': AirPopover\n },\n\n buttons: {},\n\n lang: 'en-US',\n\n followingToolbar: true,\n otherStaticBar: '',\n\n // toolbar\n toolbar: [\n ['style', ['style']],\n ['font', ['bold', 'underline', 'clear']],\n ['fontname', ['fontname']],\n ['fontsize', ['fontsize']],\n ['color', ['color']],\n ['para', ['ul', 'ol', 'paragraph']],\n ['table', ['table']],\n ['insert', ['link', 'picture', 'video']],\n ['view', ['fullscreen', 'codeview', 'help']]\n ],\n\n // popover\n popatmouse: true,\n popover: {\n image: [\n ['imagesize', ['imageSize100', 'imageSize50', 'imageSize25']],\n ['float', ['floatLeft', 'floatRight', 'floatNone']],\n ['remove', ['removeMedia']]\n ],\n link: [\n ['link', ['linkDialogShow', 'unlink']]\n ],\n table: [\n ['add', ['addRowDown', 'addRowUp', 'addColLeft', 'addColRight']],\n ['delete', ['deleteRow', 'deleteCol', 'deleteTable']]\n ],\n air: [\n ['color', ['color']],\n ['font', ['bold', 'underline', 'clear']],\n ['para', ['ul', 'paragraph']],\n ['table', ['table']],\n ['insert', ['link', 'picture']]\n ]\n },\n\n // air mode: inline editor\n airMode: false,\n\n width: null,\n height: null,\n\n focus: false,\n tabSize: 4,\n styleWithSpan: true,\n shortcuts: true,\n textareaAutoSync: true,\n hintDirection: 'bottom',\n tooltip: 'auto',\n container: 'body',\n maxTextLength: 0,\n\n styleTags: ['p', 'pre', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6'],\n\n fontNames: [\n 'Arial', 'Arial Black', 'Comic Sans MS', 'Courier New',\n 'Helvetica Neue', 'Helvetica', 'Impact', 'Lucida Grande',\n 'Tahoma', 'Times New Roman', 'Verdana'\n ],\n\n fontSizes: ['8', '9', '10', '11', '12', '14', '18', '24', '36'],\n\n // pallete colors(n x n)\n colors: [\n ['#000000', '#424242', '#636363', '#9C9C94', '#CEC6CE', '#EFEFEF', '#F7F7F7', '#FFFFFF'],\n ['#FF0000', '#FF9C00', '#FFFF00', '#00FF00', '#00FFFF', '#0000FF', '#9C00FF', '#FF00FF'],\n ['#F7C6CE', '#FFE7CE', '#FFEFC6', '#D6EFD6', '#CEDEE7', '#CEE7F7', '#D6D6E7', '#E7D6DE'],\n ['#E79C9C', '#FFC69C', '#FFE79C', '#B5D6A5', '#A5C6CE', '#9CC6EF', '#B5A5D6', '#D6A5BD'],\n ['#E76363', '#F7AD6B', '#FFD663', '#94BD7B', '#73A5AD', '#6BADDE', '#8C7BC6', '#C67BA5'],\n ['#CE0000', '#E79439', '#EFC631', '#6BA54A', '#4A7B8C', '#3984C6', '#634AA5', '#A54A7B'],\n ['#9C0000', '#B56308', '#BD9400', '#397B21', '#104A5A', '#085294', '#311873', '#731842'],\n ['#630000', '#7B3900', '#846300', '#295218', '#083139', '#003163', '#21104A', '#4A1031']\n ],\n\n // http://chir.ag/projects/name-that-color/\n colorsName: [\n ['Black', 'Tundora', 'Dove Gray', 'Star Dust', 'Pale Slate', 'Gallery', 'Alabaster', 'White'],\n ['Red', 'Orange Peel', 'Yellow', 'Green', 'Cyan', 'Blue', 'Electric Violet', 'Magenta'],\n ['Azalea', 'Karry', 'Egg White', 'Zanah', 'Botticelli', 'Tropical Blue', 'Mischka', 'Twilight'],\n ['Tonys Pink', 'Peach Orange', 'Cream Brulee', 'Sprout', 'Casper', 'Perano', 'Cold Purple', 'Careys Pink'],\n ['Mandy', 'Rajah', 'Dandelion', 'Olivine', 'Gulf Stream', 'Viking', 'Blue Marguerite', 'Puce'],\n ['Guardsman Red', 'Fire Bush', 'Golden Dream', 'Chelsea Cucumber', 'Smalt Blue', 'Boston Blue', 'Butterfly Bush', 'Cadillac'],\n ['Sangria', 'Mai Tai', 'Buddha Gold', 'Forest Green', 'Eden', 'Venice Blue', 'Meteorite', 'Claret'],\n ['Rosewood', 'Cinnamon', 'Olive', 'Parsley', 'Tiber', 'Midnight Blue', 'Valentino', 'Loulou']\n ],\n\n lineHeights: ['1.0', '1.2', '1.4', '1.5', '1.6', '1.8', '2.0', '3.0'],\n\n tableClassName: 'table table-bordered',\n\n insertTableMaxSize: {\n col: 10,\n row: 10\n },\n\n dialogsInBody: false,\n dialogsFade: false,\n\n maximumImageFileSize: null,\n\n callbacks: {\n onInit: null,\n onFocus: null,\n onBlur: null,\n onBlurCodeview: null,\n onEnter: null,\n onKeyup: null,\n onKeydown: null,\n onSubmit: null,\n onImageUpload: null,\n onImageUploadError: null\n },\n\n codemirror: {\n mode: 'text/html',\n htmlMode: true,\n lineNumbers: true\n },\n\n keyMap: {\n pc: {\n 'ENTER': 'insertParagraph',\n 'CTRL+Z': 'undo',\n 'CTRL+Y': 'redo',\n 'TAB': 'tab',\n 'SHIFT+TAB': 'untab',\n 'CTRL+B': 'bold',\n 'CTRL+I': 'italic',\n 'CTRL+U': 'underline',\n 'CTRL+SHIFT+S': 'strikethrough',\n 'CTRL+BACKSLASH': 'removeFormat',\n 'CTRL+SHIFT+L': 'justifyLeft',\n 'CTRL+SHIFT+E': 'justifyCenter',\n 'CTRL+SHIFT+R': 'justifyRight',\n 'CTRL+SHIFT+J': 'justifyFull',\n 'CTRL+SHIFT+NUM7': 'insertUnorderedList',\n 'CTRL+SHIFT+NUM8': 'insertOrderedList',\n 'CTRL+LEFTBRACKET': 'outdent',\n 'CTRL+RIGHTBRACKET': 'indent',\n 'CTRL+NUM0': 'formatPara',\n 'CTRL+NUM1': 'formatH1',\n 'CTRL+NUM2': 'formatH2',\n 'CTRL+NUM3': 'formatH3',\n 'CTRL+NUM4': 'formatH4',\n 'CTRL+NUM5': 'formatH5',\n 'CTRL+NUM6': 'formatH6',\n 'CTRL+ENTER': 'insertHorizontalRule',\n 'CTRL+K': 'linkDialog.show'\n },\n\n mac: {\n 'ENTER': 'insertParagraph',\n 'CMD+Z': 'undo',\n 'CMD+SHIFT+Z': 'redo',\n 'TAB': 'tab',\n 'SHIFT+TAB': 'untab',\n 'CMD+B': 'bold',\n 'CMD+I': 'italic',\n 'CMD+U': 'underline',\n 'CMD+SHIFT+S': 'strikethrough',\n 'CMD+BACKSLASH': 'removeFormat',\n 'CMD+SHIFT+L': 'justifyLeft',\n 'CMD+SHIFT+E': 'justifyCenter',\n 'CMD+SHIFT+R': 'justifyRight',\n 'CMD+SHIFT+J': 'justifyFull',\n 'CMD+SHIFT+NUM7': 'insertUnorderedList',\n 'CMD+SHIFT+NUM8': 'insertOrderedList',\n 'CMD+LEFTBRACKET': 'outdent',\n 'CMD+RIGHTBRACKET': 'indent',\n 'CMD+NUM0': 'formatPara',\n 'CMD+NUM1': 'formatH1',\n 'CMD+NUM2': 'formatH2',\n 'CMD+NUM3': 'formatH3',\n 'CMD+NUM4': 'formatH4',\n 'CMD+NUM5': 'formatH5',\n 'CMD+NUM6': 'formatH6',\n 'CMD+ENTER': 'insertHorizontalRule',\n 'CMD+K': 'linkDialog.show'\n }\n },\n icons: {\n 'align': 'note-icon-align',\n 'alignCenter': 'note-icon-align-center',\n 'alignJustify': 'note-icon-align-justify',\n 'alignLeft': 'note-icon-align-left',\n 'alignRight': 'note-icon-align-right',\n 'rowBelow': 'note-icon-row-below',\n 'colBefore': 'note-icon-col-before',\n 'colAfter': 'note-icon-col-after',\n 'rowAbove': 'note-icon-row-above',\n 'rowRemove': 'note-icon-row-remove',\n 'colRemove': 'note-icon-col-remove',\n 'indent': 'note-icon-align-indent',\n 'outdent': 'note-icon-align-outdent',\n 'arrowsAlt': 'note-icon-arrows-alt',\n 'bold': 'note-icon-bold',\n 'caret': 'note-icon-caret',\n 'circle': 'note-icon-circle',\n 'close': 'note-icon-close',\n 'code': 'note-icon-code',\n 'eraser': 'note-icon-eraser',\n 'font': 'note-icon-font',\n 'frame': 'note-icon-frame',\n 'italic': 'note-icon-italic',\n 'link': 'note-icon-link',\n 'unlink': 'note-icon-chain-broken',\n 'magic': 'note-icon-magic',\n 'menuCheck': 'note-icon-menu-check',\n 'minus': 'note-icon-minus',\n 'orderedlist': 'note-icon-orderedlist',\n 'pencil': 'note-icon-pencil',\n 'picture': 'note-icon-picture',\n 'question': 'note-icon-question',\n 'redo': 'note-icon-redo',\n 'square': 'note-icon-square',\n 'strikethrough': 'note-icon-strikethrough',\n 'subscript': 'note-icon-subscript',\n 'superscript': 'note-icon-superscript',\n 'table': 'note-icon-table',\n 'textHeight': 'note-icon-text-height',\n 'trash': 'note-icon-trash',\n 'underline': 'note-icon-underline',\n 'undo': 'note-icon-undo',\n 'unorderedlist': 'note-icon-unorderedlist',\n 'video': 'note-icon-video'\n }\n }\n});\n\nimport '../summernote'; // eslint-disable-line\n"],"names":["$","isEmpty","Codeview"],"mappings":"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"}PK�{�\���]�]�summernote-bs4.min.jsnu�[���/*! Summernote v0.8.10 | (c) 2013- Alan Hong and other contributors | MIT license */ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):e(t.jQuery)}(this,function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var e=function(){function e(t,e,o,n){this.markup=t,this.children=e,this.options=o,this.callback=n}return e.prototype.render=function(e){var o=t(this.markup);if(this.options&&this.options.contents&&o.html(this.options.contents),this.options&&this.options.className&&o.addClass(this.options.className),this.options&&this.options.data&&t.each(this.options.data,function(t,e){o.attr("data-"+t,e)}),this.options&&this.options.click&&o.on("click",this.options.click),this.children){var n=o.find(".note-children-container");this.children.forEach(function(t){t.render(n.length?n:o)})}return this.callback&&this.callback(o,this.options),this.options&&this.options.callback&&this.options.callback(o),e&&e.append(o),o},e}(),o=function(o,n){return function(){var i="object"==typeof arguments[1]?arguments[1]:arguments[0],r=t.isArray(arguments[0])?arguments[0]:[];return i&&i.children&&(r=i.children),new e(o,r,i,n)}},n=o('<div class="note-editor note-frame card"/>'),i=o('<div class="note-toolbar-wrapper"><div class="note-toolbar card-header" role="toolbar"></div></div>'),r=o('<div class="note-editing-area"/>'),s=o('<textarea class="note-codable" role="textbox" aria-multiline="true"/>'),a=o('<div class="note-editable card-block" contentEditable="true" role="textbox" aria-multiline="true"/>'),l=o(['<output class="note-status-output" aria-live="polite"/>','<div class="note-statusbar" role="status">',' <output class="note-status-output" aria-live="polite"></output>',' <div class="note-resizebar" role="seperator" aria-orientation="horizontal" aria-label="Resize">',' <div class="note-icon-bar"/>',' <div class="note-icon-bar"/>',' <div class="note-icon-bar"/>'," </div>","</div>"].join("")),c=o('<div class="note-editor"/>'),d=o(['<output class="note-status-output" aria-live="polite"/>','<div class="note-editable" contentEditable="true" role="textbox" aria-multiline="true"/>'].join("")),u=o('<div class="note-btn-group btn-group">'),h=o('<div class="dropdown-menu" role="list">',function(e,o){var n=t.isArray(o.items)?o.items.map(function(t){var e="string"==typeof t?t:t.value||"",n=o.template?o.template(t):t,i="object"==typeof t?t.option:void 0;return'<a class="dropdown-item" href="#" '+('data-value="'+e+'"'+(void 0!==i?' data-option="'+i+'"':""))+' role="listitem" aria-label="'+t+'">'+n+"</a>"}).join(""):o.items;e.html(n).attr({"aria-label":o.title})}),p=o('<div class="dropdown-menu note-check" role="list">',function(e,o){var n=t.isArray(o.items)?o.items.map(function(t){var e="string"==typeof t?t:t.value||"",n=o.template?o.template(t):t;return'<a class="dropdown-item" href="#" data-value="'+e+'" role="listitem" aria-label="'+t+'">'+b(o.checkClassName)+" "+n+"</a>"}).join(""):o.items;e.html(n).attr({"aria-label":o.title})}),f=o('<div class="note-color-palette"/>',function(t,e){for(var o=[],n=0,i=e.colors.length;n<i;n++){for(var r=e.eventName,s=e.colors[n],a=e.colorsName[n],l=[],c=0,d=s.length;c<d;c++){var u=s[c],h=a[c];l.push(['<button type="button" class="note-color-btn"','style="background-color:',u,'" ','data-event="',r,'" ','data-value="',u,'" ','title="',h,'" ','aria-label="',h,'" ','data-toggle="button" tabindex="-1"></button>'].join(""))}o.push('<div class="note-color-row">'+l.join("")+"</div>")}t.html(o.join("")),e.tooltip&&t.find(".note-color-btn").tooltip({container:e.container,trigger:"hover",placement:"bottom"})}),m=o('<div class="modal" aria-hidden="false" tabindex="-1" role="dialog"/>',function(t,e){e.fade&&t.addClass("fade"),t.attr({"aria-label":e.title}),t.html(['<div class="modal-dialog">',' <div class="modal-content">',e.title?' <div class="modal-header"> <h4 class="modal-title">'+e.title+'</h4> <button type="button" class="close" data-dismiss="modal" aria-label="Close" aria-hidden="true">×</button> </div>':"",' <div class="modal-body">'+e.body+"</div>",e.footer?' <div class="modal-footer">'+e.footer+"</div>":""," </div>","</div>"].join(""))}),g=o(['<div class="note-popover popover in">',' <div class="arrow"/>',' <div class="popover-content note-children-container"/>',"</div>"].join(""),function(t,e){var o=void 0!==e.direction?e.direction:"bottom";t.addClass(o),e.hideArrow&&t.find(".arrow").hide()}),v=o('<label class="custom-control custom-checkbox"></label>',function(t,e){e.id&&t.attr("for",e.id),t.html([' <input role="checkbox" type="checkbox" class="custom-control-input"'+(e.id?' id="'+e.id+'"':""),e.checked?" checked":"",' aria-checked="'+(e.checked?"true":"false")+'"/>',' <span class="custom-control-indicator"></span>',' <span class="custom-control-description">'+(e.text?e.text:"")+"</span>","</label>"].join(""))}),b=function(t,e){return"<"+(e=e||"i")+' class="'+t+'"/>'},y={editor:n,toolbar:i,editingArea:r,codable:s,editable:a,statusbar:l,airEditor:c,airEditable:d,buttonGroup:u,dropdown:h,dropdownButtonContents:function(t){return t},dropdownCheck:p,palette:f,dialog:m,popover:g,icon:b,checkbox:v,options:{},button:function(t,e){return o('<button type="button" class="note-btn btn btn-light btn-sm" role="button" tabindex="-1">',function(t,e){e&&e.tooltip&&t.attr({title:e.tooltip,"aria-label":e.tooltip}).tooltip({container:e.container,trigger:"hover",placement:"bottom"})})(t,e)},toggleBtn:function(t,e){t.toggleClass("disabled",!e),t.attr("disabled",!e)},toggleBtnActive:function(t,e){t.toggleClass("active",e)},onDialogShown:function(t,e){t.one("shown.bs.modal",e)},onDialogHidden:function(t,e){t.one("hidden.bs.modal",e)},showDialog:function(t){t.modal("show")},hideDialog:function(t){t.modal("hide")},createLayout:function(t,e){var o=(e.airMode?y.airEditor([y.editingArea([y.airEditable()])]):y.editor([y.toolbar(),y.editingArea([y.codable(),y.editable()]),y.statusbar()])).render();return o.insertAfter(t),{note:t,editor:o,toolbar:o.find(".note-toolbar"),editingArea:o.find(".note-editing-area"),editable:o.find(".note-editable"),codable:o.find(".note-codable"),statusbar:o.find(".note-statusbar")}},removeLayout:function(t,e){t.html(e.editable.html()),e.editor.remove(),t.show()}};var k=0;var C={eq:function(t){return function(e){return t===e}},eq2:function(t,e){return t===e},peq2:function(t){return function(e,o){return e[t]===o[t]}},ok:function(){return!0},fail:function(){return!1},self:function(t){return t},not:function(t){return function(){return!t.apply(t,arguments)}},and:function(t,e){return function(o){return t(o)&&e(o)}},invoke:function(t,e){return function(){return t[e].apply(t,arguments)}},uniqueId:function(t){var e=++k+"";return t?t+e:e},rect2bnd:function(t){var e=$(document);return{top:t.top+e.scrollTop(),left:t.left+e.scrollLeft(),width:t.right-t.left,height:t.bottom-t.top}},invertObject:function(t){var e={};for(var o in t)t.hasOwnProperty(o)&&(e[t[o]]=o);return e},namespaceToCamel:function(t,e){return(e=e||"")+t.split(".").map(function(t){return t.substring(0,1).toUpperCase()+t.substring(1)}).join("")},debounce:function(t,e,o){var n,i=this;return function(){var r=i,s=arguments,a=o&&!n;clearTimeout(n),n=setTimeout(function(){n=null,o||t.apply(r,s)},e),a&&t.apply(r,s)}}};function w(t){return t[0]}function x(t){return t[t.length-1]}function S(t){return t.slice(1)}function T(e,o){return t.inArray(o,e)}function I(t,e){return-1!==T(t,e)}var N={head:w,last:x,initial:function(t){return t.slice(0,t.length-1)},tail:S,prev:function(t,e){var o=T(t,e);return-1===o?null:t[o-1]},next:function(t,e){var o=T(t,e);return-1===o?null:t[o+1]},find:function(t,e){for(var o=0,n=t.length;o<n;o++){var i=t[o];if(e(i))return i}},contains:I,all:function(t,e){for(var o=0,n=t.length;o<n;o++)if(!e(t[o]))return!1;return!0},sum:function(t,e){return e=e||C.self,t.reduce(function(t,o){return t+e(o)},0)},from:function(t){for(var e=[],o=t.length,n=-1;++n<o;)e[n]=t[n];return e},isEmpty:function(t){return!t||!t.length},clusterBy:function(t,e){return t.length?S(t).reduce(function(t,o){var n=x(t);return e(x(n),o)?n[n.length]=o:t[t.length]=[o],t},[[w(t)]]):[]},compact:function(t){for(var e=[],o=0,n=t.length;o<n;o++)t[o]&&e.push(t[o]);return e},unique:function(t){for(var e=[],o=0,n=t.length;o<n;o++)I(e,t[o])||e.push(t[o]);return e}},E="function"==typeof define&&define.amd;var A,R=navigator.userAgent,P=/MSIE|Trident/i.test(R);if(P){var L=/MSIE (\d+[.]\d+)/.exec(R);L&&(A=parseFloat(L[1])),(L=/Trident\/.*rv:([0-9]{1,}[.0-9]{0,})/.exec(R))&&(A=parseFloat(L[1]))}var H=/Edge\/\d+/.test(R),D=!!window.CodeMirror;if(!D&&E)if("function"==typeof __webpack_require__)try{require.resolve("codemirror"),D=!0}catch(t){}else if("undefined"!=typeof require)if(void 0!==require.resolve)try{require.resolve("codemirror"),D=!0}catch(t){}else void 0!==require.specified&&(D=require.specified("codemirror"));var F="ontouchstart"in window||navigator.MaxTouchPoints>0||navigator.msMaxTouchPoints>0,B=P||H?"DOMCharacterDataModified DOMSubtreeModified DOMNodeInserted":"input",z={isMac:navigator.appVersion.indexOf("Mac")>-1,isMSIE:P,isEdge:H,isFF:!H&&/firefox/i.test(R),isPhantom:/PhantomJS/i.test(R),isWebkit:!H&&/webkit/i.test(R),isChrome:!H&&/chrome/i.test(R),isSafari:!H&&/safari/i.test(R),browserVersion:A,jqueryVersion:parseFloat(t.fn.jquery),isSupportAmd:E,isSupportTouch:F,hasCodeMirror:D,isFontInstalled:function(e){var o="Comic Sans MS"===e?"Courier New":"Comic Sans MS",n=t("<div>").css({position:"absolute",left:"-9999px",top:"-9999px",fontSize:"200px"}).text("mmmmmmmmmwwwwwww").appendTo(document.body),i=n.css("fontFamily",o).width(),r=n.css("fontFamily",e+","+o).width();return n.remove(),i!==r},isW3CRangeSupport:!!document.createRange,inputEventName:B},M=String.fromCharCode(160);function O(e){return e&&t(e).hasClass("note-editable")}function U(t){return t=t.toUpperCase(),function(e){return e&&e.nodeName.toUpperCase()===t}}function j(t){return t&&3===t.nodeType}function q(t){return t&&/^BR|^IMG|^HR|^IFRAME|^BUTTON|^INPUT/.test(t.nodeName.toUpperCase())}function K(t){return!O(t)&&(t&&/^DIV|^P|^LI|^H[1-7]/.test(t.nodeName.toUpperCase()))}var V=U("PRE"),W=U("LI");var G=U("TABLE"),_=U("DATA");function Z(t){return!(tt(t)||Y(t)||Q(t)||K(t)||G(t)||X(t)||_(t))}function Y(t){return t&&/^UL|^OL/.test(t.nodeName.toUpperCase())}var Q=U("HR");function J(t){return t&&/^TD|^TH/.test(t.nodeName.toUpperCase())}var X=U("BLOCKQUOTE");function tt(t){return J(t)||X(t)||O(t)}var et=U("A");var ot=U("BODY");var nt=z.isMSIE&&z.browserVersion<11?" ":"<br>";function it(t){return j(t)?t.nodeValue.length:t?t.childNodes.length:0}function rt(t){var e=it(t);return 0===e||(!j(t)&&1===e&&t.innerHTML===nt||!(!N.all(t.childNodes,j)||""!==t.innerHTML))}function st(t){q(t)||it(t)||(t.innerHTML=nt)}function at(t,e){for(;t;){if(e(t))return t;if(O(t))break;t=t.parentNode}return null}function lt(t,e){e=e||C.fail;var o=[];return at(t,function(t){return O(t)||o.push(t),e(t)}),o}function ct(t,e){e=e||C.fail;for(var o=[];t&&!e(t);)o.push(t),t=t.nextSibling;return o}function dt(t,e){var o=e.nextSibling,n=e.parentNode;return o?n.insertBefore(t,o):n.appendChild(t),t}function ut(e,o){return t.each(o,function(t,o){e.appendChild(o)}),e}function ht(t){return 0===t.offset}function pt(t){return t.offset===it(t.node)}function ft(t){return ht(t)||pt(t)}function mt(t,e){for(;t&&t!==e;){if(0!==vt(t))return!1;t=t.parentNode}return!0}function gt(t,e){if(!e)return!1;for(;t&&t!==e;){if(vt(t)!==it(t.parentNode)-1)return!1;t=t.parentNode}return!0}function vt(t){for(var e=0;t=t.previousSibling;)e+=1;return e}function bt(t){return!!(t&&t.childNodes&&t.childNodes.length)}function yt(t,e){var o,n;if(0===t.offset){if(O(t.node))return null;o=t.node.parentNode,n=vt(t.node)}else bt(t.node)?n=it(o=t.node.childNodes[t.offset-1]):(o=t.node,n=e?0:t.offset-1);return{node:o,offset:n}}function kt(t,e){var o,n;if(it(t.node)===t.offset){if(O(t.node))return null;o=t.node.parentNode,n=vt(t.node)+1}else bt(t.node)?(o=t.node.childNodes[t.offset],n=0):(o=t.node,n=e?it(t.node):t.offset+1);return{node:o,offset:n}}function Ct(t,e){return t.node===e.node&&t.offset===e.offset}function wt(t,e){var o=e&&e.isSkipPaddingBlankHTML,n=e&&e.isNotSplitEdgePoint;if(ft(t)&&(j(t.node)||n)){if(ht(t))return t.node;if(pt(t))return t.node.nextSibling}if(j(t.node))return t.node.splitText(t.offset);var i=t.node.childNodes[t.offset],r=dt(t.node.cloneNode(!1),t.node);return ut(r,ct(i)),o||(st(t.node),st(r)),r}function xt(t,e,o){var n=lt(e.node,C.eq(t));return n.length?1===n.length?wt(e,o):n.reduce(function(t,n){return t===e.node&&(t=wt(e,o)),wt({node:n,offset:t?vt(t):it(n)},o)}):null}function St(t){return document.createElement(t)}function Tt(t,e){if(t&&t.parentNode){if(t.removeNode)return t.removeNode(e);var o=t.parentNode;if(!e){for(var n=[],i=0,r=t.childNodes.length;i<r;i++)n.push(t.childNodes[i]);for(i=0,r=n.length;i<r;i++)o.insertBefore(n[i],t)}o.removeChild(t)}}var It=U("TEXTAREA");function $t(t,e){var o=It(t[0])?t.val():t.html();return e?o.replace(/[\n\r]/g,""):o}var Nt={NBSP_CHAR:M,ZERO_WIDTH_NBSP_CHAR:"\ufeff",blank:nt,emptyPara:"<p>"+nt+"</p>",makePredByNodeName:U,isEditable:O,isControlSizing:function(e){return e&&t(e).hasClass("note-control-sizing")},isText:j,isElement:function(t){return t&&1===t.nodeType},isVoid:q,isPara:K,isPurePara:function(t){return K(t)&&!W(t)},isHeading:function(t){return t&&/^H[1-7]/.test(t.nodeName.toUpperCase())},isInline:Z,isBlock:C.not(Z),isBodyInline:function(t){return Z(t)&&!at(t,K)},isBody:ot,isParaInline:function(t){return Z(t)&&!!at(t,K)},isPre:V,isList:Y,isTable:G,isData:_,isCell:J,isBlockquote:X,isBodyContainer:tt,isAnchor:et,isDiv:U("DIV"),isLi:W,isBR:U("BR"),isSpan:U("SPAN"),isB:U("B"),isU:U("U"),isS:U("S"),isI:U("I"),isImg:U("IMG"),isTextarea:It,isEmpty:rt,isEmptyAnchor:C.and(et,rt),isClosestSibling:function(t,e){return t.nextSibling===e||t.previousSibling===e},withClosestSiblings:function(t,e){e=e||C.ok;var o=[];return t.previousSibling&&e(t.previousSibling)&&o.push(t.previousSibling),o.push(t),t.nextSibling&&e(t.nextSibling)&&o.push(t.nextSibling),o},nodeLength:it,isLeftEdgePoint:ht,isRightEdgePoint:pt,isEdgePoint:ft,isLeftEdgeOf:mt,isRightEdgeOf:gt,isLeftEdgePointOf:function(t,e){return ht(t)&&mt(t.node,e)},isRightEdgePointOf:function(t,e){return pt(t)&>(t.node,e)},prevPoint:yt,nextPoint:kt,isSamePoint:Ct,isVisiblePoint:function(t){if(j(t.node)||!bt(t.node)||rt(t.node))return!0;var e=t.node.childNodes[t.offset-1],o=t.node.childNodes[t.offset];return!(e&&!q(e)||o&&!q(o))},prevPointUntil:function(t,e){for(;t;){if(e(t))return t;t=yt(t)}return null},nextPointUntil:function(t,e){for(;t;){if(e(t))return t;t=kt(t)}return null},isCharPoint:function(t){if(!j(t.node))return!1;var e=t.node.nodeValue.charAt(t.offset-1);return e&&" "!==e&&e!==M},walkPoint:function(t,e,o,n){for(var i=t;i&&(o(i),!Ct(i,e));)i=kt(i,n&&t.node!==i.node&&e.node!==i.node)},ancestor:at,singleChildAncestor:function(t,e){for(t=t.parentNode;t&&1===it(t);){if(e(t))return t;if(O(t))break;t=t.parentNode}return null},listAncestor:lt,lastAncestor:function(t,e){var o=lt(t);return N.last(o.filter(e))},listNext:ct,listPrev:function(t,e){e=e||C.fail;for(var o=[];t&&!e(t);)o.push(t),t=t.previousSibling;return o},listDescendant:function(t,e){var o=[];return e=e||C.ok,function n(i){t!==i&&e(i)&&o.push(i);for(var r=0,s=i.childNodes.length;r<s;r++)n(i.childNodes[r])}(t),o},commonAncestor:function(e,o){for(var n=lt(e),i=o;i;i=i.parentNode)if(t.inArray(i,n)>-1)return i;return null},wrap:function(e,o){var n=e.parentNode,i=t("<"+o+">")[0];return n.insertBefore(i,e),i.appendChild(e),i},insertAfter:dt,appendChildNodes:ut,position:vt,hasChildren:bt,makeOffsetPath:function(t,e){return lt(e,C.eq(t)).map(vt).reverse()},fromOffsetPath:function(t,e){for(var o=t,n=0,i=e.length;n<i;n++)o=o.childNodes.length<=e[n]?o.childNodes[o.childNodes.length-1]:o.childNodes[e[n]];return o},splitTree:xt,splitPoint:function(t,e){var o,n,i=e?K:tt,r=lt(t.node,i),s=N.last(r)||t.node;i(s)?(o=r[r.length-2],n=s):n=(o=s).parentNode;var a=o&&xt(o,t,{isSkipPaddingBlankHTML:e,isNotSplitEdgePoint:e});return a||n!==t.node||(a=t.node.childNodes[t.offset]),{rightNode:a,container:n}},create:St,createText:function(t){return document.createTextNode(t)},remove:Tt,removeWhile:function(t,e){for(;t&&!O(t)&&e(t);){var o=t.parentNode;Tt(t),t=o}},replace:function(t,e){if(t.nodeName.toUpperCase()===e.toUpperCase())return t;var o=St(e);return t.style.cssText&&(o.style.cssText=t.style.cssText),ut(o,N.from(t.childNodes)),dt(o,t),Tt(t),o},html:function(e,o){var n=$t(e);o&&(n=n.replace(/<(\/?)(\b(?!!)[^>\s]*)(.*?)(\s*\/?>)/g,function(t,e,o){o=o.toUpperCase();var n=/^DIV|^TD|^TH|^P|^LI|^H[1-7]/.test(o)&&!!e,i=/^BLOCKQUOTE|^TABLE|^TBODY|^TR|^HR|^UL|^OL/.test(o);return t+(n||i?"\n":"")}),n=t.trim(n));return n},value:$t,posFromPlaceholder:function(e){var o=t(e),n=o.offset(),i=o.outerHeight(!0);return{left:n.left,top:n.top+i}},attachEvents:function(t,e){Object.keys(e).forEach(function(o){t.on(o,e[o])})},detachEvents:function(t,e){Object.keys(e).forEach(function(o){t.off(o,e[o])})},isCustomStyleTag:function(t){return t&&!j(t)&&N.contains(t.classList,"note-styletag")}};t.summernote=t.summernote||{lang:{}},t.extend(t.summernote.lang,{"en-US":{font:{bold:"Bold",italic:"Italic",underline:"Underline",clear:"Remove Font Style",height:"Line Height",name:"Font Family",strikethrough:"Strikethrough",subscript:"Subscript",superscript:"Superscript",size:"Font Size"},image:{image:"Picture",insert:"Insert Image",resizeFull:"Resize Full",resizeHalf:"Resize Half",resizeQuarter:"Resize Quarter",floatLeft:"Float Left",floatRight:"Float Right",floatNone:"Float None",shapeRounded:"Shape: Rounded",shapeCircle:"Shape: Circle",shapeThumbnail:"Shape: Thumbnail",shapeNone:"Shape: None",dragImageHere:"Drag image or text here",dropImage:"Drop image or Text",selectFromFiles:"Select from files",maximumFileSize:"Maximum file size",maximumFileSizeError:"Maximum file size exceeded.",url:"Image URL",remove:"Remove Image",original:"Original"},video:{video:"Video",videoLink:"Video Link",insert:"Insert Video",url:"Video URL",providers:"(YouTube, Vimeo, Vine, Instagram, DailyMotion or Youku)"},link:{link:"Link",insert:"Insert Link",unlink:"Unlink",edit:"Edit",textToDisplay:"Text to display",url:"To what URL should this link go?",openInNewWindow:"Open in new window"},table:{table:"Table",addRowAbove:"Add row above",addRowBelow:"Add row below",addColLeft:"Add column left",addColRight:"Add column right",delRow:"Delete row",delCol:"Delete column",delTable:"Delete table"},hr:{insert:"Insert Horizontal Rule"},style:{style:"Style",p:"Normal",blockquote:"Quote",pre:"Code",h1:"Header 1",h2:"Header 2",h3:"Header 3",h4:"Header 4",h5:"Header 5",h6:"Header 6"},lists:{unordered:"Unordered list",ordered:"Ordered list"},options:{help:"Help",fullscreen:"Full Screen",codeview:"Code View"},paragraph:{paragraph:"Paragraph",outdent:"Outdent",indent:"Indent",left:"Align left",center:"Align center",right:"Align right",justify:"Justify full"},color:{recent:"Recent Color",more:"More Color",background:"Background Color",foreground:"Foreground Color",transparent:"Transparent",setTransparent:"Set transparent",reset:"Reset",resetToDefault:"Reset to default"},shortcut:{shortcuts:"Keyboard shortcuts",close:"Close",textFormatting:"Text formatting",action:"Action",paragraphFormatting:"Paragraph formatting",documentStyle:"Document Style",extraKeys:"Extra keys"},help:{insertParagraph:"Insert Paragraph",undo:"Undoes the last command",redo:"Redoes the last command",tab:"Tab",untab:"Untab",bold:"Set a bold style",italic:"Set a italic style",underline:"Set a underline style",strikethrough:"Set a strikethrough style",removeFormat:"Clean a style",justifyLeft:"Set left align",justifyCenter:"Set center align",justifyRight:"Set right align",justifyFull:"Set full align",insertUnorderedList:"Toggle unordered list",insertOrderedList:"Toggle ordered list",outdent:"Outdent on current paragraph",indent:"Indent on current paragraph",formatPara:"Change current block's format as a paragraph(P tag)",formatH1:"Change current block's format as H1",formatH2:"Change current block's format as H2",formatH3:"Change current block's format as H3",formatH4:"Change current block's format as H4",formatH5:"Change current block's format as H5",formatH6:"Change current block's format as H6",insertHorizontalRule:"Insert horizontal rule","linkDialog.show":"Show Link Dialog"},history:{undo:"Undo",redo:"Redo"},specialChar:{specialChar:"SPECIAL CHARACTERS",select:"Select Special characters"}}});var Et={BACKSPACE:8,TAB:9,ENTER:13,SPACE:32,DELETE:46,LEFT:37,UP:38,RIGHT:39,DOWN:40,NUM0:48,NUM1:49,NUM2:50,NUM3:51,NUM4:52,NUM5:53,NUM6:54,NUM7:55,NUM8:56,B:66,E:69,I:73,J:74,K:75,L:76,R:82,S:83,U:85,V:86,Y:89,Z:90,SLASH:191,LEFTBRACKET:219,BACKSLASH:220,RIGHTBRACKET:221},At={isEdit:function(t){return N.contains([Et.BACKSPACE,Et.TAB,Et.ENTER,Et.SPACE,Et.DELETE],t)},isMove:function(t){return N.contains([Et.LEFT,Et.UP,Et.RIGHT,Et.DOWN],t)},nameFromCode:C.invertObject(Et),code:Et};function Rt(t,e){var o,n,i=t.parentElement(),r=document.body.createTextRange(),s=N.from(i.childNodes);for(o=0;o<s.length;o++)if(!Nt.isText(s[o])){if(r.moveToElementText(s[o]),r.compareEndPoints("StartToStart",t)>=0)break;n=s[o]}if(0!==o&&Nt.isText(s[o-1])){var a=document.body.createTextRange(),l=null;a.moveToElementText(n||i),a.collapse(!n),l=n?n.nextSibling:i.firstChild;var c=t.duplicate();c.setEndPoint("StartToStart",a);for(var d=c.text.replace(/[\r\n]/g,"").length;d>l.nodeValue.length&&l.nextSibling;)d-=l.nodeValue.length,l=l.nextSibling;l.nodeValue;e&&l.nextSibling&&Nt.isText(l.nextSibling)&&d===l.nodeValue.length&&(d-=l.nodeValue.length,l=l.nextSibling),i=l,o=d}return{cont:i,offset:o}}function Pt(t){var e=function(t,o){var n,i;if(Nt.isText(t)){var r=Nt.listPrev(t,C.not(Nt.isText)),s=N.last(r).previousSibling;n=s||t.parentNode,o+=N.sum(N.tail(r),Nt.nodeLength),i=!s}else{if(n=t.childNodes[o]||t,Nt.isText(n))return e(n,0);o=0,i=!1}return{node:n,collapseToStart:i,offset:o}},o=document.body.createTextRange(),n=e(t.node,t.offset);return o.moveToElementText(n.node),o.collapse(n.collapseToStart),o.moveStart("character",n.offset),o}var Lt=function(){function e(t,e,o,n){this.sc=t,this.so=e,this.ec=o,this.eo=n,this.isOnEditable=this.makeIsOn(Nt.isEditable),this.isOnList=this.makeIsOn(Nt.isList),this.isOnAnchor=this.makeIsOn(Nt.isAnchor),this.isOnCell=this.makeIsOn(Nt.isCell),this.isOnData=this.makeIsOn(Nt.isData)}return e.prototype.nativeRange=function(){if(z.isW3CRangeSupport){var t=document.createRange();return t.setStart(this.sc,this.so),t.setEnd(this.ec,this.eo),t}var e=Pt({node:this.sc,offset:this.so});return e.setEndPoint("EndToEnd",Pt({node:this.ec,offset:this.eo})),e},e.prototype.getPoints=function(){return{sc:this.sc,so:this.so,ec:this.ec,eo:this.eo}},e.prototype.getStartPoint=function(){return{node:this.sc,offset:this.so}},e.prototype.getEndPoint=function(){return{node:this.ec,offset:this.eo}},e.prototype.select=function(){var t=this.nativeRange();if(z.isW3CRangeSupport){var e=document.getSelection();e.rangeCount>0&&e.removeAllRanges(),e.addRange(t)}else t.select();return this},e.prototype.scrollIntoView=function(e){var o=t(e).height();return e.scrollTop+o<this.sc.offsetTop&&(e.scrollTop+=Math.abs(e.scrollTop+o-this.sc.offsetTop)),this},e.prototype.normalize=function(){var t=function(t,e){if(Nt.isVisiblePoint(t)&&!Nt.isEdgePoint(t)||Nt.isVisiblePoint(t)&&Nt.isRightEdgePoint(t)&&!e||Nt.isVisiblePoint(t)&&Nt.isLeftEdgePoint(t)&&e||Nt.isVisiblePoint(t)&&Nt.isBlock(t.node)&&Nt.isEmpty(t.node))return t;var o=Nt.ancestor(t.node,Nt.isBlock);if((Nt.isLeftEdgePointOf(t,o)||Nt.isVoid(Nt.prevPoint(t).node))&&!e||(Nt.isRightEdgePointOf(t,o)||Nt.isVoid(Nt.nextPoint(t).node))&&e){if(Nt.isVisiblePoint(t))return t;e=!e}return(e?Nt.nextPointUntil(Nt.nextPoint(t),Nt.isVisiblePoint):Nt.prevPointUntil(Nt.prevPoint(t),Nt.isVisiblePoint))||t},o=t(this.getEndPoint(),!1),n=this.isCollapsed()?o:t(this.getStartPoint(),!0);return new e(n.node,n.offset,o.node,o.offset)},e.prototype.nodes=function(t,e){t=t||C.ok;var o=e&&e.includeAncestor,n=e&&e.fullyContains,i=this.getStartPoint(),r=this.getEndPoint(),s=[],a=[];return Nt.walkPoint(i,r,function(e){var i;Nt.isEditable(e.node)||(n?(Nt.isLeftEdgePoint(e)&&a.push(e.node),Nt.isRightEdgePoint(e)&&N.contains(a,e.node)&&(i=e.node)):i=o?Nt.ancestor(e.node,t):e.node,i&&t(i)&&s.push(i))},!0),N.unique(s)},e.prototype.commonAncestor=function(){return Nt.commonAncestor(this.sc,this.ec)},e.prototype.expand=function(t){var o=Nt.ancestor(this.sc,t),n=Nt.ancestor(this.ec,t);if(!o&&!n)return new e(this.sc,this.so,this.ec,this.eo);var i=this.getPoints();return o&&(i.sc=o,i.so=0),n&&(i.ec=n,i.eo=Nt.nodeLength(n)),new e(i.sc,i.so,i.ec,i.eo)},e.prototype.collapse=function(t){return t?new e(this.sc,this.so,this.sc,this.so):new e(this.ec,this.eo,this.ec,this.eo)},e.prototype.splitText=function(){var t=this.sc===this.ec,o=this.getPoints();return Nt.isText(this.ec)&&!Nt.isEdgePoint(this.getEndPoint())&&this.ec.splitText(this.eo),Nt.isText(this.sc)&&!Nt.isEdgePoint(this.getStartPoint())&&(o.sc=this.sc.splitText(this.so),o.so=0,t&&(o.ec=o.sc,o.eo=this.eo-this.so)),new e(o.sc,o.so,o.ec,o.eo)},e.prototype.deleteContents=function(){if(this.isCollapsed())return this;var o=this.splitText(),n=o.nodes(null,{fullyContains:!0}),i=Nt.prevPointUntil(o.getStartPoint(),function(t){return!N.contains(n,t.node)}),r=[];return t.each(n,function(t,e){var o=e.parentNode;i.node!==o&&1===Nt.nodeLength(o)&&r.push(o),Nt.remove(e,!1)}),t.each(r,function(t,e){Nt.remove(e,!1)}),new e(i.node,i.offset,i.node,i.offset).normalize()},e.prototype.makeIsOn=function(t){return function(){var e=Nt.ancestor(this.sc,t);return!!e&&e===Nt.ancestor(this.ec,t)}},e.prototype.isLeftEdgeOf=function(t){if(!Nt.isLeftEdgePoint(this.getStartPoint()))return!1;var e=Nt.ancestor(this.sc,t);return e&&Nt.isLeftEdgeOf(this.sc,e)},e.prototype.isCollapsed=function(){return this.sc===this.ec&&this.so===this.eo},e.prototype.wrapBodyInlineWithPara=function(){if(Nt.isBodyContainer(this.sc)&&Nt.isEmpty(this.sc))return this.sc.innerHTML=Nt.emptyPara,new e(this.sc.firstChild,0,this.sc.firstChild,0);var t,o=this.normalize();if(Nt.isParaInline(this.sc)||Nt.isPara(this.sc))return o;if(Nt.isInline(o.sc)){var n=Nt.listAncestor(o.sc,C.not(Nt.isInline));t=N.last(n),Nt.isInline(t)||(t=n[n.length-2]||o.sc.childNodes[o.so])}else t=o.sc.childNodes[o.so>0?o.so-1:0];var i=Nt.listPrev(t,Nt.isParaInline).reverse();if((i=i.concat(Nt.listNext(t.nextSibling,Nt.isParaInline))).length){var r=Nt.wrap(N.head(i),"p");Nt.appendChildNodes(r,N.tail(i))}return this.normalize()},e.prototype.insertNode=function(t){var e=this.wrapBodyInlineWithPara().deleteContents(),o=Nt.splitPoint(e.getStartPoint(),Nt.isInline(t));return o.rightNode?o.rightNode.parentNode.insertBefore(t,o.rightNode):o.container.appendChild(t),t},e.prototype.pasteHTML=function(e){var o=t("<div></div>").html(e)[0],n=N.from(o.childNodes),i=this.wrapBodyInlineWithPara().deleteContents();return n.reverse().map(function(t){return i.insertNode(t)}).reverse()},e.prototype.toString=function(){var t=this.nativeRange();return z.isW3CRangeSupport?t.toString():t.text},e.prototype.getWordRange=function(t){var o=this.getEndPoint();if(!Nt.isCharPoint(o))return this;var n=Nt.prevPointUntil(o,function(t){return!Nt.isCharPoint(t)});return t&&(o=Nt.nextPointUntil(o,function(t){return!Nt.isCharPoint(t)})),new e(n.node,n.offset,o.node,o.offset)},e.prototype.bookmark=function(t){return{s:{path:Nt.makeOffsetPath(t,this.sc),offset:this.so},e:{path:Nt.makeOffsetPath(t,this.ec),offset:this.eo}}},e.prototype.paraBookmark=function(t){return{s:{path:N.tail(Nt.makeOffsetPath(N.head(t),this.sc)),offset:this.so},e:{path:N.tail(Nt.makeOffsetPath(N.last(t),this.ec)),offset:this.eo}}},e.prototype.getClientRects=function(){return this.nativeRange().getClientRects()},e}(),Ht={create:function(t,e,o,n){if(4===arguments.length)return new Lt(t,e,o,n);if(2===arguments.length)return new Lt(t,e,o=t,n=e);var i=this.createFromSelection();return i||1!==arguments.length?i:(i=this.createFromNode(arguments[0])).collapse(Nt.emptyPara===arguments[0].innerHTML)},createFromSelection:function(){var t,e,o,n;if(z.isW3CRangeSupport){var i=document.getSelection();if(!i||0===i.rangeCount)return null;if(Nt.isBody(i.anchorNode))return null;var r=i.getRangeAt(0);t=r.startContainer,e=r.startOffset,o=r.endContainer,n=r.endOffset}else{var s=document.selection.createRange(),a=s.duplicate();a.collapse(!1);var l=s;l.collapse(!0);var c=Rt(l,!0),d=Rt(a,!1);Nt.isText(c.node)&&Nt.isLeftEdgePoint(c)&&Nt.isTextNode(d.node)&&Nt.isRightEdgePoint(d)&&d.node.nextSibling===c.node&&(c=d),t=c.cont,e=c.offset,o=d.cont,n=d.offset}return new Lt(t,e,o,n)},createFromNode:function(t){var e=t,o=0,n=t,i=Nt.nodeLength(n);return Nt.isVoid(e)&&(o=Nt.listPrev(e).length-1,e=e.parentNode),Nt.isBR(n)?(i=Nt.listPrev(n).length-1,n=n.parentNode):Nt.isVoid(n)&&(i=Nt.listPrev(n).length,n=n.parentNode),this.create(e,o,n,i)},createFromNodeBefore:function(t){return this.createFromNode(t).collapse(!0)},createFromNodeAfter:function(t){return this.createFromNode(t).collapse()},createFromBookmark:function(t,e){var o=Nt.fromOffsetPath(t,e.s.path),n=e.s.offset,i=Nt.fromOffsetPath(t,e.e.path),r=e.e.offset;return new Lt(o,n,i,r)},createFromParaBookmark:function(t,e){var o=t.s.offset,n=t.e.offset,i=Nt.fromOffsetPath(N.head(e),t.s.path),r=Nt.fromOffsetPath(N.last(e),t.e.path);return new Lt(i,o,r,n)}};var Dt=function(){function t(t){this.stack=[],this.stackOffset=-1,this.$editable=t,this.editable=t[0]}return t.prototype.makeSnapshot=function(){var t=Ht.create(this.editable);return{contents:this.$editable.html(),bookmark:t?t.bookmark(this.editable):{s:{path:[],offset:0},e:{path:[],offset:0}}}},t.prototype.applySnapshot=function(t){null!==t.contents&&this.$editable.html(t.contents),null!==t.bookmark&&Ht.createFromBookmark(this.editable,t.bookmark).select()},t.prototype.rewind=function(){this.$editable.html()!==this.stack[this.stackOffset].contents&&this.recordUndo(),this.stackOffset=0,this.applySnapshot(this.stack[this.stackOffset])},t.prototype.reset=function(){this.stack=[],this.stackOffset=-1,this.$editable.html(""),this.recordUndo()},t.prototype.undo=function(){this.$editable.html()!==this.stack[this.stackOffset].contents&&this.recordUndo(),this.stackOffset>0&&(this.stackOffset--,this.applySnapshot(this.stack[this.stackOffset]))},t.prototype.redo=function(){this.stack.length-1>this.stackOffset&&(this.stackOffset++,this.applySnapshot(this.stack[this.stackOffset]))},t.prototype.recordUndo=function(){this.stackOffset++,this.stack.length>this.stackOffset&&(this.stack=this.stack.slice(0,this.stackOffset)),this.stack.push(this.makeSnapshot())},t}(),Ft=function(){function e(){}return e.prototype.jQueryCSS=function(e,o){if(z.jqueryVersion<1.9){var n={};return t.each(o,function(t,o){n[o]=e.css(o)}),n}return e.css(o)},e.prototype.fromNode=function(t){var e=this.jQueryCSS(t,["font-family","font-size","text-align","list-style-type","line-height"])||{};return e["font-size"]=parseInt(e["font-size"],10),e},e.prototype.stylePara=function(e,o){t.each(e.nodes(Nt.isPara,{includeAncestor:!0}),function(e,n){t(n).css(o)})},e.prototype.styleNodes=function(e,o){e=e.splitText();var n=o&&o.nodeName||"SPAN",i=!(!o||!o.expandClosestSibling),r=!(!o||!o.onlyPartialContains);if(e.isCollapsed())return[e.insertNode(Nt.create(n))];var s=Nt.makePredByNodeName(n),a=e.nodes(Nt.isText,{fullyContains:!0}).map(function(t){return Nt.singleChildAncestor(t,s)||Nt.wrap(t,n)});if(i){if(r){var l=e.nodes();s=C.and(s,function(t){return N.contains(l,t)})}return a.map(function(e){var o=Nt.withClosestSiblings(e,s),n=N.head(o),i=N.tail(o);return t.each(i,function(t,e){Nt.appendChildNodes(n,e.childNodes),Nt.remove(e)}),N.head(o)})}return a},e.prototype.current=function(e){var o=t(Nt.isElement(e.sc)?e.sc:e.sc.parentNode),n=this.fromNode(o);try{n=t.extend(n,{"font-bold":document.queryCommandState("bold")?"bold":"normal","font-italic":document.queryCommandState("italic")?"italic":"normal","font-underline":document.queryCommandState("underline")?"underline":"normal","font-subscript":document.queryCommandState("subscript")?"subscript":"normal","font-superscript":document.queryCommandState("superscript")?"superscript":"normal","font-strikethrough":document.queryCommandState("strikethrough")?"strikethrough":"normal","font-family":document.queryCommandValue("fontname")||n["font-family"]})}catch(t){}if(e.isOnList()){var i=t.inArray(n["list-style-type"],["circle","disc","disc-leading-zero","square"])>-1;n["list-style"]=i?"unordered":"ordered"}else n["list-style"]="none";var r=Nt.ancestor(e.sc,Nt.isPara);if(r&&r.style["line-height"])n["line-height"]=r.style.lineHeight;else{var s=parseInt(n["line-height"],10)/parseInt(n["font-size"],10);n["line-height"]=s.toFixed(1)}return n.anchor=e.isOnAnchor()&&Nt.ancestor(e.sc,Nt.isAnchor),n.ancestors=Nt.listAncestor(e.sc,Nt.isEditable),n.range=e,n},e}(),Bt=function(){function e(){}return e.prototype.insertOrderedList=function(t){this.toggleList("OL",t)},e.prototype.insertUnorderedList=function(t){this.toggleList("UL",t)},e.prototype.indent=function(e){var o=this,n=Ht.create(e).wrapBodyInlineWithPara(),i=n.nodes(Nt.isPara,{includeAncestor:!0}),r=N.clusterBy(i,C.peq2("parentNode"));t.each(r,function(e,n){var i=N.head(n);Nt.isLi(i)?o.wrapList(n,i.parentNode.nodeName):t.each(n,function(e,o){t(o).css("marginLeft",function(t,e){return(parseInt(e,10)||0)+25})})}),n.select()},e.prototype.outdent=function(e){var o=this,n=Ht.create(e).wrapBodyInlineWithPara(),i=n.nodes(Nt.isPara,{includeAncestor:!0}),r=N.clusterBy(i,C.peq2("parentNode"));t.each(r,function(e,n){var i=N.head(n);Nt.isLi(i)?o.releaseList([n]):t.each(n,function(e,o){t(o).css("marginLeft",function(t,e){return(e=parseInt(e,10)||0)>25?e-25:""})})}),n.select()},e.prototype.toggleList=function(e,o){var n=this,i=Ht.create(o).wrapBodyInlineWithPara(),r=i.nodes(Nt.isPara,{includeAncestor:!0}),s=i.paraBookmark(r),a=N.clusterBy(r,C.peq2("parentNode"));if(N.find(r,Nt.isPurePara)){var l=[];t.each(a,function(t,o){l=l.concat(n.wrapList(o,e))}),r=l}else{var c=i.nodes(Nt.isList,{includeAncestor:!0}).filter(function(o){return!t.nodeName(o,e)});c.length?t.each(c,function(t,o){Nt.replace(o,e)}):r=this.releaseList(a,!0)}Ht.createFromParaBookmark(s,r).select()},e.prototype.wrapList=function(t,e){var o=N.head(t),n=N.last(t),i=Nt.isList(o.previousSibling)&&o.previousSibling,r=Nt.isList(n.nextSibling)&&n.nextSibling,s=i||Nt.insertAfter(Nt.create(e||"UL"),n);return t=t.map(function(t){return Nt.isPurePara(t)?Nt.replace(t,"LI"):t}),Nt.appendChildNodes(s,t),r&&(Nt.appendChildNodes(s,N.from(r.childNodes)),Nt.remove(r)),t},e.prototype.releaseList=function(e,o){var n=[];return t.each(e,function(e,i){var r=N.head(i),s=N.last(i),a=o?Nt.lastAncestor(r,Nt.isList):r.parentNode,l=a.childNodes.length>1?Nt.splitTree(a,{node:s.parentNode,offset:Nt.position(s)+1},{isSkipPaddingBlankHTML:!0}):null,c=Nt.splitTree(a,{node:r.parentNode,offset:Nt.position(r)},{isSkipPaddingBlankHTML:!0});i=o?Nt.listDescendant(c,Nt.isLi):N.from(c.childNodes).filter(Nt.isLi),!o&&Nt.isList(a.parentNode)||(i=i.map(function(t){return Nt.replace(t,"P")})),t.each(N.from(i).reverse(),function(t,e){Nt.insertAfter(e,a)});var d=N.compact([a,c,l]);t.each(d,function(e,o){var n=[o].concat(Nt.listDescendant(o,Nt.isList));t.each(n.reverse(),function(t,e){Nt.nodeLength(e)||Nt.remove(e,!0)})}),n=n.concat(i)}),n},e}(),zt=function(){function e(){this.bullet=new Bt}return e.prototype.insertTab=function(t,e){var o=Nt.createText(new Array(e+1).join(Nt.NBSP_CHAR));(t=t.deleteContents()).insertNode(o,!0),(t=Ht.create(o,e)).select()},e.prototype.insertParagraph=function(e){var o=Ht.create(e);o=(o=o.deleteContents()).wrapBodyInlineWithPara();var n,i=Nt.ancestor(o.sc,Nt.isPara);if(i){if(Nt.isEmpty(i)&&Nt.isLi(i))return void this.bullet.toggleList(i.parentNode.nodeName);if(Nt.isEmpty(i)&&Nt.isPara(i)&&Nt.isBlockquote(i.parentNode))Nt.insertAfter(i,i.parentNode),n=i;else{n=Nt.splitTree(i,o.getStartPoint());var r=Nt.listDescendant(i,Nt.isEmptyAnchor);r=r.concat(Nt.listDescendant(n,Nt.isEmptyAnchor)),t.each(r,function(t,e){Nt.remove(e)}),(Nt.isHeading(n)||Nt.isPre(n)||Nt.isCustomStyleTag(n))&&Nt.isEmpty(n)&&(n=Nt.replace(n,"p"))}}else{var s=o.sc.childNodes[o.so];n=t(Nt.emptyPara)[0],s?o.sc.insertBefore(n,s):o.sc.appendChild(n)}Ht.create(n,0).normalize().select().scrollIntoView(e)},e}(),Mt=function(t,e,o,n){var i={colPos:0,rowPos:0},r=[],s=[];function a(t,e,o,n,i,s,a){var l={baseRow:o,baseCell:n,isRowSpan:i,isColSpan:s,isVirtual:a};r[t]||(r[t]=[]),r[t][e]=l}function l(t,e){if(!r[t])return e;if(!r[t][e])return e;for(var o=e;r[t][o];)if(o++,!r[t][o])return o}function c(t,e){var o=l(t.rowIndex,e.cellIndex),n=e.colSpan>1,r=e.rowSpan>1,s=t.rowIndex===i.rowPos&&e.cellIndex===i.colPos;a(t.rowIndex,o,t,e,r,n,!1);var c=e.attributes.rowSpan?parseInt(e.attributes.rowSpan.value,10):0;if(c>1)for(var u=1;u<c;u++){var h=t.rowIndex+u;d(h,o,e,s),a(h,o,t,e,!0,n,!0)}var p=e.attributes.colSpan?parseInt(e.attributes.colSpan.value,10):0;if(p>1)for(var f=1;f<p;f++){var m=l(t.rowIndex,o+f);d(t.rowIndex,m,e,s),a(t.rowIndex,m,t,e,r,!0,!0)}}function d(t,e,o,n){t===i.rowPos&&i.colPos>=o.cellIndex&&o.cellIndex<=e&&!n&&i.colPos++}function u(t){switch(e){case Mt.where.Column:if(t.isColSpan)return Mt.resultAction.SubtractSpanCount;break;case Mt.where.Row:if(!t.isVirtual&&t.isRowSpan)return Mt.resultAction.AddCell;if(t.isRowSpan)return Mt.resultAction.SubtractSpanCount}return Mt.resultAction.RemoveCell}function h(t){switch(e){case Mt.where.Column:if(t.isColSpan)return Mt.resultAction.SumSpanCount;if(t.isRowSpan&&t.isVirtual)return Mt.resultAction.Ignore;break;case Mt.where.Row:if(t.isRowSpan)return Mt.resultAction.SumSpanCount;if(t.isColSpan&&t.isVirtual)return Mt.resultAction.Ignore}return Mt.resultAction.AddCell}this.getActionList=function(){for(var t,n,a,l=e===Mt.where.Row?i.rowPos:-1,c=e===Mt.where.Column?i.colPos:-1,d=0,p=!0;p;){var f=l>=0?l:d,m=c>=0?c:d,g=r[f];if(!g)return p=!1,s;var v=g[m];if(!v)return p=!1,s;var b=Mt.resultAction.Ignore;switch(o){case Mt.requestAction.Add:b=h(v);break;case Mt.requestAction.Delete:b=u(v)}s.push((t=b,n=f,a=m,{baseCell:v.baseCell,action:t,virtualTable:{rowIndex:n,cellIndex:a}})),d++}return s},t&&t.tagName&&("td"===t.tagName.toLowerCase()||"th"===t.tagName.toLowerCase())?(i.colPos=t.cellIndex,t.parentElement&&t.parentElement.tagName&&"tr"===t.parentElement.tagName.toLowerCase()?i.rowPos=t.parentElement.rowIndex:console.error("Impossible to identify start Row point.",t)):console.error("Impossible to identify start Cell point.",t),function(){for(var t=n.rows,e=0;e<t.length;e++)for(var o=t[e].cells,i=0;i<o.length;i++)c(t[e],o[i])}()};Mt.where={Row:0,Column:1},Mt.requestAction={Add:0,Delete:1},Mt.resultAction={Ignore:0,SubtractSpanCount:1,RemoveCell:2,AddCell:3,SumSpanCount:4};var Ot,Ut=function(){function e(){}return e.prototype.tab=function(t,e){var o=Nt.ancestor(t.commonAncestor(),Nt.isCell),n=Nt.ancestor(o,Nt.isTable),i=Nt.listDescendant(n,Nt.isCell),r=N[e?"prev":"next"](i,o);r&&Ht.create(r,0).select()},e.prototype.addRow=function(e,o){for(var n=Nt.ancestor(e.commonAncestor(),Nt.isCell),i=t(n).closest("tr"),r=this.recoverAttributes(i),s=t("<tr"+r+"></tr>"),a=new Mt(n,Mt.where.Row,Mt.requestAction.Add,t(i).closest("table")[0]).getActionList(),l=0;l<a.length;l++){var c=a[l],d=this.recoverAttributes(c.baseCell);switch(c.action){case Mt.resultAction.AddCell:s.append("<td"+d+">"+Nt.blank+"</td>");break;case Mt.resultAction.SumSpanCount:if("top"===o)if((c.baseCell.parent?c.baseCell.closest("tr").rowIndex:0)<=i[0].rowIndex){var u=t("<div></div>").append(t("<td"+d+">"+Nt.blank+"</td>").removeAttr("rowspan")).html();s.append(u);break}var h=parseInt(c.baseCell.rowSpan,10);h++,c.baseCell.setAttribute("rowSpan",h)}}if("top"===o)i.before(s);else{if(n.rowSpan>1){var p=i[0].rowIndex+(n.rowSpan-2);return void t(t(i).parent().find("tr")[p]).after(t(s))}i.after(s)}},e.prototype.addCol=function(e,o){var n=Nt.ancestor(e.commonAncestor(),Nt.isCell),i=t(n).closest("tr");t(i).siblings().push(i);for(var r=new Mt(n,Mt.where.Column,Mt.requestAction.Add,t(i).closest("table")[0]).getActionList(),s=0;s<r.length;s++){var a=r[s],l=this.recoverAttributes(a.baseCell);switch(a.action){case Mt.resultAction.AddCell:"right"===o?t(a.baseCell).after("<td"+l+">"+Nt.blank+"</td>"):t(a.baseCell).before("<td"+l+">"+Nt.blank+"</td>");break;case Mt.resultAction.SumSpanCount:if("right"===o){var c=parseInt(a.baseCell.colSpan,10);c++,a.baseCell.setAttribute("colSpan",c)}else t(a.baseCell).before("<td"+l+">"+Nt.blank+"</td>")}}},e.prototype.recoverAttributes=function(t){var e="";if(!t)return e;for(var o=t.attributes||[],n=0;n<o.length;n++)"id"!==o[n].name.toLowerCase()&&o[n].specified&&(e+=" "+o[n].name+"='"+o[n].value+"'");return e},e.prototype.deleteRow=function(e){for(var o=Nt.ancestor(e.commonAncestor(),Nt.isCell),n=t(o).closest("tr"),i=n.children("td, th").index(t(o)),r=n[0].rowIndex,s=new Mt(o,Mt.where.Row,Mt.requestAction.Delete,t(n).closest("table")[0]).getActionList(),a=0;a<s.length;a++)if(s[a]){var l=s[a].baseCell,c=s[a].virtualTable,d=l.rowSpan&&l.rowSpan>1,u=d?parseInt(l.rowSpan,10):0;switch(s[a].action){case Mt.resultAction.Ignore:continue;case Mt.resultAction.AddCell:var h=n.next("tr")[0];if(!h)continue;var p=n[0].cells[i];d&&(u>2?(u--,h.insertBefore(p,h.cells[i]),h.cells[i].setAttribute("rowSpan",u),h.cells[i].innerHTML=""):2===u&&(h.insertBefore(p,h.cells[i]),h.cells[i].removeAttribute("rowSpan"),h.cells[i].innerHTML=""));continue;case Mt.resultAction.SubtractSpanCount:d&&(u>2?(u--,l.setAttribute("rowSpan",u),c.rowIndex!==r&&l.cellIndex===i&&(l.innerHTML="")):2===u&&(l.removeAttribute("rowSpan"),c.rowIndex!==r&&l.cellIndex===i&&(l.innerHTML="")));continue;case Mt.resultAction.RemoveCell:continue}}n.remove()},e.prototype.deleteCol=function(e){for(var o=Nt.ancestor(e.commonAncestor(),Nt.isCell),n=t(o).closest("tr"),i=n.children("td, th").index(t(o)),r=new Mt(o,Mt.where.Column,Mt.requestAction.Delete,t(n).closest("table")[0]).getActionList(),s=0;s<r.length;s++)if(r[s])switch(r[s].action){case Mt.resultAction.Ignore:continue;case Mt.resultAction.SubtractSpanCount:var a=r[s].baseCell;if(a.colSpan&&a.colSpan>1){var l=a.colSpan?parseInt(a.colSpan,10):0;l>2?(l--,a.setAttribute("colSpan",l),a.cellIndex===i&&(a.innerHTML="")):2===l&&(a.removeAttribute("colSpan"),a.cellIndex===i&&(a.innerHTML=""))}continue;case Mt.resultAction.RemoveCell:Nt.remove(r[s].baseCell,!0);continue}},e.prototype.createTable=function(e,o,n){for(var i,r=[],s=0;s<e;s++)r.push("<td>"+Nt.blank+"</td>");i=r.join("");for(var a,l=[],c=0;c<o;c++)l.push("<tr>"+i+"</tr>");a=l.join("");var d=t("<table>"+a+"</table>");return n&&n.tableClassName&&d.addClass(n.tableClassName),d[0]},e.prototype.deleteTable=function(e){var o=Nt.ancestor(e.commonAncestor(),Nt.isCell);t(o).closest("table").remove()},e}(),jt=function(){function e(e){var o=this;this.context=e,this.$note=e.layoutInfo.note,this.$editor=e.layoutInfo.editor,this.$editable=e.layoutInfo.editable,this.options=e.options,this.lang=this.options.langInfo,this.editable=this.$editable[0],this.lastRange=null,this.style=new Ft,this.table=new Ut,this.typing=new zt,this.bullet=new Bt,this.history=new Dt(this.$editable),this.context.memo("help.undo",this.lang.help.undo),this.context.memo("help.redo",this.lang.help.redo),this.context.memo("help.tab",this.lang.help.tab),this.context.memo("help.untab",this.lang.help.untab),this.context.memo("help.insertParagraph",this.lang.help.insertParagraph),this.context.memo("help.insertOrderedList",this.lang.help.insertOrderedList),this.context.memo("help.insertUnorderedList",this.lang.help.insertUnorderedList),this.context.memo("help.indent",this.lang.help.indent),this.context.memo("help.outdent",this.lang.help.outdent),this.context.memo("help.formatPara",this.lang.help.formatPara),this.context.memo("help.insertHorizontalRule",this.lang.help.insertHorizontalRule),this.context.memo("help.fontName",this.lang.help.fontName);for(var n=["bold","italic","underline","strikethrough","superscript","subscript","justifyLeft","justifyCenter","justifyRight","justifyFull","formatBlock","removeFormat","backColor"],i=0,r=n.length;i<r;i++)this[n[i]]=function(t){return function(e){o.beforeCommand(),document.execCommand(t,!1,e),o.afterCommand(!0)}}(n[i]),this.context.memo("help."+n[i],this.lang.help[n[i]]);this.fontName=this.wrapCommand(function(t){return o.fontStyling("font-family","'"+t+"'")}),this.fontSize=this.wrapCommand(function(t){return o.fontStyling("font-size",t+"px")});for(i=1;i<=6;i++)this["formatH"+i]=function(t){return function(){o.formatBlock("H"+t)}}(i),this.context.memo("help.formatH"+i,this.lang.help["formatH"+i]);this.insertParagraph=this.wrapCommand(function(){o.typing.insertParagraph(o.editable)}),this.insertOrderedList=this.wrapCommand(function(){o.bullet.insertOrderedList(o.editable)}),this.insertUnorderedList=this.wrapCommand(function(){o.bullet.insertUnorderedList(o.editable)}),this.indent=this.wrapCommand(function(){o.bullet.indent(o.editable)}),this.outdent=this.wrapCommand(function(){o.bullet.outdent(o.editable)}),this.insertNode=this.wrapCommand(function(e){o.isLimited(t(e).text().length)||(o.createRange().insertNode(e),Ht.createFromNodeAfter(e).select())}),this.insertText=this.wrapCommand(function(t){if(!o.isLimited(t.length)){var e=o.createRange().insertNode(Nt.createText(t));Ht.create(e,Nt.nodeLength(e)).select()}}),this.pasteHTML=this.wrapCommand(function(t){if(!o.isLimited(t.length)){var e=o.createRange().pasteHTML(t);Ht.createFromNodeAfter(N.last(e)).select()}}),this.formatBlock=this.wrapCommand(function(t,e){var n=o.options.callbacks.onApplyCustomStyle;n?n.call(o,e,o.context,o.onFormatBlock):o.onFormatBlock(t,e)}),this.insertHorizontalRule=this.wrapCommand(function(){var t=o.createRange().insertNode(Nt.create("HR"));t.nextSibling&&Ht.create(t.nextSibling,0).normalize().select()}),this.lineHeight=this.wrapCommand(function(t){o.style.stylePara(o.createRange(),{lineHeight:t})}),this.createLink=this.wrapCommand(function(e){var n=e.url,i=e.text,r=e.isNewWindow,s=e.range||o.createRange(),a=s.toString()!==i;"string"==typeof n&&(n=n.trim()),n=o.options.onCreateLink?o.options.onCreateLink(n):/^[A-Za-z][A-Za-z0-9+-.]*\:[\/\/]?/.test(n)?n:"http://"+n;var l=[];if(a){var c=(s=s.deleteContents()).insertNode(t("<A>"+i+"</A>")[0]);l.push(c)}else l=o.style.styleNodes(s,{nodeName:"A",expandClosestSibling:!0,onlyPartialContains:!0});t.each(l,function(e,o){t(o).attr("href",n),r?t(o).attr("target","_blank"):t(o).removeAttr("target")});var d=Ht.createFromNodeBefore(N.head(l)).getStartPoint(),u=Ht.createFromNodeAfter(N.last(l)).getEndPoint();Ht.create(d.node,d.offset,u.node,u.offset).select()}),this.color=this.wrapCommand(function(t){var e=t.foreColor,o=t.backColor;e&&document.execCommand("foreColor",!1,e),o&&document.execCommand("backColor",!1,o)}),this.foreColor=this.wrapCommand(function(t){document.execCommand("styleWithCSS",!1,!0),document.execCommand("foreColor",!1,t)}),this.insertTable=this.wrapCommand(function(t){var e=t.split("x");o.createRange().deleteContents().insertNode(o.table.createTable(e[0],e[1],o.options))}),this.removeMedia=this.wrapCommand(function(){var e=t(o.restoreTarget()).parent();e.parent("figure").length?e.parent("figure").remove():e=t(o.restoreTarget()).detach(),o.context.triggerEvent("media.delete",e,o.$editable)}),this.floatMe=this.wrapCommand(function(e){var n=t(o.restoreTarget());n.toggleClass("note-float-left","left"===e),n.toggleClass("note-float-right","right"===e),n.css("float",e)}),this.resize=this.wrapCommand(function(e){t(o.restoreTarget()).css({width:100*e+"%",height:""})})}return e.prototype.initialize=function(){var t=this;this.$editable.on("keydown",function(e){if(e.keyCode===At.code.ENTER&&t.context.triggerEvent("enter",e),t.context.triggerEvent("keydown",e),e.isDefaultPrevented()||(t.options.shortcuts?t.handleKeyMap(e):t.preventDefaultEditableShortCuts(e)),t.isLimited(1,e))return!1}).on("keyup",function(e){t.context.triggerEvent("keyup",e)}).on("focus",function(e){t.context.triggerEvent("focus",e)}).on("blur",function(e){t.context.triggerEvent("blur",e)}).on("mousedown",function(e){t.context.triggerEvent("mousedown",e)}).on("mouseup",function(e){t.context.triggerEvent("mouseup",e)}).on("scroll",function(e){t.context.triggerEvent("scroll",e)}).on("paste",function(e){t.context.triggerEvent("paste",e)}),this.$editable.html(Nt.html(this.$note)||Nt.emptyPara),this.$editable.on(z.inputEventName,C.debounce(function(){t.context.triggerEvent("change",t.$editable.html())},100)),this.$editor.on("focusin",function(e){t.context.triggerEvent("focusin",e)}).on("focusout",function(e){t.context.triggerEvent("focusout",e)}),this.options.airMode||(this.options.width&&this.$editor.outerWidth(this.options.width),this.options.height&&this.$editable.outerHeight(this.options.height),this.options.maxHeight&&this.$editable.css("max-height",this.options.maxHeight),this.options.minHeight&&this.$editable.css("min-height",this.options.minHeight)),this.history.recordUndo()},e.prototype.destroy=function(){this.$editable.off()},e.prototype.handleKeyMap=function(t){var e=this.options.keyMap[z.isMac?"mac":"pc"],o=[];t.metaKey&&o.push("CMD"),t.ctrlKey&&!t.altKey&&o.push("CTRL"),t.shiftKey&&o.push("SHIFT");var n=At.nameFromCode[t.keyCode];n&&o.push(n);var i=e[o.join("+")];i?!1!==this.context.invoke(i)&&t.preventDefault():At.isEdit(t.keyCode)&&this.afterCommand()},e.prototype.preventDefaultEditableShortCuts=function(t){(t.ctrlKey||t.metaKey)&&N.contains([66,73,85],t.keyCode)&&t.preventDefault()},e.prototype.isLimited=function(t,e){return t=t||0,(void 0===e||!(At.isMove(e.keyCode)||e.ctrlKey||e.metaKey||N.contains([At.code.BACKSPACE,At.code.DELETE],e.keyCode)))&&(this.options.maxTextLength>0&&this.$editable.text().length+t>=this.options.maxTextLength)},e.prototype.createRange=function(){return this.focus(),Ht.create(this.editable)},e.prototype.saveRange=function(t){this.lastRange=this.createRange(),t&&this.lastRange.collapse().select()},e.prototype.restoreRange=function(){this.lastRange&&(this.lastRange.select(),this.focus())},e.prototype.saveTarget=function(t){this.$editable.data("target",t)},e.prototype.clearTarget=function(){this.$editable.removeData("target")},e.prototype.restoreTarget=function(){return this.$editable.data("target")},e.prototype.currentStyle=function(){var t=Ht.create();return t&&(t=t.normalize()),t?this.style.current(t):this.style.fromNode(this.$editable)},e.prototype.styleFromNode=function(t){return this.style.fromNode(t)},e.prototype.undo=function(){this.context.triggerEvent("before.command",this.$editable.html()),this.history.undo(),this.context.triggerEvent("change",this.$editable.html())},e.prototype.redo=function(){this.context.triggerEvent("before.command",this.$editable.html()),this.history.redo(),this.context.triggerEvent("change",this.$editable.html())},e.prototype.beforeCommand=function(){this.context.triggerEvent("before.command",this.$editable.html()),this.focus()},e.prototype.afterCommand=function(t){this.normalizeContent(),this.history.recordUndo(),t||this.context.triggerEvent("change",this.$editable.html())},e.prototype.tab=function(){var t=this.createRange();if(t.isCollapsed()&&t.isOnCell())this.table.tab(t);else{if(0===this.options.tabSize)return!1;this.isLimited(this.options.tabSize)||(this.beforeCommand(),this.typing.insertTab(t,this.options.tabSize),this.afterCommand())}},e.prototype.untab=function(){var t=this.createRange();if(t.isCollapsed()&&t.isOnCell())this.table.tab(t,!0);else if(0===this.options.tabSize)return!1},e.prototype.wrapCommand=function(t){var e=this;return function(){e.beforeCommand(),t.apply(e,arguments),e.afterCommand()}},e.prototype.insertImage=function(e,o){var n,i=this;return(n=e,t.Deferred(function(e){var o=t("<img>");o.one("load",function(){o.off("error abort"),e.resolve(o)}).one("error abort",function(){o.off("load").detach(),e.reject(o)}).css({display:"none"}).appendTo(document.body).attr("src",n)}).promise()).then(function(t){i.beforeCommand(),"function"==typeof o?o(t):("string"==typeof o&&t.attr("data-filename",o),t.css("width",Math.min(i.$editable.width(),t.width()))),t.show(),Ht.create(i.editable).insertNode(t[0]),Ht.createFromNodeAfter(t[0]).select(),i.afterCommand()}).fail(function(t){i.context.triggerEvent("image.upload.error",t)})},e.prototype.insertImages=function(e){var o=this;t.each(e,function(e,n){var i,r=n.name;o.options.maximumImageFileSize&&o.options.maximumImageFileSize<n.size?o.context.triggerEvent("image.upload.error",o.lang.image.maximumFileSizeError):(i=n,t.Deferred(function(e){t.extend(new FileReader,{onload:function(t){var o=t.target.result;e.resolve(o)},onerror:function(t){e.reject(t)}}).readAsDataURL(i)}).promise()).then(function(t){return o.insertImage(t,r)}).fail(function(){o.context.triggerEvent("image.upload.error")})})},e.prototype.insertImagesOrCallback=function(t){this.options.callbacks.onImageUpload?this.context.triggerEvent("image.upload",t):this.insertImages(t)},e.prototype.getSelectedText=function(){var t=this.createRange();return t.isOnAnchor()&&(t=Ht.createFromNode(Nt.ancestor(t.sc,Nt.isAnchor))),t.toString()},e.prototype.onFormatBlock=function(e,o){if(e=z.isMSIE?"<"+e+">":e,document.execCommand("FormatBlock",!1,e),o&&o.length){var n=o[0].className||"";if(n){var i=this.createRange();t([i.sc,i.ec]).closest(e).addClass(n)}}},e.prototype.formatPara=function(){this.formatBlock("P")},e.prototype.fontStyling=function(e,o){var n=this.createRange();if(n){var i=this.style.styleNodes(n);if(t(i).css(e,o),n.isCollapsed()){var r=N.head(i);r&&!Nt.nodeLength(r)&&(r.innerHTML=Nt.ZERO_WIDTH_NBSP_CHAR,Ht.createFromNodeAfter(r.firstChild).select(),this.$editable.data("bogus",r))}}},e.prototype.unlink=function(){var t=this.createRange();if(t.isOnAnchor()){var e=Nt.ancestor(t.sc,Nt.isAnchor);(t=Ht.createFromNode(e)).select(),this.beforeCommand(),document.execCommand("unlink"),this.afterCommand()}},e.prototype.getLinkInfo=function(){var e=this.createRange().expand(Nt.isAnchor),o=t(N.head(e.nodes(Nt.isAnchor))),n={range:e,text:e.toString(),url:o.length?o.attr("href"):""};return o.length&&(n.isNewWindow="_blank"===o.attr("target")),n},e.prototype.addRow=function(t){var e=this.createRange(this.$editable);e.isCollapsed()&&e.isOnCell()&&(this.beforeCommand(),this.table.addRow(e,t),this.afterCommand())},e.prototype.addCol=function(t){var e=this.createRange(this.$editable);e.isCollapsed()&&e.isOnCell()&&(this.beforeCommand(),this.table.addCol(e,t),this.afterCommand())},e.prototype.deleteRow=function(){var t=this.createRange(this.$editable);t.isCollapsed()&&t.isOnCell()&&(this.beforeCommand(),this.table.deleteRow(t),this.afterCommand())},e.prototype.deleteCol=function(){var t=this.createRange(this.$editable);t.isCollapsed()&&t.isOnCell()&&(this.beforeCommand(),this.table.deleteCol(t),this.afterCommand())},e.prototype.deleteTable=function(){var t=this.createRange(this.$editable);t.isCollapsed()&&t.isOnCell()&&(this.beforeCommand(),this.table.deleteTable(t),this.afterCommand())},e.prototype.resizeTo=function(t,e,o){var n;if(o){var i=t.y/t.x,r=e.data("ratio");n={width:r>i?t.x:t.y/r,height:r>i?t.x*r:t.y}}else n={width:t.x,height:t.y};e.css(n)},e.prototype.hasFocus=function(){return this.$editable.is(":focus")},e.prototype.focus=function(){this.hasFocus()||this.$editable.focus()},e.prototype.isEmpty=function(){return Nt.isEmpty(this.$editable[0])||Nt.emptyPara===this.$editable.html()},e.prototype.empty=function(){this.context.invoke("code",Nt.emptyPara)},e.prototype.normalizeContent=function(){this.$editable[0].normalize()},e}(),qt=function(){function t(t){this.context=t,this.$editable=t.layoutInfo.editable}return t.prototype.initialize=function(){this.$editable.on("paste",this.pasteByEvent.bind(this))},t.prototype.pasteByEvent=function(t){var e=t.originalEvent.clipboardData;if(e&&e.items&&e.items.length){var o=N.head(e.items);"file"===o.kind&&-1!==o.type.indexOf("image/")&&this.context.invoke("editor.insertImagesOrCallback",[o.getAsFile()]),this.context.invoke("editor.afterCommand")}},t}(),Kt=function(){function e(e){this.context=e,this.$eventListener=t(document),this.$editor=e.layoutInfo.editor,this.$editable=e.layoutInfo.editable,this.options=e.options,this.lang=this.options.langInfo,this.documentEventHandlers={},this.$dropzone=t(['<div class="note-dropzone">',' <div class="note-dropzone-message"/>',"</div>"].join("")).prependTo(this.$editor)}return e.prototype.initialize=function(){this.options.disableDragAndDrop?(this.documentEventHandlers.onDrop=function(t){t.preventDefault()},this.$eventListener=this.$dropzone,this.$eventListener.on("drop",this.documentEventHandlers.onDrop)):this.attachDragAndDropEvent()},e.prototype.attachDragAndDropEvent=function(){var e=this,o=t(),n=this.$dropzone.find(".note-dropzone-message");this.documentEventHandlers.onDragenter=function(t){var i=e.context.invoke("codeview.isActivated"),r=e.$editor.width()>0&&e.$editor.height()>0;i||o.length||!r||(e.$editor.addClass("dragover"),e.$dropzone.width(e.$editor.width()),e.$dropzone.height(e.$editor.height()),n.text(e.lang.image.dragImageHere)),o=o.add(t.target)},this.documentEventHandlers.onDragleave=function(t){(o=o.not(t.target)).length||e.$editor.removeClass("dragover")},this.documentEventHandlers.onDrop=function(){o=t(),e.$editor.removeClass("dragover")},this.$eventListener.on("dragenter",this.documentEventHandlers.onDragenter).on("dragleave",this.documentEventHandlers.onDragleave).on("drop",this.documentEventHandlers.onDrop),this.$dropzone.on("dragenter",function(){e.$dropzone.addClass("hover"),n.text(e.lang.image.dropImage)}).on("dragleave",function(){e.$dropzone.removeClass("hover"),n.text(e.lang.image.dragImageHere)}),this.$dropzone.on("drop",function(o){var n=o.originalEvent.dataTransfer;o.preventDefault(),n&&n.files&&n.files.length?(e.$editable.focus(),e.context.invoke("editor.insertImagesOrCallback",n.files)):t.each(n.types,function(o,i){var r=n.getData(i);i.toLowerCase().indexOf("text")>-1?e.context.invoke("editor.pasteHTML",r):t(r).each(function(t,o){e.context.invoke("editor.insertNode",o)})})}).on("dragover",!1)},e.prototype.destroy=function(){var t=this;Object.keys(this.documentEventHandlers).forEach(function(e){t.$eventListener.off(e.substr(2).toLowerCase(),t.documentEventHandlers[e])}),this.documentEventHandlers={}},e}();z.hasCodeMirror&&(z.isSupportAmd?require(["codemirror"],function(t){Ot=t}):Ot=window.CodeMirror);var Vt=function(){function t(t){this.context=t,this.$editor=t.layoutInfo.editor,this.$editable=t.layoutInfo.editable,this.$codable=t.layoutInfo.codable,this.options=t.options}return t.prototype.sync=function(){this.isActivated()&&z.hasCodeMirror&&this.$codable.data("cmEditor").save()},t.prototype.isActivated=function(){return this.$editor.hasClass("codeview")},t.prototype.toggle=function(){this.isActivated()?this.deactivate():this.activate(),this.context.triggerEvent("codeview.toggled")},t.prototype.activate=function(){var t=this;if(this.$codable.val(Nt.html(this.$editable,this.options.prettifyHtml)),this.$codable.height(this.$editable.height()),this.context.invoke("toolbar.updateCodeview",!0),this.$editor.addClass("codeview"),this.$codable.focus(),z.hasCodeMirror){var e=Ot.fromTextArea(this.$codable[0],this.options.codemirror);if(this.options.codemirror.tern){var o=new Ot.TernServer(this.options.codemirror.tern);e.ternServer=o,e.on("cursorActivity",function(t){o.updateArgHints(t)})}e.on("blur",function(o){t.context.triggerEvent("blur.codeview",e.getValue(),o)}),e.setSize(null,this.$editable.outerHeight()),this.$codable.data("cmEditor",e)}else this.$codable.on("blur",function(e){t.context.triggerEvent("blur.codeview",t.$codable.val(),e)})},t.prototype.deactivate=function(){if(z.hasCodeMirror){var t=this.$codable.data("cmEditor");this.$codable.val(t.getValue()),t.toTextArea()}var e=Nt.value(this.$codable,this.options.prettifyHtml)||Nt.emptyPara,o=this.$editable.html()!==e;this.$editable.html(e),this.$editable.height(this.options.height?this.$codable.height():"auto"),this.$editor.removeClass("codeview"),o&&this.context.triggerEvent("change",this.$editable.html(),this.$editable),this.$editable.focus(),this.context.invoke("toolbar.updateCodeview",!1)},t.prototype.destroy=function(){this.isActivated()&&this.deactivate()},t}(),Wt=function(){function e(e){this.$document=t(document),this.$statusbar=e.layoutInfo.statusbar,this.$editable=e.layoutInfo.editable,this.options=e.options}return e.prototype.initialize=function(){var t=this;this.options.airMode||this.options.disableResizeEditor?this.destroy():this.$statusbar.on("mousedown",function(e){e.preventDefault(),e.stopPropagation();var o=t.$editable.offset().top-t.$document.scrollTop(),n=function(e){var n=e.clientY-(o+24);n=t.options.minheight>0?Math.max(n,t.options.minheight):n,n=t.options.maxHeight>0?Math.min(n,t.options.maxHeight):n,t.$editable.height(n)};t.$document.on("mousemove",n).one("mouseup",function(){t.$document.off("mousemove",n)})})},e.prototype.destroy=function(){this.$statusbar.off(),this.$statusbar.addClass("locked")},e}(),Gt=function(){function e(e){var o=this;this.context=e,this.$editor=e.layoutInfo.editor,this.$toolbar=e.layoutInfo.toolbar,this.$editable=e.layoutInfo.editable,this.$codable=e.layoutInfo.codable,this.$window=t(window),this.$scrollbar=t("html, body"),this.onResize=function(){o.resizeTo({h:o.$window.height()-o.$toolbar.outerHeight()})}}return e.prototype.resizeTo=function(t){this.$editable.css("height",t.h),this.$codable.css("height",t.h),this.$codable.data("cmeditor")&&this.$codable.data("cmeditor").setsize(null,t.h)},e.prototype.toggle=function(){this.$editor.toggleClass("fullscreen"),this.isFullscreen()?(this.$editable.data("orgHeight",this.$editable.css("height")),this.$window.on("resize",this.onResize).trigger("resize"),this.$scrollbar.css("overflow","hidden")):(this.$window.off("resize",this.onResize),this.resizeTo({h:this.$editable.data("orgHeight")}),this.$scrollbar.css("overflow","visible")),this.context.invoke("toolbar.updateFullscreen",this.isFullscreen())},e.prototype.isFullscreen=function(){return this.$editor.hasClass("fullscreen")},e}(),_t=function(){function e(e){var o=this;this.context=e,this.$document=t(document),this.$editingArea=e.layoutInfo.editingArea,this.options=e.options,this.lang=this.options.langInfo,this.events={"summernote.mousedown":function(t,e){o.update(e.target)&&e.preventDefault()},"summernote.keyup summernote.scroll summernote.change summernote.dialog.shown":function(){o.update()},"summernote.disable":function(){o.hide()},"summernote.codeview.toggled":function(){o.update()}}}return e.prototype.initialize=function(){var e=this;this.$handle=t(['<div class="note-handle">','<div class="note-control-selection">','<div class="note-control-selection-bg"></div>','<div class="note-control-holder note-control-nw"></div>','<div class="note-control-holder note-control-ne"></div>','<div class="note-control-holder note-control-sw"></div>','<div class="',this.options.disableResizeImage?"note-control-holder":"note-control-sizing",' note-control-se"></div>',this.options.disableResizeImage?"":'<div class="note-control-selection-info"></div>',"</div>","</div>"].join("")).prependTo(this.$editingArea),this.$handle.on("mousedown",function(t){if(Nt.isControlSizing(t.target)){t.preventDefault(),t.stopPropagation();var o=e.$handle.find(".note-control-selection").data("target"),n=o.offset(),i=e.$document.scrollTop(),r=function(t){e.context.invoke("editor.resizeTo",{x:t.clientX-n.left,y:t.clientY-(n.top-i)},o,!t.shiftKey),e.update(o[0])};e.$document.on("mousemove",r).one("mouseup",function(t){t.preventDefault(),e.$document.off("mousemove",r),e.context.invoke("editor.afterCommand")}),o.data("ratio")||o.data("ratio",o.height()/o.width())}}),this.$handle.on("wheel",function(t){t.preventDefault(),e.update()})},e.prototype.destroy=function(){this.$handle.remove()},e.prototype.update=function(e){if(this.context.isDisabled())return!1;var o=Nt.isImg(e),n=this.$handle.find(".note-control-selection");if(this.context.invoke("imagePopover.update",e),o){var i=t(e),r=i.position(),s={left:r.left+parseInt(i.css("marginLeft"),10),top:r.top+parseInt(i.css("marginTop"),10)},a={w:i.outerWidth(!1),h:i.outerHeight(!1)};n.css({display:"block",left:s.left,top:s.top,width:a.w,height:a.h}).data("target",i);var l=new Image;l.src=i.attr("src");var c=a.w+"x"+a.h+" ("+this.lang.image.original+": "+l.width+"x"+l.height+")";n.find(".note-control-selection-info").text(c),this.context.invoke("editor.saveTarget",e)}else this.hide();return o},e.prototype.hide=function(){this.context.invoke("editor.clearTarget"),this.$handle.children().hide()},e}(),Zt=/^([A-Za-z][A-Za-z0-9+-.]*\:[\/\/]?|mailto:[A-Z0-9._%+-]+@)?(www\.)?(.+)$/i,Yt=function(){function e(t){var e=this;this.context=t,this.events={"summernote.keyup":function(t,o){o.isDefaultPrevented()||e.handleKeyup(o)},"summernote.keydown":function(t,o){e.handleKeydown(o)}}}return e.prototype.initialize=function(){this.lastWordRange=null},e.prototype.destroy=function(){this.lastWordRange=null},e.prototype.replace=function(){if(this.lastWordRange){var e=this.lastWordRange.toString(),o=e.match(Zt);if(o&&(o[1]||o[2])){var n=o[1]?e:"http://"+e,i=t("<a />").html(e).attr("href",n)[0];this.lastWordRange.insertNode(i),this.lastWordRange=null,this.context.invoke("editor.focus")}}},e.prototype.handleKeydown=function(t){if(N.contains([At.code.ENTER,At.code.SPACE],t.keyCode)){var e=this.context.invoke("editor.createRange").getWordRange();this.lastWordRange=e}},e.prototype.handleKeyup=function(t){N.contains([At.code.ENTER,At.code.SPACE],t.keyCode)&&this.replace()},e}(),Qt=function(){function t(t){var e=this;this.$note=t.layoutInfo.note,this.events={"summernote.change":function(){e.$note.val(t.invoke("code"))}}}return t.prototype.shouldInitialize=function(){return Nt.isTextarea(this.$note[0])},t}(),Jt=function(){function e(t){var e=this;this.context=t,this.$editingArea=t.layoutInfo.editingArea,this.options=t.options,this.events={"summernote.init summernote.change":function(){e.update()},"summernote.codeview.toggled":function(){e.update()}}}return e.prototype.shouldInitialize=function(){return!!this.options.placeholder},e.prototype.initialize=function(){var e=this;this.$placeholder=t('<div class="note-placeholder">'),this.$placeholder.on("click",function(){e.context.invoke("focus")}).text(this.options.placeholder).prependTo(this.$editingArea),this.update()},e.prototype.destroy=function(){this.$placeholder.remove()},e.prototype.update=function(){var t=!this.context.invoke("codeview.isActivated")&&this.context.invoke("editor.isEmpty");this.$placeholder.toggle(t)},e}(),Xt=function(){function e(e){this.ui=t.summernote.ui,this.context=e,this.$toolbar=e.layoutInfo.toolbar,this.options=e.options,this.lang=this.options.langInfo,this.invertedKeyMap=C.invertObject(this.options.keyMap[z.isMac?"mac":"pc"])}return e.prototype.representShortcut=function(t){var e=this.invertedKeyMap[t];return this.options.shortcuts&&e?(z.isMac&&(e=e.replace("CMD","⌘").replace("SHIFT","⇧"))," ("+(e=e.replace("BACKSLASH","\\").replace("SLASH","/").replace("LEFTBRACKET","[").replace("RIGHTBRACKET","]"))+")"):""},e.prototype.button=function(t){return!this.options.tooltip&&t.tooltip&&delete t.tooltip,t.container=this.options.container,this.ui.button(t)},e.prototype.initialize=function(){this.addToolbarButtons(),this.addImagePopoverButtons(),this.addLinkPopoverButtons(),this.addTablePopoverButtons(),this.fontInstalledMap={}},e.prototype.destroy=function(){delete this.fontInstalledMap},e.prototype.isFontInstalled=function(t){return this.fontInstalledMap.hasOwnProperty(t)||(this.fontInstalledMap[t]=z.isFontInstalled(t)||N.contains(this.options.fontNamesIgnoreCheck,t)),this.fontInstalledMap[t]},e.prototype.isFontDeservedToAdd=function(e){return""!==(e=e.toLowerCase())&&this.isFontInstalled(e)&&-1===t.inArray(e,["sans-serif","serif","monospace","cursive","fantasy"])},e.prototype.addToolbarButtons=function(){var e=this;this.context.memo("button.style",function(){return e.ui.buttonGroup([e.button({className:"dropdown-toggle",contents:e.ui.dropdownButtonContents(e.ui.icon(e.options.icons.magic),e.options),tooltip:e.lang.style.style,data:{toggle:"dropdown"}}),e.ui.dropdown({className:"dropdown-style",items:e.options.styleTags,title:e.lang.style.style,template:function(t){"string"==typeof t&&(t={tag:t,title:e.lang.style.hasOwnProperty(t)?e.lang.style[t]:t});var o=t.tag,n=t.title;return"<"+o+(t.style?' style="'+t.style+'" ':"")+(t.className?' class="'+t.className+'"':"")+">"+n+"</"+o+">"},click:e.context.createInvokeHandler("editor.formatBlock")})]).render()});for(var o=function(t,o){var i=n.options.styleTags[t];n.context.memo("button.style."+i,function(){return e.button({className:"note-btn-style-"+i,contents:'<div data-value="'+i+'">'+i.toUpperCase()+"</div>",tooltip:e.lang.style[i],click:e.context.createInvokeHandler("editor.formatBlock")}).render()})},n=this,i=0,r=this.options.styleTags.length;i<r;i++)o(i);this.context.memo("button.bold",function(){return e.button({className:"note-btn-bold",contents:e.ui.icon(e.options.icons.bold),tooltip:e.lang.font.bold+e.representShortcut("bold"),click:e.context.createInvokeHandlerAndUpdateState("editor.bold")}).render()}),this.context.memo("button.italic",function(){return e.button({className:"note-btn-italic",contents:e.ui.icon(e.options.icons.italic),tooltip:e.lang.font.italic+e.representShortcut("italic"),click:e.context.createInvokeHandlerAndUpdateState("editor.italic")}).render()}),this.context.memo("button.underline",function(){return e.button({className:"note-btn-underline",contents:e.ui.icon(e.options.icons.underline),tooltip:e.lang.font.underline+e.representShortcut("underline"),click:e.context.createInvokeHandlerAndUpdateState("editor.underline")}).render()}),this.context.memo("button.clear",function(){return e.button({contents:e.ui.icon(e.options.icons.eraser),tooltip:e.lang.font.clear+e.representShortcut("removeFormat"),click:e.context.createInvokeHandler("editor.removeFormat")}).render()}),this.context.memo("button.strikethrough",function(){return e.button({className:"note-btn-strikethrough",contents:e.ui.icon(e.options.icons.strikethrough),tooltip:e.lang.font.strikethrough+e.representShortcut("strikethrough"),click:e.context.createInvokeHandlerAndUpdateState("editor.strikethrough")}).render()}),this.context.memo("button.superscript",function(){return e.button({className:"note-btn-superscript",contents:e.ui.icon(e.options.icons.superscript),tooltip:e.lang.font.superscript,click:e.context.createInvokeHandlerAndUpdateState("editor.superscript")}).render()}),this.context.memo("button.subscript",function(){return e.button({className:"note-btn-subscript",contents:e.ui.icon(e.options.icons.subscript),tooltip:e.lang.font.subscript,click:e.context.createInvokeHandlerAndUpdateState("editor.subscript")}).render()}),this.context.memo("button.fontname",function(){var o=e.context.invoke("editor.currentStyle");return t.each(o["font-family"].split(","),function(o,n){n=n.trim().replace(/['"]+/g,""),e.isFontDeservedToAdd(n)&&-1===t.inArray(n,e.options.fontNames)&&e.options.fontNames.push(n)}),e.ui.buttonGroup([e.button({className:"dropdown-toggle",contents:e.ui.dropdownButtonContents('<span class="note-current-fontname"/>',e.options),tooltip:e.lang.font.name,data:{toggle:"dropdown"}}),e.ui.dropdownCheck({className:"dropdown-fontname",checkClassName:e.options.icons.menuCheck,items:e.options.fontNames.filter(e.isFontInstalled.bind(e)),title:e.lang.font.name,template:function(t){return"<span style=\"font-family: '"+t+"'\">"+t+"</span>"},click:e.context.createInvokeHandlerAndUpdateState("editor.fontName")})]).render()}),this.context.memo("button.fontsize",function(){return e.ui.buttonGroup([e.button({className:"dropdown-toggle",contents:e.ui.dropdownButtonContents('<span class="note-current-fontsize"/>',e.options),tooltip:e.lang.font.size,data:{toggle:"dropdown"}}),e.ui.dropdownCheck({className:"dropdown-fontsize",checkClassName:e.options.icons.menuCheck,items:e.options.fontSizes,title:e.lang.font.size,click:e.context.createInvokeHandlerAndUpdateState("editor.fontSize")})]).render()}),this.context.memo("button.color",function(){return e.ui.buttonGroup({className:"note-color",children:[e.button({className:"note-current-color-button",contents:e.ui.icon(e.options.icons.font+" note-recent-color"),tooltip:e.lang.color.recent,click:function(o){var n=t(o.currentTarget);e.context.invoke("editor.color",{backColor:n.attr("data-backColor"),foreColor:n.attr("data-foreColor")})},callback:function(t){t.find(".note-recent-color").css("background-color","#FFFF00"),t.attr("data-backColor","#FFFF00")}}),e.button({className:"dropdown-toggle",contents:e.ui.dropdownButtonContents("",e.options),tooltip:e.lang.color.more,data:{toggle:"dropdown"}}),e.ui.dropdown({items:['<div class="note-palette">',' <div class="note-palette-title">'+e.lang.color.background+"</div>"," <div>",' <button type="button" class="note-color-reset btn btn-light" data-event="backColor" data-value="inherit">',e.lang.color.transparent," </button>"," </div>",' <div class="note-holder" data-event="backColor"/>',"</div>",'<div class="note-palette">',' <div class="note-palette-title">'+e.lang.color.foreground+"</div>"," <div>",' <button type="button" class="note-color-reset btn btn-light" data-event="removeFormat" data-value="foreColor">',e.lang.color.resetToDefault," </button>"," </div>",' <div class="note-holder" data-event="foreColor"/>',"</div>"].join(""),callback:function(o){o.find(".note-holder").each(function(o,n){var i=t(n);i.append(e.ui.palette({colors:e.options.colors,colorsName:e.options.colorsName,eventName:i.data("event"),container:e.options.container,tooltip:e.options.tooltip}).render())})},click:function(o){var n=t(o.target),i=n.data("event"),r=n.data("value");if(i&&r){var s="backColor"===i?"background-color":"color",a=n.closest(".note-color").find(".note-recent-color"),l=n.closest(".note-color").find(".note-current-color-button");a.css(s,r),l.attr("data-"+i,r),e.context.invoke("editor."+i,r)}}})]}).render()}),this.context.memo("button.ul",function(){return e.button({contents:e.ui.icon(e.options.icons.unorderedlist),tooltip:e.lang.lists.unordered+e.representShortcut("insertUnorderedList"),click:e.context.createInvokeHandler("editor.insertUnorderedList")}).render()}),this.context.memo("button.ol",function(){return e.button({contents:e.ui.icon(e.options.icons.orderedlist),tooltip:e.lang.lists.ordered+e.representShortcut("insertOrderedList"),click:e.context.createInvokeHandler("editor.insertOrderedList")}).render()});var s=this.button({contents:this.ui.icon(this.options.icons.alignLeft),tooltip:this.lang.paragraph.left+this.representShortcut("justifyLeft"),click:this.context.createInvokeHandler("editor.justifyLeft")}),a=this.button({contents:this.ui.icon(this.options.icons.alignCenter),tooltip:this.lang.paragraph.center+this.representShortcut("justifyCenter"),click:this.context.createInvokeHandler("editor.justifyCenter")}),l=this.button({contents:this.ui.icon(this.options.icons.alignRight),tooltip:this.lang.paragraph.right+this.representShortcut("justifyRight"),click:this.context.createInvokeHandler("editor.justifyRight")}),c=this.button({contents:this.ui.icon(this.options.icons.alignJustify),tooltip:this.lang.paragraph.justify+this.representShortcut("justifyFull"),click:this.context.createInvokeHandler("editor.justifyFull")}),d=this.button({contents:this.ui.icon(this.options.icons.outdent),tooltip:this.lang.paragraph.outdent+this.representShortcut("outdent"),click:this.context.createInvokeHandler("editor.outdent")}),u=this.button({contents:this.ui.icon(this.options.icons.indent),tooltip:this.lang.paragraph.indent+this.representShortcut("indent"),click:this.context.createInvokeHandler("editor.indent")});this.context.memo("button.justifyLeft",C.invoke(s,"render")),this.context.memo("button.justifyCenter",C.invoke(a,"render")),this.context.memo("button.justifyRight",C.invoke(l,"render")),this.context.memo("button.justifyFull",C.invoke(c,"render")),this.context.memo("button.outdent",C.invoke(d,"render")),this.context.memo("button.indent",C.invoke(u,"render")),this.context.memo("button.paragraph",function(){return e.ui.buttonGroup([e.button({className:"dropdown-toggle",contents:e.ui.dropdownButtonContents(e.ui.icon(e.options.icons.alignLeft),e.options),tooltip:e.lang.paragraph.paragraph,data:{toggle:"dropdown"}}),e.ui.dropdown([e.ui.buttonGroup({className:"note-align",children:[s,a,l,c]}),e.ui.buttonGroup({className:"note-list",children:[d,u]})])]).render()}),this.context.memo("button.height",function(){return e.ui.buttonGroup([e.button({className:"dropdown-toggle",contents:e.ui.dropdownButtonContents(e.ui.icon(e.options.icons.textHeight),e.options),tooltip:e.lang.font.height,data:{toggle:"dropdown"}}),e.ui.dropdownCheck({items:e.options.lineHeights,checkClassName:e.options.icons.menuCheck,className:"dropdown-line-height",title:e.lang.font.height,click:e.context.createInvokeHandler("editor.lineHeight")})]).render()}),this.context.memo("button.table",function(){return e.ui.buttonGroup([e.button({className:"dropdown-toggle",contents:e.ui.dropdownButtonContents(e.ui.icon(e.options.icons.table),e.options),tooltip:e.lang.table.table,data:{toggle:"dropdown"}}),e.ui.dropdown({title:e.lang.table.table,className:"note-table",items:['<div class="note-dimension-picker">',' <div class="note-dimension-picker-mousecatcher" data-event="insertTable" data-value="1x1"/>',' <div class="note-dimension-picker-highlighted"/>',' <div class="note-dimension-picker-unhighlighted"/>',"</div>",'<div class="note-dimension-display">1 x 1</div>'].join("")})],{callback:function(t){t.find(".note-dimension-picker-mousecatcher").css({width:e.options.insertTableMaxSize.col+"em",height:e.options.insertTableMaxSize.row+"em"}).mousedown(e.context.createInvokeHandler("editor.insertTable")).on("mousemove",e.tableMoveHandler.bind(e))}}).render()}),this.context.memo("button.link",function(){return e.button({contents:e.ui.icon(e.options.icons.link),tooltip:e.lang.link.link+e.representShortcut("linkDialog.show"),click:e.context.createInvokeHandler("linkDialog.show")}).render()}),this.context.memo("button.picture",function(){return e.button({contents:e.ui.icon(e.options.icons.picture),tooltip:e.lang.image.image,click:e.context.createInvokeHandler("imageDialog.show")}).render()}),this.context.memo("button.video",function(){return e.button({contents:e.ui.icon(e.options.icons.video),tooltip:e.lang.video.video,click:e.context.createInvokeHandler("videoDialog.show")}).render()}),this.context.memo("button.hr",function(){return e.button({contents:e.ui.icon(e.options.icons.minus),tooltip:e.lang.hr.insert+e.representShortcut("insertHorizontalRule"),click:e.context.createInvokeHandler("editor.insertHorizontalRule")}).render()}),this.context.memo("button.fullscreen",function(){return e.button({className:"btn-fullscreen",contents:e.ui.icon(e.options.icons.arrowsAlt),tooltip:e.lang.options.fullscreen,click:e.context.createInvokeHandler("fullscreen.toggle")}).render()}),this.context.memo("button.codeview",function(){return e.button({className:"btn-codeview",contents:e.ui.icon(e.options.icons.code),tooltip:e.lang.options.codeview,click:e.context.createInvokeHandler("codeview.toggle")}).render()}),this.context.memo("button.redo",function(){return e.button({contents:e.ui.icon(e.options.icons.redo),tooltip:e.lang.history.redo+e.representShortcut("redo"),click:e.context.createInvokeHandler("editor.redo")}).render()}),this.context.memo("button.undo",function(){return e.button({contents:e.ui.icon(e.options.icons.undo),tooltip:e.lang.history.undo+e.representShortcut("undo"),click:e.context.createInvokeHandler("editor.undo")}).render()}),this.context.memo("button.help",function(){return e.button({contents:e.ui.icon(e.options.icons.question),tooltip:e.lang.options.help,click:e.context.createInvokeHandler("helpDialog.show")}).render()})},e.prototype.addImagePopoverButtons=function(){var t=this;this.context.memo("button.imageSize100",function(){return t.button({contents:'<span class="note-fontsize-10">100%</span>',tooltip:t.lang.image.resizeFull,click:t.context.createInvokeHandler("editor.resize","1")}).render()}),this.context.memo("button.imageSize50",function(){return t.button({contents:'<span class="note-fontsize-10">50%</span>',tooltip:t.lang.image.resizeHalf,click:t.context.createInvokeHandler("editor.resize","0.5")}).render()}),this.context.memo("button.imageSize25",function(){return t.button({contents:'<span class="note-fontsize-10">25%</span>',tooltip:t.lang.image.resizeQuarter,click:t.context.createInvokeHandler("editor.resize","0.25")}).render()}),this.context.memo("button.floatLeft",function(){return t.button({contents:t.ui.icon(t.options.icons.alignLeft),tooltip:t.lang.image.floatLeft,click:t.context.createInvokeHandler("editor.floatMe","left")}).render()}),this.context.memo("button.floatRight",function(){return t.button({contents:t.ui.icon(t.options.icons.alignRight),tooltip:t.lang.image.floatRight,click:t.context.createInvokeHandler("editor.floatMe","right")}).render()}),this.context.memo("button.floatNone",function(){return t.button({contents:t.ui.icon(t.options.icons.alignJustify),tooltip:t.lang.image.floatNone,click:t.context.createInvokeHandler("editor.floatMe","none")}).render()}),this.context.memo("button.removeMedia",function(){return t.button({contents:t.ui.icon(t.options.icons.trash),tooltip:t.lang.image.remove,click:t.context.createInvokeHandler("editor.removeMedia")}).render()})},e.prototype.addLinkPopoverButtons=function(){var t=this;this.context.memo("button.linkDialogShow",function(){return t.button({contents:t.ui.icon(t.options.icons.link),tooltip:t.lang.link.edit,click:t.context.createInvokeHandler("linkDialog.show")}).render()}),this.context.memo("button.unlink",function(){return t.button({contents:t.ui.icon(t.options.icons.unlink),tooltip:t.lang.link.unlink,click:t.context.createInvokeHandler("editor.unlink")}).render()})},e.prototype.addTablePopoverButtons=function(){var t=this;this.context.memo("button.addRowUp",function(){return t.button({className:"btn-md",contents:t.ui.icon(t.options.icons.rowAbove),tooltip:t.lang.table.addRowAbove,click:t.context.createInvokeHandler("editor.addRow","top")}).render()}),this.context.memo("button.addRowDown",function(){return t.button({className:"btn-md",contents:t.ui.icon(t.options.icons.rowBelow),tooltip:t.lang.table.addRowBelow,click:t.context.createInvokeHandler("editor.addRow","bottom")}).render()}),this.context.memo("button.addColLeft",function(){return t.button({className:"btn-md",contents:t.ui.icon(t.options.icons.colBefore),tooltip:t.lang.table.addColLeft,click:t.context.createInvokeHandler("editor.addCol","left")}).render()}),this.context.memo("button.addColRight",function(){return t.button({className:"btn-md",contents:t.ui.icon(t.options.icons.colAfter),tooltip:t.lang.table.addColRight,click:t.context.createInvokeHandler("editor.addCol","right")}).render()}),this.context.memo("button.deleteRow",function(){return t.button({className:"btn-md",contents:t.ui.icon(t.options.icons.rowRemove),tooltip:t.lang.table.delRow,click:t.context.createInvokeHandler("editor.deleteRow")}).render()}),this.context.memo("button.deleteCol",function(){return t.button({className:"btn-md",contents:t.ui.icon(t.options.icons.colRemove),tooltip:t.lang.table.delCol,click:t.context.createInvokeHandler("editor.deleteCol")}).render()}),this.context.memo("button.deleteTable",function(){return t.button({className:"btn-md",contents:t.ui.icon(t.options.icons.trash),tooltip:t.lang.table.delTable,click:t.context.createInvokeHandler("editor.deleteTable")}).render()})},e.prototype.build=function(e,o){for(var n=0,i=o.length;n<i;n++){for(var r=o[n],s=t.isArray(r)?r[0]:r,a=t.isArray(r)?1===r.length?[r[0]]:r[1]:[r],l=this.ui.buttonGroup({className:"note-"+s}).render(),c=0,d=a.length;c<d;c++){var u=this.context.memo("button."+a[c]);u&&l.append("function"==typeof u?u(this.context):u)}l.appendTo(e)}},e.prototype.updateCurrentStyle=function(e){var o=this,n=e||this.$toolbar,i=this.context.invoke("editor.currentStyle");if(this.updateBtnStates(n,{".note-btn-bold":function(){return"bold"===i["font-bold"]},".note-btn-italic":function(){return"italic"===i["font-italic"]},".note-btn-underline":function(){return"underline"===i["font-underline"]},".note-btn-subscript":function(){return"subscript"===i["font-subscript"]},".note-btn-superscript":function(){return"superscript"===i["font-superscript"]},".note-btn-strikethrough":function(){return"strikethrough"===i["font-strikethrough"]}}),i["font-family"]){var r=i["font-family"].split(",").map(function(t){return t.replace(/[\'\"]/g,"").replace(/\s+$/,"").replace(/^\s+/,"")}),s=N.find(r,this.isFontInstalled.bind(this));n.find(".dropdown-fontname a").each(function(e,o){var n=t(o),i=n.data("value")+""==s+"";n.toggleClass("checked",i)}),n.find(".note-current-fontname").text(s).css("font-family",s)}if(i["font-size"]){var a=i["font-size"];n.find(".dropdown-fontsize a").each(function(e,o){var n=t(o),i=n.data("value")+""==a+"";n.toggleClass("checked",i)}),n.find(".note-current-fontsize").text(a)}if(i["line-height"]){var l=i["line-height"];n.find(".dropdown-line-height li a").each(function(e,n){var i=t(n).data("value")+""==l+"";o.className=i?"checked":""})}},e.prototype.updateBtnStates=function(e,o){var n=this;t.each(o,function(t,o){n.ui.toggleBtnActive(e.find(t),o())})},e.prototype.tableMoveHandler=function(e){var o,n=t(e.target.parentNode),i=n.next(),r=n.find(".note-dimension-picker-mousecatcher"),s=n.find(".note-dimension-picker-highlighted"),a=n.find(".note-dimension-picker-unhighlighted");if(void 0===e.offsetX){var l=t(e.target).offset();o={x:e.pageX-l.left,y:e.pageY-l.top}}else o={x:e.offsetX,y:e.offsetY};var c=Math.ceil(o.x/18)||1,d=Math.ceil(o.y/18)||1;s.css({width:c+"em",height:d+"em"}),r.data("value",c+"x"+d),c>3&&c<this.options.insertTableMaxSize.col&&a.css({width:c+1+"em"}),d>3&&d<this.options.insertTableMaxSize.row&&a.css({height:d+1+"em"}),i.html(c+" x "+d)},e}(),te=function(){function e(e){this.context=e,this.$window=t(window),this.$document=t(document),this.ui=t.summernote.ui,this.$note=e.layoutInfo.note,this.$editor=e.layoutInfo.editor,this.$toolbar=e.layoutInfo.toolbar,this.options=e.options,this.followScroll=this.followScroll.bind(this)}return e.prototype.shouldInitialize=function(){return!this.options.airMode},e.prototype.initialize=function(){var t=this;this.options.toolbar=this.options.toolbar||[],this.options.toolbar.length?this.context.invoke("buttons.build",this.$toolbar,this.options.toolbar):this.$toolbar.hide(),this.options.toolbarContainer&&this.$toolbar.appendTo(this.options.toolbarContainer),this.changeContainer(!1),this.$note.on("summernote.keyup summernote.mouseup summernote.change",function(){t.context.invoke("buttons.updateCurrentStyle")}),this.context.invoke("buttons.updateCurrentStyle"),this.options.followingToolbar&&this.$window.on("scroll resize",this.followScroll)},e.prototype.destroy=function(){this.$toolbar.children().remove(),this.options.followingToolbar&&this.$window.off("scroll resize",this.followScroll)},e.prototype.followScroll=function(){if(this.$editor.hasClass("fullscreen"))return!1;var e=this.$toolbar.parent(".note-toolbar-wrapper"),o=this.$editor.outerHeight(),n=this.$editor.width(),i=this.$toolbar.height();e.css({height:i});var r=0;this.options.otherStaticBar&&(r=t(this.options.otherStaticBar).outerHeight());var s=this.$document.scrollTop(),a=this.$editor.offset().top;s>a-r&&s<a+o-r-i?this.$toolbar.css({position:"fixed",top:r,width:n}):this.$toolbar.css({position:"relative",top:0,width:"100%"})},e.prototype.changeContainer=function(t){t?this.$toolbar.prependTo(this.$editor):this.options.toolbarContainer&&this.$toolbar.appendTo(this.options.toolbarContainer)},e.prototype.updateFullscreen=function(t){this.ui.toggleBtnActive(this.$toolbar.find(".btn-fullscreen"),t),this.changeContainer(t)},e.prototype.updateCodeview=function(t){this.ui.toggleBtnActive(this.$toolbar.find(".btn-codeview"),t),t?this.deactivate():this.activate()},e.prototype.activate=function(t){var e=this.$toolbar.find("button");t||(e=e.not(".btn-codeview")),this.ui.toggleBtn(e,!0)},e.prototype.deactivate=function(t){var e=this.$toolbar.find("button");t||(e=e.not(".btn-codeview")),this.ui.toggleBtn(e,!1)},e}(),ee=function(){function e(e){this.context=e,this.ui=t.summernote.ui,this.$body=t(document.body),this.$editor=e.layoutInfo.editor,this.options=e.options,this.lang=this.options.langInfo,e.memo("help.linkDialog.show",this.options.langInfo.help["linkDialog.show"])}return e.prototype.initialize=function(){var e=this.options.dialogsInBody?this.$body:this.$editor,o=['<div class="form-group note-form-group">','<label class="note-form-label">'+this.lang.link.textToDisplay+"</label>",'<input class="note-link-text form-control note-form-control note-input" type="text" />',"</div>",'<div class="form-group note-form-group">','<label class="note-form-label">'+this.lang.link.url+"</label>",'<input class="note-link-url form-control note-form-control note-input" type="text" value="http://" />',"</div>",this.options.disableLinkTarget?"":t("<div/>").append(this.ui.checkbox({id:"sn-checkbox-open-in-new-window",text:this.lang.link.openInNewWindow,checked:!0}).render()).html()].join(""),n='<button type="submit" href="#" class="btn btn-primary note-btn note-btn-primary note-link-btn" disabled>'+this.lang.link.insert+"</button>";this.$dialog=this.ui.dialog({className:"link-dialog",title:this.lang.link.insert,fade:this.options.dialogsFade,body:o,footer:n}).render().appendTo(e)},e.prototype.destroy=function(){this.ui.hideDialog(this.$dialog),this.$dialog.remove()},e.prototype.bindEnterKey=function(t,e){t.on("keypress",function(t){t.keyCode===At.code.ENTER&&(t.preventDefault(),e.trigger("click"))})},e.prototype.toggleLinkBtn=function(t,e,o){this.ui.toggleBtn(t,e.val()&&o.val())},e.prototype.showLinkDialog=function(e){var o=this;return t.Deferred(function(t){var n=o.$dialog.find(".note-link-text"),i=o.$dialog.find(".note-link-url"),r=o.$dialog.find(".note-link-btn"),s=o.$dialog.find("input[type=checkbox]");o.ui.onDialogShown(o.$dialog,function(){o.context.triggerEvent("dialog.shown"),e.url||(e.url=e.text),n.val(e.text);var a=function(){o.toggleLinkBtn(r,n,i),e.text=n.val()};n.on("input",a).on("paste",function(){setTimeout(a,0)});var l=function(){o.toggleLinkBtn(r,n,i),e.text||n.val(i.val())};i.on("input",l).on("paste",function(){setTimeout(l,0)}).val(e.url),z.isSupportTouch||i.trigger("focus"),o.toggleLinkBtn(r,n,i),o.bindEnterKey(i,r),o.bindEnterKey(n,r);var c=void 0!==e.isNewWindow?e.isNewWindow:o.context.options.linkTargetBlank;s.prop("checked",c),r.one("click",function(r){r.preventDefault(),t.resolve({range:e.range,url:i.val(),text:n.val(),isNewWindow:s.is(":checked")}),o.ui.hideDialog(o.$dialog)})}),o.ui.onDialogHidden(o.$dialog,function(){n.off("input paste keypress"),i.off("input paste keypress"),r.off("click"),"pending"===t.state()&&t.reject()}),o.ui.showDialog(o.$dialog)}).promise()},e.prototype.show=function(){var t=this,e=this.context.invoke("editor.getLinkInfo");this.context.invoke("editor.saveRange"),this.showLinkDialog(e).then(function(e){t.context.invoke("editor.restoreRange"),t.context.invoke("editor.createLink",e)}).fail(function(){t.context.invoke("editor.restoreRange")})},e}(),oe=function(){function e(e){var o=this;this.context=e,this.ui=t.summernote.ui,this.options=e.options,this.events={"summernote.keyup summernote.mouseup summernote.change summernote.scroll":function(){o.update()},"summernote.disable summernote.dialog.shown":function(){o.hide()}}}return e.prototype.shouldInitialize=function(){return!N.isEmpty(this.options.popover.link)},e.prototype.initialize=function(){this.$popover=this.ui.popover({className:"note-link-popover",callback:function(t){t.find(".popover-content,.note-popover-content").prepend('<span><a target="_blank"></a> </span>')}}).render().appendTo(this.options.container);var t=this.$popover.find(".popover-content,.note-popover-content");this.context.invoke("buttons.build",t,this.options.popover.link)},e.prototype.destroy=function(){this.$popover.remove()},e.prototype.update=function(){if(this.context.invoke("editor.hasFocus")){var e=this.context.invoke("editor.createRange");if(e.isCollapsed()&&e.isOnAnchor()){var o=Nt.ancestor(e.sc,Nt.isAnchor),n=t(o).attr("href");this.$popover.find("a").attr("href",n).html(n);var i=Nt.posFromPlaceholder(o);this.$popover.css({display:"block",left:i.left,top:i.top})}else this.hide()}else this.hide()},e.prototype.hide=function(){this.$popover.hide()},e}(),ne=function(){function e(e){this.context=e,this.ui=t.summernote.ui,this.$body=t(document.body),this.$editor=e.layoutInfo.editor,this.options=e.options,this.lang=this.options.langInfo}return e.prototype.initialize=function(){var t=this.options.dialogsInBody?this.$body:this.$editor,e="";if(this.options.maximumImageFileSize){var o=Math.floor(Math.log(this.options.maximumImageFileSize)/Math.log(1024)),n=1*(this.options.maximumImageFileSize/Math.pow(1024,o)).toFixed(2)+" "+" KMGTP"[o]+"B";e="<small>"+this.lang.image.maximumFileSize+" : "+n+"</small>"}var i=['<div class="form-group note-form-group note-group-select-from-files">','<label class="note-form-label">'+this.lang.image.selectFromFiles+"</label>",'<input class="note-image-input note-form-control note-input" ',' type="file" name="files" accept="image/*" multiple="multiple" />',e,"</div>",'<div class="form-group note-group-image-url" style="overflow:auto;">','<label class="note-form-label">'+this.lang.image.url+"</label>",'<input class="note-image-url form-control note-form-control note-input ',' col-md-12" type="text" />',"</div>"].join(""),r='<button type="submit" href="#" class="btn btn-primary note-btn note-btn-primary note-image-btn" disabled>'+this.lang.image.insert+"</button>";this.$dialog=this.ui.dialog({title:this.lang.image.insert,fade:this.options.dialogsFade,body:i,footer:r}).render().appendTo(t)},e.prototype.destroy=function(){this.ui.hideDialog(this.$dialog),this.$dialog.remove()},e.prototype.bindEnterKey=function(t,e){t.on("keypress",function(t){t.keyCode===At.code.ENTER&&(t.preventDefault(),e.trigger("click"))})},e.prototype.show=function(){var t=this;this.context.invoke("editor.saveRange"),this.showImageDialog().then(function(e){t.ui.hideDialog(t.$dialog),t.context.invoke("editor.restoreRange"),"string"==typeof e?t.context.invoke("editor.insertImage",e):t.context.invoke("editor.insertImagesOrCallback",e)}).fail(function(){t.context.invoke("editor.restoreRange")})},e.prototype.showImageDialog=function(){var e=this;return t.Deferred(function(t){var o=e.$dialog.find(".note-image-input"),n=e.$dialog.find(".note-image-url"),i=e.$dialog.find(".note-image-btn");e.ui.onDialogShown(e.$dialog,function(){e.context.triggerEvent("dialog.shown"),o.replaceWith(o.clone().on("change",function(e){t.resolve(e.target.files||e.target.value)}).val("")),i.click(function(e){e.preventDefault(),t.resolve(n.val())}),n.on("keyup paste",function(){var t=n.val();e.ui.toggleBtn(i,t)}).val(""),z.isSupportTouch||n.trigger("focus"),e.bindEnterKey(n,i)}),e.ui.onDialogHidden(e.$dialog,function(){o.off("change"),n.off("keyup paste keypress"),i.off("click"),"pending"===t.state()&&t.reject()}),e.ui.showDialog(e.$dialog)})},e}(),ie=function(){function e(e){var o=this;this.context=e,this.ui=t.summernote.ui,this.editable=e.layoutInfo.editable[0],this.options=e.options,this.events={"summernote.disable":function(){o.hide()}}}return e.prototype.shouldInitialize=function(){return!N.isEmpty(this.options.popover.image)},e.prototype.initialize=function(){this.$popover=this.ui.popover({className:"note-image-popover"}).render().appendTo(this.options.container);var t=this.$popover.find(".popover-content,.note-popover-content");this.context.invoke("buttons.build",t,this.options.popover.image)},e.prototype.destroy=function(){this.$popover.remove()},e.prototype.update=function(t){if(Nt.isImg(t)){var e=Nt.posFromPlaceholder(t),o=Nt.posFromPlaceholder(this.editable);this.$popover.css({display:"block",left:this.options.popatmouse?event.pageX-20:e.left,top:this.options.popatmouse?event.pageY:Math.min(e.top,o.top)})}else this.hide()},e.prototype.hide=function(){this.$popover.hide()},e}(),re=function(){function e(e){var o=this;this.context=e,this.ui=t.summernote.ui,this.options=e.options,this.events={"summernote.mousedown":function(t,e){o.update(e.target)},"summernote.keyup summernote.scroll summernote.change":function(){o.update()},"summernote.disable":function(){o.hide()}}}return e.prototype.shouldInitialize=function(){return!N.isEmpty(this.options.popover.table)},e.prototype.initialize=function(){this.$popover=this.ui.popover({className:"note-table-popover"}).render().appendTo(this.options.container);var t=this.$popover.find(".popover-content,.note-popover-content");this.context.invoke("buttons.build",t,this.options.popover.table),z.isFF&&document.execCommand("enableInlineTableEditing",!1,!1)},e.prototype.destroy=function(){this.$popover.remove()},e.prototype.update=function(t){if(this.context.isDisabled())return!1;var e=Nt.isCell(t);if(e){var o=Nt.posFromPlaceholder(t);this.$popover.css({display:"block",left:o.left,top:o.top})}else this.hide();return e},e.prototype.hide=function(){this.$popover.hide()},e}(),se=function(){function e(e){this.context=e,this.ui=t.summernote.ui,this.$body=t(document.body),this.$editor=e.layoutInfo.editor,this.options=e.options,this.lang=this.options.langInfo}return e.prototype.initialize=function(){var t=this.options.dialogsInBody?this.$body:this.$editor,e=['<div class="form-group note-form-group row-fluid">','<label class="note-form-label">'+this.lang.video.url+' <small class="text-muted">'+this.lang.video.providers+"</small></label>",'<input class="note-video-url form-control note-form-control note-input" type="text" />',"</div>"].join(""),o='<button type="submit" href="#" class="btn btn-primary note-btn note-btn-primary note-video-btn" disabled>'+this.lang.video.insert+"</button>";this.$dialog=this.ui.dialog({title:this.lang.video.insert,fade:this.options.dialogsFade,body:e,footer:o}).render().appendTo(t)},e.prototype.destroy=function(){this.ui.hideDialog(this.$dialog),this.$dialog.remove()},e.prototype.bindEnterKey=function(t,e){t.on("keypress",function(t){t.keyCode===At.code.ENTER&&(t.preventDefault(),e.trigger("click"))})},e.prototype.createVideoNode=function(e){var o,n=e.match(/^(?:https?:\/\/)?(?:www\.)?(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=))((\w|-){11})(?:\S+)?$/),i=e.match(/(?:www\.|\/\/)instagram\.com\/p\/(.[a-zA-Z0-9_-]*)/),r=e.match(/\/\/vine\.co\/v\/([a-zA-Z0-9]+)/),s=e.match(/\/\/(player\.)?vimeo\.com\/([a-z]*\/)*(\d+)[?]?.*/),a=e.match(/.+dailymotion.com\/(video|hub)\/([^_]+)[^#]*(#video=([^_&]+))?/),l=e.match(/\/\/v\.youku\.com\/v_show\/id_(\w+)=*\.html/),c=e.match(/\/\/v\.qq\.com.*?vid=(.+)/),d=e.match(/\/\/v\.qq\.com\/x?\/?(page|cover).*?\/([^\/]+)\.html\??.*/),u=e.match(/^.+.(mp4|m4v)$/),h=e.match(/^.+.(ogg|ogv)$/),p=e.match(/^.+.(webm)$/);if(n&&11===n[1].length){var f=n[1];o=t("<iframe>").attr("frameborder",0).attr("src","//www.youtube.com/embed/"+f).attr("width","640").attr("height","360")}else if(i&&i[0].length)o=t("<iframe>").attr("frameborder",0).attr("src","https://instagram.com/p/"+i[1]+"/embed/").attr("width","612").attr("height","710").attr("scrolling","no").attr("allowtransparency","true");else if(r&&r[0].length)o=t("<iframe>").attr("frameborder",0).attr("src",r[0]+"/embed/simple").attr("width","600").attr("height","600").attr("class","vine-embed");else if(s&&s[3].length)o=t("<iframe webkitallowfullscreen mozallowfullscreen allowfullscreen>").attr("frameborder",0).attr("src","//player.vimeo.com/video/"+s[3]).attr("width","640").attr("height","360");else if(a&&a[2].length)o=t("<iframe>").attr("frameborder",0).attr("src","//www.dailymotion.com/embed/video/"+a[2]).attr("width","640").attr("height","360");else if(l&&l[1].length)o=t("<iframe webkitallowfullscreen mozallowfullscreen allowfullscreen>").attr("frameborder",0).attr("height","498").attr("width","510").attr("src","//player.youku.com/embed/"+l[1]);else if(c&&c[1].length||d&&d[2].length){var m=c&&c[1].length?c[1]:d[2];o=t("<iframe webkitallowfullscreen mozallowfullscreen allowfullscreen>").attr("frameborder",0).attr("height","310").attr("width","500").attr("src","http://v.qq.com/iframe/player.html?vid="+m+"&auto=0")}else{if(!(u||h||p))return!1;o=t("<video controls>").attr("src",e).attr("width","640").attr("height","360")}return o.addClass("note-video-clip"),o[0]},e.prototype.show=function(){var t=this,e=this.context.invoke("editor.getSelectedText");this.context.invoke("editor.saveRange"),this.showVideoDialog(e).then(function(e){t.ui.hideDialog(t.$dialog),t.context.invoke("editor.restoreRange");var o=t.createVideoNode(e);o&&t.context.invoke("editor.insertNode",o)}).fail(function(){t.context.invoke("editor.restoreRange")})},e.prototype.showVideoDialog=function(e){var o=this;return t.Deferred(function(t){var n=o.$dialog.find(".note-video-url"),i=o.$dialog.find(".note-video-btn");o.ui.onDialogShown(o.$dialog,function(){o.context.triggerEvent("dialog.shown"),n.val(e).on("input",function(){o.ui.toggleBtn(i,n.val())}),z.isSupportTouch||n.trigger("focus"),i.click(function(e){e.preventDefault(),t.resolve(n.val())}),o.bindEnterKey(n,i)}),o.ui.onDialogHidden(o.$dialog,function(){n.off("input"),i.off("click"),"pending"===t.state()&&t.reject()}),o.ui.showDialog(o.$dialog)})},e}(),ae=function(){function e(e){this.context=e,this.ui=t.summernote.ui,this.$body=t(document.body),this.$editor=e.layoutInfo.editor,this.options=e.options,this.lang=this.options.langInfo}return e.prototype.initialize=function(){var t=this.options.dialogsInBody?this.$body:this.$editor,e=['<p class="text-center">','<a href="http://summernote.org/" target="_blank">Summernote 0.8.10</a> · ','<a href="https://github.com/summernote/summernote" target="_blank">Project</a> · ','<a href="https://github.com/summernote/summernote/issues" target="_blank">Issues</a>',"</p>"].join("");this.$dialog=this.ui.dialog({title:this.lang.options.help,fade:this.options.dialogsFade,body:this.createShortcutList(),footer:e,callback:function(t){t.find(".modal-body,.note-modal-body").css({"max-height":300,overflow:"scroll"})}}).render().appendTo(t)},e.prototype.destroy=function(){this.ui.hideDialog(this.$dialog),this.$dialog.remove()},e.prototype.createShortcutList=function(){var e=this,o=this.options.keyMap[z.isMac?"mac":"pc"];return Object.keys(o).map(function(n){var i=o[n],r=t('<div><div class="help-list-item"/></div>');return r.append(t("<label><kbd>"+n+"</kdb></label>").css({width:180,"margin-right":10})).append(t("<span/>").html(e.context.memo("help."+i)||i)),r.html()}).join("")},e.prototype.showHelpDialog=function(){var e=this;return t.Deferred(function(t){e.ui.onDialogShown(e.$dialog,function(){e.context.triggerEvent("dialog.shown"),t.resolve()}),e.ui.showDialog(e.$dialog)}).promise()},e.prototype.show=function(){var t=this;this.context.invoke("editor.saveRange"),this.showHelpDialog().then(function(){t.context.invoke("editor.restoreRange")})},e}(),le=function(){function e(e){var o=this;this.context=e,this.ui=t.summernote.ui,this.options=e.options,this.events={"summernote.keyup summernote.mouseup summernote.scroll":function(){o.update()},"summernote.disable summernote.change summernote.dialog.shown":function(){o.hide()},"summernote.focusout":function(t,e){z.isFF||e.relatedTarget&&Nt.ancestor(e.relatedTarget,C.eq(o.$popover[0]))||o.hide()}}}return e.prototype.shouldInitialize=function(){return this.options.airMode&&!N.isEmpty(this.options.popover.air)},e.prototype.initialize=function(){this.$popover=this.ui.popover({className:"note-air-popover"}).render().appendTo(this.options.container);var t=this.$popover.find(".popover-content");this.context.invoke("buttons.build",t,this.options.popover.air)},e.prototype.destroy=function(){this.$popover.remove()},e.prototype.update=function(){var t=this.context.invoke("editor.currentStyle");if(t.range&&!t.range.isCollapsed()){var e=N.last(t.range.getClientRects());if(e){var o=C.rect2bnd(e);this.$popover.css({display:"block",left:Math.max(o.left+o.width/2,0)-20,top:o.top+o.height}),this.context.invoke("buttons.updateCurrentStyle",this.$popover)}}else this.hide()},e.prototype.hide=function(){this.$popover.hide()},e}(),ce=function(){function e(e){var o=this;this.context=e,this.ui=t.summernote.ui,this.$editable=e.layoutInfo.editable,this.options=e.options,this.hint=this.options.hint||[],this.direction=this.options.hintDirection||"bottom",this.hints=t.isArray(this.hint)?this.hint:[this.hint],this.events={"summernote.keyup":function(t,e){e.isDefaultPrevented()||o.handleKeyup(e)},"summernote.keydown":function(t,e){o.handleKeydown(e)},"summernote.disable summernote.dialog.shown":function(){o.hide()}}}return e.prototype.shouldInitialize=function(){return this.hints.length>0},e.prototype.initialize=function(){var e=this;this.lastWordRange=null,this.$popover=this.ui.popover({className:"note-hint-popover",hideArrow:!0,direction:""}).render().appendTo(this.options.container),this.$popover.hide(),this.$content=this.$popover.find(".popover-content,.note-popover-content"),this.$content.on("click",".note-hint-item",function(){e.$content.find(".active").removeClass("active"),t(e).addClass("active"),e.replace()})},e.prototype.destroy=function(){this.$popover.remove()},e.prototype.selectItem=function(t){this.$content.find(".active").removeClass("active"),t.addClass("active"),this.$content[0].scrollTop=t[0].offsetTop-this.$content.innerHeight()/2},e.prototype.moveDown=function(){var t=this.$content.find(".note-hint-item.active"),e=t.next();if(e.length)this.selectItem(e);else{var o=t.parent().next();o.length||(o=this.$content.find(".note-hint-group").first()),this.selectItem(o.find(".note-hint-item").first())}},e.prototype.moveUp=function(){var t=this.$content.find(".note-hint-item.active"),e=t.prev();if(e.length)this.selectItem(e);else{var o=t.parent().prev();o.length||(o=this.$content.find(".note-hint-group").last()),this.selectItem(o.find(".note-hint-item").last())}},e.prototype.replace=function(){var t=this.$content.find(".note-hint-item.active");if(t.length){var e=this.nodeFromItem(t);this.lastWordRange.insertNode(e),Ht.createFromNode(e).collapse().select(),this.lastWordRange=null,this.hide(),this.context.triggerEvent("change",this.$editable.html(),this.$editable[0]),this.context.invoke("editor.focus")}},e.prototype.nodeFromItem=function(t){var e=this.hints[t.data("index")],o=t.data("item"),n=e.content?e.content(o):o;return"string"==typeof n&&(n=Nt.createText(n)),n},e.prototype.createItemTemplates=function(e,o){var n=this.hints[e];return o.map(function(o,i){var r=t('<div class="note-hint-item"/>');return r.append(n.template?n.template(o):o+""),r.data({index:e,item:o}),r})},e.prototype.handleKeydown=function(t){this.$popover.is(":visible")&&(t.keyCode===At.code.ENTER?(t.preventDefault(),this.replace()):t.keyCode===At.code.UP?(t.preventDefault(),this.moveUp()):t.keyCode===At.code.DOWN&&(t.preventDefault(),this.moveDown()))},e.prototype.searchKeyword=function(t,e,o){var n=this.hints[t];if(n&&n.match.test(e)&&n.search){var i=n.match.exec(e);n.search(i[1],o)}else o()},e.prototype.createGroup=function(e,o){var n=this,i=t('<div class="note-hint-group note-hint-group-'+e+'"/>');return this.searchKeyword(e,o,function(t){(t=t||[]).length&&(i.html(n.createItemTemplates(e,t)),n.show())}),i},e.prototype.handleKeyup=function(t){var e=this;if(!N.contains([At.code.ENTER,At.code.UP,At.code.DOWN],t.keyCode)){var o=this.context.invoke("editor.createRange").getWordRange(),n=o.toString();if(this.hints.length&&n){this.$content.empty();var i=C.rect2bnd(N.last(o.getClientRects()));i&&(this.$popover.hide(),this.lastWordRange=o,this.hints.forEach(function(t,o){t.match.test(n)&&e.createGroup(o,n).appendTo(e.$content)}),this.$content.find(".note-hint-item:first").addClass("active"),"top"===this.direction?this.$popover.css({left:i.left,top:i.top-this.$popover.outerHeight()-5}):this.$popover.css({left:i.left,top:i.top+i.height+5}))}else this.hide()}},e.prototype.show=function(){this.$popover.show()},e.prototype.hide=function(){this.$popover.hide()},e}(),de=function(){function e(e,o){this.ui=t.summernote.ui,this.$note=e,this.memos={},this.modules={},this.layoutInfo={},this.options=o,this.initialize()}return e.prototype.initialize=function(){return this.layoutInfo=this.ui.createLayout(this.$note,this.options),this._initialize(),this.$note.hide(),this},e.prototype.destroy=function(){this._destroy(),this.$note.removeData("summernote"),this.ui.removeLayout(this.$note,this.layoutInfo)},e.prototype.reset=function(){var t=this.isDisabled();this.code(Nt.emptyPara),this._destroy(),this._initialize(),t&&this.disable()},e.prototype._initialize=function(){var e=this,o=t.extend({},this.options.buttons);Object.keys(o).forEach(function(t){e.memo("button."+t,o[t])});var n=t.extend({},this.options.modules,t.summernote.plugins||{});Object.keys(n).forEach(function(t){e.module(t,n[t],!0)}),Object.keys(this.modules).forEach(function(t){e.initializeModule(t)})},e.prototype._destroy=function(){var t=this;Object.keys(this.modules).reverse().forEach(function(e){t.removeModule(e)}),Object.keys(this.memos).forEach(function(e){t.removeMemo(e)}),this.triggerEvent("destroy",this)},e.prototype.code=function(t){var e=this.invoke("codeview.isActivated");if(void 0===t)return this.invoke("codeview.sync"),e?this.layoutInfo.codable.val():this.layoutInfo.editable.html();e?this.layoutInfo.codable.val(t):this.layoutInfo.editable.html(t),this.$note.val(t),this.triggerEvent("change",t)},e.prototype.isDisabled=function(){return"false"===this.layoutInfo.editable.attr("contenteditable")},e.prototype.enable=function(){this.layoutInfo.editable.attr("contenteditable",!0),this.invoke("toolbar.activate",!0),this.triggerEvent("disable",!1)},e.prototype.disable=function(){this.invoke("codeview.isActivated")&&this.invoke("codeview.deactivate"),this.layoutInfo.editable.attr("contenteditable",!1),this.invoke("toolbar.deactivate",!0),this.triggerEvent("disable",!0)},e.prototype.triggerEvent=function(){var t=N.head(arguments),e=N.tail(N.from(arguments)),o=this.options.callbacks[C.namespaceToCamel(t,"on")];o&&o.apply(this.$note[0],e),this.$note.trigger("summernote."+t,e)},e.prototype.initializeModule=function(t){var e=this.modules[t];e.shouldInitialize=e.shouldInitialize||C.ok,e.shouldInitialize()&&(e.initialize&&e.initialize(),e.events&&Nt.attachEvents(this.$note,e.events))},e.prototype.module=function(t,e,o){if(1===arguments.length)return this.modules[t];this.modules[t]=new e(this),o||this.initializeModule(t)},e.prototype.removeModule=function(t){var e=this.modules[t];e.shouldInitialize()&&(e.events&&Nt.detachEvents(this.$note,e.events),e.destroy&&e.destroy()),delete this.modules[t]},e.prototype.memo=function(t,e){if(1===arguments.length)return this.memos[t];this.memos[t]=e},e.prototype.removeMemo=function(t){this.memos[t]&&this.memos[t].destroy&&this.memos[t].destroy(),delete this.memos[t]},e.prototype.createInvokeHandlerAndUpdateState=function(t,e){var o=this;return function(n){o.createInvokeHandler(t,e)(n),o.invoke("buttons.updateCurrentStyle")}},e.prototype.createInvokeHandler=function(e,o){var n=this;return function(i){i.preventDefault();var r=t(i.target);n.invoke(e,o||r.closest("[data-value]").data("value"),r)}},e.prototype.invoke=function(){var t=N.head(arguments),e=N.tail(N.from(arguments)),o=t.split("."),n=o.length>1,i=n&&N.head(o),r=n?N.last(o):N.head(o),s=this.modules[i||"editor"];return!i&&this[r]?this[r].apply(this,e):s&&s[r]&&s.shouldInitialize()?s[r].apply(s,e):void 0},e}();t.fn.extend({summernote:function(){var e=t.type(N.head(arguments)),o="string"===e,n="object"===e,i=t.extend({},t.summernote.options,n?N.head(arguments):{});i.langInfo=t.extend(!0,{},t.summernote.lang["en-US"],t.summernote.lang[i.lang]),i.icons=t.extend(!0,{},t.summernote.options.icons,i.icons),i.tooltip="auto"===i.tooltip?!z.isSupportTouch:i.tooltip,this.each(function(e,o){var n=t(o);if(!n.data("summernote")){var r=new de(n,i);n.data("summernote",r),n.data("summernote").triggerEvent("init",r.layoutInfo)}});var r=this.first();if(r.length){var s=r.data("summernote");if(o)return s.invoke.apply(s,N.from(arguments));i.focus&&s.invoke("editor.focus")}return this}}),t.summernote=t.extend(t.summernote,{version:"0.8.10",ui:y,dom:Nt,plugins:{},options:{modules:{editor:jt,clipboard:qt,dropzone:Kt,codeview:Vt,statusbar:Wt,fullscreen:Gt,handle:_t,hintPopover:ce,autoLink:Yt,autoSync:Qt,placeholder:Jt,buttons:Xt,toolbar:te,linkDialog:ee,linkPopover:oe,imageDialog:ne,imagePopover:ie,tablePopover:re,videoDialog:se,helpDialog:ae,airPopover:le},buttons:{},lang:"en-US",followingToolbar:!0,otherStaticBar:"",toolbar:[["style",["style"]],["font",["bold","underline","clear"]],["fontname",["fontname"]],["color",["color"]],["para",["ul","ol","paragraph"]],["table",["table"]],["insert",["link","picture","video"]],["view",["fullscreen","codeview","help"]]],popatmouse:!0,popover:{image:[["imagesize",["imageSize100","imageSize50","imageSize25"]],["float",["floatLeft","floatRight","floatNone"]],["remove",["removeMedia"]]],link:[["link",["linkDialogShow","unlink"]]],table:[["add",["addRowDown","addRowUp","addColLeft","addColRight"]],["delete",["deleteRow","deleteCol","deleteTable"]]],air:[["color",["color"]],["font",["bold","underline","clear"]],["para",["ul","paragraph"]],["table",["table"]],["insert",["link","picture"]]]},airMode:!1,width:null,height:null,linkTargetBlank:!0,focus:!1,tabSize:4,styleWithSpan:!0,shortcuts:!0,textareaAutoSync:!0,hintDirection:"bottom",tooltip:"auto",container:"body",maxTextLength:0,styleTags:["p",{title:"Blockquote",tag:"blockquote",className:"blockquote",value:"blockquote"},"h1","h2","h3","h4","h5","h6"],fontNames:["Arial","Arial Black","Comic Sans MS","Courier New","Helvetica Neue","Helvetica","Impact","Lucida Grande","Tahoma","Times New Roman","Verdana"],fontSizes:["8","9","10","11","12","14","18","24","36"],colors:[["#000000","#424242","#636363","#9C9C94","#CEC6CE","#EFEFEF","#F7F7F7","#FFFFFF"],["#FF0000","#FF9C00","#FFFF00","#00FF00","#00FFFF","#0000FF","#9C00FF","#FF00FF"],["#F7C6CE","#FFE7CE","#FFEFC6","#D6EFD6","#CEDEE7","#CEE7F7","#D6D6E7","#E7D6DE"],["#E79C9C","#FFC69C","#FFE79C","#B5D6A5","#A5C6CE","#9CC6EF","#B5A5D6","#D6A5BD"],["#E76363","#F7AD6B","#FFD663","#94BD7B","#73A5AD","#6BADDE","#8C7BC6","#C67BA5"],["#CE0000","#E79439","#EFC631","#6BA54A","#4A7B8C","#3984C6","#634AA5","#A54A7B"],["#9C0000","#B56308","#BD9400","#397B21","#104A5A","#085294","#311873","#731842"],["#630000","#7B3900","#846300","#295218","#083139","#003163","#21104A","#4A1031"]],colorsName:[["Black","Tundora","Dove Gray","Star Dust","Pale Slate","Gallery","Alabaster","White"],["Red","Orange Peel","Yellow","Green","Cyan","Blue","Electric Violet","Magenta"],["Azalea","Karry","Egg White","Zanah","Botticelli","Tropical Blue","Mischka","Twilight"],["Tonys Pink","Peach Orange","Cream Brulee","Sprout","Casper","Perano","Cold Purple","Careys Pink"],["Mandy","Rajah","Dandelion","Olivine","Gulf Stream","Viking","Blue Marguerite","Puce"],["Guardsman Red","Fire Bush","Golden Dream","Chelsea Cucumber","Smalt Blue","Boston Blue","Butterfly Bush","Cadillac"],["Sangria","Mai Tai","Buddha Gold","Forest Green","Eden","Venice Blue","Meteorite","Claret"],["Rosewood","Cinnamon","Olive","Parsley","Tiber","Midnight Blue","Valentino","Loulou"]],lineHeights:["1.0","1.2","1.4","1.5","1.6","1.8","2.0","3.0"],tableClassName:"table table-bordered",insertTableMaxSize:{col:10,row:10},dialogsInBody:!1,dialogsFade:!1,maximumImageFileSize:null,callbacks:{onInit:null,onFocus:null,onBlur:null,onBlurCodeview:null,onEnter:null,onKeyup:null,onKeydown:null,onImageUpload:null,onImageUploadError:null},codemirror:{mode:"text/html",htmlMode:!0,lineNumbers:!0},keyMap:{pc:{ENTER:"insertParagraph","CTRL+Z":"undo","CTRL+Y":"redo",TAB:"tab","SHIFT+TAB":"untab","CTRL+B":"bold","CTRL+I":"italic","CTRL+U":"underline","CTRL+SHIFT+S":"strikethrough","CTRL+BACKSLASH":"removeFormat","CTRL+SHIFT+L":"justifyLeft","CTRL+SHIFT+E":"justifyCenter","CTRL+SHIFT+R":"justifyRight","CTRL+SHIFT+J":"justifyFull","CTRL+SHIFT+NUM7":"insertUnorderedList","CTRL+SHIFT+NUM8":"insertOrderedList","CTRL+LEFTBRACKET":"outdent","CTRL+RIGHTBRACKET":"indent","CTRL+NUM0":"formatPara","CTRL+NUM1":"formatH1","CTRL+NUM2":"formatH2","CTRL+NUM3":"formatH3","CTRL+NUM4":"formatH4","CTRL+NUM5":"formatH5","CTRL+NUM6":"formatH6","CTRL+ENTER":"insertHorizontalRule","CTRL+K":"linkDialog.show"},mac:{ENTER:"insertParagraph","CMD+Z":"undo","CMD+SHIFT+Z":"redo",TAB:"tab","SHIFT+TAB":"untab","CMD+B":"bold","CMD+I":"italic","CMD+U":"underline","CMD+SHIFT+S":"strikethrough","CMD+BACKSLASH":"removeFormat","CMD+SHIFT+L":"justifyLeft","CMD+SHIFT+E":"justifyCenter","CMD+SHIFT+R":"justifyRight","CMD+SHIFT+J":"justifyFull","CMD+SHIFT+NUM7":"insertUnorderedList","CMD+SHIFT+NUM8":"insertOrderedList","CMD+LEFTBRACKET":"outdent","CMD+RIGHTBRACKET":"indent","CMD+NUM0":"formatPara","CMD+NUM1":"formatH1","CMD+NUM2":"formatH2","CMD+NUM3":"formatH3","CMD+NUM4":"formatH4","CMD+NUM5":"formatH5","CMD+NUM6":"formatH6","CMD+ENTER":"insertHorizontalRule","CMD+K":"linkDialog.show"}},icons:{align:"note-icon-align",alignCenter:"note-icon-align-center",alignJustify:"note-icon-align-justify",alignLeft:"note-icon-align-left",alignRight:"note-icon-align-right",rowBelow:"note-icon-row-below",colBefore:"note-icon-col-before",colAfter:"note-icon-col-after",rowAbove:"note-icon-row-above",rowRemove:"note-icon-row-remove",colRemove:"note-icon-col-remove",indent:"note-icon-align-indent",outdent:"note-icon-align-outdent",arrowsAlt:"note-icon-arrows-alt",bold:"note-icon-bold",caret:"note-icon-caret",circle:"note-icon-circle",close:"note-icon-close",code:"note-icon-code",eraser:"note-icon-eraser",font:"note-icon-font",frame:"note-icon-frame",italic:"note-icon-italic",link:"note-icon-link",unlink:"note-icon-chain-broken",magic:"note-icon-magic",menuCheck:"note-icon-menu-check",minus:"note-icon-minus",orderedlist:"note-icon-orderedlist",pencil:"note-icon-pencil",picture:"note-icon-picture",question:"note-icon-question",redo:"note-icon-redo",square:"note-icon-square",strikethrough:"note-icon-strikethrough",subscript:"note-icon-subscript",superscript:"note-icon-superscript",table:"note-icon-table",textHeight:"note-icon-text-height",trash:"note-icon-trash",underline:"note-icon-underline",undo:"note-icon-undo",unorderedlist:"note-icon-unorderedlist",video:"note-icon-video"}}})});PK�{�\�Í)')'summernote-bs4.jsnu�[���/** * Super simple wysiwyg editor v0.8.10 * https://summernote.org * * Copyright 2013- Alan Hong. and other contributors * summernote may be freely distributed under the MIT license. * * Date: 2018-02-20T00:34Z */ (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) : typeof define === 'function' && define.amd ? define(['jquery'], factory) : (factory(global.jQuery)); }(this, (function ($$1) { 'use strict'; $$1 = $$1 && $$1.hasOwnProperty('default') ? $$1['default'] : $$1; var Renderer = /** @class */ (function () { function Renderer(markup, children, options, callback) { this.markup = markup; this.children = children; this.options = options; this.callback = callback; } Renderer.prototype.render = function ($parent) { var $node = $$1(this.markup); if (this.options && this.options.contents) { $node.html(this.options.contents); } if (this.options && this.options.className) { $node.addClass(this.options.className); } if (this.options && this.options.data) { $$1.each(this.options.data, function (k, v) { $node.attr('data-' + k, v); }); } if (this.options && this.options.click) { $node.on('click', this.options.click); } if (this.children) { var $container_1 = $node.find('.note-children-container'); this.children.forEach(function (child) { child.render($container_1.length ? $container_1 : $node); }); } if (this.callback) { this.callback($node, this.options); } if (this.options && this.options.callback) { this.options.callback($node); } if ($parent) { $parent.append($node); } return $node; }; return Renderer; }()); var renderer = { create: function (markup, callback) { return function () { var options = typeof arguments[1] === 'object' ? arguments[1] : arguments[0]; var children = $$1.isArray(arguments[0]) ? arguments[0] : []; if (options && options.children) { children = options.children; } return new Renderer(markup, children, options, callback); }; } }; var editor = renderer.create('<div class="note-editor note-frame card"/>'); var toolbar = renderer.create('<div class="note-toolbar-wrapper"><div class="note-toolbar card-header" role="toolbar"></div></div>'); var editingArea = renderer.create('<div class="note-editing-area"/>'); var codable = renderer.create('<textarea class="note-codable" role="textbox" aria-multiline="true"/>'); var editable = renderer.create('<div class="note-editable card-block" contentEditable="true" role="textbox" aria-multiline="true"/>'); var statusbar = renderer.create([ '<output class="note-status-output" aria-live="polite"/>', '<div class="note-statusbar" role="status">', ' <output class="note-status-output" aria-live="polite"></output>', ' <div class="note-resizebar" role="seperator" aria-orientation="horizontal" aria-label="Resize">', ' <div class="note-icon-bar"/>', ' <div class="note-icon-bar"/>', ' <div class="note-icon-bar"/>', ' </div>', '</div>' ].join('')); var airEditor = renderer.create('<div class="note-editor"/>'); var airEditable = renderer.create([ '<output class="note-status-output" aria-live="polite"/>', '<div class="note-editable" contentEditable="true" role="textbox" aria-multiline="true"/>' ].join('')); var buttonGroup = renderer.create('<div class="note-btn-group btn-group">'); var dropdown = renderer.create('<div class="dropdown-menu" role="list">', function ($node, options) { var markup = $$1.isArray(options.items) ? options.items.map(function (item) { var value = (typeof item === 'string') ? item : (item.value || ''); var content = options.template ? options.template(item) : item; var option = (typeof item === 'object') ? item.option : undefined; var dataValue = 'data-value="' + value + '"'; var dataOption = (option !== undefined) ? ' data-option="' + option + '"' : ''; return '<a class="dropdown-item" href="#" ' + (dataValue + dataOption) + ' role="listitem" aria-label="' + item + '">' + content + '</a>'; }).join('') : options.items; $node.html(markup).attr({ 'aria-label': options.title }); }); var dropdownButtonContents = function (contents) { return contents; }; var dropdownCheck = renderer.create('<div class="dropdown-menu note-check" role="list">', function ($node, options) { var markup = $$1.isArray(options.items) ? options.items.map(function (item) { var value = (typeof item === 'string') ? item : (item.value || ''); var content = options.template ? options.template(item) : item; return '<a class="dropdown-item" href="#" data-value="' + value + '" role="listitem" aria-label="' + item + '">' + icon(options.checkClassName) + ' ' + content + '</a>'; }).join('') : options.items; $node.html(markup).attr({ 'aria-label': options.title }); }); var palette = renderer.create('<div class="note-color-palette"/>', function ($node, options) { var contents = []; for (var row = 0, rowSize = options.colors.length; row < rowSize; row++) { var eventName = options.eventName; var colors = options.colors[row]; var colorsName = options.colorsName[row]; var buttons = []; for (var col = 0, colSize = colors.length; col < colSize; col++) { var color = colors[col]; var colorName = colorsName[col]; buttons.push([ '<button type="button" class="note-color-btn"', 'style="background-color:', color, '" ', 'data-event="', eventName, '" ', 'data-value="', color, '" ', 'title="', colorName, '" ', 'aria-label="', colorName, '" ', 'data-toggle="button" tabindex="-1"></button>' ].join('')); } contents.push('<div class="note-color-row">' + buttons.join('') + '</div>'); } $node.html(contents.join('')); if (options.tooltip) { $node.find('.note-color-btn').tooltip({ container: options.container, trigger: 'hover', placement: 'bottom' }); } }); var dialog = renderer.create('<div class="modal" aria-hidden="false" tabindex="-1" role="dialog"/>', function ($node, options) { if (options.fade) { $node.addClass('fade'); } $node.attr({ 'aria-label': options.title }); $node.html([ '<div class="modal-dialog">', ' <div class="modal-content">', (options.title ? ' <div class="modal-header">' + ' <h4 class="modal-title">' + options.title + '</h4>' + ' <button type="button" class="close" data-dismiss="modal" aria-label="Close" aria-hidden="true">×</button>' + ' </div>' : ''), ' <div class="modal-body">' + options.body + '</div>', (options.footer ? ' <div class="modal-footer">' + options.footer + '</div>' : ''), ' </div>', '</div>' ].join('')); }); var popover = renderer.create([ '<div class="note-popover popover in">', ' <div class="arrow"/>', ' <div class="popover-content note-children-container"/>', '</div>' ].join(''), function ($node, options) { var direction = typeof options.direction !== 'undefined' ? options.direction : 'bottom'; $node.addClass(direction); if (options.hideArrow) { $node.find('.arrow').hide(); } }); var checkbox = renderer.create('<label class="custom-control custom-checkbox"></label>', function ($node, options) { if (options.id) { $node.attr('for', options.id); } $node.html([ ' <input role="checkbox" type="checkbox" class="custom-control-input"' + (options.id ? ' id="' + options.id + '"' : ''), (options.checked ? ' checked' : ''), ' aria-checked="' + (options.checked ? 'true' : 'false') + '"/>', ' <span class="custom-control-indicator"></span>', ' <span class="custom-control-description">' + (options.text ? options.text : '') + '</span>', '</label>' ].join('')); }); var icon = function (iconClassName, tagName) { tagName = tagName || 'i'; return '<' + tagName + ' class="' + iconClassName + '"/>'; }; var ui = { editor: editor, toolbar: toolbar, editingArea: editingArea, codable: codable, editable: editable, statusbar: statusbar, airEditor: airEditor, airEditable: airEditable, buttonGroup: buttonGroup, dropdown: dropdown, dropdownButtonContents: dropdownButtonContents, dropdownCheck: dropdownCheck, palette: palette, dialog: dialog, popover: popover, icon: icon, checkbox: checkbox, options: {}, button: function ($node, options) { return renderer.create('<button type="button" class="note-btn btn btn-light btn-sm" role="button" tabindex="-1">', function ($node, options) { if (options && options.tooltip) { $node.attr({ title: options.tooltip, 'aria-label': options.tooltip }).tooltip({ container: options.container, trigger: 'hover', placement: 'bottom' }); } })($node, options); }, toggleBtn: function ($btn, isEnable) { $btn.toggleClass('disabled', !isEnable); $btn.attr('disabled', !isEnable); }, toggleBtnActive: function ($btn, isActive) { $btn.toggleClass('active', isActive); }, onDialogShown: function ($dialog, handler) { $dialog.one('shown.bs.modal', handler); }, onDialogHidden: function ($dialog, handler) { $dialog.one('hidden.bs.modal', handler); }, showDialog: function ($dialog) { $dialog.modal('show'); }, hideDialog: function ($dialog) { $dialog.modal('hide'); }, createLayout: function ($note, options) { var $editor = (options.airMode ? ui.airEditor([ ui.editingArea([ ui.airEditable() ]) ]) : ui.editor([ ui.toolbar(), ui.editingArea([ ui.codable(), ui.editable() ]), ui.statusbar() ])).render(); $editor.insertAfter($note); return { note: $note, editor: $editor, toolbar: $editor.find('.note-toolbar'), editingArea: $editor.find('.note-editing-area'), editable: $editor.find('.note-editable'), codable: $editor.find('.note-codable'), statusbar: $editor.find('.note-statusbar') }; }, removeLayout: function ($note, layoutInfo) { $note.html(layoutInfo.editable.html()); layoutInfo.editor.remove(); $note.show(); } }; /** * @class core.func * * func utils (for high-order func's arg) * * @singleton * @alternateClassName func */ function eq(itemA) { return function (itemB) { return itemA === itemB; }; } function eq2(itemA, itemB) { return itemA === itemB; } function peq2(propName) { return function (itemA, itemB) { return itemA[propName] === itemB[propName]; }; } function ok() { return true; } function fail() { return false; } function not(f) { return function () { return !f.apply(f, arguments); }; } function and(fA, fB) { return function (item) { return fA(item) && fB(item); }; } function self(a) { return a; } function invoke(obj, method) { return function () { return obj[method].apply(obj, arguments); }; } var idCounter = 0; /** * generate a globally-unique id * * @param {String} [prefix] */ function uniqueId(prefix) { var id = ++idCounter + ''; return prefix ? prefix + id : id; } /** * returns bnd (bounds) from rect * * - IE Compatibility Issue: http://goo.gl/sRLOAo * - Scroll Issue: http://goo.gl/sNjUc * * @param {Rect} rect * @return {Object} bounds * @return {Number} bounds.top * @return {Number} bounds.left * @return {Number} bounds.width * @return {Number} bounds.height */ function rect2bnd(rect) { var $document = $(document); return { top: rect.top + $document.scrollTop(), left: rect.left + $document.scrollLeft(), width: rect.right - rect.left, height: rect.bottom - rect.top }; } /** * returns a copy of the object where the keys have become the values and the values the keys. * @param {Object} obj * @return {Object} */ function invertObject(obj) { var inverted = {}; for (var key in obj) { if (obj.hasOwnProperty(key)) { inverted[obj[key]] = key; } } return inverted; } /** * @param {String} namespace * @param {String} [prefix] * @return {String} */ function namespaceToCamel(namespace, prefix) { prefix = prefix || ''; return prefix + namespace.split('.').map(function (name) { return name.substring(0, 1).toUpperCase() + name.substring(1); }).join(''); } /** * Returns a function, that, as long as it continues to be invoked, will not * be triggered. The function will be called after it stops being called for * N milliseconds. If `immediate` is passed, trigger the function on the * leading edge, instead of the trailing. * @param {Function} func * @param {Number} wait * @param {Boolean} immediate * @return {Function} */ function debounce(func, wait, immediate) { var _this = this; var timeout; return function () { var context = _this; var args = arguments; var later = function () { timeout = null; if (!immediate) { func.apply(context, args); } }; var callNow = immediate && !timeout; clearTimeout(timeout); timeout = setTimeout(later, wait); if (callNow) { func.apply(context, args); } }; } var func = { eq: eq, eq2: eq2, peq2: peq2, ok: ok, fail: fail, self: self, not: not, and: and, invoke: invoke, uniqueId: uniqueId, rect2bnd: rect2bnd, invertObject: invertObject, namespaceToCamel: namespaceToCamel, debounce: debounce }; /** * returns the first item of an array. * * @param {Array} array */ function head(array) { return array[0]; } /** * returns the last item of an array. * * @param {Array} array */ function last(array) { return array[array.length - 1]; } /** * returns everything but the last entry of the array. * * @param {Array} array */ function initial(array) { return array.slice(0, array.length - 1); } /** * returns the rest of the items in an array. * * @param {Array} array */ function tail(array) { return array.slice(1); } /** * returns item of array */ function find(array, pred) { for (var idx = 0, len = array.length; idx < len; idx++) { var item = array[idx]; if (pred(item)) { return item; } } } /** * returns true if all of the values in the array pass the predicate truth test. */ function all(array, pred) { for (var idx = 0, len = array.length; idx < len; idx++) { if (!pred(array[idx])) { return false; } } return true; } /** * returns index of item */ function indexOf(array, item) { return $$1.inArray(item, array); } /** * returns true if the value is present in the list. */ function contains(array, item) { return indexOf(array, item) !== -1; } /** * get sum from a list * * @param {Array} array - array * @param {Function} fn - iterator */ function sum(array, fn) { fn = fn || func.self; return array.reduce(function (memo, v) { return memo + fn(v); }, 0); } /** * returns a copy of the collection with array type. * @param {Collection} collection - collection eg) node.childNodes, ... */ function from(collection) { var result = []; var length = collection.length; var idx = -1; while (++idx < length) { result[idx] = collection[idx]; } return result; } /** * returns whether list is empty or not */ function isEmpty$1(array) { return !array || !array.length; } /** * cluster elements by predicate function. * * @param {Array} array - array * @param {Function} fn - predicate function for cluster rule * @param {Array[]} */ function clusterBy(array, fn) { if (!array.length) { return []; } var aTail = tail(array); return aTail.reduce(function (memo, v) { var aLast = last(memo); if (fn(last(aLast), v)) { aLast[aLast.length] = v; } else { memo[memo.length] = [v]; } return memo; }, [[head(array)]]); } /** * returns a copy of the array with all false values removed * * @param {Array} array - array * @param {Function} fn - predicate function for cluster rule */ function compact(array) { var aResult = []; for (var idx = 0, len = array.length; idx < len; idx++) { if (array[idx]) { aResult.push(array[idx]); } } return aResult; } /** * produces a duplicate-free version of the array * * @param {Array} array */ function unique(array) { var results = []; for (var idx = 0, len = array.length; idx < len; idx++) { if (!contains(results, array[idx])) { results.push(array[idx]); } } return results; } /** * returns next item. * @param {Array} array */ function next(array, item) { var idx = indexOf(array, item); if (idx === -1) { return null; } return array[idx + 1]; } /** * returns prev item. * @param {Array} array */ function prev(array, item) { var idx = indexOf(array, item); if (idx === -1) { return null; } return array[idx - 1]; } /** * @class core.list * * list utils * * @singleton * @alternateClassName list */ var lists = { head: head, last: last, initial: initial, tail: tail, prev: prev, next: next, find: find, contains: contains, all: all, sum: sum, from: from, isEmpty: isEmpty$1, clusterBy: clusterBy, compact: compact, unique: unique }; var isSupportAmd = typeof define === 'function' && define.amd; // eslint-disable-line /** * returns whether font is installed or not. * * @param {String} fontName * @return {Boolean} */ function isFontInstalled(fontName) { var testFontName = fontName === 'Comic Sans MS' ? 'Courier New' : 'Comic Sans MS'; var $tester = $$1('<div>').css({ position: 'absolute', left: '-9999px', top: '-9999px', fontSize: '200px' }).text('mmmmmmmmmwwwwwww').appendTo(document.body); var originalWidth = $tester.css('fontFamily', testFontName).width(); var width = $tester.css('fontFamily', fontName + ',' + testFontName).width(); $tester.remove(); return originalWidth !== width; } var userAgent = navigator.userAgent; var isMSIE = /MSIE|Trident/i.test(userAgent); var browserVersion; if (isMSIE) { var matches = /MSIE (\d+[.]\d+)/.exec(userAgent); if (matches) { browserVersion = parseFloat(matches[1]); } matches = /Trident\/.*rv:([0-9]{1,}[.0-9]{0,})/.exec(userAgent); if (matches) { browserVersion = parseFloat(matches[1]); } } var isEdge = /Edge\/\d+/.test(userAgent); var hasCodeMirror = !!window.CodeMirror; if (!hasCodeMirror && isSupportAmd) { // Webpack if (typeof __webpack_require__ === 'function') { try { // If CodeMirror can't be resolved, `require.resolve` will throw an // exception and `hasCodeMirror` won't be set to `true`. require.resolve('codemirror'); hasCodeMirror = true; } catch (e) { // do nothing } } else if (typeof require !== 'undefined') { // Browserify if (typeof require.resolve !== 'undefined') { try { // If CodeMirror can't be resolved, `require.resolve` will throw an // exception and `hasCodeMirror` won't be set to `true`. require.resolve('codemirror'); hasCodeMirror = true; } catch (e) { // do nothing } // Almond/Require } else if (typeof require.specified !== 'undefined') { hasCodeMirror = require.specified('codemirror'); } } } var isSupportTouch = (('ontouchstart' in window) || (navigator.MaxTouchPoints > 0) || (navigator.msMaxTouchPoints > 0)); // [workaround] IE doesn't have input events for contentEditable // - see: https://goo.gl/4bfIvA var inputEventName = (isMSIE || isEdge) ? 'DOMCharacterDataModified DOMSubtreeModified DOMNodeInserted' : 'input'; /** * @class core.env * * Object which check platform and agent * * @singleton * @alternateClassName env */ var env = { isMac: navigator.appVersion.indexOf('Mac') > -1, isMSIE: isMSIE, isEdge: isEdge, isFF: !isEdge && /firefox/i.test(userAgent), isPhantom: /PhantomJS/i.test(userAgent), isWebkit: !isEdge && /webkit/i.test(userAgent), isChrome: !isEdge && /chrome/i.test(userAgent), isSafari: !isEdge && /safari/i.test(userAgent), browserVersion: browserVersion, jqueryVersion: parseFloat($$1.fn.jquery), isSupportAmd: isSupportAmd, isSupportTouch: isSupportTouch, hasCodeMirror: hasCodeMirror, isFontInstalled: isFontInstalled, isW3CRangeSupport: !!document.createRange, inputEventName: inputEventName }; var NBSP_CHAR = String.fromCharCode(160); var ZERO_WIDTH_NBSP_CHAR = '\ufeff'; /** * @method isEditable * * returns whether node is `note-editable` or not. * * @param {Node} node * @return {Boolean} */ function isEditable(node) { return node && $$1(node).hasClass('note-editable'); } /** * @method isControlSizing * * returns whether node is `note-control-sizing` or not. * * @param {Node} node * @return {Boolean} */ function isControlSizing(node) { return node && $$1(node).hasClass('note-control-sizing'); } /** * @method makePredByNodeName * * returns predicate which judge whether nodeName is same * * @param {String} nodeName * @return {Function} */ function makePredByNodeName(nodeName) { nodeName = nodeName.toUpperCase(); return function (node) { return node && node.nodeName.toUpperCase() === nodeName; }; } /** * @method isText * * * * @param {Node} node * @return {Boolean} true if node's type is text(3) */ function isText(node) { return node && node.nodeType === 3; } /** * @method isElement * * * * @param {Node} node * @return {Boolean} true if node's type is element(1) */ function isElement(node) { return node && node.nodeType === 1; } /** * ex) br, col, embed, hr, img, input, ... * @see http://www.w3.org/html/wg/drafts/html/master/syntax.html#void-elements */ function isVoid(node) { return node && /^BR|^IMG|^HR|^IFRAME|^BUTTON|^INPUT/.test(node.nodeName.toUpperCase()); } function isPara(node) { if (isEditable(node)) { return false; } // Chrome(v31.0), FF(v25.0.1) use DIV for paragraph return node && /^DIV|^P|^LI|^H[1-7]/.test(node.nodeName.toUpperCase()); } function isHeading(node) { return node && /^H[1-7]/.test(node.nodeName.toUpperCase()); } var isPre = makePredByNodeName('PRE'); var isLi = makePredByNodeName('LI'); function isPurePara(node) { return isPara(node) && !isLi(node); } var isTable = makePredByNodeName('TABLE'); var isData = makePredByNodeName('DATA'); function isInline(node) { return !isBodyContainer(node) && !isList(node) && !isHr(node) && !isPara(node) && !isTable(node) && !isBlockquote(node) && !isData(node); } function isList(node) { return node && /^UL|^OL/.test(node.nodeName.toUpperCase()); } var isHr = makePredByNodeName('HR'); function isCell(node) { return node && /^TD|^TH/.test(node.nodeName.toUpperCase()); } var isBlockquote = makePredByNodeName('BLOCKQUOTE'); function isBodyContainer(node) { return isCell(node) || isBlockquote(node) || isEditable(node); } var isAnchor = makePredByNodeName('A'); function isParaInline(node) { return isInline(node) && !!ancestor(node, isPara); } function isBodyInline(node) { return isInline(node) && !ancestor(node, isPara); } var isBody = makePredByNodeName('BODY'); /** * returns whether nodeB is closest sibling of nodeA * * @param {Node} nodeA * @param {Node} nodeB * @return {Boolean} */ function isClosestSibling(nodeA, nodeB) { return nodeA.nextSibling === nodeB || nodeA.previousSibling === nodeB; } /** * returns array of closest siblings with node * * @param {Node} node * @param {function} [pred] - predicate function * @return {Node[]} */ function withClosestSiblings(node, pred) { pred = pred || func.ok; var siblings = []; if (node.previousSibling && pred(node.previousSibling)) { siblings.push(node.previousSibling); } siblings.push(node); if (node.nextSibling && pred(node.nextSibling)) { siblings.push(node.nextSibling); } return siblings; } /** * blank HTML for cursor position * - [workaround] old IE only works with * - [workaround] IE11 and other browser works with bogus br */ var blankHTML = env.isMSIE && env.browserVersion < 11 ? ' ' : '<br>'; /** * @method nodeLength * * returns #text's text size or element's childNodes size * * @param {Node} node */ function nodeLength(node) { if (isText(node)) { return node.nodeValue.length; } if (node) { return node.childNodes.length; } return 0; } /** * returns whether node is empty or not. * * @param {Node} node * @return {Boolean} */ function isEmpty(node) { var len = nodeLength(node); if (len === 0) { return true; } else if (!isText(node) && len === 1 && node.innerHTML === blankHTML) { // ex) <p><br></p>, <span><br></span> return true; } else if (lists.all(node.childNodes, isText) && node.innerHTML === '') { // ex) <p></p>, <span></span> return true; } return false; } /** * padding blankHTML if node is empty (for cursor position) */ function paddingBlankHTML(node) { if (!isVoid(node) && !nodeLength(node)) { node.innerHTML = blankHTML; } } /** * find nearest ancestor predicate hit * * @param {Node} node * @param {Function} pred - predicate function */ function ancestor(node, pred) { while (node) { if (pred(node)) { return node; } if (isEditable(node)) { break; } node = node.parentNode; } return null; } /** * find nearest ancestor only single child blood line and predicate hit * * @param {Node} node * @param {Function} pred - predicate function */ function singleChildAncestor(node, pred) { node = node.parentNode; while (node) { if (nodeLength(node) !== 1) { break; } if (pred(node)) { return node; } if (isEditable(node)) { break; } node = node.parentNode; } return null; } /** * returns new array of ancestor nodes (until predicate hit). * * @param {Node} node * @param {Function} [optional] pred - predicate function */ function listAncestor(node, pred) { pred = pred || func.fail; var ancestors = []; ancestor(node, function (el) { if (!isEditable(el)) { ancestors.push(el); } return pred(el); }); return ancestors; } /** * find farthest ancestor predicate hit */ function lastAncestor(node, pred) { var ancestors = listAncestor(node); return lists.last(ancestors.filter(pred)); } /** * returns common ancestor node between two nodes. * * @param {Node} nodeA * @param {Node} nodeB */ function commonAncestor(nodeA, nodeB) { var ancestors = listAncestor(nodeA); for (var n = nodeB; n; n = n.parentNode) { if ($$1.inArray(n, ancestors) > -1) { return n; } } return null; // difference document area } /** * listing all previous siblings (until predicate hit). * * @param {Node} node * @param {Function} [optional] pred - predicate function */ function listPrev(node, pred) { pred = pred || func.fail; var nodes = []; while (node) { if (pred(node)) { break; } nodes.push(node); node = node.previousSibling; } return nodes; } /** * listing next siblings (until predicate hit). * * @param {Node} node * @param {Function} [pred] - predicate function */ function listNext(node, pred) { pred = pred || func.fail; var nodes = []; while (node) { if (pred(node)) { break; } nodes.push(node); node = node.nextSibling; } return nodes; } /** * listing descendant nodes * * @param {Node} node * @param {Function} [pred] - predicate function */ function listDescendant(node, pred) { var descendants = []; pred = pred || func.ok; // start DFS(depth first search) with node (function fnWalk(current) { if (node !== current && pred(current)) { descendants.push(current); } for (var idx = 0, len = current.childNodes.length; idx < len; idx++) { fnWalk(current.childNodes[idx]); } })(node); return descendants; } /** * wrap node with new tag. * * @param {Node} node * @param {Node} tagName of wrapper * @return {Node} - wrapper */ function wrap(node, wrapperName) { var parent = node.parentNode; var wrapper = $$1('<' + wrapperName + '>')[0]; parent.insertBefore(wrapper, node); wrapper.appendChild(node); return wrapper; } /** * insert node after preceding * * @param {Node} node * @param {Node} preceding - predicate function */ function insertAfter(node, preceding) { var next = preceding.nextSibling; var parent = preceding.parentNode; if (next) { parent.insertBefore(node, next); } else { parent.appendChild(node); } return node; } /** * append elements. * * @param {Node} node * @param {Collection} aChild */ function appendChildNodes(node, aChild) { $$1.each(aChild, function (idx, child) { node.appendChild(child); }); return node; } /** * returns whether boundaryPoint is left edge or not. * * @param {BoundaryPoint} point * @return {Boolean} */ function isLeftEdgePoint(point) { return point.offset === 0; } /** * returns whether boundaryPoint is right edge or not. * * @param {BoundaryPoint} point * @return {Boolean} */ function isRightEdgePoint(point) { return point.offset === nodeLength(point.node); } /** * returns whether boundaryPoint is edge or not. * * @param {BoundaryPoint} point * @return {Boolean} */ function isEdgePoint(point) { return isLeftEdgePoint(point) || isRightEdgePoint(point); } /** * returns whether node is left edge of ancestor or not. * * @param {Node} node * @param {Node} ancestor * @return {Boolean} */ function isLeftEdgeOf(node, ancestor) { while (node && node !== ancestor) { if (position(node) !== 0) { return false; } node = node.parentNode; } return true; } /** * returns whether node is right edge of ancestor or not. * * @param {Node} node * @param {Node} ancestor * @return {Boolean} */ function isRightEdgeOf(node, ancestor) { if (!ancestor) { return false; } while (node && node !== ancestor) { if (position(node) !== nodeLength(node.parentNode) - 1) { return false; } node = node.parentNode; } return true; } /** * returns whether point is left edge of ancestor or not. * @param {BoundaryPoint} point * @param {Node} ancestor * @return {Boolean} */ function isLeftEdgePointOf(point, ancestor) { return isLeftEdgePoint(point) && isLeftEdgeOf(point.node, ancestor); } /** * returns whether point is right edge of ancestor or not. * @param {BoundaryPoint} point * @param {Node} ancestor * @return {Boolean} */ function isRightEdgePointOf(point, ancestor) { return isRightEdgePoint(point) && isRightEdgeOf(point.node, ancestor); } /** * returns offset from parent. * * @param {Node} node */ function position(node) { var offset = 0; while ((node = node.previousSibling)) { offset += 1; } return offset; } function hasChildren(node) { return !!(node && node.childNodes && node.childNodes.length); } /** * returns previous boundaryPoint * * @param {BoundaryPoint} point * @param {Boolean} isSkipInnerOffset * @return {BoundaryPoint} */ function prevPoint(point, isSkipInnerOffset) { var node; var offset; if (point.offset === 0) { if (isEditable(point.node)) { return null; } node = point.node.parentNode; offset = position(point.node); } else if (hasChildren(point.node)) { node = point.node.childNodes[point.offset - 1]; offset = nodeLength(node); } else { node = point.node; offset = isSkipInnerOffset ? 0 : point.offset - 1; } return { node: node, offset: offset }; } /** * returns next boundaryPoint * * @param {BoundaryPoint} point * @param {Boolean} isSkipInnerOffset * @return {BoundaryPoint} */ function nextPoint(point, isSkipInnerOffset) { var node, offset; if (nodeLength(point.node) === point.offset) { if (isEditable(point.node)) { return null; } node = point.node.parentNode; offset = position(point.node) + 1; } else if (hasChildren(point.node)) { node = point.node.childNodes[point.offset]; offset = 0; } else { node = point.node; offset = isSkipInnerOffset ? nodeLength(point.node) : point.offset + 1; } return { node: node, offset: offset }; } /** * returns whether pointA and pointB is same or not. * * @param {BoundaryPoint} pointA * @param {BoundaryPoint} pointB * @return {Boolean} */ function isSamePoint(pointA, pointB) { return pointA.node === pointB.node && pointA.offset === pointB.offset; } /** * returns whether point is visible (can set cursor) or not. * * @param {BoundaryPoint} point * @return {Boolean} */ function isVisiblePoint(point) { if (isText(point.node) || !hasChildren(point.node) || isEmpty(point.node)) { return true; } var leftNode = point.node.childNodes[point.offset - 1]; var rightNode = point.node.childNodes[point.offset]; if ((!leftNode || isVoid(leftNode)) && (!rightNode || isVoid(rightNode))) { return true; } return false; } /** * @method prevPointUtil * * @param {BoundaryPoint} point * @param {Function} pred * @return {BoundaryPoint} */ function prevPointUntil(point, pred) { while (point) { if (pred(point)) { return point; } point = prevPoint(point); } return null; } /** * @method nextPointUntil * * @param {BoundaryPoint} point * @param {Function} pred * @return {BoundaryPoint} */ function nextPointUntil(point, pred) { while (point) { if (pred(point)) { return point; } point = nextPoint(point); } return null; } /** * returns whether point has character or not. * * @param {Point} point * @return {Boolean} */ function isCharPoint(point) { if (!isText(point.node)) { return false; } var ch = point.node.nodeValue.charAt(point.offset - 1); return ch && (ch !== ' ' && ch !== NBSP_CHAR); } /** * @method walkPoint * * @param {BoundaryPoint} startPoint * @param {BoundaryPoint} endPoint * @param {Function} handler * @param {Boolean} isSkipInnerOffset */ function walkPoint(startPoint, endPoint, handler, isSkipInnerOffset) { var point = startPoint; while (point) { handler(point); if (isSamePoint(point, endPoint)) { break; } var isSkipOffset = isSkipInnerOffset && startPoint.node !== point.node && endPoint.node !== point.node; point = nextPoint(point, isSkipOffset); } } /** * @method makeOffsetPath * * return offsetPath(array of offset) from ancestor * * @param {Node} ancestor - ancestor node * @param {Node} node */ function makeOffsetPath(ancestor, node) { var ancestors = listAncestor(node, func.eq(ancestor)); return ancestors.map(position).reverse(); } /** * @method fromOffsetPath * * return element from offsetPath(array of offset) * * @param {Node} ancestor - ancestor node * @param {array} offsets - offsetPath */ function fromOffsetPath(ancestor, offsets) { var current = ancestor; for (var i = 0, len = offsets.length; i < len; i++) { if (current.childNodes.length <= offsets[i]) { current = current.childNodes[current.childNodes.length - 1]; } else { current = current.childNodes[offsets[i]]; } } return current; } /** * @method splitNode * * split element or #text * * @param {BoundaryPoint} point * @param {Object} [options] * @param {Boolean} [options.isSkipPaddingBlankHTML] - default: false * @param {Boolean} [options.isNotSplitEdgePoint] - default: false * @return {Node} right node of boundaryPoint */ function splitNode(point, options) { var isSkipPaddingBlankHTML = options && options.isSkipPaddingBlankHTML; var isNotSplitEdgePoint = options && options.isNotSplitEdgePoint; // edge case if (isEdgePoint(point) && (isText(point.node) || isNotSplitEdgePoint)) { if (isLeftEdgePoint(point)) { return point.node; } else if (isRightEdgePoint(point)) { return point.node.nextSibling; } } // split #text if (isText(point.node)) { return point.node.splitText(point.offset); } else { var childNode = point.node.childNodes[point.offset]; var clone = insertAfter(point.node.cloneNode(false), point.node); appendChildNodes(clone, listNext(childNode)); if (!isSkipPaddingBlankHTML) { paddingBlankHTML(point.node); paddingBlankHTML(clone); } return clone; } } /** * @method splitTree * * split tree by point * * @param {Node} root - split root * @param {BoundaryPoint} point * @param {Object} [options] * @param {Boolean} [options.isSkipPaddingBlankHTML] - default: false * @param {Boolean} [options.isNotSplitEdgePoint] - default: false * @return {Node} right node of boundaryPoint */ function splitTree(root, point, options) { // ex) [#text, <span>, <p>] var ancestors = listAncestor(point.node, func.eq(root)); if (!ancestors.length) { return null; } else if (ancestors.length === 1) { return splitNode(point, options); } return ancestors.reduce(function (node, parent) { if (node === point.node) { node = splitNode(point, options); } return splitNode({ node: parent, offset: node ? position(node) : nodeLength(parent) }, options); }); } /** * split point * * @param {Point} point * @param {Boolean} isInline * @return {Object} */ function splitPoint(point, isInline) { // find splitRoot, container // - inline: splitRoot is a child of paragraph // - block: splitRoot is a child of bodyContainer var pred = isInline ? isPara : isBodyContainer; var ancestors = listAncestor(point.node, pred); var topAncestor = lists.last(ancestors) || point.node; var splitRoot, container; if (pred(topAncestor)) { splitRoot = ancestors[ancestors.length - 2]; container = topAncestor; } else { splitRoot = topAncestor; container = splitRoot.parentNode; } // if splitRoot is exists, split with splitTree var pivot = splitRoot && splitTree(splitRoot, point, { isSkipPaddingBlankHTML: isInline, isNotSplitEdgePoint: isInline }); // if container is point.node, find pivot with point.offset if (!pivot && container === point.node) { pivot = point.node.childNodes[point.offset]; } return { rightNode: pivot, container: container }; } function create(nodeName) { return document.createElement(nodeName); } function createText(text) { return document.createTextNode(text); } /** * @method remove * * remove node, (isRemoveChild: remove child or not) * * @param {Node} node * @param {Boolean} isRemoveChild */ function remove(node, isRemoveChild) { if (!node || !node.parentNode) { return; } if (node.removeNode) { return node.removeNode(isRemoveChild); } var parent = node.parentNode; if (!isRemoveChild) { var nodes = []; for (var i = 0, len = node.childNodes.length; i < len; i++) { nodes.push(node.childNodes[i]); } for (var i = 0, len = nodes.length; i < len; i++) { parent.insertBefore(nodes[i], node); } } parent.removeChild(node); } /** * @method removeWhile * * @param {Node} node * @param {Function} pred */ function removeWhile(node, pred) { while (node) { if (isEditable(node) || !pred(node)) { break; } var parent = node.parentNode; remove(node); node = parent; } } /** * @method replace * * replace node with provided nodeName * * @param {Node} node * @param {String} nodeName * @return {Node} - new node */ function replace(node, nodeName) { if (node.nodeName.toUpperCase() === nodeName.toUpperCase()) { return node; } var newNode = create(nodeName); if (node.style.cssText) { newNode.style.cssText = node.style.cssText; } appendChildNodes(newNode, lists.from(node.childNodes)); insertAfter(newNode, node); remove(node); return newNode; } var isTextarea = makePredByNodeName('TEXTAREA'); /** * @param {jQuery} $node * @param {Boolean} [stripLinebreaks] - default: false */ function value($node, stripLinebreaks) { var val = isTextarea($node[0]) ? $node.val() : $node.html(); if (stripLinebreaks) { return val.replace(/[\n\r]/g, ''); } return val; } /** * @method html * * get the HTML contents of node * * @param {jQuery} $node * @param {Boolean} [isNewlineOnBlock] */ function html($node, isNewlineOnBlock) { var markup = value($node); if (isNewlineOnBlock) { var regexTag = /<(\/?)(\b(?!!)[^>\s]*)(.*?)(\s*\/?>)/g; markup = markup.replace(regexTag, function (match, endSlash, name) { name = name.toUpperCase(); var isEndOfInlineContainer = /^DIV|^TD|^TH|^P|^LI|^H[1-7]/.test(name) && !!endSlash; var isBlockNode = /^BLOCKQUOTE|^TABLE|^TBODY|^TR|^HR|^UL|^OL/.test(name); return match + ((isEndOfInlineContainer || isBlockNode) ? '\n' : ''); }); markup = $$1.trim(markup); } return markup; } function posFromPlaceholder(placeholder) { var $placeholder = $$1(placeholder); var pos = $placeholder.offset(); var height = $placeholder.outerHeight(true); // include margin return { left: pos.left, top: pos.top + height }; } function attachEvents($node, events) { Object.keys(events).forEach(function (key) { $node.on(key, events[key]); }); } function detachEvents($node, events) { Object.keys(events).forEach(function (key) { $node.off(key, events[key]); }); } /** * @method isCustomStyleTag * * assert if a node contains a "note-styletag" class, * which implies that's a custom-made style tag node * * @param {Node} an HTML DOM node */ function isCustomStyleTag(node) { return node && !isText(node) && lists.contains(node.classList, 'note-styletag'); } var dom = { /** @property {String} NBSP_CHAR */ NBSP_CHAR: NBSP_CHAR, /** @property {String} ZERO_WIDTH_NBSP_CHAR */ ZERO_WIDTH_NBSP_CHAR: ZERO_WIDTH_NBSP_CHAR, /** @property {String} blank */ blank: blankHTML, /** @property {String} emptyPara */ emptyPara: "<p>" + blankHTML + "</p>", makePredByNodeName: makePredByNodeName, isEditable: isEditable, isControlSizing: isControlSizing, isText: isText, isElement: isElement, isVoid: isVoid, isPara: isPara, isPurePara: isPurePara, isHeading: isHeading, isInline: isInline, isBlock: func.not(isInline), isBodyInline: isBodyInline, isBody: isBody, isParaInline: isParaInline, isPre: isPre, isList: isList, isTable: isTable, isData: isData, isCell: isCell, isBlockquote: isBlockquote, isBodyContainer: isBodyContainer, isAnchor: isAnchor, isDiv: makePredByNodeName('DIV'), isLi: isLi, isBR: makePredByNodeName('BR'), isSpan: makePredByNodeName('SPAN'), isB: makePredByNodeName('B'), isU: makePredByNodeName('U'), isS: makePredByNodeName('S'), isI: makePredByNodeName('I'), isImg: makePredByNodeName('IMG'), isTextarea: isTextarea, isEmpty: isEmpty, isEmptyAnchor: func.and(isAnchor, isEmpty), isClosestSibling: isClosestSibling, withClosestSiblings: withClosestSiblings, nodeLength: nodeLength, isLeftEdgePoint: isLeftEdgePoint, isRightEdgePoint: isRightEdgePoint, isEdgePoint: isEdgePoint, isLeftEdgeOf: isLeftEdgeOf, isRightEdgeOf: isRightEdgeOf, isLeftEdgePointOf: isLeftEdgePointOf, isRightEdgePointOf: isRightEdgePointOf, prevPoint: prevPoint, nextPoint: nextPoint, isSamePoint: isSamePoint, isVisiblePoint: isVisiblePoint, prevPointUntil: prevPointUntil, nextPointUntil: nextPointUntil, isCharPoint: isCharPoint, walkPoint: walkPoint, ancestor: ancestor, singleChildAncestor: singleChildAncestor, listAncestor: listAncestor, lastAncestor: lastAncestor, listNext: listNext, listPrev: listPrev, listDescendant: listDescendant, commonAncestor: commonAncestor, wrap: wrap, insertAfter: insertAfter, appendChildNodes: appendChildNodes, position: position, hasChildren: hasChildren, makeOffsetPath: makeOffsetPath, fromOffsetPath: fromOffsetPath, splitTree: splitTree, splitPoint: splitPoint, create: create, createText: createText, remove: remove, removeWhile: removeWhile, replace: replace, html: html, value: value, posFromPlaceholder: posFromPlaceholder, attachEvents: attachEvents, detachEvents: detachEvents, isCustomStyleTag: isCustomStyleTag }; $$1.summernote = $$1.summernote || { lang: {} }; $$1.extend($$1.summernote.lang, { 'en-US': { font: { bold: 'Bold', italic: 'Italic', underline: 'Underline', clear: 'Remove Font Style', height: 'Line Height', name: 'Font Family', strikethrough: 'Strikethrough', subscript: 'Subscript', superscript: 'Superscript', size: 'Font Size' }, image: { image: 'Picture', insert: 'Insert Image', resizeFull: 'Resize Full', resizeHalf: 'Resize Half', resizeQuarter: 'Resize Quarter', floatLeft: 'Float Left', floatRight: 'Float Right', floatNone: 'Float None', shapeRounded: 'Shape: Rounded', shapeCircle: 'Shape: Circle', shapeThumbnail: 'Shape: Thumbnail', shapeNone: 'Shape: None', dragImageHere: 'Drag image or text here', dropImage: 'Drop image or Text', selectFromFiles: 'Select from files', maximumFileSize: 'Maximum file size', maximumFileSizeError: 'Maximum file size exceeded.', url: 'Image URL', remove: 'Remove Image', original: 'Original' }, video: { video: 'Video', videoLink: 'Video Link', insert: 'Insert Video', url: 'Video URL', providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion or Youku)' }, link: { link: 'Link', insert: 'Insert Link', unlink: 'Unlink', edit: 'Edit', textToDisplay: 'Text to display', url: 'To what URL should this link go?', openInNewWindow: 'Open in new window' }, table: { table: 'Table', addRowAbove: 'Add row above', addRowBelow: 'Add row below', addColLeft: 'Add column left', addColRight: 'Add column right', delRow: 'Delete row', delCol: 'Delete column', delTable: 'Delete table' }, hr: { insert: 'Insert Horizontal Rule' }, style: { style: 'Style', p: 'Normal', blockquote: 'Quote', pre: 'Code', h1: 'Header 1', h2: 'Header 2', h3: 'Header 3', h4: 'Header 4', h5: 'Header 5', h6: 'Header 6' }, lists: { unordered: 'Unordered list', ordered: 'Ordered list' }, options: { help: 'Help', fullscreen: 'Full Screen', codeview: 'Code View' }, paragraph: { paragraph: 'Paragraph', outdent: 'Outdent', indent: 'Indent', left: 'Align left', center: 'Align center', right: 'Align right', justify: 'Justify full' }, color: { recent: 'Recent Color', more: 'More Color', background: 'Background Color', foreground: 'Foreground Color', transparent: 'Transparent', setTransparent: 'Set transparent', reset: 'Reset', resetToDefault: 'Reset to default' }, shortcut: { shortcuts: 'Keyboard shortcuts', close: 'Close', textFormatting: 'Text formatting', action: 'Action', paragraphFormatting: 'Paragraph formatting', documentStyle: 'Document Style', extraKeys: 'Extra keys' }, help: { 'insertParagraph': 'Insert Paragraph', 'undo': 'Undoes the last command', 'redo': 'Redoes the last command', 'tab': 'Tab', 'untab': 'Untab', 'bold': 'Set a bold style', 'italic': 'Set a italic style', 'underline': 'Set a underline style', 'strikethrough': 'Set a strikethrough style', 'removeFormat': 'Clean a style', 'justifyLeft': 'Set left align', 'justifyCenter': 'Set center align', 'justifyRight': 'Set right align', 'justifyFull': 'Set full align', 'insertUnorderedList': 'Toggle unordered list', 'insertOrderedList': 'Toggle ordered list', 'outdent': 'Outdent on current paragraph', 'indent': 'Indent on current paragraph', 'formatPara': 'Change current block\'s format as a paragraph(P tag)', 'formatH1': 'Change current block\'s format as H1', 'formatH2': 'Change current block\'s format as H2', 'formatH3': 'Change current block\'s format as H3', 'formatH4': 'Change current block\'s format as H4', 'formatH5': 'Change current block\'s format as H5', 'formatH6': 'Change current block\'s format as H6', 'insertHorizontalRule': 'Insert horizontal rule', 'linkDialog.show': 'Show Link Dialog' }, history: { undo: 'Undo', redo: 'Redo' }, specialChar: { specialChar: 'SPECIAL CHARACTERS', select: 'Select Special characters' } } }); var KEY_MAP = { 'BACKSPACE': 8, 'TAB': 9, 'ENTER': 13, 'SPACE': 32, 'DELETE': 46, // Arrow 'LEFT': 37, 'UP': 38, 'RIGHT': 39, 'DOWN': 40, // Number: 0-9 'NUM0': 48, 'NUM1': 49, 'NUM2': 50, 'NUM3': 51, 'NUM4': 52, 'NUM5': 53, 'NUM6': 54, 'NUM7': 55, 'NUM8': 56, // Alphabet: a-z 'B': 66, 'E': 69, 'I': 73, 'J': 74, 'K': 75, 'L': 76, 'R': 82, 'S': 83, 'U': 85, 'V': 86, 'Y': 89, 'Z': 90, 'SLASH': 191, 'LEFTBRACKET': 219, 'BACKSLASH': 220, 'RIGHTBRACKET': 221 }; /** * @class core.key * * Object for keycodes. * * @singleton * @alternateClassName key */ var key = { /** * @method isEdit * * @param {Number} keyCode * @return {Boolean} */ isEdit: function (keyCode) { return lists.contains([ KEY_MAP.BACKSPACE, KEY_MAP.TAB, KEY_MAP.ENTER, KEY_MAP.SPACE, KEY_MAP.DELETE ], keyCode); }, /** * @method isMove * * @param {Number} keyCode * @return {Boolean} */ isMove: function (keyCode) { return lists.contains([ KEY_MAP.LEFT, KEY_MAP.UP, KEY_MAP.RIGHT, KEY_MAP.DOWN ], keyCode); }, /** * @property {Object} nameFromCode * @property {String} nameFromCode.8 "BACKSPACE" */ nameFromCode: func.invertObject(KEY_MAP), code: KEY_MAP }; /** * return boundaryPoint from TextRange, inspired by Andy Na's HuskyRange.js * * @param {TextRange} textRange * @param {Boolean} isStart * @return {BoundaryPoint} * * @see http://msdn.microsoft.com/en-us/library/ie/ms535872(v=vs.85).aspx */ function textRangeToPoint(textRange, isStart) { var container = textRange.parentElement(); var offset; var tester = document.body.createTextRange(); var prevContainer; var childNodes = lists.from(container.childNodes); for (offset = 0; offset < childNodes.length; offset++) { if (dom.isText(childNodes[offset])) { continue; } tester.moveToElementText(childNodes[offset]); if (tester.compareEndPoints('StartToStart', textRange) >= 0) { break; } prevContainer = childNodes[offset]; } if (offset !== 0 && dom.isText(childNodes[offset - 1])) { var textRangeStart = document.body.createTextRange(); var curTextNode = null; textRangeStart.moveToElementText(prevContainer || container); textRangeStart.collapse(!prevContainer); curTextNode = prevContainer ? prevContainer.nextSibling : container.firstChild; var pointTester = textRange.duplicate(); pointTester.setEndPoint('StartToStart', textRangeStart); var textCount = pointTester.text.replace(/[\r\n]/g, '').length; while (textCount > curTextNode.nodeValue.length && curTextNode.nextSibling) { textCount -= curTextNode.nodeValue.length; curTextNode = curTextNode.nextSibling; } // [workaround] enforce IE to re-reference curTextNode, hack var dummy = curTextNode.nodeValue; // eslint-disable-line if (isStart && curTextNode.nextSibling && dom.isText(curTextNode.nextSibling) && textCount === curTextNode.nodeValue.length) { textCount -= curTextNode.nodeValue.length; curTextNode = curTextNode.nextSibling; } container = curTextNode; offset = textCount; } return { cont: container, offset: offset }; } /** * return TextRange from boundary point (inspired by google closure-library) * @param {BoundaryPoint} point * @return {TextRange} */ function pointToTextRange(point) { var textRangeInfo = function (container, offset) { var node, isCollapseToStart; if (dom.isText(container)) { var prevTextNodes = dom.listPrev(container, func.not(dom.isText)); var prevContainer = lists.last(prevTextNodes).previousSibling; node = prevContainer || container.parentNode; offset += lists.sum(lists.tail(prevTextNodes), dom.nodeLength); isCollapseToStart = !prevContainer; } else { node = container.childNodes[offset] || container; if (dom.isText(node)) { return textRangeInfo(node, 0); } offset = 0; isCollapseToStart = false; } return { node: node, collapseToStart: isCollapseToStart, offset: offset }; }; var textRange = document.body.createTextRange(); var info = textRangeInfo(point.node, point.offset); textRange.moveToElementText(info.node); textRange.collapse(info.collapseToStart); textRange.moveStart('character', info.offset); return textRange; } /** * Wrapped Range * * @constructor * @param {Node} sc - start container * @param {Number} so - start offset * @param {Node} ec - end container * @param {Number} eo - end offset */ var WrappedRange = /** @class */ (function () { function WrappedRange(sc, so, ec, eo) { this.sc = sc; this.so = so; this.ec = ec; this.eo = eo; // isOnEditable: judge whether range is on editable or not this.isOnEditable = this.makeIsOn(dom.isEditable); // isOnList: judge whether range is on list node or not this.isOnList = this.makeIsOn(dom.isList); // isOnAnchor: judge whether range is on anchor node or not this.isOnAnchor = this.makeIsOn(dom.isAnchor); // isOnCell: judge whether range is on cell node or not this.isOnCell = this.makeIsOn(dom.isCell); // isOnData: judge whether range is on data node or not this.isOnData = this.makeIsOn(dom.isData); } // nativeRange: get nativeRange from sc, so, ec, eo WrappedRange.prototype.nativeRange = function () { if (env.isW3CRangeSupport) { var w3cRange = document.createRange(); w3cRange.setStart(this.sc, this.so); w3cRange.setEnd(this.ec, this.eo); return w3cRange; } else { var textRange = pointToTextRange({ node: this.sc, offset: this.so }); textRange.setEndPoint('EndToEnd', pointToTextRange({ node: this.ec, offset: this.eo })); return textRange; } }; WrappedRange.prototype.getPoints = function () { return { sc: this.sc, so: this.so, ec: this.ec, eo: this.eo }; }; WrappedRange.prototype.getStartPoint = function () { return { node: this.sc, offset: this.so }; }; WrappedRange.prototype.getEndPoint = function () { return { node: this.ec, offset: this.eo }; }; /** * select update visible range */ WrappedRange.prototype.select = function () { var nativeRng = this.nativeRange(); if (env.isW3CRangeSupport) { var selection = document.getSelection(); if (selection.rangeCount > 0) { selection.removeAllRanges(); } selection.addRange(nativeRng); } else { nativeRng.select(); } return this; }; /** * Moves the scrollbar to start container(sc) of current range * * @return {WrappedRange} */ WrappedRange.prototype.scrollIntoView = function (container) { var height = $$1(container).height(); if (container.scrollTop + height < this.sc.offsetTop) { container.scrollTop += Math.abs(container.scrollTop + height - this.sc.offsetTop); } return this; }; /** * @return {WrappedRange} */ WrappedRange.prototype.normalize = function () { /** * @param {BoundaryPoint} point * @param {Boolean} isLeftToRight * @return {BoundaryPoint} */ var getVisiblePoint = function (point, isLeftToRight) { if ((dom.isVisiblePoint(point) && !dom.isEdgePoint(point)) || (dom.isVisiblePoint(point) && dom.isRightEdgePoint(point) && !isLeftToRight) || (dom.isVisiblePoint(point) && dom.isLeftEdgePoint(point) && isLeftToRight) || (dom.isVisiblePoint(point) && dom.isBlock(point.node) && dom.isEmpty(point.node))) { return point; } // point on block's edge var block = dom.ancestor(point.node, dom.isBlock); if (((dom.isLeftEdgePointOf(point, block) || dom.isVoid(dom.prevPoint(point).node)) && !isLeftToRight) || ((dom.isRightEdgePointOf(point, block) || dom.isVoid(dom.nextPoint(point).node)) && isLeftToRight)) { // returns point already on visible point if (dom.isVisiblePoint(point)) { return point; } // reverse direction isLeftToRight = !isLeftToRight; } var nextPoint = isLeftToRight ? dom.nextPointUntil(dom.nextPoint(point), dom.isVisiblePoint) : dom.prevPointUntil(dom.prevPoint(point), dom.isVisiblePoint); return nextPoint || point; }; var endPoint = getVisiblePoint(this.getEndPoint(), false); var startPoint = this.isCollapsed() ? endPoint : getVisiblePoint(this.getStartPoint(), true); return new WrappedRange(startPoint.node, startPoint.offset, endPoint.node, endPoint.offset); }; /** * returns matched nodes on range * * @param {Function} [pred] - predicate function * @param {Object} [options] * @param {Boolean} [options.includeAncestor] * @param {Boolean} [options.fullyContains] * @return {Node[]} */ WrappedRange.prototype.nodes = function (pred, options) { pred = pred || func.ok; var includeAncestor = options && options.includeAncestor; var fullyContains = options && options.fullyContains; // TODO compare points and sort var startPoint = this.getStartPoint(); var endPoint = this.getEndPoint(); var nodes = []; var leftEdgeNodes = []; dom.walkPoint(startPoint, endPoint, function (point) { if (dom.isEditable(point.node)) { return; } var node; if (fullyContains) { if (dom.isLeftEdgePoint(point)) { leftEdgeNodes.push(point.node); } if (dom.isRightEdgePoint(point) && lists.contains(leftEdgeNodes, point.node)) { node = point.node; } } else if (includeAncestor) { node = dom.ancestor(point.node, pred); } else { node = point.node; } if (node && pred(node)) { nodes.push(node); } }, true); return lists.unique(nodes); }; /** * returns commonAncestor of range * @return {Element} - commonAncestor */ WrappedRange.prototype.commonAncestor = function () { return dom.commonAncestor(this.sc, this.ec); }; /** * returns expanded range by pred * * @param {Function} pred - predicate function * @return {WrappedRange} */ WrappedRange.prototype.expand = function (pred) { var startAncestor = dom.ancestor(this.sc, pred); var endAncestor = dom.ancestor(this.ec, pred); if (!startAncestor && !endAncestor) { return new WrappedRange(this.sc, this.so, this.ec, this.eo); } var boundaryPoints = this.getPoints(); if (startAncestor) { boundaryPoints.sc = startAncestor; boundaryPoints.so = 0; } if (endAncestor) { boundaryPoints.ec = endAncestor; boundaryPoints.eo = dom.nodeLength(endAncestor); } return new WrappedRange(boundaryPoints.sc, boundaryPoints.so, boundaryPoints.ec, boundaryPoints.eo); }; /** * @param {Boolean} isCollapseToStart * @return {WrappedRange} */ WrappedRange.prototype.collapse = function (isCollapseToStart) { if (isCollapseToStart) { return new WrappedRange(this.sc, this.so, this.sc, this.so); } else { return new WrappedRange(this.ec, this.eo, this.ec, this.eo); } }; /** * splitText on range */ WrappedRange.prototype.splitText = function () { var isSameContainer = this.sc === this.ec; var boundaryPoints = this.getPoints(); if (dom.isText(this.ec) && !dom.isEdgePoint(this.getEndPoint())) { this.ec.splitText(this.eo); } if (dom.isText(this.sc) && !dom.isEdgePoint(this.getStartPoint())) { boundaryPoints.sc = this.sc.splitText(this.so); boundaryPoints.so = 0; if (isSameContainer) { boundaryPoints.ec = boundaryPoints.sc; boundaryPoints.eo = this.eo - this.so; } } return new WrappedRange(boundaryPoints.sc, boundaryPoints.so, boundaryPoints.ec, boundaryPoints.eo); }; /** * delete contents on range * @return {WrappedRange} */ WrappedRange.prototype.deleteContents = function () { if (this.isCollapsed()) { return this; } var rng = this.splitText(); var nodes = rng.nodes(null, { fullyContains: true }); // find new cursor point var point = dom.prevPointUntil(rng.getStartPoint(), function (point) { return !lists.contains(nodes, point.node); }); var emptyParents = []; $$1.each(nodes, function (idx, node) { // find empty parents var parent = node.parentNode; if (point.node !== parent && dom.nodeLength(parent) === 1) { emptyParents.push(parent); } dom.remove(node, false); }); // remove empty parents $$1.each(emptyParents, function (idx, node) { dom.remove(node, false); }); return new WrappedRange(point.node, point.offset, point.node, point.offset).normalize(); }; /** * makeIsOn: return isOn(pred) function */ WrappedRange.prototype.makeIsOn = function (pred) { return function () { var ancestor = dom.ancestor(this.sc, pred); return !!ancestor && (ancestor === dom.ancestor(this.ec, pred)); }; }; /** * @param {Function} pred * @return {Boolean} */ WrappedRange.prototype.isLeftEdgeOf = function (pred) { if (!dom.isLeftEdgePoint(this.getStartPoint())) { return false; } var node = dom.ancestor(this.sc, pred); return node && dom.isLeftEdgeOf(this.sc, node); }; /** * returns whether range was collapsed or not */ WrappedRange.prototype.isCollapsed = function () { return this.sc === this.ec && this.so === this.eo; }; /** * wrap inline nodes which children of body with paragraph * * @return {WrappedRange} */ WrappedRange.prototype.wrapBodyInlineWithPara = function () { if (dom.isBodyContainer(this.sc) && dom.isEmpty(this.sc)) { this.sc.innerHTML = dom.emptyPara; return new WrappedRange(this.sc.firstChild, 0, this.sc.firstChild, 0); } /** * [workaround] firefox often create range on not visible point. so normalize here. * - firefox: |<p>text</p>| * - chrome: <p>|text|</p> */ var rng = this.normalize(); if (dom.isParaInline(this.sc) || dom.isPara(this.sc)) { return rng; } // find inline top ancestor var topAncestor; if (dom.isInline(rng.sc)) { var ancestors = dom.listAncestor(rng.sc, func.not(dom.isInline)); topAncestor = lists.last(ancestors); if (!dom.isInline(topAncestor)) { topAncestor = ancestors[ancestors.length - 2] || rng.sc.childNodes[rng.so]; } } else { topAncestor = rng.sc.childNodes[rng.so > 0 ? rng.so - 1 : 0]; } // siblings not in paragraph var inlineSiblings = dom.listPrev(topAncestor, dom.isParaInline).reverse(); inlineSiblings = inlineSiblings.concat(dom.listNext(topAncestor.nextSibling, dom.isParaInline)); // wrap with paragraph if (inlineSiblings.length) { var para = dom.wrap(lists.head(inlineSiblings), 'p'); dom.appendChildNodes(para, lists.tail(inlineSiblings)); } return this.normalize(); }; /** * insert node at current cursor * * @param {Node} node * @return {Node} */ WrappedRange.prototype.insertNode = function (node) { var rng = this.wrapBodyInlineWithPara().deleteContents(); var info = dom.splitPoint(rng.getStartPoint(), dom.isInline(node)); if (info.rightNode) { info.rightNode.parentNode.insertBefore(node, info.rightNode); } else { info.container.appendChild(node); } return node; }; /** * insert html at current cursor */ WrappedRange.prototype.pasteHTML = function (markup) { var contentsContainer = $$1('<div></div>').html(markup)[0]; var childNodes = lists.from(contentsContainer.childNodes); var rng = this.wrapBodyInlineWithPara().deleteContents(); return childNodes.reverse().map(function (childNode) { return rng.insertNode(childNode); }).reverse(); }; /** * returns text in range * * @return {String} */ WrappedRange.prototype.toString = function () { var nativeRng = this.nativeRange(); return env.isW3CRangeSupport ? nativeRng.toString() : nativeRng.text; }; /** * returns range for word before cursor * * @param {Boolean} [findAfter] - find after cursor, default: false * @return {WrappedRange} */ WrappedRange.prototype.getWordRange = function (findAfter) { var endPoint = this.getEndPoint(); if (!dom.isCharPoint(endPoint)) { return this; } var startPoint = dom.prevPointUntil(endPoint, function (point) { return !dom.isCharPoint(point); }); if (findAfter) { endPoint = dom.nextPointUntil(endPoint, function (point) { return !dom.isCharPoint(point); }); } return new WrappedRange(startPoint.node, startPoint.offset, endPoint.node, endPoint.offset); }; /** * create offsetPath bookmark * * @param {Node} editable */ WrappedRange.prototype.bookmark = function (editable) { return { s: { path: dom.makeOffsetPath(editable, this.sc), offset: this.so }, e: { path: dom.makeOffsetPath(editable, this.ec), offset: this.eo } }; }; /** * create offsetPath bookmark base on paragraph * * @param {Node[]} paras */ WrappedRange.prototype.paraBookmark = function (paras) { return { s: { path: lists.tail(dom.makeOffsetPath(lists.head(paras), this.sc)), offset: this.so }, e: { path: lists.tail(dom.makeOffsetPath(lists.last(paras), this.ec)), offset: this.eo } }; }; /** * getClientRects * @return {Rect[]} */ WrappedRange.prototype.getClientRects = function () { var nativeRng = this.nativeRange(); return nativeRng.getClientRects(); }; return WrappedRange; }()); /** * Data structure * * BoundaryPoint: a point of dom tree * * BoundaryPoints: two boundaryPoints corresponding to the start and the end of the Range * * See to http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-Position */ var range = { /** * create Range Object From arguments or Browser Selection * * @param {Node} sc - start container * @param {Number} so - start offset * @param {Node} ec - end container * @param {Number} eo - end offset * @return {WrappedRange} */ create: function (sc, so, ec, eo) { if (arguments.length === 4) { return new WrappedRange(sc, so, ec, eo); } else if (arguments.length === 2) { ec = sc; eo = so; return new WrappedRange(sc, so, ec, eo); } else { var wrappedRange = this.createFromSelection(); if (!wrappedRange && arguments.length === 1) { wrappedRange = this.createFromNode(arguments[0]); return wrappedRange.collapse(dom.emptyPara === arguments[0].innerHTML); } return wrappedRange; } }, createFromSelection: function () { var sc, so, ec, eo; if (env.isW3CRangeSupport) { var selection = document.getSelection(); if (!selection || selection.rangeCount === 0) { return null; } else if (dom.isBody(selection.anchorNode)) { // Firefox: returns entire body as range on initialization. // We won't never need it. return null; } var nativeRng = selection.getRangeAt(0); sc = nativeRng.startContainer; so = nativeRng.startOffset; ec = nativeRng.endContainer; eo = nativeRng.endOffset; } else { var textRange = document.selection.createRange(); var textRangeEnd = textRange.duplicate(); textRangeEnd.collapse(false); var textRangeStart = textRange; textRangeStart.collapse(true); var startPoint = textRangeToPoint(textRangeStart, true); var endPoint = textRangeToPoint(textRangeEnd, false); // same visible point case: range was collapsed. if (dom.isText(startPoint.node) && dom.isLeftEdgePoint(startPoint) && dom.isTextNode(endPoint.node) && dom.isRightEdgePoint(endPoint) && endPoint.node.nextSibling === startPoint.node) { startPoint = endPoint; } sc = startPoint.cont; so = startPoint.offset; ec = endPoint.cont; eo = endPoint.offset; } return new WrappedRange(sc, so, ec, eo); }, /** * @method * * create WrappedRange from node * * @param {Node} node * @return {WrappedRange} */ createFromNode: function (node) { var sc = node; var so = 0; var ec = node; var eo = dom.nodeLength(ec); // browsers can't target a picture or void node if (dom.isVoid(sc)) { so = dom.listPrev(sc).length - 1; sc = sc.parentNode; } if (dom.isBR(ec)) { eo = dom.listPrev(ec).length - 1; ec = ec.parentNode; } else if (dom.isVoid(ec)) { eo = dom.listPrev(ec).length; ec = ec.parentNode; } return this.create(sc, so, ec, eo); }, /** * create WrappedRange from node after position * * @param {Node} node * @return {WrappedRange} */ createFromNodeBefore: function (node) { return this.createFromNode(node).collapse(true); }, /** * create WrappedRange from node after position * * @param {Node} node * @return {WrappedRange} */ createFromNodeAfter: function (node) { return this.createFromNode(node).collapse(); }, /** * @method * * create WrappedRange from bookmark * * @param {Node} editable * @param {Object} bookmark * @return {WrappedRange} */ createFromBookmark: function (editable, bookmark) { var sc = dom.fromOffsetPath(editable, bookmark.s.path); var so = bookmark.s.offset; var ec = dom.fromOffsetPath(editable, bookmark.e.path); var eo = bookmark.e.offset; return new WrappedRange(sc, so, ec, eo); }, /** * @method * * create WrappedRange from paraBookmark * * @param {Object} bookmark * @param {Node[]} paras * @return {WrappedRange} */ createFromParaBookmark: function (bookmark, paras) { var so = bookmark.s.offset; var eo = bookmark.e.offset; var sc = dom.fromOffsetPath(lists.head(paras), bookmark.s.path); var ec = dom.fromOffsetPath(lists.last(paras), bookmark.e.path); return new WrappedRange(sc, so, ec, eo); } }; /** * @method readFileAsDataURL * * read contents of file as representing URL * * @param {File} file * @return {Promise} - then: dataUrl */ function readFileAsDataURL(file) { return $$1.Deferred(function (deferred) { $$1.extend(new FileReader(), { onload: function (e) { var dataURL = e.target.result; deferred.resolve(dataURL); }, onerror: function (err) { deferred.reject(err); } }).readAsDataURL(file); }).promise(); } /** * @method createImage * * create `<image>` from url string * * @param {String} url * @return {Promise} - then: $image */ function createImage(url) { return $$1.Deferred(function (deferred) { var $img = $$1('<img>'); $img.one('load', function () { $img.off('error abort'); deferred.resolve($img); }).one('error abort', function () { $img.off('load').detach(); deferred.reject($img); }).css({ display: 'none' }).appendTo(document.body).attr('src', url); }).promise(); } var History = /** @class */ (function () { function History($editable) { this.stack = []; this.stackOffset = -1; this.$editable = $editable; this.editable = $editable[0]; } History.prototype.makeSnapshot = function () { var rng = range.create(this.editable); var emptyBookmark = { s: { path: [], offset: 0 }, e: { path: [], offset: 0 } }; return { contents: this.$editable.html(), bookmark: (rng ? rng.bookmark(this.editable) : emptyBookmark) }; }; History.prototype.applySnapshot = function (snapshot) { if (snapshot.contents !== null) { this.$editable.html(snapshot.contents); } if (snapshot.bookmark !== null) { range.createFromBookmark(this.editable, snapshot.bookmark).select(); } }; /** * @method rewind * Rewinds the history stack back to the first snapshot taken. * Leaves the stack intact, so that "Redo" can still be used. */ History.prototype.rewind = function () { // Create snap shot if not yet recorded if (this.$editable.html() !== this.stack[this.stackOffset].contents) { this.recordUndo(); } // Return to the first available snapshot. this.stackOffset = 0; // Apply that snapshot. this.applySnapshot(this.stack[this.stackOffset]); }; /** * @method reset * Resets the history stack completely; reverting to an empty editor. */ History.prototype.reset = function () { // Clear the stack. this.stack = []; // Restore stackOffset to its original value. this.stackOffset = -1; // Clear the editable area. this.$editable.html(''); // Record our first snapshot (of nothing). this.recordUndo(); }; /** * undo */ History.prototype.undo = function () { // Create snap shot if not yet recorded if (this.$editable.html() !== this.stack[this.stackOffset].contents) { this.recordUndo(); } if (this.stackOffset > 0) { this.stackOffset--; this.applySnapshot(this.stack[this.stackOffset]); } }; /** * redo */ History.prototype.redo = function () { if (this.stack.length - 1 > this.stackOffset) { this.stackOffset++; this.applySnapshot(this.stack[this.stackOffset]); } }; /** * recorded undo */ History.prototype.recordUndo = function () { this.stackOffset++; // Wash out stack after stackOffset if (this.stack.length > this.stackOffset) { this.stack = this.stack.slice(0, this.stackOffset); } // Create new snapshot and push it to the end this.stack.push(this.makeSnapshot()); }; return History; }()); var Style = /** @class */ (function () { function Style() { } /** * @method jQueryCSS * * [workaround] for old jQuery * passing an array of style properties to .css() * will result in an object of property-value pairs. * (compability with version < 1.9) * * @private * @param {jQuery} $obj * @param {Array} propertyNames - An array of one or more CSS properties. * @return {Object} */ Style.prototype.jQueryCSS = function ($obj, propertyNames) { if (env.jqueryVersion < 1.9) { var result_1 = {}; $$1.each(propertyNames, function (idx, propertyName) { result_1[propertyName] = $obj.css(propertyName); }); return result_1; } return $obj.css(propertyNames); }; /** * returns style object from node * * @param {jQuery} $node * @return {Object} */ Style.prototype.fromNode = function ($node) { var properties = ['font-family', 'font-size', 'text-align', 'list-style-type', 'line-height']; var styleInfo = this.jQueryCSS($node, properties) || {}; styleInfo['font-size'] = parseInt(styleInfo['font-size'], 10); return styleInfo; }; /** * paragraph level style * * @param {WrappedRange} rng * @param {Object} styleInfo */ Style.prototype.stylePara = function (rng, styleInfo) { $$1.each(rng.nodes(dom.isPara, { includeAncestor: true }), function (idx, para) { $$1(para).css(styleInfo); }); }; /** * insert and returns styleNodes on range. * * @param {WrappedRange} rng * @param {Object} [options] - options for styleNodes * @param {String} [options.nodeName] - default: `SPAN` * @param {Boolean} [options.expandClosestSibling] - default: `false` * @param {Boolean} [options.onlyPartialContains] - default: `false` * @return {Node[]} */ Style.prototype.styleNodes = function (rng, options) { rng = rng.splitText(); var nodeName = (options && options.nodeName) || 'SPAN'; var expandClosestSibling = !!(options && options.expandClosestSibling); var onlyPartialContains = !!(options && options.onlyPartialContains); if (rng.isCollapsed()) { return [rng.insertNode(dom.create(nodeName))]; } var pred = dom.makePredByNodeName(nodeName); var nodes = rng.nodes(dom.isText, { fullyContains: true }).map(function (text) { return dom.singleChildAncestor(text, pred) || dom.wrap(text, nodeName); }); if (expandClosestSibling) { if (onlyPartialContains) { var nodesInRange_1 = rng.nodes(); // compose with partial contains predication pred = func.and(pred, function (node) { return lists.contains(nodesInRange_1, node); }); } return nodes.map(function (node) { var siblings = dom.withClosestSiblings(node, pred); var head = lists.head(siblings); var tails = lists.tail(siblings); $$1.each(tails, function (idx, elem) { dom.appendChildNodes(head, elem.childNodes); dom.remove(elem); }); return lists.head(siblings); }); } else { return nodes; } }; /** * get current style on cursor * * @param {WrappedRange} rng * @return {Object} - object contains style properties. */ Style.prototype.current = function (rng) { var $cont = $$1(!dom.isElement(rng.sc) ? rng.sc.parentNode : rng.sc); var styleInfo = this.fromNode($cont); // document.queryCommandState for toggle state // [workaround] prevent Firefox nsresult: "0x80004005 (NS_ERROR_FAILURE)" try { styleInfo = $$1.extend(styleInfo, { 'font-bold': document.queryCommandState('bold') ? 'bold' : 'normal', 'font-italic': document.queryCommandState('italic') ? 'italic' : 'normal', 'font-underline': document.queryCommandState('underline') ? 'underline' : 'normal', 'font-subscript': document.queryCommandState('subscript') ? 'subscript' : 'normal', 'font-superscript': document.queryCommandState('superscript') ? 'superscript' : 'normal', 'font-strikethrough': document.queryCommandState('strikethrough') ? 'strikethrough' : 'normal', 'font-family': document.queryCommandValue('fontname') || styleInfo['font-family'] }); } catch (e) { } // list-style-type to list-style(unordered, ordered) if (!rng.isOnList()) { styleInfo['list-style'] = 'none'; } else { var orderedTypes = ['circle', 'disc', 'disc-leading-zero', 'square']; var isUnordered = $$1.inArray(styleInfo['list-style-type'], orderedTypes) > -1; styleInfo['list-style'] = isUnordered ? 'unordered' : 'ordered'; } var para = dom.ancestor(rng.sc, dom.isPara); if (para && para.style['line-height']) { styleInfo['line-height'] = para.style.lineHeight; } else { var lineHeight = parseInt(styleInfo['line-height'], 10) / parseInt(styleInfo['font-size'], 10); styleInfo['line-height'] = lineHeight.toFixed(1); } styleInfo.anchor = rng.isOnAnchor() && dom.ancestor(rng.sc, dom.isAnchor); styleInfo.ancestors = dom.listAncestor(rng.sc, dom.isEditable); styleInfo.range = rng; return styleInfo; }; return Style; }()); var Bullet = /** @class */ (function () { function Bullet() { } /** * toggle ordered list */ Bullet.prototype.insertOrderedList = function (editable) { this.toggleList('OL', editable); }; /** * toggle unordered list */ Bullet.prototype.insertUnorderedList = function (editable) { this.toggleList('UL', editable); }; /** * indent */ Bullet.prototype.indent = function (editable) { var _this = this; var rng = range.create(editable).wrapBodyInlineWithPara(); var paras = rng.nodes(dom.isPara, { includeAncestor: true }); var clustereds = lists.clusterBy(paras, func.peq2('parentNode')); $$1.each(clustereds, function (idx, paras) { var head = lists.head(paras); if (dom.isLi(head)) { _this.wrapList(paras, head.parentNode.nodeName); } else { $$1.each(paras, function (idx, para) { $$1(para).css('marginLeft', function (idx, val) { return (parseInt(val, 10) || 0) + 25; }); }); } }); rng.select(); }; /** * outdent */ Bullet.prototype.outdent = function (editable) { var _this = this; var rng = range.create(editable).wrapBodyInlineWithPara(); var paras = rng.nodes(dom.isPara, { includeAncestor: true }); var clustereds = lists.clusterBy(paras, func.peq2('parentNode')); $$1.each(clustereds, function (idx, paras) { var head = lists.head(paras); if (dom.isLi(head)) { _this.releaseList([paras]); } else { $$1.each(paras, function (idx, para) { $$1(para).css('marginLeft', function (idx, val) { val = (parseInt(val, 10) || 0); return val > 25 ? val - 25 : ''; }); }); } }); rng.select(); }; /** * toggle list * * @param {String} listName - OL or UL */ Bullet.prototype.toggleList = function (listName, editable) { var _this = this; var rng = range.create(editable).wrapBodyInlineWithPara(); var paras = rng.nodes(dom.isPara, { includeAncestor: true }); var bookmark = rng.paraBookmark(paras); var clustereds = lists.clusterBy(paras, func.peq2('parentNode')); // paragraph to list if (lists.find(paras, dom.isPurePara)) { var wrappedParas_1 = []; $$1.each(clustereds, function (idx, paras) { wrappedParas_1 = wrappedParas_1.concat(_this.wrapList(paras, listName)); }); paras = wrappedParas_1; // list to paragraph or change list style } else { var diffLists = rng.nodes(dom.isList, { includeAncestor: true }).filter(function (listNode) { return !$$1.nodeName(listNode, listName); }); if (diffLists.length) { $$1.each(diffLists, function (idx, listNode) { dom.replace(listNode, listName); }); } else { paras = this.releaseList(clustereds, true); } } range.createFromParaBookmark(bookmark, paras).select(); }; /** * @param {Node[]} paras * @param {String} listName * @return {Node[]} */ Bullet.prototype.wrapList = function (paras, listName) { var head = lists.head(paras); var last = lists.last(paras); var prevList = dom.isList(head.previousSibling) && head.previousSibling; var nextList = dom.isList(last.nextSibling) && last.nextSibling; var listNode = prevList || dom.insertAfter(dom.create(listName || 'UL'), last); // P to LI paras = paras.map(function (para) { return dom.isPurePara(para) ? dom.replace(para, 'LI') : para; }); // append to list(<ul>, <ol>) dom.appendChildNodes(listNode, paras); if (nextList) { dom.appendChildNodes(listNode, lists.from(nextList.childNodes)); dom.remove(nextList); } return paras; }; /** * @method releaseList * * @param {Array[]} clustereds * @param {Boolean} isEscapseToBody * @return {Node[]} */ Bullet.prototype.releaseList = function (clustereds, isEscapseToBody) { var releasedParas = []; $$1.each(clustereds, function (idx, paras) { var head = lists.head(paras); var last = lists.last(paras); var headList = isEscapseToBody ? dom.lastAncestor(head, dom.isList) : head.parentNode; var lastList = headList.childNodes.length > 1 ? dom.splitTree(headList, { node: last.parentNode, offset: dom.position(last) + 1 }, { isSkipPaddingBlankHTML: true }) : null; var middleList = dom.splitTree(headList, { node: head.parentNode, offset: dom.position(head) }, { isSkipPaddingBlankHTML: true }); paras = isEscapseToBody ? dom.listDescendant(middleList, dom.isLi) : lists.from(middleList.childNodes).filter(dom.isLi); // LI to P if (isEscapseToBody || !dom.isList(headList.parentNode)) { paras = paras.map(function (para) { return dom.replace(para, 'P'); }); } $$1.each(lists.from(paras).reverse(), function (idx, para) { dom.insertAfter(para, headList); }); // remove empty lists var rootLists = lists.compact([headList, middleList, lastList]); $$1.each(rootLists, function (idx, rootList) { var listNodes = [rootList].concat(dom.listDescendant(rootList, dom.isList)); $$1.each(listNodes.reverse(), function (idx, listNode) { if (!dom.nodeLength(listNode)) { dom.remove(listNode, true); } }); }); releasedParas = releasedParas.concat(paras); }); return releasedParas; }; return Bullet; }()); /** * @class editing.Typing * * Typing * */ var Typing = /** @class */ (function () { function Typing() { // a Bullet instance to toggle lists off this.bullet = new Bullet(); } /** * insert tab * * @param {WrappedRange} rng * @param {Number} tabsize */ Typing.prototype.insertTab = function (rng, tabsize) { var tab = dom.createText(new Array(tabsize + 1).join(dom.NBSP_CHAR)); rng = rng.deleteContents(); rng.insertNode(tab, true); rng = range.create(tab, tabsize); rng.select(); }; /** * insert paragraph */ Typing.prototype.insertParagraph = function (editable) { var rng = range.create(editable); // deleteContents on range. rng = rng.deleteContents(); // Wrap range if it needs to be wrapped by paragraph rng = rng.wrapBodyInlineWithPara(); // finding paragraph var splitRoot = dom.ancestor(rng.sc, dom.isPara); var nextPara; // on paragraph: split paragraph if (splitRoot) { // if it is an empty line with li if (dom.isEmpty(splitRoot) && dom.isLi(splitRoot)) { // toogle UL/OL and escape this.bullet.toggleList(splitRoot.parentNode.nodeName); return; // if it is an empty line with para on blockquote } else if (dom.isEmpty(splitRoot) && dom.isPara(splitRoot) && dom.isBlockquote(splitRoot.parentNode)) { // escape blockquote dom.insertAfter(splitRoot, splitRoot.parentNode); nextPara = splitRoot; // if new line has content (not a line break) } else { nextPara = dom.splitTree(splitRoot, rng.getStartPoint()); var emptyAnchors = dom.listDescendant(splitRoot, dom.isEmptyAnchor); emptyAnchors = emptyAnchors.concat(dom.listDescendant(nextPara, dom.isEmptyAnchor)); $$1.each(emptyAnchors, function (idx, anchor) { dom.remove(anchor); }); // replace empty heading, pre or custom-made styleTag with P tag if ((dom.isHeading(nextPara) || dom.isPre(nextPara) || dom.isCustomStyleTag(nextPara)) && dom.isEmpty(nextPara)) { nextPara = dom.replace(nextPara, 'p'); } } // no paragraph: insert empty paragraph } else { var next = rng.sc.childNodes[rng.so]; nextPara = $$1(dom.emptyPara)[0]; if (next) { rng.sc.insertBefore(nextPara, next); } else { rng.sc.appendChild(nextPara); } } range.create(nextPara, 0).normalize().select().scrollIntoView(editable); }; return Typing; }()); /** * @class Create a virtual table to create what actions to do in change. * @param {object} startPoint Cell selected to apply change. * @param {enum} where Where change will be applied Row or Col. Use enum: TableResultAction.where * @param {enum} action Action to be applied. Use enum: TableResultAction.requestAction * @param {object} domTable Dom element of table to make changes. */ var TableResultAction = function (startPoint, where, action, domTable) { var _startPoint = { 'colPos': 0, 'rowPos': 0 }; var _virtualTable = []; var _actionCellList = []; /// /////////////////////////////////////////// // Private functions /// /////////////////////////////////////////// /** * Set the startPoint of action. */ function setStartPoint() { if (!startPoint || !startPoint.tagName || (startPoint.tagName.toLowerCase() !== 'td' && startPoint.tagName.toLowerCase() !== 'th')) { console.error('Impossible to identify start Cell point.', startPoint); return; } _startPoint.colPos = startPoint.cellIndex; if (!startPoint.parentElement || !startPoint.parentElement.tagName || startPoint.parentElement.tagName.toLowerCase() !== 'tr') { console.error('Impossible to identify start Row point.', startPoint); return; } _startPoint.rowPos = startPoint.parentElement.rowIndex; } /** * Define virtual table position info object. * * @param {int} rowIndex Index position in line of virtual table. * @param {int} cellIndex Index position in column of virtual table. * @param {object} baseRow Row affected by this position. * @param {object} baseCell Cell affected by this position. * @param {bool} isSpan Inform if it is an span cell/row. */ function setVirtualTablePosition(rowIndex, cellIndex, baseRow, baseCell, isRowSpan, isColSpan, isVirtualCell) { var objPosition = { 'baseRow': baseRow, 'baseCell': baseCell, 'isRowSpan': isRowSpan, 'isColSpan': isColSpan, 'isVirtual': isVirtualCell }; if (!_virtualTable[rowIndex]) { _virtualTable[rowIndex] = []; } _virtualTable[rowIndex][cellIndex] = objPosition; } /** * Create action cell object. * * @param {object} virtualTableCellObj Object of specific position on virtual table. * @param {enum} resultAction Action to be applied in that item. */ function getActionCell(virtualTableCellObj, resultAction, virtualRowPosition, virtualColPosition) { return { 'baseCell': virtualTableCellObj.baseCell, 'action': resultAction, 'virtualTable': { 'rowIndex': virtualRowPosition, 'cellIndex': virtualColPosition } }; } /** * Recover free index of row to append Cell. * * @param {int} rowIndex Index of row to find free space. * @param {int} cellIndex Index of cell to find free space in table. */ function recoverCellIndex(rowIndex, cellIndex) { if (!_virtualTable[rowIndex]) { return cellIndex; } if (!_virtualTable[rowIndex][cellIndex]) { return cellIndex; } var newCellIndex = cellIndex; while (_virtualTable[rowIndex][newCellIndex]) { newCellIndex++; if (!_virtualTable[rowIndex][newCellIndex]) { return newCellIndex; } } } /** * Recover info about row and cell and add information to virtual table. * * @param {object} row Row to recover information. * @param {object} cell Cell to recover information. */ function addCellInfoToVirtual(row, cell) { var cellIndex = recoverCellIndex(row.rowIndex, cell.cellIndex); var cellHasColspan = (cell.colSpan > 1); var cellHasRowspan = (cell.rowSpan > 1); var isThisSelectedCell = (row.rowIndex === _startPoint.rowPos && cell.cellIndex === _startPoint.colPos); setVirtualTablePosition(row.rowIndex, cellIndex, row, cell, cellHasRowspan, cellHasColspan, false); // Add span rows to virtual Table. var rowspanNumber = cell.attributes.rowSpan ? parseInt(cell.attributes.rowSpan.value, 10) : 0; if (rowspanNumber > 1) { for (var rp = 1; rp < rowspanNumber; rp++) { var rowspanIndex = row.rowIndex + rp; adjustStartPoint(rowspanIndex, cellIndex, cell, isThisSelectedCell); setVirtualTablePosition(rowspanIndex, cellIndex, row, cell, true, cellHasColspan, true); } } // Add span cols to virtual table. var colspanNumber = cell.attributes.colSpan ? parseInt(cell.attributes.colSpan.value, 10) : 0; if (colspanNumber > 1) { for (var cp = 1; cp < colspanNumber; cp++) { var cellspanIndex = recoverCellIndex(row.rowIndex, (cellIndex + cp)); adjustStartPoint(row.rowIndex, cellspanIndex, cell, isThisSelectedCell); setVirtualTablePosition(row.rowIndex, cellspanIndex, row, cell, cellHasRowspan, true, true); } } } /** * Process validation and adjust of start point if needed * * @param {int} rowIndex * @param {int} cellIndex * @param {object} cell * @param {bool} isSelectedCell */ function adjustStartPoint(rowIndex, cellIndex, cell, isSelectedCell) { if (rowIndex === _startPoint.rowPos && _startPoint.colPos >= cell.cellIndex && cell.cellIndex <= cellIndex && !isSelectedCell) { _startPoint.colPos++; } } /** * Create virtual table of cells with all cells, including span cells. */ function createVirtualTable() { var rows = domTable.rows; for (var rowIndex = 0; rowIndex < rows.length; rowIndex++) { var cells = rows[rowIndex].cells; for (var cellIndex = 0; cellIndex < cells.length; cellIndex++) { addCellInfoToVirtual(rows[rowIndex], cells[cellIndex]); } } } /** * Get action to be applied on the cell. * * @param {object} cell virtual table cell to apply action */ function getDeleteResultActionToCell(cell) { switch (where) { case TableResultAction.where.Column: if (cell.isColSpan) { return TableResultAction.resultAction.SubtractSpanCount; } break; case TableResultAction.where.Row: if (!cell.isVirtual && cell.isRowSpan) { return TableResultAction.resultAction.AddCell; } else if (cell.isRowSpan) { return TableResultAction.resultAction.SubtractSpanCount; } break; } return TableResultAction.resultAction.RemoveCell; } /** * Get action to be applied on the cell. * * @param {object} cell virtual table cell to apply action */ function getAddResultActionToCell(cell) { switch (where) { case TableResultAction.where.Column: if (cell.isColSpan) { return TableResultAction.resultAction.SumSpanCount; } else if (cell.isRowSpan && cell.isVirtual) { return TableResultAction.resultAction.Ignore; } break; case TableResultAction.where.Row: if (cell.isRowSpan) { return TableResultAction.resultAction.SumSpanCount; } else if (cell.isColSpan && cell.isVirtual) { return TableResultAction.resultAction.Ignore; } break; } return TableResultAction.resultAction.AddCell; } function init() { setStartPoint(); createVirtualTable(); } /// /////////////////////////////////////////// // Public functions /// /////////////////////////////////////////// /** * Recover array os what to do in table. */ this.getActionList = function () { var fixedRow = (where === TableResultAction.where.Row) ? _startPoint.rowPos : -1; var fixedCol = (where === TableResultAction.where.Column) ? _startPoint.colPos : -1; var actualPosition = 0; var canContinue = true; while (canContinue) { var rowPosition = (fixedRow >= 0) ? fixedRow : actualPosition; var colPosition = (fixedCol >= 0) ? fixedCol : actualPosition; var row = _virtualTable[rowPosition]; if (!row) { canContinue = false; return _actionCellList; } var cell = row[colPosition]; if (!cell) { canContinue = false; return _actionCellList; } // Define action to be applied in this cell var resultAction = TableResultAction.resultAction.Ignore; switch (action) { case TableResultAction.requestAction.Add: resultAction = getAddResultActionToCell(cell); break; case TableResultAction.requestAction.Delete: resultAction = getDeleteResultActionToCell(cell); break; } _actionCellList.push(getActionCell(cell, resultAction, rowPosition, colPosition)); actualPosition++; } return _actionCellList; }; init(); }; /** * * Where action occours enum. */ TableResultAction.where = { 'Row': 0, 'Column': 1 }; /** * * Requested action to apply enum. */ TableResultAction.requestAction = { 'Add': 0, 'Delete': 1 }; /** * * Result action to be executed enum. */ TableResultAction.resultAction = { 'Ignore': 0, 'SubtractSpanCount': 1, 'RemoveCell': 2, 'AddCell': 3, 'SumSpanCount': 4 }; /** * * @class editing.Table * * Table * */ var Table = /** @class */ (function () { function Table() { } /** * handle tab key * * @param {WrappedRange} rng * @param {Boolean} isShift */ Table.prototype.tab = function (rng, isShift) { var cell = dom.ancestor(rng.commonAncestor(), dom.isCell); var table = dom.ancestor(cell, dom.isTable); var cells = dom.listDescendant(table, dom.isCell); var nextCell = lists[isShift ? 'prev' : 'next'](cells, cell); if (nextCell) { range.create(nextCell, 0).select(); } }; /** * Add a new row * * @param {WrappedRange} rng * @param {String} position (top/bottom) * @return {Node} */ Table.prototype.addRow = function (rng, position) { var cell = dom.ancestor(rng.commonAncestor(), dom.isCell); var currentTr = $$1(cell).closest('tr'); var trAttributes = this.recoverAttributes(currentTr); var html = $$1('<tr' + trAttributes + '></tr>'); var vTable = new TableResultAction(cell, TableResultAction.where.Row, TableResultAction.requestAction.Add, $$1(currentTr).closest('table')[0]); var actions = vTable.getActionList(); for (var idCell = 0; idCell < actions.length; idCell++) { var currentCell = actions[idCell]; var tdAttributes = this.recoverAttributes(currentCell.baseCell); switch (currentCell.action) { case TableResultAction.resultAction.AddCell: html.append('<td' + tdAttributes + '>' + dom.blank + '</td>'); break; case TableResultAction.resultAction.SumSpanCount: if (position === 'top') { var baseCellTr = currentCell.baseCell.parent; var isTopFromRowSpan = (!baseCellTr ? 0 : currentCell.baseCell.closest('tr').rowIndex) <= currentTr[0].rowIndex; if (isTopFromRowSpan) { var newTd = $$1('<div></div>').append($$1('<td' + tdAttributes + '>' + dom.blank + '</td>').removeAttr('rowspan')).html(); html.append(newTd); break; } } var rowspanNumber = parseInt(currentCell.baseCell.rowSpan, 10); rowspanNumber++; currentCell.baseCell.setAttribute('rowSpan', rowspanNumber); break; } } if (position === 'top') { currentTr.before(html); } else { var cellHasRowspan = (cell.rowSpan > 1); if (cellHasRowspan) { var lastTrIndex = currentTr[0].rowIndex + (cell.rowSpan - 2); $$1($$1(currentTr).parent().find('tr')[lastTrIndex]).after($$1(html)); return; } currentTr.after(html); } }; /** * Add a new col * * @param {WrappedRange} rng * @param {String} position (left/right) * @return {Node} */ Table.prototype.addCol = function (rng, position) { var cell = dom.ancestor(rng.commonAncestor(), dom.isCell); var row = $$1(cell).closest('tr'); var rowsGroup = $$1(row).siblings(); rowsGroup.push(row); var vTable = new TableResultAction(cell, TableResultAction.where.Column, TableResultAction.requestAction.Add, $$1(row).closest('table')[0]); var actions = vTable.getActionList(); for (var actionIndex = 0; actionIndex < actions.length; actionIndex++) { var currentCell = actions[actionIndex]; var tdAttributes = this.recoverAttributes(currentCell.baseCell); switch (currentCell.action) { case TableResultAction.resultAction.AddCell: if (position === 'right') { $$1(currentCell.baseCell).after('<td' + tdAttributes + '>' + dom.blank + '</td>'); } else { $$1(currentCell.baseCell).before('<td' + tdAttributes + '>' + dom.blank + '</td>'); } break; case TableResultAction.resultAction.SumSpanCount: if (position === 'right') { var colspanNumber = parseInt(currentCell.baseCell.colSpan, 10); colspanNumber++; currentCell.baseCell.setAttribute('colSpan', colspanNumber); } else { $$1(currentCell.baseCell).before('<td' + tdAttributes + '>' + dom.blank + '</td>'); } break; } } }; /* * Copy attributes from element. * * @param {object} Element to recover attributes. * @return {string} Copied string elements. */ Table.prototype.recoverAttributes = function (el) { var resultStr = ''; if (!el) { return resultStr; } var attrList = el.attributes || []; for (var i = 0; i < attrList.length; i++) { if (attrList[i].name.toLowerCase() === 'id') { continue; } if (attrList[i].specified) { resultStr += ' ' + attrList[i].name + '=\'' + attrList[i].value + '\''; } } return resultStr; }; /** * Delete current row * * @param {WrappedRange} rng * @return {Node} */ Table.prototype.deleteRow = function (rng) { var cell = dom.ancestor(rng.commonAncestor(), dom.isCell); var row = $$1(cell).closest('tr'); var cellPos = row.children('td, th').index($$1(cell)); var rowPos = row[0].rowIndex; var vTable = new TableResultAction(cell, TableResultAction.where.Row, TableResultAction.requestAction.Delete, $$1(row).closest('table')[0]); var actions = vTable.getActionList(); for (var actionIndex = 0; actionIndex < actions.length; actionIndex++) { if (!actions[actionIndex]) { continue; } var baseCell = actions[actionIndex].baseCell; var virtualPosition = actions[actionIndex].virtualTable; var hasRowspan = (baseCell.rowSpan && baseCell.rowSpan > 1); var rowspanNumber = (hasRowspan) ? parseInt(baseCell.rowSpan, 10) : 0; switch (actions[actionIndex].action) { case TableResultAction.resultAction.Ignore: continue; case TableResultAction.resultAction.AddCell: var nextRow = row.next('tr')[0]; if (!nextRow) { continue; } var cloneRow = row[0].cells[cellPos]; if (hasRowspan) { if (rowspanNumber > 2) { rowspanNumber--; nextRow.insertBefore(cloneRow, nextRow.cells[cellPos]); nextRow.cells[cellPos].setAttribute('rowSpan', rowspanNumber); nextRow.cells[cellPos].innerHTML = ''; } else if (rowspanNumber === 2) { nextRow.insertBefore(cloneRow, nextRow.cells[cellPos]); nextRow.cells[cellPos].removeAttribute('rowSpan'); nextRow.cells[cellPos].innerHTML = ''; } } continue; case TableResultAction.resultAction.SubtractSpanCount: if (hasRowspan) { if (rowspanNumber > 2) { rowspanNumber--; baseCell.setAttribute('rowSpan', rowspanNumber); if (virtualPosition.rowIndex !== rowPos && baseCell.cellIndex === cellPos) { baseCell.innerHTML = ''; } } else if (rowspanNumber === 2) { baseCell.removeAttribute('rowSpan'); if (virtualPosition.rowIndex !== rowPos && baseCell.cellIndex === cellPos) { baseCell.innerHTML = ''; } } } continue; case TableResultAction.resultAction.RemoveCell: // Do not need remove cell because row will be deleted. continue; } } row.remove(); }; /** * Delete current col * * @param {WrappedRange} rng * @return {Node} */ Table.prototype.deleteCol = function (rng) { var cell = dom.ancestor(rng.commonAncestor(), dom.isCell); var row = $$1(cell).closest('tr'); var cellPos = row.children('td, th').index($$1(cell)); var vTable = new TableResultAction(cell, TableResultAction.where.Column, TableResultAction.requestAction.Delete, $$1(row).closest('table')[0]); var actions = vTable.getActionList(); for (var actionIndex = 0; actionIndex < actions.length; actionIndex++) { if (!actions[actionIndex]) { continue; } switch (actions[actionIndex].action) { case TableResultAction.resultAction.Ignore: continue; case TableResultAction.resultAction.SubtractSpanCount: var baseCell = actions[actionIndex].baseCell; var hasColspan = (baseCell.colSpan && baseCell.colSpan > 1); if (hasColspan) { var colspanNumber = (baseCell.colSpan) ? parseInt(baseCell.colSpan, 10) : 0; if (colspanNumber > 2) { colspanNumber--; baseCell.setAttribute('colSpan', colspanNumber); if (baseCell.cellIndex === cellPos) { baseCell.innerHTML = ''; } } else if (colspanNumber === 2) { baseCell.removeAttribute('colSpan'); if (baseCell.cellIndex === cellPos) { baseCell.innerHTML = ''; } } } continue; case TableResultAction.resultAction.RemoveCell: dom.remove(actions[actionIndex].baseCell, true); continue; } } }; /** * create empty table element * * @param {Number} rowCount * @param {Number} colCount * @return {Node} */ Table.prototype.createTable = function (colCount, rowCount, options) { var tds = []; var tdHTML; for (var idxCol = 0; idxCol < colCount; idxCol++) { tds.push('<td>' + dom.blank + '</td>'); } tdHTML = tds.join(''); var trs = []; var trHTML; for (var idxRow = 0; idxRow < rowCount; idxRow++) { trs.push('<tr>' + tdHTML + '</tr>'); } trHTML = trs.join(''); var $table = $$1('<table>' + trHTML + '</table>'); if (options && options.tableClassName) { $table.addClass(options.tableClassName); } return $table[0]; }; /** * Delete current table * * @param {WrappedRange} rng * @return {Node} */ Table.prototype.deleteTable = function (rng) { var cell = dom.ancestor(rng.commonAncestor(), dom.isCell); $$1(cell).closest('table').remove(); }; return Table; }()); var KEY_BOGUS = 'bogus'; /** * @class Editor */ var Editor = /** @class */ (function () { function Editor(context) { var _this = this; this.context = context; this.$note = context.layoutInfo.note; this.$editor = context.layoutInfo.editor; this.$editable = context.layoutInfo.editable; this.options = context.options; this.lang = this.options.langInfo; this.editable = this.$editable[0]; this.lastRange = null; this.style = new Style(); this.table = new Table(); this.typing = new Typing(); this.bullet = new Bullet(); this.history = new History(this.$editable); this.context.memo('help.undo', this.lang.help.undo); this.context.memo('help.redo', this.lang.help.redo); this.context.memo('help.tab', this.lang.help.tab); this.context.memo('help.untab', this.lang.help.untab); this.context.memo('help.insertParagraph', this.lang.help.insertParagraph); this.context.memo('help.insertOrderedList', this.lang.help.insertOrderedList); this.context.memo('help.insertUnorderedList', this.lang.help.insertUnorderedList); this.context.memo('help.indent', this.lang.help.indent); this.context.memo('help.outdent', this.lang.help.outdent); this.context.memo('help.formatPara', this.lang.help.formatPara); this.context.memo('help.insertHorizontalRule', this.lang.help.insertHorizontalRule); this.context.memo('help.fontName', this.lang.help.fontName); // native commands(with execCommand), generate function for execCommand var commands = [ 'bold', 'italic', 'underline', 'strikethrough', 'superscript', 'subscript', 'justifyLeft', 'justifyCenter', 'justifyRight', 'justifyFull', 'formatBlock', 'removeFormat', 'backColor' ]; for (var idx = 0, len = commands.length; idx < len; idx++) { this[commands[idx]] = (function (sCmd) { return function (value) { _this.beforeCommand(); document.execCommand(sCmd, false, value); _this.afterCommand(true); }; })(commands[idx]); this.context.memo('help.' + commands[idx], this.lang.help[commands[idx]]); } this.fontName = this.wrapCommand(function (value) { return _this.fontStyling('font-family', "\'" + value + "\'"); }); this.fontSize = this.wrapCommand(function (value) { return _this.fontStyling('font-size', value + 'px'); }); for (var idx = 1; idx <= 6; idx++) { this['formatH' + idx] = (function (idx) { return function () { _this.formatBlock('H' + idx); }; })(idx); this.context.memo('help.formatH' + idx, this.lang.help['formatH' + idx]); } this.insertParagraph = this.wrapCommand(function () { _this.typing.insertParagraph(_this.editable); }); this.insertOrderedList = this.wrapCommand(function () { _this.bullet.insertOrderedList(_this.editable); }); this.insertUnorderedList = this.wrapCommand(function () { _this.bullet.insertUnorderedList(_this.editable); }); this.indent = this.wrapCommand(function () { _this.bullet.indent(_this.editable); }); this.outdent = this.wrapCommand(function () { _this.bullet.outdent(_this.editable); }); /** * insertNode * insert node * @param {Node} node */ this.insertNode = this.wrapCommand(function (node) { if (_this.isLimited($$1(node).text().length)) { return; } var rng = _this.createRange(); rng.insertNode(node); range.createFromNodeAfter(node).select(); }); /** * insert text * @param {String} text */ this.insertText = this.wrapCommand(function (text) { if (_this.isLimited(text.length)) { return; } var rng = _this.createRange(); var textNode = rng.insertNode(dom.createText(text)); range.create(textNode, dom.nodeLength(textNode)).select(); }); /** * paste HTML * @param {String} markup */ this.pasteHTML = this.wrapCommand(function (markup) { if (_this.isLimited(markup.length)) { return; } var contents = _this.createRange().pasteHTML(markup); range.createFromNodeAfter(lists.last(contents)).select(); }); /** * formatBlock * * @param {String} tagName */ this.formatBlock = this.wrapCommand(function (tagName, $target) { var onApplyCustomStyle = _this.options.callbacks.onApplyCustomStyle; if (onApplyCustomStyle) { onApplyCustomStyle.call(_this, $target, _this.context, _this.onFormatBlock); } else { _this.onFormatBlock(tagName, $target); } }); /** * insert horizontal rule */ this.insertHorizontalRule = this.wrapCommand(function () { var hrNode = _this.createRange().insertNode(dom.create('HR')); if (hrNode.nextSibling) { range.create(hrNode.nextSibling, 0).normalize().select(); } }); /** * lineHeight * @param {String} value */ this.lineHeight = this.wrapCommand(function (value) { _this.style.stylePara(_this.createRange(), { lineHeight: value }); }); /** * create link (command) * * @param {Object} linkInfo */ this.createLink = this.wrapCommand(function (linkInfo) { var linkUrl = linkInfo.url; var linkText = linkInfo.text; var isNewWindow = linkInfo.isNewWindow; var rng = linkInfo.range || _this.createRange(); var isTextChanged = rng.toString() !== linkText; // handle spaced urls from input if (typeof linkUrl === 'string') { linkUrl = linkUrl.trim(); } if (_this.options.onCreateLink) { linkUrl = _this.options.onCreateLink(linkUrl); } else { // if url doesn't match an URL schema, set http:// as default linkUrl = /^[A-Za-z][A-Za-z0-9+-.]*\:[\/\/]?/.test(linkUrl) ? linkUrl : 'http://' + linkUrl; } var anchors = []; if (isTextChanged) { rng = rng.deleteContents(); var anchor = rng.insertNode($$1('<A>' + linkText + '</A>')[0]); anchors.push(anchor); } else { anchors = _this.style.styleNodes(rng, { nodeName: 'A', expandClosestSibling: true, onlyPartialContains: true }); } $$1.each(anchors, function (idx, anchor) { $$1(anchor).attr('href', linkUrl); if (isNewWindow) { $$1(anchor).attr('target', '_blank'); } else { $$1(anchor).removeAttr('target'); } }); var startRange = range.createFromNodeBefore(lists.head(anchors)); var startPoint = startRange.getStartPoint(); var endRange = range.createFromNodeAfter(lists.last(anchors)); var endPoint = endRange.getEndPoint(); range.create(startPoint.node, startPoint.offset, endPoint.node, endPoint.offset).select(); }); /** * setting color * * @param {Object} sObjColor color code * @param {String} sObjColor.foreColor foreground color * @param {String} sObjColor.backColor background color */ this.color = this.wrapCommand(function (colorInfo) { var foreColor = colorInfo.foreColor; var backColor = colorInfo.backColor; if (foreColor) { document.execCommand('foreColor', false, foreColor); } if (backColor) { document.execCommand('backColor', false, backColor); } }); /** * Set foreground color * * @param {String} colorCode foreground color code */ this.foreColor = this.wrapCommand(function (colorInfo) { document.execCommand('styleWithCSS', false, true); document.execCommand('foreColor', false, colorInfo); }); /** * insert Table * * @param {String} dimension of table (ex : "5x5") */ this.insertTable = this.wrapCommand(function (dim) { var dimension = dim.split('x'); var rng = _this.createRange().deleteContents(); rng.insertNode(_this.table.createTable(dimension[0], dimension[1], _this.options)); }); /** * remove media object and Figure Elements if media object is img with Figure. */ this.removeMedia = this.wrapCommand(function () { var $target = $$1(_this.restoreTarget()).parent(); if ($target.parent('figure').length) { $target.parent('figure').remove(); } else { $target = $$1(_this.restoreTarget()).detach(); } _this.context.triggerEvent('media.delete', $target, _this.$editable); }); /** * float me * * @param {String} value */ this.floatMe = this.wrapCommand(function (value) { var $target = $$1(_this.restoreTarget()); $target.toggleClass('note-float-left', value === 'left'); $target.toggleClass('note-float-right', value === 'right'); $target.css('float', value); }); /** * resize overlay element * @param {String} value */ this.resize = this.wrapCommand(function (value) { var $target = $$1(_this.restoreTarget()); $target.css({ width: value * 100 + '%', height: '' }); }); } Editor.prototype.initialize = function () { var _this = this; // bind custom events this.$editable.on('keydown', function (event) { if (event.keyCode === key.code.ENTER) { _this.context.triggerEvent('enter', event); } _this.context.triggerEvent('keydown', event); if (!event.isDefaultPrevented()) { if (_this.options.shortcuts) { _this.handleKeyMap(event); } else { _this.preventDefaultEditableShortCuts(event); } } if (_this.isLimited(1, event)) { return false; } }).on('keyup', function (event) { _this.context.triggerEvent('keyup', event); }).on('focus', function (event) { _this.context.triggerEvent('focus', event); }).on('blur', function (event) { _this.context.triggerEvent('blur', event); }).on('mousedown', function (event) { _this.context.triggerEvent('mousedown', event); }).on('mouseup', function (event) { _this.context.triggerEvent('mouseup', event); }).on('scroll', function (event) { _this.context.triggerEvent('scroll', event); }).on('paste', function (event) { _this.context.triggerEvent('paste', event); }); // init content before set event this.$editable.html(dom.html(this.$note) || dom.emptyPara); this.$editable.on(env.inputEventName, func.debounce(function () { _this.context.triggerEvent('change', _this.$editable.html()); }, 100)); this.$editor.on('focusin', function (event) { _this.context.triggerEvent('focusin', event); }).on('focusout', function (event) { _this.context.triggerEvent('focusout', event); }); if (!this.options.airMode) { if (this.options.width) { this.$editor.outerWidth(this.options.width); } if (this.options.height) { this.$editable.outerHeight(this.options.height); } if (this.options.maxHeight) { this.$editable.css('max-height', this.options.maxHeight); } if (this.options.minHeight) { this.$editable.css('min-height', this.options.minHeight); } } this.history.recordUndo(); }; Editor.prototype.destroy = function () { this.$editable.off(); }; Editor.prototype.handleKeyMap = function (event) { var keyMap = this.options.keyMap[env.isMac ? 'mac' : 'pc']; var keys = []; if (event.metaKey) { keys.push('CMD'); } if (event.ctrlKey && !event.altKey) { keys.push('CTRL'); } if (event.shiftKey) { keys.push('SHIFT'); } var keyName = key.nameFromCode[event.keyCode]; if (keyName) { keys.push(keyName); } var eventName = keyMap[keys.join('+')]; if (eventName) { if (this.context.invoke(eventName) !== false) { event.preventDefault(); } } else if (key.isEdit(event.keyCode)) { this.afterCommand(); } }; Editor.prototype.preventDefaultEditableShortCuts = function (event) { // B(Bold, 66) / I(Italic, 73) / U(Underline, 85) if ((event.ctrlKey || event.metaKey) && lists.contains([66, 73, 85], event.keyCode)) { event.preventDefault(); } }; Editor.prototype.isLimited = function (pad, event) { pad = pad || 0; if (typeof event !== 'undefined') { if (key.isMove(event.keyCode) || (event.ctrlKey || event.metaKey) || lists.contains([key.code.BACKSPACE, key.code.DELETE], event.keyCode)) { return false; } } if (this.options.maxTextLength > 0) { if ((this.$editable.text().length + pad) >= this.options.maxTextLength) { return true; } } return false; }; /** * create range * @return {WrappedRange} */ Editor.prototype.createRange = function () { this.focus(); return range.create(this.editable); }; /** * saveRange * * save current range * * @param {Boolean} [thenCollapse=false] */ Editor.prototype.saveRange = function (thenCollapse) { this.lastRange = this.createRange(); if (thenCollapse) { this.lastRange.collapse().select(); } }; /** * restoreRange * * restore lately range */ Editor.prototype.restoreRange = function () { if (this.lastRange) { this.lastRange.select(); this.focus(); } }; Editor.prototype.saveTarget = function (node) { this.$editable.data('target', node); }; Editor.prototype.clearTarget = function () { this.$editable.removeData('target'); }; Editor.prototype.restoreTarget = function () { return this.$editable.data('target'); }; /** * currentStyle * * current style * @return {Object|Boolean} unfocus */ Editor.prototype.currentStyle = function () { var rng = range.create(); if (rng) { rng = rng.normalize(); } return rng ? this.style.current(rng) : this.style.fromNode(this.$editable); }; /** * style from node * * @param {jQuery} $node * @return {Object} */ Editor.prototype.styleFromNode = function ($node) { return this.style.fromNode($node); }; /** * undo */ Editor.prototype.undo = function () { this.context.triggerEvent('before.command', this.$editable.html()); this.history.undo(); this.context.triggerEvent('change', this.$editable.html()); }; /** * redo */ Editor.prototype.redo = function () { this.context.triggerEvent('before.command', this.$editable.html()); this.history.redo(); this.context.triggerEvent('change', this.$editable.html()); }; /** * before command */ Editor.prototype.beforeCommand = function () { this.context.triggerEvent('before.command', this.$editable.html()); // keep focus on editable before command execution this.focus(); }; /** * after command * @param {Boolean} isPreventTrigger */ Editor.prototype.afterCommand = function (isPreventTrigger) { this.normalizeContent(); this.history.recordUndo(); if (!isPreventTrigger) { this.context.triggerEvent('change', this.$editable.html()); } }; /** * handle tab key */ Editor.prototype.tab = function () { var rng = this.createRange(); if (rng.isCollapsed() && rng.isOnCell()) { this.table.tab(rng); } else { if (this.options.tabSize === 0) { return false; } if (!this.isLimited(this.options.tabSize)) { this.beforeCommand(); this.typing.insertTab(rng, this.options.tabSize); this.afterCommand(); } } }; /** * handle shift+tab key */ Editor.prototype.untab = function () { var rng = this.createRange(); if (rng.isCollapsed() && rng.isOnCell()) { this.table.tab(rng, true); } else { if (this.options.tabSize === 0) { return false; } } }; /** * run given function between beforeCommand and afterCommand */ Editor.prototype.wrapCommand = function (fn) { var _this = this; return function () { _this.beforeCommand(); fn.apply(_this, arguments); _this.afterCommand(); }; }; /** * insert image * * @param {String} src * @param {String|Function} param * @return {Promise} */ Editor.prototype.insertImage = function (src, param) { var _this = this; return createImage(src, param).then(function ($image) { _this.beforeCommand(); if (typeof param === 'function') { param($image); } else { if (typeof param === 'string') { $image.attr('data-filename', param); } $image.css('width', Math.min(_this.$editable.width(), $image.width())); } $image.show(); range.create(_this.editable).insertNode($image[0]); range.createFromNodeAfter($image[0]).select(); _this.afterCommand(); }).fail(function (e) { _this.context.triggerEvent('image.upload.error', e); }); }; /** * insertImages * @param {File[]} files */ Editor.prototype.insertImages = function (files) { var _this = this; $$1.each(files, function (idx, file) { var filename = file.name; if (_this.options.maximumImageFileSize && _this.options.maximumImageFileSize < file.size) { _this.context.triggerEvent('image.upload.error', _this.lang.image.maximumFileSizeError); } else { readFileAsDataURL(file).then(function (dataURL) { return _this.insertImage(dataURL, filename); }).fail(function () { _this.context.triggerEvent('image.upload.error'); }); } }); }; /** * insertImagesOrCallback * @param {File[]} files */ Editor.prototype.insertImagesOrCallback = function (files) { var callbacks = this.options.callbacks; // If onImageUpload this.options setted if (callbacks.onImageUpload) { this.context.triggerEvent('image.upload', files); // else insert Image as dataURL } else { this.insertImages(files); } }; /** * return selected plain text * @return {String} text */ Editor.prototype.getSelectedText = function () { var rng = this.createRange(); // if range on anchor, expand range with anchor if (rng.isOnAnchor()) { rng = range.createFromNode(dom.ancestor(rng.sc, dom.isAnchor)); } return rng.toString(); }; Editor.prototype.onFormatBlock = function (tagName, $target) { // [workaround] for MSIE, IE need `<` tagName = env.isMSIE ? '<' + tagName + '>' : tagName; document.execCommand('FormatBlock', false, tagName); // support custom class if ($target && $target.length) { var className = $target[0].className || ''; if (className) { var currentRange = this.createRange(); var $parent = $$1([currentRange.sc, currentRange.ec]).closest(tagName); $parent.addClass(className); } } }; Editor.prototype.formatPara = function () { this.formatBlock('P'); }; Editor.prototype.fontStyling = function (target, value) { var rng = this.createRange(); if (rng) { var spans = this.style.styleNodes(rng); $$1(spans).css(target, value); // [workaround] added styled bogus span for style // - also bogus character needed for cursor position if (rng.isCollapsed()) { var firstSpan = lists.head(spans); if (firstSpan && !dom.nodeLength(firstSpan)) { firstSpan.innerHTML = dom.ZERO_WIDTH_NBSP_CHAR; range.createFromNodeAfter(firstSpan.firstChild).select(); this.$editable.data(KEY_BOGUS, firstSpan); } } } }; /** * unlink * * @type command */ Editor.prototype.unlink = function () { var rng = this.createRange(); if (rng.isOnAnchor()) { var anchor = dom.ancestor(rng.sc, dom.isAnchor); rng = range.createFromNode(anchor); rng.select(); this.beforeCommand(); document.execCommand('unlink'); this.afterCommand(); } }; /** * returns link info * * @return {Object} * @return {WrappedRange} return.range * @return {String} return.text * @return {Boolean} [return.isNewWindow=true] * @return {String} [return.url=""] */ Editor.prototype.getLinkInfo = function () { var rng = this.createRange().expand(dom.isAnchor); // Get the first anchor on range(for edit). var $anchor = $$1(lists.head(rng.nodes(dom.isAnchor))); var linkInfo = { range: rng, text: rng.toString(), url: $anchor.length ? $anchor.attr('href') : '' }; // Define isNewWindow when anchor exists. if ($anchor.length) { linkInfo.isNewWindow = $anchor.attr('target') === '_blank'; } return linkInfo; }; Editor.prototype.addRow = function (position) { var rng = this.createRange(this.$editable); if (rng.isCollapsed() && rng.isOnCell()) { this.beforeCommand(); this.table.addRow(rng, position); this.afterCommand(); } }; Editor.prototype.addCol = function (position) { var rng = this.createRange(this.$editable); if (rng.isCollapsed() && rng.isOnCell()) { this.beforeCommand(); this.table.addCol(rng, position); this.afterCommand(); } }; Editor.prototype.deleteRow = function () { var rng = this.createRange(this.$editable); if (rng.isCollapsed() && rng.isOnCell()) { this.beforeCommand(); this.table.deleteRow(rng); this.afterCommand(); } }; Editor.prototype.deleteCol = function () { var rng = this.createRange(this.$editable); if (rng.isCollapsed() && rng.isOnCell()) { this.beforeCommand(); this.table.deleteCol(rng); this.afterCommand(); } }; Editor.prototype.deleteTable = function () { var rng = this.createRange(this.$editable); if (rng.isCollapsed() && rng.isOnCell()) { this.beforeCommand(); this.table.deleteTable(rng); this.afterCommand(); } }; /** * @param {Position} pos * @param {jQuery} $target - target element * @param {Boolean} [bKeepRatio] - keep ratio */ Editor.prototype.resizeTo = function (pos, $target, bKeepRatio) { var imageSize; if (bKeepRatio) { var newRatio = pos.y / pos.x; var ratio = $target.data('ratio'); imageSize = { width: ratio > newRatio ? pos.x : pos.y / ratio, height: ratio > newRatio ? pos.x * ratio : pos.y }; } else { imageSize = { width: pos.x, height: pos.y }; } $target.css(imageSize); }; /** * returns whether editable area has focus or not. */ Editor.prototype.hasFocus = function () { return this.$editable.is(':focus'); }; /** * set focus */ Editor.prototype.focus = function () { // [workaround] Screen will move when page is scolled in IE. // - do focus when not focused if (!this.hasFocus()) { this.$editable.focus(); } }; /** * returns whether contents is empty or not. * @return {Boolean} */ Editor.prototype.isEmpty = function () { return dom.isEmpty(this.$editable[0]) || dom.emptyPara === this.$editable.html(); }; /** * Removes all contents and restores the editable instance to an _emptyPara_. */ Editor.prototype.empty = function () { this.context.invoke('code', dom.emptyPara); }; /** * normalize content */ Editor.prototype.normalizeContent = function () { this.$editable[0].normalize(); }; return Editor; }()); var Clipboard = /** @class */ (function () { function Clipboard(context) { this.context = context; this.$editable = context.layoutInfo.editable; } Clipboard.prototype.initialize = function () { this.$editable.on('paste', this.pasteByEvent.bind(this)); }; /** * paste by clipboard event * * @param {Event} event */ Clipboard.prototype.pasteByEvent = function (event) { var clipboardData = event.originalEvent.clipboardData; if (clipboardData && clipboardData.items && clipboardData.items.length) { var item = lists.head(clipboardData.items); if (item.kind === 'file' && item.type.indexOf('image/') !== -1) { this.context.invoke('editor.insertImagesOrCallback', [item.getAsFile()]); } this.context.invoke('editor.afterCommand'); } }; return Clipboard; }()); var Dropzone = /** @class */ (function () { function Dropzone(context) { this.context = context; this.$eventListener = $$1(document); this.$editor = context.layoutInfo.editor; this.$editable = context.layoutInfo.editable; this.options = context.options; this.lang = this.options.langInfo; this.documentEventHandlers = {}; this.$dropzone = $$1([ '<div class="note-dropzone">', ' <div class="note-dropzone-message"/>', '</div>' ].join('')).prependTo(this.$editor); } /** * attach Drag and Drop Events */ Dropzone.prototype.initialize = function () { if (this.options.disableDragAndDrop) { // prevent default drop event this.documentEventHandlers.onDrop = function (e) { e.preventDefault(); }; // do not consider outside of dropzone this.$eventListener = this.$dropzone; this.$eventListener.on('drop', this.documentEventHandlers.onDrop); } else { this.attachDragAndDropEvent(); } }; /** * attach Drag and Drop Events */ Dropzone.prototype.attachDragAndDropEvent = function () { var _this = this; var collection = $$1(); var $dropzoneMessage = this.$dropzone.find('.note-dropzone-message'); this.documentEventHandlers.onDragenter = function (e) { var isCodeview = _this.context.invoke('codeview.isActivated'); var hasEditorSize = _this.$editor.width() > 0 && _this.$editor.height() > 0; if (!isCodeview && !collection.length && hasEditorSize) { _this.$editor.addClass('dragover'); _this.$dropzone.width(_this.$editor.width()); _this.$dropzone.height(_this.$editor.height()); $dropzoneMessage.text(_this.lang.image.dragImageHere); } collection = collection.add(e.target); }; this.documentEventHandlers.onDragleave = function (e) { collection = collection.not(e.target); if (!collection.length) { _this.$editor.removeClass('dragover'); } }; this.documentEventHandlers.onDrop = function () { collection = $$1(); _this.$editor.removeClass('dragover'); }; // show dropzone on dragenter when dragging a object to document // -but only if the editor is visible, i.e. has a positive width and height this.$eventListener.on('dragenter', this.documentEventHandlers.onDragenter) .on('dragleave', this.documentEventHandlers.onDragleave) .on('drop', this.documentEventHandlers.onDrop); // change dropzone's message on hover. this.$dropzone.on('dragenter', function () { _this.$dropzone.addClass('hover'); $dropzoneMessage.text(_this.lang.image.dropImage); }).on('dragleave', function () { _this.$dropzone.removeClass('hover'); $dropzoneMessage.text(_this.lang.image.dragImageHere); }); // attach dropImage this.$dropzone.on('drop', function (event) { var dataTransfer = event.originalEvent.dataTransfer; // stop the browser from opening the dropped content event.preventDefault(); if (dataTransfer && dataTransfer.files && dataTransfer.files.length) { _this.$editable.focus(); _this.context.invoke('editor.insertImagesOrCallback', dataTransfer.files); } else { $$1.each(dataTransfer.types, function (idx, type) { var content = dataTransfer.getData(type); if (type.toLowerCase().indexOf('text') > -1) { _this.context.invoke('editor.pasteHTML', content); } else { $$1(content).each(function (idx, item) { _this.context.invoke('editor.insertNode', item); }); } }); } }).on('dragover', false); // prevent default dragover event }; Dropzone.prototype.destroy = function () { var _this = this; Object.keys(this.documentEventHandlers).forEach(function (key) { _this.$eventListener.off(key.substr(2).toLowerCase(), _this.documentEventHandlers[key]); }); this.documentEventHandlers = {}; }; return Dropzone; }()); var CodeMirror; if (env.hasCodeMirror) { if (env.isSupportAmd) { require(['codemirror'], function (cm) { CodeMirror = cm; }); } else { CodeMirror = window.CodeMirror; } } /** * @class Codeview */ var CodeView = /** @class */ (function () { function CodeView(context) { this.context = context; this.$editor = context.layoutInfo.editor; this.$editable = context.layoutInfo.editable; this.$codable = context.layoutInfo.codable; this.options = context.options; } CodeView.prototype.sync = function () { var isCodeview = this.isActivated(); if (isCodeview && env.hasCodeMirror) { this.$codable.data('cmEditor').save(); } }; /** * @return {Boolean} */ CodeView.prototype.isActivated = function () { return this.$editor.hasClass('codeview'); }; /** * toggle codeview */ CodeView.prototype.toggle = function () { if (this.isActivated()) { this.deactivate(); } else { this.activate(); } this.context.triggerEvent('codeview.toggled'); }; /** * activate code view */ CodeView.prototype.activate = function () { var _this = this; this.$codable.val(dom.html(this.$editable, this.options.prettifyHtml)); this.$codable.height(this.$editable.height()); this.context.invoke('toolbar.updateCodeview', true); this.$editor.addClass('codeview'); this.$codable.focus(); // activate CodeMirror as codable if (env.hasCodeMirror) { var cmEditor_1 = CodeMirror.fromTextArea(this.$codable[0], this.options.codemirror); // CodeMirror TernServer if (this.options.codemirror.tern) { var server_1 = new CodeMirror.TernServer(this.options.codemirror.tern); cmEditor_1.ternServer = server_1; cmEditor_1.on('cursorActivity', function (cm) { server_1.updateArgHints(cm); }); } cmEditor_1.on('blur', function (event) { _this.context.triggerEvent('blur.codeview', cmEditor_1.getValue(), event); }); // CodeMirror hasn't Padding. cmEditor_1.setSize(null, this.$editable.outerHeight()); this.$codable.data('cmEditor', cmEditor_1); } else { this.$codable.on('blur', function (event) { _this.context.triggerEvent('blur.codeview', _this.$codable.val(), event); }); } }; /** * deactivate code view */ CodeView.prototype.deactivate = function () { // deactivate CodeMirror as codable if (env.hasCodeMirror) { var cmEditor = this.$codable.data('cmEditor'); this.$codable.val(cmEditor.getValue()); cmEditor.toTextArea(); } var value = dom.value(this.$codable, this.options.prettifyHtml) || dom.emptyPara; var isChange = this.$editable.html() !== value; this.$editable.html(value); this.$editable.height(this.options.height ? this.$codable.height() : 'auto'); this.$editor.removeClass('codeview'); if (isChange) { this.context.triggerEvent('change', this.$editable.html(), this.$editable); } this.$editable.focus(); this.context.invoke('toolbar.updateCodeview', false); }; CodeView.prototype.destroy = function () { if (this.isActivated()) { this.deactivate(); } }; return CodeView; }()); var EDITABLE_PADDING = 24; var Statusbar = /** @class */ (function () { function Statusbar(context) { this.$document = $$1(document); this.$statusbar = context.layoutInfo.statusbar; this.$editable = context.layoutInfo.editable; this.options = context.options; } Statusbar.prototype.initialize = function () { var _this = this; if (this.options.airMode || this.options.disableResizeEditor) { this.destroy(); return; } this.$statusbar.on('mousedown', function (event) { event.preventDefault(); event.stopPropagation(); var editableTop = _this.$editable.offset().top - _this.$document.scrollTop(); var onMouseMove = function (event) { var height = event.clientY - (editableTop + EDITABLE_PADDING); height = (_this.options.minheight > 0) ? Math.max(height, _this.options.minheight) : height; height = (_this.options.maxHeight > 0) ? Math.min(height, _this.options.maxHeight) : height; _this.$editable.height(height); }; _this.$document.on('mousemove', onMouseMove).one('mouseup', function () { _this.$document.off('mousemove', onMouseMove); }); }); }; Statusbar.prototype.destroy = function () { this.$statusbar.off(); this.$statusbar.addClass('locked'); }; return Statusbar; }()); var Fullscreen = /** @class */ (function () { function Fullscreen(context) { var _this = this; this.context = context; this.$editor = context.layoutInfo.editor; this.$toolbar = context.layoutInfo.toolbar; this.$editable = context.layoutInfo.editable; this.$codable = context.layoutInfo.codable; this.$window = $$1(window); this.$scrollbar = $$1('html, body'); this.onResize = function () { _this.resizeTo({ h: _this.$window.height() - _this.$toolbar.outerHeight() }); }; } Fullscreen.prototype.resizeTo = function (size) { this.$editable.css('height', size.h); this.$codable.css('height', size.h); if (this.$codable.data('cmeditor')) { this.$codable.data('cmeditor').setsize(null, size.h); } }; /** * toggle fullscreen */ Fullscreen.prototype.toggle = function () { this.$editor.toggleClass('fullscreen'); if (this.isFullscreen()) { this.$editable.data('orgHeight', this.$editable.css('height')); this.$window.on('resize', this.onResize).trigger('resize'); this.$scrollbar.css('overflow', 'hidden'); } else { this.$window.off('resize', this.onResize); this.resizeTo({ h: this.$editable.data('orgHeight') }); this.$scrollbar.css('overflow', 'visible'); } this.context.invoke('toolbar.updateFullscreen', this.isFullscreen()); }; Fullscreen.prototype.isFullscreen = function () { return this.$editor.hasClass('fullscreen'); }; return Fullscreen; }()); var Handle = /** @class */ (function () { function Handle(context) { var _this = this; this.context = context; this.$document = $$1(document); this.$editingArea = context.layoutInfo.editingArea; this.options = context.options; this.lang = this.options.langInfo; this.events = { 'summernote.mousedown': function (we, e) { if (_this.update(e.target)) { e.preventDefault(); } }, 'summernote.keyup summernote.scroll summernote.change summernote.dialog.shown': function () { _this.update(); }, 'summernote.disable': function () { _this.hide(); }, 'summernote.codeview.toggled': function () { _this.update(); } }; } Handle.prototype.initialize = function () { var _this = this; this.$handle = $$1([ '<div class="note-handle">', '<div class="note-control-selection">', '<div class="note-control-selection-bg"></div>', '<div class="note-control-holder note-control-nw"></div>', '<div class="note-control-holder note-control-ne"></div>', '<div class="note-control-holder note-control-sw"></div>', '<div class="', (this.options.disableResizeImage ? 'note-control-holder' : 'note-control-sizing'), ' note-control-se"></div>', (this.options.disableResizeImage ? '' : '<div class="note-control-selection-info"></div>'), '</div>', '</div>' ].join('')).prependTo(this.$editingArea); this.$handle.on('mousedown', function (event) { if (dom.isControlSizing(event.target)) { event.preventDefault(); event.stopPropagation(); var $target_1 = _this.$handle.find('.note-control-selection').data('target'); var posStart_1 = $target_1.offset(); var scrollTop_1 = _this.$document.scrollTop(); var onMouseMove_1 = function (event) { _this.context.invoke('editor.resizeTo', { x: event.clientX - posStart_1.left, y: event.clientY - (posStart_1.top - scrollTop_1) }, $target_1, !event.shiftKey); _this.update($target_1[0]); }; _this.$document .on('mousemove', onMouseMove_1) .one('mouseup', function (e) { e.preventDefault(); _this.$document.off('mousemove', onMouseMove_1); _this.context.invoke('editor.afterCommand'); }); if (!$target_1.data('ratio')) { $target_1.data('ratio', $target_1.height() / $target_1.width()); } } }); // Listen for scrolling on the handle overlay. this.$handle.on('wheel', function (e) { e.preventDefault(); _this.update(); }); }; Handle.prototype.destroy = function () { this.$handle.remove(); }; Handle.prototype.update = function (target) { if (this.context.isDisabled()) { return false; } var isImage = dom.isImg(target); var $selection = this.$handle.find('.note-control-selection'); this.context.invoke('imagePopover.update', target); if (isImage) { var $image = $$1(target); var position = $image.position(); var pos = { left: position.left + parseInt($image.css('marginLeft'), 10), top: position.top + parseInt($image.css('marginTop'), 10) }; // exclude margin var imageSize = { w: $image.outerWidth(false), h: $image.outerHeight(false) }; $selection.css({ display: 'block', left: pos.left, top: pos.top, width: imageSize.w, height: imageSize.h }).data('target', $image); // save current image element. var origImageObj = new Image(); origImageObj.src = $image.attr('src'); var sizingText = imageSize.w + 'x' + imageSize.h + ' (' + this.lang.image.original + ': ' + origImageObj.width + 'x' + origImageObj.height + ')'; $selection.find('.note-control-selection-info').text(sizingText); this.context.invoke('editor.saveTarget', target); } else { this.hide(); } return isImage; }; /** * hide * * @param {jQuery} $handle */ Handle.prototype.hide = function () { this.context.invoke('editor.clearTarget'); this.$handle.children().hide(); }; return Handle; }()); var defaultScheme = 'http://'; var linkPattern = /^([A-Za-z][A-Za-z0-9+-.]*\:[\/\/]?|mailto:[A-Z0-9._%+-]+@)?(www\.)?(.+)$/i; var AutoLink = /** @class */ (function () { function AutoLink(context) { var _this = this; this.context = context; this.events = { 'summernote.keyup': function (we, e) { if (!e.isDefaultPrevented()) { _this.handleKeyup(e); } }, 'summernote.keydown': function (we, e) { _this.handleKeydown(e); } }; } AutoLink.prototype.initialize = function () { this.lastWordRange = null; }; AutoLink.prototype.destroy = function () { this.lastWordRange = null; }; AutoLink.prototype.replace = function () { if (!this.lastWordRange) { return; } var keyword = this.lastWordRange.toString(); var match = keyword.match(linkPattern); if (match && (match[1] || match[2])) { var link = match[1] ? keyword : defaultScheme + keyword; var node = $$1('<a />').html(keyword).attr('href', link)[0]; this.lastWordRange.insertNode(node); this.lastWordRange = null; this.context.invoke('editor.focus'); } }; AutoLink.prototype.handleKeydown = function (e) { if (lists.contains([key.code.ENTER, key.code.SPACE], e.keyCode)) { var wordRange = this.context.invoke('editor.createRange').getWordRange(); this.lastWordRange = wordRange; } }; AutoLink.prototype.handleKeyup = function (e) { if (lists.contains([key.code.ENTER, key.code.SPACE], e.keyCode)) { this.replace(); } }; return AutoLink; }()); /** * textarea auto sync. */ var AutoSync = /** @class */ (function () { function AutoSync(context) { var _this = this; this.$note = context.layoutInfo.note; this.events = { 'summernote.change': function () { _this.$note.val(context.invoke('code')); } }; } AutoSync.prototype.shouldInitialize = function () { return dom.isTextarea(this.$note[0]); }; return AutoSync; }()); var Placeholder = /** @class */ (function () { function Placeholder(context) { var _this = this; this.context = context; this.$editingArea = context.layoutInfo.editingArea; this.options = context.options; this.events = { 'summernote.init summernote.change': function () { _this.update(); }, 'summernote.codeview.toggled': function () { _this.update(); } }; } Placeholder.prototype.shouldInitialize = function () { return !!this.options.placeholder; }; Placeholder.prototype.initialize = function () { var _this = this; this.$placeholder = $$1('<div class="note-placeholder">'); this.$placeholder.on('click', function () { _this.context.invoke('focus'); }).text(this.options.placeholder).prependTo(this.$editingArea); this.update(); }; Placeholder.prototype.destroy = function () { this.$placeholder.remove(); }; Placeholder.prototype.update = function () { var isShow = !this.context.invoke('codeview.isActivated') && this.context.invoke('editor.isEmpty'); this.$placeholder.toggle(isShow); }; return Placeholder; }()); var Buttons = /** @class */ (function () { function Buttons(context) { this.ui = $$1.summernote.ui; this.context = context; this.$toolbar = context.layoutInfo.toolbar; this.options = context.options; this.lang = this.options.langInfo; this.invertedKeyMap = func.invertObject(this.options.keyMap[env.isMac ? 'mac' : 'pc']); } Buttons.prototype.representShortcut = function (editorMethod) { var shortcut = this.invertedKeyMap[editorMethod]; if (!this.options.shortcuts || !shortcut) { return ''; } if (env.isMac) { shortcut = shortcut.replace('CMD', '⌘').replace('SHIFT', '⇧'); } shortcut = shortcut.replace('BACKSLASH', '\\') .replace('SLASH', '/') .replace('LEFTBRACKET', '[') .replace('RIGHTBRACKET', ']'); return ' (' + shortcut + ')'; }; Buttons.prototype.button = function (o) { if (!this.options.tooltip && o.tooltip) { delete o.tooltip; } o.container = this.options.container; return this.ui.button(o); }; Buttons.prototype.initialize = function () { this.addToolbarButtons(); this.addImagePopoverButtons(); this.addLinkPopoverButtons(); this.addTablePopoverButtons(); this.fontInstalledMap = {}; }; Buttons.prototype.destroy = function () { delete this.fontInstalledMap; }; Buttons.prototype.isFontInstalled = function (name) { if (!this.fontInstalledMap.hasOwnProperty(name)) { this.fontInstalledMap[name] = env.isFontInstalled(name) || lists.contains(this.options.fontNamesIgnoreCheck, name); } return this.fontInstalledMap[name]; }; Buttons.prototype.isFontDeservedToAdd = function (name) { var genericFamilies = ['sans-serif', 'serif', 'monospace', 'cursive', 'fantasy']; name = name.toLowerCase(); return ((name !== '') && this.isFontInstalled(name) && ($$1.inArray(name, genericFamilies) === -1)); }; Buttons.prototype.addToolbarButtons = function () { var _this = this; this.context.memo('button.style', function () { return _this.ui.buttonGroup([ _this.button({ className: 'dropdown-toggle', contents: _this.ui.dropdownButtonContents(_this.ui.icon(_this.options.icons.magic), _this.options), tooltip: _this.lang.style.style, data: { toggle: 'dropdown' } }), _this.ui.dropdown({ className: 'dropdown-style', items: _this.options.styleTags, title: _this.lang.style.style, template: function (item) { if (typeof item === 'string') { item = { tag: item, title: (_this.lang.style.hasOwnProperty(item) ? _this.lang.style[item] : item) }; } var tag = item.tag; var title = item.title; var style = item.style ? ' style="' + item.style + '" ' : ''; var className = item.className ? ' class="' + item.className + '"' : ''; return '<' + tag + style + className + '>' + title + '</' + tag + '>'; }, click: _this.context.createInvokeHandler('editor.formatBlock') }) ]).render(); }); var _loop_1 = function (styleIdx, styleLen) { var item = this_1.options.styleTags[styleIdx]; this_1.context.memo('button.style.' + item, function () { return _this.button({ className: 'note-btn-style-' + item, contents: '<div data-value="' + item + '">' + item.toUpperCase() + '</div>', tooltip: _this.lang.style[item], click: _this.context.createInvokeHandler('editor.formatBlock') }).render(); }); }; var this_1 = this; for (var styleIdx = 0, styleLen = this.options.styleTags.length; styleIdx < styleLen; styleIdx++) { _loop_1(styleIdx, styleLen); } this.context.memo('button.bold', function () { return _this.button({ className: 'note-btn-bold', contents: _this.ui.icon(_this.options.icons.bold), tooltip: _this.lang.font.bold + _this.representShortcut('bold'), click: _this.context.createInvokeHandlerAndUpdateState('editor.bold') }).render(); }); this.context.memo('button.italic', function () { return _this.button({ className: 'note-btn-italic', contents: _this.ui.icon(_this.options.icons.italic), tooltip: _this.lang.font.italic + _this.representShortcut('italic'), click: _this.context.createInvokeHandlerAndUpdateState('editor.italic') }).render(); }); this.context.memo('button.underline', function () { return _this.button({ className: 'note-btn-underline', contents: _this.ui.icon(_this.options.icons.underline), tooltip: _this.lang.font.underline + _this.representShortcut('underline'), click: _this.context.createInvokeHandlerAndUpdateState('editor.underline') }).render(); }); this.context.memo('button.clear', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.eraser), tooltip: _this.lang.font.clear + _this.representShortcut('removeFormat'), click: _this.context.createInvokeHandler('editor.removeFormat') }).render(); }); this.context.memo('button.strikethrough', function () { return _this.button({ className: 'note-btn-strikethrough', contents: _this.ui.icon(_this.options.icons.strikethrough), tooltip: _this.lang.font.strikethrough + _this.representShortcut('strikethrough'), click: _this.context.createInvokeHandlerAndUpdateState('editor.strikethrough') }).render(); }); this.context.memo('button.superscript', function () { return _this.button({ className: 'note-btn-superscript', contents: _this.ui.icon(_this.options.icons.superscript), tooltip: _this.lang.font.superscript, click: _this.context.createInvokeHandlerAndUpdateState('editor.superscript') }).render(); }); this.context.memo('button.subscript', function () { return _this.button({ className: 'note-btn-subscript', contents: _this.ui.icon(_this.options.icons.subscript), tooltip: _this.lang.font.subscript, click: _this.context.createInvokeHandlerAndUpdateState('editor.subscript') }).render(); }); this.context.memo('button.fontname', function () { var styleInfo = _this.context.invoke('editor.currentStyle'); // Add 'default' fonts into the fontnames array if not exist $$1.each(styleInfo['font-family'].split(','), function (idx, fontname) { fontname = fontname.trim().replace(/['"]+/g, ''); if (_this.isFontDeservedToAdd(fontname)) { if ($$1.inArray(fontname, _this.options.fontNames) === -1) { _this.options.fontNames.push(fontname); } } }); return _this.ui.buttonGroup([ _this.button({ className: 'dropdown-toggle', contents: _this.ui.dropdownButtonContents('<span class="note-current-fontname"/>', _this.options), tooltip: _this.lang.font.name, data: { toggle: 'dropdown' } }), _this.ui.dropdownCheck({ className: 'dropdown-fontname', checkClassName: _this.options.icons.menuCheck, items: _this.options.fontNames.filter(_this.isFontInstalled.bind(_this)), title: _this.lang.font.name, template: function (item) { return '<span style="font-family: \'' + item + '\'">' + item + '</span>'; }, click: _this.context.createInvokeHandlerAndUpdateState('editor.fontName') }) ]).render(); }); this.context.memo('button.fontsize', function () { return _this.ui.buttonGroup([ _this.button({ className: 'dropdown-toggle', contents: _this.ui.dropdownButtonContents('<span class="note-current-fontsize"/>', _this.options), tooltip: _this.lang.font.size, data: { toggle: 'dropdown' } }), _this.ui.dropdownCheck({ className: 'dropdown-fontsize', checkClassName: _this.options.icons.menuCheck, items: _this.options.fontSizes, title: _this.lang.font.size, click: _this.context.createInvokeHandlerAndUpdateState('editor.fontSize') }) ]).render(); }); this.context.memo('button.color', function () { return _this.ui.buttonGroup({ className: 'note-color', children: [ _this.button({ className: 'note-current-color-button', contents: _this.ui.icon(_this.options.icons.font + ' note-recent-color'), tooltip: _this.lang.color.recent, click: function (e) { var $button = $$1(e.currentTarget); _this.context.invoke('editor.color', { backColor: $button.attr('data-backColor'), foreColor: $button.attr('data-foreColor') }); }, callback: function ($button) { var $recentColor = $button.find('.note-recent-color'); $recentColor.css('background-color', '#FFFF00'); $button.attr('data-backColor', '#FFFF00'); } }), _this.button({ className: 'dropdown-toggle', contents: _this.ui.dropdownButtonContents('', _this.options), tooltip: _this.lang.color.more, data: { toggle: 'dropdown' } }), _this.ui.dropdown({ items: [ '<div class="note-palette">', ' <div class="note-palette-title">' + _this.lang.color.background + '</div>', ' <div>', ' <button type="button" class="note-color-reset btn btn-light" data-event="backColor" data-value="inherit">', _this.lang.color.transparent, ' </button>', ' </div>', ' <div class="note-holder" data-event="backColor"/>', '</div>', '<div class="note-palette">', ' <div class="note-palette-title">' + _this.lang.color.foreground + '</div>', ' <div>', ' <button type="button" class="note-color-reset btn btn-light" data-event="removeFormat" data-value="foreColor">', _this.lang.color.resetToDefault, ' </button>', ' </div>', ' <div class="note-holder" data-event="foreColor"/>', '</div>' ].join(''), callback: function ($dropdown) { $dropdown.find('.note-holder').each(function (idx, item) { var $holder = $$1(item); $holder.append(_this.ui.palette({ colors: _this.options.colors, colorsName: _this.options.colorsName, eventName: $holder.data('event'), container: _this.options.container, tooltip: _this.options.tooltip }).render()); }); }, click: function (event) { var $button = $$1(event.target); var eventName = $button.data('event'); var value = $button.data('value'); if (eventName && value) { var key = eventName === 'backColor' ? 'background-color' : 'color'; var $color = $button.closest('.note-color').find('.note-recent-color'); var $currentButton = $button.closest('.note-color').find('.note-current-color-button'); $color.css(key, value); $currentButton.attr('data-' + eventName, value); _this.context.invoke('editor.' + eventName, value); } } }) ] }).render(); }); this.context.memo('button.ul', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.unorderedlist), tooltip: _this.lang.lists.unordered + _this.representShortcut('insertUnorderedList'), click: _this.context.createInvokeHandler('editor.insertUnorderedList') }).render(); }); this.context.memo('button.ol', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.orderedlist), tooltip: _this.lang.lists.ordered + _this.representShortcut('insertOrderedList'), click: _this.context.createInvokeHandler('editor.insertOrderedList') }).render(); }); var justifyLeft = this.button({ contents: this.ui.icon(this.options.icons.alignLeft), tooltip: this.lang.paragraph.left + this.representShortcut('justifyLeft'), click: this.context.createInvokeHandler('editor.justifyLeft') }); var justifyCenter = this.button({ contents: this.ui.icon(this.options.icons.alignCenter), tooltip: this.lang.paragraph.center + this.representShortcut('justifyCenter'), click: this.context.createInvokeHandler('editor.justifyCenter') }); var justifyRight = this.button({ contents: this.ui.icon(this.options.icons.alignRight), tooltip: this.lang.paragraph.right + this.representShortcut('justifyRight'), click: this.context.createInvokeHandler('editor.justifyRight') }); var justifyFull = this.button({ contents: this.ui.icon(this.options.icons.alignJustify), tooltip: this.lang.paragraph.justify + this.representShortcut('justifyFull'), click: this.context.createInvokeHandler('editor.justifyFull') }); var outdent = this.button({ contents: this.ui.icon(this.options.icons.outdent), tooltip: this.lang.paragraph.outdent + this.representShortcut('outdent'), click: this.context.createInvokeHandler('editor.outdent') }); var indent = this.button({ contents: this.ui.icon(this.options.icons.indent), tooltip: this.lang.paragraph.indent + this.representShortcut('indent'), click: this.context.createInvokeHandler('editor.indent') }); this.context.memo('button.justifyLeft', func.invoke(justifyLeft, 'render')); this.context.memo('button.justifyCenter', func.invoke(justifyCenter, 'render')); this.context.memo('button.justifyRight', func.invoke(justifyRight, 'render')); this.context.memo('button.justifyFull', func.invoke(justifyFull, 'render')); this.context.memo('button.outdent', func.invoke(outdent, 'render')); this.context.memo('button.indent', func.invoke(indent, 'render')); this.context.memo('button.paragraph', function () { return _this.ui.buttonGroup([ _this.button({ className: 'dropdown-toggle', contents: _this.ui.dropdownButtonContents(_this.ui.icon(_this.options.icons.alignLeft), _this.options), tooltip: _this.lang.paragraph.paragraph, data: { toggle: 'dropdown' } }), _this.ui.dropdown([ _this.ui.buttonGroup({ className: 'note-align', children: [justifyLeft, justifyCenter, justifyRight, justifyFull] }), _this.ui.buttonGroup({ className: 'note-list', children: [outdent, indent] }) ]) ]).render(); }); this.context.memo('button.height', function () { return _this.ui.buttonGroup([ _this.button({ className: 'dropdown-toggle', contents: _this.ui.dropdownButtonContents(_this.ui.icon(_this.options.icons.textHeight), _this.options), tooltip: _this.lang.font.height, data: { toggle: 'dropdown' } }), _this.ui.dropdownCheck({ items: _this.options.lineHeights, checkClassName: _this.options.icons.menuCheck, className: 'dropdown-line-height', title: _this.lang.font.height, click: _this.context.createInvokeHandler('editor.lineHeight') }) ]).render(); }); this.context.memo('button.table', function () { return _this.ui.buttonGroup([ _this.button({ className: 'dropdown-toggle', contents: _this.ui.dropdownButtonContents(_this.ui.icon(_this.options.icons.table), _this.options), tooltip: _this.lang.table.table, data: { toggle: 'dropdown' } }), _this.ui.dropdown({ title: _this.lang.table.table, className: 'note-table', items: [ '<div class="note-dimension-picker">', ' <div class="note-dimension-picker-mousecatcher" data-event="insertTable" data-value="1x1"/>', ' <div class="note-dimension-picker-highlighted"/>', ' <div class="note-dimension-picker-unhighlighted"/>', '</div>', '<div class="note-dimension-display">1 x 1</div>' ].join('') }) ], { callback: function ($node) { var $catcher = $node.find('.note-dimension-picker-mousecatcher'); $catcher.css({ width: _this.options.insertTableMaxSize.col + 'em', height: _this.options.insertTableMaxSize.row + 'em' }).mousedown(_this.context.createInvokeHandler('editor.insertTable')) .on('mousemove', _this.tableMoveHandler.bind(_this)); } }).render(); }); this.context.memo('button.link', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.link), tooltip: _this.lang.link.link + _this.representShortcut('linkDialog.show'), click: _this.context.createInvokeHandler('linkDialog.show') }).render(); }); this.context.memo('button.picture', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.picture), tooltip: _this.lang.image.image, click: _this.context.createInvokeHandler('imageDialog.show') }).render(); }); this.context.memo('button.video', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.video), tooltip: _this.lang.video.video, click: _this.context.createInvokeHandler('videoDialog.show') }).render(); }); this.context.memo('button.hr', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.minus), tooltip: _this.lang.hr.insert + _this.representShortcut('insertHorizontalRule'), click: _this.context.createInvokeHandler('editor.insertHorizontalRule') }).render(); }); this.context.memo('button.fullscreen', function () { return _this.button({ className: 'btn-fullscreen', contents: _this.ui.icon(_this.options.icons.arrowsAlt), tooltip: _this.lang.options.fullscreen, click: _this.context.createInvokeHandler('fullscreen.toggle') }).render(); }); this.context.memo('button.codeview', function () { return _this.button({ className: 'btn-codeview', contents: _this.ui.icon(_this.options.icons.code), tooltip: _this.lang.options.codeview, click: _this.context.createInvokeHandler('codeview.toggle') }).render(); }); this.context.memo('button.redo', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.redo), tooltip: _this.lang.history.redo + _this.representShortcut('redo'), click: _this.context.createInvokeHandler('editor.redo') }).render(); }); this.context.memo('button.undo', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.undo), tooltip: _this.lang.history.undo + _this.representShortcut('undo'), click: _this.context.createInvokeHandler('editor.undo') }).render(); }); this.context.memo('button.help', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.question), tooltip: _this.lang.options.help, click: _this.context.createInvokeHandler('helpDialog.show') }).render(); }); }; /** * image : [ * ['imagesize', ['imageSize100', 'imageSize50', 'imageSize25']], * ['float', ['floatLeft', 'floatRight', 'floatNone' ]], * ['remove', ['removeMedia']] * ], */ Buttons.prototype.addImagePopoverButtons = function () { var _this = this; // Image Size Buttons this.context.memo('button.imageSize100', function () { return _this.button({ contents: '<span class="note-fontsize-10">100%</span>', tooltip: _this.lang.image.resizeFull, click: _this.context.createInvokeHandler('editor.resize', '1') }).render(); }); this.context.memo('button.imageSize50', function () { return _this.button({ contents: '<span class="note-fontsize-10">50%</span>', tooltip: _this.lang.image.resizeHalf, click: _this.context.createInvokeHandler('editor.resize', '0.5') }).render(); }); this.context.memo('button.imageSize25', function () { return _this.button({ contents: '<span class="note-fontsize-10">25%</span>', tooltip: _this.lang.image.resizeQuarter, click: _this.context.createInvokeHandler('editor.resize', '0.25') }).render(); }); // Float Buttons this.context.memo('button.floatLeft', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.alignLeft), tooltip: _this.lang.image.floatLeft, click: _this.context.createInvokeHandler('editor.floatMe', 'left') }).render(); }); this.context.memo('button.floatRight', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.alignRight), tooltip: _this.lang.image.floatRight, click: _this.context.createInvokeHandler('editor.floatMe', 'right') }).render(); }); this.context.memo('button.floatNone', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.alignJustify), tooltip: _this.lang.image.floatNone, click: _this.context.createInvokeHandler('editor.floatMe', 'none') }).render(); }); // Remove Buttons this.context.memo('button.removeMedia', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.trash), tooltip: _this.lang.image.remove, click: _this.context.createInvokeHandler('editor.removeMedia') }).render(); }); }; Buttons.prototype.addLinkPopoverButtons = function () { var _this = this; this.context.memo('button.linkDialogShow', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.link), tooltip: _this.lang.link.edit, click: _this.context.createInvokeHandler('linkDialog.show') }).render(); }); this.context.memo('button.unlink', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.unlink), tooltip: _this.lang.link.unlink, click: _this.context.createInvokeHandler('editor.unlink') }).render(); }); }; /** * table : [ * ['add', ['addRowDown', 'addRowUp', 'addColLeft', 'addColRight']], * ['delete', ['deleteRow', 'deleteCol', 'deleteTable']] * ], */ Buttons.prototype.addTablePopoverButtons = function () { var _this = this; this.context.memo('button.addRowUp', function () { return _this.button({ className: 'btn-md', contents: _this.ui.icon(_this.options.icons.rowAbove), tooltip: _this.lang.table.addRowAbove, click: _this.context.createInvokeHandler('editor.addRow', 'top') }).render(); }); this.context.memo('button.addRowDown', function () { return _this.button({ className: 'btn-md', contents: _this.ui.icon(_this.options.icons.rowBelow), tooltip: _this.lang.table.addRowBelow, click: _this.context.createInvokeHandler('editor.addRow', 'bottom') }).render(); }); this.context.memo('button.addColLeft', function () { return _this.button({ className: 'btn-md', contents: _this.ui.icon(_this.options.icons.colBefore), tooltip: _this.lang.table.addColLeft, click: _this.context.createInvokeHandler('editor.addCol', 'left') }).render(); }); this.context.memo('button.addColRight', function () { return _this.button({ className: 'btn-md', contents: _this.ui.icon(_this.options.icons.colAfter), tooltip: _this.lang.table.addColRight, click: _this.context.createInvokeHandler('editor.addCol', 'right') }).render(); }); this.context.memo('button.deleteRow', function () { return _this.button({ className: 'btn-md', contents: _this.ui.icon(_this.options.icons.rowRemove), tooltip: _this.lang.table.delRow, click: _this.context.createInvokeHandler('editor.deleteRow') }).render(); }); this.context.memo('button.deleteCol', function () { return _this.button({ className: 'btn-md', contents: _this.ui.icon(_this.options.icons.colRemove), tooltip: _this.lang.table.delCol, click: _this.context.createInvokeHandler('editor.deleteCol') }).render(); }); this.context.memo('button.deleteTable', function () { return _this.button({ className: 'btn-md', contents: _this.ui.icon(_this.options.icons.trash), tooltip: _this.lang.table.delTable, click: _this.context.createInvokeHandler('editor.deleteTable') }).render(); }); }; Buttons.prototype.build = function ($container, groups) { for (var groupIdx = 0, groupLen = groups.length; groupIdx < groupLen; groupIdx++) { var group = groups[groupIdx]; var groupName = $$1.isArray(group) ? group[0] : group; var buttons = $$1.isArray(group) ? ((group.length === 1) ? [group[0]] : group[1]) : [group]; var $group = this.ui.buttonGroup({ className: 'note-' + groupName }).render(); for (var idx = 0, len = buttons.length; idx < len; idx++) { var btn = this.context.memo('button.' + buttons[idx]); if (btn) { $group.append(typeof btn === 'function' ? btn(this.context) : btn); } } $group.appendTo($container); } }; /** * @param {jQuery} [$container] */ Buttons.prototype.updateCurrentStyle = function ($container) { var _this = this; var $cont = $container || this.$toolbar; var styleInfo = this.context.invoke('editor.currentStyle'); this.updateBtnStates($cont, { '.note-btn-bold': function () { return styleInfo['font-bold'] === 'bold'; }, '.note-btn-italic': function () { return styleInfo['font-italic'] === 'italic'; }, '.note-btn-underline': function () { return styleInfo['font-underline'] === 'underline'; }, '.note-btn-subscript': function () { return styleInfo['font-subscript'] === 'subscript'; }, '.note-btn-superscript': function () { return styleInfo['font-superscript'] === 'superscript'; }, '.note-btn-strikethrough': function () { return styleInfo['font-strikethrough'] === 'strikethrough'; } }); if (styleInfo['font-family']) { var fontNames = styleInfo['font-family'].split(',').map(function (name) { return name.replace(/[\'\"]/g, '') .replace(/\s+$/, '') .replace(/^\s+/, ''); }); var fontName_1 = lists.find(fontNames, this.isFontInstalled.bind(this)); $cont.find('.dropdown-fontname a').each(function (idx, item) { var $item = $$1(item); // always compare string to avoid creating another func. var isChecked = ($item.data('value') + '') === (fontName_1 + ''); $item.toggleClass('checked', isChecked); }); $cont.find('.note-current-fontname').text(fontName_1).css('font-family', fontName_1); } if (styleInfo['font-size']) { var fontSize_1 = styleInfo['font-size']; $cont.find('.dropdown-fontsize a').each(function (idx, item) { var $item = $$1(item); // always compare with string to avoid creating another func. var isChecked = ($item.data('value') + '') === (fontSize_1 + ''); $item.toggleClass('checked', isChecked); }); $cont.find('.note-current-fontsize').text(fontSize_1); } if (styleInfo['line-height']) { var lineHeight_1 = styleInfo['line-height']; $cont.find('.dropdown-line-height li a').each(function (idx, item) { // always compare with string to avoid creating another func. var isChecked = ($$1(item).data('value') + '') === (lineHeight_1 + ''); _this.className = isChecked ? 'checked' : ''; }); } }; Buttons.prototype.updateBtnStates = function ($container, infos) { var _this = this; $$1.each(infos, function (selector, pred) { _this.ui.toggleBtnActive($container.find(selector), pred()); }); }; Buttons.prototype.tableMoveHandler = function (event) { var PX_PER_EM = 18; var $picker = $$1(event.target.parentNode); // target is mousecatcher var $dimensionDisplay = $picker.next(); var $catcher = $picker.find('.note-dimension-picker-mousecatcher'); var $highlighted = $picker.find('.note-dimension-picker-highlighted'); var $unhighlighted = $picker.find('.note-dimension-picker-unhighlighted'); var posOffset; // HTML5 with jQuery - e.offsetX is undefined in Firefox if (event.offsetX === undefined) { var posCatcher = $$1(event.target).offset(); posOffset = { x: event.pageX - posCatcher.left, y: event.pageY - posCatcher.top }; } else { posOffset = { x: event.offsetX, y: event.offsetY }; } var dim = { c: Math.ceil(posOffset.x / PX_PER_EM) || 1, r: Math.ceil(posOffset.y / PX_PER_EM) || 1 }; $highlighted.css({ width: dim.c + 'em', height: dim.r + 'em' }); $catcher.data('value', dim.c + 'x' + dim.r); if (dim.c > 3 && dim.c < this.options.insertTableMaxSize.col) { $unhighlighted.css({ width: dim.c + 1 + 'em' }); } if (dim.r > 3 && dim.r < this.options.insertTableMaxSize.row) { $unhighlighted.css({ height: dim.r + 1 + 'em' }); } $dimensionDisplay.html(dim.c + ' x ' + dim.r); }; return Buttons; }()); var Toolbar = /** @class */ (function () { function Toolbar(context) { this.context = context; this.$window = $$1(window); this.$document = $$1(document); this.ui = $$1.summernote.ui; this.$note = context.layoutInfo.note; this.$editor = context.layoutInfo.editor; this.$toolbar = context.layoutInfo.toolbar; this.options = context.options; this.followScroll = this.followScroll.bind(this); } Toolbar.prototype.shouldInitialize = function () { return !this.options.airMode; }; Toolbar.prototype.initialize = function () { var _this = this; this.options.toolbar = this.options.toolbar || []; if (!this.options.toolbar.length) { this.$toolbar.hide(); } else { this.context.invoke('buttons.build', this.$toolbar, this.options.toolbar); } if (this.options.toolbarContainer) { this.$toolbar.appendTo(this.options.toolbarContainer); } this.changeContainer(false); this.$note.on('summernote.keyup summernote.mouseup summernote.change', function () { _this.context.invoke('buttons.updateCurrentStyle'); }); this.context.invoke('buttons.updateCurrentStyle'); if (this.options.followingToolbar) { this.$window.on('scroll resize', this.followScroll); } }; Toolbar.prototype.destroy = function () { this.$toolbar.children().remove(); if (this.options.followingToolbar) { this.$window.off('scroll resize', this.followScroll); } }; Toolbar.prototype.followScroll = function () { if (this.$editor.hasClass('fullscreen')) { return false; } var $toolbarWrapper = this.$toolbar.parent('.note-toolbar-wrapper'); var editorHeight = this.$editor.outerHeight(); var editorWidth = this.$editor.width(); var toolbarHeight = this.$toolbar.height(); $toolbarWrapper.css({ height: toolbarHeight }); // check if the web app is currently using another static bar var otherBarHeight = 0; if (this.options.otherStaticBar) { otherBarHeight = $$1(this.options.otherStaticBar).outerHeight(); } var currentOffset = this.$document.scrollTop(); var editorOffsetTop = this.$editor.offset().top; var editorOffsetBottom = editorOffsetTop + editorHeight; var activateOffset = editorOffsetTop - otherBarHeight; var deactivateOffsetBottom = editorOffsetBottom - otherBarHeight - toolbarHeight; if ((currentOffset > activateOffset) && (currentOffset < deactivateOffsetBottom)) { this.$toolbar.css({ position: 'fixed', top: otherBarHeight, width: editorWidth }); } else { this.$toolbar.css({ position: 'relative', top: 0, width: '100%' }); } }; Toolbar.prototype.changeContainer = function (isFullscreen) { if (isFullscreen) { this.$toolbar.prependTo(this.$editor); } else { if (this.options.toolbarContainer) { this.$toolbar.appendTo(this.options.toolbarContainer); } } }; Toolbar.prototype.updateFullscreen = function (isFullscreen) { this.ui.toggleBtnActive(this.$toolbar.find('.btn-fullscreen'), isFullscreen); this.changeContainer(isFullscreen); }; Toolbar.prototype.updateCodeview = function (isCodeview) { this.ui.toggleBtnActive(this.$toolbar.find('.btn-codeview'), isCodeview); if (isCodeview) { this.deactivate(); } else { this.activate(); } }; Toolbar.prototype.activate = function (isIncludeCodeview) { var $btn = this.$toolbar.find('button'); if (!isIncludeCodeview) { $btn = $btn.not('.btn-codeview'); } this.ui.toggleBtn($btn, true); }; Toolbar.prototype.deactivate = function (isIncludeCodeview) { var $btn = this.$toolbar.find('button'); if (!isIncludeCodeview) { $btn = $btn.not('.btn-codeview'); } this.ui.toggleBtn($btn, false); }; return Toolbar; }()); var LinkDialog = /** @class */ (function () { function LinkDialog(context) { this.context = context; this.ui = $$1.summernote.ui; this.$body = $$1(document.body); this.$editor = context.layoutInfo.editor; this.options = context.options; this.lang = this.options.langInfo; context.memo('help.linkDialog.show', this.options.langInfo.help['linkDialog.show']); } LinkDialog.prototype.initialize = function () { var $container = this.options.dialogsInBody ? this.$body : this.$editor; var body = [ '<div class="form-group note-form-group">', "<label class=\"note-form-label\">" + this.lang.link.textToDisplay + "</label>", '<input class="note-link-text form-control note-form-control note-input" type="text" />', '</div>', '<div class="form-group note-form-group">', "<label class=\"note-form-label\">" + this.lang.link.url + "</label>", '<input class="note-link-url form-control note-form-control note-input" type="text" value="http://" />', '</div>', !this.options.disableLinkTarget ? $$1('<div/>').append(this.ui.checkbox({ id: 'sn-checkbox-open-in-new-window', text: this.lang.link.openInNewWindow, checked: true }).render()).html() : '' ].join(''); var buttonClass = 'btn btn-primary note-btn note-btn-primary note-link-btn'; var footer = "<button type=\"submit\" href=\"#\" class=\"" + buttonClass + "\" disabled>" + this.lang.link.insert + "</button>"; this.$dialog = this.ui.dialog({ className: 'link-dialog', title: this.lang.link.insert, fade: this.options.dialogsFade, body: body, footer: footer }).render().appendTo($container); }; LinkDialog.prototype.destroy = function () { this.ui.hideDialog(this.$dialog); this.$dialog.remove(); }; LinkDialog.prototype.bindEnterKey = function ($input, $btn) { $input.on('keypress', function (event) { if (event.keyCode === key.code.ENTER) { event.preventDefault(); $btn.trigger('click'); } }); }; /** * toggle update button */ LinkDialog.prototype.toggleLinkBtn = function ($linkBtn, $linkText, $linkUrl) { this.ui.toggleBtn($linkBtn, $linkText.val() && $linkUrl.val()); }; /** * Show link dialog and set event handlers on dialog controls. * * @param {Object} linkInfo * @return {Promise} */ LinkDialog.prototype.showLinkDialog = function (linkInfo) { var _this = this; return $$1.Deferred(function (deferred) { var $linkText = _this.$dialog.find('.note-link-text'); var $linkUrl = _this.$dialog.find('.note-link-url'); var $linkBtn = _this.$dialog.find('.note-link-btn'); var $openInNewWindow = _this.$dialog.find('input[type=checkbox]'); _this.ui.onDialogShown(_this.$dialog, function () { _this.context.triggerEvent('dialog.shown'); // if no url was given, copy text to url if (!linkInfo.url) { linkInfo.url = linkInfo.text; } $linkText.val(linkInfo.text); var handleLinkTextUpdate = function () { _this.toggleLinkBtn($linkBtn, $linkText, $linkUrl); // if linktext was modified by keyup, // stop cloning text from linkUrl linkInfo.text = $linkText.val(); }; $linkText.on('input', handleLinkTextUpdate).on('paste', function () { setTimeout(handleLinkTextUpdate, 0); }); var handleLinkUrlUpdate = function () { _this.toggleLinkBtn($linkBtn, $linkText, $linkUrl); // display same link on `Text to display` input // when create a new link if (!linkInfo.text) { $linkText.val($linkUrl.val()); } }; $linkUrl.on('input', handleLinkUrlUpdate).on('paste', function () { setTimeout(handleLinkUrlUpdate, 0); }).val(linkInfo.url); if (!env.isSupportTouch) { $linkUrl.trigger('focus'); } _this.toggleLinkBtn($linkBtn, $linkText, $linkUrl); _this.bindEnterKey($linkUrl, $linkBtn); _this.bindEnterKey($linkText, $linkBtn); var isChecked = linkInfo.isNewWindow !== undefined ? linkInfo.isNewWindow : _this.context.options.linkTargetBlank; $openInNewWindow.prop('checked', isChecked); $linkBtn.one('click', function (event) { event.preventDefault(); deferred.resolve({ range: linkInfo.range, url: $linkUrl.val(), text: $linkText.val(), isNewWindow: $openInNewWindow.is(':checked') }); _this.ui.hideDialog(_this.$dialog); }); }); _this.ui.onDialogHidden(_this.$dialog, function () { // detach events $linkText.off('input paste keypress'); $linkUrl.off('input paste keypress'); $linkBtn.off('click'); if (deferred.state() === 'pending') { deferred.reject(); } }); _this.ui.showDialog(_this.$dialog); }).promise(); }; /** * @param {Object} layoutInfo */ LinkDialog.prototype.show = function () { var _this = this; var linkInfo = this.context.invoke('editor.getLinkInfo'); this.context.invoke('editor.saveRange'); this.showLinkDialog(linkInfo).then(function (linkInfo) { _this.context.invoke('editor.restoreRange'); _this.context.invoke('editor.createLink', linkInfo); }).fail(function () { _this.context.invoke('editor.restoreRange'); }); }; return LinkDialog; }()); var LinkPopover = /** @class */ (function () { function LinkPopover(context) { var _this = this; this.context = context; this.ui = $$1.summernote.ui; this.options = context.options; this.events = { 'summernote.keyup summernote.mouseup summernote.change summernote.scroll': function () { _this.update(); }, 'summernote.disable summernote.dialog.shown': function () { _this.hide(); } }; } LinkPopover.prototype.shouldInitialize = function () { return !lists.isEmpty(this.options.popover.link); }; LinkPopover.prototype.initialize = function () { this.$popover = this.ui.popover({ className: 'note-link-popover', callback: function ($node) { var $content = $node.find('.popover-content,.note-popover-content'); $content.prepend('<span><a target="_blank"></a> </span>'); } }).render().appendTo(this.options.container); var $content = this.$popover.find('.popover-content,.note-popover-content'); this.context.invoke('buttons.build', $content, this.options.popover.link); }; LinkPopover.prototype.destroy = function () { this.$popover.remove(); }; LinkPopover.prototype.update = function () { // Prevent focusing on editable when invoke('code') is executed if (!this.context.invoke('editor.hasFocus')) { this.hide(); return; } var rng = this.context.invoke('editor.createRange'); if (rng.isCollapsed() && rng.isOnAnchor()) { var anchor = dom.ancestor(rng.sc, dom.isAnchor); var href = $$1(anchor).attr('href'); this.$popover.find('a').attr('href', href).html(href); var pos = dom.posFromPlaceholder(anchor); this.$popover.css({ display: 'block', left: pos.left, top: pos.top }); } else { this.hide(); } }; LinkPopover.prototype.hide = function () { this.$popover.hide(); }; return LinkPopover; }()); var ImageDialog = /** @class */ (function () { function ImageDialog(context) { this.context = context; this.ui = $$1.summernote.ui; this.$body = $$1(document.body); this.$editor = context.layoutInfo.editor; this.options = context.options; this.lang = this.options.langInfo; } ImageDialog.prototype.initialize = function () { var $container = this.options.dialogsInBody ? this.$body : this.$editor; var imageLimitation = ''; if (this.options.maximumImageFileSize) { var unit = Math.floor(Math.log(this.options.maximumImageFileSize) / Math.log(1024)); var readableSize = (this.options.maximumImageFileSize / Math.pow(1024, unit)).toFixed(2) * 1 + ' ' + ' KMGTP'[unit] + 'B'; imageLimitation = "<small>" + (this.lang.image.maximumFileSize + ' : ' + readableSize) + "</small>"; } var body = [ '<div class="form-group note-form-group note-group-select-from-files">', '<label class="note-form-label">' + this.lang.image.selectFromFiles + '</label>', '<input class="note-image-input note-form-control note-input" ', ' type="file" name="files" accept="image/*" multiple="multiple" />', imageLimitation, '</div>', '<div class="form-group note-group-image-url" style="overflow:auto;">', '<label class="note-form-label">' + this.lang.image.url + '</label>', '<input class="note-image-url form-control note-form-control note-input ', ' col-md-12" type="text" />', '</div>' ].join(''); var buttonClass = 'btn btn-primary note-btn note-btn-primary note-image-btn'; var footer = "<button type=\"submit\" href=\"#\" class=\"" + buttonClass + "\" disabled>" + this.lang.image.insert + "</button>"; this.$dialog = this.ui.dialog({ title: this.lang.image.insert, fade: this.options.dialogsFade, body: body, footer: footer }).render().appendTo($container); }; ImageDialog.prototype.destroy = function () { this.ui.hideDialog(this.$dialog); this.$dialog.remove(); }; ImageDialog.prototype.bindEnterKey = function ($input, $btn) { $input.on('keypress', function (event) { if (event.keyCode === key.code.ENTER) { event.preventDefault(); $btn.trigger('click'); } }); }; ImageDialog.prototype.show = function () { var _this = this; this.context.invoke('editor.saveRange'); this.showImageDialog().then(function (data) { // [workaround] hide dialog before restore range for IE range focus _this.ui.hideDialog(_this.$dialog); _this.context.invoke('editor.restoreRange'); if (typeof data === 'string') { _this.context.invoke('editor.insertImage', data); } else { _this.context.invoke('editor.insertImagesOrCallback', data); } }).fail(function () { _this.context.invoke('editor.restoreRange'); }); }; /** * show image dialog * * @param {jQuery} $dialog * @return {Promise} */ ImageDialog.prototype.showImageDialog = function () { var _this = this; return $$1.Deferred(function (deferred) { var $imageInput = _this.$dialog.find('.note-image-input'); var $imageUrl = _this.$dialog.find('.note-image-url'); var $imageBtn = _this.$dialog.find('.note-image-btn'); _this.ui.onDialogShown(_this.$dialog, function () { _this.context.triggerEvent('dialog.shown'); // Cloning imageInput to clear element. $imageInput.replaceWith($imageInput.clone().on('change', function (event) { deferred.resolve(event.target.files || event.target.value); }).val('')); $imageBtn.click(function (event) { event.preventDefault(); deferred.resolve($imageUrl.val()); }); $imageUrl.on('keyup paste', function () { var url = $imageUrl.val(); _this.ui.toggleBtn($imageBtn, url); }).val(''); if (!env.isSupportTouch) { $imageUrl.trigger('focus'); } _this.bindEnterKey($imageUrl, $imageBtn); }); _this.ui.onDialogHidden(_this.$dialog, function () { $imageInput.off('change'); $imageUrl.off('keyup paste keypress'); $imageBtn.off('click'); if (deferred.state() === 'pending') { deferred.reject(); } }); _this.ui.showDialog(_this.$dialog); }); }; return ImageDialog; }()); /** * Image popover module * mouse events that show/hide popover will be handled by Handle.js. * Handle.js will receive the events and invoke 'imagePopover.update'. */ var ImagePopover = /** @class */ (function () { function ImagePopover(context) { var _this = this; this.context = context; this.ui = $$1.summernote.ui; this.editable = context.layoutInfo.editable[0]; this.options = context.options; this.events = { 'summernote.disable': function () { _this.hide(); } }; } ImagePopover.prototype.shouldInitialize = function () { return !lists.isEmpty(this.options.popover.image); }; ImagePopover.prototype.initialize = function () { this.$popover = this.ui.popover({ className: 'note-image-popover' }).render().appendTo(this.options.container); var $content = this.$popover.find('.popover-content,.note-popover-content'); this.context.invoke('buttons.build', $content, this.options.popover.image); }; ImagePopover.prototype.destroy = function () { this.$popover.remove(); }; ImagePopover.prototype.update = function (target) { if (dom.isImg(target)) { var pos = dom.posFromPlaceholder(target); var posEditor = dom.posFromPlaceholder(this.editable); this.$popover.css({ display: 'block', left: this.options.popatmouse ? event.pageX - 20 : pos.left, top: this.options.popatmouse ? event.pageY : Math.min(pos.top, posEditor.top) }); } else { this.hide(); } }; ImagePopover.prototype.hide = function () { this.$popover.hide(); }; return ImagePopover; }()); var TablePopover = /** @class */ (function () { function TablePopover(context) { var _this = this; this.context = context; this.ui = $$1.summernote.ui; this.options = context.options; this.events = { 'summernote.mousedown': function (we, e) { _this.update(e.target); }, 'summernote.keyup summernote.scroll summernote.change': function () { _this.update(); }, 'summernote.disable': function () { _this.hide(); } }; } TablePopover.prototype.shouldInitialize = function () { return !lists.isEmpty(this.options.popover.table); }; TablePopover.prototype.initialize = function () { this.$popover = this.ui.popover({ className: 'note-table-popover' }).render().appendTo(this.options.container); var $content = this.$popover.find('.popover-content,.note-popover-content'); this.context.invoke('buttons.build', $content, this.options.popover.table); // [workaround] Disable Firefox's default table editor if (env.isFF) { document.execCommand('enableInlineTableEditing', false, false); } }; TablePopover.prototype.destroy = function () { this.$popover.remove(); }; TablePopover.prototype.update = function (target) { if (this.context.isDisabled()) { return false; } var isCell = dom.isCell(target); if (isCell) { var pos = dom.posFromPlaceholder(target); this.$popover.css({ display: 'block', left: pos.left, top: pos.top }); } else { this.hide(); } return isCell; }; TablePopover.prototype.hide = function () { this.$popover.hide(); }; return TablePopover; }()); var VideoDialog = /** @class */ (function () { function VideoDialog(context) { this.context = context; this.ui = $$1.summernote.ui; this.$body = $$1(document.body); this.$editor = context.layoutInfo.editor; this.options = context.options; this.lang = this.options.langInfo; } VideoDialog.prototype.initialize = function () { var $container = this.options.dialogsInBody ? this.$body : this.$editor; var body = [ '<div class="form-group note-form-group row-fluid">', "<label class=\"note-form-label\">" + this.lang.video.url + " <small class=\"text-muted\">" + this.lang.video.providers + "</small></label>", '<input class="note-video-url form-control note-form-control note-input" type="text" />', '</div>' ].join(''); var buttonClass = 'btn btn-primary note-btn note-btn-primary note-video-btn'; var footer = "<button type=\"submit\" href=\"#\" class=\"" + buttonClass + "\" disabled>" + this.lang.video.insert + "</button>"; this.$dialog = this.ui.dialog({ title: this.lang.video.insert, fade: this.options.dialogsFade, body: body, footer: footer }).render().appendTo($container); }; VideoDialog.prototype.destroy = function () { this.ui.hideDialog(this.$dialog); this.$dialog.remove(); }; VideoDialog.prototype.bindEnterKey = function ($input, $btn) { $input.on('keypress', function (event) { if (event.keyCode === key.code.ENTER) { event.preventDefault(); $btn.trigger('click'); } }); }; VideoDialog.prototype.createVideoNode = function (url) { // video url patterns(youtube, instagram, vimeo, dailymotion, youku, mp4, ogg, webm) var ytRegExp = /^(?:https?:\/\/)?(?:www\.)?(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=))((\w|-){11})(?:\S+)?$/; var ytMatch = url.match(ytRegExp); var igRegExp = /(?:www\.|\/\/)instagram\.com\/p\/(.[a-zA-Z0-9_-]*)/; var igMatch = url.match(igRegExp); var vRegExp = /\/\/vine\.co\/v\/([a-zA-Z0-9]+)/; var vMatch = url.match(vRegExp); var vimRegExp = /\/\/(player\.)?vimeo\.com\/([a-z]*\/)*(\d+)[?]?.*/; var vimMatch = url.match(vimRegExp); var dmRegExp = /.+dailymotion.com\/(video|hub)\/([^_]+)[^#]*(#video=([^_&]+))?/; var dmMatch = url.match(dmRegExp); var youkuRegExp = /\/\/v\.youku\.com\/v_show\/id_(\w+)=*\.html/; var youkuMatch = url.match(youkuRegExp); var qqRegExp = /\/\/v\.qq\.com.*?vid=(.+)/; var qqMatch = url.match(qqRegExp); var qqRegExp2 = /\/\/v\.qq\.com\/x?\/?(page|cover).*?\/([^\/]+)\.html\??.*/; var qqMatch2 = url.match(qqRegExp2); var mp4RegExp = /^.+.(mp4|m4v)$/; var mp4Match = url.match(mp4RegExp); var oggRegExp = /^.+.(ogg|ogv)$/; var oggMatch = url.match(oggRegExp); var webmRegExp = /^.+.(webm)$/; var webmMatch = url.match(webmRegExp); var $video; if (ytMatch && ytMatch[1].length === 11) { var youtubeId = ytMatch[1]; $video = $$1('<iframe>') .attr('frameborder', 0) .attr('src', '//www.youtube.com/embed/' + youtubeId) .attr('width', '640').attr('height', '360'); } else if (igMatch && igMatch[0].length) { $video = $$1('<iframe>') .attr('frameborder', 0) .attr('src', 'https://instagram.com/p/' + igMatch[1] + '/embed/') .attr('width', '612').attr('height', '710') .attr('scrolling', 'no') .attr('allowtransparency', 'true'); } else if (vMatch && vMatch[0].length) { $video = $$1('<iframe>') .attr('frameborder', 0) .attr('src', vMatch[0] + '/embed/simple') .attr('width', '600').attr('height', '600') .attr('class', 'vine-embed'); } else if (vimMatch && vimMatch[3].length) { $video = $$1('<iframe webkitallowfullscreen mozallowfullscreen allowfullscreen>') .attr('frameborder', 0) .attr('src', '//player.vimeo.com/video/' + vimMatch[3]) .attr('width', '640').attr('height', '360'); } else if (dmMatch && dmMatch[2].length) { $video = $$1('<iframe>') .attr('frameborder', 0) .attr('src', '//www.dailymotion.com/embed/video/' + dmMatch[2]) .attr('width', '640').attr('height', '360'); } else if (youkuMatch && youkuMatch[1].length) { $video = $$1('<iframe webkitallowfullscreen mozallowfullscreen allowfullscreen>') .attr('frameborder', 0) .attr('height', '498') .attr('width', '510') .attr('src', '//player.youku.com/embed/' + youkuMatch[1]); } else if ((qqMatch && qqMatch[1].length) || (qqMatch2 && qqMatch2[2].length)) { var vid = ((qqMatch && qqMatch[1].length) ? qqMatch[1] : qqMatch2[2]); $video = $$1('<iframe webkitallowfullscreen mozallowfullscreen allowfullscreen>') .attr('frameborder', 0) .attr('height', '310') .attr('width', '500') .attr('src', 'http://v.qq.com/iframe/player.html?vid=' + vid + '&auto=0'); } else if (mp4Match || oggMatch || webmMatch) { $video = $$1('<video controls>') .attr('src', url) .attr('width', '640').attr('height', '360'); } else { // this is not a known video link. Now what, Cat? Now what? return false; } $video.addClass('note-video-clip'); return $video[0]; }; VideoDialog.prototype.show = function () { var _this = this; var text = this.context.invoke('editor.getSelectedText'); this.context.invoke('editor.saveRange'); this.showVideoDialog(text).then(function (url) { // [workaround] hide dialog before restore range for IE range focus _this.ui.hideDialog(_this.$dialog); _this.context.invoke('editor.restoreRange'); // build node var $node = _this.createVideoNode(url); if ($node) { // insert video node _this.context.invoke('editor.insertNode', $node); } }).fail(function () { _this.context.invoke('editor.restoreRange'); }); }; /** * show image dialog * * @param {jQuery} $dialog * @return {Promise} */ VideoDialog.prototype.showVideoDialog = function (text) { var _this = this; return $$1.Deferred(function (deferred) { var $videoUrl = _this.$dialog.find('.note-video-url'); var $videoBtn = _this.$dialog.find('.note-video-btn'); _this.ui.onDialogShown(_this.$dialog, function () { _this.context.triggerEvent('dialog.shown'); $videoUrl.val(text).on('input', function () { _this.ui.toggleBtn($videoBtn, $videoUrl.val()); }); if (!env.isSupportTouch) { $videoUrl.trigger('focus'); } $videoBtn.click(function (event) { event.preventDefault(); deferred.resolve($videoUrl.val()); }); _this.bindEnterKey($videoUrl, $videoBtn); }); _this.ui.onDialogHidden(_this.$dialog, function () { $videoUrl.off('input'); $videoBtn.off('click'); if (deferred.state() === 'pending') { deferred.reject(); } }); _this.ui.showDialog(_this.$dialog); }); }; return VideoDialog; }()); var HelpDialog = /** @class */ (function () { function HelpDialog(context) { this.context = context; this.ui = $$1.summernote.ui; this.$body = $$1(document.body); this.$editor = context.layoutInfo.editor; this.options = context.options; this.lang = this.options.langInfo; } HelpDialog.prototype.initialize = function () { var $container = this.options.dialogsInBody ? this.$body : this.$editor; var body = [ '<p class="text-center">', '<a href="http://summernote.org/" target="_blank">Summernote 0.8.10</a> · ', '<a href="https://github.com/summernote/summernote" target="_blank">Project</a> · ', '<a href="https://github.com/summernote/summernote/issues" target="_blank">Issues</a>', '</p>' ].join(''); this.$dialog = this.ui.dialog({ title: this.lang.options.help, fade: this.options.dialogsFade, body: this.createShortcutList(), footer: body, callback: function ($node) { $node.find('.modal-body,.note-modal-body').css({ 'max-height': 300, 'overflow': 'scroll' }); } }).render().appendTo($container); }; HelpDialog.prototype.destroy = function () { this.ui.hideDialog(this.$dialog); this.$dialog.remove(); }; HelpDialog.prototype.createShortcutList = function () { var _this = this; var keyMap = this.options.keyMap[env.isMac ? 'mac' : 'pc']; return Object.keys(keyMap).map(function (key) { var command = keyMap[key]; var $row = $$1('<div><div class="help-list-item"/></div>'); $row.append($$1('<label><kbd>' + key + '</kdb></label>').css({ 'width': 180, 'margin-right': 10 })).append($$1('<span/>').html(_this.context.memo('help.' + command) || command)); return $row.html(); }).join(''); }; /** * show help dialog * * @return {Promise} */ HelpDialog.prototype.showHelpDialog = function () { var _this = this; return $$1.Deferred(function (deferred) { _this.ui.onDialogShown(_this.$dialog, function () { _this.context.triggerEvent('dialog.shown'); deferred.resolve(); }); _this.ui.showDialog(_this.$dialog); }).promise(); }; HelpDialog.prototype.show = function () { var _this = this; this.context.invoke('editor.saveRange'); this.showHelpDialog().then(function () { _this.context.invoke('editor.restoreRange'); }); }; return HelpDialog; }()); var AIR_MODE_POPOVER_X_OFFSET = 20; var AirPopover = /** @class */ (function () { function AirPopover(context) { var _this = this; this.context = context; this.ui = $$1.summernote.ui; this.options = context.options; this.events = { 'summernote.keyup summernote.mouseup summernote.scroll': function () { _this.update(); }, 'summernote.disable summernote.change summernote.dialog.shown': function () { _this.hide(); }, 'summernote.focusout': function (we, e) { // [workaround] Firefox doesn't support relatedTarget on focusout // - Ignore hide action on focus out in FF. if (env.isFF) { return; } if (!e.relatedTarget || !dom.ancestor(e.relatedTarget, func.eq(_this.$popover[0]))) { _this.hide(); } } }; } AirPopover.prototype.shouldInitialize = function () { return this.options.airMode && !lists.isEmpty(this.options.popover.air); }; AirPopover.prototype.initialize = function () { this.$popover = this.ui.popover({ className: 'note-air-popover' }).render().appendTo(this.options.container); var $content = this.$popover.find('.popover-content'); this.context.invoke('buttons.build', $content, this.options.popover.air); }; AirPopover.prototype.destroy = function () { this.$popover.remove(); }; AirPopover.prototype.update = function () { var styleInfo = this.context.invoke('editor.currentStyle'); if (styleInfo.range && !styleInfo.range.isCollapsed()) { var rect = lists.last(styleInfo.range.getClientRects()); if (rect) { var bnd = func.rect2bnd(rect); this.$popover.css({ display: 'block', left: Math.max(bnd.left + bnd.width / 2, 0) - AIR_MODE_POPOVER_X_OFFSET, top: bnd.top + bnd.height }); this.context.invoke('buttons.updateCurrentStyle', this.$popover); } } else { this.hide(); } }; AirPopover.prototype.hide = function () { this.$popover.hide(); }; return AirPopover; }()); var POPOVER_DIST = 5; var HintPopover = /** @class */ (function () { function HintPopover(context) { var _this = this; this.context = context; this.ui = $$1.summernote.ui; this.$editable = context.layoutInfo.editable; this.options = context.options; this.hint = this.options.hint || []; this.direction = this.options.hintDirection || 'bottom'; this.hints = $$1.isArray(this.hint) ? this.hint : [this.hint]; this.events = { 'summernote.keyup': function (we, e) { if (!e.isDefaultPrevented()) { _this.handleKeyup(e); } }, 'summernote.keydown': function (we, e) { _this.handleKeydown(e); }, 'summernote.disable summernote.dialog.shown': function () { _this.hide(); } }; } HintPopover.prototype.shouldInitialize = function () { return this.hints.length > 0; }; HintPopover.prototype.initialize = function () { var _this = this; this.lastWordRange = null; this.$popover = this.ui.popover({ className: 'note-hint-popover', hideArrow: true, direction: '' }).render().appendTo(this.options.container); this.$popover.hide(); this.$content = this.$popover.find('.popover-content,.note-popover-content'); this.$content.on('click', '.note-hint-item', function () { _this.$content.find('.active').removeClass('active'); $$1(_this).addClass('active'); _this.replace(); }); }; HintPopover.prototype.destroy = function () { this.$popover.remove(); }; HintPopover.prototype.selectItem = function ($item) { this.$content.find('.active').removeClass('active'); $item.addClass('active'); this.$content[0].scrollTop = $item[0].offsetTop - (this.$content.innerHeight() / 2); }; HintPopover.prototype.moveDown = function () { var $current = this.$content.find('.note-hint-item.active'); var $next = $current.next(); if ($next.length) { this.selectItem($next); } else { var $nextGroup = $current.parent().next(); if (!$nextGroup.length) { $nextGroup = this.$content.find('.note-hint-group').first(); } this.selectItem($nextGroup.find('.note-hint-item').first()); } }; HintPopover.prototype.moveUp = function () { var $current = this.$content.find('.note-hint-item.active'); var $prev = $current.prev(); if ($prev.length) { this.selectItem($prev); } else { var $prevGroup = $current.parent().prev(); if (!$prevGroup.length) { $prevGroup = this.$content.find('.note-hint-group').last(); } this.selectItem($prevGroup.find('.note-hint-item').last()); } }; HintPopover.prototype.replace = function () { var $item = this.$content.find('.note-hint-item.active'); if ($item.length) { var node = this.nodeFromItem($item); // XXX: consider to move codes to editor for recording redo/undo. this.lastWordRange.insertNode(node); range.createFromNode(node).collapse().select(); this.lastWordRange = null; this.hide(); this.context.triggerEvent('change', this.$editable.html(), this.$editable[0]); this.context.invoke('editor.focus'); } }; HintPopover.prototype.nodeFromItem = function ($item) { var hint = this.hints[$item.data('index')]; var item = $item.data('item'); var node = hint.content ? hint.content(item) : item; if (typeof node === 'string') { node = dom.createText(node); } return node; }; HintPopover.prototype.createItemTemplates = function (hintIdx, items) { var hint = this.hints[hintIdx]; return items.map(function (item, idx) { var $item = $$1('<div class="note-hint-item"/>'); $item.append(hint.template ? hint.template(item) : item + ''); $item.data({ 'index': hintIdx, 'item': item }); return $item; }); }; HintPopover.prototype.handleKeydown = function (e) { if (!this.$popover.is(':visible')) { return; } if (e.keyCode === key.code.ENTER) { e.preventDefault(); this.replace(); } else if (e.keyCode === key.code.UP) { e.preventDefault(); this.moveUp(); } else if (e.keyCode === key.code.DOWN) { e.preventDefault(); this.moveDown(); } }; HintPopover.prototype.searchKeyword = function (index, keyword, callback) { var hint = this.hints[index]; if (hint && hint.match.test(keyword) && hint.search) { var matches = hint.match.exec(keyword); hint.search(matches[1], callback); } else { callback(); } }; HintPopover.prototype.createGroup = function (idx, keyword) { var _this = this; var $group = $$1('<div class="note-hint-group note-hint-group-' + idx + '"/>'); this.searchKeyword(idx, keyword, function (items) { items = items || []; if (items.length) { $group.html(_this.createItemTemplates(idx, items)); _this.show(); } }); return $group; }; HintPopover.prototype.handleKeyup = function (e) { var _this = this; if (!lists.contains([key.code.ENTER, key.code.UP, key.code.DOWN], e.keyCode)) { var wordRange = this.context.invoke('editor.createRange').getWordRange(); var keyword_1 = wordRange.toString(); if (this.hints.length && keyword_1) { this.$content.empty(); var bnd = func.rect2bnd(lists.last(wordRange.getClientRects())); if (bnd) { this.$popover.hide(); this.lastWordRange = wordRange; this.hints.forEach(function (hint, idx) { if (hint.match.test(keyword_1)) { _this.createGroup(idx, keyword_1).appendTo(_this.$content); } }); // select first .note-hint-item this.$content.find('.note-hint-item:first').addClass('active'); // set position for popover after group is created if (this.direction === 'top') { this.$popover.css({ left: bnd.left, top: bnd.top - this.$popover.outerHeight() - POPOVER_DIST }); } else { this.$popover.css({ left: bnd.left, top: bnd.top + bnd.height + POPOVER_DIST }); } } } else { this.hide(); } } }; HintPopover.prototype.show = function () { this.$popover.show(); }; HintPopover.prototype.hide = function () { this.$popover.hide(); }; return HintPopover; }()); var Context = /** @class */ (function () { /** * @param {jQuery} $note * @param {Object} options */ function Context($note, options) { this.ui = $$1.summernote.ui; this.$note = $note; this.memos = {}; this.modules = {}; this.layoutInfo = {}; this.options = options; this.initialize(); } /** * create layout and initialize modules and other resources */ Context.prototype.initialize = function () { this.layoutInfo = this.ui.createLayout(this.$note, this.options); this._initialize(); this.$note.hide(); return this; }; /** * destroy modules and other resources and remove layout */ Context.prototype.destroy = function () { this._destroy(); this.$note.removeData('summernote'); this.ui.removeLayout(this.$note, this.layoutInfo); }; /** * destory modules and other resources and initialize it again */ Context.prototype.reset = function () { var disabled = this.isDisabled(); this.code(dom.emptyPara); this._destroy(); this._initialize(); if (disabled) { this.disable(); } }; Context.prototype._initialize = function () { var _this = this; // add optional buttons var buttons = $$1.extend({}, this.options.buttons); Object.keys(buttons).forEach(function (key) { _this.memo('button.' + key, buttons[key]); }); var modules = $$1.extend({}, this.options.modules, $$1.summernote.plugins || {}); // add and initialize modules Object.keys(modules).forEach(function (key) { _this.module(key, modules[key], true); }); Object.keys(this.modules).forEach(function (key) { _this.initializeModule(key); }); }; Context.prototype._destroy = function () { var _this = this; // destroy modules with reversed order Object.keys(this.modules).reverse().forEach(function (key) { _this.removeModule(key); }); Object.keys(this.memos).forEach(function (key) { _this.removeMemo(key); }); // trigger custom onDestroy callback this.triggerEvent('destroy', this); }; Context.prototype.code = function (html) { var isActivated = this.invoke('codeview.isActivated'); if (html === undefined) { this.invoke('codeview.sync'); return isActivated ? this.layoutInfo.codable.val() : this.layoutInfo.editable.html(); } else { if (isActivated) { this.layoutInfo.codable.val(html); } else { this.layoutInfo.editable.html(html); } this.$note.val(html); this.triggerEvent('change', html); } }; Context.prototype.isDisabled = function () { return this.layoutInfo.editable.attr('contenteditable') === 'false'; }; Context.prototype.enable = function () { this.layoutInfo.editable.attr('contenteditable', true); this.invoke('toolbar.activate', true); this.triggerEvent('disable', false); }; Context.prototype.disable = function () { // close codeview if codeview is opend if (this.invoke('codeview.isActivated')) { this.invoke('codeview.deactivate'); } this.layoutInfo.editable.attr('contenteditable', false); this.invoke('toolbar.deactivate', true); this.triggerEvent('disable', true); }; Context.prototype.triggerEvent = function () { var namespace = lists.head(arguments); var args = lists.tail(lists.from(arguments)); var callback = this.options.callbacks[func.namespaceToCamel(namespace, 'on')]; if (callback) { callback.apply(this.$note[0], args); } this.$note.trigger('summernote.' + namespace, args); }; Context.prototype.initializeModule = function (key) { var module = this.modules[key]; module.shouldInitialize = module.shouldInitialize || func.ok; if (!module.shouldInitialize()) { return; } // initialize module if (module.initialize) { module.initialize(); } // attach events if (module.events) { dom.attachEvents(this.$note, module.events); } }; Context.prototype.module = function (key, ModuleClass, withoutIntialize) { if (arguments.length === 1) { return this.modules[key]; } this.modules[key] = new ModuleClass(this); if (!withoutIntialize) { this.initializeModule(key); } }; Context.prototype.removeModule = function (key) { var module = this.modules[key]; if (module.shouldInitialize()) { if (module.events) { dom.detachEvents(this.$note, module.events); } if (module.destroy) { module.destroy(); } } delete this.modules[key]; }; Context.prototype.memo = function (key, obj) { if (arguments.length === 1) { return this.memos[key]; } this.memos[key] = obj; }; Context.prototype.removeMemo = function (key) { if (this.memos[key] && this.memos[key].destroy) { this.memos[key].destroy(); } delete this.memos[key]; }; /** * Some buttons need to change their visual style immediately once they get pressed */ Context.prototype.createInvokeHandlerAndUpdateState = function (namespace, value) { var _this = this; return function (event) { _this.createInvokeHandler(namespace, value)(event); _this.invoke('buttons.updateCurrentStyle'); }; }; Context.prototype.createInvokeHandler = function (namespace, value) { var _this = this; return function (event) { event.preventDefault(); var $target = $$1(event.target); _this.invoke(namespace, value || $target.closest('[data-value]').data('value'), $target); }; }; Context.prototype.invoke = function () { var namespace = lists.head(arguments); var args = lists.tail(lists.from(arguments)); var splits = namespace.split('.'); var hasSeparator = splits.length > 1; var moduleName = hasSeparator && lists.head(splits); var methodName = hasSeparator ? lists.last(splits) : lists.head(splits); var module = this.modules[moduleName || 'editor']; if (!moduleName && this[methodName]) { return this[methodName].apply(this, args); } else if (module && module[methodName] && module.shouldInitialize()) { return module[methodName].apply(module, args); } }; return Context; }()); $$1.fn.extend({ /** * Summernote API * * @param {Object|String} * @return {this} */ summernote: function () { var type = $$1.type(lists.head(arguments)); var isExternalAPICalled = type === 'string'; var hasInitOptions = type === 'object'; var options = $$1.extend({}, $$1.summernote.options, hasInitOptions ? lists.head(arguments) : {}); // Update options options.langInfo = $$1.extend(true, {}, $$1.summernote.lang['en-US'], $$1.summernote.lang[options.lang]); options.icons = $$1.extend(true, {}, $$1.summernote.options.icons, options.icons); options.tooltip = options.tooltip === 'auto' ? !env.isSupportTouch : options.tooltip; this.each(function (idx, note) { var $note = $$1(note); if (!$note.data('summernote')) { var context = new Context($note, options); $note.data('summernote', context); $note.data('summernote').triggerEvent('init', context.layoutInfo); } }); var $note = this.first(); if ($note.length) { var context = $note.data('summernote'); if (isExternalAPICalled) { return context.invoke.apply(context, lists.from(arguments)); } else if (options.focus) { context.invoke('editor.focus'); } } return this; } }); $$1.summernote = $$1.extend($$1.summernote, { version: '0.8.10', ui: ui, dom: dom, plugins: {}, options: { modules: { 'editor': Editor, 'clipboard': Clipboard, 'dropzone': Dropzone, 'codeview': CodeView, 'statusbar': Statusbar, 'fullscreen': Fullscreen, 'handle': Handle, // FIXME: HintPopover must be front of autolink // - Script error about range when Enter key is pressed on hint popover 'hintPopover': HintPopover, 'autoLink': AutoLink, 'autoSync': AutoSync, 'placeholder': Placeholder, 'buttons': Buttons, 'toolbar': Toolbar, 'linkDialog': LinkDialog, 'linkPopover': LinkPopover, 'imageDialog': ImageDialog, 'imagePopover': ImagePopover, 'tablePopover': TablePopover, 'videoDialog': VideoDialog, 'helpDialog': HelpDialog, 'airPopover': AirPopover }, buttons: {}, lang: 'en-US', followingToolbar: true, otherStaticBar: '', // toolbar toolbar: [ ['style', ['style']], ['font', ['bold', 'underline', 'clear']], ['fontname', ['fontname']], ['color', ['color']], ['para', ['ul', 'ol', 'paragraph']], ['table', ['table']], ['insert', ['link', 'picture', 'video']], ['view', ['fullscreen', 'codeview', 'help']] ], // popover popatmouse: true, popover: { image: [ ['imagesize', ['imageSize100', 'imageSize50', 'imageSize25']], ['float', ['floatLeft', 'floatRight', 'floatNone']], ['remove', ['removeMedia']] ], link: [ ['link', ['linkDialogShow', 'unlink']] ], table: [ ['add', ['addRowDown', 'addRowUp', 'addColLeft', 'addColRight']], ['delete', ['deleteRow', 'deleteCol', 'deleteTable']] ], air: [ ['color', ['color']], ['font', ['bold', 'underline', 'clear']], ['para', ['ul', 'paragraph']], ['table', ['table']], ['insert', ['link', 'picture']] ] }, // air mode: inline editor airMode: false, width: null, height: null, linkTargetBlank: true, focus: false, tabSize: 4, styleWithSpan: true, shortcuts: true, textareaAutoSync: true, hintDirection: 'bottom', tooltip: 'auto', container: 'body', maxTextLength: 0, styleTags: [ 'p', { title: 'Blockquote', tag: 'blockquote', className: 'blockquote', value: 'blockquote' }, 'h1', 'h2', 'h3', 'h4', 'h5', 'h6' ], fontNames: [ 'Arial', 'Arial Black', 'Comic Sans MS', 'Courier New', 'Helvetica Neue', 'Helvetica', 'Impact', 'Lucida Grande', 'Tahoma', 'Times New Roman', 'Verdana' ], fontSizes: ['8', '9', '10', '11', '12', '14', '18', '24', '36'], // pallete colors(n x n) colors: [ ['#000000', '#424242', '#636363', '#9C9C94', '#CEC6CE', '#EFEFEF', '#F7F7F7', '#FFFFFF'], ['#FF0000', '#FF9C00', '#FFFF00', '#00FF00', '#00FFFF', '#0000FF', '#9C00FF', '#FF00FF'], ['#F7C6CE', '#FFE7CE', '#FFEFC6', '#D6EFD6', '#CEDEE7', '#CEE7F7', '#D6D6E7', '#E7D6DE'], ['#E79C9C', '#FFC69C', '#FFE79C', '#B5D6A5', '#A5C6CE', '#9CC6EF', '#B5A5D6', '#D6A5BD'], ['#E76363', '#F7AD6B', '#FFD663', '#94BD7B', '#73A5AD', '#6BADDE', '#8C7BC6', '#C67BA5'], ['#CE0000', '#E79439', '#EFC631', '#6BA54A', '#4A7B8C', '#3984C6', '#634AA5', '#A54A7B'], ['#9C0000', '#B56308', '#BD9400', '#397B21', '#104A5A', '#085294', '#311873', '#731842'], ['#630000', '#7B3900', '#846300', '#295218', '#083139', '#003163', '#21104A', '#4A1031'] ], // http://chir.ag/projects/name-that-color/ colorsName: [ ['Black', 'Tundora', 'Dove Gray', 'Star Dust', 'Pale Slate', 'Gallery', 'Alabaster', 'White'], ['Red', 'Orange Peel', 'Yellow', 'Green', 'Cyan', 'Blue', 'Electric Violet', 'Magenta'], ['Azalea', 'Karry', 'Egg White', 'Zanah', 'Botticelli', 'Tropical Blue', 'Mischka', 'Twilight'], ['Tonys Pink', 'Peach Orange', 'Cream Brulee', 'Sprout', 'Casper', 'Perano', 'Cold Purple', 'Careys Pink'], ['Mandy', 'Rajah', 'Dandelion', 'Olivine', 'Gulf Stream', 'Viking', 'Blue Marguerite', 'Puce'], ['Guardsman Red', 'Fire Bush', 'Golden Dream', 'Chelsea Cucumber', 'Smalt Blue', 'Boston Blue', 'Butterfly Bush', 'Cadillac'], ['Sangria', 'Mai Tai', 'Buddha Gold', 'Forest Green', 'Eden', 'Venice Blue', 'Meteorite', 'Claret'], ['Rosewood', 'Cinnamon', 'Olive', 'Parsley', 'Tiber', 'Midnight Blue', 'Valentino', 'Loulou'] ], lineHeights: ['1.0', '1.2', '1.4', '1.5', '1.6', '1.8', '2.0', '3.0'], tableClassName: 'table table-bordered', insertTableMaxSize: { col: 10, row: 10 }, dialogsInBody: false, dialogsFade: false, maximumImageFileSize: null, callbacks: { onInit: null, onFocus: null, onBlur: null, onBlurCodeview: null, onEnter: null, onKeyup: null, onKeydown: null, onImageUpload: null, onImageUploadError: null }, codemirror: { mode: 'text/html', htmlMode: true, lineNumbers: true }, keyMap: { pc: { 'ENTER': 'insertParagraph', 'CTRL+Z': 'undo', 'CTRL+Y': 'redo', 'TAB': 'tab', 'SHIFT+TAB': 'untab', 'CTRL+B': 'bold', 'CTRL+I': 'italic', 'CTRL+U': 'underline', 'CTRL+SHIFT+S': 'strikethrough', 'CTRL+BACKSLASH': 'removeFormat', 'CTRL+SHIFT+L': 'justifyLeft', 'CTRL+SHIFT+E': 'justifyCenter', 'CTRL+SHIFT+R': 'justifyRight', 'CTRL+SHIFT+J': 'justifyFull', 'CTRL+SHIFT+NUM7': 'insertUnorderedList', 'CTRL+SHIFT+NUM8': 'insertOrderedList', 'CTRL+LEFTBRACKET': 'outdent', 'CTRL+RIGHTBRACKET': 'indent', 'CTRL+NUM0': 'formatPara', 'CTRL+NUM1': 'formatH1', 'CTRL+NUM2': 'formatH2', 'CTRL+NUM3': 'formatH3', 'CTRL+NUM4': 'formatH4', 'CTRL+NUM5': 'formatH5', 'CTRL+NUM6': 'formatH6', 'CTRL+ENTER': 'insertHorizontalRule', 'CTRL+K': 'linkDialog.show' }, mac: { 'ENTER': 'insertParagraph', 'CMD+Z': 'undo', 'CMD+SHIFT+Z': 'redo', 'TAB': 'tab', 'SHIFT+TAB': 'untab', 'CMD+B': 'bold', 'CMD+I': 'italic', 'CMD+U': 'underline', 'CMD+SHIFT+S': 'strikethrough', 'CMD+BACKSLASH': 'removeFormat', 'CMD+SHIFT+L': 'justifyLeft', 'CMD+SHIFT+E': 'justifyCenter', 'CMD+SHIFT+R': 'justifyRight', 'CMD+SHIFT+J': 'justifyFull', 'CMD+SHIFT+NUM7': 'insertUnorderedList', 'CMD+SHIFT+NUM8': 'insertOrderedList', 'CMD+LEFTBRACKET': 'outdent', 'CMD+RIGHTBRACKET': 'indent', 'CMD+NUM0': 'formatPara', 'CMD+NUM1': 'formatH1', 'CMD+NUM2': 'formatH2', 'CMD+NUM3': 'formatH3', 'CMD+NUM4': 'formatH4', 'CMD+NUM5': 'formatH5', 'CMD+NUM6': 'formatH6', 'CMD+ENTER': 'insertHorizontalRule', 'CMD+K': 'linkDialog.show' } }, icons: { 'align': 'note-icon-align', 'alignCenter': 'note-icon-align-center', 'alignJustify': 'note-icon-align-justify', 'alignLeft': 'note-icon-align-left', 'alignRight': 'note-icon-align-right', 'rowBelow': 'note-icon-row-below', 'colBefore': 'note-icon-col-before', 'colAfter': 'note-icon-col-after', 'rowAbove': 'note-icon-row-above', 'rowRemove': 'note-icon-row-remove', 'colRemove': 'note-icon-col-remove', 'indent': 'note-icon-align-indent', 'outdent': 'note-icon-align-outdent', 'arrowsAlt': 'note-icon-arrows-alt', 'bold': 'note-icon-bold', 'caret': 'note-icon-caret', 'circle': 'note-icon-circle', 'close': 'note-icon-close', 'code': 'note-icon-code', 'eraser': 'note-icon-eraser', 'font': 'note-icon-font', 'frame': 'note-icon-frame', 'italic': 'note-icon-italic', 'link': 'note-icon-link', 'unlink': 'note-icon-chain-broken', 'magic': 'note-icon-magic', 'menuCheck': 'note-icon-menu-check', 'minus': 'note-icon-minus', 'orderedlist': 'note-icon-orderedlist', 'pencil': 'note-icon-pencil', 'picture': 'note-icon-picture', 'question': 'note-icon-question', 'redo': 'note-icon-redo', 'square': 'note-icon-square', 'strikethrough': 'note-icon-strikethrough', 'subscript': 'note-icon-subscript', 'superscript': 'note-icon-superscript', 'table': 'note-icon-table', 'textHeight': 'note-icon-text-height', 'trash': 'note-icon-trash', 'underline': 'note-icon-underline', 'undo': 'note-icon-undo', 'unorderedlist': 'note-icon-unorderedlist', 'video': 'note-icon-video' } } }); }))); //# sourceMappingURL=summernote-bs4.js.map PK�{�\�Ҝ�%�% summernote.jsnu�[���/** * Super simple wysiwyg editor v0.8.10 * https://summernote.org * * Copyright 2013- Alan Hong. and other contributors * summernote may be freely distributed under the MIT license. * * Date: 2018-02-20T00:34Z */ (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) : typeof define === 'function' && define.amd ? define(['jquery'], factory) : (factory(global.jQuery)); }(this, (function ($$1) { 'use strict'; $$1 = $$1 && $$1.hasOwnProperty('default') ? $$1['default'] : $$1; var Renderer = /** @class */ (function () { function Renderer(markup, children, options, callback) { this.markup = markup; this.children = children; this.options = options; this.callback = callback; } Renderer.prototype.render = function ($parent) { var $node = $$1(this.markup); if (this.options && this.options.contents) { $node.html(this.options.contents); } if (this.options && this.options.className) { $node.addClass(this.options.className); } if (this.options && this.options.data) { $$1.each(this.options.data, function (k, v) { $node.attr('data-' + k, v); }); } if (this.options && this.options.click) { $node.on('click', this.options.click); } if (this.children) { var $container_1 = $node.find('.note-children-container'); this.children.forEach(function (child) { child.render($container_1.length ? $container_1 : $node); }); } if (this.callback) { this.callback($node, this.options); } if (this.options && this.options.callback) { this.options.callback($node); } if ($parent) { $parent.append($node); } return $node; }; return Renderer; }()); var renderer = { create: function (markup, callback) { return function () { var options = typeof arguments[1] === 'object' ? arguments[1] : arguments[0]; var children = $$1.isArray(arguments[0]) ? arguments[0] : []; if (options && options.children) { children = options.children; } return new Renderer(markup, children, options, callback); }; } }; var editor = renderer.create('<div class="note-editor note-frame panel"/>'); var toolbar = renderer.create('<div class="note-toolbar-wrapper panel-default"><div class="note-toolbar panel-heading" role="toolbar"></div></div>'); var editingArea = renderer.create('<div class="note-editing-area"/>'); var codable = renderer.create('<textarea class="note-codable" role="textbox" aria-multiline="true"/>'); var editable = renderer.create('<div class="note-editable" contentEditable="true" role="textbox" aria-multiline="true"/>'); var statusbar = renderer.create([ '<output class="note-status-output" aria-live="polite"/>', '<div class="note-statusbar" role="status">', ' <div class="note-resizebar" role="seperator" aria-orientation="horizontal" aria-label="Resize">', ' <div class="note-icon-bar"/>', ' <div class="note-icon-bar"/>', ' <div class="note-icon-bar"/>', ' </div>', '</div>' ].join('')); var airEditor = renderer.create('<div class="note-editor"/>'); var airEditable = renderer.create([ ' <output class="note-status-output" aria-live="polite"/>', '<div class="note-editable" contentEditable="true" role="textbox" aria-multiline="true"/>' ].join('')); var buttonGroup = renderer.create('<div class="note-btn-group btn-group">'); var dropdown = renderer.create('<ul class="dropdown-menu" role="list">', function ($node, options) { var markup = $$1.isArray(options.items) ? options.items.map(function (item) { var value = (typeof item === 'string') ? item : (item.value || ''); var content = options.template ? options.template(item) : item; var option = (typeof item === 'object') ? item.option : undefined; var dataValue = 'data-value="' + value + '"'; var dataOption = (option !== undefined) ? ' data-option="' + option + '"' : ''; return '<li role="listitem" aria-label="' + item + '"><a href="#" ' + (dataValue + dataOption) + '>' + content + '</a></li>'; }).join('') : options.items; $node.html(markup).attr({ 'aria-label': options.title }); }); var dropdownButtonContents = function (contents, options) { return contents + ' ' + icon(options.icons.caret, 'span'); }; var dropdownCheck = renderer.create('<ul class="dropdown-menu note-check" role="list">', function ($node, options) { var markup = $$1.isArray(options.items) ? options.items.map(function (item) { var value = (typeof item === 'string') ? item : (item.value || ''); var content = options.template ? options.template(item) : item; return '<li role="listitem" aria-label="' + item + '"><a href="#" data-value="' + value + '">' + icon(options.checkClassName) + ' ' + content + '</a></li>'; }).join('') : options.items; $node.html(markup).attr({ 'aria-label': options.title }); }); var palette = renderer.create('<div class="note-color-palette"/>', function ($node, options) { var contents = []; for (var row = 0, rowSize = options.colors.length; row < rowSize; row++) { var eventName = options.eventName; var colors = options.colors[row]; var colorsName = options.colorsName[row]; var buttons = []; for (var col = 0, colSize = colors.length; col < colSize; col++) { var color = colors[col]; var colorName = colorsName[col]; buttons.push([ '<button type="button" class="note-color-btn"', 'style="background-color:', color, '" ', 'data-event="', eventName, '" ', 'data-value="', color, '" ', 'title="', colorName, '" ', 'aria-label="', colorName, '" ', 'data-toggle="button" tabindex="-1"></button>' ].join('')); } contents.push('<div class="note-color-row">' + buttons.join('') + '</div>'); } $node.html(contents.join('')); if (options.tooltip) { $node.find('.note-color-btn').tooltip({ container: options.container, trigger: 'hover', placement: 'bottom' }); } }); var dialog = renderer.create('<div class="modal" aria-hidden="false" tabindex="-1" role="dialog"/>', function ($node, options) { if (options.fade) { $node.addClass('fade'); } $node.attr({ 'aria-label': options.title }); $node.html([ '<div class="modal-dialog">', ' <div class="modal-content">', (options.title ? ' <div class="modal-header">' + ' <button type="button" class="close" data-dismiss="modal" aria-label="Close" aria-hidden="true">×</button>' + ' <h4 class="modal-title">' + options.title + '</h4>' + ' </div>' : ''), ' <div class="modal-body">' + options.body + '</div>', (options.footer ? ' <div class="modal-footer">' + options.footer + '</div>' : ''), ' </div>', '</div>' ].join('')); }); var popover = renderer.create([ '<div class="note-popover popover in">', ' <div class="arrow"/>', ' <div class="popover-content note-children-container"/>', '</div>' ].join(''), function ($node, options) { var direction = typeof options.direction !== 'undefined' ? options.direction : 'bottom'; $node.addClass(direction); if (options.hideArrow) { $node.find('.arrow').hide(); } }); var checkbox = renderer.create('<div class="checkbox"></div>', function ($node, options) { $node.html([ ' <label' + (options.id ? ' for="' + options.id + '"' : '') + '>', ' <input role="checkbox" type="checkbox"' + (options.id ? ' id="' + options.id + '"' : ''), (options.checked ? ' checked' : ''), ' aria-checked="' + (options.checked ? 'true' : 'false') + '"/>', (options.text ? options.text : ''), '</label>' ].join('')); }); var icon = function (iconClassName, tagName) { tagName = tagName || 'i'; return '<' + tagName + ' class="' + iconClassName + '"/>'; }; var ui = { editor: editor, toolbar: toolbar, editingArea: editingArea, codable: codable, editable: editable, statusbar: statusbar, airEditor: airEditor, airEditable: airEditable, buttonGroup: buttonGroup, dropdown: dropdown, dropdownButtonContents: dropdownButtonContents, dropdownCheck: dropdownCheck, palette: palette, dialog: dialog, popover: popover, checkbox: checkbox, icon: icon, options: {}, button: function ($node, options) { return renderer.create('<button type="button" class="note-btn btn btn-default btn-sm" role="button" tabindex="-1">', function ($node, options) { if (options && options.tooltip) { $node.attr({ title: options.tooltip, 'aria-label': options.tooltip }).tooltip({ container: options.container, trigger: 'hover', placement: 'bottom' }); } })($node, options); }, toggleBtn: function ($btn, isEnable) { $btn.toggleClass('disabled', !isEnable); $btn.attr('disabled', !isEnable); }, toggleBtnActive: function ($btn, isActive) { $btn.toggleClass('active', isActive); }, onDialogShown: function ($dialog, handler) { $dialog.one('shown.bs.modal', handler); }, onDialogHidden: function ($dialog, handler) { $dialog.one('hidden.bs.modal', handler); }, showDialog: function ($dialog) { $dialog.modal('show'); }, hideDialog: function ($dialog) { $dialog.modal('hide'); }, createLayout: function ($note, options) { var $editor = (options.airMode ? ui.airEditor([ ui.editingArea([ ui.airEditable() ]) ]) : ui.editor([ ui.toolbar(), ui.editingArea([ ui.codable(), ui.editable() ]), ui.statusbar() ])).render(); $editor.insertAfter($note); return { note: $note, editor: $editor, toolbar: $editor.find('.note-toolbar'), editingArea: $editor.find('.note-editing-area'), editable: $editor.find('.note-editable'), codable: $editor.find('.note-codable'), statusbar: $editor.find('.note-statusbar') }; }, removeLayout: function ($note, layoutInfo) { $note.html(layoutInfo.editable.html()); layoutInfo.editor.remove(); $note.show(); } }; /** * @class core.func * * func utils (for high-order func's arg) * * @singleton * @alternateClassName func */ function eq(itemA) { return function (itemB) { return itemA === itemB; }; } function eq2(itemA, itemB) { return itemA === itemB; } function peq2(propName) { return function (itemA, itemB) { return itemA[propName] === itemB[propName]; }; } function ok() { return true; } function fail() { return false; } function not(f) { return function () { return !f.apply(f, arguments); }; } function and(fA, fB) { return function (item) { return fA(item) && fB(item); }; } function self(a) { return a; } function invoke(obj, method) { return function () { return obj[method].apply(obj, arguments); }; } var idCounter = 0; /** * generate a globally-unique id * * @param {String} [prefix] */ function uniqueId(prefix) { var id = ++idCounter + ''; return prefix ? prefix + id : id; } /** * returns bnd (bounds) from rect * * - IE Compatibility Issue: http://goo.gl/sRLOAo * - Scroll Issue: http://goo.gl/sNjUc * * @param {Rect} rect * @return {Object} bounds * @return {Number} bounds.top * @return {Number} bounds.left * @return {Number} bounds.width * @return {Number} bounds.height */ function rect2bnd(rect) { var $document = $(document); return { top: rect.top + $document.scrollTop(), left: rect.left + $document.scrollLeft(), width: rect.right - rect.left, height: rect.bottom - rect.top }; } /** * returns a copy of the object where the keys have become the values and the values the keys. * @param {Object} obj * @return {Object} */ function invertObject(obj) { var inverted = {}; for (var key in obj) { if (obj.hasOwnProperty(key)) { inverted[obj[key]] = key; } } return inverted; } /** * @param {String} namespace * @param {String} [prefix] * @return {String} */ function namespaceToCamel(namespace, prefix) { prefix = prefix || ''; return prefix + namespace.split('.').map(function (name) { return name.substring(0, 1).toUpperCase() + name.substring(1); }).join(''); } /** * Returns a function, that, as long as it continues to be invoked, will not * be triggered. The function will be called after it stops being called for * N milliseconds. If `immediate` is passed, trigger the function on the * leading edge, instead of the trailing. * @param {Function} func * @param {Number} wait * @param {Boolean} immediate * @return {Function} */ function debounce(func, wait, immediate) { var _this = this; var timeout; return function () { var context = _this; var args = arguments; var later = function () { timeout = null; if (!immediate) { func.apply(context, args); } }; var callNow = immediate && !timeout; clearTimeout(timeout); timeout = setTimeout(later, wait); if (callNow) { func.apply(context, args); } }; } var func = { eq: eq, eq2: eq2, peq2: peq2, ok: ok, fail: fail, self: self, not: not, and: and, invoke: invoke, uniqueId: uniqueId, rect2bnd: rect2bnd, invertObject: invertObject, namespaceToCamel: namespaceToCamel, debounce: debounce }; /** * returns the first item of an array. * * @param {Array} array */ function head(array) { return array[0]; } /** * returns the last item of an array. * * @param {Array} array */ function last(array) { return array[array.length - 1]; } /** * returns everything but the last entry of the array. * * @param {Array} array */ function initial(array) { return array.slice(0, array.length - 1); } /** * returns the rest of the items in an array. * * @param {Array} array */ function tail(array) { return array.slice(1); } /** * returns item of array */ function find(array, pred) { for (var idx = 0, len = array.length; idx < len; idx++) { var item = array[idx]; if (pred(item)) { return item; } } } /** * returns true if all of the values in the array pass the predicate truth test. */ function all(array, pred) { for (var idx = 0, len = array.length; idx < len; idx++) { if (!pred(array[idx])) { return false; } } return true; } /** * returns index of item */ function indexOf(array, item) { return $$1.inArray(item, array); } /** * returns true if the value is present in the list. */ function contains(array, item) { return indexOf(array, item) !== -1; } /** * get sum from a list * * @param {Array} array - array * @param {Function} fn - iterator */ function sum(array, fn) { fn = fn || func.self; return array.reduce(function (memo, v) { return memo + fn(v); }, 0); } /** * returns a copy of the collection with array type. * @param {Collection} collection - collection eg) node.childNodes, ... */ function from(collection) { var result = []; var length = collection.length; var idx = -1; while (++idx < length) { result[idx] = collection[idx]; } return result; } /** * returns whether list is empty or not */ function isEmpty$1(array) { return !array || !array.length; } /** * cluster elements by predicate function. * * @param {Array} array - array * @param {Function} fn - predicate function for cluster rule * @param {Array[]} */ function clusterBy(array, fn) { if (!array.length) { return []; } var aTail = tail(array); return aTail.reduce(function (memo, v) { var aLast = last(memo); if (fn(last(aLast), v)) { aLast[aLast.length] = v; } else { memo[memo.length] = [v]; } return memo; }, [[head(array)]]); } /** * returns a copy of the array with all false values removed * * @param {Array} array - array * @param {Function} fn - predicate function for cluster rule */ function compact(array) { var aResult = []; for (var idx = 0, len = array.length; idx < len; idx++) { if (array[idx]) { aResult.push(array[idx]); } } return aResult; } /** * produces a duplicate-free version of the array * * @param {Array} array */ function unique(array) { var results = []; for (var idx = 0, len = array.length; idx < len; idx++) { if (!contains(results, array[idx])) { results.push(array[idx]); } } return results; } /** * returns next item. * @param {Array} array */ function next(array, item) { var idx = indexOf(array, item); if (idx === -1) { return null; } return array[idx + 1]; } /** * returns prev item. * @param {Array} array */ function prev(array, item) { var idx = indexOf(array, item); if (idx === -1) { return null; } return array[idx - 1]; } /** * @class core.list * * list utils * * @singleton * @alternateClassName list */ var lists = { head: head, last: last, initial: initial, tail: tail, prev: prev, next: next, find: find, contains: contains, all: all, sum: sum, from: from, isEmpty: isEmpty$1, clusterBy: clusterBy, compact: compact, unique: unique }; var isSupportAmd = typeof define === 'function' && define.amd; // eslint-disable-line /** * returns whether font is installed or not. * * @param {String} fontName * @return {Boolean} */ function isFontInstalled(fontName) { var testFontName = fontName === 'Comic Sans MS' ? 'Courier New' : 'Comic Sans MS'; var $tester = $$1('<div>').css({ position: 'absolute', left: '-9999px', top: '-9999px', fontSize: '200px' }).text('mmmmmmmmmwwwwwww').appendTo(document.body); var originalWidth = $tester.css('fontFamily', testFontName).width(); var width = $tester.css('fontFamily', fontName + ',' + testFontName).width(); $tester.remove(); return originalWidth !== width; } var userAgent = navigator.userAgent; var isMSIE = /MSIE|Trident/i.test(userAgent); var browserVersion; if (isMSIE) { var matches = /MSIE (\d+[.]\d+)/.exec(userAgent); if (matches) { browserVersion = parseFloat(matches[1]); } matches = /Trident\/.*rv:([0-9]{1,}[.0-9]{0,})/.exec(userAgent); if (matches) { browserVersion = parseFloat(matches[1]); } } var isEdge = /Edge\/\d+/.test(userAgent); var hasCodeMirror = !!window.CodeMirror; if (!hasCodeMirror && isSupportAmd) { // Webpack if (typeof __webpack_require__ === 'function') { try { // If CodeMirror can't be resolved, `require.resolve` will throw an // exception and `hasCodeMirror` won't be set to `true`. require.resolve('codemirror'); hasCodeMirror = true; } catch (e) { // do nothing } } else if (typeof require !== 'undefined') { // Browserify if (typeof require.resolve !== 'undefined') { try { // If CodeMirror can't be resolved, `require.resolve` will throw an // exception and `hasCodeMirror` won't be set to `true`. require.resolve('codemirror'); hasCodeMirror = true; } catch (e) { // do nothing } // Almond/Require } else if (typeof require.specified !== 'undefined') { hasCodeMirror = require.specified('codemirror'); } } } var isSupportTouch = (('ontouchstart' in window) || (navigator.MaxTouchPoints > 0) || (navigator.msMaxTouchPoints > 0)); // [workaround] IE doesn't have input events for contentEditable // - see: https://goo.gl/4bfIvA var inputEventName = (isMSIE || isEdge) ? 'DOMCharacterDataModified DOMSubtreeModified DOMNodeInserted' : 'input'; /** * @class core.env * * Object which check platform and agent * * @singleton * @alternateClassName env */ var env = { isMac: navigator.appVersion.indexOf('Mac') > -1, isMSIE: isMSIE, isEdge: isEdge, isFF: !isEdge && /firefox/i.test(userAgent), isPhantom: /PhantomJS/i.test(userAgent), isWebkit: !isEdge && /webkit/i.test(userAgent), isChrome: !isEdge && /chrome/i.test(userAgent), isSafari: !isEdge && /safari/i.test(userAgent), browserVersion: browserVersion, jqueryVersion: parseFloat($$1.fn.jquery), isSupportAmd: isSupportAmd, isSupportTouch: isSupportTouch, hasCodeMirror: hasCodeMirror, isFontInstalled: isFontInstalled, isW3CRangeSupport: !!document.createRange, inputEventName: inputEventName }; var NBSP_CHAR = String.fromCharCode(160); var ZERO_WIDTH_NBSP_CHAR = '\ufeff'; /** * @method isEditable * * returns whether node is `note-editable` or not. * * @param {Node} node * @return {Boolean} */ function isEditable(node) { return node && $$1(node).hasClass('note-editable'); } /** * @method isControlSizing * * returns whether node is `note-control-sizing` or not. * * @param {Node} node * @return {Boolean} */ function isControlSizing(node) { return node && $$1(node).hasClass('note-control-sizing'); } /** * @method makePredByNodeName * * returns predicate which judge whether nodeName is same * * @param {String} nodeName * @return {Function} */ function makePredByNodeName(nodeName) { nodeName = nodeName.toUpperCase(); return function (node) { return node && node.nodeName.toUpperCase() === nodeName; }; } /** * @method isText * * * * @param {Node} node * @return {Boolean} true if node's type is text(3) */ function isText(node) { return node && node.nodeType === 3; } /** * @method isElement * * * * @param {Node} node * @return {Boolean} true if node's type is element(1) */ function isElement(node) { return node && node.nodeType === 1; } /** * ex) br, col, embed, hr, img, input, ... * @see http://www.w3.org/html/wg/drafts/html/master/syntax.html#void-elements */ function isVoid(node) { return node && /^BR|^IMG|^HR|^IFRAME|^BUTTON|^INPUT/.test(node.nodeName.toUpperCase()); } function isPara(node) { if (isEditable(node)) { return false; } // Chrome(v31.0), FF(v25.0.1) use DIV for paragraph return node && /^DIV|^P|^LI|^H[1-7]/.test(node.nodeName.toUpperCase()); } function isHeading(node) { return node && /^H[1-7]/.test(node.nodeName.toUpperCase()); } var isPre = makePredByNodeName('PRE'); var isLi = makePredByNodeName('LI'); function isPurePara(node) { return isPara(node) && !isLi(node); } var isTable = makePredByNodeName('TABLE'); var isData = makePredByNodeName('DATA'); function isInline(node) { return !isBodyContainer(node) && !isList(node) && !isHr(node) && !isPara(node) && !isTable(node) && !isBlockquote(node) && !isData(node); } function isList(node) { return node && /^UL|^OL/.test(node.nodeName.toUpperCase()); } var isHr = makePredByNodeName('HR'); function isCell(node) { return node && /^TD|^TH/.test(node.nodeName.toUpperCase()); } var isBlockquote = makePredByNodeName('BLOCKQUOTE'); function isBodyContainer(node) { return isCell(node) || isBlockquote(node) || isEditable(node); } var isAnchor = makePredByNodeName('A'); function isParaInline(node) { return isInline(node) && !!ancestor(node, isPara); } function isBodyInline(node) { return isInline(node) && !ancestor(node, isPara); } var isBody = makePredByNodeName('BODY'); /** * returns whether nodeB is closest sibling of nodeA * * @param {Node} nodeA * @param {Node} nodeB * @return {Boolean} */ function isClosestSibling(nodeA, nodeB) { return nodeA.nextSibling === nodeB || nodeA.previousSibling === nodeB; } /** * returns array of closest siblings with node * * @param {Node} node * @param {function} [pred] - predicate function * @return {Node[]} */ function withClosestSiblings(node, pred) { pred = pred || func.ok; var siblings = []; if (node.previousSibling && pred(node.previousSibling)) { siblings.push(node.previousSibling); } siblings.push(node); if (node.nextSibling && pred(node.nextSibling)) { siblings.push(node.nextSibling); } return siblings; } /** * blank HTML for cursor position * - [workaround] old IE only works with * - [workaround] IE11 and other browser works with bogus br */ var blankHTML = env.isMSIE && env.browserVersion < 11 ? ' ' : '<br>'; /** * @method nodeLength * * returns #text's text size or element's childNodes size * * @param {Node} node */ function nodeLength(node) { if (isText(node)) { return node.nodeValue.length; } if (node) { return node.childNodes.length; } return 0; } /** * returns whether node is empty or not. * * @param {Node} node * @return {Boolean} */ function isEmpty(node) { var len = nodeLength(node); if (len === 0) { return true; } else if (!isText(node) && len === 1 && node.innerHTML === blankHTML) { // ex) <p><br></p>, <span><br></span> return true; } else if (lists.all(node.childNodes, isText) && node.innerHTML === '') { // ex) <p></p>, <span></span> return true; } return false; } /** * padding blankHTML if node is empty (for cursor position) */ function paddingBlankHTML(node) { if (!isVoid(node) && !nodeLength(node)) { node.innerHTML = blankHTML; } } /** * find nearest ancestor predicate hit * * @param {Node} node * @param {Function} pred - predicate function */ function ancestor(node, pred) { while (node) { if (pred(node)) { return node; } if (isEditable(node)) { break; } node = node.parentNode; } return null; } /** * find nearest ancestor only single child blood line and predicate hit * * @param {Node} node * @param {Function} pred - predicate function */ function singleChildAncestor(node, pred) { node = node.parentNode; while (node) { if (nodeLength(node) !== 1) { break; } if (pred(node)) { return node; } if (isEditable(node)) { break; } node = node.parentNode; } return null; } /** * returns new array of ancestor nodes (until predicate hit). * * @param {Node} node * @param {Function} [optional] pred - predicate function */ function listAncestor(node, pred) { pred = pred || func.fail; var ancestors = []; ancestor(node, function (el) { if (!isEditable(el)) { ancestors.push(el); } return pred(el); }); return ancestors; } /** * find farthest ancestor predicate hit */ function lastAncestor(node, pred) { var ancestors = listAncestor(node); return lists.last(ancestors.filter(pred)); } /** * returns common ancestor node between two nodes. * * @param {Node} nodeA * @param {Node} nodeB */ function commonAncestor(nodeA, nodeB) { var ancestors = listAncestor(nodeA); for (var n = nodeB; n; n = n.parentNode) { if ($$1.inArray(n, ancestors) > -1) { return n; } } return null; // difference document area } /** * listing all previous siblings (until predicate hit). * * @param {Node} node * @param {Function} [optional] pred - predicate function */ function listPrev(node, pred) { pred = pred || func.fail; var nodes = []; while (node) { if (pred(node)) { break; } nodes.push(node); node = node.previousSibling; } return nodes; } /** * listing next siblings (until predicate hit). * * @param {Node} node * @param {Function} [pred] - predicate function */ function listNext(node, pred) { pred = pred || func.fail; var nodes = []; while (node) { if (pred(node)) { break; } nodes.push(node); node = node.nextSibling; } return nodes; } /** * listing descendant nodes * * @param {Node} node * @param {Function} [pred] - predicate function */ function listDescendant(node, pred) { var descendants = []; pred = pred || func.ok; // start DFS(depth first search) with node (function fnWalk(current) { if (node !== current && pred(current)) { descendants.push(current); } for (var idx = 0, len = current.childNodes.length; idx < len; idx++) { fnWalk(current.childNodes[idx]); } })(node); return descendants; } /** * wrap node with new tag. * * @param {Node} node * @param {Node} tagName of wrapper * @return {Node} - wrapper */ function wrap(node, wrapperName) { var parent = node.parentNode; var wrapper = $$1('<' + wrapperName + '>')[0]; parent.insertBefore(wrapper, node); wrapper.appendChild(node); return wrapper; } /** * insert node after preceding * * @param {Node} node * @param {Node} preceding - predicate function */ function insertAfter(node, preceding) { var next = preceding.nextSibling; var parent = preceding.parentNode; if (next) { parent.insertBefore(node, next); } else { parent.appendChild(node); } return node; } /** * append elements. * * @param {Node} node * @param {Collection} aChild */ function appendChildNodes(node, aChild) { $$1.each(aChild, function (idx, child) { node.appendChild(child); }); return node; } /** * returns whether boundaryPoint is left edge or not. * * @param {BoundaryPoint} point * @return {Boolean} */ function isLeftEdgePoint(point) { return point.offset === 0; } /** * returns whether boundaryPoint is right edge or not. * * @param {BoundaryPoint} point * @return {Boolean} */ function isRightEdgePoint(point) { return point.offset === nodeLength(point.node); } /** * returns whether boundaryPoint is edge or not. * * @param {BoundaryPoint} point * @return {Boolean} */ function isEdgePoint(point) { return isLeftEdgePoint(point) || isRightEdgePoint(point); } /** * returns whether node is left edge of ancestor or not. * * @param {Node} node * @param {Node} ancestor * @return {Boolean} */ function isLeftEdgeOf(node, ancestor) { while (node && node !== ancestor) { if (position(node) !== 0) { return false; } node = node.parentNode; } return true; } /** * returns whether node is right edge of ancestor or not. * * @param {Node} node * @param {Node} ancestor * @return {Boolean} */ function isRightEdgeOf(node, ancestor) { if (!ancestor) { return false; } while (node && node !== ancestor) { if (position(node) !== nodeLength(node.parentNode) - 1) { return false; } node = node.parentNode; } return true; } /** * returns whether point is left edge of ancestor or not. * @param {BoundaryPoint} point * @param {Node} ancestor * @return {Boolean} */ function isLeftEdgePointOf(point, ancestor) { return isLeftEdgePoint(point) && isLeftEdgeOf(point.node, ancestor); } /** * returns whether point is right edge of ancestor or not. * @param {BoundaryPoint} point * @param {Node} ancestor * @return {Boolean} */ function isRightEdgePointOf(point, ancestor) { return isRightEdgePoint(point) && isRightEdgeOf(point.node, ancestor); } /** * returns offset from parent. * * @param {Node} node */ function position(node) { var offset = 0; while ((node = node.previousSibling)) { offset += 1; } return offset; } function hasChildren(node) { return !!(node && node.childNodes && node.childNodes.length); } /** * returns previous boundaryPoint * * @param {BoundaryPoint} point * @param {Boolean} isSkipInnerOffset * @return {BoundaryPoint} */ function prevPoint(point, isSkipInnerOffset) { var node; var offset; if (point.offset === 0) { if (isEditable(point.node)) { return null; } node = point.node.parentNode; offset = position(point.node); } else if (hasChildren(point.node)) { node = point.node.childNodes[point.offset - 1]; offset = nodeLength(node); } else { node = point.node; offset = isSkipInnerOffset ? 0 : point.offset - 1; } return { node: node, offset: offset }; } /** * returns next boundaryPoint * * @param {BoundaryPoint} point * @param {Boolean} isSkipInnerOffset * @return {BoundaryPoint} */ function nextPoint(point, isSkipInnerOffset) { var node, offset; if (nodeLength(point.node) === point.offset) { if (isEditable(point.node)) { return null; } node = point.node.parentNode; offset = position(point.node) + 1; } else if (hasChildren(point.node)) { node = point.node.childNodes[point.offset]; offset = 0; } else { node = point.node; offset = isSkipInnerOffset ? nodeLength(point.node) : point.offset + 1; } return { node: node, offset: offset }; } /** * returns whether pointA and pointB is same or not. * * @param {BoundaryPoint} pointA * @param {BoundaryPoint} pointB * @return {Boolean} */ function isSamePoint(pointA, pointB) { return pointA.node === pointB.node && pointA.offset === pointB.offset; } /** * returns whether point is visible (can set cursor) or not. * * @param {BoundaryPoint} point * @return {Boolean} */ function isVisiblePoint(point) { if (isText(point.node) || !hasChildren(point.node) || isEmpty(point.node)) { return true; } var leftNode = point.node.childNodes[point.offset - 1]; var rightNode = point.node.childNodes[point.offset]; if ((!leftNode || isVoid(leftNode)) && (!rightNode || isVoid(rightNode))) { return true; } return false; } /** * @method prevPointUtil * * @param {BoundaryPoint} point * @param {Function} pred * @return {BoundaryPoint} */ function prevPointUntil(point, pred) { while (point) { if (pred(point)) { return point; } point = prevPoint(point); } return null; } /** * @method nextPointUntil * * @param {BoundaryPoint} point * @param {Function} pred * @return {BoundaryPoint} */ function nextPointUntil(point, pred) { while (point) { if (pred(point)) { return point; } point = nextPoint(point); } return null; } /** * returns whether point has character or not. * * @param {Point} point * @return {Boolean} */ function isCharPoint(point) { if (!isText(point.node)) { return false; } var ch = point.node.nodeValue.charAt(point.offset - 1); return ch && (ch !== ' ' && ch !== NBSP_CHAR); } /** * @method walkPoint * * @param {BoundaryPoint} startPoint * @param {BoundaryPoint} endPoint * @param {Function} handler * @param {Boolean} isSkipInnerOffset */ function walkPoint(startPoint, endPoint, handler, isSkipInnerOffset) { var point = startPoint; while (point) { handler(point); if (isSamePoint(point, endPoint)) { break; } var isSkipOffset = isSkipInnerOffset && startPoint.node !== point.node && endPoint.node !== point.node; point = nextPoint(point, isSkipOffset); } } /** * @method makeOffsetPath * * return offsetPath(array of offset) from ancestor * * @param {Node} ancestor - ancestor node * @param {Node} node */ function makeOffsetPath(ancestor, node) { var ancestors = listAncestor(node, func.eq(ancestor)); return ancestors.map(position).reverse(); } /** * @method fromOffsetPath * * return element from offsetPath(array of offset) * * @param {Node} ancestor - ancestor node * @param {array} offsets - offsetPath */ function fromOffsetPath(ancestor, offsets) { var current = ancestor; for (var i = 0, len = offsets.length; i < len; i++) { if (current.childNodes.length <= offsets[i]) { current = current.childNodes[current.childNodes.length - 1]; } else { current = current.childNodes[offsets[i]]; } } return current; } /** * @method splitNode * * split element or #text * * @param {BoundaryPoint} point * @param {Object} [options] * @param {Boolean} [options.isSkipPaddingBlankHTML] - default: false * @param {Boolean} [options.isNotSplitEdgePoint] - default: false * @return {Node} right node of boundaryPoint */ function splitNode(point, options) { var isSkipPaddingBlankHTML = options && options.isSkipPaddingBlankHTML; var isNotSplitEdgePoint = options && options.isNotSplitEdgePoint; // edge case if (isEdgePoint(point) && (isText(point.node) || isNotSplitEdgePoint)) { if (isLeftEdgePoint(point)) { return point.node; } else if (isRightEdgePoint(point)) { return point.node.nextSibling; } } // split #text if (isText(point.node)) { return point.node.splitText(point.offset); } else { var childNode = point.node.childNodes[point.offset]; var clone = insertAfter(point.node.cloneNode(false), point.node); appendChildNodes(clone, listNext(childNode)); if (!isSkipPaddingBlankHTML) { paddingBlankHTML(point.node); paddingBlankHTML(clone); } return clone; } } /** * @method splitTree * * split tree by point * * @param {Node} root - split root * @param {BoundaryPoint} point * @param {Object} [options] * @param {Boolean} [options.isSkipPaddingBlankHTML] - default: false * @param {Boolean} [options.isNotSplitEdgePoint] - default: false * @return {Node} right node of boundaryPoint */ function splitTree(root, point, options) { // ex) [#text, <span>, <p>] var ancestors = listAncestor(point.node, func.eq(root)); if (!ancestors.length) { return null; } else if (ancestors.length === 1) { return splitNode(point, options); } return ancestors.reduce(function (node, parent) { if (node === point.node) { node = splitNode(point, options); } return splitNode({ node: parent, offset: node ? position(node) : nodeLength(parent) }, options); }); } /** * split point * * @param {Point} point * @param {Boolean} isInline * @return {Object} */ function splitPoint(point, isInline) { // find splitRoot, container // - inline: splitRoot is a child of paragraph // - block: splitRoot is a child of bodyContainer var pred = isInline ? isPara : isBodyContainer; var ancestors = listAncestor(point.node, pred); var topAncestor = lists.last(ancestors) || point.node; var splitRoot, container; if (pred(topAncestor)) { splitRoot = ancestors[ancestors.length - 2]; container = topAncestor; } else { splitRoot = topAncestor; container = splitRoot.parentNode; } // if splitRoot is exists, split with splitTree var pivot = splitRoot && splitTree(splitRoot, point, { isSkipPaddingBlankHTML: isInline, isNotSplitEdgePoint: isInline }); // if container is point.node, find pivot with point.offset if (!pivot && container === point.node) { pivot = point.node.childNodes[point.offset]; } return { rightNode: pivot, container: container }; } function create(nodeName) { return document.createElement(nodeName); } function createText(text) { return document.createTextNode(text); } /** * @method remove * * remove node, (isRemoveChild: remove child or not) * * @param {Node} node * @param {Boolean} isRemoveChild */ function remove(node, isRemoveChild) { if (!node || !node.parentNode) { return; } if (node.removeNode) { return node.removeNode(isRemoveChild); } var parent = node.parentNode; if (!isRemoveChild) { var nodes = []; for (var i = 0, len = node.childNodes.length; i < len; i++) { nodes.push(node.childNodes[i]); } for (var i = 0, len = nodes.length; i < len; i++) { parent.insertBefore(nodes[i], node); } } parent.removeChild(node); } /** * @method removeWhile * * @param {Node} node * @param {Function} pred */ function removeWhile(node, pred) { while (node) { if (isEditable(node) || !pred(node)) { break; } var parent = node.parentNode; remove(node); node = parent; } } /** * @method replace * * replace node with provided nodeName * * @param {Node} node * @param {String} nodeName * @return {Node} - new node */ function replace(node, nodeName) { if (node.nodeName.toUpperCase() === nodeName.toUpperCase()) { return node; } var newNode = create(nodeName); if (node.style.cssText) { newNode.style.cssText = node.style.cssText; } appendChildNodes(newNode, lists.from(node.childNodes)); insertAfter(newNode, node); remove(node); return newNode; } var isTextarea = makePredByNodeName('TEXTAREA'); /** * @param {jQuery} $node * @param {Boolean} [stripLinebreaks] - default: false */ function value($node, stripLinebreaks) { var val = isTextarea($node[0]) ? $node.val() : $node.html(); if (stripLinebreaks) { return val.replace(/[\n\r]/g, ''); } return val; } /** * @method html * * get the HTML contents of node * * @param {jQuery} $node * @param {Boolean} [isNewlineOnBlock] */ function html($node, isNewlineOnBlock) { var markup = value($node); if (isNewlineOnBlock) { var regexTag = /<(\/?)(\b(?!!)[^>\s]*)(.*?)(\s*\/?>)/g; markup = markup.replace(regexTag, function (match, endSlash, name) { name = name.toUpperCase(); var isEndOfInlineContainer = /^DIV|^TD|^TH|^P|^LI|^H[1-7]/.test(name) && !!endSlash; var isBlockNode = /^BLOCKQUOTE|^TABLE|^TBODY|^TR|^HR|^UL|^OL/.test(name); return match + ((isEndOfInlineContainer || isBlockNode) ? '\n' : ''); }); markup = $$1.trim(markup); } return markup; } function posFromPlaceholder(placeholder) { var $placeholder = $$1(placeholder); var pos = $placeholder.offset(); var height = $placeholder.outerHeight(true); // include margin return { left: pos.left, top: pos.top + height }; } function attachEvents($node, events) { Object.keys(events).forEach(function (key) { $node.on(key, events[key]); }); } function detachEvents($node, events) { Object.keys(events).forEach(function (key) { $node.off(key, events[key]); }); } /** * @method isCustomStyleTag * * assert if a node contains a "note-styletag" class, * which implies that's a custom-made style tag node * * @param {Node} an HTML DOM node */ function isCustomStyleTag(node) { return node && !isText(node) && lists.contains(node.classList, 'note-styletag'); } var dom = { /** @property {String} NBSP_CHAR */ NBSP_CHAR: NBSP_CHAR, /** @property {String} ZERO_WIDTH_NBSP_CHAR */ ZERO_WIDTH_NBSP_CHAR: ZERO_WIDTH_NBSP_CHAR, /** @property {String} blank */ blank: blankHTML, /** @property {String} emptyPara */ emptyPara: "<p>" + blankHTML + "</p>", makePredByNodeName: makePredByNodeName, isEditable: isEditable, isControlSizing: isControlSizing, isText: isText, isElement: isElement, isVoid: isVoid, isPara: isPara, isPurePara: isPurePara, isHeading: isHeading, isInline: isInline, isBlock: func.not(isInline), isBodyInline: isBodyInline, isBody: isBody, isParaInline: isParaInline, isPre: isPre, isList: isList, isTable: isTable, isData: isData, isCell: isCell, isBlockquote: isBlockquote, isBodyContainer: isBodyContainer, isAnchor: isAnchor, isDiv: makePredByNodeName('DIV'), isLi: isLi, isBR: makePredByNodeName('BR'), isSpan: makePredByNodeName('SPAN'), isB: makePredByNodeName('B'), isU: makePredByNodeName('U'), isS: makePredByNodeName('S'), isI: makePredByNodeName('I'), isImg: makePredByNodeName('IMG'), isTextarea: isTextarea, isEmpty: isEmpty, isEmptyAnchor: func.and(isAnchor, isEmpty), isClosestSibling: isClosestSibling, withClosestSiblings: withClosestSiblings, nodeLength: nodeLength, isLeftEdgePoint: isLeftEdgePoint, isRightEdgePoint: isRightEdgePoint, isEdgePoint: isEdgePoint, isLeftEdgeOf: isLeftEdgeOf, isRightEdgeOf: isRightEdgeOf, isLeftEdgePointOf: isLeftEdgePointOf, isRightEdgePointOf: isRightEdgePointOf, prevPoint: prevPoint, nextPoint: nextPoint, isSamePoint: isSamePoint, isVisiblePoint: isVisiblePoint, prevPointUntil: prevPointUntil, nextPointUntil: nextPointUntil, isCharPoint: isCharPoint, walkPoint: walkPoint, ancestor: ancestor, singleChildAncestor: singleChildAncestor, listAncestor: listAncestor, lastAncestor: lastAncestor, listNext: listNext, listPrev: listPrev, listDescendant: listDescendant, commonAncestor: commonAncestor, wrap: wrap, insertAfter: insertAfter, appendChildNodes: appendChildNodes, position: position, hasChildren: hasChildren, makeOffsetPath: makeOffsetPath, fromOffsetPath: fromOffsetPath, splitTree: splitTree, splitPoint: splitPoint, create: create, createText: createText, remove: remove, removeWhile: removeWhile, replace: replace, html: html, value: value, posFromPlaceholder: posFromPlaceholder, attachEvents: attachEvents, detachEvents: detachEvents, isCustomStyleTag: isCustomStyleTag }; $$1.summernote = $$1.summernote || { lang: {} }; $$1.extend($$1.summernote.lang, { 'en-US': { font: { bold: 'Bold', italic: 'Italic', underline: 'Underline', clear: 'Remove Font Style', height: 'Line Height', name: 'Font Family', strikethrough: 'Strikethrough', subscript: 'Subscript', superscript: 'Superscript', size: 'Font Size' }, image: { image: 'Picture', insert: 'Insert Image', resizeFull: 'Resize Full', resizeHalf: 'Resize Half', resizeQuarter: 'Resize Quarter', floatLeft: 'Float Left', floatRight: 'Float Right', floatNone: 'Float None', shapeRounded: 'Shape: Rounded', shapeCircle: 'Shape: Circle', shapeThumbnail: 'Shape: Thumbnail', shapeNone: 'Shape: None', dragImageHere: 'Drag image or text here', dropImage: 'Drop image or Text', selectFromFiles: 'Select from files', maximumFileSize: 'Maximum file size', maximumFileSizeError: 'Maximum file size exceeded.', url: 'Image URL', remove: 'Remove Image', original: 'Original' }, video: { video: 'Video', videoLink: 'Video Link', insert: 'Insert Video', url: 'Video URL', providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion or Youku)' }, link: { link: 'Link', insert: 'Insert Link', unlink: 'Unlink', edit: 'Edit', textToDisplay: 'Text to display', url: 'To what URL should this link go?', openInNewWindow: 'Open in new window' }, table: { table: 'Table', addRowAbove: 'Add row above', addRowBelow: 'Add row below', addColLeft: 'Add column left', addColRight: 'Add column right', delRow: 'Delete row', delCol: 'Delete column', delTable: 'Delete table' }, hr: { insert: 'Insert Horizontal Rule' }, style: { style: 'Style', p: 'Normal', blockquote: 'Quote', pre: 'Code', h1: 'Header 1', h2: 'Header 2', h3: 'Header 3', h4: 'Header 4', h5: 'Header 5', h6: 'Header 6' }, lists: { unordered: 'Unordered list', ordered: 'Ordered list' }, options: { help: 'Help', fullscreen: 'Full Screen', codeview: 'Code View' }, paragraph: { paragraph: 'Paragraph', outdent: 'Outdent', indent: 'Indent', left: 'Align left', center: 'Align center', right: 'Align right', justify: 'Justify full' }, color: { recent: 'Recent Color', more: 'More Color', background: 'Background Color', foreground: 'Foreground Color', transparent: 'Transparent', setTransparent: 'Set transparent', reset: 'Reset', resetToDefault: 'Reset to default' }, shortcut: { shortcuts: 'Keyboard shortcuts', close: 'Close', textFormatting: 'Text formatting', action: 'Action', paragraphFormatting: 'Paragraph formatting', documentStyle: 'Document Style', extraKeys: 'Extra keys' }, help: { 'insertParagraph': 'Insert Paragraph', 'undo': 'Undoes the last command', 'redo': 'Redoes the last command', 'tab': 'Tab', 'untab': 'Untab', 'bold': 'Set a bold style', 'italic': 'Set a italic style', 'underline': 'Set a underline style', 'strikethrough': 'Set a strikethrough style', 'removeFormat': 'Clean a style', 'justifyLeft': 'Set left align', 'justifyCenter': 'Set center align', 'justifyRight': 'Set right align', 'justifyFull': 'Set full align', 'insertUnorderedList': 'Toggle unordered list', 'insertOrderedList': 'Toggle ordered list', 'outdent': 'Outdent on current paragraph', 'indent': 'Indent on current paragraph', 'formatPara': 'Change current block\'s format as a paragraph(P tag)', 'formatH1': 'Change current block\'s format as H1', 'formatH2': 'Change current block\'s format as H2', 'formatH3': 'Change current block\'s format as H3', 'formatH4': 'Change current block\'s format as H4', 'formatH5': 'Change current block\'s format as H5', 'formatH6': 'Change current block\'s format as H6', 'insertHorizontalRule': 'Insert horizontal rule', 'linkDialog.show': 'Show Link Dialog' }, history: { undo: 'Undo', redo: 'Redo' }, specialChar: { specialChar: 'SPECIAL CHARACTERS', select: 'Select Special characters' } } }); var KEY_MAP = { 'BACKSPACE': 8, 'TAB': 9, 'ENTER': 13, 'SPACE': 32, 'DELETE': 46, // Arrow 'LEFT': 37, 'UP': 38, 'RIGHT': 39, 'DOWN': 40, // Number: 0-9 'NUM0': 48, 'NUM1': 49, 'NUM2': 50, 'NUM3': 51, 'NUM4': 52, 'NUM5': 53, 'NUM6': 54, 'NUM7': 55, 'NUM8': 56, // Alphabet: a-z 'B': 66, 'E': 69, 'I': 73, 'J': 74, 'K': 75, 'L': 76, 'R': 82, 'S': 83, 'U': 85, 'V': 86, 'Y': 89, 'Z': 90, 'SLASH': 191, 'LEFTBRACKET': 219, 'BACKSLASH': 220, 'RIGHTBRACKET': 221 }; /** * @class core.key * * Object for keycodes. * * @singleton * @alternateClassName key */ var key = { /** * @method isEdit * * @param {Number} keyCode * @return {Boolean} */ isEdit: function (keyCode) { return lists.contains([ KEY_MAP.BACKSPACE, KEY_MAP.TAB, KEY_MAP.ENTER, KEY_MAP.SPACE, KEY_MAP.DELETE ], keyCode); }, /** * @method isMove * * @param {Number} keyCode * @return {Boolean} */ isMove: function (keyCode) { return lists.contains([ KEY_MAP.LEFT, KEY_MAP.UP, KEY_MAP.RIGHT, KEY_MAP.DOWN ], keyCode); }, /** * @property {Object} nameFromCode * @property {String} nameFromCode.8 "BACKSPACE" */ nameFromCode: func.invertObject(KEY_MAP), code: KEY_MAP }; /** * return boundaryPoint from TextRange, inspired by Andy Na's HuskyRange.js * * @param {TextRange} textRange * @param {Boolean} isStart * @return {BoundaryPoint} * * @see http://msdn.microsoft.com/en-us/library/ie/ms535872(v=vs.85).aspx */ function textRangeToPoint(textRange, isStart) { var container = textRange.parentElement(); var offset; var tester = document.body.createTextRange(); var prevContainer; var childNodes = lists.from(container.childNodes); for (offset = 0; offset < childNodes.length; offset++) { if (dom.isText(childNodes[offset])) { continue; } tester.moveToElementText(childNodes[offset]); if (tester.compareEndPoints('StartToStart', textRange) >= 0) { break; } prevContainer = childNodes[offset]; } if (offset !== 0 && dom.isText(childNodes[offset - 1])) { var textRangeStart = document.body.createTextRange(); var curTextNode = null; textRangeStart.moveToElementText(prevContainer || container); textRangeStart.collapse(!prevContainer); curTextNode = prevContainer ? prevContainer.nextSibling : container.firstChild; var pointTester = textRange.duplicate(); pointTester.setEndPoint('StartToStart', textRangeStart); var textCount = pointTester.text.replace(/[\r\n]/g, '').length; while (textCount > curTextNode.nodeValue.length && curTextNode.nextSibling) { textCount -= curTextNode.nodeValue.length; curTextNode = curTextNode.nextSibling; } // [workaround] enforce IE to re-reference curTextNode, hack var dummy = curTextNode.nodeValue; // eslint-disable-line if (isStart && curTextNode.nextSibling && dom.isText(curTextNode.nextSibling) && textCount === curTextNode.nodeValue.length) { textCount -= curTextNode.nodeValue.length; curTextNode = curTextNode.nextSibling; } container = curTextNode; offset = textCount; } return { cont: container, offset: offset }; } /** * return TextRange from boundary point (inspired by google closure-library) * @param {BoundaryPoint} point * @return {TextRange} */ function pointToTextRange(point) { var textRangeInfo = function (container, offset) { var node, isCollapseToStart; if (dom.isText(container)) { var prevTextNodes = dom.listPrev(container, func.not(dom.isText)); var prevContainer = lists.last(prevTextNodes).previousSibling; node = prevContainer || container.parentNode; offset += lists.sum(lists.tail(prevTextNodes), dom.nodeLength); isCollapseToStart = !prevContainer; } else { node = container.childNodes[offset] || container; if (dom.isText(node)) { return textRangeInfo(node, 0); } offset = 0; isCollapseToStart = false; } return { node: node, collapseToStart: isCollapseToStart, offset: offset }; }; var textRange = document.body.createTextRange(); var info = textRangeInfo(point.node, point.offset); textRange.moveToElementText(info.node); textRange.collapse(info.collapseToStart); textRange.moveStart('character', info.offset); return textRange; } /** * Wrapped Range * * @constructor * @param {Node} sc - start container * @param {Number} so - start offset * @param {Node} ec - end container * @param {Number} eo - end offset */ var WrappedRange = /** @class */ (function () { function WrappedRange(sc, so, ec, eo) { this.sc = sc; this.so = so; this.ec = ec; this.eo = eo; // isOnEditable: judge whether range is on editable or not this.isOnEditable = this.makeIsOn(dom.isEditable); // isOnList: judge whether range is on list node or not this.isOnList = this.makeIsOn(dom.isList); // isOnAnchor: judge whether range is on anchor node or not this.isOnAnchor = this.makeIsOn(dom.isAnchor); // isOnCell: judge whether range is on cell node or not this.isOnCell = this.makeIsOn(dom.isCell); // isOnData: judge whether range is on data node or not this.isOnData = this.makeIsOn(dom.isData); } // nativeRange: get nativeRange from sc, so, ec, eo WrappedRange.prototype.nativeRange = function () { if (env.isW3CRangeSupport) { var w3cRange = document.createRange(); w3cRange.setStart(this.sc, this.so); w3cRange.setEnd(this.ec, this.eo); return w3cRange; } else { var textRange = pointToTextRange({ node: this.sc, offset: this.so }); textRange.setEndPoint('EndToEnd', pointToTextRange({ node: this.ec, offset: this.eo })); return textRange; } }; WrappedRange.prototype.getPoints = function () { return { sc: this.sc, so: this.so, ec: this.ec, eo: this.eo }; }; WrappedRange.prototype.getStartPoint = function () { return { node: this.sc, offset: this.so }; }; WrappedRange.prototype.getEndPoint = function () { return { node: this.ec, offset: this.eo }; }; /** * select update visible range */ WrappedRange.prototype.select = function () { var nativeRng = this.nativeRange(); if (env.isW3CRangeSupport) { var selection = document.getSelection(); if (selection.rangeCount > 0) { selection.removeAllRanges(); } selection.addRange(nativeRng); } else { nativeRng.select(); } return this; }; /** * Moves the scrollbar to start container(sc) of current range * * @return {WrappedRange} */ WrappedRange.prototype.scrollIntoView = function (container) { var height = $$1(container).height(); if (container.scrollTop + height < this.sc.offsetTop) { container.scrollTop += Math.abs(container.scrollTop + height - this.sc.offsetTop); } return this; }; /** * @return {WrappedRange} */ WrappedRange.prototype.normalize = function () { /** * @param {BoundaryPoint} point * @param {Boolean} isLeftToRight * @return {BoundaryPoint} */ var getVisiblePoint = function (point, isLeftToRight) { if ((dom.isVisiblePoint(point) && !dom.isEdgePoint(point)) || (dom.isVisiblePoint(point) && dom.isRightEdgePoint(point) && !isLeftToRight) || (dom.isVisiblePoint(point) && dom.isLeftEdgePoint(point) && isLeftToRight) || (dom.isVisiblePoint(point) && dom.isBlock(point.node) && dom.isEmpty(point.node))) { return point; } // point on block's edge var block = dom.ancestor(point.node, dom.isBlock); if (((dom.isLeftEdgePointOf(point, block) || dom.isVoid(dom.prevPoint(point).node)) && !isLeftToRight) || ((dom.isRightEdgePointOf(point, block) || dom.isVoid(dom.nextPoint(point).node)) && isLeftToRight)) { // returns point already on visible point if (dom.isVisiblePoint(point)) { return point; } // reverse direction isLeftToRight = !isLeftToRight; } var nextPoint = isLeftToRight ? dom.nextPointUntil(dom.nextPoint(point), dom.isVisiblePoint) : dom.prevPointUntil(dom.prevPoint(point), dom.isVisiblePoint); return nextPoint || point; }; var endPoint = getVisiblePoint(this.getEndPoint(), false); var startPoint = this.isCollapsed() ? endPoint : getVisiblePoint(this.getStartPoint(), true); return new WrappedRange(startPoint.node, startPoint.offset, endPoint.node, endPoint.offset); }; /** * returns matched nodes on range * * @param {Function} [pred] - predicate function * @param {Object} [options] * @param {Boolean} [options.includeAncestor] * @param {Boolean} [options.fullyContains] * @return {Node[]} */ WrappedRange.prototype.nodes = function (pred, options) { pred = pred || func.ok; var includeAncestor = options && options.includeAncestor; var fullyContains = options && options.fullyContains; // TODO compare points and sort var startPoint = this.getStartPoint(); var endPoint = this.getEndPoint(); var nodes = []; var leftEdgeNodes = []; dom.walkPoint(startPoint, endPoint, function (point) { if (dom.isEditable(point.node)) { return; } var node; if (fullyContains) { if (dom.isLeftEdgePoint(point)) { leftEdgeNodes.push(point.node); } if (dom.isRightEdgePoint(point) && lists.contains(leftEdgeNodes, point.node)) { node = point.node; } } else if (includeAncestor) { node = dom.ancestor(point.node, pred); } else { node = point.node; } if (node && pred(node)) { nodes.push(node); } }, true); return lists.unique(nodes); }; /** * returns commonAncestor of range * @return {Element} - commonAncestor */ WrappedRange.prototype.commonAncestor = function () { return dom.commonAncestor(this.sc, this.ec); }; /** * returns expanded range by pred * * @param {Function} pred - predicate function * @return {WrappedRange} */ WrappedRange.prototype.expand = function (pred) { var startAncestor = dom.ancestor(this.sc, pred); var endAncestor = dom.ancestor(this.ec, pred); if (!startAncestor && !endAncestor) { return new WrappedRange(this.sc, this.so, this.ec, this.eo); } var boundaryPoints = this.getPoints(); if (startAncestor) { boundaryPoints.sc = startAncestor; boundaryPoints.so = 0; } if (endAncestor) { boundaryPoints.ec = endAncestor; boundaryPoints.eo = dom.nodeLength(endAncestor); } return new WrappedRange(boundaryPoints.sc, boundaryPoints.so, boundaryPoints.ec, boundaryPoints.eo); }; /** * @param {Boolean} isCollapseToStart * @return {WrappedRange} */ WrappedRange.prototype.collapse = function (isCollapseToStart) { if (isCollapseToStart) { return new WrappedRange(this.sc, this.so, this.sc, this.so); } else { return new WrappedRange(this.ec, this.eo, this.ec, this.eo); } }; /** * splitText on range */ WrappedRange.prototype.splitText = function () { var isSameContainer = this.sc === this.ec; var boundaryPoints = this.getPoints(); if (dom.isText(this.ec) && !dom.isEdgePoint(this.getEndPoint())) { this.ec.splitText(this.eo); } if (dom.isText(this.sc) && !dom.isEdgePoint(this.getStartPoint())) { boundaryPoints.sc = this.sc.splitText(this.so); boundaryPoints.so = 0; if (isSameContainer) { boundaryPoints.ec = boundaryPoints.sc; boundaryPoints.eo = this.eo - this.so; } } return new WrappedRange(boundaryPoints.sc, boundaryPoints.so, boundaryPoints.ec, boundaryPoints.eo); }; /** * delete contents on range * @return {WrappedRange} */ WrappedRange.prototype.deleteContents = function () { if (this.isCollapsed()) { return this; } var rng = this.splitText(); var nodes = rng.nodes(null, { fullyContains: true }); // find new cursor point var point = dom.prevPointUntil(rng.getStartPoint(), function (point) { return !lists.contains(nodes, point.node); }); var emptyParents = []; $$1.each(nodes, function (idx, node) { // find empty parents var parent = node.parentNode; if (point.node !== parent && dom.nodeLength(parent) === 1) { emptyParents.push(parent); } dom.remove(node, false); }); // remove empty parents $$1.each(emptyParents, function (idx, node) { dom.remove(node, false); }); return new WrappedRange(point.node, point.offset, point.node, point.offset).normalize(); }; /** * makeIsOn: return isOn(pred) function */ WrappedRange.prototype.makeIsOn = function (pred) { return function () { var ancestor = dom.ancestor(this.sc, pred); return !!ancestor && (ancestor === dom.ancestor(this.ec, pred)); }; }; /** * @param {Function} pred * @return {Boolean} */ WrappedRange.prototype.isLeftEdgeOf = function (pred) { if (!dom.isLeftEdgePoint(this.getStartPoint())) { return false; } var node = dom.ancestor(this.sc, pred); return node && dom.isLeftEdgeOf(this.sc, node); }; /** * returns whether range was collapsed or not */ WrappedRange.prototype.isCollapsed = function () { return this.sc === this.ec && this.so === this.eo; }; /** * wrap inline nodes which children of body with paragraph * * @return {WrappedRange} */ WrappedRange.prototype.wrapBodyInlineWithPara = function () { if (dom.isBodyContainer(this.sc) && dom.isEmpty(this.sc)) { this.sc.innerHTML = dom.emptyPara; return new WrappedRange(this.sc.firstChild, 0, this.sc.firstChild, 0); } /** * [workaround] firefox often create range on not visible point. so normalize here. * - firefox: |<p>text</p>| * - chrome: <p>|text|</p> */ var rng = this.normalize(); if (dom.isParaInline(this.sc) || dom.isPara(this.sc)) { return rng; } // find inline top ancestor var topAncestor; if (dom.isInline(rng.sc)) { var ancestors = dom.listAncestor(rng.sc, func.not(dom.isInline)); topAncestor = lists.last(ancestors); if (!dom.isInline(topAncestor)) { topAncestor = ancestors[ancestors.length - 2] || rng.sc.childNodes[rng.so]; } } else { topAncestor = rng.sc.childNodes[rng.so > 0 ? rng.so - 1 : 0]; } // siblings not in paragraph var inlineSiblings = dom.listPrev(topAncestor, dom.isParaInline).reverse(); inlineSiblings = inlineSiblings.concat(dom.listNext(topAncestor.nextSibling, dom.isParaInline)); // wrap with paragraph if (inlineSiblings.length) { var para = dom.wrap(lists.head(inlineSiblings), 'p'); dom.appendChildNodes(para, lists.tail(inlineSiblings)); } return this.normalize(); }; /** * insert node at current cursor * * @param {Node} node * @return {Node} */ WrappedRange.prototype.insertNode = function (node) { var rng = this.wrapBodyInlineWithPara().deleteContents(); var info = dom.splitPoint(rng.getStartPoint(), dom.isInline(node)); if (info.rightNode) { info.rightNode.parentNode.insertBefore(node, info.rightNode); } else { info.container.appendChild(node); } return node; }; /** * insert html at current cursor */ WrappedRange.prototype.pasteHTML = function (markup) { var contentsContainer = $$1('<div></div>').html(markup)[0]; var childNodes = lists.from(contentsContainer.childNodes); var rng = this.wrapBodyInlineWithPara().deleteContents(); return childNodes.reverse().map(function (childNode) { return rng.insertNode(childNode); }).reverse(); }; /** * returns text in range * * @return {String} */ WrappedRange.prototype.toString = function () { var nativeRng = this.nativeRange(); return env.isW3CRangeSupport ? nativeRng.toString() : nativeRng.text; }; /** * returns range for word before cursor * * @param {Boolean} [findAfter] - find after cursor, default: false * @return {WrappedRange} */ WrappedRange.prototype.getWordRange = function (findAfter) { var endPoint = this.getEndPoint(); if (!dom.isCharPoint(endPoint)) { return this; } var startPoint = dom.prevPointUntil(endPoint, function (point) { return !dom.isCharPoint(point); }); if (findAfter) { endPoint = dom.nextPointUntil(endPoint, function (point) { return !dom.isCharPoint(point); }); } return new WrappedRange(startPoint.node, startPoint.offset, endPoint.node, endPoint.offset); }; /** * create offsetPath bookmark * * @param {Node} editable */ WrappedRange.prototype.bookmark = function (editable) { return { s: { path: dom.makeOffsetPath(editable, this.sc), offset: this.so }, e: { path: dom.makeOffsetPath(editable, this.ec), offset: this.eo } }; }; /** * create offsetPath bookmark base on paragraph * * @param {Node[]} paras */ WrappedRange.prototype.paraBookmark = function (paras) { return { s: { path: lists.tail(dom.makeOffsetPath(lists.head(paras), this.sc)), offset: this.so }, e: { path: lists.tail(dom.makeOffsetPath(lists.last(paras), this.ec)), offset: this.eo } }; }; /** * getClientRects * @return {Rect[]} */ WrappedRange.prototype.getClientRects = function () { var nativeRng = this.nativeRange(); return nativeRng.getClientRects(); }; return WrappedRange; }()); /** * Data structure * * BoundaryPoint: a point of dom tree * * BoundaryPoints: two boundaryPoints corresponding to the start and the end of the Range * * See to http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-Position */ var range = { /** * create Range Object From arguments or Browser Selection * * @param {Node} sc - start container * @param {Number} so - start offset * @param {Node} ec - end container * @param {Number} eo - end offset * @return {WrappedRange} */ create: function (sc, so, ec, eo) { if (arguments.length === 4) { return new WrappedRange(sc, so, ec, eo); } else if (arguments.length === 2) { ec = sc; eo = so; return new WrappedRange(sc, so, ec, eo); } else { var wrappedRange = this.createFromSelection(); if (!wrappedRange && arguments.length === 1) { wrappedRange = this.createFromNode(arguments[0]); return wrappedRange.collapse(dom.emptyPara === arguments[0].innerHTML); } return wrappedRange; } }, createFromSelection: function () { var sc, so, ec, eo; if (env.isW3CRangeSupport) { var selection = document.getSelection(); if (!selection || selection.rangeCount === 0) { return null; } else if (dom.isBody(selection.anchorNode)) { // Firefox: returns entire body as range on initialization. // We won't never need it. return null; } var nativeRng = selection.getRangeAt(0); sc = nativeRng.startContainer; so = nativeRng.startOffset; ec = nativeRng.endContainer; eo = nativeRng.endOffset; } else { var textRange = document.selection.createRange(); var textRangeEnd = textRange.duplicate(); textRangeEnd.collapse(false); var textRangeStart = textRange; textRangeStart.collapse(true); var startPoint = textRangeToPoint(textRangeStart, true); var endPoint = textRangeToPoint(textRangeEnd, false); // same visible point case: range was collapsed. if (dom.isText(startPoint.node) && dom.isLeftEdgePoint(startPoint) && dom.isTextNode(endPoint.node) && dom.isRightEdgePoint(endPoint) && endPoint.node.nextSibling === startPoint.node) { startPoint = endPoint; } sc = startPoint.cont; so = startPoint.offset; ec = endPoint.cont; eo = endPoint.offset; } return new WrappedRange(sc, so, ec, eo); }, /** * @method * * create WrappedRange from node * * @param {Node} node * @return {WrappedRange} */ createFromNode: function (node) { var sc = node; var so = 0; var ec = node; var eo = dom.nodeLength(ec); // browsers can't target a picture or void node if (dom.isVoid(sc)) { so = dom.listPrev(sc).length - 1; sc = sc.parentNode; } if (dom.isBR(ec)) { eo = dom.listPrev(ec).length - 1; ec = ec.parentNode; } else if (dom.isVoid(ec)) { eo = dom.listPrev(ec).length; ec = ec.parentNode; } return this.create(sc, so, ec, eo); }, /** * create WrappedRange from node after position * * @param {Node} node * @return {WrappedRange} */ createFromNodeBefore: function (node) { return this.createFromNode(node).collapse(true); }, /** * create WrappedRange from node after position * * @param {Node} node * @return {WrappedRange} */ createFromNodeAfter: function (node) { return this.createFromNode(node).collapse(); }, /** * @method * * create WrappedRange from bookmark * * @param {Node} editable * @param {Object} bookmark * @return {WrappedRange} */ createFromBookmark: function (editable, bookmark) { var sc = dom.fromOffsetPath(editable, bookmark.s.path); var so = bookmark.s.offset; var ec = dom.fromOffsetPath(editable, bookmark.e.path); var eo = bookmark.e.offset; return new WrappedRange(sc, so, ec, eo); }, /** * @method * * create WrappedRange from paraBookmark * * @param {Object} bookmark * @param {Node[]} paras * @return {WrappedRange} */ createFromParaBookmark: function (bookmark, paras) { var so = bookmark.s.offset; var eo = bookmark.e.offset; var sc = dom.fromOffsetPath(lists.head(paras), bookmark.s.path); var ec = dom.fromOffsetPath(lists.last(paras), bookmark.e.path); return new WrappedRange(sc, so, ec, eo); } }; /** * @method readFileAsDataURL * * read contents of file as representing URL * * @param {File} file * @return {Promise} - then: dataUrl */ function readFileAsDataURL(file) { return $$1.Deferred(function (deferred) { $$1.extend(new FileReader(), { onload: function (e) { var dataURL = e.target.result; deferred.resolve(dataURL); }, onerror: function (err) { deferred.reject(err); } }).readAsDataURL(file); }).promise(); } /** * @method createImage * * create `<image>` from url string * * @param {String} url * @return {Promise} - then: $image */ function createImage(url) { return $$1.Deferred(function (deferred) { var $img = $$1('<img>'); $img.one('load', function () { $img.off('error abort'); deferred.resolve($img); }).one('error abort', function () { $img.off('load').detach(); deferred.reject($img); }).css({ display: 'none' }).appendTo(document.body).attr('src', url); }).promise(); } var History = /** @class */ (function () { function History($editable) { this.stack = []; this.stackOffset = -1; this.$editable = $editable; this.editable = $editable[0]; } History.prototype.makeSnapshot = function () { var rng = range.create(this.editable); var emptyBookmark = { s: { path: [], offset: 0 }, e: { path: [], offset: 0 } }; return { contents: this.$editable.html(), bookmark: (rng ? rng.bookmark(this.editable) : emptyBookmark) }; }; History.prototype.applySnapshot = function (snapshot) { if (snapshot.contents !== null) { this.$editable.html(snapshot.contents); } if (snapshot.bookmark !== null) { range.createFromBookmark(this.editable, snapshot.bookmark).select(); } }; /** * @method rewind * Rewinds the history stack back to the first snapshot taken. * Leaves the stack intact, so that "Redo" can still be used. */ History.prototype.rewind = function () { // Create snap shot if not yet recorded if (this.$editable.html() !== this.stack[this.stackOffset].contents) { this.recordUndo(); } // Return to the first available snapshot. this.stackOffset = 0; // Apply that snapshot. this.applySnapshot(this.stack[this.stackOffset]); }; /** * @method reset * Resets the history stack completely; reverting to an empty editor. */ History.prototype.reset = function () { // Clear the stack. this.stack = []; // Restore stackOffset to its original value. this.stackOffset = -1; // Clear the editable area. this.$editable.html(''); // Record our first snapshot (of nothing). this.recordUndo(); }; /** * undo */ History.prototype.undo = function () { // Create snap shot if not yet recorded if (this.$editable.html() !== this.stack[this.stackOffset].contents) { this.recordUndo(); } if (this.stackOffset > 0) { this.stackOffset--; this.applySnapshot(this.stack[this.stackOffset]); } }; /** * redo */ History.prototype.redo = function () { if (this.stack.length - 1 > this.stackOffset) { this.stackOffset++; this.applySnapshot(this.stack[this.stackOffset]); } }; /** * recorded undo */ History.prototype.recordUndo = function () { this.stackOffset++; // Wash out stack after stackOffset if (this.stack.length > this.stackOffset) { this.stack = this.stack.slice(0, this.stackOffset); } // Create new snapshot and push it to the end this.stack.push(this.makeSnapshot()); }; return History; }()); var Style = /** @class */ (function () { function Style() { } /** * @method jQueryCSS * * [workaround] for old jQuery * passing an array of style properties to .css() * will result in an object of property-value pairs. * (compability with version < 1.9) * * @private * @param {jQuery} $obj * @param {Array} propertyNames - An array of one or more CSS properties. * @return {Object} */ Style.prototype.jQueryCSS = function ($obj, propertyNames) { if (env.jqueryVersion < 1.9) { var result_1 = {}; $$1.each(propertyNames, function (idx, propertyName) { result_1[propertyName] = $obj.css(propertyName); }); return result_1; } return $obj.css(propertyNames); }; /** * returns style object from node * * @param {jQuery} $node * @return {Object} */ Style.prototype.fromNode = function ($node) { var properties = ['font-family', 'font-size', 'text-align', 'list-style-type', 'line-height']; var styleInfo = this.jQueryCSS($node, properties) || {}; styleInfo['font-size'] = parseInt(styleInfo['font-size'], 10); return styleInfo; }; /** * paragraph level style * * @param {WrappedRange} rng * @param {Object} styleInfo */ Style.prototype.stylePara = function (rng, styleInfo) { $$1.each(rng.nodes(dom.isPara, { includeAncestor: true }), function (idx, para) { $$1(para).css(styleInfo); }); }; /** * insert and returns styleNodes on range. * * @param {WrappedRange} rng * @param {Object} [options] - options for styleNodes * @param {String} [options.nodeName] - default: `SPAN` * @param {Boolean} [options.expandClosestSibling] - default: `false` * @param {Boolean} [options.onlyPartialContains] - default: `false` * @return {Node[]} */ Style.prototype.styleNodes = function (rng, options) { rng = rng.splitText(); var nodeName = (options && options.nodeName) || 'SPAN'; var expandClosestSibling = !!(options && options.expandClosestSibling); var onlyPartialContains = !!(options && options.onlyPartialContains); if (rng.isCollapsed()) { return [rng.insertNode(dom.create(nodeName))]; } var pred = dom.makePredByNodeName(nodeName); var nodes = rng.nodes(dom.isText, { fullyContains: true }).map(function (text) { return dom.singleChildAncestor(text, pred) || dom.wrap(text, nodeName); }); if (expandClosestSibling) { if (onlyPartialContains) { var nodesInRange_1 = rng.nodes(); // compose with partial contains predication pred = func.and(pred, function (node) { return lists.contains(nodesInRange_1, node); }); } return nodes.map(function (node) { var siblings = dom.withClosestSiblings(node, pred); var head = lists.head(siblings); var tails = lists.tail(siblings); $$1.each(tails, function (idx, elem) { dom.appendChildNodes(head, elem.childNodes); dom.remove(elem); }); return lists.head(siblings); }); } else { return nodes; } }; /** * get current style on cursor * * @param {WrappedRange} rng * @return {Object} - object contains style properties. */ Style.prototype.current = function (rng) { var $cont = $$1(!dom.isElement(rng.sc) ? rng.sc.parentNode : rng.sc); var styleInfo = this.fromNode($cont); // document.queryCommandState for toggle state // [workaround] prevent Firefox nsresult: "0x80004005 (NS_ERROR_FAILURE)" try { styleInfo = $$1.extend(styleInfo, { 'font-bold': document.queryCommandState('bold') ? 'bold' : 'normal', 'font-italic': document.queryCommandState('italic') ? 'italic' : 'normal', 'font-underline': document.queryCommandState('underline') ? 'underline' : 'normal', 'font-subscript': document.queryCommandState('subscript') ? 'subscript' : 'normal', 'font-superscript': document.queryCommandState('superscript') ? 'superscript' : 'normal', 'font-strikethrough': document.queryCommandState('strikethrough') ? 'strikethrough' : 'normal', 'font-family': document.queryCommandValue('fontname') || styleInfo['font-family'] }); } catch (e) { } // list-style-type to list-style(unordered, ordered) if (!rng.isOnList()) { styleInfo['list-style'] = 'none'; } else { var orderedTypes = ['circle', 'disc', 'disc-leading-zero', 'square']; var isUnordered = $$1.inArray(styleInfo['list-style-type'], orderedTypes) > -1; styleInfo['list-style'] = isUnordered ? 'unordered' : 'ordered'; } var para = dom.ancestor(rng.sc, dom.isPara); if (para && para.style['line-height']) { styleInfo['line-height'] = para.style.lineHeight; } else { var lineHeight = parseInt(styleInfo['line-height'], 10) / parseInt(styleInfo['font-size'], 10); styleInfo['line-height'] = lineHeight.toFixed(1); } styleInfo.anchor = rng.isOnAnchor() && dom.ancestor(rng.sc, dom.isAnchor); styleInfo.ancestors = dom.listAncestor(rng.sc, dom.isEditable); styleInfo.range = rng; return styleInfo; }; return Style; }()); var Bullet = /** @class */ (function () { function Bullet() { } /** * toggle ordered list */ Bullet.prototype.insertOrderedList = function (editable) { this.toggleList('OL', editable); }; /** * toggle unordered list */ Bullet.prototype.insertUnorderedList = function (editable) { this.toggleList('UL', editable); }; /** * indent */ Bullet.prototype.indent = function (editable) { var _this = this; var rng = range.create(editable).wrapBodyInlineWithPara(); var paras = rng.nodes(dom.isPara, { includeAncestor: true }); var clustereds = lists.clusterBy(paras, func.peq2('parentNode')); $$1.each(clustereds, function (idx, paras) { var head = lists.head(paras); if (dom.isLi(head)) { _this.wrapList(paras, head.parentNode.nodeName); } else { $$1.each(paras, function (idx, para) { $$1(para).css('marginLeft', function (idx, val) { return (parseInt(val, 10) || 0) + 25; }); }); } }); rng.select(); }; /** * outdent */ Bullet.prototype.outdent = function (editable) { var _this = this; var rng = range.create(editable).wrapBodyInlineWithPara(); var paras = rng.nodes(dom.isPara, { includeAncestor: true }); var clustereds = lists.clusterBy(paras, func.peq2('parentNode')); $$1.each(clustereds, function (idx, paras) { var head = lists.head(paras); if (dom.isLi(head)) { _this.releaseList([paras]); } else { $$1.each(paras, function (idx, para) { $$1(para).css('marginLeft', function (idx, val) { val = (parseInt(val, 10) || 0); return val > 25 ? val - 25 : ''; }); }); } }); rng.select(); }; /** * toggle list * * @param {String} listName - OL or UL */ Bullet.prototype.toggleList = function (listName, editable) { var _this = this; var rng = range.create(editable).wrapBodyInlineWithPara(); var paras = rng.nodes(dom.isPara, { includeAncestor: true }); var bookmark = rng.paraBookmark(paras); var clustereds = lists.clusterBy(paras, func.peq2('parentNode')); // paragraph to list if (lists.find(paras, dom.isPurePara)) { var wrappedParas_1 = []; $$1.each(clustereds, function (idx, paras) { wrappedParas_1 = wrappedParas_1.concat(_this.wrapList(paras, listName)); }); paras = wrappedParas_1; // list to paragraph or change list style } else { var diffLists = rng.nodes(dom.isList, { includeAncestor: true }).filter(function (listNode) { return !$$1.nodeName(listNode, listName); }); if (diffLists.length) { $$1.each(diffLists, function (idx, listNode) { dom.replace(listNode, listName); }); } else { paras = this.releaseList(clustereds, true); } } range.createFromParaBookmark(bookmark, paras).select(); }; /** * @param {Node[]} paras * @param {String} listName * @return {Node[]} */ Bullet.prototype.wrapList = function (paras, listName) { var head = lists.head(paras); var last = lists.last(paras); var prevList = dom.isList(head.previousSibling) && head.previousSibling; var nextList = dom.isList(last.nextSibling) && last.nextSibling; var listNode = prevList || dom.insertAfter(dom.create(listName || 'UL'), last); // P to LI paras = paras.map(function (para) { return dom.isPurePara(para) ? dom.replace(para, 'LI') : para; }); // append to list(<ul>, <ol>) dom.appendChildNodes(listNode, paras); if (nextList) { dom.appendChildNodes(listNode, lists.from(nextList.childNodes)); dom.remove(nextList); } return paras; }; /** * @method releaseList * * @param {Array[]} clustereds * @param {Boolean} isEscapseToBody * @return {Node[]} */ Bullet.prototype.releaseList = function (clustereds, isEscapseToBody) { var releasedParas = []; $$1.each(clustereds, function (idx, paras) { var head = lists.head(paras); var last = lists.last(paras); var headList = isEscapseToBody ? dom.lastAncestor(head, dom.isList) : head.parentNode; var lastList = headList.childNodes.length > 1 ? dom.splitTree(headList, { node: last.parentNode, offset: dom.position(last) + 1 }, { isSkipPaddingBlankHTML: true }) : null; var middleList = dom.splitTree(headList, { node: head.parentNode, offset: dom.position(head) }, { isSkipPaddingBlankHTML: true }); paras = isEscapseToBody ? dom.listDescendant(middleList, dom.isLi) : lists.from(middleList.childNodes).filter(dom.isLi); // LI to P if (isEscapseToBody || !dom.isList(headList.parentNode)) { paras = paras.map(function (para) { return dom.replace(para, 'P'); }); } $$1.each(lists.from(paras).reverse(), function (idx, para) { dom.insertAfter(para, headList); }); // remove empty lists var rootLists = lists.compact([headList, middleList, lastList]); $$1.each(rootLists, function (idx, rootList) { var listNodes = [rootList].concat(dom.listDescendant(rootList, dom.isList)); $$1.each(listNodes.reverse(), function (idx, listNode) { if (!dom.nodeLength(listNode)) { dom.remove(listNode, true); } }); }); releasedParas = releasedParas.concat(paras); }); return releasedParas; }; return Bullet; }()); /** * @class editing.Typing * * Typing * */ var Typing = /** @class */ (function () { function Typing() { // a Bullet instance to toggle lists off this.bullet = new Bullet(); } /** * insert tab * * @param {WrappedRange} rng * @param {Number} tabsize */ Typing.prototype.insertTab = function (rng, tabsize) { var tab = dom.createText(new Array(tabsize + 1).join(dom.NBSP_CHAR)); rng = rng.deleteContents(); rng.insertNode(tab, true); rng = range.create(tab, tabsize); rng.select(); }; /** * insert paragraph */ Typing.prototype.insertParagraph = function (editable) { var rng = range.create(editable); // deleteContents on range. rng = rng.deleteContents(); // Wrap range if it needs to be wrapped by paragraph rng = rng.wrapBodyInlineWithPara(); // finding paragraph var splitRoot = dom.ancestor(rng.sc, dom.isPara); var nextPara; // on paragraph: split paragraph if (splitRoot) { // if it is an empty line with li if (dom.isEmpty(splitRoot) && dom.isLi(splitRoot)) { // toogle UL/OL and escape this.bullet.toggleList(splitRoot.parentNode.nodeName); return; // if it is an empty line with para on blockquote } else if (dom.isEmpty(splitRoot) && dom.isPara(splitRoot) && dom.isBlockquote(splitRoot.parentNode)) { // escape blockquote dom.insertAfter(splitRoot, splitRoot.parentNode); nextPara = splitRoot; // if new line has content (not a line break) } else { nextPara = dom.splitTree(splitRoot, rng.getStartPoint()); var emptyAnchors = dom.listDescendant(splitRoot, dom.isEmptyAnchor); emptyAnchors = emptyAnchors.concat(dom.listDescendant(nextPara, dom.isEmptyAnchor)); $$1.each(emptyAnchors, function (idx, anchor) { dom.remove(anchor); }); // replace empty heading, pre or custom-made styleTag with P tag if ((dom.isHeading(nextPara) || dom.isPre(nextPara) || dom.isCustomStyleTag(nextPara)) && dom.isEmpty(nextPara)) { nextPara = dom.replace(nextPara, 'p'); } } // no paragraph: insert empty paragraph } else { var next = rng.sc.childNodes[rng.so]; nextPara = $$1(dom.emptyPara)[0]; if (next) { rng.sc.insertBefore(nextPara, next); } else { rng.sc.appendChild(nextPara); } } range.create(nextPara, 0).normalize().select().scrollIntoView(editable); }; return Typing; }()); /** * @class Create a virtual table to create what actions to do in change. * @param {object} startPoint Cell selected to apply change. * @param {enum} where Where change will be applied Row or Col. Use enum: TableResultAction.where * @param {enum} action Action to be applied. Use enum: TableResultAction.requestAction * @param {object} domTable Dom element of table to make changes. */ var TableResultAction = function (startPoint, where, action, domTable) { var _startPoint = { 'colPos': 0, 'rowPos': 0 }; var _virtualTable = []; var _actionCellList = []; /// /////////////////////////////////////////// // Private functions /// /////////////////////////////////////////// /** * Set the startPoint of action. */ function setStartPoint() { if (!startPoint || !startPoint.tagName || (startPoint.tagName.toLowerCase() !== 'td' && startPoint.tagName.toLowerCase() !== 'th')) { console.error('Impossible to identify start Cell point.', startPoint); return; } _startPoint.colPos = startPoint.cellIndex; if (!startPoint.parentElement || !startPoint.parentElement.tagName || startPoint.parentElement.tagName.toLowerCase() !== 'tr') { console.error('Impossible to identify start Row point.', startPoint); return; } _startPoint.rowPos = startPoint.parentElement.rowIndex; } /** * Define virtual table position info object. * * @param {int} rowIndex Index position in line of virtual table. * @param {int} cellIndex Index position in column of virtual table. * @param {object} baseRow Row affected by this position. * @param {object} baseCell Cell affected by this position. * @param {bool} isSpan Inform if it is an span cell/row. */ function setVirtualTablePosition(rowIndex, cellIndex, baseRow, baseCell, isRowSpan, isColSpan, isVirtualCell) { var objPosition = { 'baseRow': baseRow, 'baseCell': baseCell, 'isRowSpan': isRowSpan, 'isColSpan': isColSpan, 'isVirtual': isVirtualCell }; if (!_virtualTable[rowIndex]) { _virtualTable[rowIndex] = []; } _virtualTable[rowIndex][cellIndex] = objPosition; } /** * Create action cell object. * * @param {object} virtualTableCellObj Object of specific position on virtual table. * @param {enum} resultAction Action to be applied in that item. */ function getActionCell(virtualTableCellObj, resultAction, virtualRowPosition, virtualColPosition) { return { 'baseCell': virtualTableCellObj.baseCell, 'action': resultAction, 'virtualTable': { 'rowIndex': virtualRowPosition, 'cellIndex': virtualColPosition } }; } /** * Recover free index of row to append Cell. * * @param {int} rowIndex Index of row to find free space. * @param {int} cellIndex Index of cell to find free space in table. */ function recoverCellIndex(rowIndex, cellIndex) { if (!_virtualTable[rowIndex]) { return cellIndex; } if (!_virtualTable[rowIndex][cellIndex]) { return cellIndex; } var newCellIndex = cellIndex; while (_virtualTable[rowIndex][newCellIndex]) { newCellIndex++; if (!_virtualTable[rowIndex][newCellIndex]) { return newCellIndex; } } } /** * Recover info about row and cell and add information to virtual table. * * @param {object} row Row to recover information. * @param {object} cell Cell to recover information. */ function addCellInfoToVirtual(row, cell) { var cellIndex = recoverCellIndex(row.rowIndex, cell.cellIndex); var cellHasColspan = (cell.colSpan > 1); var cellHasRowspan = (cell.rowSpan > 1); var isThisSelectedCell = (row.rowIndex === _startPoint.rowPos && cell.cellIndex === _startPoint.colPos); setVirtualTablePosition(row.rowIndex, cellIndex, row, cell, cellHasRowspan, cellHasColspan, false); // Add span rows to virtual Table. var rowspanNumber = cell.attributes.rowSpan ? parseInt(cell.attributes.rowSpan.value, 10) : 0; if (rowspanNumber > 1) { for (var rp = 1; rp < rowspanNumber; rp++) { var rowspanIndex = row.rowIndex + rp; adjustStartPoint(rowspanIndex, cellIndex, cell, isThisSelectedCell); setVirtualTablePosition(rowspanIndex, cellIndex, row, cell, true, cellHasColspan, true); } } // Add span cols to virtual table. var colspanNumber = cell.attributes.colSpan ? parseInt(cell.attributes.colSpan.value, 10) : 0; if (colspanNumber > 1) { for (var cp = 1; cp < colspanNumber; cp++) { var cellspanIndex = recoverCellIndex(row.rowIndex, (cellIndex + cp)); adjustStartPoint(row.rowIndex, cellspanIndex, cell, isThisSelectedCell); setVirtualTablePosition(row.rowIndex, cellspanIndex, row, cell, cellHasRowspan, true, true); } } } /** * Process validation and adjust of start point if needed * * @param {int} rowIndex * @param {int} cellIndex * @param {object} cell * @param {bool} isSelectedCell */ function adjustStartPoint(rowIndex, cellIndex, cell, isSelectedCell) { if (rowIndex === _startPoint.rowPos && _startPoint.colPos >= cell.cellIndex && cell.cellIndex <= cellIndex && !isSelectedCell) { _startPoint.colPos++; } } /** * Create virtual table of cells with all cells, including span cells. */ function createVirtualTable() { var rows = domTable.rows; for (var rowIndex = 0; rowIndex < rows.length; rowIndex++) { var cells = rows[rowIndex].cells; for (var cellIndex = 0; cellIndex < cells.length; cellIndex++) { addCellInfoToVirtual(rows[rowIndex], cells[cellIndex]); } } } /** * Get action to be applied on the cell. * * @param {object} cell virtual table cell to apply action */ function getDeleteResultActionToCell(cell) { switch (where) { case TableResultAction.where.Column: if (cell.isColSpan) { return TableResultAction.resultAction.SubtractSpanCount; } break; case TableResultAction.where.Row: if (!cell.isVirtual && cell.isRowSpan) { return TableResultAction.resultAction.AddCell; } else if (cell.isRowSpan) { return TableResultAction.resultAction.SubtractSpanCount; } break; } return TableResultAction.resultAction.RemoveCell; } /** * Get action to be applied on the cell. * * @param {object} cell virtual table cell to apply action */ function getAddResultActionToCell(cell) { switch (where) { case TableResultAction.where.Column: if (cell.isColSpan) { return TableResultAction.resultAction.SumSpanCount; } else if (cell.isRowSpan && cell.isVirtual) { return TableResultAction.resultAction.Ignore; } break; case TableResultAction.where.Row: if (cell.isRowSpan) { return TableResultAction.resultAction.SumSpanCount; } else if (cell.isColSpan && cell.isVirtual) { return TableResultAction.resultAction.Ignore; } break; } return TableResultAction.resultAction.AddCell; } function init() { setStartPoint(); createVirtualTable(); } /// /////////////////////////////////////////// // Public functions /// /////////////////////////////////////////// /** * Recover array os what to do in table. */ this.getActionList = function () { var fixedRow = (where === TableResultAction.where.Row) ? _startPoint.rowPos : -1; var fixedCol = (where === TableResultAction.where.Column) ? _startPoint.colPos : -1; var actualPosition = 0; var canContinue = true; while (canContinue) { var rowPosition = (fixedRow >= 0) ? fixedRow : actualPosition; var colPosition = (fixedCol >= 0) ? fixedCol : actualPosition; var row = _virtualTable[rowPosition]; if (!row) { canContinue = false; return _actionCellList; } var cell = row[colPosition]; if (!cell) { canContinue = false; return _actionCellList; } // Define action to be applied in this cell var resultAction = TableResultAction.resultAction.Ignore; switch (action) { case TableResultAction.requestAction.Add: resultAction = getAddResultActionToCell(cell); break; case TableResultAction.requestAction.Delete: resultAction = getDeleteResultActionToCell(cell); break; } _actionCellList.push(getActionCell(cell, resultAction, rowPosition, colPosition)); actualPosition++; } return _actionCellList; }; init(); }; /** * * Where action occours enum. */ TableResultAction.where = { 'Row': 0, 'Column': 1 }; /** * * Requested action to apply enum. */ TableResultAction.requestAction = { 'Add': 0, 'Delete': 1 }; /** * * Result action to be executed enum. */ TableResultAction.resultAction = { 'Ignore': 0, 'SubtractSpanCount': 1, 'RemoveCell': 2, 'AddCell': 3, 'SumSpanCount': 4 }; /** * * @class editing.Table * * Table * */ var Table = /** @class */ (function () { function Table() { } /** * handle tab key * * @param {WrappedRange} rng * @param {Boolean} isShift */ Table.prototype.tab = function (rng, isShift) { var cell = dom.ancestor(rng.commonAncestor(), dom.isCell); var table = dom.ancestor(cell, dom.isTable); var cells = dom.listDescendant(table, dom.isCell); var nextCell = lists[isShift ? 'prev' : 'next'](cells, cell); if (nextCell) { range.create(nextCell, 0).select(); } }; /** * Add a new row * * @param {WrappedRange} rng * @param {String} position (top/bottom) * @return {Node} */ Table.prototype.addRow = function (rng, position) { var cell = dom.ancestor(rng.commonAncestor(), dom.isCell); var currentTr = $$1(cell).closest('tr'); var trAttributes = this.recoverAttributes(currentTr); var html = $$1('<tr' + trAttributes + '></tr>'); var vTable = new TableResultAction(cell, TableResultAction.where.Row, TableResultAction.requestAction.Add, $$1(currentTr).closest('table')[0]); var actions = vTable.getActionList(); for (var idCell = 0; idCell < actions.length; idCell++) { var currentCell = actions[idCell]; var tdAttributes = this.recoverAttributes(currentCell.baseCell); switch (currentCell.action) { case TableResultAction.resultAction.AddCell: html.append('<td' + tdAttributes + '>' + dom.blank + '</td>'); break; case TableResultAction.resultAction.SumSpanCount: if (position === 'top') { var baseCellTr = currentCell.baseCell.parent; var isTopFromRowSpan = (!baseCellTr ? 0 : currentCell.baseCell.closest('tr').rowIndex) <= currentTr[0].rowIndex; if (isTopFromRowSpan) { var newTd = $$1('<div></div>').append($$1('<td' + tdAttributes + '>' + dom.blank + '</td>').removeAttr('rowspan')).html(); html.append(newTd); break; } } var rowspanNumber = parseInt(currentCell.baseCell.rowSpan, 10); rowspanNumber++; currentCell.baseCell.setAttribute('rowSpan', rowspanNumber); break; } } if (position === 'top') { currentTr.before(html); } else { var cellHasRowspan = (cell.rowSpan > 1); if (cellHasRowspan) { var lastTrIndex = currentTr[0].rowIndex + (cell.rowSpan - 2); $$1($$1(currentTr).parent().find('tr')[lastTrIndex]).after($$1(html)); return; } currentTr.after(html); } }; /** * Add a new col * * @param {WrappedRange} rng * @param {String} position (left/right) * @return {Node} */ Table.prototype.addCol = function (rng, position) { var cell = dom.ancestor(rng.commonAncestor(), dom.isCell); var row = $$1(cell).closest('tr'); var rowsGroup = $$1(row).siblings(); rowsGroup.push(row); var vTable = new TableResultAction(cell, TableResultAction.where.Column, TableResultAction.requestAction.Add, $$1(row).closest('table')[0]); var actions = vTable.getActionList(); for (var actionIndex = 0; actionIndex < actions.length; actionIndex++) { var currentCell = actions[actionIndex]; var tdAttributes = this.recoverAttributes(currentCell.baseCell); switch (currentCell.action) { case TableResultAction.resultAction.AddCell: if (position === 'right') { $$1(currentCell.baseCell).after('<td' + tdAttributes + '>' + dom.blank + '</td>'); } else { $$1(currentCell.baseCell).before('<td' + tdAttributes + '>' + dom.blank + '</td>'); } break; case TableResultAction.resultAction.SumSpanCount: if (position === 'right') { var colspanNumber = parseInt(currentCell.baseCell.colSpan, 10); colspanNumber++; currentCell.baseCell.setAttribute('colSpan', colspanNumber); } else { $$1(currentCell.baseCell).before('<td' + tdAttributes + '>' + dom.blank + '</td>'); } break; } } }; /* * Copy attributes from element. * * @param {object} Element to recover attributes. * @return {string} Copied string elements. */ Table.prototype.recoverAttributes = function (el) { var resultStr = ''; if (!el) { return resultStr; } var attrList = el.attributes || []; for (var i = 0; i < attrList.length; i++) { if (attrList[i].name.toLowerCase() === 'id') { continue; } if (attrList[i].specified) { resultStr += ' ' + attrList[i].name + '=\'' + attrList[i].value + '\''; } } return resultStr; }; /** * Delete current row * * @param {WrappedRange} rng * @return {Node} */ Table.prototype.deleteRow = function (rng) { var cell = dom.ancestor(rng.commonAncestor(), dom.isCell); var row = $$1(cell).closest('tr'); var cellPos = row.children('td, th').index($$1(cell)); var rowPos = row[0].rowIndex; var vTable = new TableResultAction(cell, TableResultAction.where.Row, TableResultAction.requestAction.Delete, $$1(row).closest('table')[0]); var actions = vTable.getActionList(); for (var actionIndex = 0; actionIndex < actions.length; actionIndex++) { if (!actions[actionIndex]) { continue; } var baseCell = actions[actionIndex].baseCell; var virtualPosition = actions[actionIndex].virtualTable; var hasRowspan = (baseCell.rowSpan && baseCell.rowSpan > 1); var rowspanNumber = (hasRowspan) ? parseInt(baseCell.rowSpan, 10) : 0; switch (actions[actionIndex].action) { case TableResultAction.resultAction.Ignore: continue; case TableResultAction.resultAction.AddCell: var nextRow = row.next('tr')[0]; if (!nextRow) { continue; } var cloneRow = row[0].cells[cellPos]; if (hasRowspan) { if (rowspanNumber > 2) { rowspanNumber--; nextRow.insertBefore(cloneRow, nextRow.cells[cellPos]); nextRow.cells[cellPos].setAttribute('rowSpan', rowspanNumber); nextRow.cells[cellPos].innerHTML = ''; } else if (rowspanNumber === 2) { nextRow.insertBefore(cloneRow, nextRow.cells[cellPos]); nextRow.cells[cellPos].removeAttribute('rowSpan'); nextRow.cells[cellPos].innerHTML = ''; } } continue; case TableResultAction.resultAction.SubtractSpanCount: if (hasRowspan) { if (rowspanNumber > 2) { rowspanNumber--; baseCell.setAttribute('rowSpan', rowspanNumber); if (virtualPosition.rowIndex !== rowPos && baseCell.cellIndex === cellPos) { baseCell.innerHTML = ''; } } else if (rowspanNumber === 2) { baseCell.removeAttribute('rowSpan'); if (virtualPosition.rowIndex !== rowPos && baseCell.cellIndex === cellPos) { baseCell.innerHTML = ''; } } } continue; case TableResultAction.resultAction.RemoveCell: // Do not need remove cell because row will be deleted. continue; } } row.remove(); }; /** * Delete current col * * @param {WrappedRange} rng * @return {Node} */ Table.prototype.deleteCol = function (rng) { var cell = dom.ancestor(rng.commonAncestor(), dom.isCell); var row = $$1(cell).closest('tr'); var cellPos = row.children('td, th').index($$1(cell)); var vTable = new TableResultAction(cell, TableResultAction.where.Column, TableResultAction.requestAction.Delete, $$1(row).closest('table')[0]); var actions = vTable.getActionList(); for (var actionIndex = 0; actionIndex < actions.length; actionIndex++) { if (!actions[actionIndex]) { continue; } switch (actions[actionIndex].action) { case TableResultAction.resultAction.Ignore: continue; case TableResultAction.resultAction.SubtractSpanCount: var baseCell = actions[actionIndex].baseCell; var hasColspan = (baseCell.colSpan && baseCell.colSpan > 1); if (hasColspan) { var colspanNumber = (baseCell.colSpan) ? parseInt(baseCell.colSpan, 10) : 0; if (colspanNumber > 2) { colspanNumber--; baseCell.setAttribute('colSpan', colspanNumber); if (baseCell.cellIndex === cellPos) { baseCell.innerHTML = ''; } } else if (colspanNumber === 2) { baseCell.removeAttribute('colSpan'); if (baseCell.cellIndex === cellPos) { baseCell.innerHTML = ''; } } } continue; case TableResultAction.resultAction.RemoveCell: dom.remove(actions[actionIndex].baseCell, true); continue; } } }; /** * create empty table element * * @param {Number} rowCount * @param {Number} colCount * @return {Node} */ Table.prototype.createTable = function (colCount, rowCount, options) { var tds = []; var tdHTML; for (var idxCol = 0; idxCol < colCount; idxCol++) { tds.push('<td>' + dom.blank + '</td>'); } tdHTML = tds.join(''); var trs = []; var trHTML; for (var idxRow = 0; idxRow < rowCount; idxRow++) { trs.push('<tr>' + tdHTML + '</tr>'); } trHTML = trs.join(''); var $table = $$1('<table>' + trHTML + '</table>'); if (options && options.tableClassName) { $table.addClass(options.tableClassName); } return $table[0]; }; /** * Delete current table * * @param {WrappedRange} rng * @return {Node} */ Table.prototype.deleteTable = function (rng) { var cell = dom.ancestor(rng.commonAncestor(), dom.isCell); $$1(cell).closest('table').remove(); }; return Table; }()); var KEY_BOGUS = 'bogus'; /** * @class Editor */ var Editor = /** @class */ (function () { function Editor(context) { var _this = this; this.context = context; this.$note = context.layoutInfo.note; this.$editor = context.layoutInfo.editor; this.$editable = context.layoutInfo.editable; this.options = context.options; this.lang = this.options.langInfo; this.editable = this.$editable[0]; this.lastRange = null; this.style = new Style(); this.table = new Table(); this.typing = new Typing(); this.bullet = new Bullet(); this.history = new History(this.$editable); this.context.memo('help.undo', this.lang.help.undo); this.context.memo('help.redo', this.lang.help.redo); this.context.memo('help.tab', this.lang.help.tab); this.context.memo('help.untab', this.lang.help.untab); this.context.memo('help.insertParagraph', this.lang.help.insertParagraph); this.context.memo('help.insertOrderedList', this.lang.help.insertOrderedList); this.context.memo('help.insertUnorderedList', this.lang.help.insertUnorderedList); this.context.memo('help.indent', this.lang.help.indent); this.context.memo('help.outdent', this.lang.help.outdent); this.context.memo('help.formatPara', this.lang.help.formatPara); this.context.memo('help.insertHorizontalRule', this.lang.help.insertHorizontalRule); this.context.memo('help.fontName', this.lang.help.fontName); // native commands(with execCommand), generate function for execCommand var commands = [ 'bold', 'italic', 'underline', 'strikethrough', 'superscript', 'subscript', 'justifyLeft', 'justifyCenter', 'justifyRight', 'justifyFull', 'formatBlock', 'removeFormat', 'backColor' ]; for (var idx = 0, len = commands.length; idx < len; idx++) { this[commands[idx]] = (function (sCmd) { return function (value) { _this.beforeCommand(); document.execCommand(sCmd, false, value); _this.afterCommand(true); }; })(commands[idx]); this.context.memo('help.' + commands[idx], this.lang.help[commands[idx]]); } this.fontName = this.wrapCommand(function (value) { return _this.fontStyling('font-family', "\'" + value + "\'"); }); this.fontSize = this.wrapCommand(function (value) { return _this.fontStyling('font-size', value + 'px'); }); for (var idx = 1; idx <= 6; idx++) { this['formatH' + idx] = (function (idx) { return function () { _this.formatBlock('H' + idx); }; })(idx); this.context.memo('help.formatH' + idx, this.lang.help['formatH' + idx]); } this.insertParagraph = this.wrapCommand(function () { _this.typing.insertParagraph(_this.editable); }); this.insertOrderedList = this.wrapCommand(function () { _this.bullet.insertOrderedList(_this.editable); }); this.insertUnorderedList = this.wrapCommand(function () { _this.bullet.insertUnorderedList(_this.editable); }); this.indent = this.wrapCommand(function () { _this.bullet.indent(_this.editable); }); this.outdent = this.wrapCommand(function () { _this.bullet.outdent(_this.editable); }); /** * insertNode * insert node * @param {Node} node */ this.insertNode = this.wrapCommand(function (node) { if (_this.isLimited($$1(node).text().length)) { return; } var rng = _this.createRange(); rng.insertNode(node); range.createFromNodeAfter(node).select(); }); /** * insert text * @param {String} text */ this.insertText = this.wrapCommand(function (text) { if (_this.isLimited(text.length)) { return; } var rng = _this.createRange(); var textNode = rng.insertNode(dom.createText(text)); range.create(textNode, dom.nodeLength(textNode)).select(); }); /** * paste HTML * @param {String} markup */ this.pasteHTML = this.wrapCommand(function (markup) { if (_this.isLimited(markup.length)) { return; } var contents = _this.createRange().pasteHTML(markup); range.createFromNodeAfter(lists.last(contents)).select(); }); /** * formatBlock * * @param {String} tagName */ this.formatBlock = this.wrapCommand(function (tagName, $target) { var onApplyCustomStyle = _this.options.callbacks.onApplyCustomStyle; if (onApplyCustomStyle) { onApplyCustomStyle.call(_this, $target, _this.context, _this.onFormatBlock); } else { _this.onFormatBlock(tagName, $target); } }); /** * insert horizontal rule */ this.insertHorizontalRule = this.wrapCommand(function () { var hrNode = _this.createRange().insertNode(dom.create('HR')); if (hrNode.nextSibling) { range.create(hrNode.nextSibling, 0).normalize().select(); } }); /** * lineHeight * @param {String} value */ this.lineHeight = this.wrapCommand(function (value) { _this.style.stylePara(_this.createRange(), { lineHeight: value }); }); /** * create link (command) * * @param {Object} linkInfo */ this.createLink = this.wrapCommand(function (linkInfo) { var linkUrl = linkInfo.url; var linkText = linkInfo.text; var isNewWindow = linkInfo.isNewWindow; var rng = linkInfo.range || _this.createRange(); var isTextChanged = rng.toString() !== linkText; // handle spaced urls from input if (typeof linkUrl === 'string') { linkUrl = linkUrl.trim(); } if (_this.options.onCreateLink) { linkUrl = _this.options.onCreateLink(linkUrl); } else { // if url doesn't match an URL schema, set http:// as default linkUrl = /^[A-Za-z][A-Za-z0-9+-.]*\:[\/\/]?/.test(linkUrl) ? linkUrl : 'http://' + linkUrl; } var anchors = []; if (isTextChanged) { rng = rng.deleteContents(); var anchor = rng.insertNode($$1('<A>' + linkText + '</A>')[0]); anchors.push(anchor); } else { anchors = _this.style.styleNodes(rng, { nodeName: 'A', expandClosestSibling: true, onlyPartialContains: true }); } $$1.each(anchors, function (idx, anchor) { $$1(anchor).attr('href', linkUrl); if (isNewWindow) { $$1(anchor).attr('target', '_blank'); } else { $$1(anchor).removeAttr('target'); } }); var startRange = range.createFromNodeBefore(lists.head(anchors)); var startPoint = startRange.getStartPoint(); var endRange = range.createFromNodeAfter(lists.last(anchors)); var endPoint = endRange.getEndPoint(); range.create(startPoint.node, startPoint.offset, endPoint.node, endPoint.offset).select(); }); /** * setting color * * @param {Object} sObjColor color code * @param {String} sObjColor.foreColor foreground color * @param {String} sObjColor.backColor background color */ this.color = this.wrapCommand(function (colorInfo) { var foreColor = colorInfo.foreColor; var backColor = colorInfo.backColor; if (foreColor) { document.execCommand('foreColor', false, foreColor); } if (backColor) { document.execCommand('backColor', false, backColor); } }); /** * Set foreground color * * @param {String} colorCode foreground color code */ this.foreColor = this.wrapCommand(function (colorInfo) { document.execCommand('styleWithCSS', false, true); document.execCommand('foreColor', false, colorInfo); }); /** * insert Table * * @param {String} dimension of table (ex : "5x5") */ this.insertTable = this.wrapCommand(function (dim) { var dimension = dim.split('x'); var rng = _this.createRange().deleteContents(); rng.insertNode(_this.table.createTable(dimension[0], dimension[1], _this.options)); }); /** * remove media object and Figure Elements if media object is img with Figure. */ this.removeMedia = this.wrapCommand(function () { var $target = $$1(_this.restoreTarget()).parent(); if ($target.parent('figure').length) { $target.parent('figure').remove(); } else { $target = $$1(_this.restoreTarget()).detach(); } _this.context.triggerEvent('media.delete', $target, _this.$editable); }); /** * float me * * @param {String} value */ this.floatMe = this.wrapCommand(function (value) { var $target = $$1(_this.restoreTarget()); $target.toggleClass('note-float-left', value === 'left'); $target.toggleClass('note-float-right', value === 'right'); $target.css('float', value); }); /** * resize overlay element * @param {String} value */ this.resize = this.wrapCommand(function (value) { var $target = $$1(_this.restoreTarget()); $target.css({ width: value * 100 + '%', height: '' }); }); } Editor.prototype.initialize = function () { var _this = this; // bind custom events this.$editable.on('keydown', function (event) { if (event.keyCode === key.code.ENTER) { _this.context.triggerEvent('enter', event); } _this.context.triggerEvent('keydown', event); if (!event.isDefaultPrevented()) { if (_this.options.shortcuts) { _this.handleKeyMap(event); } else { _this.preventDefaultEditableShortCuts(event); } } if (_this.isLimited(1, event)) { return false; } }).on('keyup', function (event) { _this.context.triggerEvent('keyup', event); }).on('focus', function (event) { _this.context.triggerEvent('focus', event); }).on('blur', function (event) { _this.context.triggerEvent('blur', event); }).on('mousedown', function (event) { _this.context.triggerEvent('mousedown', event); }).on('mouseup', function (event) { _this.context.triggerEvent('mouseup', event); }).on('scroll', function (event) { _this.context.triggerEvent('scroll', event); }).on('paste', function (event) { _this.context.triggerEvent('paste', event); }); // init content before set event this.$editable.html(dom.html(this.$note) || dom.emptyPara); this.$editable.on(env.inputEventName, func.debounce(function () { _this.context.triggerEvent('change', _this.$editable.html()); }, 100)); this.$editor.on('focusin', function (event) { _this.context.triggerEvent('focusin', event); }).on('focusout', function (event) { _this.context.triggerEvent('focusout', event); }); if (!this.options.airMode) { if (this.options.width) { this.$editor.outerWidth(this.options.width); } if (this.options.height) { this.$editable.outerHeight(this.options.height); } if (this.options.maxHeight) { this.$editable.css('max-height', this.options.maxHeight); } if (this.options.minHeight) { this.$editable.css('min-height', this.options.minHeight); } } this.history.recordUndo(); }; Editor.prototype.destroy = function () { this.$editable.off(); }; Editor.prototype.handleKeyMap = function (event) { var keyMap = this.options.keyMap[env.isMac ? 'mac' : 'pc']; var keys = []; if (event.metaKey) { keys.push('CMD'); } if (event.ctrlKey && !event.altKey) { keys.push('CTRL'); } if (event.shiftKey) { keys.push('SHIFT'); } var keyName = key.nameFromCode[event.keyCode]; if (keyName) { keys.push(keyName); } var eventName = keyMap[keys.join('+')]; if (eventName) { if (this.context.invoke(eventName) !== false) { event.preventDefault(); } } else if (key.isEdit(event.keyCode)) { this.afterCommand(); } }; Editor.prototype.preventDefaultEditableShortCuts = function (event) { // B(Bold, 66) / I(Italic, 73) / U(Underline, 85) if ((event.ctrlKey || event.metaKey) && lists.contains([66, 73, 85], event.keyCode)) { event.preventDefault(); } }; Editor.prototype.isLimited = function (pad, event) { pad = pad || 0; if (typeof event !== 'undefined') { if (key.isMove(event.keyCode) || (event.ctrlKey || event.metaKey) || lists.contains([key.code.BACKSPACE, key.code.DELETE], event.keyCode)) { return false; } } if (this.options.maxTextLength > 0) { if ((this.$editable.text().length + pad) >= this.options.maxTextLength) { return true; } } return false; }; /** * create range * @return {WrappedRange} */ Editor.prototype.createRange = function () { this.focus(); return range.create(this.editable); }; /** * saveRange * * save current range * * @param {Boolean} [thenCollapse=false] */ Editor.prototype.saveRange = function (thenCollapse) { this.lastRange = this.createRange(); if (thenCollapse) { this.lastRange.collapse().select(); } }; /** * restoreRange * * restore lately range */ Editor.prototype.restoreRange = function () { if (this.lastRange) { this.lastRange.select(); this.focus(); } }; Editor.prototype.saveTarget = function (node) { this.$editable.data('target', node); }; Editor.prototype.clearTarget = function () { this.$editable.removeData('target'); }; Editor.prototype.restoreTarget = function () { return this.$editable.data('target'); }; /** * currentStyle * * current style * @return {Object|Boolean} unfocus */ Editor.prototype.currentStyle = function () { var rng = range.create(); if (rng) { rng = rng.normalize(); } return rng ? this.style.current(rng) : this.style.fromNode(this.$editable); }; /** * style from node * * @param {jQuery} $node * @return {Object} */ Editor.prototype.styleFromNode = function ($node) { return this.style.fromNode($node); }; /** * undo */ Editor.prototype.undo = function () { this.context.triggerEvent('before.command', this.$editable.html()); this.history.undo(); this.context.triggerEvent('change', this.$editable.html()); }; /** * redo */ Editor.prototype.redo = function () { this.context.triggerEvent('before.command', this.$editable.html()); this.history.redo(); this.context.triggerEvent('change', this.$editable.html()); }; /** * before command */ Editor.prototype.beforeCommand = function () { this.context.triggerEvent('before.command', this.$editable.html()); // keep focus on editable before command execution this.focus(); }; /** * after command * @param {Boolean} isPreventTrigger */ Editor.prototype.afterCommand = function (isPreventTrigger) { this.normalizeContent(); this.history.recordUndo(); if (!isPreventTrigger) { this.context.triggerEvent('change', this.$editable.html()); } }; /** * handle tab key */ Editor.prototype.tab = function () { var rng = this.createRange(); if (rng.isCollapsed() && rng.isOnCell()) { this.table.tab(rng); } else { if (this.options.tabSize === 0) { return false; } if (!this.isLimited(this.options.tabSize)) { this.beforeCommand(); this.typing.insertTab(rng, this.options.tabSize); this.afterCommand(); } } }; /** * handle shift+tab key */ Editor.prototype.untab = function () { var rng = this.createRange(); if (rng.isCollapsed() && rng.isOnCell()) { this.table.tab(rng, true); } else { if (this.options.tabSize === 0) { return false; } } }; /** * run given function between beforeCommand and afterCommand */ Editor.prototype.wrapCommand = function (fn) { var _this = this; return function () { _this.beforeCommand(); fn.apply(_this, arguments); _this.afterCommand(); }; }; /** * insert image * * @param {String} src * @param {String|Function} param * @return {Promise} */ Editor.prototype.insertImage = function (src, param) { var _this = this; return createImage(src, param).then(function ($image) { _this.beforeCommand(); if (typeof param === 'function') { param($image); } else { if (typeof param === 'string') { $image.attr('data-filename', param); } $image.css('width', Math.min(_this.$editable.width(), $image.width())); } $image.show(); range.create(_this.editable).insertNode($image[0]); range.createFromNodeAfter($image[0]).select(); _this.afterCommand(); }).fail(function (e) { _this.context.triggerEvent('image.upload.error', e); }); }; /** * insertImages * @param {File[]} files */ Editor.prototype.insertImages = function (files) { var _this = this; $$1.each(files, function (idx, file) { var filename = file.name; if (_this.options.maximumImageFileSize && _this.options.maximumImageFileSize < file.size) { _this.context.triggerEvent('image.upload.error', _this.lang.image.maximumFileSizeError); } else { readFileAsDataURL(file).then(function (dataURL) { return _this.insertImage(dataURL, filename); }).fail(function () { _this.context.triggerEvent('image.upload.error'); }); } }); }; /** * insertImagesOrCallback * @param {File[]} files */ Editor.prototype.insertImagesOrCallback = function (files) { var callbacks = this.options.callbacks; // If onImageUpload this.options setted if (callbacks.onImageUpload) { this.context.triggerEvent('image.upload', files); // else insert Image as dataURL } else { this.insertImages(files); } }; /** * return selected plain text * @return {String} text */ Editor.prototype.getSelectedText = function () { var rng = this.createRange(); // if range on anchor, expand range with anchor if (rng.isOnAnchor()) { rng = range.createFromNode(dom.ancestor(rng.sc, dom.isAnchor)); } return rng.toString(); }; Editor.prototype.onFormatBlock = function (tagName, $target) { // [workaround] for MSIE, IE need `<` tagName = env.isMSIE ? '<' + tagName + '>' : tagName; document.execCommand('FormatBlock', false, tagName); // support custom class if ($target && $target.length) { var className = $target[0].className || ''; if (className) { var currentRange = this.createRange(); var $parent = $$1([currentRange.sc, currentRange.ec]).closest(tagName); $parent.addClass(className); } } }; Editor.prototype.formatPara = function () { this.formatBlock('P'); }; Editor.prototype.fontStyling = function (target, value) { var rng = this.createRange(); if (rng) { var spans = this.style.styleNodes(rng); $$1(spans).css(target, value); // [workaround] added styled bogus span for style // - also bogus character needed for cursor position if (rng.isCollapsed()) { var firstSpan = lists.head(spans); if (firstSpan && !dom.nodeLength(firstSpan)) { firstSpan.innerHTML = dom.ZERO_WIDTH_NBSP_CHAR; range.createFromNodeAfter(firstSpan.firstChild).select(); this.$editable.data(KEY_BOGUS, firstSpan); } } } }; /** * unlink * * @type command */ Editor.prototype.unlink = function () { var rng = this.createRange(); if (rng.isOnAnchor()) { var anchor = dom.ancestor(rng.sc, dom.isAnchor); rng = range.createFromNode(anchor); rng.select(); this.beforeCommand(); document.execCommand('unlink'); this.afterCommand(); } }; /** * returns link info * * @return {Object} * @return {WrappedRange} return.range * @return {String} return.text * @return {Boolean} [return.isNewWindow=true] * @return {String} [return.url=""] */ Editor.prototype.getLinkInfo = function () { var rng = this.createRange().expand(dom.isAnchor); // Get the first anchor on range(for edit). var $anchor = $$1(lists.head(rng.nodes(dom.isAnchor))); var linkInfo = { range: rng, text: rng.toString(), url: $anchor.length ? $anchor.attr('href') : '' }; // Define isNewWindow when anchor exists. if ($anchor.length) { linkInfo.isNewWindow = $anchor.attr('target') === '_blank'; } return linkInfo; }; Editor.prototype.addRow = function (position) { var rng = this.createRange(this.$editable); if (rng.isCollapsed() && rng.isOnCell()) { this.beforeCommand(); this.table.addRow(rng, position); this.afterCommand(); } }; Editor.prototype.addCol = function (position) { var rng = this.createRange(this.$editable); if (rng.isCollapsed() && rng.isOnCell()) { this.beforeCommand(); this.table.addCol(rng, position); this.afterCommand(); } }; Editor.prototype.deleteRow = function () { var rng = this.createRange(this.$editable); if (rng.isCollapsed() && rng.isOnCell()) { this.beforeCommand(); this.table.deleteRow(rng); this.afterCommand(); } }; Editor.prototype.deleteCol = function () { var rng = this.createRange(this.$editable); if (rng.isCollapsed() && rng.isOnCell()) { this.beforeCommand(); this.table.deleteCol(rng); this.afterCommand(); } }; Editor.prototype.deleteTable = function () { var rng = this.createRange(this.$editable); if (rng.isCollapsed() && rng.isOnCell()) { this.beforeCommand(); this.table.deleteTable(rng); this.afterCommand(); } }; /** * @param {Position} pos * @param {jQuery} $target - target element * @param {Boolean} [bKeepRatio] - keep ratio */ Editor.prototype.resizeTo = function (pos, $target, bKeepRatio) { var imageSize; if (bKeepRatio) { var newRatio = pos.y / pos.x; var ratio = $target.data('ratio'); imageSize = { width: ratio > newRatio ? pos.x : pos.y / ratio, height: ratio > newRatio ? pos.x * ratio : pos.y }; } else { imageSize = { width: pos.x, height: pos.y }; } $target.css(imageSize); }; /** * returns whether editable area has focus or not. */ Editor.prototype.hasFocus = function () { return this.$editable.is(':focus'); }; /** * set focus */ Editor.prototype.focus = function () { // [workaround] Screen will move when page is scolled in IE. // - do focus when not focused if (!this.hasFocus()) { this.$editable.focus(); } }; /** * returns whether contents is empty or not. * @return {Boolean} */ Editor.prototype.isEmpty = function () { return dom.isEmpty(this.$editable[0]) || dom.emptyPara === this.$editable.html(); }; /** * Removes all contents and restores the editable instance to an _emptyPara_. */ Editor.prototype.empty = function () { this.context.invoke('code', dom.emptyPara); }; /** * normalize content */ Editor.prototype.normalizeContent = function () { this.$editable[0].normalize(); }; return Editor; }()); var Clipboard = /** @class */ (function () { function Clipboard(context) { this.context = context; this.$editable = context.layoutInfo.editable; } Clipboard.prototype.initialize = function () { this.$editable.on('paste', this.pasteByEvent.bind(this)); }; /** * paste by clipboard event * * @param {Event} event */ Clipboard.prototype.pasteByEvent = function (event) { var clipboardData = event.originalEvent.clipboardData; if (clipboardData && clipboardData.items && clipboardData.items.length) { var item = lists.head(clipboardData.items); if (item.kind === 'file' && item.type.indexOf('image/') !== -1) { this.context.invoke('editor.insertImagesOrCallback', [item.getAsFile()]); } this.context.invoke('editor.afterCommand'); } }; return Clipboard; }()); var Dropzone = /** @class */ (function () { function Dropzone(context) { this.context = context; this.$eventListener = $$1(document); this.$editor = context.layoutInfo.editor; this.$editable = context.layoutInfo.editable; this.options = context.options; this.lang = this.options.langInfo; this.documentEventHandlers = {}; this.$dropzone = $$1([ '<div class="note-dropzone">', ' <div class="note-dropzone-message"/>', '</div>' ].join('')).prependTo(this.$editor); } /** * attach Drag and Drop Events */ Dropzone.prototype.initialize = function () { if (this.options.disableDragAndDrop) { // prevent default drop event this.documentEventHandlers.onDrop = function (e) { e.preventDefault(); }; // do not consider outside of dropzone this.$eventListener = this.$dropzone; this.$eventListener.on('drop', this.documentEventHandlers.onDrop); } else { this.attachDragAndDropEvent(); } }; /** * attach Drag and Drop Events */ Dropzone.prototype.attachDragAndDropEvent = function () { var _this = this; var collection = $$1(); var $dropzoneMessage = this.$dropzone.find('.note-dropzone-message'); this.documentEventHandlers.onDragenter = function (e) { var isCodeview = _this.context.invoke('codeview.isActivated'); var hasEditorSize = _this.$editor.width() > 0 && _this.$editor.height() > 0; if (!isCodeview && !collection.length && hasEditorSize) { _this.$editor.addClass('dragover'); _this.$dropzone.width(_this.$editor.width()); _this.$dropzone.height(_this.$editor.height()); $dropzoneMessage.text(_this.lang.image.dragImageHere); } collection = collection.add(e.target); }; this.documentEventHandlers.onDragleave = function (e) { collection = collection.not(e.target); if (!collection.length) { _this.$editor.removeClass('dragover'); } }; this.documentEventHandlers.onDrop = function () { collection = $$1(); _this.$editor.removeClass('dragover'); }; // show dropzone on dragenter when dragging a object to document // -but only if the editor is visible, i.e. has a positive width and height this.$eventListener.on('dragenter', this.documentEventHandlers.onDragenter) .on('dragleave', this.documentEventHandlers.onDragleave) .on('drop', this.documentEventHandlers.onDrop); // change dropzone's message on hover. this.$dropzone.on('dragenter', function () { _this.$dropzone.addClass('hover'); $dropzoneMessage.text(_this.lang.image.dropImage); }).on('dragleave', function () { _this.$dropzone.removeClass('hover'); $dropzoneMessage.text(_this.lang.image.dragImageHere); }); // attach dropImage this.$dropzone.on('drop', function (event) { var dataTransfer = event.originalEvent.dataTransfer; // stop the browser from opening the dropped content event.preventDefault(); if (dataTransfer && dataTransfer.files && dataTransfer.files.length) { _this.$editable.focus(); _this.context.invoke('editor.insertImagesOrCallback', dataTransfer.files); } else { $$1.each(dataTransfer.types, function (idx, type) { var content = dataTransfer.getData(type); if (type.toLowerCase().indexOf('text') > -1) { _this.context.invoke('editor.pasteHTML', content); } else { $$1(content).each(function (idx, item) { _this.context.invoke('editor.insertNode', item); }); } }); } }).on('dragover', false); // prevent default dragover event }; Dropzone.prototype.destroy = function () { var _this = this; Object.keys(this.documentEventHandlers).forEach(function (key) { _this.$eventListener.off(key.substr(2).toLowerCase(), _this.documentEventHandlers[key]); }); this.documentEventHandlers = {}; }; return Dropzone; }()); var CodeMirror; if (env.hasCodeMirror) { if (env.isSupportAmd) { require(['codemirror'], function (cm) { CodeMirror = cm; }); } else { CodeMirror = window.CodeMirror; } } /** * @class Codeview */ var CodeView = /** @class */ (function () { function CodeView(context) { this.context = context; this.$editor = context.layoutInfo.editor; this.$editable = context.layoutInfo.editable; this.$codable = context.layoutInfo.codable; this.options = context.options; } CodeView.prototype.sync = function () { var isCodeview = this.isActivated(); if (isCodeview && env.hasCodeMirror) { this.$codable.data('cmEditor').save(); } }; /** * @return {Boolean} */ CodeView.prototype.isActivated = function () { return this.$editor.hasClass('codeview'); }; /** * toggle codeview */ CodeView.prototype.toggle = function () { if (this.isActivated()) { this.deactivate(); } else { this.activate(); } this.context.triggerEvent('codeview.toggled'); }; /** * activate code view */ CodeView.prototype.activate = function () { var _this = this; this.$codable.val(dom.html(this.$editable, this.options.prettifyHtml)); this.$codable.height(this.$editable.height()); this.context.invoke('toolbar.updateCodeview', true); this.$editor.addClass('codeview'); this.$codable.focus(); // activate CodeMirror as codable if (env.hasCodeMirror) { var cmEditor_1 = CodeMirror.fromTextArea(this.$codable[0], this.options.codemirror); // CodeMirror TernServer if (this.options.codemirror.tern) { var server_1 = new CodeMirror.TernServer(this.options.codemirror.tern); cmEditor_1.ternServer = server_1; cmEditor_1.on('cursorActivity', function (cm) { server_1.updateArgHints(cm); }); } cmEditor_1.on('blur', function (event) { _this.context.triggerEvent('blur.codeview', cmEditor_1.getValue(), event); }); // CodeMirror hasn't Padding. cmEditor_1.setSize(null, this.$editable.outerHeight()); this.$codable.data('cmEditor', cmEditor_1); } else { this.$codable.on('blur', function (event) { _this.context.triggerEvent('blur.codeview', _this.$codable.val(), event); }); } }; /** * deactivate code view */ CodeView.prototype.deactivate = function () { // deactivate CodeMirror as codable if (env.hasCodeMirror) { var cmEditor = this.$codable.data('cmEditor'); this.$codable.val(cmEditor.getValue()); cmEditor.toTextArea(); } var value = dom.value(this.$codable, this.options.prettifyHtml) || dom.emptyPara; var isChange = this.$editable.html() !== value; this.$editable.html(value); this.$editable.height(this.options.height ? this.$codable.height() : 'auto'); this.$editor.removeClass('codeview'); if (isChange) { this.context.triggerEvent('change', this.$editable.html(), this.$editable); } this.$editable.focus(); this.context.invoke('toolbar.updateCodeview', false); }; CodeView.prototype.destroy = function () { if (this.isActivated()) { this.deactivate(); } }; return CodeView; }()); var EDITABLE_PADDING = 24; var Statusbar = /** @class */ (function () { function Statusbar(context) { this.$document = $$1(document); this.$statusbar = context.layoutInfo.statusbar; this.$editable = context.layoutInfo.editable; this.options = context.options; } Statusbar.prototype.initialize = function () { var _this = this; if (this.options.airMode || this.options.disableResizeEditor) { this.destroy(); return; } this.$statusbar.on('mousedown', function (event) { event.preventDefault(); event.stopPropagation(); var editableTop = _this.$editable.offset().top - _this.$document.scrollTop(); var onMouseMove = function (event) { var height = event.clientY - (editableTop + EDITABLE_PADDING); height = (_this.options.minheight > 0) ? Math.max(height, _this.options.minheight) : height; height = (_this.options.maxHeight > 0) ? Math.min(height, _this.options.maxHeight) : height; _this.$editable.height(height); }; _this.$document.on('mousemove', onMouseMove).one('mouseup', function () { _this.$document.off('mousemove', onMouseMove); }); }); }; Statusbar.prototype.destroy = function () { this.$statusbar.off(); this.$statusbar.addClass('locked'); }; return Statusbar; }()); var Fullscreen = /** @class */ (function () { function Fullscreen(context) { var _this = this; this.context = context; this.$editor = context.layoutInfo.editor; this.$toolbar = context.layoutInfo.toolbar; this.$editable = context.layoutInfo.editable; this.$codable = context.layoutInfo.codable; this.$window = $$1(window); this.$scrollbar = $$1('html, body'); this.onResize = function () { _this.resizeTo({ h: _this.$window.height() - _this.$toolbar.outerHeight() }); }; } Fullscreen.prototype.resizeTo = function (size) { this.$editable.css('height', size.h); this.$codable.css('height', size.h); if (this.$codable.data('cmeditor')) { this.$codable.data('cmeditor').setsize(null, size.h); } }; /** * toggle fullscreen */ Fullscreen.prototype.toggle = function () { this.$editor.toggleClass('fullscreen'); if (this.isFullscreen()) { this.$editable.data('orgHeight', this.$editable.css('height')); this.$window.on('resize', this.onResize).trigger('resize'); this.$scrollbar.css('overflow', 'hidden'); } else { this.$window.off('resize', this.onResize); this.resizeTo({ h: this.$editable.data('orgHeight') }); this.$scrollbar.css('overflow', 'visible'); } this.context.invoke('toolbar.updateFullscreen', this.isFullscreen()); }; Fullscreen.prototype.isFullscreen = function () { return this.$editor.hasClass('fullscreen'); }; return Fullscreen; }()); var Handle = /** @class */ (function () { function Handle(context) { var _this = this; this.context = context; this.$document = $$1(document); this.$editingArea = context.layoutInfo.editingArea; this.options = context.options; this.lang = this.options.langInfo; this.events = { 'summernote.mousedown': function (we, e) { if (_this.update(e.target)) { e.preventDefault(); } }, 'summernote.keyup summernote.scroll summernote.change summernote.dialog.shown': function () { _this.update(); }, 'summernote.disable': function () { _this.hide(); }, 'summernote.codeview.toggled': function () { _this.update(); } }; } Handle.prototype.initialize = function () { var _this = this; this.$handle = $$1([ '<div class="note-handle">', '<div class="note-control-selection">', '<div class="note-control-selection-bg"></div>', '<div class="note-control-holder note-control-nw"></div>', '<div class="note-control-holder note-control-ne"></div>', '<div class="note-control-holder note-control-sw"></div>', '<div class="', (this.options.disableResizeImage ? 'note-control-holder' : 'note-control-sizing'), ' note-control-se"></div>', (this.options.disableResizeImage ? '' : '<div class="note-control-selection-info"></div>'), '</div>', '</div>' ].join('')).prependTo(this.$editingArea); this.$handle.on('mousedown', function (event) { if (dom.isControlSizing(event.target)) { event.preventDefault(); event.stopPropagation(); var $target_1 = _this.$handle.find('.note-control-selection').data('target'); var posStart_1 = $target_1.offset(); var scrollTop_1 = _this.$document.scrollTop(); var onMouseMove_1 = function (event) { _this.context.invoke('editor.resizeTo', { x: event.clientX - posStart_1.left, y: event.clientY - (posStart_1.top - scrollTop_1) }, $target_1, !event.shiftKey); _this.update($target_1[0]); }; _this.$document .on('mousemove', onMouseMove_1) .one('mouseup', function (e) { e.preventDefault(); _this.$document.off('mousemove', onMouseMove_1); _this.context.invoke('editor.afterCommand'); }); if (!$target_1.data('ratio')) { $target_1.data('ratio', $target_1.height() / $target_1.width()); } } }); // Listen for scrolling on the handle overlay. this.$handle.on('wheel', function (e) { e.preventDefault(); _this.update(); }); }; Handle.prototype.destroy = function () { this.$handle.remove(); }; Handle.prototype.update = function (target) { if (this.context.isDisabled()) { return false; } var isImage = dom.isImg(target); var $selection = this.$handle.find('.note-control-selection'); this.context.invoke('imagePopover.update', target); if (isImage) { var $image = $$1(target); var position = $image.position(); var pos = { left: position.left + parseInt($image.css('marginLeft'), 10), top: position.top + parseInt($image.css('marginTop'), 10) }; // exclude margin var imageSize = { w: $image.outerWidth(false), h: $image.outerHeight(false) }; $selection.css({ display: 'block', left: pos.left, top: pos.top, width: imageSize.w, height: imageSize.h }).data('target', $image); // save current image element. var origImageObj = new Image(); origImageObj.src = $image.attr('src'); var sizingText = imageSize.w + 'x' + imageSize.h + ' (' + this.lang.image.original + ': ' + origImageObj.width + 'x' + origImageObj.height + ')'; $selection.find('.note-control-selection-info').text(sizingText); this.context.invoke('editor.saveTarget', target); } else { this.hide(); } return isImage; }; /** * hide * * @param {jQuery} $handle */ Handle.prototype.hide = function () { this.context.invoke('editor.clearTarget'); this.$handle.children().hide(); }; return Handle; }()); var defaultScheme = 'http://'; var linkPattern = /^([A-Za-z][A-Za-z0-9+-.]*\:[\/\/]?|mailto:[A-Z0-9._%+-]+@)?(www\.)?(.+)$/i; var AutoLink = /** @class */ (function () { function AutoLink(context) { var _this = this; this.context = context; this.events = { 'summernote.keyup': function (we, e) { if (!e.isDefaultPrevented()) { _this.handleKeyup(e); } }, 'summernote.keydown': function (we, e) { _this.handleKeydown(e); } }; } AutoLink.prototype.initialize = function () { this.lastWordRange = null; }; AutoLink.prototype.destroy = function () { this.lastWordRange = null; }; AutoLink.prototype.replace = function () { if (!this.lastWordRange) { return; } var keyword = this.lastWordRange.toString(); var match = keyword.match(linkPattern); if (match && (match[1] || match[2])) { var link = match[1] ? keyword : defaultScheme + keyword; var node = $$1('<a />').html(keyword).attr('href', link)[0]; this.lastWordRange.insertNode(node); this.lastWordRange = null; this.context.invoke('editor.focus'); } }; AutoLink.prototype.handleKeydown = function (e) { if (lists.contains([key.code.ENTER, key.code.SPACE], e.keyCode)) { var wordRange = this.context.invoke('editor.createRange').getWordRange(); this.lastWordRange = wordRange; } }; AutoLink.prototype.handleKeyup = function (e) { if (lists.contains([key.code.ENTER, key.code.SPACE], e.keyCode)) { this.replace(); } }; return AutoLink; }()); /** * textarea auto sync. */ var AutoSync = /** @class */ (function () { function AutoSync(context) { var _this = this; this.$note = context.layoutInfo.note; this.events = { 'summernote.change': function () { _this.$note.val(context.invoke('code')); } }; } AutoSync.prototype.shouldInitialize = function () { return dom.isTextarea(this.$note[0]); }; return AutoSync; }()); var Placeholder = /** @class */ (function () { function Placeholder(context) { var _this = this; this.context = context; this.$editingArea = context.layoutInfo.editingArea; this.options = context.options; this.events = { 'summernote.init summernote.change': function () { _this.update(); }, 'summernote.codeview.toggled': function () { _this.update(); } }; } Placeholder.prototype.shouldInitialize = function () { return !!this.options.placeholder; }; Placeholder.prototype.initialize = function () { var _this = this; this.$placeholder = $$1('<div class="note-placeholder">'); this.$placeholder.on('click', function () { _this.context.invoke('focus'); }).text(this.options.placeholder).prependTo(this.$editingArea); this.update(); }; Placeholder.prototype.destroy = function () { this.$placeholder.remove(); }; Placeholder.prototype.update = function () { var isShow = !this.context.invoke('codeview.isActivated') && this.context.invoke('editor.isEmpty'); this.$placeholder.toggle(isShow); }; return Placeholder; }()); var Buttons = /** @class */ (function () { function Buttons(context) { this.ui = $$1.summernote.ui; this.context = context; this.$toolbar = context.layoutInfo.toolbar; this.options = context.options; this.lang = this.options.langInfo; this.invertedKeyMap = func.invertObject(this.options.keyMap[env.isMac ? 'mac' : 'pc']); } Buttons.prototype.representShortcut = function (editorMethod) { var shortcut = this.invertedKeyMap[editorMethod]; if (!this.options.shortcuts || !shortcut) { return ''; } if (env.isMac) { shortcut = shortcut.replace('CMD', '⌘').replace('SHIFT', '⇧'); } shortcut = shortcut.replace('BACKSLASH', '\\') .replace('SLASH', '/') .replace('LEFTBRACKET', '[') .replace('RIGHTBRACKET', ']'); return ' (' + shortcut + ')'; }; Buttons.prototype.button = function (o) { if (!this.options.tooltip && o.tooltip) { delete o.tooltip; } o.container = this.options.container; return this.ui.button(o); }; Buttons.prototype.initialize = function () { this.addToolbarButtons(); this.addImagePopoverButtons(); this.addLinkPopoverButtons(); this.addTablePopoverButtons(); this.fontInstalledMap = {}; }; Buttons.prototype.destroy = function () { delete this.fontInstalledMap; }; Buttons.prototype.isFontInstalled = function (name) { if (!this.fontInstalledMap.hasOwnProperty(name)) { this.fontInstalledMap[name] = env.isFontInstalled(name) || lists.contains(this.options.fontNamesIgnoreCheck, name); } return this.fontInstalledMap[name]; }; Buttons.prototype.isFontDeservedToAdd = function (name) { var genericFamilies = ['sans-serif', 'serif', 'monospace', 'cursive', 'fantasy']; name = name.toLowerCase(); return ((name !== '') && this.isFontInstalled(name) && ($$1.inArray(name, genericFamilies) === -1)); }; Buttons.prototype.addToolbarButtons = function () { var _this = this; this.context.memo('button.style', function () { return _this.ui.buttonGroup([ _this.button({ className: 'dropdown-toggle', contents: _this.ui.dropdownButtonContents(_this.ui.icon(_this.options.icons.magic), _this.options), tooltip: _this.lang.style.style, data: { toggle: 'dropdown' } }), _this.ui.dropdown({ className: 'dropdown-style', items: _this.options.styleTags, title: _this.lang.style.style, template: function (item) { if (typeof item === 'string') { item = { tag: item, title: (_this.lang.style.hasOwnProperty(item) ? _this.lang.style[item] : item) }; } var tag = item.tag; var title = item.title; var style = item.style ? ' style="' + item.style + '" ' : ''; var className = item.className ? ' class="' + item.className + '"' : ''; return '<' + tag + style + className + '>' + title + '</' + tag + '>'; }, click: _this.context.createInvokeHandler('editor.formatBlock') }) ]).render(); }); var _loop_1 = function (styleIdx, styleLen) { var item = this_1.options.styleTags[styleIdx]; this_1.context.memo('button.style.' + item, function () { return _this.button({ className: 'note-btn-style-' + item, contents: '<div data-value="' + item + '">' + item.toUpperCase() + '</div>', tooltip: _this.lang.style[item], click: _this.context.createInvokeHandler('editor.formatBlock') }).render(); }); }; var this_1 = this; for (var styleIdx = 0, styleLen = this.options.styleTags.length; styleIdx < styleLen; styleIdx++) { _loop_1(styleIdx, styleLen); } this.context.memo('button.bold', function () { return _this.button({ className: 'note-btn-bold', contents: _this.ui.icon(_this.options.icons.bold), tooltip: _this.lang.font.bold + _this.representShortcut('bold'), click: _this.context.createInvokeHandlerAndUpdateState('editor.bold') }).render(); }); this.context.memo('button.italic', function () { return _this.button({ className: 'note-btn-italic', contents: _this.ui.icon(_this.options.icons.italic), tooltip: _this.lang.font.italic + _this.representShortcut('italic'), click: _this.context.createInvokeHandlerAndUpdateState('editor.italic') }).render(); }); this.context.memo('button.underline', function () { return _this.button({ className: 'note-btn-underline', contents: _this.ui.icon(_this.options.icons.underline), tooltip: _this.lang.font.underline + _this.representShortcut('underline'), click: _this.context.createInvokeHandlerAndUpdateState('editor.underline') }).render(); }); this.context.memo('button.clear', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.eraser), tooltip: _this.lang.font.clear + _this.representShortcut('removeFormat'), click: _this.context.createInvokeHandler('editor.removeFormat') }).render(); }); this.context.memo('button.strikethrough', function () { return _this.button({ className: 'note-btn-strikethrough', contents: _this.ui.icon(_this.options.icons.strikethrough), tooltip: _this.lang.font.strikethrough + _this.representShortcut('strikethrough'), click: _this.context.createInvokeHandlerAndUpdateState('editor.strikethrough') }).render(); }); this.context.memo('button.superscript', function () { return _this.button({ className: 'note-btn-superscript', contents: _this.ui.icon(_this.options.icons.superscript), tooltip: _this.lang.font.superscript, click: _this.context.createInvokeHandlerAndUpdateState('editor.superscript') }).render(); }); this.context.memo('button.subscript', function () { return _this.button({ className: 'note-btn-subscript', contents: _this.ui.icon(_this.options.icons.subscript), tooltip: _this.lang.font.subscript, click: _this.context.createInvokeHandlerAndUpdateState('editor.subscript') }).render(); }); this.context.memo('button.fontname', function () { var styleInfo = _this.context.invoke('editor.currentStyle'); // Add 'default' fonts into the fontnames array if not exist $$1.each(styleInfo['font-family'].split(','), function (idx, fontname) { fontname = fontname.trim().replace(/['"]+/g, ''); if (_this.isFontDeservedToAdd(fontname)) { if ($$1.inArray(fontname, _this.options.fontNames) === -1) { _this.options.fontNames.push(fontname); } } }); return _this.ui.buttonGroup([ _this.button({ className: 'dropdown-toggle', contents: _this.ui.dropdownButtonContents('<span class="note-current-fontname"/>', _this.options), tooltip: _this.lang.font.name, data: { toggle: 'dropdown' } }), _this.ui.dropdownCheck({ className: 'dropdown-fontname', checkClassName: _this.options.icons.menuCheck, items: _this.options.fontNames.filter(_this.isFontInstalled.bind(_this)), title: _this.lang.font.name, template: function (item) { return '<span style="font-family: \'' + item + '\'">' + item + '</span>'; }, click: _this.context.createInvokeHandlerAndUpdateState('editor.fontName') }) ]).render(); }); this.context.memo('button.fontsize', function () { return _this.ui.buttonGroup([ _this.button({ className: 'dropdown-toggle', contents: _this.ui.dropdownButtonContents('<span class="note-current-fontsize"/>', _this.options), tooltip: _this.lang.font.size, data: { toggle: 'dropdown' } }), _this.ui.dropdownCheck({ className: 'dropdown-fontsize', checkClassName: _this.options.icons.menuCheck, items: _this.options.fontSizes, title: _this.lang.font.size, click: _this.context.createInvokeHandlerAndUpdateState('editor.fontSize') }) ]).render(); }); this.context.memo('button.color', function () { return _this.ui.buttonGroup({ className: 'note-color', children: [ _this.button({ className: 'note-current-color-button', contents: _this.ui.icon(_this.options.icons.font + ' note-recent-color'), tooltip: _this.lang.color.recent, click: function (e) { var $button = $$1(e.currentTarget); _this.context.invoke('editor.color', { backColor: $button.attr('data-backColor'), foreColor: $button.attr('data-foreColor') }); }, callback: function ($button) { var $recentColor = $button.find('.note-recent-color'); $recentColor.css('background-color', '#FFFF00'); $button.attr('data-backColor', '#FFFF00'); } }), _this.button({ className: 'dropdown-toggle', contents: _this.ui.dropdownButtonContents('', _this.options), tooltip: _this.lang.color.more, data: { toggle: 'dropdown' } }), _this.ui.dropdown({ items: [ '<div class="note-palette">', ' <div class="note-palette-title">' + _this.lang.color.background + '</div>', ' <div>', ' <button type="button" class="note-color-reset btn btn-light" data-event="backColor" data-value="inherit">', _this.lang.color.transparent, ' </button>', ' </div>', ' <div class="note-holder" data-event="backColor"/>', '</div>', '<div class="note-palette">', ' <div class="note-palette-title">' + _this.lang.color.foreground + '</div>', ' <div>', ' <button type="button" class="note-color-reset btn btn-light" data-event="removeFormat" data-value="foreColor">', _this.lang.color.resetToDefault, ' </button>', ' </div>', ' <div class="note-holder" data-event="foreColor"/>', '</div>' ].join(''), callback: function ($dropdown) { $dropdown.find('.note-holder').each(function (idx, item) { var $holder = $$1(item); $holder.append(_this.ui.palette({ colors: _this.options.colors, colorsName: _this.options.colorsName, eventName: $holder.data('event'), container: _this.options.container, tooltip: _this.options.tooltip }).render()); }); }, click: function (event) { var $button = $$1(event.target); var eventName = $button.data('event'); var value = $button.data('value'); if (eventName && value) { var key = eventName === 'backColor' ? 'background-color' : 'color'; var $color = $button.closest('.note-color').find('.note-recent-color'); var $currentButton = $button.closest('.note-color').find('.note-current-color-button'); $color.css(key, value); $currentButton.attr('data-' + eventName, value); _this.context.invoke('editor.' + eventName, value); } } }) ] }).render(); }); this.context.memo('button.ul', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.unorderedlist), tooltip: _this.lang.lists.unordered + _this.representShortcut('insertUnorderedList'), click: _this.context.createInvokeHandler('editor.insertUnorderedList') }).render(); }); this.context.memo('button.ol', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.orderedlist), tooltip: _this.lang.lists.ordered + _this.representShortcut('insertOrderedList'), click: _this.context.createInvokeHandler('editor.insertOrderedList') }).render(); }); var justifyLeft = this.button({ contents: this.ui.icon(this.options.icons.alignLeft), tooltip: this.lang.paragraph.left + this.representShortcut('justifyLeft'), click: this.context.createInvokeHandler('editor.justifyLeft') }); var justifyCenter = this.button({ contents: this.ui.icon(this.options.icons.alignCenter), tooltip: this.lang.paragraph.center + this.representShortcut('justifyCenter'), click: this.context.createInvokeHandler('editor.justifyCenter') }); var justifyRight = this.button({ contents: this.ui.icon(this.options.icons.alignRight), tooltip: this.lang.paragraph.right + this.representShortcut('justifyRight'), click: this.context.createInvokeHandler('editor.justifyRight') }); var justifyFull = this.button({ contents: this.ui.icon(this.options.icons.alignJustify), tooltip: this.lang.paragraph.justify + this.representShortcut('justifyFull'), click: this.context.createInvokeHandler('editor.justifyFull') }); var outdent = this.button({ contents: this.ui.icon(this.options.icons.outdent), tooltip: this.lang.paragraph.outdent + this.representShortcut('outdent'), click: this.context.createInvokeHandler('editor.outdent') }); var indent = this.button({ contents: this.ui.icon(this.options.icons.indent), tooltip: this.lang.paragraph.indent + this.representShortcut('indent'), click: this.context.createInvokeHandler('editor.indent') }); this.context.memo('button.justifyLeft', func.invoke(justifyLeft, 'render')); this.context.memo('button.justifyCenter', func.invoke(justifyCenter, 'render')); this.context.memo('button.justifyRight', func.invoke(justifyRight, 'render')); this.context.memo('button.justifyFull', func.invoke(justifyFull, 'render')); this.context.memo('button.outdent', func.invoke(outdent, 'render')); this.context.memo('button.indent', func.invoke(indent, 'render')); this.context.memo('button.paragraph', function () { return _this.ui.buttonGroup([ _this.button({ className: 'dropdown-toggle', contents: _this.ui.dropdownButtonContents(_this.ui.icon(_this.options.icons.alignLeft), _this.options), tooltip: _this.lang.paragraph.paragraph, data: { toggle: 'dropdown' } }), _this.ui.dropdown([ _this.ui.buttonGroup({ className: 'note-align', children: [justifyLeft, justifyCenter, justifyRight, justifyFull] }), _this.ui.buttonGroup({ className: 'note-list', children: [outdent, indent] }) ]) ]).render(); }); this.context.memo('button.height', function () { return _this.ui.buttonGroup([ _this.button({ className: 'dropdown-toggle', contents: _this.ui.dropdownButtonContents(_this.ui.icon(_this.options.icons.textHeight), _this.options), tooltip: _this.lang.font.height, data: { toggle: 'dropdown' } }), _this.ui.dropdownCheck({ items: _this.options.lineHeights, checkClassName: _this.options.icons.menuCheck, className: 'dropdown-line-height', title: _this.lang.font.height, click: _this.context.createInvokeHandler('editor.lineHeight') }) ]).render(); }); this.context.memo('button.table', function () { return _this.ui.buttonGroup([ _this.button({ className: 'dropdown-toggle', contents: _this.ui.dropdownButtonContents(_this.ui.icon(_this.options.icons.table), _this.options), tooltip: _this.lang.table.table, data: { toggle: 'dropdown' } }), _this.ui.dropdown({ title: _this.lang.table.table, className: 'note-table', items: [ '<div class="note-dimension-picker">', ' <div class="note-dimension-picker-mousecatcher" data-event="insertTable" data-value="1x1"/>', ' <div class="note-dimension-picker-highlighted"/>', ' <div class="note-dimension-picker-unhighlighted"/>', '</div>', '<div class="note-dimension-display">1 x 1</div>' ].join('') }) ], { callback: function ($node) { var $catcher = $node.find('.note-dimension-picker-mousecatcher'); $catcher.css({ width: _this.options.insertTableMaxSize.col + 'em', height: _this.options.insertTableMaxSize.row + 'em' }).mousedown(_this.context.createInvokeHandler('editor.insertTable')) .on('mousemove', _this.tableMoveHandler.bind(_this)); } }).render(); }); this.context.memo('button.link', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.link), tooltip: _this.lang.link.link + _this.representShortcut('linkDialog.show'), click: _this.context.createInvokeHandler('linkDialog.show') }).render(); }); this.context.memo('button.picture', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.picture), tooltip: _this.lang.image.image, click: _this.context.createInvokeHandler('imageDialog.show') }).render(); }); this.context.memo('button.video', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.video), tooltip: _this.lang.video.video, click: _this.context.createInvokeHandler('videoDialog.show') }).render(); }); this.context.memo('button.hr', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.minus), tooltip: _this.lang.hr.insert + _this.representShortcut('insertHorizontalRule'), click: _this.context.createInvokeHandler('editor.insertHorizontalRule') }).render(); }); this.context.memo('button.fullscreen', function () { return _this.button({ className: 'btn-fullscreen', contents: _this.ui.icon(_this.options.icons.arrowsAlt), tooltip: _this.lang.options.fullscreen, click: _this.context.createInvokeHandler('fullscreen.toggle') }).render(); }); this.context.memo('button.codeview', function () { return _this.button({ className: 'btn-codeview', contents: _this.ui.icon(_this.options.icons.code), tooltip: _this.lang.options.codeview, click: _this.context.createInvokeHandler('codeview.toggle') }).render(); }); this.context.memo('button.redo', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.redo), tooltip: _this.lang.history.redo + _this.representShortcut('redo'), click: _this.context.createInvokeHandler('editor.redo') }).render(); }); this.context.memo('button.undo', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.undo), tooltip: _this.lang.history.undo + _this.representShortcut('undo'), click: _this.context.createInvokeHandler('editor.undo') }).render(); }); this.context.memo('button.help', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.question), tooltip: _this.lang.options.help, click: _this.context.createInvokeHandler('helpDialog.show') }).render(); }); }; /** * image : [ * ['imagesize', ['imageSize100', 'imageSize50', 'imageSize25']], * ['float', ['floatLeft', 'floatRight', 'floatNone' ]], * ['remove', ['removeMedia']] * ], */ Buttons.prototype.addImagePopoverButtons = function () { var _this = this; // Image Size Buttons this.context.memo('button.imageSize100', function () { return _this.button({ contents: '<span class="note-fontsize-10">100%</span>', tooltip: _this.lang.image.resizeFull, click: _this.context.createInvokeHandler('editor.resize', '1') }).render(); }); this.context.memo('button.imageSize50', function () { return _this.button({ contents: '<span class="note-fontsize-10">50%</span>', tooltip: _this.lang.image.resizeHalf, click: _this.context.createInvokeHandler('editor.resize', '0.5') }).render(); }); this.context.memo('button.imageSize25', function () { return _this.button({ contents: '<span class="note-fontsize-10">25%</span>', tooltip: _this.lang.image.resizeQuarter, click: _this.context.createInvokeHandler('editor.resize', '0.25') }).render(); }); // Float Buttons this.context.memo('button.floatLeft', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.alignLeft), tooltip: _this.lang.image.floatLeft, click: _this.context.createInvokeHandler('editor.floatMe', 'left') }).render(); }); this.context.memo('button.floatRight', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.alignRight), tooltip: _this.lang.image.floatRight, click: _this.context.createInvokeHandler('editor.floatMe', 'right') }).render(); }); this.context.memo('button.floatNone', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.alignJustify), tooltip: _this.lang.image.floatNone, click: _this.context.createInvokeHandler('editor.floatMe', 'none') }).render(); }); // Remove Buttons this.context.memo('button.removeMedia', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.trash), tooltip: _this.lang.image.remove, click: _this.context.createInvokeHandler('editor.removeMedia') }).render(); }); }; Buttons.prototype.addLinkPopoverButtons = function () { var _this = this; this.context.memo('button.linkDialogShow', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.link), tooltip: _this.lang.link.edit, click: _this.context.createInvokeHandler('linkDialog.show') }).render(); }); this.context.memo('button.unlink', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.unlink), tooltip: _this.lang.link.unlink, click: _this.context.createInvokeHandler('editor.unlink') }).render(); }); }; /** * table : [ * ['add', ['addRowDown', 'addRowUp', 'addColLeft', 'addColRight']], * ['delete', ['deleteRow', 'deleteCol', 'deleteTable']] * ], */ Buttons.prototype.addTablePopoverButtons = function () { var _this = this; this.context.memo('button.addRowUp', function () { return _this.button({ className: 'btn-md', contents: _this.ui.icon(_this.options.icons.rowAbove), tooltip: _this.lang.table.addRowAbove, click: _this.context.createInvokeHandler('editor.addRow', 'top') }).render(); }); this.context.memo('button.addRowDown', function () { return _this.button({ className: 'btn-md', contents: _this.ui.icon(_this.options.icons.rowBelow), tooltip: _this.lang.table.addRowBelow, click: _this.context.createInvokeHandler('editor.addRow', 'bottom') }).render(); }); this.context.memo('button.addColLeft', function () { return _this.button({ className: 'btn-md', contents: _this.ui.icon(_this.options.icons.colBefore), tooltip: _this.lang.table.addColLeft, click: _this.context.createInvokeHandler('editor.addCol', 'left') }).render(); }); this.context.memo('button.addColRight', function () { return _this.button({ className: 'btn-md', contents: _this.ui.icon(_this.options.icons.colAfter), tooltip: _this.lang.table.addColRight, click: _this.context.createInvokeHandler('editor.addCol', 'right') }).render(); }); this.context.memo('button.deleteRow', function () { return _this.button({ className: 'btn-md', contents: _this.ui.icon(_this.options.icons.rowRemove), tooltip: _this.lang.table.delRow, click: _this.context.createInvokeHandler('editor.deleteRow') }).render(); }); this.context.memo('button.deleteCol', function () { return _this.button({ className: 'btn-md', contents: _this.ui.icon(_this.options.icons.colRemove), tooltip: _this.lang.table.delCol, click: _this.context.createInvokeHandler('editor.deleteCol') }).render(); }); this.context.memo('button.deleteTable', function () { return _this.button({ className: 'btn-md', contents: _this.ui.icon(_this.options.icons.trash), tooltip: _this.lang.table.delTable, click: _this.context.createInvokeHandler('editor.deleteTable') }).render(); }); }; Buttons.prototype.build = function ($container, groups) { for (var groupIdx = 0, groupLen = groups.length; groupIdx < groupLen; groupIdx++) { var group = groups[groupIdx]; var groupName = $$1.isArray(group) ? group[0] : group; var buttons = $$1.isArray(group) ? ((group.length === 1) ? [group[0]] : group[1]) : [group]; var $group = this.ui.buttonGroup({ className: 'note-' + groupName }).render(); for (var idx = 0, len = buttons.length; idx < len; idx++) { var btn = this.context.memo('button.' + buttons[idx]); if (btn) { $group.append(typeof btn === 'function' ? btn(this.context) : btn); } } $group.appendTo($container); } }; /** * @param {jQuery} [$container] */ Buttons.prototype.updateCurrentStyle = function ($container) { var _this = this; var $cont = $container || this.$toolbar; var styleInfo = this.context.invoke('editor.currentStyle'); this.updateBtnStates($cont, { '.note-btn-bold': function () { return styleInfo['font-bold'] === 'bold'; }, '.note-btn-italic': function () { return styleInfo['font-italic'] === 'italic'; }, '.note-btn-underline': function () { return styleInfo['font-underline'] === 'underline'; }, '.note-btn-subscript': function () { return styleInfo['font-subscript'] === 'subscript'; }, '.note-btn-superscript': function () { return styleInfo['font-superscript'] === 'superscript'; }, '.note-btn-strikethrough': function () { return styleInfo['font-strikethrough'] === 'strikethrough'; } }); if (styleInfo['font-family']) { var fontNames = styleInfo['font-family'].split(',').map(function (name) { return name.replace(/[\'\"]/g, '') .replace(/\s+$/, '') .replace(/^\s+/, ''); }); var fontName_1 = lists.find(fontNames, this.isFontInstalled.bind(this)); $cont.find('.dropdown-fontname a').each(function (idx, item) { var $item = $$1(item); // always compare string to avoid creating another func. var isChecked = ($item.data('value') + '') === (fontName_1 + ''); $item.toggleClass('checked', isChecked); }); $cont.find('.note-current-fontname').text(fontName_1).css('font-family', fontName_1); } if (styleInfo['font-size']) { var fontSize_1 = styleInfo['font-size']; $cont.find('.dropdown-fontsize a').each(function (idx, item) { var $item = $$1(item); // always compare with string to avoid creating another func. var isChecked = ($item.data('value') + '') === (fontSize_1 + ''); $item.toggleClass('checked', isChecked); }); $cont.find('.note-current-fontsize').text(fontSize_1); } if (styleInfo['line-height']) { var lineHeight_1 = styleInfo['line-height']; $cont.find('.dropdown-line-height li a').each(function (idx, item) { // always compare with string to avoid creating another func. var isChecked = ($$1(item).data('value') + '') === (lineHeight_1 + ''); _this.className = isChecked ? 'checked' : ''; }); } }; Buttons.prototype.updateBtnStates = function ($container, infos) { var _this = this; $$1.each(infos, function (selector, pred) { _this.ui.toggleBtnActive($container.find(selector), pred()); }); }; Buttons.prototype.tableMoveHandler = function (event) { var PX_PER_EM = 18; var $picker = $$1(event.target.parentNode); // target is mousecatcher var $dimensionDisplay = $picker.next(); var $catcher = $picker.find('.note-dimension-picker-mousecatcher'); var $highlighted = $picker.find('.note-dimension-picker-highlighted'); var $unhighlighted = $picker.find('.note-dimension-picker-unhighlighted'); var posOffset; // HTML5 with jQuery - e.offsetX is undefined in Firefox if (event.offsetX === undefined) { var posCatcher = $$1(event.target).offset(); posOffset = { x: event.pageX - posCatcher.left, y: event.pageY - posCatcher.top }; } else { posOffset = { x: event.offsetX, y: event.offsetY }; } var dim = { c: Math.ceil(posOffset.x / PX_PER_EM) || 1, r: Math.ceil(posOffset.y / PX_PER_EM) || 1 }; $highlighted.css({ width: dim.c + 'em', height: dim.r + 'em' }); $catcher.data('value', dim.c + 'x' + dim.r); if (dim.c > 3 && dim.c < this.options.insertTableMaxSize.col) { $unhighlighted.css({ width: dim.c + 1 + 'em' }); } if (dim.r > 3 && dim.r < this.options.insertTableMaxSize.row) { $unhighlighted.css({ height: dim.r + 1 + 'em' }); } $dimensionDisplay.html(dim.c + ' x ' + dim.r); }; return Buttons; }()); var Toolbar = /** @class */ (function () { function Toolbar(context) { this.context = context; this.$window = $$1(window); this.$document = $$1(document); this.ui = $$1.summernote.ui; this.$note = context.layoutInfo.note; this.$editor = context.layoutInfo.editor; this.$toolbar = context.layoutInfo.toolbar; this.options = context.options; this.followScroll = this.followScroll.bind(this); } Toolbar.prototype.shouldInitialize = function () { return !this.options.airMode; }; Toolbar.prototype.initialize = function () { var _this = this; this.options.toolbar = this.options.toolbar || []; if (!this.options.toolbar.length) { this.$toolbar.hide(); } else { this.context.invoke('buttons.build', this.$toolbar, this.options.toolbar); } if (this.options.toolbarContainer) { this.$toolbar.appendTo(this.options.toolbarContainer); } this.changeContainer(false); this.$note.on('summernote.keyup summernote.mouseup summernote.change', function () { _this.context.invoke('buttons.updateCurrentStyle'); }); this.context.invoke('buttons.updateCurrentStyle'); if (this.options.followingToolbar) { this.$window.on('scroll resize', this.followScroll); } }; Toolbar.prototype.destroy = function () { this.$toolbar.children().remove(); if (this.options.followingToolbar) { this.$window.off('scroll resize', this.followScroll); } }; Toolbar.prototype.followScroll = function () { if (this.$editor.hasClass('fullscreen')) { return false; } var $toolbarWrapper = this.$toolbar.parent('.note-toolbar-wrapper'); var editorHeight = this.$editor.outerHeight(); var editorWidth = this.$editor.width(); var toolbarHeight = this.$toolbar.height(); $toolbarWrapper.css({ height: toolbarHeight }); // check if the web app is currently using another static bar var otherBarHeight = 0; if (this.options.otherStaticBar) { otherBarHeight = $$1(this.options.otherStaticBar).outerHeight(); } var currentOffset = this.$document.scrollTop(); var editorOffsetTop = this.$editor.offset().top; var editorOffsetBottom = editorOffsetTop + editorHeight; var activateOffset = editorOffsetTop - otherBarHeight; var deactivateOffsetBottom = editorOffsetBottom - otherBarHeight - toolbarHeight; if ((currentOffset > activateOffset) && (currentOffset < deactivateOffsetBottom)) { this.$toolbar.css({ position: 'fixed', top: otherBarHeight, width: editorWidth }); } else { this.$toolbar.css({ position: 'relative', top: 0, width: '100%' }); } }; Toolbar.prototype.changeContainer = function (isFullscreen) { if (isFullscreen) { this.$toolbar.prependTo(this.$editor); } else { if (this.options.toolbarContainer) { this.$toolbar.appendTo(this.options.toolbarContainer); } } }; Toolbar.prototype.updateFullscreen = function (isFullscreen) { this.ui.toggleBtnActive(this.$toolbar.find('.btn-fullscreen'), isFullscreen); this.changeContainer(isFullscreen); }; Toolbar.prototype.updateCodeview = function (isCodeview) { this.ui.toggleBtnActive(this.$toolbar.find('.btn-codeview'), isCodeview); if (isCodeview) { this.deactivate(); } else { this.activate(); } }; Toolbar.prototype.activate = function (isIncludeCodeview) { var $btn = this.$toolbar.find('button'); if (!isIncludeCodeview) { $btn = $btn.not('.btn-codeview'); } this.ui.toggleBtn($btn, true); }; Toolbar.prototype.deactivate = function (isIncludeCodeview) { var $btn = this.$toolbar.find('button'); if (!isIncludeCodeview) { $btn = $btn.not('.btn-codeview'); } this.ui.toggleBtn($btn, false); }; return Toolbar; }()); var LinkDialog = /** @class */ (function () { function LinkDialog(context) { this.context = context; this.ui = $$1.summernote.ui; this.$body = $$1(document.body); this.$editor = context.layoutInfo.editor; this.options = context.options; this.lang = this.options.langInfo; context.memo('help.linkDialog.show', this.options.langInfo.help['linkDialog.show']); } LinkDialog.prototype.initialize = function () { var $container = this.options.dialogsInBody ? this.$body : this.$editor; var body = [ '<div class="form-group note-form-group">', "<label class=\"note-form-label\">" + this.lang.link.textToDisplay + "</label>", '<input class="note-link-text form-control note-form-control note-input" type="text" />', '</div>', '<div class="form-group note-form-group">', "<label class=\"note-form-label\">" + this.lang.link.url + "</label>", '<input class="note-link-url form-control note-form-control note-input" type="text" value="http://" />', '</div>', !this.options.disableLinkTarget ? $$1('<div/>').append(this.ui.checkbox({ id: 'sn-checkbox-open-in-new-window', text: this.lang.link.openInNewWindow, checked: true }).render()).html() : '' ].join(''); var buttonClass = 'btn btn-primary note-btn note-btn-primary note-link-btn'; var footer = "<button type=\"submit\" href=\"#\" class=\"" + buttonClass + "\" disabled>" + this.lang.link.insert + "</button>"; this.$dialog = this.ui.dialog({ className: 'link-dialog', title: this.lang.link.insert, fade: this.options.dialogsFade, body: body, footer: footer }).render().appendTo($container); }; LinkDialog.prototype.destroy = function () { this.ui.hideDialog(this.$dialog); this.$dialog.remove(); }; LinkDialog.prototype.bindEnterKey = function ($input, $btn) { $input.on('keypress', function (event) { if (event.keyCode === key.code.ENTER) { event.preventDefault(); $btn.trigger('click'); } }); }; /** * toggle update button */ LinkDialog.prototype.toggleLinkBtn = function ($linkBtn, $linkText, $linkUrl) { this.ui.toggleBtn($linkBtn, $linkText.val() && $linkUrl.val()); }; /** * Show link dialog and set event handlers on dialog controls. * * @param {Object} linkInfo * @return {Promise} */ LinkDialog.prototype.showLinkDialog = function (linkInfo) { var _this = this; return $$1.Deferred(function (deferred) { var $linkText = _this.$dialog.find('.note-link-text'); var $linkUrl = _this.$dialog.find('.note-link-url'); var $linkBtn = _this.$dialog.find('.note-link-btn'); var $openInNewWindow = _this.$dialog.find('input[type=checkbox]'); _this.ui.onDialogShown(_this.$dialog, function () { _this.context.triggerEvent('dialog.shown'); // if no url was given, copy text to url if (!linkInfo.url) { linkInfo.url = linkInfo.text; } $linkText.val(linkInfo.text); var handleLinkTextUpdate = function () { _this.toggleLinkBtn($linkBtn, $linkText, $linkUrl); // if linktext was modified by keyup, // stop cloning text from linkUrl linkInfo.text = $linkText.val(); }; $linkText.on('input', handleLinkTextUpdate).on('paste', function () { setTimeout(handleLinkTextUpdate, 0); }); var handleLinkUrlUpdate = function () { _this.toggleLinkBtn($linkBtn, $linkText, $linkUrl); // display same link on `Text to display` input // when create a new link if (!linkInfo.text) { $linkText.val($linkUrl.val()); } }; $linkUrl.on('input', handleLinkUrlUpdate).on('paste', function () { setTimeout(handleLinkUrlUpdate, 0); }).val(linkInfo.url); if (!env.isSupportTouch) { $linkUrl.trigger('focus'); } _this.toggleLinkBtn($linkBtn, $linkText, $linkUrl); _this.bindEnterKey($linkUrl, $linkBtn); _this.bindEnterKey($linkText, $linkBtn); var isChecked = linkInfo.isNewWindow !== undefined ? linkInfo.isNewWindow : _this.context.options.linkTargetBlank; $openInNewWindow.prop('checked', isChecked); $linkBtn.one('click', function (event) { event.preventDefault(); deferred.resolve({ range: linkInfo.range, url: $linkUrl.val(), text: $linkText.val(), isNewWindow: $openInNewWindow.is(':checked') }); _this.ui.hideDialog(_this.$dialog); }); }); _this.ui.onDialogHidden(_this.$dialog, function () { // detach events $linkText.off('input paste keypress'); $linkUrl.off('input paste keypress'); $linkBtn.off('click'); if (deferred.state() === 'pending') { deferred.reject(); } }); _this.ui.showDialog(_this.$dialog); }).promise(); }; /** * @param {Object} layoutInfo */ LinkDialog.prototype.show = function () { var _this = this; var linkInfo = this.context.invoke('editor.getLinkInfo'); this.context.invoke('editor.saveRange'); this.showLinkDialog(linkInfo).then(function (linkInfo) { _this.context.invoke('editor.restoreRange'); _this.context.invoke('editor.createLink', linkInfo); }).fail(function () { _this.context.invoke('editor.restoreRange'); }); }; return LinkDialog; }()); var LinkPopover = /** @class */ (function () { function LinkPopover(context) { var _this = this; this.context = context; this.ui = $$1.summernote.ui; this.options = context.options; this.events = { 'summernote.keyup summernote.mouseup summernote.change summernote.scroll': function () { _this.update(); }, 'summernote.disable summernote.dialog.shown': function () { _this.hide(); } }; } LinkPopover.prototype.shouldInitialize = function () { return !lists.isEmpty(this.options.popover.link); }; LinkPopover.prototype.initialize = function () { this.$popover = this.ui.popover({ className: 'note-link-popover', callback: function ($node) { var $content = $node.find('.popover-content,.note-popover-content'); $content.prepend('<span><a target="_blank"></a> </span>'); } }).render().appendTo(this.options.container); var $content = this.$popover.find('.popover-content,.note-popover-content'); this.context.invoke('buttons.build', $content, this.options.popover.link); }; LinkPopover.prototype.destroy = function () { this.$popover.remove(); }; LinkPopover.prototype.update = function () { // Prevent focusing on editable when invoke('code') is executed if (!this.context.invoke('editor.hasFocus')) { this.hide(); return; } var rng = this.context.invoke('editor.createRange'); if (rng.isCollapsed() && rng.isOnAnchor()) { var anchor = dom.ancestor(rng.sc, dom.isAnchor); var href = $$1(anchor).attr('href'); this.$popover.find('a').attr('href', href).html(href); var pos = dom.posFromPlaceholder(anchor); this.$popover.css({ display: 'block', left: pos.left, top: pos.top }); } else { this.hide(); } }; LinkPopover.prototype.hide = function () { this.$popover.hide(); }; return LinkPopover; }()); var ImageDialog = /** @class */ (function () { function ImageDialog(context) { this.context = context; this.ui = $$1.summernote.ui; this.$body = $$1(document.body); this.$editor = context.layoutInfo.editor; this.options = context.options; this.lang = this.options.langInfo; } ImageDialog.prototype.initialize = function () { var $container = this.options.dialogsInBody ? this.$body : this.$editor; var imageLimitation = ''; if (this.options.maximumImageFileSize) { var unit = Math.floor(Math.log(this.options.maximumImageFileSize) / Math.log(1024)); var readableSize = (this.options.maximumImageFileSize / Math.pow(1024, unit)).toFixed(2) * 1 + ' ' + ' KMGTP'[unit] + 'B'; imageLimitation = "<small>" + (this.lang.image.maximumFileSize + ' : ' + readableSize) + "</small>"; } var body = [ '<div class="form-group note-form-group note-group-select-from-files">', '<label class="note-form-label">' + this.lang.image.selectFromFiles + '</label>', '<input class="note-image-input note-form-control note-input" ', ' type="file" name="files" accept="image/*" multiple="multiple" />', imageLimitation, '</div>', '<div class="form-group note-group-image-url" style="overflow:auto;">', '<label class="note-form-label">' + this.lang.image.url + '</label>', '<input class="note-image-url form-control note-form-control note-input ', ' col-md-12" type="text" />', '</div>' ].join(''); var buttonClass = 'btn btn-primary note-btn note-btn-primary note-image-btn'; var footer = "<button type=\"submit\" href=\"#\" class=\"" + buttonClass + "\" disabled>" + this.lang.image.insert + "</button>"; this.$dialog = this.ui.dialog({ title: this.lang.image.insert, fade: this.options.dialogsFade, body: body, footer: footer }).render().appendTo($container); }; ImageDialog.prototype.destroy = function () { this.ui.hideDialog(this.$dialog); this.$dialog.remove(); }; ImageDialog.prototype.bindEnterKey = function ($input, $btn) { $input.on('keypress', function (event) { if (event.keyCode === key.code.ENTER) { event.preventDefault(); $btn.trigger('click'); } }); }; ImageDialog.prototype.show = function () { var _this = this; this.context.invoke('editor.saveRange'); this.showImageDialog().then(function (data) { // [workaround] hide dialog before restore range for IE range focus _this.ui.hideDialog(_this.$dialog); _this.context.invoke('editor.restoreRange'); if (typeof data === 'string') { _this.context.invoke('editor.insertImage', data); } else { _this.context.invoke('editor.insertImagesOrCallback', data); } }).fail(function () { _this.context.invoke('editor.restoreRange'); }); }; /** * show image dialog * * @param {jQuery} $dialog * @return {Promise} */ ImageDialog.prototype.showImageDialog = function () { var _this = this; return $$1.Deferred(function (deferred) { var $imageInput = _this.$dialog.find('.note-image-input'); var $imageUrl = _this.$dialog.find('.note-image-url'); var $imageBtn = _this.$dialog.find('.note-image-btn'); _this.ui.onDialogShown(_this.$dialog, function () { _this.context.triggerEvent('dialog.shown'); // Cloning imageInput to clear element. $imageInput.replaceWith($imageInput.clone().on('change', function (event) { deferred.resolve(event.target.files || event.target.value); }).val('')); $imageBtn.click(function (event) { event.preventDefault(); deferred.resolve($imageUrl.val()); }); $imageUrl.on('keyup paste', function () { var url = $imageUrl.val(); _this.ui.toggleBtn($imageBtn, url); }).val(''); if (!env.isSupportTouch) { $imageUrl.trigger('focus'); } _this.bindEnterKey($imageUrl, $imageBtn); }); _this.ui.onDialogHidden(_this.$dialog, function () { $imageInput.off('change'); $imageUrl.off('keyup paste keypress'); $imageBtn.off('click'); if (deferred.state() === 'pending') { deferred.reject(); } }); _this.ui.showDialog(_this.$dialog); }); }; return ImageDialog; }()); /** * Image popover module * mouse events that show/hide popover will be handled by Handle.js. * Handle.js will receive the events and invoke 'imagePopover.update'. */ var ImagePopover = /** @class */ (function () { function ImagePopover(context) { var _this = this; this.context = context; this.ui = $$1.summernote.ui; this.editable = context.layoutInfo.editable[0]; this.options = context.options; this.events = { 'summernote.disable': function () { _this.hide(); } }; } ImagePopover.prototype.shouldInitialize = function () { return !lists.isEmpty(this.options.popover.image); }; ImagePopover.prototype.initialize = function () { this.$popover = this.ui.popover({ className: 'note-image-popover' }).render().appendTo(this.options.container); var $content = this.$popover.find('.popover-content,.note-popover-content'); this.context.invoke('buttons.build', $content, this.options.popover.image); }; ImagePopover.prototype.destroy = function () { this.$popover.remove(); }; ImagePopover.prototype.update = function (target) { if (dom.isImg(target)) { var pos = dom.posFromPlaceholder(target); var posEditor = dom.posFromPlaceholder(this.editable); this.$popover.css({ display: 'block', left: this.options.popatmouse ? event.pageX - 20 : pos.left, top: this.options.popatmouse ? event.pageY : Math.min(pos.top, posEditor.top) }); } else { this.hide(); } }; ImagePopover.prototype.hide = function () { this.$popover.hide(); }; return ImagePopover; }()); var TablePopover = /** @class */ (function () { function TablePopover(context) { var _this = this; this.context = context; this.ui = $$1.summernote.ui; this.options = context.options; this.events = { 'summernote.mousedown': function (we, e) { _this.update(e.target); }, 'summernote.keyup summernote.scroll summernote.change': function () { _this.update(); }, 'summernote.disable': function () { _this.hide(); } }; } TablePopover.prototype.shouldInitialize = function () { return !lists.isEmpty(this.options.popover.table); }; TablePopover.prototype.initialize = function () { this.$popover = this.ui.popover({ className: 'note-table-popover' }).render().appendTo(this.options.container); var $content = this.$popover.find('.popover-content,.note-popover-content'); this.context.invoke('buttons.build', $content, this.options.popover.table); // [workaround] Disable Firefox's default table editor if (env.isFF) { document.execCommand('enableInlineTableEditing', false, false); } }; TablePopover.prototype.destroy = function () { this.$popover.remove(); }; TablePopover.prototype.update = function (target) { if (this.context.isDisabled()) { return false; } var isCell = dom.isCell(target); if (isCell) { var pos = dom.posFromPlaceholder(target); this.$popover.css({ display: 'block', left: pos.left, top: pos.top }); } else { this.hide(); } return isCell; }; TablePopover.prototype.hide = function () { this.$popover.hide(); }; return TablePopover; }()); var VideoDialog = /** @class */ (function () { function VideoDialog(context) { this.context = context; this.ui = $$1.summernote.ui; this.$body = $$1(document.body); this.$editor = context.layoutInfo.editor; this.options = context.options; this.lang = this.options.langInfo; } VideoDialog.prototype.initialize = function () { var $container = this.options.dialogsInBody ? this.$body : this.$editor; var body = [ '<div class="form-group note-form-group row-fluid">', "<label class=\"note-form-label\">" + this.lang.video.url + " <small class=\"text-muted\">" + this.lang.video.providers + "</small></label>", '<input class="note-video-url form-control note-form-control note-input" type="text" />', '</div>' ].join(''); var buttonClass = 'btn btn-primary note-btn note-btn-primary note-video-btn'; var footer = "<button type=\"submit\" href=\"#\" class=\"" + buttonClass + "\" disabled>" + this.lang.video.insert + "</button>"; this.$dialog = this.ui.dialog({ title: this.lang.video.insert, fade: this.options.dialogsFade, body: body, footer: footer }).render().appendTo($container); }; VideoDialog.prototype.destroy = function () { this.ui.hideDialog(this.$dialog); this.$dialog.remove(); }; VideoDialog.prototype.bindEnterKey = function ($input, $btn) { $input.on('keypress', function (event) { if (event.keyCode === key.code.ENTER) { event.preventDefault(); $btn.trigger('click'); } }); }; VideoDialog.prototype.createVideoNode = function (url) { // video url patterns(youtube, instagram, vimeo, dailymotion, youku, mp4, ogg, webm) var ytRegExp = /^(?:https?:\/\/)?(?:www\.)?(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=))((\w|-){11})(?:\S+)?$/; var ytMatch = url.match(ytRegExp); var igRegExp = /(?:www\.|\/\/)instagram\.com\/p\/(.[a-zA-Z0-9_-]*)/; var igMatch = url.match(igRegExp); var vRegExp = /\/\/vine\.co\/v\/([a-zA-Z0-9]+)/; var vMatch = url.match(vRegExp); var vimRegExp = /\/\/(player\.)?vimeo\.com\/([a-z]*\/)*(\d+)[?]?.*/; var vimMatch = url.match(vimRegExp); var dmRegExp = /.+dailymotion.com\/(video|hub)\/([^_]+)[^#]*(#video=([^_&]+))?/; var dmMatch = url.match(dmRegExp); var youkuRegExp = /\/\/v\.youku\.com\/v_show\/id_(\w+)=*\.html/; var youkuMatch = url.match(youkuRegExp); var qqRegExp = /\/\/v\.qq\.com.*?vid=(.+)/; var qqMatch = url.match(qqRegExp); var qqRegExp2 = /\/\/v\.qq\.com\/x?\/?(page|cover).*?\/([^\/]+)\.html\??.*/; var qqMatch2 = url.match(qqRegExp2); var mp4RegExp = /^.+.(mp4|m4v)$/; var mp4Match = url.match(mp4RegExp); var oggRegExp = /^.+.(ogg|ogv)$/; var oggMatch = url.match(oggRegExp); var webmRegExp = /^.+.(webm)$/; var webmMatch = url.match(webmRegExp); var $video; if (ytMatch && ytMatch[1].length === 11) { var youtubeId = ytMatch[1]; $video = $$1('<iframe>') .attr('frameborder', 0) .attr('src', '//www.youtube.com/embed/' + youtubeId) .attr('width', '640').attr('height', '360'); } else if (igMatch && igMatch[0].length) { $video = $$1('<iframe>') .attr('frameborder', 0) .attr('src', 'https://instagram.com/p/' + igMatch[1] + '/embed/') .attr('width', '612').attr('height', '710') .attr('scrolling', 'no') .attr('allowtransparency', 'true'); } else if (vMatch && vMatch[0].length) { $video = $$1('<iframe>') .attr('frameborder', 0) .attr('src', vMatch[0] + '/embed/simple') .attr('width', '600').attr('height', '600') .attr('class', 'vine-embed'); } else if (vimMatch && vimMatch[3].length) { $video = $$1('<iframe webkitallowfullscreen mozallowfullscreen allowfullscreen>') .attr('frameborder', 0) .attr('src', '//player.vimeo.com/video/' + vimMatch[3]) .attr('width', '640').attr('height', '360'); } else if (dmMatch && dmMatch[2].length) { $video = $$1('<iframe>') .attr('frameborder', 0) .attr('src', '//www.dailymotion.com/embed/video/' + dmMatch[2]) .attr('width', '640').attr('height', '360'); } else if (youkuMatch && youkuMatch[1].length) { $video = $$1('<iframe webkitallowfullscreen mozallowfullscreen allowfullscreen>') .attr('frameborder', 0) .attr('height', '498') .attr('width', '510') .attr('src', '//player.youku.com/embed/' + youkuMatch[1]); } else if ((qqMatch && qqMatch[1].length) || (qqMatch2 && qqMatch2[2].length)) { var vid = ((qqMatch && qqMatch[1].length) ? qqMatch[1] : qqMatch2[2]); $video = $$1('<iframe webkitallowfullscreen mozallowfullscreen allowfullscreen>') .attr('frameborder', 0) .attr('height', '310') .attr('width', '500') .attr('src', 'http://v.qq.com/iframe/player.html?vid=' + vid + '&auto=0'); } else if (mp4Match || oggMatch || webmMatch) { $video = $$1('<video controls>') .attr('src', url) .attr('width', '640').attr('height', '360'); } else { // this is not a known video link. Now what, Cat? Now what? return false; } $video.addClass('note-video-clip'); return $video[0]; }; VideoDialog.prototype.show = function () { var _this = this; var text = this.context.invoke('editor.getSelectedText'); this.context.invoke('editor.saveRange'); this.showVideoDialog(text).then(function (url) { // [workaround] hide dialog before restore range for IE range focus _this.ui.hideDialog(_this.$dialog); _this.context.invoke('editor.restoreRange'); // build node var $node = _this.createVideoNode(url); if ($node) { // insert video node _this.context.invoke('editor.insertNode', $node); } }).fail(function () { _this.context.invoke('editor.restoreRange'); }); }; /** * show image dialog * * @param {jQuery} $dialog * @return {Promise} */ VideoDialog.prototype.showVideoDialog = function (text) { var _this = this; return $$1.Deferred(function (deferred) { var $videoUrl = _this.$dialog.find('.note-video-url'); var $videoBtn = _this.$dialog.find('.note-video-btn'); _this.ui.onDialogShown(_this.$dialog, function () { _this.context.triggerEvent('dialog.shown'); $videoUrl.val(text).on('input', function () { _this.ui.toggleBtn($videoBtn, $videoUrl.val()); }); if (!env.isSupportTouch) { $videoUrl.trigger('focus'); } $videoBtn.click(function (event) { event.preventDefault(); deferred.resolve($videoUrl.val()); }); _this.bindEnterKey($videoUrl, $videoBtn); }); _this.ui.onDialogHidden(_this.$dialog, function () { $videoUrl.off('input'); $videoBtn.off('click'); if (deferred.state() === 'pending') { deferred.reject(); } }); _this.ui.showDialog(_this.$dialog); }); }; return VideoDialog; }()); var HelpDialog = /** @class */ (function () { function HelpDialog(context) { this.context = context; this.ui = $$1.summernote.ui; this.$body = $$1(document.body); this.$editor = context.layoutInfo.editor; this.options = context.options; this.lang = this.options.langInfo; } HelpDialog.prototype.initialize = function () { var $container = this.options.dialogsInBody ? this.$body : this.$editor; var body = [ '<p class="text-center">', '<a href="http://summernote.org/" target="_blank">Summernote 0.8.10</a> · ', '<a href="https://github.com/summernote/summernote" target="_blank">Project</a> · ', '<a href="https://github.com/summernote/summernote/issues" target="_blank">Issues</a>', '</p>' ].join(''); this.$dialog = this.ui.dialog({ title: this.lang.options.help, fade: this.options.dialogsFade, body: this.createShortcutList(), footer: body, callback: function ($node) { $node.find('.modal-body,.note-modal-body').css({ 'max-height': 300, 'overflow': 'scroll' }); } }).render().appendTo($container); }; HelpDialog.prototype.destroy = function () { this.ui.hideDialog(this.$dialog); this.$dialog.remove(); }; HelpDialog.prototype.createShortcutList = function () { var _this = this; var keyMap = this.options.keyMap[env.isMac ? 'mac' : 'pc']; return Object.keys(keyMap).map(function (key) { var command = keyMap[key]; var $row = $$1('<div><div class="help-list-item"/></div>'); $row.append($$1('<label><kbd>' + key + '</kdb></label>').css({ 'width': 180, 'margin-right': 10 })).append($$1('<span/>').html(_this.context.memo('help.' + command) || command)); return $row.html(); }).join(''); }; /** * show help dialog * * @return {Promise} */ HelpDialog.prototype.showHelpDialog = function () { var _this = this; return $$1.Deferred(function (deferred) { _this.ui.onDialogShown(_this.$dialog, function () { _this.context.triggerEvent('dialog.shown'); deferred.resolve(); }); _this.ui.showDialog(_this.$dialog); }).promise(); }; HelpDialog.prototype.show = function () { var _this = this; this.context.invoke('editor.saveRange'); this.showHelpDialog().then(function () { _this.context.invoke('editor.restoreRange'); }); }; return HelpDialog; }()); var AIR_MODE_POPOVER_X_OFFSET = 20; var AirPopover = /** @class */ (function () { function AirPopover(context) { var _this = this; this.context = context; this.ui = $$1.summernote.ui; this.options = context.options; this.events = { 'summernote.keyup summernote.mouseup summernote.scroll': function () { _this.update(); }, 'summernote.disable summernote.change summernote.dialog.shown': function () { _this.hide(); }, 'summernote.focusout': function (we, e) { // [workaround] Firefox doesn't support relatedTarget on focusout // - Ignore hide action on focus out in FF. if (env.isFF) { return; } if (!e.relatedTarget || !dom.ancestor(e.relatedTarget, func.eq(_this.$popover[0]))) { _this.hide(); } } }; } AirPopover.prototype.shouldInitialize = function () { return this.options.airMode && !lists.isEmpty(this.options.popover.air); }; AirPopover.prototype.initialize = function () { this.$popover = this.ui.popover({ className: 'note-air-popover' }).render().appendTo(this.options.container); var $content = this.$popover.find('.popover-content'); this.context.invoke('buttons.build', $content, this.options.popover.air); }; AirPopover.prototype.destroy = function () { this.$popover.remove(); }; AirPopover.prototype.update = function () { var styleInfo = this.context.invoke('editor.currentStyle'); if (styleInfo.range && !styleInfo.range.isCollapsed()) { var rect = lists.last(styleInfo.range.getClientRects()); if (rect) { var bnd = func.rect2bnd(rect); this.$popover.css({ display: 'block', left: Math.max(bnd.left + bnd.width / 2, 0) - AIR_MODE_POPOVER_X_OFFSET, top: bnd.top + bnd.height }); this.context.invoke('buttons.updateCurrentStyle', this.$popover); } } else { this.hide(); } }; AirPopover.prototype.hide = function () { this.$popover.hide(); }; return AirPopover; }()); var POPOVER_DIST = 5; var HintPopover = /** @class */ (function () { function HintPopover(context) { var _this = this; this.context = context; this.ui = $$1.summernote.ui; this.$editable = context.layoutInfo.editable; this.options = context.options; this.hint = this.options.hint || []; this.direction = this.options.hintDirection || 'bottom'; this.hints = $$1.isArray(this.hint) ? this.hint : [this.hint]; this.events = { 'summernote.keyup': function (we, e) { if (!e.isDefaultPrevented()) { _this.handleKeyup(e); } }, 'summernote.keydown': function (we, e) { _this.handleKeydown(e); }, 'summernote.disable summernote.dialog.shown': function () { _this.hide(); } }; } HintPopover.prototype.shouldInitialize = function () { return this.hints.length > 0; }; HintPopover.prototype.initialize = function () { var _this = this; this.lastWordRange = null; this.$popover = this.ui.popover({ className: 'note-hint-popover', hideArrow: true, direction: '' }).render().appendTo(this.options.container); this.$popover.hide(); this.$content = this.$popover.find('.popover-content,.note-popover-content'); this.$content.on('click', '.note-hint-item', function () { _this.$content.find('.active').removeClass('active'); $$1(_this).addClass('active'); _this.replace(); }); }; HintPopover.prototype.destroy = function () { this.$popover.remove(); }; HintPopover.prototype.selectItem = function ($item) { this.$content.find('.active').removeClass('active'); $item.addClass('active'); this.$content[0].scrollTop = $item[0].offsetTop - (this.$content.innerHeight() / 2); }; HintPopover.prototype.moveDown = function () { var $current = this.$content.find('.note-hint-item.active'); var $next = $current.next(); if ($next.length) { this.selectItem($next); } else { var $nextGroup = $current.parent().next(); if (!$nextGroup.length) { $nextGroup = this.$content.find('.note-hint-group').first(); } this.selectItem($nextGroup.find('.note-hint-item').first()); } }; HintPopover.prototype.moveUp = function () { var $current = this.$content.find('.note-hint-item.active'); var $prev = $current.prev(); if ($prev.length) { this.selectItem($prev); } else { var $prevGroup = $current.parent().prev(); if (!$prevGroup.length) { $prevGroup = this.$content.find('.note-hint-group').last(); } this.selectItem($prevGroup.find('.note-hint-item').last()); } }; HintPopover.prototype.replace = function () { var $item = this.$content.find('.note-hint-item.active'); if ($item.length) { var node = this.nodeFromItem($item); // XXX: consider to move codes to editor for recording redo/undo. this.lastWordRange.insertNode(node); range.createFromNode(node).collapse().select(); this.lastWordRange = null; this.hide(); this.context.triggerEvent('change', this.$editable.html(), this.$editable[0]); this.context.invoke('editor.focus'); } }; HintPopover.prototype.nodeFromItem = function ($item) { var hint = this.hints[$item.data('index')]; var item = $item.data('item'); var node = hint.content ? hint.content(item) : item; if (typeof node === 'string') { node = dom.createText(node); } return node; }; HintPopover.prototype.createItemTemplates = function (hintIdx, items) { var hint = this.hints[hintIdx]; return items.map(function (item, idx) { var $item = $$1('<div class="note-hint-item"/>'); $item.append(hint.template ? hint.template(item) : item + ''); $item.data({ 'index': hintIdx, 'item': item }); return $item; }); }; HintPopover.prototype.handleKeydown = function (e) { if (!this.$popover.is(':visible')) { return; } if (e.keyCode === key.code.ENTER) { e.preventDefault(); this.replace(); } else if (e.keyCode === key.code.UP) { e.preventDefault(); this.moveUp(); } else if (e.keyCode === key.code.DOWN) { e.preventDefault(); this.moveDown(); } }; HintPopover.prototype.searchKeyword = function (index, keyword, callback) { var hint = this.hints[index]; if (hint && hint.match.test(keyword) && hint.search) { var matches = hint.match.exec(keyword); hint.search(matches[1], callback); } else { callback(); } }; HintPopover.prototype.createGroup = function (idx, keyword) { var _this = this; var $group = $$1('<div class="note-hint-group note-hint-group-' + idx + '"/>'); this.searchKeyword(idx, keyword, function (items) { items = items || []; if (items.length) { $group.html(_this.createItemTemplates(idx, items)); _this.show(); } }); return $group; }; HintPopover.prototype.handleKeyup = function (e) { var _this = this; if (!lists.contains([key.code.ENTER, key.code.UP, key.code.DOWN], e.keyCode)) { var wordRange = this.context.invoke('editor.createRange').getWordRange(); var keyword_1 = wordRange.toString(); if (this.hints.length && keyword_1) { this.$content.empty(); var bnd = func.rect2bnd(lists.last(wordRange.getClientRects())); if (bnd) { this.$popover.hide(); this.lastWordRange = wordRange; this.hints.forEach(function (hint, idx) { if (hint.match.test(keyword_1)) { _this.createGroup(idx, keyword_1).appendTo(_this.$content); } }); // select first .note-hint-item this.$content.find('.note-hint-item:first').addClass('active'); // set position for popover after group is created if (this.direction === 'top') { this.$popover.css({ left: bnd.left, top: bnd.top - this.$popover.outerHeight() - POPOVER_DIST }); } else { this.$popover.css({ left: bnd.left, top: bnd.top + bnd.height + POPOVER_DIST }); } } } else { this.hide(); } } }; HintPopover.prototype.show = function () { this.$popover.show(); }; HintPopover.prototype.hide = function () { this.$popover.hide(); }; return HintPopover; }()); var Context = /** @class */ (function () { /** * @param {jQuery} $note * @param {Object} options */ function Context($note, options) { this.ui = $$1.summernote.ui; this.$note = $note; this.memos = {}; this.modules = {}; this.layoutInfo = {}; this.options = options; this.initialize(); } /** * create layout and initialize modules and other resources */ Context.prototype.initialize = function () { this.layoutInfo = this.ui.createLayout(this.$note, this.options); this._initialize(); this.$note.hide(); return this; }; /** * destroy modules and other resources and remove layout */ Context.prototype.destroy = function () { this._destroy(); this.$note.removeData('summernote'); this.ui.removeLayout(this.$note, this.layoutInfo); }; /** * destory modules and other resources and initialize it again */ Context.prototype.reset = function () { var disabled = this.isDisabled(); this.code(dom.emptyPara); this._destroy(); this._initialize(); if (disabled) { this.disable(); } }; Context.prototype._initialize = function () { var _this = this; // add optional buttons var buttons = $$1.extend({}, this.options.buttons); Object.keys(buttons).forEach(function (key) { _this.memo('button.' + key, buttons[key]); }); var modules = $$1.extend({}, this.options.modules, $$1.summernote.plugins || {}); // add and initialize modules Object.keys(modules).forEach(function (key) { _this.module(key, modules[key], true); }); Object.keys(this.modules).forEach(function (key) { _this.initializeModule(key); }); }; Context.prototype._destroy = function () { var _this = this; // destroy modules with reversed order Object.keys(this.modules).reverse().forEach(function (key) { _this.removeModule(key); }); Object.keys(this.memos).forEach(function (key) { _this.removeMemo(key); }); // trigger custom onDestroy callback this.triggerEvent('destroy', this); }; Context.prototype.code = function (html) { var isActivated = this.invoke('codeview.isActivated'); if (html === undefined) { this.invoke('codeview.sync'); return isActivated ? this.layoutInfo.codable.val() : this.layoutInfo.editable.html(); } else { if (isActivated) { this.layoutInfo.codable.val(html); } else { this.layoutInfo.editable.html(html); } this.$note.val(html); this.triggerEvent('change', html); } }; Context.prototype.isDisabled = function () { return this.layoutInfo.editable.attr('contenteditable') === 'false'; }; Context.prototype.enable = function () { this.layoutInfo.editable.attr('contenteditable', true); this.invoke('toolbar.activate', true); this.triggerEvent('disable', false); }; Context.prototype.disable = function () { // close codeview if codeview is opend if (this.invoke('codeview.isActivated')) { this.invoke('codeview.deactivate'); } this.layoutInfo.editable.attr('contenteditable', false); this.invoke('toolbar.deactivate', true); this.triggerEvent('disable', true); }; Context.prototype.triggerEvent = function () { var namespace = lists.head(arguments); var args = lists.tail(lists.from(arguments)); var callback = this.options.callbacks[func.namespaceToCamel(namespace, 'on')]; if (callback) { callback.apply(this.$note[0], args); } this.$note.trigger('summernote.' + namespace, args); }; Context.prototype.initializeModule = function (key) { var module = this.modules[key]; module.shouldInitialize = module.shouldInitialize || func.ok; if (!module.shouldInitialize()) { return; } // initialize module if (module.initialize) { module.initialize(); } // attach events if (module.events) { dom.attachEvents(this.$note, module.events); } }; Context.prototype.module = function (key, ModuleClass, withoutIntialize) { if (arguments.length === 1) { return this.modules[key]; } this.modules[key] = new ModuleClass(this); if (!withoutIntialize) { this.initializeModule(key); } }; Context.prototype.removeModule = function (key) { var module = this.modules[key]; if (module.shouldInitialize()) { if (module.events) { dom.detachEvents(this.$note, module.events); } if (module.destroy) { module.destroy(); } } delete this.modules[key]; }; Context.prototype.memo = function (key, obj) { if (arguments.length === 1) { return this.memos[key]; } this.memos[key] = obj; }; Context.prototype.removeMemo = function (key) { if (this.memos[key] && this.memos[key].destroy) { this.memos[key].destroy(); } delete this.memos[key]; }; /** * Some buttons need to change their visual style immediately once they get pressed */ Context.prototype.createInvokeHandlerAndUpdateState = function (namespace, value) { var _this = this; return function (event) { _this.createInvokeHandler(namespace, value)(event); _this.invoke('buttons.updateCurrentStyle'); }; }; Context.prototype.createInvokeHandler = function (namespace, value) { var _this = this; return function (event) { event.preventDefault(); var $target = $$1(event.target); _this.invoke(namespace, value || $target.closest('[data-value]').data('value'), $target); }; }; Context.prototype.invoke = function () { var namespace = lists.head(arguments); var args = lists.tail(lists.from(arguments)); var splits = namespace.split('.'); var hasSeparator = splits.length > 1; var moduleName = hasSeparator && lists.head(splits); var methodName = hasSeparator ? lists.last(splits) : lists.head(splits); var module = this.modules[moduleName || 'editor']; if (!moduleName && this[methodName]) { return this[methodName].apply(this, args); } else if (module && module[methodName] && module.shouldInitialize()) { return module[methodName].apply(module, args); } }; return Context; }()); $$1.fn.extend({ /** * Summernote API * * @param {Object|String} * @return {this} */ summernote: function () { var type = $$1.type(lists.head(arguments)); var isExternalAPICalled = type === 'string'; var hasInitOptions = type === 'object'; var options = $$1.extend({}, $$1.summernote.options, hasInitOptions ? lists.head(arguments) : {}); // Update options options.langInfo = $$1.extend(true, {}, $$1.summernote.lang['en-US'], $$1.summernote.lang[options.lang]); options.icons = $$1.extend(true, {}, $$1.summernote.options.icons, options.icons); options.tooltip = options.tooltip === 'auto' ? !env.isSupportTouch : options.tooltip; this.each(function (idx, note) { var $note = $$1(note); if (!$note.data('summernote')) { var context = new Context($note, options); $note.data('summernote', context); $note.data('summernote').triggerEvent('init', context.layoutInfo); } }); var $note = this.first(); if ($note.length) { var context = $note.data('summernote'); if (isExternalAPICalled) { return context.invoke.apply(context, lists.from(arguments)); } else if (options.focus) { context.invoke('editor.focus'); } } return this; } }); $$1.summernote = $$1.extend($$1.summernote, { version: '0.8.10', ui: ui, dom: dom, plugins: {}, options: { modules: { 'editor': Editor, 'clipboard': Clipboard, 'dropzone': Dropzone, 'codeview': CodeView, 'statusbar': Statusbar, 'fullscreen': Fullscreen, 'handle': Handle, // FIXME: HintPopover must be front of autolink // - Script error about range when Enter key is pressed on hint popover 'hintPopover': HintPopover, 'autoLink': AutoLink, 'autoSync': AutoSync, 'placeholder': Placeholder, 'buttons': Buttons, 'toolbar': Toolbar, 'linkDialog': LinkDialog, 'linkPopover': LinkPopover, 'imageDialog': ImageDialog, 'imagePopover': ImagePopover, 'tablePopover': TablePopover, 'videoDialog': VideoDialog, 'helpDialog': HelpDialog, 'airPopover': AirPopover }, buttons: {}, lang: 'en-US', followingToolbar: true, otherStaticBar: '', // toolbar toolbar: [ ['style', ['style']], ['font', ['bold', 'underline', 'clear']], ['fontname', ['fontname']], ['color', ['color']], ['para', ['ul', 'ol', 'paragraph']], ['table', ['table']], ['insert', ['link', 'picture', 'video']], ['view', ['fullscreen', 'codeview', 'help']] ], // popover popatmouse: true, popover: { image: [ ['imagesize', ['imageSize100', 'imageSize50', 'imageSize25']], ['float', ['floatLeft', 'floatRight', 'floatNone']], ['remove', ['removeMedia']] ], link: [ ['link', ['linkDialogShow', 'unlink']] ], table: [ ['add', ['addRowDown', 'addRowUp', 'addColLeft', 'addColRight']], ['delete', ['deleteRow', 'deleteCol', 'deleteTable']] ], air: [ ['color', ['color']], ['font', ['bold', 'underline', 'clear']], ['para', ['ul', 'paragraph']], ['table', ['table']], ['insert', ['link', 'picture']] ] }, // air mode: inline editor airMode: false, width: null, height: null, linkTargetBlank: true, focus: false, tabSize: 4, styleWithSpan: true, shortcuts: true, textareaAutoSync: true, hintDirection: 'bottom', tooltip: 'auto', container: 'body', maxTextLength: 0, styleTags: ['p', 'blockquote', 'pre', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6'], fontNames: [ 'Arial', 'Arial Black', 'Comic Sans MS', 'Courier New', 'Helvetica Neue', 'Helvetica', 'Impact', 'Lucida Grande', 'Tahoma', 'Times New Roman', 'Verdana' ], fontSizes: ['8', '9', '10', '11', '12', '14', '18', '24', '36'], // pallete colors(n x n) colors: [ ['#000000', '#424242', '#636363', '#9C9C94', '#CEC6CE', '#EFEFEF', '#F7F7F7', '#FFFFFF'], ['#FF0000', '#FF9C00', '#FFFF00', '#00FF00', '#00FFFF', '#0000FF', '#9C00FF', '#FF00FF'], ['#F7C6CE', '#FFE7CE', '#FFEFC6', '#D6EFD6', '#CEDEE7', '#CEE7F7', '#D6D6E7', '#E7D6DE'], ['#E79C9C', '#FFC69C', '#FFE79C', '#B5D6A5', '#A5C6CE', '#9CC6EF', '#B5A5D6', '#D6A5BD'], ['#E76363', '#F7AD6B', '#FFD663', '#94BD7B', '#73A5AD', '#6BADDE', '#8C7BC6', '#C67BA5'], ['#CE0000', '#E79439', '#EFC631', '#6BA54A', '#4A7B8C', '#3984C6', '#634AA5', '#A54A7B'], ['#9C0000', '#B56308', '#BD9400', '#397B21', '#104A5A', '#085294', '#311873', '#731842'], ['#630000', '#7B3900', '#846300', '#295218', '#083139', '#003163', '#21104A', '#4A1031'] ], // http://chir.ag/projects/name-that-color/ colorsName: [ ['Black', 'Tundora', 'Dove Gray', 'Star Dust', 'Pale Slate', 'Gallery', 'Alabaster', 'White'], ['Red', 'Orange Peel', 'Yellow', 'Green', 'Cyan', 'Blue', 'Electric Violet', 'Magenta'], ['Azalea', 'Karry', 'Egg White', 'Zanah', 'Botticelli', 'Tropical Blue', 'Mischka', 'Twilight'], ['Tonys Pink', 'Peach Orange', 'Cream Brulee', 'Sprout', 'Casper', 'Perano', 'Cold Purple', 'Careys Pink'], ['Mandy', 'Rajah', 'Dandelion', 'Olivine', 'Gulf Stream', 'Viking', 'Blue Marguerite', 'Puce'], ['Guardsman Red', 'Fire Bush', 'Golden Dream', 'Chelsea Cucumber', 'Smalt Blue', 'Boston Blue', 'Butterfly Bush', 'Cadillac'], ['Sangria', 'Mai Tai', 'Buddha Gold', 'Forest Green', 'Eden', 'Venice Blue', 'Meteorite', 'Claret'], ['Rosewood', 'Cinnamon', 'Olive', 'Parsley', 'Tiber', 'Midnight Blue', 'Valentino', 'Loulou'] ], lineHeights: ['1.0', '1.2', '1.4', '1.5', '1.6', '1.8', '2.0', '3.0'], tableClassName: 'table table-bordered', insertTableMaxSize: { col: 10, row: 10 }, dialogsInBody: false, dialogsFade: false, maximumImageFileSize: null, callbacks: { onInit: null, onFocus: null, onBlur: null, onBlurCodeview: null, onEnter: null, onKeyup: null, onKeydown: null, onImageUpload: null, onImageUploadError: null }, codemirror: { mode: 'text/html', htmlMode: true, lineNumbers: true }, keyMap: { pc: { 'ENTER': 'insertParagraph', 'CTRL+Z': 'undo', 'CTRL+Y': 'redo', 'TAB': 'tab', 'SHIFT+TAB': 'untab', 'CTRL+B': 'bold', 'CTRL+I': 'italic', 'CTRL+U': 'underline', 'CTRL+SHIFT+S': 'strikethrough', 'CTRL+BACKSLASH': 'removeFormat', 'CTRL+SHIFT+L': 'justifyLeft', 'CTRL+SHIFT+E': 'justifyCenter', 'CTRL+SHIFT+R': 'justifyRight', 'CTRL+SHIFT+J': 'justifyFull', 'CTRL+SHIFT+NUM7': 'insertUnorderedList', 'CTRL+SHIFT+NUM8': 'insertOrderedList', 'CTRL+LEFTBRACKET': 'outdent', 'CTRL+RIGHTBRACKET': 'indent', 'CTRL+NUM0': 'formatPara', 'CTRL+NUM1': 'formatH1', 'CTRL+NUM2': 'formatH2', 'CTRL+NUM3': 'formatH3', 'CTRL+NUM4': 'formatH4', 'CTRL+NUM5': 'formatH5', 'CTRL+NUM6': 'formatH6', 'CTRL+ENTER': 'insertHorizontalRule', 'CTRL+K': 'linkDialog.show' }, mac: { 'ENTER': 'insertParagraph', 'CMD+Z': 'undo', 'CMD+SHIFT+Z': 'redo', 'TAB': 'tab', 'SHIFT+TAB': 'untab', 'CMD+B': 'bold', 'CMD+I': 'italic', 'CMD+U': 'underline', 'CMD+SHIFT+S': 'strikethrough', 'CMD+BACKSLASH': 'removeFormat', 'CMD+SHIFT+L': 'justifyLeft', 'CMD+SHIFT+E': 'justifyCenter', 'CMD+SHIFT+R': 'justifyRight', 'CMD+SHIFT+J': 'justifyFull', 'CMD+SHIFT+NUM7': 'insertUnorderedList', 'CMD+SHIFT+NUM8': 'insertOrderedList', 'CMD+LEFTBRACKET': 'outdent', 'CMD+RIGHTBRACKET': 'indent', 'CMD+NUM0': 'formatPara', 'CMD+NUM1': 'formatH1', 'CMD+NUM2': 'formatH2', 'CMD+NUM3': 'formatH3', 'CMD+NUM4': 'formatH4', 'CMD+NUM5': 'formatH5', 'CMD+NUM6': 'formatH6', 'CMD+ENTER': 'insertHorizontalRule', 'CMD+K': 'linkDialog.show' } }, icons: { 'align': 'note-icon-align', 'alignCenter': 'note-icon-align-center', 'alignJustify': 'note-icon-align-justify', 'alignLeft': 'note-icon-align-left', 'alignRight': 'note-icon-align-right', 'rowBelow': 'note-icon-row-below', 'colBefore': 'note-icon-col-before', 'colAfter': 'note-icon-col-after', 'rowAbove': 'note-icon-row-above', 'rowRemove': 'note-icon-row-remove', 'colRemove': 'note-icon-col-remove', 'indent': 'note-icon-align-indent', 'outdent': 'note-icon-align-outdent', 'arrowsAlt': 'note-icon-arrows-alt', 'bold': 'note-icon-bold', 'caret': 'note-icon-caret', 'circle': 'note-icon-circle', 'close': 'note-icon-close', 'code': 'note-icon-code', 'eraser': 'note-icon-eraser', 'font': 'note-icon-font', 'frame': 'note-icon-frame', 'italic': 'note-icon-italic', 'link': 'note-icon-link', 'unlink': 'note-icon-chain-broken', 'magic': 'note-icon-magic', 'menuCheck': 'note-icon-menu-check', 'minus': 'note-icon-minus', 'orderedlist': 'note-icon-orderedlist', 'pencil': 'note-icon-pencil', 'picture': 'note-icon-picture', 'question': 'note-icon-question', 'redo': 'note-icon-redo', 'square': 'note-icon-square', 'strikethrough': 'note-icon-strikethrough', 'subscript': 'note-icon-subscript', 'superscript': 'note-icon-superscript', 'table': 'note-icon-table', 'textHeight': 'note-icon-text-height', 'trash': 'note-icon-trash', 'underline': 'note-icon-underline', 'undo': 'note-icon-undo', 'unorderedlist': 'note-icon-unorderedlist', 'video': 'note-icon-video' } } }); }))); //# sourceMappingURL=summernote.js.map PK�{�\�~�EEsummernote-bs4.cssnu�[���@font-face{font-family:"summernote";font-style:normal;font-weight:normal;src:url("./font/summernote.eot?dbafe969167589eda84514394d126413");src:url("./font/summernote.eot?#iefix") format("embedded-opentype"),url("./font/summernote.woff?dbafe969167589eda84514394d126413") format("woff"),url("./font/summernote.ttf?dbafe969167589eda84514394d126413") format("truetype")}[class^="note-icon-"]:before,[class*=" note-icon-"]:before{display:inline-block;font:normal normal normal 14px summernote;font-size:inherit;-webkit-font-smoothing:antialiased;text-decoration:inherit;text-rendering:auto;text-transform:none;vertical-align:middle;speak:none;-moz-osx-font-smoothing:grayscale}.note-icon-align-center:before,.note-icon-align-indent:before,.note-icon-align-justify:before,.note-icon-align-left:before,.note-icon-align-outdent:before,.note-icon-align-right:before,.note-icon-align:before,.note-icon-arrow-circle-down:before,.note-icon-arrow-circle-left:before,.note-icon-arrow-circle-right:before,.note-icon-arrow-circle-up:before,.note-icon-arrows-alt:before,.note-icon-arrows-h:before,.note-icon-arrows-v:before,.note-icon-bold:before,.note-icon-caret:before,.note-icon-chain-broken:before,.note-icon-circle:before,.note-icon-close:before,.note-icon-code:before,.note-icon-col-after:before,.note-icon-col-before:before,.note-icon-col-remove:before,.note-icon-eraser:before,.note-icon-font:before,.note-icon-frame:before,.note-icon-italic:before,.note-icon-link:before,.note-icon-magic:before,.note-icon-menu-check:before,.note-icon-minus:before,.note-icon-orderedlist:before,.note-icon-pencil:before,.note-icon-picture:before,.note-icon-question:before,.note-icon-redo:before,.note-icon-row-above:before,.note-icon-row-below:before,.note-icon-row-remove:before,.note-icon-special-character:before,.note-icon-square:before,.note-icon-strikethrough:before,.note-icon-subscript:before,.note-icon-summernote:before,.note-icon-superscript:before,.note-icon-table:before,.note-icon-text-height:before,.note-icon-trash:before,.note-icon-underline:before,.note-icon-undo:before,.note-icon-unorderedlist:before,.note-icon-video:before{display:inline-block;font-family:"summernote";font-style:normal;font-weight:normal;text-decoration:inherit}.note-icon-align-center:before{content:"\f101"}.note-icon-align-indent:before{content:"\f102"}.note-icon-align-justify:before{content:"\f103"}.note-icon-align-left:before{content:"\f104"}.note-icon-align-outdent:before{content:"\f105"}.note-icon-align-right:before{content:"\f106"}.note-icon-align:before{content:"\f107"}.note-icon-arrow-circle-down:before{content:"\f108"}.note-icon-arrow-circle-left:before{content:"\f109"}.note-icon-arrow-circle-right:before{content:"\f10a"}.note-icon-arrow-circle-up:before{content:"\f10b"}.note-icon-arrows-alt:before{content:"\f10c"}.note-icon-arrows-h:before{content:"\f10d"}.note-icon-arrows-v:before{content:"\f10e"}.note-icon-bold:before{content:"\f10f"}.note-icon-caret:before{content:"\f110"}.note-icon-chain-broken:before{content:"\f111"}.note-icon-circle:before{content:"\f112"}.note-icon-close:before{content:"\f113"}.note-icon-code:before{content:"\f114"}.note-icon-col-after:before{content:"\f115"}.note-icon-col-before:before{content:"\f116"}.note-icon-col-remove:before{content:"\f117"}.note-icon-eraser:before{content:"\f118"}.note-icon-font:before{content:"\f119"}.note-icon-frame:before{content:"\f11a"}.note-icon-italic:before{content:"\f11b"}.note-icon-link:before{content:"\f11c"}.note-icon-magic:before{content:"\f11d"}.note-icon-menu-check:before{content:"\f11e"}.note-icon-minus:before{content:"\f11f"}.note-icon-orderedlist:before{content:"\f120"}.note-icon-pencil:before{content:"\f121"}.note-icon-picture:before{content:"\f122"}.note-icon-question:before{content:"\f123"}.note-icon-redo:before{content:"\f124"}.note-icon-row-above:before{content:"\f125"}.note-icon-row-below:before{content:"\f126"}.note-icon-row-remove:before{content:"\f127"}.note-icon-special-character:before{content:"\f128"}.note-icon-square:before{content:"\f129"}.note-icon-strikethrough:before{content:"\f12a"}.note-icon-subscript:before{content:"\f12b"}.note-icon-summernote:before{content:"\f12c"}.note-icon-superscript:before{content:"\f12d"}.note-icon-table:before{content:"\f12e"}.note-icon-text-height:before{content:"\f12f"}.note-icon-trash:before{content:"\f130"}.note-icon-underline:before{content:"\f131"}.note-icon-undo:before{content:"\f132"}.note-icon-unorderedlist:before{content:"\f133"}.note-icon-video:before{content:"\f134"}.note-editor{position:relative}.note-editor .note-dropzone{position:absolute;z-index:100;display:none;color:#87cefa;background-color:#fff;opacity:.95}.note-editor .note-dropzone .note-dropzone-message{display:table-cell;font-size:28px;font-weight:700;text-align:center;vertical-align:middle}.note-editor .note-dropzone.hover{color:#098ddf}.note-editor.dragover .note-dropzone{display:table}.note-editor .note-editing-area{position:relative}.note-editor .note-editing-area .note-editable{outline:0}.note-editor .note-editing-area .note-editable sup{vertical-align:super}.note-editor .note-editing-area .note-editable sub{vertical-align:sub}.note-editor .note-editing-area img.note-float-left{margin-right:10px}.note-editor .note-editing-area img.note-float-right{margin-left:10px}.note-editor.note-frame{border:1px solid #a9a9a9}.note-editor.note-frame.codeview .note-editing-area .note-editable{display:none}.note-editor.note-frame.codeview .note-editing-area .note-codable{display:block}.note-editor.note-frame .note-editing-area{overflow:hidden}.note-editor.note-frame .note-editing-area .note-editable{padding:10px;overflow:auto;color:#000;word-wrap:break-word;background-color:#fff}.note-editor.note-frame .note-editing-area .note-editable[contenteditable="false"]{background-color:#e5e5e5}.note-editor.note-frame .note-editing-area .note-codable{display:none;width:100%;padding:10px;margin-bottom:0;font-family:Menlo,Monaco,monospace,sans-serif;font-size:14px;color:#ccc;background-color:#222;border:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;box-shadow:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;resize:none}.note-editor.note-frame.fullscreen{position:fixed;top:0;left:0;z-index:1050;width:100%!important}.note-editor.note-frame.fullscreen .note-editable{background-color:#fff}.note-editor.note-frame.fullscreen .note-resizebar{display:none}.note-editor.note-frame .note-status-output{display:block;width:100%;height:20px;margin-bottom:0;font-size:14px;line-height:1.42857143;color:#000;border:0;border-top:1px solid #e2e2e2}.note-editor.note-frame .note-status-output:empty{height:0;border-top:0 solid transparent}.note-editor.note-frame .note-status-output .pull-right{float:right!important}.note-editor.note-frame .note-status-output .text-muted{color:#777}.note-editor.note-frame .note-status-output .text-primary{color:#286090}.note-editor.note-frame .note-status-output .text-success{color:#3c763d}.note-editor.note-frame .note-status-output .text-info{color:#31708f}.note-editor.note-frame .note-status-output .text-warning{color:#8a6d3b}.note-editor.note-frame .note-status-output .text-danger{color:#a94442}.note-editor.note-frame .note-status-output .alert{padding:7px 10px 2px 10px;margin:-7px 0 0 0;color:#000;background-color:#f5f5f5;border-radius:0}.note-editor.note-frame .note-status-output .alert .note-icon{margin-right:5px}.note-editor.note-frame .note-status-output .alert-success{color:#3c763d!important;background-color:#dff0d8!important}.note-editor.note-frame .note-status-output .alert-info{color:#31708f!important;background-color:#d9edf7!important}.note-editor.note-frame .note-status-output .alert-warning{color:#8a6d3b!important;background-color:#fcf8e3!important}.note-editor.note-frame .note-status-output .alert-danger{color:#a94442!important;background-color:#f2dede!important}.note-editor.note-frame .note-statusbar{background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.note-editor.note-frame .note-statusbar .note-resizebar{width:100%;height:9px;padding-top:1px;cursor:ns-resize}.note-editor.note-frame .note-statusbar .note-resizebar .note-icon-bar{width:20px;margin:1px auto;border-top:1px solid #a9a9a9}.note-editor.note-frame .note-statusbar.locked .note-resizebar{cursor:default}.note-editor.note-frame .note-statusbar.locked .note-resizebar .note-icon-bar{display:none}.note-editor.note-frame .note-placeholder{padding:10px}.note-popover.popover{display:none;max-width:none}.note-popover.popover .popover-content a{display:inline-block;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.note-popover.popover .arrow{left:20px!important}.note-toolbar{position:relative;z-index:500}.note-popover .popover-content,.card-header.note-toolbar{padding:0 0 5px 5px;margin:0}.note-popover .popover-content>.btn-group,.card-header.note-toolbar>.btn-group{margin-top:5px;margin-right:5px;margin-left:0}.note-popover .popover-content .btn-group .note-table,.card-header.note-toolbar .btn-group .note-table{min-width:0;padding:5px}.note-popover .popover-content .btn-group .note-table .note-dimension-picker,.card-header.note-toolbar .btn-group .note-table .note-dimension-picker{font-size:18px}.note-popover .popover-content .btn-group .note-table .note-dimension-picker .note-dimension-picker-mousecatcher,.card-header.note-toolbar .btn-group .note-table .note-dimension-picker .note-dimension-picker-mousecatcher{position:absolute!important;z-index:3;width:10em;height:10em;cursor:pointer}.note-popover .popover-content .btn-group .note-table .note-dimension-picker .note-dimension-picker-unhighlighted,.card-header.note-toolbar .btn-group .note-table .note-dimension-picker .note-dimension-picker-unhighlighted{position:relative!important;z-index:1;width:5em;height:5em;background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASAgMAAAAroGbEAAAACVBMVEUAAIj4+Pjp6ekKlAqjAAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfYAR0BKhmnaJzPAAAAG0lEQVQI12NgAAOtVatWMTCohoaGUY+EmIkEAEruEzK2J7tvAAAAAElFTkSuQmCC') repeat}.note-popover .popover-content .btn-group .note-table .note-dimension-picker .note-dimension-picker-highlighted,.card-header.note-toolbar .btn-group .note-table .note-dimension-picker .note-dimension-picker-highlighted{position:absolute!important;z-index:2;width:1em;height:1em;background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASAgMAAAAroGbEAAAACVBMVEUAAIjd6vvD2f9LKLW+AAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfYAR0BKwNDEVT0AAAAG0lEQVQI12NgAAOtVatWMTCohoaGUY+EmIkEAEruEzK2J7tvAAAAAElFTkSuQmCC') repeat}.note-popover .popover-content .note-style .dropdown-style blockquote,.card-header.note-toolbar .note-style .dropdown-style blockquote,.note-popover .popover-content .note-style .dropdown-style pre,.card-header.note-toolbar .note-style .dropdown-style pre{padding:5px 10px;margin:0}.note-popover .popover-content .note-style .dropdown-style h1,.card-header.note-toolbar .note-style .dropdown-style h1,.note-popover .popover-content .note-style .dropdown-style h2,.card-header.note-toolbar .note-style .dropdown-style h2,.note-popover .popover-content .note-style .dropdown-style h3,.card-header.note-toolbar .note-style .dropdown-style h3,.note-popover .popover-content .note-style .dropdown-style h4,.card-header.note-toolbar .note-style .dropdown-style h4,.note-popover .popover-content .note-style .dropdown-style h5,.card-header.note-toolbar .note-style .dropdown-style h5,.note-popover .popover-content .note-style .dropdown-style h6,.card-header.note-toolbar .note-style .dropdown-style h6,.note-popover .popover-content .note-style .dropdown-style p,.card-header.note-toolbar .note-style .dropdown-style p{padding:0;margin:0}.note-popover .popover-content .note-color .dropdown-toggle,.card-header.note-toolbar .note-color .dropdown-toggle{width:20px;padding-left:5px}.note-popover .popover-content .note-color .dropdown-menu,.card-header.note-toolbar .note-color .dropdown-menu{min-width:337px}.note-popover .popover-content .note-color .dropdown-menu .note-palette,.card-header.note-toolbar .note-color .dropdown-menu .note-palette{display:inline-block;width:160px;margin:0}.note-popover .popover-content .note-color .dropdown-menu .note-palette:first-child,.card-header.note-toolbar .note-color .dropdown-menu .note-palette:first-child{margin:0 5px}.note-popover .popover-content .note-color .dropdown-menu .note-palette .note-palette-title,.card-header.note-toolbar .note-color .dropdown-menu .note-palette .note-palette-title{margin:2px 7px;font-size:12px;text-align:center;border-bottom:1px solid #eee}.note-popover .popover-content .note-color .dropdown-menu .note-palette .note-color-reset,.card-header.note-toolbar .note-color .dropdown-menu .note-palette .note-color-reset{width:100%;padding:0 3px;margin:3px;font-size:11px;cursor:pointer;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.note-popover .popover-content .note-color .dropdown-menu .note-palette .note-color-row,.card-header.note-toolbar .note-color .dropdown-menu .note-palette .note-color-row{height:20px}.note-popover .popover-content .note-color .dropdown-menu .note-palette .note-color-reset:hover,.card-header.note-toolbar .note-color .dropdown-menu .note-palette .note-color-reset:hover{background:#eee}.note-popover .popover-content .note-para .dropdown-menu,.card-header.note-toolbar .note-para .dropdown-menu{min-width:216px;padding:5px}.note-popover .popover-content .note-para .dropdown-menu>div:first-child,.card-header.note-toolbar .note-para .dropdown-menu>div:first-child{margin-right:5px}.note-popover .popover-content .dropdown-menu,.card-header.note-toolbar .dropdown-menu{min-width:90px}.note-popover .popover-content .dropdown-menu.right,.card-header.note-toolbar .dropdown-menu.right{right:0;left:auto}.note-popover .popover-content .dropdown-menu.right::before,.card-header.note-toolbar .dropdown-menu.right::before{right:9px;left:auto!important}.note-popover .popover-content .dropdown-menu.right::after,.card-header.note-toolbar .dropdown-menu.right::after{right:10px;left:auto!important}.note-popover .popover-content .dropdown-menu.note-check a i,.card-header.note-toolbar .dropdown-menu.note-check a i{color:deepskyblue;visibility:hidden}.note-popover .popover-content .dropdown-menu.note-check a.checked i,.card-header.note-toolbar .dropdown-menu.note-check a.checked i{visibility:visible}.note-popover .popover-content .note-fontsize-10,.card-header.note-toolbar .note-fontsize-10{font-size:10px}.note-popover .popover-content .note-color-palette,.card-header.note-toolbar .note-color-palette{line-height:1}.note-popover .popover-content .note-color-palette div .note-color-btn,.card-header.note-toolbar .note-color-palette div .note-color-btn{width:20px;height:20px;padding:0;margin:0;border:1px solid #fff}.note-popover .popover-content .note-color-palette div .note-color-btn:hover,.card-header.note-toolbar .note-color-palette div .note-color-btn:hover{border:1px solid #000}.note-dialog>div{display:none}.note-dialog .form-group{margin-right:0;margin-left:0}.note-dialog .note-modal-form{margin:0}.note-dialog .note-image-dialog .note-dropzone{min-height:100px;margin-bottom:10px;font-size:30px;line-height:4;color:lightgray;text-align:center;border:4px dashed lightgray}@-moz-document url-prefix(){.note-image-input{height:auto}}.note-placeholder{position:absolute;display:none;color:gray}.note-handle .note-control-selection{position:absolute;display:none;border:1px solid black}.note-handle .note-control-selection>div{position:absolute}.note-handle .note-control-selection .note-control-selection-bg{width:100%;height:100%;background-color:black;-webkit-opacity:.3;-khtml-opacity:.3;-moz-opacity:.3;opacity:.3;-ms-filter:alpha(opacity=30);filter:alpha(opacity=30)}.note-handle .note-control-selection .note-control-handle{width:7px;height:7px;border:1px solid black}.note-handle .note-control-selection .note-control-holder{width:7px;height:7px;border:1px solid black}.note-handle .note-control-selection .note-control-sizing{width:7px;height:7px;background-color:white;border:1px solid black}.note-handle .note-control-selection .note-control-nw{top:-5px;left:-5px;border-right:0;border-bottom:0}.note-handle .note-control-selection .note-control-ne{top:-5px;right:-5px;border-bottom:0;border-left:none}.note-handle .note-control-selection .note-control-sw{bottom:-5px;left:-5px;border-top:0;border-right:0}.note-handle .note-control-selection .note-control-se{right:-5px;bottom:-5px;cursor:se-resize}.note-handle .note-control-selection .note-control-se.note-control-holder{cursor:default;border-top:0;border-left:none}.note-handle .note-control-selection .note-control-selection-info{right:0;bottom:0;padding:5px;margin:5px;font-size:12px;color:#fff;background-color:#000;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;-webkit-opacity:.7;-khtml-opacity:.7;-moz-opacity:.7;opacity:.7;-ms-filter:alpha(opacity=70);filter:alpha(opacity=70)}.note-hint-popover{min-width:100px;padding:2px}.note-hint-popover .popover-content{max-height:150px;padding:3px;overflow:auto}.note-hint-popover .popover-content .note-hint-group .note-hint-item{display:block!important;padding:3px}.note-hint-popover .popover-content .note-hint-group .note-hint-item.active,.note-hint-popover .popover-content .note-hint-group .note-hint-item:hover{display:block;clear:both;font-weight:400;line-height:1.4;color:#fff;text-decoration:none;white-space:nowrap;cursor:pointer;background-color:#428bca;outline:0}PK�{�\�xf�W�W�summernote.min.jsnu�[���/*! Summernote v0.8.10 | (c) 2013- Alan Hong and other contributors | MIT license */ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):e(t.jQuery)}(this,function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var e=function(){function e(t,e,o,n){this.markup=t,this.children=e,this.options=o,this.callback=n}return e.prototype.render=function(e){var o=t(this.markup);if(this.options&&this.options.contents&&o.html(this.options.contents),this.options&&this.options.className&&o.addClass(this.options.className),this.options&&this.options.data&&t.each(this.options.data,function(t,e){o.attr("data-"+t,e)}),this.options&&this.options.click&&o.on("click",this.options.click),this.children){var n=o.find(".note-children-container");this.children.forEach(function(t){t.render(n.length?n:o)})}return this.callback&&this.callback(o,this.options),this.options&&this.options.callback&&this.options.callback(o),e&&e.append(o),o},e}(),o=function(o,n){return function(){var i="object"==typeof arguments[1]?arguments[1]:arguments[0],r=t.isArray(arguments[0])?arguments[0]:[];return i&&i.children&&(r=i.children),new e(o,r,i,n)}},n=o('<div class="note-editor note-frame panel"/>'),i=o('<div class="note-toolbar-wrapper panel-default"><div class="note-toolbar panel-heading" role="toolbar"></div></div>'),r=o('<div class="note-editing-area"/>'),s=o('<textarea class="note-codable" role="textbox" aria-multiline="true"/>'),a=o('<div class="note-editable" contentEditable="true" role="textbox" aria-multiline="true"/>'),l=o(['<output class="note-status-output" aria-live="polite"/>','<div class="note-statusbar" role="status">',' <div class="note-resizebar" role="seperator" aria-orientation="horizontal" aria-label="Resize">',' <div class="note-icon-bar"/>',' <div class="note-icon-bar"/>',' <div class="note-icon-bar"/>'," </div>","</div>"].join("")),c=o('<div class="note-editor"/>'),d=o([' <output class="note-status-output" aria-live="polite"/>','<div class="note-editable" contentEditable="true" role="textbox" aria-multiline="true"/>'].join("")),u=o('<div class="note-btn-group btn-group">'),h=o('<ul class="dropdown-menu" role="list">',function(e,o){var n=t.isArray(o.items)?o.items.map(function(t){var e="string"==typeof t?t:t.value||"",n=o.template?o.template(t):t,i="object"==typeof t?t.option:void 0;return'<li role="listitem" aria-label="'+t+'"><a href="#" '+('data-value="'+e+'"'+(void 0!==i?' data-option="'+i+'"':""))+">"+n+"</a></li>"}).join(""):o.items;e.html(n).attr({"aria-label":o.title})}),p=o('<ul class="dropdown-menu note-check" role="list">',function(e,o){var n=t.isArray(o.items)?o.items.map(function(t){var e="string"==typeof t?t:t.value||"",n=o.template?o.template(t):t;return'<li role="listitem" aria-label="'+t+'"><a href="#" data-value="'+e+'">'+b(o.checkClassName)+" "+n+"</a></li>"}).join(""):o.items;e.html(n).attr({"aria-label":o.title})}),f=o('<div class="note-color-palette"/>',function(t,e){for(var o=[],n=0,i=e.colors.length;n<i;n++){for(var r=e.eventName,s=e.colors[n],a=e.colorsName[n],l=[],c=0,d=s.length;c<d;c++){var u=s[c],h=a[c];l.push(['<button type="button" class="note-color-btn"','style="background-color:',u,'" ','data-event="',r,'" ','data-value="',u,'" ','title="',h,'" ','aria-label="',h,'" ','data-toggle="button" tabindex="-1"></button>'].join(""))}o.push('<div class="note-color-row">'+l.join("")+"</div>")}t.html(o.join("")),e.tooltip&&t.find(".note-color-btn").tooltip({container:e.container,trigger:"hover",placement:"bottom"})}),m=o('<div class="modal" aria-hidden="false" tabindex="-1" role="dialog"/>',function(t,e){e.fade&&t.addClass("fade"),t.attr({"aria-label":e.title}),t.html(['<div class="modal-dialog">',' <div class="modal-content">',e.title?' <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close" aria-hidden="true">×</button> <h4 class="modal-title">'+e.title+"</h4> </div>":"",' <div class="modal-body">'+e.body+"</div>",e.footer?' <div class="modal-footer">'+e.footer+"</div>":""," </div>","</div>"].join(""))}),g=o(['<div class="note-popover popover in">',' <div class="arrow"/>',' <div class="popover-content note-children-container"/>',"</div>"].join(""),function(t,e){var o=void 0!==e.direction?e.direction:"bottom";t.addClass(o),e.hideArrow&&t.find(".arrow").hide()}),v=o('<div class="checkbox"></div>',function(t,e){t.html([" <label"+(e.id?' for="'+e.id+'"':"")+">",' <input role="checkbox" type="checkbox"'+(e.id?' id="'+e.id+'"':""),e.checked?" checked":"",' aria-checked="'+(e.checked?"true":"false")+'"/>',e.text?e.text:"","</label>"].join(""))}),b=function(t,e){return"<"+(e=e||"i")+' class="'+t+'"/>'},y={editor:n,toolbar:i,editingArea:r,codable:s,editable:a,statusbar:l,airEditor:c,airEditable:d,buttonGroup:u,dropdown:h,dropdownButtonContents:function(t,e){return t+" "+b(e.icons.caret,"span")},dropdownCheck:p,palette:f,dialog:m,popover:g,checkbox:v,icon:b,options:{},button:function(t,e){return o('<button type="button" class="note-btn btn btn-default btn-sm" role="button" tabindex="-1">',function(t,e){e&&e.tooltip&&t.attr({title:e.tooltip,"aria-label":e.tooltip}).tooltip({container:e.container,trigger:"hover",placement:"bottom"})})(t,e)},toggleBtn:function(t,e){t.toggleClass("disabled",!e),t.attr("disabled",!e)},toggleBtnActive:function(t,e){t.toggleClass("active",e)},onDialogShown:function(t,e){t.one("shown.bs.modal",e)},onDialogHidden:function(t,e){t.one("hidden.bs.modal",e)},showDialog:function(t){t.modal("show")},hideDialog:function(t){t.modal("hide")},createLayout:function(t,e){var o=(e.airMode?y.airEditor([y.editingArea([y.airEditable()])]):y.editor([y.toolbar(),y.editingArea([y.codable(),y.editable()]),y.statusbar()])).render();return o.insertAfter(t),{note:t,editor:o,toolbar:o.find(".note-toolbar"),editingArea:o.find(".note-editing-area"),editable:o.find(".note-editable"),codable:o.find(".note-codable"),statusbar:o.find(".note-statusbar")}},removeLayout:function(t,e){t.html(e.editable.html()),e.editor.remove(),t.show()}};var k=0;var C={eq:function(t){return function(e){return t===e}},eq2:function(t,e){return t===e},peq2:function(t){return function(e,o){return e[t]===o[t]}},ok:function(){return!0},fail:function(){return!1},self:function(t){return t},not:function(t){return function(){return!t.apply(t,arguments)}},and:function(t,e){return function(o){return t(o)&&e(o)}},invoke:function(t,e){return function(){return t[e].apply(t,arguments)}},uniqueId:function(t){var e=++k+"";return t?t+e:e},rect2bnd:function(t){var e=$(document);return{top:t.top+e.scrollTop(),left:t.left+e.scrollLeft(),width:t.right-t.left,height:t.bottom-t.top}},invertObject:function(t){var e={};for(var o in t)t.hasOwnProperty(o)&&(e[t[o]]=o);return e},namespaceToCamel:function(t,e){return(e=e||"")+t.split(".").map(function(t){return t.substring(0,1).toUpperCase()+t.substring(1)}).join("")},debounce:function(t,e,o){var n,i=this;return function(){var r=i,s=arguments,a=o&&!n;clearTimeout(n),n=setTimeout(function(){n=null,o||t.apply(r,s)},e),a&&t.apply(r,s)}}};function w(t){return t[0]}function x(t){return t[t.length-1]}function S(t){return t.slice(1)}function T(e,o){return t.inArray(o,e)}function I(t,e){return-1!==T(t,e)}var N={head:w,last:x,initial:function(t){return t.slice(0,t.length-1)},tail:S,prev:function(t,e){var o=T(t,e);return-1===o?null:t[o-1]},next:function(t,e){var o=T(t,e);return-1===o?null:t[o+1]},find:function(t,e){for(var o=0,n=t.length;o<n;o++){var i=t[o];if(e(i))return i}},contains:I,all:function(t,e){for(var o=0,n=t.length;o<n;o++)if(!e(t[o]))return!1;return!0},sum:function(t,e){return e=e||C.self,t.reduce(function(t,o){return t+e(o)},0)},from:function(t){for(var e=[],o=t.length,n=-1;++n<o;)e[n]=t[n];return e},isEmpty:function(t){return!t||!t.length},clusterBy:function(t,e){return t.length?S(t).reduce(function(t,o){var n=x(t);return e(x(n),o)?n[n.length]=o:t[t.length]=[o],t},[[w(t)]]):[]},compact:function(t){for(var e=[],o=0,n=t.length;o<n;o++)t[o]&&e.push(t[o]);return e},unique:function(t){for(var e=[],o=0,n=t.length;o<n;o++)I(e,t[o])||e.push(t[o]);return e}},E="function"==typeof define&&define.amd;var A,R=navigator.userAgent,P=/MSIE|Trident/i.test(R);if(P){var L=/MSIE (\d+[.]\d+)/.exec(R);L&&(A=parseFloat(L[1])),(L=/Trident\/.*rv:([0-9]{1,}[.0-9]{0,})/.exec(R))&&(A=parseFloat(L[1]))}var H=/Edge\/\d+/.test(R),D=!!window.CodeMirror;if(!D&&E)if("function"==typeof __webpack_require__)try{require.resolve("codemirror"),D=!0}catch(t){}else if("undefined"!=typeof require)if(void 0!==require.resolve)try{require.resolve("codemirror"),D=!0}catch(t){}else void 0!==require.specified&&(D=require.specified("codemirror"));var F="ontouchstart"in window||navigator.MaxTouchPoints>0||navigator.msMaxTouchPoints>0,B=P||H?"DOMCharacterDataModified DOMSubtreeModified DOMNodeInserted":"input",z={isMac:navigator.appVersion.indexOf("Mac")>-1,isMSIE:P,isEdge:H,isFF:!H&&/firefox/i.test(R),isPhantom:/PhantomJS/i.test(R),isWebkit:!H&&/webkit/i.test(R),isChrome:!H&&/chrome/i.test(R),isSafari:!H&&/safari/i.test(R),browserVersion:A,jqueryVersion:parseFloat(t.fn.jquery),isSupportAmd:E,isSupportTouch:F,hasCodeMirror:D,isFontInstalled:function(e){var o="Comic Sans MS"===e?"Courier New":"Comic Sans MS",n=t("<div>").css({position:"absolute",left:"-9999px",top:"-9999px",fontSize:"200px"}).text("mmmmmmmmmwwwwwww").appendTo(document.body),i=n.css("fontFamily",o).width(),r=n.css("fontFamily",e+","+o).width();return n.remove(),i!==r},isW3CRangeSupport:!!document.createRange,inputEventName:B},M=String.fromCharCode(160);function O(e){return e&&t(e).hasClass("note-editable")}function U(t){return t=t.toUpperCase(),function(e){return e&&e.nodeName.toUpperCase()===t}}function j(t){return t&&3===t.nodeType}function q(t){return t&&/^BR|^IMG|^HR|^IFRAME|^BUTTON|^INPUT/.test(t.nodeName.toUpperCase())}function K(t){return!O(t)&&(t&&/^DIV|^P|^LI|^H[1-7]/.test(t.nodeName.toUpperCase()))}var V=U("PRE"),W=U("LI");var G=U("TABLE"),_=U("DATA");function Z(t){return!(tt(t)||Y(t)||Q(t)||K(t)||G(t)||X(t)||_(t))}function Y(t){return t&&/^UL|^OL/.test(t.nodeName.toUpperCase())}var Q=U("HR");function J(t){return t&&/^TD|^TH/.test(t.nodeName.toUpperCase())}var X=U("BLOCKQUOTE");function tt(t){return J(t)||X(t)||O(t)}var et=U("A");var ot=U("BODY");var nt=z.isMSIE&&z.browserVersion<11?" ":"<br>";function it(t){return j(t)?t.nodeValue.length:t?t.childNodes.length:0}function rt(t){var e=it(t);return 0===e||(!j(t)&&1===e&&t.innerHTML===nt||!(!N.all(t.childNodes,j)||""!==t.innerHTML))}function st(t){q(t)||it(t)||(t.innerHTML=nt)}function at(t,e){for(;t;){if(e(t))return t;if(O(t))break;t=t.parentNode}return null}function lt(t,e){e=e||C.fail;var o=[];return at(t,function(t){return O(t)||o.push(t),e(t)}),o}function ct(t,e){e=e||C.fail;for(var o=[];t&&!e(t);)o.push(t),t=t.nextSibling;return o}function dt(t,e){var o=e.nextSibling,n=e.parentNode;return o?n.insertBefore(t,o):n.appendChild(t),t}function ut(e,o){return t.each(o,function(t,o){e.appendChild(o)}),e}function ht(t){return 0===t.offset}function pt(t){return t.offset===it(t.node)}function ft(t){return ht(t)||pt(t)}function mt(t,e){for(;t&&t!==e;){if(0!==vt(t))return!1;t=t.parentNode}return!0}function gt(t,e){if(!e)return!1;for(;t&&t!==e;){if(vt(t)!==it(t.parentNode)-1)return!1;t=t.parentNode}return!0}function vt(t){for(var e=0;t=t.previousSibling;)e+=1;return e}function bt(t){return!!(t&&t.childNodes&&t.childNodes.length)}function yt(t,e){var o,n;if(0===t.offset){if(O(t.node))return null;o=t.node.parentNode,n=vt(t.node)}else bt(t.node)?n=it(o=t.node.childNodes[t.offset-1]):(o=t.node,n=e?0:t.offset-1);return{node:o,offset:n}}function kt(t,e){var o,n;if(it(t.node)===t.offset){if(O(t.node))return null;o=t.node.parentNode,n=vt(t.node)+1}else bt(t.node)?(o=t.node.childNodes[t.offset],n=0):(o=t.node,n=e?it(t.node):t.offset+1);return{node:o,offset:n}}function Ct(t,e){return t.node===e.node&&t.offset===e.offset}function wt(t,e){var o=e&&e.isSkipPaddingBlankHTML,n=e&&e.isNotSplitEdgePoint;if(ft(t)&&(j(t.node)||n)){if(ht(t))return t.node;if(pt(t))return t.node.nextSibling}if(j(t.node))return t.node.splitText(t.offset);var i=t.node.childNodes[t.offset],r=dt(t.node.cloneNode(!1),t.node);return ut(r,ct(i)),o||(st(t.node),st(r)),r}function xt(t,e,o){var n=lt(e.node,C.eq(t));return n.length?1===n.length?wt(e,o):n.reduce(function(t,n){return t===e.node&&(t=wt(e,o)),wt({node:n,offset:t?vt(t):it(n)},o)}):null}function St(t){return document.createElement(t)}function Tt(t,e){if(t&&t.parentNode){if(t.removeNode)return t.removeNode(e);var o=t.parentNode;if(!e){for(var n=[],i=0,r=t.childNodes.length;i<r;i++)n.push(t.childNodes[i]);for(i=0,r=n.length;i<r;i++)o.insertBefore(n[i],t)}o.removeChild(t)}}var It=U("TEXTAREA");function $t(t,e){var o=It(t[0])?t.val():t.html();return e?o.replace(/[\n\r]/g,""):o}var Nt={NBSP_CHAR:M,ZERO_WIDTH_NBSP_CHAR:"\ufeff",blank:nt,emptyPara:"<p>"+nt+"</p>",makePredByNodeName:U,isEditable:O,isControlSizing:function(e){return e&&t(e).hasClass("note-control-sizing")},isText:j,isElement:function(t){return t&&1===t.nodeType},isVoid:q,isPara:K,isPurePara:function(t){return K(t)&&!W(t)},isHeading:function(t){return t&&/^H[1-7]/.test(t.nodeName.toUpperCase())},isInline:Z,isBlock:C.not(Z),isBodyInline:function(t){return Z(t)&&!at(t,K)},isBody:ot,isParaInline:function(t){return Z(t)&&!!at(t,K)},isPre:V,isList:Y,isTable:G,isData:_,isCell:J,isBlockquote:X,isBodyContainer:tt,isAnchor:et,isDiv:U("DIV"),isLi:W,isBR:U("BR"),isSpan:U("SPAN"),isB:U("B"),isU:U("U"),isS:U("S"),isI:U("I"),isImg:U("IMG"),isTextarea:It,isEmpty:rt,isEmptyAnchor:C.and(et,rt),isClosestSibling:function(t,e){return t.nextSibling===e||t.previousSibling===e},withClosestSiblings:function(t,e){e=e||C.ok;var o=[];return t.previousSibling&&e(t.previousSibling)&&o.push(t.previousSibling),o.push(t),t.nextSibling&&e(t.nextSibling)&&o.push(t.nextSibling),o},nodeLength:it,isLeftEdgePoint:ht,isRightEdgePoint:pt,isEdgePoint:ft,isLeftEdgeOf:mt,isRightEdgeOf:gt,isLeftEdgePointOf:function(t,e){return ht(t)&&mt(t.node,e)},isRightEdgePointOf:function(t,e){return pt(t)&>(t.node,e)},prevPoint:yt,nextPoint:kt,isSamePoint:Ct,isVisiblePoint:function(t){if(j(t.node)||!bt(t.node)||rt(t.node))return!0;var e=t.node.childNodes[t.offset-1],o=t.node.childNodes[t.offset];return!(e&&!q(e)||o&&!q(o))},prevPointUntil:function(t,e){for(;t;){if(e(t))return t;t=yt(t)}return null},nextPointUntil:function(t,e){for(;t;){if(e(t))return t;t=kt(t)}return null},isCharPoint:function(t){if(!j(t.node))return!1;var e=t.node.nodeValue.charAt(t.offset-1);return e&&" "!==e&&e!==M},walkPoint:function(t,e,o,n){for(var i=t;i&&(o(i),!Ct(i,e));)i=kt(i,n&&t.node!==i.node&&e.node!==i.node)},ancestor:at,singleChildAncestor:function(t,e){for(t=t.parentNode;t&&1===it(t);){if(e(t))return t;if(O(t))break;t=t.parentNode}return null},listAncestor:lt,lastAncestor:function(t,e){var o=lt(t);return N.last(o.filter(e))},listNext:ct,listPrev:function(t,e){e=e||C.fail;for(var o=[];t&&!e(t);)o.push(t),t=t.previousSibling;return o},listDescendant:function(t,e){var o=[];return e=e||C.ok,function n(i){t!==i&&e(i)&&o.push(i);for(var r=0,s=i.childNodes.length;r<s;r++)n(i.childNodes[r])}(t),o},commonAncestor:function(e,o){for(var n=lt(e),i=o;i;i=i.parentNode)if(t.inArray(i,n)>-1)return i;return null},wrap:function(e,o){var n=e.parentNode,i=t("<"+o+">")[0];return n.insertBefore(i,e),i.appendChild(e),i},insertAfter:dt,appendChildNodes:ut,position:vt,hasChildren:bt,makeOffsetPath:function(t,e){return lt(e,C.eq(t)).map(vt).reverse()},fromOffsetPath:function(t,e){for(var o=t,n=0,i=e.length;n<i;n++)o=o.childNodes.length<=e[n]?o.childNodes[o.childNodes.length-1]:o.childNodes[e[n]];return o},splitTree:xt,splitPoint:function(t,e){var o,n,i=e?K:tt,r=lt(t.node,i),s=N.last(r)||t.node;i(s)?(o=r[r.length-2],n=s):n=(o=s).parentNode;var a=o&&xt(o,t,{isSkipPaddingBlankHTML:e,isNotSplitEdgePoint:e});return a||n!==t.node||(a=t.node.childNodes[t.offset]),{rightNode:a,container:n}},create:St,createText:function(t){return document.createTextNode(t)},remove:Tt,removeWhile:function(t,e){for(;t&&!O(t)&&e(t);){var o=t.parentNode;Tt(t),t=o}},replace:function(t,e){if(t.nodeName.toUpperCase()===e.toUpperCase())return t;var o=St(e);return t.style.cssText&&(o.style.cssText=t.style.cssText),ut(o,N.from(t.childNodes)),dt(o,t),Tt(t),o},html:function(e,o){var n=$t(e);o&&(n=n.replace(/<(\/?)(\b(?!!)[^>\s]*)(.*?)(\s*\/?>)/g,function(t,e,o){o=o.toUpperCase();var n=/^DIV|^TD|^TH|^P|^LI|^H[1-7]/.test(o)&&!!e,i=/^BLOCKQUOTE|^TABLE|^TBODY|^TR|^HR|^UL|^OL/.test(o);return t+(n||i?"\n":"")}),n=t.trim(n));return n},value:$t,posFromPlaceholder:function(e){var o=t(e),n=o.offset(),i=o.outerHeight(!0);return{left:n.left,top:n.top+i}},attachEvents:function(t,e){Object.keys(e).forEach(function(o){t.on(o,e[o])})},detachEvents:function(t,e){Object.keys(e).forEach(function(o){t.off(o,e[o])})},isCustomStyleTag:function(t){return t&&!j(t)&&N.contains(t.classList,"note-styletag")}};t.summernote=t.summernote||{lang:{}},t.extend(t.summernote.lang,{"en-US":{font:{bold:"Bold",italic:"Italic",underline:"Underline",clear:"Remove Font Style",height:"Line Height",name:"Font Family",strikethrough:"Strikethrough",subscript:"Subscript",superscript:"Superscript",size:"Font Size"},image:{image:"Picture",insert:"Insert Image",resizeFull:"Resize Full",resizeHalf:"Resize Half",resizeQuarter:"Resize Quarter",floatLeft:"Float Left",floatRight:"Float Right",floatNone:"Float None",shapeRounded:"Shape: Rounded",shapeCircle:"Shape: Circle",shapeThumbnail:"Shape: Thumbnail",shapeNone:"Shape: None",dragImageHere:"Drag image or text here",dropImage:"Drop image or Text",selectFromFiles:"Select from files",maximumFileSize:"Maximum file size",maximumFileSizeError:"Maximum file size exceeded.",url:"Image URL",remove:"Remove Image",original:"Original"},video:{video:"Video",videoLink:"Video Link",insert:"Insert Video",url:"Video URL",providers:"(YouTube, Vimeo, Vine, Instagram, DailyMotion or Youku)"},link:{link:"Link",insert:"Insert Link",unlink:"Unlink",edit:"Edit",textToDisplay:"Text to display",url:"To what URL should this link go?",openInNewWindow:"Open in new window"},table:{table:"Table",addRowAbove:"Add row above",addRowBelow:"Add row below",addColLeft:"Add column left",addColRight:"Add column right",delRow:"Delete row",delCol:"Delete column",delTable:"Delete table"},hr:{insert:"Insert Horizontal Rule"},style:{style:"Style",p:"Normal",blockquote:"Quote",pre:"Code",h1:"Header 1",h2:"Header 2",h3:"Header 3",h4:"Header 4",h5:"Header 5",h6:"Header 6"},lists:{unordered:"Unordered list",ordered:"Ordered list"},options:{help:"Help",fullscreen:"Full Screen",codeview:"Code View"},paragraph:{paragraph:"Paragraph",outdent:"Outdent",indent:"Indent",left:"Align left",center:"Align center",right:"Align right",justify:"Justify full"},color:{recent:"Recent Color",more:"More Color",background:"Background Color",foreground:"Foreground Color",transparent:"Transparent",setTransparent:"Set transparent",reset:"Reset",resetToDefault:"Reset to default"},shortcut:{shortcuts:"Keyboard shortcuts",close:"Close",textFormatting:"Text formatting",action:"Action",paragraphFormatting:"Paragraph formatting",documentStyle:"Document Style",extraKeys:"Extra keys"},help:{insertParagraph:"Insert Paragraph",undo:"Undoes the last command",redo:"Redoes the last command",tab:"Tab",untab:"Untab",bold:"Set a bold style",italic:"Set a italic style",underline:"Set a underline style",strikethrough:"Set a strikethrough style",removeFormat:"Clean a style",justifyLeft:"Set left align",justifyCenter:"Set center align",justifyRight:"Set right align",justifyFull:"Set full align",insertUnorderedList:"Toggle unordered list",insertOrderedList:"Toggle ordered list",outdent:"Outdent on current paragraph",indent:"Indent on current paragraph",formatPara:"Change current block's format as a paragraph(P tag)",formatH1:"Change current block's format as H1",formatH2:"Change current block's format as H2",formatH3:"Change current block's format as H3",formatH4:"Change current block's format as H4",formatH5:"Change current block's format as H5",formatH6:"Change current block's format as H6",insertHorizontalRule:"Insert horizontal rule","linkDialog.show":"Show Link Dialog"},history:{undo:"Undo",redo:"Redo"},specialChar:{specialChar:"SPECIAL CHARACTERS",select:"Select Special characters"}}});var Et={BACKSPACE:8,TAB:9,ENTER:13,SPACE:32,DELETE:46,LEFT:37,UP:38,RIGHT:39,DOWN:40,NUM0:48,NUM1:49,NUM2:50,NUM3:51,NUM4:52,NUM5:53,NUM6:54,NUM7:55,NUM8:56,B:66,E:69,I:73,J:74,K:75,L:76,R:82,S:83,U:85,V:86,Y:89,Z:90,SLASH:191,LEFTBRACKET:219,BACKSLASH:220,RIGHTBRACKET:221},At={isEdit:function(t){return N.contains([Et.BACKSPACE,Et.TAB,Et.ENTER,Et.SPACE,Et.DELETE],t)},isMove:function(t){return N.contains([Et.LEFT,Et.UP,Et.RIGHT,Et.DOWN],t)},nameFromCode:C.invertObject(Et),code:Et};function Rt(t,e){var o,n,i=t.parentElement(),r=document.body.createTextRange(),s=N.from(i.childNodes);for(o=0;o<s.length;o++)if(!Nt.isText(s[o])){if(r.moveToElementText(s[o]),r.compareEndPoints("StartToStart",t)>=0)break;n=s[o]}if(0!==o&&Nt.isText(s[o-1])){var a=document.body.createTextRange(),l=null;a.moveToElementText(n||i),a.collapse(!n),l=n?n.nextSibling:i.firstChild;var c=t.duplicate();c.setEndPoint("StartToStart",a);for(var d=c.text.replace(/[\r\n]/g,"").length;d>l.nodeValue.length&&l.nextSibling;)d-=l.nodeValue.length,l=l.nextSibling;l.nodeValue;e&&l.nextSibling&&Nt.isText(l.nextSibling)&&d===l.nodeValue.length&&(d-=l.nodeValue.length,l=l.nextSibling),i=l,o=d}return{cont:i,offset:o}}function Pt(t){var e=function(t,o){var n,i;if(Nt.isText(t)){var r=Nt.listPrev(t,C.not(Nt.isText)),s=N.last(r).previousSibling;n=s||t.parentNode,o+=N.sum(N.tail(r),Nt.nodeLength),i=!s}else{if(n=t.childNodes[o]||t,Nt.isText(n))return e(n,0);o=0,i=!1}return{node:n,collapseToStart:i,offset:o}},o=document.body.createTextRange(),n=e(t.node,t.offset);return o.moveToElementText(n.node),o.collapse(n.collapseToStart),o.moveStart("character",n.offset),o}var Lt=function(){function e(t,e,o,n){this.sc=t,this.so=e,this.ec=o,this.eo=n,this.isOnEditable=this.makeIsOn(Nt.isEditable),this.isOnList=this.makeIsOn(Nt.isList),this.isOnAnchor=this.makeIsOn(Nt.isAnchor),this.isOnCell=this.makeIsOn(Nt.isCell),this.isOnData=this.makeIsOn(Nt.isData)}return e.prototype.nativeRange=function(){if(z.isW3CRangeSupport){var t=document.createRange();return t.setStart(this.sc,this.so),t.setEnd(this.ec,this.eo),t}var e=Pt({node:this.sc,offset:this.so});return e.setEndPoint("EndToEnd",Pt({node:this.ec,offset:this.eo})),e},e.prototype.getPoints=function(){return{sc:this.sc,so:this.so,ec:this.ec,eo:this.eo}},e.prototype.getStartPoint=function(){return{node:this.sc,offset:this.so}},e.prototype.getEndPoint=function(){return{node:this.ec,offset:this.eo}},e.prototype.select=function(){var t=this.nativeRange();if(z.isW3CRangeSupport){var e=document.getSelection();e.rangeCount>0&&e.removeAllRanges(),e.addRange(t)}else t.select();return this},e.prototype.scrollIntoView=function(e){var o=t(e).height();return e.scrollTop+o<this.sc.offsetTop&&(e.scrollTop+=Math.abs(e.scrollTop+o-this.sc.offsetTop)),this},e.prototype.normalize=function(){var t=function(t,e){if(Nt.isVisiblePoint(t)&&!Nt.isEdgePoint(t)||Nt.isVisiblePoint(t)&&Nt.isRightEdgePoint(t)&&!e||Nt.isVisiblePoint(t)&&Nt.isLeftEdgePoint(t)&&e||Nt.isVisiblePoint(t)&&Nt.isBlock(t.node)&&Nt.isEmpty(t.node))return t;var o=Nt.ancestor(t.node,Nt.isBlock);if((Nt.isLeftEdgePointOf(t,o)||Nt.isVoid(Nt.prevPoint(t).node))&&!e||(Nt.isRightEdgePointOf(t,o)||Nt.isVoid(Nt.nextPoint(t).node))&&e){if(Nt.isVisiblePoint(t))return t;e=!e}return(e?Nt.nextPointUntil(Nt.nextPoint(t),Nt.isVisiblePoint):Nt.prevPointUntil(Nt.prevPoint(t),Nt.isVisiblePoint))||t},o=t(this.getEndPoint(),!1),n=this.isCollapsed()?o:t(this.getStartPoint(),!0);return new e(n.node,n.offset,o.node,o.offset)},e.prototype.nodes=function(t,e){t=t||C.ok;var o=e&&e.includeAncestor,n=e&&e.fullyContains,i=this.getStartPoint(),r=this.getEndPoint(),s=[],a=[];return Nt.walkPoint(i,r,function(e){var i;Nt.isEditable(e.node)||(n?(Nt.isLeftEdgePoint(e)&&a.push(e.node),Nt.isRightEdgePoint(e)&&N.contains(a,e.node)&&(i=e.node)):i=o?Nt.ancestor(e.node,t):e.node,i&&t(i)&&s.push(i))},!0),N.unique(s)},e.prototype.commonAncestor=function(){return Nt.commonAncestor(this.sc,this.ec)},e.prototype.expand=function(t){var o=Nt.ancestor(this.sc,t),n=Nt.ancestor(this.ec,t);if(!o&&!n)return new e(this.sc,this.so,this.ec,this.eo);var i=this.getPoints();return o&&(i.sc=o,i.so=0),n&&(i.ec=n,i.eo=Nt.nodeLength(n)),new e(i.sc,i.so,i.ec,i.eo)},e.prototype.collapse=function(t){return t?new e(this.sc,this.so,this.sc,this.so):new e(this.ec,this.eo,this.ec,this.eo)},e.prototype.splitText=function(){var t=this.sc===this.ec,o=this.getPoints();return Nt.isText(this.ec)&&!Nt.isEdgePoint(this.getEndPoint())&&this.ec.splitText(this.eo),Nt.isText(this.sc)&&!Nt.isEdgePoint(this.getStartPoint())&&(o.sc=this.sc.splitText(this.so),o.so=0,t&&(o.ec=o.sc,o.eo=this.eo-this.so)),new e(o.sc,o.so,o.ec,o.eo)},e.prototype.deleteContents=function(){if(this.isCollapsed())return this;var o=this.splitText(),n=o.nodes(null,{fullyContains:!0}),i=Nt.prevPointUntil(o.getStartPoint(),function(t){return!N.contains(n,t.node)}),r=[];return t.each(n,function(t,e){var o=e.parentNode;i.node!==o&&1===Nt.nodeLength(o)&&r.push(o),Nt.remove(e,!1)}),t.each(r,function(t,e){Nt.remove(e,!1)}),new e(i.node,i.offset,i.node,i.offset).normalize()},e.prototype.makeIsOn=function(t){return function(){var e=Nt.ancestor(this.sc,t);return!!e&&e===Nt.ancestor(this.ec,t)}},e.prototype.isLeftEdgeOf=function(t){if(!Nt.isLeftEdgePoint(this.getStartPoint()))return!1;var e=Nt.ancestor(this.sc,t);return e&&Nt.isLeftEdgeOf(this.sc,e)},e.prototype.isCollapsed=function(){return this.sc===this.ec&&this.so===this.eo},e.prototype.wrapBodyInlineWithPara=function(){if(Nt.isBodyContainer(this.sc)&&Nt.isEmpty(this.sc))return this.sc.innerHTML=Nt.emptyPara,new e(this.sc.firstChild,0,this.sc.firstChild,0);var t,o=this.normalize();if(Nt.isParaInline(this.sc)||Nt.isPara(this.sc))return o;if(Nt.isInline(o.sc)){var n=Nt.listAncestor(o.sc,C.not(Nt.isInline));t=N.last(n),Nt.isInline(t)||(t=n[n.length-2]||o.sc.childNodes[o.so])}else t=o.sc.childNodes[o.so>0?o.so-1:0];var i=Nt.listPrev(t,Nt.isParaInline).reverse();if((i=i.concat(Nt.listNext(t.nextSibling,Nt.isParaInline))).length){var r=Nt.wrap(N.head(i),"p");Nt.appendChildNodes(r,N.tail(i))}return this.normalize()},e.prototype.insertNode=function(t){var e=this.wrapBodyInlineWithPara().deleteContents(),o=Nt.splitPoint(e.getStartPoint(),Nt.isInline(t));return o.rightNode?o.rightNode.parentNode.insertBefore(t,o.rightNode):o.container.appendChild(t),t},e.prototype.pasteHTML=function(e){var o=t("<div></div>").html(e)[0],n=N.from(o.childNodes),i=this.wrapBodyInlineWithPara().deleteContents();return n.reverse().map(function(t){return i.insertNode(t)}).reverse()},e.prototype.toString=function(){var t=this.nativeRange();return z.isW3CRangeSupport?t.toString():t.text},e.prototype.getWordRange=function(t){var o=this.getEndPoint();if(!Nt.isCharPoint(o))return this;var n=Nt.prevPointUntil(o,function(t){return!Nt.isCharPoint(t)});return t&&(o=Nt.nextPointUntil(o,function(t){return!Nt.isCharPoint(t)})),new e(n.node,n.offset,o.node,o.offset)},e.prototype.bookmark=function(t){return{s:{path:Nt.makeOffsetPath(t,this.sc),offset:this.so},e:{path:Nt.makeOffsetPath(t,this.ec),offset:this.eo}}},e.prototype.paraBookmark=function(t){return{s:{path:N.tail(Nt.makeOffsetPath(N.head(t),this.sc)),offset:this.so},e:{path:N.tail(Nt.makeOffsetPath(N.last(t),this.ec)),offset:this.eo}}},e.prototype.getClientRects=function(){return this.nativeRange().getClientRects()},e}(),Ht={create:function(t,e,o,n){if(4===arguments.length)return new Lt(t,e,o,n);if(2===arguments.length)return new Lt(t,e,o=t,n=e);var i=this.createFromSelection();return i||1!==arguments.length?i:(i=this.createFromNode(arguments[0])).collapse(Nt.emptyPara===arguments[0].innerHTML)},createFromSelection:function(){var t,e,o,n;if(z.isW3CRangeSupport){var i=document.getSelection();if(!i||0===i.rangeCount)return null;if(Nt.isBody(i.anchorNode))return null;var r=i.getRangeAt(0);t=r.startContainer,e=r.startOffset,o=r.endContainer,n=r.endOffset}else{var s=document.selection.createRange(),a=s.duplicate();a.collapse(!1);var l=s;l.collapse(!0);var c=Rt(l,!0),d=Rt(a,!1);Nt.isText(c.node)&&Nt.isLeftEdgePoint(c)&&Nt.isTextNode(d.node)&&Nt.isRightEdgePoint(d)&&d.node.nextSibling===c.node&&(c=d),t=c.cont,e=c.offset,o=d.cont,n=d.offset}return new Lt(t,e,o,n)},createFromNode:function(t){var e=t,o=0,n=t,i=Nt.nodeLength(n);return Nt.isVoid(e)&&(o=Nt.listPrev(e).length-1,e=e.parentNode),Nt.isBR(n)?(i=Nt.listPrev(n).length-1,n=n.parentNode):Nt.isVoid(n)&&(i=Nt.listPrev(n).length,n=n.parentNode),this.create(e,o,n,i)},createFromNodeBefore:function(t){return this.createFromNode(t).collapse(!0)},createFromNodeAfter:function(t){return this.createFromNode(t).collapse()},createFromBookmark:function(t,e){var o=Nt.fromOffsetPath(t,e.s.path),n=e.s.offset,i=Nt.fromOffsetPath(t,e.e.path),r=e.e.offset;return new Lt(o,n,i,r)},createFromParaBookmark:function(t,e){var o=t.s.offset,n=t.e.offset,i=Nt.fromOffsetPath(N.head(e),t.s.path),r=Nt.fromOffsetPath(N.last(e),t.e.path);return new Lt(i,o,r,n)}};var Dt=function(){function t(t){this.stack=[],this.stackOffset=-1,this.$editable=t,this.editable=t[0]}return t.prototype.makeSnapshot=function(){var t=Ht.create(this.editable);return{contents:this.$editable.html(),bookmark:t?t.bookmark(this.editable):{s:{path:[],offset:0},e:{path:[],offset:0}}}},t.prototype.applySnapshot=function(t){null!==t.contents&&this.$editable.html(t.contents),null!==t.bookmark&&Ht.createFromBookmark(this.editable,t.bookmark).select()},t.prototype.rewind=function(){this.$editable.html()!==this.stack[this.stackOffset].contents&&this.recordUndo(),this.stackOffset=0,this.applySnapshot(this.stack[this.stackOffset])},t.prototype.reset=function(){this.stack=[],this.stackOffset=-1,this.$editable.html(""),this.recordUndo()},t.prototype.undo=function(){this.$editable.html()!==this.stack[this.stackOffset].contents&&this.recordUndo(),this.stackOffset>0&&(this.stackOffset--,this.applySnapshot(this.stack[this.stackOffset]))},t.prototype.redo=function(){this.stack.length-1>this.stackOffset&&(this.stackOffset++,this.applySnapshot(this.stack[this.stackOffset]))},t.prototype.recordUndo=function(){this.stackOffset++,this.stack.length>this.stackOffset&&(this.stack=this.stack.slice(0,this.stackOffset)),this.stack.push(this.makeSnapshot())},t}(),Ft=function(){function e(){}return e.prototype.jQueryCSS=function(e,o){if(z.jqueryVersion<1.9){var n={};return t.each(o,function(t,o){n[o]=e.css(o)}),n}return e.css(o)},e.prototype.fromNode=function(t){var e=this.jQueryCSS(t,["font-family","font-size","text-align","list-style-type","line-height"])||{};return e["font-size"]=parseInt(e["font-size"],10),e},e.prototype.stylePara=function(e,o){t.each(e.nodes(Nt.isPara,{includeAncestor:!0}),function(e,n){t(n).css(o)})},e.prototype.styleNodes=function(e,o){e=e.splitText();var n=o&&o.nodeName||"SPAN",i=!(!o||!o.expandClosestSibling),r=!(!o||!o.onlyPartialContains);if(e.isCollapsed())return[e.insertNode(Nt.create(n))];var s=Nt.makePredByNodeName(n),a=e.nodes(Nt.isText,{fullyContains:!0}).map(function(t){return Nt.singleChildAncestor(t,s)||Nt.wrap(t,n)});if(i){if(r){var l=e.nodes();s=C.and(s,function(t){return N.contains(l,t)})}return a.map(function(e){var o=Nt.withClosestSiblings(e,s),n=N.head(o),i=N.tail(o);return t.each(i,function(t,e){Nt.appendChildNodes(n,e.childNodes),Nt.remove(e)}),N.head(o)})}return a},e.prototype.current=function(e){var o=t(Nt.isElement(e.sc)?e.sc:e.sc.parentNode),n=this.fromNode(o);try{n=t.extend(n,{"font-bold":document.queryCommandState("bold")?"bold":"normal","font-italic":document.queryCommandState("italic")?"italic":"normal","font-underline":document.queryCommandState("underline")?"underline":"normal","font-subscript":document.queryCommandState("subscript")?"subscript":"normal","font-superscript":document.queryCommandState("superscript")?"superscript":"normal","font-strikethrough":document.queryCommandState("strikethrough")?"strikethrough":"normal","font-family":document.queryCommandValue("fontname")||n["font-family"]})}catch(t){}if(e.isOnList()){var i=t.inArray(n["list-style-type"],["circle","disc","disc-leading-zero","square"])>-1;n["list-style"]=i?"unordered":"ordered"}else n["list-style"]="none";var r=Nt.ancestor(e.sc,Nt.isPara);if(r&&r.style["line-height"])n["line-height"]=r.style.lineHeight;else{var s=parseInt(n["line-height"],10)/parseInt(n["font-size"],10);n["line-height"]=s.toFixed(1)}return n.anchor=e.isOnAnchor()&&Nt.ancestor(e.sc,Nt.isAnchor),n.ancestors=Nt.listAncestor(e.sc,Nt.isEditable),n.range=e,n},e}(),Bt=function(){function e(){}return e.prototype.insertOrderedList=function(t){this.toggleList("OL",t)},e.prototype.insertUnorderedList=function(t){this.toggleList("UL",t)},e.prototype.indent=function(e){var o=this,n=Ht.create(e).wrapBodyInlineWithPara(),i=n.nodes(Nt.isPara,{includeAncestor:!0}),r=N.clusterBy(i,C.peq2("parentNode"));t.each(r,function(e,n){var i=N.head(n);Nt.isLi(i)?o.wrapList(n,i.parentNode.nodeName):t.each(n,function(e,o){t(o).css("marginLeft",function(t,e){return(parseInt(e,10)||0)+25})})}),n.select()},e.prototype.outdent=function(e){var o=this,n=Ht.create(e).wrapBodyInlineWithPara(),i=n.nodes(Nt.isPara,{includeAncestor:!0}),r=N.clusterBy(i,C.peq2("parentNode"));t.each(r,function(e,n){var i=N.head(n);Nt.isLi(i)?o.releaseList([n]):t.each(n,function(e,o){t(o).css("marginLeft",function(t,e){return(e=parseInt(e,10)||0)>25?e-25:""})})}),n.select()},e.prototype.toggleList=function(e,o){var n=this,i=Ht.create(o).wrapBodyInlineWithPara(),r=i.nodes(Nt.isPara,{includeAncestor:!0}),s=i.paraBookmark(r),a=N.clusterBy(r,C.peq2("parentNode"));if(N.find(r,Nt.isPurePara)){var l=[];t.each(a,function(t,o){l=l.concat(n.wrapList(o,e))}),r=l}else{var c=i.nodes(Nt.isList,{includeAncestor:!0}).filter(function(o){return!t.nodeName(o,e)});c.length?t.each(c,function(t,o){Nt.replace(o,e)}):r=this.releaseList(a,!0)}Ht.createFromParaBookmark(s,r).select()},e.prototype.wrapList=function(t,e){var o=N.head(t),n=N.last(t),i=Nt.isList(o.previousSibling)&&o.previousSibling,r=Nt.isList(n.nextSibling)&&n.nextSibling,s=i||Nt.insertAfter(Nt.create(e||"UL"),n);return t=t.map(function(t){return Nt.isPurePara(t)?Nt.replace(t,"LI"):t}),Nt.appendChildNodes(s,t),r&&(Nt.appendChildNodes(s,N.from(r.childNodes)),Nt.remove(r)),t},e.prototype.releaseList=function(e,o){var n=[];return t.each(e,function(e,i){var r=N.head(i),s=N.last(i),a=o?Nt.lastAncestor(r,Nt.isList):r.parentNode,l=a.childNodes.length>1?Nt.splitTree(a,{node:s.parentNode,offset:Nt.position(s)+1},{isSkipPaddingBlankHTML:!0}):null,c=Nt.splitTree(a,{node:r.parentNode,offset:Nt.position(r)},{isSkipPaddingBlankHTML:!0});i=o?Nt.listDescendant(c,Nt.isLi):N.from(c.childNodes).filter(Nt.isLi),!o&&Nt.isList(a.parentNode)||(i=i.map(function(t){return Nt.replace(t,"P")})),t.each(N.from(i).reverse(),function(t,e){Nt.insertAfter(e,a)});var d=N.compact([a,c,l]);t.each(d,function(e,o){var n=[o].concat(Nt.listDescendant(o,Nt.isList));t.each(n.reverse(),function(t,e){Nt.nodeLength(e)||Nt.remove(e,!0)})}),n=n.concat(i)}),n},e}(),zt=function(){function e(){this.bullet=new Bt}return e.prototype.insertTab=function(t,e){var o=Nt.createText(new Array(e+1).join(Nt.NBSP_CHAR));(t=t.deleteContents()).insertNode(o,!0),(t=Ht.create(o,e)).select()},e.prototype.insertParagraph=function(e){var o=Ht.create(e);o=(o=o.deleteContents()).wrapBodyInlineWithPara();var n,i=Nt.ancestor(o.sc,Nt.isPara);if(i){if(Nt.isEmpty(i)&&Nt.isLi(i))return void this.bullet.toggleList(i.parentNode.nodeName);if(Nt.isEmpty(i)&&Nt.isPara(i)&&Nt.isBlockquote(i.parentNode))Nt.insertAfter(i,i.parentNode),n=i;else{n=Nt.splitTree(i,o.getStartPoint());var r=Nt.listDescendant(i,Nt.isEmptyAnchor);r=r.concat(Nt.listDescendant(n,Nt.isEmptyAnchor)),t.each(r,function(t,e){Nt.remove(e)}),(Nt.isHeading(n)||Nt.isPre(n)||Nt.isCustomStyleTag(n))&&Nt.isEmpty(n)&&(n=Nt.replace(n,"p"))}}else{var s=o.sc.childNodes[o.so];n=t(Nt.emptyPara)[0],s?o.sc.insertBefore(n,s):o.sc.appendChild(n)}Ht.create(n,0).normalize().select().scrollIntoView(e)},e}(),Mt=function(t,e,o,n){var i={colPos:0,rowPos:0},r=[],s=[];function a(t,e,o,n,i,s,a){var l={baseRow:o,baseCell:n,isRowSpan:i,isColSpan:s,isVirtual:a};r[t]||(r[t]=[]),r[t][e]=l}function l(t,e){if(!r[t])return e;if(!r[t][e])return e;for(var o=e;r[t][o];)if(o++,!r[t][o])return o}function c(t,e){var o=l(t.rowIndex,e.cellIndex),n=e.colSpan>1,r=e.rowSpan>1,s=t.rowIndex===i.rowPos&&e.cellIndex===i.colPos;a(t.rowIndex,o,t,e,r,n,!1);var c=e.attributes.rowSpan?parseInt(e.attributes.rowSpan.value,10):0;if(c>1)for(var u=1;u<c;u++){var h=t.rowIndex+u;d(h,o,e,s),a(h,o,t,e,!0,n,!0)}var p=e.attributes.colSpan?parseInt(e.attributes.colSpan.value,10):0;if(p>1)for(var f=1;f<p;f++){var m=l(t.rowIndex,o+f);d(t.rowIndex,m,e,s),a(t.rowIndex,m,t,e,r,!0,!0)}}function d(t,e,o,n){t===i.rowPos&&i.colPos>=o.cellIndex&&o.cellIndex<=e&&!n&&i.colPos++}function u(t){switch(e){case Mt.where.Column:if(t.isColSpan)return Mt.resultAction.SubtractSpanCount;break;case Mt.where.Row:if(!t.isVirtual&&t.isRowSpan)return Mt.resultAction.AddCell;if(t.isRowSpan)return Mt.resultAction.SubtractSpanCount}return Mt.resultAction.RemoveCell}function h(t){switch(e){case Mt.where.Column:if(t.isColSpan)return Mt.resultAction.SumSpanCount;if(t.isRowSpan&&t.isVirtual)return Mt.resultAction.Ignore;break;case Mt.where.Row:if(t.isRowSpan)return Mt.resultAction.SumSpanCount;if(t.isColSpan&&t.isVirtual)return Mt.resultAction.Ignore}return Mt.resultAction.AddCell}this.getActionList=function(){for(var t,n,a,l=e===Mt.where.Row?i.rowPos:-1,c=e===Mt.where.Column?i.colPos:-1,d=0,p=!0;p;){var f=l>=0?l:d,m=c>=0?c:d,g=r[f];if(!g)return p=!1,s;var v=g[m];if(!v)return p=!1,s;var b=Mt.resultAction.Ignore;switch(o){case Mt.requestAction.Add:b=h(v);break;case Mt.requestAction.Delete:b=u(v)}s.push((t=b,n=f,a=m,{baseCell:v.baseCell,action:t,virtualTable:{rowIndex:n,cellIndex:a}})),d++}return s},t&&t.tagName&&("td"===t.tagName.toLowerCase()||"th"===t.tagName.toLowerCase())?(i.colPos=t.cellIndex,t.parentElement&&t.parentElement.tagName&&"tr"===t.parentElement.tagName.toLowerCase()?i.rowPos=t.parentElement.rowIndex:console.error("Impossible to identify start Row point.",t)):console.error("Impossible to identify start Cell point.",t),function(){for(var t=n.rows,e=0;e<t.length;e++)for(var o=t[e].cells,i=0;i<o.length;i++)c(t[e],o[i])}()};Mt.where={Row:0,Column:1},Mt.requestAction={Add:0,Delete:1},Mt.resultAction={Ignore:0,SubtractSpanCount:1,RemoveCell:2,AddCell:3,SumSpanCount:4};var Ot,Ut=function(){function e(){}return e.prototype.tab=function(t,e){var o=Nt.ancestor(t.commonAncestor(),Nt.isCell),n=Nt.ancestor(o,Nt.isTable),i=Nt.listDescendant(n,Nt.isCell),r=N[e?"prev":"next"](i,o);r&&Ht.create(r,0).select()},e.prototype.addRow=function(e,o){for(var n=Nt.ancestor(e.commonAncestor(),Nt.isCell),i=t(n).closest("tr"),r=this.recoverAttributes(i),s=t("<tr"+r+"></tr>"),a=new Mt(n,Mt.where.Row,Mt.requestAction.Add,t(i).closest("table")[0]).getActionList(),l=0;l<a.length;l++){var c=a[l],d=this.recoverAttributes(c.baseCell);switch(c.action){case Mt.resultAction.AddCell:s.append("<td"+d+">"+Nt.blank+"</td>");break;case Mt.resultAction.SumSpanCount:if("top"===o)if((c.baseCell.parent?c.baseCell.closest("tr").rowIndex:0)<=i[0].rowIndex){var u=t("<div></div>").append(t("<td"+d+">"+Nt.blank+"</td>").removeAttr("rowspan")).html();s.append(u);break}var h=parseInt(c.baseCell.rowSpan,10);h++,c.baseCell.setAttribute("rowSpan",h)}}if("top"===o)i.before(s);else{if(n.rowSpan>1){var p=i[0].rowIndex+(n.rowSpan-2);return void t(t(i).parent().find("tr")[p]).after(t(s))}i.after(s)}},e.prototype.addCol=function(e,o){var n=Nt.ancestor(e.commonAncestor(),Nt.isCell),i=t(n).closest("tr");t(i).siblings().push(i);for(var r=new Mt(n,Mt.where.Column,Mt.requestAction.Add,t(i).closest("table")[0]).getActionList(),s=0;s<r.length;s++){var a=r[s],l=this.recoverAttributes(a.baseCell);switch(a.action){case Mt.resultAction.AddCell:"right"===o?t(a.baseCell).after("<td"+l+">"+Nt.blank+"</td>"):t(a.baseCell).before("<td"+l+">"+Nt.blank+"</td>");break;case Mt.resultAction.SumSpanCount:if("right"===o){var c=parseInt(a.baseCell.colSpan,10);c++,a.baseCell.setAttribute("colSpan",c)}else t(a.baseCell).before("<td"+l+">"+Nt.blank+"</td>")}}},e.prototype.recoverAttributes=function(t){var e="";if(!t)return e;for(var o=t.attributes||[],n=0;n<o.length;n++)"id"!==o[n].name.toLowerCase()&&o[n].specified&&(e+=" "+o[n].name+"='"+o[n].value+"'");return e},e.prototype.deleteRow=function(e){for(var o=Nt.ancestor(e.commonAncestor(),Nt.isCell),n=t(o).closest("tr"),i=n.children("td, th").index(t(o)),r=n[0].rowIndex,s=new Mt(o,Mt.where.Row,Mt.requestAction.Delete,t(n).closest("table")[0]).getActionList(),a=0;a<s.length;a++)if(s[a]){var l=s[a].baseCell,c=s[a].virtualTable,d=l.rowSpan&&l.rowSpan>1,u=d?parseInt(l.rowSpan,10):0;switch(s[a].action){case Mt.resultAction.Ignore:continue;case Mt.resultAction.AddCell:var h=n.next("tr")[0];if(!h)continue;var p=n[0].cells[i];d&&(u>2?(u--,h.insertBefore(p,h.cells[i]),h.cells[i].setAttribute("rowSpan",u),h.cells[i].innerHTML=""):2===u&&(h.insertBefore(p,h.cells[i]),h.cells[i].removeAttribute("rowSpan"),h.cells[i].innerHTML=""));continue;case Mt.resultAction.SubtractSpanCount:d&&(u>2?(u--,l.setAttribute("rowSpan",u),c.rowIndex!==r&&l.cellIndex===i&&(l.innerHTML="")):2===u&&(l.removeAttribute("rowSpan"),c.rowIndex!==r&&l.cellIndex===i&&(l.innerHTML="")));continue;case Mt.resultAction.RemoveCell:continue}}n.remove()},e.prototype.deleteCol=function(e){for(var o=Nt.ancestor(e.commonAncestor(),Nt.isCell),n=t(o).closest("tr"),i=n.children("td, th").index(t(o)),r=new Mt(o,Mt.where.Column,Mt.requestAction.Delete,t(n).closest("table")[0]).getActionList(),s=0;s<r.length;s++)if(r[s])switch(r[s].action){case Mt.resultAction.Ignore:continue;case Mt.resultAction.SubtractSpanCount:var a=r[s].baseCell;if(a.colSpan&&a.colSpan>1){var l=a.colSpan?parseInt(a.colSpan,10):0;l>2?(l--,a.setAttribute("colSpan",l),a.cellIndex===i&&(a.innerHTML="")):2===l&&(a.removeAttribute("colSpan"),a.cellIndex===i&&(a.innerHTML=""))}continue;case Mt.resultAction.RemoveCell:Nt.remove(r[s].baseCell,!0);continue}},e.prototype.createTable=function(e,o,n){for(var i,r=[],s=0;s<e;s++)r.push("<td>"+Nt.blank+"</td>");i=r.join("");for(var a,l=[],c=0;c<o;c++)l.push("<tr>"+i+"</tr>");a=l.join("");var d=t("<table>"+a+"</table>");return n&&n.tableClassName&&d.addClass(n.tableClassName),d[0]},e.prototype.deleteTable=function(e){var o=Nt.ancestor(e.commonAncestor(),Nt.isCell);t(o).closest("table").remove()},e}(),jt=function(){function e(e){var o=this;this.context=e,this.$note=e.layoutInfo.note,this.$editor=e.layoutInfo.editor,this.$editable=e.layoutInfo.editable,this.options=e.options,this.lang=this.options.langInfo,this.editable=this.$editable[0],this.lastRange=null,this.style=new Ft,this.table=new Ut,this.typing=new zt,this.bullet=new Bt,this.history=new Dt(this.$editable),this.context.memo("help.undo",this.lang.help.undo),this.context.memo("help.redo",this.lang.help.redo),this.context.memo("help.tab",this.lang.help.tab),this.context.memo("help.untab",this.lang.help.untab),this.context.memo("help.insertParagraph",this.lang.help.insertParagraph),this.context.memo("help.insertOrderedList",this.lang.help.insertOrderedList),this.context.memo("help.insertUnorderedList",this.lang.help.insertUnorderedList),this.context.memo("help.indent",this.lang.help.indent),this.context.memo("help.outdent",this.lang.help.outdent),this.context.memo("help.formatPara",this.lang.help.formatPara),this.context.memo("help.insertHorizontalRule",this.lang.help.insertHorizontalRule),this.context.memo("help.fontName",this.lang.help.fontName);for(var n=["bold","italic","underline","strikethrough","superscript","subscript","justifyLeft","justifyCenter","justifyRight","justifyFull","formatBlock","removeFormat","backColor"],i=0,r=n.length;i<r;i++)this[n[i]]=function(t){return function(e){o.beforeCommand(),document.execCommand(t,!1,e),o.afterCommand(!0)}}(n[i]),this.context.memo("help."+n[i],this.lang.help[n[i]]);this.fontName=this.wrapCommand(function(t){return o.fontStyling("font-family","'"+t+"'")}),this.fontSize=this.wrapCommand(function(t){return o.fontStyling("font-size",t+"px")});for(i=1;i<=6;i++)this["formatH"+i]=function(t){return function(){o.formatBlock("H"+t)}}(i),this.context.memo("help.formatH"+i,this.lang.help["formatH"+i]);this.insertParagraph=this.wrapCommand(function(){o.typing.insertParagraph(o.editable)}),this.insertOrderedList=this.wrapCommand(function(){o.bullet.insertOrderedList(o.editable)}),this.insertUnorderedList=this.wrapCommand(function(){o.bullet.insertUnorderedList(o.editable)}),this.indent=this.wrapCommand(function(){o.bullet.indent(o.editable)}),this.outdent=this.wrapCommand(function(){o.bullet.outdent(o.editable)}),this.insertNode=this.wrapCommand(function(e){o.isLimited(t(e).text().length)||(o.createRange().insertNode(e),Ht.createFromNodeAfter(e).select())}),this.insertText=this.wrapCommand(function(t){if(!o.isLimited(t.length)){var e=o.createRange().insertNode(Nt.createText(t));Ht.create(e,Nt.nodeLength(e)).select()}}),this.pasteHTML=this.wrapCommand(function(t){if(!o.isLimited(t.length)){var e=o.createRange().pasteHTML(t);Ht.createFromNodeAfter(N.last(e)).select()}}),this.formatBlock=this.wrapCommand(function(t,e){var n=o.options.callbacks.onApplyCustomStyle;n?n.call(o,e,o.context,o.onFormatBlock):o.onFormatBlock(t,e)}),this.insertHorizontalRule=this.wrapCommand(function(){var t=o.createRange().insertNode(Nt.create("HR"));t.nextSibling&&Ht.create(t.nextSibling,0).normalize().select()}),this.lineHeight=this.wrapCommand(function(t){o.style.stylePara(o.createRange(),{lineHeight:t})}),this.createLink=this.wrapCommand(function(e){var n=e.url,i=e.text,r=e.isNewWindow,s=e.range||o.createRange(),a=s.toString()!==i;"string"==typeof n&&(n=n.trim()),n=o.options.onCreateLink?o.options.onCreateLink(n):/^[A-Za-z][A-Za-z0-9+-.]*\:[\/\/]?/.test(n)?n:"http://"+n;var l=[];if(a){var c=(s=s.deleteContents()).insertNode(t("<A>"+i+"</A>")[0]);l.push(c)}else l=o.style.styleNodes(s,{nodeName:"A",expandClosestSibling:!0,onlyPartialContains:!0});t.each(l,function(e,o){t(o).attr("href",n),r?t(o).attr("target","_blank"):t(o).removeAttr("target")});var d=Ht.createFromNodeBefore(N.head(l)).getStartPoint(),u=Ht.createFromNodeAfter(N.last(l)).getEndPoint();Ht.create(d.node,d.offset,u.node,u.offset).select()}),this.color=this.wrapCommand(function(t){var e=t.foreColor,o=t.backColor;e&&document.execCommand("foreColor",!1,e),o&&document.execCommand("backColor",!1,o)}),this.foreColor=this.wrapCommand(function(t){document.execCommand("styleWithCSS",!1,!0),document.execCommand("foreColor",!1,t)}),this.insertTable=this.wrapCommand(function(t){var e=t.split("x");o.createRange().deleteContents().insertNode(o.table.createTable(e[0],e[1],o.options))}),this.removeMedia=this.wrapCommand(function(){var e=t(o.restoreTarget()).parent();e.parent("figure").length?e.parent("figure").remove():e=t(o.restoreTarget()).detach(),o.context.triggerEvent("media.delete",e,o.$editable)}),this.floatMe=this.wrapCommand(function(e){var n=t(o.restoreTarget());n.toggleClass("note-float-left","left"===e),n.toggleClass("note-float-right","right"===e),n.css("float",e)}),this.resize=this.wrapCommand(function(e){t(o.restoreTarget()).css({width:100*e+"%",height:""})})}return e.prototype.initialize=function(){var t=this;this.$editable.on("keydown",function(e){if(e.keyCode===At.code.ENTER&&t.context.triggerEvent("enter",e),t.context.triggerEvent("keydown",e),e.isDefaultPrevented()||(t.options.shortcuts?t.handleKeyMap(e):t.preventDefaultEditableShortCuts(e)),t.isLimited(1,e))return!1}).on("keyup",function(e){t.context.triggerEvent("keyup",e)}).on("focus",function(e){t.context.triggerEvent("focus",e)}).on("blur",function(e){t.context.triggerEvent("blur",e)}).on("mousedown",function(e){t.context.triggerEvent("mousedown",e)}).on("mouseup",function(e){t.context.triggerEvent("mouseup",e)}).on("scroll",function(e){t.context.triggerEvent("scroll",e)}).on("paste",function(e){t.context.triggerEvent("paste",e)}),this.$editable.html(Nt.html(this.$note)||Nt.emptyPara),this.$editable.on(z.inputEventName,C.debounce(function(){t.context.triggerEvent("change",t.$editable.html())},100)),this.$editor.on("focusin",function(e){t.context.triggerEvent("focusin",e)}).on("focusout",function(e){t.context.triggerEvent("focusout",e)}),this.options.airMode||(this.options.width&&this.$editor.outerWidth(this.options.width),this.options.height&&this.$editable.outerHeight(this.options.height),this.options.maxHeight&&this.$editable.css("max-height",this.options.maxHeight),this.options.minHeight&&this.$editable.css("min-height",this.options.minHeight)),this.history.recordUndo()},e.prototype.destroy=function(){this.$editable.off()},e.prototype.handleKeyMap=function(t){var e=this.options.keyMap[z.isMac?"mac":"pc"],o=[];t.metaKey&&o.push("CMD"),t.ctrlKey&&!t.altKey&&o.push("CTRL"),t.shiftKey&&o.push("SHIFT");var n=At.nameFromCode[t.keyCode];n&&o.push(n);var i=e[o.join("+")];i?!1!==this.context.invoke(i)&&t.preventDefault():At.isEdit(t.keyCode)&&this.afterCommand()},e.prototype.preventDefaultEditableShortCuts=function(t){(t.ctrlKey||t.metaKey)&&N.contains([66,73,85],t.keyCode)&&t.preventDefault()},e.prototype.isLimited=function(t,e){return t=t||0,(void 0===e||!(At.isMove(e.keyCode)||e.ctrlKey||e.metaKey||N.contains([At.code.BACKSPACE,At.code.DELETE],e.keyCode)))&&(this.options.maxTextLength>0&&this.$editable.text().length+t>=this.options.maxTextLength)},e.prototype.createRange=function(){return this.focus(),Ht.create(this.editable)},e.prototype.saveRange=function(t){this.lastRange=this.createRange(),t&&this.lastRange.collapse().select()},e.prototype.restoreRange=function(){this.lastRange&&(this.lastRange.select(),this.focus())},e.prototype.saveTarget=function(t){this.$editable.data("target",t)},e.prototype.clearTarget=function(){this.$editable.removeData("target")},e.prototype.restoreTarget=function(){return this.$editable.data("target")},e.prototype.currentStyle=function(){var t=Ht.create();return t&&(t=t.normalize()),t?this.style.current(t):this.style.fromNode(this.$editable)},e.prototype.styleFromNode=function(t){return this.style.fromNode(t)},e.prototype.undo=function(){this.context.triggerEvent("before.command",this.$editable.html()),this.history.undo(),this.context.triggerEvent("change",this.$editable.html())},e.prototype.redo=function(){this.context.triggerEvent("before.command",this.$editable.html()),this.history.redo(),this.context.triggerEvent("change",this.$editable.html())},e.prototype.beforeCommand=function(){this.context.triggerEvent("before.command",this.$editable.html()),this.focus()},e.prototype.afterCommand=function(t){this.normalizeContent(),this.history.recordUndo(),t||this.context.triggerEvent("change",this.$editable.html())},e.prototype.tab=function(){var t=this.createRange();if(t.isCollapsed()&&t.isOnCell())this.table.tab(t);else{if(0===this.options.tabSize)return!1;this.isLimited(this.options.tabSize)||(this.beforeCommand(),this.typing.insertTab(t,this.options.tabSize),this.afterCommand())}},e.prototype.untab=function(){var t=this.createRange();if(t.isCollapsed()&&t.isOnCell())this.table.tab(t,!0);else if(0===this.options.tabSize)return!1},e.prototype.wrapCommand=function(t){var e=this;return function(){e.beforeCommand(),t.apply(e,arguments),e.afterCommand()}},e.prototype.insertImage=function(e,o){var n,i=this;return(n=e,t.Deferred(function(e){var o=t("<img>");o.one("load",function(){o.off("error abort"),e.resolve(o)}).one("error abort",function(){o.off("load").detach(),e.reject(o)}).css({display:"none"}).appendTo(document.body).attr("src",n)}).promise()).then(function(t){i.beforeCommand(),"function"==typeof o?o(t):("string"==typeof o&&t.attr("data-filename",o),t.css("width",Math.min(i.$editable.width(),t.width()))),t.show(),Ht.create(i.editable).insertNode(t[0]),Ht.createFromNodeAfter(t[0]).select(),i.afterCommand()}).fail(function(t){i.context.triggerEvent("image.upload.error",t)})},e.prototype.insertImages=function(e){var o=this;t.each(e,function(e,n){var i,r=n.name;o.options.maximumImageFileSize&&o.options.maximumImageFileSize<n.size?o.context.triggerEvent("image.upload.error",o.lang.image.maximumFileSizeError):(i=n,t.Deferred(function(e){t.extend(new FileReader,{onload:function(t){var o=t.target.result;e.resolve(o)},onerror:function(t){e.reject(t)}}).readAsDataURL(i)}).promise()).then(function(t){return o.insertImage(t,r)}).fail(function(){o.context.triggerEvent("image.upload.error")})})},e.prototype.insertImagesOrCallback=function(t){this.options.callbacks.onImageUpload?this.context.triggerEvent("image.upload",t):this.insertImages(t)},e.prototype.getSelectedText=function(){var t=this.createRange();return t.isOnAnchor()&&(t=Ht.createFromNode(Nt.ancestor(t.sc,Nt.isAnchor))),t.toString()},e.prototype.onFormatBlock=function(e,o){if(e=z.isMSIE?"<"+e+">":e,document.execCommand("FormatBlock",!1,e),o&&o.length){var n=o[0].className||"";if(n){var i=this.createRange();t([i.sc,i.ec]).closest(e).addClass(n)}}},e.prototype.formatPara=function(){this.formatBlock("P")},e.prototype.fontStyling=function(e,o){var n=this.createRange();if(n){var i=this.style.styleNodes(n);if(t(i).css(e,o),n.isCollapsed()){var r=N.head(i);r&&!Nt.nodeLength(r)&&(r.innerHTML=Nt.ZERO_WIDTH_NBSP_CHAR,Ht.createFromNodeAfter(r.firstChild).select(),this.$editable.data("bogus",r))}}},e.prototype.unlink=function(){var t=this.createRange();if(t.isOnAnchor()){var e=Nt.ancestor(t.sc,Nt.isAnchor);(t=Ht.createFromNode(e)).select(),this.beforeCommand(),document.execCommand("unlink"),this.afterCommand()}},e.prototype.getLinkInfo=function(){var e=this.createRange().expand(Nt.isAnchor),o=t(N.head(e.nodes(Nt.isAnchor))),n={range:e,text:e.toString(),url:o.length?o.attr("href"):""};return o.length&&(n.isNewWindow="_blank"===o.attr("target")),n},e.prototype.addRow=function(t){var e=this.createRange(this.$editable);e.isCollapsed()&&e.isOnCell()&&(this.beforeCommand(),this.table.addRow(e,t),this.afterCommand())},e.prototype.addCol=function(t){var e=this.createRange(this.$editable);e.isCollapsed()&&e.isOnCell()&&(this.beforeCommand(),this.table.addCol(e,t),this.afterCommand())},e.prototype.deleteRow=function(){var t=this.createRange(this.$editable);t.isCollapsed()&&t.isOnCell()&&(this.beforeCommand(),this.table.deleteRow(t),this.afterCommand())},e.prototype.deleteCol=function(){var t=this.createRange(this.$editable);t.isCollapsed()&&t.isOnCell()&&(this.beforeCommand(),this.table.deleteCol(t),this.afterCommand())},e.prototype.deleteTable=function(){var t=this.createRange(this.$editable);t.isCollapsed()&&t.isOnCell()&&(this.beforeCommand(),this.table.deleteTable(t),this.afterCommand())},e.prototype.resizeTo=function(t,e,o){var n;if(o){var i=t.y/t.x,r=e.data("ratio");n={width:r>i?t.x:t.y/r,height:r>i?t.x*r:t.y}}else n={width:t.x,height:t.y};e.css(n)},e.prototype.hasFocus=function(){return this.$editable.is(":focus")},e.prototype.focus=function(){this.hasFocus()||this.$editable.focus()},e.prototype.isEmpty=function(){return Nt.isEmpty(this.$editable[0])||Nt.emptyPara===this.$editable.html()},e.prototype.empty=function(){this.context.invoke("code",Nt.emptyPara)},e.prototype.normalizeContent=function(){this.$editable[0].normalize()},e}(),qt=function(){function t(t){this.context=t,this.$editable=t.layoutInfo.editable}return t.prototype.initialize=function(){this.$editable.on("paste",this.pasteByEvent.bind(this))},t.prototype.pasteByEvent=function(t){var e=t.originalEvent.clipboardData;if(e&&e.items&&e.items.length){var o=N.head(e.items);"file"===o.kind&&-1!==o.type.indexOf("image/")&&this.context.invoke("editor.insertImagesOrCallback",[o.getAsFile()]),this.context.invoke("editor.afterCommand")}},t}(),Kt=function(){function e(e){this.context=e,this.$eventListener=t(document),this.$editor=e.layoutInfo.editor,this.$editable=e.layoutInfo.editable,this.options=e.options,this.lang=this.options.langInfo,this.documentEventHandlers={},this.$dropzone=t(['<div class="note-dropzone">',' <div class="note-dropzone-message"/>',"</div>"].join("")).prependTo(this.$editor)}return e.prototype.initialize=function(){this.options.disableDragAndDrop?(this.documentEventHandlers.onDrop=function(t){t.preventDefault()},this.$eventListener=this.$dropzone,this.$eventListener.on("drop",this.documentEventHandlers.onDrop)):this.attachDragAndDropEvent()},e.prototype.attachDragAndDropEvent=function(){var e=this,o=t(),n=this.$dropzone.find(".note-dropzone-message");this.documentEventHandlers.onDragenter=function(t){var i=e.context.invoke("codeview.isActivated"),r=e.$editor.width()>0&&e.$editor.height()>0;i||o.length||!r||(e.$editor.addClass("dragover"),e.$dropzone.width(e.$editor.width()),e.$dropzone.height(e.$editor.height()),n.text(e.lang.image.dragImageHere)),o=o.add(t.target)},this.documentEventHandlers.onDragleave=function(t){(o=o.not(t.target)).length||e.$editor.removeClass("dragover")},this.documentEventHandlers.onDrop=function(){o=t(),e.$editor.removeClass("dragover")},this.$eventListener.on("dragenter",this.documentEventHandlers.onDragenter).on("dragleave",this.documentEventHandlers.onDragleave).on("drop",this.documentEventHandlers.onDrop),this.$dropzone.on("dragenter",function(){e.$dropzone.addClass("hover"),n.text(e.lang.image.dropImage)}).on("dragleave",function(){e.$dropzone.removeClass("hover"),n.text(e.lang.image.dragImageHere)}),this.$dropzone.on("drop",function(o){var n=o.originalEvent.dataTransfer;o.preventDefault(),n&&n.files&&n.files.length?(e.$editable.focus(),e.context.invoke("editor.insertImagesOrCallback",n.files)):t.each(n.types,function(o,i){var r=n.getData(i);i.toLowerCase().indexOf("text")>-1?e.context.invoke("editor.pasteHTML",r):t(r).each(function(t,o){e.context.invoke("editor.insertNode",o)})})}).on("dragover",!1)},e.prototype.destroy=function(){var t=this;Object.keys(this.documentEventHandlers).forEach(function(e){t.$eventListener.off(e.substr(2).toLowerCase(),t.documentEventHandlers[e])}),this.documentEventHandlers={}},e}();z.hasCodeMirror&&(z.isSupportAmd?require(["codemirror"],function(t){Ot=t}):Ot=window.CodeMirror);var Vt=function(){function t(t){this.context=t,this.$editor=t.layoutInfo.editor,this.$editable=t.layoutInfo.editable,this.$codable=t.layoutInfo.codable,this.options=t.options}return t.prototype.sync=function(){this.isActivated()&&z.hasCodeMirror&&this.$codable.data("cmEditor").save()},t.prototype.isActivated=function(){return this.$editor.hasClass("codeview")},t.prototype.toggle=function(){this.isActivated()?this.deactivate():this.activate(),this.context.triggerEvent("codeview.toggled")},t.prototype.activate=function(){var t=this;if(this.$codable.val(Nt.html(this.$editable,this.options.prettifyHtml)),this.$codable.height(this.$editable.height()),this.context.invoke("toolbar.updateCodeview",!0),this.$editor.addClass("codeview"),this.$codable.focus(),z.hasCodeMirror){var e=Ot.fromTextArea(this.$codable[0],this.options.codemirror);if(this.options.codemirror.tern){var o=new Ot.TernServer(this.options.codemirror.tern);e.ternServer=o,e.on("cursorActivity",function(t){o.updateArgHints(t)})}e.on("blur",function(o){t.context.triggerEvent("blur.codeview",e.getValue(),o)}),e.setSize(null,this.$editable.outerHeight()),this.$codable.data("cmEditor",e)}else this.$codable.on("blur",function(e){t.context.triggerEvent("blur.codeview",t.$codable.val(),e)})},t.prototype.deactivate=function(){if(z.hasCodeMirror){var t=this.$codable.data("cmEditor");this.$codable.val(t.getValue()),t.toTextArea()}var e=Nt.value(this.$codable,this.options.prettifyHtml)||Nt.emptyPara,o=this.$editable.html()!==e;this.$editable.html(e),this.$editable.height(this.options.height?this.$codable.height():"auto"),this.$editor.removeClass("codeview"),o&&this.context.triggerEvent("change",this.$editable.html(),this.$editable),this.$editable.focus(),this.context.invoke("toolbar.updateCodeview",!1)},t.prototype.destroy=function(){this.isActivated()&&this.deactivate()},t}(),Wt=function(){function e(e){this.$document=t(document),this.$statusbar=e.layoutInfo.statusbar,this.$editable=e.layoutInfo.editable,this.options=e.options}return e.prototype.initialize=function(){var t=this;this.options.airMode||this.options.disableResizeEditor?this.destroy():this.$statusbar.on("mousedown",function(e){e.preventDefault(),e.stopPropagation();var o=t.$editable.offset().top-t.$document.scrollTop(),n=function(e){var n=e.clientY-(o+24);n=t.options.minheight>0?Math.max(n,t.options.minheight):n,n=t.options.maxHeight>0?Math.min(n,t.options.maxHeight):n,t.$editable.height(n)};t.$document.on("mousemove",n).one("mouseup",function(){t.$document.off("mousemove",n)})})},e.prototype.destroy=function(){this.$statusbar.off(),this.$statusbar.addClass("locked")},e}(),Gt=function(){function e(e){var o=this;this.context=e,this.$editor=e.layoutInfo.editor,this.$toolbar=e.layoutInfo.toolbar,this.$editable=e.layoutInfo.editable,this.$codable=e.layoutInfo.codable,this.$window=t(window),this.$scrollbar=t("html, body"),this.onResize=function(){o.resizeTo({h:o.$window.height()-o.$toolbar.outerHeight()})}}return e.prototype.resizeTo=function(t){this.$editable.css("height",t.h),this.$codable.css("height",t.h),this.$codable.data("cmeditor")&&this.$codable.data("cmeditor").setsize(null,t.h)},e.prototype.toggle=function(){this.$editor.toggleClass("fullscreen"),this.isFullscreen()?(this.$editable.data("orgHeight",this.$editable.css("height")),this.$window.on("resize",this.onResize).trigger("resize"),this.$scrollbar.css("overflow","hidden")):(this.$window.off("resize",this.onResize),this.resizeTo({h:this.$editable.data("orgHeight")}),this.$scrollbar.css("overflow","visible")),this.context.invoke("toolbar.updateFullscreen",this.isFullscreen())},e.prototype.isFullscreen=function(){return this.$editor.hasClass("fullscreen")},e}(),_t=function(){function e(e){var o=this;this.context=e,this.$document=t(document),this.$editingArea=e.layoutInfo.editingArea,this.options=e.options,this.lang=this.options.langInfo,this.events={"summernote.mousedown":function(t,e){o.update(e.target)&&e.preventDefault()},"summernote.keyup summernote.scroll summernote.change summernote.dialog.shown":function(){o.update()},"summernote.disable":function(){o.hide()},"summernote.codeview.toggled":function(){o.update()}}}return e.prototype.initialize=function(){var e=this;this.$handle=t(['<div class="note-handle">','<div class="note-control-selection">','<div class="note-control-selection-bg"></div>','<div class="note-control-holder note-control-nw"></div>','<div class="note-control-holder note-control-ne"></div>','<div class="note-control-holder note-control-sw"></div>','<div class="',this.options.disableResizeImage?"note-control-holder":"note-control-sizing",' note-control-se"></div>',this.options.disableResizeImage?"":'<div class="note-control-selection-info"></div>',"</div>","</div>"].join("")).prependTo(this.$editingArea),this.$handle.on("mousedown",function(t){if(Nt.isControlSizing(t.target)){t.preventDefault(),t.stopPropagation();var o=e.$handle.find(".note-control-selection").data("target"),n=o.offset(),i=e.$document.scrollTop(),r=function(t){e.context.invoke("editor.resizeTo",{x:t.clientX-n.left,y:t.clientY-(n.top-i)},o,!t.shiftKey),e.update(o[0])};e.$document.on("mousemove",r).one("mouseup",function(t){t.preventDefault(),e.$document.off("mousemove",r),e.context.invoke("editor.afterCommand")}),o.data("ratio")||o.data("ratio",o.height()/o.width())}}),this.$handle.on("wheel",function(t){t.preventDefault(),e.update()})},e.prototype.destroy=function(){this.$handle.remove()},e.prototype.update=function(e){if(this.context.isDisabled())return!1;var o=Nt.isImg(e),n=this.$handle.find(".note-control-selection");if(this.context.invoke("imagePopover.update",e),o){var i=t(e),r=i.position(),s={left:r.left+parseInt(i.css("marginLeft"),10),top:r.top+parseInt(i.css("marginTop"),10)},a={w:i.outerWidth(!1),h:i.outerHeight(!1)};n.css({display:"block",left:s.left,top:s.top,width:a.w,height:a.h}).data("target",i);var l=new Image;l.src=i.attr("src");var c=a.w+"x"+a.h+" ("+this.lang.image.original+": "+l.width+"x"+l.height+")";n.find(".note-control-selection-info").text(c),this.context.invoke("editor.saveTarget",e)}else this.hide();return o},e.prototype.hide=function(){this.context.invoke("editor.clearTarget"),this.$handle.children().hide()},e}(),Zt=/^([A-Za-z][A-Za-z0-9+-.]*\:[\/\/]?|mailto:[A-Z0-9._%+-]+@)?(www\.)?(.+)$/i,Yt=function(){function e(t){var e=this;this.context=t,this.events={"summernote.keyup":function(t,o){o.isDefaultPrevented()||e.handleKeyup(o)},"summernote.keydown":function(t,o){e.handleKeydown(o)}}}return e.prototype.initialize=function(){this.lastWordRange=null},e.prototype.destroy=function(){this.lastWordRange=null},e.prototype.replace=function(){if(this.lastWordRange){var e=this.lastWordRange.toString(),o=e.match(Zt);if(o&&(o[1]||o[2])){var n=o[1]?e:"http://"+e,i=t("<a />").html(e).attr("href",n)[0];this.lastWordRange.insertNode(i),this.lastWordRange=null,this.context.invoke("editor.focus")}}},e.prototype.handleKeydown=function(t){if(N.contains([At.code.ENTER,At.code.SPACE],t.keyCode)){var e=this.context.invoke("editor.createRange").getWordRange();this.lastWordRange=e}},e.prototype.handleKeyup=function(t){N.contains([At.code.ENTER,At.code.SPACE],t.keyCode)&&this.replace()},e}(),Qt=function(){function t(t){var e=this;this.$note=t.layoutInfo.note,this.events={"summernote.change":function(){e.$note.val(t.invoke("code"))}}}return t.prototype.shouldInitialize=function(){return Nt.isTextarea(this.$note[0])},t}(),Jt=function(){function e(t){var e=this;this.context=t,this.$editingArea=t.layoutInfo.editingArea,this.options=t.options,this.events={"summernote.init summernote.change":function(){e.update()},"summernote.codeview.toggled":function(){e.update()}}}return e.prototype.shouldInitialize=function(){return!!this.options.placeholder},e.prototype.initialize=function(){var e=this;this.$placeholder=t('<div class="note-placeholder">'),this.$placeholder.on("click",function(){e.context.invoke("focus")}).text(this.options.placeholder).prependTo(this.$editingArea),this.update()},e.prototype.destroy=function(){this.$placeholder.remove()},e.prototype.update=function(){var t=!this.context.invoke("codeview.isActivated")&&this.context.invoke("editor.isEmpty");this.$placeholder.toggle(t)},e}(),Xt=function(){function e(e){this.ui=t.summernote.ui,this.context=e,this.$toolbar=e.layoutInfo.toolbar,this.options=e.options,this.lang=this.options.langInfo,this.invertedKeyMap=C.invertObject(this.options.keyMap[z.isMac?"mac":"pc"])}return e.prototype.representShortcut=function(t){var e=this.invertedKeyMap[t];return this.options.shortcuts&&e?(z.isMac&&(e=e.replace("CMD","⌘").replace("SHIFT","⇧"))," ("+(e=e.replace("BACKSLASH","\\").replace("SLASH","/").replace("LEFTBRACKET","[").replace("RIGHTBRACKET","]"))+")"):""},e.prototype.button=function(t){return!this.options.tooltip&&t.tooltip&&delete t.tooltip,t.container=this.options.container,this.ui.button(t)},e.prototype.initialize=function(){this.addToolbarButtons(),this.addImagePopoverButtons(),this.addLinkPopoverButtons(),this.addTablePopoverButtons(),this.fontInstalledMap={}},e.prototype.destroy=function(){delete this.fontInstalledMap},e.prototype.isFontInstalled=function(t){return this.fontInstalledMap.hasOwnProperty(t)||(this.fontInstalledMap[t]=z.isFontInstalled(t)||N.contains(this.options.fontNamesIgnoreCheck,t)),this.fontInstalledMap[t]},e.prototype.isFontDeservedToAdd=function(e){return""!==(e=e.toLowerCase())&&this.isFontInstalled(e)&&-1===t.inArray(e,["sans-serif","serif","monospace","cursive","fantasy"])},e.prototype.addToolbarButtons=function(){var e=this;this.context.memo("button.style",function(){return e.ui.buttonGroup([e.button({className:"dropdown-toggle",contents:e.ui.dropdownButtonContents(e.ui.icon(e.options.icons.magic),e.options),tooltip:e.lang.style.style,data:{toggle:"dropdown"}}),e.ui.dropdown({className:"dropdown-style",items:e.options.styleTags,title:e.lang.style.style,template:function(t){"string"==typeof t&&(t={tag:t,title:e.lang.style.hasOwnProperty(t)?e.lang.style[t]:t});var o=t.tag,n=t.title;return"<"+o+(t.style?' style="'+t.style+'" ':"")+(t.className?' class="'+t.className+'"':"")+">"+n+"</"+o+">"},click:e.context.createInvokeHandler("editor.formatBlock")})]).render()});for(var o=function(t,o){var i=n.options.styleTags[t];n.context.memo("button.style."+i,function(){return e.button({className:"note-btn-style-"+i,contents:'<div data-value="'+i+'">'+i.toUpperCase()+"</div>",tooltip:e.lang.style[i],click:e.context.createInvokeHandler("editor.formatBlock")}).render()})},n=this,i=0,r=this.options.styleTags.length;i<r;i++)o(i);this.context.memo("button.bold",function(){return e.button({className:"note-btn-bold",contents:e.ui.icon(e.options.icons.bold),tooltip:e.lang.font.bold+e.representShortcut("bold"),click:e.context.createInvokeHandlerAndUpdateState("editor.bold")}).render()}),this.context.memo("button.italic",function(){return e.button({className:"note-btn-italic",contents:e.ui.icon(e.options.icons.italic),tooltip:e.lang.font.italic+e.representShortcut("italic"),click:e.context.createInvokeHandlerAndUpdateState("editor.italic")}).render()}),this.context.memo("button.underline",function(){return e.button({className:"note-btn-underline",contents:e.ui.icon(e.options.icons.underline),tooltip:e.lang.font.underline+e.representShortcut("underline"),click:e.context.createInvokeHandlerAndUpdateState("editor.underline")}).render()}),this.context.memo("button.clear",function(){return e.button({contents:e.ui.icon(e.options.icons.eraser),tooltip:e.lang.font.clear+e.representShortcut("removeFormat"),click:e.context.createInvokeHandler("editor.removeFormat")}).render()}),this.context.memo("button.strikethrough",function(){return e.button({className:"note-btn-strikethrough",contents:e.ui.icon(e.options.icons.strikethrough),tooltip:e.lang.font.strikethrough+e.representShortcut("strikethrough"),click:e.context.createInvokeHandlerAndUpdateState("editor.strikethrough")}).render()}),this.context.memo("button.superscript",function(){return e.button({className:"note-btn-superscript",contents:e.ui.icon(e.options.icons.superscript),tooltip:e.lang.font.superscript,click:e.context.createInvokeHandlerAndUpdateState("editor.superscript")}).render()}),this.context.memo("button.subscript",function(){return e.button({className:"note-btn-subscript",contents:e.ui.icon(e.options.icons.subscript),tooltip:e.lang.font.subscript,click:e.context.createInvokeHandlerAndUpdateState("editor.subscript")}).render()}),this.context.memo("button.fontname",function(){var o=e.context.invoke("editor.currentStyle");return t.each(o["font-family"].split(","),function(o,n){n=n.trim().replace(/['"]+/g,""),e.isFontDeservedToAdd(n)&&-1===t.inArray(n,e.options.fontNames)&&e.options.fontNames.push(n)}),e.ui.buttonGroup([e.button({className:"dropdown-toggle",contents:e.ui.dropdownButtonContents('<span class="note-current-fontname"/>',e.options),tooltip:e.lang.font.name,data:{toggle:"dropdown"}}),e.ui.dropdownCheck({className:"dropdown-fontname",checkClassName:e.options.icons.menuCheck,items:e.options.fontNames.filter(e.isFontInstalled.bind(e)),title:e.lang.font.name,template:function(t){return"<span style=\"font-family: '"+t+"'\">"+t+"</span>"},click:e.context.createInvokeHandlerAndUpdateState("editor.fontName")})]).render()}),this.context.memo("button.fontsize",function(){return e.ui.buttonGroup([e.button({className:"dropdown-toggle",contents:e.ui.dropdownButtonContents('<span class="note-current-fontsize"/>',e.options),tooltip:e.lang.font.size,data:{toggle:"dropdown"}}),e.ui.dropdownCheck({className:"dropdown-fontsize",checkClassName:e.options.icons.menuCheck,items:e.options.fontSizes,title:e.lang.font.size,click:e.context.createInvokeHandlerAndUpdateState("editor.fontSize")})]).render()}),this.context.memo("button.color",function(){return e.ui.buttonGroup({className:"note-color",children:[e.button({className:"note-current-color-button",contents:e.ui.icon(e.options.icons.font+" note-recent-color"),tooltip:e.lang.color.recent,click:function(o){var n=t(o.currentTarget);e.context.invoke("editor.color",{backColor:n.attr("data-backColor"),foreColor:n.attr("data-foreColor")})},callback:function(t){t.find(".note-recent-color").css("background-color","#FFFF00"),t.attr("data-backColor","#FFFF00")}}),e.button({className:"dropdown-toggle",contents:e.ui.dropdownButtonContents("",e.options),tooltip:e.lang.color.more,data:{toggle:"dropdown"}}),e.ui.dropdown({items:['<div class="note-palette">',' <div class="note-palette-title">'+e.lang.color.background+"</div>"," <div>",' <button type="button" class="note-color-reset btn btn-light" data-event="backColor" data-value="inherit">',e.lang.color.transparent," </button>"," </div>",' <div class="note-holder" data-event="backColor"/>',"</div>",'<div class="note-palette">',' <div class="note-palette-title">'+e.lang.color.foreground+"</div>"," <div>",' <button type="button" class="note-color-reset btn btn-light" data-event="removeFormat" data-value="foreColor">',e.lang.color.resetToDefault," </button>"," </div>",' <div class="note-holder" data-event="foreColor"/>',"</div>"].join(""),callback:function(o){o.find(".note-holder").each(function(o,n){var i=t(n);i.append(e.ui.palette({colors:e.options.colors,colorsName:e.options.colorsName,eventName:i.data("event"),container:e.options.container,tooltip:e.options.tooltip}).render())})},click:function(o){var n=t(o.target),i=n.data("event"),r=n.data("value");if(i&&r){var s="backColor"===i?"background-color":"color",a=n.closest(".note-color").find(".note-recent-color"),l=n.closest(".note-color").find(".note-current-color-button");a.css(s,r),l.attr("data-"+i,r),e.context.invoke("editor."+i,r)}}})]}).render()}),this.context.memo("button.ul",function(){return e.button({contents:e.ui.icon(e.options.icons.unorderedlist),tooltip:e.lang.lists.unordered+e.representShortcut("insertUnorderedList"),click:e.context.createInvokeHandler("editor.insertUnorderedList")}).render()}),this.context.memo("button.ol",function(){return e.button({contents:e.ui.icon(e.options.icons.orderedlist),tooltip:e.lang.lists.ordered+e.representShortcut("insertOrderedList"),click:e.context.createInvokeHandler("editor.insertOrderedList")}).render()});var s=this.button({contents:this.ui.icon(this.options.icons.alignLeft),tooltip:this.lang.paragraph.left+this.representShortcut("justifyLeft"),click:this.context.createInvokeHandler("editor.justifyLeft")}),a=this.button({contents:this.ui.icon(this.options.icons.alignCenter),tooltip:this.lang.paragraph.center+this.representShortcut("justifyCenter"),click:this.context.createInvokeHandler("editor.justifyCenter")}),l=this.button({contents:this.ui.icon(this.options.icons.alignRight),tooltip:this.lang.paragraph.right+this.representShortcut("justifyRight"),click:this.context.createInvokeHandler("editor.justifyRight")}),c=this.button({contents:this.ui.icon(this.options.icons.alignJustify),tooltip:this.lang.paragraph.justify+this.representShortcut("justifyFull"),click:this.context.createInvokeHandler("editor.justifyFull")}),d=this.button({contents:this.ui.icon(this.options.icons.outdent),tooltip:this.lang.paragraph.outdent+this.representShortcut("outdent"),click:this.context.createInvokeHandler("editor.outdent")}),u=this.button({contents:this.ui.icon(this.options.icons.indent),tooltip:this.lang.paragraph.indent+this.representShortcut("indent"),click:this.context.createInvokeHandler("editor.indent")});this.context.memo("button.justifyLeft",C.invoke(s,"render")),this.context.memo("button.justifyCenter",C.invoke(a,"render")),this.context.memo("button.justifyRight",C.invoke(l,"render")),this.context.memo("button.justifyFull",C.invoke(c,"render")),this.context.memo("button.outdent",C.invoke(d,"render")),this.context.memo("button.indent",C.invoke(u,"render")),this.context.memo("button.paragraph",function(){return e.ui.buttonGroup([e.button({className:"dropdown-toggle",contents:e.ui.dropdownButtonContents(e.ui.icon(e.options.icons.alignLeft),e.options),tooltip:e.lang.paragraph.paragraph,data:{toggle:"dropdown"}}),e.ui.dropdown([e.ui.buttonGroup({className:"note-align",children:[s,a,l,c]}),e.ui.buttonGroup({className:"note-list",children:[d,u]})])]).render()}),this.context.memo("button.height",function(){return e.ui.buttonGroup([e.button({className:"dropdown-toggle",contents:e.ui.dropdownButtonContents(e.ui.icon(e.options.icons.textHeight),e.options),tooltip:e.lang.font.height,data:{toggle:"dropdown"}}),e.ui.dropdownCheck({items:e.options.lineHeights,checkClassName:e.options.icons.menuCheck,className:"dropdown-line-height",title:e.lang.font.height,click:e.context.createInvokeHandler("editor.lineHeight")})]).render()}),this.context.memo("button.table",function(){return e.ui.buttonGroup([e.button({className:"dropdown-toggle",contents:e.ui.dropdownButtonContents(e.ui.icon(e.options.icons.table),e.options),tooltip:e.lang.table.table,data:{toggle:"dropdown"}}),e.ui.dropdown({title:e.lang.table.table,className:"note-table",items:['<div class="note-dimension-picker">',' <div class="note-dimension-picker-mousecatcher" data-event="insertTable" data-value="1x1"/>',' <div class="note-dimension-picker-highlighted"/>',' <div class="note-dimension-picker-unhighlighted"/>',"</div>",'<div class="note-dimension-display">1 x 1</div>'].join("")})],{callback:function(t){t.find(".note-dimension-picker-mousecatcher").css({width:e.options.insertTableMaxSize.col+"em",height:e.options.insertTableMaxSize.row+"em"}).mousedown(e.context.createInvokeHandler("editor.insertTable")).on("mousemove",e.tableMoveHandler.bind(e))}}).render()}),this.context.memo("button.link",function(){return e.button({contents:e.ui.icon(e.options.icons.link),tooltip:e.lang.link.link+e.representShortcut("linkDialog.show"),click:e.context.createInvokeHandler("linkDialog.show")}).render()}),this.context.memo("button.picture",function(){return e.button({contents:e.ui.icon(e.options.icons.picture),tooltip:e.lang.image.image,click:e.context.createInvokeHandler("imageDialog.show")}).render()}),this.context.memo("button.video",function(){return e.button({contents:e.ui.icon(e.options.icons.video),tooltip:e.lang.video.video,click:e.context.createInvokeHandler("videoDialog.show")}).render()}),this.context.memo("button.hr",function(){return e.button({contents:e.ui.icon(e.options.icons.minus),tooltip:e.lang.hr.insert+e.representShortcut("insertHorizontalRule"),click:e.context.createInvokeHandler("editor.insertHorizontalRule")}).render()}),this.context.memo("button.fullscreen",function(){return e.button({className:"btn-fullscreen",contents:e.ui.icon(e.options.icons.arrowsAlt),tooltip:e.lang.options.fullscreen,click:e.context.createInvokeHandler("fullscreen.toggle")}).render()}),this.context.memo("button.codeview",function(){return e.button({className:"btn-codeview",contents:e.ui.icon(e.options.icons.code),tooltip:e.lang.options.codeview,click:e.context.createInvokeHandler("codeview.toggle")}).render()}),this.context.memo("button.redo",function(){return e.button({contents:e.ui.icon(e.options.icons.redo),tooltip:e.lang.history.redo+e.representShortcut("redo"),click:e.context.createInvokeHandler("editor.redo")}).render()}),this.context.memo("button.undo",function(){return e.button({contents:e.ui.icon(e.options.icons.undo),tooltip:e.lang.history.undo+e.representShortcut("undo"),click:e.context.createInvokeHandler("editor.undo")}).render()}),this.context.memo("button.help",function(){return e.button({contents:e.ui.icon(e.options.icons.question),tooltip:e.lang.options.help,click:e.context.createInvokeHandler("helpDialog.show")}).render()})},e.prototype.addImagePopoverButtons=function(){var t=this;this.context.memo("button.imageSize100",function(){return t.button({contents:'<span class="note-fontsize-10">100%</span>',tooltip:t.lang.image.resizeFull,click:t.context.createInvokeHandler("editor.resize","1")}).render()}),this.context.memo("button.imageSize50",function(){return t.button({contents:'<span class="note-fontsize-10">50%</span>',tooltip:t.lang.image.resizeHalf,click:t.context.createInvokeHandler("editor.resize","0.5")}).render()}),this.context.memo("button.imageSize25",function(){return t.button({contents:'<span class="note-fontsize-10">25%</span>',tooltip:t.lang.image.resizeQuarter,click:t.context.createInvokeHandler("editor.resize","0.25")}).render()}),this.context.memo("button.floatLeft",function(){return t.button({contents:t.ui.icon(t.options.icons.alignLeft),tooltip:t.lang.image.floatLeft,click:t.context.createInvokeHandler("editor.floatMe","left")}).render()}),this.context.memo("button.floatRight",function(){return t.button({contents:t.ui.icon(t.options.icons.alignRight),tooltip:t.lang.image.floatRight,click:t.context.createInvokeHandler("editor.floatMe","right")}).render()}),this.context.memo("button.floatNone",function(){return t.button({contents:t.ui.icon(t.options.icons.alignJustify),tooltip:t.lang.image.floatNone,click:t.context.createInvokeHandler("editor.floatMe","none")}).render()}),this.context.memo("button.removeMedia",function(){return t.button({contents:t.ui.icon(t.options.icons.trash),tooltip:t.lang.image.remove,click:t.context.createInvokeHandler("editor.removeMedia")}).render()})},e.prototype.addLinkPopoverButtons=function(){var t=this;this.context.memo("button.linkDialogShow",function(){return t.button({contents:t.ui.icon(t.options.icons.link),tooltip:t.lang.link.edit,click:t.context.createInvokeHandler("linkDialog.show")}).render()}),this.context.memo("button.unlink",function(){return t.button({contents:t.ui.icon(t.options.icons.unlink),tooltip:t.lang.link.unlink,click:t.context.createInvokeHandler("editor.unlink")}).render()})},e.prototype.addTablePopoverButtons=function(){var t=this;this.context.memo("button.addRowUp",function(){return t.button({className:"btn-md",contents:t.ui.icon(t.options.icons.rowAbove),tooltip:t.lang.table.addRowAbove,click:t.context.createInvokeHandler("editor.addRow","top")}).render()}),this.context.memo("button.addRowDown",function(){return t.button({className:"btn-md",contents:t.ui.icon(t.options.icons.rowBelow),tooltip:t.lang.table.addRowBelow,click:t.context.createInvokeHandler("editor.addRow","bottom")}).render()}),this.context.memo("button.addColLeft",function(){return t.button({className:"btn-md",contents:t.ui.icon(t.options.icons.colBefore),tooltip:t.lang.table.addColLeft,click:t.context.createInvokeHandler("editor.addCol","left")}).render()}),this.context.memo("button.addColRight",function(){return t.button({className:"btn-md",contents:t.ui.icon(t.options.icons.colAfter),tooltip:t.lang.table.addColRight,click:t.context.createInvokeHandler("editor.addCol","right")}).render()}),this.context.memo("button.deleteRow",function(){return t.button({className:"btn-md",contents:t.ui.icon(t.options.icons.rowRemove),tooltip:t.lang.table.delRow,click:t.context.createInvokeHandler("editor.deleteRow")}).render()}),this.context.memo("button.deleteCol",function(){return t.button({className:"btn-md",contents:t.ui.icon(t.options.icons.colRemove),tooltip:t.lang.table.delCol,click:t.context.createInvokeHandler("editor.deleteCol")}).render()}),this.context.memo("button.deleteTable",function(){return t.button({className:"btn-md",contents:t.ui.icon(t.options.icons.trash),tooltip:t.lang.table.delTable,click:t.context.createInvokeHandler("editor.deleteTable")}).render()})},e.prototype.build=function(e,o){for(var n=0,i=o.length;n<i;n++){for(var r=o[n],s=t.isArray(r)?r[0]:r,a=t.isArray(r)?1===r.length?[r[0]]:r[1]:[r],l=this.ui.buttonGroup({className:"note-"+s}).render(),c=0,d=a.length;c<d;c++){var u=this.context.memo("button."+a[c]);u&&l.append("function"==typeof u?u(this.context):u)}l.appendTo(e)}},e.prototype.updateCurrentStyle=function(e){var o=this,n=e||this.$toolbar,i=this.context.invoke("editor.currentStyle");if(this.updateBtnStates(n,{".note-btn-bold":function(){return"bold"===i["font-bold"]},".note-btn-italic":function(){return"italic"===i["font-italic"]},".note-btn-underline":function(){return"underline"===i["font-underline"]},".note-btn-subscript":function(){return"subscript"===i["font-subscript"]},".note-btn-superscript":function(){return"superscript"===i["font-superscript"]},".note-btn-strikethrough":function(){return"strikethrough"===i["font-strikethrough"]}}),i["font-family"]){var r=i["font-family"].split(",").map(function(t){return t.replace(/[\'\"]/g,"").replace(/\s+$/,"").replace(/^\s+/,"")}),s=N.find(r,this.isFontInstalled.bind(this));n.find(".dropdown-fontname a").each(function(e,o){var n=t(o),i=n.data("value")+""==s+"";n.toggleClass("checked",i)}),n.find(".note-current-fontname").text(s).css("font-family",s)}if(i["font-size"]){var a=i["font-size"];n.find(".dropdown-fontsize a").each(function(e,o){var n=t(o),i=n.data("value")+""==a+"";n.toggleClass("checked",i)}),n.find(".note-current-fontsize").text(a)}if(i["line-height"]){var l=i["line-height"];n.find(".dropdown-line-height li a").each(function(e,n){var i=t(n).data("value")+""==l+"";o.className=i?"checked":""})}},e.prototype.updateBtnStates=function(e,o){var n=this;t.each(o,function(t,o){n.ui.toggleBtnActive(e.find(t),o())})},e.prototype.tableMoveHandler=function(e){var o,n=t(e.target.parentNode),i=n.next(),r=n.find(".note-dimension-picker-mousecatcher"),s=n.find(".note-dimension-picker-highlighted"),a=n.find(".note-dimension-picker-unhighlighted");if(void 0===e.offsetX){var l=t(e.target).offset();o={x:e.pageX-l.left,y:e.pageY-l.top}}else o={x:e.offsetX,y:e.offsetY};var c=Math.ceil(o.x/18)||1,d=Math.ceil(o.y/18)||1;s.css({width:c+"em",height:d+"em"}),r.data("value",c+"x"+d),c>3&&c<this.options.insertTableMaxSize.col&&a.css({width:c+1+"em"}),d>3&&d<this.options.insertTableMaxSize.row&&a.css({height:d+1+"em"}),i.html(c+" x "+d)},e}(),te=function(){function e(e){this.context=e,this.$window=t(window),this.$document=t(document),this.ui=t.summernote.ui,this.$note=e.layoutInfo.note,this.$editor=e.layoutInfo.editor,this.$toolbar=e.layoutInfo.toolbar,this.options=e.options,this.followScroll=this.followScroll.bind(this)}return e.prototype.shouldInitialize=function(){return!this.options.airMode},e.prototype.initialize=function(){var t=this;this.options.toolbar=this.options.toolbar||[],this.options.toolbar.length?this.context.invoke("buttons.build",this.$toolbar,this.options.toolbar):this.$toolbar.hide(),this.options.toolbarContainer&&this.$toolbar.appendTo(this.options.toolbarContainer),this.changeContainer(!1),this.$note.on("summernote.keyup summernote.mouseup summernote.change",function(){t.context.invoke("buttons.updateCurrentStyle")}),this.context.invoke("buttons.updateCurrentStyle"),this.options.followingToolbar&&this.$window.on("scroll resize",this.followScroll)},e.prototype.destroy=function(){this.$toolbar.children().remove(),this.options.followingToolbar&&this.$window.off("scroll resize",this.followScroll)},e.prototype.followScroll=function(){if(this.$editor.hasClass("fullscreen"))return!1;var e=this.$toolbar.parent(".note-toolbar-wrapper"),o=this.$editor.outerHeight(),n=this.$editor.width(),i=this.$toolbar.height();e.css({height:i});var r=0;this.options.otherStaticBar&&(r=t(this.options.otherStaticBar).outerHeight());var s=this.$document.scrollTop(),a=this.$editor.offset().top;s>a-r&&s<a+o-r-i?this.$toolbar.css({position:"fixed",top:r,width:n}):this.$toolbar.css({position:"relative",top:0,width:"100%"})},e.prototype.changeContainer=function(t){t?this.$toolbar.prependTo(this.$editor):this.options.toolbarContainer&&this.$toolbar.appendTo(this.options.toolbarContainer)},e.prototype.updateFullscreen=function(t){this.ui.toggleBtnActive(this.$toolbar.find(".btn-fullscreen"),t),this.changeContainer(t)},e.prototype.updateCodeview=function(t){this.ui.toggleBtnActive(this.$toolbar.find(".btn-codeview"),t),t?this.deactivate():this.activate()},e.prototype.activate=function(t){var e=this.$toolbar.find("button");t||(e=e.not(".btn-codeview")),this.ui.toggleBtn(e,!0)},e.prototype.deactivate=function(t){var e=this.$toolbar.find("button");t||(e=e.not(".btn-codeview")),this.ui.toggleBtn(e,!1)},e}(),ee=function(){function e(e){this.context=e,this.ui=t.summernote.ui,this.$body=t(document.body),this.$editor=e.layoutInfo.editor,this.options=e.options,this.lang=this.options.langInfo,e.memo("help.linkDialog.show",this.options.langInfo.help["linkDialog.show"])}return e.prototype.initialize=function(){var e=this.options.dialogsInBody?this.$body:this.$editor,o=['<div class="form-group note-form-group">','<label class="note-form-label">'+this.lang.link.textToDisplay+"</label>",'<input class="note-link-text form-control note-form-control note-input" type="text" />',"</div>",'<div class="form-group note-form-group">','<label class="note-form-label">'+this.lang.link.url+"</label>",'<input class="note-link-url form-control note-form-control note-input" type="text" value="http://" />',"</div>",this.options.disableLinkTarget?"":t("<div/>").append(this.ui.checkbox({id:"sn-checkbox-open-in-new-window",text:this.lang.link.openInNewWindow,checked:!0}).render()).html()].join(""),n='<button type="submit" href="#" class="btn btn-primary note-btn note-btn-primary note-link-btn" disabled>'+this.lang.link.insert+"</button>";this.$dialog=this.ui.dialog({className:"link-dialog",title:this.lang.link.insert,fade:this.options.dialogsFade,body:o,footer:n}).render().appendTo(e)},e.prototype.destroy=function(){this.ui.hideDialog(this.$dialog),this.$dialog.remove()},e.prototype.bindEnterKey=function(t,e){t.on("keypress",function(t){t.keyCode===At.code.ENTER&&(t.preventDefault(),e.trigger("click"))})},e.prototype.toggleLinkBtn=function(t,e,o){this.ui.toggleBtn(t,e.val()&&o.val())},e.prototype.showLinkDialog=function(e){var o=this;return t.Deferred(function(t){var n=o.$dialog.find(".note-link-text"),i=o.$dialog.find(".note-link-url"),r=o.$dialog.find(".note-link-btn"),s=o.$dialog.find("input[type=checkbox]");o.ui.onDialogShown(o.$dialog,function(){o.context.triggerEvent("dialog.shown"),e.url||(e.url=e.text),n.val(e.text);var a=function(){o.toggleLinkBtn(r,n,i),e.text=n.val()};n.on("input",a).on("paste",function(){setTimeout(a,0)});var l=function(){o.toggleLinkBtn(r,n,i),e.text||n.val(i.val())};i.on("input",l).on("paste",function(){setTimeout(l,0)}).val(e.url),z.isSupportTouch||i.trigger("focus"),o.toggleLinkBtn(r,n,i),o.bindEnterKey(i,r),o.bindEnterKey(n,r);var c=void 0!==e.isNewWindow?e.isNewWindow:o.context.options.linkTargetBlank;s.prop("checked",c),r.one("click",function(r){r.preventDefault(),t.resolve({range:e.range,url:i.val(),text:n.val(),isNewWindow:s.is(":checked")}),o.ui.hideDialog(o.$dialog)})}),o.ui.onDialogHidden(o.$dialog,function(){n.off("input paste keypress"),i.off("input paste keypress"),r.off("click"),"pending"===t.state()&&t.reject()}),o.ui.showDialog(o.$dialog)}).promise()},e.prototype.show=function(){var t=this,e=this.context.invoke("editor.getLinkInfo");this.context.invoke("editor.saveRange"),this.showLinkDialog(e).then(function(e){t.context.invoke("editor.restoreRange"),t.context.invoke("editor.createLink",e)}).fail(function(){t.context.invoke("editor.restoreRange")})},e}(),oe=function(){function e(e){var o=this;this.context=e,this.ui=t.summernote.ui,this.options=e.options,this.events={"summernote.keyup summernote.mouseup summernote.change summernote.scroll":function(){o.update()},"summernote.disable summernote.dialog.shown":function(){o.hide()}}}return e.prototype.shouldInitialize=function(){return!N.isEmpty(this.options.popover.link)},e.prototype.initialize=function(){this.$popover=this.ui.popover({className:"note-link-popover",callback:function(t){t.find(".popover-content,.note-popover-content").prepend('<span><a target="_blank"></a> </span>')}}).render().appendTo(this.options.container);var t=this.$popover.find(".popover-content,.note-popover-content");this.context.invoke("buttons.build",t,this.options.popover.link)},e.prototype.destroy=function(){this.$popover.remove()},e.prototype.update=function(){if(this.context.invoke("editor.hasFocus")){var e=this.context.invoke("editor.createRange");if(e.isCollapsed()&&e.isOnAnchor()){var o=Nt.ancestor(e.sc,Nt.isAnchor),n=t(o).attr("href");this.$popover.find("a").attr("href",n).html(n);var i=Nt.posFromPlaceholder(o);this.$popover.css({display:"block",left:i.left,top:i.top})}else this.hide()}else this.hide()},e.prototype.hide=function(){this.$popover.hide()},e}(),ne=function(){function e(e){this.context=e,this.ui=t.summernote.ui,this.$body=t(document.body),this.$editor=e.layoutInfo.editor,this.options=e.options,this.lang=this.options.langInfo}return e.prototype.initialize=function(){var t=this.options.dialogsInBody?this.$body:this.$editor,e="";if(this.options.maximumImageFileSize){var o=Math.floor(Math.log(this.options.maximumImageFileSize)/Math.log(1024)),n=1*(this.options.maximumImageFileSize/Math.pow(1024,o)).toFixed(2)+" "+" KMGTP"[o]+"B";e="<small>"+this.lang.image.maximumFileSize+" : "+n+"</small>"}var i=['<div class="form-group note-form-group note-group-select-from-files">','<label class="note-form-label">'+this.lang.image.selectFromFiles+"</label>",'<input class="note-image-input note-form-control note-input" ',' type="file" name="files" accept="image/*" multiple="multiple" />',e,"</div>",'<div class="form-group note-group-image-url" style="overflow:auto;">','<label class="note-form-label">'+this.lang.image.url+"</label>",'<input class="note-image-url form-control note-form-control note-input ',' col-md-12" type="text" />',"</div>"].join(""),r='<button type="submit" href="#" class="btn btn-primary note-btn note-btn-primary note-image-btn" disabled>'+this.lang.image.insert+"</button>";this.$dialog=this.ui.dialog({title:this.lang.image.insert,fade:this.options.dialogsFade,body:i,footer:r}).render().appendTo(t)},e.prototype.destroy=function(){this.ui.hideDialog(this.$dialog),this.$dialog.remove()},e.prototype.bindEnterKey=function(t,e){t.on("keypress",function(t){t.keyCode===At.code.ENTER&&(t.preventDefault(),e.trigger("click"))})},e.prototype.show=function(){var t=this;this.context.invoke("editor.saveRange"),this.showImageDialog().then(function(e){t.ui.hideDialog(t.$dialog),t.context.invoke("editor.restoreRange"),"string"==typeof e?t.context.invoke("editor.insertImage",e):t.context.invoke("editor.insertImagesOrCallback",e)}).fail(function(){t.context.invoke("editor.restoreRange")})},e.prototype.showImageDialog=function(){var e=this;return t.Deferred(function(t){var o=e.$dialog.find(".note-image-input"),n=e.$dialog.find(".note-image-url"),i=e.$dialog.find(".note-image-btn");e.ui.onDialogShown(e.$dialog,function(){e.context.triggerEvent("dialog.shown"),o.replaceWith(o.clone().on("change",function(e){t.resolve(e.target.files||e.target.value)}).val("")),i.click(function(e){e.preventDefault(),t.resolve(n.val())}),n.on("keyup paste",function(){var t=n.val();e.ui.toggleBtn(i,t)}).val(""),z.isSupportTouch||n.trigger("focus"),e.bindEnterKey(n,i)}),e.ui.onDialogHidden(e.$dialog,function(){o.off("change"),n.off("keyup paste keypress"),i.off("click"),"pending"===t.state()&&t.reject()}),e.ui.showDialog(e.$dialog)})},e}(),ie=function(){function e(e){var o=this;this.context=e,this.ui=t.summernote.ui,this.editable=e.layoutInfo.editable[0],this.options=e.options,this.events={"summernote.disable":function(){o.hide()}}}return e.prototype.shouldInitialize=function(){return!N.isEmpty(this.options.popover.image)},e.prototype.initialize=function(){this.$popover=this.ui.popover({className:"note-image-popover"}).render().appendTo(this.options.container);var t=this.$popover.find(".popover-content,.note-popover-content");this.context.invoke("buttons.build",t,this.options.popover.image)},e.prototype.destroy=function(){this.$popover.remove()},e.prototype.update=function(t){if(Nt.isImg(t)){var e=Nt.posFromPlaceholder(t),o=Nt.posFromPlaceholder(this.editable);this.$popover.css({display:"block",left:this.options.popatmouse?event.pageX-20:e.left,top:this.options.popatmouse?event.pageY:Math.min(e.top,o.top)})}else this.hide()},e.prototype.hide=function(){this.$popover.hide()},e}(),re=function(){function e(e){var o=this;this.context=e,this.ui=t.summernote.ui,this.options=e.options,this.events={"summernote.mousedown":function(t,e){o.update(e.target)},"summernote.keyup summernote.scroll summernote.change":function(){o.update()},"summernote.disable":function(){o.hide()}}}return e.prototype.shouldInitialize=function(){return!N.isEmpty(this.options.popover.table)},e.prototype.initialize=function(){this.$popover=this.ui.popover({className:"note-table-popover"}).render().appendTo(this.options.container);var t=this.$popover.find(".popover-content,.note-popover-content");this.context.invoke("buttons.build",t,this.options.popover.table),z.isFF&&document.execCommand("enableInlineTableEditing",!1,!1)},e.prototype.destroy=function(){this.$popover.remove()},e.prototype.update=function(t){if(this.context.isDisabled())return!1;var e=Nt.isCell(t);if(e){var o=Nt.posFromPlaceholder(t);this.$popover.css({display:"block",left:o.left,top:o.top})}else this.hide();return e},e.prototype.hide=function(){this.$popover.hide()},e}(),se=function(){function e(e){this.context=e,this.ui=t.summernote.ui,this.$body=t(document.body),this.$editor=e.layoutInfo.editor,this.options=e.options,this.lang=this.options.langInfo}return e.prototype.initialize=function(){var t=this.options.dialogsInBody?this.$body:this.$editor,e=['<div class="form-group note-form-group row-fluid">','<label class="note-form-label">'+this.lang.video.url+' <small class="text-muted">'+this.lang.video.providers+"</small></label>",'<input class="note-video-url form-control note-form-control note-input" type="text" />',"</div>"].join(""),o='<button type="submit" href="#" class="btn btn-primary note-btn note-btn-primary note-video-btn" disabled>'+this.lang.video.insert+"</button>";this.$dialog=this.ui.dialog({title:this.lang.video.insert,fade:this.options.dialogsFade,body:e,footer:o}).render().appendTo(t)},e.prototype.destroy=function(){this.ui.hideDialog(this.$dialog),this.$dialog.remove()},e.prototype.bindEnterKey=function(t,e){t.on("keypress",function(t){t.keyCode===At.code.ENTER&&(t.preventDefault(),e.trigger("click"))})},e.prototype.createVideoNode=function(e){var o,n=e.match(/^(?:https?:\/\/)?(?:www\.)?(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=))((\w|-){11})(?:\S+)?$/),i=e.match(/(?:www\.|\/\/)instagram\.com\/p\/(.[a-zA-Z0-9_-]*)/),r=e.match(/\/\/vine\.co\/v\/([a-zA-Z0-9]+)/),s=e.match(/\/\/(player\.)?vimeo\.com\/([a-z]*\/)*(\d+)[?]?.*/),a=e.match(/.+dailymotion.com\/(video|hub)\/([^_]+)[^#]*(#video=([^_&]+))?/),l=e.match(/\/\/v\.youku\.com\/v_show\/id_(\w+)=*\.html/),c=e.match(/\/\/v\.qq\.com.*?vid=(.+)/),d=e.match(/\/\/v\.qq\.com\/x?\/?(page|cover).*?\/([^\/]+)\.html\??.*/),u=e.match(/^.+.(mp4|m4v)$/),h=e.match(/^.+.(ogg|ogv)$/),p=e.match(/^.+.(webm)$/);if(n&&11===n[1].length){var f=n[1];o=t("<iframe>").attr("frameborder",0).attr("src","//www.youtube.com/embed/"+f).attr("width","640").attr("height","360")}else if(i&&i[0].length)o=t("<iframe>").attr("frameborder",0).attr("src","https://instagram.com/p/"+i[1]+"/embed/").attr("width","612").attr("height","710").attr("scrolling","no").attr("allowtransparency","true");else if(r&&r[0].length)o=t("<iframe>").attr("frameborder",0).attr("src",r[0]+"/embed/simple").attr("width","600").attr("height","600").attr("class","vine-embed");else if(s&&s[3].length)o=t("<iframe webkitallowfullscreen mozallowfullscreen allowfullscreen>").attr("frameborder",0).attr("src","//player.vimeo.com/video/"+s[3]).attr("width","640").attr("height","360");else if(a&&a[2].length)o=t("<iframe>").attr("frameborder",0).attr("src","//www.dailymotion.com/embed/video/"+a[2]).attr("width","640").attr("height","360");else if(l&&l[1].length)o=t("<iframe webkitallowfullscreen mozallowfullscreen allowfullscreen>").attr("frameborder",0).attr("height","498").attr("width","510").attr("src","//player.youku.com/embed/"+l[1]);else if(c&&c[1].length||d&&d[2].length){var m=c&&c[1].length?c[1]:d[2];o=t("<iframe webkitallowfullscreen mozallowfullscreen allowfullscreen>").attr("frameborder",0).attr("height","310").attr("width","500").attr("src","http://v.qq.com/iframe/player.html?vid="+m+"&auto=0")}else{if(!(u||h||p))return!1;o=t("<video controls>").attr("src",e).attr("width","640").attr("height","360")}return o.addClass("note-video-clip"),o[0]},e.prototype.show=function(){var t=this,e=this.context.invoke("editor.getSelectedText");this.context.invoke("editor.saveRange"),this.showVideoDialog(e).then(function(e){t.ui.hideDialog(t.$dialog),t.context.invoke("editor.restoreRange");var o=t.createVideoNode(e);o&&t.context.invoke("editor.insertNode",o)}).fail(function(){t.context.invoke("editor.restoreRange")})},e.prototype.showVideoDialog=function(e){var o=this;return t.Deferred(function(t){var n=o.$dialog.find(".note-video-url"),i=o.$dialog.find(".note-video-btn");o.ui.onDialogShown(o.$dialog,function(){o.context.triggerEvent("dialog.shown"),n.val(e).on("input",function(){o.ui.toggleBtn(i,n.val())}),z.isSupportTouch||n.trigger("focus"),i.click(function(e){e.preventDefault(),t.resolve(n.val())}),o.bindEnterKey(n,i)}),o.ui.onDialogHidden(o.$dialog,function(){n.off("input"),i.off("click"),"pending"===t.state()&&t.reject()}),o.ui.showDialog(o.$dialog)})},e}(),ae=function(){function e(e){this.context=e,this.ui=t.summernote.ui,this.$body=t(document.body),this.$editor=e.layoutInfo.editor,this.options=e.options,this.lang=this.options.langInfo}return e.prototype.initialize=function(){var t=this.options.dialogsInBody?this.$body:this.$editor,e=['<p class="text-center">','<a href="http://summernote.org/" target="_blank">Summernote 0.8.10</a> · ','<a href="https://github.com/summernote/summernote" target="_blank">Project</a> · ','<a href="https://github.com/summernote/summernote/issues" target="_blank">Issues</a>',"</p>"].join("");this.$dialog=this.ui.dialog({title:this.lang.options.help,fade:this.options.dialogsFade,body:this.createShortcutList(),footer:e,callback:function(t){t.find(".modal-body,.note-modal-body").css({"max-height":300,overflow:"scroll"})}}).render().appendTo(t)},e.prototype.destroy=function(){this.ui.hideDialog(this.$dialog),this.$dialog.remove()},e.prototype.createShortcutList=function(){var e=this,o=this.options.keyMap[z.isMac?"mac":"pc"];return Object.keys(o).map(function(n){var i=o[n],r=t('<div><div class="help-list-item"/></div>');return r.append(t("<label><kbd>"+n+"</kdb></label>").css({width:180,"margin-right":10})).append(t("<span/>").html(e.context.memo("help."+i)||i)),r.html()}).join("")},e.prototype.showHelpDialog=function(){var e=this;return t.Deferred(function(t){e.ui.onDialogShown(e.$dialog,function(){e.context.triggerEvent("dialog.shown"),t.resolve()}),e.ui.showDialog(e.$dialog)}).promise()},e.prototype.show=function(){var t=this;this.context.invoke("editor.saveRange"),this.showHelpDialog().then(function(){t.context.invoke("editor.restoreRange")})},e}(),le=function(){function e(e){var o=this;this.context=e,this.ui=t.summernote.ui,this.options=e.options,this.events={"summernote.keyup summernote.mouseup summernote.scroll":function(){o.update()},"summernote.disable summernote.change summernote.dialog.shown":function(){o.hide()},"summernote.focusout":function(t,e){z.isFF||e.relatedTarget&&Nt.ancestor(e.relatedTarget,C.eq(o.$popover[0]))||o.hide()}}}return e.prototype.shouldInitialize=function(){return this.options.airMode&&!N.isEmpty(this.options.popover.air)},e.prototype.initialize=function(){this.$popover=this.ui.popover({className:"note-air-popover"}).render().appendTo(this.options.container);var t=this.$popover.find(".popover-content");this.context.invoke("buttons.build",t,this.options.popover.air)},e.prototype.destroy=function(){this.$popover.remove()},e.prototype.update=function(){var t=this.context.invoke("editor.currentStyle");if(t.range&&!t.range.isCollapsed()){var e=N.last(t.range.getClientRects());if(e){var o=C.rect2bnd(e);this.$popover.css({display:"block",left:Math.max(o.left+o.width/2,0)-20,top:o.top+o.height}),this.context.invoke("buttons.updateCurrentStyle",this.$popover)}}else this.hide()},e.prototype.hide=function(){this.$popover.hide()},e}(),ce=function(){function e(e){var o=this;this.context=e,this.ui=t.summernote.ui,this.$editable=e.layoutInfo.editable,this.options=e.options,this.hint=this.options.hint||[],this.direction=this.options.hintDirection||"bottom",this.hints=t.isArray(this.hint)?this.hint:[this.hint],this.events={"summernote.keyup":function(t,e){e.isDefaultPrevented()||o.handleKeyup(e)},"summernote.keydown":function(t,e){o.handleKeydown(e)},"summernote.disable summernote.dialog.shown":function(){o.hide()}}}return e.prototype.shouldInitialize=function(){return this.hints.length>0},e.prototype.initialize=function(){var e=this;this.lastWordRange=null,this.$popover=this.ui.popover({className:"note-hint-popover",hideArrow:!0,direction:""}).render().appendTo(this.options.container),this.$popover.hide(),this.$content=this.$popover.find(".popover-content,.note-popover-content"),this.$content.on("click",".note-hint-item",function(){e.$content.find(".active").removeClass("active"),t(e).addClass("active"),e.replace()})},e.prototype.destroy=function(){this.$popover.remove()},e.prototype.selectItem=function(t){this.$content.find(".active").removeClass("active"),t.addClass("active"),this.$content[0].scrollTop=t[0].offsetTop-this.$content.innerHeight()/2},e.prototype.moveDown=function(){var t=this.$content.find(".note-hint-item.active"),e=t.next();if(e.length)this.selectItem(e);else{var o=t.parent().next();o.length||(o=this.$content.find(".note-hint-group").first()),this.selectItem(o.find(".note-hint-item").first())}},e.prototype.moveUp=function(){var t=this.$content.find(".note-hint-item.active"),e=t.prev();if(e.length)this.selectItem(e);else{var o=t.parent().prev();o.length||(o=this.$content.find(".note-hint-group").last()),this.selectItem(o.find(".note-hint-item").last())}},e.prototype.replace=function(){var t=this.$content.find(".note-hint-item.active");if(t.length){var e=this.nodeFromItem(t);this.lastWordRange.insertNode(e),Ht.createFromNode(e).collapse().select(),this.lastWordRange=null,this.hide(),this.context.triggerEvent("change",this.$editable.html(),this.$editable[0]),this.context.invoke("editor.focus")}},e.prototype.nodeFromItem=function(t){var e=this.hints[t.data("index")],o=t.data("item"),n=e.content?e.content(o):o;return"string"==typeof n&&(n=Nt.createText(n)),n},e.prototype.createItemTemplates=function(e,o){var n=this.hints[e];return o.map(function(o,i){var r=t('<div class="note-hint-item"/>');return r.append(n.template?n.template(o):o+""),r.data({index:e,item:o}),r})},e.prototype.handleKeydown=function(t){this.$popover.is(":visible")&&(t.keyCode===At.code.ENTER?(t.preventDefault(),this.replace()):t.keyCode===At.code.UP?(t.preventDefault(),this.moveUp()):t.keyCode===At.code.DOWN&&(t.preventDefault(),this.moveDown()))},e.prototype.searchKeyword=function(t,e,o){var n=this.hints[t];if(n&&n.match.test(e)&&n.search){var i=n.match.exec(e);n.search(i[1],o)}else o()},e.prototype.createGroup=function(e,o){var n=this,i=t('<div class="note-hint-group note-hint-group-'+e+'"/>');return this.searchKeyword(e,o,function(t){(t=t||[]).length&&(i.html(n.createItemTemplates(e,t)),n.show())}),i},e.prototype.handleKeyup=function(t){var e=this;if(!N.contains([At.code.ENTER,At.code.UP,At.code.DOWN],t.keyCode)){var o=this.context.invoke("editor.createRange").getWordRange(),n=o.toString();if(this.hints.length&&n){this.$content.empty();var i=C.rect2bnd(N.last(o.getClientRects()));i&&(this.$popover.hide(),this.lastWordRange=o,this.hints.forEach(function(t,o){t.match.test(n)&&e.createGroup(o,n).appendTo(e.$content)}),this.$content.find(".note-hint-item:first").addClass("active"),"top"===this.direction?this.$popover.css({left:i.left,top:i.top-this.$popover.outerHeight()-5}):this.$popover.css({left:i.left,top:i.top+i.height+5}))}else this.hide()}},e.prototype.show=function(){this.$popover.show()},e.prototype.hide=function(){this.$popover.hide()},e}(),de=function(){function e(e,o){this.ui=t.summernote.ui,this.$note=e,this.memos={},this.modules={},this.layoutInfo={},this.options=o,this.initialize()}return e.prototype.initialize=function(){return this.layoutInfo=this.ui.createLayout(this.$note,this.options),this._initialize(),this.$note.hide(),this},e.prototype.destroy=function(){this._destroy(),this.$note.removeData("summernote"),this.ui.removeLayout(this.$note,this.layoutInfo)},e.prototype.reset=function(){var t=this.isDisabled();this.code(Nt.emptyPara),this._destroy(),this._initialize(),t&&this.disable()},e.prototype._initialize=function(){var e=this,o=t.extend({},this.options.buttons);Object.keys(o).forEach(function(t){e.memo("button."+t,o[t])});var n=t.extend({},this.options.modules,t.summernote.plugins||{});Object.keys(n).forEach(function(t){e.module(t,n[t],!0)}),Object.keys(this.modules).forEach(function(t){e.initializeModule(t)})},e.prototype._destroy=function(){var t=this;Object.keys(this.modules).reverse().forEach(function(e){t.removeModule(e)}),Object.keys(this.memos).forEach(function(e){t.removeMemo(e)}),this.triggerEvent("destroy",this)},e.prototype.code=function(t){var e=this.invoke("codeview.isActivated");if(void 0===t)return this.invoke("codeview.sync"),e?this.layoutInfo.codable.val():this.layoutInfo.editable.html();e?this.layoutInfo.codable.val(t):this.layoutInfo.editable.html(t),this.$note.val(t),this.triggerEvent("change",t)},e.prototype.isDisabled=function(){return"false"===this.layoutInfo.editable.attr("contenteditable")},e.prototype.enable=function(){this.layoutInfo.editable.attr("contenteditable",!0),this.invoke("toolbar.activate",!0),this.triggerEvent("disable",!1)},e.prototype.disable=function(){this.invoke("codeview.isActivated")&&this.invoke("codeview.deactivate"),this.layoutInfo.editable.attr("contenteditable",!1),this.invoke("toolbar.deactivate",!0),this.triggerEvent("disable",!0)},e.prototype.triggerEvent=function(){var t=N.head(arguments),e=N.tail(N.from(arguments)),o=this.options.callbacks[C.namespaceToCamel(t,"on")];o&&o.apply(this.$note[0],e),this.$note.trigger("summernote."+t,e)},e.prototype.initializeModule=function(t){var e=this.modules[t];e.shouldInitialize=e.shouldInitialize||C.ok,e.shouldInitialize()&&(e.initialize&&e.initialize(),e.events&&Nt.attachEvents(this.$note,e.events))},e.prototype.module=function(t,e,o){if(1===arguments.length)return this.modules[t];this.modules[t]=new e(this),o||this.initializeModule(t)},e.prototype.removeModule=function(t){var e=this.modules[t];e.shouldInitialize()&&(e.events&&Nt.detachEvents(this.$note,e.events),e.destroy&&e.destroy()),delete this.modules[t]},e.prototype.memo=function(t,e){if(1===arguments.length)return this.memos[t];this.memos[t]=e},e.prototype.removeMemo=function(t){this.memos[t]&&this.memos[t].destroy&&this.memos[t].destroy(),delete this.memos[t]},e.prototype.createInvokeHandlerAndUpdateState=function(t,e){var o=this;return function(n){o.createInvokeHandler(t,e)(n),o.invoke("buttons.updateCurrentStyle")}},e.prototype.createInvokeHandler=function(e,o){var n=this;return function(i){i.preventDefault();var r=t(i.target);n.invoke(e,o||r.closest("[data-value]").data("value"),r)}},e.prototype.invoke=function(){var t=N.head(arguments),e=N.tail(N.from(arguments)),o=t.split("."),n=o.length>1,i=n&&N.head(o),r=n?N.last(o):N.head(o),s=this.modules[i||"editor"];return!i&&this[r]?this[r].apply(this,e):s&&s[r]&&s.shouldInitialize()?s[r].apply(s,e):void 0},e}();t.fn.extend({summernote:function(){var e=t.type(N.head(arguments)),o="string"===e,n="object"===e,i=t.extend({},t.summernote.options,n?N.head(arguments):{});i.langInfo=t.extend(!0,{},t.summernote.lang["en-US"],t.summernote.lang[i.lang]),i.icons=t.extend(!0,{},t.summernote.options.icons,i.icons),i.tooltip="auto"===i.tooltip?!z.isSupportTouch:i.tooltip,this.each(function(e,o){var n=t(o);if(!n.data("summernote")){var r=new de(n,i);n.data("summernote",r),n.data("summernote").triggerEvent("init",r.layoutInfo)}});var r=this.first();if(r.length){var s=r.data("summernote");if(o)return s.invoke.apply(s,N.from(arguments));i.focus&&s.invoke("editor.focus")}return this}}),t.summernote=t.extend(t.summernote,{version:"0.8.10",ui:y,dom:Nt,plugins:{},options:{modules:{editor:jt,clipboard:qt,dropzone:Kt,codeview:Vt,statusbar:Wt,fullscreen:Gt,handle:_t,hintPopover:ce,autoLink:Yt,autoSync:Qt,placeholder:Jt,buttons:Xt,toolbar:te,linkDialog:ee,linkPopover:oe,imageDialog:ne,imagePopover:ie,tablePopover:re,videoDialog:se,helpDialog:ae,airPopover:le},buttons:{},lang:"en-US",followingToolbar:!0,otherStaticBar:"",toolbar:[["style",["style"]],["font",["bold","underline","clear"]],["fontname",["fontname"]],["color",["color"]],["para",["ul","ol","paragraph"]],["table",["table"]],["insert",["link","picture","video"]],["view",["fullscreen","codeview","help"]]],popatmouse:!0,popover:{image:[["imagesize",["imageSize100","imageSize50","imageSize25"]],["float",["floatLeft","floatRight","floatNone"]],["remove",["removeMedia"]]],link:[["link",["linkDialogShow","unlink"]]],table:[["add",["addRowDown","addRowUp","addColLeft","addColRight"]],["delete",["deleteRow","deleteCol","deleteTable"]]],air:[["color",["color"]],["font",["bold","underline","clear"]],["para",["ul","paragraph"]],["table",["table"]],["insert",["link","picture"]]]},airMode:!1,width:null,height:null,linkTargetBlank:!0,focus:!1,tabSize:4,styleWithSpan:!0,shortcuts:!0,textareaAutoSync:!0,hintDirection:"bottom",tooltip:"auto",container:"body",maxTextLength:0,styleTags:["p","blockquote","pre","h1","h2","h3","h4","h5","h6"],fontNames:["Arial","Arial Black","Comic Sans MS","Courier New","Helvetica Neue","Helvetica","Impact","Lucida Grande","Tahoma","Times New Roman","Verdana"],fontSizes:["8","9","10","11","12","14","18","24","36"],colors:[["#000000","#424242","#636363","#9C9C94","#CEC6CE","#EFEFEF","#F7F7F7","#FFFFFF"],["#FF0000","#FF9C00","#FFFF00","#00FF00","#00FFFF","#0000FF","#9C00FF","#FF00FF"],["#F7C6CE","#FFE7CE","#FFEFC6","#D6EFD6","#CEDEE7","#CEE7F7","#D6D6E7","#E7D6DE"],["#E79C9C","#FFC69C","#FFE79C","#B5D6A5","#A5C6CE","#9CC6EF","#B5A5D6","#D6A5BD"],["#E76363","#F7AD6B","#FFD663","#94BD7B","#73A5AD","#6BADDE","#8C7BC6","#C67BA5"],["#CE0000","#E79439","#EFC631","#6BA54A","#4A7B8C","#3984C6","#634AA5","#A54A7B"],["#9C0000","#B56308","#BD9400","#397B21","#104A5A","#085294","#311873","#731842"],["#630000","#7B3900","#846300","#295218","#083139","#003163","#21104A","#4A1031"]],colorsName:[["Black","Tundora","Dove Gray","Star Dust","Pale Slate","Gallery","Alabaster","White"],["Red","Orange Peel","Yellow","Green","Cyan","Blue","Electric Violet","Magenta"],["Azalea","Karry","Egg White","Zanah","Botticelli","Tropical Blue","Mischka","Twilight"],["Tonys Pink","Peach Orange","Cream Brulee","Sprout","Casper","Perano","Cold Purple","Careys Pink"],["Mandy","Rajah","Dandelion","Olivine","Gulf Stream","Viking","Blue Marguerite","Puce"],["Guardsman Red","Fire Bush","Golden Dream","Chelsea Cucumber","Smalt Blue","Boston Blue","Butterfly Bush","Cadillac"],["Sangria","Mai Tai","Buddha Gold","Forest Green","Eden","Venice Blue","Meteorite","Claret"],["Rosewood","Cinnamon","Olive","Parsley","Tiber","Midnight Blue","Valentino","Loulou"]],lineHeights:["1.0","1.2","1.4","1.5","1.6","1.8","2.0","3.0"],tableClassName:"table table-bordered",insertTableMaxSize:{col:10,row:10},dialogsInBody:!1,dialogsFade:!1,maximumImageFileSize:null,callbacks:{onInit:null,onFocus:null,onBlur:null,onBlurCodeview:null,onEnter:null,onKeyup:null,onKeydown:null,onImageUpload:null,onImageUploadError:null},codemirror:{mode:"text/html",htmlMode:!0,lineNumbers:!0},keyMap:{pc:{ENTER:"insertParagraph","CTRL+Z":"undo","CTRL+Y":"redo",TAB:"tab","SHIFT+TAB":"untab","CTRL+B":"bold","CTRL+I":"italic","CTRL+U":"underline","CTRL+SHIFT+S":"strikethrough","CTRL+BACKSLASH":"removeFormat","CTRL+SHIFT+L":"justifyLeft","CTRL+SHIFT+E":"justifyCenter","CTRL+SHIFT+R":"justifyRight","CTRL+SHIFT+J":"justifyFull","CTRL+SHIFT+NUM7":"insertUnorderedList","CTRL+SHIFT+NUM8":"insertOrderedList","CTRL+LEFTBRACKET":"outdent","CTRL+RIGHTBRACKET":"indent","CTRL+NUM0":"formatPara","CTRL+NUM1":"formatH1","CTRL+NUM2":"formatH2","CTRL+NUM3":"formatH3","CTRL+NUM4":"formatH4","CTRL+NUM5":"formatH5","CTRL+NUM6":"formatH6","CTRL+ENTER":"insertHorizontalRule","CTRL+K":"linkDialog.show"},mac:{ENTER:"insertParagraph","CMD+Z":"undo","CMD+SHIFT+Z":"redo",TAB:"tab","SHIFT+TAB":"untab","CMD+B":"bold","CMD+I":"italic","CMD+U":"underline","CMD+SHIFT+S":"strikethrough","CMD+BACKSLASH":"removeFormat","CMD+SHIFT+L":"justifyLeft","CMD+SHIFT+E":"justifyCenter","CMD+SHIFT+R":"justifyRight","CMD+SHIFT+J":"justifyFull","CMD+SHIFT+NUM7":"insertUnorderedList","CMD+SHIFT+NUM8":"insertOrderedList","CMD+LEFTBRACKET":"outdent","CMD+RIGHTBRACKET":"indent","CMD+NUM0":"formatPara","CMD+NUM1":"formatH1","CMD+NUM2":"formatH2","CMD+NUM3":"formatH3","CMD+NUM4":"formatH4","CMD+NUM5":"formatH5","CMD+NUM6":"formatH6","CMD+ENTER":"insertHorizontalRule","CMD+K":"linkDialog.show"}},icons:{align:"note-icon-align",alignCenter:"note-icon-align-center",alignJustify:"note-icon-align-justify",alignLeft:"note-icon-align-left",alignRight:"note-icon-align-right",rowBelow:"note-icon-row-below",colBefore:"note-icon-col-before",colAfter:"note-icon-col-after",rowAbove:"note-icon-row-above",rowRemove:"note-icon-row-remove",colRemove:"note-icon-col-remove",indent:"note-icon-align-indent",outdent:"note-icon-align-outdent",arrowsAlt:"note-icon-arrows-alt",bold:"note-icon-bold",caret:"note-icon-caret",circle:"note-icon-circle",close:"note-icon-close",code:"note-icon-code",eraser:"note-icon-eraser",font:"note-icon-font",frame:"note-icon-frame",italic:"note-icon-italic",link:"note-icon-link",unlink:"note-icon-chain-broken",magic:"note-icon-magic",menuCheck:"note-icon-menu-check",minus:"note-icon-minus",orderedlist:"note-icon-orderedlist",pencil:"note-icon-pencil",picture:"note-icon-picture",question:"note-icon-question",redo:"note-icon-redo",square:"note-icon-square",strikethrough:"note-icon-strikethrough",subscript:"note-icon-subscript",superscript:"note-icon-superscript",table:"note-icon-table",textHeight:"note-icon-text-height",trash:"note-icon-trash",underline:"note-icon-underline",undo:"note-icon-undo",unorderedlist:"note-icon-unorderedlist",video:"note-icon-video"}}})});PK�{�\*�O�����summernote-bs4.js.mapnu�[���{"version":3,"file":"summernote-bs4.js","sources":["../src/js/base/renderer.js","../src/js/bs4/ui.js","../src/js/base/core/func.js","../src/js/base/core/lists.js","../src/js/base/core/env.js","../src/js/base/core/dom.js","../src/js/base/summernote-en-US.js","../src/js/base/core/key.js","../src/js/base/core/range.js","../src/js/base/core/async.js","../src/js/base/editing/History.js","../src/js/base/editing/Style.js","../src/js/base/editing/Bullet.js","../src/js/base/editing/Typing.js","../src/js/base/editing/Table.js","../src/js/base/module/Editor.js","../src/js/base/module/Clipboard.js","../src/js/base/module/Dropzone.js","../src/js/base/module/Codeview.js","../src/js/base/module/Statusbar.js","../src/js/base/module/Fullscreen.js","../src/js/base/module/Handle.js","../src/js/base/module/AutoLink.js","../src/js/base/module/AutoSync.js","../src/js/base/module/Placeholder.js","../src/js/base/module/Buttons.js","../src/js/base/module/Toolbar.js","../src/js/base/module/LinkDialog.js","../src/js/base/module/LinkPopover.js","../src/js/base/module/ImageDialog.js","../src/js/base/module/ImagePopover.js","../src/js/base/module/TablePopover.js","../src/js/base/module/VideoDialog.js","../src/js/base/module/HelpDialog.js","../src/js/base/module/AirPopover.js","../src/js/base/module/HintPopover.js","../src/js/base/Context.js","../src/js/summernote.js","../src/js/bs4/settings.js"],"sourcesContent":["import $ from 'jquery';\n\nclass Renderer {\n constructor(markup, children, options, callback) {\n this.markup = markup;\n this.children = children;\n this.options = options;\n this.callback = callback;\n }\n\n render($parent) {\n const $node = $(this.markup);\n\n if (this.options && this.options.contents) {\n $node.html(this.options.contents);\n }\n\n if (this.options && this.options.className) {\n $node.addClass(this.options.className);\n }\n\n if (this.options && this.options.data) {\n $.each(this.options.data, (k, v) => {\n $node.attr('data-' + k, v);\n });\n }\n\n if (this.options && this.options.click) {\n $node.on('click', this.options.click);\n }\n\n if (this.children) {\n const $container = $node.find('.note-children-container');\n this.children.forEach((child) => {\n child.render($container.length ? $container : $node);\n });\n }\n\n if (this.callback) {\n this.callback($node, this.options);\n }\n\n if (this.options && this.options.callback) {\n this.options.callback($node);\n }\n\n if ($parent) {\n $parent.append($node);\n }\n\n return $node;\n }\n}\n\nexport default {\n create: (markup, callback) => {\n return () => {\n const options = typeof arguments[1] === 'object' ? arguments[1] : arguments[0];\n let children = $.isArray(arguments[0]) ? arguments[0] : [];\n if (options && options.children) {\n children = options.children;\n }\n return new Renderer(markup, children, options, callback);\n };\n }\n};\n","import $ from 'jquery';\nimport renderer from '../base/renderer';\n\nconst editor = renderer.create('<div class=\"note-editor note-frame card\"/>');\nconst toolbar = renderer.create('<div class=\"note-toolbar-wrapper\"><div class=\"note-toolbar card-header\" role=\"toolbar\"></div></div>');\nconst editingArea = renderer.create('<div class=\"note-editing-area\"/>');\nconst codable = renderer.create('<textarea class=\"note-codable\" role=\"textbox\" aria-multiline=\"true\"/>');\nconst editable = renderer.create('<div class=\"note-editable card-block\" contentEditable=\"true\" role=\"textbox\" aria-multiline=\"true\"/>');\nconst statusbar = renderer.create([\n '<output class=\"note-status-output\" aria-live=\"polite\"/>',\n '<div class=\"note-statusbar\" role=\"status\">',\n ' <output class=\"note-status-output\" aria-live=\"polite\"></output>',\n ' <div class=\"note-resizebar\" role=\"seperator\" aria-orientation=\"horizontal\" aria-label=\"Resize\">',\n ' <div class=\"note-icon-bar\"/>',\n ' <div class=\"note-icon-bar\"/>',\n ' <div class=\"note-icon-bar\"/>',\n ' </div>',\n '</div>'\n].join(''));\n\nconst airEditor = renderer.create('<div class=\"note-editor\"/>');\nconst airEditable = renderer.create([\n '<output class=\"note-status-output\" aria-live=\"polite\"/>',\n '<div class=\"note-editable\" contentEditable=\"true\" role=\"textbox\" aria-multiline=\"true\"/>'\n].join(''));\n\nconst buttonGroup = renderer.create('<div class=\"note-btn-group btn-group\">');\n\nconst dropdown = renderer.create('<div class=\"dropdown-menu\" role=\"list\">', function($node, options) {\n const markup = $.isArray(options.items) ? options.items.map(function(item) {\n const value = (typeof item === 'string') ? item : (item.value || '');\n const content = options.template ? options.template(item) : item;\n const option = (typeof item === 'object') ? item.option : undefined;\n\n const dataValue = 'data-value=\"' + value + '\"';\n const dataOption = (option !== undefined) ? ' data-option=\"' + option + '\"' : '';\n return '<a class=\"dropdown-item\" href=\"#\" ' + (dataValue + dataOption) + ' role=\"listitem\" aria-label=\"' + item + '\">' + content + '</a>';\n }).join('') : options.items;\n\n $node.html(markup).attr({'aria-label': options.title});\n});\n\nconst dropdownButtonContents = function(contents) {\n return contents;\n};\n\nconst dropdownCheck = renderer.create('<div class=\"dropdown-menu note-check\" role=\"list\">', function($node, options) {\n const markup = $.isArray(options.items) ? options.items.map(function(item) {\n const value = (typeof item === 'string') ? item : (item.value || '');\n const content = options.template ? options.template(item) : item;\n return '<a class=\"dropdown-item\" href=\"#\" data-value=\"' + value + '\" role=\"listitem\" aria-label=\"' + item + '\">' + icon(options.checkClassName) + ' ' + content + '</a>';\n }).join('') : options.items;\n $node.html(markup).attr({'aria-label': options.title});\n});\n\nconst palette = renderer.create('<div class=\"note-color-palette\"/>', function($node, options) {\n const contents = [];\n for (let row = 0, rowSize = options.colors.length; row < rowSize; row++) {\n const eventName = options.eventName;\n const colors = options.colors[row];\n const colorsName = options.colorsName[row];\n const buttons = [];\n for (let col = 0, colSize = colors.length; col < colSize; col++) {\n const color = colors[col];\n const colorName = colorsName[col];\n buttons.push([\n '<button type=\"button\" class=\"note-color-btn\"',\n 'style=\"background-color:', color, '\" ',\n 'data-event=\"', eventName, '\" ',\n 'data-value=\"', color, '\" ',\n 'title=\"', colorName, '\" ',\n 'aria-label=\"', colorName, '\" ',\n 'data-toggle=\"button\" tabindex=\"-1\"></button>'\n ].join(''));\n }\n contents.push('<div class=\"note-color-row\">' + buttons.join('') + '</div>');\n }\n $node.html(contents.join(''));\n\n if (options.tooltip) {\n $node.find('.note-color-btn').tooltip({\n container: options.container,\n trigger: 'hover',\n placement: 'bottom'\n });\n }\n});\n\nconst dialog = renderer.create('<div class=\"modal\" aria-hidden=\"false\" tabindex=\"-1\" role=\"dialog\"/>', function($node, options) {\n if (options.fade) {\n $node.addClass('fade');\n }\n $node.attr({\n 'aria-label': options.title\n });\n $node.html([\n '<div class=\"modal-dialog\">',\n ' <div class=\"modal-content\">',\n (options.title\n ? ' <div class=\"modal-header\">' +\n ' <h4 class=\"modal-title\">' + options.title + '</h4>' +\n ' <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\" aria-hidden=\"true\">×</button>' +\n ' </div>' : ''\n ),\n ' <div class=\"modal-body\">' + options.body + '</div>',\n (options.footer\n ? ' <div class=\"modal-footer\">' + options.footer + '</div>' : ''\n ),\n ' </div>',\n '</div>'\n ].join(''));\n});\n\nconst popover = renderer.create([\n '<div class=\"note-popover popover in\">',\n ' <div class=\"arrow\"/>',\n ' <div class=\"popover-content note-children-container\"/>',\n '</div>'\n].join(''), function($node, options) {\n const direction = typeof options.direction !== 'undefined' ? options.direction : 'bottom';\n\n $node.addClass(direction);\n\n if (options.hideArrow) {\n $node.find('.arrow').hide();\n }\n});\n\nconst checkbox = renderer.create('<label class=\"custom-control custom-checkbox\"></label>', function($node, options) {\n if (options.id) {\n $node.attr('for', options.id);\n }\n $node.html([\n ' <input role=\"checkbox\" type=\"checkbox\" class=\"custom-control-input\"' + (options.id ? ' id=\"' + options.id + '\"' : ''),\n (options.checked ? ' checked' : ''),\n ' aria-checked=\"' + (options.checked ? 'true' : 'false') + '\"/>',\n ' <span class=\"custom-control-indicator\"></span>',\n ' <span class=\"custom-control-description\">' + (options.text ? options.text : '') + '</span>',\n '</label>'\n ].join(''));\n});\n\nconst icon = function(iconClassName, tagName) {\n tagName = tagName || 'i';\n return '<' + tagName + ' class=\"' + iconClassName + '\"/>';\n};\n\nconst ui = {\n editor: editor,\n toolbar: toolbar,\n editingArea: editingArea,\n codable: codable,\n editable: editable,\n statusbar: statusbar,\n airEditor: airEditor,\n airEditable: airEditable,\n buttonGroup: buttonGroup,\n dropdown: dropdown,\n dropdownButtonContents: dropdownButtonContents,\n dropdownCheck: dropdownCheck,\n palette: palette,\n dialog: dialog,\n popover: popover,\n icon: icon,\n checkbox: checkbox,\n options: {},\n\n button: function($node, options) {\n return renderer.create('<button type=\"button\" class=\"note-btn btn btn-light btn-sm\" role=\"button\" tabindex=\"-1\">', function($node, options) {\n if (options && options.tooltip) {\n $node.attr({\n title: options.tooltip,\n 'aria-label': options.tooltip\n }).tooltip({\n container: options.container,\n trigger: 'hover',\n placement: 'bottom'\n });\n }\n })($node, options);\n },\n\n toggleBtn: function($btn, isEnable) {\n $btn.toggleClass('disabled', !isEnable);\n $btn.attr('disabled', !isEnable);\n },\n\n toggleBtnActive: function($btn, isActive) {\n $btn.toggleClass('active', isActive);\n },\n\n onDialogShown: function($dialog, handler) {\n $dialog.one('shown.bs.modal', handler);\n },\n\n onDialogHidden: function($dialog, handler) {\n $dialog.one('hidden.bs.modal', handler);\n },\n\n showDialog: function($dialog) {\n $dialog.modal('show');\n },\n\n hideDialog: function($dialog) {\n $dialog.modal('hide');\n },\n\n createLayout: function($note, options) {\n const $editor = (options.airMode ? ui.airEditor([\n ui.editingArea([\n ui.airEditable()\n ])\n ]) : ui.editor([\n ui.toolbar(),\n ui.editingArea([\n ui.codable(),\n ui.editable()\n ]),\n ui.statusbar()\n ])).render();\n\n $editor.insertAfter($note);\n\n return {\n note: $note,\n editor: $editor,\n toolbar: $editor.find('.note-toolbar'),\n editingArea: $editor.find('.note-editing-area'),\n editable: $editor.find('.note-editable'),\n codable: $editor.find('.note-codable'),\n statusbar: $editor.find('.note-statusbar')\n };\n },\n\n removeLayout: function($note, layoutInfo) {\n $note.html(layoutInfo.editable.html());\n layoutInfo.editor.remove();\n $note.show();\n }\n};\n\nexport default ui;\n","/**\n * @class core.func\n *\n * func utils (for high-order func's arg)\n *\n * @singleton\n * @alternateClassName func\n */\nfunction eq(itemA) {\n return function(itemB) {\n return itemA === itemB;\n };\n}\n\nfunction eq2(itemA, itemB) {\n return itemA === itemB;\n}\n\nfunction peq2(propName) {\n return function(itemA, itemB) {\n return itemA[propName] === itemB[propName];\n };\n}\n\nfunction ok() {\n return true;\n}\n\nfunction fail() {\n return false;\n}\n\nfunction not(f) {\n return () => {\n return !f.apply(f, arguments);\n };\n}\n\nfunction and(fA, fB) {\n return function(item) {\n return fA(item) && fB(item);\n };\n}\n\nfunction self(a) {\n return a;\n}\n\nfunction invoke(obj, method) {\n return () => {\n return obj[method].apply(obj, arguments);\n };\n}\n\nlet idCounter = 0;\n\n/**\n * generate a globally-unique id\n *\n * @param {String} [prefix]\n */\nfunction uniqueId(prefix) {\n const id = ++idCounter + '';\n return prefix ? prefix + id : id;\n}\n\n/**\n * returns bnd (bounds) from rect\n *\n * - IE Compatibility Issue: http://goo.gl/sRLOAo\n * - Scroll Issue: http://goo.gl/sNjUc\n *\n * @param {Rect} rect\n * @return {Object} bounds\n * @return {Number} bounds.top\n * @return {Number} bounds.left\n * @return {Number} bounds.width\n * @return {Number} bounds.height\n */\nfunction rect2bnd(rect) {\n const $document = $(document);\n return {\n top: rect.top + $document.scrollTop(),\n left: rect.left + $document.scrollLeft(),\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n}\n\n/**\n * returns a copy of the object where the keys have become the values and the values the keys.\n * @param {Object} obj\n * @return {Object}\n */\nfunction invertObject(obj) {\n const inverted = {};\n for (const key in obj) {\n if (obj.hasOwnProperty(key)) {\n inverted[obj[key]] = key;\n }\n }\n return inverted;\n}\n\n/**\n * @param {String} namespace\n * @param {String} [prefix]\n * @return {String}\n */\nfunction namespaceToCamel(namespace, prefix) {\n prefix = prefix || '';\n return prefix + namespace.split('.').map(function(name) {\n return name.substring(0, 1).toUpperCase() + name.substring(1);\n }).join('');\n}\n\n/**\n * Returns a function, that, as long as it continues to be invoked, will not\n * be triggered. The function will be called after it stops being called for\n * N milliseconds. If `immediate` is passed, trigger the function on the\n * leading edge, instead of the trailing.\n * @param {Function} func\n * @param {Number} wait\n * @param {Boolean} immediate\n * @return {Function}\n */\nfunction debounce(func, wait, immediate) {\n let timeout;\n return () => {\n const context = this;\n const args = arguments;\n const later = () => {\n timeout = null;\n if (!immediate) {\n func.apply(context, args);\n }\n };\n const callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) {\n func.apply(context, args);\n }\n };\n}\n\nexport default {\n eq,\n eq2,\n peq2,\n ok,\n fail,\n self,\n not,\n and,\n invoke,\n uniqueId,\n rect2bnd,\n invertObject,\n namespaceToCamel,\n debounce\n};\n","import $ from 'jquery';\nimport func from './func';\n\n/**\n * returns the first item of an array.\n *\n * @param {Array} array\n */\nfunction head(array) {\n return array[0];\n}\n\n/**\n * returns the last item of an array.\n *\n * @param {Array} array\n */\nfunction last(array) {\n return array[array.length - 1];\n}\n\n/**\n * returns everything but the last entry of the array.\n *\n * @param {Array} array\n */\nfunction initial(array) {\n return array.slice(0, array.length - 1);\n}\n\n/**\n * returns the rest of the items in an array.\n *\n * @param {Array} array\n */\nfunction tail(array) {\n return array.slice(1);\n}\n\n/**\n * returns item of array\n */\nfunction find(array, pred) {\n for (let idx = 0, len = array.length; idx < len; idx++) {\n const item = array[idx];\n if (pred(item)) {\n return item;\n }\n }\n}\n\n/**\n * returns true if all of the values in the array pass the predicate truth test.\n */\nfunction all(array, pred) {\n for (let idx = 0, len = array.length; idx < len; idx++) {\n if (!pred(array[idx])) {\n return false;\n }\n }\n return true;\n}\n\n/**\n * returns index of item\n */\nfunction indexOf(array, item) {\n return $.inArray(item, array);\n}\n\n/**\n * returns true if the value is present in the list.\n */\nfunction contains(array, item) {\n return indexOf(array, item) !== -1;\n}\n\n/**\n * get sum from a list\n *\n * @param {Array} array - array\n * @param {Function} fn - iterator\n */\nfunction sum(array, fn) {\n fn = fn || func.self;\n return array.reduce(function(memo, v) {\n return memo + fn(v);\n }, 0);\n}\n\n/**\n * returns a copy of the collection with array type.\n * @param {Collection} collection - collection eg) node.childNodes, ...\n */\nfunction from(collection) {\n const result = [];\n const length = collection.length;\n let idx = -1;\n while (++idx < length) {\n result[idx] = collection[idx];\n }\n return result;\n}\n\n/**\n * returns whether list is empty or not\n */\nfunction isEmpty(array) {\n return !array || !array.length;\n}\n\n/**\n * cluster elements by predicate function.\n *\n * @param {Array} array - array\n * @param {Function} fn - predicate function for cluster rule\n * @param {Array[]}\n */\nfunction clusterBy(array, fn) {\n if (!array.length) { return []; }\n const aTail = tail(array);\n return aTail.reduce(function(memo, v) {\n const aLast = last(memo);\n if (fn(last(aLast), v)) {\n aLast[aLast.length] = v;\n } else {\n memo[memo.length] = [v];\n }\n return memo;\n }, [[head(array)]]);\n}\n\n/**\n * returns a copy of the array with all false values removed\n *\n * @param {Array} array - array\n * @param {Function} fn - predicate function for cluster rule\n */\nfunction compact(array) {\n const aResult = [];\n for (let idx = 0, len = array.length; idx < len; idx++) {\n if (array[idx]) { aResult.push(array[idx]); }\n }\n return aResult;\n}\n\n/**\n * produces a duplicate-free version of the array\n *\n * @param {Array} array\n */\nfunction unique(array) {\n const results = [];\n\n for (let idx = 0, len = array.length; idx < len; idx++) {\n if (!contains(results, array[idx])) {\n results.push(array[idx]);\n }\n }\n\n return results;\n}\n\n/**\n * returns next item.\n * @param {Array} array\n */\nfunction next(array, item) {\n const idx = indexOf(array, item);\n if (idx === -1) { return null; }\n\n return array[idx + 1];\n}\n\n/**\n * returns prev item.\n * @param {Array} array\n */\nfunction prev(array, item) {\n const idx = indexOf(array, item);\n if (idx === -1) { return null; }\n\n return array[idx - 1];\n}\n\n/**\n * @class core.list\n *\n * list utils\n *\n * @singleton\n * @alternateClassName list\n */\nexport default {\n head,\n last,\n initial,\n tail,\n prev,\n next,\n find,\n contains,\n all,\n sum,\n from,\n isEmpty,\n clusterBy,\n compact,\n unique\n};\n","import $ from 'jquery';\nconst isSupportAmd = typeof define === 'function' && define.amd; // eslint-disable-line\n\n/**\n * returns whether font is installed or not.\n *\n * @param {String} fontName\n * @return {Boolean}\n */\nfunction isFontInstalled(fontName) {\n const testFontName = fontName === 'Comic Sans MS' ? 'Courier New' : 'Comic Sans MS';\n const $tester = $('<div>').css({\n position: 'absolute',\n left: '-9999px',\n top: '-9999px',\n fontSize: '200px'\n }).text('mmmmmmmmmwwwwwww').appendTo(document.body);\n\n const originalWidth = $tester.css('fontFamily', testFontName).width();\n const width = $tester.css('fontFamily', fontName + ',' + testFontName).width();\n\n $tester.remove();\n\n return originalWidth !== width;\n}\n\nconst userAgent = navigator.userAgent;\nconst isMSIE = /MSIE|Trident/i.test(userAgent);\nlet browserVersion;\nif (isMSIE) {\n let matches = /MSIE (\\d+[.]\\d+)/.exec(userAgent);\n if (matches) {\n browserVersion = parseFloat(matches[1]);\n }\n matches = /Trident\\/.*rv:([0-9]{1,}[.0-9]{0,})/.exec(userAgent);\n if (matches) {\n browserVersion = parseFloat(matches[1]);\n }\n}\n\nconst isEdge = /Edge\\/\\d+/.test(userAgent);\n\nlet hasCodeMirror = !!window.CodeMirror;\nif (!hasCodeMirror && isSupportAmd) {\n // Webpack\n if (typeof __webpack_require__ === 'function') { // eslint-disable-line\n try {\n // If CodeMirror can't be resolved, `require.resolve` will throw an\n // exception and `hasCodeMirror` won't be set to `true`.\n require.resolve('codemirror');\n hasCodeMirror = true;\n } catch (e) {\n // do nothing\n }\n } else if (typeof require !== 'undefined') {\n // Browserify\n if (typeof require.resolve !== 'undefined') {\n try {\n // If CodeMirror can't be resolved, `require.resolve` will throw an\n // exception and `hasCodeMirror` won't be set to `true`.\n require.resolve('codemirror');\n hasCodeMirror = true;\n } catch (e) {\n // do nothing\n }\n // Almond/Require\n } else if (typeof require.specified !== 'undefined') {\n hasCodeMirror = require.specified('codemirror');\n }\n }\n}\n\nconst isSupportTouch =\n (('ontouchstart' in window) ||\n (navigator.MaxTouchPoints > 0) ||\n (navigator.msMaxTouchPoints > 0));\n\n// [workaround] IE doesn't have input events for contentEditable\n// - see: https://goo.gl/4bfIvA\nconst inputEventName = (isMSIE || isEdge) ? 'DOMCharacterDataModified DOMSubtreeModified DOMNodeInserted' : 'input';\n\n/**\n * @class core.env\n *\n * Object which check platform and agent\n *\n * @singleton\n * @alternateClassName env\n */\nexport default {\n isMac: navigator.appVersion.indexOf('Mac') > -1,\n isMSIE,\n isEdge,\n isFF: !isEdge && /firefox/i.test(userAgent),\n isPhantom: /PhantomJS/i.test(userAgent),\n isWebkit: !isEdge && /webkit/i.test(userAgent),\n isChrome: !isEdge && /chrome/i.test(userAgent),\n isSafari: !isEdge && /safari/i.test(userAgent),\n browserVersion,\n jqueryVersion: parseFloat($.fn.jquery),\n isSupportAmd,\n isSupportTouch,\n hasCodeMirror,\n isFontInstalled,\n isW3CRangeSupport: !!document.createRange,\n inputEventName\n};\n","import $ from 'jquery';\nimport func from './func';\nimport lists from './lists';\nimport env from './env';\n\nconst NBSP_CHAR = String.fromCharCode(160);\nconst ZERO_WIDTH_NBSP_CHAR = '\\ufeff';\n\n/**\n * @method isEditable\n *\n * returns whether node is `note-editable` or not.\n *\n * @param {Node} node\n * @return {Boolean}\n */\nfunction isEditable(node) {\n return node && $(node).hasClass('note-editable');\n}\n\n/**\n * @method isControlSizing\n *\n * returns whether node is `note-control-sizing` or not.\n *\n * @param {Node} node\n * @return {Boolean}\n */\nfunction isControlSizing(node) {\n return node && $(node).hasClass('note-control-sizing');\n}\n\n/**\n * @method makePredByNodeName\n *\n * returns predicate which judge whether nodeName is same\n *\n * @param {String} nodeName\n * @return {Function}\n */\nfunction makePredByNodeName(nodeName) {\n nodeName = nodeName.toUpperCase();\n return function(node) {\n return node && node.nodeName.toUpperCase() === nodeName;\n };\n}\n\n/**\n * @method isText\n *\n *\n *\n * @param {Node} node\n * @return {Boolean} true if node's type is text(3)\n */\nfunction isText(node) {\n return node && node.nodeType === 3;\n}\n\n/**\n * @method isElement\n *\n *\n *\n * @param {Node} node\n * @return {Boolean} true if node's type is element(1)\n */\nfunction isElement(node) {\n return node && node.nodeType === 1;\n}\n\n/**\n * ex) br, col, embed, hr, img, input, ...\n * @see http://www.w3.org/html/wg/drafts/html/master/syntax.html#void-elements\n */\nfunction isVoid(node) {\n return node && /^BR|^IMG|^HR|^IFRAME|^BUTTON|^INPUT/.test(node.nodeName.toUpperCase());\n}\n\nfunction isPara(node) {\n if (isEditable(node)) {\n return false;\n }\n\n // Chrome(v31.0), FF(v25.0.1) use DIV for paragraph\n return node && /^DIV|^P|^LI|^H[1-7]/.test(node.nodeName.toUpperCase());\n}\n\nfunction isHeading(node) {\n return node && /^H[1-7]/.test(node.nodeName.toUpperCase());\n}\n\nconst isPre = makePredByNodeName('PRE');\n\nconst isLi = makePredByNodeName('LI');\n\nfunction isPurePara(node) {\n return isPara(node) && !isLi(node);\n}\n\nconst isTable = makePredByNodeName('TABLE');\n\nconst isData = makePredByNodeName('DATA');\n\nfunction isInline(node) {\n return !isBodyContainer(node) &&\n !isList(node) &&\n !isHr(node) &&\n !isPara(node) &&\n !isTable(node) &&\n !isBlockquote(node) &&\n !isData(node);\n}\n\nfunction isList(node) {\n return node && /^UL|^OL/.test(node.nodeName.toUpperCase());\n}\n\nconst isHr = makePredByNodeName('HR');\n\nfunction isCell(node) {\n return node && /^TD|^TH/.test(node.nodeName.toUpperCase());\n}\n\nconst isBlockquote = makePredByNodeName('BLOCKQUOTE');\n\nfunction isBodyContainer(node) {\n return isCell(node) || isBlockquote(node) || isEditable(node);\n}\n\nconst isAnchor = makePredByNodeName('A');\n\nfunction isParaInline(node) {\n return isInline(node) && !!ancestor(node, isPara);\n}\n\nfunction isBodyInline(node) {\n return isInline(node) && !ancestor(node, isPara);\n}\n\nconst isBody = makePredByNodeName('BODY');\n\n/**\n * returns whether nodeB is closest sibling of nodeA\n *\n * @param {Node} nodeA\n * @param {Node} nodeB\n * @return {Boolean}\n */\nfunction isClosestSibling(nodeA, nodeB) {\n return nodeA.nextSibling === nodeB ||\n nodeA.previousSibling === nodeB;\n}\n\n/**\n * returns array of closest siblings with node\n *\n * @param {Node} node\n * @param {function} [pred] - predicate function\n * @return {Node[]}\n */\nfunction withClosestSiblings(node, pred) {\n pred = pred || func.ok;\n\n const siblings = [];\n if (node.previousSibling && pred(node.previousSibling)) {\n siblings.push(node.previousSibling);\n }\n siblings.push(node);\n if (node.nextSibling && pred(node.nextSibling)) {\n siblings.push(node.nextSibling);\n }\n return siblings;\n}\n\n/**\n * blank HTML for cursor position\n * - [workaround] old IE only works with \n * - [workaround] IE11 and other browser works with bogus br\n */\nconst blankHTML = env.isMSIE && env.browserVersion < 11 ? ' ' : '<br>';\n\n/**\n * @method nodeLength\n *\n * returns #text's text size or element's childNodes size\n *\n * @param {Node} node\n */\nfunction nodeLength(node) {\n if (isText(node)) {\n return node.nodeValue.length;\n }\n\n if (node) {\n return node.childNodes.length;\n }\n\n return 0;\n}\n\n/**\n * returns whether node is empty or not.\n *\n * @param {Node} node\n * @return {Boolean}\n */\nfunction isEmpty(node) {\n const len = nodeLength(node);\n\n if (len === 0) {\n return true;\n } else if (!isText(node) && len === 1 && node.innerHTML === blankHTML) {\n // ex) <p><br></p>, <span><br></span>\n return true;\n } else if (lists.all(node.childNodes, isText) && node.innerHTML === '') {\n // ex) <p></p>, <span></span>\n return true;\n }\n\n return false;\n}\n\n/**\n * padding blankHTML if node is empty (for cursor position)\n */\nfunction paddingBlankHTML(node) {\n if (!isVoid(node) && !nodeLength(node)) {\n node.innerHTML = blankHTML;\n }\n}\n\n/**\n * find nearest ancestor predicate hit\n *\n * @param {Node} node\n * @param {Function} pred - predicate function\n */\nfunction ancestor(node, pred) {\n while (node) {\n if (pred(node)) { return node; }\n if (isEditable(node)) { break; }\n\n node = node.parentNode;\n }\n return null;\n}\n\n/**\n * find nearest ancestor only single child blood line and predicate hit\n *\n * @param {Node} node\n * @param {Function} pred - predicate function\n */\nfunction singleChildAncestor(node, pred) {\n node = node.parentNode;\n\n while (node) {\n if (nodeLength(node) !== 1) { break; }\n if (pred(node)) { return node; }\n if (isEditable(node)) { break; }\n\n node = node.parentNode;\n }\n return null;\n}\n\n/**\n * returns new array of ancestor nodes (until predicate hit).\n *\n * @param {Node} node\n * @param {Function} [optional] pred - predicate function\n */\nfunction listAncestor(node, pred) {\n pred = pred || func.fail;\n\n const ancestors = [];\n ancestor(node, function(el) {\n if (!isEditable(el)) {\n ancestors.push(el);\n }\n\n return pred(el);\n });\n return ancestors;\n}\n\n/**\n * find farthest ancestor predicate hit\n */\nfunction lastAncestor(node, pred) {\n const ancestors = listAncestor(node);\n return lists.last(ancestors.filter(pred));\n}\n\n/**\n * returns common ancestor node between two nodes.\n *\n * @param {Node} nodeA\n * @param {Node} nodeB\n */\nfunction commonAncestor(nodeA, nodeB) {\n const ancestors = listAncestor(nodeA);\n for (let n = nodeB; n; n = n.parentNode) {\n if ($.inArray(n, ancestors) > -1) { return n; }\n }\n return null; // difference document area\n}\n\n/**\n * listing all previous siblings (until predicate hit).\n *\n * @param {Node} node\n * @param {Function} [optional] pred - predicate function\n */\nfunction listPrev(node, pred) {\n pred = pred || func.fail;\n\n const nodes = [];\n while (node) {\n if (pred(node)) { break; }\n nodes.push(node);\n node = node.previousSibling;\n }\n return nodes;\n}\n\n/**\n * listing next siblings (until predicate hit).\n *\n * @param {Node} node\n * @param {Function} [pred] - predicate function\n */\nfunction listNext(node, pred) {\n pred = pred || func.fail;\n\n const nodes = [];\n while (node) {\n if (pred(node)) { break; }\n nodes.push(node);\n node = node.nextSibling;\n }\n return nodes;\n}\n\n/**\n * listing descendant nodes\n *\n * @param {Node} node\n * @param {Function} [pred] - predicate function\n */\nfunction listDescendant(node, pred) {\n const descendants = [];\n pred = pred || func.ok;\n\n // start DFS(depth first search) with node\n (function fnWalk(current) {\n if (node !== current && pred(current)) {\n descendants.push(current);\n }\n for (let idx = 0, len = current.childNodes.length; idx < len; idx++) {\n fnWalk(current.childNodes[idx]);\n }\n })(node);\n\n return descendants;\n}\n\n/**\n * wrap node with new tag.\n *\n * @param {Node} node\n * @param {Node} tagName of wrapper\n * @return {Node} - wrapper\n */\nfunction wrap(node, wrapperName) {\n const parent = node.parentNode;\n const wrapper = $('<' + wrapperName + '>')[0];\n\n parent.insertBefore(wrapper, node);\n wrapper.appendChild(node);\n\n return wrapper;\n}\n\n/**\n * insert node after preceding\n *\n * @param {Node} node\n * @param {Node} preceding - predicate function\n */\nfunction insertAfter(node, preceding) {\n const next = preceding.nextSibling;\n let parent = preceding.parentNode;\n if (next) {\n parent.insertBefore(node, next);\n } else {\n parent.appendChild(node);\n }\n return node;\n}\n\n/**\n * append elements.\n *\n * @param {Node} node\n * @param {Collection} aChild\n */\nfunction appendChildNodes(node, aChild) {\n $.each(aChild, function(idx, child) {\n node.appendChild(child);\n });\n return node;\n}\n\n/**\n * returns whether boundaryPoint is left edge or not.\n *\n * @param {BoundaryPoint} point\n * @return {Boolean}\n */\nfunction isLeftEdgePoint(point) {\n return point.offset === 0;\n}\n\n/**\n * returns whether boundaryPoint is right edge or not.\n *\n * @param {BoundaryPoint} point\n * @return {Boolean}\n */\nfunction isRightEdgePoint(point) {\n return point.offset === nodeLength(point.node);\n}\n\n/**\n * returns whether boundaryPoint is edge or not.\n *\n * @param {BoundaryPoint} point\n * @return {Boolean}\n */\nfunction isEdgePoint(point) {\n return isLeftEdgePoint(point) || isRightEdgePoint(point);\n}\n\n/**\n * returns whether node is left edge of ancestor or not.\n *\n * @param {Node} node\n * @param {Node} ancestor\n * @return {Boolean}\n */\nfunction isLeftEdgeOf(node, ancestor) {\n while (node && node !== ancestor) {\n if (position(node) !== 0) {\n return false;\n }\n node = node.parentNode;\n }\n\n return true;\n}\n\n/**\n * returns whether node is right edge of ancestor or not.\n *\n * @param {Node} node\n * @param {Node} ancestor\n * @return {Boolean}\n */\nfunction isRightEdgeOf(node, ancestor) {\n if (!ancestor) {\n return false;\n }\n while (node && node !== ancestor) {\n if (position(node) !== nodeLength(node.parentNode) - 1) {\n return false;\n }\n node = node.parentNode;\n }\n\n return true;\n}\n\n/**\n * returns whether point is left edge of ancestor or not.\n * @param {BoundaryPoint} point\n * @param {Node} ancestor\n * @return {Boolean}\n */\nfunction isLeftEdgePointOf(point, ancestor) {\n return isLeftEdgePoint(point) && isLeftEdgeOf(point.node, ancestor);\n}\n\n/**\n * returns whether point is right edge of ancestor or not.\n * @param {BoundaryPoint} point\n * @param {Node} ancestor\n * @return {Boolean}\n */\nfunction isRightEdgePointOf(point, ancestor) {\n return isRightEdgePoint(point) && isRightEdgeOf(point.node, ancestor);\n}\n\n/**\n * returns offset from parent.\n *\n * @param {Node} node\n */\nfunction position(node) {\n let offset = 0;\n while ((node = node.previousSibling)) {\n offset += 1;\n }\n return offset;\n}\n\nfunction hasChildren(node) {\n return !!(node && node.childNodes && node.childNodes.length);\n}\n\n/**\n * returns previous boundaryPoint\n *\n * @param {BoundaryPoint} point\n * @param {Boolean} isSkipInnerOffset\n * @return {BoundaryPoint}\n */\nfunction prevPoint(point, isSkipInnerOffset) {\n let node;\n let offset;\n\n if (point.offset === 0) {\n if (isEditable(point.node)) {\n return null;\n }\n\n node = point.node.parentNode;\n offset = position(point.node);\n } else if (hasChildren(point.node)) {\n node = point.node.childNodes[point.offset - 1];\n offset = nodeLength(node);\n } else {\n node = point.node;\n offset = isSkipInnerOffset ? 0 : point.offset - 1;\n }\n\n return {\n node: node,\n offset: offset\n };\n}\n\n/**\n * returns next boundaryPoint\n *\n * @param {BoundaryPoint} point\n * @param {Boolean} isSkipInnerOffset\n * @return {BoundaryPoint}\n */\nfunction nextPoint(point, isSkipInnerOffset) {\n let node, offset;\n\n if (nodeLength(point.node) === point.offset) {\n if (isEditable(point.node)) {\n return null;\n }\n\n node = point.node.parentNode;\n offset = position(point.node) + 1;\n } else if (hasChildren(point.node)) {\n node = point.node.childNodes[point.offset];\n offset = 0;\n } else {\n node = point.node;\n offset = isSkipInnerOffset ? nodeLength(point.node) : point.offset + 1;\n }\n\n return {\n node: node,\n offset: offset\n };\n}\n\n/**\n * returns whether pointA and pointB is same or not.\n *\n * @param {BoundaryPoint} pointA\n * @param {BoundaryPoint} pointB\n * @return {Boolean}\n */\nfunction isSamePoint(pointA, pointB) {\n return pointA.node === pointB.node && pointA.offset === pointB.offset;\n}\n\n/**\n * returns whether point is visible (can set cursor) or not.\n *\n * @param {BoundaryPoint} point\n * @return {Boolean}\n */\nfunction isVisiblePoint(point) {\n if (isText(point.node) || !hasChildren(point.node) || isEmpty(point.node)) {\n return true;\n }\n\n const leftNode = point.node.childNodes[point.offset - 1];\n const rightNode = point.node.childNodes[point.offset];\n if ((!leftNode || isVoid(leftNode)) && (!rightNode || isVoid(rightNode))) {\n return true;\n }\n\n return false;\n}\n\n/**\n * @method prevPointUtil\n *\n * @param {BoundaryPoint} point\n * @param {Function} pred\n * @return {BoundaryPoint}\n */\nfunction prevPointUntil(point, pred) {\n while (point) {\n if (pred(point)) {\n return point;\n }\n\n point = prevPoint(point);\n }\n\n return null;\n}\n\n/**\n * @method nextPointUntil\n *\n * @param {BoundaryPoint} point\n * @param {Function} pred\n * @return {BoundaryPoint}\n */\nfunction nextPointUntil(point, pred) {\n while (point) {\n if (pred(point)) {\n return point;\n }\n\n point = nextPoint(point);\n }\n\n return null;\n}\n\n/**\n * returns whether point has character or not.\n *\n * @param {Point} point\n * @return {Boolean}\n */\nfunction isCharPoint(point) {\n if (!isText(point.node)) {\n return false;\n }\n\n const ch = point.node.nodeValue.charAt(point.offset - 1);\n return ch && (ch !== ' ' && ch !== NBSP_CHAR);\n}\n\n/**\n * @method walkPoint\n *\n * @param {BoundaryPoint} startPoint\n * @param {BoundaryPoint} endPoint\n * @param {Function} handler\n * @param {Boolean} isSkipInnerOffset\n */\nfunction walkPoint(startPoint, endPoint, handler, isSkipInnerOffset) {\n let point = startPoint;\n\n while (point) {\n handler(point);\n\n if (isSamePoint(point, endPoint)) {\n break;\n }\n\n const isSkipOffset = isSkipInnerOffset &&\n startPoint.node !== point.node &&\n endPoint.node !== point.node;\n point = nextPoint(point, isSkipOffset);\n }\n}\n\n/**\n * @method makeOffsetPath\n *\n * return offsetPath(array of offset) from ancestor\n *\n * @param {Node} ancestor - ancestor node\n * @param {Node} node\n */\nfunction makeOffsetPath(ancestor, node) {\n const ancestors = listAncestor(node, func.eq(ancestor));\n return ancestors.map(position).reverse();\n}\n\n/**\n * @method fromOffsetPath\n *\n * return element from offsetPath(array of offset)\n *\n * @param {Node} ancestor - ancestor node\n * @param {array} offsets - offsetPath\n */\nfunction fromOffsetPath(ancestor, offsets) {\n let current = ancestor;\n for (let i = 0, len = offsets.length; i < len; i++) {\n if (current.childNodes.length <= offsets[i]) {\n current = current.childNodes[current.childNodes.length - 1];\n } else {\n current = current.childNodes[offsets[i]];\n }\n }\n return current;\n}\n\n/**\n * @method splitNode\n *\n * split element or #text\n *\n * @param {BoundaryPoint} point\n * @param {Object} [options]\n * @param {Boolean} [options.isSkipPaddingBlankHTML] - default: false\n * @param {Boolean} [options.isNotSplitEdgePoint] - default: false\n * @return {Node} right node of boundaryPoint\n */\nfunction splitNode(point, options) {\n const isSkipPaddingBlankHTML = options && options.isSkipPaddingBlankHTML;\n const isNotSplitEdgePoint = options && options.isNotSplitEdgePoint;\n\n // edge case\n if (isEdgePoint(point) && (isText(point.node) || isNotSplitEdgePoint)) {\n if (isLeftEdgePoint(point)) {\n return point.node;\n } else if (isRightEdgePoint(point)) {\n return point.node.nextSibling;\n }\n }\n\n // split #text\n if (isText(point.node)) {\n return point.node.splitText(point.offset);\n } else {\n const childNode = point.node.childNodes[point.offset];\n const clone = insertAfter(point.node.cloneNode(false), point.node);\n appendChildNodes(clone, listNext(childNode));\n\n if (!isSkipPaddingBlankHTML) {\n paddingBlankHTML(point.node);\n paddingBlankHTML(clone);\n }\n\n return clone;\n }\n}\n\n/**\n * @method splitTree\n *\n * split tree by point\n *\n * @param {Node} root - split root\n * @param {BoundaryPoint} point\n * @param {Object} [options]\n * @param {Boolean} [options.isSkipPaddingBlankHTML] - default: false\n * @param {Boolean} [options.isNotSplitEdgePoint] - default: false\n * @return {Node} right node of boundaryPoint\n */\nfunction splitTree(root, point, options) {\n // ex) [#text, <span>, <p>]\n const ancestors = listAncestor(point.node, func.eq(root));\n\n if (!ancestors.length) {\n return null;\n } else if (ancestors.length === 1) {\n return splitNode(point, options);\n }\n\n return ancestors.reduce(function(node, parent) {\n if (node === point.node) {\n node = splitNode(point, options);\n }\n\n return splitNode({\n node: parent,\n offset: node ? position(node) : nodeLength(parent)\n }, options);\n });\n}\n\n/**\n * split point\n *\n * @param {Point} point\n * @param {Boolean} isInline\n * @return {Object}\n */\nfunction splitPoint(point, isInline) {\n // find splitRoot, container\n // - inline: splitRoot is a child of paragraph\n // - block: splitRoot is a child of bodyContainer\n const pred = isInline ? isPara : isBodyContainer;\n const ancestors = listAncestor(point.node, pred);\n const topAncestor = lists.last(ancestors) || point.node;\n\n let splitRoot, container;\n if (pred(topAncestor)) {\n splitRoot = ancestors[ancestors.length - 2];\n container = topAncestor;\n } else {\n splitRoot = topAncestor;\n container = splitRoot.parentNode;\n }\n\n // if splitRoot is exists, split with splitTree\n let pivot = splitRoot && splitTree(splitRoot, point, {\n isSkipPaddingBlankHTML: isInline,\n isNotSplitEdgePoint: isInline\n });\n\n // if container is point.node, find pivot with point.offset\n if (!pivot && container === point.node) {\n pivot = point.node.childNodes[point.offset];\n }\n\n return {\n rightNode: pivot,\n container: container\n };\n}\n\nfunction create(nodeName) {\n return document.createElement(nodeName);\n}\n\nfunction createText(text) {\n return document.createTextNode(text);\n}\n\n/**\n * @method remove\n *\n * remove node, (isRemoveChild: remove child or not)\n *\n * @param {Node} node\n * @param {Boolean} isRemoveChild\n */\nfunction remove(node, isRemoveChild) {\n if (!node || !node.parentNode) { return; }\n if (node.removeNode) { return node.removeNode(isRemoveChild); }\n\n const parent = node.parentNode;\n if (!isRemoveChild) {\n const nodes = [];\n for (let i = 0, len = node.childNodes.length; i < len; i++) {\n nodes.push(node.childNodes[i]);\n }\n\n for (let i = 0, len = nodes.length; i < len; i++) {\n parent.insertBefore(nodes[i], node);\n }\n }\n\n parent.removeChild(node);\n}\n\n/**\n * @method removeWhile\n *\n * @param {Node} node\n * @param {Function} pred\n */\nfunction removeWhile(node, pred) {\n while (node) {\n if (isEditable(node) || !pred(node)) {\n break;\n }\n\n const parent = node.parentNode;\n remove(node);\n node = parent;\n }\n}\n\n/**\n * @method replace\n *\n * replace node with provided nodeName\n *\n * @param {Node} node\n * @param {String} nodeName\n * @return {Node} - new node\n */\nfunction replace(node, nodeName) {\n if (node.nodeName.toUpperCase() === nodeName.toUpperCase()) {\n return node;\n }\n\n const newNode = create(nodeName);\n\n if (node.style.cssText) {\n newNode.style.cssText = node.style.cssText;\n }\n\n appendChildNodes(newNode, lists.from(node.childNodes));\n insertAfter(newNode, node);\n remove(node);\n\n return newNode;\n}\n\nconst isTextarea = makePredByNodeName('TEXTAREA');\n\n/**\n * @param {jQuery} $node\n * @param {Boolean} [stripLinebreaks] - default: false\n */\nfunction value($node, stripLinebreaks) {\n const val = isTextarea($node[0]) ? $node.val() : $node.html();\n if (stripLinebreaks) {\n return val.replace(/[\\n\\r]/g, '');\n }\n return val;\n}\n\n/**\n * @method html\n *\n * get the HTML contents of node\n *\n * @param {jQuery} $node\n * @param {Boolean} [isNewlineOnBlock]\n */\nfunction html($node, isNewlineOnBlock) {\n let markup = value($node);\n\n if (isNewlineOnBlock) {\n const regexTag = /<(\\/?)(\\b(?!!)[^>\\s]*)(.*?)(\\s*\\/?>)/g;\n markup = markup.replace(regexTag, function(match, endSlash, name) {\n name = name.toUpperCase();\n const isEndOfInlineContainer = /^DIV|^TD|^TH|^P|^LI|^H[1-7]/.test(name) &&\n !!endSlash;\n const isBlockNode = /^BLOCKQUOTE|^TABLE|^TBODY|^TR|^HR|^UL|^OL/.test(name);\n\n return match + ((isEndOfInlineContainer || isBlockNode) ? '\\n' : '');\n });\n markup = $.trim(markup);\n }\n\n return markup;\n}\n\nfunction posFromPlaceholder(placeholder) {\n const $placeholder = $(placeholder);\n const pos = $placeholder.offset();\n const height = $placeholder.outerHeight(true); // include margin\n\n return {\n left: pos.left,\n top: pos.top + height\n };\n}\n\nfunction attachEvents($node, events) {\n Object.keys(events).forEach(function(key) {\n $node.on(key, events[key]);\n });\n}\n\nfunction detachEvents($node, events) {\n Object.keys(events).forEach(function(key) {\n $node.off(key, events[key]);\n });\n}\n\n/**\n * @method isCustomStyleTag\n *\n * assert if a node contains a \"note-styletag\" class,\n * which implies that's a custom-made style tag node\n *\n * @param {Node} an HTML DOM node\n */\nfunction isCustomStyleTag(node) {\n return node && !isText(node) && lists.contains(node.classList, 'note-styletag');\n}\n\nexport default {\n /** @property {String} NBSP_CHAR */\n NBSP_CHAR,\n /** @property {String} ZERO_WIDTH_NBSP_CHAR */\n ZERO_WIDTH_NBSP_CHAR,\n /** @property {String} blank */\n blank: blankHTML,\n /** @property {String} emptyPara */\n emptyPara: `<p>${blankHTML}</p>`,\n makePredByNodeName,\n isEditable,\n isControlSizing,\n isText,\n isElement,\n isVoid,\n isPara,\n isPurePara,\n isHeading,\n isInline,\n isBlock: func.not(isInline),\n isBodyInline,\n isBody,\n isParaInline,\n isPre,\n isList,\n isTable,\n isData,\n isCell,\n isBlockquote,\n isBodyContainer,\n isAnchor,\n isDiv: makePredByNodeName('DIV'),\n isLi,\n isBR: makePredByNodeName('BR'),\n isSpan: makePredByNodeName('SPAN'),\n isB: makePredByNodeName('B'),\n isU: makePredByNodeName('U'),\n isS: makePredByNodeName('S'),\n isI: makePredByNodeName('I'),\n isImg: makePredByNodeName('IMG'),\n isTextarea,\n isEmpty,\n isEmptyAnchor: func.and(isAnchor, isEmpty),\n isClosestSibling,\n withClosestSiblings,\n nodeLength,\n isLeftEdgePoint,\n isRightEdgePoint,\n isEdgePoint,\n isLeftEdgeOf,\n isRightEdgeOf,\n isLeftEdgePointOf,\n isRightEdgePointOf,\n prevPoint,\n nextPoint,\n isSamePoint,\n isVisiblePoint,\n prevPointUntil,\n nextPointUntil,\n isCharPoint,\n walkPoint,\n ancestor,\n singleChildAncestor,\n listAncestor,\n lastAncestor,\n listNext,\n listPrev,\n listDescendant,\n commonAncestor,\n wrap,\n insertAfter,\n appendChildNodes,\n position,\n hasChildren,\n makeOffsetPath,\n fromOffsetPath,\n splitTree,\n splitPoint,\n create,\n createText,\n remove,\n removeWhile,\n replace,\n html,\n value,\n posFromPlaceholder,\n attachEvents,\n detachEvents,\n isCustomStyleTag\n};\n","import $ from 'jquery';\n\n$.summernote = $.summernote || {\n lang: {}\n};\n\n$.extend($.summernote.lang, {\n 'en-US': {\n font: {\n bold: 'Bold',\n italic: 'Italic',\n underline: 'Underline',\n clear: 'Remove Font Style',\n height: 'Line Height',\n name: 'Font Family',\n strikethrough: 'Strikethrough',\n subscript: 'Subscript',\n superscript: 'Superscript',\n size: 'Font Size'\n },\n image: {\n image: 'Picture',\n insert: 'Insert Image',\n resizeFull: 'Resize Full',\n resizeHalf: 'Resize Half',\n resizeQuarter: 'Resize Quarter',\n floatLeft: 'Float Left',\n floatRight: 'Float Right',\n floatNone: 'Float None',\n shapeRounded: 'Shape: Rounded',\n shapeCircle: 'Shape: Circle',\n shapeThumbnail: 'Shape: Thumbnail',\n shapeNone: 'Shape: None',\n dragImageHere: 'Drag image or text here',\n dropImage: 'Drop image or Text',\n selectFromFiles: 'Select from files',\n maximumFileSize: 'Maximum file size',\n maximumFileSizeError: 'Maximum file size exceeded.',\n url: 'Image URL',\n remove: 'Remove Image',\n original: 'Original'\n },\n video: {\n video: 'Video',\n videoLink: 'Video Link',\n insert: 'Insert Video',\n url: 'Video URL',\n providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion or Youku)'\n },\n link: {\n link: 'Link',\n insert: 'Insert Link',\n unlink: 'Unlink',\n edit: 'Edit',\n textToDisplay: 'Text to display',\n url: 'To what URL should this link go?',\n openInNewWindow: 'Open in new window'\n },\n table: {\n table: 'Table',\n addRowAbove: 'Add row above',\n addRowBelow: 'Add row below',\n addColLeft: 'Add column left',\n addColRight: 'Add column right',\n delRow: 'Delete row',\n delCol: 'Delete column',\n delTable: 'Delete table'\n },\n hr: {\n insert: 'Insert Horizontal Rule'\n },\n style: {\n style: 'Style',\n p: 'Normal',\n blockquote: 'Quote',\n pre: 'Code',\n h1: 'Header 1',\n h2: 'Header 2',\n h3: 'Header 3',\n h4: 'Header 4',\n h5: 'Header 5',\n h6: 'Header 6'\n },\n lists: {\n unordered: 'Unordered list',\n ordered: 'Ordered list'\n },\n options: {\n help: 'Help',\n fullscreen: 'Full Screen',\n codeview: 'Code View'\n },\n paragraph: {\n paragraph: 'Paragraph',\n outdent: 'Outdent',\n indent: 'Indent',\n left: 'Align left',\n center: 'Align center',\n right: 'Align right',\n justify: 'Justify full'\n },\n color: {\n recent: 'Recent Color',\n more: 'More Color',\n background: 'Background Color',\n foreground: 'Foreground Color',\n transparent: 'Transparent',\n setTransparent: 'Set transparent',\n reset: 'Reset',\n resetToDefault: 'Reset to default'\n },\n shortcut: {\n shortcuts: 'Keyboard shortcuts',\n close: 'Close',\n textFormatting: 'Text formatting',\n action: 'Action',\n paragraphFormatting: 'Paragraph formatting',\n documentStyle: 'Document Style',\n extraKeys: 'Extra keys'\n },\n help: {\n 'insertParagraph': 'Insert Paragraph',\n 'undo': 'Undoes the last command',\n 'redo': 'Redoes the last command',\n 'tab': 'Tab',\n 'untab': 'Untab',\n 'bold': 'Set a bold style',\n 'italic': 'Set a italic style',\n 'underline': 'Set a underline style',\n 'strikethrough': 'Set a strikethrough style',\n 'removeFormat': 'Clean a style',\n 'justifyLeft': 'Set left align',\n 'justifyCenter': 'Set center align',\n 'justifyRight': 'Set right align',\n 'justifyFull': 'Set full align',\n 'insertUnorderedList': 'Toggle unordered list',\n 'insertOrderedList': 'Toggle ordered list',\n 'outdent': 'Outdent on current paragraph',\n 'indent': 'Indent on current paragraph',\n 'formatPara': 'Change current block\\'s format as a paragraph(P tag)',\n 'formatH1': 'Change current block\\'s format as H1',\n 'formatH2': 'Change current block\\'s format as H2',\n 'formatH3': 'Change current block\\'s format as H3',\n 'formatH4': 'Change current block\\'s format as H4',\n 'formatH5': 'Change current block\\'s format as H5',\n 'formatH6': 'Change current block\\'s format as H6',\n 'insertHorizontalRule': 'Insert horizontal rule',\n 'linkDialog.show': 'Show Link Dialog'\n },\n history: {\n undo: 'Undo',\n redo: 'Redo'\n },\n specialChar: {\n specialChar: 'SPECIAL CHARACTERS',\n select: 'Select Special characters'\n }\n }\n});\n","import lists from './lists';\nimport func from './func';\n\nconst KEY_MAP = {\n 'BACKSPACE': 8,\n 'TAB': 9,\n 'ENTER': 13,\n 'SPACE': 32,\n 'DELETE': 46,\n\n // Arrow\n 'LEFT': 37,\n 'UP': 38,\n 'RIGHT': 39,\n 'DOWN': 40,\n\n // Number: 0-9\n 'NUM0': 48,\n 'NUM1': 49,\n 'NUM2': 50,\n 'NUM3': 51,\n 'NUM4': 52,\n 'NUM5': 53,\n 'NUM6': 54,\n 'NUM7': 55,\n 'NUM8': 56,\n\n // Alphabet: a-z\n 'B': 66,\n 'E': 69,\n 'I': 73,\n 'J': 74,\n 'K': 75,\n 'L': 76,\n 'R': 82,\n 'S': 83,\n 'U': 85,\n 'V': 86,\n 'Y': 89,\n 'Z': 90,\n\n 'SLASH': 191,\n 'LEFTBRACKET': 219,\n 'BACKSLASH': 220,\n 'RIGHTBRACKET': 221\n};\n\n/**\n * @class core.key\n *\n * Object for keycodes.\n *\n * @singleton\n * @alternateClassName key\n */\nexport default {\n /**\n * @method isEdit\n *\n * @param {Number} keyCode\n * @return {Boolean}\n */\n isEdit: (keyCode) => {\n return lists.contains([\n KEY_MAP.BACKSPACE,\n KEY_MAP.TAB,\n KEY_MAP.ENTER,\n KEY_MAP.SPACE,\n KEY_MAP.DELETE\n ], keyCode);\n },\n /**\n * @method isMove\n *\n * @param {Number} keyCode\n * @return {Boolean}\n */\n isMove: (keyCode) => {\n return lists.contains([\n KEY_MAP.LEFT,\n KEY_MAP.UP,\n KEY_MAP.RIGHT,\n KEY_MAP.DOWN\n ], keyCode);\n },\n /**\n * @property {Object} nameFromCode\n * @property {String} nameFromCode.8 \"BACKSPACE\"\n */\n nameFromCode: func.invertObject(KEY_MAP),\n code: KEY_MAP\n};\n","import $ from 'jquery';\nimport env from './env';\nimport func from './func';\nimport lists from './lists';\nimport dom from './dom';\n\n/**\n * return boundaryPoint from TextRange, inspired by Andy Na's HuskyRange.js\n *\n * @param {TextRange} textRange\n * @param {Boolean} isStart\n * @return {BoundaryPoint}\n *\n * @see http://msdn.microsoft.com/en-us/library/ie/ms535872(v=vs.85).aspx\n */\nfunction textRangeToPoint(textRange, isStart) {\n let container = textRange.parentElement();\n let offset;\n\n const tester = document.body.createTextRange();\n let prevContainer;\n const childNodes = lists.from(container.childNodes);\n for (offset = 0; offset < childNodes.length; offset++) {\n if (dom.isText(childNodes[offset])) {\n continue;\n }\n tester.moveToElementText(childNodes[offset]);\n if (tester.compareEndPoints('StartToStart', textRange) >= 0) {\n break;\n }\n prevContainer = childNodes[offset];\n }\n\n if (offset !== 0 && dom.isText(childNodes[offset - 1])) {\n const textRangeStart = document.body.createTextRange();\n let curTextNode = null;\n textRangeStart.moveToElementText(prevContainer || container);\n textRangeStart.collapse(!prevContainer);\n curTextNode = prevContainer ? prevContainer.nextSibling : container.firstChild;\n\n const pointTester = textRange.duplicate();\n pointTester.setEndPoint('StartToStart', textRangeStart);\n let textCount = pointTester.text.replace(/[\\r\\n]/g, '').length;\n\n while (textCount > curTextNode.nodeValue.length && curTextNode.nextSibling) {\n textCount -= curTextNode.nodeValue.length;\n curTextNode = curTextNode.nextSibling;\n }\n\n // [workaround] enforce IE to re-reference curTextNode, hack\n const dummy = curTextNode.nodeValue; // eslint-disable-line\n\n if (isStart && curTextNode.nextSibling && dom.isText(curTextNode.nextSibling) &&\n textCount === curTextNode.nodeValue.length) {\n textCount -= curTextNode.nodeValue.length;\n curTextNode = curTextNode.nextSibling;\n }\n\n container = curTextNode;\n offset = textCount;\n }\n\n return {\n cont: container,\n offset: offset\n };\n}\n\n/**\n * return TextRange from boundary point (inspired by google closure-library)\n * @param {BoundaryPoint} point\n * @return {TextRange}\n */\nfunction pointToTextRange(point) {\n const textRangeInfo = function(container, offset) {\n let node, isCollapseToStart;\n\n if (dom.isText(container)) {\n const prevTextNodes = dom.listPrev(container, func.not(dom.isText));\n const prevContainer = lists.last(prevTextNodes).previousSibling;\n node = prevContainer || container.parentNode;\n offset += lists.sum(lists.tail(prevTextNodes), dom.nodeLength);\n isCollapseToStart = !prevContainer;\n } else {\n node = container.childNodes[offset] || container;\n if (dom.isText(node)) {\n return textRangeInfo(node, 0);\n }\n\n offset = 0;\n isCollapseToStart = false;\n }\n\n return {\n node: node,\n collapseToStart: isCollapseToStart,\n offset: offset\n };\n };\n\n const textRange = document.body.createTextRange();\n const info = textRangeInfo(point.node, point.offset);\n\n textRange.moveToElementText(info.node);\n textRange.collapse(info.collapseToStart);\n textRange.moveStart('character', info.offset);\n return textRange;\n}\n\n/**\n * Wrapped Range\n *\n * @constructor\n * @param {Node} sc - start container\n * @param {Number} so - start offset\n * @param {Node} ec - end container\n * @param {Number} eo - end offset\n */\nclass WrappedRange {\n constructor(sc, so, ec, eo) {\n this.sc = sc;\n this.so = so;\n this.ec = ec;\n this.eo = eo;\n\n // isOnEditable: judge whether range is on editable or not\n this.isOnEditable = this.makeIsOn(dom.isEditable);\n // isOnList: judge whether range is on list node or not\n this.isOnList = this.makeIsOn(dom.isList);\n // isOnAnchor: judge whether range is on anchor node or not\n this.isOnAnchor = this.makeIsOn(dom.isAnchor);\n // isOnCell: judge whether range is on cell node or not\n this.isOnCell = this.makeIsOn(dom.isCell);\n // isOnData: judge whether range is on data node or not\n this.isOnData = this.makeIsOn(dom.isData);\n }\n\n // nativeRange: get nativeRange from sc, so, ec, eo\n nativeRange() {\n if (env.isW3CRangeSupport) {\n const w3cRange = document.createRange();\n w3cRange.setStart(this.sc, this.so);\n w3cRange.setEnd(this.ec, this.eo);\n\n return w3cRange;\n } else {\n const textRange = pointToTextRange({\n node: this.sc,\n offset: this.so\n });\n\n textRange.setEndPoint('EndToEnd', pointToTextRange({\n node: this.ec,\n offset: this.eo\n }));\n\n return textRange;\n }\n }\n\n getPoints() {\n return {\n sc: this.sc,\n so: this.so,\n ec: this.ec,\n eo: this.eo\n };\n }\n\n getStartPoint() {\n return {\n node: this.sc,\n offset: this.so\n };\n }\n\n getEndPoint() {\n return {\n node: this.ec,\n offset: this.eo\n };\n }\n\n /**\n * select update visible range\n */\n select() {\n const nativeRng = this.nativeRange();\n if (env.isW3CRangeSupport) {\n const selection = document.getSelection();\n if (selection.rangeCount > 0) {\n selection.removeAllRanges();\n }\n selection.addRange(nativeRng);\n } else {\n nativeRng.select();\n }\n\n return this;\n }\n\n /**\n * Moves the scrollbar to start container(sc) of current range\n *\n * @return {WrappedRange}\n */\n scrollIntoView(container) {\n const height = $(container).height();\n if (container.scrollTop + height < this.sc.offsetTop) {\n container.scrollTop += Math.abs(container.scrollTop + height - this.sc.offsetTop);\n }\n\n return this;\n }\n\n /**\n * @return {WrappedRange}\n */\n normalize() {\n /**\n * @param {BoundaryPoint} point\n * @param {Boolean} isLeftToRight\n * @return {BoundaryPoint}\n */\n const getVisiblePoint = function(point, isLeftToRight) {\n if ((dom.isVisiblePoint(point) && !dom.isEdgePoint(point)) ||\n (dom.isVisiblePoint(point) && dom.isRightEdgePoint(point) && !isLeftToRight) ||\n (dom.isVisiblePoint(point) && dom.isLeftEdgePoint(point) && isLeftToRight) ||\n (dom.isVisiblePoint(point) && dom.isBlock(point.node) && dom.isEmpty(point.node))) {\n return point;\n }\n\n // point on block's edge\n const block = dom.ancestor(point.node, dom.isBlock);\n if (((dom.isLeftEdgePointOf(point, block) || dom.isVoid(dom.prevPoint(point).node)) && !isLeftToRight) ||\n ((dom.isRightEdgePointOf(point, block) || dom.isVoid(dom.nextPoint(point).node)) && isLeftToRight)) {\n // returns point already on visible point\n if (dom.isVisiblePoint(point)) {\n return point;\n }\n // reverse direction\n isLeftToRight = !isLeftToRight;\n }\n\n const nextPoint = isLeftToRight ? dom.nextPointUntil(dom.nextPoint(point), dom.isVisiblePoint)\n : dom.prevPointUntil(dom.prevPoint(point), dom.isVisiblePoint);\n return nextPoint || point;\n };\n\n const endPoint = getVisiblePoint(this.getEndPoint(), false);\n const startPoint = this.isCollapsed() ? endPoint : getVisiblePoint(this.getStartPoint(), true);\n\n return new WrappedRange(\n startPoint.node,\n startPoint.offset,\n endPoint.node,\n endPoint.offset\n );\n }\n\n /**\n * returns matched nodes on range\n *\n * @param {Function} [pred] - predicate function\n * @param {Object} [options]\n * @param {Boolean} [options.includeAncestor]\n * @param {Boolean} [options.fullyContains]\n * @return {Node[]}\n */\n nodes(pred, options) {\n pred = pred || func.ok;\n\n const includeAncestor = options && options.includeAncestor;\n const fullyContains = options && options.fullyContains;\n\n // TODO compare points and sort\n const startPoint = this.getStartPoint();\n const endPoint = this.getEndPoint();\n\n const nodes = [];\n const leftEdgeNodes = [];\n\n dom.walkPoint(startPoint, endPoint, function(point) {\n if (dom.isEditable(point.node)) {\n return;\n }\n\n let node;\n if (fullyContains) {\n if (dom.isLeftEdgePoint(point)) {\n leftEdgeNodes.push(point.node);\n }\n if (dom.isRightEdgePoint(point) && lists.contains(leftEdgeNodes, point.node)) {\n node = point.node;\n }\n } else if (includeAncestor) {\n node = dom.ancestor(point.node, pred);\n } else {\n node = point.node;\n }\n\n if (node && pred(node)) {\n nodes.push(node);\n }\n }, true);\n\n return lists.unique(nodes);\n }\n\n /**\n * returns commonAncestor of range\n * @return {Element} - commonAncestor\n */\n commonAncestor() {\n return dom.commonAncestor(this.sc, this.ec);\n }\n\n /**\n * returns expanded range by pred\n *\n * @param {Function} pred - predicate function\n * @return {WrappedRange}\n */\n expand(pred) {\n const startAncestor = dom.ancestor(this.sc, pred);\n const endAncestor = dom.ancestor(this.ec, pred);\n\n if (!startAncestor && !endAncestor) {\n return new WrappedRange(this.sc, this.so, this.ec, this.eo);\n }\n\n const boundaryPoints = this.getPoints();\n\n if (startAncestor) {\n boundaryPoints.sc = startAncestor;\n boundaryPoints.so = 0;\n }\n\n if (endAncestor) {\n boundaryPoints.ec = endAncestor;\n boundaryPoints.eo = dom.nodeLength(endAncestor);\n }\n\n return new WrappedRange(\n boundaryPoints.sc,\n boundaryPoints.so,\n boundaryPoints.ec,\n boundaryPoints.eo\n );\n }\n\n /**\n * @param {Boolean} isCollapseToStart\n * @return {WrappedRange}\n */\n collapse(isCollapseToStart) {\n if (isCollapseToStart) {\n return new WrappedRange(this.sc, this.so, this.sc, this.so);\n } else {\n return new WrappedRange(this.ec, this.eo, this.ec, this.eo);\n }\n }\n\n /**\n * splitText on range\n */\n splitText() {\n const isSameContainer = this.sc === this.ec;\n const boundaryPoints = this.getPoints();\n\n if (dom.isText(this.ec) && !dom.isEdgePoint(this.getEndPoint())) {\n this.ec.splitText(this.eo);\n }\n\n if (dom.isText(this.sc) && !dom.isEdgePoint(this.getStartPoint())) {\n boundaryPoints.sc = this.sc.splitText(this.so);\n boundaryPoints.so = 0;\n\n if (isSameContainer) {\n boundaryPoints.ec = boundaryPoints.sc;\n boundaryPoints.eo = this.eo - this.so;\n }\n }\n\n return new WrappedRange(\n boundaryPoints.sc,\n boundaryPoints.so,\n boundaryPoints.ec,\n boundaryPoints.eo\n );\n }\n\n /**\n * delete contents on range\n * @return {WrappedRange}\n */\n deleteContents() {\n if (this.isCollapsed()) {\n return this;\n }\n\n const rng = this.splitText();\n const nodes = rng.nodes(null, {\n fullyContains: true\n });\n\n // find new cursor point\n const point = dom.prevPointUntil(rng.getStartPoint(), function(point) {\n return !lists.contains(nodes, point.node);\n });\n\n const emptyParents = [];\n $.each(nodes, function(idx, node) {\n // find empty parents\n const parent = node.parentNode;\n if (point.node !== parent && dom.nodeLength(parent) === 1) {\n emptyParents.push(parent);\n }\n dom.remove(node, false);\n });\n\n // remove empty parents\n $.each(emptyParents, function(idx, node) {\n dom.remove(node, false);\n });\n\n return new WrappedRange(\n point.node,\n point.offset,\n point.node,\n point.offset\n ).normalize();\n }\n\n /**\n * makeIsOn: return isOn(pred) function\n */\n makeIsOn(pred) {\n return function() {\n const ancestor = dom.ancestor(this.sc, pred);\n return !!ancestor && (ancestor === dom.ancestor(this.ec, pred));\n };\n }\n\n /**\n * @param {Function} pred\n * @return {Boolean}\n */\n isLeftEdgeOf(pred) {\n if (!dom.isLeftEdgePoint(this.getStartPoint())) {\n return false;\n }\n\n const node = dom.ancestor(this.sc, pred);\n return node && dom.isLeftEdgeOf(this.sc, node);\n }\n\n /**\n * returns whether range was collapsed or not\n */\n isCollapsed() {\n return this.sc === this.ec && this.so === this.eo;\n }\n\n /**\n * wrap inline nodes which children of body with paragraph\n *\n * @return {WrappedRange}\n */\n wrapBodyInlineWithPara() {\n if (dom.isBodyContainer(this.sc) && dom.isEmpty(this.sc)) {\n this.sc.innerHTML = dom.emptyPara;\n return new WrappedRange(this.sc.firstChild, 0, this.sc.firstChild, 0);\n }\n\n /**\n * [workaround] firefox often create range on not visible point. so normalize here.\n * - firefox: |<p>text</p>|\n * - chrome: <p>|text|</p>\n */\n const rng = this.normalize();\n if (dom.isParaInline(this.sc) || dom.isPara(this.sc)) {\n return rng;\n }\n\n // find inline top ancestor\n let topAncestor;\n if (dom.isInline(rng.sc)) {\n const ancestors = dom.listAncestor(rng.sc, func.not(dom.isInline));\n topAncestor = lists.last(ancestors);\n if (!dom.isInline(topAncestor)) {\n topAncestor = ancestors[ancestors.length - 2] || rng.sc.childNodes[rng.so];\n }\n } else {\n topAncestor = rng.sc.childNodes[rng.so > 0 ? rng.so - 1 : 0];\n }\n\n // siblings not in paragraph\n let inlineSiblings = dom.listPrev(topAncestor, dom.isParaInline).reverse();\n inlineSiblings = inlineSiblings.concat(dom.listNext(topAncestor.nextSibling, dom.isParaInline));\n\n // wrap with paragraph\n if (inlineSiblings.length) {\n const para = dom.wrap(lists.head(inlineSiblings), 'p');\n dom.appendChildNodes(para, lists.tail(inlineSiblings));\n }\n\n return this.normalize();\n }\n\n /**\n * insert node at current cursor\n *\n * @param {Node} node\n * @return {Node}\n */\n insertNode(node) {\n const rng = this.wrapBodyInlineWithPara().deleteContents();\n const info = dom.splitPoint(rng.getStartPoint(), dom.isInline(node));\n\n if (info.rightNode) {\n info.rightNode.parentNode.insertBefore(node, info.rightNode);\n } else {\n info.container.appendChild(node);\n }\n\n return node;\n }\n\n /**\n * insert html at current cursor\n */\n pasteHTML(markup) {\n const contentsContainer = $('<div></div>').html(markup)[0];\n const childNodes = lists.from(contentsContainer.childNodes);\n\n const rng = this.wrapBodyInlineWithPara().deleteContents();\n\n return childNodes.reverse().map(function(childNode) {\n return rng.insertNode(childNode);\n }).reverse();\n }\n\n /**\n * returns text in range\n *\n * @return {String}\n */\n toString() {\n const nativeRng = this.nativeRange();\n return env.isW3CRangeSupport ? nativeRng.toString() : nativeRng.text;\n }\n\n /**\n * returns range for word before cursor\n *\n * @param {Boolean} [findAfter] - find after cursor, default: false\n * @return {WrappedRange}\n */\n getWordRange(findAfter) {\n let endPoint = this.getEndPoint();\n\n if (!dom.isCharPoint(endPoint)) {\n return this;\n }\n\n const startPoint = dom.prevPointUntil(endPoint, function(point) {\n return !dom.isCharPoint(point);\n });\n\n if (findAfter) {\n endPoint = dom.nextPointUntil(endPoint, function(point) {\n return !dom.isCharPoint(point);\n });\n }\n\n return new WrappedRange(\n startPoint.node,\n startPoint.offset,\n endPoint.node,\n endPoint.offset\n );\n }\n\n /**\n * create offsetPath bookmark\n *\n * @param {Node} editable\n */\n bookmark(editable) {\n return {\n s: {\n path: dom.makeOffsetPath(editable, this.sc),\n offset: this.so\n },\n e: {\n path: dom.makeOffsetPath(editable, this.ec),\n offset: this.eo\n }\n };\n }\n\n /**\n * create offsetPath bookmark base on paragraph\n *\n * @param {Node[]} paras\n */\n paraBookmark(paras) {\n return {\n s: {\n path: lists.tail(dom.makeOffsetPath(lists.head(paras), this.sc)),\n offset: this.so\n },\n e: {\n path: lists.tail(dom.makeOffsetPath(lists.last(paras), this.ec)),\n offset: this.eo\n }\n };\n }\n\n /**\n * getClientRects\n * @return {Rect[]}\n */\n getClientRects() {\n const nativeRng = this.nativeRange();\n return nativeRng.getClientRects();\n }\n}\n\n/**\n * Data structure\n * * BoundaryPoint: a point of dom tree\n * * BoundaryPoints: two boundaryPoints corresponding to the start and the end of the Range\n *\n * See to http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-Position\n */\nexport default {\n /**\n * create Range Object From arguments or Browser Selection\n *\n * @param {Node} sc - start container\n * @param {Number} so - start offset\n * @param {Node} ec - end container\n * @param {Number} eo - end offset\n * @return {WrappedRange}\n */\n create: function(sc, so, ec, eo) {\n if (arguments.length === 4) {\n return new WrappedRange(sc, so, ec, eo);\n } else if (arguments.length === 2) { // collapsed\n ec = sc;\n eo = so;\n return new WrappedRange(sc, so, ec, eo);\n } else {\n let wrappedRange = this.createFromSelection();\n if (!wrappedRange && arguments.length === 1) {\n wrappedRange = this.createFromNode(arguments[0]);\n return wrappedRange.collapse(dom.emptyPara === arguments[0].innerHTML);\n }\n return wrappedRange;\n }\n },\n\n createFromSelection: function() {\n let sc, so, ec, eo;\n if (env.isW3CRangeSupport) {\n const selection = document.getSelection();\n if (!selection || selection.rangeCount === 0) {\n return null;\n } else if (dom.isBody(selection.anchorNode)) {\n // Firefox: returns entire body as range on initialization.\n // We won't never need it.\n return null;\n }\n\n const nativeRng = selection.getRangeAt(0);\n sc = nativeRng.startContainer;\n so = nativeRng.startOffset;\n ec = nativeRng.endContainer;\n eo = nativeRng.endOffset;\n } else { // IE8: TextRange\n const textRange = document.selection.createRange();\n const textRangeEnd = textRange.duplicate();\n textRangeEnd.collapse(false);\n const textRangeStart = textRange;\n textRangeStart.collapse(true);\n\n let startPoint = textRangeToPoint(textRangeStart, true);\n let endPoint = textRangeToPoint(textRangeEnd, false);\n\n // same visible point case: range was collapsed.\n if (dom.isText(startPoint.node) && dom.isLeftEdgePoint(startPoint) &&\n dom.isTextNode(endPoint.node) && dom.isRightEdgePoint(endPoint) &&\n endPoint.node.nextSibling === startPoint.node) {\n startPoint = endPoint;\n }\n\n sc = startPoint.cont;\n so = startPoint.offset;\n ec = endPoint.cont;\n eo = endPoint.offset;\n }\n\n return new WrappedRange(sc, so, ec, eo);\n },\n\n /**\n * @method\n *\n * create WrappedRange from node\n *\n * @param {Node} node\n * @return {WrappedRange}\n */\n createFromNode: function(node) {\n let sc = node;\n let so = 0;\n let ec = node;\n let eo = dom.nodeLength(ec);\n\n // browsers can't target a picture or void node\n if (dom.isVoid(sc)) {\n so = dom.listPrev(sc).length - 1;\n sc = sc.parentNode;\n }\n if (dom.isBR(ec)) {\n eo = dom.listPrev(ec).length - 1;\n ec = ec.parentNode;\n } else if (dom.isVoid(ec)) {\n eo = dom.listPrev(ec).length;\n ec = ec.parentNode;\n }\n\n return this.create(sc, so, ec, eo);\n },\n\n /**\n * create WrappedRange from node after position\n *\n * @param {Node} node\n * @return {WrappedRange}\n */\n createFromNodeBefore: function(node) {\n return this.createFromNode(node).collapse(true);\n },\n\n /**\n * create WrappedRange from node after position\n *\n * @param {Node} node\n * @return {WrappedRange}\n */\n createFromNodeAfter: function(node) {\n return this.createFromNode(node).collapse();\n },\n\n /**\n * @method\n *\n * create WrappedRange from bookmark\n *\n * @param {Node} editable\n * @param {Object} bookmark\n * @return {WrappedRange}\n */\n createFromBookmark: function(editable, bookmark) {\n const sc = dom.fromOffsetPath(editable, bookmark.s.path);\n const so = bookmark.s.offset;\n const ec = dom.fromOffsetPath(editable, bookmark.e.path);\n const eo = bookmark.e.offset;\n return new WrappedRange(sc, so, ec, eo);\n },\n\n /**\n * @method\n *\n * create WrappedRange from paraBookmark\n *\n * @param {Object} bookmark\n * @param {Node[]} paras\n * @return {WrappedRange}\n */\n createFromParaBookmark: function(bookmark, paras) {\n const so = bookmark.s.offset;\n const eo = bookmark.e.offset;\n const sc = dom.fromOffsetPath(lists.head(paras), bookmark.s.path);\n const ec = dom.fromOffsetPath(lists.last(paras), bookmark.e.path);\n\n return new WrappedRange(sc, so, ec, eo);\n }\n};\n","import $ from 'jquery';\n\n/**\n * @method readFileAsDataURL\n *\n * read contents of file as representing URL\n *\n * @param {File} file\n * @return {Promise} - then: dataUrl\n */\nexport function readFileAsDataURL(file) {\n return $.Deferred((deferred) => {\n $.extend(new FileReader(), {\n onload: (e) => {\n const dataURL = e.target.result;\n deferred.resolve(dataURL);\n },\n onerror: (err) => {\n deferred.reject(err);\n }\n }).readAsDataURL(file);\n }).promise();\n}\n\n/**\n * @method createImage\n *\n * create `<image>` from url string\n *\n * @param {String} url\n * @return {Promise} - then: $image\n */\nexport function createImage(url) {\n return $.Deferred((deferred) => {\n const $img = $('<img>');\n\n $img.one('load', () => {\n $img.off('error abort');\n deferred.resolve($img);\n }).one('error abort', () => {\n $img.off('load').detach();\n deferred.reject($img);\n }).css({\n display: 'none'\n }).appendTo(document.body).attr('src', url);\n }).promise();\n}\n","import range from '../core/range';\n\nexport default class History {\n constructor($editable) {\n this.stack = [];\n this.stackOffset = -1;\n this.$editable = $editable;\n this.editable = $editable[0];\n }\n\n makeSnapshot() {\n const rng = range.create(this.editable);\n const emptyBookmark = {s: {path: [], offset: 0}, e: {path: [], offset: 0}};\n\n return {\n contents: this.$editable.html(),\n bookmark: (rng ? rng.bookmark(this.editable) : emptyBookmark)\n };\n }\n\n applySnapshot(snapshot) {\n if (snapshot.contents !== null) {\n this.$editable.html(snapshot.contents);\n }\n if (snapshot.bookmark !== null) {\n range.createFromBookmark(this.editable, snapshot.bookmark).select();\n }\n }\n\n /**\n * @method rewind\n * Rewinds the history stack back to the first snapshot taken.\n * Leaves the stack intact, so that \"Redo\" can still be used.\n */\n rewind() {\n // Create snap shot if not yet recorded\n if (this.$editable.html() !== this.stack[this.stackOffset].contents) {\n this.recordUndo();\n }\n\n // Return to the first available snapshot.\n this.stackOffset = 0;\n\n // Apply that snapshot.\n this.applySnapshot(this.stack[this.stackOffset]);\n }\n\n /**\n * @method reset\n * Resets the history stack completely; reverting to an empty editor.\n */\n reset() {\n // Clear the stack.\n this.stack = [];\n\n // Restore stackOffset to its original value.\n this.stackOffset = -1;\n\n // Clear the editable area.\n this.$editable.html('');\n\n // Record our first snapshot (of nothing).\n this.recordUndo();\n }\n\n /**\n * undo\n */\n undo() {\n // Create snap shot if not yet recorded\n if (this.$editable.html() !== this.stack[this.stackOffset].contents) {\n this.recordUndo();\n }\n\n if (this.stackOffset > 0) {\n this.stackOffset--;\n this.applySnapshot(this.stack[this.stackOffset]);\n }\n }\n\n /**\n * redo\n */\n redo() {\n if (this.stack.length - 1 > this.stackOffset) {\n this.stackOffset++;\n this.applySnapshot(this.stack[this.stackOffset]);\n }\n }\n\n /**\n * recorded undo\n */\n recordUndo() {\n this.stackOffset++;\n\n // Wash out stack after stackOffset\n if (this.stack.length > this.stackOffset) {\n this.stack = this.stack.slice(0, this.stackOffset);\n }\n\n // Create new snapshot and push it to the end\n this.stack.push(this.makeSnapshot());\n }\n}\n","import $ from 'jquery';\nimport env from '../core/env';\nimport func from '../core/func';\nimport lists from '../core/lists';\nimport dom from '../core/dom';\n\nexport default class Style {\n /**\n * @method jQueryCSS\n *\n * [workaround] for old jQuery\n * passing an array of style properties to .css()\n * will result in an object of property-value pairs.\n * (compability with version < 1.9)\n *\n * @private\n * @param {jQuery} $obj\n * @param {Array} propertyNames - An array of one or more CSS properties.\n * @return {Object}\n */\n jQueryCSS($obj, propertyNames) {\n if (env.jqueryVersion < 1.9) {\n const result = {};\n $.each(propertyNames, (idx, propertyName) => {\n result[propertyName] = $obj.css(propertyName);\n });\n return result;\n }\n return $obj.css(propertyNames);\n }\n\n /**\n * returns style object from node\n *\n * @param {jQuery} $node\n * @return {Object}\n */\n fromNode($node) {\n const properties = ['font-family', 'font-size', 'text-align', 'list-style-type', 'line-height'];\n const styleInfo = this.jQueryCSS($node, properties) || {};\n styleInfo['font-size'] = parseInt(styleInfo['font-size'], 10);\n return styleInfo;\n }\n\n /**\n * paragraph level style\n *\n * @param {WrappedRange} rng\n * @param {Object} styleInfo\n */\n stylePara(rng, styleInfo) {\n $.each(rng.nodes(dom.isPara, {\n includeAncestor: true\n }), (idx, para) => {\n $(para).css(styleInfo);\n });\n }\n\n /**\n * insert and returns styleNodes on range.\n *\n * @param {WrappedRange} rng\n * @param {Object} [options] - options for styleNodes\n * @param {String} [options.nodeName] - default: `SPAN`\n * @param {Boolean} [options.expandClosestSibling] - default: `false`\n * @param {Boolean} [options.onlyPartialContains] - default: `false`\n * @return {Node[]}\n */\n styleNodes(rng, options) {\n rng = rng.splitText();\n\n const nodeName = (options && options.nodeName) || 'SPAN';\n const expandClosestSibling = !!(options && options.expandClosestSibling);\n const onlyPartialContains = !!(options && options.onlyPartialContains);\n\n if (rng.isCollapsed()) {\n return [rng.insertNode(dom.create(nodeName))];\n }\n\n let pred = dom.makePredByNodeName(nodeName);\n const nodes = rng.nodes(dom.isText, {\n fullyContains: true\n }).map((text) => {\n return dom.singleChildAncestor(text, pred) || dom.wrap(text, nodeName);\n });\n\n if (expandClosestSibling) {\n if (onlyPartialContains) {\n const nodesInRange = rng.nodes();\n // compose with partial contains predication\n pred = func.and(pred, (node) => {\n return lists.contains(nodesInRange, node);\n });\n }\n\n return nodes.map((node) => {\n const siblings = dom.withClosestSiblings(node, pred);\n const head = lists.head(siblings);\n const tails = lists.tail(siblings);\n $.each(tails, (idx, elem) => {\n dom.appendChildNodes(head, elem.childNodes);\n dom.remove(elem);\n });\n return lists.head(siblings);\n });\n } else {\n return nodes;\n }\n }\n\n /**\n * get current style on cursor\n *\n * @param {WrappedRange} rng\n * @return {Object} - object contains style properties.\n */\n current(rng) {\n const $cont = $(!dom.isElement(rng.sc) ? rng.sc.parentNode : rng.sc);\n let styleInfo = this.fromNode($cont);\n\n // document.queryCommandState for toggle state\n // [workaround] prevent Firefox nsresult: \"0x80004005 (NS_ERROR_FAILURE)\"\n try {\n styleInfo = $.extend(styleInfo, {\n 'font-bold': document.queryCommandState('bold') ? 'bold' : 'normal',\n 'font-italic': document.queryCommandState('italic') ? 'italic' : 'normal',\n 'font-underline': document.queryCommandState('underline') ? 'underline' : 'normal',\n 'font-subscript': document.queryCommandState('subscript') ? 'subscript' : 'normal',\n 'font-superscript': document.queryCommandState('superscript') ? 'superscript' : 'normal',\n 'font-strikethrough': document.queryCommandState('strikethrough') ? 'strikethrough' : 'normal',\n 'font-family': document.queryCommandValue('fontname') || styleInfo['font-family']\n });\n } catch (e) {}\n\n // list-style-type to list-style(unordered, ordered)\n if (!rng.isOnList()) {\n styleInfo['list-style'] = 'none';\n } else {\n const orderedTypes = ['circle', 'disc', 'disc-leading-zero', 'square'];\n const isUnordered = $.inArray(styleInfo['list-style-type'], orderedTypes) > -1;\n styleInfo['list-style'] = isUnordered ? 'unordered' : 'ordered';\n }\n\n const para = dom.ancestor(rng.sc, dom.isPara);\n if (para && para.style['line-height']) {\n styleInfo['line-height'] = para.style.lineHeight;\n } else {\n const lineHeight = parseInt(styleInfo['line-height'], 10) / parseInt(styleInfo['font-size'], 10);\n styleInfo['line-height'] = lineHeight.toFixed(1);\n }\n\n styleInfo.anchor = rng.isOnAnchor() && dom.ancestor(rng.sc, dom.isAnchor);\n styleInfo.ancestors = dom.listAncestor(rng.sc, dom.isEditable);\n styleInfo.range = rng;\n\n return styleInfo;\n }\n}\n","import $ from 'jquery';\nimport lists from '../core/lists';\nimport func from '../core/func';\nimport dom from '../core/dom';\nimport range from '../core/range';\n\nexport default class Bullet {\n /**\n * toggle ordered list\n */\n insertOrderedList(editable) {\n this.toggleList('OL', editable);\n }\n\n /**\n * toggle unordered list\n */\n insertUnorderedList(editable) {\n this.toggleList('UL', editable);\n }\n\n /**\n * indent\n */\n indent(editable) {\n const rng = range.create(editable).wrapBodyInlineWithPara();\n\n const paras = rng.nodes(dom.isPara, { includeAncestor: true });\n const clustereds = lists.clusterBy(paras, func.peq2('parentNode'));\n\n $.each(clustereds, (idx, paras) => {\n const head = lists.head(paras);\n if (dom.isLi(head)) {\n this.wrapList(paras, head.parentNode.nodeName);\n } else {\n $.each(paras, (idx, para) => {\n $(para).css('marginLeft', (idx, val) => {\n return (parseInt(val, 10) || 0) + 25;\n });\n });\n }\n });\n\n rng.select();\n }\n\n /**\n * outdent\n */\n outdent(editable) {\n const rng = range.create(editable).wrapBodyInlineWithPara();\n\n const paras = rng.nodes(dom.isPara, { includeAncestor: true });\n const clustereds = lists.clusterBy(paras, func.peq2('parentNode'));\n\n $.each(clustereds, (idx, paras) => {\n const head = lists.head(paras);\n if (dom.isLi(head)) {\n this.releaseList([paras]);\n } else {\n $.each(paras, (idx, para) => {\n $(para).css('marginLeft', (idx, val) => {\n val = (parseInt(val, 10) || 0);\n return val > 25 ? val - 25 : '';\n });\n });\n }\n });\n\n rng.select();\n }\n\n /**\n * toggle list\n *\n * @param {String} listName - OL or UL\n */\n toggleList(listName, editable) {\n const rng = range.create(editable).wrapBodyInlineWithPara();\n\n let paras = rng.nodes(dom.isPara, { includeAncestor: true });\n const bookmark = rng.paraBookmark(paras);\n const clustereds = lists.clusterBy(paras, func.peq2('parentNode'));\n\n // paragraph to list\n if (lists.find(paras, dom.isPurePara)) {\n let wrappedParas = [];\n $.each(clustereds, (idx, paras) => {\n wrappedParas = wrappedParas.concat(this.wrapList(paras, listName));\n });\n paras = wrappedParas;\n // list to paragraph or change list style\n } else {\n const diffLists = rng.nodes(dom.isList, {\n includeAncestor: true\n }).filter((listNode) => {\n return !$.nodeName(listNode, listName);\n });\n\n if (diffLists.length) {\n $.each(diffLists, (idx, listNode) => {\n dom.replace(listNode, listName);\n });\n } else {\n paras = this.releaseList(clustereds, true);\n }\n }\n\n range.createFromParaBookmark(bookmark, paras).select();\n }\n\n /**\n * @param {Node[]} paras\n * @param {String} listName\n * @return {Node[]}\n */\n wrapList(paras, listName) {\n const head = lists.head(paras);\n const last = lists.last(paras);\n\n const prevList = dom.isList(head.previousSibling) && head.previousSibling;\n const nextList = dom.isList(last.nextSibling) && last.nextSibling;\n\n const listNode = prevList || dom.insertAfter(dom.create(listName || 'UL'), last);\n\n // P to LI\n paras = paras.map((para) => {\n return dom.isPurePara(para) ? dom.replace(para, 'LI') : para;\n });\n\n // append to list(<ul>, <ol>)\n dom.appendChildNodes(listNode, paras);\n\n if (nextList) {\n dom.appendChildNodes(listNode, lists.from(nextList.childNodes));\n dom.remove(nextList);\n }\n\n return paras;\n }\n\n /**\n * @method releaseList\n *\n * @param {Array[]} clustereds\n * @param {Boolean} isEscapseToBody\n * @return {Node[]}\n */\n releaseList(clustereds, isEscapseToBody) {\n let releasedParas = [];\n\n $.each(clustereds, (idx, paras) => {\n const head = lists.head(paras);\n const last = lists.last(paras);\n\n const headList = isEscapseToBody ? dom.lastAncestor(head, dom.isList) : head.parentNode;\n const lastList = headList.childNodes.length > 1 ? dom.splitTree(headList, {\n node: last.parentNode,\n offset: dom.position(last) + 1\n }, {\n isSkipPaddingBlankHTML: true\n }) : null;\n\n const middleList = dom.splitTree(headList, {\n node: head.parentNode,\n offset: dom.position(head)\n }, {\n isSkipPaddingBlankHTML: true\n });\n\n paras = isEscapseToBody ? dom.listDescendant(middleList, dom.isLi)\n : lists.from(middleList.childNodes).filter(dom.isLi);\n\n // LI to P\n if (isEscapseToBody || !dom.isList(headList.parentNode)) {\n paras = paras.map((para) => {\n return dom.replace(para, 'P');\n });\n }\n\n $.each(lists.from(paras).reverse(), (idx, para) => {\n dom.insertAfter(para, headList);\n });\n\n // remove empty lists\n const rootLists = lists.compact([headList, middleList, lastList]);\n $.each(rootLists, (idx, rootList) => {\n const listNodes = [rootList].concat(dom.listDescendant(rootList, dom.isList));\n $.each(listNodes.reverse(), (idx, listNode) => {\n if (!dom.nodeLength(listNode)) {\n dom.remove(listNode, true);\n }\n });\n });\n\n releasedParas = releasedParas.concat(paras);\n });\n\n return releasedParas;\n }\n}\n","import $ from 'jquery';\nimport dom from '../core/dom';\nimport range from '../core/range';\nimport Bullet from '../editing/Bullet';\n\n/**\n * @class editing.Typing\n *\n * Typing\n *\n */\nexport default class Typing {\n constructor() {\n // a Bullet instance to toggle lists off\n this.bullet = new Bullet();\n }\n\n /**\n * insert tab\n *\n * @param {WrappedRange} rng\n * @param {Number} tabsize\n */\n insertTab(rng, tabsize) {\n const tab = dom.createText(new Array(tabsize + 1).join(dom.NBSP_CHAR));\n rng = rng.deleteContents();\n rng.insertNode(tab, true);\n\n rng = range.create(tab, tabsize);\n rng.select();\n }\n\n /**\n * insert paragraph\n */\n insertParagraph(editable) {\n let rng = range.create(editable);\n\n // deleteContents on range.\n rng = rng.deleteContents();\n\n // Wrap range if it needs to be wrapped by paragraph\n rng = rng.wrapBodyInlineWithPara();\n\n // finding paragraph\n const splitRoot = dom.ancestor(rng.sc, dom.isPara);\n\n let nextPara;\n // on paragraph: split paragraph\n if (splitRoot) {\n // if it is an empty line with li\n if (dom.isEmpty(splitRoot) && dom.isLi(splitRoot)) {\n // toogle UL/OL and escape\n this.bullet.toggleList(splitRoot.parentNode.nodeName);\n return;\n // if it is an empty line with para on blockquote\n } else if (dom.isEmpty(splitRoot) && dom.isPara(splitRoot) && dom.isBlockquote(splitRoot.parentNode)) {\n // escape blockquote\n dom.insertAfter(splitRoot, splitRoot.parentNode);\n nextPara = splitRoot;\n // if new line has content (not a line break)\n } else {\n nextPara = dom.splitTree(splitRoot, rng.getStartPoint());\n\n let emptyAnchors = dom.listDescendant(splitRoot, dom.isEmptyAnchor);\n emptyAnchors = emptyAnchors.concat(dom.listDescendant(nextPara, dom.isEmptyAnchor));\n\n $.each(emptyAnchors, (idx, anchor) => {\n dom.remove(anchor);\n });\n\n // replace empty heading, pre or custom-made styleTag with P tag\n if ((dom.isHeading(nextPara) || dom.isPre(nextPara) || dom.isCustomStyleTag(nextPara)) && dom.isEmpty(nextPara)) {\n nextPara = dom.replace(nextPara, 'p');\n }\n }\n // no paragraph: insert empty paragraph\n } else {\n const next = rng.sc.childNodes[rng.so];\n nextPara = $(dom.emptyPara)[0];\n if (next) {\n rng.sc.insertBefore(nextPara, next);\n } else {\n rng.sc.appendChild(nextPara);\n }\n }\n\n range.create(nextPara, 0).normalize().select().scrollIntoView(editable);\n }\n}\n","import $ from 'jquery';\nimport dom from '../core/dom';\nimport range from '../core/range';\nimport lists from '../core/lists';\n\n/**\n * @class Create a virtual table to create what actions to do in change.\n * @param {object} startPoint Cell selected to apply change.\n * @param {enum} where Where change will be applied Row or Col. Use enum: TableResultAction.where\n * @param {enum} action Action to be applied. Use enum: TableResultAction.requestAction\n * @param {object} domTable Dom element of table to make changes.\n */\nconst TableResultAction = function(startPoint, where, action, domTable) {\n const _startPoint = { 'colPos': 0, 'rowPos': 0 };\n const _virtualTable = [];\n const _actionCellList = [];\n\n /// ///////////////////////////////////////////\n // Private functions\n /// ///////////////////////////////////////////\n\n /**\n * Set the startPoint of action.\n */\n function setStartPoint() {\n if (!startPoint || !startPoint.tagName || (startPoint.tagName.toLowerCase() !== 'td' && startPoint.tagName.toLowerCase() !== 'th')) {\n console.error('Impossible to identify start Cell point.', startPoint);\n return;\n }\n _startPoint.colPos = startPoint.cellIndex;\n if (!startPoint.parentElement || !startPoint.parentElement.tagName || startPoint.parentElement.tagName.toLowerCase() !== 'tr') {\n console.error('Impossible to identify start Row point.', startPoint);\n return;\n }\n _startPoint.rowPos = startPoint.parentElement.rowIndex;\n }\n\n /**\n * Define virtual table position info object.\n *\n * @param {int} rowIndex Index position in line of virtual table.\n * @param {int} cellIndex Index position in column of virtual table.\n * @param {object} baseRow Row affected by this position.\n * @param {object} baseCell Cell affected by this position.\n * @param {bool} isSpan Inform if it is an span cell/row.\n */\n function setVirtualTablePosition(rowIndex, cellIndex, baseRow, baseCell, isRowSpan, isColSpan, isVirtualCell) {\n const objPosition = {\n 'baseRow': baseRow,\n 'baseCell': baseCell,\n 'isRowSpan': isRowSpan,\n 'isColSpan': isColSpan,\n 'isVirtual': isVirtualCell\n };\n if (!_virtualTable[rowIndex]) {\n _virtualTable[rowIndex] = [];\n }\n _virtualTable[rowIndex][cellIndex] = objPosition;\n }\n\n /**\n * Create action cell object.\n *\n * @param {object} virtualTableCellObj Object of specific position on virtual table.\n * @param {enum} resultAction Action to be applied in that item.\n */\n function getActionCell(virtualTableCellObj, resultAction, virtualRowPosition, virtualColPosition) {\n return {\n 'baseCell': virtualTableCellObj.baseCell,\n 'action': resultAction,\n 'virtualTable': {\n 'rowIndex': virtualRowPosition,\n 'cellIndex': virtualColPosition\n }\n };\n }\n\n /**\n * Recover free index of row to append Cell.\n *\n * @param {int} rowIndex Index of row to find free space.\n * @param {int} cellIndex Index of cell to find free space in table.\n */\n function recoverCellIndex(rowIndex, cellIndex) {\n if (!_virtualTable[rowIndex]) {\n return cellIndex;\n }\n if (!_virtualTable[rowIndex][cellIndex]) {\n return cellIndex;\n }\n\n let newCellIndex = cellIndex;\n while (_virtualTable[rowIndex][newCellIndex]) {\n newCellIndex++;\n if (!_virtualTable[rowIndex][newCellIndex]) {\n return newCellIndex;\n }\n }\n }\n\n /**\n * Recover info about row and cell and add information to virtual table.\n *\n * @param {object} row Row to recover information.\n * @param {object} cell Cell to recover information.\n */\n function addCellInfoToVirtual(row, cell) {\n const cellIndex = recoverCellIndex(row.rowIndex, cell.cellIndex);\n const cellHasColspan = (cell.colSpan > 1);\n const cellHasRowspan = (cell.rowSpan > 1);\n const isThisSelectedCell = (row.rowIndex === _startPoint.rowPos && cell.cellIndex === _startPoint.colPos);\n setVirtualTablePosition(row.rowIndex, cellIndex, row, cell, cellHasRowspan, cellHasColspan, false);\n\n // Add span rows to virtual Table.\n const rowspanNumber = cell.attributes.rowSpan ? parseInt(cell.attributes.rowSpan.value, 10) : 0;\n if (rowspanNumber > 1) {\n for (let rp = 1; rp < rowspanNumber; rp++) {\n const rowspanIndex = row.rowIndex + rp;\n adjustStartPoint(rowspanIndex, cellIndex, cell, isThisSelectedCell);\n setVirtualTablePosition(rowspanIndex, cellIndex, row, cell, true, cellHasColspan, true);\n }\n }\n\n // Add span cols to virtual table.\n const colspanNumber = cell.attributes.colSpan ? parseInt(cell.attributes.colSpan.value, 10) : 0;\n if (colspanNumber > 1) {\n for (let cp = 1; cp < colspanNumber; cp++) {\n const cellspanIndex = recoverCellIndex(row.rowIndex, (cellIndex + cp));\n adjustStartPoint(row.rowIndex, cellspanIndex, cell, isThisSelectedCell);\n setVirtualTablePosition(row.rowIndex, cellspanIndex, row, cell, cellHasRowspan, true, true);\n }\n }\n }\n\n /**\n * Process validation and adjust of start point if needed\n *\n * @param {int} rowIndex\n * @param {int} cellIndex\n * @param {object} cell\n * @param {bool} isSelectedCell\n */\n function adjustStartPoint(rowIndex, cellIndex, cell, isSelectedCell) {\n if (rowIndex === _startPoint.rowPos && _startPoint.colPos >= cell.cellIndex && cell.cellIndex <= cellIndex && !isSelectedCell) {\n _startPoint.colPos++;\n }\n }\n\n /**\n * Create virtual table of cells with all cells, including span cells.\n */\n function createVirtualTable() {\n const rows = domTable.rows;\n for (let rowIndex = 0; rowIndex < rows.length; rowIndex++) {\n const cells = rows[rowIndex].cells;\n for (let cellIndex = 0; cellIndex < cells.length; cellIndex++) {\n addCellInfoToVirtual(rows[rowIndex], cells[cellIndex]);\n }\n }\n }\n\n /**\n * Get action to be applied on the cell.\n *\n * @param {object} cell virtual table cell to apply action\n */\n function getDeleteResultActionToCell(cell) {\n switch (where) {\n case TableResultAction.where.Column:\n if (cell.isColSpan) {\n return TableResultAction.resultAction.SubtractSpanCount;\n }\n break;\n case TableResultAction.where.Row:\n if (!cell.isVirtual && cell.isRowSpan) {\n return TableResultAction.resultAction.AddCell;\n } else if (cell.isRowSpan) {\n return TableResultAction.resultAction.SubtractSpanCount;\n }\n break;\n }\n return TableResultAction.resultAction.RemoveCell;\n }\n\n /**\n * Get action to be applied on the cell.\n *\n * @param {object} cell virtual table cell to apply action\n */\n function getAddResultActionToCell(cell) {\n switch (where) {\n case TableResultAction.where.Column:\n if (cell.isColSpan) {\n return TableResultAction.resultAction.SumSpanCount;\n } else if (cell.isRowSpan && cell.isVirtual) {\n return TableResultAction.resultAction.Ignore;\n }\n break;\n case TableResultAction.where.Row:\n if (cell.isRowSpan) {\n return TableResultAction.resultAction.SumSpanCount;\n } else if (cell.isColSpan && cell.isVirtual) {\n return TableResultAction.resultAction.Ignore;\n }\n break;\n }\n return TableResultAction.resultAction.AddCell;\n }\n\n function init() {\n setStartPoint();\n createVirtualTable();\n }\n\n /// ///////////////////////////////////////////\n // Public functions\n /// ///////////////////////////////////////////\n\n /**\n * Recover array os what to do in table.\n */\n this.getActionList = function() {\n const fixedRow = (where === TableResultAction.where.Row) ? _startPoint.rowPos : -1;\n const fixedCol = (where === TableResultAction.where.Column) ? _startPoint.colPos : -1;\n\n let actualPosition = 0;\n let canContinue = true;\n while (canContinue) {\n const rowPosition = (fixedRow >= 0) ? fixedRow : actualPosition;\n const colPosition = (fixedCol >= 0) ? fixedCol : actualPosition;\n const row = _virtualTable[rowPosition];\n if (!row) {\n canContinue = false;\n return _actionCellList;\n }\n const cell = row[colPosition];\n if (!cell) {\n canContinue = false;\n return _actionCellList;\n }\n\n // Define action to be applied in this cell\n let resultAction = TableResultAction.resultAction.Ignore;\n switch (action) {\n case TableResultAction.requestAction.Add:\n resultAction = getAddResultActionToCell(cell);\n break;\n case TableResultAction.requestAction.Delete:\n resultAction = getDeleteResultActionToCell(cell);\n break;\n }\n _actionCellList.push(getActionCell(cell, resultAction, rowPosition, colPosition));\n actualPosition++;\n }\n\n return _actionCellList;\n };\n\n init();\n};\n/**\n*\n* Where action occours enum.\n*/\nTableResultAction.where = { 'Row': 0, 'Column': 1 };\n/**\n*\n* Requested action to apply enum.\n*/\nTableResultAction.requestAction = { 'Add': 0, 'Delete': 1 };\n/**\n*\n* Result action to be executed enum.\n*/\nTableResultAction.resultAction = { 'Ignore': 0, 'SubtractSpanCount': 1, 'RemoveCell': 2, 'AddCell': 3, 'SumSpanCount': 4 };\n\n/**\n *\n * @class editing.Table\n *\n * Table\n *\n */\nexport default class Table {\n /**\n * handle tab key\n *\n * @param {WrappedRange} rng\n * @param {Boolean} isShift\n */\n tab(rng, isShift) {\n const cell = dom.ancestor(rng.commonAncestor(), dom.isCell);\n const table = dom.ancestor(cell, dom.isTable);\n const cells = dom.listDescendant(table, dom.isCell);\n\n const nextCell = lists[isShift ? 'prev' : 'next'](cells, cell);\n if (nextCell) {\n range.create(nextCell, 0).select();\n }\n }\n\n /**\n * Add a new row\n *\n * @param {WrappedRange} rng\n * @param {String} position (top/bottom)\n * @return {Node}\n */\n addRow(rng, position) {\n const cell = dom.ancestor(rng.commonAncestor(), dom.isCell);\n\n const currentTr = $(cell).closest('tr');\n const trAttributes = this.recoverAttributes(currentTr);\n const html = $('<tr' + trAttributes + '></tr>');\n\n const vTable = new TableResultAction(cell, TableResultAction.where.Row,\n TableResultAction.requestAction.Add, $(currentTr).closest('table')[0]);\n const actions = vTable.getActionList();\n\n for (let idCell = 0; idCell < actions.length; idCell++) {\n const currentCell = actions[idCell];\n const tdAttributes = this.recoverAttributes(currentCell.baseCell);\n switch (currentCell.action) {\n case TableResultAction.resultAction.AddCell:\n html.append('<td' + tdAttributes + '>' + dom.blank + '</td>');\n break;\n case TableResultAction.resultAction.SumSpanCount:\n if (position === 'top') {\n const baseCellTr = currentCell.baseCell.parent;\n const isTopFromRowSpan = (!baseCellTr ? 0 : currentCell.baseCell.closest('tr').rowIndex) <= currentTr[0].rowIndex;\n if (isTopFromRowSpan) {\n const newTd = $('<div></div>').append($('<td' + tdAttributes + '>' + dom.blank + '</td>').removeAttr('rowspan')).html();\n html.append(newTd);\n break;\n }\n }\n let rowspanNumber = parseInt(currentCell.baseCell.rowSpan, 10);\n rowspanNumber++;\n currentCell.baseCell.setAttribute('rowSpan', rowspanNumber);\n break;\n }\n }\n\n if (position === 'top') {\n currentTr.before(html);\n } else {\n const cellHasRowspan = (cell.rowSpan > 1);\n if (cellHasRowspan) {\n const lastTrIndex = currentTr[0].rowIndex + (cell.rowSpan - 2);\n $($(currentTr).parent().find('tr')[lastTrIndex]).after($(html));\n return;\n }\n currentTr.after(html);\n }\n }\n\n /**\n * Add a new col\n *\n * @param {WrappedRange} rng\n * @param {String} position (left/right)\n * @return {Node}\n */\n addCol(rng, position) {\n const cell = dom.ancestor(rng.commonAncestor(), dom.isCell);\n const row = $(cell).closest('tr');\n const rowsGroup = $(row).siblings();\n rowsGroup.push(row);\n\n const vTable = new TableResultAction(cell, TableResultAction.where.Column,\n TableResultAction.requestAction.Add, $(row).closest('table')[0]);\n const actions = vTable.getActionList();\n\n for (let actionIndex = 0; actionIndex < actions.length; actionIndex++) {\n const currentCell = actions[actionIndex];\n const tdAttributes = this.recoverAttributes(currentCell.baseCell);\n switch (currentCell.action) {\n case TableResultAction.resultAction.AddCell:\n if (position === 'right') {\n $(currentCell.baseCell).after('<td' + tdAttributes + '>' + dom.blank + '</td>');\n } else {\n $(currentCell.baseCell).before('<td' + tdAttributes + '>' + dom.blank + '</td>');\n }\n break;\n case TableResultAction.resultAction.SumSpanCount:\n if (position === 'right') {\n let colspanNumber = parseInt(currentCell.baseCell.colSpan, 10);\n colspanNumber++;\n currentCell.baseCell.setAttribute('colSpan', colspanNumber);\n } else {\n $(currentCell.baseCell).before('<td' + tdAttributes + '>' + dom.blank + '</td>');\n }\n break;\n }\n }\n }\n\n /*\n * Copy attributes from element.\n *\n * @param {object} Element to recover attributes.\n * @return {string} Copied string elements.\n */\n recoverAttributes(el) {\n let resultStr = '';\n\n if (!el) {\n return resultStr;\n }\n\n const attrList = el.attributes || [];\n\n for (let i = 0; i < attrList.length; i++) {\n if (attrList[i].name.toLowerCase() === 'id') {\n continue;\n }\n\n if (attrList[i].specified) {\n resultStr += ' ' + attrList[i].name + '=\\'' + attrList[i].value + '\\'';\n }\n }\n\n return resultStr;\n }\n\n /**\n * Delete current row\n *\n * @param {WrappedRange} rng\n * @return {Node}\n */\n deleteRow(rng) {\n const cell = dom.ancestor(rng.commonAncestor(), dom.isCell);\n const row = $(cell).closest('tr');\n const cellPos = row.children('td, th').index($(cell));\n const rowPos = row[0].rowIndex;\n\n const vTable = new TableResultAction(cell, TableResultAction.where.Row,\n TableResultAction.requestAction.Delete, $(row).closest('table')[0]);\n const actions = vTable.getActionList();\n\n for (let actionIndex = 0; actionIndex < actions.length; actionIndex++) {\n if (!actions[actionIndex]) {\n continue;\n }\n\n const baseCell = actions[actionIndex].baseCell;\n const virtualPosition = actions[actionIndex].virtualTable;\n const hasRowspan = (baseCell.rowSpan && baseCell.rowSpan > 1);\n let rowspanNumber = (hasRowspan) ? parseInt(baseCell.rowSpan, 10) : 0;\n switch (actions[actionIndex].action) {\n case TableResultAction.resultAction.Ignore:\n continue;\n case TableResultAction.resultAction.AddCell:\n const nextRow = row.next('tr')[0];\n if (!nextRow) { continue; }\n const cloneRow = row[0].cells[cellPos];\n if (hasRowspan) {\n if (rowspanNumber > 2) {\n rowspanNumber--;\n nextRow.insertBefore(cloneRow, nextRow.cells[cellPos]);\n nextRow.cells[cellPos].setAttribute('rowSpan', rowspanNumber);\n nextRow.cells[cellPos].innerHTML = '';\n } else if (rowspanNumber === 2) {\n nextRow.insertBefore(cloneRow, nextRow.cells[cellPos]);\n nextRow.cells[cellPos].removeAttribute('rowSpan');\n nextRow.cells[cellPos].innerHTML = '';\n }\n }\n continue;\n case TableResultAction.resultAction.SubtractSpanCount:\n if (hasRowspan) {\n if (rowspanNumber > 2) {\n rowspanNumber--;\n baseCell.setAttribute('rowSpan', rowspanNumber);\n if (virtualPosition.rowIndex !== rowPos && baseCell.cellIndex === cellPos) { baseCell.innerHTML = ''; }\n } else if (rowspanNumber === 2) {\n baseCell.removeAttribute('rowSpan');\n if (virtualPosition.rowIndex !== rowPos && baseCell.cellIndex === cellPos) { baseCell.innerHTML = ''; }\n }\n }\n continue;\n case TableResultAction.resultAction.RemoveCell:\n // Do not need remove cell because row will be deleted.\n continue;\n }\n }\n row.remove();\n }\n\n /**\n * Delete current col\n *\n * @param {WrappedRange} rng\n * @return {Node}\n */\n deleteCol(rng) {\n const cell = dom.ancestor(rng.commonAncestor(), dom.isCell);\n const row = $(cell).closest('tr');\n const cellPos = row.children('td, th').index($(cell));\n\n const vTable = new TableResultAction(cell, TableResultAction.where.Column,\n TableResultAction.requestAction.Delete, $(row).closest('table')[0]);\n const actions = vTable.getActionList();\n\n for (let actionIndex = 0; actionIndex < actions.length; actionIndex++) {\n if (!actions[actionIndex]) {\n continue;\n }\n switch (actions[actionIndex].action) {\n case TableResultAction.resultAction.Ignore:\n continue;\n case TableResultAction.resultAction.SubtractSpanCount:\n const baseCell = actions[actionIndex].baseCell;\n const hasColspan = (baseCell.colSpan && baseCell.colSpan > 1);\n if (hasColspan) {\n let colspanNumber = (baseCell.colSpan) ? parseInt(baseCell.colSpan, 10) : 0;\n if (colspanNumber > 2) {\n colspanNumber--;\n baseCell.setAttribute('colSpan', colspanNumber);\n if (baseCell.cellIndex === cellPos) { baseCell.innerHTML = ''; }\n } else if (colspanNumber === 2) {\n baseCell.removeAttribute('colSpan');\n if (baseCell.cellIndex === cellPos) { baseCell.innerHTML = ''; }\n }\n }\n continue;\n case TableResultAction.resultAction.RemoveCell:\n dom.remove(actions[actionIndex].baseCell, true);\n continue;\n }\n }\n }\n\n /**\n * create empty table element\n *\n * @param {Number} rowCount\n * @param {Number} colCount\n * @return {Node}\n */\n createTable(colCount, rowCount, options) {\n const tds = [];\n let tdHTML;\n for (let idxCol = 0; idxCol < colCount; idxCol++) {\n tds.push('<td>' + dom.blank + '</td>');\n }\n tdHTML = tds.join('');\n\n const trs = [];\n let trHTML;\n for (let idxRow = 0; idxRow < rowCount; idxRow++) {\n trs.push('<tr>' + tdHTML + '</tr>');\n }\n trHTML = trs.join('');\n const $table = $('<table>' + trHTML + '</table>');\n if (options && options.tableClassName) {\n $table.addClass(options.tableClassName);\n }\n\n return $table[0];\n }\n\n /**\n * Delete current table\n *\n * @param {WrappedRange} rng\n * @return {Node}\n */\n deleteTable(rng) {\n const cell = dom.ancestor(rng.commonAncestor(), dom.isCell);\n $(cell).closest('table').remove();\n }\n}\n","import $ from 'jquery';\nimport env from '../core/env';\nimport key from '../core/key';\nimport func from '../core/func';\nimport lists from '../core/lists';\nimport dom from '../core/dom';\nimport range from '../core/range';\nimport { readFileAsDataURL, createImage } from '../core/async';\nimport History from '../editing/History';\nimport Style from '../editing/Style';\nimport Typing from '../editing/Typing';\nimport Table from '../editing/Table';\nimport Bullet from '../editing/Bullet';\n\nconst KEY_BOGUS = 'bogus';\n\n/**\n * @class Editor\n */\nexport default class Editor {\n constructor(context) {\n this.context = context;\n\n this.$note = context.layoutInfo.note;\n this.$editor = context.layoutInfo.editor;\n this.$editable = context.layoutInfo.editable;\n this.options = context.options;\n this.lang = this.options.langInfo;\n\n this.editable = this.$editable[0];\n this.lastRange = null;\n\n this.style = new Style();\n this.table = new Table();\n this.typing = new Typing();\n this.bullet = new Bullet();\n this.history = new History(this.$editable);\n\n this.context.memo('help.undo', this.lang.help.undo);\n this.context.memo('help.redo', this.lang.help.redo);\n this.context.memo('help.tab', this.lang.help.tab);\n this.context.memo('help.untab', this.lang.help.untab);\n this.context.memo('help.insertParagraph', this.lang.help.insertParagraph);\n this.context.memo('help.insertOrderedList', this.lang.help.insertOrderedList);\n this.context.memo('help.insertUnorderedList', this.lang.help.insertUnorderedList);\n this.context.memo('help.indent', this.lang.help.indent);\n this.context.memo('help.outdent', this.lang.help.outdent);\n this.context.memo('help.formatPara', this.lang.help.formatPara);\n this.context.memo('help.insertHorizontalRule', this.lang.help.insertHorizontalRule);\n this.context.memo('help.fontName', this.lang.help.fontName);\n\n // native commands(with execCommand), generate function for execCommand\n const commands = [\n 'bold', 'italic', 'underline', 'strikethrough', 'superscript', 'subscript',\n 'justifyLeft', 'justifyCenter', 'justifyRight', 'justifyFull',\n 'formatBlock', 'removeFormat', 'backColor'\n ];\n\n for (let idx = 0, len = commands.length; idx < len; idx++) {\n this[commands[idx]] = ((sCmd) => {\n return (value) => {\n this.beforeCommand();\n document.execCommand(sCmd, false, value);\n this.afterCommand(true);\n };\n })(commands[idx]);\n this.context.memo('help.' + commands[idx], this.lang.help[commands[idx]]);\n }\n\n this.fontName = this.wrapCommand((value) => {\n return this.fontStyling('font-family', \"\\'\" + value + \"\\'\");\n });\n\n this.fontSize = this.wrapCommand((value) => {\n return this.fontStyling('font-size', value + 'px');\n });\n\n for (let idx = 1; idx <= 6; idx++) {\n this['formatH' + idx] = ((idx) => {\n return () => {\n this.formatBlock('H' + idx);\n };\n })(idx);\n this.context.memo('help.formatH' + idx, this.lang.help['formatH' + idx]);\n };\n\n this.insertParagraph = this.wrapCommand(() => {\n this.typing.insertParagraph(this.editable);\n });\n\n this.insertOrderedList = this.wrapCommand(() => {\n this.bullet.insertOrderedList(this.editable);\n });\n\n this.insertUnorderedList = this.wrapCommand(() => {\n this.bullet.insertUnorderedList(this.editable);\n });\n\n this.indent = this.wrapCommand(() => {\n this.bullet.indent(this.editable);\n });\n\n this.outdent = this.wrapCommand(() => {\n this.bullet.outdent(this.editable);\n });\n\n /**\n * insertNode\n * insert node\n * @param {Node} node\n */\n this.insertNode = this.wrapCommand((node) => {\n if (this.isLimited($(node).text().length)) {\n return;\n }\n const rng = this.createRange();\n rng.insertNode(node);\n range.createFromNodeAfter(node).select();\n });\n\n /**\n * insert text\n * @param {String} text\n */\n this.insertText = this.wrapCommand((text) => {\n if (this.isLimited(text.length)) {\n return;\n }\n const rng = this.createRange();\n const textNode = rng.insertNode(dom.createText(text));\n range.create(textNode, dom.nodeLength(textNode)).select();\n });\n /**\n * paste HTML\n * @param {String} markup\n */\n this.pasteHTML = this.wrapCommand((markup) => {\n if (this.isLimited(markup.length)) {\n return;\n }\n const contents = this.createRange().pasteHTML(markup);\n range.createFromNodeAfter(lists.last(contents)).select();\n });\n\n /**\n * formatBlock\n *\n * @param {String} tagName\n */\n this.formatBlock = this.wrapCommand((tagName, $target) => {\n const onApplyCustomStyle = this.options.callbacks.onApplyCustomStyle;\n if (onApplyCustomStyle) {\n onApplyCustomStyle.call(this, $target, this.context, this.onFormatBlock);\n } else {\n this.onFormatBlock(tagName, $target);\n }\n });\n\n /**\n * insert horizontal rule\n */\n this.insertHorizontalRule = this.wrapCommand(() => {\n const hrNode = this.createRange().insertNode(dom.create('HR'));\n if (hrNode.nextSibling) {\n range.create(hrNode.nextSibling, 0).normalize().select();\n }\n });\n\n /**\n * lineHeight\n * @param {String} value\n */\n this.lineHeight = this.wrapCommand((value) => {\n this.style.stylePara(this.createRange(), {\n lineHeight: value\n });\n });\n\n /**\n * create link (command)\n *\n * @param {Object} linkInfo\n */\n this.createLink = this.wrapCommand((linkInfo) => {\n let linkUrl = linkInfo.url;\n const linkText = linkInfo.text;\n const isNewWindow = linkInfo.isNewWindow;\n let rng = linkInfo.range || this.createRange();\n const isTextChanged = rng.toString() !== linkText;\n\n // handle spaced urls from input\n if (typeof linkUrl === 'string') {\n linkUrl = linkUrl.trim();\n }\n\n if (this.options.onCreateLink) {\n linkUrl = this.options.onCreateLink(linkUrl);\n } else {\n // if url doesn't match an URL schema, set http:// as default\n linkUrl = /^[A-Za-z][A-Za-z0-9+-.]*\\:[\\/\\/]?/.test(linkUrl)\n ? linkUrl : 'http://' + linkUrl;\n }\n\n let anchors = [];\n if (isTextChanged) {\n rng = rng.deleteContents();\n const anchor = rng.insertNode($('<A>' + linkText + '</A>')[0]);\n anchors.push(anchor);\n } else {\n anchors = this.style.styleNodes(rng, {\n nodeName: 'A',\n expandClosestSibling: true,\n onlyPartialContains: true\n });\n }\n\n $.each(anchors, (idx, anchor) => {\n $(anchor).attr('href', linkUrl);\n if (isNewWindow) {\n $(anchor).attr('target', '_blank');\n } else {\n $(anchor).removeAttr('target');\n }\n });\n\n const startRange = range.createFromNodeBefore(lists.head(anchors));\n const startPoint = startRange.getStartPoint();\n const endRange = range.createFromNodeAfter(lists.last(anchors));\n const endPoint = endRange.getEndPoint();\n\n range.create(\n startPoint.node,\n startPoint.offset,\n endPoint.node,\n endPoint.offset\n ).select();\n });\n\n /**\n * setting color\n *\n * @param {Object} sObjColor color code\n * @param {String} sObjColor.foreColor foreground color\n * @param {String} sObjColor.backColor background color\n */\n this.color = this.wrapCommand((colorInfo) => {\n const foreColor = colorInfo.foreColor;\n const backColor = colorInfo.backColor;\n\n if (foreColor) { document.execCommand('foreColor', false, foreColor); }\n if (backColor) { document.execCommand('backColor', false, backColor); }\n });\n\n /**\n * Set foreground color\n *\n * @param {String} colorCode foreground color code\n */\n this.foreColor = this.wrapCommand((colorInfo) => {\n document.execCommand('styleWithCSS', false, true);\n document.execCommand('foreColor', false, colorInfo);\n });\n\n /**\n * insert Table\n *\n * @param {String} dimension of table (ex : \"5x5\")\n */\n this.insertTable = this.wrapCommand((dim) => {\n const dimension = dim.split('x');\n\n const rng = this.createRange().deleteContents();\n rng.insertNode(this.table.createTable(dimension[0], dimension[1], this.options));\n });\n\n /**\n * remove media object and Figure Elements if media object is img with Figure.\n */\n this.removeMedia = this.wrapCommand(() => {\n let $target = $(this.restoreTarget()).parent();\n if ($target.parent('figure').length) {\n $target.parent('figure').remove();\n } else {\n $target = $(this.restoreTarget()).detach();\n }\n this.context.triggerEvent('media.delete', $target, this.$editable);\n });\n\n /**\n * float me\n *\n * @param {String} value\n */\n this.floatMe = this.wrapCommand((value) => {\n const $target = $(this.restoreTarget());\n $target.toggleClass('note-float-left', value === 'left');\n $target.toggleClass('note-float-right', value === 'right');\n $target.css('float', value);\n });\n\n /**\n * resize overlay element\n * @param {String} value\n */\n this.resize = this.wrapCommand((value) => {\n const $target = $(this.restoreTarget());\n $target.css({\n width: value * 100 + '%',\n height: ''\n });\n });\n }\n\n initialize() {\n // bind custom events\n this.$editable.on('keydown', (event) => {\n if (event.keyCode === key.code.ENTER) {\n this.context.triggerEvent('enter', event);\n }\n this.context.triggerEvent('keydown', event);\n\n if (!event.isDefaultPrevented()) {\n if (this.options.shortcuts) {\n this.handleKeyMap(event);\n } else {\n this.preventDefaultEditableShortCuts(event);\n }\n }\n if (this.isLimited(1, event)) {\n return false;\n }\n }).on('keyup', (event) => {\n this.context.triggerEvent('keyup', event);\n }).on('focus', (event) => {\n this.context.triggerEvent('focus', event);\n }).on('blur', (event) => {\n this.context.triggerEvent('blur', event);\n }).on('mousedown', (event) => {\n this.context.triggerEvent('mousedown', event);\n }).on('mouseup', (event) => {\n this.context.triggerEvent('mouseup', event);\n }).on('scroll', (event) => {\n this.context.triggerEvent('scroll', event);\n }).on('paste', (event) => {\n this.context.triggerEvent('paste', event);\n });\n\n // init content before set event\n this.$editable.html(dom.html(this.$note) || dom.emptyPara);\n\n this.$editable.on(env.inputEventName, func.debounce(() => {\n this.context.triggerEvent('change', this.$editable.html());\n }, 100));\n\n this.$editor.on('focusin', (event) => {\n this.context.triggerEvent('focusin', event);\n }).on('focusout', (event) => {\n this.context.triggerEvent('focusout', event);\n });\n\n if (!this.options.airMode) {\n if (this.options.width) {\n this.$editor.outerWidth(this.options.width);\n }\n if (this.options.height) {\n this.$editable.outerHeight(this.options.height);\n }\n if (this.options.maxHeight) {\n this.$editable.css('max-height', this.options.maxHeight);\n }\n if (this.options.minHeight) {\n this.$editable.css('min-height', this.options.minHeight);\n }\n }\n\n this.history.recordUndo();\n }\n\n destroy() {\n this.$editable.off();\n }\n\n handleKeyMap(event) {\n const keyMap = this.options.keyMap[env.isMac ? 'mac' : 'pc'];\n const keys = [];\n\n if (event.metaKey) { keys.push('CMD'); }\n if (event.ctrlKey && !event.altKey) { keys.push('CTRL'); }\n if (event.shiftKey) { keys.push('SHIFT'); }\n\n const keyName = key.nameFromCode[event.keyCode];\n if (keyName) {\n keys.push(keyName);\n }\n\n const eventName = keyMap[keys.join('+')];\n if (eventName) {\n if (this.context.invoke(eventName) !== false) {\n event.preventDefault();\n }\n } else if (key.isEdit(event.keyCode)) {\n this.afterCommand();\n }\n }\n\n preventDefaultEditableShortCuts(event) {\n // B(Bold, 66) / I(Italic, 73) / U(Underline, 85)\n if ((event.ctrlKey || event.metaKey) &&\n lists.contains([66, 73, 85], event.keyCode)) {\n event.preventDefault();\n }\n }\n\n isLimited(pad, event) {\n pad = pad || 0;\n\n if (typeof event !== 'undefined') {\n if (key.isMove(event.keyCode) ||\n (event.ctrlKey || event.metaKey) ||\n lists.contains([key.code.BACKSPACE, key.code.DELETE], event.keyCode)) {\n return false;\n }\n }\n\n if (this.options.maxTextLength > 0) {\n if ((this.$editable.text().length + pad) >= this.options.maxTextLength) {\n return true;\n }\n }\n return false;\n }\n /**\n * create range\n * @return {WrappedRange}\n */\n createRange() {\n this.focus();\n return range.create(this.editable);\n }\n\n /**\n * saveRange\n *\n * save current range\n *\n * @param {Boolean} [thenCollapse=false]\n */\n saveRange(thenCollapse) {\n this.lastRange = this.createRange();\n if (thenCollapse) {\n this.lastRange.collapse().select();\n }\n }\n\n /**\n * restoreRange\n *\n * restore lately range\n */\n restoreRange() {\n if (this.lastRange) {\n this.lastRange.select();\n this.focus();\n }\n }\n\n saveTarget(node) {\n this.$editable.data('target', node);\n }\n\n clearTarget() {\n this.$editable.removeData('target');\n }\n\n restoreTarget() {\n return this.$editable.data('target');\n }\n\n /**\n * currentStyle\n *\n * current style\n * @return {Object|Boolean} unfocus\n */\n currentStyle() {\n let rng = range.create();\n if (rng) {\n rng = rng.normalize();\n }\n return rng ? this.style.current(rng) : this.style.fromNode(this.$editable);\n }\n\n /**\n * style from node\n *\n * @param {jQuery} $node\n * @return {Object}\n */\n styleFromNode($node) {\n return this.style.fromNode($node);\n }\n\n /**\n * undo\n */\n undo() {\n this.context.triggerEvent('before.command', this.$editable.html());\n this.history.undo();\n this.context.triggerEvent('change', this.$editable.html());\n }\n\n /**\n * redo\n */\n redo() {\n this.context.triggerEvent('before.command', this.$editable.html());\n this.history.redo();\n this.context.triggerEvent('change', this.$editable.html());\n }\n\n /**\n * before command\n */\n beforeCommand() {\n this.context.triggerEvent('before.command', this.$editable.html());\n // keep focus on editable before command execution\n this.focus();\n }\n\n /**\n * after command\n * @param {Boolean} isPreventTrigger\n */\n afterCommand(isPreventTrigger) {\n this.normalizeContent();\n this.history.recordUndo();\n if (!isPreventTrigger) {\n this.context.triggerEvent('change', this.$editable.html());\n }\n }\n\n /**\n * handle tab key\n */\n tab() {\n const rng = this.createRange();\n if (rng.isCollapsed() && rng.isOnCell()) {\n this.table.tab(rng);\n } else {\n if (this.options.tabSize === 0) {\n return false;\n }\n\n if (!this.isLimited(this.options.tabSize)) {\n this.beforeCommand();\n this.typing.insertTab(rng, this.options.tabSize);\n this.afterCommand();\n }\n }\n }\n\n /**\n * handle shift+tab key\n */\n untab() {\n const rng = this.createRange();\n if (rng.isCollapsed() && rng.isOnCell()) {\n this.table.tab(rng, true);\n } else {\n if (this.options.tabSize === 0) {\n return false;\n }\n }\n }\n\n /**\n * run given function between beforeCommand and afterCommand\n */\n wrapCommand(fn) {\n return () => {\n this.beforeCommand();\n fn.apply(this, arguments);\n this.afterCommand();\n };\n }\n\n /**\n * insert image\n *\n * @param {String} src\n * @param {String|Function} param\n * @return {Promise}\n */\n insertImage(src, param) {\n return createImage(src, param).then(($image) => {\n this.beforeCommand();\n\n if (typeof param === 'function') {\n param($image);\n } else {\n if (typeof param === 'string') {\n $image.attr('data-filename', param);\n }\n $image.css('width', Math.min(this.$editable.width(), $image.width()));\n }\n\n $image.show();\n range.create(this.editable).insertNode($image[0]);\n range.createFromNodeAfter($image[0]).select();\n this.afterCommand();\n }).fail((e) => {\n this.context.triggerEvent('image.upload.error', e);\n });\n }\n\n /**\n * insertImages\n * @param {File[]} files\n */\n insertImages(files) {\n $.each(files, (idx, file) => {\n const filename = file.name;\n if (this.options.maximumImageFileSize && this.options.maximumImageFileSize < file.size) {\n this.context.triggerEvent('image.upload.error', this.lang.image.maximumFileSizeError);\n } else {\n readFileAsDataURL(file).then((dataURL) => {\n return this.insertImage(dataURL, filename);\n }).fail(() => {\n this.context.triggerEvent('image.upload.error');\n });\n }\n });\n }\n\n /**\n * insertImagesOrCallback\n * @param {File[]} files\n */\n insertImagesOrCallback(files) {\n const callbacks = this.options.callbacks;\n\n // If onImageUpload this.options setted\n if (callbacks.onImageUpload) {\n this.context.triggerEvent('image.upload', files);\n // else insert Image as dataURL\n } else {\n this.insertImages(files);\n }\n }\n\n /**\n * return selected plain text\n * @return {String} text\n */\n getSelectedText() {\n let rng = this.createRange();\n\n // if range on anchor, expand range with anchor\n if (rng.isOnAnchor()) {\n rng = range.createFromNode(dom.ancestor(rng.sc, dom.isAnchor));\n }\n\n return rng.toString();\n }\n\n onFormatBlock(tagName, $target) {\n // [workaround] for MSIE, IE need `<`\n tagName = env.isMSIE ? '<' + tagName + '>' : tagName;\n document.execCommand('FormatBlock', false, tagName);\n\n // support custom class\n if ($target && $target.length) {\n const className = $target[0].className || '';\n if (className) {\n const currentRange = this.createRange();\n\n const $parent = $([currentRange.sc, currentRange.ec]).closest(tagName);\n $parent.addClass(className);\n }\n }\n }\n\n formatPara() {\n this.formatBlock('P');\n }\n\n fontStyling(target, value) {\n const rng = this.createRange();\n\n if (rng) {\n const spans = this.style.styleNodes(rng);\n $(spans).css(target, value);\n\n // [workaround] added styled bogus span for style\n // - also bogus character needed for cursor position\n if (rng.isCollapsed()) {\n const firstSpan = lists.head(spans);\n if (firstSpan && !dom.nodeLength(firstSpan)) {\n firstSpan.innerHTML = dom.ZERO_WIDTH_NBSP_CHAR;\n range.createFromNodeAfter(firstSpan.firstChild).select();\n this.$editable.data(KEY_BOGUS, firstSpan);\n }\n }\n }\n }\n\n /**\n * unlink\n *\n * @type command\n */\n unlink() {\n let rng = this.createRange();\n if (rng.isOnAnchor()) {\n const anchor = dom.ancestor(rng.sc, dom.isAnchor);\n rng = range.createFromNode(anchor);\n rng.select();\n\n this.beforeCommand();\n document.execCommand('unlink');\n this.afterCommand();\n }\n }\n\n /**\n * returns link info\n *\n * @return {Object}\n * @return {WrappedRange} return.range\n * @return {String} return.text\n * @return {Boolean} [return.isNewWindow=true]\n * @return {String} [return.url=\"\"]\n */\n getLinkInfo() {\n const rng = this.createRange().expand(dom.isAnchor);\n\n // Get the first anchor on range(for edit).\n const $anchor = $(lists.head(rng.nodes(dom.isAnchor)));\n const linkInfo = {\n range: rng,\n text: rng.toString(),\n url: $anchor.length ? $anchor.attr('href') : ''\n };\n\n // Define isNewWindow when anchor exists.\n if ($anchor.length) {\n linkInfo.isNewWindow = $anchor.attr('target') === '_blank';\n }\n\n return linkInfo;\n }\n\n addRow(position) {\n const rng = this.createRange(this.$editable);\n if (rng.isCollapsed() && rng.isOnCell()) {\n this.beforeCommand();\n this.table.addRow(rng, position);\n this.afterCommand();\n }\n }\n\n addCol(position) {\n const rng = this.createRange(this.$editable);\n if (rng.isCollapsed() && rng.isOnCell()) {\n this.beforeCommand();\n this.table.addCol(rng, position);\n this.afterCommand();\n }\n }\n\n deleteRow() {\n const rng = this.createRange(this.$editable);\n if (rng.isCollapsed() && rng.isOnCell()) {\n this.beforeCommand();\n this.table.deleteRow(rng);\n this.afterCommand();\n }\n }\n\n deleteCol() {\n const rng = this.createRange(this.$editable);\n if (rng.isCollapsed() && rng.isOnCell()) {\n this.beforeCommand();\n this.table.deleteCol(rng);\n this.afterCommand();\n }\n }\n\n deleteTable() {\n const rng = this.createRange(this.$editable);\n if (rng.isCollapsed() && rng.isOnCell()) {\n this.beforeCommand();\n this.table.deleteTable(rng);\n this.afterCommand();\n }\n }\n\n /**\n * @param {Position} pos\n * @param {jQuery} $target - target element\n * @param {Boolean} [bKeepRatio] - keep ratio\n */\n resizeTo(pos, $target, bKeepRatio) {\n let imageSize;\n if (bKeepRatio) {\n const newRatio = pos.y / pos.x;\n const ratio = $target.data('ratio');\n imageSize = {\n width: ratio > newRatio ? pos.x : pos.y / ratio,\n height: ratio > newRatio ? pos.x * ratio : pos.y\n };\n } else {\n imageSize = {\n width: pos.x,\n height: pos.y\n };\n }\n\n $target.css(imageSize);\n }\n\n /**\n * returns whether editable area has focus or not.\n */\n hasFocus() {\n return this.$editable.is(':focus');\n }\n\n /**\n * set focus\n */\n focus() {\n // [workaround] Screen will move when page is scolled in IE.\n // - do focus when not focused\n if (!this.hasFocus()) {\n this.$editable.focus();\n }\n }\n\n /**\n * returns whether contents is empty or not.\n * @return {Boolean}\n */\n isEmpty() {\n return dom.isEmpty(this.$editable[0]) || dom.emptyPara === this.$editable.html();\n }\n\n /**\n * Removes all contents and restores the editable instance to an _emptyPara_.\n */\n empty() {\n this.context.invoke('code', dom.emptyPara);\n }\n\n /**\n * normalize content\n */\n normalizeContent() {\n this.$editable[0].normalize();\n }\n}\n","import lists from '../core/lists';\n\nexport default class Clipboard {\n constructor(context) {\n this.context = context;\n this.$editable = context.layoutInfo.editable;\n }\n\n initialize() {\n this.$editable.on('paste', this.pasteByEvent.bind(this));\n }\n\n /**\n * paste by clipboard event\n *\n * @param {Event} event\n */\n pasteByEvent(event) {\n const clipboardData = event.originalEvent.clipboardData;\n if (clipboardData && clipboardData.items && clipboardData.items.length) {\n const item = lists.head(clipboardData.items);\n if (item.kind === 'file' && item.type.indexOf('image/') !== -1) {\n this.context.invoke('editor.insertImagesOrCallback', [item.getAsFile()]);\n }\n this.context.invoke('editor.afterCommand');\n }\n }\n}\n","import $ from 'jquery';\n\nexport default class Dropzone {\n constructor(context) {\n this.context = context;\n this.$eventListener = $(document);\n this.$editor = context.layoutInfo.editor;\n this.$editable = context.layoutInfo.editable;\n this.options = context.options;\n this.lang = this.options.langInfo;\n this.documentEventHandlers = {};\n\n this.$dropzone = $([\n '<div class=\"note-dropzone\">',\n ' <div class=\"note-dropzone-message\"/>',\n '</div>'\n ].join('')).prependTo(this.$editor);\n }\n\n /**\n * attach Drag and Drop Events\n */\n initialize() {\n if (this.options.disableDragAndDrop) {\n // prevent default drop event\n this.documentEventHandlers.onDrop = (e) => {\n e.preventDefault();\n };\n // do not consider outside of dropzone\n this.$eventListener = this.$dropzone;\n this.$eventListener.on('drop', this.documentEventHandlers.onDrop);\n } else {\n this.attachDragAndDropEvent();\n }\n }\n\n /**\n * attach Drag and Drop Events\n */\n attachDragAndDropEvent() {\n let collection = $();\n const $dropzoneMessage = this.$dropzone.find('.note-dropzone-message');\n\n this.documentEventHandlers.onDragenter = (e) => {\n const isCodeview = this.context.invoke('codeview.isActivated');\n const hasEditorSize = this.$editor.width() > 0 && this.$editor.height() > 0;\n if (!isCodeview && !collection.length && hasEditorSize) {\n this.$editor.addClass('dragover');\n this.$dropzone.width(this.$editor.width());\n this.$dropzone.height(this.$editor.height());\n $dropzoneMessage.text(this.lang.image.dragImageHere);\n }\n collection = collection.add(e.target);\n };\n\n this.documentEventHandlers.onDragleave = (e) => {\n collection = collection.not(e.target);\n if (!collection.length) {\n this.$editor.removeClass('dragover');\n }\n };\n\n this.documentEventHandlers.onDrop = () => {\n collection = $();\n this.$editor.removeClass('dragover');\n };\n\n // show dropzone on dragenter when dragging a object to document\n // -but only if the editor is visible, i.e. has a positive width and height\n this.$eventListener.on('dragenter', this.documentEventHandlers.onDragenter)\n .on('dragleave', this.documentEventHandlers.onDragleave)\n .on('drop', this.documentEventHandlers.onDrop);\n\n // change dropzone's message on hover.\n this.$dropzone.on('dragenter', () => {\n this.$dropzone.addClass('hover');\n $dropzoneMessage.text(this.lang.image.dropImage);\n }).on('dragleave', () => {\n this.$dropzone.removeClass('hover');\n $dropzoneMessage.text(this.lang.image.dragImageHere);\n });\n\n // attach dropImage\n this.$dropzone.on('drop', (event) => {\n const dataTransfer = event.originalEvent.dataTransfer;\n\n // stop the browser from opening the dropped content\n event.preventDefault();\n\n if (dataTransfer && dataTransfer.files && dataTransfer.files.length) {\n this.$editable.focus();\n this.context.invoke('editor.insertImagesOrCallback', dataTransfer.files);\n } else {\n $.each(dataTransfer.types, (idx, type) => {\n const content = dataTransfer.getData(type);\n\n if (type.toLowerCase().indexOf('text') > -1) {\n this.context.invoke('editor.pasteHTML', content);\n } else {\n $(content).each((idx, item) => {\n this.context.invoke('editor.insertNode', item);\n });\n }\n });\n }\n }).on('dragover', false); // prevent default dragover event\n }\n\n destroy() {\n Object.keys(this.documentEventHandlers).forEach((key) => {\n this.$eventListener.off(key.substr(2).toLowerCase(), this.documentEventHandlers[key]);\n });\n this.documentEventHandlers = {};\n }\n}\n","import env from '../core/env';\nimport dom from '../core/dom';\n\nlet CodeMirror;\nif (env.hasCodeMirror) {\n if (env.isSupportAmd) {\n require(['codemirror'], function(cm) {\n CodeMirror = cm;\n });\n } else {\n CodeMirror = window.CodeMirror;\n }\n}\n\n/**\n * @class Codeview\n */\nexport default class CodeView {\n constructor(context) {\n this.context = context;\n this.$editor = context.layoutInfo.editor;\n this.$editable = context.layoutInfo.editable;\n this.$codable = context.layoutInfo.codable;\n this.options = context.options;\n }\n\n sync() {\n const isCodeview = this.isActivated();\n if (isCodeview && env.hasCodeMirror) {\n this.$codable.data('cmEditor').save();\n }\n }\n\n /**\n * @return {Boolean}\n */\n isActivated() {\n return this.$editor.hasClass('codeview');\n }\n\n /**\n * toggle codeview\n */\n toggle() {\n if (this.isActivated()) {\n this.deactivate();\n } else {\n this.activate();\n }\n this.context.triggerEvent('codeview.toggled');\n }\n\n /**\n * activate code view\n */\n activate() {\n this.$codable.val(dom.html(this.$editable, this.options.prettifyHtml));\n this.$codable.height(this.$editable.height());\n\n this.context.invoke('toolbar.updateCodeview', true);\n this.$editor.addClass('codeview');\n this.$codable.focus();\n\n // activate CodeMirror as codable\n if (env.hasCodeMirror) {\n const cmEditor = CodeMirror.fromTextArea(this.$codable[0], this.options.codemirror);\n\n // CodeMirror TernServer\n if (this.options.codemirror.tern) {\n const server = new CodeMirror.TernServer(this.options.codemirror.tern);\n cmEditor.ternServer = server;\n cmEditor.on('cursorActivity', (cm) => {\n server.updateArgHints(cm);\n });\n }\n\n cmEditor.on('blur', (event) => {\n this.context.triggerEvent('blur.codeview', cmEditor.getValue(), event);\n });\n\n // CodeMirror hasn't Padding.\n cmEditor.setSize(null, this.$editable.outerHeight());\n this.$codable.data('cmEditor', cmEditor);\n } else {\n this.$codable.on('blur', (event) => {\n this.context.triggerEvent('blur.codeview', this.$codable.val(), event);\n });\n }\n }\n\n /**\n * deactivate code view\n */\n deactivate() {\n // deactivate CodeMirror as codable\n if (env.hasCodeMirror) {\n const cmEditor = this.$codable.data('cmEditor');\n this.$codable.val(cmEditor.getValue());\n cmEditor.toTextArea();\n }\n\n const value = dom.value(this.$codable, this.options.prettifyHtml) || dom.emptyPara;\n const isChange = this.$editable.html() !== value;\n\n this.$editable.html(value);\n this.$editable.height(this.options.height ? this.$codable.height() : 'auto');\n this.$editor.removeClass('codeview');\n\n if (isChange) {\n this.context.triggerEvent('change', this.$editable.html(), this.$editable);\n }\n\n this.$editable.focus();\n\n this.context.invoke('toolbar.updateCodeview', false);\n }\n\n destroy() {\n if (this.isActivated()) {\n this.deactivate();\n }\n }\n}\n","import $ from 'jquery';\nconst EDITABLE_PADDING = 24;\n\nexport default class Statusbar {\n constructor(context) {\n this.$document = $(document);\n this.$statusbar = context.layoutInfo.statusbar;\n this.$editable = context.layoutInfo.editable;\n this.options = context.options;\n }\n\n initialize() {\n if (this.options.airMode || this.options.disableResizeEditor) {\n this.destroy();\n return;\n }\n\n this.$statusbar.on('mousedown', (event) => {\n event.preventDefault();\n event.stopPropagation();\n\n const editableTop = this.$editable.offset().top - this.$document.scrollTop();\n const onMouseMove = (event) => {\n let height = event.clientY - (editableTop + EDITABLE_PADDING);\n\n height = (this.options.minheight > 0) ? Math.max(height, this.options.minheight) : height;\n height = (this.options.maxHeight > 0) ? Math.min(height, this.options.maxHeight) : height;\n\n this.$editable.height(height);\n };\n\n this.$document.on('mousemove', onMouseMove).one('mouseup', () => {\n this.$document.off('mousemove', onMouseMove);\n });\n });\n }\n\n destroy() {\n this.$statusbar.off();\n this.$statusbar.addClass('locked');\n }\n}\n","import $ from 'jquery';\n\nexport default class Fullscreen {\n constructor(context) {\n this.context = context;\n\n this.$editor = context.layoutInfo.editor;\n this.$toolbar = context.layoutInfo.toolbar;\n this.$editable = context.layoutInfo.editable;\n this.$codable = context.layoutInfo.codable;\n\n this.$window = $(window);\n this.$scrollbar = $('html, body');\n\n this.onResize = () => {\n this.resizeTo({\n h: this.$window.height() - this.$toolbar.outerHeight()\n });\n };\n }\n\n resizeTo(size) {\n this.$editable.css('height', size.h);\n this.$codable.css('height', size.h);\n if (this.$codable.data('cmeditor')) {\n this.$codable.data('cmeditor').setsize(null, size.h);\n }\n }\n\n /**\n * toggle fullscreen\n */\n toggle() {\n this.$editor.toggleClass('fullscreen');\n if (this.isFullscreen()) {\n this.$editable.data('orgHeight', this.$editable.css('height'));\n this.$window.on('resize', this.onResize).trigger('resize');\n this.$scrollbar.css('overflow', 'hidden');\n } else {\n this.$window.off('resize', this.onResize);\n this.resizeTo({ h: this.$editable.data('orgHeight') });\n this.$scrollbar.css('overflow', 'visible');\n }\n\n this.context.invoke('toolbar.updateFullscreen', this.isFullscreen());\n }\n\n isFullscreen() {\n return this.$editor.hasClass('fullscreen');\n }\n}\n","import $ from 'jquery';\nimport dom from '../core/dom';\n\nexport default class Handle {\n constructor(context) {\n this.context = context;\n this.$document = $(document);\n this.$editingArea = context.layoutInfo.editingArea;\n this.options = context.options;\n this.lang = this.options.langInfo;\n\n this.events = {\n 'summernote.mousedown': (we, e) => {\n if (this.update(e.target)) {\n e.preventDefault();\n }\n },\n 'summernote.keyup summernote.scroll summernote.change summernote.dialog.shown': () => {\n this.update();\n },\n 'summernote.disable': () => {\n this.hide();\n },\n 'summernote.codeview.toggled': () => {\n this.update();\n }\n };\n }\n\n initialize() {\n this.$handle = $([\n '<div class=\"note-handle\">',\n '<div class=\"note-control-selection\">',\n '<div class=\"note-control-selection-bg\"></div>',\n '<div class=\"note-control-holder note-control-nw\"></div>',\n '<div class=\"note-control-holder note-control-ne\"></div>',\n '<div class=\"note-control-holder note-control-sw\"></div>',\n '<div class=\"',\n (this.options.disableResizeImage ? 'note-control-holder' : 'note-control-sizing'),\n ' note-control-se\"></div>',\n (this.options.disableResizeImage ? '' : '<div class=\"note-control-selection-info\"></div>'),\n '</div>',\n '</div>'\n ].join('')).prependTo(this.$editingArea);\n\n this.$handle.on('mousedown', (event) => {\n if (dom.isControlSizing(event.target)) {\n event.preventDefault();\n event.stopPropagation();\n\n const $target = this.$handle.find('.note-control-selection').data('target');\n const posStart = $target.offset();\n const scrollTop = this.$document.scrollTop();\n\n const onMouseMove = (event) => {\n this.context.invoke('editor.resizeTo', {\n x: event.clientX - posStart.left,\n y: event.clientY - (posStart.top - scrollTop)\n }, $target, !event.shiftKey);\n\n this.update($target[0]);\n };\n\n this.$document\n .on('mousemove', onMouseMove)\n .one('mouseup', (e) => {\n e.preventDefault();\n this.$document.off('mousemove', onMouseMove);\n this.context.invoke('editor.afterCommand');\n });\n\n if (!$target.data('ratio')) { // original ratio.\n $target.data('ratio', $target.height() / $target.width());\n }\n }\n });\n\n // Listen for scrolling on the handle overlay.\n this.$handle.on('wheel', (e) => {\n e.preventDefault();\n this.update();\n });\n }\n\n destroy() {\n this.$handle.remove();\n }\n\n update(target) {\n if (this.context.isDisabled()) {\n return false;\n }\n\n const isImage = dom.isImg(target);\n const $selection = this.$handle.find('.note-control-selection');\n\n this.context.invoke('imagePopover.update', target);\n\n if (isImage) {\n const $image = $(target);\n const position = $image.position();\n const pos = {\n left: position.left + parseInt($image.css('marginLeft'), 10),\n top: position.top + parseInt($image.css('marginTop'), 10)\n };\n\n // exclude margin\n const imageSize = {\n w: $image.outerWidth(false),\n h: $image.outerHeight(false)\n };\n\n $selection.css({\n display: 'block',\n left: pos.left,\n top: pos.top,\n width: imageSize.w,\n height: imageSize.h\n }).data('target', $image); // save current image element.\n\n const origImageObj = new Image();\n origImageObj.src = $image.attr('src');\n\n const sizingText = imageSize.w + 'x' + imageSize.h + ' (' + this.lang.image.original + ': ' + origImageObj.width + 'x' + origImageObj.height + ')';\n $selection.find('.note-control-selection-info').text(sizingText);\n this.context.invoke('editor.saveTarget', target);\n } else {\n this.hide();\n }\n\n return isImage;\n }\n\n /**\n * hide\n *\n * @param {jQuery} $handle\n */\n hide() {\n this.context.invoke('editor.clearTarget');\n this.$handle.children().hide();\n }\n}\n","import $ from 'jquery';\nimport lists from '../core/lists';\nimport key from '../core/key';\n\nconst defaultScheme = 'http://';\nconst linkPattern = /^([A-Za-z][A-Za-z0-9+-.]*\\:[\\/\\/]?|mailto:[A-Z0-9._%+-]+@)?(www\\.)?(.+)$/i;\n\nexport default class AutoLink {\n constructor(context) {\n this.context = context;\n this.events = {\n 'summernote.keyup': (we, e) => {\n if (!e.isDefaultPrevented()) {\n this.handleKeyup(e);\n }\n },\n 'summernote.keydown': (we, e) => {\n this.handleKeydown(e);\n }\n };\n }\n\n initialize() {\n this.lastWordRange = null;\n }\n\n destroy() {\n this.lastWordRange = null;\n }\n\n replace() {\n if (!this.lastWordRange) {\n return;\n }\n\n const keyword = this.lastWordRange.toString();\n const match = keyword.match(linkPattern);\n\n if (match && (match[1] || match[2])) {\n const link = match[1] ? keyword : defaultScheme + keyword;\n const node = $('<a />').html(keyword).attr('href', link)[0];\n\n this.lastWordRange.insertNode(node);\n this.lastWordRange = null;\n this.context.invoke('editor.focus');\n }\n }\n\n handleKeydown(e) {\n if (lists.contains([key.code.ENTER, key.code.SPACE], e.keyCode)) {\n const wordRange = this.context.invoke('editor.createRange').getWordRange();\n this.lastWordRange = wordRange;\n }\n }\n\n handleKeyup(e) {\n if (lists.contains([key.code.ENTER, key.code.SPACE], e.keyCode)) {\n this.replace();\n }\n }\n}\n","import dom from '../core/dom';\n\n/**\n * textarea auto sync.\n */\nexport default class AutoSync {\n constructor(context) {\n this.$note = context.layoutInfo.note;\n this.events = {\n 'summernote.change': () => {\n this.$note.val(context.invoke('code'));\n }\n };\n }\n\n shouldInitialize() {\n return dom.isTextarea(this.$note[0]);\n }\n}\n","import $ from 'jquery';\nexport default class Placeholder {\n constructor(context) {\n this.context = context;\n\n this.$editingArea = context.layoutInfo.editingArea;\n this.options = context.options;\n this.events = {\n 'summernote.init summernote.change': () => {\n this.update();\n },\n 'summernote.codeview.toggled': () => {\n this.update();\n }\n };\n }\n\n shouldInitialize() {\n return !!this.options.placeholder;\n }\n\n initialize() {\n this.$placeholder = $('<div class=\"note-placeholder\">');\n this.$placeholder.on('click', () => {\n this.context.invoke('focus');\n }).text(this.options.placeholder).prependTo(this.$editingArea);\n\n this.update();\n }\n\n destroy() {\n this.$placeholder.remove();\n }\n\n update() {\n const isShow = !this.context.invoke('codeview.isActivated') && this.context.invoke('editor.isEmpty');\n this.$placeholder.toggle(isShow);\n }\n}\n","import $ from 'jquery';\nimport func from '../core/func';\nimport lists from '../core/lists';\nimport env from '../core/env';\n\nexport default class Buttons {\n constructor(context) {\n this.ui = $.summernote.ui;\n this.context = context;\n this.$toolbar = context.layoutInfo.toolbar;\n this.options = context.options;\n this.lang = this.options.langInfo;\n this.invertedKeyMap = func.invertObject(\n this.options.keyMap[env.isMac ? 'mac' : 'pc']\n );\n }\n\n representShortcut(editorMethod) {\n let shortcut = this.invertedKeyMap[editorMethod];\n if (!this.options.shortcuts || !shortcut) {\n return '';\n }\n\n if (env.isMac) {\n shortcut = shortcut.replace('CMD', '⌘').replace('SHIFT', '⇧');\n }\n\n shortcut = shortcut.replace('BACKSLASH', '\\\\')\n .replace('SLASH', '/')\n .replace('LEFTBRACKET', '[')\n .replace('RIGHTBRACKET', ']');\n\n return ' (' + shortcut + ')';\n }\n\n button(o) {\n if (!this.options.tooltip && o.tooltip) {\n delete o.tooltip;\n }\n o.container = this.options.container;\n return this.ui.button(o);\n }\n\n initialize() {\n this.addToolbarButtons();\n this.addImagePopoverButtons();\n this.addLinkPopoverButtons();\n this.addTablePopoverButtons();\n this.fontInstalledMap = {};\n }\n\n destroy() {\n delete this.fontInstalledMap;\n }\n\n isFontInstalled(name) {\n if (!this.fontInstalledMap.hasOwnProperty(name)) {\n this.fontInstalledMap[name] = env.isFontInstalled(name) ||\n lists.contains(this.options.fontNamesIgnoreCheck, name);\n }\n\n return this.fontInstalledMap[name];\n }\n\n isFontDeservedToAdd(name) {\n const genericFamilies = ['sans-serif', 'serif', 'monospace', 'cursive', 'fantasy'];\n name = name.toLowerCase();\n\n return ((name !== '') && this.isFontInstalled(name) && ($.inArray(name, genericFamilies) === -1));\n }\n\n addToolbarButtons() {\n this.context.memo('button.style', () => {\n return this.ui.buttonGroup([\n this.button({\n className: 'dropdown-toggle',\n contents: this.ui.dropdownButtonContents(\n this.ui.icon(this.options.icons.magic), this.options\n ),\n tooltip: this.lang.style.style,\n data: {\n toggle: 'dropdown'\n }\n }),\n this.ui.dropdown({\n className: 'dropdown-style',\n items: this.options.styleTags,\n title: this.lang.style.style,\n template: (item) => {\n if (typeof item === 'string') {\n item = { tag: item, title: (this.lang.style.hasOwnProperty(item) ? this.lang.style[item] : item) };\n }\n\n const tag = item.tag;\n const title = item.title;\n const style = item.style ? ' style=\"' + item.style + '\" ' : '';\n const className = item.className ? ' class=\"' + item.className + '\"' : '';\n\n return '<' + tag + style + className + '>' + title + '</' + tag + '>';\n },\n click: this.context.createInvokeHandler('editor.formatBlock')\n })\n ]).render();\n });\n\n for (let styleIdx = 0, styleLen = this.options.styleTags.length; styleIdx < styleLen; styleIdx++) {\n const item = this.options.styleTags[styleIdx];\n\n this.context.memo('button.style.' + item, () => {\n return this.button({\n className: 'note-btn-style-' + item,\n contents: '<div data-value=\"' + item + '\">' + item.toUpperCase() + '</div>',\n tooltip: this.lang.style[item],\n click: this.context.createInvokeHandler('editor.formatBlock')\n }).render();\n });\n }\n\n this.context.memo('button.bold', () => {\n return this.button({\n className: 'note-btn-bold',\n contents: this.ui.icon(this.options.icons.bold),\n tooltip: this.lang.font.bold + this.representShortcut('bold'),\n click: this.context.createInvokeHandlerAndUpdateState('editor.bold')\n }).render();\n });\n\n this.context.memo('button.italic', () => {\n return this.button({\n className: 'note-btn-italic',\n contents: this.ui.icon(this.options.icons.italic),\n tooltip: this.lang.font.italic + this.representShortcut('italic'),\n click: this.context.createInvokeHandlerAndUpdateState('editor.italic')\n }).render();\n });\n\n this.context.memo('button.underline', () => {\n return this.button({\n className: 'note-btn-underline',\n contents: this.ui.icon(this.options.icons.underline),\n tooltip: this.lang.font.underline + this.representShortcut('underline'),\n click: this.context.createInvokeHandlerAndUpdateState('editor.underline')\n }).render();\n });\n\n this.context.memo('button.clear', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.eraser),\n tooltip: this.lang.font.clear + this.representShortcut('removeFormat'),\n click: this.context.createInvokeHandler('editor.removeFormat')\n }).render();\n });\n\n this.context.memo('button.strikethrough', () => {\n return this.button({\n className: 'note-btn-strikethrough',\n contents: this.ui.icon(this.options.icons.strikethrough),\n tooltip: this.lang.font.strikethrough + this.representShortcut('strikethrough'),\n click: this.context.createInvokeHandlerAndUpdateState('editor.strikethrough')\n }).render();\n });\n\n this.context.memo('button.superscript', () => {\n return this.button({\n className: 'note-btn-superscript',\n contents: this.ui.icon(this.options.icons.superscript),\n tooltip: this.lang.font.superscript,\n click: this.context.createInvokeHandlerAndUpdateState('editor.superscript')\n }).render();\n });\n\n this.context.memo('button.subscript', () => {\n return this.button({\n className: 'note-btn-subscript',\n contents: this.ui.icon(this.options.icons.subscript),\n tooltip: this.lang.font.subscript,\n click: this.context.createInvokeHandlerAndUpdateState('editor.subscript')\n }).render();\n });\n\n this.context.memo('button.fontname', () => {\n const styleInfo = this.context.invoke('editor.currentStyle');\n\n // Add 'default' fonts into the fontnames array if not exist\n $.each(styleInfo['font-family'].split(','), (idx, fontname) => {\n fontname = fontname.trim().replace(/['\"]+/g, '');\n if (this.isFontDeservedToAdd(fontname)) {\n if ($.inArray(fontname, this.options.fontNames) === -1) {\n this.options.fontNames.push(fontname);\n }\n }\n });\n\n return this.ui.buttonGroup([\n this.button({\n className: 'dropdown-toggle',\n contents: this.ui.dropdownButtonContents(\n '<span class=\"note-current-fontname\"/>', this.options\n ),\n tooltip: this.lang.font.name,\n data: {\n toggle: 'dropdown'\n }\n }),\n this.ui.dropdownCheck({\n className: 'dropdown-fontname',\n checkClassName: this.options.icons.menuCheck,\n items: this.options.fontNames.filter(this.isFontInstalled.bind(this)),\n title: this.lang.font.name,\n template: (item) => {\n return '<span style=\"font-family: \\'' + item + '\\'\">' + item + '</span>';\n },\n click: this.context.createInvokeHandlerAndUpdateState('editor.fontName')\n })\n ]).render();\n });\n\n this.context.memo('button.fontsize', () => {\n return this.ui.buttonGroup([\n this.button({\n className: 'dropdown-toggle',\n contents: this.ui.dropdownButtonContents('<span class=\"note-current-fontsize\"/>', this.options),\n tooltip: this.lang.font.size,\n data: {\n toggle: 'dropdown'\n }\n }),\n this.ui.dropdownCheck({\n className: 'dropdown-fontsize',\n checkClassName: this.options.icons.menuCheck,\n items: this.options.fontSizes,\n title: this.lang.font.size,\n click: this.context.createInvokeHandlerAndUpdateState('editor.fontSize')\n })\n ]).render();\n });\n\n this.context.memo('button.color', () => {\n return this.ui.buttonGroup({\n className: 'note-color',\n children: [\n this.button({\n className: 'note-current-color-button',\n contents: this.ui.icon(this.options.icons.font + ' note-recent-color'),\n tooltip: this.lang.color.recent,\n click: (e) => {\n const $button = $(e.currentTarget);\n this.context.invoke('editor.color', {\n backColor: $button.attr('data-backColor'),\n foreColor: $button.attr('data-foreColor')\n });\n },\n callback: ($button) => {\n const $recentColor = $button.find('.note-recent-color');\n $recentColor.css('background-color', '#FFFF00');\n $button.attr('data-backColor', '#FFFF00');\n }\n }),\n this.button({\n className: 'dropdown-toggle',\n contents: this.ui.dropdownButtonContents('', this.options),\n tooltip: this.lang.color.more,\n data: {\n toggle: 'dropdown'\n }\n }),\n this.ui.dropdown({\n items: [\n '<div class=\"note-palette\">',\n ' <div class=\"note-palette-title\">' + this.lang.color.background + '</div>',\n ' <div>',\n ' <button type=\"button\" class=\"note-color-reset btn btn-light\" data-event=\"backColor\" data-value=\"inherit\">',\n this.lang.color.transparent,\n ' </button>',\n ' </div>',\n ' <div class=\"note-holder\" data-event=\"backColor\"/>',\n '</div>',\n '<div class=\"note-palette\">',\n ' <div class=\"note-palette-title\">' + this.lang.color.foreground + '</div>',\n ' <div>',\n ' <button type=\"button\" class=\"note-color-reset btn btn-light\" data-event=\"removeFormat\" data-value=\"foreColor\">',\n this.lang.color.resetToDefault,\n ' </button>',\n ' </div>',\n ' <div class=\"note-holder\" data-event=\"foreColor\"/>',\n '</div>'\n ].join(''),\n callback: ($dropdown) => {\n $dropdown.find('.note-holder').each((idx, item) => {\n const $holder = $(item);\n $holder.append(this.ui.palette({\n colors: this.options.colors,\n colorsName: this.options.colorsName,\n eventName: $holder.data('event'),\n container: this.options.container,\n tooltip: this.options.tooltip\n }).render());\n });\n },\n click: (event) => {\n const $button = $(event.target);\n const eventName = $button.data('event');\n const value = $button.data('value');\n\n if (eventName && value) {\n const key = eventName === 'backColor' ? 'background-color' : 'color';\n const $color = $button.closest('.note-color').find('.note-recent-color');\n const $currentButton = $button.closest('.note-color').find('.note-current-color-button');\n\n $color.css(key, value);\n $currentButton.attr('data-' + eventName, value);\n this.context.invoke('editor.' + eventName, value);\n }\n }\n })\n ]\n }).render();\n });\n\n this.context.memo('button.ul', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.unorderedlist),\n tooltip: this.lang.lists.unordered + this.representShortcut('insertUnorderedList'),\n click: this.context.createInvokeHandler('editor.insertUnorderedList')\n }).render();\n });\n\n this.context.memo('button.ol', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.orderedlist),\n tooltip: this.lang.lists.ordered + this.representShortcut('insertOrderedList'),\n click: this.context.createInvokeHandler('editor.insertOrderedList')\n }).render();\n });\n\n const justifyLeft = this.button({\n contents: this.ui.icon(this.options.icons.alignLeft),\n tooltip: this.lang.paragraph.left + this.representShortcut('justifyLeft'),\n click: this.context.createInvokeHandler('editor.justifyLeft')\n });\n\n const justifyCenter = this.button({\n contents: this.ui.icon(this.options.icons.alignCenter),\n tooltip: this.lang.paragraph.center + this.representShortcut('justifyCenter'),\n click: this.context.createInvokeHandler('editor.justifyCenter')\n });\n\n const justifyRight = this.button({\n contents: this.ui.icon(this.options.icons.alignRight),\n tooltip: this.lang.paragraph.right + this.representShortcut('justifyRight'),\n click: this.context.createInvokeHandler('editor.justifyRight')\n });\n\n const justifyFull = this.button({\n contents: this.ui.icon(this.options.icons.alignJustify),\n tooltip: this.lang.paragraph.justify + this.representShortcut('justifyFull'),\n click: this.context.createInvokeHandler('editor.justifyFull')\n });\n\n const outdent = this.button({\n contents: this.ui.icon(this.options.icons.outdent),\n tooltip: this.lang.paragraph.outdent + this.representShortcut('outdent'),\n click: this.context.createInvokeHandler('editor.outdent')\n });\n\n const indent = this.button({\n contents: this.ui.icon(this.options.icons.indent),\n tooltip: this.lang.paragraph.indent + this.representShortcut('indent'),\n click: this.context.createInvokeHandler('editor.indent')\n });\n\n this.context.memo('button.justifyLeft', func.invoke(justifyLeft, 'render'));\n this.context.memo('button.justifyCenter', func.invoke(justifyCenter, 'render'));\n this.context.memo('button.justifyRight', func.invoke(justifyRight, 'render'));\n this.context.memo('button.justifyFull', func.invoke(justifyFull, 'render'));\n this.context.memo('button.outdent', func.invoke(outdent, 'render'));\n this.context.memo('button.indent', func.invoke(indent, 'render'));\n\n this.context.memo('button.paragraph', () => {\n return this.ui.buttonGroup([\n this.button({\n className: 'dropdown-toggle',\n contents: this.ui.dropdownButtonContents(this.ui.icon(this.options.icons.alignLeft), this.options),\n tooltip: this.lang.paragraph.paragraph,\n data: {\n toggle: 'dropdown'\n }\n }),\n this.ui.dropdown([\n this.ui.buttonGroup({\n className: 'note-align',\n children: [justifyLeft, justifyCenter, justifyRight, justifyFull]\n }),\n this.ui.buttonGroup({\n className: 'note-list',\n children: [outdent, indent]\n })\n ])\n ]).render();\n });\n\n this.context.memo('button.height', () => {\n return this.ui.buttonGroup([\n this.button({\n className: 'dropdown-toggle',\n contents: this.ui.dropdownButtonContents(this.ui.icon(this.options.icons.textHeight), this.options),\n tooltip: this.lang.font.height,\n data: {\n toggle: 'dropdown'\n }\n }),\n this.ui.dropdownCheck({\n items: this.options.lineHeights,\n checkClassName: this.options.icons.menuCheck,\n className: 'dropdown-line-height',\n title: this.lang.font.height,\n click: this.context.createInvokeHandler('editor.lineHeight')\n })\n ]).render();\n });\n\n this.context.memo('button.table', () => {\n return this.ui.buttonGroup([\n this.button({\n className: 'dropdown-toggle',\n contents: this.ui.dropdownButtonContents(this.ui.icon(this.options.icons.table), this.options),\n tooltip: this.lang.table.table,\n data: {\n toggle: 'dropdown'\n }\n }),\n this.ui.dropdown({\n title: this.lang.table.table,\n className: 'note-table',\n items: [\n '<div class=\"note-dimension-picker\">',\n ' <div class=\"note-dimension-picker-mousecatcher\" data-event=\"insertTable\" data-value=\"1x1\"/>',\n ' <div class=\"note-dimension-picker-highlighted\"/>',\n ' <div class=\"note-dimension-picker-unhighlighted\"/>',\n '</div>',\n '<div class=\"note-dimension-display\">1 x 1</div>'\n ].join('')\n })\n ], {\n callback: ($node) => {\n const $catcher = $node.find('.note-dimension-picker-mousecatcher');\n $catcher.css({\n width: this.options.insertTableMaxSize.col + 'em',\n height: this.options.insertTableMaxSize.row + 'em'\n }).mousedown(this.context.createInvokeHandler('editor.insertTable'))\n .on('mousemove', this.tableMoveHandler.bind(this));\n }\n }).render();\n });\n\n this.context.memo('button.link', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.link),\n tooltip: this.lang.link.link + this.representShortcut('linkDialog.show'),\n click: this.context.createInvokeHandler('linkDialog.show')\n }).render();\n });\n\n this.context.memo('button.picture', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.picture),\n tooltip: this.lang.image.image,\n click: this.context.createInvokeHandler('imageDialog.show')\n }).render();\n });\n\n this.context.memo('button.video', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.video),\n tooltip: this.lang.video.video,\n click: this.context.createInvokeHandler('videoDialog.show')\n }).render();\n });\n\n this.context.memo('button.hr', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.minus),\n tooltip: this.lang.hr.insert + this.representShortcut('insertHorizontalRule'),\n click: this.context.createInvokeHandler('editor.insertHorizontalRule')\n }).render();\n });\n\n this.context.memo('button.fullscreen', () => {\n return this.button({\n className: 'btn-fullscreen',\n contents: this.ui.icon(this.options.icons.arrowsAlt),\n tooltip: this.lang.options.fullscreen,\n click: this.context.createInvokeHandler('fullscreen.toggle')\n }).render();\n });\n\n this.context.memo('button.codeview', () => {\n return this.button({\n className: 'btn-codeview',\n contents: this.ui.icon(this.options.icons.code),\n tooltip: this.lang.options.codeview,\n click: this.context.createInvokeHandler('codeview.toggle')\n }).render();\n });\n\n this.context.memo('button.redo', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.redo),\n tooltip: this.lang.history.redo + this.representShortcut('redo'),\n click: this.context.createInvokeHandler('editor.redo')\n }).render();\n });\n\n this.context.memo('button.undo', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.undo),\n tooltip: this.lang.history.undo + this.representShortcut('undo'),\n click: this.context.createInvokeHandler('editor.undo')\n }).render();\n });\n\n this.context.memo('button.help', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.question),\n tooltip: this.lang.options.help,\n click: this.context.createInvokeHandler('helpDialog.show')\n }).render();\n });\n }\n\n /**\n * image : [\n * ['imagesize', ['imageSize100', 'imageSize50', 'imageSize25']],\n * ['float', ['floatLeft', 'floatRight', 'floatNone' ]],\n * ['remove', ['removeMedia']]\n * ],\n */\n addImagePopoverButtons() {\n // Image Size Buttons\n this.context.memo('button.imageSize100', () => {\n return this.button({\n contents: '<span class=\"note-fontsize-10\">100%</span>',\n tooltip: this.lang.image.resizeFull,\n click: this.context.createInvokeHandler('editor.resize', '1')\n }).render();\n });\n this.context.memo('button.imageSize50', () => {\n return this.button({\n contents: '<span class=\"note-fontsize-10\">50%</span>',\n tooltip: this.lang.image.resizeHalf,\n click: this.context.createInvokeHandler('editor.resize', '0.5')\n }).render();\n });\n this.context.memo('button.imageSize25', () => {\n return this.button({\n contents: '<span class=\"note-fontsize-10\">25%</span>',\n tooltip: this.lang.image.resizeQuarter,\n click: this.context.createInvokeHandler('editor.resize', '0.25')\n }).render();\n });\n\n // Float Buttons\n this.context.memo('button.floatLeft', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.alignLeft),\n tooltip: this.lang.image.floatLeft,\n click: this.context.createInvokeHandler('editor.floatMe', 'left')\n }).render();\n });\n\n this.context.memo('button.floatRight', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.alignRight),\n tooltip: this.lang.image.floatRight,\n click: this.context.createInvokeHandler('editor.floatMe', 'right')\n }).render();\n });\n\n this.context.memo('button.floatNone', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.alignJustify),\n tooltip: this.lang.image.floatNone,\n click: this.context.createInvokeHandler('editor.floatMe', 'none')\n }).render();\n });\n\n // Remove Buttons\n this.context.memo('button.removeMedia', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.trash),\n tooltip: this.lang.image.remove,\n click: this.context.createInvokeHandler('editor.removeMedia')\n }).render();\n });\n }\n\n addLinkPopoverButtons() {\n this.context.memo('button.linkDialogShow', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.link),\n tooltip: this.lang.link.edit,\n click: this.context.createInvokeHandler('linkDialog.show')\n }).render();\n });\n\n this.context.memo('button.unlink', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.unlink),\n tooltip: this.lang.link.unlink,\n click: this.context.createInvokeHandler('editor.unlink')\n }).render();\n });\n }\n\n /**\n * table : [\n * ['add', ['addRowDown', 'addRowUp', 'addColLeft', 'addColRight']],\n * ['delete', ['deleteRow', 'deleteCol', 'deleteTable']]\n * ],\n */\n addTablePopoverButtons() {\n this.context.memo('button.addRowUp', () => {\n return this.button({\n className: 'btn-md',\n contents: this.ui.icon(this.options.icons.rowAbove),\n tooltip: this.lang.table.addRowAbove,\n click: this.context.createInvokeHandler('editor.addRow', 'top')\n }).render();\n });\n this.context.memo('button.addRowDown', () => {\n return this.button({\n className: 'btn-md',\n contents: this.ui.icon(this.options.icons.rowBelow),\n tooltip: this.lang.table.addRowBelow,\n click: this.context.createInvokeHandler('editor.addRow', 'bottom')\n }).render();\n });\n this.context.memo('button.addColLeft', () => {\n return this.button({\n className: 'btn-md',\n contents: this.ui.icon(this.options.icons.colBefore),\n tooltip: this.lang.table.addColLeft,\n click: this.context.createInvokeHandler('editor.addCol', 'left')\n }).render();\n });\n this.context.memo('button.addColRight', () => {\n return this.button({\n className: 'btn-md',\n contents: this.ui.icon(this.options.icons.colAfter),\n tooltip: this.lang.table.addColRight,\n click: this.context.createInvokeHandler('editor.addCol', 'right')\n }).render();\n });\n this.context.memo('button.deleteRow', () => {\n return this.button({\n className: 'btn-md',\n contents: this.ui.icon(this.options.icons.rowRemove),\n tooltip: this.lang.table.delRow,\n click: this.context.createInvokeHandler('editor.deleteRow')\n }).render();\n });\n this.context.memo('button.deleteCol', () => {\n return this.button({\n className: 'btn-md',\n contents: this.ui.icon(this.options.icons.colRemove),\n tooltip: this.lang.table.delCol,\n click: this.context.createInvokeHandler('editor.deleteCol')\n }).render();\n });\n this.context.memo('button.deleteTable', () => {\n return this.button({\n className: 'btn-md',\n contents: this.ui.icon(this.options.icons.trash),\n tooltip: this.lang.table.delTable,\n click: this.context.createInvokeHandler('editor.deleteTable')\n }).render();\n });\n }\n\n build($container, groups) {\n for (let groupIdx = 0, groupLen = groups.length; groupIdx < groupLen; groupIdx++) {\n const group = groups[groupIdx];\n const groupName = $.isArray(group) ? group[0] : group;\n const buttons = $.isArray(group) ? ((group.length === 1) ? [group[0]] : group[1]) : [group];\n\n const $group = this.ui.buttonGroup({\n className: 'note-' + groupName\n }).render();\n\n for (let idx = 0, len = buttons.length; idx < len; idx++) {\n const btn = this.context.memo('button.' + buttons[idx]);\n if (btn) {\n $group.append(typeof btn === 'function' ? btn(this.context) : btn);\n }\n }\n $group.appendTo($container);\n }\n }\n\n /**\n * @param {jQuery} [$container]\n */\n updateCurrentStyle($container) {\n const $cont = $container || this.$toolbar;\n\n const styleInfo = this.context.invoke('editor.currentStyle');\n this.updateBtnStates($cont, {\n '.note-btn-bold': () => {\n return styleInfo['font-bold'] === 'bold';\n },\n '.note-btn-italic': () => {\n return styleInfo['font-italic'] === 'italic';\n },\n '.note-btn-underline': () => {\n return styleInfo['font-underline'] === 'underline';\n },\n '.note-btn-subscript': () => {\n return styleInfo['font-subscript'] === 'subscript';\n },\n '.note-btn-superscript': () => {\n return styleInfo['font-superscript'] === 'superscript';\n },\n '.note-btn-strikethrough': () => {\n return styleInfo['font-strikethrough'] === 'strikethrough';\n }\n });\n\n if (styleInfo['font-family']) {\n const fontNames = styleInfo['font-family'].split(',').map((name) => {\n return name.replace(/[\\'\\\"]/g, '')\n .replace(/\\s+$/, '')\n .replace(/^\\s+/, '');\n });\n const fontName = lists.find(fontNames, this.isFontInstalled.bind(this));\n\n $cont.find('.dropdown-fontname a').each((idx, item) => {\n const $item = $(item);\n // always compare string to avoid creating another func.\n const isChecked = ($item.data('value') + '') === (fontName + '');\n $item.toggleClass('checked', isChecked);\n });\n $cont.find('.note-current-fontname').text(fontName).css('font-family', fontName);\n }\n\n if (styleInfo['font-size']) {\n const fontSize = styleInfo['font-size'];\n $cont.find('.dropdown-fontsize a').each((idx, item) => {\n const $item = $(item);\n // always compare with string to avoid creating another func.\n const isChecked = ($item.data('value') + '') === (fontSize + '');\n $item.toggleClass('checked', isChecked);\n });\n $cont.find('.note-current-fontsize').text(fontSize);\n }\n\n if (styleInfo['line-height']) {\n const lineHeight = styleInfo['line-height'];\n $cont.find('.dropdown-line-height li a').each((idx, item) => {\n // always compare with string to avoid creating another func.\n const isChecked = ($(item).data('value') + '') === (lineHeight + '');\n this.className = isChecked ? 'checked' : '';\n });\n }\n }\n\n updateBtnStates($container, infos) {\n $.each(infos, (selector, pred) => {\n this.ui.toggleBtnActive($container.find(selector), pred());\n });\n }\n\n tableMoveHandler(event) {\n const PX_PER_EM = 18;\n const $picker = $(event.target.parentNode); // target is mousecatcher\n const $dimensionDisplay = $picker.next();\n const $catcher = $picker.find('.note-dimension-picker-mousecatcher');\n const $highlighted = $picker.find('.note-dimension-picker-highlighted');\n const $unhighlighted = $picker.find('.note-dimension-picker-unhighlighted');\n\n let posOffset;\n // HTML5 with jQuery - e.offsetX is undefined in Firefox\n if (event.offsetX === undefined) {\n const posCatcher = $(event.target).offset();\n posOffset = {\n x: event.pageX - posCatcher.left,\n y: event.pageY - posCatcher.top\n };\n } else {\n posOffset = {\n x: event.offsetX,\n y: event.offsetY\n };\n }\n\n const dim = {\n c: Math.ceil(posOffset.x / PX_PER_EM) || 1,\n r: Math.ceil(posOffset.y / PX_PER_EM) || 1\n };\n\n $highlighted.css({ width: dim.c + 'em', height: dim.r + 'em' });\n $catcher.data('value', dim.c + 'x' + dim.r);\n\n if (dim.c > 3 && dim.c < this.options.insertTableMaxSize.col) {\n $unhighlighted.css({ width: dim.c + 1 + 'em' });\n }\n\n if (dim.r > 3 && dim.r < this.options.insertTableMaxSize.row) {\n $unhighlighted.css({ height: dim.r + 1 + 'em' });\n }\n\n $dimensionDisplay.html(dim.c + ' x ' + dim.r);\n }\n}\n","import $ from 'jquery';\nexport default class Toolbar {\n constructor(context) {\n this.context = context;\n\n this.$window = $(window);\n this.$document = $(document);\n\n this.ui = $.summernote.ui;\n this.$note = context.layoutInfo.note;\n this.$editor = context.layoutInfo.editor;\n this.$toolbar = context.layoutInfo.toolbar;\n this.options = context.options;\n\n this.followScroll = this.followScroll.bind(this);\n }\n\n shouldInitialize() {\n return !this.options.airMode;\n }\n\n initialize() {\n this.options.toolbar = this.options.toolbar || [];\n\n if (!this.options.toolbar.length) {\n this.$toolbar.hide();\n } else {\n this.context.invoke('buttons.build', this.$toolbar, this.options.toolbar);\n }\n\n if (this.options.toolbarContainer) {\n this.$toolbar.appendTo(this.options.toolbarContainer);\n }\n\n this.changeContainer(false);\n\n this.$note.on('summernote.keyup summernote.mouseup summernote.change', () => {\n this.context.invoke('buttons.updateCurrentStyle');\n });\n\n this.context.invoke('buttons.updateCurrentStyle');\n if (this.options.followingToolbar) {\n this.$window.on('scroll resize', this.followScroll);\n }\n }\n\n destroy() {\n this.$toolbar.children().remove();\n\n if (this.options.followingToolbar) {\n this.$window.off('scroll resize', this.followScroll);\n }\n }\n\n followScroll() {\n if (this.$editor.hasClass('fullscreen')) {\n return false;\n }\n\n const $toolbarWrapper = this.$toolbar.parent('.note-toolbar-wrapper');\n const editorHeight = this.$editor.outerHeight();\n const editorWidth = this.$editor.width();\n\n const toolbarHeight = this.$toolbar.height();\n $toolbarWrapper.css({\n height: toolbarHeight\n });\n\n // check if the web app is currently using another static bar\n let otherBarHeight = 0;\n if (this.options.otherStaticBar) {\n otherBarHeight = $(this.options.otherStaticBar).outerHeight();\n }\n\n const currentOffset = this.$document.scrollTop();\n const editorOffsetTop = this.$editor.offset().top;\n const editorOffsetBottom = editorOffsetTop + editorHeight;\n const activateOffset = editorOffsetTop - otherBarHeight;\n const deactivateOffsetBottom = editorOffsetBottom - otherBarHeight - toolbarHeight;\n\n if ((currentOffset > activateOffset) && (currentOffset < deactivateOffsetBottom)) {\n this.$toolbar.css({\n position: 'fixed',\n top: otherBarHeight,\n width: editorWidth\n });\n } else {\n this.$toolbar.css({\n position: 'relative',\n top: 0,\n width: '100%'\n });\n }\n }\n\n changeContainer(isFullscreen) {\n if (isFullscreen) {\n this.$toolbar.prependTo(this.$editor);\n } else {\n if (this.options.toolbarContainer) {\n this.$toolbar.appendTo(this.options.toolbarContainer);\n }\n }\n }\n\n updateFullscreen(isFullscreen) {\n this.ui.toggleBtnActive(this.$toolbar.find('.btn-fullscreen'), isFullscreen);\n\n this.changeContainer(isFullscreen);\n }\n\n updateCodeview(isCodeview) {\n this.ui.toggleBtnActive(this.$toolbar.find('.btn-codeview'), isCodeview);\n if (isCodeview) {\n this.deactivate();\n } else {\n this.activate();\n }\n }\n\n activate(isIncludeCodeview) {\n let $btn = this.$toolbar.find('button');\n if (!isIncludeCodeview) {\n $btn = $btn.not('.btn-codeview');\n }\n this.ui.toggleBtn($btn, true);\n }\n\n deactivate(isIncludeCodeview) {\n let $btn = this.$toolbar.find('button');\n if (!isIncludeCodeview) {\n $btn = $btn.not('.btn-codeview');\n }\n this.ui.toggleBtn($btn, false);\n }\n}\n","import $ from 'jquery';\nimport env from '../core/env';\nimport key from '../core/key';\n\nexport default class LinkDialog {\n constructor(context) {\n this.context = context;\n\n this.ui = $.summernote.ui;\n this.$body = $(document.body);\n this.$editor = context.layoutInfo.editor;\n this.options = context.options;\n this.lang = this.options.langInfo;\n\n context.memo('help.linkDialog.show', this.options.langInfo.help['linkDialog.show']);\n }\n\n initialize() {\n const $container = this.options.dialogsInBody ? this.$body : this.$editor;\n\n const body = [\n '<div class=\"form-group note-form-group\">',\n `<label class=\"note-form-label\">${this.lang.link.textToDisplay}</label>`,\n '<input class=\"note-link-text form-control note-form-control note-input\" type=\"text\" />',\n '</div>',\n '<div class=\"form-group note-form-group\">',\n `<label class=\"note-form-label\">${this.lang.link.url}</label>`,\n '<input class=\"note-link-url form-control note-form-control note-input\" type=\"text\" value=\"http://\" />',\n '</div>',\n !this.options.disableLinkTarget\n ? $('<div/>').append(this.ui.checkbox({\n id: 'sn-checkbox-open-in-new-window',\n text: this.lang.link.openInNewWindow,\n checked: true\n }).render()).html()\n : ''\n ].join('');\n\n const buttonClass = 'btn btn-primary note-btn note-btn-primary note-link-btn';\n const footer = `<button type=\"submit\" href=\"#\" class=\"${buttonClass}\" disabled>${this.lang.link.insert}</button>`;\n\n this.$dialog = this.ui.dialog({\n className: 'link-dialog',\n title: this.lang.link.insert,\n fade: this.options.dialogsFade,\n body: body,\n footer: footer\n }).render().appendTo($container);\n }\n\n destroy() {\n this.ui.hideDialog(this.$dialog);\n this.$dialog.remove();\n }\n\n bindEnterKey($input, $btn) {\n $input.on('keypress', (event) => {\n if (event.keyCode === key.code.ENTER) {\n event.preventDefault();\n $btn.trigger('click');\n }\n });\n }\n\n /**\n * toggle update button\n */\n toggleLinkBtn($linkBtn, $linkText, $linkUrl) {\n this.ui.toggleBtn($linkBtn, $linkText.val() && $linkUrl.val());\n }\n\n /**\n * Show link dialog and set event handlers on dialog controls.\n *\n * @param {Object} linkInfo\n * @return {Promise}\n */\n showLinkDialog(linkInfo) {\n return $.Deferred((deferred) => {\n const $linkText = this.$dialog.find('.note-link-text');\n const $linkUrl = this.$dialog.find('.note-link-url');\n const $linkBtn = this.$dialog.find('.note-link-btn');\n const $openInNewWindow = this.$dialog.find('input[type=checkbox]');\n\n this.ui.onDialogShown(this.$dialog, () => {\n this.context.triggerEvent('dialog.shown');\n\n // if no url was given, copy text to url\n if (!linkInfo.url) {\n linkInfo.url = linkInfo.text;\n }\n\n $linkText.val(linkInfo.text);\n\n const handleLinkTextUpdate = () => {\n this.toggleLinkBtn($linkBtn, $linkText, $linkUrl);\n // if linktext was modified by keyup,\n // stop cloning text from linkUrl\n linkInfo.text = $linkText.val();\n };\n\n $linkText.on('input', handleLinkTextUpdate).on('paste', () => {\n setTimeout(handleLinkTextUpdate, 0);\n });\n\n const handleLinkUrlUpdate = () => {\n this.toggleLinkBtn($linkBtn, $linkText, $linkUrl);\n // display same link on `Text to display` input\n // when create a new link\n if (!linkInfo.text) {\n $linkText.val($linkUrl.val());\n }\n };\n\n $linkUrl.on('input', handleLinkUrlUpdate).on('paste', () => {\n setTimeout(handleLinkUrlUpdate, 0);\n }).val(linkInfo.url);\n\n if (!env.isSupportTouch) {\n $linkUrl.trigger('focus');\n }\n\n this.toggleLinkBtn($linkBtn, $linkText, $linkUrl);\n this.bindEnterKey($linkUrl, $linkBtn);\n this.bindEnterKey($linkText, $linkBtn);\n\n const isChecked = linkInfo.isNewWindow !== undefined\n ? linkInfo.isNewWindow : this.context.options.linkTargetBlank;\n\n $openInNewWindow.prop('checked', isChecked);\n\n $linkBtn.one('click', (event) => {\n event.preventDefault();\n\n deferred.resolve({\n range: linkInfo.range,\n url: $linkUrl.val(),\n text: $linkText.val(),\n isNewWindow: $openInNewWindow.is(':checked')\n });\n this.ui.hideDialog(this.$dialog);\n });\n });\n\n this.ui.onDialogHidden(this.$dialog, () => {\n // detach events\n $linkText.off('input paste keypress');\n $linkUrl.off('input paste keypress');\n $linkBtn.off('click');\n\n if (deferred.state() === 'pending') {\n deferred.reject();\n }\n });\n\n this.ui.showDialog(this.$dialog);\n }).promise();\n }\n\n /**\n * @param {Object} layoutInfo\n */\n show() {\n const linkInfo = this.context.invoke('editor.getLinkInfo');\n\n this.context.invoke('editor.saveRange');\n this.showLinkDialog(linkInfo).then((linkInfo) => {\n this.context.invoke('editor.restoreRange');\n this.context.invoke('editor.createLink', linkInfo);\n }).fail(() => {\n this.context.invoke('editor.restoreRange');\n });\n }\n}\n","import $ from 'jquery';\nimport lists from '../core/lists';\nimport dom from '../core/dom';\n\nexport default class LinkPopover {\n constructor(context) {\n this.context = context;\n\n this.ui = $.summernote.ui;\n this.options = context.options;\n this.events = {\n 'summernote.keyup summernote.mouseup summernote.change summernote.scroll': () => {\n this.update();\n },\n 'summernote.disable summernote.dialog.shown': () => {\n this.hide();\n }\n };\n }\n\n shouldInitialize() {\n return !lists.isEmpty(this.options.popover.link);\n }\n\n initialize() {\n this.$popover = this.ui.popover({\n className: 'note-link-popover',\n callback: ($node) => {\n const $content = $node.find('.popover-content,.note-popover-content');\n $content.prepend('<span><a target=\"_blank\"></a> </span>');\n }\n }).render().appendTo(this.options.container);\n const $content = this.$popover.find('.popover-content,.note-popover-content');\n\n this.context.invoke('buttons.build', $content, this.options.popover.link);\n }\n\n destroy() {\n this.$popover.remove();\n }\n\n update() {\n // Prevent focusing on editable when invoke('code') is executed\n if (!this.context.invoke('editor.hasFocus')) {\n this.hide();\n return;\n }\n\n const rng = this.context.invoke('editor.createRange');\n if (rng.isCollapsed() && rng.isOnAnchor()) {\n const anchor = dom.ancestor(rng.sc, dom.isAnchor);\n const href = $(anchor).attr('href');\n this.$popover.find('a').attr('href', href).html(href);\n\n const pos = dom.posFromPlaceholder(anchor);\n this.$popover.css({\n display: 'block',\n left: pos.left,\n top: pos.top\n });\n } else {\n this.hide();\n }\n }\n\n hide() {\n this.$popover.hide();\n }\n}\n","import $ from 'jquery';\nimport env from '../core/env';\nimport key from '../core/key';\n\nexport default class ImageDialog {\n constructor(context) {\n this.context = context;\n this.ui = $.summernote.ui;\n this.$body = $(document.body);\n this.$editor = context.layoutInfo.editor;\n this.options = context.options;\n this.lang = this.options.langInfo;\n }\n\n initialize() {\n const $container = this.options.dialogsInBody ? this.$body : this.$editor;\n\n let imageLimitation = '';\n if (this.options.maximumImageFileSize) {\n const unit = Math.floor(Math.log(this.options.maximumImageFileSize) / Math.log(1024));\n const readableSize = (this.options.maximumImageFileSize / Math.pow(1024, unit)).toFixed(2) * 1 +\n ' ' + ' KMGTP'[unit] + 'B';\n imageLimitation = `<small>${this.lang.image.maximumFileSize + ' : ' + readableSize}</small>`;\n }\n\n const body = [\n '<div class=\"form-group note-form-group note-group-select-from-files\">',\n '<label class=\"note-form-label\">' + this.lang.image.selectFromFiles + '</label>',\n '<input class=\"note-image-input note-form-control note-input\" ',\n ' type=\"file\" name=\"files\" accept=\"image/*\" multiple=\"multiple\" />',\n imageLimitation,\n '</div>',\n '<div class=\"form-group note-group-image-url\" style=\"overflow:auto;\">',\n '<label class=\"note-form-label\">' + this.lang.image.url + '</label>',\n '<input class=\"note-image-url form-control note-form-control note-input ',\n ' col-md-12\" type=\"text\" />',\n '</div>'\n ].join('');\n const buttonClass = 'btn btn-primary note-btn note-btn-primary note-image-btn';\n const footer = `<button type=\"submit\" href=\"#\" class=\"${buttonClass}\" disabled>${this.lang.image.insert}</button>`;\n\n this.$dialog = this.ui.dialog({\n title: this.lang.image.insert,\n fade: this.options.dialogsFade,\n body: body,\n footer: footer\n }).render().appendTo($container);\n }\n\n destroy() {\n this.ui.hideDialog(this.$dialog);\n this.$dialog.remove();\n }\n\n bindEnterKey($input, $btn) {\n $input.on('keypress', (event) => {\n if (event.keyCode === key.code.ENTER) {\n event.preventDefault();\n $btn.trigger('click');\n }\n });\n }\n\n show() {\n this.context.invoke('editor.saveRange');\n this.showImageDialog().then((data) => {\n // [workaround] hide dialog before restore range for IE range focus\n this.ui.hideDialog(this.$dialog);\n this.context.invoke('editor.restoreRange');\n\n if (typeof data === 'string') { // image url\n this.context.invoke('editor.insertImage', data);\n } else { // array of files\n this.context.invoke('editor.insertImagesOrCallback', data);\n }\n }).fail(() => {\n this.context.invoke('editor.restoreRange');\n });\n }\n\n /**\n * show image dialog\n *\n * @param {jQuery} $dialog\n * @return {Promise}\n */\n showImageDialog() {\n return $.Deferred((deferred) => {\n const $imageInput = this.$dialog.find('.note-image-input');\n const $imageUrl = this.$dialog.find('.note-image-url');\n const $imageBtn = this.$dialog.find('.note-image-btn');\n\n this.ui.onDialogShown(this.$dialog, () => {\n this.context.triggerEvent('dialog.shown');\n\n // Cloning imageInput to clear element.\n $imageInput.replaceWith($imageInput.clone().on('change', (event) => {\n deferred.resolve(event.target.files || event.target.value);\n }).val(''));\n\n $imageBtn.click((event) => {\n event.preventDefault();\n\n deferred.resolve($imageUrl.val());\n });\n\n $imageUrl.on('keyup paste', () => {\n const url = $imageUrl.val();\n this.ui.toggleBtn($imageBtn, url);\n }).val('');\n\n if (!env.isSupportTouch) {\n $imageUrl.trigger('focus');\n }\n this.bindEnterKey($imageUrl, $imageBtn);\n });\n\n this.ui.onDialogHidden(this.$dialog, () => {\n $imageInput.off('change');\n $imageUrl.off('keyup paste keypress');\n $imageBtn.off('click');\n\n if (deferred.state() === 'pending') {\n deferred.reject();\n }\n });\n\n this.ui.showDialog(this.$dialog);\n });\n }\n}\n","import $ from 'jquery';\nimport lists from '../core/lists';\nimport dom from '../core/dom';\n\n/**\n * Image popover module\n * mouse events that show/hide popover will be handled by Handle.js.\n * Handle.js will receive the events and invoke 'imagePopover.update'.\n */\nexport default class ImagePopover {\n constructor(context) {\n this.context = context;\n this.ui = $.summernote.ui;\n\n this.editable = context.layoutInfo.editable[0];\n this.options = context.options;\n\n this.events = {\n 'summernote.disable': () => {\n this.hide();\n }\n };\n }\n\n shouldInitialize() {\n return !lists.isEmpty(this.options.popover.image);\n }\n\n initialize() {\n this.$popover = this.ui.popover({\n className: 'note-image-popover'\n }).render().appendTo(this.options.container);\n const $content = this.$popover.find('.popover-content,.note-popover-content');\n this.context.invoke('buttons.build', $content, this.options.popover.image);\n }\n\n destroy() {\n this.$popover.remove();\n }\n\n update(target) {\n if (dom.isImg(target)) {\n const pos = dom.posFromPlaceholder(target);\n const posEditor = dom.posFromPlaceholder(this.editable);\n this.$popover.css({\n display: 'block',\n left: this.options.popatmouse ? event.pageX - 20 : pos.left,\n top: this.options.popatmouse ? event.pageY : Math.min(pos.top, posEditor.top)\n });\n } else {\n this.hide();\n }\n }\n\n hide() {\n this.$popover.hide();\n }\n}\n","import $ from 'jquery';\nimport env from '../core/env';\nimport lists from '../core/lists';\nimport dom from '../core/dom';\n\nexport default class TablePopover {\n constructor(context) {\n this.context = context;\n\n this.ui = $.summernote.ui;\n this.options = context.options;\n this.events = {\n 'summernote.mousedown': (we, e) => {\n this.update(e.target);\n },\n 'summernote.keyup summernote.scroll summernote.change': () => {\n this.update();\n },\n 'summernote.disable': () => {\n this.hide();\n }\n };\n }\n\n shouldInitialize() {\n return !lists.isEmpty(this.options.popover.table);\n }\n\n initialize() {\n this.$popover = this.ui.popover({\n className: 'note-table-popover'\n }).render().appendTo(this.options.container);\n const $content = this.$popover.find('.popover-content,.note-popover-content');\n\n this.context.invoke('buttons.build', $content, this.options.popover.table);\n\n // [workaround] Disable Firefox's default table editor\n if (env.isFF) {\n document.execCommand('enableInlineTableEditing', false, false);\n }\n }\n\n destroy() {\n this.$popover.remove();\n }\n\n update(target) {\n if (this.context.isDisabled()) {\n return false;\n }\n\n const isCell = dom.isCell(target);\n\n if (isCell) {\n const pos = dom.posFromPlaceholder(target);\n this.$popover.css({\n display: 'block',\n left: pos.left,\n top: pos.top\n });\n } else {\n this.hide();\n }\n\n return isCell;\n }\n\n hide() {\n this.$popover.hide();\n }\n}\n","import $ from 'jquery';\nimport env from '../core/env';\nimport key from '../core/key';\n\nexport default class VideoDialog {\n constructor(context) {\n this.context = context;\n\n this.ui = $.summernote.ui;\n this.$body = $(document.body);\n this.$editor = context.layoutInfo.editor;\n this.options = context.options;\n this.lang = this.options.langInfo;\n }\n\n initialize() {\n const $container = this.options.dialogsInBody ? this.$body : this.$editor;\n\n const body = [\n '<div class=\"form-group note-form-group row-fluid\">',\n `<label class=\"note-form-label\">${this.lang.video.url} <small class=\"text-muted\">${this.lang.video.providers}</small></label>`,\n '<input class=\"note-video-url form-control note-form-control note-input\" type=\"text\" />',\n '</div>'\n ].join('');\n const buttonClass = 'btn btn-primary note-btn note-btn-primary note-video-btn';\n const footer = `<button type=\"submit\" href=\"#\" class=\"${buttonClass}\" disabled>${this.lang.video.insert}</button>`;\n\n this.$dialog = this.ui.dialog({\n title: this.lang.video.insert,\n fade: this.options.dialogsFade,\n body: body,\n footer: footer\n }).render().appendTo($container);\n }\n\n destroy() {\n this.ui.hideDialog(this.$dialog);\n this.$dialog.remove();\n }\n\n bindEnterKey($input, $btn) {\n $input.on('keypress', (event) => {\n if (event.keyCode === key.code.ENTER) {\n event.preventDefault();\n $btn.trigger('click');\n }\n });\n }\n\n createVideoNode(url) {\n // video url patterns(youtube, instagram, vimeo, dailymotion, youku, mp4, ogg, webm)\n const ytRegExp = /^(?:https?:\\/\\/)?(?:www\\.)?(?:youtu\\.be\\/|youtube\\.com\\/(?:embed\\/|v\\/|watch\\?v=|watch\\?.+&v=))((\\w|-){11})(?:\\S+)?$/;\n const ytMatch = url.match(ytRegExp);\n\n const igRegExp = /(?:www\\.|\\/\\/)instagram\\.com\\/p\\/(.[a-zA-Z0-9_-]*)/;\n const igMatch = url.match(igRegExp);\n\n const vRegExp = /\\/\\/vine\\.co\\/v\\/([a-zA-Z0-9]+)/;\n const vMatch = url.match(vRegExp);\n\n const vimRegExp = /\\/\\/(player\\.)?vimeo\\.com\\/([a-z]*\\/)*(\\d+)[?]?.*/;\n const vimMatch = url.match(vimRegExp);\n\n const dmRegExp = /.+dailymotion.com\\/(video|hub)\\/([^_]+)[^#]*(#video=([^_&]+))?/;\n const dmMatch = url.match(dmRegExp);\n\n const youkuRegExp = /\\/\\/v\\.youku\\.com\\/v_show\\/id_(\\w+)=*\\.html/;\n const youkuMatch = url.match(youkuRegExp);\n\n const qqRegExp = /\\/\\/v\\.qq\\.com.*?vid=(.+)/;\n const qqMatch = url.match(qqRegExp);\n\n const qqRegExp2 = /\\/\\/v\\.qq\\.com\\/x?\\/?(page|cover).*?\\/([^\\/]+)\\.html\\??.*/;\n const qqMatch2 = url.match(qqRegExp2);\n\n const mp4RegExp = /^.+.(mp4|m4v)$/;\n const mp4Match = url.match(mp4RegExp);\n\n const oggRegExp = /^.+.(ogg|ogv)$/;\n const oggMatch = url.match(oggRegExp);\n\n const webmRegExp = /^.+.(webm)$/;\n const webmMatch = url.match(webmRegExp);\n\n let $video;\n if (ytMatch && ytMatch[1].length === 11) {\n const youtubeId = ytMatch[1];\n $video = $('<iframe>')\n .attr('frameborder', 0)\n .attr('src', '//www.youtube.com/embed/' + youtubeId)\n .attr('width', '640').attr('height', '360');\n } else if (igMatch && igMatch[0].length) {\n $video = $('<iframe>')\n .attr('frameborder', 0)\n .attr('src', 'https://instagram.com/p/' + igMatch[1] + '/embed/')\n .attr('width', '612').attr('height', '710')\n .attr('scrolling', 'no')\n .attr('allowtransparency', 'true');\n } else if (vMatch && vMatch[0].length) {\n $video = $('<iframe>')\n .attr('frameborder', 0)\n .attr('src', vMatch[0] + '/embed/simple')\n .attr('width', '600').attr('height', '600')\n .attr('class', 'vine-embed');\n } else if (vimMatch && vimMatch[3].length) {\n $video = $('<iframe webkitallowfullscreen mozallowfullscreen allowfullscreen>')\n .attr('frameborder', 0)\n .attr('src', '//player.vimeo.com/video/' + vimMatch[3])\n .attr('width', '640').attr('height', '360');\n } else if (dmMatch && dmMatch[2].length) {\n $video = $('<iframe>')\n .attr('frameborder', 0)\n .attr('src', '//www.dailymotion.com/embed/video/' + dmMatch[2])\n .attr('width', '640').attr('height', '360');\n } else if (youkuMatch && youkuMatch[1].length) {\n $video = $('<iframe webkitallowfullscreen mozallowfullscreen allowfullscreen>')\n .attr('frameborder', 0)\n .attr('height', '498')\n .attr('width', '510')\n .attr('src', '//player.youku.com/embed/' + youkuMatch[1]);\n } else if ((qqMatch && qqMatch[1].length) || (qqMatch2 && qqMatch2[2].length)) {\n const vid = ((qqMatch && qqMatch[1].length) ? qqMatch[1] : qqMatch2[2]);\n $video = $('<iframe webkitallowfullscreen mozallowfullscreen allowfullscreen>')\n .attr('frameborder', 0)\n .attr('height', '310')\n .attr('width', '500')\n .attr('src', 'http://v.qq.com/iframe/player.html?vid=' + vid + '&auto=0');\n } else if (mp4Match || oggMatch || webmMatch) {\n $video = $('<video controls>')\n .attr('src', url)\n .attr('width', '640').attr('height', '360');\n } else {\n // this is not a known video link. Now what, Cat? Now what?\n return false;\n }\n\n $video.addClass('note-video-clip');\n\n return $video[0];\n }\n\n show() {\n const text = this.context.invoke('editor.getSelectedText');\n this.context.invoke('editor.saveRange');\n this.showVideoDialog(text).then((url) => {\n // [workaround] hide dialog before restore range for IE range focus\n this.ui.hideDialog(this.$dialog);\n this.context.invoke('editor.restoreRange');\n\n // build node\n const $node = this.createVideoNode(url);\n\n if ($node) {\n // insert video node\n this.context.invoke('editor.insertNode', $node);\n }\n }).fail(() => {\n this.context.invoke('editor.restoreRange');\n });\n }\n\n /**\n * show image dialog\n *\n * @param {jQuery} $dialog\n * @return {Promise}\n */\n showVideoDialog(text) {\n return $.Deferred((deferred) => {\n const $videoUrl = this.$dialog.find('.note-video-url');\n const $videoBtn = this.$dialog.find('.note-video-btn');\n\n this.ui.onDialogShown(this.$dialog, () => {\n this.context.triggerEvent('dialog.shown');\n\n $videoUrl.val(text).on('input', () => {\n this.ui.toggleBtn($videoBtn, $videoUrl.val());\n });\n\n if (!env.isSupportTouch) {\n $videoUrl.trigger('focus');\n }\n\n $videoBtn.click((event) => {\n event.preventDefault();\n\n deferred.resolve($videoUrl.val());\n });\n\n this.bindEnterKey($videoUrl, $videoBtn);\n });\n\n this.ui.onDialogHidden(this.$dialog, () => {\n $videoUrl.off('input');\n $videoBtn.off('click');\n\n if (deferred.state() === 'pending') {\n deferred.reject();\n }\n });\n\n this.ui.showDialog(this.$dialog);\n });\n }\n}\n","import $ from 'jquery';\nimport env from '../core/env';\n\nexport default class HelpDialog {\n constructor(context) {\n this.context = context;\n\n this.ui = $.summernote.ui;\n this.$body = $(document.body);\n this.$editor = context.layoutInfo.editor;\n this.options = context.options;\n this.lang = this.options.langInfo;\n }\n\n initialize() {\n const $container = this.options.dialogsInBody ? this.$body : this.$editor;\n\n const body = [\n '<p class=\"text-center\">',\n '<a href=\"http://summernote.org/\" target=\"_blank\">Summernote @@VERSION@@</a> · ',\n '<a href=\"https://github.com/summernote/summernote\" target=\"_blank\">Project</a> · ',\n '<a href=\"https://github.com/summernote/summernote/issues\" target=\"_blank\">Issues</a>',\n '</p>'\n ].join('');\n\n this.$dialog = this.ui.dialog({\n title: this.lang.options.help,\n fade: this.options.dialogsFade,\n body: this.createShortcutList(),\n footer: body,\n callback: ($node) => {\n $node.find('.modal-body,.note-modal-body').css({\n 'max-height': 300,\n 'overflow': 'scroll'\n });\n }\n }).render().appendTo($container);\n }\n\n destroy() {\n this.ui.hideDialog(this.$dialog);\n this.$dialog.remove();\n }\n\n createShortcutList() {\n const keyMap = this.options.keyMap[env.isMac ? 'mac' : 'pc'];\n return Object.keys(keyMap).map((key) => {\n const command = keyMap[key];\n const $row = $('<div><div class=\"help-list-item\"/></div>');\n $row.append($('<label><kbd>' + key + '</kdb></label>').css({\n 'width': 180,\n 'margin-right': 10\n })).append($('<span/>').html(this.context.memo('help.' + command) || command));\n return $row.html();\n }).join('');\n }\n\n /**\n * show help dialog\n *\n * @return {Promise}\n */\n showHelpDialog() {\n return $.Deferred((deferred) => {\n this.ui.onDialogShown(this.$dialog, () => {\n this.context.triggerEvent('dialog.shown');\n deferred.resolve();\n });\n this.ui.showDialog(this.$dialog);\n }).promise();\n }\n\n show() {\n this.context.invoke('editor.saveRange');\n this.showHelpDialog().then(() => {\n this.context.invoke('editor.restoreRange');\n });\n }\n}\n","import $ from 'jquery';\nimport env from '../core/env';\nimport func from '../core/func';\nimport lists from '../core/lists';\nimport dom from '../core/dom';\n\nconst AIR_MODE_POPOVER_X_OFFSET = 20;\n\nexport default class AirPopover {\n constructor(context) {\n this.context = context;\n this.ui = $.summernote.ui;\n this.options = context.options;\n this.events = {\n 'summernote.keyup summernote.mouseup summernote.scroll': () => {\n this.update();\n },\n 'summernote.disable summernote.change summernote.dialog.shown': () => {\n this.hide();\n },\n 'summernote.focusout': (we, e) => {\n // [workaround] Firefox doesn't support relatedTarget on focusout\n // - Ignore hide action on focus out in FF.\n if (env.isFF) {\n return;\n }\n\n if (!e.relatedTarget || !dom.ancestor(e.relatedTarget, func.eq(this.$popover[0]))) {\n this.hide();\n }\n }\n };\n }\n\n shouldInitialize() {\n return this.options.airMode && !lists.isEmpty(this.options.popover.air);\n }\n\n initialize() {\n this.$popover = this.ui.popover({\n className: 'note-air-popover'\n }).render().appendTo(this.options.container);\n const $content = this.$popover.find('.popover-content');\n\n this.context.invoke('buttons.build', $content, this.options.popover.air);\n }\n\n destroy() {\n this.$popover.remove();\n }\n\n update() {\n const styleInfo = this.context.invoke('editor.currentStyle');\n if (styleInfo.range && !styleInfo.range.isCollapsed()) {\n const rect = lists.last(styleInfo.range.getClientRects());\n if (rect) {\n const bnd = func.rect2bnd(rect);\n this.$popover.css({\n display: 'block',\n left: Math.max(bnd.left + bnd.width / 2, 0) - AIR_MODE_POPOVER_X_OFFSET,\n top: bnd.top + bnd.height\n });\n this.context.invoke('buttons.updateCurrentStyle', this.$popover);\n }\n } else {\n this.hide();\n }\n }\n\n hide() {\n this.$popover.hide();\n }\n}\n","import $ from 'jquery';\nimport func from '../core/func';\nimport lists from '../core/lists';\nimport dom from '../core/dom';\nimport range from '../core/range';\nimport key from '../core/key';\n\nconst POPOVER_DIST = 5;\n\nexport default class HintPopover {\n constructor(context) {\n this.context = context;\n\n this.ui = $.summernote.ui;\n this.$editable = context.layoutInfo.editable;\n this.options = context.options;\n this.hint = this.options.hint || [];\n this.direction = this.options.hintDirection || 'bottom';\n this.hints = $.isArray(this.hint) ? this.hint : [this.hint];\n\n this.events = {\n 'summernote.keyup': (we, e) => {\n if (!e.isDefaultPrevented()) {\n this.handleKeyup(e);\n }\n },\n 'summernote.keydown': (we, e) => {\n this.handleKeydown(e);\n },\n 'summernote.disable summernote.dialog.shown': () => {\n this.hide();\n }\n };\n }\n\n shouldInitialize() {\n return this.hints.length > 0;\n }\n\n initialize() {\n this.lastWordRange = null;\n this.$popover = this.ui.popover({\n className: 'note-hint-popover',\n hideArrow: true,\n direction: ''\n }).render().appendTo(this.options.container);\n\n this.$popover.hide();\n this.$content = this.$popover.find('.popover-content,.note-popover-content');\n this.$content.on('click', '.note-hint-item', () => {\n this.$content.find('.active').removeClass('active');\n $(this).addClass('active');\n this.replace();\n });\n }\n\n destroy() {\n this.$popover.remove();\n }\n\n selectItem($item) {\n this.$content.find('.active').removeClass('active');\n $item.addClass('active');\n\n this.$content[0].scrollTop = $item[0].offsetTop - (this.$content.innerHeight() / 2);\n }\n\n moveDown() {\n const $current = this.$content.find('.note-hint-item.active');\n const $next = $current.next();\n\n if ($next.length) {\n this.selectItem($next);\n } else {\n let $nextGroup = $current.parent().next();\n\n if (!$nextGroup.length) {\n $nextGroup = this.$content.find('.note-hint-group').first();\n }\n\n this.selectItem($nextGroup.find('.note-hint-item').first());\n }\n }\n\n moveUp() {\n const $current = this.$content.find('.note-hint-item.active');\n const $prev = $current.prev();\n\n if ($prev.length) {\n this.selectItem($prev);\n } else {\n let $prevGroup = $current.parent().prev();\n\n if (!$prevGroup.length) {\n $prevGroup = this.$content.find('.note-hint-group').last();\n }\n\n this.selectItem($prevGroup.find('.note-hint-item').last());\n }\n }\n\n replace() {\n const $item = this.$content.find('.note-hint-item.active');\n\n if ($item.length) {\n const node = this.nodeFromItem($item);\n // XXX: consider to move codes to editor for recording redo/undo.\n this.lastWordRange.insertNode(node);\n range.createFromNode(node).collapse().select();\n\n this.lastWordRange = null;\n this.hide();\n this.context.triggerEvent('change', this.$editable.html(), this.$editable[0]);\n this.context.invoke('editor.focus');\n }\n }\n\n nodeFromItem($item) {\n const hint = this.hints[$item.data('index')];\n const item = $item.data('item');\n let node = hint.content ? hint.content(item) : item;\n if (typeof node === 'string') {\n node = dom.createText(node);\n }\n return node;\n }\n\n createItemTemplates(hintIdx, items) {\n const hint = this.hints[hintIdx];\n return items.map((item, idx) => {\n const $item = $('<div class=\"note-hint-item\"/>');\n $item.append(hint.template ? hint.template(item) : item + '');\n $item.data({\n 'index': hintIdx,\n 'item': item\n });\n return $item;\n });\n }\n\n handleKeydown(e) {\n if (!this.$popover.is(':visible')) {\n return;\n }\n\n if (e.keyCode === key.code.ENTER) {\n e.preventDefault();\n this.replace();\n } else if (e.keyCode === key.code.UP) {\n e.preventDefault();\n this.moveUp();\n } else if (e.keyCode === key.code.DOWN) {\n e.preventDefault();\n this.moveDown();\n }\n }\n\n searchKeyword(index, keyword, callback) {\n const hint = this.hints[index];\n if (hint && hint.match.test(keyword) && hint.search) {\n const matches = hint.match.exec(keyword);\n hint.search(matches[1], callback);\n } else {\n callback();\n }\n }\n\n createGroup(idx, keyword) {\n const $group = $('<div class=\"note-hint-group note-hint-group-' + idx + '\"/>');\n this.searchKeyword(idx, keyword, (items) => {\n items = items || [];\n if (items.length) {\n $group.html(this.createItemTemplates(idx, items));\n this.show();\n }\n });\n\n return $group;\n }\n\n handleKeyup(e) {\n if (!lists.contains([key.code.ENTER, key.code.UP, key.code.DOWN], e.keyCode)) {\n const wordRange = this.context.invoke('editor.createRange').getWordRange();\n const keyword = wordRange.toString();\n if (this.hints.length && keyword) {\n this.$content.empty();\n\n const bnd = func.rect2bnd(lists.last(wordRange.getClientRects()));\n if (bnd) {\n this.$popover.hide();\n this.lastWordRange = wordRange;\n this.hints.forEach((hint, idx) => {\n if (hint.match.test(keyword)) {\n this.createGroup(idx, keyword).appendTo(this.$content);\n }\n });\n // select first .note-hint-item\n this.$content.find('.note-hint-item:first').addClass('active');\n\n // set position for popover after group is created\n if (this.direction === 'top') {\n this.$popover.css({\n left: bnd.left,\n top: bnd.top - this.$popover.outerHeight() - POPOVER_DIST\n });\n } else {\n this.$popover.css({\n left: bnd.left,\n top: bnd.top + bnd.height + POPOVER_DIST\n });\n }\n }\n } else {\n this.hide();\n }\n }\n }\n\n show() {\n this.$popover.show();\n }\n\n hide() {\n this.$popover.hide();\n }\n}\n","import $ from 'jquery';\nimport func from './core/func';\nimport lists from './core/lists';\nimport dom from './core/dom';\n\nexport default class Context {\n /**\n * @param {jQuery} $note\n * @param {Object} options\n */\n constructor($note, options) {\n this.ui = $.summernote.ui;\n this.$note = $note;\n\n this.memos = {};\n this.modules = {};\n this.layoutInfo = {};\n this.options = options;\n\n this.initialize();\n }\n\n /**\n * create layout and initialize modules and other resources\n */\n initialize() {\n this.layoutInfo = this.ui.createLayout(this.$note, this.options);\n this._initialize();\n this.$note.hide();\n return this;\n }\n\n /**\n * destroy modules and other resources and remove layout\n */\n destroy() {\n this._destroy();\n this.$note.removeData('summernote');\n this.ui.removeLayout(this.$note, this.layoutInfo);\n }\n\n /**\n * destory modules and other resources and initialize it again\n */\n reset() {\n const disabled = this.isDisabled();\n this.code(dom.emptyPara);\n this._destroy();\n this._initialize();\n\n if (disabled) {\n this.disable();\n }\n }\n\n _initialize() {\n // add optional buttons\n const buttons = $.extend({}, this.options.buttons);\n Object.keys(buttons).forEach((key) => {\n this.memo('button.' + key, buttons[key]);\n });\n\n const modules = $.extend({}, this.options.modules, $.summernote.plugins || {});\n\n // add and initialize modules\n Object.keys(modules).forEach((key) => {\n this.module(key, modules[key], true);\n });\n\n Object.keys(this.modules).forEach((key) => {\n this.initializeModule(key);\n });\n }\n\n _destroy() {\n // destroy modules with reversed order\n Object.keys(this.modules).reverse().forEach((key) => {\n this.removeModule(key);\n });\n\n Object.keys(this.memos).forEach((key) => {\n this.removeMemo(key);\n });\n // trigger custom onDestroy callback\n this.triggerEvent('destroy', this);\n }\n\n code(html) {\n const isActivated = this.invoke('codeview.isActivated');\n\n if (html === undefined) {\n this.invoke('codeview.sync');\n return isActivated ? this.layoutInfo.codable.val() : this.layoutInfo.editable.html();\n } else {\n if (isActivated) {\n this.layoutInfo.codable.val(html);\n } else {\n this.layoutInfo.editable.html(html);\n }\n this.$note.val(html);\n this.triggerEvent('change', html);\n }\n }\n\n isDisabled() {\n return this.layoutInfo.editable.attr('contenteditable') === 'false';\n }\n\n enable() {\n this.layoutInfo.editable.attr('contenteditable', true);\n this.invoke('toolbar.activate', true);\n this.triggerEvent('disable', false);\n }\n\n disable() {\n // close codeview if codeview is opend\n if (this.invoke('codeview.isActivated')) {\n this.invoke('codeview.deactivate');\n }\n this.layoutInfo.editable.attr('contenteditable', false);\n this.invoke('toolbar.deactivate', true);\n\n this.triggerEvent('disable', true);\n }\n\n triggerEvent() {\n const namespace = lists.head(arguments);\n const args = lists.tail(lists.from(arguments));\n\n const callback = this.options.callbacks[func.namespaceToCamel(namespace, 'on')];\n if (callback) {\n callback.apply(this.$note[0], args);\n }\n this.$note.trigger('summernote.' + namespace, args);\n }\n\n initializeModule(key) {\n const module = this.modules[key];\n module.shouldInitialize = module.shouldInitialize || func.ok;\n if (!module.shouldInitialize()) {\n return;\n }\n\n // initialize module\n if (module.initialize) {\n module.initialize();\n }\n\n // attach events\n if (module.events) {\n dom.attachEvents(this.$note, module.events);\n }\n }\n\n module(key, ModuleClass, withoutIntialize) {\n if (arguments.length === 1) {\n return this.modules[key];\n }\n\n this.modules[key] = new ModuleClass(this);\n\n if (!withoutIntialize) {\n this.initializeModule(key);\n }\n }\n\n removeModule(key) {\n const module = this.modules[key];\n if (module.shouldInitialize()) {\n if (module.events) {\n dom.detachEvents(this.$note, module.events);\n }\n\n if (module.destroy) {\n module.destroy();\n }\n }\n\n delete this.modules[key];\n }\n\n memo(key, obj) {\n if (arguments.length === 1) {\n return this.memos[key];\n }\n this.memos[key] = obj;\n }\n\n removeMemo(key) {\n if (this.memos[key] && this.memos[key].destroy) {\n this.memos[key].destroy();\n }\n\n delete this.memos[key];\n }\n\n /**\n * Some buttons need to change their visual style immediately once they get pressed\n */\n createInvokeHandlerAndUpdateState(namespace, value) {\n return (event) => {\n this.createInvokeHandler(namespace, value)(event);\n this.invoke('buttons.updateCurrentStyle');\n };\n }\n\n createInvokeHandler(namespace, value) {\n return (event) => {\n event.preventDefault();\n const $target = $(event.target);\n this.invoke(namespace, value || $target.closest('[data-value]').data('value'), $target);\n };\n }\n\n invoke() {\n const namespace = lists.head(arguments);\n const args = lists.tail(lists.from(arguments));\n\n const splits = namespace.split('.');\n const hasSeparator = splits.length > 1;\n const moduleName = hasSeparator && lists.head(splits);\n const methodName = hasSeparator ? lists.last(splits) : lists.head(splits);\n\n const module = this.modules[moduleName || 'editor'];\n if (!moduleName && this[methodName]) {\n return this[methodName].apply(this, args);\n } else if (module && module[methodName] && module.shouldInitialize()) {\n return module[methodName].apply(module, args);\n }\n }\n}\n","import $ from 'jquery';\nimport env from './base/core/env';\nimport lists from './base/core/lists';\nimport Context from './base/Context';\n\n$.fn.extend({\n /**\n * Summernote API\n *\n * @param {Object|String}\n * @return {this}\n */\n summernote: function() {\n const type = $.type(lists.head(arguments));\n const isExternalAPICalled = type === 'string';\n const hasInitOptions = type === 'object';\n\n const options = $.extend({}, $.summernote.options, hasInitOptions ? lists.head(arguments) : {});\n\n // Update options\n options.langInfo = $.extend(true, {}, $.summernote.lang['en-US'], $.summernote.lang[options.lang]);\n options.icons = $.extend(true, {}, $.summernote.options.icons, options.icons);\n options.tooltip = options.tooltip === 'auto' ? !env.isSupportTouch : options.tooltip;\n\n this.each((idx, note) => {\n const $note = $(note);\n if (!$note.data('summernote')) {\n const context = new Context($note, options);\n $note.data('summernote', context);\n $note.data('summernote').triggerEvent('init', context.layoutInfo);\n }\n });\n\n const $note = this.first();\n if ($note.length) {\n const context = $note.data('summernote');\n if (isExternalAPICalled) {\n return context.invoke.apply(context, lists.from(arguments));\n } else if (options.focus) {\n context.invoke('editor.focus');\n }\n }\n\n return this;\n }\n});\n","import $ from 'jquery';\nimport ui from '../bs4/ui';\nimport dom from '../base/core/dom';\nimport '../base/summernote-en-US';\nimport Editor from '../base/module/Editor';\nimport Clipboard from '../base/module/Clipboard';\nimport Dropzone from '../base/module/Dropzone';\nimport Codeview from '../base/module/Codeview';\nimport Statusbar from '../base/module/Statusbar';\nimport Fullscreen from '../base/module/Fullscreen';\nimport Handle from '../base/module/Handle';\nimport AutoLink from '../base/module/AutoLink';\nimport AutoSync from '../base/module/AutoSync';\nimport Placeholder from '../base/module/Placeholder';\nimport Buttons from '../base/module/Buttons';\nimport Toolbar from '../base/module/Toolbar';\nimport LinkDialog from '../base/module/LinkDialog';\nimport LinkPopover from '../base/module/LinkPopover';\nimport ImageDialog from '../base/module/ImageDialog';\nimport ImagePopover from '../base/module/ImagePopover';\nimport TablePopover from '../base/module/TablePopover';\nimport VideoDialog from '../base/module/VideoDialog';\nimport HelpDialog from '../base/module/HelpDialog';\nimport AirPopover from '../base/module/AirPopover';\nimport HintPopover from '../base/module/HintPopover';\n\n$.summernote = $.extend($.summernote, {\n version: '@@VERSION@@',\n ui: ui,\n dom: dom,\n\n plugins: {},\n\n options: {\n modules: {\n 'editor': Editor,\n 'clipboard': Clipboard,\n 'dropzone': Dropzone,\n 'codeview': Codeview,\n 'statusbar': Statusbar,\n 'fullscreen': Fullscreen,\n 'handle': Handle,\n // FIXME: HintPopover must be front of autolink\n // - Script error about range when Enter key is pressed on hint popover\n 'hintPopover': HintPopover,\n 'autoLink': AutoLink,\n 'autoSync': AutoSync,\n 'placeholder': Placeholder,\n 'buttons': Buttons,\n 'toolbar': Toolbar,\n 'linkDialog': LinkDialog,\n 'linkPopover': LinkPopover,\n 'imageDialog': ImageDialog,\n 'imagePopover': ImagePopover,\n 'tablePopover': TablePopover,\n 'videoDialog': VideoDialog,\n 'helpDialog': HelpDialog,\n 'airPopover': AirPopover\n },\n\n buttons: {},\n\n lang: 'en-US',\n\n followingToolbar: true,\n otherStaticBar: '',\n\n // toolbar\n toolbar: [\n ['style', ['style']],\n ['font', ['bold', 'underline', 'clear']],\n ['fontname', ['fontname']],\n ['color', ['color']],\n ['para', ['ul', 'ol', 'paragraph']],\n ['table', ['table']],\n ['insert', ['link', 'picture', 'video']],\n ['view', ['fullscreen', 'codeview', 'help']]\n ],\n\n // popover\n popatmouse: true,\n popover: {\n image: [\n ['imagesize', ['imageSize100', 'imageSize50', 'imageSize25']],\n ['float', ['floatLeft', 'floatRight', 'floatNone']],\n ['remove', ['removeMedia']]\n ],\n link: [\n ['link', ['linkDialogShow', 'unlink']]\n ],\n table: [\n ['add', ['addRowDown', 'addRowUp', 'addColLeft', 'addColRight']],\n ['delete', ['deleteRow', 'deleteCol', 'deleteTable']]\n ],\n air: [\n ['color', ['color']],\n ['font', ['bold', 'underline', 'clear']],\n ['para', ['ul', 'paragraph']],\n ['table', ['table']],\n ['insert', ['link', 'picture']]\n ]\n },\n\n // air mode: inline editor\n airMode: false,\n\n width: null,\n height: null,\n linkTargetBlank: true,\n\n focus: false,\n tabSize: 4,\n styleWithSpan: true,\n shortcuts: true,\n textareaAutoSync: true,\n hintDirection: 'bottom',\n tooltip: 'auto',\n container: 'body',\n maxTextLength: 0,\n\n styleTags: [\n 'p',\n { title: 'Blockquote', tag: 'blockquote', className: 'blockquote', value: 'blockquote' },\n 'h1', 'h2', 'h3', 'h4', 'h5', 'h6'\n ],\n\n fontNames: [\n 'Arial', 'Arial Black', 'Comic Sans MS', 'Courier New',\n 'Helvetica Neue', 'Helvetica', 'Impact', 'Lucida Grande',\n 'Tahoma', 'Times New Roman', 'Verdana'\n ],\n\n fontSizes: ['8', '9', '10', '11', '12', '14', '18', '24', '36'],\n\n // pallete colors(n x n)\n colors: [\n ['#000000', '#424242', '#636363', '#9C9C94', '#CEC6CE', '#EFEFEF', '#F7F7F7', '#FFFFFF'],\n ['#FF0000', '#FF9C00', '#FFFF00', '#00FF00', '#00FFFF', '#0000FF', '#9C00FF', '#FF00FF'],\n ['#F7C6CE', '#FFE7CE', '#FFEFC6', '#D6EFD6', '#CEDEE7', '#CEE7F7', '#D6D6E7', '#E7D6DE'],\n ['#E79C9C', '#FFC69C', '#FFE79C', '#B5D6A5', '#A5C6CE', '#9CC6EF', '#B5A5D6', '#D6A5BD'],\n ['#E76363', '#F7AD6B', '#FFD663', '#94BD7B', '#73A5AD', '#6BADDE', '#8C7BC6', '#C67BA5'],\n ['#CE0000', '#E79439', '#EFC631', '#6BA54A', '#4A7B8C', '#3984C6', '#634AA5', '#A54A7B'],\n ['#9C0000', '#B56308', '#BD9400', '#397B21', '#104A5A', '#085294', '#311873', '#731842'],\n ['#630000', '#7B3900', '#846300', '#295218', '#083139', '#003163', '#21104A', '#4A1031']\n ],\n\n // http://chir.ag/projects/name-that-color/\n colorsName: [\n ['Black', 'Tundora', 'Dove Gray', 'Star Dust', 'Pale Slate', 'Gallery', 'Alabaster', 'White'],\n ['Red', 'Orange Peel', 'Yellow', 'Green', 'Cyan', 'Blue', 'Electric Violet', 'Magenta'],\n ['Azalea', 'Karry', 'Egg White', 'Zanah', 'Botticelli', 'Tropical Blue', 'Mischka', 'Twilight'],\n ['Tonys Pink', 'Peach Orange', 'Cream Brulee', 'Sprout', 'Casper', 'Perano', 'Cold Purple', 'Careys Pink'],\n ['Mandy', 'Rajah', 'Dandelion', 'Olivine', 'Gulf Stream', 'Viking', 'Blue Marguerite', 'Puce'],\n ['Guardsman Red', 'Fire Bush', 'Golden Dream', 'Chelsea Cucumber', 'Smalt Blue', 'Boston Blue', 'Butterfly Bush', 'Cadillac'],\n ['Sangria', 'Mai Tai', 'Buddha Gold', 'Forest Green', 'Eden', 'Venice Blue', 'Meteorite', 'Claret'],\n ['Rosewood', 'Cinnamon', 'Olive', 'Parsley', 'Tiber', 'Midnight Blue', 'Valentino', 'Loulou']\n ],\n\n lineHeights: ['1.0', '1.2', '1.4', '1.5', '1.6', '1.8', '2.0', '3.0'],\n\n tableClassName: 'table table-bordered',\n\n insertTableMaxSize: {\n col: 10,\n row: 10\n },\n\n dialogsInBody: false,\n dialogsFade: false,\n\n maximumImageFileSize: null,\n\n callbacks: {\n onInit: null,\n onFocus: null,\n onBlur: null,\n onBlurCodeview: null,\n onEnter: null,\n onKeyup: null,\n onKeydown: null,\n onImageUpload: null,\n onImageUploadError: null\n },\n\n codemirror: {\n mode: 'text/html',\n htmlMode: true,\n lineNumbers: true\n },\n\n keyMap: {\n pc: {\n 'ENTER': 'insertParagraph',\n 'CTRL+Z': 'undo',\n 'CTRL+Y': 'redo',\n 'TAB': 'tab',\n 'SHIFT+TAB': 'untab',\n 'CTRL+B': 'bold',\n 'CTRL+I': 'italic',\n 'CTRL+U': 'underline',\n 'CTRL+SHIFT+S': 'strikethrough',\n 'CTRL+BACKSLASH': 'removeFormat',\n 'CTRL+SHIFT+L': 'justifyLeft',\n 'CTRL+SHIFT+E': 'justifyCenter',\n 'CTRL+SHIFT+R': 'justifyRight',\n 'CTRL+SHIFT+J': 'justifyFull',\n 'CTRL+SHIFT+NUM7': 'insertUnorderedList',\n 'CTRL+SHIFT+NUM8': 'insertOrderedList',\n 'CTRL+LEFTBRACKET': 'outdent',\n 'CTRL+RIGHTBRACKET': 'indent',\n 'CTRL+NUM0': 'formatPara',\n 'CTRL+NUM1': 'formatH1',\n 'CTRL+NUM2': 'formatH2',\n 'CTRL+NUM3': 'formatH3',\n 'CTRL+NUM4': 'formatH4',\n 'CTRL+NUM5': 'formatH5',\n 'CTRL+NUM6': 'formatH6',\n 'CTRL+ENTER': 'insertHorizontalRule',\n 'CTRL+K': 'linkDialog.show'\n },\n\n mac: {\n 'ENTER': 'insertParagraph',\n 'CMD+Z': 'undo',\n 'CMD+SHIFT+Z': 'redo',\n 'TAB': 'tab',\n 'SHIFT+TAB': 'untab',\n 'CMD+B': 'bold',\n 'CMD+I': 'italic',\n 'CMD+U': 'underline',\n 'CMD+SHIFT+S': 'strikethrough',\n 'CMD+BACKSLASH': 'removeFormat',\n 'CMD+SHIFT+L': 'justifyLeft',\n 'CMD+SHIFT+E': 'justifyCenter',\n 'CMD+SHIFT+R': 'justifyRight',\n 'CMD+SHIFT+J': 'justifyFull',\n 'CMD+SHIFT+NUM7': 'insertUnorderedList',\n 'CMD+SHIFT+NUM8': 'insertOrderedList',\n 'CMD+LEFTBRACKET': 'outdent',\n 'CMD+RIGHTBRACKET': 'indent',\n 'CMD+NUM0': 'formatPara',\n 'CMD+NUM1': 'formatH1',\n 'CMD+NUM2': 'formatH2',\n 'CMD+NUM3': 'formatH3',\n 'CMD+NUM4': 'formatH4',\n 'CMD+NUM5': 'formatH5',\n 'CMD+NUM6': 'formatH6',\n 'CMD+ENTER': 'insertHorizontalRule',\n 'CMD+K': 'linkDialog.show'\n }\n },\n icons: {\n 'align': 'note-icon-align',\n 'alignCenter': 'note-icon-align-center',\n 'alignJustify': 'note-icon-align-justify',\n 'alignLeft': 'note-icon-align-left',\n 'alignRight': 'note-icon-align-right',\n 'rowBelow': 'note-icon-row-below',\n 'colBefore': 'note-icon-col-before',\n 'colAfter': 'note-icon-col-after',\n 'rowAbove': 'note-icon-row-above',\n 'rowRemove': 'note-icon-row-remove',\n 'colRemove': 'note-icon-col-remove',\n 'indent': 'note-icon-align-indent',\n 'outdent': 'note-icon-align-outdent',\n 'arrowsAlt': 'note-icon-arrows-alt',\n 'bold': 'note-icon-bold',\n 'caret': 'note-icon-caret',\n 'circle': 'note-icon-circle',\n 'close': 'note-icon-close',\n 'code': 'note-icon-code',\n 'eraser': 'note-icon-eraser',\n 'font': 'note-icon-font',\n 'frame': 'note-icon-frame',\n 'italic': 'note-icon-italic',\n 'link': 'note-icon-link',\n 'unlink': 'note-icon-chain-broken',\n 'magic': 'note-icon-magic',\n 'menuCheck': 'note-icon-menu-check',\n 'minus': 'note-icon-minus',\n 'orderedlist': 'note-icon-orderedlist',\n 'pencil': 'note-icon-pencil',\n 'picture': 'note-icon-picture',\n 'question': 'note-icon-question',\n 'redo': 'note-icon-redo',\n 'square': 'note-icon-square',\n 'strikethrough': 'note-icon-strikethrough',\n 'subscript': 'note-icon-subscript',\n 'superscript': 'note-icon-superscript',\n 'table': 'note-icon-table',\n 'textHeight': 'note-icon-text-height',\n 'trash': 'note-icon-trash',\n 'underline': 'note-icon-underline',\n 'undo': 'note-icon-undo',\n 'unorderedlist': 'note-icon-unorderedlist',\n 'video': 'note-icon-video'\n }\n }\n});\n\nimport '../summernote'; // eslint-disable-line\n"],"names":["$","Codeview"],"mappings":"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"}PK�{�\SԫA�"�"font/summernote.ttfnu�[��� �PFFTM�>u�"�OS/2A(]�X`cmap��0Bcvt Dtgasp��"�glyf�yk��\headn!t�6hheaG $hmtx���vloca�r�txpmaxp��8 name���ZD�postK�IP ����^_<�֧�y֧�y���nk�n.����k7� @.�LfGLf�� PfEd���4���.� $$$$�0���J��'��Q���@6����Z����������������< �4�����D***Fx����V��Dv���� .��@f�R|�.:��Dr� � � � �Z��p�� .�U.�/<��2��<��2�/<��2��<��233'3#�wffU��3�}!5!5!!!�����V�^�|KK�L�K����!!5!5!%&=46��� �� �xwM�LL�LL�`_��}!5!5!!����|KK�LL�K�}!5!5!!�8|���|LL�KK�K����!!5!5!%6'.'&47>��� �� ��wxM�LL�LL��_` �|!!5!5!/�7L}��|L�KK�KK�p75!%!!!5! /������Q��GG�H��H$����+$4/&"54&+"'&"2?6".4>2�6$6ggM:exe::exe�6��6hhIxe::exe::$����+%54&+764/&"2?64/32>".4>2��6hh6�I:exe::exe�$6gg6Vxe::exe::$����+$4/&"#";2?6".4>2�h6��6hL:exe::exe�g6$6gIxe::exe::$����+$4/&"2?;26=2?6".4>2�gg6$6M:exe::exe�hh6��6Ixe::exe::����7#7'#57'537'3��A�A��A�A�=�>��>�A�A�@~~@�A�=�=��=�d$"&=!"/&4?62!5462J��JJ$J�I $$ II $$ I���\�+32"/&46;#"&4?62[ $$ II $$ IIl��JJ$JJ���� -+52654ᙤ'32654.#32654.�::EDXf�%&�yW�%&& !%6?28@%"!&<3F�#+ & ȃ .-%)0m32"'.'&6=�01cAC����/� )7Uq&/&6767>'.'.?>'&676&2#".4>;2>&+".54632+"&46372+"3�& & p& & ?& & e& & Q<V'D(b b!./!b ua<VV=` `$/!�= = G= = �Y= = G= = �U<'C& .A- �UwU $!-����2"&4$"264�響��ʎ�ʎܨ쨨�{�Ȍ��J�u%"/"/&?'&?62762�������������������k� %57'53%7'����'�:���ܢ��"6UU7x'���p�x7UU6x���159=%"/&4?#"&=46;'&4?632#".546;2'5#75#75#m 8� �8 {{�� �}}}}}-8 8{{m��*vv�vv�uu�����159=232+"/&4?32+".54>353535�8� �8{{���~~~~~T8 7{{u��+uu�vv�uu���#37;?4?62762"/"/&4?'#"&546;2'5#75#75#�EEDDEEDD.��"}}}}} EE DE EE ED����*vv�vv�uu'����2+"&54637#�\#�#[$�����##-#��������%#3#52733#52654/3� �.�*�%�!\9vL((Nx��8(( ݑ����U�*:T`lx�!2#!"&546"&3!26=4.#%!2#!"&546"#"3!2654.#"#6&"2?664/&"64/&"$&"2?6� �%RO!$ �%l �� s (:�<% r8 8��8 868 8��8 8� �� H $��k �* � # ��6"9K 8 7D 87�g 8 8S 8 8Q����3"3#7267654&'Ӻ Y � Z� �� ��//Q9H2#".4>;2>&+".54632+"&46372+"374>;2+"&�<V'D(b b!./!b u a<VV=` `!./!# ��QU<'C& .A- � UwU .A-O ����^7537775377�II,n�I�I�&���\�\\\IH�''�H�IFmm�>�[�e[[[@ �`7'577ɉ7S�7�!�3S�3��6���75!6��PP����%)-17>54&#"#&6323#4>#573#%!5!!5!* $# %. V�.0%�}��|: (4%��UU�T�TT��� 7'72,�����W� I�+���;gV�G���7�)1I!"&5463!24.##!"'"3!265&"&462#&#!"#.6?>7>�� # �u *�*d(( �� E ,D+( ��q � ��))�$$��^%Z����#5367632#>?67654&#"�b�='8Ib #X$ &&-^^F\&FD*6* (1��SOn!74.">32O��N HfZ7) /4K(8d>. _��J) --2.8( �����/37;"/+"&="/&4?62#!"&=4>3!2#3'#3'#3�8 8{{u��*vv�uu�vv68� �8{{��� }}}}}������-159$"/&4?62546;27627#!"&=463!25##5##5#�{{8 7t��*v'u'v]{{8� �8���}}}}}}���#59=A6"/&4?'&4?62762"/#!"&=4>3!2#3'#3'#3� EE EE EE EED��*vv�uu�uu� DE EE ED EE.�� !}}}}}���� $0<$&5462# &54632#7&=4632#"'&&54632#''7'7�* �z��������̎--� �w�����������1�!2#!"&546"3!2654&# �%%�&&>%%�%%�&�i&&�&$%��&&O%����/S%!"=4;&'&54>323273#.#"3232>54'&'3#".#"#53�c(+<"', #!4>!#*F���C%(�,N. 3@ �7&2/" �&9!# 7!!!'A$ ���e�1#567>74#"'6323%#532?'&+5373#";#dm03��_}b_uabu _b~o (��0��0��0��0 ���nR %/8CNXb%#654'32'&'762?"&463275462&"'&462"&46;#"'&47"&=27#"/61,, m ��E�.�ƍ�cN?�"� v ,7 "� �� ��?Nc��ƍ.��, ,e �� C, ,d ��e�1#567>74#"'632#'#532?'&+5373#"3dm0u~__~ b^ubbu_b;" (��0��0��0��0�� ����#'+;'35#75#35#75#35#75#535335335%�$�$�����������������$�$�(�1$j$kk�j$kk�j$kk�llllll����^� &%3'3#7#&+;#53265#"#5!#EVVEARQ@�&4'"�%)#%�(BB(BB#��$$,+||����)53!532653!32>54&"2654&"&"2654V���q�F�E1 pY# $�##�>}��@�� ��������(,#".=45#"32>=4#53!5!�+N01O*$� 3$'7@��Q�~�-:6 1:(�##�.5$'92�A##�7#��SMn>32."!*I7=a3)J5.-5[eIM��_E+34* 5)!$# J�����!5!!5!#55353��}��}�LUUVU�UU�T�TT�UU�TT�TT��#\'5%2#!"&=4>3#�v �� T�<`� �� � 4&� �� $ L< � � summernotesummernoteRegularRegularFontForge 2.0 : summernote : 13-2-2018FontForge 2.0 : summernote : 13-2-2018summernotesummernoteVersion 001.000 Version 001.000 summernotesummernote��7 � !""#$%&'()*+,-./0123align-centeralign-indent align-justify align-left align-outdentalign-rightalignarrow-circle-downarrow-circle-leftarrow-circle-rightarrow-circle-up arrows-altarrows-harrows-vboldcaretchain-brokencircleclosecode col-after col-before col-removeeraserfontframeitaliclinkmagic menu-checkorderedlistpencilpictureredo row-above row-below row-removespecial-charactersquare strikethrough subscript summernotesuperscripttabletext-heighttrash underlineundo unorderedlistvideo����֧�y֧�yPK�{�\��D�z#z#font/summernote.eotnu�[���z#�" �LP^߲�summernoteRegular Version 001.000 summernote �PFFTM�>u�"�OS/2A(]�X`cmap��0Bcvt Dtgasp��"�glyf�yk��\headn!t�6hheaG $hmtx���vloca�r�txpmaxp��8 name���ZD�postK�IP ����^_<�֧�y֧�y���nk�n.����k7� @.�LfGLf�� PfEd���4���.� $$$$�0���J��'��Q���@6����Z����������������< �4�����D***Fx����V��Dv���� .��@f�R|�.:��Dr� � � � �Z��p�� .�U.�/<��2��<��2�/<��2��<��233'3#�wffU��3�}!5!5!!!�����V�^�|KK�L�K����!!5!5!%&=46��� �� �xwM�LL�LL�`_��}!5!5!!����|KK�LL�K�}!5!5!!�8|���|LL�KK�K����!!5!5!%6'.'&47>��� �� ��wxM�LL�LL��_` �|!!5!5!/�7L}��|L�KK�KK�p75!%!!!5! /������Q��GG�H��H$����+$4/&"54&+"'&"2?6".4>2�6$6ggM:exe::exe�6��6hhIxe::exe::$����+%54&+764/&"2?64/32>".4>2��6hh6�I:exe::exe�$6gg6Vxe::exe::$����+$4/&"#";2?6".4>2�h6��6hL:exe::exe�g6$6gIxe::exe::$����+$4/&"2?;26=2?6".4>2�gg6$6M:exe::exe�hh6��6Ixe::exe::����7#7'#57'537'3��A�A��A�A�=�>��>�A�A�@~~@�A�=�=��=�d$"&=!"/&4?62!5462J��JJ$J�I $$ II $$ I���\�+32"/&46;#"&4?62[ $$ II $$ IIl��JJ$JJ���� -+52654ᙤ'32654.#32654.�::EDXf�%&�yW�%&& !%6?28@%"!&<3F�#+ & ȃ .-%)0m32"'.'&6=�01cAC����/� )7Uq&/&6767>'.'.?>'&676&2#".4>;2>&+".54632+"&46372+"3�& & p& & ?& & e& & Q<V'D(b b!./!b ua<VV=` `$/!�= = G= = �Y= = G= = �U<'C& .A- �UwU $!-����2"&4$"264�響��ʎ�ʎܨ쨨�{�Ȍ��J�u%"/"/&?'&?62762�������������������k� %57'53%7'����'�:���ܢ��"6UU7x'���p�x7UU6x���159=%"/&4?#"&=46;'&4?632#".546;2'5#75#75#m 8� �8 {{�� �}}}}}-8 8{{m��*vv�vv�uu�����159=232+"/&4?32+".54>353535�8� �8{{���~~~~~T8 7{{u��+uu�vv�uu���#37;?4?62762"/"/&4?'#"&546;2'5#75#75#�EEDDEEDD.��"}}}}} EE DE EE ED����*vv�vv�uu'����2+"&54637#�\#�#[$�����##-#��������%#3#52733#52654/3� �.�*�%�!\9vL((Nx��8(( ݑ����U�*:T`lx�!2#!"&546"&3!26=4.#%!2#!"&546"#"3!2654.#"#6&"2?664/&"64/&"$&"2?6� �%RO!$ �%l �� s (:�<% r8 8��8 868 8��8 8� �� H $��k �* � # ��6"9K 8 7D 87�g 8 8S 8 8Q����3"3#7267654&'Ӻ Y � Z� �� ��//Q9H2#".4>;2>&+".54632+"&46372+"374>;2+"&�<V'D(b b!./!b u a<VV=` `!./!# ��QU<'C& .A- � UwU .A-O ����^7537775377�II,n�I�I�&���\�\\\IH�''�H�IFmm�>�[�e[[[@ �`7'577ɉ7S�7�!�3S�3��6���75!6��PP����%)-17>54&#"#&6323#4>#573#%!5!!5!* $# %. V�.0%�}��|: (4%��UU�T�TT��� 7'72,�����W� I�+���;gV�G���7�)1I!"&5463!24.##!"'"3!265&"&462#&#!"#.6?>7>�� # �u *�*d(( �� E ,D+( ��q � ��))�$$��^%Z����#5367632#>?67654&#"�b�='8Ib #X$ &&-^^F\&FD*6* (1��SOn!74.">32O��N HfZ7) /4K(8d>. _��J) --2.8( �����/37;"/+"&="/&4?62#!"&=4>3!2#3'#3'#3�8 8{{u��*vv�uu�vv68� �8{{��� }}}}}������-159$"/&4?62546;27627#!"&=463!25##5##5#�{{8 7t��*v'u'v]{{8� �8���}}}}}}���#59=A6"/&4?'&4?62762"/#!"&=4>3!2#3'#3'#3� EE EE EE EED��*vv�uu�uu� DE EE ED EE.�� !}}}}}���� $0<$&5462# &54632#7&=4632#"'&&54632#''7'7�* �z��������̎--� �w�����������1�!2#!"&546"3!2654&# �%%�&&>%%�%%�&�i&&�&$%��&&O%����/S%!"=4;&'&54>323273#.#"3232>54'&'3#".#"#53�c(+<"', #!4>!#*F���C%(�,N. 3@ �7&2/" �&9!# 7!!!'A$ ���e�1#567>74#"'6323%#532?'&+5373#";#dm03��_}b_uabu _b~o (��0��0��0��0 ���nR %/8CNXb%#654'32'&'762?"&463275462&"'&462"&46;#"'&47"&=27#"/61,, m ��E�.�ƍ�cN?�"� v ,7 "� �� ��?Nc��ƍ.��, ,e �� C, ,d ��e�1#567>74#"'632#'#532?'&+5373#"3dm0u~__~ b^ubbu_b;" (��0��0��0��0�� ����#'+;'35#75#35#75#35#75#535335335%�$�$�����������������$�$�(�1$j$kk�j$kk�j$kk�llllll����^� &%3'3#7#&+;#53265#"#5!#EVVEARQ@�&4'"�%)#%�(BB(BB#��$$,+||����)53!532653!32>54&"2654&"&"2654V���q�F�E1 pY# $�##�>}��@�� ��������(,#".=45#"32>=4#53!5!�+N01O*$� 3$'7@��Q�~�-:6 1:(�##�.5$'92�A##�7#��SMn>32."!*I7=a3)J5.-5[eIM��_E+34* 5)!$# J�����!5!!5!#55353��}��}�LUUVU�UU�T�TT�UU�TT�TT��#\'5%2#!"&=4>3#�v �� T�<`� �� � 4&� �� $ L< � � summernotesummernoteRegularRegularFontForge 2.0 : summernote : 13-2-2018FontForge 2.0 : summernote : 13-2-2018summernotesummernoteVersion 001.000 Version 001.000 summernotesummernote��7 � !""#$%&'()*+,-./0123align-centeralign-indent align-justify align-left align-outdentalign-rightalignarrow-circle-downarrow-circle-leftarrow-circle-rightarrow-circle-up arrows-altarrows-harrows-vboldcaretchain-brokencircleclosecode col-after col-before col-removeeraserfontframeitaliclinkmagic menu-checkorderedlistpencilpictureredo row-above row-below row-removespecial-charactersquare strikethrough subscript summernotesuperscripttabletext-heighttrash underlineundo unorderedlistvideo����֧�y֧�yPK�{�\�`ƼL=L=font/summernote.woffnu�[���wOFFOTTO=L n�CFF �9�iY'�a�FFTM=0�>u�OS/2LJ`A']�cmap�6B ��head�06n!thhea$ $Fhmtx<�in��maxpD5Pname��Ԝ��Zpost� ��x�c`d``�$���m�2p31����*a�Ā\�4eo x�c`d``��Ϡ����iLY@��PPP5x�c`ab`������Ø�����2H2�0001�r2���������� ���&�� ��?�x����j�0E�;!J�,�����Fv2��9S��3�%������-��\ٯt)������A�{%� < '�a+<�7�·p�G| O�P�4U:�ԑ�������/�)�w���S,U�Z�h�-<:ھilp�#�PS��LG[��3�@�Q�5аL�P���y~;%6���cx�1̻��CmuU��?�Rn�*�L��Ǵ����2L��(�'�Ɇ��6�,�1���;�E�x�c```f�`F���| ��@�G����$��P��lp�m;�x�c`f��$�#+��x��}|U��^I����zP� M �� EzU�rP���R�G@��X8�Oi �A��B���{|�o�����2;;;�;�3{Є���4-h܄#�ǎ5>Yh���DAg������WAe��Z̅�&�^1uV[��1��J�+%����VA�O5dž Մ��^M�VKΉi��"ꊦ��xRt��(1E��b��(��]��b��Y�.Ήt�%n�"Mh�Z���h��x�����Z{J������^������hK�Z��I�Zۍ�hi�<�����*x��$�R�ƍ:�e�cx� ;{Ԅ�eu�<D�Ǝ�b�C���8iԋ�f���3T��9F˟�>ކ��'&��4p�����:�q��QÒG�v���<pT�?��A ���A��ʬ��#FML��%�4j�Ac�HJ�:r؈���<rB�C�56)ylr���Əf�G8~�X�"���@b��Q/P�ǍN8t�p 0v�@1n��;n�ءÒ�;j��!�&$�8v���eB4n�hT���$O����C�ɛ�x�L�X��`Ԅ�娛84)yTyD�B{[{G{W���h30�3�Y�l�}�\m�6_[�}�-�>�>�i�!kK�e�r�'�J�Z[���ֈ�Zm���A���L۬mѶj۴ϵ���%���8�9m�����5���o�> ��+�]hǰ���*�������[c�j��X�f���4�|�����j6�G�z롢V�_�,�po�.]�~�S�'z�vK�}w<�~@�_%�JY�?c��reAӕ^+� �-I�]Y�ʙ?��i���Y�x����~&�Obj��wô�W��hY[3L�:]8U-�����i]�A�Y30��G�%:� &&�*��}��@*|^3,�u �h��C�$��pơ��ku�����1��U���<T��),�(˰�?��k�[V���_�e彋Z��.� �߅�|�~-y�#��<;������F�$�v�J�J���'}���Eț��g���·��?�X�m��g����Q�/~�h�c��"�e�O�E_O� D.<u��ûu��]Vf����K�/@�>��hj$��vE���� fm;�"����:�1G˾B�?�ͩ�$Z�g Y��z~m��@��gQ~Z'�jh��DAQH~�<�� ����/�{yų9���&�^@u�)_2�-q` �� Grf�s�*P��Q�|58�:��~*�3��a��YF�T�^P�~����[}?����ݎ���D��2^7^W�������P�=�!�MAQ�W���`R����R�N˴&��]�]�*���,1@��ڔ�L�����N�"�jGԮ�_��vL�,Z���"�%:Ԇ���s�#�V��q�����]�M'T��$��:ă5��-�dN�L�C��ɘ1>̊����� �4ŝ2Wh,bM�5"��*�Ca����W��w�.|j2MU���PU�V���a'�l���椥xR��jj�JV��w�g�WU�݈�˰�����MM�'��&�*�}y��8vr 8�F��w�)�=&9:��3fE�$iD�b��1v;�+����G%���@:��:�j~��TS[~�1�s: g�����E�=���%jFe��x��cHٝ���&7i�����%�#-G=ҒPNZ�=Ң�¿LVƬ*��4��ė��#-�F�AZds[�n��glqKQ�➀��p��U���ie�OH���sw���t5;�r�,�:��.��rN.�ʻ���y���:e�{�\�ߦ� )j�n�5��@�x�N:�{��ö�ogAy�N�1U靟��A;ʖ_ ��v�i�i�RN��"8���:o%ndsy͍�(K��$9sQ�-?�w\�Mh����-�0+���ޝ� ����swA�o�o��#�(�n���jˋ�Z���u���?��r{G�Z`Oo�gz�o[ ��M���t{z��ڰuW[1�Q�X��U:X��;���?���I� �V�,�s��N���SAb�X�~魞F^�]Z3�+�/�\f�c~c�i�3F�Δ����})�ى7~�?�z�����R�+D�ů���ӂ��I�RkЈ�0�p�1mҗ5A�o�Rtg����fyL�`�\�����r�a�b�[��29�]z���Tr5M+�,KɄ%���WFD���Կ��۱M8�[�έ<�� ���-b��}9"�v��m���_�lH;_^���aє,�+#"�CD��4���&\�X9r�˾Md�-X��Ԓ��%�tB<P��i�]���D���FD��$�$�wrw�{���=�PJY�{���;K���|d�����;�yx��e��Mԯ_Lj�DW����\��"�M����k��Nf�)�cP��e4�Yd�_E�U��W��Z�bPY�Q�j0�??CO��LB:!��D^�u@����0�"�ZV�`!/蘰-i/Vy�8�^������L�>����Y4��yYu�U]}X�[���\p�+38�.t�Y�$��M#/��t�[�@3@�AJЫ%r��*�8@�h��ߣ��ݐ8�Ø�wA�3?C���+�Xg8Ӛ�W��>�]�FyES/����Aѯ��7�!Du���f��+�v�spx���[��C�;�p�wro���&��9�W�X�8�ɱ}b�;(�ۋ��i��u�2J���ɷ��CQ�/�����V�Mnw q<ؒ��<�5t�IV]�L���죯I��p�"z�J���%�/�▤�/גV�&�+T��Cj� /����?�g�#i�u]��z�k���G�(�TW@r�jfR�o�� y7�Q�ϫ:ǔ�dž7�:Gs�D�� ��n�H��8��~��;�T�E�/d�rmB^�'���m��7�/bZ���Γ��9��x'i���dD�x����r���LV�B��,9�<{oG:x��U�8m)�Ϻ������w�^�f���{�W�i�)���z�$��}�:({�]�Z���t ��� X!ZZ� �s��| ~}B^֍�]��7�ۜ�p���%�>�/�Ca���ߧDD��G��ٓM�V��S��uRd!�>t�s܌|��"��/Şӹx��G!c�Da��3暪!H!�C��7#h*)$E� �jAՐH�?���HR��@��l��d(&�!Y� �Q�W7~��'��ϑD7Z��y���ڟ�t�G@<'�ܬqc�N��5�{\MH��l�UN���5��U�sUI-ʁ�n����ϼ6)�5�@Im*&b �=�j�y<-�όyB1C��O>��h�h�Y7в��j�O��e�b��P�K0E��9q���}|� ��x(�����h�\!�`��S1D�0b9r+D�Mh>9��$jz!�[n$��� `��{S}S�{롵�O�??ke��D�-,�i�ߑ�X]�M0��w� �蜺yY���H��K er�=F!�'�|�2D�8b��Q���;1wڅUh�x6�����\������9�mPi5���)��d�XJ�_��a ��i[��`¶��<�;~=mxc�����_��y<�L�� ~�}ҝ��y� P���mLt�u�UՌ�٩J-�}���,�"�D>简�Ҹ�Y�:!�ܕ����e���* 3%˥�g��W�P0'$:t�a�l�gzZ��4�-�| ��ݮ/�b�����'��?�!u���o�O�����E �@���"K�?������������d��7<-�M�'Նk(��+(~�S@�/m�>���;�I��6d{�W@q���7�}�.OGR�P�o��0V�����4���;�G� ��p ����H�\�ϣK������@N�"z�ۯh> ��}z�~���%�MˌÀ�F2a1�za���H�܌����G�r�>u���6j |�r����h�hI�}�6�Ϯػ{���u��ޟqf&ߣ˄z��đC���h�3��^�]��7 hT'�H1��9��jo��C��0ɋ��d�0�|]S1�����;N�糦���>�.�oA+}<{Z4��׳�<h��#i��E'{y.�����8���H&��q�#٠(�A)�=��2�z/��VO��ҜtT�@�����~y�,�:��,��+ǫ�� ��L'�T�T0�9%e�{���0�_��h�a�62m6�ɱ���u/ ���;B^L%�88�UN�פ���f�!�K6�{ <K� ��=����$[n�g��I4;>P� @��oi���;I��y��P��۷F�-�=�2P� �h�v�8��#aݾ��h��^����1��/�t������P���犪�ثU:y4H:�hC/��:��=��{�@��0�ٓ}�cyȫ�,�x�@��N�.��!�� l�J���R���J�_��n�u��FI}�T����ou��-Vz�YZC�[���!!lFs���6-����R�q��C�H�HRg �SKa�ɢ�]:�ϧ�4��]H" &E]{���|��&�sM�>H�|��� {�����k��,�G���H�`��ׅ��2a�����+9eu6=,&U�+$脗��.ۋ�h��MkA�s����/�2��=�M�_Q{C����y��� u�?�Mv�,D7�T�+��Ĩ�>��u�T0i/��ct�a� #�a�K��{�Ļ��?�K�ϒ r*27Uؼv$�M�l�![�@ƈM��&k�ԩ�B�V���+�ھ遦�_�{#��ߐ|w�G��3��2���G�япm�z=���V���qBꆫzt�����Z+6�zn_��>;;H�� 9��#QK�k: K(� M��} �|y�#t �t�ɓ�[g���V����ֆ� �l�2���먃kH���DU��µT��l�S*~� ��e�=N�P�]ik��R���t���Ϋ�c��w�@��K}��Ii؇��J�4�'���s���~N��`I�Ǩ�\AK��BK�ͥ��; �h�L�WpIn���V�R�B�c�.�m�R8djx0�݂)�ڟm*����^�t�D�N����J}:7$����=���d�������ݘ��Ӄ�pc"%Hܔ IS4��T���B��'|:]UcV�%'�(ar'LzJ)�S�-����ĝK�aK:����T� [���5l��21�M�,wc:zGL�L�ّ�����ƫyE�c�a�R��t�t>J�xs�7D|��}q3�/� i�0&����~������\��"���n����P�+�`��Yn�;�����o<W�[�q�i]y�U���_����1. ;�R�`u� �S?dn��ڐ��͈8�zHn����q��H*��W��w�@�l�u<�ŭv-���f��9�k��~�{a��8��I`��H.����8b�ܡ[�_/�|r� ���].j.2c,�=��[�9�����������g�I�'��d��&��נ� �5�Ɉ�}-�g|I���A�^�+>@�� ��`'o�B��Y\�ʽ$�����%��!���4��2-��Z��r7�� �W�G�0l&�+�,;�UOu5R�y�aN;E���Tbʽ^{� �s��o*���]"�'��P�ȫ�0oJ�W^<�i�ӌ��i���N���[+�P��\}��~y���uy��Ӊ���'�5�B�%��y�EZ4��п�:�]h���\� �T*�Tu��~��jU �F�}�n�)gb+C�j���?��#�4�y����q<��n���3�P^bDX��hw���XT<��~o6�����RZ>���a �N���bm=�.�0�z�����^�Q�zw����k�f2�E"�].�K;9�Ve�z�H%�ki��,R dS ��\COMcU����óYl2�P�N�I�� x�D�'y�<�!�V8�N�Ձ`s�c�X�����]� ����S�K�Q��}Em) �EL�Ö5n"�_X�����:�6|�,���:�cX�~���-��<�ȝg���LΪC��� ��m"�P˼^Ðu����s����ںFp����K��?N�!� �7�$���#س\�҈oz��9Ő�@���������-�&���1}�$�W픦�)sU�5y+�����T,�mRC��3�u�2.��2-��Xij��!ʣ�4�Oб�J���QB��D�:Sք�<�DI�4o�6&�Ub�R�m�;�H|�Z��T5A���ކƼR�i�:��@3sN���� ��L��(��d�N�l��W �`Ԕ�n�i[��[��j#k��r�YM�g�t��w1�u�Tɞx�� =2-�d*f��͍��t7�o�6�3���fzƬ��#��0fQn��;���-^�M�}��I���4l9ۢ���[.�}U���czF���(��.0w�%�K�r�L���{��n�"�IZ�c�ӵ�mv��h�����|�c\�nigJ�A` ��Q+`QM�w�,��?yř:�C��o%7�L��c�ϻy�����J$�V�@�.4���F$�WP����t��5�P�\^��cs��t�ݤ��L1:���#��s�>wǼX�$w�H��σ$�6��v{P��הs�l_*�w��q~�QXd1���Ϩ�qd1�Ɓm���̒_E ��_$~�н��q�H���nH�#7Q���$� ђ~�@��y�Ňv�;��Y"~��'o��h1~w;a��_Dx�"�?�E��/�(��#��ԥ��u��rS�E�_DHo���|"1�����u5�dv_e�3����dBc����=.�r����>@�]��J2 q�4L�*K&��"��8���&1j<�G���q���8��h�U}-��gցN�'Ga���u�ι�ޫhQ����ɼ4�S��Xd헔�Z�\�:�D�/x�]u(�U��t���su�����Eh�Z��P��C�Up;���47�@ڬ?�'襯@C��G�{�%�X]�FV���@:�W�F7Y��0Qke[��8�L�R����E��A*}h#���y¤���k$�y����<������D���N'{c��>==T)p� Wؒ��§8��rQk����a@͍2�r ���`5��������Ѓ�KВ�\��zr�zн���/�QSM�̹m�Gg}E�{m�9R+����UA��?��+�����)�gg��*,-�"����3���N���ԬoLK1�kGm����{��rL�N� �y�9��69����a�}�;���� ��@�͵����!q�.A�Alss2��}zCU.땕 �fJ}#��� ���Xe�<�-"�5r�H����`��b^������<d���E�oi ����E �Qa8��l:FF��H���|��X��^� g#>t��~��E>��*�v�6 ���a�j� ��VS�a�K�g�&�����T�d���XԌ��'z#��e�� Pv��:�e"���G� E{�5��ү�+������m�4Z>YI\��e9��� �r��� ŁP%� �{փ��a���.�2z�Pz�3^]d0#�]Ο��G���7.�Hpƈ}��6t��*'��'�"���Y�=�����j�q�H����/�֪;y�G�6:������EZ�w�����ח�ďE��lT}�2��I(r�Cɰ��\[+��2 )r?�\���]*�[��k�4U.QO����(�FO�y,�M���[d�0����J*����w�jLe��f�Op��� ��X��b����k���ҷ��x#�N}��ε�>�kfTG�S<�GBf�8%6�m�������6�P@/��~�@:H�#�Ѯ�#��f;!<]�D�%~a���C�q�݆ �כ��U9[:U-��x ���ԽܖBԯ��E����Б�7[��H-���C� �oJ���]Uf�2��Z��X�>�g�J�!o�����rc����NȬ�yy�����(h�3���[ɖ�Uh w�c�k�W�@�>�^��s���� 4�z������ʮ��y���J(��k+~�\Ck�K��Z3�W��?�św��^_�W�%pϟ�_PG�9��9[)�z� ��JI���ÑT�n��D�p-FZ?#���/ �g��(���m�����t��X�a�a��?����`�?_OSܷN�&+Ͼ���Ѻ8@��~OB�E/�%�m&=~��d���;x��^�}�.�`��ߍ��v�;/���Zw�P�8�lg�O(vD�܁�Ð|�Qg�Ut��!R`�l�5��8�hѣ�u�.�8��ű�Y4�o��դ����[a�}}�qއ�5��WFQs�� �o�I��,����T��M�E4��cG���6I�^=��n��� �h����"�S��� ��s����ѣӔG�v���ۭG�����)W���I��۫'�܂N��_�ҹ��w�>9#����b��{�r� �U'�v�}�I��*?ȥ�w�|p�y��.@��I�[:�J�b*_��i-=z�}�,����$}�4tc�{彛�rr�G���,#6aB�`�^�f�u�C��-�k�?�j�O�\ݛ(�Uz��E�� m��V�)�qǻ���-�/��:��}� vS� �!W�����*;�(���Sl�Jl���@m���T�v^�m��>���F�E�Z�s<�\:ަ�!�Pڅ���x픢�rB;�Q������o]"����^9�O�]��5G��.�(w��;�*�c���i�G%D��Ř��{W����q6��=�)}ŀ����nj�y��e�]��y ^9��JiJd��n����eOP"G77=�D%�>JLQ�!v[Tkk(Q��ۤ)�:.P"�2f�ҏ�P�RYd�@@"�R�!M)��RCP@�j�aLHuC���0Բr�a� jYp/+��e����T(���<nx�'72d���B� Y����V��|3L-v�{�t�v{�,��s�9 �dȂ��J�kwJ���=z�^��H/U��rP�W��[% �)���Q��"�L�pxr[0�P)~��T�O�fIWYі T��(|U�Gn)_z���ڜ�o=�y��fѦ�=Qj}𧺰�$��x��D܊�C9��cݚU%��5}�i�$�H���t��8?X�~0<l�~�W���\Q��2�|�e�w ����}��s���ۼ{87��7��N�����I�R���o��7͍)��'b��7�lKϴO熷���ٞq�ٖ���t��=�6&g9L�L o�t�~I }��]��Is��r�թƇ��ўpw���&���5ʃ)͍��XgU�Ɋx۳-=�E[��)H����3.=��+��'܆)=�)LG=���Q�H��g��gv��k=P{̐+�O�SԟM��DT�ܗ�}�<T��Ag����N*�Sn�arC�� ����`�Nr/�M(��%���68�� �|?؆��f������T�q�!��vm�����ˆR�;�����zP�{�=Rm���1�P ��1�l��tv��!�63��'��u`��V���w�~vTZ�Tj�ڂzn5���Tn���{�y��3��q�e��$ڸ=�0�?P�+�I�OX��A{�t����L��h\�&U9�S�� ��%��9LȄ^x�u�W���PV��~�(:Ɨ����Q]��h�E���h���,����M�2m@��OUX���it�q��sBn�zP��y�Q1�*O�yCI��5��%�mx`;#�xl-�9hΫ襔-�c�pͺLjB�\�X�iY˱V��j�5� w��#��c��kB�]-]��Z�f{�Z̛s9ּ�=ּ �XsD�c͞�k���7gv�{���ƺCʫ��:��b�q9VI'r�؏�(7���s�S|6T��ʼnu~�[��7 �� iD�8,�> ��ʐ��4��X�,{�q���q��|W�(g�g9�l����r�ΫP`T�JWB{ɍ頳�Axj�&6'��rq���؝����� $/�gi��%�[PΐO�ų�xC:�1�u��©\�N�t�۫P�ð\�7�)�M��* �#��>�h��G�n�5\��O+1���n|.iJ�Q��(4(���Bk���x�{�Qi�\ޯz����#�-�n���uj�S���r��n+/%*p��9B���l�A�:�"?��e�lp6��O7��=��}���*�<Uw��UQLGw�Ai������*5�Z_O����S^n8�}��V��C3���Be:��G����"��^z�S����z����\C��4�"Q�].�z2f��\}�z�@��*)?> �D/x�yqn� ��X.�O�N�@��"~׳|/6�}�&�Vڀ )�V��H� $��ֵ��[��.�s�勫�M��o� iϫ��G�k�GX� ~K��B�;����Ő�A����fo�mi9?��n��l�y���g,L�XF�x�Y��t�������̽ɗ�>� 7W~�i�/O}�5W��=f]9�� �2^����6h7HʄЈz� � ^ �/B�\@wv����^��)x��֡}��T o�C�ȋ؈oy@�?�x�(�|{*��(Qod*~�~o��W�kB�E�AE���/� �CR�q��@�����6PM~3i �?��9>��і�F���!\^���ӂ�����i��KIyE4X�}���1����pj�>�fA�,�G�%�0��i}�E,J5:1n�fOW�hs]�s��ٮ5T�����[��3Nʧg"��#sy�5۴�\^e�ʧ�g��_�J��Q%7z���.�؝��Cx�'O���%���7\7H/c]Y(��ؕ���ŗ���R�� ~���y��N�R*绅���\K��2S8#�a��ZT�q�\+�ԋ�+\�/=z~�K]���4�7�gDŽ�f C�}��I��$��g>C�*���M������h�B�O8�=�B��"�S�+�����Y�;c(~�H -J��Y��b�)��^D�/c��O�2 #ڇ"?�U��[_"���q�V�L�V�lR� 9�E�BmPP��ޢ�#\�*��<&Q ���":y�u ����;�އ��}�%��W�8��1��䰋>,�ɰ���t�iظ����K(��Q&����Dx�G��e�}���|�ɜ2�s�T@��>N�2}��l�I�B�@k��\�j⤩�o��<�r<�+�zkq�t$5�eC�ji�ԁKl�^�1\(騎�3R�8�Y}!��JX$�:ӆ*��P�a�f�2��{ngN�\�|��̀�)X$#����X� Ґ)L�FQ�U.�O'�i\�y�M��㓨��~�����E?>�����no������n��t���߉�|� ���1�P,�/��hzs�Q�/��-�Xri]��aQ�U��ܵR�r��� �1٦���Y»q�p%��凙�*Q� �E�s�I�]��&pf?n4�w�V(�m �Ϻ��ʿj�Q��Iϥč��b�G悤� �"�Zs���?;�06�b*�E�+�N&�l�C�F�� A8����x13�.K�YY<1����e��O�h���MF�_�e<*�c_�S��Ȫ�U��F�j�������:$|�B�ڗ���L��ɪ��2�)d�ʅ|pEeu�0E�6V~�l���C�Z������j2��� �c4�O�4�;w��9M�� ^�l>:l��7_Q|�ܖ���o��Vpx�1#�~E�C��t�5���0¼ 21�L�0/�Ե���M?�3n�m8#M��$B�[J��D�~�)B�f���N�r'���/�/� i�pᦡ+�a��Γ�9�Ji\W�~$�8h�L�F۪�r�K�ޢh6z��E ��);a�� �� �4 Ӈ���~�B���!ה���Lj�����I��\�}�k�Q�˜7?� �!��[ז��*x�Y�z=��������*�O=&c����Ќ=G�*p����5�����mK:�%<�t��y���D~൦2�!1g�89o*�!|��*���>ƥ�{�������f$�~��~���5u�O0��t�)b�A[,��e�&9|~����=�I���K,���L5uP;�e����[ƫ%2�@e=�V[�E ֑=2���f�@�Vv�ȄyjQ�O�4��e�;�4r�s����bDHV{.R|��S��!��?�@<90��[O�%g$L�iH\"j���TӬ��b�RD�[�'?� �&.�n��Q�܅�U�<�y"�oYjF ������p6z�~��a��W=��Be.�QW�6wBny8}�7;ó���r���(*�@��d�����mv�m���q~D�p��X9�f'L�fgz6;���Ȏ�gxjz�:���}y+s~#6n&m���U~�5��ւ��� �^�w�h�M��3�9��b���y�%�UV�\���P+���1���a���ن���Ue�|mV���0�Ϧ�3 �/%�%b»H�0v�h��]��������%��`���< �Â��Zn3��y��y�Q2�/�_]'Rʂh���4����Z�q���G�d�:�q4�fq[�o�k�Ş�E�YQ�8-�i��촍��-���2��:nv��ൔ-�r��wpDg��Qq曆7�t5m�P�k���:�(kJnm��l�`?��S��ĭ ��#G���{�>6�u�d�L�s+�n�8�~UQ+jö0�S�1���&��c8����P�0�b2o��3���i�}AGc�("�"s�Sx_o?��b��D�ǖ�2CZ��!�Z}��{(������m��|K/��4�(���l�+>� ����ά�]�zlƮKج�{�q�9 ���F�aH�F �U�0O�5IRC�]�6�x*�TӚy��Π$o:}�����o��1b7ԗ�M��AM ������r����4��I�jp/��m2l�kop�^L�oE��!-���)dq>�e`;��K��R��|�q�[�lĆ�ۋ�|e&e1���. �b�G����5~���5rZ���&���[J٩�B.t<�5���� �ן����Ø�\(��N����<�4�3�_�ZD�����<�P��Ю����KNq�IF�aK�5 ���8�y���r�khQ���͇5�b_Դ�3/��M&ԅy1���!��JCS��x+��?�U����͂4� [�է���ci�W�w(�A�Q2�u�~b'�9�[ �<~�&w7;;�C��Ec/�{����9�]��D���Ulq�p�zԌ����AjW�;ufz:�:��������A��i�c�˺u㼩E�ӝ�{�E�݂26�{�I��FpP��xO������+�yӶ���8F�U�։��#�����緤凲G?��7Z��_fd�O`F&~N���`s�,R.�,k���Ghu6�ZN�W�D�os(c�V?�/3��Fr��"Z��ZV4�P��R�Q��:���e�6���}�����kG#dlk#n��8E�(ʸFm�嘂���s���,�����:OB�ye���x���$U��j�$�6���c�85�#��0�R� �v��G��X�* ���<��о� � ���\-������=�5���>�=Z���$��ā;�����=�;����2��ߠ�� �6Vt1iF�>7a��h� �I�w�T. KQ�f�3�K�%����o4U��jy��@ȫȯ4�r��An����bJ�p��S/z�"���QɭT�Ǫ*_,c�{��w�������z�8b/���|�����'�&t0���V��-)ۮn�=5��1Z�t�k#����c�\��F��弅kX��e[����>4U$�����>&*y�N�i;���Ű�y��ӏ��dC��B��U����|�8((��+����]A�sD8��|Kh�e��E��_��`=m�ܾ��Gj=�{f7G��Gg d��4u�6 ֵ)��_��|�Z�#dȩ�lf-�����2,�қ��|�a��H�o I�X]�=D��+e7�(e��B�Zr�|����a���,c�p�d�9�(a��*0)2���lDV� nP-+�2 �cB�ULq. ��q���g��pmpH5��0[�&"D�h&ڊ^�r��F�.�a�9G���WE�:�(:)��� �খ��?OU���� o���鲉-$[���*|=���?�������5~"�&?�Y] M�4��[��t�0\�XS������)���.x�� $$���w5��_�����Eށ�h��Q/!969J�7ŝ2W��5%�rP�'��@B�Ym~�����%|�^"�{e�2�#ZY�Ry�����+�D��Q���O�y�D��a?���n#��G�S\KO]�����g �<�{z�ٱp��$��r l"ÆE,d��eA��5?���1��lW���=��u+�}���0v?y��էtx�t�������� ��x:����`��j-�^ɐ✺�+%r0(��WzϺ�a �+7Rk:���8����0��x�cb```b`�``b�� Ϡ��@�%B��/����*�3��_����`����/3D����?�8������g`��v�����B�$vx�c```d���|�ז���c� PK�{�\R^s�#k#ksummernote-lite.cssnu�[���@font-face{font-family:"summernote";font-style:normal;font-weight:normal;src:url("./font/summernote.eot?dbafe969167589eda84514394d126413");src:url("./font/summernote.eot?#iefix") format("embedded-opentype"),url("./font/summernote.woff?dbafe969167589eda84514394d126413") format("woff"),url("./font/summernote.ttf?dbafe969167589eda84514394d126413") format("truetype")}[class^="note-icon-"]:before,[class*=" note-icon-"]:before{display:inline-block;font:normal normal normal 14px summernote;font-size:inherit;-webkit-font-smoothing:antialiased;text-decoration:inherit;text-rendering:auto;text-transform:none;vertical-align:middle;speak:none;-moz-osx-font-smoothing:grayscale}.note-icon-align-center:before,.note-icon-align-indent:before,.note-icon-align-justify:before,.note-icon-align-left:before,.note-icon-align-outdent:before,.note-icon-align-right:before,.note-icon-align:before,.note-icon-arrow-circle-down:before,.note-icon-arrow-circle-left:before,.note-icon-arrow-circle-right:before,.note-icon-arrow-circle-up:before,.note-icon-arrows-alt:before,.note-icon-arrows-h:before,.note-icon-arrows-v:before,.note-icon-bold:before,.note-icon-caret:before,.note-icon-chain-broken:before,.note-icon-circle:before,.note-icon-close:before,.note-icon-code:before,.note-icon-col-after:before,.note-icon-col-before:before,.note-icon-col-remove:before,.note-icon-eraser:before,.note-icon-font:before,.note-icon-frame:before,.note-icon-italic:before,.note-icon-link:before,.note-icon-magic:before,.note-icon-menu-check:before,.note-icon-minus:before,.note-icon-orderedlist:before,.note-icon-pencil:before,.note-icon-picture:before,.note-icon-question:before,.note-icon-redo:before,.note-icon-row-above:before,.note-icon-row-below:before,.note-icon-row-remove:before,.note-icon-special-character:before,.note-icon-square:before,.note-icon-strikethrough:before,.note-icon-subscript:before,.note-icon-summernote:before,.note-icon-superscript:before,.note-icon-table:before,.note-icon-text-height:before,.note-icon-trash:before,.note-icon-underline:before,.note-icon-undo:before,.note-icon-unorderedlist:before,.note-icon-video:before{display:inline-block;font-family:"summernote";font-style:normal;font-weight:normal;text-decoration:inherit}.note-icon-align-center:before{content:"\f101"}.note-icon-align-indent:before{content:"\f102"}.note-icon-align-justify:before{content:"\f103"}.note-icon-align-left:before{content:"\f104"}.note-icon-align-outdent:before{content:"\f105"}.note-icon-align-right:before{content:"\f106"}.note-icon-align:before{content:"\f107"}.note-icon-arrow-circle-down:before{content:"\f108"}.note-icon-arrow-circle-left:before{content:"\f109"}.note-icon-arrow-circle-right:before{content:"\f10a"}.note-icon-arrow-circle-up:before{content:"\f10b"}.note-icon-arrows-alt:before{content:"\f10c"}.note-icon-arrows-h:before{content:"\f10d"}.note-icon-arrows-v:before{content:"\f10e"}.note-icon-bold:before{content:"\f10f"}.note-icon-caret:before{content:"\f110"}.note-icon-chain-broken:before{content:"\f111"}.note-icon-circle:before{content:"\f112"}.note-icon-close:before{content:"\f113"}.note-icon-code:before{content:"\f114"}.note-icon-col-after:before{content:"\f115"}.note-icon-col-before:before{content:"\f116"}.note-icon-col-remove:before{content:"\f117"}.note-icon-eraser:before{content:"\f118"}.note-icon-font:before{content:"\f119"}.note-icon-frame:before{content:"\f11a"}.note-icon-italic:before{content:"\f11b"}.note-icon-link:before{content:"\f11c"}.note-icon-magic:before{content:"\f11d"}.note-icon-menu-check:before{content:"\f11e"}.note-icon-minus:before{content:"\f11f"}.note-icon-orderedlist:before{content:"\f120"}.note-icon-pencil:before{content:"\f121"}.note-icon-picture:before{content:"\f122"}.note-icon-question:before{content:"\f123"}.note-icon-redo:before{content:"\f124"}.note-icon-row-above:before{content:"\f125"}.note-icon-row-below:before{content:"\f126"}.note-icon-row-remove:before{content:"\f127"}.note-icon-special-character:before{content:"\f128"}.note-icon-square:before{content:"\f129"}.note-icon-strikethrough:before{content:"\f12a"}.note-icon-subscript:before{content:"\f12b"}.note-icon-summernote:before{content:"\f12c"}.note-icon-superscript:before{content:"\f12d"}.note-icon-table:before{content:"\f12e"}.note-icon-text-height:before{content:"\f12f"}.note-icon-trash:before{content:"\f130"}.note-icon-underline:before{content:"\f131"}.note-icon-undo:before{content:"\f132"}.note-icon-unorderedlist:before{content:"\f133"}.note-icon-video:before{content:"\f134"}.note-frame *{color:#000;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}p{margin:0 0 10px}kbd{padding:3px 5px;font-weight:700;color:#fff;background-color:#000;border-radius:2px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.note-toolbar{padding:10px 5px;border-bottom:1px solid #e2e2e2}.note-btn-group{position:relative;display:inline-block;margin-right:8px}.note-btn-group>.note-btn-group{margin-right:0}.note-btn-group>.note-btn,.note-btn-group>.note-btn-group{margin-left:-4px;border-radius:0}.note-btn-group>.note-btn.focus,.note-btn-group>.note-btn-group.focus,.note-btn-group>.note-btn.active,.note-btn-group>.note-btn-group.active{border-radius:0}.note-btn-group>.note-btn:first-child,.note-btn-group>.note-btn-group:first-child{margin-left:0;border-bottom-left-radius:1px;border-top-left-radius:1px}.note-btn-group>.note-btn:first-child.focus,.note-btn-group>.note-btn-group:first-child.focus,.note-btn-group>.note-btn:first-child.active,.note-btn-group>.note-btn-group:first-child.active{border-bottom-left-radius:1px;border-top-left-radius:1px}.note-btn-group>.note-btn:last-child:not(.note-dropdown),.note-btn-group>.note-btn-group:last-child:not(.note-dropdown){border-top-right-radius:1px;border-bottom-right-radius:1px}.note-btn-group>.note-btn:last-child:not(.note-dropdown).focus,.note-btn-group>.note-btn-group:last-child:not(.note-dropdown).focus,.note-btn-group>.note-btn:last-child:not(.note-dropdown).active,.note-btn-group>.note-btn-group:last-child:not(.note-dropdown).active{border-top-right-radius:1px;border-bottom-right-radius:1px}.note-btn-group.open>.note-dropdown{display:block}.note-btn{display:inline-block;padding:5px 10px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.4;color:#333;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;background-color:#fff;background-image:none;border:1px solid #fff;border-color:#fff;border-radius:1px;outline:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;touch-action:manipulation}.note-btn:focus,.note-btn.focus{color:#333;background-color:#ebebeb;border-color:#fff}.note-btn:hover{color:#333;background-color:#ebebeb;border-color:#fff}.note-btn.disabled:focus,.note-btn[disabled]:focus,fieldset[disabled] .note-btn:focus,.note-btn.disabled.focus,.note-btn[disabled].focus,fieldset[disabled] .note-btn.focus{background-color:#fff;border-color:#fff}.note-btn:hover,.note-btn:focus,.note-btn.focus{color:#333;text-decoration:none;background-color:#ebebeb;border:1px solid #fff;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;outline:0}.note-btn:active,.note-btn.active{background-image:none;outline:0}.note-btn.disabled,.note-btn[disabled],fieldset[disabled] .note-btn{cursor:not-allowed;-webkit-opacity:.65;-khtml-opacity:.65;-moz-opacity:.65;opacity:.65;-ms-filter:alpha(opacity=65);filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.note-btn-primary{color:#fff;background:#fa6362}.note-btn-primary:hover,.note-btn-primary:focus,.note-btn-primary.focus{color:#fff;text-decoration:none;background-color:#fa6362;border:1px solid #fff;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}.note-btn-block{display:block;width:100%}.note-btn-block+.note-btn-block{margin-top:5px}input[type="submit"].note-btn-block,input[type="reset"].note-btn-block,input[type="button"].note-btn-block{width:100%}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.close{float:right;font-size:21px;line-height:1;color:#000;opacity:.2}.close:hover{-webkit-opacity:1;-khtml-opacity:1;-moz-opacity:1;opacity:1;-ms-filter:alpha(opacity=100);filter:alpha(opacity=100)}.note-dropdown{position:relative}.note-dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:100px;padding:5px;text-align:left;background:#fff;border:1px solid #e2e2e2;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.06);-moz-box-shadow:0 1px 1px rgba(0,0,0,0.06);box-shadow:0 1px 1px rgba(0,0,0,0.06);background-clip:padding-box}.note-btn-group.open .note-dropdown-menu{display:block}.note-dropdown-item{display:block}.note-dropdown-item:hover{background-color:#ebebeb}a.note-dropdown-item,a.note-dropdown-item:hover{margin:2px 0;color:#000;text-decoration:none}.note-modal{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-opacity:1;-khtml-opacity:1;-moz-opacity:1;opacity:1;-ms-filter:alpha(opacity=100);filter:alpha(opacity=100)}.note-modal.open{display:block}.note-modal-content{position:relative;width:auto;margin:30px 20px;background:#fff;border:1px solid rgba(0,0,0,0.2);outline:0;background-clip:border-box}.note-modal-header{padding:30px 20px 20px 20px;border:1px solid #ededef}.note-modal-header .close{margin-top:-10px}.note-modal-body{position:relative;padding:20px 30px}.note-modal-footer{height:40px;padding:10px;text-align:center}.note-modal-footer a{color:#337ab7;text-decoration:none}.note-modal-footer a:hover,.note-modal-footer a:focus{color:#23527c;text-decoration:underline}.note-modal-footer .note-btn{float:right}.note-modal-title{margin:0;font-size:26px;line-height:1.4;color:#42515f}.note-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1040;display:none;background:#000;-webkit-opacity:.5;-khtml-opacity:.5;-moz-opacity:.5;opacity:.5;-ms-filter:alpha(opacity=50);filter:alpha(opacity=50)}.note-modal-backdrop.open{display:block}@media(min-width:768px){.note-modal-content{width:600px;margin:30px auto}}@media(min-width:992px){.note-modal-content-large{width:900px}}.note-form-group{padding-bottom:20px}.note-form-group:last-child{padding-bottom:0}.note-form-label{display:block;margin-bottom:10px;font-size:16px;font-weight:700;color:#42515f}.note-input{display:block;width:100%;padding:6px 4px;font-size:14px;background:#fff;border:1px solid #ededef;outline:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.note-input::-webkit-input-placeholder{color:#eee}.note-input:-moz-placeholder{color:#eee}.note-input::-moz-placeholder{color:#eee}.note-input:-ms-input-placeholder{color:#eee}.note-tooltip{position:absolute;z-index:1070;display:block;font-size:13px;-webkit-opacity:0;-khtml-opacity:0;-moz-opacity:0;opacity:0;-ms-filter:alpha(opacity=0);filter:alpha(opacity=0)}.note-tooltip.in{-webkit-opacity:.9;-khtml-opacity:.9;-moz-opacity:.9;opacity:.9;-ms-filter:alpha(opacity=90);filter:alpha(opacity=90)}.note-tooltip.top{padding:5px 0;margin-top:-3px}.note-tooltip.right{padding:0 5px;margin-left:3px}.note-tooltip.bottom{padding:5px 0;margin-top:3px}.note-tooltip.left{padding:0 5px;margin-left:-3px}.note-tooltip.bottom .note-tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#000;border-width:0 5px 5px}.note-tooltip.top .note-tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#000;border-width:5px 5px 0}.note-tooltip.right .note-tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#000;border-width:5px 5px 5px 0}.note-tooltip.left .note-tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#000;border-width:5px 0 5px 5px}.note-tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.note-tooltip-content{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000}.note-popover{position:absolute;z-index:1060;display:block;display:none;font-size:13px;background:#fff;border:1px solid rgba(0,0,0,0.2);border:1px solid #ccc}.note-popover.in{display:block}.note-popover.top{padding:5 0;margin-top:-3px}.note-popover.right{padding:0 5;margin-left:3px}.note-popover.bottom{padding:5 0;margin-top:3px}.note-popover.left{padding:0 5;margin-left:-3px}.note-popover.bottom .note-popover-arrow{top:-11px;left:50%;margin-left:-10px;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);border-top-width:0}.note-popover.bottom .note-popover-arrow::after{top:1px;margin-left:-10px;border-bottom-color:#fff;border-top-width:0;content:" "}.note-popover.top .note-popover-arrow{bottom:-11px;left:50%;margin-left:-10px;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);border-bottom-width:0}.note-popover.top .note-popover-arrow::after{bottom:1px;margin-left:-10px;border-top-color:#fff;border-bottom-width:0;content:" "}.note-popover.right .note-popover-arrow{top:50%;left:-11px;margin-top:-10px;border-right-color:#999;border-right-color:rgba(0,0,0,0.25);border-left-width:0}.note-popover.right .note-popover-arrow::after{left:1px;margin-top:-10px;border-right-color:#fff;border-left-width:0;content:" "}.note-popover.left .note-popover-arrow{top:50%;right:-11px;margin-top:-10px;border-left-color:#999;border-left-color:rgba(0,0,0,0.25);border-right-width:0}.note-popover.left .note-popover-arrow::after{right:1px;margin-top:-10px;border-left-color:#fff;border-right-width:0;content:" "}.note-popover-arrow{position:absolute;width:0;height:0;border:11px solid transparent}.note-popover-arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid;border-width:10px;content:" "}.note-popover-content{min-width:100px;min-height:30px;padding:3px 8px;color:#000;text-align:center;background-color:#fff}.note-editor{position:relative}.note-editor .note-dropzone{position:absolute;z-index:100;display:none;color:#87cefa;background-color:#fff;opacity:.95;pointer-event:none}.note-editor .note-dropzone .note-dropzone-message{display:table-cell;font-size:28px;font-weight:700;text-align:center;vertical-align:middle}.note-editor .note-dropzone.hover{color:#098ddf}.note-editor.dragover .note-dropzone{display:table}.note-editor .note-editing-area{position:relative}.note-editor .note-editing-area p{margin:0 0 10px}.note-editor .note-editing-area .note-editable{outline:0}.note-editor .note-editing-area .note-editable table{width:100%;border-collapse:collapse}.note-editor .note-editing-area .note-editable table td,.note-editor .note-editing-area .note-editable table th{padding:5px 3px;border:1px solid #ececec}.note-editor .note-editing-area .note-editable sup{vertical-align:super}.note-editor .note-editing-area .note-editable sub{vertical-align:sub}.note-editor .note-editing-area .note-editable a{font-family:inherit;font-weight:inherit;color:#337ab7;text-decoration:inherit;background-color:inherit}.note-editor .note-editing-area .note-editable a:hover,.note-editor .note-editing-area .note-editable a:focus{color:#23527c;text-decoration:underline;outline:0}.note-editor .note-editing-area .note-editable figure{margin:0}.note-editor.note-frame{border:1px solid #a9a9a9}.note-editor.note-frame.codeview .note-editing-area .note-editable{display:none}.note-editor.note-frame.codeview .note-editing-area .note-codable{display:block}.note-editor.note-frame .note-editing-area{overflow:hidden}.note-editor.note-frame .note-editing-area .note-editable{padding:10px;overflow:auto;color:#000;word-wrap:break-word;background-color:#fff}.note-editor.note-frame .note-editing-area .note-editable[contenteditable="false"]{background-color:#e5e5e5}.note-editor.note-frame .note-editing-area .note-codable{display:none;width:100%;padding:10px;margin-bottom:0;font-family:Menlo,Monaco,monospace,sans-serif;font-size:14px;color:#ccc;background-color:#222;border:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;box-shadow:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;resize:none}.note-editor.note-frame.fullscreen{position:fixed;top:0;left:0;z-index:1050;width:100%!important}.note-editor.note-frame.fullscreen .note-editable{background-color:#fff}.note-editor.note-frame.fullscreen .note-resizebar{display:none}.note-editor.note-frame .note-status-output{display:block;width:100%;height:20px;margin-bottom:0;font-size:14px;line-height:1.42857143;color:#000;border:0;border-top:1px solid #e2e2e2}.note-editor.note-frame .note-status-output:empty{height:0;border-top:0 solid transparent}.note-editor.note-frame .note-status-output .pull-right{float:right!important}.note-editor.note-frame .note-status-output .text-muted{color:#777}.note-editor.note-frame .note-status-output .text-primary{color:#286090}.note-editor.note-frame .note-status-output .text-success{color:#3c763d}.note-editor.note-frame .note-status-output .text-info{color:#31708f}.note-editor.note-frame .note-status-output .text-warning{color:#8a6d3b}.note-editor.note-frame .note-status-output .text-danger{color:#a94442}.note-editor.note-frame .note-status-output .alert{padding:7px 10px 2px 10px;margin:-7px 0 0 0;color:#000;background-color:#f5f5f5;border-radius:0}.note-editor.note-frame .note-status-output .alert .note-icon{margin-right:5px}.note-editor.note-frame .note-status-output .alert-success{color:#3c763d!important;background-color:#dff0d8!important}.note-editor.note-frame .note-status-output .alert-info{color:#31708f!important;background-color:#d9edf7!important}.note-editor.note-frame .note-status-output .alert-warning{color:#8a6d3b!important;background-color:#fcf8e3!important}.note-editor.note-frame .note-status-output .alert-danger{color:#a94442!important;background-color:#f2dede!important}.note-editor.note-frame .note-statusbar{background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.note-editor.note-frame .note-statusbar .note-resizebar{width:100%;height:9px;padding-top:1px;cursor:ns-resize}.note-editor.note-frame .note-statusbar .note-resizebar .note-icon-bar{width:20px;margin:1px auto;border-top:1px solid #a9a9a9}.note-editor.note-frame .note-statusbar.locked .note-resizebar{cursor:default}.note-editor.note-frame .note-statusbar.locked .note-resizebar .note-icon-bar{display:none}.note-editor.note-frame .note-placeholder{padding:10px}.note-popover{max-width:none}.note-popover .note-popover-content a{display:inline-block;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.note-popover .note-popover-arrow{left:20px!important}.note-popover .note-popover-content,.note-toolbar{padding:0 0 5px 5px;margin:0;background-color:#fff}.note-popover .note-popover-content>.note-btn-group,.note-toolbar>.note-btn-group{margin-top:5px;margin-right:5px;margin-left:0}.note-popover .note-popover-content .note-btn-group .note-table,.note-toolbar .note-btn-group .note-table{min-width:0;padding:5px}.note-popover .note-popover-content .note-btn-group .note-table .note-dimension-picker,.note-toolbar .note-btn-group .note-table .note-dimension-picker{font-size:18px}.note-popover .note-popover-content .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-mousecatcher,.note-toolbar .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-mousecatcher{position:absolute!important;z-index:3;width:10em;height:10em;cursor:pointer}.note-popover .note-popover-content .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-unhighlighted,.note-toolbar .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-unhighlighted{position:relative!important;z-index:1;width:5em;height:5em;background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASAgMAAAAroGbEAAAACVBMVEUAAIj4+Pjp6ekKlAqjAAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfYAR0BKhmnaJzPAAAAG0lEQVQI12NgAAOtVatWMTCohoaGUY+EmIkEAEruEzK2J7tvAAAAAElFTkSuQmCC') repeat}.note-popover .note-popover-content .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-highlighted,.note-toolbar .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-highlighted{position:absolute!important;z-index:2;width:1em;height:1em;background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASAgMAAAAroGbEAAAACVBMVEUAAIjd6vvD2f9LKLW+AAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfYAR0BKwNDEVT0AAAAG0lEQVQI12NgAAOtVatWMTCohoaGUY+EmIkEAEruEzK2J7tvAAAAAElFTkSuQmCC') repeat}.note-popover .note-popover-content .note-style h1,.note-toolbar .note-style h1,.note-popover .note-popover-content .note-style h2,.note-toolbar .note-style h2,.note-popover .note-popover-content .note-style h3,.note-toolbar .note-style h3,.note-popover .note-popover-content .note-style h4,.note-toolbar .note-style h4,.note-popover .note-popover-content .note-style h5,.note-toolbar .note-style h5,.note-popover .note-popover-content .note-style h6,.note-toolbar .note-style h6,.note-popover .note-popover-content .note-style blockquote,.note-toolbar .note-style blockquote{margin:0}.note-popover .note-popover-content .note-color .dropdown-toggle,.note-toolbar .note-color .dropdown-toggle{width:20px;padding-left:5px}.note-popover .note-popover-content .note-color .note-dropdown-menu,.note-toolbar .note-color .note-dropdown-menu{min-width:346px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.note-popover .note-popover-content .note-color .note-dropdown-menu .note-palette,.note-toolbar .note-color .note-dropdown-menu .note-palette{display:inline-block;width:160px;margin:0}.note-popover .note-popover-content .note-color .note-dropdown-menu .note-palette:first-child,.note-toolbar .note-color .note-dropdown-menu .note-palette:first-child{margin:0 5px;margin-right:15px}.note-popover .note-popover-content .note-color .note-dropdown-menu .note-palette .note-palette-title,.note-toolbar .note-color .note-dropdown-menu .note-palette .note-palette-title{margin:2px 7px;font-size:12px;text-align:center;border-bottom:1px solid #eee}.note-popover .note-popover-content .note-color .note-dropdown-menu .note-palette .note-color-reset,.note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-reset{width:100%;padding:2px 3px;margin:3px;cursor:pointer;background-color:#fff;border:0;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.note-popover .note-popover-content .note-color .note-dropdown-menu .note-palette .note-color-row,.note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-row{height:20px}.note-popover .note-popover-content .note-color .note-dropdown-menu .note-palette .note-color-reset:hover,.note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-reset:hover{background:#eee}.note-popover .note-popover-content .note-para .note-dropdown-menu,.note-toolbar .note-para .note-dropdown-menu{min-width:216px;padding:5px}.note-popover .note-popover-content .note-para .note-dropdown-menu>div:first-child,.note-toolbar .note-para .note-dropdown-menu>div:first-child{margin-right:5px}.note-popover .note-popover-content .note-btn-fontname .note-dropdown-menu,.note-toolbar .note-btn-fontname .note-dropdown-menu{min-width:200px}.note-popover .note-popover-content .note-dropdown-menu,.note-toolbar .note-dropdown-menu{min-width:160px}.note-popover .note-popover-content .note-dropdown-menu.right,.note-toolbar .note-dropdown-menu.right{right:0;left:auto}.note-popover .note-popover-content .note-dropdown-menu.right::before,.note-toolbar .note-dropdown-menu.right::before{right:9px;left:auto!important}.note-popover .note-popover-content .note-dropdown-menu.right::after,.note-toolbar .note-dropdown-menu.right::after{right:10px;left:auto!important}.note-popover .note-popover-content .note-dropdown-menu.note-check .note-dropdown-item i,.note-toolbar .note-dropdown-menu.note-check .note-dropdown-item i{color:deepskyblue;visibility:hidden}.note-popover .note-popover-content .note-dropdown-menu.note-check .note-dropdown-item.checked i,.note-toolbar .note-dropdown-menu.note-check .note-dropdown-item.checked i{visibility:visible}.note-popover .note-popover-content .note-dropdown-menu .note-dropdown-item>*,.note-toolbar .note-dropdown-menu .note-dropdown-item>*{margin:0}.note-popover .note-popover-content .note-fontsize-10,.note-toolbar .note-fontsize-10{font-size:10px}.note-popover .note-popover-content .note-color-palette,.note-toolbar .note-color-palette{line-height:1}.note-popover .note-popover-content .note-color-palette div .note-color-btn,.note-toolbar .note-color-palette div .note-color-btn{width:20px;height:20px;padding:0;margin:0;border:1px solid #fff}.note-popover .note-popover-content .note-color-palette div .note-color-btn:hover,.note-toolbar .note-color-palette div .note-color-btn:hover{border:1px solid #000}.note-modal .note-modal-body label{display:inline-block;padding:2px 5px;margin-bottom:2px}.note-modal .note-modal-body .help-list-item:hover{background-color:#e0e0e0}@-moz-document url-prefix(){.note-image-input{height:auto}}.note-placeholder{position:absolute;display:none;color:gray}.note-handle .note-control-selection{position:absolute;display:none;border:1px solid black}.note-handle .note-control-selection>div{position:absolute}.note-handle .note-control-selection .note-control-selection-bg{width:100%;height:100%;background-color:#000;-webkit-opacity:.3;-khtml-opacity:.3;-moz-opacity:.3;opacity:.3;-ms-filter:alpha(opacity=30);filter:alpha(opacity=30)}.note-handle .note-control-selection .note-control-handle{width:7px;height:7px;border:1px solid #000}.note-handle .note-control-selection .note-control-holder{width:7px;height:7px;border:1px solid #000}.note-handle .note-control-selection .note-control-sizing{width:7px;height:7px;background-color:#fff;border:1px solid #000}.note-handle .note-control-selection .note-control-nw{top:-5px;left:-5px;border-right:0;border-bottom:0}.note-handle .note-control-selection .note-control-ne{top:-5px;right:-5px;border-bottom:0;border-left:none}.note-handle .note-control-selection .note-control-sw{bottom:-5px;left:-5px;border-top:0;border-right:0}.note-handle .note-control-selection .note-control-se{right:-5px;bottom:-5px;cursor:se-resize}.note-handle .note-control-selection .note-control-se.note-control-holder{cursor:default;border-top:0;border-left:none}.note-handle .note-control-selection .note-control-selection-info{right:0;bottom:0;padding:5px;margin:5px;font-size:12px;color:#fff;background-color:#000;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;-webkit-opacity:.7;-khtml-opacity:.7;-moz-opacity:.7;opacity:.7;-ms-filter:alpha(opacity=70);filter:alpha(opacity=70)}.note-hint-popover{min-width:100px;padding:2px}.note-hint-popover .note-popover-content{max-height:150px;padding:3px;overflow:auto}.note-hint-popover .note-popover-content .note-hint-group .note-hint-item{display:block!important;padding:3px}.note-hint-popover .note-popover-content .note-hint-group .note-hint-item.active,.note-hint-popover .note-popover-content .note-hint-group .note-hint-item:hover{display:block;clear:both;font-weight:400;line-height:1.4;color:#fff;text-decoration:none;white-space:nowrap;cursor:pointer;background-color:#428bca;outline:0}.help-list-item label{display:inline-block;margin-bottom:5px}PK�{�\�P�WMEMEsummernote.cssnu�[���@font-face{font-family:"summernote";font-style:normal;font-weight:normal;src:url("./font/summernote.eot?dbafe969167589eda84514394d126413");src:url("./font/summernote.eot?#iefix") format("embedded-opentype"),url("./font/summernote.woff?dbafe969167589eda84514394d126413") format("woff"),url("./font/summernote.ttf?dbafe969167589eda84514394d126413") format("truetype")}[class^="note-icon-"]:before,[class*=" note-icon-"]:before{display:inline-block;font:normal normal normal 14px summernote;font-size:inherit;-webkit-font-smoothing:antialiased;text-decoration:inherit;text-rendering:auto;text-transform:none;vertical-align:middle;speak:none;-moz-osx-font-smoothing:grayscale}.note-icon-align-center:before,.note-icon-align-indent:before,.note-icon-align-justify:before,.note-icon-align-left:before,.note-icon-align-outdent:before,.note-icon-align-right:before,.note-icon-align:before,.note-icon-arrow-circle-down:before,.note-icon-arrow-circle-left:before,.note-icon-arrow-circle-right:before,.note-icon-arrow-circle-up:before,.note-icon-arrows-alt:before,.note-icon-arrows-h:before,.note-icon-arrows-v:before,.note-icon-bold:before,.note-icon-caret:before,.note-icon-chain-broken:before,.note-icon-circle:before,.note-icon-close:before,.note-icon-code:before,.note-icon-col-after:before,.note-icon-col-before:before,.note-icon-col-remove:before,.note-icon-eraser:before,.note-icon-font:before,.note-icon-frame:before,.note-icon-italic:before,.note-icon-link:before,.note-icon-magic:before,.note-icon-menu-check:before,.note-icon-minus:before,.note-icon-orderedlist:before,.note-icon-pencil:before,.note-icon-picture:before,.note-icon-question:before,.note-icon-redo:before,.note-icon-row-above:before,.note-icon-row-below:before,.note-icon-row-remove:before,.note-icon-special-character:before,.note-icon-square:before,.note-icon-strikethrough:before,.note-icon-subscript:before,.note-icon-summernote:before,.note-icon-superscript:before,.note-icon-table:before,.note-icon-text-height:before,.note-icon-trash:before,.note-icon-underline:before,.note-icon-undo:before,.note-icon-unorderedlist:before,.note-icon-video:before{display:inline-block;font-family:"summernote";font-style:normal;font-weight:normal;text-decoration:inherit}.note-icon-align-center:before{content:"\f101"}.note-icon-align-indent:before{content:"\f102"}.note-icon-align-justify:before{content:"\f103"}.note-icon-align-left:before{content:"\f104"}.note-icon-align-outdent:before{content:"\f105"}.note-icon-align-right:before{content:"\f106"}.note-icon-align:before{content:"\f107"}.note-icon-arrow-circle-down:before{content:"\f108"}.note-icon-arrow-circle-left:before{content:"\f109"}.note-icon-arrow-circle-right:before{content:"\f10a"}.note-icon-arrow-circle-up:before{content:"\f10b"}.note-icon-arrows-alt:before{content:"\f10c"}.note-icon-arrows-h:before{content:"\f10d"}.note-icon-arrows-v:before{content:"\f10e"}.note-icon-bold:before{content:"\f10f"}.note-icon-caret:before{content:"\f110"}.note-icon-chain-broken:before{content:"\f111"}.note-icon-circle:before{content:"\f112"}.note-icon-close:before{content:"\f113"}.note-icon-code:before{content:"\f114"}.note-icon-col-after:before{content:"\f115"}.note-icon-col-before:before{content:"\f116"}.note-icon-col-remove:before{content:"\f117"}.note-icon-eraser:before{content:"\f118"}.note-icon-font:before{content:"\f119"}.note-icon-frame:before{content:"\f11a"}.note-icon-italic:before{content:"\f11b"}.note-icon-link:before{content:"\f11c"}.note-icon-magic:before{content:"\f11d"}.note-icon-menu-check:before{content:"\f11e"}.note-icon-minus:before{content:"\f11f"}.note-icon-orderedlist:before{content:"\f120"}.note-icon-pencil:before{content:"\f121"}.note-icon-picture:before{content:"\f122"}.note-icon-question:before{content:"\f123"}.note-icon-redo:before{content:"\f124"}.note-icon-row-above:before{content:"\f125"}.note-icon-row-below:before{content:"\f126"}.note-icon-row-remove:before{content:"\f127"}.note-icon-special-character:before{content:"\f128"}.note-icon-square:before{content:"\f129"}.note-icon-strikethrough:before{content:"\f12a"}.note-icon-subscript:before{content:"\f12b"}.note-icon-summernote:before{content:"\f12c"}.note-icon-superscript:before{content:"\f12d"}.note-icon-table:before{content:"\f12e"}.note-icon-text-height:before{content:"\f12f"}.note-icon-trash:before{content:"\f130"}.note-icon-underline:before{content:"\f131"}.note-icon-undo:before{content:"\f132"}.note-icon-unorderedlist:before{content:"\f133"}.note-icon-video:before{content:"\f134"}.note-editor{position:relative}.note-editor .note-dropzone{position:absolute;z-index:100;display:none;color:#87cefa;background-color:#fff;opacity:.95}.note-editor .note-dropzone .note-dropzone-message{display:table-cell;font-size:28px;font-weight:700;text-align:center;vertical-align:middle}.note-editor .note-dropzone.hover{color:#098ddf}.note-editor.dragover .note-dropzone{display:table}.note-editor .note-editing-area{position:relative}.note-editor .note-editing-area .note-editable{outline:0}.note-editor .note-editing-area .note-editable sup{vertical-align:super}.note-editor .note-editing-area .note-editable sub{vertical-align:sub}.note-editor .note-editing-area img.note-float-left{margin-right:10px}.note-editor .note-editing-area img.note-float-right{margin-left:10px}.note-editor.note-frame{border:1px solid #a9a9a9}.note-editor.note-frame.codeview .note-editing-area .note-editable{display:none}.note-editor.note-frame.codeview .note-editing-area .note-codable{display:block}.note-editor.note-frame .note-editing-area{overflow:hidden}.note-editor.note-frame .note-editing-area .note-editable{padding:10px;overflow:auto;color:#000;word-wrap:break-word;background-color:#fff}.note-editor.note-frame .note-editing-area .note-editable[contenteditable="false"]{background-color:#e5e5e5}.note-editor.note-frame .note-editing-area .note-codable{display:none;width:100%;padding:10px;margin-bottom:0;font-family:Menlo,Monaco,monospace,sans-serif;font-size:14px;color:#ccc;background-color:#222;border:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;box-shadow:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;resize:none}.note-editor.note-frame.fullscreen{position:fixed;top:0;left:0;z-index:1050;width:100%!important}.note-editor.note-frame.fullscreen .note-editable{background-color:#fff}.note-editor.note-frame.fullscreen .note-resizebar{display:none}.note-editor.note-frame .note-status-output{display:block;width:100%;height:20px;margin-bottom:0;font-size:14px;line-height:1.42857143;color:#000;border:0;border-top:1px solid #e2e2e2}.note-editor.note-frame .note-status-output:empty{height:0;border-top:0 solid transparent}.note-editor.note-frame .note-status-output .pull-right{float:right!important}.note-editor.note-frame .note-status-output .text-muted{color:#777}.note-editor.note-frame .note-status-output .text-primary{color:#286090}.note-editor.note-frame .note-status-output .text-success{color:#3c763d}.note-editor.note-frame .note-status-output .text-info{color:#31708f}.note-editor.note-frame .note-status-output .text-warning{color:#8a6d3b}.note-editor.note-frame .note-status-output .text-danger{color:#a94442}.note-editor.note-frame .note-status-output .alert{padding:7px 10px 2px 10px;margin:-7px 0 0 0;color:#000;background-color:#f5f5f5;border-radius:0}.note-editor.note-frame .note-status-output .alert .note-icon{margin-right:5px}.note-editor.note-frame .note-status-output .alert-success{color:#3c763d!important;background-color:#dff0d8!important}.note-editor.note-frame .note-status-output .alert-info{color:#31708f!important;background-color:#d9edf7!important}.note-editor.note-frame .note-status-output .alert-warning{color:#8a6d3b!important;background-color:#fcf8e3!important}.note-editor.note-frame .note-status-output .alert-danger{color:#a94442!important;background-color:#f2dede!important}.note-editor.note-frame .note-statusbar{background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.note-editor.note-frame .note-statusbar .note-resizebar{width:100%;height:9px;padding-top:1px;cursor:ns-resize}.note-editor.note-frame .note-statusbar .note-resizebar .note-icon-bar{width:20px;margin:1px auto;border-top:1px solid #a9a9a9}.note-editor.note-frame .note-statusbar.locked .note-resizebar{cursor:default}.note-editor.note-frame .note-statusbar.locked .note-resizebar .note-icon-bar{display:none}.note-editor.note-frame .note-placeholder{padding:10px}.note-popover.popover{max-width:none}.note-popover.popover .popover-content a{display:inline-block;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.note-popover.popover .arrow{left:20px!important}.note-toolbar{position:relative;z-index:500}.note-popover .popover-content,.panel-heading.note-toolbar{padding:0 0 5px 5px;margin:0}.note-popover .popover-content>.btn-group,.panel-heading.note-toolbar>.btn-group{margin-top:5px;margin-right:5px;margin-left:0}.note-popover .popover-content .btn-group .note-table,.panel-heading.note-toolbar .btn-group .note-table{min-width:0;padding:5px}.note-popover .popover-content .btn-group .note-table .note-dimension-picker,.panel-heading.note-toolbar .btn-group .note-table .note-dimension-picker{font-size:18px}.note-popover .popover-content .btn-group .note-table .note-dimension-picker .note-dimension-picker-mousecatcher,.panel-heading.note-toolbar .btn-group .note-table .note-dimension-picker .note-dimension-picker-mousecatcher{position:absolute!important;z-index:3;width:10em;height:10em;cursor:pointer}.note-popover .popover-content .btn-group .note-table .note-dimension-picker .note-dimension-picker-unhighlighted,.panel-heading.note-toolbar .btn-group .note-table .note-dimension-picker .note-dimension-picker-unhighlighted{position:relative!important;z-index:1;width:5em;height:5em;background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASAgMAAAAroGbEAAAACVBMVEUAAIj4+Pjp6ekKlAqjAAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfYAR0BKhmnaJzPAAAAG0lEQVQI12NgAAOtVatWMTCohoaGUY+EmIkEAEruEzK2J7tvAAAAAElFTkSuQmCC') repeat}.note-popover .popover-content .btn-group .note-table .note-dimension-picker .note-dimension-picker-highlighted,.panel-heading.note-toolbar .btn-group .note-table .note-dimension-picker .note-dimension-picker-highlighted{position:absolute!important;z-index:2;width:1em;height:1em;background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASAgMAAAAroGbEAAAACVBMVEUAAIjd6vvD2f9LKLW+AAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfYAR0BKwNDEVT0AAAAG0lEQVQI12NgAAOtVatWMTCohoaGUY+EmIkEAEruEzK2J7tvAAAAAElFTkSuQmCC') repeat}.note-popover .popover-content .note-style .dropdown-style blockquote,.panel-heading.note-toolbar .note-style .dropdown-style blockquote,.note-popover .popover-content .note-style .dropdown-style pre,.panel-heading.note-toolbar .note-style .dropdown-style pre{padding:5px 10px;margin:0}.note-popover .popover-content .note-style .dropdown-style h1,.panel-heading.note-toolbar .note-style .dropdown-style h1,.note-popover .popover-content .note-style .dropdown-style h2,.panel-heading.note-toolbar .note-style .dropdown-style h2,.note-popover .popover-content .note-style .dropdown-style h3,.panel-heading.note-toolbar .note-style .dropdown-style h3,.note-popover .popover-content .note-style .dropdown-style h4,.panel-heading.note-toolbar .note-style .dropdown-style h4,.note-popover .popover-content .note-style .dropdown-style h5,.panel-heading.note-toolbar .note-style .dropdown-style h5,.note-popover .popover-content .note-style .dropdown-style h6,.panel-heading.note-toolbar .note-style .dropdown-style h6,.note-popover .popover-content .note-style .dropdown-style p,.panel-heading.note-toolbar .note-style .dropdown-style p{padding:0;margin:0}.note-popover .popover-content .note-color .dropdown-toggle,.panel-heading.note-toolbar .note-color .dropdown-toggle{width:20px;padding-left:5px}.note-popover .popover-content .note-color .dropdown-menu,.panel-heading.note-toolbar .note-color .dropdown-menu{min-width:337px}.note-popover .popover-content .note-color .dropdown-menu .note-palette,.panel-heading.note-toolbar .note-color .dropdown-menu .note-palette{display:inline-block;width:160px;margin:0}.note-popover .popover-content .note-color .dropdown-menu .note-palette:first-child,.panel-heading.note-toolbar .note-color .dropdown-menu .note-palette:first-child{margin:0 5px}.note-popover .popover-content .note-color .dropdown-menu .note-palette .note-palette-title,.panel-heading.note-toolbar .note-color .dropdown-menu .note-palette .note-palette-title{margin:2px 7px;font-size:12px;text-align:center;border-bottom:1px solid #eee}.note-popover .popover-content .note-color .dropdown-menu .note-palette .note-color-reset,.panel-heading.note-toolbar .note-color .dropdown-menu .note-palette .note-color-reset{width:100%;padding:0 3px;margin:3px;font-size:11px;cursor:pointer;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.note-popover .popover-content .note-color .dropdown-menu .note-palette .note-color-row,.panel-heading.note-toolbar .note-color .dropdown-menu .note-palette .note-color-row{height:20px}.note-popover .popover-content .note-color .dropdown-menu .note-palette .note-color-reset:hover,.panel-heading.note-toolbar .note-color .dropdown-menu .note-palette .note-color-reset:hover{background:#eee}.note-popover .popover-content .note-para .dropdown-menu,.panel-heading.note-toolbar .note-para .dropdown-menu{min-width:216px;padding:5px}.note-popover .popover-content .note-para .dropdown-menu>div:first-child,.panel-heading.note-toolbar .note-para .dropdown-menu>div:first-child{margin-right:5px}.note-popover .popover-content .dropdown-menu,.panel-heading.note-toolbar .dropdown-menu{min-width:90px}.note-popover .popover-content .dropdown-menu.right,.panel-heading.note-toolbar .dropdown-menu.right{right:0;left:auto}.note-popover .popover-content .dropdown-menu.right::before,.panel-heading.note-toolbar .dropdown-menu.right::before{right:9px;left:auto!important}.note-popover .popover-content .dropdown-menu.right::after,.panel-heading.note-toolbar .dropdown-menu.right::after{right:10px;left:auto!important}.note-popover .popover-content .dropdown-menu.note-check li a i,.panel-heading.note-toolbar .dropdown-menu.note-check li a i{color:deepskyblue;visibility:hidden}.note-popover .popover-content .dropdown-menu.note-check li a.checked i,.panel-heading.note-toolbar .dropdown-menu.note-check li a.checked i{visibility:visible}.note-popover .popover-content .note-fontsize-10,.panel-heading.note-toolbar .note-fontsize-10{font-size:10px}.note-popover .popover-content .note-color-palette,.panel-heading.note-toolbar .note-color-palette{line-height:1}.note-popover .popover-content .note-color-palette div .note-color-btn,.panel-heading.note-toolbar .note-color-palette div .note-color-btn{width:20px;height:20px;padding:0;margin:0;border:1px solid #fff}.note-popover .popover-content .note-color-palette div .note-color-btn:hover,.panel-heading.note-toolbar .note-color-palette div .note-color-btn:hover{border:1px solid #000}.note-dialog>div{display:none}.note-dialog .form-group{margin-right:0;margin-left:0}.note-dialog .note-modal-form{margin:0}.note-dialog .note-image-dialog .note-dropzone{min-height:100px;margin-bottom:10px;font-size:30px;line-height:4;color:lightgray;text-align:center;border:4px dashed lightgray}@-moz-document url-prefix(){.note-image-input{height:auto}}.note-placeholder{position:absolute;display:none;color:gray}.note-handle .note-control-selection{position:absolute;display:none;border:1px solid #000}.note-handle .note-control-selection>div{position:absolute}.note-handle .note-control-selection .note-control-selection-bg{width:100%;height:100%;background-color:#000;-webkit-opacity:.3;-khtml-opacity:.3;-moz-opacity:.3;opacity:.3;-ms-filter:alpha(opacity=30);filter:alpha(opacity=30)}.note-handle .note-control-selection .note-control-handle{width:7px;height:7px;border:1px solid #000}.note-handle .note-control-selection .note-control-holder{width:7px;height:7px;border:1px solid #000}.note-handle .note-control-selection .note-control-sizing{width:7px;height:7px;background-color:#fff;border:1px solid #000}.note-handle .note-control-selection .note-control-nw{top:-5px;left:-5px;border-right:0;border-bottom:0}.note-handle .note-control-selection .note-control-ne{top:-5px;right:-5px;border-bottom:0;border-left:none}.note-handle .note-control-selection .note-control-sw{bottom:-5px;left:-5px;border-top:0;border-right:0}.note-handle .note-control-selection .note-control-se{right:-5px;bottom:-5px;cursor:se-resize}.note-handle .note-control-selection .note-control-se.note-control-holder{cursor:default;border-top:0;border-left:none}.note-handle .note-control-selection .note-control-selection-info{right:0;bottom:0;padding:5px;margin:5px;font-size:12px;color:#fff;background-color:#000;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;-webkit-opacity:.7;-khtml-opacity:.7;-moz-opacity:.7;opacity:.7;-ms-filter:alpha(opacity=70);filter:alpha(opacity=70)}.note-hint-popover{min-width:100px;padding:2px}.note-hint-popover .popover-content{max-height:150px;padding:3px;overflow:auto}.note-hint-popover .popover-content .note-hint-group .note-hint-item{display:block!important;padding:3px}.note-hint-popover .popover-content .note-hint-group .note-hint-item.active,.note-hint-popover .popover-content .note-hint-group .note-hint-item:hover{display:block;clear:both;font-weight:400;line-height:1.4;color:#fff;text-decoration:none;white-space:nowrap;cursor:pointer;background-color:#428bca;outline:0}PK�{�\9���O�Osummernote-0.8.10-dist.zipnu�[���PKETLdist/summernote-bs4.js�{7�6��ɧh{�҉Eٹ��(q&�%k�8�F�����I(�%1�H I��:���y���������ڝ��K�P�* `�ޫ>��.��y���O������듪>/g�����o���ry����\\�����lYf��0���||r��>�u��j{2�VgӓA5�U��)�ͦ������!Ug���a]��z�:/�`}T]L�P����W��.�5{�����6n}��ѭ�[��>�� w���t�ϦU�d2;NnV���~}�z���|}^ώ�����|���ܹS�f�?֣e���*�>�]�*טKL����W��A��?.������u�ƍj+�� ۱�1��~���(`� k���ǿ��7>{�my:^ܬBO��6z\uE�7���R�;�����p���tg>��/_�{@ax1Y�n�������p^��ǝj��/G��bZGH� ��T�6���8�Y�NǓ�y=�Y��9>�h8�G/�2�o�����g:�:$��F k�W#�&�AK����Ã�l9#O�8�N�`���!R�yR���FA�O�:��c�7>�4��$��=���"�fE=8]�M���|nC;r��8�O�guwsã�{,�h2U�Em ��Vs��z8:-bIHF�7��͚�6��r�F��^�a%�3�,�6�;i\�ins6�F�P/z7����9�6{$�D6B�̿9&_ �������W�H{�5"(\��dz��7S��m��d��O�=��ӓ�)FH�� z��/���^���/�Kʆf�e;�M"R��ٕ u�>AY�`x~}��w�ˋ�T����V���@���UA��ވ.�k��x&]��U��7��6\#��p8?�8�.:����-�Ry[����R�ٹP5�`�؞χ��ƭ眆�7�����q��L�fsK�K��p�x�ef%V3rM�W�6�e�6�o��@3���{��_V2�.�mE��������p�s9�a���l����x5'_ί�jΡ����z���z5�M�;�-�6���ױ ����6�J�X� L��Й��hx{��3��%�� G�9��t�3n���O�7������ u ��Nf��Ŗ�4<0@ւ��h,���Ţ{�D�{��.��ˢ�ZmCs����Kt�|6/��7�z�3�I'�&\��g5��5 ~P|"�f��z1���M��`�!lr��l>Q�� �\?��s�x�����]�1�ͦƘ�6�$%��.�������gc�X���s� �S]|�Ĝ� �d ��+��w���_��mj`���M�c>�8�=�Ӎ)�~a썴GX��^M/���60�]8�M��$��l�|��M+��|��yBw#�/i����b�C��B�/������7YFgW�ަ'�"�ĭ��Z��+�W�bdb���9Z(>�e�$��jE�%�݉�-��SAƊn�*]��%(���X���\�M�=���]���;�ZOeiH$� .�� ��܆f+D+* ѵ^�k�x��4$�`O�W�����V������Ꙏ'�hM�k&��X��,��?4��Ә���C�퍤$�����BiVx�y7����>���U��M���P�D���=E����[Z^�<�JP�N��@Xki$�R�*[�����e�B�Μ��픡wdKΏn@FWY���\�O����^Bo]�j�\��l�a5d��Z�;�� _[`Y\�):��+$ߺ�{�X��":bk[�~&%?�b��M_�����LJ+5�B�4�x���*{�р����QC�]*�/�m�3�"}�볂K}e��=�3�(���[��V?�?������vaC{p~�8��y�p��\�2��u���B��-�����f�iM�oo�|�� ���2�Gp���[0��M(���#&��U�\v/�.�\$�J�yB�bA}9;9���p�.���;�7ns�����W���m��y��B���^��P��un�u{Y'I�b����aj����T���(� ���W�nx�����lJ�ny�MI��p�T;9��8Ng/�y�[`��j�N�8��{�i�1�|�'����I�iYt:>:��^:Nuc��8�G�j�1R��6�#��|7C�P������d�2N�0�Y�.�~oXw|e�a�k;-g�B?�&=���L�)�ג �!�� ,-UP��W:ZG�+��ܡ6������N��&3��06���Tt�f�L���D98���?,�g��,⫺e+Z1�od������u�a���� �D]9 Z�lA�B��t2_���h.��s r�*_<)V������u �Ω��["2��O>� f?�Y��ޙܑ�-h��m�����댚����2Y�}&�R��D֡���5ܿ�Wm%c�Z�͒}�����p�uT�sY��P�.P�B@���?i��a��N�_����n=���U��B9%NԒ�]��xJ_��l�4:��\��f�x0M�Ɔԕ�u��1��{�(.���<���(��A�S=i {�l�[�{�c�lm�U�T�� �6��_ı�|q�p�U�:��E�1b���{k�Ջ�|,�� ?���;�b�&i5��C<K�UT`ü���¶��F���}����Kgl �*�pUf4brߩ���c�~#�Cq�B:T �3˷4�%͋���Cs��X��]�Z��4=9���`nn�I�P��g��Qp��:)��p� ��n�����w7H.U��u�Q=��%l��U��'f*ȿVR������� ��o#("�T���nUo�j��{+�ۤi��(X�EmCR��Y2�,�� ���n2�M �ak^Ew-�ʘ�$�m�]�{�Cð�L�+�U6�m�T��{�A���K�Yg�+f��xŕ���kW^j��˸휾�oo����ק �����.��Yi��q�Y����L��f���0�]K5t�#2RA��5%��2�0I^B��QҜ�(!�������lz_$s�[E&��)��&��hE��)���98D``h�+��nRk�<���/jH-�K[">ڧ�V�z!xk?��M����K@�^��f?�Ɩ`���NUE��:Qa�J�4怯D���b<H�E� ��0q52ɉ�.��#I3��O�`'C��� @H�I�L&i�6e6��Ꝩ��(��4���c�N�F����1�YT��c�� ��?��(UA)d�23�n�Xf�5�R�Z�Z�5Y��L�����f�d�t�i��:���M��^�$웰����V�+�a"r�hz<+��!~��0:���`f;�k��l�M,#�?���T�IA0'�q�����e��� [��.I�@�'\�06fsFA2��`���0�M�p��b2Y�Ry��%_�C�E���Ɩ)_r�z.;b%�_�-ۥ�u8�H�cN`�� B�z^��>?ϣ�މ�vx����S�HN�B{����먢g���YH�XE)pQ��*�3��6y�?��c�|-@c�����M�f��iG�۶����¢��Sx��~X 1������ؘ�Y����YZ��F�T;�Zϭ�(Ş�~s���X�ԭ��3�9���m�a�����1�Q��1�ó�͞l뿭0�&��y) Z��؎���6�6?�0c��`�Z�:�+���G���G$���DYT���r������Dj�4\7�G�v�@�CP-_W���Z�����lp2�\�>~�=C�j��ae0YQ�ɏ�\�|it�Eso���K�7O%�m��t�zrqvX�=���I}��j|�<]W��%��"�>��?J��b��F�1z���=�����t����}�0��Tܟ�GC�]���Q�1�c �U�S���y[�h�tg#ɾ)u�0��x8�Q��Oe@`P�z��$��_/`��q�c4î'Kɶ& �]��O�q��9�Y����rD ��n4�J��Ƀ����n'Z��S"�5�eUz�c�x �XǛ4~RԀ� <�jg_T���z����m�{�za �O�:��3��Ȍm�%]���=@��S�MS�!Sw\kHd��°N�$�,Ρ}�l��"�D0L,.����e��5�3F��.`����n��͡2�w%n�V��.1i-� ��1�&�4O/�<]<a�������� �#�t[��G�j\��0)�|������� ��s��֎灹�Iu����uP=:�~������L�3Z,j�`m�D��E�X��_�`�;~����?r��G�u#+ �+�Wñ�ES�w��ӷU-i�&DjЃG5���6�@����ǟ��{��C2��2S����a�e�ɦ!��4����; -K31U~���\�q�����^L&�6������#\3K1�ƺ^L��L�t \�D�MR3t�]+��#��|_�ַ��H�Ţ^z1鼎N(�N��Ѭ��zcJ��H�Y�{#���|�����3?>�/Z�p�������G3>�W�i�e���7Dt�r�_�@�5�� 3L15�M(�$�{de}��鎳x��f���4?)=Ӥ@�U��h9� xM:$ܿawq�;�K�����q _��F��-6|�V�J��n4�K ���U�x�5g�]���fY}M�� ;�Q���12��PPj� �����9O�B�E���^I��{��j���DR�I(��/]�r���������hq�k!�F�� \��U$]&��I������-�?b�?�Z�'�p!G~��[�gi�*�0QU�*CXG�Zs��\�@��U�j��kYjW�!��� 4YU��yR>�.79M_���Dy S@)��d�I@:.H UZ֠uߖ�N�?�����jA�H ��d=�2��~'������6�ep�ѻ� O���3�h��q9�!j��N4=���ÉNjXNg���4����?*� S{X�H�c�W�ę"��#%�Є�z<uj�촂�+��U�����хY6zx�n��QS��ح��K�`�ެnuѽ\2! n�5������aٍ+��{��[�@��F��On`r�qP9��p�z0h����)B������2Ѵ��p�*�@T���.����U�� �08��(���4�q ZF��h�x�����^��!���pK�-T������B`����T7��Ĭ� bF�R=��=X���H2MD��ԑA��Lun��\o{��Z���TQ�Y�<E)Z"s��/I�:tP���w������RT�%Qh�iy��O�1i! ����ݠ�E$YjȜ��u���ͩ�EkA6��ln��Y�{�2�m�q����!���z��r�V�R��'��{@�)�� �.LD~���nS��!�!�\�����¡Xs,m`��:�G�z���x#hl� 6悪�S��-%I��� �T��߆N���j-���̠]��p����)Wմ8�i'�bI�w �j.�$���]V�,�BʈI�5����w9�Th�&��5��w���:�X��`��&;nθ��Y�MY��F�fj/���_]�R�n�2��������JՏ�0�W�I7���_�&3`-���7&X����p1�5�:V�_�_�a�qf0`����6�3�� ���w_���UtlT4���T�G �/p�����=<)� ��|VmnV5֕�%b�% aRӺ����1(@[�><t~D�W����yY� ���sW])���W(��c�V���Q6�\b)�D?���3�>�xT� ����=�l���aϫ'�+ �,K�8�+�5�p#!�8�1�e<J��l�b�[ox��M.��I�J���m��?��"�H'�<�pݺ�*�Z�M�3�{�@Go�؟�]����a7p�d<N���cݒ~���WC8t_#�'���@6Y|��$a-�Dy��ݔ��02 ��F��o�I�3�Y�8u<1��O�m�J��_�O?;H�z�s��z�����?���3]n"�H�SaP� � �����{��B䴳��T=��w���9�{csP�T� ��±Z��es�?Т�j2.�8�!�Q� #�m}�ns��V���Ɵ���}��@~ݺ���EGGJ�{҂�~� *lv�q�����1B�鮾v����� �*ů�%�*�:� ��m}��HIl�˿���f|o��}��j_� >;�.�r���ȏ��5�p ��%�O`e�&/�����@�~Э��)8^�$���iT�Yon�PtUg~m��@�Л���`~gBK�K��tZ�1����&G�U���b)�hƕ&}� �����G��!A.�@�t��_'�mN�u��d{���t��>z�!d���y(��j8��=��)a���[z��z�_�\n��c����ǘ��i"��fǜ. �*�V�%�:)������&2~���C��T�܀?Lz�b�(��$wp� ��/���(u��(�B���_�4�sƒ���X���]���a�y`W��6�,܄WNZ��'�Ǐ^nkyP�A8Xݷ��ջrE��_�;E��v�}�*�`Rd�].�^�I��/y��!�"��ܵ�\��/�8����@k ߯x��gܪ�����l�+\�����*�������fc�x��.|�=��NW���(��9�{�#����,�+�-��挅ie�T��짶9�v��U[զ��ϽՅ1�c��8qo3�V� �x�:#I[]gox��e�����S8WR�9�Y��ӈ�#���x:���� R9�1�t�"2Jȷ�)��n�>p(_Al��O0E�����{���Imm�4�R���iK�/� 0��nzrwo�{�w���dp�FI�iп�G:�i5���O��������J��.���� X�'��7s�����WR�u�T���z�X����)��[���+)�@}���,ni����d3H�B���H.�/S��a�ۅ��X�2^�9.�Qcc!U~�.h��~�hu��l��ށ���k�-d9�ax̋�J��*�8ƲT�8/t,�g[��H�(��i{5�������}�x��J���4vp{�*h�)��/��K:��Xޞ���v��>ֶ�O���Y�p�\a��is@ᑵ�nj�$/�LѝU]�'^��q'�t�$���cۂ��n!m���qK�F���\��%1����]��� ��K%����Ǽ{��x7_�l����3�����5\_?I�������6|/�I�o���������}�?��!|�������~����'�~��l���'�)��x�Өh��NѪV5�$0w��V�&�N������W_�_~�����Q�2��c�B|��'{��Ϳ���������7������!<�P�E����n�9��Zp�E�M�����>�"�b�y���G,�1�[C`��Ð����X��^H,���hm�����%�o�o70{4�;�����.�g�G�n+�?�xrLSx�ȇ7`Kƌ����@���t���]^��X���f�Z����jW�8�������N��!�6]C�p�A�{5�T�2+�߿����S�+и��齿����}a�@���,�/Ʋ�ʍY?l�UF�����x�@��ud�՜7^y��kC�"W� �Z4ZS˱�E�F�<�] U��Wt�����!o�D��.�`�����!�x�YI���I�c�dNG�]I6~�j�@��Y�q.�ɸ��l�$�ձ��H��.ʸ�f�xv�h f���#b��c7=G@C`pe�cםy���s� �5�Q�t+b���TYY��1B�@�?`s��^|&��`���9��3x1�$�p:3�x:�Ϻ`��8:���[v�$�f�Eȸ�X4�n��H��?� /���_?V'��|E��A���O4��W4�����3�0=\���V�Gn���>.b�X�pvr��F�?Ep��T��W�Q�U.�' ��S���x�7�w��r>"���FC�v7���AP�,@$�-ɴ��K�M�}��sk�Jn���MxO'�� +�?��F��Y�9fUpGek��������_�jn�ݾ�^!(��ڤ��-;)�X����&�'ց�%��|��k2y�#s(�w<�A@�/@O�[������_��>�<���ac�r�̕q���c_��<@��- 0Q��F�p�O�z@*"���\���-=5�8�P��|!�9@N�J��X���T&$l1�J�JX;��ך�;����+�ļ�d@xn��4�A�kN� ŽSbS�W)`U���UpoK�Z�Ge�^�^�in)4yC���Y���-�X���۴�O�"&� ��X��)NK�0���K�+�_#]T9bxf�#�zN��`'5�w��6��Hl��%w���Ab5�)��������d+���7�>��d:���N�F�i1�7.��k<L�e�@��N��UVa3��5#Lt��))os��nD���Lv��N�$��)��gAn�&8$�C�.�5�"�l����)�̢ܰU�H�u�-�����$H��%N:oiЯ]��^!�L^7s;˙!]�M�Q�sX/_�8�|�}y�����ne�%T訶Rt��V������#ʣ���g���� ��8�d�x�c��P��������i�?TK{.7�^���'���vf���d��cÉVeIVxy��O�� �1)^.���s_��E�X�%�+��r]Z���sd��f�r9h�*z߇��d�ǁK�ߚ���ʥs���˒=�[߁�8�va�[uʺ�Y���c�W&��V��i22q���zwM���0��W{�#DW�ڙ�������4?Qr<�v8yчINS.*�%agZ,�ϥ�ȋ���sufx���b�+5�<`�:ဓ/>מf�Ew��ob���D�5ݤ2�!�&�R�VR¼�-�������z�#f�qIk��(���br^�J&�X~��$��ܒtO�2g ��"��h�_=��ab�R�ebw�'O��:M�Y�E݊�AT+��hD�(I��p��>���UJT�����?mQ�E#4Yii��Ǥ�h_qj^�*��N��]��Ɋ�M�������Y#ipC�jjps���ԏ�JkwC�1�"y�Qġ4������R����f�<���j�<v`����d:���$-���{/��z������'4����6z �&��a��!��)�wy7�Wx�%B�".��|��1N�R_�y���� f�nji�6�:�Yq���|��#�"[�j���M+�K���N`'�k�d��k���6؉W:�� �z�:ɳ��M����j��#y��]�J����(l�O�W�-E)������:ZW2�S6�i��-�v #!�R��A��Q�cn`�k9�ژ�>C%�)H̾R�bF�c�W�55FM�j���d��E�s��Hk�A�ĥ\�{�"1�UiQV�IK���ށ6�ɵ�f�@��J+Ɨ��`G4��;4�|��\I&6aE���r�]���p����ޚ�qM;Fw�[¦ �k״iЈ�kW�!�,]�"�Eu��|�Z�I��"�ݽ��G��y*���PFt@4i��-.7-P���(F���yl�[gH`a�x]�K�����b�X�����ؚh2���O��X+Wh�D.�|(��!���0��j��y_"¿�E�FD��uZmu�5Xط���MT�j�:(�M[0$�E�e]�M�'���-t��O�`��v������\��T�Їa�c{Cl�H�� ��ؙG�����ߒ�õ��M)+cI�%[����S�.�]1 �n��U]b`B��L�Q2��0�H���-ƥ�0�K5�u����W���C�;�DZ/�9CZ�cQ��w��7}v���B����7/nj���?8���Z�fSv�o�IS�^CYNJ���vvr���*w�!���˝䌬Oݍ<L<0� ����$G��_��YW��+W6c��R��:�HO�|���_��s��v��UW�ϒ�~x�6���3��b�d�̐��嘟wh���Đ�+�#ϸ7�� |�����4!��rf�Ƭ0�R-+�lTHՕ���D�j�j�48��<$��ϐ�l�@����ɥD�:%<&*�����d���]<r<�&�9?P N�.i�m���A�QN�P˹�\O*k`;�mf�kY�Ε�&�Sz� ��^���tT.���^a�Fz���d�˭Zlb��U$K�=m�y�J#�����N�Xs��F�5V,.�$�Pa( Wɾ!\� M����)T$˯��%R��S�;�qL��e�u�pK��Q�I�U6�+'LC윜�\ZT$��O*h���\��!6�T�����i�N����� �6��77�O�`������)��{}�^2��x�C�A�m-���� <)����'� '���/���0y.�E0z2V��y�J�5���axk��~��`�X���2=���[����C�+��"+�j����q�D��B���r�������,�xjI����Ϫ��6��v��T��<�7!���k�S����n�Fv��+���6����l��$����Oz��:�n�Q?(s���s�Nm����)f����j���x�6�G�ʓ�r�7��}� �(��S���>��&45�J5u�A��f�]{%8]���V�VX���*�P ͽ��*�)%��-N�&�u</�<�]�; �kc�))F�_Q$�7�_a�vm�] ��ϝ�feB&q�F�6�\�ŶZ��S��Jb���jC�Eq�Gi�@fJ�r����x�c@�l��0k�4��Uk�'��K1S�[M8>�I��KN#�X��މFgIA%��qU��1�-2����ԕ�3oK�;pi�[N�>�k�P6Z�����=�i����#)����RK����#�@�=��Z��[fOf�l��1g;a�T�7#�k<���.�}ج+N�b�� ���N���i싕�@�Z/oܞBf@)�Z�B��0/;��L�EQ.\�K��"w�Ma��\�����'UW�b��[vݡ���$Y�$�C 0��̵�M��B$tl��Ns�|1������2r��ZHk��ϧb?e�DgJ����+,�@��� �c90��<9#�&<\�+*4�`�c�Z�;���*��y��v���� ���Cg��t�+K�8�r\@��+]f��E|2�aNcZ��.�US�x���Js�� �+ UE���_��(Li�T ��� �o��fZ5��d*��_S�L�+���?aY���%Q�M�N)��Q9��`u�X�S*�O�Igf���Or����"�av�bB�#�n䎣yp�XyLQ��O�S�8�e�=9>�kt� 7s����v�N�����P�i�}�"]�[�0,��{�z���Hj �1����H�Pb�-C�c7(-E���5��}j�O?t��V�..tY�&=������K/��zdK��� K-��ͽP4�ZR��^6 �#�"�Q4YU*h+IJ]Az ;�e�}���ђ���D�d;�AY��b�9ӻ=�@2t/��@��su�G�˳�궯֢�e�`����ܬ6n���j:����o�.q����ٞL�Ǝ�������q��Nf����#�pXC`�fc��&3�|����ZG��}�z��0ll ���sz2k�h��I��KXC����.�Q�X�D]{7�@bL=#j�悂��[u�%)��5Wy�YA &�m���"r��'H��8-����x��lS{F��!�|��Z���*��:���T���4-,����4nh��V�Rľ��:k� E�����r_�/UM�~���{˧�K�J��`�w������ӗlby�O�sҨ��&�(�fܵ NL��Q�>@�f�g� ̞��ùv`ԇ�W��<�n���&n%��8�FT�PK���D��/��'����3�F:K��+��U��G��N�N��<�a�b�h$��p������ְ�F+[�.7�ix�����ˍ�w���\�v���_|�x�����&.>@�76O�t������3�P���e�hˀS���@��(q��T�MS�0=zz���l-Vv�^��.4i��sD�a�H��jPF� 8���{� �M�0��ۋ�.��%s�EXl��j|'�A�Q��OW����{y���}*�����p�N�##��3�N.�b{�!��M\���3�3���V����o� ��!T�Q��bͱ @2?d��n|@�Sn�Ó��t��%7��x��+0@���f�|�{Fz0މFN|�K6M��_�&:����TnI^�(��N�� �n�o9[P-� ����.Rm6�2�K���� �qT��X�Gç�|+����q��0��yq� g�6����ø>�U�2����u\`��Xc}`7>�ϰ���x}����!-l� 1�R�g��,e�{���q%� �.`+V��FçS�4��@}.�AtE/��Ɖ�cd`)zFa�����Ӡ&��5㙵�|} Q�;�"���O]����y5�����Lxmr��#(���o�Y[Sn(ځ��k����:���!v ~_�E>�d������l���� <��B�3��/E;�����l�.@�6V�a������L�)�t��yv�&����tƌ舁cN]}��p�-1Sh~�2;�����3�s<����Wʟ�-�;�t�9ٞP���mA6ޡ�D��uy$����&D��_O���5���_)?:1�HL�R�4�Df�/O�?ƓKm~�pMj/��1.<g������Jwq���;�I�.�{;�Or��݅��ϺK<�%��K����K�T���Ɋ2_�G.E�2����A?�!?�T'��'�|��6^<�Q�Hpe���]pK��ea�"����-��]�[�2���*7yY�L�ri�Z(��T=��z���9(�O0�@��a�{%K�r(�LӲ�_h�)���9)� ���$��½ؕ��1���w�U��M�w�}+��e�!Ȇ҇BH�r��Ӝ��>�s=N��Ta��'��ʕ�Z����ͷ�e��Z}�K�Od�a]���P�POL篜~?�h���[˔7��Sm�קl�7�$��� [��b�;hnӉ���c)$;ZY&i�;'ֳ<K���}l���5�LS5�T�&�e��+}îY&�m؞wC����ZV�du�J�kK+��u�Ͽ�:]�#�ğ��Ṳ�a���T��A�W�ey���tMi/��������K�NX�h~\$l!Z)/4�S��"JE��N��"^<��4muE����@L(o���{r/�O���K�>6��p�h�^=�x��C��>�sn���M<s���옃��L)�ɏF.b#�9�)(��7ʌ&�������>*Y�4����t��(B �.����9�/-���S�܋� `����>6��Wu�w�V�T�j����o������ �9>Û:M�[bog<��5�2(UDg�Gz��#�h�����W�*�v��Wg��� fI/Ư�b��-k���\k ���|َ�'@�+w?� ��J�WW�'��I���(�8��ѫɯ{�ܪ,��������wW�Ӌ�é<�pSRWyC�P�+��x=��e��>��W�ĤHkď�h�ZR�a֠�l"�0�ђ��+l�,�MIѰ^�LW/5Ά?��.����,��b ��q2�c���>���Zհ}>�k�ˠ�bNƔ>U�v7r]�z�r�2�n$�<�볗�ƭ�YS�,�� 3�%���_�QH�mvAe���Qr:�h�BsP��f��p�3>�g���w� wn�Y���z��G9�(���Fg�x�y����FzY?:�\0��x&?���Ft��9d��1,�!�=�*�=�+�Li�Vb���.I�jq:��=�x�W���d��F%�r����+oL���H�Q%c�*\'���R.�d�=Y=7ZB����!6����Q%O@���z2{J�]���$�ޔ=����/CYp�i��G����{���%�r.� � %r1!P'=O!�%1������T���P<�M@��Yn����{O�6ݰ9��'5P�o|Z�YS�/��jd��F ��ph�v3�Q3��q3�I3�Ӝ�i3�9t� �$��t6�2>�߲�i��Şj-���`�Xt_���z�1x���al�F�}�ȧ�Q��W��7}9�ɭ(>��܅�9<d��N��ѣ�L 5Z�],� 0y���|tP�ɏF�Dm����S8q���EZB?0DNѾ������(�o4�^�ĕ�m9�cN��+?�- 5�8�]wh�k�ә�wvO�K���>:�bo�Ne�J�e�s�ɍ�R��W?���a���+��ȭ9��o��<L?~XD��I��Ŝ3_�.�$��s��k��p6�q���Ms ��Y<d�rR���ȋiQHfE��R�qxTߖ����$�s��qp�S��}�>�K���f��w�ͲE'�T���ãܐJXa��FSN��!�+=��3���ϭ�N?V1A����� C�N����+�4F�ܚ�.0?I�^�\��Y�L9�ձ�5���8����\��Z9OI�5��l�U$w�T�Zy��a �;���:�����zW)C6{l��"t�T�� ������,` *����oi�{�)�M��N�W����5!��lبi�eg=�`؎�0x�ŏ���&�t�a-�x�TI���Êp��I�Ԕ>�a�VKU8�>��w�{����}x�j�P�!�V��+�o�N=����7�+����7M0����7�4���+�c�~ʱ�BY�B��1�<��ܠ>�F�����d����ÿ�r�ft+k�l����ԽA��h�j9Բ��e���M�EVoo�Gۏ+���}o���^���8,��\���q�F-�)��G,$x?��/!x}�_������{w��[���4R�&��?�׃'@߷?�/��G�p���xrn��䏚��mx=^I����G��nş����}�%�ۻ���'�u+�z?]k�6���<���8|S>?q���}j z���|j�e���w���O���&�~��a�����O�ݝ���F|���H���=R珎�#|��������o�1?G�O�/��r��u���/~x��v��=��{���v�p�������m�&�a�?���ˠ��ݦ��cp$r�ȼfđ�����Pg4����w��r��(D��<�� ���x�YY��~'��i�Z����E��W�X�9d��M '�%<��R��dy0�ehȋl`�������1X� Ț3G�( ���L�I攝,7eC��3D��D&��T:"�w�?�D[�v��k�p��O����$�ߐ�d��n?��N���y':�x)?��z���Ÿ�2=��Pl��z��Ff�XL��� ��b����,j�2��\$�d&�ƛ�I}uxs��K W�`:�,Ɠ��S<|�dK�����k)1�qa����[��K)`6&��#\�y�6��t�C/�-�����h>[̎���M��],6'��9*n��ͳŧ����������O���?��H��E���?���~J�kT���1@-�.��v�灆X�PP=����K��K]_Ex�юT%�Eu`����̀r>Q�½�~�/�!�xL�־"�:�>�3���#�����1��g����";{�8P�ϋ3�T[�f<��SLɇy�eڟ�V��~�>c��&��T#�Xnч���?�z7���#���KAr���Qӌ"��Ȩ�;}n1s�p��vI)ecCA�^�A� �ʋ9I�T����t.��.�����C�8P�E��qMOe�pWK@�(��ѱV�c�$R�x j�X�#�e`w�U�:88�@���1�pu9����S��=��jȶ�y͘7��.Jiư�Z������Ӊ$��� /r���|��ӗ{]!�{�� 7�ޜ�03Y-@'�G\r[�J]��|�u(�����/I��V�Q��y�K���k�"��d=B���P*�A����h� �{q�ifp=���XMy��f�B9��iʧ:��g�F����y��O}�<P�m�^��l)�Kn�]u�PՄp�B�G�q2�ѭD�/"50�2s�n2#Wތ�h�ץ9�&^i�R:K�~5��˴�|��I�'Q�� ^q�Y���4�O j��Lr�f�|o͐�FeH<%B ��"���G\���Mg�~��?w�8�����ͷ�3��>�v��y�9�[8�\�4~�%��4"���Vn�,��)�ec�/�h�(�sNn;+��MA�;���^�.�4��$���d9�J Zb-;Jz�ѳ�-+&�;��ƿ����Z �T.I�Y��j@q�d��n�+�t%;��;��`���r%��o^j�UK˄�w/�8j��p�QCxRӨ��z���PĿ� ��4Oe�� ���-�i�<�ؚ���[��c�$<Az��Z�͇����������j1�5J�j��5ʙ�b1K%�F1W�/V�P�\��H?0�� ���Dн�9�v}C�N���N�"R�ƿ��˲<V�5�e �T��Ŭ��.� �fYt��,o�X<��ɚ������w{�e�2�x`Pm � !zT��P�@Є Ƹ�Gn ���n�?�N_�2u���UMf��n���kt(%�7�PV4�����j:�p|f}����Qf����:��<�)��M&�eM��ƨ�9~Y�4lU<W�)Y]�)����r�|}^b�h�D�YQO_b����ٽ��s��BdV��W�\N�bR��%9��Xŋs��τi��Y x�VU})E���� ��,�y"옶�JˬS=C|�O'<G>ɯg�N��N���1��Y�X9��pYp/����\��S��6 |�Y���iߵg��R�f�,��ҙg���y�ӂX Z���liiƬ�W�5�f4��G�hiA�F]�R�7���CA�E��UQ�:���) �P"|��W]�C�Օ��0�|����+�j�W����^���.(��C�I7i�� �.���Y"=B&{z�4�����4ˇ�rJb{2��h�ڧ�ƠUR����_�ԡ�RhRF��sE�d�VU�6�al��<�i~�р�a�{�tQ0F��co,�[�l`�\� ���r���B��R**r��;AYޣ�K 4=���� ��c/��e�M��k�[�uֿS}�3Y���b=���]3�F�Kם�Lc��" ��~&�`�/s���b�t#$c��g;�0K:�%�'��CT�Q�q��� m�����ǝ4��@�頪e�ŌA�o=$$]nB�� D!|��� �/�.'ʕ���^M9���9&dl2��xY%�F���JH⡰�Wc�TМ �wRk9k�P�����m��ۘd�o*t�YSGO^��O:�d�5~Pj�-���ҁ�VKf�B��Do�ٲ�&�MU��*I���'�PAc������RF��H]M���r�P3�n�`�AT>z��%��f�l�H[{I�u%6�a2j�Y�[A�_"���AJIFqg��.�)n���hd���7���n"t6�js6�`7�l6�.���c��Q����I%s_����܈�8#9R#�Rf3z�P"U��+wK���[6�[HP�T��ܬ���&g_k�Ҝ�o�,p��rtjw�����V��,��`�x]�����z�^���,�)���)�K bBn`�Ct�j0|>�'��印� �s�����&�b�]�A��Bf@z�0���^���� �w��P���Pt��~Q$׆�z�)�1ٕWIA-��8(�u39M�9�����+��B�2,�=x^�Olv~b����҅�ղh���匦zڽa*\3g$�B�e�ޝ�[*F�� �ft���4iW �*h���Jgu�-�`�]��v� ���Bg���hӝ��N�� fR���.C�D3]fߐ�.�XS�N���0m:{�X����.�0HS��A��k��|��J�p�|���cs1�0��ť��J�\�F�����kW�*��uuWN�3Z��gi�t0���*k�HO���F�v�� �"��Y�<v���Oڪ��(�Ӕ���6��g Ũ軰_�!�f����4Ĭd\ӱk�ѯۨFμ&FB��u����C�_ez$��v�l��G�%g� �^ �R��B�TB|t�蕰l�����T5���s ��O6��* 8������Q��� S\�}��T���Y5 <(/�$�L#�|�L��j{�<44Yaٸ� �$\�XR|G���V;q�9>k��M�f�� �<~�U�Ҕ����-�)��a�Eg��k5o��J�R�^-3�52ַq:e�gN�bK��S�+~M�n�����r�~xoJS�Ddi�F�q�[�T�x4d[fLCVd�[*.FM� �!2ͺ ��6�#r:��ITN#-�k�v5"`��Į��9>�Z��-Z��A�R呂pyou�����4,�<A+d �^%/d(!TV8X�7��(ĂYn2)A�!��4�v,#6�ee�X��7Y��� l��nb���`Eb�w�C�r=6��S+<f�b��I �{0Z^o&�u^�Y[j� ĵƲA:V,���ȯl�a�+?��w�lW��~*ub9*�l�K $d �qr���<�ݹ���Q�'���M[� �,���_%=�,$h���e����'jFT��$�;��J{dJ:c��jU� ��v^\r��G��Z<y��!@�z�5�-k�R���j�Tdyk"��02��<U&e��W9 ;���k^�,�ް�� x��J6�!#P�Nn�}��vD�(���[~W!�z�9�?=^K6 ���Ѵ ��Jٮ��$�)�W��3(��ʤk�I'5Ҷ�P���}Ň�-J�yD��2��0����ex�4���l����?%�L�F��!�X}��p�o�K�-&�<�d/����;c,�b�w���~�:����tm��w��X)��>Nb�� >8;_�N�v�1#�S\�ccW��<G��(����/7�sgrL� '�;[��<�����'���KԜX��� �|�H��iޮ7H�6�>��U����/�+����H^4�"?���,)�_ [0mRۮ�Y&�U��N��]-f���`���<*yn�Yޘ��+�jLXSdl�6�`2z� ,�(D]N������ZOgPLUK[�(�fdX@��^��Gܝy� ���t��e�����]B��v �D<����L,��tϿ:��e�`W_��_�i�1�Ɖ�[���y������W�E����\`g��H���|S1�e�<�ʿ�2���q�MF��[���:Z:=]�/��Fh4=��'��.N%i�I �t�b�;����L�n���'H_JN���Dϣg��vh�Ez=�LC�n8I�Ee�}�e����@6_�0�R�O�rq��hٞ�)��'���cP�.�2T�L$��w�9"�a�8�<��ٶ�0*C�TĜ7#�&'ȹ��V6�G��D*�2�f��۱;��F���f0���f�d^d��֎�9P�6����C�dL`���h���7��� } � ��3j>��ʪ�� o.:�_� ��q�5づ����Ϡ2R�&��Y��<��t߶4e{""�Ƅ��n̖��U W��%N��ޅBRcWH��鲺"ֺ���y)���`ڪ��ѹU<�е���.nd�I�K ��4_wU��l��3�B:C~Yuh��OD-�~�G�v{%M�-�� �"MRcC4�S�C7I0`xm�*=��2`l\�f3��A8IJ9�-S�6X;�4Ωjc8�Y[�$��i��|���"�-�"�+�$i|��^��Ʋ��Ie�k-\2�ğ�G=���~q�[����0��֏�ԜƟ�MiS�"虷�(�U��,X�ς���Q�$�Z��2��j@Z�tD��U����J�W�G���'V%6L�j����1Ό`���WWu8D�!����U@QI9�� g=(9a�b��G�3��uu����K�;X[ʃza�^#=�-}O�7.��݇�����.qs�;�C89S�WB*�0��/����Z��f�1��E��p��3��29��uq_�)����� ~S�w�-���-�M�;Ba,_��Yp����|6=�9��|�UԨ��ʞ�3��)X���f����|ks�իW�Wf���M�(����d� \Ln8ِڛs���D���H���l!O�ȵ bM�(�E%)y�>p7�T��7^rU�Mˋ3ڪ�T�Ņ����PL�1^��Zu�9k�+�:�>u6�<�\����知�k��"� ��/^`�@��Μ���.q�~��*��mϸ%��Ҕ�ut�w�l�fK���� �x�)�cB#q�C��F� Vz��۸Բ��,��[�����zQ�ժ�W0>꜉���щ�ҵ��I`�-��p��h!��E�$�Wd�H�x�0I��L@��4tC:hM�~��lO�Q�>��>�4t��sq�^vF�ؔTK��Y[�G���x�ok�@Pp�}��r��9lcc�%[؇�I[f<���.��M�����X�⮁ٴ��\B㿈-/�E��5�=�j {��.���7/�X�Tk �Jr"���F�n��S1��r�.r9�M+� ) 6���� ���,vd��q�|�{SC�`���c�-e��㨥"���yf�%�{�Ul��X�*�2�FD����4�m]U(�`�ɳ�ip ��A��X?'ߒdm��M�;V��J�v<$CL�bS��i*�}z�swd����}�\�E��Q� ����:Az���v��k�M�\���ʱ�,�N�-'y�<B�PY^�0õEtYƣEe��sЀ!��� d�\�4w#�6��JX�J2�T&��M�c ��(�eX��p���քy�#C��-�I�������܈�c�*�VQ�*���=����9��C�w�_?���@C7sy����$~�Ǘ�>�ey�����l��@ـB!��ݕ�D<��F�Q�����V����#����& �lSY�6��t���]$�&�K�j|.�-�5�ۈj���2s�>TX�����]����|�\�I��mzkv��v3xc�V�; �K��>+�Ί������x�n�Ho����B��w���'58#������$I=�"��2�����`Xd� Q4���5_���Rѥ�b�W�g�͚n�w���TB�c�y����pmj���g���>2+t��*�� P�G�m���~�?��i���yx*�gLa��z'Wy5v�\��#�˻��[)L/ܗ����x����7\�3|6��3-m�����$�+�a�x���g�(�b�N���K��`L_q�E��9���Q�T���/���ׄK?���dAoJ¬�����Ťai��#���˺ou�*a1���?�J�o�d���1-W��N�>�5A�^ʎ��( ���fw�}*#ĵ�]Ԉ�7"T��é�6��<��j���Mxg�ulŜ+tg�m����}�WrEh�N�wgྶ�7���f������,���ע����U5<ġ��[��Z�=��A\�Q��a0|���� W�[-����!U<�3J�I� o��ϰp ��"}���{����t��<���9���&�� �V���O�q4����C��)�a � "��g.�2����])��`.�������1�)�N.�@��[��aqq��͛yod�S�B���*����<�����9�&r�� ��.G#s�e>-mU��COl�A�E'�M%�i�����N�.�ґ�\�y���e����O,��ܠ�l�cQ�SIﳜX�j'4>�%��/b=��f���2��ɜu���S�2�T��w�����뜾�&�թq��_��ϭc�.]���Y���Ax}Ox]���J�.��t+ B�VEs���_p����&|N���^�����8F���5�7dL$G�}��~x����9�!�_�l��`lsRi9|������4�IΚ��4n�㕸+j2��^�;Wʪ�|�2rH��w��s������^l?tc.R-�%���C�kGoH¯�[���s�I��Q��9�Ȯ���|�6�MV}���E���:��^��52v��a��z���_0#�V��9�bM��BV>��t���p I�U�����������"kI�� \I���m���)����F�̓�g�aM�`�q����({<���or�e����߿��m��x�Wv����ͷ��)��"�:��&E�M�w! P���ʨEl]y����P!��2�6�w:�@�pqk� vΡ9�R��F ���Q53�$��oĨ���х���R#�E���sW���o�����=S2�O����xø��^A�|��3�p>�J�c��k�o���iL̪W f~�so�t �8fT�r���V�(qصP��3?�e��]�p</���y���yu{�go����|>~ �"�UtVUo�o���n+Os_#�n>;���,.���]Ē��|�ݼ,:�P�� ns�Y3j���D�B��o� xD�@y`���h���� o��A�g�m4��4���7�²h+�L��r̍�(.1���6��(?G{�p@�RF1֖�F>��u^6ƬH't?�ե�y�yal ��x� ��������0��J�.C�� Q�0�ERr��H�X?x �?�Ɠ�Xx�����;�����U��� �� ި�I�zC��=�4d3R�=;��� 1a�}��8��M��kRe�O�P�����Mw�����aLe����+Ѳ�� q|�� C B�s����w�� d&��M�m���X,���H�8�I�PD�G@M/d����m��%��-����XF*��V��v<������95��J�I�+��/������7Yi� �=�^SHIULpx �i�����u�����8����a�����% ���$��_c$�d�>���\E���@�=�O�25ڼf=�cO'��m�� �NwD:Y(�������Oz�i�%���t�k�u9(y���Jpe4N~��p��52r�V9�� �Nf� ��1�0����Qn��pC���ׄ�z@I8R�껩�T��i5�ƏL�Jb�/E�㓑�5�P��F?��'X5=�@�#���8�\5�$Q�>���&&I&Td��lo~��tePܗx�J�s�7EUk=�/�0t��~�#��$�U���W7��=::Kٚ��"!o��d�y�HF�e�◁B4�xF$\:��'�x��OE�ƻ�a�(�0j�Y�g?��ZCN����f@�I-V$�e�Vћ,��;VP��O(E}�/7�u��$5���Bi�M�樰f1�r�eE�b�<��qt3Z�=30ʟ��I�Q�k�3��y��7n�`�U��W'�`e���m�8^q{�G�,�>��Eh����4E�w�٥10 ����$\� �ڭ羴��!mS�:�nd���-�L������Mx|!�G��W(���:��j�Ѕ�Vu��O�u��'�n}Z���}�`w���_m?z�l�� {����z��Y 2�f`�L��tJn����!�=�����V�=)B��/y���W�D���U78<.k����hx�9���z.' ��+���8�(���%m�r�F��RX�_��\��� Wi ��/�%���89��GEYm�H�B{�~\�S��r_xo ��'vB��r ����n����IDE�� s�*=C9�#��#oҾ�F]���c�۶��h��R���*f��1<����E�h<MdE��sn�����<����|���?.�oWڔ?B/�y�TK��8��B9��x��*!<�^ln��N��&q{d�L��$��7QM�Whp9�0�G*ay�qf���$�"N-�C9��a �wZ?�y#�;�`���ZN�1qKTx�坼�t!�������ہb��iy��c�t�H�d]3Z,/@ʻ�cB ���A9����N8z�A0��`�FjMs���=2B�Ⱦ��y���'[��ve�$ol-Jżj�h������S�.��'G��.`dX�C���>�ȧ�E׃��0K�weܒ��e�=�v��s�X�R�Pm|O"�$��\�p�c`D ��1�r�}a]܁w�D�dZY6��5�$��3��+ ��L2Ea�k�t��h���X�?>��y.Dz�>�����Z����=�Qh���h�KR�R`qw�X�@�c ,% S ���B8��gA�Y9� ~u,c���j����灆��j��b���3��}'�)O:Ap`�۳ !�.!4��(�J�'�A�a�ѧ%�X��BєvZ�C,-�Q�v:'�Wnط�\���-w:�@:��� :qp// �k���#As4��H��e��^[%+�bB�0!c�/ OX\���d�������ʹ_._6{RO�$e��%�Q�"��ߧ��9���������B0N���D�� �3j1�s�AT��\��M�X��n���N��錴]x˓ϴ:���6��]�N��"0!���NԻ�Ŭ܂^&0Z�wQvO��+�2 �&��1%�<�c�c.�3�ƣS9c̦t��(���c���������hbz��ӈJMj�0��P�0�b�ݴ�51�m���_2��m�b y,���-�.1C�|��y�^&CDyٕx�Bs��0�cp��<!ˊ8�D.�8О��_Ѭf�1e%ɻ��N!�m��K�fw���nYfS횮�'�h277<[:��M#�L xC�^n=��y� P9~�A8]���������ʎ-`�X��.{zE����2J���� ���3���X"�$!�����jU9�2�'@�a��#Ol"�T����GI���l�ڵ� Ŵ���0�j[m|�QrX�Ǐ�M����Q`���3����䋛����Gȭ�!��svn���مK@(�(HQ���9)���3<T�J�AB5h\Ȭhvȝ��e`R����!��8�hf]�,�����b�#*���K�T�F��Ζ�� Q���뢡Hv����y@�,��v���J��Z�j:�Cʒ�Ǫ��2.�d%/K�[����*�� ��7Aք���C�����*W���D=�f��� vK�>,��;B3��F�f�3�}�XI�V!����7E��ҋ����ﻓ��/n�/Im҂Gd�8Md�n��K�bY+���W��얈7z��g0f�����C��g�)�#�LT3���V���iHgQP@�����N1�T�M<1s�3"h41Z`��������&��_�L��"�;�h����J:$�K +�LA��ʛR�iV�r9m8�f�� B�E�f"�� ��f�=�vnVy�u2��?o4�:>w��nzNWWE1,� �r��T��?�ɜ����H���,k�l��=�c�/Ӆ%��c�=���ҙTgU%V����+�e���m��`�F_��[��kH�Ƭ1"ߘ(��d���3s�M�}�t��>E��6�Ɏ�r�@S0�W�~�*i��d��V):�#�ۄ�2�c�������9����ɹ*%�Ήn� ��Pa����Uπ������%ߐ_� P�l��.�v�����L�=���#�Ql����.�&dp�W�n�Z-Ψ7?�l�֟��������(/h��Y��s�$�>�����a��K1�?����q���٦?�6�T��|;^� �*gw��h��VR��Q���7��r�]�m�#;��P���yg�c�FG,�~� ����1��q��م�6����Tcz�F�r3(֔�ϑ\P�H����sB��gj8��I��w�'7�5�r2N`X����"Tk�Բi����Y��ٌ�Y�o�e�tXG�s�S����:���p�ǴO�`�$S ��Q%�I���u�'m�r�����?.f!����B�=W�7� m����L���%�*$���X0j�p��'�Ȑ��6������F����zP�T�l�{��;����C��{Q��|S0��`��}��J7E���t�`:fG�G����X�!ʂ�!�F�Nx^�t0Y`�tC���T"W�FG#ɮ��[f� ��%{���PY+��h�8�0�f��ap���ur̍�6�ggg�xG=��U#�> m�vh���b�䡂_�h?X/v��bi$ߓ�$���A���1��S�Ƈ���W$��UI�U'V+y�������EC G �n�+�ܐkw8�]�?��Ga �����`!��0]n�N��]�b *�z_"(��Y�d����� � j��%�+�e������U�d� y�w#q2m�~��O���V�p��m����v���),1Lb0}� �^�,䰏-�΅㐫�� ��:Gn< �~!�wB�{5Nƪa�S� ��r������-�B(KU}+��V����=êc@ٝ��XޛM�3�`ͭj�X�ʉ�m�u �"~ڄ���BD)�^o^#nn2���oh ����×�g��w���k��K!ha��{&�M��MQ�R�9������M��뢸�!�8�����W�HyE>�2%O��q�����܄6����'������C}P��i���;�wc�Ի�AwE�<���<�t��T��Eʟ�2�D���?�d�s�g��=_`}ɛ{zˣ��0:�"0+`CłM[\�V䞭~���D�H�;��� _% ���lh���P� L�dz�3�!�!3��I@�~P@�2#5C�e:�5�vL9����J~+Z�l��*���pJ�>�_c��{���H˫P�xP5�s���Ya��6�F*i �K��L�\-8���J�0`��3y�w= ��D � ��q<J��7aq�Ј�e��\�>��'o��?���V�gŪh�tvs���u�7:�! 2}��M ��=��M�Ad���>��|�? (EE����b�г&�̽�v>�ZA�,�0B���m�%T���݄c}�2�?��Y T_��( �������]Q,�;,�U7� ����f �A����]F�Ys��͓�O�'s i��z4>��s�mU�,p�K�F���2�)L�`r�x�s�Ju�K��V%b�L���M�L�<������|�6��ȼ�n�NרS ���ދ�P�lWJ8g�cw hR~D�Qr��ע|�:c� �Žn���x�i�I��P2�[e2A��ٸ������p �k��5��inTgh��i��4��BBg8RB�.�y�]��&!�b��D^/�wD������5�T��=L�� �t��X̌Dõ�[PC�b�L=��_+�TL \����ȢtX� �[�br��0�}:�V��]/ �lg|�9�%�j�>�咊 V���i~�a1�Ȯ:AG�ȳ�h{�PS�z�x� �p9��1�eB��̉1��xT���܊ ��>��=�%i4 ]� �'�9�h�#��� E&�K�Xh�`�VDF�����+,4��_�bW{���4��5��ro&d�+8I��!`g�E@R�2a��{LJK\R�|��_�O�*����,2@��µ=�EWR(�f8~�����9����$�qSWQ�i~جH�I�G�C�,%���G?�%��\*�d`��f�e� ��5��Otч�1���bdgw0`1��0G���fܭ��q'&��֍����~�ey��Y5Z3���D��Վ(!=v[G�qkU���⋆��}�~-o����]��@�� �њ�v�3�#.� �1.��9�Q�sV�1�<'Un~����5���´j�Z嚷�'�f^ZfmeZsT[�ۂF�Q��Ώ��Ԕ�_ԋ*�`�?��M����8y6�#>v���F�|�n%�:+�[j����`�����|�r�[��fMu�A`uW�)��p��sG-�9�����}(�ژ�]ɭ��Bsz[ۋ��S��D^� �C��bj�]��e�����R�)��4����ь.�<B[1������h�e:W�t�G���D�*�J�F��O� t�V��!t���?��vE}F�Y�^!�� [1���wm'�nkKQ`i��J��� �K�zD��b".s{��9��.�����(��Ȗs9nk;�;{�ݓk�������u���Ĕ�hw)�F@�$�u��ͨ^m@wkF��nk��r�� @�Ȓ���s�N����ߛ$�:�{t�;R«�.���<�7���Vl~U�;9*�k���~5.ԖVN�U�\���Ĭ���5��K�>��zq��~�mTw_���n�c6�-��@3_�D�%?��'"�Qt�[c��a�\,��(��y;T�2�j�n�%�`��A�Y� |��r8�eF��֭����8g�E��o�R'�9�i�B�~9x<met��G�_2�htdrCT%�L�ԓ��)@1�rP� Z�O'��q�D�P��?"��� *+��I�j�q�$C������ � �p�n�Drm[�ڡ��,8�%V�y)��eй���c�<�&�����N��s@�MF,^���fw*���D9��ο�I��+L�/5������+����y!�B�����lAԱ ���t�`���$�:��=*�����{4>�]eL9����B���A��yM�1��D��W�'c(4��q��DzWc���o��R���+�#�퀗��v;����O��`D]�k��Z�He�k-�.:��y$|�3 �1��.����O�"�P؞�$"�Y��D:���;Ă����`J<�,rAN)"M�fR��(ܶ�S��k�^�~Z�����I8}�������mG��<��@K%�gdɊ�K���Hr��р$H"&u�����y�����(�I�UUwW��I�Nf#���]]]U]]]]]}4:�K�#��'l�G�!,R<Z�Ч�:���]�CH�|2��p��E�֦ O� �:����j�#����%>Z�����h��ճm���5��]m�|�,�ݑ�[l�!��2@�����B�oaYe��s�@>�TA8�� BN��0��Х, N��ӛON�v's�B[�;D����6�h��P�I����Qry:A���$�R��dB�M��sĎ�4�7�PG�[� L/zlQ�h~B�`K�������~q{k>ͮ�dW��P�,��~Qn�H�9�@���J��w���ů+ �p��x�r�f�@� PR�a����F�,���E�(lR�i�o��N�K}��] �A`�����I�b�2��c�r�@c��+�sɘ+E�u/�,�O���fҜP�& e�@PX a�}���!��.��{ҳ�I�b���kM9T��UǗ*+�TY�u� ��r'��� /,R4�k �V�S�����?��O���kCo�|����c��ݫ��9�H���7툐%"5�(�ǐ~����Go��/��s=�뉀�t���=��q�v�i{7���=A� ���"X�Xn/~J�0l�nڱOC?�Rr�</�� ��oϛɾPU�ಉ�C�Ȗ4�Al!N�(���j�&�bwU��P���r�D�&M�s��ɤ�WD��.�k/�Tf�f��Ӱ-1���)o)���t�a��n��1�r�Ɍ��� 9`f.V�T�� ��|"� �*u�QX�]�u�|�[S�>���8��Q��(1�phP9�GxFI�g���;\�⾼ĤXPW�,�^R�.d��t �H�(��a��*����{��}�IM�)�f���Lf MrI�V�`���h���q3��Q���XDjS�<��rV���C��4��K�鑇�fH�����"�|���f�SV>�R�z����(s�8xy��3He��5�C=)0=�{ء/ۛ�X��S�!vs|���O���I[� �E{6a�]��z���@9��蓼8ym^�X+M]�v��ٞ�˽D2��( /-��>W�.uc�Ϩ9!�Pn{��#]bqJ�!b��~Ug⤜�Y%�L��M؉�Am"��O$H�Z���n��[���\�ë6tbu�G9��0���\ް�\����qyJ�>_�� {d>Yf��fÆ������6<Bs�5ESQÜ��j������V])�ԅ���x�����ǰ�Dw�a6����0rV�$tp{��5�qݜ�!a�HNE@�.s��e��� �(���^@&�31�x���`M��lJX 2���P���d��U���T�G����Yt���s��bU-t�Ht�cp���/["�(�|�ȏ��ժ�WK���o�� O��a�4���QP�h)kV���y#�C�1��d o����bVas3�9�5�X�1����?@q�ҕ�Xv˩�� 0sZ S��K|��x<�2C)D��/CU��s�ob\F=��.%x@*˞�qh��|��)9��ǒ�ѭN����hl8� ��eE�|Ύٔf�茗��O�`al���*0n;Y�%(�ªr�Ju�/~s���<���� ��Qqޚ ە�TĊ���z:aw�78C�D�U`�#�D��};�@�p�:��W�@�f��.j�X�7���~���Ǜ�����15Z��|Z�\��+�L�|�)�Bt5�����6)!`R�<����� ~�gٴW=V�Ԍ�� ����ˈ��Z���ֲ� q"B����2k>з�� ���e����V��c76F ����Vir ����,oV� ,38*i{�<p8+�B�:��;��i�y��9��Hx&����N�-�h���C+ss�������f��$N%h��u@J̅� ѧ�iҫ/���\p����_�'}��}�Z$M�ˁ}i��i|��ݑ�V� X��}[��dG�6��mtAV�.<�v���r�U�0M]@�!�ꆚ�����P��~��*M!�I~iZW��eAjT�TNh���P�>C�庴b;A��#jT�e�D��K���6�hqw@�i"�Ѳ��]"�����`KY��I9�1]�`���uL��0�X��$��������@��;9<�asF�ct�CD�O�a�u����kX H��g�% ��c%2�j�1���A�_�ꍁ����G�#�BR��;������.��ϧ��J�mQ+��Ԏ=)�!�w(na���/���B��A~Nl��Ur�����k�����,9���D��1T�YBn�0 ᢍ��fĖ���xo��^�)�Ny�p1�u��ǧ������*ħ+TƵڕ�|�Be���0�P�k��� ��3�,��nbQX��_� �+�2�oqLz�w�s�� pVh%�L�[���+�k���� `� ф�ޭH�x2� zrp���!յR+?H�M�����x���.���\�HN_��'8�s8���7�z��xB���D��N% a�o�T�t���V���� �y8�������#�Ƀ�S�ƴ7������n���e*�L��ۻ��>c8eE{�a��#\��-�V*�����0��w{��ԜL���� II(�����!]�")��o�خ���_�#8/�n��O���������t��l� �[$dD���f��@(ƿ���3�:���=ba��ZTZJ��!�� ��̈ �)���D�Eڦ ��Y�rp�u`��)�Ø��7�� ]���Ne3Ĵ��91P�.lNF��!TW^u��4ß�=b��E]>F�� �D����߶Q:R�Q�q㷋��}L�P�s�Ɠ���k�(��lB�o�Zr$dI~�r�s�m��� �*��&��C)f�Ŭ- ����f[��X���� �Qq�n�?j ��xd���1ɠ����5Ok�h���4��ϙrL|��l��7�E��O�}�?�OY���&&T'\,��gl��ozT�yo� Rd�K����s��#'�K�G����j�|h����Z�pjڎ:�deU·(f�����(��7����u؊p�䯃PeH��� �G����� ��O(���~4��7l�d���T1w$�����~;@��d�]�^���Z:�|ء�pN���N]��C%xa���f��Y�EZ��L�%�xNOgeh��zO�{�ڪCA��Ç��ǡ�u)������kty�Q�w��"�%#E!!��|q��d � x;��,1x����+�Y�Y8��x]�f)�MH}6�4"|=��(N�9?M�Z��\e��Q!��.P�b'�� �[�u=��l�ܙb������y1KKZ��GS�:5�Os��]�Z6�s��m2OA�m�BOЕ 6tU�J�ay{�S(�E��!WĎ��!#kW�0 �b��ڰ�P����/��j��>��k����q+W� I��/�J[�M:�ss[֙��G;y@Ƥ�/�����J�ަv�� ���WH�q(�/\<�yB*��w�N�}J�ϦE��P�%d����%G���o��1ٌ�P��f��bY�px�aeX4+�=���5�8��3�|�:�nx�!�P^�)�w���=�E�g�1�F��3'��8$�@C�&4��Ч4>����B�>ʞ�_Ldl�E����G>�d�Ԋ�F���O�zV��y�-TR \4�ٸ;�`��츈7���W�������#��槷PW��H�����⓰���l�m����k���O_��~��jk��lo���,»!��t�}.��R��Vd��O�>+��d�h�rK�Q���s��5S�Ss&�N�s�{���si�?�gE����P�g�q�& 4�%禙��P%>�[z�A�{��SqD�;&aSV����tK�r�h(?��������D�� ��e휹�h8�;�Y�ָ��0z�!<�M��[A̅�m��D�WkBV뎎�ג���X���c|�2R��7��e��� �����T��J�� X[}���yn�zi�Dhz�](��-�][Q�2+�6�EH����0P�C{\_�g�#��_�؟@^'�_��v?���+@@Ĺ�C���-���B�a+B���j���[ K�X��5�P���!�Jx�O�vÎK�����o�_�y��B#F��Y1 g�,�z�X�RB�W�O� ݱ��خ�]�K�������q�QY��X%�����{a����N�[X�$�! ���RA��)6n�Oy\R�� 1��ö�/q*D���T7!�De)u��������0 �G� ��X�F��p�:W~��7W�"� ����"M-����H #�hd7���V �gY�*V�{��3�t28ۈ~/���8�E�o�Wf�z�� :!vN�[1�劘G��3�#m�f�γ2H�;:�Kܵ�;�Q�ʴ����B!���=�~N��G�/Ed����=x�N- R=�Zê�����{],�Y������ sM�b��ԋ��Y�f"r&Y�C����p8}��;]����#59�$��x�[�O�"��,���Kv"�.�U���>�p>9<� �^�Ak���&sH�DҢ��'�4^ڠh���em�c�7�a'�� m�����g^&����c�t��p�`��`�?$�Ib|ގ��G�R����X�v�Ge�t$�3��R(xʅ�:*JH�K��d�XH�^~}��'��&��J��w��A�+�2�p�����B�8��l�u�0>f�KMI�R�QSɋ>�����#�������_�|����6i '�8�`���:k�ԅ�">�!W;ϐm�C1W�+�h���3��a��ӳZ��KuL�a����T����w�OZ2_)L9| {Jg�D�>�Z�����ɴ�4�J�Z7C�oylc�A��N���� �'�g- �hv���v��%�dT,�Ah�2���ՆޢF<�E-]���"� o���P,�h�l,^����B�1:O����� �r1!�R���B�2���}� }�^q�ION�t� �Z(`@'�o`gÕ�����:%*�&��t�.���De�鐡\Z(��nf���� �$a9����3Za�X�Q�dGj�+�4�P��$��L! j0�>��V��rb����s����w�$j�����Y�je,n�SD�F�I�F �Z���)�;6�!00�@�����mDPm$���Y��C$���*� �lXrp�ϧ�nH��']����2����\;[�&"#"f#��P��m�2���=�ip2ؓ+ N��.p�`��(��^��AX;�O^��������I����@xl���| ԗϿZv��y�ɣ�u8�u*_���{ܢ黭��c�rc���ډ $�Kda�<�n�J8�w��Q4˗MF=%��F�7���<ő��zo����en| �^Q�N�=k��}&0F���-#!w3�nd9z �x�(�L�e�K�?���o7:[�'�'r �z������a��Y���M��{֩ ���bqX���T �t����Yo���e3�טVm#�2V,�Q��3j��m�OQ���?��鶕.ud�^Nj ����|2�)��;������:%EA>]�~y�^<�w��u��D}��/.%5qYi�{�YP��ݸ�A��̎��>�҄/�S��9jĐU��� ^�&Ū�K��~:�H�3}kv�FY�T��c�0���}pW�dgf�z���� {�&D�ּ�1,��<!��¦+���o�Ң����x&�,���N�m\w�������ј;����Ɯ��'��7偣�'��[��"�s`�6���*�h���5��+�0��x�������1��(�����ٙX�!C��#y���;�{��iل��q�yYZ��j�x8�VZЈ:����4b�^Ҍ �E]���*Asj�����m��}�ޥl�%��8�ΰ�?��d ���=�j��,��v[(/���*ak�SO���ZCW��]a�Ǿ�����8m}Ø��!����!'�4���dT�?q��/�~6�������LIa��v8�X �2� PO"/&E��l&�NF0Y�W���� �ٚo!�7ZM3��2 ˆ7C`��[�^�P�H���l����=g���l���dƙ�4вvf�G!l���S7@� ^.k��;��o�c���( �lNi�]V/p�TZ�㠍o4�����-��H~E�Ѩ�:Q��Wf��a<4�ԊT��,j��.:t#����PGGq�e�u�͐�8�i^Pl%(W�O�x���J��C���G���^����+3@mM_�މ�N��Q_O�b=�X-�PMS�O�IS ������Rc ��R/��J,��v�,}��/||��D�o�p�ͤ>-��\CK\�-L�X��"( U�,��G�6�N�ƝC$p v��C<�dC�p<���e\8�V�P����'���5�A�t�!C����1o�;~�=!:G�̜�Hp ��C2�ߜ,blt28l3�B��l�WN���?�0��R��`V�fC�6OQyBL2j�]��J�kQ]W���@�u�QW��r��BƈBԃ���/A�����Y�IL�`L�UP|\o���!���Y�9��#�i��CTɚ��J9:�l���j?̏�'���${S �p���~{�ي�E��[/�,(vٳƢ'��)D������{z����5*�6�d\�����S��N�i�v���p:E:�7�1�FY�� 7Z�j4�n����:dtx�b�x0٨��~X�.��9����ӑ�?��D��S�,��vE.��w�0:����Ȩ~�Jb���Y��mm�1_%6�b�6��g}e���zHv:V��|X��r|�roF �>�H��Rqq(�e�/l�t�b�ܳz�ҿ�Q�l�u[3 e鮶�3=�h5�fz�N�yG���� \> �g#3j|�:��ܓ��Dx��1��a�����?�Al��WrC�^�(�Ri:1E����#g�T�"B�3����Dj}SZ�i����o�#O����2E8�}0E��`�n�k<��{ �rk��^m� �2�p�'~���Й=�tc�&R�,�{r��$3w���JsQ����rF3��'��#(N�SU�� �Zv�=�ơw�/�l��L�����<}�;XO"Y#x�_��+� �m�$w�oK2X=[�U�N�SR��S?2�(��p3����t ����"�0���e��Lɧ��$�9ף�)2R�k���4l\�myc�Y^�#�9(G0��Vo�s�C�)-{*���]��C�j0��<��O���`��f�O�6��Pa8*̔�6��Q����eC�!d�}K>�0O �"Z�R_=�m���e`�r�!�ssR�ڐ���c_Y���a"Ȫ�Y���\α�!K���X��$�_�($�(�Iu+��H��qtY��f�`be��"���v �#�0ßS�r-���s+�4`S��h:���KܙL�j�/V!�T��3Te��]����!�XF�k�`����o^���ǯ���ų��{�D�0D��Z"hZ]$�����x�mY@H������^�O���HT���a��������<�슻W�c�C��m��~6F<g��bl�� �b����x�ٴ`:T�%9�-�V]����)J��v�~�ѭ��J�i3��� I6���Ēqs��X�`6}_$�Q4�F ��L�.:����˖q�V��4ܹr%�k5X__AVy:�\��<�/P�u��@K��F���� ��І�he�d#���P^�RI��T���h����+��>}PB�lh���{ϳ � ��by ��V��N�&2D}Z� E��5p�MYJ��ps��!Ԯ&f j��D�� =�8����P����8� �|Yb�ĥ��L�P-�6�c���+��SՊ�*��N_Tg�7M*i.}x1}Z����P �WW% ��^�FV3q~j���E͍R �?��D�I�˓��,�i��h��!���e{�B��$��~!)qe�|fz �7��/������,0�K~}O,�l��? x�9��OvPK"�|}41��v@0\�/s�x��� p)�≥S8MCT�� �Ŝ�qi�` �@;�����w F()�sT�������^������X 0��e@r �6b�;��2���m�3* |j� R��3�$]���A�A����E�@���o��a�T[O5� �^Bf���܌��}G$6m�̗|�e��ޒ���&���*&�E^�{ښ/}/��m'w|��b�r� $f{��J.�'�� ��Ҷ� H�?��'��@��Dz �@�;v*SMj(g��5qX3'+Жs���_�u�b2��O+�jv�:P�h��m��G�n�.k�^f�:��\n3��sd���[��LV.a�B�+xy;� Ju^�#����ҬMl�'`�h�<UG)I�ie1"+�b1�c�vu!f�gB�i��Ȅ�8�fpv�����d0�����;qN�'�D���k��u�T#]�rH%� N��&B���z���li8 ,��Ǘ���m�D�Ò�9��|g�=|ׁtr*Ƙj�4.p��6�k��d�OZl��6"��2�B}d�=���0�ӆ$�$p2�^q��=�#�����]yܒ��H�pqN�J��%6��� ,�\�pp���t�U�?|��A�+��"Cx�m�'IÏ��p��K��f����(1���-�\����(��$�� �� ��d*�F��l`>�NNq����e�t�a�a����m��{�kiP�s2�Gw�;I\�a���:|[Բ�``�ؓ��w��.� y�9�� ��6�#��'>Ȗ��a�ǧ{{���Uw��f(~�"CL��i-�y2��`w\�jԺ���Hev���+5�"s�ˉ�~c��J��M�kB����P&Q�JG��*��2��������ь�ds��Z�S�Rv�3d��z^U*�u4WYu.��Sd5,eHjQ�-�J� ������Dn6�9����ӻM��LL���OC�$�l�RC�'��:�z��c�L��R�;v�=2�t9�So�,Z����CaP�H'r�tG�|����5Ǣ�?�ǡ�TG����}8w�{]XIn������c�2{Q֍���\�����[��%ЦK�Őd�"�oop�jS�)'�U�Zo����)��yޔs�������6�A�X��$�e�#Tnt<�Z�#z��-һJ����c�31X�%W'� �D)<�x�j[/���AY?J�I�l�X��Fc�0��1.0,��AG��p`v�AGvo�WG�PN4�}�q<��GMC�R�y�Z�DX����t,�U�%.ap�����},�,��b�?�/h{F�F���$2^����f5�ΐ������hs�l��8�rgM !��ߌf���5���/ޕ�S��ĬBa�2�*sW��l�0�OV0�0 �"��U�H�*���+J��E�wgH�(V�D���.J��)��.���g'�f�L�B��VV �SQ ~<k�3��:Zِ�fuuB@I��lA�E�Q[$�Z��:#�XN�Q������@&G)W,G}�\�sΡ8dv����wL�N`�r��;�SN���{� mn��G��Q�d��B@Xg��j��6/Y㜡7OàH�*&8���K�:�#�l��b�14�F�gาƖ@⮄��i�a��6�Cg��t~�����W��#������!b�gXh��=�#��hY�0:#�R�(�� ��0-��O[^s� `-^?L�э�F�da�C�08�@�ՉI`~d��<���,�:o����X�Ѝϩ+�k4-��i6�>�e�[9.˃EaR@�r�_#y�q�~X��d��+��dG|�d��y���JI�`�����3cS��#�3��2��U�eZ&��m��#����2��#�~��T\���!��^���� ν��<��l4��e�q" �H��H�א�� ��;I�z��S���[��&o����?�BV����\�n�_P"��jZ�*]��%�A��iǝuuo�������"NK\`ʌ@7�f��{�P�t�*�ڭ�,�-D�F!s�1q��cP8�y�����29Ιzŷ�������A�!숫f�m�J�]Z�n0E��9�t� &�D����&݆��e��Q��m� q�z�~�>n�Q?A�vġ�|$�ג"A����Ў�V�M��&�*X�pD��N�X��0��rȉŅt�r�ү��|WM�t��Y�?F�ְ�C$sx�8ЇR��N���d�k�8��w��05N~'��ᤥI�x��&z �6���hO�7x��(��0YTg���F��D�����KXi�"`�gk;����o �&������p�%_D�X�Q|� �5���8��C̱t(�!��~j(wV����U����z}S�VlA����\F�i�{d�h�[ޓNnξ���$�����ו�F��03��ɾ����Z�kV�-�\7�d��`�������y #O/�1Ǹ�6�H'o�{�A��_r=A\������^���N�h�" S�s�g���s�ǣ�Y�ب�V p�Ԛ&��u��Ӧ��KW� ���Gt��8��4�g� f"Zԉ%擨�\�$�6yF�,cA�{���M?��4D����kI�5nF����T/M)"RP�8��2�9�C��(�ad��l>i�PfJe-jWQ3'��&�,k1F�4M��_�@�����"M_���/��5����,"�;W/�_��3���?C�lۀG��|����{_~��{<�����~����p��l��V_v�Z�뮫a ���;��oE�,�n�v��T�[Qk�U���.i��&�噧&"��}�\�x�´:LL��Z�CHE u��HK��7I$�Dgm�=K��xY���HX�xJ�K��k^��OpҘ�n�3�9H��f ҃㸼uUk�'㧼d���!K��~�n(�@�<M���{�k�r9A&(~"�2��hl�$5�]K�2x�����Ia��-��TmjAc!i?w~7��c����B�E��\RP�~A �GO�9H+ID�ѷ��i�L���rz2\{��sz;4|7�k��&/4�8U��i�w<����6M�T�#��a^Ga�j5��q �L"��%��~�K�V������33ȃ��*����c�Rx[ւB��^�^�uԉ�*���G����t�d1�k}����d�}�@��U�b�J�H�8��K�p!���9Ymn$=|��|�6H;�a��D�7�l2�y��#� �S�]E Û��G ���3g4Fê��!�S㰻"���q��\q��@NIatq�H��������[�KD�H˚25��(Rb4K͵xӒA�?�A�� -ɌY���նJC�S��6��)f�U��� �6��k�?����a�{�,��Uw��J��4�#A�{:N� �n*����g[�����Ejc���H� d.��}2 M�ݘ��q�Ǭ�1���� o��5h�R��ܤ�shs���V�sR08��� �Mtl�h�[��I��pKVQ��Q#Tb��I0���� ���a�'����M���ieV㇊C� uL��0/ZV�]5�Ri�ʯ���[�g���W=�XL�+���'�L��q���rֹB��Ў���V�m[-�5�q~��u"�B6a����"��&��A�6d�c��m3�]7c��TX�mj�,�Sgs���_p���#��" � H��^�᥀���Mq� ��Ȝ�ż`Y��r�W��T_w��gN�Y[OWAC�l�O�M�w�-�i��$L�; �e~]�ժ�����Bhi�Y�oM]��K�x[ɟ\��`��5���,�=�Hv�ǫͣ�z����!t��b1:���TtդYQ��~\��x�¤��� m:��H�&!L�����gG}��.p� ���V2����w�2OП��J�G8�<-���x�\euiE���,@�!��z펼x�]�ڬ�M��E<��,o�Hh.U�>�*q�iznں��Щ�*De룂��\ڼ?@�I��E\ڎ�"?~)�O,�>�?Oq�&���Nbr+���$ �,r�#��: ,�!vl��`��d6cn��* �pڊm�L���[��~.�h&��Q]���b�8{g5���Aݛ ^�6�j"�I��T��q)�f�@ϽU����%L�~�t���D�:�<������+�!���O-K�����gk�MN�n�:��Sr@:�qõ�`7���\o5*s��d��� }= Q�,�;t�C�0Ψ�%9���,W�Mg�'�e�WO� �1� 0tp�qa]"�F5��Zaa��@exz#l�n��������@���ŷHm�o�wr���<6g 83|au��t�n���(QB�&�.�R�G�.,Q/��er��Nq�b�:�Q����YF�S��Qާ ��5�9��OEԒ�$��~�#<F��\A 2��@"������q?��q����4��t,�P�u��{�1�ozv�g��d�e �;�����?:z�(@�^)!Yo��T;��`�*Cf#ͫ^�S�VU2f����j*&)�6�_�O5L՚����;W.��D�냓·��I�+���ဋi��*q�pRh�Rt���L��1{*rc��zcU�2��`pv<�w4���)1?���nS��C�$�$�������l�m����k���O_��~��jk���Op?�|r���\�ܹ������o߾��o���խ������a��U$T�>��i��|@i� !���?ӣ��ʤ�1��Z6*M�#�W�&e�$��+��/ ���G�ݢmVl��Z6���%��Z!�A����p]�sab�^6+�W�����H �6Ji�h�������/�8� A���L:M`��IJ~�`%d�FV�h����9U��t �Xjy����;Ď����v�`a��-��w#��B�S��Ev�@��@d�LPH���^o�$��E�l`љ��%�u� �[�ܬ�$�?R�4em��Xi�^�i&�!����%���T��rÆ�Zo�B/�~��ˇ���r!5�恦��g)Z�1 �E]r���1�q�+&it(6���2M��("����j``c�e��Tn��\vLH����g��X煞�Yo�b�s�Q�5u�!��m,�Mb�t|�KwK�)��*ʀ�i����;�=O�R�l����w��fΎ��,�q0V����/c��$@rQY���l3�C�չ9�ױ1\�@O3�z�OdC"�����{�n7�r*T�X���[�+���ڊ�b{��<��"?��c�D���Cp��*C���zc+�=K��kҡSi�@ʕ�ޘ��!^X)r)�&)/�i��b ����䤙 ���L�K4sZH֕L���U�]�g'�'��C�L�q���Q�) ����t�_^!D]j6�e�\�> ���s��:�)�/��s��ҫO\V���'g#I���g�BGuPҾﯞ#�oU��F��|8E"�?�?��<�S=W�oX�&C�m�Ni��]ӓ���X��u�ΉΉFH��`�`? ��`�t���/��$�iO�`w�_ ��PA��#��ҤUw��b%��gƵ�'�o����S�R�� 4�� �c�+��DU����>����c4>}�ɣ����8H-HU�_��_�{� ^���c��P� 3O`*���G/�|x��ւϟ���/����SG\��9�l�6�cW�k&O�&?9��S�� V���� 75)}z��#�x�Ո�M$!K���TϺhh�&�jjvo��Q@"���5ި%��j��ѷ���$y_R��^=a�`f{VmQ�hh�xٜe��>��ܭ���=�P&4rɤ�HrS6��oގy�*�}Oj�TEo�EwЬ�� 4�b��A77��6{r����Gý�w�$zId���R�V��(d����ۧG&-�eGE��5��� NF8�u�;C"#�)MGTA���d<��\{<� �z���_h��]���@��Kw��m�� i�<_�Y�0�����t:P�^/���� 9�������,�n�"� k7������j O"��H�1 �"�ldZ� ��4-��+q��w��k�"�E/Φ�Z�-+� ��=A��"TԱ� ���Q��G{�h���h�������>#�5���}!��-_q�?�ҹ��W������)wl*����,#W=֡��C6ȤF��ASH����Y����LU�V#Z��2G�$�˲3Q�2C��F� ,u04?T�h�:xu&6)Q{状I�û�ъ��F�$+��i�9B��oR��)�s�%mA2�ä��e�s,����By�Z�[�sE�3ٮ���t/!��ΣDŽǑ ��.���-,k��N�5[��nQ��<�f��-� R��-��ơ[�T����r�H���a�8z�yϧ��Yج�Cn��*R�"��[U!n��E}O&�E�� /�o�C��r֤܀ �ّ�1b�7��Q+zۜ�A8����+O�;o ~����(,e�g��M9<���|�_t$M�EBB�b�"��[4�Z�A�.�1^�t�bS��ˊS2�:���� .��|������7��2)~��ݎ��^�V��k��^h.5eF�t#�V�Ъ��"|u��Uآ��*����#D��$[qNm�!�2��Z�}���)�3��[��d!���Ɉ�Pq*�ԓ��z�D���P;O�� �̏ŕ=�v]�(� ![9�5���� w�����lKs����r������5��.�"� M[+-�U,����������VsyԪ��S�s��Cy�r���H�<����^��B�N^,\�.��n'����u�Ik�eq.+xֵL@��7�3Xt���?}�ks1AZ���Z�����闯Q.Ĕݏ͒�bp�c�U��ݺ4V��Os��H���J@��`�c�k�}�$�f��=.�r�<b���Z<k�T��1�yx<%`��� �!g�K������t�"w�-��v��7�㶏�ѼU�LI�Z)�bޡ��+� � b7�mmw��\�:����!��R�o��%�J�F������!*^H�:3O|t/pg)>a���O�fH�PJ�AEE�m:��'~����s�wo�?�'��M~7Y�/��]����k*�u��:^�@�6�;���'[';��g�m� h�:b�d6�M��t@�{6��~��(mnT�5�7��K�l�9Gg����7�\a;��nu^u�� W���A��-V�H���+P�\��^6��%��&���^�� ���P�8������p�(Q �T��IM�D磎5ܯ�4Z��)��E�C�? /�5�,hG�nu�拓uNhuò?�Ԭܔvy/��Z�!�"��~2��W�cL�{����ֹ�����9��P���<�.fv!��i�_�>�0e��ov��8+�l_�ߕ�m��J��%���'K�T�bc�Dds%�]D�� ȥ�*�����K�3{���"��֡r�x��.�P�d����̅�nX�W8=�L��{�b��/��q�����7 ��U��&7��ZDߝc<���Ł^�h �� p߆y�]��,�� �}�@*��f����y��҈ =�]4K��N�fD�0��L�t:8�uH�@�J����VwS,l�SUvȾ���$�j�.�\��6�F(h ��w��+�Ҏ g�����������h~Eb�rU���Ƕk����|)y���=�E^8)aэ-E}�>W(҅������D[�WP�/�(���c� ՛?o���ʼno})�~9�S��Z�L�L�t������U-I�!ݠ����l��e�\"ʨ�,�%^�8����]L�x�F��K��j���*�[� f^&��� W�>m'f�ͿZV�3����P���$Q� (t��-v�x��*���c��!&'8<iF�L�p�6�}���VY�q#K�y^�~ ��Ire �j�����LY92�ټ���!3i��<]f��/�0@ش�Z�i� �P�M��ܹ��7a���P�N��fP�rKd`�wh��!��w{Ǔ�p�M��^a�Kwq�:�Ԏ.��^����\�*z �ٮ�MV' �u#�b�k=��_-���:@�3-+�s���D����d��L#�џ��z��,O�V�v�Q���+K�V���p h��#�y�Ŕ��!�&��,���i6�oC#_���*_՝c>�p/� �� �e��[o�ǗL��zħB��ٌ72}4����H'q�2�rD��G��uc �����(�RGd�y���ӣ�`N^U$�aYJ�I���hQ�w*��+G�����)�� �B\�4�a��#`�����^�z��/�<�2=�2G�Cd�K�#p/�8km��2I�t��C���!��D�J$[�e�%3m��E�J\�L+-`�^)�:���� �.J��J�Log'Y�����½�']c�\;K��z���w���� W^����*T�Yh��=]�q7���́s�6=�jWgn���[���xK$C ��|�o�����3�V�8�f��.�Hº�e���G>��d�i�\�S���`���@1�����;��a��O����+_WT��A"����V�L�:���lr'Z�9��"��JǾ$��-\,Ti�����x�2/�&��qt kQ���h�jX 0)QZ"{.!�ȏ�����f�s��."��n��J�D᧺�`����N3�t��L�í���Y�gX�إ��cCfD��2�,�Ih�#�N����<E��p�pO���]ؔ;���в=�)�$��ٛ�nJgu��p+5|o�D�/��xuxK����n ����λ�MU�Dڈm�.UQ햞���n9�@g�U�$�@X6�YY��ͦ�������@�����\$���<� Hwx�2&K��r�҉c6EbC֠0�`�!� h[«�%]CX�V!z� �x��m�.�����-��`�[�'��J�d�� aj�"���K�T��tb�� ��-���� 4�l����jCW֮�kSkuEr��}��9߮NC�q䲈�WJ�r���_#�Y�\��R�/�^����h�H�K���l�"����R�/�Z�1nm�cQ����p�E���J�%�˒��!pR��_����a]F^z�¢�u�����;^u;�� ��0"AA^@���hߐ��#?��� �"ƵY1P=�|��Nq�B�ؚ�M�HBl��'�،ݟ,�6ҋ ��'C�. (���3�3���e�B��3�UWzQ��6q�e�hx|zzb ���3D�ay^!F��AӋ~�?��a���>�2���l��3��x���&�j������7�[C������7ݝ��98��v� �M�*�v�����b��5L\��ק�4�2�i'��w�}){@3���`��ڻ<m2��uS��jY�X�@Z�!q���k(�n��g��Ү�,9�rp��m2m�� 8,n�� uS�j�)�B��#�n��?~�� �2s��HR�����A�.��7���$���e�2!��7��?��ݵ����>(�{���P ����� ^^���%D�0�,��nW �K`����J����K�vE+�Ü��T^�P=��\�N�w�d��2������w++�\��i����#}��u�o��!���Z"��^�}�נ��U��+x�/l�k��o~��.u�\>6���b�>ײ�R�l7ż]w�S�lL�?2���u�5.BA�&X�q�^��l����*D���'o�&�W<ůo�(����_:Y�%�6�������+ �����C6��\�I��8,]�/l����� Z�Y�]L+J���z���*�U�:Y�+�/o+X��#ݿ�N�&k&����kV[{}��;Aڞ�K%}�?;�c���!O��K{�����.7�R�����e+P���� ���R)�K?1��DZ^m��(�.a���'ڬadȂ�g����S�ώܐ������ X��ѕ�j\]���:�D�J�!�ͥ�[i��|��w�F�k�o�Ȕ�a"�ә���T�W��+�2���"F~�!��:�J�X�v,�~C��0�~�*�v����"8\cI�AiI�<���2:��C�Ղ|m��X�X��I=��v��+@���o�lpQ"�+�^�hG��q�M�ډ��2���`��U�,I����h|:Y�#���6�}��&S��/���I�h��h��T�)<Ƌ���)d��[ۤY&����:�P�5LH{�9L�E�aF�����^~H�r������I��_��l8}�Cg;��sm�rz��}�&� �C��8=�ڷ�F�J�˻�E��-Ή6���.i6��A�b2w�c�G��X��)�et�%?{6�!�s�w0H�mF-����U����W ���s����s�٬ն��תMc��n�9g� �!�����,\pN�!=X�tǹ�H "��ʘd����H�&{X�ՎO�@mXJy�����ަ��t�V��z��KO{I��Q��ʁcÍ����w��_u_]ٱ"�a��o*�jv��\*� ��FI-XP�i[��}�� 5�dM�4�M��؋;u5��o�M� Q��|@<�Ep�yg����:�D0�a�%�f�j�sy��:�=q�F�o�gH�v� c���Ql6vo&���d��yJ�y�� 9���ܐ[�*�k�-K����� SCʕ��O��'Q�,ާ����i�!]����5^|��@U1TB~�@YЕGB���e��M�_�t-���6T�х�!#V����#E���h�����h~�cJ�駓a��Eh��I<�Yг��dUWWw��-M%p�|�]d�h�y���:&*&���vyѯW ���ܘT�7�h$��d�B��0�V�ւ!�P�'�q�&�[�x��{9{���A�RQ�mFU�������;�[[�����3K�z� [\�|T�c�~��b/�����_?|��7�5����1H��#�-{#R2�����,iRG��<FU)�� �#\��ۖW[菩��8���#4;��������;��]�Ui��D� 0�T�<�̾98@������˧_����u�����)�'R�:z�Iz4�<M��SX���c/ �]I(�q_��V��ap<�X1�:b�|�ϻ[�w2s8�:�ڐth�J�5����NZւ VK��x6,0YG#����,G�䄐6h�w��t0?�� Gǽ�V�]g+ � .�o�X��Z���z7G��N���i8U �{4�xl4�S&c���ڃxd����S�����3%QK|�U�T��m��c�\�Dk)�W�qT�%�I>:ӎCg ����v�J�C�B�c >WQNO��j��O��b�C�T5��rʦ��������}�{�7R�wrx������1��ɸ���'V��\i8i�9`ڷ���շ�тs�:c�'Zf�w��25��,w6������pJs�6*��N� ��<�|.9p��R/���ܳV*Z�}���c��Z�'E���1��_�M���8��[]jM`㑋�G�����h��\Ax;�˫I�'�T�h��5��m��C��Ս���D��c(��D)�_�oe�=N3� �G8 �g��*S�T \~�ྖ������4̜ ��؏Z�c%*��wDS��i�F�[jY�u4cc���H��vK��d��!���g��@��ў@u�"���<���}��^Hp� �m���}�^��ޜL�:�� 1q��@�X_Ȣc5�d��uU���ܘ��Q��6p�fʐ �!��� �W/����}y��h�]D���� f�J�[��0�L���D�(���o۠X�c[���F�ͷZ�K�)v����e�3é���Hվ��n7�:*�<��E�N`��N���=D�ܒS��r���b�!�m^�+q�w;��\;~�9�y��l>���:�!���P�24���H<��R sg��*%��h(Ȑh��o�FR���:��ș`��u���zZ'~j5��5�$�zc��������Z+AC^zDO�I9����0�\V�,ȞW߇����`KHXwer� �����_t�6h�enw��4�y���+��s?X8�ܙ��:���QܸUP�Y�R�(Ye�fp�ԓd��x�2 ���c����fͱ��}���0��a7��D�u�љ:���4�`s#�_���n{'sg$vN+�L�{N�,$cCO�F�=bl��\^�6�"!��Z ��J"�J�Q��r��ŝk? r{$��)����!��/�a�� �h�{��ݏ�7�GЋ2W%�E1�K{Iix���6�Bj�j%H�R���x�lֳ�S�J�*8�5f�}� �'���G�?\��Z�T$j&&:4��cu,Q�g��o�x��?U�*�n&�K]�g��p8F����LR�s�MVsu�N��g�|&}>+U��\tb��I�+�]��3�\ {R�cf�u��ߒ��V5���$9�O�P,��>ow���*۱��'z��Ԋ�Sv��'��_��wm4�aE�W��c�x����Y�C�ŝlj8�כ�w#���ǃ��&���J*/�_]�� |�����&�d���ٖʵΕ�[R��+� ѽ=��� ��&�M.��w�2ƚ�X�%Ξ�#p���]�ڕN�F��U�?*EΦ̂�6X-�t"F� $"�Ε��������T�Z�}�l�o�c9�)� w�_*��7b�"�օ,�v'�*�2k��a+�0���sۜ�N��7�÷���X��IV� Hr��O�_�~'.�\�X���EeLB���X� �x�QƄ���X1%�L�FF�&��f2�5�}�U��S����W��C�(g�썌<u!~z0�p���Jv��+H;�_]�a� ��_�U�������3(�xk�ݯ�ߘ� �5���z��G�SPY`�>(-80 4�>i����)��"�E�ă�>@I���6-�o�ԃ��ſ�s%"߄�����&ŵxX��9"h����d>����?�����?�V}c��Lj�E�B��Ƣ?�U�t�* ��p�T���G�O���2�ic{��OsQ7�Q���[�;� �ï_>|�a~�ᕋvE�7����}Ĉ���� Go��X�0�:��⢓ua��ő e���\���/łv4���!��o/�����c�_�N���I��j�ix$�%@�`V�ps��!s�� �����;��Y�ف�{�x8�u��fl��Y(ݧ�N�f�/�A��Z�����l:9͆F�ET�p��2�B"Q&tO!�����5͈H�p�h�q��â8^d ZWǾ �,6�؈uQJTN,��y����v���x��(f�Ld4o��fΝ�"1���+��eE6�,�!J #��6$r���*d� ��օ�b<�V���Y��%����{���wQ��?� R�G���Z��e@�X��A��B�2(12��kX����+�G������������tKM)8}���P�UvR�z2��l���7��U��YM�M<�Q0K�-�`�ݾ��2���9�*T25̺��p�JDsL����A��L�,�*��K)��ޫ��Qð�,�-��Ӱ&�Ġ��M�S��E�c�����fj���'���Π3ZUK���&����șK~�P٤�b��rm�AHu�̸���d#WgP>́(t�� ����� �'g{Gmċ��&��Mf��&��š0�m�g SV��m�(�+r8��Y��G��6�|����y7�_1\�����E�X~����br���t���F�:AL��(�ӧXam" /ќ�]`���`��M�����J�2~�V�����:,>��[��텩�4����cj���d�-[w��� v|@6�U!�M���j uJX��3�F�G��r=��v8��>kp))� �Dkwdr�<�k�ʨ��b�Z"�l��f"u����q�Az���c�px�.o��t�UCmݖk�V�s��iNpG,�16���4�w�UL��SN,[���m�^"!(��\R$|,"{�%��,u�����^��AqUf�7��э ��P��>&{�<�/ ���45�}�f�����`/a�Ŧ��ă����� reaF��B��>�\S`�z�'V����."��h�h��b����E�5�HW��9�.�|ܞ/\���i�Iw�Qe�zY�h����C>�x����V��5[�RJ�Q���^��K� ��za�zs4{xr:����NN7��%Sf�A����D\�`��ħoO �;[ŭ�Q�ie��Z�MQ�e��"��ES^6j��8�F�S��D2�OH���OO3q{`'w�\y�KK����_�r�;;�<��v�E��t�f�� ق��1�ѭiX���GkwT��Z7D����@�b��[Y�Vr=Aj�(?3N>ms��99`=S��t�j�Z���� 7�t9&:��a` �o�n��P�8TeMU%�M��|�˦�B�Z5E�SCbr�O��i�6.ydM�ט��**c���?ǃ��ё����M�8�P�d�:�w���>~��+�f{8������/$�����3GO�`�m>���/�!V�a�v5�AE�撯�XUl1m�-�=�Q���㏐}�y�"��7�W��3_6�v�'p����f��[l��<�D��5�D)b�`���- �����j�U@��Y�w�Co�+6�2�� o*PCm�n��z5�E�21\���&�y">���&n�_a֥�_zT�}�_��K� K�H� ��]*aB��N�F'g'҇G��!��������C>q�����U�miE��y�_�s�?$�t8ا*'hh9T��N'o�u���7���Q���6p�N��ɦ��ʉ�n�O��Yw��v�[���嚤�r{v28>��l�P�� ��) �[����}q� ' �|ָHl�n�K�ͦ��ޤ~��5o�Y�Mw��W$�T�RK��3�4D�*�y#�B�#rǙ��,����a2�;W�S������\�[�^霜�G��(�UBS ��9�y���?x��h�;Wh�cм�58�O>�����z+G�t@�͓�͛�� ��� _QRs�3 $*���"-�,�]Fx��Fh�o ̟KlʓdC�yo�B�g��t����D���$P�m�S�t�{/����9j�ł$|O���b_�C��r'"��{8�b���v2�~�t��������JvgL��F�= j�Γ���Q�����H(}֔�T���m�BV� �Y���\]ݚ���V$ZR�"ă�S蔸�֒��_�%�����}�4�.����xZ],�H�j�b������Ҹj�:�[`�ө/6�ޜc�\ �H��D�E�ERL �r5.K y��7 �I{�0�ѥ@`���>� 8�Nm�'� �o�'���m�;B�!Ys04S�]M�1�H�����3��EFP9��p�mn鞫n�j!p��4rdO%���/�7#$����R�>�lѹ����i���?�6!v��[�ʻL�~R-�eH`�n^B����(��.i�b�#���+�P<�e<�f���|�Fa$:7a�7q����C4�qcȃ����GA���ٓ��DQ1-c� �@��)��xw:t��ׂs�9G��y�Y�'w�=Itt���]j�y���激;CS�Y(5\�kK,�P�����žI��c ��A��"�N�HȄ��x^t�L�~՟n����:껄�%�v��qM_�U�9W3I��܌q!B�9n�[�O�_��K�5��7@��7��d�|9�d`[�i��\�V��V�<��g_���uߩn���Ƅ=Y�)����t~zi����c�J1��ٰ[��+-�oٵ�g�����EC�~ӓ��S��T���Y�4 )�T��P2H@P�������O����ZK�U7�V&�`.�pt��*��� ����Ľ�ܵ�^Ɏ�*��`�~23����83�?�3e�H:��~��KM�5�n�����KBNkހ���K[��k����Z3���S�4�8c�X!��8�3��w[7(3��AohYL�q� �FM6Bd ��3�V��9oO�Y/W�#?�O/W��;L� ҋ���>�)Q ���ǟ �� �S�rP���8�;cD��F� bD '�IJ��iLWz����(1�����v�;��;:^s�b�+��@g�@�4�T1e��f��+��ǣ�rf�d��"��e�nb����FB��I|}W6a&���_ �����D���#��W)�=4����K��=�lz�#V���G�ך�]����� p/�ػj��>���.��*G7�W�8 .=��B���yp|6�o�{���� LNa"����1��l�0د�+D�a�/8��0B�� C�&��+�<6�q����|�Mr%�G�$� �+���&��Rty�Y��6��x?2�jr����$��E�q�ox�H� g�|C���s���c<�1��.�;��|p��뮣Nssut��d°������z�����;����L>z������χ��1��֟{wo1����W[��6��۷o_��4���;|��wC�����B���.����������7w·��_������z��͍7o���*�^\۸{u+����6��Q�&� ���Ί%�Äy@��w���w �ۃͿ������zs�Ӎ���a���@���,[{ӛ���I��\+�x�l�`�-�N�6z<J=����@w���)8�i�����;w��=C�J�����}�p���%c���ߏ�v7��?�F'���/;���E���_������ ��ڼ�o^����k�G���H]۸��+IoT�)U�}w���F������߿��7��6[pZ�Ʊ&��o�_m���j�n�Wx�}��|hRh�j�����d��O�i�>+0�"H=�s�Z��'?����r�y�_�z���'�6��yl�^���*�*q��&�T�{UD5�.������`-����E�4惫"|Dy�~�+�R���9�����Cdˀ���f����)�H��o���M� �� ��tKT�Cj��V ��`~���<�ptx4��_�OSw ����� ��P�c�\�)!3��E�/�8J�nJv � d��Y�,��&���?�\��;Ɖٶ�������\����g�%$�i�o?�c�6��F'��n�s��5y�-���KN�F�q7EʗQ*L}��}��Z�I��{^^����!�[���}�#\g��L�"Ԣ�D�]�Z ��~�A&o�Ѿn�/�Tw�ab����xDq��~����1���0�ĀC�����/��o�0�� E��g2U�K/V �}��E[(��+3� fI~N��ĽP����px��O���:��<8��E�J]�p�°��o`� ;Ղ�26�"-��ip���~989���P�,3�� ~F�ߣIW2�C2��]����jF���u��irS(7 �h�C�����Uߏ��J�`!�s�����Ȫ�\x7���a�loC����K2�� $@�f6�y�G��Ub����Xu q��ђ�6�M���l�|CG�����w�����=��L��q��xy3�i������#=��8P�W8��M;��G8���=�l?O�K\�S�@w��S�tH,#h�K�e��M��U���"YKuvku��0�h;y�iq��u���s�rl�7�0�u����92� �]�/���G'Y-&o �̎FdG7 ySi���U�̭�§�=v>|b\�w� d\���z*`r~�F�wl�<�ފ"8�cF�G�%ip!$C�,Jj��Ћ� �F? h%�Ȱť���f�l�����O]��d8d��q��9v�S���Io'�I���3ۣg&^\ p� ����= ����.r!1/K���M����A�oS���^����o�`����4N�g�gp�@�ٮ�VR+[�k��g� S^Z[�����z"��Ny���)��v�]�b�d�u� Tm�"d�q�; � ��nc��������#��W�)��R�ڵke�k18�28ޔ�4;WzOm=̊긋�����Ս9�,�O7�Q@$��ڙx�E�3Tf�6�P��l�U�?�}])x�fƩ_��|��ާ�x�c?}��&��"��=�br���I�3n5��f=���}�Sw�O=V���^�$����?|(v�C(��3��7_��?A�q�l2M��h><����m,R��n�Q@zE���w�%� ��c������o[嵫��[���ZS�kz�kep�viP�F�4��i��텱\g#w�� ��� )�o�d< �6UXr��н���/��yQe� zyښTm9lm���5T�+����z��"�aKb��W��H ��(ڭ�/饦�)k��1B�� ���< �fƇR��^��ڲ-ڙ����f3S�ޓ篟~����g�<�������o=z��%h�n�*�7���HI�V3�۵�'-��@4�%(� �/5��s���i�C%#qkn^�l��[���Y�փ5�w��6��Ρ g�.N�j�~�i��[�R%�i+C3��@���z�����5� ��D�P�����<z��^@�D��G�K���?!���g&=�{>�2J�zf�?�k�_8G� N���В�ڹ�H\����N�1W~kt��l��h��NZ�_}�B.^���*F+� �p B~�~�x��'{�mANyE7 ��J�UW2�I!��[Ϊܪ��Su�l��G|&�S�x+f3�0��{"q�E}ě � %�x��H��D'���������=���#������ur%@L��k��WPpo�~k��g"�`ٷ�\-�i�VlL1�b�ʹYX�*�82A~�p,���?�̏��%|1��mh�`wh=�w�����?��b�2�r/Q,8�]�v���Ua���? rff����~�����x~����L+�EXNF��"��Hª��E�n�f�m� ���)�����x_�jww2�ON�!@�L��'s>O�K'��_i�Vg;V)� K��f9�q1�=�3��ۛ�k ��ͬ�c�ګ�p���i����S�랠F�\}��Y������D�����v��j�kR�nf=NC���O�����E�V���Y��Y�>���l%':dw|v|\��D�@Z�Db����O$1F�ʥ���8�}L~���a� ���+-�IS���|�� �P����CȠj�2�B��zk�0�! �}�U�a�N �~�Ly���+�y O�(<t} 8�bxL��6f��<��tlb_�K0�5��� �Hu���+'�1.�t��B e�j�k�e� ��!�8y�!nZV�ȼ�x<�>��r\-+*_��;O�c�|�}�9�����gl҈ �PQ�&IP�XC��>{)�4r�[�څ@�YZ֙]I}V���T(j}�KL8i�C閩M��z-��8 �x��0��$�4��hʽ�D'J��j��*�TVA.]��oI�4>�0!:��= D X��� ��l��$]��B`TBc@�R��BR)��Z0cɫ����@x���Db+M�����堮 ���/�KU�0W�LJ����M'|�w&�zpȏ�]�H'���?ݢ�u���@�;�3�/�f��°�a��\=�BR�I�w�63s�r�3��Gd��e��<��aK\�y�H��*���Ț�F��Y��"x(�[�c&S)�?����-Y��r��.����^�˳1�.ei�lj$H�϶��"��q����V4��d����d�P5Z-݅k6�쉐!�U(��9)�ٙ�)����/S�xɉ�O���M���i��Ƚ�<�\&�;<���(2+U8�椵��/�����y�R�]��<��wnk7�{,��]��V��V�0�o�9�w����A��|hx}Lvn �I�J ��E/�^���cD̓��R9�-<3�e��d���knw,�q!��l�A�D�n�$�2�5�� �����~�����P&AL����j��[��wA��>;W�j�xt�0Z��o���܍�Bn6���3��;�)����h�댕�+�m�mL���jV��*),��e�qs�c�}�9#8^��w��o�RÆ����ٯ"�$U���.�︎��>D !���5)�*0Xp��T{�۩)vQ����v���[���H�c�{�qЅTC�R�a� @#r~ANM��iF%�[8�//����������"�f'����c܁��$��ǧA-J�J煃$�BY�%Vf����#u���ҽ�zې�ۄ��g��D6�ņ:e�@�k��&R�JI���7�]�X��PMD_��cسx#n|X�`�m�:f���m���d�N�t�c6ŵ��l��>�����acϩ��` ��V��jV-K�#�LqO�4�����Ȅ�Nq˶�]#�������C��� �5�ݏ���͐�zHw�j��G�2�N�,<�_?�s,�t���B�pf�7��E��T�%� ��<|��1g�Z$I�h����A��<��c'��@�o���U��{ՋXB]�R��P�P^w%�sXO���/�F��m2n�@M!�ù�6;~/�J|Blcf�����Ϗ�uݱ�UL���Ӽ� ���B�N��~[8#-��ˉ�Ņ0��L��h�w6Y'9L� �ͩ�����ʶk��)@�_���E��^�I�C�k�ƍJ觝�R���&��ޒ�q���y�q�<YV���ծ %�D`%/$b�\Xnd����N�� ��0"-��CY�PE{��h1�|�R�qdT���v�h��1���{�� .c`\�lr6��)��no/��Xl�� 1�q�8}%]W�X#���NM��FK�ƶ��%�*,#��NرY@�����&�������R-]��;)��zWB���l�e"�i�: &��d���:8�)����!}9q fZ���mTӺ��`^���/_����C�R|�P�h%i��p�x�D����L=7G�kia�Ŷ�N�~�$��bC}�U�_1N7̉)��P�����?��[MG!r"��7MPX�%)���Z��e%J^rA������k1�V G8ѳ$���3q���>x�F.�H�!��� V��[��j����M7r'����H���iߨ�yZN�zq��g#�"��Y�*���a�{{������!�LIV�q�]���5H�*ma�9F�D�{��P����@�l�����_M'�(�B��ou%��H+ר�2��5~L�k��b���M�ĈW�3�e�U(�� Y?�,S��4�rj�X K7¶J9{?��H�d]k!�+�=tnpG�J�΅�w��>O�Q$lŤfW\��HČ��!��6i_Ov8U���f��R�R] �z���������(ͧ�HyJ9#�rh��h������;��]2�[`�D���� n���h��w�~�dG�T�u1<8�r5]!���B�= �F�o���l��/�"�aџ09Ť�R��!�G��Y����Xe(�-��f�����)�h6P۵��oZ���V�S)�~v�oܣ�T���p���!�34/{��x����c���_�I�*92�V�@M��-V��l[ܔ����@� �m��';I�PB����9�r�G+�;�ץ���5�1F��?uD��!DJ,���8QO��� �JfD��:�O�Z�i{�}!�����B3�W�]��h�a�:i��q�F��T�dV�@s�@��:��kW����9 %U��Dgkgk�j�=l^Z�d��S�9%���a����1�&������Ȓ�mvVHD�H�/�P�-��E���7�P��Ɵp��b�<-�� ��0p�U�����ua')'�C��r�����2�w�%�Q&�=�����m����#��h �̶ҝKВ�����cE��!�\9,��X8��%Ț�TP.�U2$��7+���mK1ς��ֲ^8�؋��0��1���e���y1� G̞9;��B�uF''0 au���30ʼ�`7��0����p�+�n.U�!�D��=�S�{�o����mj#G��WLW5{��`ll����ۄ $6�ۥ�fc<�ƛ���~��-��cL�j/T9�Q��֒ZRt�z��.}���U��U�i��q�(�?q������T�UN�2o9/3�����Y��2-~mï��V�� �mX�Q�=��4V��A�5I[�̐a�S"��JmK��������P����8�r��[sc��O�J�'�ܔ����Z��w�s?�r��8��1�c�ߓ�k�D�D~�y'�AT�/;J�k�9�PS�&���5q���HP&�$����Jƅe9�-�P��i�0c��Ճ��_k�{�ys�g�̲�w#�/(�>)�2k]� ;�TC��%ӈ #1�5��S����Kog,�}~bd��/�:���0�6�L������*��Jv�1�AEe�C:͢*Z�Em����ȞMG��ᬙ�����YІ~��ѰO���GnXr%�)��w#�Y��<�y�n6�W�9~��e= �J븵ܲ�rG�\.'E͆�6�p)� �V�߄_�q���A�5_ĭ���}=�ҿ��%��8v�tGHxն�Q�T�VƊk���S(+�X��(�~ET@�៎��i�}��=[��u5�8���E� �D��:|���zJ�HS4Ob����M�0F]���6x��3Q`�v���Y��=�+/����i�"�n��o���$�r����ܯ��� eM>#^H��{�u�R0�g�=���4���h�^GCB.����}���z@a�����u�0 ���W��߰� �l��0�e�T��O5vh�.��dQ�p����/�GFY�&���GǛ��Ŝ,�ޣ�'�px�<����r4���s�sPw������*�9 ]�K%�`����o�=-����)��#�{t�>���a�O#���BWa(�/�����N�$��I��� �p��r���mᱤW�Y�丶%�5����pϧIJr9?IE�Y�И�-ϗDS��S3��}���(=K�����hAg����q~_N���Qr�"�Y����(�(~>T�{S�b��S��@��f�"\,9y�����A�Y���\*rH���)~mڞ��wo��"��:X��}��3na�w��T���l��!t2�h��"W�S$S�mr9��NU�;�����hԦ6-�����<��d^Y�Ǐ��"n�p�FG����A���AZ�� �I�Å5,���V\# `1a�����">�W$--Ab�k����5�>��L�$�.�}$�'�Xfw�T�dӖ�W���G=HgC�=z3iq�d,ץ7�u��$As�k��_�{?���_ɧ��I9�Z���4�����b�|�|�� �Q��0�ԝ�#�|��ʈ����,���J��;��o��?m�,���4������q�T���Ѹ�r�,��K�:���]��Dv"�6�)S�����Ez��7}XcF�o}�S�����g���y�u]ɓ��J(��s\�c����Z?�`��t"Ml=ɅW�ljc_�(5�ׁ�F���MA��X5s{ّB��펒����[�������W�.�O[۸>�Ā�~�9����o,��d)�C���\��8�sԠ�eo�u,^=��G�g�V21݁�pI�=l���~O�m�3)ǟ>/�vCc�;�L������ =W������.� �ݗߦ3�� �&�����gS �|,�BV>�d�W����3��-0|� �x�9�/9����և'��1z�7���L��R����x�O�ΙPrI���h:Z�96>f.= �C��(�Jq�C���j�w� =�e�C56�ыx�;M~M��i%��[�U��+���Vc��l�'����V�˚YO|{}�����:���3��T�}&c0��u�_|ww'��#F2NF2N"�SiY���^˰ g?k �n���3�u{=�:��d��D}{-|�*��k�HL^��u�_|;��f[��V{�rt�eH�ڀ���ne*���v��1 v��zit�-�m�����v\���V��;k�:��k0�^����ߨK��byե�m��~�-��V�@sX?<h��z�m3KHE*�;Sϝ�f}W��V�{�0���VgO��6�Ip�`ϴ�z�v��ت��JW���TZ���!}Р���;���.��{P������k�H�jL�d��� f^z�l���}�SNw�g�V��5���OxE�0KV�-�Z��J�P_A��5�� �:�]ڦ���'H�h�%]����h�'^���1{�LPm�0�1y�6��w5W�"���{]+���s�\�W�td����LT,�&��� W?%�!gXbXZM���8s�oG3�ww�(K����=)t`��#�_C(- �'���Y1�B�/�D�^5h�����9璠qNue���w��!���\�k����_���ZT�9J�?,���Ō� d�J{%�3R���57] (����ࣨt/&�P��~~(>Q��q�<����u�W�����9Ɠ��_��K)S�0���$�aI�;�I�/�<�j��a4y��)q�v�>�]�g��5^��F7�����b��1��a�%ͳQ�GRu����=FG���Î1T9������!���m�g��e�q����/����,��f�\5zp�E6��'�TŰ0�=+n�l.6�h�ӧB��'��Eu���TMcɘ\�ѡxGG�k;"�k;"�k;:*+����B�ɵ�Ѯ��fV8��'3x~�=Ҏ�:�2�l��K���>0��Sl�y��Ⴑ|��w�C�`2�5������3��a�pB�O���� �8�˓q(���r�]�x�N^�i�� �� t �q�44C��䒾!J�꠷��6���%XO�l�T��N��sx(�.�R�^�`���uz��(\m0����tr�'��Rƹ@��W�#�'!$���(ϰ�1�gO�Vi��8�K����w?�q+b�!~$�����v���U��7'��w��`S�>���l!�����.�L�̥��R[��| ��'�c\��8^����Nۃ7���I��XC�8%�g����o��X���{<����6 �(������@���Y�1�1]¾��S<߲9恋���N{�a���2"�y�:듹89~��i2�8r�K��@�Zc�X�@k���5E ���X����6< F���}��l=��1�F�� vlF��]`�6�[Ҧ�F��b��=�O<L�˭����v(�n��BRϋ.6I.@^ �l�^(���W�-�����E�PhY��d���HdY��J,?�W,D� y�W�+�_(��YX)n��R�fQ��͒Jq���6�)�^L!���������:��J1���R���61��JVřA|m�t��F�^�il��De4�_T�4��$�AJaMG'1f��F���S�D��xGه¤�gu���� ���Fh�b�*^��YF��k(YB8�ixG�p���U��Y�]0Z��WG0� ��0�+�&v�S�z�BS~��'|��o}�FO��Հ��[1�NDzp`�Ḙa�9�g�b$G@�qXSE0�D(�w�� q�/Bʞ[�݅k�Q�d�+��K�\j�_��(ĉO�2;�=\���׳�5,!�X��ɫW�˧茰y��m��X���t1�����l�G�C����q1 ��/F��i{& ,��x��TC��7�,�l�0��V.j�/�.�aPoq��U8��=��+xh4�c��(�h�B��㠝P�X����8 ��}����E�W�eH�B�����"�~PD]��x��-J��S�x��_��J�b4-�P�^^��͝nݾ�7v~��H�7�PKc��Y�� PKSTLdist/summernote-bs4.min.jsܽ�v��.x������E�T�]�MQjKn�,Rn�lv/(���*(�`��s30o0�5O2���B��?{M{YDU�122"2Ny�k���y>)�*o���~���l]�ڃN������q�h=-��V����,��eQMFdz��LQ�ų��x4ȋi�ý��?�NfŠ�E�J��eR�3TI�W}��˓V��T�;w�Y1�OFE>L����r8�;y{��k6������OI��%�aߖֿsG�v�����>��0�,oW��� u����h�ڶ��8�Ч���]��;w��Y��C�zR^��S;A��ٸJ:;U�Ϊ�I+ﹶ:��g=�yZ�E�u��w��^����l4N��syA�M{�������w��z�W�I�ʻ��* �.� ��@�8�^%S3]u�G'�lǬ8���*�ס�U�㨬�ډ�WobܟN_��s����\k�Y�а_� �?8���K�VD(tUU�>m$�D�륭���8D�d"I4���3MؕQ�����.�Ȇ��A������h���<�4,&�*�f�;��l��J�ڮ��`�y`�'̺-�i܄[j�T'�Z���p�]v��:ͯ���Ip֠����cԛ�����xt�u�>d�a�(���h�;��?������Qvx�mzݹ3�Zp߹Ӟ�c'-��ae:IG�a��)�}��p�5 �Y�|8�j�� �5�O�ɽ�w;騱FU��y���h�<�kӔ��6��>�bҚ�㼗�O�t#1���IcWܨ8��O� �����E3���8w=��q�1i�'���9�hl�&�\�/� �����]"K��7ӊ���]�����嬺�UѰ�U��M7��x�]\��Q%CM��M�a�|�E��nz�����: �FU&�t��<�2���>f��d�I�{���M0�����^�FZ1��H뽌@76� P�S��$hC�-I���rZ���f&a�{�[����D�p��iW��餜]��/�����K�LJ�b�jf�j<�V\*G�-�Ԫ�Oϧ���""�*$��S/�T;UVu�dz��*IH��h�bܯr�e�=d��aE}ë���h��4���Gܬ8¤u6�Oz�%�������^rw=_�����Z�7ڹے�"Xd�"qf����6-df�8~w�Bчwu \�ar�q�� m�*Se֗�o!A!4;��:��ҥR�=8�I����j�/�b�Y��v �ɋdEI�������'uȫ�S����E�W�<��!�<ě�J��G��M�ni��F��.����uæ�E��A:u�����o�=�<@�Þkr�`�=`��z֛�����=�^̦g�?8�TeѢ��K��-d� ��DVG1�$�B��,���,��=���qc@��ڍ�� B�ؙ)��=|+�P���ҵ�7i�XB��?���-�:�w�w]�,�Y��iR~���ȭI$�\�,C�t� v)�T� ݑ|+�Oul����u3���{S����|������� rJ�Yr\b!�A����X���g�����?�B��av�p����/cD̻'��8w�@;�<���Dt0g%:�,��Y��az����gd�9��גF0|ȯ`�g�XD��2��if��{g����y0. *A��hz>��+�ƒȞ�4�`���jt�O���YH���q9���/�^��I���d ���߮.{[.�N�?�J ��(/�v-�wTpQ(kڟp_Q+�`j�)k���Ƀ��ڍ�w��"*5t�5����N����aq� s���fԑw�[���l#���)v����e�.x4!��B}㌆�m� �`�!��������2\a@r�P�� m�=�4�Ɔԥ��V��!�>X �I#�p�� HqO�ռb54� �B$�R�Y����e8�p�� ɲ�|:��DC�E�<�a%����WZy[A�x��b�ô`�i� ��Q���v�*Oծ�O�K ��BEj��(�+���8f�Ԝ�������Sw`��i4���F����JW�D�9��Vz����G�������M��˫kWx��]�FV�NR���yj�Wv��������}j���O� �;�#����A�`T��E��N�*�5�,��� ����J$`��^� �g>���^C�5��O����N��QUԀR�~9��єK:Lҵܱ��m��.��|y�})JйN��0�3��檕��S~�C�)�<��T�zs=�D��lL{*Qi&�kg�cR�e���(U��� ��E"��jljl��0��_�]ڇ���V�FX�;G�_�E ��١О�U4��}�-��۪l�c�s�h�E���=S��0�$��ȡaOC�**��B�ͼ��̡V�|Q�����R|��,��X]T' ;q 7G,�u:����ðL�ʂ���W�bm@��Q� �E��)�@3�,�� �zy�R�z�#�u?�P-�^�����P���:B�%����o�YۼNO��q×��t��O�h�=���7}q3�e� S\\�?��8�*!�MP?��k�O��:����x_���3.W�ު��̊�7��Q�&�{���֓Ģ=��y�Y��hܶ�W�a9e��-�Uy%��|�]���pe��P��?��s<�ӇѰ:�7_Ϊ -���|�[=��5�T8`/�VI;���m{�-[#=;@��pD���"���Q��oa�λ$�A���vB� /�/�2�%g��ʢLw:;VET{3�"ozK5�^��&��-*�D���<��ܩ�pȧ��.V�$�P��P�G��Ν�b{0��6@�����i^�砍�W��㴼��h<I���`mbRԖw��b�-+v⇛G�������6�����~X�;��� ��&ڢ�̓(��Ĩ|�gj��R[P�(#'X^�.y �>�PAT�Gl*�q�p����6A��h����~z1����}��L{3˲�E*�CXf@7Nv�vR:؛k��&yK��Cu�f �st���b��� 0��Ǽ=�t�F�JFs0͞�0Gݮi4��*Z�M�m�Y��Ng�L�"m�uIa�I>�a�p�o](_� ��Lʰ=��ʩ�����@���^_/����0�����G�'�է`lv�ת�+m� `3�Y.�< ����!�6O��Z�v����teg�8�fGP ��m�������� �b��9�R�6sh\.%iQ��Z��\��"HXt2Pml���4uu���u��#�p�������������S ���OvOq�I_������`���pڛV�7bC���i��v��o�^7��X�9��n�?��?��~�~s(��6j�F����}�>����r+�>�ʯ���7Df���5��i�ޓ�i��=t}�0}�[[���Z~��A�}1�&a����Ν'�h�o�}ȏ���~3n��֩&�.�PlZ�!t%��si� �ڼ�i�6���u�]��7�q��ؽS����皛^���(�N���g;qo�9t ~���������J���WW;^�?��k�Ҫ�������5}�{}u�t'y����Y� �O�C�]�g��$��W/�g"� Du'�{�#t1�p���O��>�AY� �G���pc��蛽&��dO������w��;�6��q�^��1���������Q�Ձ(�}�;���@~G���'����>Cυmg�����c���t�կ0�O�gt�=fO���P�c ��c���� ������c��^y>���Ŵ�b������V^���Qq ��vB-"���]./�)8:I�f��J������#�L ���jf�,�������C��s���=���N�l:�D��BzO�؏���S*�����{�mպ/e)s�W#H/�{�/Ns�lm͊�]=Y�WH3P>�V���u���/6�.(7�����f�m��4F�=)1��(u�QgGK�[oIq�0ɵ^����eg�Ӫ�RW��M߹�5?K�ؑ|������կ�^���ק����O�~}����K<�|���imm~��~�o�28����^�������������nj�#�⯽���' �?���gpS"��v=���x�`���]���su�w��/�/�zu�'��o��o�7����$�>�����.�G��M8�?כ;x|��ӕ���{���Oy��S�Ӕ��a���+� �/c�+�&lDb��G��ݼ(���D�{�ο�1]{�����)��۠#�'�5�pB�>������ 3Z���A�M��i�C�{Ң�қ$eWW�56}�b%�V{z��9^?�k/������� �cb� ��B*�����[�E�*@��,%��j�s qb���[��s��;�^v� �q��9�?�iӈ�T��A6� �~-Fs��r���+cJ�j�c����Z�rj��-y�lw|36Z��c8a��Q�M��I0x��V ٺI��;��T>��l��+��}���n���;>��3e�#[����}���8�8��HpA99�������(Id4��ߜ�}u%�}s�(��P/WL���l��"q�kD�n��9�4���к��d����-_�����C#)Up\���ŇN��U(~�`�𬭑�[1~2t!�'3U����V WL6^��̩Ž��, N�v�B��,�H��>�����N���5t2W�(�� e��hϤPesh��}V\��l<F���Z��#K017��I�{K}Z~Pn~�[+�o����0Y�K���E^�O�(B�Ø:�7�x �P�Gp�G�N��חe�Ou!�r�!~�~�lΠ+�3MG *��"�~d٬��v]��k�VL��n�Ԕ�BA$}7C|�#�4�05����'�XH��ZQ�D�a�|IK�(ў���Ï��3��x��=����e�Y�(�!�t�?k��Ϋ���o�4X�v�3��p�ڊ��E�jGGd��2Z�F���Lj]�5��X�lP���@f(K)d$ h�X$�hE!4�:�w�� 01T�ѷ���t�T�������,�((r8:��)@k[��*��ex]��)�W�a[vw-��3����`�͓Hv��@A��3<A-L� �Zm�Y��tÜ��Ծw�K�����i VJG/����G���{��&{���ɛW����������I~r���܄�I��>�� ����d���2�_�y�]�(���'��-\O��+{��a�);:�4�0�pj�z���bFE�AGSn���AQ�7��B\��#G��+N��L�'��Mry��+�O �L�DѧPzGc�:���A�-=+ O��?��=ճ=l���0l�7��I��dT,���9�X3��%�������?�j�'���'� ?�r��2��h���-�TbE������g9?��x{�W���C�3+���G8�a^+|���R^<����-��bRF~>�O��P���<���<!Z�=c窜���f`{]� ��&fFG��n�ԁDK2HS����װ�Ugq��� �4�}�nN��k��ʹ�Xw+�ׇVah��/�kC��F��!z.%p�vE�f�3�zCk�w! ��8; k�:�Σ*xq��߾s�R�p?|�Ɖ�_TY���;��}e��t�}��|��8�}P,}���_GS�x�?<�BN,�A�\WW<�*�6|hM����ҥX]���X���ڠ�k�q�!O~�8���LF��@�L �z2h:�V=J�.DK���mۢ|[k[:2�g z<��Pڒ��DP��`�6v Ժ��0�+���^`������(EB���Bb �*]��:R�;�a������yv�8��y�dx'N�~�N���#+(����%2���s6��m�M��n�3�Q�cPm��c�{�ǡr5N |٥���'�1r�ki�%y�͡y0��}6TOX�.U Ԩ��Q@o��cx%B�} u�^�ᨧ;�� ,�%��XUe}�L�&&��6��%Vת��'`��T�6�w�pr�@Z�Nh/</�y���m�B7�I��m��U ���j-��M�.��BB7 ��<�>:������{=��B�k$V���Q�T��P �T#�xAa�~6���h���+1?����9��M^��k#��xq���x/�]85�WC���`šg> �0�x}Q"�hNHУ�r��r>Y�cA�r@Ě�����#68��d�8)�=���τG/�l@]�=��&��z{�F���É�}�ħ8"��~� 0G�����ϸf��sq��]���n�yGalΓ�%��Ny�=D\���l@,4�0ۯ�/�= ,:ձ�æ�s� &綟�\�k�ט�+�P*=�Nq<B���9��PR�_�����b�ݘ�^���ӣ=ýa54PqBd#��5*�Iq�/ӗb3jx���,j'������~��00�6�����A��{;��/�흵��������/��LJ��ꨖ�['�0 �=c�QD�a��^kk@7��X,hs�Z�&#��"ӈw�����;�/�⩤�� �k�P8`ש�!e_ 5�V���9+�J���@BK��c!�q�Y0�\{ �:]�Kq��I�*��@r�NO�G#�]Lu�]=���OS�5$�˚әB�<���NN�� UI\�>����c�����MH[�4�n�j� j��a�z��s6S��=\]]�� v�ku��@�(N��$/6��'�p��c,R�<¿I [8�e�3���Y�'G����I�tB���iѾݒI&�{1y��rKW�T/$R�Z���.�`����e ���1�ձ�>�ɷ������![ǁ� ��y���'y�t�`z�L1=��z�R H�j/Ή�[|����k?�~��.�;3��s����1̚?[�m^ˁȾ���%t��=cZg��� �7���)k�g�uo4�b���h���Ώ��ٺ�)�]�����*`y�Cא<�cK��B�� 8�B���!R�e�_����cxϒ�~1��E����|J���L ���/�{��0W� ]�2x�� "�� ��.Pv� ��Zo�<�ZK���)�m� �@&��/`�{�\�٥�I�ʧD_��e����s�d K��[;G��6�/g��<m�����S������i�1��Ӌ�~�6ʿ�u0�1;�����;ח3�0ʷ�P�e Uzp�����G������Ԫ��7���l}8�l-8����}m�R�x�:-w58�<+��yxxAwcf�P�%�W|��K����*IaxS~�=�������(���~C�̱�^9���O�2��-2��l��+�����}C�|�*���s�9y��4[XF�ɜM@Fb��ԥ\h�A� ��]�P3|��f��rr�Shd�3TU\�j��ۋn) �[YBU%�}��t�=������k<}㞾�ӷ��[<}瞾��"n�rV�4L��Ă"�����J�k4P��1����D� ���9\�H[��^�)��2'���4P:�/βK�3��Vޢ�YE�F`������u_�E0�]m�;���;}��D_���'����g����1,�6��%<���7�|`��9�۠-����.:�~��'�xm���_� ���d���H��{1,~�2�*9�I��w5�y-����A�[ bti���:.�c�[Y���J�.VJ"r�(`�琢�%W��Y��^;�-)��v��ZnQ[aUk)����f�%���3�c���lQN� ʙ��v�ڽ��$J�| *���q8?�ʘ@��������� %�T��[��T\���X�_��~D$��^�uaG��^ڒʫ�\��}�� ��BvE��s�$���g�?��0���e��>sk+Fr�؏J���` �I`�CU��!)QICo,�����`6��M��Y�*,(��G���Pz��B�)��w�7[�)��o�F��i�M��)��՟�D�� �7 7�A�o."o����\\�/��8)fqs��z�x�G��#��=Ԛ�� E ��9��)�zN B�s���'2'�Rn�pǢ��L��!�u��ӓ�g��[4���<y�o�M'c�� ��0t��g�k�W��xC�ݽ�`��{�}��0���>y�����S}������O�d�|�>��A��ӷ����O�<��S<��>~����������7���V���{?�V��}���o�o���ٷ_��wٷ����o����o�Ke�}�>ɾ�!}��������I��m�<��w���~������oӿf���=������������[2�G��OO��[?�2U�z����}����]�c$V_F����Hz���:��x�G �9�Pȉ�<�S"�=��p*�Z�2+�}�����-���e�^���O����=����7�5Q�/j(�YU�1A���eS��l��)�!A �yf�TΪ�.�cU>p�i��K�%�5���T��h0� ~�=��L�k:��1.��I1���UF���{�ao�x%B��6��B�4蘢����n��Xݶ� ���n̤3�_@�����``�F�CL���Ͳ��EgP�".��t�ye�U�U�+������{]��/�_ �a]:��b�QS�*���;@�y� 7z�0��XPd��c���iCh ��fdP��-5\�,� �3��AJU���ûм��T7H�)>�Df(����()<��E{������A�h���m�ʝ�gZ���]j��2��L)�rVmΜ��T<و��z�)�ͱ�� �Z��v��6���X��e��l¢���>#H.ڰp;�j}k��zD��oC 5��9�v�̘������HD�X�͖�_�ĵy^���^���e`�b�h��ii��H���L�:��*�K����:�.�����t�8%���|��̻��~ �ҟ�� ����T��1�;�@���h�$z��B?�+��8}��2��JWI2X(c��iR��|ɑ��R'���z�ٺfk�c�-4�)hH;Oq�#l!GtqF>��\�U�F�=dv$SKr���V��h�*y���Z(GihY��m;㴡%K�3?�xD���v1�`��2�=r�S������,aSE�p��z���I�`��8�J8;L[�ZL���-X��\�D�?+��� ?+\����!5[�v�,��lC.J�;��'*�'`����.b�����\=���#�bj&(L��솱4H�!�7B���P;?!����Ws%孜"��h�VKj��WX^^��%�txtg��,7��?������4$X�43B�W���k�Bt���0({ ��"-Ɠon�b�\@��'���l�I;�A�%����Ol�H�,���Ω����ټ��\v�c����]Y̞�m�!� ��57#�V�2j8�h�s�T��/�P���`|�"�Q�xЊ����sƣ+��W�������]X_�)���1�OuJ��~�`:W%�M���l��6��JR���.v0��Ν������1VI���|T����`4%�8��83 [�xD]:�L�K8�_su`��8x�8İ�}hB�b$���( X^�j "�>Tr�!#ږ�V�e��1m���l�5�yp1#��ۮ*R�Y����r8�8 ( n`�=Z��Y ��c� �� Dm����*���m�~��Tb1�Bou`�*��e4;K�o�9���d�Mkn�q��"�{�����$����u�`�F|7e�Is����LqM#�]}q���t��͐��]8 :�B�xIg�6@��L�ۃ5W���� C�7�YCSx�bZ���0"�xD�i�&��!��(Z�d��z�o?Z��ҿi��d) ��Eƣ�䈶��r��z�n5+��4N@h܆���I@�����e^S��[����z�L��躪�o2p�i� h��Fjõ3l#�H�CI�=c�ш9tJ��=yd�J,"�|���1�3�+:Ә8 ������I�7ؼn�H�h�X��@��7������l�?t?@�C%@K?8�'b��nrd�lZl � nN!����c~��<5�a�V��B �,2r�w/��ဣ��`v�+f�ڝ�5O)6�!�K%��t���T'��^��1�_�;;>�����D�a/±�x�r�ЩP��u�/UY?C��v��Ϗ�q���T@�ત'!n��7�Q9Eƥ���'�#�RH:�sg��� B��omY@�Gم�^R��B�ѳ�6�;Pr��DEd��i�轝\ X-��W:g�K�L,g�k��Z$^�!{�s�2A�fDmw�1)�d+�](�J�����K ����`�M�8���@E_ Q]�H�$�!����f�\b�!Ν����֠��^Ɣ�Tq:ϒ��BVJ�'���E�FfƄ&��"�J<� �m^P�/Mbm�A����lKQWQ� �����}gN�HD�?���mZ�% *h){J�{�7����zS���(�O�I��۱���V�e���?E���]�Y�>�x��W�kGdCc�a�UF�7U�q �D]U�J ��V�j��g��Uo�,G]B��ǹ�����`�q#����y�Hb�0��n�ͤ.Acx��S��T���l4p��d����Z�e��b�+���W,.�&��-m�r�t5��bb��HvF�����.T��d�+2Y��б�p�(�H3�97 C4L�v��2��ZC�ẘ� F���xJ�lY��!Bs��9� ��ly3�X"���zx�C3��D^��}�;<h��8������j^a�S?�YB��A�qMEh��xH �Vƽ)�p+AE _z���E30��>Ex�l� k �����8�Kʺ��5��ŵ@h�� h8� zL�g�d��=���� �PRde��6q�C�h�E@^2��Y�@)w·TZ��d�� �/�0���=H{�`������(v�7�ZEP� �!�O$��z�A4Wo��)uֽ��4vG���k<{��L�����{�(R��d�����aY�4���9�� �DvZ,����t� sEXX�|1���tX��hXl� 6�5m��}�媍��&Yˎg~r&�Hʙq׆:��NR�0'�q�ٱ�aK,�ʭ���L���D�P}������H�Bl7���G����ʨ{R����A����ɶfE1xS��҃�ݤB���&�p�>Ԛ�3�8��Ted]�RH��bF8v�<Ɵ�r@�-W$7�9 �FH��~��*v�w�ٓyZ�������gw�G9��E��3��0TJ�Õc/���>r#53��+�`�Y�I�KS_ƶ"��os��.!d�Aun��z��b��t �h��/6��6�$�P�nl�`sk���q���ej����"�Xe8:a�O8����ӧ�v��B��s4�X$$2m�+*��?F��;8]ZJ���ݽ�}?/��11J�`�����EI�-S�`�9� ����0�$,.�5��;�����>8U7J0�Cɢ�qb�h��$<�n��KG_�XN� �K��-8�t��O�y8�"�O#7�J;G��Y{u�>݂ѣ� ����NW�KS��Y�-N��v� ��a�5x�)P�#� �tH�*Н�8�6�Bg�(�JJHH%�Lk���)��AQ�(�1S�0 ���bbbB�yu�!m�����p:�T��*=7���Ϫ� C*��E)�I�H��v�c�Xj|Mb��\z#��N�Ǯ�����T�� �V�1lm��4�!^2�tO�x>� �yJ�̈=� @(�#wS�{kh:(���9�`���}�D�����C�/r+���he�$V�@1��k�A���Jp��?�X�����[�)�E�� �A���`�@�9'5�0|O��qc+�XK�Ύ���I�6�T�Ȃ� �2h�5.�1�����Д���b.o�Ck�a�5��LA�'.:G�A��|�H�Fř���E}��7T<Q���N���������')Ǯ$myU<c���� �^��u�~�0�O`����"C��j������_E͓#��؎�I�p�*��_�!�R3B�0`��S���LJ�C�_�����'��#/$�/D�h|Ӱ�mZ1Sϗ�ș�]0�=���.Qn�o:װ�)��?�>�Cޡahr���Đ�ߕ��j-��AƜ{�w� >ա�}0�#�o:/W�?���2:����Az��`P� �� ՑġM���͂�y��#�|=G�9PCwԡ��"c(��o�h�xG���^���,�Q��*`��K��,2��"� ��z>�a��`A%�tQOQr`&>i5����"��͡.G�05^��1��EX%ۡgN��2��~�[�|2�"8�⩉~���'p���>e�f�= �{��`��;��}D9�e�K`�H^�qSpx�0S�7Z�q�B��Pz��˔E��9��|?����_���~�B�� ��%���! "�C�������'a��8��W�p��ev�_�!;�QB�kbn�@�P(�q���bB6���Ȍ�]�6P6�GU�@y�r ݂�d7�_jٚ$ P֪x�>e�=�EM�)a��/H �0�p�uQB*�Q4ԉ@� zq�Z�,*�� V'F�X���"y�������yA�H?�(7��S:ҁ=m��)�fʲK d�P�f�ښ-5X/k!��5�֎ι��Qi���z�X�7��1��8��z'������]�aGr\4�p��у"��a�P_~*]-�C�)��d��5�K�����棁�����jyQ&(6��c:uL�ˬ�(%x>�7��� �2��h 8�DD�����{��3�8uD����z�?Xz�˦�Q`�k*ی������P{Ґ�Oooj"/U:>r|�[ ��e�y�i�t�@�N��[��"�2�&aDu{pbC�H3�!�����Hm�D�(���`�P��J�UV������~��T��1���sd��k�0X��ӕ��uוN��(�p�r�� }^D4u|$������ z��b��r�yf1�T�ھ����RV�� y�NatT�G�߬V�Y�W! �� �7Ku�f[k�=�7�t"���f�`�t�5@�Q$;oFzx?Or`����f�1�w�H1Z��2x�I!1�Z�b��۩�Ll��b;[�f��)�熻�C�� ��R(�)���.���s\��"Eג�d��4�����% (������P�h ��B�h׆�cipL�(�L�n~�fG�$�����r�!�x�A~ -Mf��P른\$Nj�{��{�^�L�K�.�1�+I���"Q~#9j'� ��P2�V�e�AO����K!�Y��5�3��5~�{!'j���/�/SM(�CM�4��Fս��ߠ�+��@ډJK�80��G���'���xԙ<��[�s�����^Jg���z�t��,���m�a�8/��ld�4��`w� ��+s��䠐m<��[����=l��-�v�w}�=l�a����Oh n�%8��xDFd��Gt��#:yp�}bGtދ _��t0�J�v|�;��J��� j�8��`V�z���@� �ne(�d�dtŝ;��ow �r �/����[/�f60\�ǜL`O.�'"��7���p6�4�Lݐ�e�K!����m�;q�o����l��3��ZG�=`.�`��sc��>�7�D�-{��݃�H�=4�� ���)Hb��+�b~f)o1�E4�r-|>R��{��g�-�i�>=��a�w॥�N��gEB�(UG�!l��*r���#=鍑Mag� ��ހ?�y��'rS�ک1����$�wzx���7|>�#7�aP�g�ڼ�C���w�~ߩ�\\L����%�Md�c����S�D���}ײ"���J�+߁8��-��PuF�[ �D���nx�K� �)O�8H&Ր7�W��}�8�VgK��ʬ�pӍ@N*� �.�~I5��ǣqX����n��pM"nvgBA\Qp����gb-�y�Ðx Bd\�к�՛]�[;�m�rU����:�!�>d��~��;����*^lN�1�l�Ai��0r|OK�nk����4�K��n�G]A� {����Ԡ�-� v�R�e��e��zʘ�O�.ϐIg�I���,��ҷ�v� ��pO���My��ṃ�)J� ����=e<���){�h�Ʊ\n�l���wqRG� =���4e?��m.:j�p^�1�TD�U��F+L_��"H�P��؎葜.m��Ƚo�&F\@0C�q[� ���{n�����h�����Ê.V2e�h�# ��0��� 8:J��-J��l3��G��B����s����*\@��ls!����qqm2�W��,�8LևL������ox�M5�|�k�R��`� � �Ĕ��~d���o�Up�l��y�ч�YEg9g����j�-+�x�Fe�um'hs � �u���1�=3�<g^y��)a������rY8̑nX�$!U�P���3� �by�2�M`���}���=f�R���рZ^u��X�Pd M6��� �ʱ����S�@����mN�����v��j۹}�4�K��[i��f�ߞڭԇ�2=�N[����[���VJ$|IP�߾v�a���a �"K��jS��)� <z�~)Z8���O1z��Ȅi��n=�z��U�#��y/I��^Y�1w��x���}�- ۅ��0 y}J "J��@��)��E���n\Yw֓�]�(���.����j�_�j|�-ϴb�|kQ�C;jĴ��hsE�����dzD�6<C���B2 ^fv[y�R!�+b�KW��$n}�dmz�?ҥC�~�-�3�<�25���9f3���Yo��i0��IsK9��� u"K�,�����Y�Ht;���� ���Yǵ�j �H���yg�����g�^�/l�N�ʷF�1� ��^�g�ؤ�Z��c60��}�*�V�Rl4��i k�n��+����t6�����q*�o��Ib���5-&LdV��������4���7yK�&';�]��˙�J�p��Քs;��(�Y�X�cx��ļ���SW�P�1��[�_�V��p�A�v���s���c�mi�v�-�5S�!��;u�l#5)O��rf���8�<6��{ O�HM&3E�ƣ�֖�X��6u�J'�����A� Y�3V����>���R�}�}��G�nP�/%���Z,8n/��=^�ʕ!��3��#�2�ʼn|�t�����2ně�K�ձ�.:���8��mJ�~�;6��W�!��۸`�NϊzlW�z�K�2F�2TN��|��B&U=��_��ל��l^��'�~��IZ��Ҷ�T�8%K��?G�C~4�вR��}��q�V�m^E�bm �b�c)��$�rc0A��s��v¬����4�h�����*̂>W�/W���j��� �����]\�f������^��&/h*(qSc����2��#eC|������g�/�j���a垫�?-��P�z��u�k*��I���5�G?x�"u�O�c{����9r��s��'se���D��I3�g�J��L|�'�x�I9ՏU<�:%�+�JXS����8��y�K��<���6���Yu����E ��}]�4 �'\Db_�����5������ťX�J�Kg�w#���œ(���E���.Z �K�-�3%� \��H)O�Ѵ�>�ы�lU8���у�wr����,�S0��'���m'���k�Je� ��l�İ[��Z2o�[��9fqÊ'�-kr��v�uC��Gf���#bv�֣���#�b�m �T�6�b��Wj�njGAB��%���I���Q� I�J�:@��СF�0��YF��8�y��td�K����uV�-.�� [GĴò�� �%#��m$hN��sn�����U�6AE{��h� |�]��S4�0�`;/����m�z�Qw��I��_�20<p�f�{��!�U� 4�,<���Kca����%��e�Ř��-#H�(�x���MSM�Rv�> g��p��U8�/ V}������/�v����,�&�h��\�.78,Cv^�Ơ4y��-ڃ�l1�G3K� ?���8�f����I��=� I�Xдb J�Ş�i��iM��U��z���ƿ���͍�7�G�%;���/��v�a��B�\�uVUٽ{`��J ��<��z�)S�D&1����H�k��A�R�\̦gm��c"����L�Su����+�p\CH,�tӆHX Aco����b�:�� 1�Xp�Է���@��7���O�U����I-BƮ'gG��ׄ%6��@A����I�g���VRJk�����z"��4��"�΄ �p�Ɖ���`0�'�k�A��.ő`I+4�F�VH�����kLJJ��d���6w/��t���v!\6���2NXY���9�/eF�5�N �m�6��n7'�a#���p�v�J�Cq��*s9A�$��D �<8��V�0���P"ż����Ny�� 6<��(����6��V��YH����*����Ͷ��s�ػ(�u�r����\1s��%Wj�=!��7�͍�Ļ%��mH5�˪��%I@`K3B"�a�Q��p�Fx����!�mmn�!_O�'lԒ�YkV��fT��ߘ���� X0�v����X��c��y�0��w�t�t�r�����!^C�9.��>�%\g(CVgn�C����$��j�wj�U~���=g�q�S���%��~*�e�xb���.��U��5�"y�4I\�ұ���u��xa��s��0v��J�\͂;C�-�j������JM-�*���)�Y��Z�oP<nb�9KѬ��|��۲�o�W�k����\�����>��WȞ�^���ّ2���UBr(' Dq���A�v��p�����8�@}�mJ|��A�ZN<��j�k�z �������!o5���nV��&/����8F�Zh�t4n�K�3�OCY3G[_iRp,�]m���k��jd���kG�*>�|/ `۹�WooT,moT,h�ֳ+ �Pw Vb����+?y���RA�k�i^�tH�|M/S���w�l�/����?�s��J��q��=�I)9�{��o@�j2�p+��.�f����$����ُ�T�����*9� +���q�@�(�D�'K� sX#�z�T1��5���X�����w9Qd$1 Gb[t7���0uvɂ�H��A4ng�D@F�2��@��?��r�>�털��o�O�17�x]��"�{ن�ʝ�i[��q�-3~A3�c� e�t��ӌ�L�QO����о�w����el�a4f�y�jX)�֫������kK�S=<��B� �S�� "�Ȼ����{��Ud���|NJb��J\�ٛ+x�;��O�1�4\K�\����7l5]J�����b����gnC��s�.H>0�72GqT�Md���X"��'^���5eRQQ$�����&�TЌ�4�C;��z�7MBOf2/�*�ĨW��jÑ����6�rЏo��m������_�̫��,s�4�g�� �p6�W�U#r�4�$ ��\k1ѡ��?8X6�� V�e�.��Q��C(d�O���q)��7+cW+�).e��� �Ώ�nm;�bt�!K��E�'��|��}�����Q=��rٺ+���WK��F*w���Z1�����-�Rd�9`���fѷ�B`�5�1��g`¨AK�,1�*?8 ���M�cip���̝��y� ���9 ���IWok��CD�L��H�����fPsyM�P��M���0�|p��t���<��ҙ��|dg�}���JR� �`;�8�V�Gi��\�C�P��Ӛa���a�@���g@6�O^<(-�v��.�+�$dH��v5J�l;��1r�[-�t�l`�G9�|��z������O�2��{bg���NI�ҞS�#���'��� ��)�&c�<M���T.0<�;�(���[�yz��?<@��o=/��YV� �}uݾ��b���Τ��� ������b�F3�������!a8��1��&�t�D�3�3��'ŕ���zD6cu��9:��F�����d�B1)V� ���3�5���0���E��2����zo�L ����fAo hj�A�NA�/���[&�.Q=�#h����?ܝRf{��9G7�f`$-�Q@ ڋ�+u<�^pD�%h�j�g,��Y6j�0�5ʰ� ��|w�@��*�3��c�qf�t�<�����rp�7�)��$d�a��^rQt�&A�V�M�o��"#��Pm�U{r���d'y��C��0�������Jl(�NF=P�JĦJ�݆���U�p�I�?�����V����x[�Y�X?����0�Nt� �h|M�Ś@��׃����>h(1��d��Ag�I � �yIM�0!L���;>��ɛW�������\^�ETy�@.{-|@�E��r���S*��m��YcrpK�$�E���ek���1�Iu�qHu�g(2二�8q�75��#�:����f�����C���݅���J;���F����F���nD*k�E��D�R�ݙ����f ,��R��f��G�߳f]Ӷ��zx%�L�(��}�@"G/&F�C �Ƹ+��:�D���/����=�)=cXG�X<�mIn�0��u��y�q��@҅{�ѥ�� ��i��H�WC���<T�C�i�Ic#`7���jÅ$�� ��E�[� �\DNh�>ݫ�őF��_�Jx@"D&�&G�&~D&�O�&֤j^�a�ך� FdS� ��B�b����(m����GZC2��<7����b�S��ۖi��*R�@��S s3kJ4�-$M�3�YՁ���j���aG�=F�e4� �� ]�\�f�*���((��bV�m ��@{ n�1r����5� �5�̦�y���lZ�-���p)_�Obo���S�����o:,�g�Ir����k;�����O�<,�q����s��b~XI�.3���نGrC{�Qݹ�A+ �M�7Y���g5��ӽ��&2+��U%�`��t>H�C��;����vY#!�¦|��?5/+�NU�o�Մ�|%���!�Aj���\���� ;Yħ��0�� ��W�Iy�o�1�û�=�%}O�T������n����y>��p��CAd�`��ȅmQw�_ ��,uq��2K0ޞ���!y��b�S��v'��D(>o���%1��,*�֡�A�&�b��*Ӈ,�T0|Y��������2uKa��� ^�n&�H\��K�Xƥ~t��]�@���$�}?�?��3g�{��0��N�R��V9E�����y�l;t7U�� ���; �S�7�[Ӹ�`5a`����̗����Dx�hpؕ��"��n���@pRI�������������Ċ�f��m�XjL3.c~�7�":t0��Ԃ��jL�f$��M9uR�e�+T�r��j��F��#������8tf�v �^^ȢS�����eA��Z-o;D(�bdwf@K\OF��S�<��s �;T��']b`�p���2F�Gs��JNp�t$�o�8�i�D�d�F\|S�����)9@s�=��y���Hx�|=�F���L�<���\R�;��h.���*6P�C庨�*V0If,��˻�kC�_�}ۯ�i`��ԅ�ԣ�� �n���W�r����Qvp߾CC�� �[#�a�R�K���1#�6��?#lz�ň�hG�ܟ]\��{>�aR�2��B�:�Rp�q��z��#_7�����R�����4ѬM$��.�)�! j���2*c^j#?�#����X<�T<�3_�Ԩ����]�YW����'"���$d�a?A�awsg7Ⱥ\3�Y۲(�<�����q؎�(��QU��E�3��&��g���9���]�o�G`[ ���E��0B~��3�=EkE�VU��ޗ�=�+ۈa�ڲ���m�H� �� ��DT��(�"t^Pt�߷�{~a'ou�n�x�f��zU� v� �A�3e<U��;N�̄�y�7���QR�N�j?�@*�.Ղ���h�W�q�2-'"���O�]��4`ڝ�>EnF�� ��ԫ����5�GH�U�˞%��B:'3Ћ� T�v��uK�w~� ,*�괫ꖠ����JG�;��N� H�� �]i�p���m1\r�h�mn`}#f;�k�6#���� `<gpXՑ�t��G����X��b��R�o$z<3�+W� �"�����}���<ykqPw�7#�E��?��'�Ƌ�)�6@��J F���KA�@ءL�nd�E�)%��7H �`D��$<�g����f��_Y�ޠd@�j6aÉ+P.��5ĥ�k!�t(b~Y>y�9= �87��9ȿM�ᖖK��eY�WnBx��'�`7str67�r����k������8D�z�?��h�=F� |�P6�����~c�/6" ��#���������]xi(�?��Q���G$m(��Oxt���U5�/�Մ�GT�`�p&f_AI ?chLKEw�n8.��A�$<�F����̠�^����%�'�A?������;*TFM��d���Q�dv�˅C<^�i3�?�~��;����$L;*c���A��~Q��i��F�����md��Ѿ<�Q�+#x[*��WV��x%��i���|��1=��#�g���e�7}�,MW�is-�l�S����0>�-�p�b#��;�� �<GW]�є�G�$a�!ٷPl G���a�z``8�,����:� ����[j�eP�"���P��`���m'܉ͽ�X�Aj+Y��;+~�x�G����fim9G�5 ��][����Q�.�?��kj�o_@(,�o`�� d ��o��Be�O���b1|:xd�9?�8�l׳��[�1V�Z�(�=�3�k��q�A1�h/t��7*,�o;.O�i��������b�w�,0X��aI+��J!\���|#�j����ۈ�ۄ�l0c�71b̙0�ٸ�fCC) !�Xl���i�mda�g��8��@����5�ϭ9]������D&j�5�넘�=�(7�L#Q�:�b��t�d���Vgc�kkZ��d6��Ċ�J�E��|��x�3*�T����r�� u��Rq�e����*#����Gsh��w�h�R�nnRc[�B-��IzI��vA����<['U�ɽ�\ˀ� 8�5��#�*P�����&oBG�@ޤ�1�����?N�f�eԿ��xcо��w+B��-��w�e�K�� ���e�n-����V� :葷n��<�?��4�-fWk("4|���ɂ���Oa�v���Џ��F�?����2�A����0����Q���$\�p�$��#��^3Gq*5��;L���P�.( \�`����Gs���"��,�}zf_�<צJi��%(����ܑ�22�F���m.Ru��w?X�~���hWº!�ɱ�ᄊ!c0{u�c� ���ı��֓VyѨ; ����b=ɐS|��(U�Mۚ`KI�HȞ@$�i�T���K�W�)w.��$Ώ%����F�&�� pЊ�vW�ݢ�3�n+3�m��z�~mߔ���QU��ru���G����~��ow��սQ��EB"vp]�0��v �%��4��E�M�֔R"��#fA��'4%)�0dLW�E�Ϭv�� մ��k<)5�� .:�3�tY=s)a���NDUC�ÃF���q*�5bo�7���ch�=0�-��W�?2�2��|�h��\�'\t˳�~�b�4֑>�Q�$0%����H+�R�.@i�AWsS��C�H��o--IMR���zw� �.�;�Ⴁt�n��j��|јg�wLS�� �5JM{m%P]6�_�w���OG�; ��HM{�(|��s?��f@�hV����~�:[DI���g�)l�1N�(��E�q؍>�3���B.�.J���Y�ȥP�ۅN�*\���]#������5'�������&�i�`ƃ\O1�Z���U�?B�q����V����|��B`w�a��f���<<�C�-��_��]MRT��z �:�p+&���^ذr�yF&�I��u��h7@���3Pp�98��l *N�{���3u0 �_ˇ�Hs��#��u�P��"(��L(��� �8^�<%��-0=�!�Y+oE���������o �c�d�vKm%�J��?��6�^j>��?�o��D挫I ��O�y�嗨�y7\���'?<z���ӓT8?�y�����#tHaU"]"s.�����(���]��@b0?5ҡ�ހYU�U�tKaڮ�{�H5Ct�t�/�I���ā: <����J[���!h�+�~���毌W{V�@�{χDJ�� F�@,L8�z�5E�@�~$��>'�V�|��CA��'����K�ezE�H�@��։-0�T���;��Hd��~Ӕc�����;�i���^�$x9SY��x��gc�aؠ���0���:���8���,����щbD�Zr�RN?%P�D�?�Q~�es3�������Y90e����8k"��������M�G� ��@]4"����YQz�|���F(�_v��q �t�#�{���͊��`�O�<:g�ڳJBmK�{�q��R�J�Z�����iZ�*\���/�>�܋��9s!���7�fP̷5����g2^gZF3bЕ�Yg�m��TƼsמ2uMrwݼZ����"4��Bn�PP~kA���,/d,x [��u*� !� ������ ӂJ锈#�D���p P{�aL���WDPN�S�/y�,D�j���M�G��尷WE�|\� ֔���*��6�ᅰ"����H���n� �`�F�d�/�V�k�_�ɔDT��q�En����/�+EAv�A�f_.��@�x��܆%���˺H� *�� ���V���W�o�i�"�/FXg!���� PТ�p�o͐0]| ,l�B�� "��c�c�J{(��L\�f���͐q��Q�VV���o�M��yZ>ထ���dcHͳ�SُBNW���q�Ug��ѻ�:�?=�a�P��X�h�T5��VD6�'*����j�Z@Jj-���>����2�U`�;[1_��j8,0�Ոkp����nZ ��"��_;���� �9��٫�̋NV�h�W�szCzM�Ky���E�a.��E����)��uQ���ߍ���N�����h��i ��J�� ��&����'g)��1G$om�T+m���>����"�qj�uClF ���'976\�逇�=G ]�r��Q&/fz��1<C�y��jgF �����%�-��4A{���~ 1(k�۞~�����#hW��M;�9a��:��kf2���� �$cZ�X��%����>�S;� ��0W8�,YY6}���-k�:Y�IKN !��亩��5�f� �h�Ko�j]��(�,0�K#Ȇ E\�x/�͐� �,c؈'��\ѻ-R�7����E�n�ӻt7�d��/ʩӽ&m��E�k.�&�Y��@t�3$�OQ]#��)D�bh��&��#���$��Q�J�qѪzn� J�&`O����Xy��/��6��]�Lj���Xs��yC,<�m�"���?�'���!}���J��'z�Aʘm6x�Z������ܽ��$�ڋg}m�*�?Zň]��y�v��q��:�1ق�[�{�y����I\V,���3: E �;�TY��Ҹ`�p�}�p�-�3c��0��f����"RФ�ə��g5�i��GŬUu�(���2��7�L-�3���N� �I�K���]p�pp�PJFK�'cF��U��X�:�%�:� ����1�sg��yn$(�G;��"җ!���>_P2��)�2�S� �:�LOq��J���*-Zn�[��Os��C�K��2�D�σ�QH�m�O�*��~�Kvd����s�\EP��1���Qj��v]�惺:�DwO�d�=�\�[nlaU �_��A`J,�����ϙ~T?����*�[Z� [�K�MV���s�,�ŕRb�{ыN��R>�Y����vjR�b�� /�Y�����7�4x�T(��u�\<m�!�m�c�cB�/��� ��Р���H;�=S�|�d�<�2�t>�4!F }�|�2�3���K�\ n̔��=c -���~�Y�����3g��}�|)��������փa0�V� �n�2��)��"��}Kb�*�M�oU]���ߪ��<X��]Z_q�ZET_o�Z=G�ە2� �OrR��Ts r�]�ʥV?.B�PS7��%d�.���C�\v8M��8@��A�ڔ����t��G�]|��̄���QiV�||���1��4D��c_y1�ҵ�-�}R;���ru^ �/G�"�����U�ho#����FG&��2ϲ�Ԉf�w��l_F./a�ڈ"N�YG���pU�q?8'��/����mH���)9� q�H�Xɲ�qK2N6����c���o�C�J�fE��s(��4�S21F�í��֖������r��oPa�H3Лd�����~] �^�?R%%�x=���M�KOJ�)�0+.(� ˱� ����}T�f�`3��W�7$g8��x5�%�p�=�p�阍�1&����� �<��N|�0s�V�(���Ǎ�d��v�+q|zQ�j�z�A`թ�G�X���V�!o���jӐ��5������S� #��/�\K�l2�f��M�с����73�A{^���뾐�z��_�ya96:�jB]yXM���3mTY�����twn��h����Ֆڗ�O ���Ffl|� XO�WZa�,<� v�����iK�z��b��LL���D�n���X-}���ʪK�ٗO��,�?6ON����ʪ�;�����G��5����-���P�%�97�����/�I��X� ��� .�nBb��Zx�� �ַack����4NȊaUD���&�#�X.�Bo�er�V��oku����5�oW������f���3�w���i�����e�G���s����F�ԩ���O�k��^m@��EZ�O��V�t�iI��Ya��[���ٜ��LL��d�1��=��̩M�f�5{�t%+b� k6�<��;�̹��SS���/���g�L��Ք¡��c�q��n�;��1�H���8���@��r��jp�C�\�/���K��4�B��6s�W�E��R����Qu���m�8��XT?G`���`�Hv�����(2��gR�V��!��"�����#>���ܩ>ʑ�p�T���M��D��f�W�W�5[(����Y<]�mg�j�f�XYT[��~�dwy��ҹޞ��1�[2Xw�����T7.�,:��բ��ƌi�H�*,e-���7M=�9�[NQ�b��%����S��Ɠ�����C/P�u� m:���� �Ee�x0�.��;������#d;cV6 �tv&��M� �e�9ӡ����!ˠe��#�{r��2Y��N����� ��n� �?2�#%�!��ݞݹ�6���%�⭿�|�3�R�u�Y��V��^ȉ�Rs���p+<�aH��m�7�i� ������<� 1.3<1��p�=;hT] �����*$�w%���?� I�=������A��94<R����-�UM�fCe�%�n�� @�cb7���f�˸%��В���_�[B�4�G�.� ��KT��k�ڋ"�Fی>���Ű�T�/�+�8� �.��:.���(�_�i����t��{���~�;y��L{/կt�$�1����A�w����01���G��ME�]�H�x���o�Ѯ��%� �0� vLd �]�Q����J.�����$�v��k�J��V���;P��S��ϞZ��&�2S��Y���<ƜG�a&���x�8/8��cWfY&XX�m\yoy:]��2��f��hU��(�!R!��`M�Ox�&���H����-�'B�6��@w����_�> 9f4�n�����]Y���ȂCW���+5�� �C;=Io(��ő�}9�6AQ`ٖ$�� ���M�h�?w��!�- �T����,��ꋿ��e�2^S�4*��߯�wГ��h�.��m}��8[`���O�6�3�jn�Ad��{:�p+E)�E���ï��<>g�=0�߹��ꮟ-��mol�^׆��d�u��H.b`�m�Ѐd������ZN��^�r{ij{���@�.�1>�$��Ӣ�a�8���Op���¹M{��f���)`D����CBx�.h1A��zR�qbޗ�T\ ��6��B���﮹@%����H<B��E;Ѩ]����v��`eT�T��Ă�)5���& �Q�os�-c2�6ݣ����I߮����*�Z���M{��2�Yv2KqQ ��!�[�8_<`�W&��'�La�0�20�X:��ԉ!�h���*-[��"���d���'�`��5�АZ,�u�D�^���th�7��i�o9�p��W���/���a�]���m6|��Ƈ ����]X�� t%��_#&.)��(;M�p{fq����X�A�oh��$���6Փڂ���ƣ�h�ϻyE���\-���2%��Fw�( 8�����t���^nL6p[��ђ�����&?Qg[eh.�\Zg�#��Hc�MS-�ٕ�Q$���_~�Umhȷ�t��Ƃ���Q�g�V�*�(u{���u3�0 �!-����x��+@@���� �R c���XOӽ���^�ho���14�hdF�ͧsV�|�������1P���yUcܵ�L�s��"O~K�g���y���� �L,���A�pB��)��������!.���F�il$�_�9*�<j̀�X*1�`GC$���>+a�fSs� F����n�P��o02�BS�g�5~0���(�[J�k��X��L���;��0�Y 2N�����UQK����tK�$��1�8�}% $&Ȝ��,��.+��<��d��5��G�f�r7MF� s1��61{<7�_�)}�|�{a'Ipys�{s$���;J%lv99��!`�%SPj<�biH��+6��Æ�;�B���_V�{V��?����Ue��m:S�<��]����ƹ�>;G �l���J,>�NIN�� \u&�t�R�E*}�[x���:�QQ�s\5���ҍ�����(�4�� ���6���y��.�R�}P5��'8:�=�.!�9 EoĪɎ(/vx,�\�3Kڴg'P��cݞ0�)���;���:3-O���A��\_r�C�j�j�G�T���oP���(Q�Qr�T�wc�*�]:��'��5����)d��"���.��9t��H�� "�g`*d��Po���>X=���!�RZ/"��P�gح���P�a��BgF�j3���E���7g���w��3B��¯}2�t���p�A}'�k�D �@d]�b�IZ@O��X�%Y^C$R���5ZA.��s���o{���6�俊���@0�D��'� Hf��cl%hb[�e��B>�?�~U�R�,�����=;L@�Q]]���M�3�*����7f����~0���w�7�nW�kƌy��:1��q����@��K=b�NC"r ��f�{A!��F���5F��*C��}�! �]L�� ��緀�?B�Gn ��`��Tw]p1��E~�tE�T>����b>�G�T���U��)�;��\�AO�Rj�Q?����("g+`T�dx ���\���S �Ā��̟���o*p��gԆ����CwX�'dr�{1�������������Wв!��iFR��][(��l����k���,�m�9$>�Xi���e�U��Z��+��?(�D�X�0���$9�\A�s�T&�M�fN��͆(�⒥,���c���-�"O�E��Q ���Э��C`4��Xz�{MȔ;/��vz:�'<X�00�È `Z�5H�L��2�$d7�0���)&aq�TU�[H��̈ZD��!��Gփw'�n�F�zr��[�qh{�H'o.�"�TdkcXK�?�z�A%��%�\��Y���_*Y�i4�]�)4� #\dc�CM��p��L���E�x5B�o ���J�5HA���8}���50i3YG��V�-hU�vU�h)��A�ꆏ2�.�WT�1�TN�1?YXx/�i�� o�{z�XUQ��Q�7f*�d�L�hq�Zw���c���k�^AK�L��LCq?�g�� /�T)�#?�2���:y��Y�C���=�{���w�}�-x��v�9y�L��z�����E��'��__O� ��V�&�g;J����,��=4rA��ݧ{�ar<l�1���=�B�%2&Y�dB�eG���=(�L�/ �7�(�+RRw�=6�<|�F�m��G���m�n��j��T����9&%5J�Wx\���wp4 3�uH���J�ݎ��@�[�TzcF�a����������`$M�y����_7Eh�fӂ�7����י�/Mc9ғ����M�H>�=^}����('q[����,TP2,?�δC��EP2��(�N5^�<<'�5�C)�P�4+d�1�_�~��`���"H�W���U��O�5��r ����cFƕ����2w��=�ʙ��'�V��#��,�.P v��W�""���2"B���)�)V"�o�_)J@�������)�`���4A�)z�6�!3oDy��C�0�u�4րd߅7�yJ4D�*aߌ�Q�3�>�SW�L���81�unrb���t�D�k����y),_�2Лt#�(��Ĉ"��������m�"+�k��B\A�;�� �|}�MC��`��T]{JrO�˸t�D��,ˆ,�%�4�G�_�-�N7| �L ��wr�e32�t8k��KNJ,+T`,�Ad�tD�3�i9wGS�)��L����3�ތcmZ#m4�ťE@ygW0���{(���Pl�����&�˯e'����Bx�y*r6&�0��s�����)�sL�����b�_<fZ-��?���� g´�C�AgD��f�0�'��ڍ��k�K����Wt�����w�0����~��t��!�RoVw�"P��W ߊ��e-fΙ�a.�������TP� ,����� ���uB�C Ӎ�)�Ş�ǝ� �3?WT�c ���r�m:!�>�C����jy�T���`�F�������E : �*Jp[��(!�������bJ��es��+'�\"�+� ���\���-1��/ _ڣ�ș�?f6B� ����������Ϗj��;��It�p)�x��;Z@��wu�q��l�h�l�>�������_��^��_fQ�hnv��zM�/���z�;|�vؚ�������?�?��C��>��� b<�|^�x��S��x��ѐC<�y����ܟ9���no��z+�^��@O����&��������,?��;|���g�J�:��!qvm���Q �S,�z��\��B�y�y��]�$jTlOT��Ij��c�����3����_G3��s٦�t5��G�~�hC�<Λ��6W�� V.{+g�\��B,|.��7(�G'=V�J��^�7w���k.F({�^�p��6m�{�}�$S��`�a�H��M��@*'p4>�裷 �h��mA��F�����H��T��U$*��!�F��v�ݑm.,d ,]�;1�<���~d}�|ئ��;:��Z6Q�j���>� �8 K��8�Ϩ6�!�x,� ��t^���1�r��4F$6�n>�u��S��$ʵ>�t^V��a �����V=y#��ͻ+��Ť�M�G�<` �ZɆ�z�GvH�0�BP6�-�:\*�M�D�.�6�o��W����s����s�+�f b���f;����gv=��6.��c���Oq�]d�u��k�,�!�?�eg��؝ݡ�̘��>}��+\0r:�u�s���^�7xL�E_��ܙ_^m�pB��9�L0�NsH�/úH��oW`J�/8��s�Z���yH4�~&@>�3]�q� �~ԅ�V�9�5vToIY��х���6N�$���qB��Y���)�̒� \�����pF=I��h�2��ڭ-du���"���67D���3T�EV)7]����ԕ���lKPk�!� �]u��V�4�,Q|��b�T �EB�����}_G�)h9ܯ��mҲ�o�\��c�5n�JZ���Ԏ�3~XW.�ܮm��EC��b�a��HC�����0���d�E�D0��B�8��0�a�4��)��N��\�ٴ\�< r+#%Sk�LK��6�ȧ�P�Z�7�ܞP��0j�"`��=�-"�1R�ܪ��G{��"e��`l�{I�Յ���gc�'��v;68F���X͌H�[�7Q����wǟ#q�P�D�{�v�!��m ��v[� �����[l��0�K)��<�/�����۳�� o�M�eDp�t�>�r��M�>�9�=�>����]��}<�xJ̢>vNP��3�!tGX�XE��p;I}��u\6q�>��-H��!�$�q�\��1��C�/�g� tғTɳ�r��y�rJzb=�J�yW�<�rU8z����+X�%FaH��V��I>7�� �oo-�=ipF�G=t�R=}ׄ���:��l�U�u;�pO�&O �(�น�MZ�p�r�ܻ-�c��e" V��r�,vŷ��W9[dc\jܻw��: v�wQ����^��o��0|r��I�G��x�8���0�U�a`�\h���2O���=W^���-�[,�n��k�)�llʊ���h�*A0;��J�l�tZrQof�魿�|�Kjr,,A�7��(Zyѫ!G%��J���B�>�u�gݩ���MW���L\JL7�����4�P�;�)�G�N�5����[h�f]^����O���L>g��9��,��Y��-�4^<0`{j����]�F�ґ j��W����#��'���ۡ毼��Rf�H\�,�DG9�s,eR���[.k��1A�����nޓWy؇=V�v�KM�I߁�K���X��VK~<�C? �ph{i���]2훦��W9�KR�$t�+5�e�@<iPL�j:#���U85U� ��t��@Vm^,X_����9(�!�"��[v���^C��+ s��G|U5x��J������dfvaɇP�������yS�l��d+S�g1uy''�U@HG�y�A�,[�Ќg�Y[���5fd�M\����0�Cr���p>V�0�-"�W�29o�a&h� WF<;o=���̄巚S�0fc|�D(�N{-�!+ڇ�T�Qh�#� 4w�T����ZY�$�ԛl`Vt�i[L��Zr����jٌ��)�5F4|�AW6�4��V�"37�3�=�^ ��H��i|82� �1�]:�Q��ɋ����*�cn��應ac'�������PJ%���?'Z��ry"h!�I�~X9���(9$��!�m�.0X�B��e<p�2)U����`#�!(y~����0���6!U\1����`2�l�,*��~�1l�\�a���-z��@֤q;g$;Vx�a�����U�����Jkn���e�c�X��Q�0�4j ۧ ��Ad8�W�=C-�;�����t�a:��klJ�4��mcA�v�'�u@�ѵý�� `O�(�M�� N%R�#�_��Q���~���~f���dZ�����v�b�4��Y��1��g'�=D.��ԇ�3,�S�m`�k�?��ܱy��&�7�әC��Jվ����� �-0eWue|��v�\�����L �>\���}H���d�����PR3[W��^�4Ld���#�@B��v����G։bT�n"�`�d�Gp�P�' �H��2 4�$U�Ν�d�"���F�H���T]Oҋ���&8���6����D�,\o�z���lA�~r�l�A� ��Ooh�)��j�ؤ��H8��]Q��b��gz ]<��%��](J�d�8QS/B�[[V t���.$��ڙ��Q�"Vh&粀i� ��%�<��)(��|C�!�U�z!nr ���G�T��X*D��L�?��8�w&�oF�m9���:����5[ �W4rg�'�.�c�,��B������������dב�-/�N�bG�j��=�Sg���iq��゚cs�&�j �N ��a�0:^}>�?b�_1��O}m�Cs�^^^���@?S>/P $��g�'�lխ(`g�5���vMk����l�z]��H�̐�p&��U�/�wy�����G �# 3� ��س���1y�i��:�� � C3��#sk@%7���*���mЕ��Jܕo����w���GCDq�m��*<����x~u����L��f�M��+�W s���|ƲH�[��kRa�Y�<��6��M�!n��)�5��Q�=nťv2�f�p����mp /�Fnr&�e?�-�!EM��&n=<�;�6k��z���[݉pG���%(�Vg#�Ã�ٸ��\���F�N��ɘ,6�z��Q�sh_��A�#�$�1[:����5��F��N���'�XgV�s)�u�,1Z>&��ԉ���Z|�J�I���Z��*���e���p�F5l��m4 �C{�K�BENK��BY,P����� �\���K���� ���U3��>�fg�7�.�v:��o�L��*g6:�5��j�Ӛ��c �a���Q^H�Ѽ��!`h��m�p�̆� C������S���uFe>�ɰ�b �L���~��r�H�.�}��Қ"X��Z�)K�G����5U�j�Г#��4�w���Ot ��xB"��=0��5��gh��rH�)E �!�7��K1�xK^)�)�Uɻ��<��%ګAK��5|��� )��!s���4��� ��Άy�qowO}O�d�Y���KxD�2�%���X�P��9��᳙� V4R�V�����Q�9�� ��=^������Apa�� S!���K��Ӣʉ)���k<g�m@ E��m��q�t��~@�F> ����&2�@�!�K�'���5X�G.��4��в��;E�Pq"&��2���p�^�[�l�`l�K�,�)�s�mȐ&�aw��*��L�R��3��*�n0�oF����y��)�M��r�%���S�Hg�4�S�R�\�5T�s�1��������2PP���I�q~�v�^�rT5���j�5�0-��o���pp�����Ө�a��K��Wd�Q8�����J������F�!���QU�t�;<Aܾ���vT%���c��<�%���9t�tq�3�eT5(6�Oz�(|!dt��[a�o���*��"�����r2�}U���4�FU�♷zm�.N:�LwVhv�(y�B��G�?p����>C�]���xdl4&I��j��ګ�+�AV�d#Kf��$�`F$냤Aڇ��`% ,Sp pp���l��>H%��g"�q{4⓸j����g�|��o���H�<�2wT��v�ᅬK��������~���d��7Ļ��Jv�D�>ȃ��yy �� J���%T:�;�^r��ٍ*��Z2ѣYV抅!�d[�����0�36^�yy-W��J���>� ��gT˞��G@#�Z��7�0_�9@G!|���XT��4�gN�։�e���9V�$r���l�Lڇ!*ˀ��/���o�M AH#.ɬl`e�l� ��`��˔%:�w�@�����^���ix`�.�Z�E��Oc!�g[��bee�Xz~�S^�lN�X��%�Z��z�_�8��d/���C8�G���`�h��/Dܮ�iew_���8V��o0$=����w\Nt���$x1nǝV�)��x#&8h�&=��S6Uy�B��h�i���k\v�!r��[�G�k���ԙ�ħe�Hu����2�,�O���ӣ~X�nc������N�?|j��G���-��f�Mj}b*��'ԑ4������췛͝5����U��^�in�Scg{gG��_��*�%mg �;�ǝ5����h�>1�i[�W7��w7�/?j4���D>�Xjk۶h笹�����&�e�qek{M�֖7ln3wuks�����ږ������/�<6v�<�_+�\Z�}cu�K��V6������P��������iG�|m������`uy�0qwk�ъ�-?Z�Z���+�$s>X�_��� L�-�N��hŴ����H�y��T�^z�`I �,�u���u���:��#�#��_����i����c��#�[8"�8�l�Sn��V7��S3���� Yd��0%CL�j��)Z��=�s��^q?�?)�֟2�e�m���vx o�=�6N��"e�ȡ��7q7b�~m �;>T�{���ة�����L��h@]`i7Nۧ��y�գ{� �N+{z���h�Q�T۫l �b��݁�4�[)��aN"�0a ����xȻ���6�5���\�n�)��&��Eګn�;�xz:@?�o��m�Q/c���]�q�!�_�u���A��H���݄�]ek�r.��l�W�Ms � �JWc��9���������V���m<��~��5Z��/��� ��Gv[q����w:�@��*ޚp��E��;� R�F}����.�3���@�+�M?O�ҀY��͒�5L��� �Q�Ɲ>�6�p҇� ����1��o��hD�����qo�F\T���k�ɥ�2~Gl�d�(}��X�Ep h�த�P(����<��f��*�"q�v�N<%�&��]�j��>w�+��IJËas�&'�&�s�� ��Ж3��a���Dz�b�дվJ�@IvJ�v`��|ާKy�(H�,�LP�o%�e ^ 쑔�R�� n��vx!�_B�t��Q����/�FDOXy��q�ln�{���?{�<�C��4)��F�s��ঽ7R�H(����E7���)6��,mu����g(��3`f6_��@�@���/`��g�� ���Ii[�γ�P6_��_��&��o���5��t���%��r�r���R/v�[�1ҝ��>Κx���3'��Py&z��*PKbN����Ȩg�xʐ���'s_���<�G�M^ɓW��y27�-��'s�K���u�����#����̯�'ݮL��_�K���mb�KF0�آ��x�� 0�}�d���U.�,�^��2p�2K�5˻X�bSa���*�B*�JUӋp��E0��"�jjH5���ZQ�^�(R �_�"�/Z s ��G&�KBP�?�s&r��}d-�"��R�����&��&�6Y��S���6t m�����t�"��-�P��|�J��<� �-&J�'�j�l6�b�d��"e2� H����-���m^f.�'�9Y C� j��t��Ϣ$b�0E<��z��I6�ɒ� ���y���A�&p yt��K�-Nd7]S���MW��8R��h ��j�v3� L����Yz}��aw�[�'CDM) ��oN��Ǡtqq� 5<! �}PKn&�C?^;vs�䠊�O��fk rT&�eY1�'�~��(7Ӧ�@Ƹ9z>��@�{ˡ)�4-�V�2Pn|���M��|00e%�d�{@ߺߐ���SZ��D���^�è���e��PYn^�(��t(�7�Lqy��@��n�*��4� PKCE�t�[�PKFTLdist/summernote-lite.js�{{���>���O���kI%m��m�؍|Z{��^[n�� %Qc�THʇu����0��r�vWu�1`0��`\���55�N�G�f1>:���7��7����x9�7���0�v�`�����+�����|:[���r�y{v�n>>8\6�\���f�5N����N����U�Φ�x��,�15G�w�Ψٟ�F�w��x�����d���(�|�`���wG��h`��.G�Y�6�~�����W���#���'���x6m����pr����w���wǣ�~3z{<�/͍7��l�����6�}4�;W.0��쏧��^�'G՟�~<�G��?����z��\��S#�5c0<�*��p/���7�����ml|����xq� -�t�ZZ��<Dk������h�_�����o�O�3��]��'�eo� �EJx�\gp�Λ�#v��Fs壏��v'������ ����P�h8ur|��=O����fv�Av����p��&�m�eP���BP�\DŽ|�YAX �_U�WLF�B|������l9�L@8�Fn`�����H<�ui:�����Ơ������q2)xl�}8b�yQ���.�&E���І��6v��Ѩ�����mBTU�B?�ν�rت:��## �W���u�̛�r9�\��f����L �>��8�ƥ��:g�~o�U�rՍL\_��o�"$���g���c���h��Poz�����@�*���w���Lɪ�fA�0��_J���6����C*��JuA��O������e_�� ՜�;�MbRzE�++��DeɃ��1�މc>Z�̧�4����e����Χ<� %�^t��|$a�Ϥk;�j�3p�v���τ���uыk/���OM�w=|^}Y�9bv)T�8/����~�q�%��� �zQa��t�5S���R7�}*��K*�(���k:zs��,���;��ܞ�&������'�T�G��"�UFL�x83qf!����\���?\�9����r�����.��J��'���lWK����g�!���ݓE��x2�Q��3[.gG�T��e�\iTʛ�2�a�Rm�g�q�)������n�^�qQt�Î�oV��f��p>���x�<E��ҎB_^U7s�_~��1���,Znv��5Фf���������pz2���{� ����ٛۦdB�1u��I���~/v8���1um����`�QP�W���-,�'�e���6:�0�N����Y @g�A�ZX���~�hk�k��d4|=�'X-�ʡs1�%�74��M�݊�D^*%��&0�;�&H��,�?kX4U��E��`?�rS ��ٙ���s��mc(˒�F<�*�{ �q�z�ԣ2=��/FKjQ� '��� �1�Di�_��<� %��J��n~���5+��ؔL�߳�kR�5�Q�IQ���A2�Xhl�7�v��V�qC�V/�%f��4���R۳rY��I)����o�{0OS�`�JR�K��?�E�i5����`��A�*�"�Z8��UU�Y���],�J=ϑ��c���7VA���M��h�S������+�'ͦϽ�z$m�K{qRSU�@RK���E� ��?@�ȸ_�*� L����q��&�H������?N�T���(3����s����9���X���U�G�ٺ]g��\����'�. x�B��&*� ��/[2K!%8 �Kٶ�I����`�u�7{3=�&;u 7��[S�yr�m}��5��U˕4:Wʙ��.�m��2������LAxI�#�_�#j�6�Y/tV��tAF��C]�d�;�v��̓�����Q9;+p�R���1-�R�=5w�;;�a+Yז��X��d���$�ڜ�F6Zz�� �ў 1�T����, ��O/���{�fG�[i��rk�FgS��~oGM�:_C��ӧf����ѽ�l��_�4�4 z��Цi��2�r�W�o6�4L#2�B�Q���̕X�̆�O������^���֍�tTE�N�0)�@.���Y�2���S� ��x�c�e�$�����X+{N$_J8 �#��ZJ�6�M�v>�\��}DO�.�]w�i;�V������- ���b���@��IB���:�l��,�_dz�N �FW���+����[�����"�"S�׳����9mR�e�.p������%�'Է\��!l�{�d�mߞ���"�.6pיP `͍��:�@�Ƭ�&`�6C�� �Au� P%|<[��� 9���b9h�\Hh?C��*��R�pg1�`Z: ]�2U���b�>� O-�M__2:ע2�h�'� ��U�fǪ1����(���究E5|�.e*�m1;��Tv�A�r+�wg+�.F�aӏ��F��`�*r#m> ��1�T��sl'�� �p���cGlW��Z��`/6��dt�fd�h<=����� >��0дM�o[ z�^lX�D`vfo/b�j<�<B�x��ZP<?�mg�++��'��D�`��k� �3�u/���ɢ��/d=�.��e�R-��9�^M��N�B�q�xǼ�U�m��p,��b�?���ҵ� ��,F�W"��*����̐Z���C|�w�&N�pg4�q�]Q���4�0�y���p���,�͟bӇcd8���}�%�]���Qa�WH�ߥ�-�]�7j|�;��g�N�� h���c��0,�q>7.��\l��\=C����7�Q���'�K�̴�8�dr� �%�O�b�(�dj��*�� [�+���4���.-�&6�d��**�F��C�;�F;���~3�� �Uߪ��L����M>sּ�!Ma'Sɖ�'�m��ƥ�%+x�F�r�S�M�way���Yw̝�A7�R��� v��Ws&�w`Yr��NOy&�dup L�]J��d�b���S�vB��ŕ8_''�`�VIe5��`�I��u'2Z�+�Q(��e= lN౷��<I�!$S���x.�̈́ S���bs8�߸�/�ɦv�"�ʔƏ�^䳖�#QA�m����aZ��IB���Y�6: Y��� ��hRL��s^z��a�h��!ƨ8��f=GWZ�0}o6ղ�(�X֒Ra2-3uM�60�e�7���`\l�$D��'&��ay9�ip�UKڜ���݅��i� ���BOF�C���h�Zݞz�i=� ]ظ�(?����!}�>�_а�@��.�_�q$N��܆���{��ύ�[��u[�p� ���7 �s�)z��|i����b��%�Ҵ8����T��C���V�Վ���2;D�ijf �1ea|^ۦZRUL�7Cf���e��G�)�0iN���6��ʫ]ZZ��5�+���?�'P����Γ��P��fu��B�:1_R�yg����2�b�XS쫄a1��2�L� �x���tr�z���v���,T��LB�� X�?S&��?K0� @��Lk��?� a#bx0ޱO�0U��j�&��i$SE/r����U,��d|�}�6�E�g��xq�eu�Ϩ�+�3V|��8���tW�������c�9�V�Ƞ���|��v��T�俾{r��ww��,w�j���A��6���L{����/�dt���;\b\΅d��7�!�����Q�8������p���$�=&L�Z~S��m�!v��ӇK����� E T'ӐsVB��K��2컿���ϱя�K=��M}��/r5�l���NL��� w��Ӟ�@���@�N���)���� [Q�)6jZa��R@���F�=���f���_���]��k �@�$ڶ��6EvuZ�+��ܿvWF�@��v�^o�.���m��#���r�8��U�]���a ��K��C{�4 vi�3�Pm5un��$�%�����-�_��b����o6�ң�_RED��THr7}�jj���y��7_FD�쬢n�:.��B��;HC�����f�͜U����q��7�c���Tgv��4��k�w�.5-O_M�X�S]���)����1N�ϗ���)����^�YJ���k��UaʿK1�V�)6� :[�2����ś�0.��G��%�%���RJ�S���j\��Qu_=�3"���ĭ�҉�I�uG�ڔ��l�3�8��U�`\fm��w �w��Ufǟ!�\�)�*�M6�E�z�ASM /�>f~���Z�'�%��gq�B���VB���Ԗ���^ ��Lq6��3�\��\S����f�����-,���� �`���Q��M�,=%MJ��Q��=�iu/@��.� �B3���.4����>HmFYd��amVt�����Uۊϲ�D�\Z�� �@F� �m`#{p|�8>)��_�K���+wn͋.��.��X�c� #�+=���$��uq���l�-ƙP {C����v}1q�C$_�]�e�\Z�8�휱���N��;�갭��ep8��VgE�hf���nkϑ��M�5&G(0�d?K�f���+갯�j�2� q��u���%wK�ee��Ue�)[�zR�><M��Y�����$7<�9� ��-:��!8�)�pؾOU���>Ȯ����T�ݦ�P�Gҟ��t?���;YK#�Z.T�2��^R���r{�]�t�ZnL�S��)7�̃�d�����s�WZ��Be��%��6�?�߈2��z_,��v��ʆ� �"��.����ZAa����^]U1�:��2bR NG�G�SX�t��N��uo��,.��q�����#�-�6 �@V:� �� 6�\>��ǮEBʬ#��4O��Z>:W��c�aVӦLUŴ����Nn�5T��!:���Ԣ�6�� )�v������d�Mp���b���@ �����K��D�t"�8����]��[�n�6M�+�V.yH}���p6�}S��/� a+�Z_Qk}E)��a"O�S����)���'O�}o6?.K�J�}%�*�ߞ����V�#���%W�?[��MH=����nf��jt��}�Y�zO ���^r��$cNUP��ɔg����D��F��n�!§��Ӳ�8i�{��k/pXG��s�o\{��d��M����6�w�;B��!tD}*!V�߹���pPQ| �L�}r��1���h.gbG�b����Pa��9dBԂ��|h�ɮڽy�""�j��p۔��/��g�e�$��-pu������"I��5/8V5�i|5�&\.�:Z�[����bF:%{2�p+fls�-,���(��-D�/Ɏ�e5�_��ӭt�ݸu�z:]+8�p=�0����ъ�� ��)�MCF�E��ߧ#:�Faݜ �S��K��;*���[����$���~���=ûY�N-S�����搴ٴ7Nf�G�ʉ3;��7�ٜ�!�M��T�۔�6�|6�-% "">��!��Þ��|��@��Xl�:`M(�1CE.8�^���)i>ԍ���D�,�v9t�iY��p���eeV�b)���?��U�T�CQ�y4��$9�v��q��Ԁ<�F��ך�[I��gmE���>�$]~��-e��cT�:��qZ�J]L�\m�nٟ!�ZC>�Y���-PV�i����=¾l�K�l�qP7<���%6�F�u�I�5t��@�@}�L��[�m{�k�R�z_ʑ��KV�KX*pq1����`5_.�p�c�J��DX��¸s�X�"�`AQ ��BB�8�����M#�6�c^$FN�yv��}2ͺ�&I�Wl:��"���Ʋ�x>�y�w����Ł}M���aQi����[��:�>.+��6��X�mX��T/j�;u��W���t]*�)����GSׄ�~aU>��bs1������hs<-J;�$� "� ���#>ųI��۹�"�>�x��b;s���wwG�Kl��.6r�W�߸�jq�l����s~��"�>n�>=0�ݺ?���>ą�_�bF�*8됕��fC6 R�:tZG=WY�t'�G��s�`)0��د5����#g�_�*��i�[#�E��L�+�6@Yz���:���Y�����j^�|]P͢Y�H��9b�5��8�l�;xƣV">��/P��l��ږk��hR4$$���!m[ �1��<�V��#0��-�8#5ڻI���`�h��xo�*]�kSg�Z`g���b�8�"�^���@��Bt���\�Y�o�(�gǜK:�jL�-Q/���B�Լ��1P��8��^jk3� .+6ٶH�P�F���i-�!�Y���}\�2��F�,CrV�M�6V<v���o��M�J?k\&���s�<G���Ϋ����S��b�|�vteщ��ΰ4��Fc�X_�҃� -��|3�ǘ%=Z�\C:� f�2��]n��^c�F��B[�ﮪ�{�jʦo"Q�!h�t�o#+���� �pU.�Ň'6��MK�d*ˇ��^3'��Z&�u$���ἀd�m��@��H���O��_<�?6�-<z_���&�<����/��N�@�^��"Ʋǩ�����-�j!M%�] ���v�����?�W`Z��4=]]s��]��9��yᗶ9�.�Ȣ�jo�;o1��I|��s=C�|���v�L��Y3g�g qK�� ��sێ�ְ�^���j�!Q�W�ެ��RZz�8d�~&S�D�?w����Lt�$���M�I-7���]-���ɢ�bo{n��\α��k��\P����'aA�t�e�`��W�5`���y�^���[ w�d��P* ��'2��6�y��/�:ͤ8��6�1[relI���$�F�-0p��j���fG�3]�H��)û��kSrhp.����>^Sv2Wh�N�����+�gOŪ9��m74���19����~;t��(��7{ə��DSaUM�5��8����Ռ��(.�3&��_����RÈ�tti�Q�gj|Ty8������+j�#����u�Z4�?��<'�1�O�ta�r��a��W�B)�?����W�ûj�2��gۺ�(�YZ�̿%.��]�P�EԳO7`E�^�p�W�Lb�[���-��K:�c�O6 �Nx�y���x�&�*Ya¯2�<��^��v�pxy�:��� ���臋�����Q �;ISi �@B2AB+^nģ� ���0O��>67�{��W�X߾W�����w��UE�"D��(3�!���e��V���fXލ�]�ɳ�%�[�J�_��Y�I<�*e��;i�I��Vg�8y0ݟE�!}�G3��&ۥFNfV@���j]MFq� i��__���h������.�̥1IE��U6㻢'�p��U���븧CJ8y#�(/�HZ�M7�?C@P��}���A�$�;��Op{0^q�� ��ry�x���{�+�!�O�)���o��Q^�����C�k��q� ��~`��G�ɻ �w��-�>8� ��]Þ�,v��c>����`pmf�J_5�/9a<ޓ�I11Vr_��ؽ(�Ξ r����B�9��< � Fo�w2��� ���p����� ��'�9�^��� ���Cy��'w�7���k��N���l�ŏ hq8<=���?�7��{{<��eP���><9ڙ���MI]�F��vк��>�����_ ���F����q1 ��n��lRJJ��Tb��&D6��)�� �#�bU�����щ��QNQ�kMh<e �-E�*q1�E�ރ���/� 뀗65ϟ>�rUu�ԃ�U0���0���`�ܬ�%���wV!�<���5��GT��.D�F��hcڎG5���N�Ov`�G�g�g��o�x`R_n�@�}=��H �_�lt���g�N%�iԡ����djşˏ��(Ђ���ʡ0�}$�PT�U�v<W�ʬ�Y��p�$�����dOT�4�?U��T�{��!��F'���Qs�{�b��5��ٛ�x�Q��ޞ�R�I!o��՛!q�,�Io�=���$J8WN���tX'����?��7��VT~�~᭮�5g�� $��` N~b�"W���:��)����";�5"KĬݶ���=�сz^�c-?����O�[5�X��m,����k�y_"Ěku�'9�:�Ӝ�i��Y���<�}^�>��c�?q�%�O��9,0���o��UC�P�d�3�v�G��}�SѾc6�D>-��|U`X!�^�G�Vv��MgK�c�&!d�MZU-X n�z���y4W�ȏ*��נ�o���<P)f�B�g�C�iB�5j��`������/�!a�uu�+�۲�5^ş� �|�g?Sy�<����Og~�ԭth�F��{�6��v>�Uч3j!���x �+p9�(ط�Z J^:�@2��N�bΙ/w�c)���k�?���̆�=NP\?�,���ЊdN�`;q?@2+���R�ӃK?u��[�uRtg�c���F�o�N�;�&P�χh4�~��Ľ/:٧�d��*�*�C�a��&��������Ė�#��xKav�����h�N����3�c#rLn?Q��=�U\� �r(�c����8C�w7,-�V��)��D��ͥ���jU����m<{7EKd��a�H�n�f���]y=�-��iR=���4/Jq-�,`�*�n`��4�=伇B�z!}��&D�U� ��6[v�� ����`���M���:ﰔN<g*���c�oc'�s^�>�±�P�p�>�i���{�5 {�����V��3��M'�K�������敗���k��~��������-d1�E(DMb���X�9M�\���nn��3>�ť\���c6��Q�k�^���j��E�l'���h�d�ȖqRd��=�{�������[���>}VդQ�l�z.�)fl�B�wal��G�D ���������1��#y�O��F�㶠�홞�q'��ўxmG�s�i�����N6�>��X��,�Ly#�nP��Ӆg��w v�>jl;�=��Ӄ�H��[�����6Ŝ0`�;Ӥ"$�ݝ%��#��vm����x�y�S����z���=;��>��~�RB|!\�M#��+>/]���^�\~(�����3fY,�`�#�p�4g�ڽv:i7��'WyDU��^0����㞱?^�̀�fv��p��7�~�6K�`}�*.�X�JDrx����sY�rB�T��ž�`�P�̀6��;"�'�[�cA�t�z|���)UO��_?{pW��O�sx���+�k�Ӎ �θ�7����y����|�,�r��<o��M�۽�_^�W��0�-�r�A<V�1���03������K�E�+u[[��2�h��z����?�|���u��ߖ��v�a�/��W��+���#�X�~=�w.\P�� �*�/��8�u�3[Jߌv��*��A[0�w߽ь��O,��w��s�%�ʔ*��c�h�Ž�xR ��6|=ڻ�|o�� &I�C6a�qW�M3�&���~_ �D�^�}�@�RF�c��%���z3�U��!A�w$���q�.���Ħ �s�_r*�FGn��ͨ���ZN�[�yE�����`�䂨��X ������4�Z�u�Hd�ی�_���/�>"�Z�� �� ���_���y�]ʜ�&G��ޕ�:tROe��?�f�y��=�b�*�9_�U�Q`۔���d�r��0��v�|٣�[Uo!����D��)�dg��w�vA-:ࠑ��of�WC�N�^6�c���8>��j���ղ��8!nПN�x� �'��X���l68�\�lg���-m!����f��dħnU��a�ޝ�_��K�B��2�~@6m��:�$�JS Q�3��5��+�����`4}m���tco^K`Z�g&�V��=���`�Z@q��>���7��������(�+�J�F� �d;�Fz�%66#���=Fh@�Zn6�v���Ј^��^�+e�8-yڽ{�%�3��+��pSx��O��D�����g��1������DH[]�6&���2����̳�>na,�,$mU���@�oa�hc��d4g̖�Y7EE�?(��&��\�kg����0��8���c����~�)�Oo?���k.$CXc�$��Q��7�� \��x�gs�gX V"�7o�;Dbe�m�A&���Ա`��rg�:�������[�K�j��bKl����>�!/�F?~��y��e�P�e�O{�^��mU�k_8����E��U��k5�U��Ǟp $���ì��W�2c=#|a���ɻ��e��<�ށ,Pô���5S3~vKG�[�'TJ���w����1bX1�����g;?\n��0��U���E�ZꥵZu��K��������fL|Hw_�d�g��͓� |\�w�$o�V�ۗ�#AK=�1�)֪Q��g ��,O�h̐�GA�0ߍ�Ȱʉ����ù/PJd�X����� 8������|�<X,Nl��S�����[3�Ԏ��p�~x��Ľ"ئZ~�8�J���o���u�F�)�bqFs�B�(މX�M'ĺ|YZ���3@��!���u}���s��/��R�?l%�mK���A���� �Tz�-Spq{v[՟"��ox���Ҹ��݁��7���uV� ��:A�'�ГN��+ʴ�<�9;~�`ĝ��^1�*2��Cjc��rZĎ0���t�%���c�e�`�ð�,*��)�'����RN_r9���J�!\�!i������~ ��#&�����K�v6]�!�z�o/���N�����&\�4%_���m`�`!`x/�z����3FTm�n��ܬ �a������+��e5�94��g��6��+ѯ��7{7��p�r� �;�6~u���B#����:8J��!LZ�f2���1���j=��. t�x4��ّ2�tvp���A� M���!��*B����&^8Ϗq~`��x���5BE��*l@���#DJa��&�^�I�:eD� �q�aADp���=�_v'�;l�B3�^gB�݃�ƍb8��|K9�<�ǪM����B�P��J���ވ�yW3+�:��Z��B�!�ѡ��%��N��`u%$���Chv!��n(�<����ӌ]��c����Y���)�si�Q\h5�9�G�f8�b4���`ٙ`z��4H�#y!UC��B� K��o�6>��[���I�w(EaF��Q��3�Ɣ"�g ����q��G�^`:����%�%V����W�G3gZ�_��͇����~c�b�<�iN�N�4O3�4Ԛ�&N�� ��`9�q��i���4���e���4M�պ�RKQ88�h�#.�T�5��p3�4�`��|>|ǁ�2���}мr�������!$ix�.��X��P��jY|M�ڈ�hz�W�6�k]T�?4'nV���'D����i6Etfn��؊NVS6��T朚D���aL�>�SC~q��g��-8�,�r-"R'Q�·��:_&��I��x�-F$Z������/�x��F�#?˷F8��b+���DU �a"��j�%�sMY>q��>�e�]����f����Z�I�d�c�{9M�@������$�R���"��4\����Ak�-��)�~~���+�Z|}dX6�݀R���������t��"�c��%X�x�X8.��帗��g�h�\�m��c�&��d�1�y-8O��T��8�K�f�C�H���{�q�ę"�`�-�WT��O��}��aJW&:N1*��G�\{'fٰld��E;�Й́ݺ?� ��e��C{3�ԸdB'/V#vy�Q*��3 k!���7>F��ܼBW7�������KyS8��'�V��M��{CF�?Y$�@T���.9?�d���0 �i��Q��=�,��������~A1���g�'4�9����.(�!�+5/�� �pa<"� b�d��H��(A�@2:��V��� �m��܂��u3ާ���K0*�>��e-�C.ɼ(/�k�ӲK��J��g��1s���V�i����ݼ!!�2�l�P*H������H�DjȜ�_�'.�_� Ae��}����Q '��,�}�:�l�p���X�c<�x쭗�NH"�=�U�t`c~�9��Q�� �^x*�M��i=���.�L�����8���Xݗ�.�B���SKS��A��T�0�i,��RŚ1Z�$]1� �|Re�y�u�t!M�V�Mݫ����xg��\j�в�Ťe�d�<�,�,�2H��.@;�B!0b��mC./�˞�:%70�v�(�@_���w� Z1�FTˢ������Tf6�os�=uO�J�3?(�����و��:����(c_���K_���T���W��V��S��������_�v��Aj;j:�t��'��?�V3�5�+8�_�ƶ2�oP�?����&>�Q5�*E�i��i�Ț�������'�M�[[���������mo������#Ī�ڧ�����w��û�D�����%�.N&��û�����Y��O��=}��%���G�u5�R/�o�����q�aܟ9 |3,�sC��7ì?�H~3l�so�����k��3��������;9>� ��Q"���D�������u�?��?��ky�G�����[�������^��J�t�<{���>���Y�N����?�eg|r͋�|�'�xy���5JXGd �l4?� � HdX�"Y��tE�����J��`�R� M�ߨ)�2���`�`�_�6u����(�x��P袄��-_("���7HcN��rS6�_w����,��Y::!//��l}Z�I^'+��I_��V�?���+��b����O��Et���y��'�7p��I�t�ރ*/�+���.����$⢱Y%/bS���v�L�[���u�����z��;�9�����kJF"��~ϥ;�����w�<��}��X����h?D�#M��t5�&��U�B�Z�{��G�XCJL�+p�AV��y�/ɸ��1ɺ���G��U� pi6�6�ƺ��ԦuM� �1~�#��|l5��Z�8�x��ĭ(�+5� �g��$���G�W�'X��z�x����V��� ��b��y���\��;wmrj�ưnkS$mg-���s��W���WU����M�C��J^�kЍP"�<K�c��mU���|�|��+�aV��2F������8������YՔm���O;ɽ�~�_�bs�������Gwt�������H�����v�!��G�#�� �|��[ �E���|:���.�&W�\��4�˅~am0�_Y�ì�V���׳�ަ��j����p�o����_��O����n}}����z�����=y�m�'��+$NTS��� "��Zeu)�Nփ>@�p�.2a�k<j����W�{�w�����W�6�i�<��8�h5�&��C��* ��7���'?���4�ŵ�{y�V�� �hX��s!�5�* ^�*�=yz��P��^�.��ُ+�Z]`��Í����X��A�U��5|�ݵ��{�bx� �;[�[exCM�<:x5#���ܸ��������C�%ƌ����^�Y��ە�I:��\� ��bIo%tUߒ�����g;������O+��awM9����;?�m����ϼXAƭ��o��?�?Ɗ�����,�/�rx Wf�T.�����5�ũ�d�RG1X-y�E��1qa���R��E��Z��,�V-,�v5V�n"\Ѥ[��<�v%�is�S�\mg�b���#:Y)[+'x��@u%�&�a�Y��r��'C�2a��Yap,D�2�d���0��N���d� f���2��lf�r�c�W�=6݇�q�8?�ٱ�T0�P�vzXiɕ��������h��7;g���FQ�ދ�lΠl�� �@���3�اq�����b'�����DI�͂��q4�n��D���u�����_?ԍ������;��6˃P���ҳ���5�_�d��tgq�*[��^�&a�8n��E;����N���XB��MBh���.�U�mAt�㐔 睾ܙ�l/Z�E%Z�P����M����\�����,�V�Ӷvz�MD�EU-�l�{:�:ID����pr2J��Y�\bV��w�J˟V0·�����Fsr��0DT�#зfI#]�:�į�Kr��sdb���J.�)�X����d�X4�$�%[�e�L�q,�!�Oq�A%ؓ��Z`+s����M�ӗW�o^�;��é}��3Ӥ�A��H���8�Z9�A��MDE�����[:2c��1n��ܖ��MjR�e@NA�ʕ��%�a�EuBƶ��VO��C�dž֜�ԹZK��=l��gL�n���P�9�;�lJ��md"Y1a�!�u �e�E���U�4������,��µ�+"'����:����0�;�6�%!L:t_���W�Gt�l���&\9�#l�Ư�f���o#go�4/Y�3f]��t�Eє�X"g%D����~�9���&�\�g!qa2E�n�21�t����Yq8y)�Vمa�Qu��a�S�V��$�͈�����MSU4��̎��J�&��l �c�0@t ^]$�U��-3a s�(7���N�Ev����z@�iq��I�- W2�ܰ�ߢ���z��h\1�8��[�op;f�|ë'�`ˤ��V�\D��j-ES��ҩ�ݲ֦�7Gn}� dX����}Oш��S��8���z��������+�9���q<(q�J���$I7�o8qê�X�eL^�/��' �cR<}��\`0{h� -#���R+��I ���O�C���T1�)�a�z?p�k��\�x��4<B��g�V��`9:�.���)�ݺ#����<콓��`25M&&�4]R�� ��r�Is��.:DD��,`��"�88]�@�i�ڟ~3����-�Q�P-�83�oI��-���cj�@��30�lJ&]�1p�� �پ�\{ ���� 4.���Æ4���B��|�=���0op#�ٌ�G�.���v�E�L�Bx3�Q�&,V6neRf�O���� a�=m}1 C� �ܐCPd�"�G{n��o��J4�Y�],'ftS *0�"��,ճ���]X�i�|�*K��ʜ�����!J����F�c�I��85/zGU� ~' ��`2�dE�>-ﻸ���Zc��* �J�}-6�S?8�E��C����c��ӱ ���� �A"� ��*���f�h�{��d����XbZ��E�S�ȊB�B����� ��q�/��{��wrk=rO��ŋ��x.q�S1BW���^�#5������� ���m�F�:�Y�p���)A8'�d��h�YL@�$k�Ԏ�-Z���K��#����氹�8�(��K��G(�����5\nE:�J�.������pl�O�W�-����p&�!��y���%��_�.��cm����%��^add�Aʜ_�3���? s�f��#�M�o�U2��2 �St�v��� 55zM�j �� �6�8 � �֨�ĉS���dE�,�0#e��6�1*� G�3QiE�R���J��D�gKΕbL����[�+x+���Z&��_�I�N�#p��6TbL~.\Ъ�#�"�-\ц$[�tM���R���N-n�@v��?�.�c1/��F2��IS1t����i�r'F1�����F�u�,�/˞#Dp}ʈ�V�!��|�����&#�P�!|�$Z�@�&q��ll��q97t�M�z�� �_"�R�mBT�X�UWG�Z���뫸��&E��_V�B`H���KFL�@OR�Z�"�Y��bzB�f ƃ��,� �>tK�� ��#+�(�#�3��.N[�H��I�M)�`U+՟+�+���Ů���j7D��`�c���%\�L_aޗjV�[]g��z�Z�dǾ�R�i�W�E�fٽ�����VTЊ�R�b3��sxq=���o��%���|�_��'���Tw�!���K)�x����22%��q��4G��#�̍\���e�<sablb�B�V֧��I�1ѝ�{�Iiż��}�\�p�Z)O�ϱS{N��^�P���!�����K"3%'v!��q�').ZzX2UY25���>�6��X�]UP�s+�DB�߇]e���J��]���S�c��#�H�O�B�<aǞ�'dziRȈ��J�GuI�m;�YR8���\N kp�e���Y��U�'�s������gt�+��k��7أ�֬-�r�U�M�r�@��-�{ۙ���ڵFX�%"������p�FQ3N�Z��X&������p��7����t����LNKI���%QJ�c�߶�nM�+�����g�,���S ;g�����"�� �d��a��jF1�)dG-=��ؽ���qz��>q���$� i�AfJ��^�6�lв<��ܢ�Ā�}�.Cw0F��#l�y�B�\�u�.��'�C5X@�0�2V1�bz�2.�T'�~6��>X�,��˕g``Iej�/tpE�{a�h��9�A�2)��"+��j�������+/��@[�c�|y��b�҉a��ϊ��6��$#�~ϰ$��x�9�k!k�+�FI���e��m�h���6Ne^IA�b i��-8�`O���I{.bکM�h�m��e������N�p���h�|ƻ��N� 6�l�Z�N�X`_�vAM�rK�Z�2��l����r���+����Z Z���X"���]ܲ,cH����,8�[�x��|!�Du1�(®�)��ǘ��+�̮�_q>���;i{�;W��0΄B₍|��^�źZ��%ء���4y��j0����� �9�j=ƴ���,�"fw_��L��T�v�q�i�m�5%����3K�E�:��i�A[��dtB )��,���×�,j��;��m\V�2> $�������f�%���?Ju�{�Ә����#+�䇉�dy�-M�v��~$�߄����'�ٓ�"?���ND.���vn2�]�*.ɁX��R��hV*v�4��`3R��˻B�&pJ��`C���Zb&GV� *���z��җ������G�(�Ǚ��J��|4���:7�gI��%ĸ���mODҷ�X{R/�ۋ3=�*��Z�W� ����3�O�:S!�..�<�- r�[Z���5d�� ���RM�Gd]8��ep�cW��*����Q@�U���/�h)O�+O�<r��4&��a�-_��2�/��Y���i=��\]j/�0Vi.X�S{a��hb /үl�~��T �&S¹j�մJP�#���aKvڕ���X�� ]I�xS��S ��������zJ`���t�4r��OJ� ~�fW|I�D3r�ьܹP�<�$KЧ���<�� �vd<�ʈ|X���{�����������P�in}�"] Hw�>��ؙ��Jj�A����KW���s��؍�`���cM�����Q��ie?���G�M����F^�No��zdM���)�ZR��{����Χ��-��Ł�xeD�,*�R�. �����$D�|S[*2�d��ت(�Z&��̿X!˳X7'�ݞ� ��{�I���8�J#�=����ըw�,T��"�9W��[Ae���N�+e�Lxn5�V3B�� .�:���d3�';��B+4S��q�3���k��UB����S�ǚPJ����������t`�/-��u>{�W�q�gL�g�����*<�H�5υ���K��3���"��rd��A:c�,Cn�����Z�A�r����G;�>Mh1��}E�Xwkkht�cyp} O�ܔ�oA�Z{1����P`�"�]=&�Y�n)ھ�_�[O�ʝ1�T�������%2������^�:~�S�"�N_V���E���S���$Հw3�Zg&����0]�/���S�V����P�*�W^|;�v�� n&���Tw�%VjC��F�� �����\���X�w�´�����S��e9�����4��h8urN����2њ���ŋ����Fo��@p���W���v���6^��淋�m�1q�2on\9Pֱ|�Z$V;�xF�h��=�=�gX��4�Hd�cG�)�C��`*�w�{���^����B�Aӫ�V܇&UW;GD|������ ���"��|/��}a��7�\2Nj��˰Xg���N8��>g��6��3U.�O;�;U\�I���:��F0����%��C��%X�߃�z� �W��Xq���^��� )V���!�vv}@H_�l��`/���^�>#K6��I���n�+@��x*J��>itFz0�FN|qK6M�0���$>�K�����а˅g8��s��E�r0���Nb����E��fS�cDBy�ѻ������T��'ç�t��m< 2;z�Yj�T#��4(��� �r�������c{q�����a�رa˗�n"n���Cj�<�{���u)Y�EFƻ�f#\�V�֖��O��Xtz4������G3} �?D摢e�:�!r�/��0�����J! t'qȦ��.DW`�ؐu�]�Pxmr��(x���Y[Rn)z���N כ���^İK��"��(�w^�Pa��.���Ez��i!�L�"����f&��4[�R���sB�d��il(�oJ��)%�~{�]��,��9:�1#:b�SWU \�K���ޅ��p�r�L�O#�������٢Usi�-�|�A�u(�f����Sy�$����6D��_O���U���_)?:1$&8<��)������\D[��=\��K�{8fɇc/u�iw�[���a��Ωn(\��(�����!�wC<�Ϻ!�e���3��}pt����P\F���1�ma̰kÊt�P�&A@�'r�DKyw Q�)����2}q]\�U�BS5�6A�2p�ma��x�ѡʍ^��)�v��~X�s���x?4���S§C8�'ܧ(�X�C���NSX�04���Ԝơ���O!_lJ���^L��]�*���j���7�DD���x"+J�!�A><�Os����Z�P��w\S�}����?�+W�*4�O��5�����>���C��d�aY���P�PQL篜~'�k���[a�{v���S��{��W˄�zp1�4�vd�g�Wa�'^;ZZ����;tbA㭞�T��) <��in�����2�Ka�+��Qc ��7lߋ;"!G�ײ�$�K\�n[����?�V\�xq�xL��gȇ��҆9�CS��3�_��%�u]�kJ{�%|��_ �#蝰8��P�y٠�8�),C�Hi�\�!i�y�t8����Qij�[S��h�����;�������Ra\��x���v��\T�C s�Y�h�7�w��l ���h�y��2��q��������O?�ÿ}�}�b��7���[ ��D�LĨ�$F����W[��#� �v0|�',�u�K�,·d�l�*�ޭ�m;��J�:�Ƭl#gDy'�*�?&��R��ր�2W�� y(fd�m�y�E,xDFJ�m�E���e�AK Bj��s�2%�T(+ܧٞ�V���<]V]~��E�'b�=�zx������;L�j�K�`9X�n�ңm!E�U,_��r��V�VrJ�F��J�$ l�H�ɜ���F������ﲹpA%2A��T�Lj�I��Pេ����T��8U���p�m�Y6���Ҷ��Az��)���rqY--§���8�]���u'g(���o��w���|T��"��&x�I��p�0��G�gz5�+$6���ę��b;�<Ғ��E�ЅS���yR�%N+@��<�K��a^ܜ���gv_%v��{'GG�#>@e>��o��ԧ�ͽ��o҉�0��[�jf�㱻��%O��I���vo��R22w\�IN4O;��K%�0 բ K�)�� �XjBxp��NɎ8��`��]��se�f4B0��H$��Nա5q^�Q:K�w�^��Ǵ���e/n��]̢\��<�uOT�6�d�S4�$�xk�$6*C�)�7aA_'�m��-b�>����=�st��Щu YEM�w-*��955c6A!n#7��M�p��V����dXWn.B��2T�A�W��hP9�亳������5�l��=���h���?��Օ�3�\��h�>9{#��ej��ƨw�����R��DQiUOI���S�ɮ,Jq.�;F?�`%�S�+e�:up��;�1X2NưȆ�+���a���l�z����_ƅ4�S�a�=V�Ӗ0-�lAL���!�>����\��!�p�L�΄8bo�d��X L�|��b�1�\�d���N��C��%H%��|hFD���i�FDF��J�����~�,�<d��7����$ ��X���E��b�w4sX�/NjZ�X��<\4�:za�'X4 �ThR,���~��|Ko�5. �N��=v�V����HP�F�� 7��u��n�?�2m]�ԑ��p z�]51���Y�*�&w���b}��eEŚٮZ�VW������ÊJ�ծR�"VW��d"X�`bXQ%��JU����p9~=��p�a�HHP�u��80ϖ3�88�E�1�� }��OoK��N��g�EAA���Ow}��Ť��$9��X��HR�g�i����VU}���5�)H�&��<vL���2�Tϐ�� ωO�ȳU��qmT�#+�g�b���e1��Dp>z���>�Q�3��j��=����6�1H�.�����(`��bU���yƬl��K� y���҂XM���>���C��E�YI��2�j����� ��hwٜC���nf�L%��V�Պ��>�K���滠��9�n�z���I9A<�Is�1S��=H�܉Һy��V���&�z�q�>e1�V5���_.ԡ�RhRvN�1�-���d.��װ=,����'���+�=k � �<��S�}o"���b`��" R��r��1������TT ��܅ �5����j���Vn�H-��M�[2cm���7����4�,�����53����r�ynOg��d�?\�v��$l�i���/��Q�p��=���<�҉/���]"^v1�j�.�)�ޑPW�i�x��#w�0BK�ix�,SEr��"*7�cE�?���:�%\F��6{5%H#f�sLH�d'�J��Z��Jh��H���y�����}4�B6��ֱ8��9Y�t��Y�6�:��b�c��{r��y$S��X�!!|��+$��#��R�Pm UhW[�Z��T����Ë1؝�*x�3�0�`�s�о୫*������-��)�r0�7�4{����F���[t{��u%6�a�k(Y�[Al_b�D�H'�$�TT�W��B���rӉ�l��1B�`�T��I�9��`� uq�D��p|� �R����Y%s_���\��8#;R%�Rf5I�X�����Rj�����,��~�� ��69��X[��ҧĿ�A%�t�*�����[��-y�g���J�t�o���r�1D��TFe���'��?����X��E^ҕ�uތ6A\��-W.� �{��{%gF��A��0�wlX��"�)��lo)~EӺ� �4���;�a�ɮ���xË�g+�/�[�i���)�-�jXɈ(�Q���\���1�>�(�G��)�l�-l�, P�^�h�����5�q&�]X�foN Ú��I!�LN1��&�*�R��Щ4V�ؒ�2%�[N�V1m�8C�}Q�;�ى�Lc��8�C(;���LY���j�t1Ūb�vZ8��i�Q��yI>�NiB���J0�ꩆU��+�,��2\��=%hߜL�?�tQ,N��ep"��Q��e���LiYĴ�Z-Y�@����`���U��y��XQ��S�5z��o����M>`��ZOy���p-�=,��|`��~�m�3���A��kKi�RpYS��b��V�(�� �n�b��L�D���ΐu�����<<H����A�/%1ChB�JHoAnM^�˶�8+9gJUS�s�)��f:Y��TxtG+w��Je�����j��Īr�LΪ^���x���3U�N��j{�:B?��4�ܚ:�H��b�d#�7z�a�������¹A$�:�����>(�>k���FSc�Eg��k5o.�J�rꁁ�!�D�1�f:e�gI�ÖnQ��NW���}D�Y��-;�ʇ��4��DvE�����.�W �V��X��n)�حI*$���e+���V�Qk�L�rj�aO�E�W���1�ab�f�Mw���� �o�����> }�z���`9��Q��x�x�@ ������#������ �4J�lG��+���rP}�b9� =�V-��V$Vxr����fVuj�'`V)v9�䠁�`�����Z��k�� F\�� Ұb��H&E~պ��6f��C��/ەx[��稘�L� �ϱ��8@��I�xe�eAZ-�#��+Bw�ty#^�>AVɿ�L[� ��B�/�R�z�풪�_a��V�7#)��W2�\d����.�Z����������=<�<�O1�!�Gmo�3Z�N���0K�$?V��mR;�._��(�ϼʩ�t�3��C|�tA�H;�ĕl� CƠ6�ܴ+WCƙ�Wݛv�������l�@�����!���9���ʨJ�#�vep�|�-�D���6?K~�AW�o��Ei"<���km��1�6'��5�u/l76C�ar$��f�6�o�_$c�m ��$� �nƃ�u�t��n��DF���2��)x=� N?A+m<Jf���{ډw����Rz�)7���4<+'7�4��p��(���`6�Ɔ��_.�zyǞ�� 9̤D�㝵|T��@i�I�=3�I���S�!5`\iR��؟��v��}��L ��'\��x)���hh�<�����"՜��L�T�+h��c�j/;�!3Sr�Y�}T�{%ύ>˛��W��jR��-�7�h2yF ,j�.��2F;�1���Π��<�_�֑a��R{���5��\4��,̭i�eΐE����-����/$e���$�=��X�կ�����?i�c��eWC�� t2��Yp<��kx�4i�.B��I*v�*����@�o*f�,� ���W&��ݡ�6��L�%��1��Pt�^�j��z2�,�$��1!%N;�q�}� v{��*6Y���y�(��<9R%<�Z��Zڡ=��w��p�:I�E�r�qH�Qco4pv6�l�<B��rʄ+�� ^�;2�%E��g��Ơ\]Fe�*��dY>�戨��qqy ��m%��Ss^�E�kI�s)7�l�7��!��2�f�0�cv�x�^����h|.Ś�RxB� �5�q��Ȧ�l��mkU��!ޘ�ro���W����@.�3� 1�����'%}�k$���΄;���_.Y��L����<���@jqɳ��e*�~hi�v*6DDҍ mݘ��j�oY�ڞ]���@1RcS��� (��V��Z�;��1/%4��Pk�dz� 6n�;t-��8��`������ ����}8r)o���� �M�CCT��P}���+��o@�S9b�b����� ����5��0��Hٖc�®��,kv�ly�T�XHG��>�c������j����0ؚN���������M�{*]硍���Ye���X�d��?�7�zD���"=��U�>�a��g��9W�;�λ�Q��(GX(G;ؚ�^��M�ÅUe�A���w��mZ�مY,��I�p4������r솗�XAQy8� �����n+������Y(nA���\�ATg���AɉP}Ȍt�'p�Ե��|U_j��ZS�����{�,�yoi{�0�8���w5t�m��9]>E�wT���z�X�Sхq����8O�e>���\D��C���}�Ӂz^������C2q�&���҂�y���|3�v����[����t���z��9��@:~A��Ɵ2�� �N�p�<�~�ʛ7oo>��W��^�u��a�M6?�ܞi� '�R����D��a$g��#�*�5i3�*��e���HR��̆�Z5���䈶*=���7�:��PL�1^��Zu�Yl���>�:t�~.�!66����#��͋��T��B3�`y�Yg��Cv���W?��4V{�E@8G���S�[gM��5�Np<z��e�7���5h*�K��ǣd(�����0%��QK"�'f`Q�����pia{][��W2�X���L*"�t��$��nĖ}��lm���2 j&A��0�������<�\�D�L������{��]�cz6�'�(L�dw:�;�k�HMɵ$������p��K��g��� D��=�����`�,ٺ�>��N�2�).G�.,�f�� '"��7#,զ=��El�x�=c��4�����a��wH�Ě�R�Γ!���2��},�w '�"�anZ�PTHX��}��b{�0�)�� ��p�|�5DQ�.�O��Y��a�AA�<��3�,�?��:�Pr,a�����u�y �n]U(�`�ɝ�I�;t��jS�-h%֏|�REt��⤒<!&A�)Y�4��mp<��1l������)�Fe����}5�*�:Qz��v�ٙ��}����rle�gg#�D�E�P ��7����ƣE���sPᐁ���2<c���i-��D�&�`�s�ʕd��,�z+�j���ʍ:��@^L|�j��0�h&P �GDq��XUE���I��阦 �*\����zX9;�fG�]����э��\�wG�E0����5��)�9�رk(B���� (����ܦ,d��Q��s��Zo=��!F,���N��SE�:��Y�{ΪsS�H� 蔦��㲶�k[�� s�>T�1����[��]'�������9����uZ�k�.w��c��P����'VHΧ�����2_�`q'�Gű5��=���%8E��`$�@��(�˳���V�hR��|����8#�Z�g^ٟa6�ݘ���'�����%;��/����[��Ϡ��uR��L�:�Gf��PD��2!j���?�q����=<<�%�<��gLa���ͤ\印������ q}`z�2�?�/�ð����<���8Ӓs�Ev�&�\1\���ty�/�c�N��0�ܷ���)Ar��)څG���>�-g��l��m2�T/���" �?}H�v�V6�'���d'����Q��UB0�m��3����K f>� S��p"�Q�F�Z);�ý���[��y����7u�p4��^���/�L�����'� �sn�K���~h�^,. �R*B�} p>�_�y����|��;�f3�~�Ga�mf��V缂� ���U3�����g�P�Dj�(�V���0�tP��C�"�Z�h��\(���P^���zQj�1�����R��\���|�b�t��<�y��lΛ��F:� �V�ɧ��b�b)�� 8����S:�7�@�F �c�R 0�ARH����p}�Mq�<O�-=�B��x� ��Z��\���f�{�_�D��x�Xm�A�4X�����i)���SO3��e�O�5v�9�S��t�ah��zb��t��7����m�B�&�:��0NG�����e�/�-|������Ҡ�l�}Q���YN�t�;���ʒIػ��v`�YW^�Vm2cP�3����H�~�<��3��Ơ���P��T9V�F��y8��]�&� ���,`"/>���!�"\,Ǹ�tgԜ,F{�2D�[�L��A�mX8�F�42�зK}�n�A��@GO�zsC�Dr��/�O�/��t �V�|�7�J6��|��` ^_�bo^П��݀5�A8% �[�xen�4J�t1&��+Z�JY��;��� �$ ~w� n8�1�ɻ/�y���C���2�%�d6?�ˁm�OFPv�Ż���e(����S�˄D��ic�d���i�܅�s���%J\#cm4�PT�1��L�"�QH��ɜ�pQ��&�G�(�Pڨp��鰪��>S�X9����WԱo��9R��f���?o̰��v`�qZde�-�CD����~��o�Zնg�,�+_706�����A��"�:C�&U����0$fbxYew�OG��>��%tqi��6�R�OЂ1\����g�9TG(���l��=�U3�l��1��!b4��&��Hg(U�}N�j�L}����g�d�����x �Q`AP8��0�χ��o���qY��3��Y3� Č@��L�A�ЌcF��W.,m��m��]Uj:�#^��۵vƓ��N�1����_6�� �������0*�7\EGM�>�Y�z[�[l"��%�G�[�����%�/�8�o��&R�r��\dV�bKDŽ�D�b]u�uF�N�ʁ�A ?ຢ���������w�P�{�p�;��߄ˢ��2���17�H�ĠW�k��.����!"1#�2"����6�9ά�1f ��O��I��Q��;Qi�I`:7���Ŭ��sewm��8r`��F���'����.����7yq0�]����&o�פ�hS���<�<H�س#X,���9U�&6�� v5������醸�\�aփ V)lϿt�J�,.iC��n#���]R��k�̀�CSh���8�Œ�����!�%�������BV���.�hA ��q�зEm��D���f��,�}��VQR� ���jN���~�$�\���<�!�J]5j� zIa%U Q��5����|�'����b� {~��I�����9��D~����Г�w�P��ZD&b>���Y s�-kƵ�t���&k/@!��w�#:�~&�����s�Yh�%���|���u19(y����Jt�'?��p��52r�V%��&�Q�̲#Lml�gҌ�FLq놆B�n�#��J�Me�ěgX^�p�����g��f�Q�T�:^v�]iF�F�����NJ���.�[��)�i \W�U�Q��S W�$k��Ʉ�lo~3����Ļ��V���p���r�_�?��p�Ǟ\]�*I�[��m�����M�|���{r2��pd#ӲX��P#�>^E�Nl�Dv</�Y��"րD�-L��{��#ZBN��)�f@)Y-V$�e�V����}�/7�u��$7���B��̀�WX��f9ʲ�y�p�Ύ��ػ�-Ҟ��ㇼKI�DFծ=θz浚�� WM\_�!w>�w/M����`�=H�D�#v��.z-�kxu79�y����Gw�&д x"�nY�,��z�K=�!mS�:����ْ�d���لG���q+^p��xM�[�s3]���zs���?\�z���W?o���}w����O�������w7.���Klw�O_��d�)[��ܙN�<�2j��`����9�k5���T�����eN��i6E�W���8� b�}��>�����N*ȟg�cq���Q���S��pRG�<SpY���i�䄳Ԅ]�W�%��998<�E��V$��>[?��)yv�/b2�Q�;!�i�}Y�x�B�L�{��D��0�*=C9� � ��#oҾ�@]���b�۶��i��R��0�[��1:����E��x�;�56ι�㿛Xf����3&.~<�n�+mVB���so����TMY�h-�ӫ�J�{��Mܫk��H��Q\m��'$��I�)�?n��گ�"ȟ$�)����� ,nؤ��F����3�NG�G�����=�)��S� L� �~9���&dp���[�/]3W�R�9��.� pႭk:C���������WSv�];.މG�:e���H�i�8����P8�oak^v����"�]�6ɛX�R1��Z5Z>��u9�XG� ����}0 ��!Z����� �hzp�ei�����/~u��DB`���*�����$@�,%́�Q�y^�#`�d9ھ�.�N"r �,�J�vv''{#nu�~eb�$CT�'��&�z'l�+�����O�=h�U{�>�����Z����=�Ih��4s��Ԩ�;q,k�ֱB Dž�"��������)��*��:4)�SS w%�)�y��|Y�\��z&{����<鄁S��n�*,�d���T�^�6<� �����m,ſh�hJ;-�!B�r�*2�`�^�a���d@����$��u��� :qp// ����Ast4��A�B�}�A���G,��Uc�{���6�X�&����ɟ0����H�R��+��/�=��m��҉�( �����Cn�>Gh;�,f�e䩼��'L�����e�b�����*K��7)b�G�QgK�4h8���\�J/,1�����p����U�Z�/�U��i�:�\��-�e�ye�4�-"������w����Kb�+!ƻ�rƘU�b/q4��e�^���?$�M����.T���$�b�) �P�0�0b�ݴ�v)�m/��_V�ZK����=@UK�%aH�o�^wWq��L���d�� �]I'�ݝ;����d� YV��'Jqǁ��<��f5�9V�xw]��ibܶi�"iv h��e�j�tm>D�n}�QKs@<�dG�H8^��ӭg�>T+�o1���T�n_��Mmx�X��������^�++�!o�k#d��L� �KD$�,D��y�KW9�2�'@����Ñ'V�g��'�/�-�fԮ�6��1b��T�j��\�#���{����?70�;>��y2�y��r6������r�d� �-�+�&���H1Ga%q�)���X[|���t�#T�ƅ�JfǸK���Q��cd��C3��_c Ƌ��]Qmϸ�Np֓�� �q�S1Ts�|ﺨ(��C�P�<$qOJ;��k�_c-p6��.%$�C�KU�L�9���`���1� �*�� ��WAV����C�o�nW��Ԥ:�욾9�^�q���!??D���~_�V��TFH(�p��}��D<��j|�d�G��p��W�KRZ.w���̀����D\�r�V�=c���n?�����b؝����c�PP4e�a7T1@uόq3i;mgc;ݙi>��ܜ8op�ܟG9Or��������TW��_�̵�P(" �B!�J:E�`��n��FoZd<�?��bp�m��`?��A0�L!�*NT�9�) B��}��Y�F��O��wK����D�a����m���$�:���$�[�Y�Yy����!���D��%��� S���"X~����\�YE+�ӂ�%^ xvO� ��*�p<���ܐ�m��i+�s����9ٲ]4;> �oj]��46��V(,'�|~'��L�\h�/�1�FH���=���c�@��L K�ĊxR�YҙX��+���WsE�,?i����+�ZNn�ﰆTiL�ˍ �����7Stf��)���ҧ}��f!�ؑl�cC���z����_H�mE�wDW`O�Z�yl@��_:;a뇇(�vp�+��Ήڹ>�Q���?�|HttX�����Y���i�;B/;�L�=�����q��1�R�4�PR|�c��k�8�����<�b���g�7�{��Z$�j�/:�[% R�Bl`�&�3����掋�חM�Sl}���{ gDlsvW�E����*���%o.�4���C���m�&8��D�r@�X�;#��nT`���Uh�>.�A��0n(8b�<��6����F� Z��t��5%�9g�9"�n)�� ���36�E�F��w�'7�5��h��4A���@n�r`m�Z6���9kr634�'p�2�����)��ǩl�3�� ��(������M���y�'m)r;G��7=�02B�g�,C27� n�#Ogl&�v�Z`聒� I"Z5�|8�p�UH�P�PA� ��F����zP�P�l�<�ɝ)��Nӽ� � )?f��n8$�#A�%�E��I��5����!|8��<3Vr����C�����:��*!+����4:���+k��H��<�����n��)@,�*��MVz%P �5k���\����cn��b�}|�~��;�~98P5��&� 9ZL�<RP�K��G�gu��7�1�1A3��PBK��)S�&��� �H�c�J�:�Z.��/��Ĺ�o�PH��J>7���qP��Of�]���+PG ��X�EH����� �Q�kP��|���g�\xRO��>6�ί���K���;�㝀�⭦��A���F�d���Ộ��ʭl� [�l;<@B����0�0���U+��i2���>��8�C����Xk���<�x�� �$����d�f8u� �CT*OΎ?�-��t:�?�U$�kaϰ�P���qX�~��`�[�����ؼ'����O�Оt�QJ��Û�7�%�o�H�����K��3̈��Ay������ h`�N{"�u��uㅨV�$��^���������\�"����t��q^�O�Ly��"i�fptn@�e?2��3=�{�wL���+�������F���8@$,ry���9�8�pd�)�Dʴٗ�c���Þ{2~7�l"��Kf�����wl¨>D`�Æ���H�6�K��^�1��D���vF����S�b�GTRj��@��� L�0=���B#��}Ґ������<��,�����tmT�T�5�vL>��B,��ˢ����Vy?P�N)�֧��Xe1/�W��4� ��y��} ��d�C�Nh�#M�w����YX��%2�Bqv,����^DB�>�Ϡ�w�!���_ _[f�g���&>�D�)�<�<9�VES>g77@�к�����rCT#���h|]���U��_�,���g"�����W�B^z�o����w�Z�ZP桱�{��D^"b�"�{��Ѝ�J��v � e\b1�@��D=�~�( ���m��m)���rڪvkd��#�*���F�����c-��o��~�/������pw�?ڍb�u�UQ� H^~j��i-�Q�Of����e��*�-2,�/V�Z���*�ba���3m���b�y����"�l�Qi�O���B�t�F��(P�{׃Cɼ])$+��A��@D%Up}��'�3�n��s�u�v�o�'I�@�L_l��f|�̯i��N8 ���?��47��(��4 �ڏ���rJTS{^V�&7Y�dH"�<xn|{`�Դp�ĮAGTP�-�0�z-*i�h�1��'�"�s;�+6����r�z,�(��Z�TL $~E�*�(���|�V��Xy����R��^$@<��ɑ$. ~�&�-*� lY��K��ŀ����%��g#"�`{M��)�z�x� �<pbc!ʄL��=b���(Wt�*��� ��KI/����$tA+(Q��L�Ɏ�P�\o(2��X���@]��"2�5���\f�)����ϵg����",��A#~� _ҺIę�c�T��l�J�����I��^(x��z�Bz��y�>B�φz�k�4r8(�fȿb��� t ,n"��)2ue��ڵ�"ǥ�H�>��k���a ~{�K�Et�$����44K�q,V�8e��j�����b`5c8�^2�����}��" *F�V+��P��w+2���$��<����6���ם�9|�4F�.V;�H���m�=�[���5�(�il0������U����ј��M��G�B�FH<�U0�(�9 +����*7?CN�� ��̴*g�|�[���S�..3���2�9�9����� �:�+SS*�Qϫtp�t� 1��o��I�Ye���� ����a�o�X�� �^F=�)CD�U���'(!� ��Li֧�z(��j?�eA�b�G-�ٝ�L����}~���P���Euq�s������&I��,�l�e��'T �Ŗ�f��f 9<T#L��O=�<Bka���r�M��C� ��X�U?�r�R���h����}�Y��9�D��>���"�38Ȗ���b9�t��AS�]���ǡt1zKJ����GĪ�'�2���lg6Aw_@�7q�� %��'���mng����{�u�O��Et���#[rLىf�b��a�I����M�.���CFѧnk}��) 0Ƌ��x��4pZ��ɽ������lݺ[ øM��\�H��as1�Bw�+?�&�/7�3����o�wg�E���t]�,ѷ�γ��}Գ����m��h��n�c6�-�@3_�D�E?��G"e�Q�Ϭ1P鰋t.�Esj�y�����̉Z����A2n9�:���w�PnǼ��Ѻ�]x!��l�(v��m\�$�����"�N!�W����N0ڑ �n"�-]��U� �<�$��"a2P|�����3b;o�&��R������x���,d��Z}�:)Py�4�YC��r������B�nԍ?"r��*�d��(���K��/��5GHf<��`�j�nW��,̥�4�YL�~O7��t�ڍ�����Oe���6�KM�eQ��PX�\� 9�˅QR|e�Pn����UX����s㼹�&��ۣ҉ �__���'���*���.nx�JU�P�MYm)D4���;�1�Q�q��D�s������K9�k���8��@��e]�J�k���.������T&�葎k��P`��l2���+<0��~�_/Β��G�ѻ���� p8�B7g8̒��X0��\�9aW�hͤH�Qȶ�S��k��Ӳ�z|�w����h?�.Q�`���-���H�h���CNy3vA����#�O�G8��"XkS���Jh�P��J5���J|�-�B�J{��c4����|d�f�.��K>B�n�GV���D�x�Ȉ��]B!�͏���2��9G "�tlrR���]p�.dyH�p���l|��3�!ڢ�!����ԵiG���N*�ĜH֡F�� qI�a�~_2!�� Ȏ���8mѝ!v��ɽ�a�:b��azы`�ڇ�c [��p��g�N����Ive'��Vh��d�|��r�D��A�^oVB$�V�,~]I�Y�_N��,ҁ����C��9L�~��h���V�����MJ�/�m���}�/��Ka�"h�0��ۉ[lT�^b�B�h>q}%�`.s�����%�i5Q��B�J�D��X D!,�/>����t|�Bz�2�Ql��U�)�����Re��*k�.�A#�ңC�@����E��|-�`�j|�40u�'`U�E��wqm譐o<㱓q���{���>G �����D�&%��/��^����-T�:zN�g�b5��.����� n��9m���'�C�w��[+ˍ�O)�m��M;�i��QJΐ��=;����y3�� \6Q{���3�-ĩ%"}[n�DY���J��5��UN��ք�I{�7�4�H҅x�f�j�L�̢�r��"�~�@5��!Ş�>��#\�-��=�|@5���\��$����jB� X5Ar�Oc�A�V��<3 ���3���/tc����4����<3 �%� �#���( ���p�<�'�//1)�U3˥���D�6]�,<?�A�6D>�����i�ޮb�j�@FRSyʰ�kv8��A�\���+���*�9���v�L�V�*3�ZƔ=�}��U2q�*(�����c@z�a�R�fp�F����hd�����?�T�^�83��%^�~��B����qG��POD L�v���&8V5����<9��x�S���b�gCcўM��l�b��t�<P�'��"/N^��#�JSW���s�'6�r/�G��1J�K�g�ϕ3�C��3jND/��m�O�.�8%���h��3qRN���D&u���&�D�^��6K�'�s ��k�=.c�ꖯ$*��� ��X��QN�#L}��;�7lyמ#5}\�R��`E���y�^�O�d�ٰa�⨤G�q��6<B3�5ESQÜ��j������V])�ԅ����x�����yXk�;�0�ny��C9�E:�=���n�ǐ�h$�" a�� ��2���rC��@/ י�m<�OA��&Vi6%�����(�U� 2x�]҇U��#�T���,�?T��չF�����:I$��18l��-�oF>[�GD�j����]U�Iφ'�K��B:���QP�h)kV���y#�C�1��d o����bVa}=�9�5�X�1����?@q�ҕ�Xv˩�� 0sZ S��K|����p���r�U���I��p�ij����,{�硡����;K.F�:5���2:���\W4?�!U�e8;fSN���3^�g@>�!��]�3s���5�f����G��+չ>��EFWD��G�:.6�RDG}�1xk�lW�R+>Fs�鄝����SMW�-��5�����}꘦^�or���[���_be��ͦ�ُ71 0(1�<5Z��|Z�\��+���Y��L���_]y��u��0�C�h�FZPaP��lګ+wjF�ЏP_��e�z�f���B�PkY���8��j�|Va�5�[�چ�Nۀ2эF6FF��,��͆�H�����*M���[����>�E�gA%mo�^�gZh]G1uG�5�=ob99g �$s�� ����<�b17Gx���/oF(N�T��I[���\p�}*�&��������k�O�N�5y��o��"�h�]�K#�M㣦G��4���J��ق� $;z�^H7l����w�x��.'�S�҅I�b �T7�4�,?t�����_Ui �L�Kк�%.R��0�rB���������Ҋ�m���Q)���ROL,BL�(j�����e��G�.?t��R���-e��$��tm_��2N�1!�hb}�b�X��?<����~��^����l�� 4����>��\��ŗ`�*��R;��K��Jd��@c�- �������-nM��TG����3wDKK3>�]��] �O���6�ۢV �{R�C�'�P��3�_ -��WÃ(������3�eO�k��\|�WD��AR"�����,!�u�p�F��k3bKH|~|0@��W/�wS��l8�����ã�������*ħKTƵڕ�|�De���0.Q�k�����3�,��nbQX��_� �+�4��j�6�Y��@31n �/���nB�K��9��idDJz� eأ�d�_Г���gP� ���Z�>@rno8�N����0���i�5��զ>�i��!v(P��֣e�ZVF'Zv*� c}+��"��s���P�8��o�� /\�Ƅ��rxp(�Nq��dtJ�w�g;�G��x�3��n���M�p��9�4��P��"m��Qn�`I�a �{g����xҍl'mH�HB1��=� � I�x�/�v�X}P�8���y���L|ꮴ�n��l��&'�O� ҼEBF�����j�I?�b��7�=㪣��#� �E��D_[����N�ZɌ�P��L G'�,�6M�N�ꕃ� ��,O��/�y�N�B u*�!�}'����u�c}p<:����{��������/��1�-T�' �=}��<���BБ:��s��'��7�#r�2��4���Ԩ�h]+DYtf2~{�В#!K�Ӕ3��Ko�t��h�V�M5 WT�H1��gmI�L5� �Ƃ] LH����pp�y�PSаp�V�#�.�Im%\h]\�yX�E�F.ФAX��xΔc�K�g� 0��-�g|��q8|��ʷz��P�p����R��qP�]�H��'nR��e&��`.=�6�Z �A�"K�j���i;��U9��I7;���o���sn,��t*��B�!v�s$�1�T[���%`�'>�,C|���NްA���S�ܑ(ӓ8j ���IO��!vUgx�Sw+1�K�a���y�9Lޜ���J�8��������ř$K�=����_�=��j�9k�&V����2�;º���G���lp ���Vd��9�%Z$<��H� �H���EjL�(��fᜒ�um,���7!�ٌjЈ�NX�8��䡘hB�b�*��p� Iw��;��V��¬�A\gK��k�vN����YZҒ,<��֩�~�+��2�B�9���n�y ��h�z��l����UZ���K��CQ.� �"vTlY�ŀI@�W׆Ŧ�U��}��V����\�=��[)��LH����{!U� o�y��mYg�;���N�|���o�$��M���ו����.P��xd�T %��~�p� ��M�ԛ��KȖ/ȁ�K��� � �d3*Bu��u�6�e���EP�aѬ�s�@d�kp�Gg��Xu22��N-Bf��2|S��A����Oqc�'�NNϜ܂�T�X �z�Єf<,C���A��L,j�Q��4��`"c�-t��d3�� k�VL7�(4~�׳B��țnѸ��i�NO��ֿȎ�x��?�Lw�Ǹ��H0;����to�?@ʥ$�D���Ɵ���`����������խ�W�6��n���po�"���N�����*��KaE ����0�IV��*�4u�n��������3u��[p��dw���H��Q<+R�?���?��7Q��.97My)sM?����� ?'_�3|��$l�J��nIC��Ҵ.�>@M�FD�u "i����e휹�h8�=�Y�V���0z�!<�M���[A̅�m��D�WkBV����%m����?y��e��oB}���A1#�/�J����a�����js�>�@��P����E�(P@3[����eV�mH��%�����5*`��������Gʿ�4�?�߇�NT�\��~�W���s��7c[ ����V�l#0v ��oݷ�.�Bk��V��𢟢�����;�i�_�y��\#F��Y1 g�,�z�X�RB�W�O� ݱ��خ�]�K�������q�QY��X%�����{a����N�[X�$�! M�\@)�� Da��<.�S��¶���8� �z��T��H�2��:�k�5G7��A½væ����Q�p?ܭΕ����(H�m��H�9DD%�84R�)� �n�UÙ�e��X��!ZL�Q���l#��� "S�Pٺ�_���u�6��9�n�.l�+b��p����r:�� ����.qײ��F�*�F�Js��F|s�@�9�kq��-×2����:�4HI��j �Jt��c�2�u�@f��*ڏr*�5U�!�T/��3�g���șd��������[�xt�C&g��f����ϑ���1n-?v����f��!P��@{�`'���Z�z9�g���u��.��3�H$-j:>y�H�%� ��h�X֖:6��)v�I�жkp/ ��}�e���<����0�s�g���1�M��n�7;4��>7o�j��?*˧Cq�am�BA�S.|�Q�@B]U&s�BJ����8e6�&Vb�/^�~����No_'2��AgC�����0#^jJj����J^�QE���w܅�7�?����e�9O9 ��S/X/�Y�.���/������x��l{���]YE�)� 3$��֊�^�c��O�J,7xX���c|Ң��J�`�a�k�Sb8Ӿ R�@jɦ�S'�)�`+ k�!�屍U�ւP��.�L�Oj�Z�G���b---��1Jl�������x��� �y�x0�Z�(?��yAޘ�s�X����X�XD��$ct�B c�#�A���bB��R-N�>e�I��/�����ܓ���(8�P��N���� W�z�ꔨ0�p�/ҥ���r���]���ri�4��5Γ7����x"C\F�h�ycF H����\��ҌBi���.3�t4���h��[Id�ʉyP����Ɇ�&�%Q���`Ŧ��T+c~��"��5���M�7jVj�x�^A-Ѱؑ��� ��Y��0����� �� ��A<���5�����*� �lXrp��&c�nH��']����"����\;[�&"#"f#��P��-�2ӧ�]�ip<ؕ+ Nw�.p�`��(��^��AX;�O^���m>���� ��lr <6fv��h����O���`^<z��e�u���C�$��h�ni����+<e�v��I�YخO-��[��]� ��e�QO�D������2Oq�>����d�<�G{��AB��WT�b�)p�Dž �Q�au�H������Y�^�6�?J0����w~�۵�F�qﱜB������z�z�z��<x�u*0&y�X��e4H/�� 3�C���o���5�U����i-���t[{��S���Oqw�m�K٢����=l&�L� �@���(C�,�f�NIQ�O�����Ëg�6\��+K��<x�`!���Rk�8�����` "Dfv\�1�&|��B��P#��½��B7)V�\Bu����E��[��6������4탻&;3koճݘN��3!���Ռa��� Q��6]��}:x;� ��?��3��g�@���w"m�c\�wt48���ܞ���v6�<�>�?�)�<AT�>Y�ÀP�!\� V�E�t濮Q�^�ր���C�ӯ��XF�yE��m�_���B ���+��g�q��� tM�&\W?�{��+��:���U�G���МFԡ�7��#��flP��RގW �S������5�>H�R�g���[Ug��g�@2��Z�O5�M��%�hR�A _��b����k|����k5t%���&}�z��Y�F�T�0&�;E�<ss�I-�d�,U�O�j�˿� '>up�=�))lX�GCKC�BFR�I�Ť蕖�������Y�]!c0[�-$��@�I`fXX�a��f��zc���s��)��@��<9>��,���~ޞ���83�Z��L�(Ā��f8<EpTB��F.����;&���=����&�e���H��=ڨ�FS�{x�ۢ��WD�J0���٦�0���͠V�\�żFX�C�0�y٩utWZ�X�Ɉ㉑��V�rŨ�aw��y���J��CB~��d-ͽ"��Wf�ښ���m�`ף����z��Z ���:��(�� bqї;�������^62=�X��?X�R{_��BK�&Z� x�.�I}Z �幆��̛?�$��OEP@�<+X��&.m����t���%��� � � ���\�O�qa����e�2�$<a`���:�>� U�Ӑ�X�� o�;��=!:G�L���A��yH���s�E���m�[F�Nv�IB_��u�<��q,e���f�h:4�i�����$�6ڽ��W���D\ρ�s=붣�J�=dRt ƈBԃ�k x ^��A )׳����4���2����$<�m'CXI��s.�Gӂ���`TH+��80�I"�G��t0;��N,� ٛR���+ָ���s�V�,�y�e�l������ �Wt����{z����5*�6����+�89yʖ� @}a ���N���N&H���C>ި�8sÍ�����C0xk�S��/[,&uR��%B���C����:~;�(�Xx@$ ��9Ő��lW䃂��Fܔ��c�QI,X=K����0���\l�&����l4�Z�N�J6���Q�o�@�M�C�٧ɳV*.e����M��U,�{VO�B�8 � �nkF�/-�նr�'-'��O6��q�wT$�1��"|�A�,��9���c'���y5LM���/��@�`[����v1�\(J���DUJ:Ҏ��S �%�T$WPpr6��Mi�� b���Q��<=�^�����ƃq�E����rȭmC{��(n�,�e������Cg�\ҍ�H1�0,������!<�JsQ����rFS��'��#(N�SU�� �Zv�=�ơw�/�l�O����6at��x����������a��6�Q�;��%���g�*N'�)�����x�N�S��u��u��N�NO|�Lw�OQ��S��l�������N^V6.����܉,���� �#�ZW���9㞂Ni�Sa~X�*T"�P��[��(} M�`�k7�Ly�I,� �Qa�d��w��,�$/� !�x�H�3,2 �-��,�ճ��&�.!Yv&�B:7'�� y�9����:�&�����_z��kA�D����KN��B�a�"��בT�Һ�4yG���w0�V�� R}yiא�8B!S�9�+�2Ia9�RI6E:�&���$���Ԯ�b�NU;CU�=�uN/�����a��?<�������w߾x�z�ѽ�M��iu-��˷����^۲���HW����ӭ�� VM�&�� "g��`��+�^����eJ���]iX`���mF#$L[��Fcd�9,gӜ�Pa��,7g[u�o�>�(���!o�F�.�+m��TNt#@7$�H�K�a�M�cY����}��F�`)Ⱦ3����߲R.[����[��H�p�ʕP�E�`}=���t�� �9y�_�h�$9���=��,HL3� O��^�Z:?G����*٩, �4oћW���g}���R��Vo��g �3�� 筀����Md���ܩu'tL��>��c�h�R����+�e���v51kP�&�6N�)�y�6N�J��7�����$.%�fR�j���S��/\i�^���TW�Nv��:�-�i2W�H�p�Ë���Z�wͦX�ɿ�*i�P�x���*6����&�\���(���&bN�\���d1L��F�χ &+�M�a��I��BR�,�3����o�_��1zG�-X`ؗ���X>�;@��sdeo��D2 ��hl6F��`0�h_��rG��R��K�p�������9����"�v�DͿ��PR��<�$苹ߕ���1A@`�!ˀ�@�m�wL�e�)���gT�@�Ҁ�g<�I���[��p;�ҏŭ�r�����nW�ȁ���jxA��.�̀���m��(�Pl�4��/�� ˨%6��M<��UL拼��5_�^��N��?��;�)HLw��>\��$�@0ĥmI�FN�/���,M�eA��w�T���P:N;�k�fNV�-�;0����dĹ �Vl���Gu�J�"Αۀ���b�]ր�̎uj���f4�#�(��q�8ש�\�&8��W��vfc�꼎G._/\�Y���aO���ty��R� 6�:�bDV��|���vu.f�gB�i��Ȅ�8�fpv����tg<���H��8';_n��%��m�X�v��'���$��@*�op L5���FW˘�7'gK�I`y%?���'n�̠ �����'�;;���S1�T��q��I�d|�u�� ?i!����ۈ�}x�P\ ���`t28���6$Y&�y�����AiՏ�f���4D�Հ�s T��(�a��&�`r d� 8DJ��9W������k������,$ ?^�ٷ.� g���Zڣ�hޒ��s�7�go�H���6��+Lk���t���E��?��2 ��ˏ�P�Ò�� ���m��{�kiP�s2�Gw�;I\�a���:|[� ��Q����� w��.� y�9�� ��m�G�^�K|�-!�|�O����-� v��\�y��P��7E��n��Zx�x8��Ѩu{-|�2�l���Wj2<E�c7��P �47��ׄ�M�����L�����?,Ut!dh5-�!,,&{�)Y����h9NaJ� ΐ}�C�yU�T��\eԹ��O�հ�!�EٶL*a����_�l<v���@;8O�/L�F4963Y0/Ə> ����J ��X�H^���I3U�H���!��d�t��N�Q��hId���?$%�t"�Lw4�5T���?�ǡ�TG����}8w�z]XIn������c�2{Q֍���\������[��%ЦK�Őd�"�ooq�jS�)'�U�Zo����)��yޔs�������6�A�X��$�e�#Tnt<�Z/�1Q�[�w�:�����gb��K�N։Rx��ն^��C���~� ���(9��<f(�ᤌ�J������ް���G9Ѵ�r��Ԫ5 qK �C�k�a�~��bӱdNT=�����6�w������*�q.v�<�/h{F�F���$2^����f5�ΐ����8����q:��ΚB\��Mq�kF�a_�+���� �I��Y�6�etU�`��,a.�*�`Ja@rE "]���U +�W ����4�N��Q� R��J#y]�QS0{]�0��&N&bͤ���R--�Ƨ��Zv2��<Zِ�fuuB@I��lA�E�Q[$�Z��:#�XN�Q�����t_&G)W,G}�\�sΠ8dv&�w�wLĎa�r��;�SN���{� mn��G��Q�d��B@Xg��r��6/Y�a����*Ұ� ΤE��&�N�6)[��X�|����8���%��+��|Zr�0�!�����0,��3pG���պ:��j~6~2~7D����q���7-�f.!ŋ�K��ӂ`LN��5�����$��m�@�v@=�CZ���Gv.��O˒��Nw��f�k_SW4�hjҹu�M��mY�V���`Q������HfE���0�>� +,�_?�<`^�$��RR_�]N�H�Ŭ1�Ea_�d��ɐ,��.�2ym;��dp0��(�y�h�?�����b�/��8�2�M_hp�.���g�ɰ�%��c�E2�D�݆��V���q���S��b�d��a�5~�O�ȧ_|���.���%���ο�D�uմ��+T���K���-�>�;���x��f/�E�����n�M?��C��Af�Hj���@\��S�����*�A�桷�ǻ{��X�8g�߂v���?���ǰ#��Ͷ!+�v=h�Tm���e+� ��&R�t�D��nGɊ�q��T�-��{�%G�M��bD�@�_K��ϓn�.B;2[y�N4i��`���O;Yb�6´��9 'ҁKȡK�J��]q4��g��[�&����@H��;!#\0�f�1�q��@"�#�)b��8���Ç��&��A���5L��&�=u���#�P��dQ�I�?${��ob� ���6/a��C��9�� �@�fOt�)0�@v^''/�,�"��"���SN�d��Y�b��@ �q �SC������B�w����Ҵb����2JO�#�F3��trs� ��&I�&�F��5� ��9TN�����r\�bn�溁P$�;��D%���kyzYW�9�%��D@:ys�3 ���#�� �B�흜����,�鄑�v.b��05�~8:'z���8�}> �%��zo �M�i2Y^g�:mZ�t��@�}�A7�{�cMNs�|� b&�E�Xb6���I�@m�gt�2D��J�Ј��ӈ�IC��an!N:��D[�fd�[�L�Ҕ"�!��ÿ,Ӛ#:�;�r&@���f��e�T�Тv�p0sR��m�ȲcD*@Ӕ}`�u���k/�,/������]3�*��"��s����E��8�]�3̶ xd���������ݻ��w���~��eՅ�fgS�-x���+�j]w] +h���$�t�Q� |+"�`�u��~�Z�ފZK��b�//tIKdt0i,�<5�!<�����@��ab���B*�˥�GZ�.��I"�%:kA��xY���HX�xJ瞔R�ּ����1��.g�s�n� ��qy��� �O�� ��T,� FtT���vqK�4�;��yD�u�1������ʼ�{%���Z���>N� H �/xlI�%�jSsI���e�̴4��k�䒂2�J�> xZ��AZI"z���NwL�e2C{[�_RBo@�k�tN@o���wm�/��&�{�,_�E��x�Mcqm�<"���0z1ü��N�j��@� �D6KP7�����xo1�}�Igf�%�-��U�eY'��z��;�FQ���,�U8s�'��N�D:q��>�rdg���a �OT�b�J�H�8��K�p!���9Ym�%=|��|�6H;�a��D�7�l2�y��#���S�]E Û��� ���3g4Fê��!�S㰻"���q��\q��@NIatq�H���������[�KD�H˚25��(Rb4M͵xӒA�?�A�� -ɌY���նJC�S��6��)f�xQ�s� ���=!QÉ�m�\ZW�/*��Ұ�h��}�`8%&Ⱥ���Zc�maW,ڣ����"#�6����$4�vc�W�ƭ�6�$@ �'�)�֠UK�fs��ϡ��Z�s�I��:s�T$�6ѱ���;n� $��-XMD�[!DY�P�I�&�t�g��p~"����[n6y�w��Y�*�6�1�ü<hY�wQ�,K�*��l[l���"PD_-x��b�\�{4Ff �g�t}/k(g�+Tϧv�l��$x��l�jA�1���#n�\�Q� [����HT5-��!��eo�Q�Z��ވx�²m]3�`Yx�:�;W������� �DI�o@����^ ��R�� �m��i �]���Y� 7~e�a�@�u� z����t4��V�D�Xgz�H����xH��^�Wu�P��Y�M��BK���k�j_ ��R�����ttf��aD�c?^m��[-���#\���L�Ǧ��&͊Z�ェ�#&�v?Nhӹ@Z7 aj�eU�<;���u����h�ô��鶀7����y�� ����������~���UV�Vta���/��O�k\�kw�����f�l�,��fy�EBs�z��V��FH�s�֕v�N�V!*�X�����zM2$ -��v����Ki}b��y��6��wBC�[!n?%Qg��a��i`9�c�\+4$ðsk�Wi0��VlCe"N~X�\�sG3�u� 蚼>���;�y�L��T�ʵ�T�OR7�ʝƈK�(7�z�r����d�(�`���h�Ӷn'�ׁ�9t�557P�X�9U�|jYjE�~H=[�l|Jv[����ҡ���%���e��z�Q�#�&,� fX�I�����o� ~�"���$�X��� ��t��dfY���p�n�N���s\X���QM�:�VX�~0P^�^���=:��AE!+,|'�`7��nv�R�)�ě�'�HXw�3����{zZ:k�@�j�(!VX�H)�� �#pV�(�Y�29�rG���h�[�(I��,��)_�0�SaƄ�ʜ]��"j�w�Zc?��L� La ��z����! 3Y �������et*�.3q�{&�M���ӓ��v���Y�_�'CG���+%$�u�J`���U%b��l�y�K�qJ�ЪJƌ�t�^M�$���+W⩆�Z�P�?w��e}���Hc}p��5�a��tc�!p1M^%�#�.N M^�n�2���]fOENb��Zo���R���Ύf/v�r56%f��66�m�s>���7��ۺ�����ڶ�7���z��W��^m��ؾ��c��0��{���ַ��n�n�ݻw���ۿ�vuc���!8� � 쥳��J����3M�S�h�#�$���a�gz�|X��9�Q�F��t���Ӥ,�$X~��!�>����[�͊��S�&Y� ���ZK�?�#�z�'\���B����� ���F���R��R�3��)��29��-��D5�)H��3�N���4���?X ����A.g�FN�8<�B%�Z�m��v�#�t���&X�hAˠ�݈魐y��ĵ�&u��&�u�=� S����k>��u�/kXt�*tIg�zl��-7+�$I,+MY�e$VګWe��yE� �@AsI�g+U2C�ܰa����K�|��sw�\H��y�i��,E�4���2�K.�=��0�8μtE�d"��fs�� <�?E�6p}�2\ml�S�L�_����n� ���0������1��Q�t�9 ���8�����%�I̐�/1c�nI6e�REP�/�3@5`�"q���}VJ��1��n>��������;�*u���%c,X�H.*k��mF�r�<�:7��*6���iF�B/�lHD��11�x/���]N��+P�]vq ����V[RPlo���v[����rl���}�S|��@eHyarWol �g��\u B:t*-H�2�s\� �� E.��$��9 ��tB�AsV���4S�P=ݔ�r�f.Csɺ�ɗu�꿫�����!�ph��?�tT6J:E�v��8���+��K����٧�>p��`��\�2���l��T@z����Ԕ���l�"���q��lT�(�Jڷ��s�-��V���'H��ᇧ�`��Gx���� K�d(�e�) v�kz<ؕ���n�9�9���l�'!V���v��%3�$<�)�J���*rķT���v"uZ��q�L��"��Q�|��SJ�<�F�5Dt,|����^w��}(���_0F���?|)���ۏ��b�T���?�xr��#�x���fB��<��ȓ_~��>[��?��#_r��������s���m�ǎ�L(ƞ�M~r�F�T3c�凯AnjR��>�G"��Y�HB�L����u��A_��s������D��K=k0�QJ�����oiq)I���z����ڢ�����9�X#}*�+�[e!{�Lh�I�=��l�|߿;����=�Y P�-�F��2dTL6�(��:X �D�x�����7��o�w�$zId���R䖢�}(d����ۣG&-�eGE��5��v�G8�u�;E"#�)MF�TA���d���vy`A�"y��0Ц�NO�%��b��&��z���y���. a0����ٽ�d�̽^vA/�Ar�E��1*3by�Y`ݚE�?F�n�/�ח��@�D~��c�E��ȴ��q�io�!hZL�W�� p��w�96D�/�^�u��*[VR��{��E��c� ���Q��G{�h ��h�������>#�5���}!��-_q�?�ҹ��W������)wl*���� ��+����x��!dR�H�)��������hv�*N���H��V�Eٙ�U�� y^YT�Q#A�:��� 4� ���:�����sEۤ��]�h��n���zǿ����E�7)Q���9t��6� �ARAղ�9���s���� ��-"ۙlW�d����b��cB��H��B�_zz�5`z'ޚ��Ѐ^��^Sr��)����P��-Y�� �R]��%�Bw�g=�S��,lV���ۻ�����q�VU��ayQ�G��iD'�~����,��5)7`gv��h�ح�Ml�ʇ�6�~�ys!e����ĸ��N����Xu�2h�3U��ORF��/�?:��? !�e�S�|�-L-� I��W�t��� �e�)Q�uc���}`>J�Hbd��b��N�nG�K�]+��Jo/4��2#G�Y+VhU�v��Q�*lQO@�EAS� ��O��8���Q��k�-�>�C�p�[�ݭ\V�����d�s�8�k�I�f=E"��J��'H�W���J��a�*_H������xc�U�^�;p����s����I�T9D���Ձ��p^�KN��������*����z�It�ep��<jU]� �NV��`9����(w�_��Qo�/��\!���׃�ˠ�[��ɥh$�}�q��Z�cY�y�� ^�u-P?�������G����G�D���\L�V�a�ִ:/8�x��k�1e�s�$6pA����a�>3B�.��9�Ӝ;8Ҳ��P�4X����I�$r#�l���}��_Ζ�`@�<=�]�g�␊\ux�xO ��f@zCy����*c$]�ȝzh����e�}z}��#�}4�u�CU9GRz�VJ{��w�e��<Lj� �a[�+��6�'.�Gt9)���9�q �һ2ƪ���w� ������s�Y�OX�Ǫ�ӳ)�m��bPQ������_j�Ff5��}���p���L�&��,r�����.`B�s�5����u��*^�@�6�;��6������ԇ'g�m� h�:b�d6�M�)�t@�{6��~��(m�U�5�7���lV�9Gg����7�\a;��nu^u�� W���A�� V�L���+P�\��^6��%��$���^�� ���P�8������p�(Q �T��IM�D糎5ܯ�4Z��)��y�c�? /�5�,hG�nu�拓uNhuò?�Ԭ\�vy/��Z�!�"��~2��W�cL������ֹ�����9��P���<�.fv!��i�_�>�0e��ov��8+�l_�ߕ�m��J��%���'K�T�bc�Dds%��G�� ȥ�*�����K�3{7��"��֡r�x��.�P�d����̅�nX�W8=�L��{:�31�R��s�Fm��o@Fϫ|YLn�ൈ�;�x��9���*+`ӆy�]��̷� �}�C*��f����y�� =�]4K��N�fD�0��L�t:8�uH4G�J����Vw],l�SUvȾ���$�j���\��6�F(h ��w��+�Ҏ g�έ��������pvEb�rU���Ƕk�콓�l!y���=�E�;)aэ E}�>W(҅������D[�WP�/�(���s� ՛?m���ʼnou)�~9�S��Z�L�L��-�qiA�Z��C�A��û��>L#��{�D�Q�Y�-K��v�������:���+^�J��Up���6��L�>���}�N�P���Fgfs/աh%ns9H�xP�'[���~�e�I����CLNpxҌ����d9l � @�ǭ�H�6F0��kc�@*-�����?8�����rd��y3.�7s Bf�Fuy�Ȱ�_<a��i����� ơ 4��߹s�o�<���d���͠F�����rYC�]�v�����zI���%���U� �] ��Z{��-��U�]훬N@��F���zW�Z�4�cy��gZV��Y7z�M�ɂۙFp�?���v��Y�p����a�6bE�W�L���3��@ �p�G>*.�B�)��CbMpQYR U�l?�F����*_֝c>�p/� �� �e��[̀�ǗL��jħB��ٔ72}4����H'q�2�rD��G��uc ����(�RGd�y�&��Ð`N^U$�aYJ�I���h^�w*��+G�ML���eF!�B�0���0���Xl�k=RȗD�l��s�~��#W!2������D���6�����_:TW!���b��K���j%�-�2�˒�� M�"c%.J���0@/� lJX����C�R%C����,^Q�YH������Y���@M�U��sV�P�+�� V�T*߬ 4fО� ̸��҇�����K��v5��37���-���%��!�v�ͷC�V�ߙKKm�D3JAvT$a�òh��3�sm���4R.�)�Q[���xvI��Pp�VIH����Ls؏0�� S��ᕯ+*�� �� �u�u&Xmmh6���n��x�]l�c_�N��.��4�AE�'<Z��W�?_�8���(�~��t^4b5,���(-�=�P�G}T�lx=aC�9R[ �e7H�~%J��S]`��x����Q:|�a&��V�~�ì�3�K��~��!3��h�D�$4��F�Ó)�X?E��p2wO���]X�;�v��в=�)�$��ٛ�oJgu��pK5|o�D�.�����n�ϣ��p四�����J���x]���-=�=ZI!�r��β��In��l��2��m�Mb˥ d7?v��Z �y�Ò3�������6(\ ��q˘ ,��K'��� X��}�x��m /�t a)[�L�K���2�y/�e��B�n@˷T.�S��o~����+a������-�X���/�S�{���}��������2�_��P���� �� ]Y���M��%�-�k����|�< @Ƒ�"�[\)���.|�~��fisIJپ�{ ��B��"�/E�G'g�%�w8����h��pk�1��G^��!9�4]�,�݇'uq+�e�o:�e��!,�oY�Y��齣e��Ì��#�d�o���� ��?����`*b\��C��y�q�G,ď����$�F�l<���ؽ�<m#���\~24�2 ��8�<ÏM\6Y!DM>qYeq��+W]q�G���'Vл=Ct��b�1���g�s�� M��,��̆H?� ��[zo"�����빛8~��%1��7�ϯ~���)����iG�����B�a�N}7F.�NQ]�ĥ�~}�a9@#*3_vbkz�ٷ�4u�̑�1����&c�\7E������7��ݱ����{FZ)��͒�.�*���&��oހ��ƍ�R7��&��*T+A<��f���g���(37/�(�$��(������h�R z����@R��\�-ү~s��3\�]i������h�|���m���� ��ZB��� s�A�v���XO9�ty�ꪴnW�8�)?:M��%�ճ �˥�ay�LV��/S/,)���x�����%� ���s���������8�9=\I��K���� 46c�j�=�w��F_��I�����R���c��/�(�s-{.��qS̻U�A;�N�G��6� ���E(h����"��k�㔭�X倈��}�������9> �/����_rm!/N��O����H?d�oŵ�����u��&@�=����p���d��� ���!�Wi]�A��Xf�S������5��)����k�f�z�K�f�����;c��9�Tҧq��#=������>]�Mk]�r,�K[o\�����cq|�K�.��$��ON����_���&�K z�� F�,�x�-�!�q?���� 9?�1x/�܀uy]ɭ��%,/[���Jԩ��\��6+�w�:q�l��F�f���L&�9���zLezE���-C��+b�n�/�����n�B_�7Tn^ ���!m�i+��5�d�����S�AO��!��|�=�X-��&�� �U��Գ���a7 X��z��%R���Uy�vd1XG�ش���J`-�7+^uϒD�YHy����#a��9�o���|m2%�������$�{��+I%��`�Hz�(�BV��M�e���{����_Ä�'�Ä[Df���{9�%�w�� !��O<w>��_φ��:[�v؞k۔�{�7]�t6tɿ��jߚ��(�.�a�8'ڰ����3Œ��U���og'r��T1/�{-� س.w�����A l#0"hyݥ.�2��-�)�G���Wר]�s�f��5l��m�v��9[O��`Y�g�ʀs���8�;8E�H���$��弸d@6����v|�j�R������6�?���z��\^z�KZ�5K�86��9�pnoc�U�Օm�� "F(�����n��R���p*�g�Ԃu��e-�W��P3�H֤H��I���SW��&ܔ����s\Ǟw��\��H�v]i֨&:�'Z�s��aktp�n�a�Tiǘ0�`��fcg�v<��H�>`�ǡ�� ����T� i�����f߲�Y�y�05�\�@Y��iNqEh��&͍^WN� �J�M���+@8U����Kʂ�<��Z��,.뀝o����k1�ݵ��0�.������0LE��)Z-�G�p��'�F��SB�H? f8 Q��l���U!`=Z�AVuApp7����T���~ڵAF�n�=,<�c�`r��`h��z��Y�͍I�|���F��M�+��l��a-� �{bn�����L����p��d.�+E�fT����p��3�U�08J8=?���������Ge=��w/��ٿ�~���OQ��?�~��U=�7�s��eoD�Of����_�%M�v��Ǩ*Z<!w�˒p��j��l7��;mg�|&��kfg-�y;���/�f��sU����*� O����(:�d}������.�:�a,��Ԧ��^`��t�&p���T�),c Nֱ�ή$�������)V������:����]��� HmH:�|%�|��k`'-k�����{x4�,���vNZ��#ArBH4ٽ�y:��w���^D��������7s,p B�އf���#�U'�z�4�*��]�m<6���)���iv�A<����ByOnj�v㙒�%���d���Z�1h�z��ӫ�8��E���$�Iǡ3�[J��9�`�a)t�![����(�'�M5�g�GF1���K�km9eS��$��/({/q_��������|�c��S�����'V��\i8i�9`ڷ����w�тs�:c�'Zfo�{��25��,w6������pBs�6*��N� ��<�|.9p��R/���ܳV*Z�}���c��Z�'E�����_�N���8��[]jM`㑋�G��������{���v��W��/�� ���)�qkB�4�-�N��MY{����P|[ۉR�9�V�ʾ{�f�A�q��VIT������}-{Џ|�(i�9AN���nb%*���wDS��i<F�[jY�u889��z�L�Q햌��I���/��v�1��G�ԉ�$�����[�z!�]7P���Q0{ G{s.0 �`�7�Ľ��b}!���x�B��C�QT`j�pcvG�&c�u�)C����^r+(C\�P_�_����u̓��w��w8��W(oE~�3�%�[uj�0���|�p����%�H7����^�L��u}�d(c�N��F�����vS졣�ʣ,oX��1���X+�C��-9e��K!'���)V���E����p��qqaε�����Ng��h��"{-�oCc�ģ��+�0�qF��R2��������n$5H�C�Њ� H_G���u�V��X3H���06�8I].+~+�h���4�G��ؘ��I0� #�e��y�=�*<�*����uW&� 2���i�M'oh�F~Q�v��Nc����Q�8�̝� �C����"7��� �4Yj%�����z�,�a\Vd��dx���߬9��o4��]�4�f��H�N;:SG;Ҙ�ln��~@��m�a�Į�i�[b��bz�)��dl� ���G�����ʦA$��[+�RI�Z��� �0J�_��y��s�'An���!�v�МQ:d�e��ѐ�6/�'��y�z�� sU�^��Wˉam�1(�f�V��*)����zVBy�P�_�P��L�o�UA�b4���h ���XX+��D�D�D�sz��%��,X��O4���_�X�̈́|���a��c�?����$U;��d9W��xO|��g��R%��E'vm��":�%��1��հ'E9&aF!_�[R�Ъ��2{�$'�)��s��g�.���Te��C��Do��Z�=�6}�n ����[R���f!9�h��J�q�O���8�p����u ���z=�n���r�h�3<�D�w^]I��+�\�/Q��tؤ�lw�>�R�ֹr{CJs%7!��G'�g3�� `�rF�C��`Mz��gO����.Y�J�q�^����"gfA\���u:�?#L� q���lvzkcci��~-�d6P��ޱ��g���/Z��k1r�� �B�q;�k��G{����Ex�9���a���N�O�����Q�FY���A�䎵�|7|�'q����Z��6.*cj��Œ���;�2&�Ɗ)�g�62 5=7�1���K�Z=���� / G9�fod��#�1�+�W��^_]A@��h��J��m�����]�wP��ŝA9�[c�^m��\nX��͕�;�<������A�h��Q8���IKL�LхQ,r&��J �U�iɇx���DL,�͟+�&Č�t�7)���ڔ�q_3W�NƳ1�O)�(E�VV��Z��s�>F��C`b��7�A��K��UQ�ņ�>?"|���h�yL������:4@%� �qx h|��s���u��\�+Z�!�����#F��`8ADO8zk�Œ�֙F����.�l(��Ԩ�*�_}+��!�AE~{ d_����t��UO*�U���pH�#!/B��B����#� UU,-���%�B���{G�ɴ�=4+`3��B龴�wB��;Ap�'Jk)�7{���x4��Q�g�I��"�P �lD��=����2�4#Z !� �M,��#��@x�)h]�6���<b#�E)Q8���V*7Pjw�=v���Z0�Ѽ%6O�9�Kp��p|�\��XVd#ͼ���0��lC��o��B&�]a]�p�(N�Ъ�n0������;>� �7@�.�_V�GV�Aj�(Qr[�u�ܲ��4H�U(�TFx%FF^V�` kP@t�=�q� ��h9 h�J�L�Ԕ��'� %*Qe'������6;x��Y%���D��S���e�}p��>�VF�4'Y�J��Y7|RnW��b����<(q:�J���T��{� ��{5p�;7jV��1�>��I&1hS�c��T�IQ�X�����*��Æ�x�;� '���3�@��@�@��/a'6r�_ T6i���4�\�xR]:"3.E8"�6��U��Os ݆'oy����t������6�ERE�f�&�R_�pM�]��P�6��3��)��϶zȹ9�R��̣i\�u��aU���ԏ�� �RXp��"�[��4�v��\�9]&䟬.�N�a0J��)VX��K4'�X�l(�80���#���E'�����$���������@n{a�+M~/*��Z%�G8Yq���-gd�� U�E�>k��B�V�;��ѣ�.�\�6������j�O\J s�p����8O�Z�2ꢺX���'۪��H��(`�2GІ�'�����[�5r�P[��ګ��\+�E���Kq�M�=B;��]c����+�v��HJp)� ���^�| !6K����� �>^���0(���t�v��#�Q!_]� ���d�G�E�C���f�f���l��2���%̹�t���?@8q�7|^A�L"l�H4T��'�k [m����6P�E�3-�Q�7�W\��F�2��Ř�����:�<�.: �LT/K��~>������lE�\�e,�45����%J�����`h���1G�ǧ�y���Qp�X2ef��^bH���M|���� ��U����V�p��t��]��,B�_4e�e���K�sh4<�*M$����8��4S�7�vr�Ε�;��|s{c��/Ov��_�t�n�(x�n�L^\![�9&5�5 ˢ�ك�h� �R�����P�>ZcK��R�� H��g&�ɧm��6'��gj��U ]X�r�Ƒ.G�DG�0D� �w�������� ��u�TZ(R��tjHLN� �=I��%��I��S2QEe�����hp:�8:r��'�Nv�z(T2[�;���q?d�p�]X���T�����љ��p��6��G����0�x�� �ms��D,�*���6���({����>�a���ޭFʙ/�B;Gc���y�m3U�-��rK"�_��b��{|��Sʍ��\��* Iݬ�;�7�l���7�!�6�7X\���"h���}K|���8�EG7�/1�R�/=*۾�'#��"�*{�ns�JE�f����ٱ����h�c�5�r�30�%��OzG�b;qxZ��o���\/� 1��ʉZg����;z�;G�5F"?dTl�5�9��gqp�)~�r�����߿|��b�m�Vw�u�b�&)�ܞ��d/[1��)�$ B�@EB�>����q_��IC#�5.[�[�v��'���_�{����nxS�ݠ8��q=U�����= �7���E��|����q&%0�aG�t�L���"�w���;W�ƗW:�gG���J�o�Д����p�h���^�+�;����4�n �f�/�.���ґ>��q�xo��WK�Bű�y�W����L����ǯH�8�e�^8��������8�n�[j���YE�4ݬ�q})Q��@`&I���:]������y�q�� �Ɠ��e�2ߗ����܉�#�N�X�m�O���do�#&��k:;��S��uO����A���aT8�g>�,J�5�-�o�k���ŬBh�x_.:WW�柪z����T����:%n��d*�We���61�~� �fg����~O��E�Q�X��r�aCW�T�ws��t:��&ݛs���IW�a4/�H��U��eI!��3i&1�́v��Yg����]c�6-�đ� �GC�9$+b�f귫�4&I�'���l�v��T�~�ݟu�[����@ܡ-��S��.���� ����T��O'[tnod.~��9���M����V��.v��T�qX���PFi�.' ��GZ���B��� 3�r�kA),�Q��M��M\!B#�x� o�� 9�$6�Qн�y$�E���1QTL��؆rC1�<�E :�ߝ�1���\6A�Q�S�hV�ɝs���s2�}i��wy�p��/���c C Wr��K)7::��d�o��H�v�a�.�ğH����!2��0��0��_���%��e���.�lH�酽�@\їhk���LR4y7c�@�P|�������{�wMm�r� P�� c,ك&_�/ؖvZ /��)��4������WK�Eu�w�[D`���1aOmF .ac0���G�>�&��C�vp�R�~6v�S|���-�^V��Ԕ�ӵhh�oz|_�`������ ��F!e� �H ����=� C��3YkI]��&�� �a�$]���]e9���0������v�+�qZֿ�x��G'L��-*$���L���Ψ���R�h���[�!�r��ڃ7��r���E�Zn�0���L�+��f�K�1D��j�$�3� �w[7(3��AohYL�q0'�FM6Bd ��3����9oO�Y/W�#?�O/W��;L� ҋ���>�)Q ���� �� �S�rP����8�;eD��F� bD '�qJ��iLWz���(1�ds||c����c�;:^s�b�+��@g�@�4�T1e��f��K��ǣ�rj�d��"��ܔe�nb����FB��I|}W6a&���_ �����D?��v�諔��~ka�L�v6=�+H�#�+�ή^mr���X�]�]u�y�'�ED�����K� �Sr�h� ^�?:�5��W��&�0B��P��}�I֏�������]v!la��!e��ƥ����8��IRL>�&��3n����Oe���I)����,~I��u�Z5���l�����7<d���3q`Q�%w��9V�ȇq2�1���;��lp��뮣Nssut��x̰���{sv�s|����u&=N�u���Ã�ss�Ͻ���cgz�֫�Wkw�ݻw���M}�����!� G��_m���xJq�oo�;^p����;�[��/��Y[�^����Ǜ7?��ʫ���^��Ň� 8��k��s�`��b��� a����b����`���Ǎ�y����Z����nh�h�mj������v� ͤV���m�m6a��F�y=�N�as�;[�����j������/���B���B��k��ɒ1Zd�o�g;k��_��[���/{�$o���/�p�n��^��X��m��������5�#^m��^C�����7*ڔ*;;�E��k�ٿ�U�� ����L��_�-8-��X�y�7��6��}�q��+<���P�54)4~�zj�^�m���'�4b_@�����Ó����Z9�ٯX��R�œ���`� 6V/�RYpE���aj�]��*���~A���}� ��_mn�؏�U>�<U?�n�^�r� pE�P�}h�!��e�X�N3���V$V�7Z�M'�x������Q�!�x�!����^+�yK0����t�b8:8���~���;�?WV��O�T(��Z��̔����j� %n7%;�h ���B��ydi�z.��=��ٶ�����'S��i�)�<nHn�(��^��3F�H:#���I�n���|�F/9Hq�])_D�0��V�}�W+�'-�7�&�JI��C�_��e�p���2��P��v�j%\"�9y��AF����JT�LbP��� _�J����Y�K��&�rƨ꿿���%R���nxQ~~3W�ȤU(Ҝ�ޜ�T���N,�`X����Sl��W<�� '�%�9aCD0�BUW����!�?l�s�������*qt��5ò����*�Tf��̋��6��A�b2����kC���|�f&�mC|�&]��bɐw-��N���m�K��yL��4Ģ�eF,RW�9�F*���<ϱ�;�!L�"��wp���n�ݢ� %F��'�P{07�Y�YGL機 �V��F��cՁ�EFKr�xfp4�f(J��i0� ��2��I��^�*�Bn��1)���{�q��� �Y���\Gzġq"�p�p��v���s8���=�l/O�K\�S�@w��S�tH,#h�K�e��M��U���"YKuvku��0�h;y�iq�u���s�rl�7�0�u����92� X�/���G'Y-&o �̎FdG7 ySi����&$�[��O�WW{�|���H�@ȸ| �k�>T*��(�b�h���y��Ep�nj�K��B(H�Y��~?��H�~�JH�a�K�HI�J�f7q5z�2����pȶ�ញs�ҧj�{��N�%����'�G�L����j�]{N�]�Bb^�x����Op���ߦLI/⽴�����I����i�� O�<����Y��V6��f[�&c���6F��2!4:�X�������oR(y�,���6���ڪE�z�w�0��V'f�H4C��'�))��R�ڵ+e�k18�28Z��4;WzOm=̊긋�����Ս9�,�O7�Q@$��ڙx�E�3Tf�6�P��l�U�?�}])x�fƩ_��|��ާ�x�c?}��&��."��]�br���N�3n5���=���}�Sw�O=V���^�$����?|(v�C(��3{�����?A�q��3M�h6<����m,R��n�Q@zE��7;{��M�1r{���`��Vy�/�V��?W���Z\*�]��9 >!;�^��ST��p"��ȝ�j�5��B��#����M��t�p���p^T�h�^��&U[[��u Uy�J*�8������jؒ1?��@"RHje��v��Kz�i�z��Dgg��9�~~'O¢��T�����l�v&�& ���Խ��������Ͼ�������)�Y���⤜�!�����^�� ��]ʕ�'f�<������љ��b���j�Z�V�%��O{g��n�*ګƟs��g˙���7d-���Y��%P���{��0�z�����a�X�-����I��;�_��}�9�r2l�d�F��>m\xW�lEg�J[L48P3#�>�"R�F?ᵜ�a3 �b������# D��/~ ���MQo�L��c�2�(Y�zf����/�������$��s;��\�f�~��1V~:�*]��B�j|D'-֯�\"/��q5K�sC!Ƅ����������k[��BE� �v9�.e�[�B^3��e[+s &¨�'ӏ<�s=�-e��d43��<d;�ñ��&�tC�K���!�4 � ~.ꨤb�?M�rM�3�0�?��ub%@J�$En�k��Wp�r��w���<�9Ӿ��j�M�ba��WP����E�G�� r�۱�:G�X�1�-��`�yhM3[�C���"��ә�j��T��^�����Wt����f��9��1Gf��������հzU ��cY��[���",�����E_$aY������7���<��+�j�� ��u��u1�NGw�!A@��� 'c>��}N�����J�/�s�%�ÄY�9��դ�g.MloF��) v7c%H�oi��؛��.�S�j~� jĸ�Շ(�k��)�N��;9�_��j�ܹ霁��C�|�������m���&a��ɗ����`~��{l������l0H:�U��#-o"�F�F���=�Z������>z����nf� ���WZ�W1%��p�|u�e��؛߇a��e��-f��З�]�+���u��i�/0m�ye���T�v���an{LT3��B��؈}^��0�X��U?Ϫ�ȼP�,7 gk��U�m.�"��j�s�3�2�b��%N^`��UU�5^5��W��W����0���|�r�TX�����_��vOW�a��r�fy�E�u��E��P 8�|�Ć]�� �X �]^}f-G�KD#��:�ɞpR���-C�%�(�~@�-�-m��\����^�k9�OD��l���,�=����ۻ(o���)`<B �c?�C����5��VW��I ��6�'�O�R��!=ĤR��5PFȯ��b�@&xA �g��R�%*�k����2`4�|! ��u#TFH�ʷA9���n�d/5�餝��P@����Ԉ|���~xA���=�C�pd��xk̄o��Qb����fpA�� ��b����+&&8wӭ���x���B��pX�k^ R��R���ƶk(`9kQ>XE|˲�d*0n�c���ĕ��%Kw^��"ԉ�C����c � �1�.m�d+a|���"L����:��Ph(�")�3�-b�ݲ(�p��2�E�_� .o�FHhVfnHh��e*g���wp���Z�\=�@�Y�@�Ds:�6�rp��2IU8�Ƭ5�; =�?Y�e0_}�RHet�W�����v��G,톭���jf)UpR7�8�=j���Q��|�y}�켐'�2( �^}�*��a�P��B�m�h��]�K���� ?.D���T�tOR@��Q�\��X��3�\�>띤�J1��|Vs��xW��s�}s�Ye����Ѣ"��}�����\/vn3O���������EE�=�^ ~��8�ƀ�!u�P��*9��J���o�x� :a�D/w��7%(,�RÂ$�� �_9$^��'@�b��NP���''!�c+�@Ϊ �\�W�=Wm_�(SO��<u��������1y_�>�B��D�I��`���pBNM�i2FA��M������LQ�R�|�yg��K�F'����}a�oX��jբ�|��I�.�)�o�H6���H]%�!�p���sH@�ۄ��8x�:��:�XS�,��z���D�X��k3�ی)ۈՈ��haW�,Na� o�����^�(������Ф]� ��q:�a4ŵ���%9X0!�_ V�<��5�BR�9�<Yv<�Y���T 2�Cn�.��;`�:�p�v�w����.!�P5J�H\��H���a/{I7C���-��֏�a���M�߰υ��d��B��#�k�Ţ�u*�l�E>�S�2z-�$�n���E����<��}���iQ�}�U��{ًXl^���歪^W%�r��k�ec��Yd\5����n��Ҳ�'Ʀ��7}ƫA$��/�����*��?��q���ޏ�zҝ|n}�;"��c37�⤞3*Vz���:�q�*��4c�+�c�B�rmGO��X�����׳W|rw�иQ �[a?��� �Hi>?��n�6��D�q�l���]J����:^X� �ra�a^?�u �O��ivt|J3RQ�yJJ�+_V�T~6��*�s�4^�k/���|a����c2��q}o�J�`mϗ<_l�� 3�p�4J��r0M#�}���苴�u��e-#�D��{���9���&����8� UM�~4P U���N+��R!�x��o4N����y��� nf���]��RI_�눑V�ag�i�I}�>�K�X�O����nK��!�hdi��p�����|I��s�W%ͭ��V�Ҿ�0I`����Ǎ*3�����4�� x�x���ߒ[�MC�� �u�n��bOY�v�Мk�V�wAa��@�m�O���N����`�#rQէ�a�ux�`�R�DS�7%`U�f{7W\t7����z\��#<SC��BE�?�d_�#GC�<ӣ3¸H�i%�f6������x�%d�!ɲ<��k2`��,W�6���u&s������ �a.ˁ�����=b�6Gw��>:��c�T?^�0��&~4�4��\�;x�&�l5��n�6Z��xe�_��W0�!�G��i ֗JL���lX�a�U����e���1�lP�����:7���W�a�B���:O��clƤfU�rC&�2����c��%����)��)Θ��X%�,<����X��rY�`<��i$R!�#)���"�� ��W����7��w��o66J��K�H@#;�v��ޒ�kzW�[Q��FpT�u]݃�.V��q���xO¢j�+}�;'��ˮH'��C�'��1h;��Gu��q��I����rU���<�f��3;�H�X��ԇ�;h�F� ;B#ϩy?;�7^R}�w��_��̌�oZ��Z霑)$��}��"y�)`#s��^��ʚM������r6ꀬ��K��⟼�`���l���}��;�"�X��絗��:ưo%<uD�- ��X$�1�Db<�Oj6X.#B'_qM����L��3{G�=��ˆ�ݽ��|n�3t[_IC��7,Ĕ��ƪ�g>ڭ�)\����\!��9-@NBI��/��h�lJ79�6v/͖6���HlN�W�P�0��Ma!ad��c��ѡ%7j��I"�5D�C P8�* Ȓ��/�0�R2_�&Tt��'-�ȱ�<M�2f�n�V����e����\��� 3z��-(�ذa��m$�'q(��1��+�z����*��|�4�7�y?�T��ϐF�Ȣ (t�FH2$��*<v��%I��aN�,l���ҢZ~���]ig��w�f�2k������gNf�Q������i�c��#����X`5��6� &���p�+�OU�!x �^ɩ������ w:ި݃�K/�|��t�9��>�%�'�z;2�#������e�4��ˌ�e-s6+P\F�?C�_����6�W�tqs���ޡ1(mIƚ0��64v��ιWjUx�|��N^[_�YT+e;�q"�R��8�������A%'�\ik�����Nzn��Ӓ�!�!$iN;��X�2Hh�ȯaw6� �TG��(�K�W��4ye߮ɋ��B�bH��H�4�('��q�ܘuB�Q��w��wa����E��sLf�������O�Y���ڐS�b� $!68��t�j�^��W�j��}�����{͟d��tK�'��fJ��ֲ����K���[P�ؤ��fR�����&=8����v��L�Z��nX��K9�`XM���%grZ2�1<�cofj���s��� �c���+�IU�R���[v�N��S�FQ��Ǣ %� ?�������q��is��Z�b��6���Z��(�[,]A�Y0��Oe�R��܂C0��K���UWF�;F��q�5�:��j ��05�(����e��K��S<O����E�fm({u<!mN,F\��r��l���+��a��7��咐M����rI�o>���Pτ��t� ��yl�t�6��$>6�M����|�����69�# .�E��'��� ��*�}��"�q?��A���*�~j�CpV�(f�� 7�b�>�`���qt���I�ݎ�/����&���_���+�2G}N`�ƣ�� K�t�ca]�D�%���&��l:��[��k6��S�8qX��J�hB��W�[�~8��ߟR�a%��(H���5ñ;�SȋC�����~Z�8���#�ȩm/�Enq�1I��0|w��e���}2�ٿń��<I�u|�@�rQF!��@��ey;��űK��L0m]aN�W/����=�N�i$1��R}�@��̼%p��r��~�,>��Ë��r��C�w�&��ו�M�n]X[���K�QƗ��Y8�N�&�=���j@���G�F��(2�����<�T�e�?�r�BmZ�Qa���%��sX^ ��=�{��(�5��\@������l�%8c����Gr����&ة�����l�>�N}�Cp�$���F1�6C�H��Ч:J c/ ���.���T]�(��+B�'�m�Y�%�r����ƻ�-v�+�S ��J��L����5�c������t���uc�VO#�Q_��O��\%&/'�b1y{�$e�"QW���zծ�~��<�+$_E�T�->h??���oƻ��/�,ҐG��;B&�� �"N�����7ϝ��_���]]��T��x�������C�)�^��������u͙��~���B��A�!��J��EW?8�/q��M_����k�|�eP��$ �9 �u�q�*�#&�\Y��� �Ջb˧���+-�Қve�Hhes2St$2�6��i!p�O���pa{0��=�X�~���I&k��al�+9|0�r0� 0O��I�E�V*qֿ��-y�D��u��!�7��ޖ�;�ۺ:Q���!��vl퍱s��hÞ���U��)��+�N���]���T�1�տ������R�rp�5dQS����_���ǛJb,g���G��.���)��ߖ��$�c����s��M�-\�E�|��Ȇ<oF\�P@_ ���}'+��C1�ij���֣���2mm�<�l�<>�������tz����?y���?}��O�|l)����b��{d��>}= )b&��L摐�Rv}���]C*�;;�������c����L�;���.^z���v�S�Ύ{d�����;{"ʏ��E�;�n�b(��nw��������M���.[��n�m�u`����d�n�Ի���E��v��\����M�G�צH�#����|[{��gZ���϶�ͭ=WY�dJaۙvno�l>1~��>�2���w�Z��-TF |�l{�H���]����g��z]�ؖ���|nP?�b���x���]���g�릲O�n��n��tS�u���`���f�>��������Xn �<��:�]�+T���?*�zt��1�4mu�F.���>.������,Ny��o/��������!�ö���)�:�NJ�˿�9�qY��w���㌚�����U����c�շ�j� G��aT���;0KQ���J[��P���?P����Fи��W|;���xM�eU�������j 6b�*�g���Iqll�c: ��T��]�����-��(�ӟ�+��Kpc$i��dz1�*�1��+�Z�G��'���6] �j���A��H��r6��S���m��l<���W��1[Idz�L����3�xR���G�=L�'�ŗ���{1t0e�iޢ3���uN�Z�w���1�=��ա�,�_c�֢��*�A�x�;oaX���K�G��8�KӵgWW�ʹo��Ryi�����m9Ds�r�0\�lͱ�>�z�'X��u4�� fT��3XY�O�4�Ye�{T] ).�������f>���,߷i�iP*���t(^�QxM��5Q��k����tTV�M� �&ƫl�Ѯߒ\������;��#�9�f�?�?�Y�}xF�0����D������h0���Ef[�4_���{��]u7�;��e��J C�x�vO��9r�$5�I�h�?���'t ��q��_�<�9!η��o���C*�?��.�j!|ys���U>sУ�P�\Sm��]�01uBҢa���}Q![����x"�o��ע�k~Ε��z��#m�{�b:��%�7����äO�������ꜝ��?昖��!�M�7�A���%������� �QJ�4�rL2�R-\�\����7�6֣��t��k��F�1���!C{�������+fQ�("U4��" ����z P�^ށ2�07�I��8h��+��{~��o�v�C�� �2<ĥ*�s>�9�["�ao��}>�Θ&F��bN^� ��d8j�hq���n�X��{�W0yX ���O3�f�p+�H��b�k� 16&��},����.k�-q� ��9�W�g�쿁 �+���z먻@m@;�h�?Uw�����4@�P\�RK�-R� �� XJk9�%���_Ng9�T��~�� 3>@a!��������R���J��*�[��n��R�ŊJ��)�=\M!�Z�i�@_��T[�`����oe�0��kV�3�x�ܴ�(V��/�2e�S"�M�LIY�q��r�`���RO��vID�����TΔ6.��39�G2�%��a�q\���%�2 �&'9X�Gr�N��:o���\ҟ�`���"�Y��8�yۧG����ހ���'���X�*�x#،�ݺ�I}�I /�1��c|&-��V�P�R8̩0�$Pp�`*Ù�Rֻ��� Xܲ�S��I 6��T#�g�H@1��$Pf�2-�� �b<zO�KL'��i���IXX�P��l�R���p6I�%)�3�>7���$�J^V�ܤ��f�="ڭ�Ǭ�ױr�h�ץ&��ދ�f,���gx�90i �x�!�?��f���H1��\���3��H�*ƯI)��3K��n�VM����&В��� $k|r~���,�~J��6�^��D�@��7nb�ߓ'� ��O�=\�oN��{Nq��\�i�ص_�?PK�l�| nTPKDTLdist/summernote.js��z[Ǒ6�{�*�4~�AI�3 m9�i"KI�{>F�A$a���h��{��[���@�v&��|���Շ�������>�����_^g�|t~1V�o��7���x��Ϊ{�ݹ�bg���|{kk�<?�&�Ű7��"���of�ӳEu���O6��qR=�NN{Ur\Mghb0�,f��%�Y)C��o��au2�o���\����UQ����A5 ����g�>�/��l����n}p���'���n}�=YN��tRuO�ӣ��Vu���7����ś����t1�-�ս{�������`ѩ~��ʲϧ�KP�s���h2<�TrP������l����p����Qm'�Z^a;6]3z��c�ҏx��am��6���ﺋ��Vz��w�;�:V�!z� ��W������/'��)F~�� ��x��:�?L /�m&���r00����>�����9h1 q+�yS��y�jyq����dz��V5����x|������������됐�?k%��_�|o�-�NZ��.f�Ŕ<��d�{���/�H]D�I�'��! �~2P�;���I�9�&�ݶ�%��4+ ����|\���sڑ���|�?�7�?>~��&S�_��q�o4�geC, �HB��V��^3Ӧ�X�ר�٩>��pF��ޅ�x/"�J>�mN'���U�Vm���9��z����}h��"��4�q�ӣ��ʛ�`'�F���X�d:{D�fbJV�mV�c�� ��wz���tqF�R�.�^��+h�WG@�6�� �����m���D�hveC-�OP���_\@_(�0f��r6Q�)��,�5�=u>�AU�(���K��L�y<��m�A΅�dg���L؟�.ϩ��,g�?UE�v�����9Bv.T���wf���n�q�%��� �:�A��t�5Ө��R��$4\/^b�Y�Ռ\���Me����CЌ�{i${:���ǣוL��n�h[Q�}2�n�.����֗q�s1�b���|���ݼ��1g k�f��_6Zw����ٰ<��ެf����M�D�-`m�u��7��3������L��L��G0��:���`�^V!�2Gӟn��F��s�8�1)��-��6����1a�b�B&Ym��f��E�����w��rq�\=�j��c�^�o��h!��e��=HM:�4���QU ^� ��Tg�à�Ƨ�hѧIw��������Q� �n� ��PKS#�(�l \����)�:|���e����8y��h���Z���%� Y:�� �E�~�v~��,ڤ�o���?f��ŵ(r��l�J���o�=� �xz9i��;�{�ML@Kg�1��`��`���*ɴ���ǧ� ,�0���fI��~,$�9DN���?^R7um��2:7r�59���$nW]���?�\���!Ӣ����h����z@̓V���p�v+R��eO+�-klYٖ�h=k]TSZпw�����s+L��k=����6��N�g"Бr������D�:���/�#S�}v��.D�����y�_�͆'�n��M��q���8����_� Y�0~��nj6}iX��H��)��ۚk�ÒL�m�'k,�e�S�urU`�y��1�'�3a�/�@q�g"0�!��a�i�|�@�LM�vR���s��VՙcR'�(��?8^�Ѧ1�B+[�����p�h�z��l� �#=� �b]�����$�菇�6�O���x:۴b1X���K+,v�.9|6�Dӷo��>L|�Kks[�~.%��b���.i�憯�)H�&��Q��r�p<ª�(jF jNl���1�D\!�>�.��g��>+��W��³?珲��_�XZ��܋B���GKaC�w���u�A8��|�d�y�~�����F~6�M3ᴦ��3_���>E�c�F�P�0����-��"e2���nUiD�Wp�� �(},X�8+�Y�����Tz.��� �8��?ݻ�y�+5%嗝�����ȫ`*��U��s���� i�6p1�^A�3��u�8 ������E�C�Px�Dm�+:^����+�_Z��SR�0�NO�3X"g���Y�[`� �t� �h ��<���]X��>ꏧ���4v�z�lt|<�B�?�c�Y�#T�X�^O9FJ���37=�Cɘܻ�y�J�D�5v��q*�qΒ^p��{Ӻ�K>b�)}ZΘ%�!Y0�8"a Ef���_\�*�3�3�٢KKTZ���)GF�;V�#�8�b�ݻ�@ˉ<�������-F���Y*��Wbr���?�^:�糘��b��}JQlfK]1�72˯����M�S�LgiN��Jϊ�W���-[д�F���]�̗�(4�����"�ʗO�U�5����j�k�ٟQ�EEd8�/�y.0�d�}����3�#�[�c3Rw=����#g5�3�e�Z�\��$�M &©;�l*��B-�h����,�z�e��!�r�/�]U_���xxĭ�NK*�N��;&_b ��-�t�/Fz�TC'͐I߲u�[S��u-�6� [���~Z�pG=��� ��B��2�h�2;R�R-�]Ѧc/�B��*��\��c���F8oC0!�Y���?�}�<d����E��<-�HX/�U���L.�� B\�w9h5ԉ�m1�+svo��]SYҼ�Z�>4�|��09ŋ�����KӓOv;��֜��֊{#�\��������*��u��v���"�*��:���E�SK�Jn[��zb����k%UK����Ta`��m�sP���۸r�z�N�ہ�D4<(dq㢦��@֬F`qV�?�N��*U �f�]�}I�,8�q$�k��Z>�u� W��W�l���t�2�� kO[/�zր�̠�hvM3�Xo�{�uf��q�4}'��m�.����&��.��/�qYm}�q�U��&CWW����2�k�G�Y�3ՍTC��T�"V�4�N��`� u�DIs֣��(�B��ϲ���C��3��6Lf�3x������M'���f��<\ݠ!�����x;�e��R�ʖ�������^�ڏ�*R~���K@�^ �n?�FP�M�VeEч:Ua�J�3f�ow�j9���cAV��j���\����H�̗�[��>Ph�Y �m��u����}�4�UC�V�J��dz�rc�cZ�� ֨�!�p��9���`�Yl�(�)�H�������G��L o7:2,�S#\�Z�Z�Y�Go�L�����z�dŴ�i��:���M��N�$lCpL̆�X�����ɓ�ɴX��F�����fp[���Vh:O�Y_�����:�S5��a�J�Kx3Dd!4��R��Z"�`��H����9�1p�Y�9�[�w�1���h:��1�n�}�dK�m}�T���ϰ��7�L��{�s�+��٣�FtX��]�9�e�*�����w������{+n;5�u� "9� ��n S�i����G�z!Y���Eݓ�LX��8a��M��V[�i����{���ԉ�᳧-m����L������ ���"*������հ���[�pq6=��#����v��^Z�P ��5:~�;X����?0�9"��{�J���o6��b�Q��a�����쥿�0�����e) Z��1؎���6�6?�8c�a�^�:�+��ǘ�F�$���D�WG�c�q/�'��9Dj�0\7�'�~��#�-�TO��%T-��5:��N�[��w��TmV���+�=��+���{h�7Z}e�������5�NYϖ�GÙga2�X�=��;+�_��g� � y%��"��t��i1]�� (�}���[R�@}[��N`�W�ͅ�Ӌh(�+V�?[*<Er�!��*z�aS�c�<ok����1��R�����;�Q�� � x�� �%�D%����f��!�@��Rd)�S�D�����<Q9g8p1>�^��֍fQ #yp)�br�JD��hB����J�~��(@a��x��O��C�8D��P�싪1�������b;��v�0����a$�g���2K�$0��8[��C�,�p�a��I�ћ_@+ `^�2��E2�` �ܛ/����½�5��m>��a���k����*��$��V���#�?��8��G2��|4Y��u�P��Ƿ���fG�� ��pe�¤�� V�ӎ&�9Djtk��\��:����ګ��T?�p������L�5�χ@���H � ��F��sw�E�\�3L�h����<�;7��P���T-���ǰ?yW%��W6lo@�=x<�~%��P �}��b��Q���L�T�aiXpY"@�i�?,�!����B��LLՄ�f�2�g��ہ�Ce&��8�f��F����k��a)F��X���!������I$Gj���Xx�Q�(ٺ�ɽ�^L:����Sdf4���w�ޘR� ��ފj�^���әw���4\��{ ����ь����o�|p� ݦ��&��'���G�@Ms���4��XY��u��,�`�D �/�OJ�4)�qm)Z�e�_�����]��NF��B#�0��h!6��o��O�s�y�y��q�'��h�*i�<�И��.�M~M����Y턝�٬�a�����Lx�E� R�E�%�B�ˢ�LO��h�]��x5f�9�YrΩ��h%���g���D�Az�q�K�j�8�5�`�D@._�*�.yZ�$�fṱF�C��ϟc-�⣐#?��(ʳ4l�Q���A�!,�c]�9�y�q ��*n5�ǵ,�+Ԑ��D��*X�<)�lw4� 5qLk����) ��~k��$ ��* kкo�o'����V�W�5� QM$ XvL��cL P?��`J�d��28��m��'���b��߹�o�g0r����f4_�D+�ܚ��y���CXN�s]q�qzNk��醩=,F��1��l�L�zɩ��fh�Q=�8�Nd�vR�����S���Qڂ��xi����>��v:�*0v�ɤ��&�w���mt/�L1c���ܗ#��4,�q�5� {(Uٌ�� L�8A)��©{��q��� �"�x�=�AQx�%M�K|�a�!��DU���蒽/qTmXu�0 ��ގ�?��Ac��eT\���W`M�s� ���r/��?����A%`O�y8�,vl��Jup��JL�:/arϪ�XB�`��"�4y�CHRG� 3�5� �Q�����7������y�P�D�zQ_�jt2��yMzn�s�)La��0�Z�"О��'H�Bc�B�H��۠�E$Y�ϜC��u������E��0����$�|��P��u�۴�$[�C��������Nf���S����0M�a�S��o24{u�����TH�sem0�ڢ�߆b��,��U �u�i:���F�:��l�9U�����52ZJ��J�A:�:��� �n���Z��{��A%:?��@;W���iq�N�Œ8,���\JI 5;۬X2����k����r��H L��k (���� ���u��0�;n���Mvܜq��U��[�,�y�����^p�㿺R���e�+`YAq�+?4��b��~�nX��Mf�Z��o.L������cj=j:u��Ǿ�_�c��<7�S��o����O�[g�o�Z�*:6*OSU��#�N���-�7����a�7ج����jk�b]9Y �[�`6y����� (@[�><t~D�W궃�yY����sW])����(��c�V���Q6�\b)�D?��v�<�A�ߟ̫o�yP[\8�<�� /%��,��L����x)���PDo�KU��(��9��am���|:^.�������#�.~ �EҒN�y����*�Z�M�s���?���VLӮL�!�f��8�}:����qG�nI?:l��>�o��ѓM�G' IX Q{w�$�3�L ��Q��}R��e�4NOLpa�l��4�&�ףSl�T=#9����Jl�ߟf��,�����0(E�G���our����!r�y��F�Zu�z��a�%�����4p��c����~������⸺�FQ'�ж��[��f�����7����[�{��w�Xtt���'-��_�@��v���X�}3B�9��7n\B�N/{9U)~�, Wq�aN@(��G0�^�t��v����/5�{����k��ap�˒�@~r�����n�?��1����I�A�Zg� xђ���O������EQuj������`���j���"�w.��4/]@���ykrpVu��,�B���\i҇���z�_Y~�r�K�"��J���Mڄ�]�H6��P�M��`���#��B_?�,���_���y�Cʜ��ϱ�����䥑��V>�K�����~�Jd6Y��%X�܊��DY'�p0]��P��`"��.��OU��a���D�M�'����C`G~ �VK��yK9hd��r:{��/Kr<�)��GJ�,�\}@ 3�#�w�6�d�&����M>=:y�zG{�s)�©�Mg��ޕ{>��o�S�*��8 cy��z1&�S ;@�6��(s�Fs}8ymƹF�ZK@ū.�@<�VU��L|mC^���<U��_��'%66#��b�#�N�| ���XJ�Ϝ�=�ӑ���X������Dqs�´��M����9�v��s��Ֆ���Յ1�a��8qo3�V�y� �x�:I[]g����e�����S8YR�9�Y� ӈ�C���d��ݚ�� R9�1�t�"2Jȷ�)��n�>p(_Cl��O0E����{�����in�h# Ӗl+^H`�i������9u��㚍�FӠ{�t��j�?����ݓ�����:]�ON�`i����]e�� _I�R��������EW?�XOQ�߉�^I��W�fqK�.u$�ABv���&Gr!�����9�]�r���qٌ�s��u�@���D����W�]8����B�#�����4\R)�1��*�y��`>� �E2G��HN�C���M����������P҅���{������k�BX��RQ-���Y �]+�`m����O�e�w �y�A�6Y+�@�ќ��YՕ��ß���H�K���k1�-�������$���=��]�!!�X�{t~ʠ+���V}��C`�_�]~�K��xs�������as�<��m8ۚ����' �������%�i�-2�a�o��~�ۓo���=揯�v�y����88x���v_�⒃���D5%��wa�r�)Zժf�����jx�d����;�������뻟�n�p�3�o~��[1�(ħ����Ma�����ݟ��� :zxg��_���� %[t���[��S��W��\Wn����#*B-��go�J=}�B���ٰ1�i18 ͟��K����(Ȋ�v�? X�]Q���N �'�3�(<���yD.�2��]Z �� �7`Kƌdz��@���t����t���KX���f�Z��O��jW78��ӟ����5�N��1�6mC�x�F�Cĩ(eV4���<~��3-V�q����ˋ���mCY�5��em��~؊+��̡;�.�\�V����9o4/�(7�BE$�rԵh���c'���y��7������C^��}N�r� 6��#F�r��\���f�tɜ��l<�v��\�2��\�qù6X?�#H�c���r�]��Z��A��r�(�E�Gİ��n�z�����ʾǮ;�� ��pdk�3�<�F�-�2���c������ߛ��\4Y�F/nsegp�~I0�f��'��qt�m��I���q�hl�8ϑ�G3^U��y�N��lE��A���O4�W4������3~79�_��F�'�������a�X�hz�D���՟"8 J�*�Vpw�l��(�*����|l�)���h�K6�d�;�S�? Q���M���WpI(` �sȖdZe��%�&�>��5a%���r�&���Ql�����oy j�wʬ���nF���5�Sqi��t�ڏ�/�lշ@�n_c�����K }�SJ����|�_��|���@�P�J>]�5���9y�D�;�� ���'n���R�㋋/�L_l]|y�����ڷ��6N���c쫴��s!��&�>o��]HE������-=5�l��|!�9@NJ�P[���T&$l1�J�JX;��7��;Z���2�?#ހ�e1M�E�39HCqo�ؔ�u X�id�t�ے���EY��W�C�[ M^�~�dx�b�uK>�9���6��S��� &H!+Vv�s?C�Ӓ%�;4�� ���HU��������c8�I���Q_���vJ㒍;��{� �������GI�I����g���D����mp�T#شۍ+��Sg�:�+n��h�UČ�s�����CJ�ۜd���4�]�G��<��l�+�Y���ɂ�P�MxM��,�0��-3A 3�(7l� �z�v��Ckg�@� Ҡn���[�k@���E�&��\;!����2�|����!N�,.�/��՜�Ӯ��� �V����JWvv�z�bDy��������e}Ǟ�tL�ҝ�X��b�<��ji���F�����6@bW�ά�ݑ<�ql8qê�,� /�t��ҺdZ&ū%U�#�q�k4�H�7r�VV�K�5z�s��X.MRE��{���8p�[ӟ�\�t�@���Y��u�{�������:e�Ҭ���1�k��aj����4�8Ӵq��&`�K�G����1���������r��l��9�|����$�) Ւ�3-���B���� ��:3�`]U�pҕI�0Z�p���kO3 Ȣ;�F�ױ�}y"��nR�d�ON�x+)a����SOs��k=�����������;X19/H%�Y,?nd�gtnI��f���UD �e4j�/�"�!��IJh���Gd^ ���H4�giu+ftQ�T ("�u�$�;�YX��+�W)e8PM��:װ��E���d��-:�N�}��y�7��R�;a�w-&$+���o����f��� Ѩ��� 2�S?:(�U� ��\��G��rG<8>�KբNN�5��&�+�!�����H���������g襦�ӂr�P�FB�聐�t�;�Ouٽϻ���;�- 'q ]�k�]<�q���R�dU%�7=9aL+������}>��x��{��!��v� `ܴҿr �=Y� 줶���c��`Mw��;�JݕZ�Z�P'yv����^��X ��#��Ⴁ�~@�@�V����ɽh�"e9c���_�RG�JFq�F~��#m⃕�%��Na$d�@J��`0H��? s�f��#���?f�D�#��WjẄt� aإ�ƨ RM�0����hs��`�i�:H���k���H�{]Z�|�b�����Mmr���8�g�Ҋ�%;#5�5�� ,�-9W��M�DQ%3�\b+x��1ܭf>ĥ��r\�ǎѝ���iCE��� m4b/���mH�K۴{Q,�<_��U��xw���� wz��y!47�M�၇p��M��81��e%c��YX�7^�#�a�A$F$�/�4��`&6&� �CE���$���6��#��>p�u97���Z�zޗ��/!CA�7Qfc�F[-}k��o�B�Z�ʆx���@Q�qY�q�!�:Bs]$��9�+�]�ks0."�n)U8�aX��n��IY�;�|�u�[�t�6#��)ee,i�d�BVC�v��ƿ+Ƣ�Ե��KL(���=jAF~F=��_�Ÿ��}�f�N���V�zq\�hu7�8�%#gH�b,J5��}��ώv��V(�r��?���?qT�l�.��{��65�5�处�}mg7�ٻ�r'��N!��I���]���##!��!�~�Nr�<�j�u��ve0v�{#5+�S�t�$̗��=�IiŬ���\����+�Qd^`�#$#g�\/��C(��&��\�y��a����e���qI6�3#6f��jYe�B2����'�U#W-�����!A��\e��r%�M.%bv�)�1Q� �5 l�P&�T���4�d��Jp��tI�M+��r �Z���zRY�3C\�ru�<d0Q�ҋ�H0�§}��rq��u���z֒ /�j��=�F�,���M�+���KHv38]cͥWs�V[�����B]c��$\%��p��4�+j�gF�P�,�r��H)���{���1Y��� ��-��Zi'Q[٬��05�sr*riQ�\l�B<��ev�r >��Rm2�wS����;�;���7\��O���?i�EҒ�x�Ī�m{Ʉ�#�9�����$��*���GR����'����B��Ë�乔���XE0���+-�P��K���s��r#�Xb����<��V8S��n�N宼����-�'�G��� Y ����<Q.b3?�%E�"�?��V��I�R��3,H�<^[�\�BF�N���V�مJ��'o�@˷o�q*�h�\e>��8�`/��D�����v�E<;��Fަ�Yz�R�>���E۸�*(Ϧ�}��QV�0���V�N�W`W�(z��``�D*�ԍ����w�a��ti?Wt[Za5:� P��Ba�4� x�@dH��D�,8�[�x��<�Dt1�(�������3|E�,^����w%��>wn@�a� ����`}Q�j �OI�**�i�b�5a��� �)�� dZ*�}V�!� �+ì9��"V�=o�l�`.�L�n5��Z$��69�tb�F�{+�%��kf�c�U'ļ�������q�m)r. p�)c�gx*�F��T4q��4���?�u$e��0Vjh<;�q(s���_B��\�u���l��6�l',�j�fD��'��]�%��uũT�6����9�}��(V����(%QKQ(��e���ɱ�"ʅ��,Ӧ/x[�)� ,.{�٘�+u1��-��P��s���ڡW����&�S�Hƶ&k��p��[.vRV��z�/k!�><'���u��3%X\��� r�[z����U��X��q0ñ���|_yU��x�<I};T��E�\���d��%G�K�.����.3`�">��0�1�g��US�x���Js�� �+ UE���_�����*��d巉�b3���2n�)l&��Jq�?aY���%Q�M�N)��Q���`u�X�S*�M�Igf���Or����"�bv�bB�#�n䎣yp�XyLQ��O�S�8�e�=9>�kt� 7s����v�N�����P�i�}�"]�;�aX��+���(QY1���c=-/\��-�Ĝ[�`�vP,& Z���v��}j�O?t��V�.t=�Mz����7ї^$5�Ȗ�aW���ZR��{�hص�>U�l@�G/D�+!�h��T�V�e���. v�%���!C+�%3 d����+ȶv��>��`s��{��d�^�! $�N����(�,���_�۾^�jJ��˂,s�ڸUT���ľ�W�úĭ��6f{2!;f?+g�6�X�u2;��f�O���a ���)��8����k��UL��A.°�%�����ɬɢ-��'ٖ/a �/p��k\H�#�G=c%�u��`��1�<�H�u� Foo�)���3�\�Uf9%���AN&�� /�!��k�,������g\�M���[�P��+jŶ�X��Xʃ�S�SӴ�O��jDҸ��6XaJ���U7<�v��}1~���яY�M�w|ں�����xg��)���[}Y�&�w��T:!��Nob�r�n�]���o��=�k�x6�����<�+`FA}(}�˭ÿN�:{��[�px?��[�/'3���K|�I.(�i��̜ƹ�Œo�d�i5�������e)OlةX/�xޟ�Z^���9��=�he+^��f6<�t�?��/���F��G�?ݸ�q��/�:��F���!�ˍ�S%맦�G"�Ì'�vq�3��2��F�;����4J�)�@n�Ŕ�M������ [��݁��@��M�����?���QzN$�����}S�+��"���x�\y�,�� ez�����'�~���^N�>�c��v8���H�9�|'������O�.¿�����3\+�C��sG�Ð��(TH��X �2mg7>��)7��Ƀ�cyM��Ȓ 9�;��� ���b�=�&Þ��w���mƒM������IĂ�Ţ?8�[��.�z��@}n=�[<�ZN��#T˧�|�8��T�M'L�D��<��Ã�h��X���Gç�|+֚��s��0��yq� ��6����ø9�U�2����M\`��Xc}d7>�α���x}����!-l��1�R�g۔,e�{���q%� �.`+V��FçS�4��@}.�AtE�{��Ɖ�Sd`)zFa�����Ӡ&��5㙵�|} Q�;�"���O]����z5�k��n�Lxmr��#(���o�Y[Sn(څ��k����&��7!v ~��E>7d��햻�l���� <��B�3��/E;�����l�.@�6V�a������L�)�t��yv�&����tƌ舁cN]}��p�.0Sh~�2;�����3�s<����Wʟ�-绳t�9ٞP���mA6ޡ�D��uy$����&D��_O���5���_)?:1�HL�R�4�Df�/O8KM~�vpMj'��).<g�����J�q���ǍS�ww��r����%^��x�K췗��%����}�����e���\�"�e���~2C~�N~aO��=m�x£�3�����r��,k�E�Gu�[q��1,��e���E/Un�X���Ҏ�P�z���/p�sP��`j���%�.�(J0��%S�P���e��S=�SsR���H?�{�+��sc`1��Z�����Z�V&!ʀC<�� ����ا9}�}�s�z�T�[.�� �ɏ� Ε+Q�4-O��o���õ>�&�����ú��ӡX����_9�a��Bs�)oؑ��p�O�.oI�_���A��w�ܺ4���RH<v��L�|wN�gy�L�����kn��j�21LN˔�W��]�L�۰=/�hm�������V^�ğ+,u��G<��?�3��seY����\����~��|[W��\f ]kK/-�"��0��H�F�R^2h>�0�E��y���E�&x>�Ѵ�]L�RT�W�1��E���Ƚ?�r,7/���ݢ5:���*���s��T�GXo���'<g�\��gJ��D~�r1�ћ�/�w��`��[����|�L��.Q�N�J���"tQ�����R��-�S���2�9=C��]6_������e����W��>�}�o}��SN���9�ԩS�;�����A�":>ћF�D�m\����UY(�'�Z�=�1Kz1~����� u�� XK�>��v�<R^����VH��TJ�ڊ=C|O*ŏZ��Y�b���!�u��ە%��}0���rQ�n+yp�<?���7%��7T �\�©��c�\�[y�q�LJ�4F��V�%5�)a *�:"�,����Μݔ ���t�y��y���R��+��9,�`�'�8��k<�ch�Q ����ҫX�Șҧ����Z�+~WR�V�ߍ��3}��U���2��%v�ef ��A� �C�+~� ��.���>JNKmWh���ty�<�����p�~�p���[�C��o�|~�Î������Y�Schu�U�h)�d<��B~��{�(�\��r��Ӈ#X},x;dU�{�Wf�R+��:���_�\�l��=�x�W���t��Z%�r&O&�'oL���H�Q%c�*\+��R.�d�Y=�ZB���r���he��' ��Z�p<�%���,�ˈLS�oʞO�|^kQח�,8��N������{���%�r.� 7 %r1!P+=� �%1�����W{�q�\(�: KĬ 7g E�՝gx��_�ғ(�>�Q�)ڗO|�2��]A8�u��w7�ݭ�}��>��}��>��}��>��>���\�@���_N�3�/���-���\�V�B�x f�E�՛:�9��O � � �H����<�}����GCr+�/5�!p�<�SG!dt�8�B�V��F#�W-��J��Q��-�3�� '�WT�HK�g ��)��"mR�#�x4e�S��km���r�-G�w�I��^�E��� |�Z���u�R��GkY�Sٯ�Gk��orc����U�ǯC&p��>���0r�Tطú�<L?~XD��I��Ŝ3[�Z��9Y�y��hڟs���us �s�Y<d�rR���ȋiQHfE��Rj�qxTߑ����$�5j�qp�S��C�>�M��Y�f��w�Ͳy+�T���ãܐJXa��FSN��!�+��S���ϭ�N?V1A��éY#C�N����k�4F��ꀖ��$N�f.�ìH����X���Ptu�K�w{Y.Zd�������j6�*��k�U������M���L=�����=��D:N��V��ˋR\[\���c{a�4�=��&���+Virl��Wm6�մٲ��M0l�f<���r�x�n:ﰖN<ת�RM�aE8a�$jjJ��b�VKU8����ww��QGC�>�s=x(WW�����S��r�u���z�u��v�u3����_��rl���@���|L3n:�h:רϵ��Q<=�aF�$����R�Ҍve ���`p���� �zk-Q�"�Z�����s[������>z�d�i�www<�ۯ�4�;���}>:�����>�8����'��%�Ϗ��ovvӶ�?c+�#��J��G�z�H��'���?�k =}�'綫O�)��߁��RZ�<}�2?�w+�b�_��ޓ�x,������=#�� �3���Z���G����7�Y�a���7��3�7��3{-�ߔ�ϼ�&�=�7���O c|�;�?���w��⬏7 ���oE�4����:�w���߽���7�g~x+O��8p|��x���-?�����?���d���c$�����t��G��w���{��ˠ��w���189{d6dđ�����Pg4����w��b��(D��<�� ���3x�YY��~'��i�Z����E��W�X�d��M '�#<��R��dy0�ehȋl`�������1X� Ț3G�* ���L�zI攝,7eC��3D۳D&۳T:"�w�?�D[ȶ���p��O����$�ߐ�d�n��mO�mϢ�y/:�x)?��z���Ÿ�29��P����f∛Ff�XL��� ��b��u��,j�2��\$�d&�ƛ�I}uxs��G W�`:�,Ɠ�;<|��K��r�ꍔ�87I��T���楔� ����Q�Vsi�w�!�����Ǔ�h0�Χ'��v����h��[�����O>�ÿ���z��g����'�IX�������M r� s9f����Cv^��<�� ��T�X}�=y����7ڑ�D��������P��"�U���M��3d�I��U�P��vfwxd`v����z &�,S�Ydg�� �eq��j�،&K;�|�GI��Q����n\�7�3�jb�IC��ͻpsb���O�V<�S{䏠V�z)HR5;j�Q��Uy��mF`��N��))��al(ȣ�k1�!\���tq@�|����R��Bﲻ�O<d��^�q����TQ��Pw���R<k�;&pJ"5���f���Yfv��QE.J����%Bp�\��y(܃���e5��BO|x`��U#@����h��?�ᢔf;��* �K�<�Hr����"'���G�}}���ǿrS��Y 3���try�%���dх�~ȧY���|���[��m��l�9��R*���J� Y��Ak-��t����K��&���봉38���Q�YM��<�w�x����4������G#�KI�<pI�>i��۶i`/Ha����ˮ�L�jB�U�b�����8�N�V���\��y`7��+oFr����z�4P)��l�����eZj>��v�$ȓ�ߙ��U�I���m��$'k�I�'��IhT��S"Ԁ+rJ�EząJ�t��G�ȱ�sp�A�S�>`^:�[ڨ�M��'(��M�c͉���沦�.YצI��_�bp�g��-�.��נx�E��@��sr�YA�n ���7g��w��Q�'�m%�WR�k�Q�۵�elY1ɨݡ�4����.h�Ѥr�H��"�U��$3ݧp�]��+ٹ,�"��u}���+ae}[�J3w�2XNdX&�{I�0J��-F �I�FY�74���Q�Q���0�Nr�����2���![3T}�����'H/�<@ˁ�����(�I�=è���^�D�6�]��y,��TRѪpC�C|�U���r�:W�#�/:�>�$tox@�]���Sc��|��������˲<Vz�5�d �T����.� �zYt��,o��?��ɚ���%�q�g��Xl<0(��C�=*�H�E hBc\�7��mq�֟B��k�:R� aE��j6�hjx��5ڗ�U(+��f�zLf5�8>��YBX�(��M�i��M��& aE�̲&UucT���4lW<W�)Y]�)����b�xs1�Ū���A�b8y��w�<�f���I��Ȭ�×�\N�bR��%9��Xŋs��τi��i x�VU])E���� ��,�y"l���JìS=C|�O'<G>ɯg�N�N���1���X9��pYp/����\��S��6 |��"�]ݾk�2�?����+X�˥3�0gk7�N�1G�z+9���Ҍiٯ�רw�Ѥ�����uaJ����_����E <���ӧ@(0C�P���n_���nV�Ì�؎Ү �U_��>�Kx �滠��y/ݤ�2 7x����g����M�RO��N���t,��)���X�8k���VI�n�P�R��J�IM[�]��ZU����^�� ��F���=k �m��E��*���@~l!���r�H�O&�)��KK��@�1z�ey�B.���H�j*���<��7m�ǮY@fl�C�Z�^� �d��G��7[��L���\w�7�f�(\(�������9�2���ҍ��I:�J�PR�,�ȗ��PDw��CQ�G%�e��w$�;Cx��#w��ur������3V�����t��nK(��� � |����(W�6{5�s�Z瘐��N�e��/�R�+!���&�K�����ĸ��XC�YӀ��u�(|МlC�Ƭ ��-xK��͚:z�� �y$S��RCn���W��Z2�5�M'z�͖���h��eWI"��8�� ��-D/��24_@jk��L�[����p3C���/A$4�f��D�b�Kb��(�!��QC͂^� b�y�RJ2�;CEuOq�gF#�dpu�iWv���{�FT����9��`MA���n1vq��^+�%�ܝT2�e�1�*ʍȊ3�#5�-e6�� %R�n]�[J�ܲy�B���r��f%��69��X{��,Sd�+,�3��O|-����|m�4x��w������Ջ�*�tg�O!��HA^r��îQ���=�y.o��W_������4)c�b�:�2�#��e/`��d�ZWP�필��%��k�"�6����a�ɮ�J h�E��A�د��i���)�-ĚX�Db�1`Q'���2}l��3#x̧�H�.�x�(��E�U/g4���S�8#Ib,ß���e�R1uTX5�SL��I�j�VA#��U:�Sl�˗�2%�[N��0m�8�UTE���� ��m0�r@?�`vb%��2����Ś�Z8�Śi�����D�Wt��A�J� ��_�Н�tWb���ۧ��d�w\��6�Wjt*�wvpUz^VX|�]-��~��E\9�hY���1��/�����"=��z\٭�O����Jo���p��VM��D9���|��=��^?S(FE߅���4�Oe(]�-�!f%㚎][�~�Z5r� 1RM��`�w2�*�#!�?�3d�?�/9����88�JM����[�[G��e�P���?����Sؽ�x��5T����Lĵ��F��j�KĦr�ΪQ��Ay�'adjI�z��Vӣ塡� �ƭm�&�Œ�;���4ډc��Y[��n�6s���Ah����,�P$}�l�Iy�t�0.:��^�ys�UJ�2��j�A�������)C?s�/[r�E�8]�kzv���?��X�|��C`��{S��$"K�5������ƣ!�0cj�"[�Rq>��Tp��)Ƿ6��Y�5H�rjiq�]+5��&v�F�tg����*Fo`�P-��z?��x�}��7֠�`y� Z!S�*y!C �����>FF!�r� H �� �$�q�c��0F(+ļ��`���G�XN`{w���++����A�ـU�Z�0��MRh`/��z3�������Rs!nԖ ұb��P&F~e� K\�ɍ_����e�rt�S��ˉ Py8�`XJ� � ���#/H�ep�`��]�.�j>���n��M��`��D��(��f!A�%U-�$mt>Q3�Gx%Q��U�#S�ýV�r6@w�yq�iN���k������Mx�\Tf���J�«�#P�孉\ fr��\}�T���g^���t�3�7nxi�Xz�J���� +����@M:�i�ur� �L֫n�]�d�)��d-�(H�_T:<D��t�*e�2��4�$^��Π�*���'y��Hۤ�B���J��[�&�e\�}a�)(����iau�vc743~J�����%�!�X}��p�o�K�-&�<�d/����;c,�`�����~�:����lm��w��X)��>Nb�� >:�X�I�v�1#�\���ScW��<G��(����/��skrL� '�;[��<��Ó�O�)v��99�.3�R=�n���Ӽ]���lX}q����3^�W��-Z)4����hE~f��Y(R�%��`ڤ�]A�L0��^��F��4:Z�L��2fGSyT��購11�Wp�&���1m��d�5>X4�Q����bM;�!v��Π���Q��Ȱ� `��$1���;�HA���$̽i �e n����@8�x()ӗ�X��������W�����?i�c��e�C�� �\�Sͅ�q�̯���I���^őڅ�� h��bf��=y�� xe�����6��&��˵�tz(�X_*l�Pkz<��.��8��1&%L;�q�}��8v.�.�2y�~s� �})9R"9<�Z��ڡ9� 2 ��$�����-��q���|y�,K]?���M,�e{N������2���g��F�\]Fe�*�HdY�rsD�G�qvy"��m%daT����oF$�uN�s)7�l����!�T8�e�1�cv�9r����`�)H]�^���z%#���ڴ��$� ���1�f0\����/���;��A��a�g�|> �U���\t&�A�į�,#j�KE ?�Cd"�"uvɳ��y*�kh��*4DDҍ mݘ I���#�����Ʈ��)��euE�u�5J�R����Uy.$�s�x� �k���)\������i����ف�7cD�8t�����~�,�t�N�2�16�Z�*�;`) 'D���h0�4 d�n�`���$Uz^�a�ظP�fY�p�es�[�2�9�v�i\P��p���lI���¡� �M+E�[E�W I�&Ͻ����e��'��z�X�d�?��&zD���"=��U� �a�����9�?�Ҧ�E>�3��Q��(X����l��@I&�5�e�Հ��鈮�M�:������8 �&0?�-�O,�Jl�x�Ƈ���83�i覢^=\�Qa�Xjr�ZW�aD%�̿�~�����)�1di�z�ԹWT _m,5W�`m)�U��ţz���=mn\��5t�<{7Y��\w��pr�^3��Ta�_0�ɵl��hc`�8��/6g��er:P���^S�������"��f[ �q�[��2l-�����6�������trLsg=�N��Q ���=�g�)S*� "��!˟-�[[�����Oz�����^�| �m�ywWӆ�7���\,��2���;���8r��X�,�qQIJ^��܍$�*�Ǎ�\Ux�ryN[�����W2S�I1�+V_�N>�c ~�X��碠�����rv���s�Y���T����~֙3~���%"��O#�S�Z�����y����N�n�-ݭ�$;���_ 2�'���>&4��8$�ldb�'�)��K-��O��.�խ��S�-�5��z%�ΙȬ�?�(]+ N���эв��7�2Z�L�zEf���`��4m]�D�L��@C7���д�GL��� ��#���NC��>�eg��MI�����1�p��K���6� ����+��?���66�Y�u�}Q��eF(J��i��$8� ����N:8 �%4����ѢY�]#�Ӭ�g���"@;�n���5I�z2�$'BIHhT�]��v:�i�?�,'�"��ܴ����`\�����bG6�WΗ��5DQ��O�9V�R���0�Z*�Y��g6X���OZ�J�%�R.íE�:X��/IS��U�f�<+�f�a�z��c<�-I����c�8�T `�C2�$(6%K��"Q�;�;wG��ak�ܷ��X��Q�E?{��0kA�^��g ��a���6�6p�E0�������r������E 3\[D�e<ZT�;5"x�NB��O}7�f�h�+��U�$�Ne����[1&P���_��� �w�@0�mM��=2D���R��(����I)ɵx:���k�� ��n=����9R{��}*~4t3��.M��x|9�3�^�9�زk(L���� (r��]�O�C�l�9?~n��^�H0BI�Mm���6�%�j�6;Kw߳��ARo�����ۢ\S��H�6Y|-3W�C��E�q�}_|��8��C�ϔ�?i�s��vWտMo��n��n�����vGa�|����g��Y?�X�7������� 2>V�`Q��֣��.�Z_�g����r$��PD�Y���^�l�!�&�1l�W���Tt)���f���{7�5�;��Xwp^{�8�9�^��븦�� ���� -��� oe���xǹ_�σ�|�sgNg�J4��CX�����U��@s.����]� ���+C��.dl4G����鿘�ř�6N�`h���ŰZ��5�g�8�b�N���K��`L_q�C��3�,̩� ^�ŋ� �njW���:ޔ�Y�S+���fi��#����a��U�b����x�V�@ ��f�cZ���#��]ԫ�N���qh����TF�kE���goD�S�=l6��y<��ԌŻ���r�؊9W��� ֳŇ���z���<4�}m >�o�d������p�Yo�)�EON����C�6���B{i-��^���`� x}}��h�:�ϻ%��C�x&g�<x#@ތ?�b�./E�b1�v��qig%yF�1ls<��M~�2�N�C���h�':� 0����S:�7�@�D2�C�\ e<9I!)�R0�\n��Op�Gc�SD�\��(�-��40�[ <���0��7���*&:���=�U"۟�y~9-y�5s�L�z��v)]"�F��v�|ZڮZe1��X���N�J�M�&M�}�7�D��#q�r�tY��n�!�I�X��-�A;٨Ƣ\!���g9���Nh.>|(K"a_�z�ہ�f]yeZm�9��ِO˨~T�ɇޙvf2 ���s���DV�Ʊ254��Gxn�cv�TDx^��ȇ{x��&�P�#\Pz�w��x�[Q���*�+����p4�4�똈p:���7��V��g�)0����ܐ1��a����e�V�І�~YT�������I�e�5.��KsӐ&9�c�S��C�W⮨]Ȅ�{E�\)�v�=��- Î�m���.xLp��sP�z���a��H��LgW9�q�! ��n�^e�i&�Gm/���"�W���H6Y�)w8��������佄�kd� �5�j����LZM�3 �E�>�|��|Ci���p5I�U�����������"kI�� \I���m���*����f�̓�o�aM��`�q����({<��֯s�U����|oU�^��2���|������3 �E�u$��M�����C@�����e������u�V�ZB��K�$ڼ��b�����x�6$�Cs,��;��^#���jf�I��߈Q-�+��7��F��^�����m���_��ٛ���d���)���q�����8!g��l�Ǖ~'�7�=�uј�V=�@����`7��q̨<=�ʅ��ޛMQ�k�JMg~��Rq���h<Z��9�p���N�ހc���l�FE���輪�j'�U��F&���A��lz��� X�Ï���%�/�$z�yYt6�����"�f�>�� �4�;�:�ʁ� �q]��ͷ!j�Y����;h�i8���o e�V\����Q \b�+��W�Q~���ဘ��b�-��|3�l�Y�V�~ګM���������;Qi��a��8�}��-p�a����@�(9�~�@0�:韏�o����9.��w�7y�W��]��"}��Q_�&�M�w��2Ӑ�H�'���Ą��V�< "7�F�I� ?A�C g�|��o�Kܪ�İ#`*�6nj.^���%m��S�m�h�B�����L 3�@�h n�]�bIDEG �L��"�=:�¨{!k��5.�h� ���()�m��"b�<�.[M���0�b:&��|;�+�:%�Mj�l�G.�JF�d��:h� zM!%U1A��Շ�ٮ~����~���r�����Lk����=�;[���2��$����7~��d������r�N����?a��h�$�=�0z���PH4��:��d��3[�/k�<�d�G��W� �n�h��F�� ��z+��� �8�Q������ȩ[�t�ȣ:�eGX(��c�aT�ţܺ�ᆐ��o��2��p�,�w] 0 ����?S;jF�� L��P_�~�'#�1jV�2�e�~8��'X5=�@�#���8�\ۈ��$Q�>O&�&&I&Td��lo~��tePܗx�J�s�7EUk=�/�0t��~�c��$�U�R�W7��=::Kٚ��<!o��d�y�HF�e�◁B��xF$\:��'�x��OE�ƻ�a�(�0j�Y�g?��ZCN����f@�I-V$�e�Wћ,��;VP���(E]�/7����$5���Bi�I����f1�r�eE�b�<�-�qt3Z�930ʟ��I�Q�k�3��y��n�`�U��W'�`e���n�8^q{�G�,�!��Eh����4E�w�٥10 ����$\� �ڭ箴��!mS�:�nd���/�L������Mx|!�G��W(���:��j2ׅ�vu�O�}����oVu���ho��_�<y�b�ц�G�lw�UK�,�?I3�E&tg:%���Q��O��[�cݎ!M���<�S�)_"�@�W��B�~_4������z.' ��k�1_�}����6r9i#^� ����J.i��봄]�W���Y��]գ���V$]�=[?��)yv�+�7�Q�;!�i�}Y�x�B�L��$�"�z��� �����]���Hr���ۆ�/nPW�X�6���p��T����Y������u>�cYQc�����eO�m��p6e��K�ĕ6�G��;Ւ8�"���P�h��;�J�ϸ�ۄ��ӱE��D���s?ӄ�r= <e>��MTS�\�=��JX^�_�����>���F�P-g�y#�{�`���N�1qKTx�彼Wt!�������;�b��iy��c�t�H�d]3Z,/@ʻ�cB ���A9�����V8z�A0��`�FjMs���}2B�Ⱦ��y���'[��ve�$ol-Jżj�h������s�.��'G��.`dX�C���v�?�ȧ�E׃��0K�wmܒ��eؽ�v��s�X�J�Pm|O"�$��\�p�c`D ���q9ڼ�.�N"p2�,�J�v��LԙV�� ep� &��0�5M��F4�\W,�����v;��<"�xSZ�dp��UXq�(4�_Z4S�%�Q)��;q$k�Ʊ���)�-i!Hγ ٬�U�Z�1LN]5�YJtS��@��e5�q1�Z��ྊ�ф'� 850��Y��L��jr�W��ӓ� ����YI>��_�P4����K�r���Ή͕�-� +~˝Nz#����%�N�������lG�D��ݗ��������v1�h������',.�s�?a2[��F���z�/�/�=��m��҉�(`zd���ܜ}��v�Y�L��Sy!�'L�z"�����9� �Pe.��&E,�\7�li�c�a�tF��{���gZ��vq��.�6Y�q�k�?Wq�� �}�bVn@/-Ȼ(ۧY�hh�����vֱ�1�ę�`��1fS��K�R�2ssT�G''OIrc�h41���jD�&�s�1L�pC�nZ���ȶ�W��/�T�o���?@U�b��!u�ajx�m� �<�S/�>����J<Y�>�y`��28Lv��eE�}"�h��hV3ޘ����u�O���M�Q�;Ěg�,��vM��@4��� L�xJΎ��P&��~����<P��y/���B�Rt�Z�njce��T�M��}�"WV�m%@�L���zVO,q�}HH���r����[�R� �u��Ñ'6�*f����$�Bk�A�ZۆbZ]FL�K��6>̅(9� ���'�&n��(0@Jw|��b9��V��t�ev�rcc�i䜝���w� P�9 R� �m�@NJ�����ҡD�P 2+�-rg�xA�T%�b}H�8)�YWԋ@�5b44���`�%v*g#�ZgCNJ����u�P$;E�@�< qOJ;��k��b-p=��!eI �S�K�n�S�����-�ZdxU�y�Yӛ k�[|�!�_�n�+��mj��X�m���-r������e�w3����h���(�Q����"��xb���b�L�q���6i�#2M����Dz�7P�ާ�5�^����u��+{WvK��Y�3�����}��g�)�#�LT3���V�ps�4��(( B��}���u�F��:��9�4�-�R�Bg�m�����/L&nof��x�B_ef%�%���� DE�M )�4�h���g3��w������S���dl3�z;��<�:�S�_֚O�9�F7=������q9��rR*��x��d΅֫�ER$�Hi�5C���=�c�/ӆ%��c�=���ҙTgU%V���o�+�e���m�na�Z_�[��kH�Ƭ1"ߘ(��d���3s�M�}�t��>E��6�Ɏ[r�@S0���~�*i��d��V):�#�ۄ�2�c�ғ����9����ɹ*%�Ήn� ��Ha4���Sπ������%ߐ_� P�l��.5v��G�L�=���#�Ql����.�&dp��J7v�gԍޏ�'[��g��w��xg/�Z$�jV?t�\% �� &60t�c�R��ϼG`zw\"�f6�O��7�%߮.����݂o*�q��Tat�.yuD��i-�c��A���/"�*8�j�y�ػ����߬BC�qAej��d�t����}(;<^�ѩ����5��s$�9� m+�z@����lҬ��]:�� l ���&(E���>�lZ��zs��b:eh�[p�2�Q���e�/�l�3��)�?(���`T�f�y:�k]�I[���x:x���4��B9[���:����� ~�ә��١��z��[�$�FM"N2\�D26�$�s�6�h�RrR �ɓmr�_r�p�~��t�J����o�c7� r�uQB�hR��nL����(Pr�+9DY�!D��� `�k�&���n�4�r�J���hi$�U|��ZA��d� *k�CM��u;Ns�NB���2���|�����jާ�M� �RZL�<VP�K����L],��ҘĘ��\1��2�4y����ē�*i���j%ϖ_ �$��i(�H�эz��r�����'�� ���s�Q#$~��M� �qX��_�AE_��KE�;k�̓{B�-�a�A ~�t%�8:�S=<X�j��D ��n$N�M� /s��]Z�j����p��Kl���$�W����d`!�}l1-p.�\u��0�9�p�i`�;��R=�d�f8�� .�h�<�,�ߡ-��T�w�m��Z�3�:���%��tܫ^�knW�zONl��=���&�'�"J�zx�!��&����,��8|�p}��n'(��X�y�;�����l�gb�R�ܲ��*u�� �\`�V�.�������\aj~��Ա�W�+S�\G�(���-h��2�ʮaN=��@�}�VP���{7f�tW�������#N��)H�q#��^���+�Ne_��cK�=�tz9�=@�֗����8�0ޱ ����6T,ش�kÞܳ��<��!��)1`gt�F��]����r�5 T�� � �̃A�pz�����5d�bft=2 ���[f�fh��L+�f؎)�!U�oE+���Ve?P"N)֧�Xe�^1��jT.�T ���d�Cs� ��J�B�R}5S!E,iq����by.������"����� ��C�� ,�����"����6��X�����X͙�nn�b����VGCT#DAƢ�4�%�и�U��?�,���g"������e�ȽԷ�7C�]�:���7��'P+ H�%F(�~�� ����q��p�R&�'3��K���%�UQx�ϲ+��y����j{8d`x^"��#A3ȞA2�˨^!kΞ�y��я�d$m~1�NF���\w[5�������F� S�&��_6Z��R�"��bŨU�X�S,,��t�1�:�4����!3?o��M0GK�=2/�k|��5�H%��w"8�,ە�Y��؝��a�\!�(��Θ���p��p��oq�������V�L�>`6ni��4x@'������`5���c�ՙDj���h�:65�ǫ�����M�E^x17�IȪXr@2���Q �뀦��C'u :��r��B%F =3�Q�pm�b��пX.S�2��J.���*�(�����V��8�)�`�V�U�`�#�Ep�q��a��b�U�-+q�?�zX(��NБC8�lD8����=Ԕ|��-�`C;��}N�bL D��i4s�G�q<*�.E4���h~#ikIMB��� Ey�$��Ȅ��zC��}�R$�(�����a�� �M���Ӟ�o# <y��h���� F� �_Һqؙ�c�T��LX����r�K��/�� �@��W��Ez_�. \ۃX�pq%��l��W�ax��+]�;�N�7u������Б�}q$?F�R�Y��#\��ɥ�H ?ih�Y&1�o�P����D}����kFv�q�sp�Q�Z9�.jk�݊�wb��kݸl���X��j�W�5�NnL��Z�"�c�up�Ve��6���ijЇ����j��?�ը �_���yjw6�>��0��y����=�a%]�sR��ߩ�\C�,L���U�y�qr��ef��V�1G5�)h��8�LLM)o�E���1 ��c*ؔ�_���g��9�`1��jDȇ�V�������k{�z�����1��'(!� ��Ln�T�jVwu�W��>wԒ�ùά�݇«��ޕܪ�-�1�7���.J<%M��P?4I*�f�eX��?�j-��r�M�*k(�a��r��#��p�ꊍ�Z��s�KW,q�M�Ҭ�j���@�<au�B�(���hW�g��9�� �%3�A>}�t��A�8����?ʡt1yK�`���GĪ)�'�2���<Z���}p��@�p@yH<E���q[ۙ��e{OnXWLx�fH.�_�9�z�Sv�٥o`e���[7�z��2�>w[����D������\��$���ݓSܑ^%t�ͼ�)��$��b�� ��Q�_C�L��p���r���¼��'f]�f�h���_���}�����m�Q�}�����X����|�ɖ�̶C��T�F� o��J�]�s��/�S���=��P�ʜ���]�� ��Yg�:��M�#Z��/����Ŗ<�ƥN~s"�}/R�)���r�x������?e�m�� �䆨J��'1 S�b�ՠ�@4��N��e�4�n�J�D,t�TVf!�������I�*�ef �/�&>�*��F�?��ڶt�C5;Y6p�J� �R�!�ˠsM )�Ƕy�M^m��ۭvo�҃l��:X�}G7��U����rY�-��W��%^j�_���kcW2_�O{� B҅d_Y!�7ق�c�����9o.�I�uc{T:Q!���h|�,�ʘr:��DQ�>�Zo�hcp!������'c(4��q��DzOc���o��R���+�#�퀗��f;���ß�x�u����k�#�k��P`��l6�p f��|�/����O�"�P؞�$"�Y��D:���;Ă����hJ<�,rAN)"M�fR��(ܶ�S��k�^ ��l}=~�p�v�lt�w��F0O�V�`CX�x�X��'����]��C��|:���{�Ŷ�#]���h�%��s�3�dE�%Ҏek$9��h@$���D����<�y���y��$����{� �l'��X�ꮮ��������p��E�֦ O� �:����j�#����%>Z�����h��ճm���5��]m�|�,�ݑ�[l�!��2@�����B�oaYe��s�@>�TA8�� BN��0��Х, N��ӛON�v's�B[�;D����6�h��P�I����Qry:A���$�R��dB�M��sĎ�4�7�PG�[� L/zlQ�h~B�`K�������~q{k>ͮ�dW��P�,��~Qn�H�9�@���J��w���ů+ �p��x�r�f�@� PR�a����F�,���E�(lR�i�o��N�K}��] �A`�����I�b�2��c�r�@c��+�sɘ+E�u/�,�O���fҜP�& e�@PX a�}���!��.��{ҳ�I�b���kM9T��UǗ*+�TY�u� ��r'��� /,R4�k �V�S�����?��O���kCo�|����c��ݫ��9�H���7툐%"5�(�ǐ~����Go��/��s=�뉀�t���=��q�v�i{7���=A� ���"X�Xn/~J�0l�nڱOC?�Rr�</�� ��oϛɾPU�ಉ�C�Ȗ4�Al!N�(���j�&�bwU��P���r�D�&M�s��ɤ�WD��.�k/�Tf�f��Ӱ-1���)o)���t�a��n��1�r�Ɍ��� 9`f.V�T�� ��|"� �*u�QX�]�u�|�[S�>���8��Q��(1�phP9�GxFI�g���;\�⾼ĤXPW�,�^R�.d��t �H�(��a��*����{��}�IM�)�f���Lf MrI�V�`���h���q3��Q���XDjS�<��rV���C��4��K�鑇�fH�����"�|���f�SV>�R�z����(s�8xy��3He��5�C=)0=�{ء/ۛ�X��S�!vs|���O���I[� �E{6a�]��z���@9��蓼8ym^�X+M]�v��ٞ�˽D2��( /-��>W�.uc�Ϩ9!�Pn{��#]bqJ�!b��~Ug⤜�Y%�L��M؉�Am"��O$H�Z���n��[���\�ë6tbu�G9��0���\ް�\����qyJ�>_�� {d>Yf��fÆ������6<Bs�5ESQÜ��j������V])�ԅ���x�����ǰ�Dw�a6����0rV�$tp{��5�qݜ�!a�HNE@�.s��e��� �(���^@&�31�x���`M��lJX 2���P���d��U���T�G����Yt���s��bU-t�Ht�cp���/["�(�|�ȏ��ժ�WK���o�� O��a�4���QP�h)kV���y#�C�1��d o����bVas3�9�5�X�1����?@q�ҕ�Xv˩�� 0sZ S��K|��x<�2C)D��/CU��s�ob\F=��.%x@*˞�qh��|��)9��ǒ�ѭN����hl8� ��eE�|Ύٔf�茗��O�`al���*0n;Y�%(�ªr�Ju�/~s���<���� ��Qqޚ ە�TĊ���z:aw�78C�D�U`�#�D��};�@�p�:��W�@�f��.j�X�7���~���Ǜ�����15Z��|Z�\��+�L�|�)�Bt5�����6)!`R�<����� ~�gٴW=V�Ԍ�� ����ˈ��Z���ֲ� q"B����2k>з�� ���e����V��c76F ����Vir ����,oV� ,38*i{�<p8+�B�:��;��i�y��9��Hx&����N�-�h���C+ss�������f��$N%h��u@J̅� ѧ�iҫ/���\p����_�'}��}�Z$M�ˁ}i��i|��ݑ�V� X��}[��dG�6��mtAV�.<�v���r�U�0M]@�!�ꆚ�����P��~��*M!�I~iZW��eAjT�TNh���P�>C�庴b;A��#jT�e�D��K���6�hqw@�i"�Ѳ��]"�����`KY��I9�1]�`���uL��0�X��$��������@��;9<�asF�ct�CD�O�a�u����kX H��g�% ��c%2�j�1���A�_�ꍁ����G�#�BR��;������.��ϧ��J�mQ+��Ԏ=)�!�w(na���/���B��A~Nl��Ur�����k�����,9���D��1T�YBn�0 ᢍ��fĖ���xo��^�)�Ny�p1�u��ǧ������*ħ+TƵڕ�|�Be���0�P�k��� ��3�,��nbQX��_� �+�2�oqLz�w�s�� pVh%�L�[���+�k���� `� ф�ޭH�x2� zrp���!յR+?H�M�����x���.���\�HN_��'8�s8���7�z��xB���D��N% a�o�T�t���V���� �y8�������#�Ƀ�S�ƴ7������n���e*�L��ۻ��>c8eE{�a��#\��-�V*�����0��w{��ԜL���� II(�����!]�")��o�خ���_�#8/�n��O���������t��l� �[$dD���f��@(ƿ���3�:���=ba��ZTZJ��!�� ��̈ �)���D�Eڦ ��Y�rp�u`��)�Ø��7�� ]���Ne3Ĵ��91P�.lNF��!TW^u��4ß�=b��E]>F�� �D����߶Q:R�Q�q㷋��}L�P�s�Ɠ���k�(��lB�o�Zr$dI~�r�s�m��� �*��&��C)f�Ŭ- ����f[��X���� �Qq�n�?j ��xd���1ɠ����5Ok�h���4��ϙrL|��l��7�E��O�}�?�OY���&&T'\,��gl��ozT�yo� Rd�K����s��#'�K�G����j�|h����Z�pjڎ:�deU·(f�����(��7����u؊p�䯃PeH��� �G����� ��O(���~4��7l�d���T1w$�����~;@��d�]�^���Z:�|ء�pN���N]��C%xa���f��Y�EZ��L�%�xNOgeh��zO�{�ڪCA��Ç��ǡ�u)������kty�Q�w��"�%#E!!��|q��d � x;��,1x����+�Y�Y8��x]�f)�MH}6�4"|=��(N�9?M�Z��\e��Q!��.P�b'�� �[�u=��l�ܙb������y1KKZ��GS�:5�Os��]�Z6�s��m2OA�m�BOЕ 6tU�J�ay{�S(�E��!WĎ��!#kW�0 �b��ڰ�P����/��j��>��k����q+W� I��/�J[�M:�ss[֙��G;y@Ƥ�/�����J�ަv�� ���WH�q(�/\<�yB*��w�N�}J�ϦE��P�%d����%G���o��1ٌ�P��f��bY�px�aeX4+�=���5�8��3�|�:�nx�!�P^�)�w���=�E�g�1�F��3'��8$�@C�&4��Ч4>����B�>ʞ�_Ldl�E����G>�d�Ԋ�F���O�zV��y�-TR \4�ٸ;�`��츈7���W�������#��槷PW��H�����⓰���l�m����k���O_��~��jk��lo���,»!��t�}.��R��Vd��O�>+��d�h�rK�Q���s��5S�Ss&�N�s�{���si�?�gE����P�g�q�& 4�%禙��P%>�[z�A�{��SqD�;&aSV����tK�r�h(?��������D�� ��e휹�h8�;�Y�ָ��0z�!<�M��[A̅�m��D�WkBV뎎�ג���X���c|�2R��7��e��� �����T��J�� X[}���yn�zi�Dhz�](��-�][Q�2+�6�EH����0P�C{\_�g�#��_�؟@^'�_��v?���+@@Ĺ�C���-���B�a+B���j���[ K�X��5�P���!�Jx�O�vÎK�����o�_�y��B#F��Y1 g�,�z�X�RB�W�O� ݱ��خ�]�K�������q�QY��X%�����{a����N�[X�$�! ���RA��)6n�Oy\R�� 1��ö�/q*D���T7!�De)u��������0 �G� ��X�F��p�:W~��7W�"� ����"M-����H #�hd7���V �gY�*V�{��3�t28ۈ~/���8�E�o�Wf�z�� :!vN�[1�劘G��3�#m�f�γ2H�;:�Kܵ�;�Q�ʴ����B!���=�~N��G�/Ed����=x�N- R=�Zê�����{],�Y������ sM�b��ԋ��Y�f"r&Y�C����p8}��;]����#59�$��x�[�O�"��,���Kv"�.�U���>�p>9<� �^�Ak���&sH�DҢ��'�4^ڠh���em�c�7�a'�� m�����g^&����c�t��p�`��`�?$�Ib|ގ��G�R����X�v�Ge�t$�3��R(xʅ�:*JH�K��d�XH�^~}��'��&��J��w��A�+�2�p�����B�8��l�u�0>f�KMI�R�QSɋ>�����#�������_�|����6i '�8�`���:k�ԅ�">�!W;ϐm�C1W�+�h���3��a��ӳZ��KuL�a����T����w�OZ2_)L9| {Jg�D�>�Z�����ɴ�4�J�Z7C�oylc�A��N���� �'�g- �hv���v��%�dT,�Ah�2���ՆޢF<�E-]���"� o���P,�h�l,^����B�1:O����� �r1!�R���B�2���}� }�^q�ION�t� �Z(`@'�o`gÕ�����:%*�&��t�.���De�鐡\Z(��nf���� �$a9����3Za�X�Q�dGj�+�4�P��$��L! j0�>��V��rb����s����w�$j�����Y�je,n�SD�F�I�F �Z���)�;6�!00�@�����mDPm$���Y��C$���*� �lXrp�ϧ�nH��']����2����\;[�&"#"f#��P��m�2���=�ip2ؓ+ N��.p�`��(��^��AX;�O^��������I����@xl���| ԗϿZv��y�ɣ�u8�u*_���{ܢ黭��c�rc���ډ $�Kda�<�n�J8�w��Q4˗MF=%��F�7���<ő��zo����en| �^Q�N�=k��}&0F���-#!w3�nd9z �x�(�L�e�K�?���o7:[�'�'r �z������a��Y���M��{֩ ���bqX���T �t����Yo���e3�טVm#�2V,�Q��3j��m�OQ���?��鶕.ud�^Nj ����|2�)��;������:%EA>]�~y�^<�w��u��D}��/.%5qYi�{�YP��ݸ�A��̎��>�҄/�S��9jĐU��� ^�&Ū�K��~:�H�3}kv�FY�T��c�0���}pW�dgf�z���� {�&D�ּ�1,��<!��¦+���o�Ң����x&�,���N�m\w�������ј;����Ɯ��'��7偣�'��[��"�s`�6���*�h���5��+�0��x�������1��(�����ٙX�!C��#y���;�{��iل��q�yYZ��j�x8�VZЈ:����4b�^Ҍ �E]���*Asj�����m��}�ޥl�%��8�ΰ�?��d ���=�j��,��v[(/���*ak�SO���ZCW��]a�Ǿ�����8m}Ø��!����!'�4���dT�?q��/�~6�������LIa��v8�X �2� PO"/&E��l&�NF0Y�W���� �ٚo!�7ZM3��2 ˆ7C`��[�^�P�H���l����=g���l���dƙ�4вvf�G!l���S7@� ^.k��;��o�c���( �lNi�]V/p�TZ�㠍o4�����-��H~E�Ѩ�:Q��Wf��a<4�ԊT��,j��.:t#����PGGq�e�u�͐�8�i^Pl%(W�O�x���J��C���G���^����+3@mM_�މ�N��Q_O�b=�X-�PMS�O�IS ������Rc ��R/��J,��v�,}��/||��D�o�p�ͤ>-��\CK\�-L�X��"( U�,��G�6�N�ƝC$p v��C<�dC�p<���e\8�V�P����'���5�A�t�!C����1o�;~�=!:G�̜�Hp ��C2�ߜ,blt28l3�B��l�WN���?�0��R��`V�fC�6OQyBL2j�]��J�kQ]W���@�u�QW��r��BƈBԃ���/A�����Y�IL�`L�UP|\o���!���Y�9��#�i��CTɚ��J9:�l���j?̏�'���${S �p���~{�ي�E��[/�,(vٳƢ'��)D������{z����5*�6�d\�����S��N�i�v���p:E:�7�1�FY�� 7Z�j4�n����:dtx�b�x0٨��~X�.��9����ӑ�?��D��S�,��vE.��w�0:����Ȩ~�Jb���Y��mm�1_%6�b�6��g}e���zHv:V��|X��r|�roF �>�H��Rqq(�e�/l�t�b�ܳz�ҿ�Q�l�u[3 e鮶�3=�h5�fz�N�yG���� \> �g#3j|�:��ܓ��Dx��1��a�����?�Al��WrC�^�(�Ri:1E����#g�T�"B�3����Dj}SZ�i����o�#O����2E8�}0E��`�n�k<��{ �rk��^m� �2�p�'~���Й=�tc�&R�,�{r��$3w���JsQ����rF3��'��#(N�SU�� �Zv�=�ơw�/�l��L�����<}�;XO"Y#x�_��+� �m�$w�oK2X=[�U�N�SR��S?2�(��p3����t ����"�0���e��Lɧ��$�9ף�)2R�k���4l\�myc�Y^�#�9(G0��Vo�s�C�)-{*���]��C�j0��<��O���`��f�O�6��Pa8*̔�6��Q����eC�!d�}K>�0O �"Z�R_=�m���e`�r�!�ssR�ڐ���c_Y���a"Ȫ�Y���\α�!K���X��$�_�($�(�Iu+��H��qtY��f�`be��"���v �#�0ßS�r-���s+�4`S��h:���KܙL�j�/V!�T��3Te��]����!�XF�k�`����o^���ǯ���ų��{�D�0D��Z"hZ]$�����x�mY@H������^�O���HT���a��������<�슻W�c�C��m��~6F<g��bl�� �b����x�ٴ`:T�%9�-�V]����)J��v�~�ѭ��J�i3��� I6���Ēqs��X�`6}_$�Q4�F ��L�.:����˖q�V��4ܹr%�k5X__AVy:�\��<�/P�u��@K��F���� ��І�he�d#���P^�RI��T���h����+��>}PB�lh���{ϳ � ��by ��V��N�&2D}Z� E��5p�MYJ��ps��!Ԯ&f j��D�� =�8����P����8� �|Yb�ĥ��L�P-�6�c���+��SՊ�*��N_Tg�7M*i.}x1}Z����P �WW% ��^�FV3q~j���E͍R �?��D�I�˓��,�i��h��!���e{�B��$��~!)qe�|fz �7��/������,0�K~}O,�l��? x�9��OvPK"�|}41��v@0\�/s�x��� p)�≥S8MCT�� �Ŝ�qi�` �@;�����w F()�sT�������^������X 0��e@r �6b�;��2���m�3* |j� R��3�$]���A�A����E�@���o��a�T[O5� �^Bf���܌��}G$6m�̗|�e��ޒ���&���*&�E^�{ښ/}/��m'w|��b�r� $f{��J.�'�� ��Ҷ� H�?��'��@��Dz �@�;v*SMj(g��5qX3'+Жs���_�u�b2��O+�jv�:P�h��m��G�n�.k�^f�:��\n3��sd���[��LV.a�B�+xy;� Ju^�#����ҬMl�'`�h�<UG)I�ie1"+�b1�c�vu!f�gB�i��Ȅ�8�fpv�����d0�����;qN�'�D���k��u�T#]�rH%� N��&B���z���li8 ,��Ǘ���m�D�Ò�9��|g�=|ׁtr*Ƙj�4.p��6�k��d�OZl��6"��2�B}d�=���0�ӆ$�$p2�^q��=�#�����]yܒ��H�pqN�J��%6��� ,�\�pp���t�U�?|��A�+��"Cx�m�'IÏ��p��K��f����(1���-�\����(��$�� �� ��d*�F��l`>�NNq����e�t�a�a����m��{�kiP�s2�Gw�;I\�a���:|[Բ�``�ؓ��w��.� y�9�� ��6�#��'>Ȗ��a�ǧ{{���Uw��f(~�"CL��i-�y2��`w\�jԺ���Hev���+5�"s�ˉ�~c��J��M�kB����P&Q�JG��*��2��������ь�ds��Z�S�Rv�3d��z^U*�u4WYu.��Sd5,eHjQ�-�J� ������Dn6�9����ӻM��LL���OC�$�l�RC�'��:�z��c�L��R�;v�=2�t9�So�,Z����CaP�H'r�tG�|����5Ǣ�?�ǡ�TG����}8w�{]XIn������c�2{Q֍���\�����[��%ЦK�Őd�"�oop�jS�)'�U�Zo����)��yޔs�������6�A�X��$�e�#Tnt<�Z�#z��-һJ����c�31X�%W'� �D)<�x�j[/���AY?J�I�l�X��Fc�0��1.0,��AG��p`v�AGvo�WG�PN4�}�q<��GMC�R�y�Z�DX����t,�U�%.ap�����},�,��b�?�/h{F�F���$2^����f5�ΐ������hs�l��8�rgM !��ߌf���5���/ޕ�S��ĬBa�2�*sW��l�0�OV0�0 �"��U�H�*���+J��E�wgH�(V�D���.J��)��.���g'�f�L�B��VV �SQ ~<k�3��:Zِ�fuuB@I��lA�E�Q[$�Z��:#�XN�Q������@&G)W,G}�\�sΡ8dv����wL�N`�r��;�SN���{� mn��G��Q�d��B@Xg��j��6/Y㜡7OàH�*&8���K�:�#�l��b�14�F�gาƖ@⮄��i�a��6�Cg��t~�����W��#������!b�gXh��=�#��hY�0:#�R�(�� ��0-��O[^s� `-^?L�э�F�da�C�08�@�ՉI`~d��<���,�:o����X�Ѝϩ+�k4-��i6�>�e�[9.˃EaR@�r�_#y�q�~X��d��+��dG|�d��y���JI�`�����3cS��#�3��2��U�eZ&��m��#����2��#�~��T\���!��^���� ν��<��l4��e�q" �H��H�א�� ��;I�z��S���[��&o����?�BV����\�n�_P"��jZ�*]��%�A��iǝuuo�������"NK\`ʌ@7�f��{�P�t�*�ڭ�,�-D�F!s�1q��cP8�y�����29Ιzŷ�������A�!숫f�m�J�]Z�n0E��9�t� &�D����&݆��e��Q��m� q�z�~�>n�Q?A�vġ�|$�ג"A����Ў�V�M��&�*X�pD��N�X��0��rȉŅt�r�ү��|WM�t��Y�?F�ְ�C$sx�8ЇR��N���d�k�8��w��05N~'��ᤥI�x��&z �6���hO�7x��(��0YTg���F��D�����KXi�"`�gk;����o �&������p�%_D�X�Q|� �5���8��C̱t(�!��~j(wV����U����z}S�VlA����\F�i�{d�h�[ޓNnξ���$�����ו�F��03��ɾ����Z�kV�-�\7�d��`�������y #O/�1Ǹ�6�H'o�{�A��_r=A\������^���N�h�" S�s�g���s�ǣ�Y�ب�V p�Ԛ&��u��Ӧ��KW� ���Gt��8��4�g� f"Zԉ%擨�\�$�6yF�,cA�{���M?��4D����kI�5nF����T/M)"RP�8��2�9�C��(�ad��l>i�PfJe-jWQ3'��&�,k1F�4M��_�@�����"M_���/��5����,"�;W/�_��3���?C�lۀG��|����{_~��{<�����~����p��l��V_v�Z�뮫a ���;��oE�,�n�v��T�[Qk�U���.i��&�噧&"��}�\�x�´:LL��Z�CHE u��HK��7I$�Dgm�=K��xY���HX�xJ�K��k^��OpҘ�n�3�9H��f ҃㸼uUk�'㧼d���!K��~�n(�@�<M���{�k�r9A&(~"�2��hl�$5�]K�2x�����Ia��-��TmjAc!i?w~7��c����B�E��\RP�~A �GO�9H+ID�ѷ��i�L���rz2\{��sz;4|7�k��&/4�8U��i�w<����6M�T�#��a^Ga�j5��q �L"��%��~�K�V������33ȃ��*����c�Rx[ւB��^�^�uԉ�*���G����t�d1�k}����d�}�@��U�b�J�H�8��K�p!���9Ymn$=|��|�6H;�a��D�7�l2�y��#� �S�]E Û��G ���3g4Fê��!�S㰻"���q��\q��@NIatq�H��������[�KD�H˚25��(Rb4K͵xӒA�?�A�� -ɌY���նJC�S��6��)f�U��� �6��k�?����a�{�,��Uw��J��4�#A�{:N� �n*����g[�����Ejc���H� d.��}2 M�ݘ��q�Ǭ�1���� o��5h�R��ܤ�shs���V�sR08��� �Mtl�h�[��I��pKVQ��Q#Tb��I0���� ���a�'����M���ieV㇊C� uL��0/ZV�]5�Ri�ʯ���[�g���W=�XL�+���'�L��q���rֹB��Ў���V�m[-�5�q~��u"�B6a����"��&��A�6d�c��m3�]7c��TX�mj�,�Sgs���_p���#��" � H��^�᥀���Mq� ��Ȝ�ż`Y��r�W��T_w��gN�Y[OWAC�l�O�M�w�-�i��$L�; �e~]�ժ�����Bhi�Y�oM]��K�x[ɟ\��`��5���,�=�Hv�ǫͣ�z����!t��b1:���TtդYQ��~\��x�¤��� m:��H�&!L�����gG}��.p� ���V2����w�2OП��J�G8�<-���x�\euiE���,@�!��z펼x�]�ڬ�M��E<��,o�Hh.U�>�*q�iznں��Щ�*De룂��\ڼ?@�I��E\ڎ�"?~)�O,�>�?Oq�&���Nbr+���$ �,r�#��: ,�!vl��`��d6cn��* �pڊm�L���[��~.�h&��Q]���b�8{g5���Aݛ ^�6�j"�I��T��q)�f�@ϽU����%L�~�t���D�:�<������+�!���O-K�����gk�MN�n�:��Sr@:�qõ�`7���\o5*s��d��� }= Q�,�;t�C�0Ψ�%9���,W�Mg�'�e�WO� �1� 0tp�qa]"�F5��Zaa��@exz#l�n��������@���ŷHm�o�wr���<6g 83|au��t�n���(QB�&�.�R�G�.,Q/��er��Nq�b�:�Q����YF�S��Qާ ��5�9��OEԒ�$��~�#<F��\A 2��@"������q?��q����4��t,�P�u��{�1�ozv�g��d�e �;�����?:z�(@�^)!Yo��T;��`�*Cf#ͫ^�S�VU2f����j*&)�6�_�O5L՚����;W.��D�냓·��I�+���ဋi��*q�pRh�Rt���L��1{*rc��zcU�2��`pv<�w4���)1?���nS��C�$�$�������l�m����k���O_��~��jk���Op?�|r���\�ܹ������o߾��o���խ������a��U$T�>��i��|@i� !���?ӣ��ʤ�1��Z6*M�#�W�&e�$��+��/ ���G�ݢmVl��Z6���%��Z!�A����p]�sab�^6+�W�����H �6Ji�h�������/�8� A���L:M`��IJ~�`%d�FV�h����9U��t �Xjy����;Ď����v�`a��-��w#��B�S��Ev�@��@d�LPH���^o�$��E�l`љ��%�u� �[�ܬ�$�?R�4em��Xi�^�i&�!����%���T��rÆ�Zo�B/�~��ˇ���r!5�恦��g)Z�1 �E]r���1�q�+&it(6���2M��("����j``c�e��Tn��\vLH����g��X煞�Yo�b�s�Q�5u�!��m,�Mb�t|�KwK�)��*ʀ�i����;�=O�R�l����w��fΎ��,�q0V����/c��$@rQY���l3�C�չ9�ױ1\�@O3�z�OdC"�����{�n7�r*T�X���[�+���ڊ�b{��<��"?��c�D���Cp��*C���zc+�=K��kҡSi�@ʕ�ޘ��!^X)r)�&)/�i��b ����䤙 ���L�K4sZH֕L���U�]�g'�'��C�L�q���Q�) ����t�_^!D]j6�e�\�> ���s��:�)�/��s��ҫO\V���'g#I���g�BGuPҾﯞ#�oU��F��|8E"�?�?��<�S=W�oX�&C�m�Ni��]ӓ���X��u�ΉΉFH��`�`? ��`�t���/��$�iO�`w�_ ��PA��#��ҤUw��b%��gƵ�'�o����S�R�� 4�� �c�+��DU����>����c4>}�ɣ����8H-HU�_��_�{� ^���c��P� 3O`*���G/�|x��ւϟ���/����SG\��9�l�6�cW�k&O�&?9��S�� V���� 75)}z��#�x�Ո�M$!K���TϺhh�&�jjvo��Q@"���5ި%��j��ѷ���$y_R��^=a�`f{VmQ�hh�xٜe��>��ܭ���=�P&4rɤ�HrS6��oގy�*�}Oj�TEo�EwЬ�� 4�b��A77��6{r����Gý�w�$zId���R�V��(d����ۧG&-�eGE��5��� NF8�u�;C"#�)MGTA���d<��\{<� �z���_h��]���@��Kw��m�� i�<_�Y�0�����t:P�^/���� 9�������,�n�"� k7������j O"��H�1 �"�ldZ� ��4-��+q��w��k�"�E/Φ�Z�-+� ��=A��"TԱ� ���Q��G{�h���h�������>#�5���}!��-_q�?�ҹ��W������)wl*����,#W=֡��C6ȤF��ASH����Y����LU�V#Z��2G�$�˲3Q�2C��F� ,u04?T�h�:xu&6)Q{状I�û�ъ��F�$+��i�9B��oR��)�s�%mA2�ä��e�s,����By�Z�[�sE�3ٮ���t/!��ΣDŽǑ ��.���-,k��N�5[��nQ��<�f��-� R��-��ơ[�T����r�H���a�8z�yϧ��Yج�Cn��*R�"��[U!n��E}O&�E�� /�o�C��r֤܀ �ّ�1b�7��Q+zۜ�A8����+O�;o ~����(,e�g��M9<���|�_t$M�EBB�b�"��[4�Z�A�.�1^�t�bS��ˊS2�:���� .��|������7��2)~��ݎ��^�V��k��^h.5eF�t#�V�Ъ��"|u��Uآ��*����#D��$[qNm�!�2��Z�}���)�3��[��d!���Ɉ�Pq*�ԓ��z�D���P;O�� �̏ŕ=�v]�(� ![9�5���� w�����lKs����r������5��.�"� M[+-�U,����������VsyԪ��S�s��Cy�r���H�<����^��B�N^,\�.��n'����u�Ik�eq.+xֵL@��7�3Xt���?}�ks1AZ���Z�����闯Q.Ĕݏ͒�bp�c�U��ݺ4V��Os��H���J@��`�c�k�}�$�f��=.�r�<b���Z<k�T��1�yx<%`��� �!g�K������t�"w�-��v��7�㶏�ѼU�LI�Z)�bޡ��+� � b7�mmw��\�:����!��R�o��%�J�F������!*^H�:3O|t/pg)>a���O�fH�PJ�AEE�m:��'~����s�wo�?�'��M~7Y�/��]����k*�u��:^�@�6�;���'[';��g�m� h�:b�d6�M��t@�{6��~��(mnT�5�7��K�l�9Gg����7�\a;��nu^u�� W���A��-V�H���+P�\��^6��%��&���^�� ���P�8������p�(Q �T��IM�D磎5ܯ�4Z��)��E�C�? /�5�,hG�nu�拓uNhuò?�Ԭܔvy/��Z�!�"��~2��W�cL�{����ֹ�����9��P���<�.fv!��i�_�>�0e��ov��8+�l_�ߕ�m��J��%���'K�T�bc�Dds%�]D�� ȥ�*�����K�3{���"��֡r�x��.�P�d����̅�nX�W8=�L��{�b��/��q�����7 ��U��&7��ZDߝc<���Ł^�h �� p߆y�]��,�� �}�@*��f����y��҈ =�]4K��N�fD�0��L�t:8�uH�@�J����VwS,l�SUvȾ���$�j�.�\��6�F(h ��w��+�Ҏ g�����������h~Eb�rU���Ƕk����|)y���=�E^8)aэ-E}�>W(҅������D[�WP�/�(���c� ՛?o���ʼno})�~9�S��Z�L�L�t������U-I�!ݠ����l��e�\"ʨ�,�%^�8����]L�x�F��K��j���*�[� f^&��� W�>m'f�ͿZV�3����P���$Q� (t��-v�x��*���c��!&'8<iF�L�p�6�}���VY�q#K�y^�~ ��Ire �j�����LY92�ټ���!3i��<]f��/�0@ش�Z�i� �P�M��ܹ��7a���P�N��fP�rKd`�wh��!��w{Ǔ�p�M��^a�Kwq�:�Ԏ.��^����\�*z �ٮ�MV' �u#�b�k=��_-���:@�3-+�s���D����d��L#�џ��z��,O�V�v�Q���+K�V���p h��#�y�Ŕ��!�&��,���i6�oC#_���*_՝c>�p/� �� �e��[o�ǗL��zħB��ٌ72}4����H'q�2�rD��G��uc �����(�RGd�y���ӣ�`N^U$�aYJ�I���hQ�w*��+G�����)�� �B\�4�a��#`�����^�z��/�<�2=�2G�Cd�K�#p/�8km��2I�t��C���!��D�J$[�e�%3m��E�J\�L+-`�^)�:���� �.J��J�Log'Y�����½�']c�\;K��z���w���� W^����*T�Yh��=]�q7���́s�6=�jWgn���[���xK$C ��|�o�����3�V�8�f��.�Hº�e���G>��d�i�\�S���`���@1�����;��a��O����+_WT��A"����V�L�:���lr'Z�9��"��JǾ$��-\,Ti�����x�2/�&��qt kQ���h�jX 0)QZ"{.!�ȏ�����f�s��."��n��J�D᧺�`����N3�t��L�í���Y�gX�إ��cCfD��2�,�Ih�#�N����<E��p�pO���]ؔ;���в=�)�$��ٛ�nJgu��p+5|o�D�/��xuxK����n ����λ�MU�Dڈm�.UQ햞���n9�@g�U�$�@X6�YY��ͦ�������@�����\$���<� Hwx�2&K��r�҉c6EbC֠0�`�!� h[«�%]CX�V!z� �x��m�.�����-��`�[�'��J�d�� aj�"���K�T��tb�� ��-���� 4�l����jCW֮�kSkuEr��}��9߮NC�q䲈�WJ�r���_#�Y�\��R�/�^����h�H�K���l�"����R�/�Z�1nm�cQ����p�E���J�%�˒��!pR��_����a]F^z�¢�u�����;^u;�� ��0"AA^@���hߐ��#?��� �"ƵY1P=�|��Nq�B�ؚ�M�HBl��'�،ݟ,�6ҋ ��'C�. (���3�3���e�B��3�UWzQ��6q�e�hx|zzb ���3D�ay^!F��AӋ~�?��a���>�2���l��3��x���&�j������7�[C������7ݝ��98��v� �M�*�v�����b��5L\��ק�4�2�i'��w�}){@3���`��ڻ<m2��uS��jY�X�@Z�!q���k(�n��g��Ү�,9�rp��m2m�� 8,n�� uS�j�)�B��#�n��?~�� �2s��HR�����A�.��7���$���e�2!��7��?��ݵ����>(�{���P ����� ^^���%D�0�,��nW �K`����J����K�vE+�Ü��T^�P=��\�N�w�d��2������w++�\��i����#}��u�o��!���Z"��^�}�נ��U��+x�/l�k��o~��.u�\>6���b�>ײ�R�l7ż]w�S�lL�?2���u�5.BA�&X�q�^��l����*D���'o�&�W<ůo�(����_:Y�%�6�������+ �����C6��\�I��8,]�/l����� Z�Y�]L+J���z���*�U�:Y�+�/o+X��#ݿ�N�&k&����kV[{}��;Aڞ�K%}�?;�c���!O��K{�����.7�R�����e+P���� ���R)�K?1��DZ^m��(�.a���'ڬadȂ�g����S�ώܐ������ X��ѕ�j\]���:�D�J�!�ͥ�[i��|��w�F�k�o�Ȕ�a"�ә���T�W��+�2���"F~�!��:�J�X�v,�~C��0�~�*�v����"8\cI�AiI�<���2:��C�Ղ|m��X�X��I=��v��+@���o�lpQ"�+�^�hG��q�M�ډ��2���`��U�,I����h|:Y�#���6�}��&S��/���I�h��h��T�)<Ƌ���)d��[ۤY&����:�P�5LH{�9L�E�aF�����^~H�r������I��_��l8}�Cg;��sm�rz��}�&� �C��8=�ڷ�F�J�˻�E��-Ή6���.i6��A�b2w�c�G��X��)�et�%?{6�!�s�w0H�mF-����U����W ���s����s�٬ն��תMc��n�9g� �!�����,\pN�!=X�tǹ�H "��ʘd����H�&{X�ՎO�@mXJy�����ަ��t�V��z��KO{I��Q��ʁcÍ����w��_u_]ٱ"�a��o*�jv��\*� ��FI-XP�i[��}�� 5�dM�4�M��؋;u5��o�M� Q��|@<�Ep�yg����:�D0�a�%�f�j�sy��:�=q�F�o�gH�v� c���Ql6vo&���d��yJ�y�� 9���ܐ[�*�k�-K����� SCʕ��O��'Q�,ާ����i�!]����5^|��@U1TB~�@YЕGB���e��M�_�t-���6T�х�!#V����#E���h�����h~�cJ�駓a��Eh��I<�Yг��dUWWw��-M%p�|�]d�h�y���:&*&���vyѯW ���ܘT�7�h$��d�B��0�V�ւ!�P�'�q�&�[�x��{9{���A�RQ�mFU�������;�[[�����3K�z� [\�|T�c�~��b/�����_?|��7�5����1H��#�-{#R2�����,iRG��<FU)�� �#\��ۖW[菩��8���#4;��������;��]�Ui��D� 0�T�<�̾98@������˧_����u�����)�'R�:z�Iz4�<M��SX���c/ �]I(�q_��V��ap<�X1�:b�|�ϻ[�w2s8�:�ڐth�J�5����NZւ VK��x6,0YG#����,G�䄐6h�w��t0?�� Gǽ�V�]g+ � .�o�X��Z���z7G��N���i8U �{4�xl4�S&c���ڃxd����S�����3%QK|�U�T��m��c�\�Dk)�W�qT�%�I>:ӎCg ����v�J�C�B�c >WQNO��j��O��b�C�T5��rʦ��������}�{�7R�wrx������1��ɸ���'V��\i8i�9`ڷ���շ�тs�:c�'Zf�w��25��,w6������pJs�6*��N� ��<�|.9p��R/���ܳV*Z�}���c��Z�'E���1��_�M���8��[]jM`㑋�G�����h��\Ax;�˫I�'�T�h��5��m��C��Ս���D��c(��D)�_�oe�=N3� �G8 �g��*S�T \~�ྖ������4̜ ��؏Z�c%*��wDS��i�F�[jY�u4cc���H��vK��d��!���g��@��ў@u�"���<���}��^Hp� �m���}�^��ޜL�:�� 1q��@�X_Ȣc5�d��uU���ܘ��Q��6p�fʐ �!��� �W/����}y��h�]D���� f�J�[��0�L���D�(���o۠X�c[���F�ͷZ�K�)v����e�3é���Hվ��n7�:*�<��E�N`��N���=D�ܒS��r���b�!�m^�+q�w;��\;~�9�y��l>���:�!���P�24���H<��R sg��*%��h(Ȑh��o�FR���:��ș`��u���zZ'~j5��5�$�zc��������Z+AC^zDO�I9����0�\V�,ȞW߇����`KHXwer� �����_t�6h�enw��4�y���+��s?X8�ܙ��:���QܸUP�Y�R�(Ye�fp�ԓd��x�2 ���c����fͱ��}���0��a7��D�u�љ:���4�`s#�_���n{'sg$vN+�L�{N�,$cCO�F�=bl��\^�6�"!��Z ��J"�J�Q��r��ŝk? r{$��)����!��/�a�� �h�{��ݏ�7�GЋ2W%�E1�K{Iix���6�Bj�j%H�R���x�lֳ�S�J�*8�5f�}� �'���G�?\��Z�T$j&&:4��cu,Q�g��o�x��?U�*�n&�K]�g��p8F����LR�s�MVsu�N��g�|&}>+U��\tb��I�+�]��3�\ {R�cf�u��ߒ��V5���$9�O�P,��>ow���*۱��'z��Ԋ�Sv��'��_��wm4�aE�W��c�x����Y�C�ŝlj8�כ�w#���ǃ��&���J*/�_]�� |�����&�d���ٖʵΕ�[R��+� ѽ=��� ��&�M.��w�2ƚ�X�%Ξ�#p���]�ڕN�F��U�?*EΦ̂�6X-�t"F� $"�Ε��������T�Z�}�l�o�c9�)� w�_*��7b�"�օ,�v'�*�2k��a+�0���sۜ�N��7�÷���X��IV� Hr��O�_�~'.�\�X���EeLB���X� �x�QƄ���X1%�L�FF�&��f2�5�}�U��S����W��C�(g�썌<u!~z0�p���Jv��+H;�_]�a� ��_�U�������3(�xk�ݯ�ߘ� �5���z��G�SPY`�>(-80 4�>i����)��"�E�ă�>@I���6-�o�ԃ��ſ�s%"߄�����&ŵxX��9"h����d>����?�����?�V}c��Lj�E�B��Ƣ?�U�t�* ��p�T���G�O���2�ic{��OsQ7�Q���[�;� �ï_>|�a~�ᕋvE�7����}Ĉ���� Go��X�0�:��⢓ua��ő e���\���/łv4���!��o/�����c�_�N���I��j�ix$�%@�`V�ps��!s�� �����;��Y�ف�{�x8�u��fl��Y(ݧ�N�f�/�A��Z�����l:9͆F�ET�p��2�B"Q&tO!�����5͈H�p�h�q��â8^d ZWǾ �,6�؈uQJTN,��y����v���x��(f�Ld4o��fΝ�"1���+��eE6�,�!J #��6$r���*d� ��օ�b<�V���Y��%����{���wQ��?� R�G���Z��e@�X��A��B�2(12��kX����+�G������������tKM)8}���P�UvR�z2��l���7��U��YM�M<�Q0K�-�`�ݾ��2���9�*T25̺��p�JDsL����A��L�,�*��K)��ޫ��Qð�,�-��Ӱ&�Ġ��M�S��E�c�����fj���'���Π3ZUK���&����șK~�P٤�b��rm�AHu�̸���d#WgP>́(t�� ����� �'g{Gmċ��&��Mf��&��š0�m�g SV��m�(�+r8��Y��G��6�|����y7�_1\�����E�X~����br���t���F�:AL��(�ӧXam" /ќ�]`���`��M�����J�2~�V�����:,>��[��텩�4����cj���d�-[w��� v|@6�U!�M���j uJX��3�F�G��r=��v8��>kp))� �Dkwdr�<�k�ʨ��b�Z"�l��f"u����q�Az���c�px�.o��t�UCmݖk�V�s��iNpG,�16���4�w�UL��SN,[���m�^"!(��\R$|,"{�%��,u�����^��AqUf�7��э ��P��>&{�<�/ ���45�}�f�����`/a�Ŧ��ă����� reaF��B��>�\S`�z�'V����."��h�h��b����E�5�HW��9�.�|ܞ/\���i�Iw�Qe�zY�h����C>�x����V��5[�RJ�Q���^��K� ��za�zs4{xr:����NN7��%Sf�A����D\�`��ħoO �;[ŭ�Q�ie��Z�MQ�e��"��ES^6j��8�F�S��D2�OH���OO3q{`'w�\y�KK����_�r�;;�<��v�E��t�f�� ق��1�ѭiX���GkwT��Z7D����@�b��[Y�Vr=Aj�(?3N>ms��99`=S��t�j�Z���� 7�t9&:��a` �o�n��P�8TeMU%�M��|�˦�B�Z5E�SCbr�O��i�6.ydM�ט��**c���?ǃ��ё����M�8�P�d�:�w���>~��+�f{8������/$�����3GO�`�m>���/�!V�a�v5�AE�撯�XUl1m�-�=�Q���㏐}�y�"��7�W��3_6�v�'p����f��[l��<�D��5�D)b�`���- �����j�U@��Y�w�Co�+6�2�� o*PCm�n��z5�E�21\���&�y">���&n�_a֥�_zT�}�_��K� K�H� ��]*aB��N�F'g'҇G��!��������C>q�����U�miE��y�_�s�?$�t8ا*'hh9T��N'o�u���7���Q���6p�N��ɦ��ʉ�n�O��Yw��v�[���嚤�r{v28>��l�P�� ��) �[����}q� ' �|ָHl�n�K�ͦ��ޤ~��5o�Y�Mw��W$�T�RK��3�4D�*�y#�B�#rǙ��,����a2�;W�S������\�[�^霜�G��(�UBS ��9�y���?x��h�;Wh�cм�58�O>�����z+G�t@�͓�͛�� ��� _QRs�3 $*���"-�,�]Fx��Fh�o ̟KlʓdC�yo�B�g��t����D���$P�m�S�t�{/����9j�ł$|O���b_�C��r'"��{8�b���v2�~�t��������JvgL��F�= j�Γ���Q�����H(}֔�T���m�BV� �Y���\]ݚ���V$ZR�"ă�S蔸�֒��_�%�����}�4�.����xZ],�H�j�b������Ҹj�:�[`�ө/6�ޜc�\ �H��D�E�ERL �r5.K y��7 �I{�0�ѥ@`���>� 8�Nm�'� �o�'���m�;B�!Ys04S�]M�1�H�����3��EFP9��p�mn鞫n�j!p��4rdO%���/�7#$����R�>�lѹ����i���?�6!v��[�ʻL�~R-�eH`�n^B����(��.i�b�#���+�P<�e<�f���|�Fa$:7a�7q����C4�qcȃ����GA���ٓ��DQ1-c� �@��)��xw:t��ׂs�9G��y�Y�'w�=Itt���]j�y���激;CS�Y(5\�kK,�P�����žI��c ��A��"�N�HȄ��x^t�L�~՟n����:껄�%�v��qM_�U�9W3I��܌q!B�9n�[�O�_��K�5��7@��7��d�|9�d`[�i��\�V��V�<��g_���uߩn���Ƅ=Y�)����t~zi����c�J1��ٰ[��+-�oٵ�g�����EC�~ӓ��S��T���Y�4 )�T��P2H@P�������O����ZK�U7�V&�`.�pt��*��� ����Ľ�ܵ�^Ɏ�*��`�~23����83�?�3e�H:��~��KM�5�n�����KBNkހ���K[��k����Z3���S�4�8c�X!��8�3��w[7(3��AohYL�q� �FM6Bd ��3�V��9oO�Y/W�#?�O/W��;L� ҋ���>�)Q ���ǟ �� �S�rP���8�;cD��F� bD '�IJ��iLWz����(1�����v�;��;:^s�b�+��@g�@�4�T1e��f��+��ǣ�rf�d��"��e�nb����FB��I|}W6a&���_ �����D���#��W)�=4����K��=�lz�#V���G�ך�]����� p/�ػj��>���.��*G7�W�8 .=��B���yp|6�o�{���� LNa"����1��l�0د�+D�a�/8��0B�� C�&��+�<6�q����|�Mr%�G�$� �+���&��Rty�Y��6��x?2�jr����$��E�q�ox�H� g�|C���s���c<�1��.�;��|p��뮣Nssut��d°������z�����;����L>z������χ��1��֟{wo1����W[��6��۷o_��4���;|��wC�����B���.����������7w·��_������z��͍7o���*�^\۸{u+����6��Q�&� ���Ί%�Äy@��w���w �ۃͿ������zs�Ӎ���a���@���,[{ӛ���I��\+�x�l�`�-�N�6z<J=����@w���)8�i�����;w��=C�J�����}�p���%c���ߏ�v7��?�F'���/;���E���_������ ��ڼ�o^����k�G���H]۸��+IoT�)U�}w���F������߿��7��6[pZ�Ʊ&��o�_m���j�n�Wx�}��|hRh�j�����d��O�i�>+0�"H=�s�Z��'?����r�y�_�z���'�6��yl�^���*�*q��&�T�{UD5�.������`-����E�4惫"|Dy�~�+�R���9�����Cdˀ���f����)�H��o���M� �� ��tKT�Cj��V ��`~���<�ptx4��_�OSw ����� ��P�c�\�)!3��E�/�8J�nJv � d��Y�,��&���?�\��;Ɖٶ�������\����g�%$�i�o?�c�6��F'��n�s��5y�-���KN�F�q7EʗQ*L}��}��Z�I��{^^����!�[���}�#\g��L�"Ԣ�D�]�Z ��~�A&o�Ѿn�/�Tw�ab����xDq��~����1���0�ĀC�����/��o�0�� E��g2U�K/V �}��E[(��+3� fI~N��ĽP����px��O���:��<8��E�J]�p�°��o`� ;Ղ�26�"-��ip���~989���P�,3�� ~F�ߣIW2�C2��]����jF���u��irS(7 �h�C�����Uߏ��J�`!�s�����Ȫ�\x7���a�loC����K2�� $@�f6�y�G��Ub����Xu q��ђ�6�M���l�|CG�����w�����=��L��q��xy3�i������#=��8P�W8��M;��G8���=�l?O�K\�S�@w��S�tH,#h�K�e��M��U���"YKuvku��0�h;y�iq��u���s�rl�7�0�u����92� �]�/���G'Y-&o �̎FdG7 ySi���U�̭�§�=v>|b\�w� d\���z*`r~�F�wl�<�ފ"8�cF�G�%ip!$C�,Jj��Ћ� �F? h%�Ȱť���f�l�����O]��d8d��q��9v�S���Io'�I���3ۣg&^\ p� ����= ����.r!1/K���M����A�oS���^����o�`����4N�g�gp�@�ٮ�VR+[�k��g� S^Z[�����z"��Ny���)��v�]�b�d�u� Tm�"d�q�; � ��nc��������#��W�)��R�ڵke�k18�28ޔ�4;WzOm=̊긋�����Ս9�,�O7�Q@$��ڙx�E�3Tf�6�P��l�U�?�}])x�fƩ_��|��ާ�x�c?}��&��"��=�br���I�3n5��f=���}�Sw�O=V���^�$����?|(v�C(��3��7_��?A�q�l2M��h><����m,R��n�Q@zE���w�%� ��c������o[嵫��[���ZS�kz�kep�viP�F�4��i��텱\g#w�� ��� )�o�d< �6UXr��н���/��yQe� zyښTm9lm���5T�+����z��"�aKb��W��H ��(ڭ�/饦�)k��1B�� ���< �fƇR��^��ڲ-ڙ����f3S�ޓ篟~����g�<�������o=z��%h�n�*�7���HI�V3�۵�'-��@4�%(� �/5��s���i�C%#qkn^�l��[���Y�փ5�w��6��Ρ g�.N�j�~�i��[�R%�i+C3��@���z�����5� ��D�P�����<z��^@�D��G�K���?!���g&=�{>�2J�zf�?�k�_8G� N���В�ڹ�H\����N�1W~kt��l��h��NZ�_}�B.^���*F+� �p B~�~�x��'{�mANyE7 ��J�UW2�I!��[Ϊܪ��Su�l��G|&�S�x+f3�0��{"q�E}ě � %�x��H��D'���������=���#������ur%@L��k��WPpo�~k��g"�`ٷ�\-�i�VlL1�b�ʹYX�*�82A~�p,���?�̏��%|1��mh�`wh=�w�����?��b�2�r/Q,8�]�v���Ua���? rff����~�����x~����L+�EXNF��"��Hª��E�n�f�m� ���)�����x_�jww2�ON�!@�L��'s>O�K'��_i�Vg;V)� K��f9�q1�=�3��ۛ�k ��ͬ�c�ګ�p���i����S�랠F�\}��Y������D�����v��j�kR�nf=NC���O�����E�V���Y��Y�>���l%':dw|v|\��D�@Z�Db����O$1F�ʥ���8�}L~���a� ���+-�IS���|�� �P����CȠj�2�B��zk�0�! �}�U�a�N �~�Ly���+�y O�(<t} 8�bxL��6f��<��tlb_�K0�5��� �Hu���+'�1.�t��B e�j�k�e� ��!�8y�!nZV�ȼ�x<�>��r\-+*_��;O�c�|�}�9�����gl҈ �PQ�&IP�XC��>{)�4r�[�څ@�YZ֙]I}V���T(j}�KL8i�C閩M��z-��8 �x��0��$�4��hʽ�D'J��j��*�TVA.]��oI�4>�0!:��= D X��� ��l��$]��B`TBc@�R��BR)��Z0cɫ����@x���Db+M�����堮 ���/�KU�0W�LJ����M'|�w&�zpȏ�]�H'���?ݢ�u���@�;�3�/�f��°�a��\=�BR�I�w�63s�r�3��Gd��e��<��aK\�y�H��*���Ț�F��Y��"x(�[�c&S)�?����-Y��r��.����^�˳1�.ei�lj$H�϶��"��q����V4��d����d�P5Z-݅k6�쉐!�U(��9)�ٙ�)����/S�xɉ�O���M���i��Ƚ�<�\&�;<���(2+U8�椵��/�����y�R�]��<��wnk7�{,��]��V��V�0�o�9�w����A��|hx}Lvn �I�J ��E/�^���cD̓��R9�-<3�e��d���knw,�q!��l�A�D�n�$�2�5�� �����~�����P&AL����j��[��wA��>;W�j�xt�0Z��o���܍�Bn6���3��;�)����h�댕�+�m�mL���jV��*),��e�qs�c�}�9#8^��w��o�RÆ����ٯ"�$U���.�︎��>D !���5)�*0Xp��T{�۩)vQ����v���[���H�c�{�qЅTC�R�a� @#r~ANM��iF%�[8�//����������"�f'����c܁��$��ǧA-J�J煃$�BY�%Vf����#u���ҽ�zې�ۄ��g��D6�ņ:e�@�k��&R�JI���7�]�X��PMD_��cسx#n|X�`�m�:f���m���d�N�t�c6ŵ��l��>�����acϩ��` ��V��jV-K�#�LqO�4�����Ȅ�Nq˶�]#�������C��� �5�ݏ���͐�zHw�j��G�2�N�,<�_?�s,�t���B�pf�7��E��T�%� ��<|��1g�Z$I�h����A��<��c'��@�o���U��{ՋXB]�R��P�P^w%�sXO���/�F��m2n�@M!�ù�6;~/�J|Blcf�����Ϗ�uݱ�UL���Ӽ� ���B�N��~[8#-��ˉ�Ņ0��L��h�w6Y'9L� �ͩ�����ʶk��)@�_���E��^�I�C�k�ƍJ觝�R���&��ޒ�q���y�q�<YV���ծ %�D`%/$b�\Xnd����N�� ��0"-��CY�PE{��h1�|�R�qdT���v�h��1���{�� .c`\�lr6��)��no/��Xl�� 1�q�8}%]W�X#���NM��FK�ƶ��%�*,#��NرY@�����&�������R-]��;)��zWB���l�e"�i�: &��d���:8�)����!}9q fZ���mTӺ��`^���/_����C�R|�P�h%i��p�x�D����L=7G�kia�Ŷ�N�~�$��bC}�U�_1N7̉)��P�����?��[MG!r"��7MPX�%)���Z��e%J^rA������k1�V G8ѳ$���3q���>x�F.�H�!��� V��[��j����M7r'����H���iߨ�yZN�zq��g#�"��Y�*���a�{{������!�LIV�q�]���5H�*ma�9F�D�{��P����@�l�����_M'�(�B��ou%��H+ר�2��5~L�k��b���M�ĈW�3�e�U(�� Y?�,S��4�rj�X K7¶J9{?��H�d]k!�+�=tnpG�J�΅�w��>O�Q$lŤfW\��HČ��!��6i_Ov8U���f��R�R] �z���������(ͧ�HyJ9#�rh��h������;��]2�[`�D���� n���h��w�~�dG�T�u1<8�r5]!���B�= �F�o���l��/�"�aџ09Ť�R��!�G��Y����Xe(�-��f�����)�h6P۵��oZ���V�S)�~v�oܣ�T���p���!�34/{��x����c���_�I�*92�V�@M��-V��l[ܔ����@� �m��';I�PB����9�r�G+�;�ץ���5�1F��?uD��!DJ,���8QO��� �JfD��:�O�Z�i{�}!�����B3�W�]��h�a�:i��q�F��T�dV�@s�@��:��kW����9 %U��Dgkgk�j�=l^Z�d��S�9%���a����1�&������Ȓ�mvVHD�H�/�P�-��E���7�P��Ɵp��b�<-�� ��0p�U�����ua')'�C��r�����2�w�%�Q&�=�����m����#��h �̶ҝKВ�����cE��!�\9,��X8��%Ț�TP.�U2$��7+���mK1ς��ֲ^8�؋��0��1���e���y1� G̞9;��B�uF''0 au���30ʼ�`7��0����p�+�n.U�!�D��=�S�{�o��s���.����9��kZ�>�%㧤�z;*��\[�)��i�7��2��ޮ����ϯX���Ŏeɒm�-�+���JK���Y^ۛ�Z�d]������P\�ZYN�k(\��p�6$���n�#�L����+������q�a����`���*�U���W@aM�ք�3d�C�H|ͳR�R柰��g��3��Ek�l+N���V��X���æ���$��R6�=��]w�N~F�A���4�j��[T+� �*��c� ���Ɏ�q�D�0��VE���+�vM\����8���#��qaY�]�/�fZ'��x�h������3�pa���)�,�����G�T�6k]� ;�TC��%ӈ #1�5�wS����J��XV����^�_�u�o=�a� l�����Z���.U����**��iU�J,hs��E�|:���g�T�%��f�̂6�V��}6͟≯aɕ��L<�g�a�f�fxs4灺��^�� ����P+���j�N��s�T�`5~L�p¥�k�ZS~��w�1�|��Rv��+�J��K������=!�T� F�S�[k>� ~���0c�����+���t�O��k����d��9�1f`JZ�"Lt=��Gٖ�O�2i��ILs�a�`���è���C�X{& î�}6�r��s�9_�0tm]@����%n1I��]�a))���>���!�/�Yѽ�:d)ɳʞ�FV��f�٬�!�2����}���z@~�����u?�25��6��_�^�]��~���@���;4���I��L8�x'\���#�,R�YxX�����bNVc�IԕA�?r�v�M1����9�9�;���?�iH�8�JAI"ؠ��h���eO�t��p�/�S>�Pwtq�0˦JOl�+ ?ʗ��?�]���U�G��D7Y�v���AA�E���XR��+���<�=E��B�xC�8r�&ܳiԅ�\�OR�k?4�ó}��eј!��y.�|�E���%���� Ā[4��3@���8{(&|O�$�(��Y���~sn���=gѩ]1@ȩ~T�ʜf�\����,9y�����J���E�TT"�f���i;&n܃5r����˔���-l�p��*({4[ G{����p����)����6��a����h���e\4jS��� ��_cFs2���ӧ��"��p�FG��9��A���A\�� �I�Å5,����\# `9a�����"�*��� 1ԵNR���͚dg��i9�,I����}���,��ٝ%6Ĵe�&*e��l(�GOb&-�]�����$h�`¡| �U� ��~���k�4�>)FZ�wt�gw�`�|\�����$�"V"�0�V���|�qN�R�ESU�1��#��-�B��-��5T��a�_�|"�ݐ�~]͌;-&�r@�� �� Q!�N�%�@��CD��!e�9�^����H��k̠�m�w ���L�s:�eWr�(�ʃk���X���pk��,���H[O'r����ġ/[���K ��&e9gS�)$V��^.I!��v'Q����[�������W�ΧO[۸>�Ā�~�9����o,���R�c� Y����_�Q�����ֱxm�\�{�D�uZ��pt>�c�7�b���%Vflʘ��o]~�{(�M,w��>QD�֓���8���P�c�i�ԋ���8ؚcr���٧������xs`�Ï�Gl+�L;_���Qt�/�G�#��x��wL(���ȇ��v4��\�̱%Hy��1�j��� �R>5����� �O�0�����4�5����oX���ξ�c;����Y�8�S�I�;i7m�]��'�^����[}�)���1�9N����9A�1�q2�qY�J����u[�U8{iS�u��^G�i���*�)&�& ��m�[��n�Eb�6����v�mi�;�C��q�"uhb8j&��Tl �Z�N31 v��zi$�������vGͤ��,�����|��V���g�%��z���4��W]Z��6�B��n%G���QÐn�m�YB*RaݙzN��}i�;I�a|�ǭ�@��7�Ip���z�v��ت�J��«TZI�ؐ>j�_�h��?��Lf���5S�5�n2[�\�,Nz�l�9��C�#G�ofsy8`����'<�kI�����e����l�Z�5����������@1��G,U���h�Eޮ��){�\Pm�e y16��'��2��]�^d��3.#���t����J&*�(V琫�b��>g#�i�Y�L���\y���G�"�q�@ ���c$��k $��\�����!4��OdB�T�6�a1�m]pb�F�=~��d��dR\���2d��iQ]d(�B��v�.�s�^*�9��+�t���/G�57 ho��$��t�.'w�l�~~̿P� ���i��Y[�X�+j�t 5��Id�s|X�/�O���BcH����(]��x���x�8�<قM �f���X�g�;l�H���&B`���c��wI�?ʣ�H�.Y��>`t4k�� C�r�jL]���)�ۦ��pU�r�'P��'x���E!�6���cY�Zd��b�IUs��~~;es�I}D��>�Z��8vT,��6��j�J��ڞ�{: ��8X��^�^��QY�u����t�,�v�X<��� �f��� �������R�g ���Q�)��'~/�������H0�[����ވ��`��i^��|<���O2�V`J�cj(,��b�-�p�L^�i��q�� t L8�44C�A�!��w4�1�V�%�W3,no���*�V�ST<��JW(1��ox��i�:�t��O���^:9ʓ�U)���+h���� �bt�,�9,��Ӆՠ�uN�������]"~$�V���v�`t���۳��;�Yb��D BF�O��M��d�8�x3}���f���S�s����1��Co����w���-���B*6��$Ή���?��M� Pxׁ�x��F�t"�ͳ��<��[ȿ��C��͋�;�[*�c�1?� �y�7L.Q��!#b�Ǩ�9�˳ӷ.��K��#'�$��,�5v���VB�bZ��H<p�b6������h�x�1�m6 F� �@p����!�K̽6�zG�ԡ��N�Ԗ+e�_G�����r���"��%���]H�y��6������9�&�ex�Բ� -��̲��,��V��F���h� ���q���"�+�m�U��.��]R)n��R�v9ܷ�)Dz���RёWrt&�V1��S�=W�%fW�|ɪ83������`�H��|�"�]3���&&��c3H)��脡"�\�~�(X�$�^��ވw�}(L�q����7���M�-�x��f �o�d��d[���#����� ,?�`�*���`& ^n�a�VNM��"B��'�2���hO�����0�,A\[1��Dzp�`��8�cاg�B$O@� qXS0�(�w���q�/@�����k��I�d�+���\jx�_���ljO�2ۗ=���#�7��5,>�X��ɫW�˦K茰y��չ��X���t�����l��}�� �q>���/D��x�i�A���x���E}��7�,�=�l�0^��\��_@�_"z���0���p��g{a����hV�(�8����W��vB�b��U�(�wZ�\yR�+��{_�d+�PI��,���\��W/ۢ�ܟ9⇇6q��͛�H��@�2�z����Qӽ�Z�}�PK5�ި�J PKSTLdist/summernote.min.jsܽ�v��.x�̿��I�T �J �(�%�&���6�U�dZ`& $4��u����{���E�1�� ��>���"2s��cGĎi��Jgw~z�O˪�;���7�;�����Zg{2,;O��3,ǝ�>ɧ�QU���p^W� �x�י����?��c�h^��*�u��Γ��N���Y^u�gմ�ݹ���q~T��8Y�O��|�o��i��y1ͻ�?�5ϧ��^/Klþ-���O�[���o+`Yޭ����]v�b�ڶ�5�8��g���Y�;w��p��C�zZ���S7A���Nz[u�����i'��z�g=�yZ�e��O��w�A���褘��y9��:#�f��|N&��ѻAy9����iUWa��� sՠ����z�ő>��1+�<���y�u��'��$*���5��g���Ӝm��>7ڱE�lh<��z>���%X+"���)V�֒U"�啭����8D�d"I4���3MؕQ����w�>�Ț��F� ��Ӥ��h���>�4,&�j�fݲ?���d��*�ڮ��`�yd�'̺]=Ӹ �Ԯ�^���ó3�P���e�_v�ף��A;7 G1X�����x��q�>d�a� ��~1۞N����^Pg� �?�4=w�}�;w�Ӂ�e�;�J�i�vy�b��w����1n��r��D�#���@��ٰ�'ɽ�w{i�Z��*l��ڇ)�4� kv�?\�7�N��(��δ���|L>�������k��׆�|�CA���c�w��F�xx8�]O(sX}L:�i1\;�*&@Oa:ϵ���N�!C�`|a�ڙ\����}P��y�uV�lM��!N���⬚��/]\=��Ű���û��Nga%����wϱ�C �鲚@�!)� 9�ӿ��'v@��|2H�H+���^ �i���8�ߡH�6?�41?��� P+��t�t�03��@��~�'.�hNd�:�ú\;�V���)=�XL�������bĤ��\+G��r-����Ng�-��,�����ؼNR����N��E�������dX�h���j��ڈ���f�b�Y7���Ia�'���Hxw�^��1�L�A�_I��j��p<� �����j�+�A�u�#%��H�"�h5y������!�Фx�\��e.��JeOY�y"�d��F:��z��U���vt����N_���xw��[�Ma�"�P�;�'��Z�ͨ�Tӵ��$� u{@�n�!]� �����R*͌�Y>(6��U���E��F:s�˃t��o&�<B��kr�`�9b��z>�������9��g'�89�U١,;H�!��\�,��A;�?�Q&�(ǐ�0��n:O�b_��-d�y��[�Y\YAa;1�<��oe���X���&D����A��A��Cx7�q���r���zM� W����#)$�K�9(�W���>%��8�pɡB=[�{�dҌ+m��4�8�f�x�!���^��[�VX�SP���&��$�x�I1㰒 '3� !�Iu,\1Fļ4C� ���l�������u2�5�ۢ$���(C�`�ml�j-I� Pyȯ`�W��hRq��bvZP��$tr��h9A,8��ީ��|��0�tz��~�̟hb�N9�F�h�$}Q��ʇ����/�^��Q��t ���߮.{�ZF�╒�|V��:�oQrQ��p�}a�p�M-9mc-cѳspcU���n�R�PD���]�1���� ~�]� ,J`��8���lFyO�u���7���J�V�o��"y�y�|v����1� T�<�O����x��"��1\���g���b�lӑr�x���J�*�[��Ј+*h=���FE�Kq8�GpE���_��П1eA�<H�ǀV��M�TB�����25G��H�qi'�l���P6��]�a�N�$Sm�9F������D4��V��N��G�v��$��9��� rP�Y�[�&38A�]S;�uv�Ɲ�Jʲ�� {v� ��3���e��9�g�f���i�*&[|������\+�gB�����J�MB��D+s.��|H#ҽ��i |��%����Q]6�R�~Q�T��%'�J�O�6hk��}~u�C)�P�V�cၻ'8�,T�J�2g��?�6P�kT���z�F٘�T��I�Έz�[W��w�a#���'�"��rS� ��&zQ��O��۩���lE>�o�u�w��eZb&����BE���'�J���{V�ֳ�"�`����G�q8����u�84�y(�T��cL(H��F�94ʘ/��тB9�X��є�Eq���d).���L��)Xg�z�i�t������@� H�}" �ӥh�� ���h꿂e�B�69��Ҷ�`�cD���5�Q��,.�>�&y:7u��V����w�e[de�2=��/��,��/P�ڱ@X�쾸a�7+`�gg�O�"N'I�����ӵ�QC� �*�EŢ|_�k�3.W�ީ����V�g�(t���w�I�i'�U��YNd��q�_u��Ht�v�������l�?٫+����q_���>��p�8�״Lz�� o�$��hSွ�J?$��/7푳�8 ��б��@�E����Ae�LK?�UG�^���vB�( O�Ϡc�?�-�},����*���y�[*w�3� 6�>o@�q4���G�Q��N�375�v� A�Fgl�x8aWw��I>���:�-�����>m��r>���ŅE�i:kc�����;h���_?�t_>F_��4U�mEv�"��~]��5���mDYU�F�K=Sˠ�Zۀ�jO9��rp�CY�!�"��>bSA->�ُ�aTΎ�ef��g�}�}���ȴ7�,k�B[�et�ta^�$k'�����*k��4j:T����D�Y=(7+�*��i�˻E�g�W`+�(C�,{�s���� �h�6��afM�:��6�3��4��'�`��x�e�P�U�|�:�~4���Z)���I3samcsu�|Pm��I��Kg��/fON��O��삯� � A�f2���? ����"ֶO��Z��v��ݏ�tUo�ܷ�:P ��m�`���e��Ͻt�f+?�NA�B�Y�@�syh�혬��e�� ��E'��6�aJS� _�O��1vz���qF�М.��v�fP��4��a,�n�8���{������"dY�+p���7bz~����t���o�^?���X�9����l8��?N�a�}+"��.j�F����}��__���|#���˯���7Df���%����ޓ�q��=t}�0}<XY���Z}��@�}Q�`?�[y|�Γ~����>�X�w���~���O�� (6�&��z��4 i]�_��5M۽��*��o�~0 �{��h4��.47;�G�Q����ۉ{ϡ'h�#,e]�G'T�uέ �����b�q�E^�~U����Ngͯ�닋�[��W/vN�Sl�|��}�2dt|؝��<_�����/zч$���e~8`�ͧ3������}��D�{��BC��^��E��������;w�A9tT}�8�o�O���iv���n���]Qku ~G�wN@ s�<������T/�y&��χP;aۙ�d۩z���`AO\��+Lܳ��m�O���(+���B��؟=���,̢8'{��Xg�S���u^�r�-��ô ֝�).A��M�ԃ��?��Y5G�^#b��a�P�3Y���}�{T�t�A�¶�%�����p�nrj�����Z���^�^Ȧ�O����{��~��O �|_�ZȷӶ�*4�����̥?^�^��Y?��fX���ʊ��z����f��{b�,٣���`W�}2Pn.Iw���^u�a��t<Rb6z Q�أ Ύ��wޒ�Xa8�k�:'j;���8��'.���/}���s�k~��{0�b�����ћ�_����ůO���7�/�\�����ޫ�x~���!����8���_y�� e�ݺ���g����ůϟ�����?\�fOX�_o���7O@�������C�'>�m?z�O�����6>:H�#J��#V������_�_���O�������o0vK�I�}~���� \����p<n6�����7j�ol���W;?���=L�OSff��>..t6��%�Y���Y��z�w���#��;���t���Vr�<��m��<8�>L|�8�y�`\'����y#f������Jf��� ���E���I�..�+l�� ��5��t��s�()~vW^�A�P�;J� @$�b�p�ՅT��s3\\H��)(��T�$GYJz��f���x+�wj�)x�*�w�X�@㬭O4~�Ӧ�V��lnA �Z��x �`WƲ ��u~�[��n�Ԋ=`[�$���f8l�v�C�*�Q͎M��I�?��V ٺI��[��T>���h ���+������n��;>��b�#[8�.s�]��6��8�8��Hp�8:©�9���(Id4��ߜ�}q!�}s�(�����+����{�`N�8�"�R7�c�� �q]v�ki]ZF2n��چ�vmw҈�:ȡ��*8��|f�q�7��<++���V��]���LUp*-�������51s�p/m�K����s1(�=G��[%��jyj����t �̕ Jo�C�f?�3)T��l}��~�8�Q"~��V7��L� 9 �nR��zsZ~Pn~�7�ߎ���a��� )\k��ҟQ>��!5�mn���8{ _eP�G�mG�N��חU�Ku!�r�!~�~�lΠ+�3MO *��"�~d٬��v]��k�QL��{n�Ԕ�BA$}�C|: �4&05�tW6��'�XH��TZS�D�a�|IK�(ѝ���Ï�����x��=����e�Y�(�"�t�?k��.���o�4X�n=0��p�����E�zKGd��/Z�D���ň]� ��D�^P��pOf(K)d$ h�X$�hE!4�:�w�� 01T�ѷ���?�@{*`H�f�z�K� ���� hmXW���+Q>��*3l��.E0{&��ޓ��m�yɮ_((�}�'��)^�{��Fc\�<����\܈���)��;N�d�U���zp������v�n��^��x���o??{���7�:�e~�%�!7ae�*�O����wFgEX��ï�t�. z��A��'������c���[ �Q�k95Q��zkp��'Ъ�q�e�d�2�9�\@�n9�_��?d?��|�˃�^~�H��gb$�>U��%�ݻ�A�-=+!O��?��Ѥ����x���p6�[��S�$��O2*��*x�ʜ��VŒeE��pq��{b5�~QÓ��;9t��������K*!Y���|�38U�~�>�!��_qc�Ϭ�/���]8^�q���Ky�H>�Ϸ��V�I���?q�C�g�����O�H���9̞�sUNO�O3��>̆]o 3��� ���F �@�%�)�V�@��KX�ꓸ�Y�I#�W���&i�\x�u��ys`�6 ?�"�6�!l$|�0��bQ�hWtl6;�7�&�wgbˉ���֫��4���a��x�<���;w(E��'n���e���߹C��W�I�٧Z�G��C����>�����c�� rb�^ຸ�U���C+j�ϯ ]�Յ���,�o�ڸ�/G��W���X�d�oKĒ4�'���i=���"��?{�ܶ-ʷ�����#Sx6�dz{� � J��Fhc�@m ���<O���v�p�١ �#$�8!�m+�V� ��H��n1��DY����$?(pF/�!L�3���t~�%YAa�/��]�g-��ɖ(n�o�0<u���� ��j�~'�c�s<��ap��>���e>*&t�(.�ɗ�#4�� ���P=a!{��A-��z��3ĥ���o�٫>�t�N��<��J������dlb �nf�^bu��is�fJu]�&_���?���Ӫ\��v�*t����b�@W��*���36 �ԅ��n@F�y2}t�CU�7�L{]#�R����R�/@B�V6�S����e�ټ���Q����`a��Z�W�7y=��I�dF���?ğ��v�cL_ �B/mĂ�r�RV�9t�b|��ک!��/�ბ�Aq�:�a-D����`��>b��HV��BZrt[?Q����e� ��l`��[_o]�7�\>ݟ���I|�#��g�s�(�� �x�Ka6k;g9���Fn�q��A�<9���)O���p�5� M�F�xf���%B�G�e�:c{�T�c.����3�+v��3c0`EJ��)�gC�;� �3ǝJ�+����R[l>�Sc�+�|xz�g`�7"ʅ*N�l$~�F%z)N�U�RlF@ �s8�C�E�:��(�ݏ��߅3�?�=�ro��尻������/��?�?�������#�_�p�D&��r`2j�h7���ke�����m.�C��dD�Qd��a�j��z}+���/;���q� ��2����+�F?��11'�� �ZHh ��B�`,9��;�q��V�Ky..t<�C\��H�V���hą��)���\�]�i��Cȡ���RbYs:� `�g_���Q��*��T���ýap��μ�:���!����~n�jе j=�a�r��s6���=\\����v�k���H@�(���$/���&�p��C,R�<¿I [8�e�3���Y�'G����I�t�z���оݑI&�{1y��rGW1�T/$R�Z���.�a���d ���1��!\(�3�>�QA�-��{��/b��q�g�y:��I^#���0SLO�v��TR�~�ڋs��쇧Cx��|��2���L%�Gt��a�����r ���|x �}�ߘ���,�<� $�|�:��|�)�X�Qͷ����aI�=[1%�KӰ�9��,Os���x�;���S�+���!�X�:�eHl�|>��,��3�@^th��@��g�A},N�R`W�,|!�;\��2O�R��ۤQ PFy0���SLX��y��9X�U��Ml�(���2��5��sUe�'�+�} |~��/��),��o�F��������W:��O��"66)���X�O/*�q�(�n�ð&�\���Z�\_Ω��(��_P@��%T���W=. ?e �SWDo��^�pl�:pp�O���"M��s\mjpyV�'�g������L��K���g�'U��>�}(k�=#.�Cg�G��Q>�>d���h'D���N5���O����2��l��+����}C�|Hƃ��s�9y��4[XF�ɜLAFb����9�Af����P3|D�f��jz��Ohd�3TU\�j��ۋn) �YBU%�}6�t�=������k<}㞾�ӷ��[<}瞾��ճ�|^VS4L��Ă"�[�|x�?�5��8'���sx�A�@A{�.F$��]y/��9�����M��@곓��L�����|^ӿ�?����3�kݗ�'ű]m�;���;}��D_���'oqD����p�V�������> �Cz �6h��o|�4����_q��5| q���z .=Yb����:x&i�^���J�e�'�]M�d^��5铀~���#���_�7?���ṱ,_Ar%�+%�B0�SHQ��+U���l/ �Ė���Y�~a-����tU��H�v� ��r��t�b�O��C9 $(g��k��k�F��(=���Tޡr���*cm��o�o�glnLwx�v�7�h|RQ�2��72X�V�b�~�'�-��{aK4�i>ziK*�R�r�rd ڏ���+�ΐ$I���E�Y7H�����.{��[[1�;�~T���S�O�;����e I�Jzc�O�t��F�)]n���щ�*,)��G���Pz�����ޝ��g��k��q��=P7�ܧ���V m��P__4�%��8��)R}qpS���`�8��ſ#U���xdxn?����?�)a�PT�H �Ùq�r�� �=79�~"s�.�&w,J���p��Z��==�y���CC��ޓ7�V�t2�.ݰ�Hr����r � O`H}���LX;O��S���'/�P��u�����>~��ޓ����O~�˾�c��u����gz���ǯ~~�}���|�b=��{��Ⱦ���g����o7��M��}��6��k��.����c���}��w����'�w?�ϲ?~��9��7�O��M�g�.}�}?�;�:}�}�m����ҿg���#�a=�}���4�aC�p���^v�T�*_��_���� pb��gt8 ���O꾃[��r�!�����S8%R��J �rj4M ����W�,m����<MPƀ�A�.��zJ!ٓ:��z]5���͟UE�8([6%�Ʃ�����^�g�H��� >V���f��^2G���$H��)��#���쿦S���2͟�c�[�`^e$�^% ���G��{D��u�GtLQgt}���k"�n�Ö�Q߃p7&��Ϡ^A��� 0�?f��Y�Ce�l�t�9����6G�Y^�i5g5� ��`$��^W�����8@X���É�v�Ԥ�Jw�� ���k��R{\,(� �T�1i�ʴ14�A]32(�n�-5\�,��3���A�U���ûм��T7ȃ)>�Df(����()<�E{������A�h���M�ʝ�gZ���]��3��L)�rVmΜ��L<و��z�)�ͱ�� �Z��n��6���X��a���¢���>#H.۰p;�j}k��z�NՆ�2!��m�H(i�1�+7��HD�X�͖�_�ĵy^��^��-$.�a�h��Yeӕ��I���j���+Z�^��%G�^a�y�?�[]~� :u[�W[Q���F��VP�E�O�V��b�?i+���ӘK�Z"k�\m4`�����_~�>Af�t�y��$��,�1PC�4jn��HCS����N��l]�5���x�� 4����������8#���q��Y����2;��%��3h��[�]��E�� ����,[Ͷ�q�Ғ%�W��8�xD���v1�`��U�{�T�mj!�/Y6¦��:�,�=�����q%�pv��ĵ�XAM%Z�v#��1v��V��~V�����Cj�p�YV�؆\�U�>�O(T4O���̳}�nEo���z@!��G��LP���� ci� C�o��2�50 �v~Bxwq!�J�[9E���<����Sk\����f(9Ƨã;�}g��5����tX ��!�*���@�H�jG_C��l�A�!�Hi1�|{K��,Y?�|�b�M���s-��G��`x�`�E�e�\�pN-�h���Ϧ������N����bv�X8�"�gI���)��Q��D3�����8~ �*���[H�-��"ǃV\\��3]�p@��8������:� d���p�x�3:�ӹ*��h�-�f��(�g(I��H�g��j�8��;w��g��r�X%łC��!TP���w/�є8�_?�̀lQ�.�t��i�pR���̭q��q�a�Є�H��Q��65Dnz��|CF��(���� � b��rk��+8��8bF��]U""�<�����p�q@P��{���$� �7�8��2��h��!0U�����f5��b��ޚ��3T4{�h����挾����1��i��W����r/fl��f7����ݔ&-� S�2�5Q��w� ĭF���m�D����Y�K:���*��`�����B��to*�1���Ӳ�5� �#zNC5P% q�X`�D�"';�3}��ŕ�ͺt%KqP�U�(2�'G���Wt�sw�YA$�qB�6T�M�f.(=-���#4�qS�*U�@'�x'��d�tE�UE.x��c�O�O@3�4�(���a�D�J���F̡SZ�/��#�Wb9)���EȎ!p�_љ��IhPC�ׯ�����u�D�F+���b�R$�f|t�� d����ʮ*Z��Y<�.w�#f�b�Wps �L�G��3��q���Mj`�d�����{n�����_1���|�yJ�� 9_*чh��>@�:��5�ň������W��\L%�x�Eŋ�C�N�����B�&аC��P|~���П��H��W%=�qk~}���2.e�4%> �Bҩ�;s�?ON�|k�*<�.����L:��M��܁���-&z("GL;E�����h�龊�9�]�db9#W4X� �"�٣�S� 2�#j�I9$[��B�Ur�(l�H^jФmC�h���v��@E_ Q]�H��$�!����f�\b�!Ν�Ħ�֠��^Ɣ�Tq:ϒ��BVJ�'���e� 3c�ABW%�R �6/���&�6��D�J�t�%�����qG���QN��3' $"�[@�6-O���=%��ɛfjil�)�TD��hx� ۱���V�U���&E����Y�>�x��W�kGdCc�a�UF��U�q �D]U�Jg ��n2.�B/�P��$Y���Rˏsy#]a���F� �ٙ�x��ra�/��I]�:"�𦠧0éB3���h��7`�.������N���%7c��߰�x�x[Ct����5�Uqq�Ă͑l�����.T��d�+2Y��б�p�(�H3�97 C4L�v��2�R�!�;f�lE�@�;��9[&@��BH�Мsz�0H12[^��%��H((A�^�Ќ� ��in_����Nn�@�/�W���Bu�P|�i��GC���B#R���`�k#�JPQ�ף����sH^5r��,nE8+|*��N Ē���tC�1Fq-��Ny��|�<�^#{"��Gߕ������m����Ƌ ��d�ӳV�R�o��L�!Ȣ�A�^8a J_{���N�7�ݣ7Plao��ʠ#@��iK4w�z�A�Wo��)uֽ��4vG���x�!��;Mz�E�Д�П�V4,K��3��]7c����C���<@�b�._Ka��,��]X�.�t ���C��vM�gnd��0� ��edz89}$�̸C-��Ӕ�Ɇ}iv�l�˱rk�2��6�?)0�)T�}Ea�,�1�?�ۍE-��%�r�n ���*��<�bP�rzx��Y�G�T����z7��{���$�����d�?UYYW�����'�ɧ���|K�� hNR�߁���;n�d���c<�|�ٝ�QNszQ{�A*<5���p���E�?u��H�L�� 9�~V`��ԗ��@���<�KYqP]2��M�O1�E:�p�qO�[��? ZP(x��n ����C�8���2�du��bc�2���'����ӧ�v��B��s4�X$$2]�+j��?F��;8�[J��bڝ�]?/��11J�`������I�-S�{S�9�J����0�$,�5��;�����>8U7J0�}ɢ�vd�h��$<ڮ��KG_�X��5�K^�u_�t����99�"�O#7�J;��Y {u�>݀ѣ� ����NW�K3��Y�-N��v� ���^�5x�)P�#� �tH�*Н�8�6�Bg�(�JJHH%�L+���)��AQ��� S�0 ��gbbbB�Eu�>m�����p:�T��*=7���Ϫ� C*��E)�M�L��v[�cfXj|Mb��\z#��N�'����l��T�{� �V� lm��4�!^��tO�x1� �yF�̈=� @(�#wS�{�4����v��v�>e"V[��ա���xc�2�+`�VܵΠt����%8��P,�|�P�����"�i�e��JS�1h ɜ��ܳ��A ��&y��DoK�f�M�X�kd�� �2hn4.�1�W�㋡)����ż�5_�����|��` �=q?8Z�5�ER\3�(Δ�F/��5ĸ}�≊��Xvz''؍eL���>I9v%i˫�98�9�f�M@X�B�n�����xC�72��t{k�Χ�Of�B(j�t�Q;�.1���8��_jFhlz*TV�PwH��K�!5S���ps�e�����<��b�I+��`�R�9ӽ3�'��W�%��M�v4�R���c>���!W�(m@ �my�֢e~�d̹'q���S�:r������r��� -�3�lAn�wo %�� RI��[��,xu#o[a$���>�j�:�{[fl�W��B ���p����֣n��7�ܶ��wI#X�E��]d8AitV��Af88T"I�%f�V[��9 ���r S����K]�U�wz��H({�����'�*�c^(����?�x ���#PFj����'������G��ܭzl� ��3n 3}�e�*tK �� �LYLp�#z�#��.�k���p�-��66��a��"�0DAd�`h�4ז��$�sG?���Q<�W��n�K9dG?JHqM����<�A��1N�Ѩ1@L����q���f\v� (�CPΠ�[����K-[�D�ZէL�gᷨ�4�"��4������.JHB�5JGA1L\�NrVЋ�P��fqP�Y�:1z@�6��C\�A��~���D�YM!�En�ё�h� T� 7S�EXR [��5��6l��zyX�$����qt�=& �J;$��#�Ţ�(��H��f3�^F� �v ��q� �� �G��R�C}��t�\�jQЦ̂�#�1/M�DW,ɇ�K�[��V�B2l���e���8���1��.�Zw���y����(�2��h 8�DD�����{��3�8uD����z�?Xz�˦�"0�5�m�L�SDz�=iLҧ�7u���*�8>���T��2�< �L:U �k'�I�-�q�Ps�0��=8 �!y��O�K�l���O�cd�C(q%M�j+c��]a��r�SB�d��؊��9�w�5x����JB¦�J/�GTb�C9GC�>/#�:>�XI��G�=�sY1�Y��<��m��F ��J��h)�ȎU��S�0:*ˣ�o� +�,����h�ۥ:g�m4˞�Z:��I��n�cz��uɎěB/��I,4M�!��?&�/�e��y0)�'�dChT(+�����-��Uxa����~n��=ĩ���.��P�2_K.J��9*8ǵ��!�Pt-�MF-�I3����/�X����Qx�,ŋ9!���m�j1��D�������np�I��a����f҈W����d�(K ��^��%A�dp~���e���$�2�3��D�@*�7���vZϑph%3.h]��N�����:=c@8\�W�r���Ay�A��1ф�8��H��ldP�ki� �"�d�������ӯ|�� �}��G��� @�U:G<� ��Z�E!�dp�kA�+�7LWkA�ª)�������e#��g�SUm_�S}.�l��=��Y��q���hs��lY��`����q����P~r@+p.���#2pX2"�9��`DG�у��#;��A�j���aP:���)�0T��oP�a���֣�������������w�آ����9$��T��rlb���p�s2e�=�4����P ���,2}dtC.�������q�o����l��3�W��$P;�\� J/�Ų���H1��A"w�N 9�ЈG��6X�g� ��Up�,a���X@�.����#���Lq`iLyv��!���aV~^ZJ���Z~V$D��Ru�ö}��"7�L>ң���&�8=��s���H�z$7Ů[���H2�����}��C�0�p�5p|���+!�?4 �'������4yJ�Q���qA�;]>���4ND���-+����������r� Ug����`I����G ��p�dR�y3�{!�y���猃m}r�wzA�uA�c��I�Xa�e�� ���~�x4K�W\��b�I���L(�+ Nq ��L�%7�"}/�@���:g�z�O}k/�M]�JPٟS\�1��l}3�O2�o�`v?�\ŋ� 8�3��=�l9^tF��i��M`-�ܴ�fp��C��͑�+����x��4�%<��+>����6RO�����2��=5ɾQ��Wu�6��>AB��I�<��)7<w�>Ei����W֜#e/M�$�ˍ���!���.N�`8a�mr�4M����v�ˎZC�Wa�8�vU�Q� ӗ���0��r��z$�K!;r�[��̐x�V�H=��^����i���""(������L9�H")�{<�x��N���C��+ی��谐}:���9z�� �%�\H5=2r\\�L���6�9���1ӫ�b����rS�1���a(�n���$1��!![��h�8��� �0c;��,"�\V����@ =�te���ި,���m� 1���R�9&u�f�����+σ�6%����P|B.�9� "�$��*�C��~r��W�\,W�z٣ �X�z���^J��#pA��^xk�̠Ɇӵ<!T9�vaw��y ���]���)c#C����6xz�n]\m�����~�V�a+�،�3���Rf�iK��pq+ o�� _�߂�oǀ]wؤ}�!@XàȕUn�)���F�}�-z�����MAd´at�~3~e��y|đ�G�|�$rn����;Dg��>�\��{ H�1�O�``CD�\#H_8��h�Z�:��+���j2�k崼��u4�^�KU�o"��V�|��Z�Ў1-�5�\QA�2E(*.�.�w��gh6vWHF���n���Z*ĀqE�� �5��>���Y��t�.��nK��!ϡL �6�D�����nd>{=��@E�aw�ܕ�H_�:��u�o��D��,[$����YE�Rp��ZP���X$JH����~��Vw�֓X/w��`/� �[+�G�|D/�cl�}ݴ�c�0��}�*y%���h�+�5r��2 ��F��c^�5�l3��'��B�Tn��u��r��KZL�Ȭ?�;>f���;^�i�×��[o���MNv�3����f�7څ��ŭ�����F �"�b.Ó�%�M�g�z�R�zL�U'ت��:��*5�s؆���p;mK7i���X;u �r��A��SW0�6Ґ��z.g6�Z����c�U�Sx�Ej2�)(�� X[��c}�Աc*���G`��&d��D�?���j!g��6����.4�9<��ݠ�PJ�c�Xp�^;��C�+c�%�g���Ghe��x�nm�C��-�3d܈7+���c�'�\v`wgqʣ�"�r��wlFïpC&��q�����G�خs���� d �>3d��8��"|��L�z1��5�9Q9ټ��O8�nC��� �m��qJ�T}'~�"��h�e���[�����)��ۼ��������R�I���`�"(����݄Yё��i�М)���U�}� _.��I-����e[y��R���c�u ���M^�TP��"��%�Ee�j���-m��j�;p��y��"�!{������B��K�-�[41����&�K"�2��I/|��)>���i���UρK8��=AI�(��Qf|�,Q�����`�<)��Q��G^�wEP �c��x���=�yi�gU���Y:@<+�N1�P�����c>��k�F���k��@�k1��!�^]������~:8��`��KA� }�l�n�~�x�wq!���E+�p���q����kz�)��3���'4z��� �.`;-��˽�f���1_ q<X�n�*p����T��@-϶�@�5�l��+�͡ rP4�,nX�ā?�eM��n@��i��,T[�vD�n�zT��}q$_�� ĝ �`ٶV���1���Q��i�I�ΤS�iQ#�@R�R��P�2t���<L?l��-�6�l�3Y�R�@�+o�U�KG�+��-�#bڂa�X�#��m$hN��sn�����U�6AE{��h� |�]��S4�2�`;_=k5���j��h8���#���f`x��L�,@:�]C�*�hJYx*E/ė��Lq-f�WR�c.G,�� ]o�X�K8�<&'Wh��>�4��/e�r�VnY� G�%�jn������%�����+:0� :�50�Mː����1(M�g�F�� ,[���R]��"2���l3P�:�0�'�>!I�"�V��A��ܑ=͑�7��5��ٽ_���1\���������Z���d������=^����N�,�w�X\ ė��]�Ѡ;cʖ(�$)��?�=�C ����k��L$X�Yw�.��p��k �E�n� +��6�`��b`�s�P�R'��!"�u �N��Vs!0�&�8���JS�A3�E����h����Ħ��(h1�>��ܻ��JJi �0u|^ROd���&�YdҹPA�Q��8�r��-�Zt�%�Eq$��A� ��k�Uģ0�+�-+����.4ٵp�ۻ�a:G��K�.ۅ��H'�,B�ݞׯdF�5�M �m66��n7'�a#��|�v�J�Cq��*s9A�$��D �<8��V�0���P"ż��ǼNԊ^�b�\H�L�b�z�,�~�`H�����f�MN9f�]��:v�g��5�A.���Al��+���Y�k���D����6���e�D�Ӓ\�hK3B"�a�Qݫ���bs��1�m���!_M�'lԒs߆�YkV���(��f�'~�1����&�q�pw@�s�%��0�m:� ݣ\D�%{z��m��%�O{ �ʐՙ[��D�=+#�:�Z��Zz��p��x���z�}�d�� j�6���>�����5�A�v �H,�Eװ����r�c)^�\6;��E��R�W��l˪�����d8ݤ��tO�����r-�7(7q�9KѬ��f��e]�"߬�)ʪJs=��.r���_!{�zU?�v߬dGʼ�l^ɡ���q~�;4Fy�r�M8x�n��&��1�)�zj5�XR4�ײ�<aa1y�C�̀�K{�Y�nXL_`sq����l�hܼ��g���f���Ҥ��X���<�O�7���%�Ў�U|��^��sW��^Q^�^Q.i�ֳ+ �Pw Vb-����>y���RA�k�i^�tH�|M/S�����l�/����t8�s��J��q��=�I)9�y��o@�z:�p+N��.�f��Iq�}���=H*�IA�Kl�������8_ z�]"�q�ٯ��h5A��bk�)4"�#�2��]EILÑ��rC���.Y��4� ���,��h�@�7��1�G��Vκ����~�-��0����X�a/�W��c=�C�pb7�teƼ8г\�2}�z�iƈ@�`��'L��Sh��; �1�)���:��h� �~5�6R��u ���k7�"8�z0xp%�NAt� D@�w Ά�fa��xB����B5��t�7W�2w��hci��B�ٙ��o�j��<��LC�l;��Ƹ?̝�]��|`�ld��0Λ�\K��DR�N�JK�hʤ��<H�e5<~��M����i@��d�Po����d^ȖQ/*���5�#-��m���b��}]_K�b�W=�Y�&fi� Ί�@F�&lد(�F��i�I�߅�b�C�p�l����˘]��6[/�P�8|�v�9<��R@'oVƮV�S\��;-(���.�vH��>C� �\O�#�&���'v��z�K�uW&����l�;�T���Aǵba[�1Z:�Ȱ���c �6�oÅ���/bD���Q���y-Xb� T(~p@���X����/�;!�Q�T-�S R�!�����ل�Ꙟ��f�5.JI�͠8���ꅛH�aD��(�+�X�.yP�ә��|dg�TC���JR� �`7�8���Gi��\�C�P��Ӛa���a�@���'@6�O^<(-�v����+�$dH��v5J`��:��!r�[-�l�l`�G9���E�PV�'y�'�E)���y�x�U��t�H+���݄|x y'r � �X(OS�#�$�O�NU�Y�qk Y OO���5����WgYQ'T���u�b��mkl?:�b�����Zkg� �<� B�qw1V_C�p�dc��/LR鐉�gRgD�O�+g� �l����8�� F���q��*�b0R�|6�&�ϐN�tj�{�8�>��mL�$:�k�A2�|���v��4����;�����o�d�D��Y�ւ�x{F����8]��F����dF(h/�4�{�ƀ#\���;ƒ�ɑe�v C[����w����R_0��9FNG`FAgȃ��.��/G�2OMBAf��[��%E� l�h%����,2��q զZu '��gO���*��,_b쯁�ĆJ�Ta�e@Ё�Dl�D_�mhߑLQw�N�������g&�2��.����ʈ�I��݄Yu�CU�G�kz.�6@*��_��A�@Ɉ1U$�l:�HNR�I���Kj�)`�]d���O���g�������,��Sr�k��,R���PwXSa�lSM��K��[j�@bNZ�?��Z�q�Zc�TDZ��P�{�"Cn�x��>ZpS�p�=h�x�Oia�/�_{;d��Q�]x�˭����6��]4�,�w#RYK.Jl$�-�����v�.�7�H`��єb�7[�@<rF��5�B������+!e�@����8z11����4�]����$Rusy�%D� �H���:Z��AcKr�������D�7�� D ]�7����t����|�0�R���g�7�p��PqZk���M�����~��B�������-�d."'�J�����H�Dw:�� ��ɳ���ďȄ���ԚT��?L�Zs<��lj�A5[�WlUrE��2��H�`H�B���N�(*9e���m���x1�"5 ���=�207�D��B�d9�U�a���1i)v��ctZFӟPM��ε�h���Yhэ���+-fޖ�H�G��v#wڛ_\s@� \��lZ�'�]0��rОn��E~?�$��!\>��8x���R~�$�ᡎ��É�3�g��p:�a�؏�G���&��Kʶp�A���&<:��@�;��Ν5Zi�m�1�B�L�=�����%�7��X�ݮ*�#g(���A��Kv���O�εW52+l ���S����T�vYMx�W������+���e�� ±c�E|*����P�|5�Vg��9���:"��K�~M�M�v:K������=DVfaH\�u'��H@��Q�a��,s�۳T8d"��Ͻ]�c [�n�d�8b��-� ��$: �EE�:�6h��^\5ĩ��!B=_�i�m/姡�GݒDX�����I���#��-�q�_>b�(]k|��8�q��-Il��Pz�,y�[���Zj��*�h��/��u{�m��*0�@9��sD�zx�&� tKc��&��2��R�wq��� �]�S�_����NB*���A�� ,g�-* (i>�"���F���ӌ˘��=���5��7k5&d� \�ަ�:)q�2�T�r���Q�x5Gj91R����q�� ��Z�:�E�NK7��˒����������ݙ-q=S|�#~L9s����PuƞXt��%�{.����i��+9�������ᴦQ5��_yp�M�3R��+����f'��v �z.�H-��� x<#g��Dw��\�%�Ul�.��uQ;�U�`��X���w�׆b�*�6_�@o ��R�G��%�@�篹�`��?���}��0���VJ���Z��cFm6� F������hG�ܝ����}:�bR�kq! J�J)���A�~��đ�x�^�y)m{���v��_�h�&�������� 5���h�1/���Б�e�P,�}*G���/`j��.�Qٮ鬯G���U�LW�����ɰ���d]���]YrY�����8lGF���*|�ݢ��y_��B����sS��]���#���cv ��"KY!?NÙ����"]�kd | �K���mİom��G�6]�a��cuU!*i C� :/(���[�=�����G7K<aE�Wz�*M�Є� ��2�*{��Jf�ˊ��X��(�+ nG'{x��O!i�jA���Zt��+�8�{�US�ڊ�S`��f�����O��Q,"��$��� �t ��x���gI|�����b'U�]�y��@��坟�2� �:�%hl6����(��SmRzc�Bo4^8��v��.9G��� 7��3��ȵژ���gvZ0��38��IF:Qţ�<��,Ʊh;Ū�!f~#��A^�zl�)���t��[�������-�%�y =Y�6^$O9��4T1�]�t� �ʄ�F��[���bPR�p�� Ft�L�c�p*~ng�^��e�-JdQ��36���{݀@\�.�2K�"��ן��a�s�ޚ��Ѵ>ni���\�E}�f!�'�/p� v3G'gs�!'������|xL�l �C�����c�]�e��~�:�<�76�b#��}R��5䀿� սN���KC���m?"!hK\~£��6��1~�&>���k�31� Jb�H�y�#@cZ*���p�qa�$�A5��D�D`��Z�e(.=� �����uR��QY�2j��+v�Y;P�Hf��\8��+5m����o^�b�XB�c��iG�c�T�� 7(p��/�t4��������్L��"��'0*~eoKE���J5��r�m]ۚ��^6����t���?�÷���8m�����w ��Ƈ�%�UlDvG�!���㪋Q̘yD�A6�}��V�q���E;0�b�{Kj��9Q!�}�0�%ʠE;���'��`���m'܉���A+ٜ�;+~�|�I�MS��v5G�5 ���X����Q�.�?��kj�o_@(,�oa�� d ��o��Be�O��k�b1|:xd�9=�8�l߳��[�1V�Z�(�=m2�K��q�A1?�/t��7*,�o;���i��������b�w�,0X��aI+��J!\���|+�j����ۈ�ۄ�l1c�71b,�0�ٸ�fMC) !ܰ���1�}�����fOpSqQ� x�U��k�[s��ϻ*�#�LԠ[j ��� 1O{8%Pnl�F��u0�傟�&ɖ�ѭ�Z�kk����llK�3� �`�8�zG�gT4��!057#��2��hӥ&�Vˌ���%TFJ��Ǐ�А�� J��4��*�ƶ��ZP�-�� 0�"�m�y����{���gkp�m7+>l�GvU�t�y3RCބ�v��I�c~QS ~.�VÜ˨��Ơ})|��V���[l����c���A����Z6p��HL6�Gަ P[�L��*҈3T� �]�����*'�>;=��ڙo�~��2��>ܯ�3�,$�°3^芫>�G;^�pN������,z�ũ���1�j �CY���(p�J^"�9n0���, ��}��\�*}�a`o�p��sG���h�c�9K�ig�`]p���] �&'��*��1���ݏ�ZW4�?�"�*ZM:]�E��$�6Zw��$CN��T�4Elk�i\I:�@B�r qM���B�����\B���L��sQ�%q~�(i5�61=��V��J�ŝ�8v[�An�G=��k���?��:�������\];X�_�?|��K������ߗ ��M!�L��%D�А�D� ��61gX[J��g���1%��Д�T�1]��I?��-�"�T��g\@��Ԩ�+����ҫ�K �ŷt"�B4����S8(��{����CCPl�ξj������~�[ȭ�<�[��;�S����!�r%�)�d���0DZq=`��v J[���z�hBF����x�hiIj�ڧ���;O`pQ��%p��Sw�5W&���<��c�½��Qj�k+�겙�Ҿ����}��8��Q��EjۋF����Y�7BF��[�?p���(��"Jj>?kMac�q�G�n�-Zֈ�nD�Q��?�O��p!uQdFκF.�0��.=p:U�r����Z�夕�0]y\sb_�Pй�++���>f<�TS����� �G��;�vV�ފ�����\��7�u�,ڽ�|�et��p�7���ºI?� � ��k6��x�B���Gc�s=p�l��-� `��nNc1/"A��s�W�~���k�\iN;�x��*�Z�^� ��$�+��$#�h�"��G;�>k����4�>[⭁t,`�L�n��d^I������Kͧ���M=�Ȝq5I��|{�)4����5o��|��ǽGo�w~z�� ��7��4�v�)�J�Kd.���u�R%�1Q���� $�S#:� �%Q\�N��특TsD�J������H[0O쩣�#��면5|Q���2�h�G�?h��x�g%$��|L���`�-��o�oPS� �GJ�s�l��'�>�4�a|m`~�$�Y�7Qԏ��h���a��ڏ��|��D�-�M�16<�Z�㱟(�N+�N���3�u/o��i�6�� j��O���#�Hęؿ�UY����N�k��H9��@)��F��.������{4bRf�-��iZᬱ�D���.B37e9֔^�z.,uш\CtC�gE�� �g|+P�����q�#�{���͊��`�O�<:g�ڳJBmK�{�u��R�J�Z���{��YZ5.^m� `�u��DМ�|�s��X3��Z��P�S�3�3-�1�JC��3�Z�T*c�kO��&��j^��M:w�c!�j((���{��Z�2������2Q��Ņ�HO ��`�T�iA�tJ�L"haE��=�0�PD�+�(��)�<Z"��K5B��'�E(b9�m�U�#�嚀i�5�ab� yD�5qx!l @�!��_�=����]0!�Њ���� `ui�k8����95�ȭ?��}a�h+�a:h��W�Kk9P-,��aIs���*�E,���C��f��x+�u�pK����7m�4�f��# ���o[�PТ�p�o�0]| ,l7��7�SD@��ǔ�� `�J���}n����E��rS�����D�����S�L6���>k=��(��fw{"�z���?�x��'`��'��*0��픪F�o�Q����)*r3@-!%��n��>����2����w�b��P�pX`�7#��U>����F@0����|�"��x��Кc)���ͼ�d��{�9�1��D�T���^�k�^;)��N�宋 �w�n���v����&���S���P�l��p0)��-�?9K����9"yk�Zi[E���p�D�YE�3P[sg��b;Rpen|b�sc������x��q��/'e�r����Ã1T��)�qf�kI�XQr�"9H�D�'Qx�Y������������=�����i'� �_!��=�ڙ���y .ɘn�K,�{���pi�iWSd�78�\��l�6+;�[�<u�*���B��uSkUk������ִզ�U#X`*�F� � �P�^��!�ALYưOrU��w3Z�Fof��E7���Z�w�n�Jc_�S�{M�n�����\�M�H�� &gH�(���F��c�x��L=M��G���N �)(�ʕ��U��N��M������)�q���=Wb��w6� ��c���5Q���o�1�j���h����Q�(��$)c�EX� ��@b��&r�FGp@,��j/�I�QH�Z�4���z� 4��=��5uBk��y���0�B�?�����X���gt�@�wT��H{�q��=�� ��3Z��g(�p�a���z5�E��I'��3 HU�j� �я�Y���P��=e��o|� Z�g(to����:1�Dͻ�k;4'��<����ROƌ>Pɫ�+�A�lt�K<u8�A =�sg��yn$(ߋ-�X���J��/('Ռ�ک_d�?���q�F���*-Zn�[���s�NB�K��U.������6Z�r�HU:����8��+�[9����,��$�Y��|9�2�uu���$��{�y�n������r \S�*� �<���G��ɋ�`��Ⅵ��5�D�d��@/z\>�ˢ_\)%& ���T�-�ÂU�ko�e+ne���ʫ7��d{R�~�Dv�Ρέm*��:M.�����ӱ�1�ɗL� 儫��A'�uӑv>{6�6&3���y>c���1�p݄)����ʘ�3�/as%�1S�!�)�t&��g�*b�Ϝ����K�e��_?�~�����xWHp˕9U�x�7����[�V�lB_}x�����V��|���*ۥ��7�h����oVϑ��v��r�b�����1՜��y��r���dh���2hN��8����a:IG��p��6%���8���Al�BUf�e��!�}�+L>�\�|Mh�����4D��c��b�kS[J��v8����y5x����ߖ��W5���<�v��o��d<W-�F4˿7^��y��6��(��u�iQ܌��g��Y;�9$��YnM"`G�@�Hɡ�=Fj�J����q�55eck'�D��S�oTi^6�9��EOc?%c�<��|�l�(Q�=II�o�� *,ciz�,�Q\�\دk��G���䜬&������� qJ(�ÊJ�n�r�A���>�R�N0�K�+��3��x|3�%�p쥽�p�阍,0&���� �<��N|�0�n:Q,x�ˏ[��������0]��ӋJnv�� n:�����x"���4�m_���4��gM�$�:7��Xd����kɉMfy���":yz��f2�9��f7]� ����茫 u�a5!�ϴUe5D>���Ip�1"��G�o�Ծ<|�w�l�fd��G\���}�L��0��Զt�y�ҷ�%�ػf��S6�0����k�U;VK߷�b�r�%����'�F�N��''}�nrZ妓;�'���G��5����-���� K.'�n�-�M_x�\u��A��\�݆�pc���[� �o���:�����i�,�ê���[�%M��G(�\4���W�EZ ���� 7�o��}{��=N�>ov�o?c~������7Z��̇��~�1��$u�c��[g��.��x��@�Ҋ���[MKj�`� ��r^F϶��Ĥ)O��nѓ1J�Ϝ�Tl��[��HW�٢�|ar��3�Vr�7����_��q�œ���dɒi?��R8�x>��9Nbqݭy�?�!Fi���(�R�ۼ��$���\���s�f�g��n6�)k�j����%��%��pO��Vq(�D��~��'�/��8�lB]�Qd��Ϥĭ��C�E���/��z���k�s��(G�+�*%>o���~Oo5jr�Y��B�QN���5��v��vkv��E����ϝ�6��r���:jL����o�B�79ՍK&��A-n��~�1c���U�d-����M=�9�[NQ�b��%����S��Ɠ�����C/P�u� ]:안�,p�ޢ�Y>(6����>E����Θ�MCǧ��)��dS:Ȅoa�th�q}���2(�DG��4,���du�W8y��3bh�7z0�qx��7�J��쎔d���ws~�\�;K�d������<J ���K[{!'~J�q�3ǭ�H�!�ζUޤ��6<�#v6�W�t�ĸ��Ĝv�M��Qu%���㣺��Sܕ���@*$%��;.Z�������H���R�lV5��-�͗��y7����li���/�|�VKK�cВ�l a�HY��AB3�0�,j��j�E$��.*�}8�5(��a��_�Wpy�����u\b$�QV��%9�0+�����W�y�_��w� C� ^�_�TI~k������ab4Sg��㛊»���-�5>�� ����]UaK��a0��@��N�p�1��\�3��!FI:�]����-����9t�ַK�Ə�=��LMFe�6���)�9 �yL8��}�L��I�:/8��cWfY&XX�M\yoy:]��2��v��hU��(�!R!��`M�Ox�&���H����-�'B�6� �@w����_�> 9f4�n�����]Y��%�ȂCW���+5��5�C;=I�)��ő�}U�;�(�lK�ܿ����{�ɟ�Y ���A*ӿ�M�KIo�����2s�)i�B����;�����t���{�#=��p���y� ~���[t�����N#�JQ 9C��a���;wF��Y}`oL�w��gö=f�k���~6�x�5Rh�E� �����QRP��;����]n/Mm��h���5����|Z�4L�Z� �x��]8�iO5��3����rHob�-&��P�� N̻r���+���ݶ;n�'/�o.P�wt{�*��~b��N4j���o�Fe>XU*5�15��xJ�ք6�aK�\g�s�Uh�Wgc�;�v���:���Q�^%����M{��b&`��d����C��8q�x�įL"EO���z`e`�t��CH���B���6���I bg�5����n*��Wu�6���ucb�[*��U>�D�ɰ��M��6>d�s�Ô����.,�H��Oկ�Re��&q�=�8DUډT�p"�7��0����u��� �j����R� y7#�����K������S&�đ��#�ag"����p ��W���n��9��lN�7y����8�*C+q)�u�9�pI�4V[7��])E�Jc��\_7��|�m�K�`,��<%�{���T%�noڃ�ڸn&&��"��02�O��aH?6��B CCa��z_6�Ib��Wq٫�m\�9��} �̨��t��<�O�7=���"cC~ !�9�j������7t.��R��o)�,`xT � ט�6����P~1�NhBU2ew�P8�>S��6��1t݈9����39GE^��P�K%�`�ĕ3�g�#��ljN=��W�V�����5F��ij�,��&��|�rK y�Pq�X�it��1b��V�7KAƉ?(ʳy��k<Nw�M�p\�þ�W�@b��Y-A��8N��#hO�Y�Oq$��lP�Ɉ^�e.&��&f��&`�+=���s�Os/l% .oNxo�$q7zG���.'���#2��d�@�^�! )�q�Z�XSy\�U����r�ʗ���cC���L���@gj���k6x��87�g���L�A�_���)� p6����_ �HŢ/�9xvs_�"*�y�����a��W�Qt;:�e���=�!� <��ӣ�8�9�م?�C*��� ��4G��G�%�>� ��X�2��x�X6��1f"��i�N���=ĺ=a�'R4D�wb�;".�ufZ�� 6�>�6��䮇<�z�t���J5Iޢ6�Q��:����,�:UL�t�3xOt�?����S��EJq�] i r��ǑnSD���0T�.����2�`�0[,o�Kh��P�}ɞa�&�>C�U�J��+J�E��e�ʃߜ�މ�M�l!�������ñ���y5���Yt-̊u�i =)�bm(�dmx�H�Z:�h�\>���9��!��vw�B�7�X�F���..���b�=�Nn���w��,���(s2��@ Q.�I $�3��[ �ؖc�0���u��O��_U��-�<�{����~TW���]3f��lՉ�~��ۧ��Z06^�ۨt�K؍5#� i}x40�-�10�W2��[� )�bZtOT<����/8rkx S����rC��dD(��Ӥ�(�p��/�o�X?��z����L�ݙ 4G�p��zʠ�RS�r�e,d@9[���O%�K�}W�bX��j@&L=d�t�/~S�C8�?�6$��_����>!�s܋��G�,��\<T5�]��� E��H3�Jn���BIƷ�`3�X��d]�MDgo��1� �)��J�x<o/���G��_��Ep���@�'��2�a�� �'�� r���2o"�0seo6D�8�,e��܈SeOn!�x��,b$��h����n]��i���CX�kB��y�-���a<�"���FQ�r�Aj�d�e�y�( !���Ʌ�וN�L1 ˈç���B*�gF���"�a�T?��;!vc4�֓{��t�ؚ�C�SF:ysA��"[�t��X ���K*q�,��Z��̝�R�bL���JL��T�"j�^�[�f���.(Zǫ��x�h�@���V��A �H<_��f���ЀI��:��mA+�����GK�4�W7|�Av�`���1���p"v��Ț��{yL4m�x;�ӣ�Ū��t���0S1&�d�G�s��m��U_� Zzf��f���<ÿLxQ�J)��1�aEw���.��Zą��qo�{���C�m�Kt}�S��#d>�+�����/"t<�~��zZm��ϰZ5�=�QҤ4vf �*��>=���`+x��-�ҍ(��0�r�&2,;"�e�A�'`�|Qؾ�F�_�Z�����!��;5Jo+��>jTTn+v�W5�$�ș0)�Q���;�����I�i�C�͞VZ�v4������3" #6�'�D7��h�@�6�#ix���x�<��)B{7����G&���Ƚ�|}i�ˑ���D�m��D�q�����'E9���M%f���a�i_�p���.���F9ub��R��9��J��¤Y!��i��O��4�,�q@�mL���%}"����匐S0}�$]32�df�Ɵ��%��V���=q��P71�f��Hv�"P�s�ͼ��LW�t�G�O�H��P�P�J�P T\���N��$� *M����i�y� ����B���� �$�.�y�S�!T �f��R� '����Ԡ`R��ĉ)�s�c(�.�%�X�=����Ka�*��ޤ1F�'F�(��]��5�5n#���AX��]{�� ���)��+�ob�������c�Pʐ{�\ƥ&��p�XfY6d�,)�y=r�znYw��K��eR���c-��i�k��Y�_:VdY�Bc)"#�#�aL˹;�ZNa�d�,ޜ �fk�� hC���,.-B�;�b�q}��Ba6��bs�7�px��7�_~-;9����³�S��1���p^��H��G�PL1�cfl��s���1�j��� � �G`i8���:#rn6�0x�� >�`G�W�n$�^�\�>���}��>�� =X�S�� ���E�kF@��Fy�z��S�RD��V�E,k1s�$�pэ%M��d����L`)��Ǘ��0�W�w���J�n,N�-����8��V0���(����k�@5�|��lӑi �|��Ee@W�[���7%$?H����.J�i�VQ���MD �%$�����S�gx,���_91��9_)���B%�o� ��}�(P���E�,�1��)���f7�~~~~T�'� �N���Ky�����E�����3�;gkGg�6w�l}vvf��r~��^�2�*G�s�?-(�kz`?x)�� ��3��S���?6�_��n���,��o���v�����y��9N��3�}?GC�� vD�v|sp�37{�q�Q��ꭼzm�=��^f"Z/O�'�������?�ߟ�+9�L���� �EC��G5L�GL�L��;ryGq��mnv����IP�=Q��'�U��Qt�gj2�δbGm-l����e�r�YԔ-�w��� �8o��\m�7X�쭜�r�Ny��L>hޠ�w��X�*���{u���㦮���{I��"ڴ��ѓL]$�'l �-�Q"�CD6 �������ނ�$����źEWW��j�"�jS �W��T<���1�Z۵�wG�Q�����ti����\`{g��� �a��f����j�D%��� �0'0 ,9�c�?��h8��p&l�y=�����Y����к�|�}�S*N�(��7n�yY!��)���K{X�|�`37��� �7��� $ k%���!eÜ A�l�p��p�t,7���b�ؾ�_ѷ..�;υ�6�0�<z�����.���lDP�����۸̗���>řw�9��R����h~�ؗ�qfcwv��2c|V��I�hp�L���,��{���1^�}Q�rgf|y k��� �*�T�3��:�!Q��"��۾]�)����{�ejQ��!�@��e�\�t��6T�Q�[Q�t���Q�%dŦ?D"�&&�81��삛�� -�2fՏ��D2KPD�p������$�'�Mˠ�j����նʋ����8���P�Y��t��&;SW*/T��u,A�����w��Za��D�-z� [PQ$x` �3��CR3�}M����0p�2�I��� p��I*=h�KS;2�d�a\�HHs���q� �*�����" �*��O�NoDX��q���y���d�{Ä�����B��pc;�sIg�r�f�$ȭ��L��2-���H"�Ck$�pop{B%[è5��)���V��T�H�r��A�Q/����₱��%�V�j:���_� D���������b53"1wl��D�>�_#HP���ĭB�e���I�8~�58$��m�70�v�vpl����/y����|�d>:�o�J��'�ed7��E��� ��7����,���@"+�w�����)1���9AsG�,��a��b~��$���q�ĉ�Tb{� ��N$����Džs!�|H�P?վ�� T7�IOR%�2���3l�m�)�i��d+U�]��d�U��5�o�b�`��L�!��Z��F$��2�7@��u8����m��J��-\z���o�W5���=U�\<� ����fn6ih!�A�1s���Y����X�'�n0�i���j�^�l��q�q��u��(X�y�E��f�zm�q3���q'=�����@k�n��L Vq�a�=r�y ��<���\y [���n�4�1��qn�P��)+F^o(ۣ����xX�ӣ*]r�ap�Mh�E��Ѧ����}.������Ңh�E��� *aP����d�Y�u�bvn|7]}���2q)1���J;�Ӹo@��L��i:1���jn�m�uy ?~�bV?�\G�2�L��{�|�TcTf�#����x���9���v��BG2�� c\E���J̞�f� n�����bH�=#q}���ϱ<�I��"o����g�I��+#� xO^�a2�X��.5a&}^.�c��[-�]0�!L�`!���V `:y�U!�)���F���1 ��J @p����' ��UMgU6� �f�*3V��Ȫ�+���+���?��?�UD�x�N���k�R~�a��������^IXz�1�3Q���.,�J���w�;o��-Ҟlej�lB �.��İ �H>/<6��EbK��,4k�Z��ƌ첉�;���|H�ќ�� �E��*_&����;��^�ʈg�g�������Vaj�l�o�%B�i��6dE��� 7 mu$�C��n���V�YY+k�D0�z� ̊.9m� 0^K2U�S-c�(�=��� w���]�T��~[���,/̬;�|z�$�#����ȸ6d�ۿ�@�v�F-ܟ&/�����y�&���0ڇFv�OC)�8P���h�����9���l&��a�tko�L�R���2�L�`e�F���ˤT�ZӃ��Q���eB.d�¨ʆBTq���G3�ɰ�9�@���Y�ưqpE�1H� ��!cY��휑�X�Շ��o��W%2~3.+����ח�9b-&G���Ө5l���:��^�r��h@�{��W�,l���c��)]��!ĶA���m>����F����j(�=�W��7���8�HM�`~��&G���y.����J38�i�wX�o�ً�$�g ����0����PFΰ�Oa������2Hs��mpN.�hnX�hNg=�+U��f/{���]Օ�Y\V�?�ys���.#0�(�pQ2J�����d�����PR3[W��^�4Ld���#�@B��v����G։bT�n"�`�d�Gp�P�' �H��2 4�$U�Ν�d�"���F�H���T]Oҋ���&8���6����D�,\o�z���lA�~r�l�A� ��Ooh�)��j�ؤ��H8��]Q��b��gz ]<��%��](J�d�8QS/B�[[V t���.$��ڙ��Q�"Vh&粀i� ��%�<��)(��|C�!�U�z!nr ���G�T��X*D��L�?��8�w&�oF�m9���:����5[ �W4rg�'�.�c�,��B������������dב�-/�N�bG�j��=�Sg���iq��゚cs�&�j �N ��a�0:^}>�?b�_1��O}m�Cs�^^^���@?S>/P $��g�'�lխ(`g�5���vMk����l�z]��H�̐�p&��U�/�wy�����G ��$��`�З��;O3�&��M���@�vT��<�[*��GfV1��o����V�|���P^�����<"�m�V���G��Ӽ߀�f�8�7m�?_�R��|��3�E�x��-^� C���A����Em��q�/N��i̍��q(.���9�5k��%��?n�Kx��0r�3�-��l�=1(j�P�'0q��Y�ٶY;<���Xt��N�;J��/A�:3��D�Ƶ\傧��5z�p�xO�d��ճ����;@�ڎ��� ��9���O���U$0 f��t�hM?��:���K!�e����1�[� F�N���{T�L��lԒ��T�,��@(��d��s7��`[Un�h���K]"�*rZ�Og�b��%t�0V(� �e]�u��Q�T�� ���y7;��u��!OԐ�dZ�T9�щ�� t� qNkF�R�F0�)̇�NGy!�F��S��������M,3�'9,�'Z0x���OI�����?&�B�%�3�[7��7�-"��T0���Kk�`�jjh1�,��]h�"�T-��BOV��R�`ޥK>�%�v� !��S���,Ot�������!��)���̋/8�4�-y�t��Wm$�(�h�-e������*�|R��R�\���7,o;���m��=1�i<�afysl/�ʄ��_kb�B�������ff7X�THYZ �خǣ�~F��67��x�>0���Cܟ���׃DL�H@��S�.�kN�*'��jHZl�%Iw�:ĵ�7�%�(���6sL������</i̞`R��`U�pC��x�C˒6�mCʼn��s���S"��x�n�n���.ѳ�_���Q�!C�H�ݍ�����2�KRΜR��<��H���c����7�>�%���O�#�M�XN�cJ-rQH�tP���Pd�R��V/�h@Aj'T�q���Iz��Q�pV��Y���l��B��9b8�I�v�O�*�.M�_�F�,��÷�*݂�SD�A�h�OGUӅ��q��zZ�Q������F�� ����i��m��A��ҫ�Dk !�s@5� #}�-'�U���A���fǐ+����è*fצ�4��ϼ���xh�vq���`Ҹ�B��`Dɻ4��>b���3��px����}8>�#c�1IB�U�<�^�X!�R$Y2��&9��3"Y$ z?��>�+Q`��k��SmNf�%�A*�=9Ϩ8�ۣ���U#��kM.>���|x�D��qu�����o� /d]B̅<H�4�&/�c�h${}�!�T�K'�A� ��K��VP�5,��A�q��Ceot�nT�}��В�Ͳ2W,�%��p�v��ذ���k�"'�WZ��� M��>�Z�|@��>�ղ���x��-��Y����8 �@�MŢB���<s2հN\.s�ϱ &���}`3�e�>QȲ�(�|��p�|kma�@qIfe+(kd��P���_�,�->(S�B�"|���! ��XS}C��(���_K���_+����Vq�r�_��C�C��G���`�4� ��!nW�[����/��a +p[�7�E����;�: x~�g����N���f���N��u@'�)���F��m4��h��]{��G��S���f$~q0uf.�i�#�B�������+K����2��V���i�6v������k���&�C�h��d����a��ʴ�E� u$��|by}b���5��fsgM{��fc�u�Ww�������ّ�4�W{���|I�Y��qg�#c�&Z�OLe�փ��M.����ˏ |Gs7��'��ڶ-�9k�mn�n1��~�y\��^��������]���F���ci��m��2��;����2�s�X]�Ҳ���M>�l�m=�~/?z���.�l�0_[���*l=X]^$L���~��iˏֶ���� :��Ň�t���kk����#Z1-�m-?�v�0���=X�C;�u���r]�d�����H%�V��f#p��u�S2�l�T��e]p|��8���ku��>��xy�;ѐE6a,k0�ժ��B'%�~��Q�+���E��opu"��)�)!��Y����m�����o�\*Rvq*GipWj#v��P����CE�W ~�N=E��W��gb���B��H��q�>��&�㮞�KI�sZ���y�DtE��� `�^ek�{� ���JGsa� S@gU��C^?f��Q��.� ��u�O��6�O%�^uc^;���q�}*N|oo�z��ݯ�R 9��긭��tz^<���&,�*[�s�_��m�k���b���]Ήt~^cGvv��e�go�V�}��m����0_�M H�p4>�ۊ+-�ָ�9j�W�ք��t(҅�AO��6�cu�7v!_Ï`�\!��y����Z�l�d�aڍ8���b7��ٷ��>\�pU^@얌 �8?#5(#���w{�5�z�8�^L.e��ې)b�'�FI<ܧ9��<CP�w�����m�%G�6��Tiو�"0mtB"��6 ���W���X �L�^$�|�49�7�`۾Vׅ�I�� �[���>��+V�֩�Uz�fb�S��SMm拰/�X�Da@:c�7`�*+e�(K�R`��ȗ*Mp(��� ��}�����~1�;. =am�7�c��~����N����y�` RXӤ4' ���n�x���H�"��~D��G=�~�F��������/�/6����R��yh�m�V��?�>�_������3YٓҶ�}�g+�k����s�Xo��ovא���o ���&�=�ʽR8vK��il��HwP��8k��Ϝ\�4��"�@��9��#��e<�Q(CF�R��}i���d�6y%O^q����ж�j��.�sH�YzT��^��2� ����bC|�.�dw�=�ū.��f`�*.���Z$L�l��R�e�W@lV�`��Rx�r�5�,��,�j`u�M�U� �ț ��+TM/©��TS�P��E ��"�jjD�z��H)�~��`1�h�́�J�4/ AU�(Ιȝ7W����yM�2XʹE�6Y�fE��`�����ǭ��[i�'LD������lɇ�D�3U l���V�o1Q��<U�f��%�5t!��VƁOM�m�}n�2��8�`��JQ����]%��)� ����M��M�LH<���ː�P��e0�Sȣ^r� oq"�隂 Z��n��M���L_I ��W㶛aO`bW7��q���\�="� HI�G~s���?�����P��Q �Zr3��z��氛�$Upj�]7[S��b=/�J�>�;o7��6 �2����!���[M hqh����r�ܵ��h�D惁)+�%C�J���$ ���^&R�*|>��^.����r�D��C����`���e*�v[V!������oPKOƔ��U�PKTTLdist/summernote-bs4.css��r�6�Wt�t�\CU۲�I�N�i��y��^o"A�I0|Xv4���+�zٗz:����b�����q���+�) �QVDOc���c�F,,�,y0��Q���" �u�E�ok].�yS���������{��<<?�������d�{���y���h�=�{�Hx��$�����w`�B�����|/dyZ�tC�e�}t��uW���_�)�%���?u,�+/Ȓ��8b�LC�.�>� �I�5���qrݩ�@�a��9O�|�,�t�ޣd��<�gc��qo�����+R�"����)�=@�S�\��y������䊧y����x��I�p�(�H|vDv���,e7L�wkYH$�{�S-��pL�y���"���u<�~�dQ����<��\��F2M��q�� ��e� ��;O+&P����`����3o�we��г<vY�mD�9bg���ɢ�� _(2n{.<�c�H߮E��r��B'呸�a�)��b�� �S��9(�k��~ay��<�q�s�Z'q�Y���4�� ��v� B˴$p�"���S��ā�h�#l��L��]�x^�<˖y��6���`)s�[�}*@/-��< <�����@VL37 ��jlC\$<m���)xܦܤ�����2 jhc�@k��Â�l;Q�K٤W���v��Ł!E����V�Us�G��Q�� >��S�A�x�JS�c0�)��o�w }ڄV[M�F�t��s��紮��}N�"X���gQ֦����� X� ��@������>������ߣpM�H���I�n��ϤpT��ڇR0���7M�Ja�&7|,����ĬS`���S@�O�`TkMMᨢ�M�~>��Q�4}:��j����*fd�| G5�i� ��'� ( �L#PH��k1��i��j'� fLAa�v���*'¶+�*g[B P=%1 ��j�Q(<�����R�m�0��nֈi(4U`3ơpTw�1��ih�!�����R�5b$ Fu�3Qx��$�2#�a���r���2�Ny���N�oz�H>C�]C�i&�"���=��~�7�����������>�L���A�{��}"��{~��)+�5.��g��*8�� )|�JH$g�5�(��C��e٠��ńM�t�D� |�������l�0klSv����ʇ��E�ic��W������D��$���<~��6�L�b �Y�u~(X�`$��X:�����z_,r�F#��E���Tz�q�]"��=v���1����U���,�N�侘����"A'Kwm�4[+TQ�r<����j`�,$��b�"�The�N8{K���L�@�~�ۅ�Y�S�:<�ڣ#��?�k�4@�����.xi햁���~5!�P�;y.�q�4H*u}��P<|)b抇��E�?̠��@�'��*^'J���Z�6&Jm{U�|���0ϱ2���������6UNU%ݩ��g�i5�h�����F�OS.-7 �m[�~�P��<�-$�,X�<�=�-���U�� JD�C5z�j�T!�a��)W7ei�6-T�r���<)�jbY���5Qu�@��I�J%B��(�~�xpv2��[=8���,�.�` K��n�c%��J%x{ʾ���}gl�;���+�/���o�g;6D�x��F�}���JI�6�h$����9�Æ��JV�.;����� b_TH���Y��n`f����s�N�!u�-�c����^����N������F����������C�c|�ßVwm,��dI o�t�Q�,'k�VAIt�u�kݶx�{�Y r�" �_W���$ܻ����VժQZ���Ƈ5�!Tm�Xc���0�Av"��έ�Xσ�H���?1r(-����a�z��|)}�=Sӥ�-u����-�r;Sʙ��3���R*�NL�G�]�栜�2����m�5���A�Z�������״K���E���p� �Q�6#KID��uW�[2��صS��*�f��,Q@ .�2:�BB�kd� ��L�̢�8�� ɂl���~ �X1�ߘ]7�cxi���@��B��&��E��U�K~ ��)�V�B��t`���H�a��;�c�I;H;<P5���`V��%uj�J�d���H˄Tr���G�#�X�(&gpS�@�v�ӽ�j��*�K��ӇBϝ��Br�"�.���ֱ�Z�uխ>���,�G:�ೲn�������г�9s��j��$E�բ�U3���JT'���c�e�������6�g0�����ǿ�Y�^<��������3��9~{1{������?<�����?����/^��>��ſ}��x���?����mϻ�x>{��Dz�{9��]�kě��x��ŏ%��e���k���7��/�Q�~��+by�/_x��?x���X���wO�\�g���2z����L���/?��+�sq>}�x[���<��A'��N�}ព�e�Z;_PWR��l8T}�jM� M�N��~��?����o��ܥ�,_�p��]�~9M� w�۳r�`S�S~�ՌO�.n�;"�`� �K͒�сR^�`f��Ô�计�F�����%1J&ނ��P�0�d�%oA��P�0�dO%'�!.�x��`��<Q��cؚ\�f�n�f��:���.��:^�غ�IF�>B�kkD�J^ >�ZS���1CQسIUS8�k��m��B�����,��� �h�(����2�+!Sy9y����:�V��cQ�ļK�G��pRQ"��c����en,�x~���m"UǕ\�:�:�ǏF �kyR� ��;4|�ħ�Ƿ���'�w.1(��Gw��R'ʭ�Ή;g��Dm�Y���Z�N��;f��.�������*X�~�W�Q�*�p(�PW���x�o� 4r�?*]yo�i��V �*/[�%0֍!:�Z��J�k�R��X7��Q!cH���)��X�R����S�Q|���:���y���<�7Ӱ�w��,�!6��v�v�C��$Е��@��@�+�-��zu��/� ��rw��MBZ�5����r�؉���i�iت�Mr�O�B|�K���a0�m�3U�N��5���'c�mec�%j[�vN��2h�P2��-"1Ck_���=N9���+��-��Z�W� ��,�kt���>d鸐�V�(˝���L�~����B��DZ�:�b�o�ױ���ea|�5�K��������^�]�p�By^�u���?���Ĵd>��SF1*}��k�zMw����ļ�S�"�j���i��q�������Z"EW����N���N��JT^���q�Lgf|\o�WF \u�JF�X�j�N��<�BxGZ5����m��e���~�9��� {&m����&�:Lz����-6aM�ꊶ�k�oT�N����wS˫�;\b�\�ݤ�����'�����6.��xȆAKyE��LB�έ$'�]�|*�v-[�>����jM*�<dIW!�Z�l����M\�i��~�७�|�AJi��Y�턧M]����j��\gR�y�]��>��������M���������m����&����� �[5��C��[5j�U0���Xu��!`ZD x�Q��u�nOLX���/�$~g���@����} �hۈ��C��� K�7�݅o��P^���LT1�vL��J��-~������e�G���1��@��m�Q �Uc�h���=��ک�&���PK�~�FEPKTTLdist/summernote-lite.css�= s�6�Eϙ�KZSՇ-�Ҵ�N����&ͽ^_�EBk�TI����.� �$HQ��w�����b��/,���4)��������Q�]�E���8�ˎ����,I����[]� ݔg�l��O��_ �A_���)�'������\������d|~G�����|�'�XFwG�zK��xz$��"�ҍH���8zv�@�m�\v �D���؊� dE���������2�4�~�-,I��Ͼ<�9zwa�ob�~%q�o������[��ox���=�=�>@�YT̽[���`�Q�u��(���I�q��"���B��_DiR��HB@�C�E�`��Or� *��Q�� �Jf�(c1�7¿V�:��]���̿�a���7��H��Zd�g���J���߶y-��c�l�n�V����*e�)�,���(b��m���:O#6�v�4U{��ϽU�G�"�CGs�g�5I���[d�p�Bqʅ/Ns�jOCw3H��-EA{j��b/��ƅUd�3.�Ds [f�څ'*@���kG�ڿr��E�������d�;����(w�v6�bǰM�̵�߷4lG]-`���:�/�<F}Y�8�m9`s0k�?����oA.��"��E����K��"�h�b�1�.�ۍ���<n�o����u���ܢ�F��}��Ki��(z\����!E����v�U�G���Gup�#8���}�;�-+́O�ܧp�S�m�9�M[���v��cΚ�4���yL�"��A���-�#lƁ���@��㠂�Z>��-���p���>��s g>�r�,���LƇr0.��7m��a�$�|,悌�̬s`.��s@.O�`\jm�Ḡ2���|Z>��qɴ}:��bY�������Kf��3��Op@.�<F�\4+1��i��K'� vL�a�tVc˅a��są�)�p9e1 ��Q8<��j��a���b�E7��4���p8.����Cs �ch1�1��jL�a��Z1�늙8<`Cّ˸�`i�z��8�fO�Ayv_�w^}�C�B��-sy�vw9[?nvk?���٠7� ���p���1�!�p��cI�)A�,����� <NBϢ�H�0���P蜃��6��u�Ks,��J1_�����ʕ���RJfE�� 1U��Q�{"F�C�E��6�M�G���R!7b�L�(.z*�96�$@�����v0h?�lB$�1R?s��el�}��á ز��u�n�����c[���۰���!͍E���a�GR {�{�tS�j�{�}�QBt�ۍ��!�͏�l�_�v@�x��2�� ���ݢ��`� �D�]��T�[v�}Ύ��iHf{�w��NX��}̬���{\�eڰ�lg j�C�H�2'�vq6��Ҙ�f>�|��uS�c�?�>g<���J,���vAV=�e�m�o2�6��n�s��U�i��R��r�.C�*�k{D�bY8�����[�z��E��(�\:nGk��k E� V $��~m����lѬb���yZ��b�?�l��a����O�������J�/��W�YF"sQ��^���K�U-7��� +����W9clb�:�6�/%r��mJUM���;ۂR\Xm��b)��Z�&�<��⊥&�^��]8n���N@����*S�����'�s�zU�c������;soŘ ����J�_NN��;��2�\��,�6V�6��6�+��-���ҟ�'v J�3�m��OU�t;�q����)��AU��ʘ� �Hv:�V��QX�f��/U��KeWw�:҃�a^�c�l��/x�%\b/�Qq�keȱ � �%� �-��I fg�@�2�V7���hf�t� I�yl���+R�J�~,�KP�w�~1����7G���Oέ3X)� K*�̵�A�?�j4غ3�[�ps��W��`�dH�U�[���/�-�w%cN���w�6�k1��S1�����Y��IHXc�@�t+}�mg�1�4B���C�ov����O0yfo��h����q��њ�li�<��H�����_�0;�+! �Zsͬ�B(�d{@�>�����cW#!�d$ze���e���u�q����@��@yއ���s#9�����v�����;m)w6��ȕ��sn�솸L^y�y %�B��:�$��NJ�䜉�虉��J�(�0���Z b�� �S����rAM�����Gv��h<��R�@ix���w\x��O�'��A������Pg �螯}�x<�ӽ�J��|���*A��B��t4 j��4�����,������Qv"M`�̳����tx�7 �Z�}f����IE ���yO���z�-����s�69.�`�ҋti��kF�S�j�H>���5U��d��e+&j�Ǐ5L��` ���R��b�s���:,��T�\���Ԁ��VX �Ӈc�C�E�S�TUV�gC#�'UZ�c&F2,�`.}�_J�t�2W�o�Af<�cR�5{f�e�t$��!i�f3=��Ӄ��@��Nʜ��(��0��I�����0;�ϋȥ��qN�ƪ���w�8�9Nr��[_��bGC�٤����(�in�V�JAZl�o����&*���K��J��Q ��]��/�r�@^Y���G(�.��&��@D%|} �>B�AA$-��~d�����S�mZ=��"h2':��!� J�%�� ;�sVεMgE^I~Uf���W��Qi掠X9~אַ�o��:�m�ǷN�h���\V�oڞ9�G嶩0�~��T���S�\�T�����<6�>P�[ v=p��[&,X�ׄ�2i�M����*�њT��>�S#����W�+�m�+�(�~\��S��I�i���>HX�����BC��S@���j,�u���`�-C��S#���7�<��tV��aB���Y�\[E?m=�>$�h4�<�m��̎1�f3Y�$��H�%�\�44rF��#�YA�����4�����3�p�:wLkk�z7whӬ![�c(�Y�gm�mx��}) �#���ì�%;v{��ts��6�)+w�ꐪE�&�f�=is�);8�F�'jb���.9Vsk�n�4��Y�(k�E��6i3o��� ?�[u_3�CT�a�0n-R��:nf�� 3��Z�hi��nR8�,7Z@Hn���ij'yiLr��j�M��V��;�d[��ɩ°nLL|��L]F�,�.I��4K���a `���9��z�K�E%� ��p�[�`Y�O�bz�&����U� ל��ڈ���Yr.��̿� �B6'�5��l�� �p_'�����T�Bm>Qc�a5���z��u`On�u����"�7�G��w �b�H!��x�0�z�ʄa`+d8X�W~%�$wё����Y��,��鸞�S �D�~�F�ڐ��P��:���F;�ށyS�:��et�v���t�Lѩ$QVo��g��|ր>���D���0��V�T:�jF�0|0#Cg�Kj�h�d�*w&MKs��$ �kI'X���$~�nA=��-��]{���s<��_��"��/��~���_w5 "N����PG�1n(I+��?�ھI��N?H��i��R����B�Q-�I�3�x���h4"+��E���5Q��X� w�J zy�G�]�p���V�Xn��� �� ���3D��B�9��7iV���}� �b^�j�ekp �Z�7w�4y^��6��QCf��R�fY:T�ׄN�3BT� ��N�a?��e�:�2m��5�7��n�4��Xo�{}]���N�{}(��G��۾0ۿ�.���2\\C�B�#�L��&QiAQ��M�ަO� �}51�`:��'J�i�d8�U"X�j_=\P2���r�g x��̟�c�X�߲��O���~rr�+�:n:|i 3��)�z�zzX� }�w{�+Kp���~t���al�$Ѣ�Cc�[H?���~#�/.���̀<dֺ�|�)�� ˩yȔN�2(�.������D��5��$ H�I���� C���E��� ���`��t2cz��E�j<Sݥ���fK��29S�ȇNg���\R�[NL�G7*|jʙ �}��k���?�k��qc`�[uM�z���"���[â�b�@�:iv���hJ]4���`R�:e�NUT����m�6y�w���tWHS�(�3��N�.��i�R�F3M=^�᭞>�̒�NR}��'��j{�j�7��/�ʃg�İ�5�-�5��6ȝ)o�G�L�FP��ó�_��;a TbC���I�c��09��C��/�;,���.��C�ιM(�ǔ��Z���w^�ܪo���)T �64{�da7|)j��'�{�Y�t���!q��05.X~�쯡_�3��Mrݹ��G�����շW���?�.��ߞ�Ŀ�^\����o��ˋ��_�������o'����D\��/~� �.��Ƿ���o~X��o�q�M�v^^�������w����-�C����7/���{x����?��Z����D,���7������~���^������?�\�����̶�^���78��2������}��T�kW�g)ן!.�FXZTk�U�����prs��������=���~�������CX�-Yo5t�Jg�!�6|��|�6|��|'m�t��N�����M�����d�-Tb��5@ ��L���{e8�\]���ܠ����D�r�%)���.Ε7B[���lM���T�i8��?a�Y�X�����J���h {�q���Ag� �w�(������K|�6�R��E��G(>9�˓����>�(L�A�̾s���S ��`�����(CD���t�(�6��>G"+�呶L�e�������r������Z��+gdz�xl��b�a�*��"�n�)`��~g���Ȭ��J��1�uLxb ���^������n�\�H>��2y�}iB�U��� ڪ��r��B�P,WH࣪���o��<��Fv�l'W�5��+gx�2��>����S>=z� ���(W$���L�!%� �i��ҽ�,ѕ~�3���1I���(oUH�Ql/�@�>t� �ɯ������"��; *�`��Oޗ+�����à�Y��_˯���.���~����@G��v!M�"���9��o'.�*�o{�c7����������:��w�}Ʋ�2٬_O�ݢ�*&0]�c/-��C��uP+��%�|�K\3ϗ{��%�b��CJ�TH�끠�s%b��|�[���$�O'u�)���k^��88�=���"��0<�oQe�S=&�A��#Z��e�N��%��x�{1�/��ؕ��?P�TRd�)X��$��g�8��h,���N�1.���4��ZoqeH��!����Xܦ#���y\{�-����HcW���qӳE�x��.���Gk�_k{��|�$�}�:�Q��]�j�$5 ���G[_��Pʷ�2ܰ_M� MͦU�A|��|�O��Z{"zۣͪJlYw�� Y���s� �(g�%>D4rA�#�D>p���;���UcJ͏~����C7�$���\���3O~oAe팑�~����;bY���:1բ,�zIS�_�ȐdY���i�������0;55v ��Դ�NA���|�Gn�>@���%�?oS����`0��U��ͧ�OԌƔMY�`��㤙$����P���9��s;�^���9�P�#�O!�v媒�A�)�'�T��>���EG4����C���NFg�����y��`� �$�PKR^s�#kPKTTLdist/summernote.css��r�6�Wt�t�\CU۲�I��M�4i�쵽�D�b�`���h��$V�r�x2����b����w(����W��BD�㣬X,x˜M�@��F|�t���ɒ��<7���it���5�]#�r��+�������OG'g�<`g�'���q����G&[0�<7G:!��?�)x2�q~��[8X�0܁� 5·c���i�K���ݏX���� �����?�SK��>:�8FW�Ȓ�ݎE��{�H�Wj��$����t�=�{(>q@0��'ޒO��=*@��2��x6fq.X$XƃI�or/�LY.d\MU�S���,a���0��5Os����x�A�I�pvUx�ɓ��:���f0��٭e��x>�5O��������E���u<�a�dY����<��\��E2M���E�G��2��Ɲ��� �H�He�WN ��̛�ϻvMe8�,�."���؛��dQJʅ/�w=���1hd��"_F^��N|���va�)��b�s S�p�9(�����x�fN��ϟs�9I�E�@&S8�<�D�b�/"ǴD�y��V��p�v4�Б��p&��-c</S�e˼����Yy�����>���Y��+��SY�\ +�����%��� O[��l �)7e}��u����,�Z��p`�1�N�R6�õ���� �80�hq?[|� �j�>��a��?j�A�p�3(��oYi |��>�8�m�N�O��z�)܈��n��At�Y���՞��i_k�T�,�ڴ9�a�w��BA��q�P��Q����>���{��)8�p�#) �m����_�P F����S),�䆏��T���u L���` HU����j��)UT�) �OˇS0���O�pT->�S�\X>��Q�l}=��Ib H5�����Z�@A�vZ1�ډq�SPX���1��ʉ���9����PTOILB���b O5v=f��Ti1���5b M؎q(��f�C��CZ�@nHuw=&��T}���Q�u�L�*0����eXi0D.�U"3�"�G��_�ܸ�f�����54�f2*r>��a�s3�zSLPY:XX��|�ɔ�W3�t��aNd�|�ߎ��':�r�]��[�,c3^�j�!��t )Â��,�!�p�6�,��������������;?���w���f�m�.��!q�P�� _`��7m�=�B�!� b@����Z���d�VcQ�o<�&��V,b1+�.�$�=�W�� �/#�~/����iШಁE�y5U�j��j��Dй��&t1��|i���H�}J�(t�t׆���B/�s(��x��6�B+v(�I�V���1����z˔A�����n�p8+�k[��Y{t�(�G�����������R���" ��S��r1�I��/xɇ/d�|�p!c��9�3(vzP��U^���D�}����D�m���� 3�+����o�l� m��T]ҝJx.>�N�)�Ġte@�5�~�re�Q�m�� �(���qm!���ee�� ���Yn�4�ڜ�E"���;XW� ��O��)K+G�i��x����<��I�W�2}������:UN V)�O��ǃ��ܘ��A-7d�wkYB>���u���E�߮4Q����*�'��wƅ��M@J��R�b�,��}vcS��8��h��R;]�"IlíA28;�S?l9� �d��C�c����08���B���Z�v3K��p� �3v�;�mQ�gu�Ώ���R�N�p�|e��4���@�G`��H&�r�~��c���KZxxgb�2d9Y�X� J���_��a��j�����\$��5� ��t�V��A5��3>�A��R����.�y �Q���tn��DF*���Ci��X��׳Fw�K�k홚.�h��i.'~�f��A�R�<��u\<�RI�rb��8��6�Ĕ�.^n�h����"j vĶ��]�}=.�}>��M0�ƶYYJ"����7����G��,gA֭�/:� "ȕ�l�#Q|���s�C�-�Ld��\@ǁ�[!V��~cB���=�J�l�퍓�K�f4�U�w�3~U#o,�a7a1� �(8ֹe�X�.�%�H��=��;�c��&�� x�jB:���1�>Um������g+-SVP�՚�3g�;��L ������+��W�U�Z�5�>�x>+�-$!m*2�.�?�Jv�V��)�Շ�:�*����{�Y��D lo�[DU�shX�Μ9Dџo��dE���2E3���ZX'���c�U�ٗ�����:�g0������^/{ϟ���{�����>=~���\�^��T>�^�'��x����ه�~��������8v��o�F/.^�4��7�q�x�./�;�^!�������/� ���^�z��� ���2z��U��������E�~��3byڋ._���?x �?��Y�ˋ�O�\���~��r�����2-.?=�0ʯq��e��۫7ūœ'_>����+����T�c�o��X�+��ZW�������������Wj>��,_~{��m�}��:�T�g*�2������h^�l/vD��ڕv��%7DZ���U��Se�����S��|p8a�z��� ��;>>�0L��� ��;>=�0L=��Ƙy�yH�c���|�"�e}r9�E��x�D;_5)� �w������b����f��!Խ��z�h�'P��w��.v(wΩ� �u�z�-��h�S�"�rh�і tG9�u7V)��4����� �D����YVLAY�&x�&'�&r��]���}������<t�M���ۺ^gX�����2��c-�j�`��qņ��uq�Nb����/��h��Ϭ�J/���֊�`�K%r�;��w�]��b����L;fYVz�?�0u���@\��i�E���:�u߫�~�|�%�s������K&�� ��^F�c����뽽ĸ�7%y3Q��Ev9 #u��0�T�����<͐��;G�oŗE:�谎؇��d}�p�dW�Ө�W�D&�"�2���.���[��.��HV{�c��Y;�#�=xc�{�%�m�Fw9J����3�3�+�O�Uc�;`�������.݆fڅÎ�-�UY�:yоَj�Ǝ-;����|���kAƁ5ZӠgC�=�����Aq[wC�h��oR��������*7���-��,��*Ӆ� )i���lꑙx�T)^6��u�D�U��c�!&���|U`�:[��1��@�.�� ����,�~^*��Tn���U�Ζ̋n4��?ݶo�L�)!N��>�)2���Y��V��)����۬HRtei�i��1+�����;1�Ƭ7��at��_X�t��]E����w8��"��u0<Qo����P�"�X���}=�h�{0i8d��(��09�kÏ�o���5o��UD�f���8�?��� o9=L}T�>�$H��\�����C6z�+:eHg2�M��8�,��S��e�r��W�|Tk���!Kʸ��JT��o�2N�.�[/����ъH{ ��Ȓ�&<c���"}Wd�A��!����.����:P_��Q����p״�i�F ;O���/2�P����)0z״��8�� �#"�����r�'6�nT�V�����@���Q=�hYT��ͩ���o ��6^'�.�i ����ݘ�1���e_-��o��_�(�@�/���#h��R�}Z�͌�?�^�;�Zr�>�ԯo�PK�P�W=MEPK�MLdist/font/summernote.eot�Zyx[Օ���mzڬ�I�$k�%lj�E�d��I ���$��$n�a[Ihh �l 0-Pf]��e:�6L;-0��Ғ-�����e�M��8$��<I����{�=��s~�>}�`�pc��/�Iv�@��Ԋ�*yVS���r�y��[fʎ�l���(>E6���8�Ř�]��Fԍ��0�`��6Sl�Ɛoç�e�{�}\o��l�ؕ���[�|�ٻzK�g���FϽ��cIӧE���_74:0�<j����ԡ-� 楥�٦Q/n��(��k�yu��e�l�U�G��՛���cI�~�M(O'H�ȧ6�No��c�#�8�[FƇ�|�mې��6�v�o�����h���1c1�@/L�OM����NԂǫ��a~�<�ꚵ���3GE;/=��ex��{���Y!�V����t�<ƲC��f�'���%Z%v-Ӭ"�1Ye�!x~��=LB� ڀ������]3�Bx�F�� �ֳ+ߦ�;�p�0x�/���i�J0^���b$�J�,�R�O�0k+?W~��Y��?�+ä�C�|�~�-f����w�ϳ��?g�X��h1T>�����Lar���_˿���~��Y���B�8wQ&��">ȿ݉���T.{ ��"��D��Jܪ� f���wkͰf볜m�~���������/���T�"�ް9mߴ� jbV�^���X� �!_ �_S�JV��\�ܫ:ե��=f��~DskWjO:.v��x�uN8qq��,$��e�C[ �>J�u�c����,Y��M���b�?���ׅ�AM��ys�L�kx�ߺa��_�R��`q"}@�[}:�>=�%%��RRO����l~�V�k�O��v�u�k+�<ω��2����>ȁ'B]I]¯1F�`@q�"�{�3/����2��/&meY�jSN�y��+�}ͶN=��VU�?T�cy���3�ݱ�s��c�?d>xF��<kv���#��Yw`2o.�`=�L�2��B/7�[e�C�mUdY�vl.��<����V�yDa�5��9ϖV+=eV��͛�c��-�e�p�Oib��,��V�Y���I���]������g`(�I��:B��pʝ��n�PWgz.5��rr .; ������KA�U K)�PS�#*,I�R��x����|�<�Q��Yq8����=�&��7�U[̟���|��:8�|���f��v+��(�� �X_u��� TgN�C ���� r� �96�l�Ve�q.��Q��ߐt�y�࣒�y��`� �]TE��t��3�?���<��M��/2�HRB�(d���+��LN�/�ڹ�%W^�d箞�{w�꽛�\�sɽ���b�Kv^�sW��W��ey��Q�K`K X�I= 7��:1���dWg�#�#�)y���ES��?r�}���R�&�ɳ3܆�=P>L��0����u�����5*cʼn.9i?�S9����ژ��3�w��$XJd%�`���|��3mt0���s�wfI1�@ke��˖^����P�`��O���1]��Ր��B%_��\�ѽ�1�@�dmZZ�[�Ecn"�=��pe[�1(���F)B~��|��[P����{�SVHhk��5" �L>�ے�$I�]�(ND�g���;���� ��]��BA����<W(Fr���5㶈��P�j���1c,HC���g/qϑ����A��\��98�@0����hZ����m"-�j�"�e~[t\�x\����,m����Lf�59h���;p,\��g�;��u���Jz�Gʒd��B�,�ޣ! i=vI���'���E)*y�OЁ�����d��y��%-�x5 �o�BVO�I��P�E�^!JGi=����1�T�v�;w���Co�k����td�������'?��'-}� �}�J�vCA��u�!�8����O� ��] �w]��� �o�� �k��& ل;��<w�>�E�� ݾ%l����i�*d�B������3��^13wϿ�ё��?Ґ��/l�|����n+��́rˇ�������z�Wu=c�� ��@p����(�����d��P�Ѩ�x��Z��Ү�V��lW����]r�T���/�W��VJ�[���ݠ�h��veT�E�����ټe�?�[*a�@ �'��c<���a�=���,�$����7+��^!�纔��F�_���/g@�/������H6���_�/Zy�aO�3���e]�^�ʪ J6��M����=���+�,�U��-�eY�r���Q~�,�)c�f�Y�-�?(q�//[&�A(K�*�g+�c ����27��t��Sf� �-5���3����Xq�9�����Vq]~��P��w�~�θ$Uw]�1�lM�k>_gu�Rg���x#t��P~��qx�,�Pd�ntu�9?�,'�g[%G�;���}���w���%kdi�)[V��9�sh�y}w��ɩ�]�_ނ����A�����mf��J���m|��OV��HV�jH�E� �L�Pܙe��FF��� �FPFJ1�<a�n�n���fѩYm����w��n��1��H�����d�f��jP4����ېN��/�֚�ӽ5w��Sl��ݒ�D��'�[�h�����kAWc��y�t�˟""Qq�` ��>P����h�l5y��7H��\�7� �S�,��.��@�� /�J�\�̍m%r,.x,;��2�D1��9�G��Z�(t�~�4�y�ۚ��P>)��ja]�X{h¡��k�W�HD�(Tu'����Uh���Oa�������$1*�+`�sgU�Z��cO%�=VX2d�Sy������'&v���~4� Ɯ��T!��0���囄58�{8����BJ�+�+�s���<�P_�o��7"}3�����W����իig_̷"gD��h_d����%oR�K.�X�t��a_� �BH�=uC���>H�`�]�\�f���l/=�~��g�鶽睇U�V�����7[��ӲB�-C�F�R���M��� @6V�\:�j��!z\W��D�1������eۤX#�����]�c��I�Cvy�jM�pm,���P����|h�J.C��N�xz;7���s:h�#�o�?�7�w/�=`���6�z��8�gD���,��<�I;�C��,j+0����2�W{����1Ҩ5�,�9x������/ �@�U�~�[͒(�]Ui���b�뛢Ѧ�n�j���+Is;���5Ϸ���m��N�m^����G�ae�y4�9��©p8��(�d��X��1"�qy���y�G:��q+��Y�Qd���^�=V�����ŞLwߠ�2B~Y�H�I����>����YC�W��/m��F|�3�o���o�����j�ev�p.�Ἀ�7Y��܂�z�\GL�?��9�I������]�C��γ���f5�֚�)��I��[Zjj$oG��)⭭S�y+���CL?{k�FI�J��9�"GC#@��R���{��q���Tt˱8}���i]Tq��)�W>��Ӏ�j.Q9 ���8p��1+�r[��&�)e�zkmp�T�U�7�y�����W@_�(�y���%�����>�.[p���=�JfDRU�~+!(gJ�-��[|�U~�.���w��'O�ؼ����`�F�-������HU@�q D�<�,�g��[ǃ�9�(˖)���RȖ�!K�8Q*�}�78 ���:��U�i�ۑ�J[©���}�ف?R�5-���|��f�S0z��Z@62i_����~V�(�B��/������h4����C�x4�{�`�����b�<3�� �hK�z{ٮ��G�G1�FB��H0��O=�i+��?.?&�[X;����,\�6\�z��1bև��^N��V�T:l�,Lw��)4x�ʜi�c J~��J�Ǫ�x*ـ����̼��q|��]sV�;�|(�u�H��f�Igr�� `����]����3kUuH���.l���sInAW�dMgo�h֝��ޚ���碧5��BQ)~�c�9�Dn�Ce�)���8�W* �pk�_v�H�~1}J<�8�jG��X����%o8�Y�r�Lv�W�Z�s�o�t �y���|�W(t J���r��_�d�c�ʅ�|q� . �֏�J��!��w�u�m9�浗G"��pi`������+��D9���~w� &��}{����@���m���xy��0�<\ �����������a�A�h�k3�9B�XX؝. _���<�sۭ�w����MVH�̷��U��zpfT������� �<D��`$�I�ϓ(.;���7�4t�R �i�n��k��-<Bቂ�6�9]vxbO�A\�h�������Z�^{_�f��s�nB�ك���Bń=���#h��zk�� �5�=��Vm�>���\F��g�١�Π��fӍ�Ǩ-w��JW�]{E4�\��K�����:�Ђ����q����onӡ6ƴ�+�`���+���g��w��c�.�ob��ܻ�O�U��R{R�u�h�e{��f{�ө͛wM�gĺ�<���k`�v����~(_2�n�0`�0�H���eu�V�Z���?���� ���9>C� ��BS��S���SU�|!J�j�i�hS�Fw��:��:L��Ao��t!n��@�@�AI��� ���4'�.4�����:i��fh�'pi�����S��r���[ ��Oz������0nw�쵰�b�T��&��:�*�8����V��!z��gMl�v|��*+���0�/f~n[qW(�E6�Ӌ1�s�9m��6{�ו�ߓKe ��_���q�����2?�H��oz04�P��ٮT攎���Yl��E�+����6�8eE��z %��ĚB�@nΙ]�z]mΖ�K�}�����e�#���:��.Y�M.'��_�$��8�o�i�o2h�k�B��� [bC����W�ӭU�K�����*ƛ=f�?�F�A�ıO#�4�i��˺��G�j��//\��lw)�x�;�@h~�����\�`I�muUZ����6X�U���Ui g�Ui�HQ�aKY�B���Z.`�T�����6"�<Z�%�`�Ui��(���֧J���ɱ��"��K��K#x۾�z�>m�'����;�W� �$N�q��x�m��������c���'7ٶ��1�iϵt�t����I� p�1��XU��K���g�����>�� .��滄�>��jR�J�3�H�k-�(�중����I��j�K>�S�t b�UKu�Yuk3Fq�&%(I ��JQ#�)CM4�����G-��\j�vꠜs`dx�X�Pql�8Y���G�U��tijzx�eZ%7R�0S1^�������%��LN�om�)���:v| ��w\�a�qE� ��O��L�Ur��EY/ L��C���Z'�7��ʨ���TQ__����l��4N 7�O-r�8:��('������a}���1�!qdxl�4:�qxH-��Z�6�6;�'�'��G��������21<4]�,�(���c�,��o�xYe4��Dqhx`� L�+y���ᚚ��\��49^ڸ�>U����֎٣c�4{������c��m�eSђ�4��^��&�yQ5�*���W�2��8n��=�^���t��t��7�PK��D��z#PK�MLdist/font/summernote.ttf�Zyxŕ�����g�H3�9�sȲ5:F��%�`��mIۊu!il�60B�1ᲁM���Ɂ; ��&f�M�%�r�gI ɗ/ ��oz�W=#[Ɛ�����WGW�z��{��#Ƙ�]�,�+V�����{��Gi��[;�6}���"��� N2���0&�����3 �e�YfP/n���T�k�yu��e�l�U�G��5�K�\�I�(��f���}�Om��.���C�1䷎N�3��[�#?96�}��f�D}7���ݟ��b�b�����9kO�y���W3>7�7?���u�E�1���^|���f��[+��!��ʪ��;B�2�rC����'���%�%Ev-��E�M2˖��Y" ��2 �+i#JN�=�c��p�$�{���x��q�v�[�V'�!���^ F�˳|`�*FR����,U����~�cm�g+/�3+��7pe�Ty�����%�Py��N�9vq��AT~-�*�P9Zy�)L��X�k����/�1��xZ��.�D��S��ou�/�U*n��H>>>�}������-�H�k�5�+�v�k�ٟ)@�i�B� ˄���u���M��M̉���H�����JX�)=�5�=�C]�N�OYc�+�Gm.ە�'��ﳿ�:&;�:Ug����-��!ֺ�QEd�xD��.z�"�d�Xx�ċUd��G��?v�yo6�ս�o۸���z)��,�8�ާ��>�Э�쒒]I)�%�}�K_6�B����'�G;�:�Օw���D�_��BW�ދ0�����&�N�((.R�L/u$zϰ����;�c�vQ��m��]g�[��W-��-��QU�SU>�7���� �7���+9g|>���w4��3F7�4����۟u;&��R6P@��(��,�� s�Ev��6E�����"*�ӊ* �$�[֛s��|휕�\i�ғFq%]�ټA;W���_�;��&g�)r��y@? j5����]t�8��y��/�a�v����*���t7ޟ���J�F7uuf�S�܀i '�B�c�P��1G�}��[��� v5����),y��{J�K=<y�-��p�b�+7$),���( o��9���9x�PeE� N<��裹<|���J��?��C'1L�Wg�d9�����.�}�t�n�l�;����Xx��ev��7�]p����q: �X-�}H5џ4�q]�ˬ�Obv.��_ӯ�1��PQӋY%�w���ʣ ���˻w-�w�W"ٵ����ݻ�W�Zzϒ+�Xr��]W���{�սw��`B��R�R#yRȍ��Ṇ+&��Y��HgJn�q��aҔ��\r�dSS)�&��s3܆��_9Bk�����wͱ������cʼn.��~x�4�Qc��ja����?��`-(��T���: ]�Ό�UĨZV�#ߙ#E�1X����==˗]���t](s(|�'~W���e�A5�%�P�Wp;wt/I�ɕ��H��+���OdlO�����<�\��E����OSq ��hz�B�� m��#Ұ ��k�,=M�$�Պ�@d�r��J� ��y��إ�)��~!�B��s�b�&�_\3��,e�&0I��3Ƃԕ�[�}��9x�B^{d_��-������Ȋ�V'g$���Hu6�"ed�X|B�tB����.k�z�� %sԚ���W���^ݻ�@�`JC%��kʒd�$Y:�׆4d�J�4>i>�,JQ���x�,ʞ�!���斶`W�@$0�m^Y-�%a B��{�(E�u3��ƜS�r �Q��ƃ�q��}jϞ�����8�����0�y&��a*s�M��n��M|q,����#NE���'�@��N$� ��/Ah�~$AA8��B!^M�w�y��h�p�}S�BW18���*f�B���[�EM iY�{�/ٻz�4~t�6�۳_����3ۋ@s������s;�b��^�U[�Xi<�/���9�|)*:7 /��%xa4�.]+�n�)nE���tڮ�V���P��გU��U���/�W��RJ��Vgsu�r�;�1Q�7���Fd�֭��_����T�����1�eģ�|�C��2=��W�״ߜ�����Rj� ��G�_��_V�v�aQ�,Ii��_��8��"gXUwȚ����UA�,��$ ��廫sW��Y�t![�2��=��c���LS���<W�P�_^�\��P�-S>��U��MA��/'d�~e�rŧ��A._f|G�g.�s�-�,�ȳt=�0���Ru]~�QW�6OԻF�P�_���.��}�����z=����u7��!,T�~|+K��0��]E�'�I��VA�S���.ro.~G�ݤG�֜�ue]���jj:���w��6���˛ѿZ9P9$ГX�ͬ��b��(p:�m�d��dU��ƌK��`�$ŝ9Q��'5�]�N�7�2rP�^�� 3v�UpcFv6�N�i㥗�~��H�|�Ġ�T�/�ѹɔ�*{ՠh��Q��[�N[�/�5��=��6W��S,S�ݒ ���O�r��!/���s�]����N��DŮ��%�_�+"J��I���E�_'��s�(4�O���>�H��c�����*�]rQ26���\�0����Kt#=Ȱ��,�j��Q(���L��o��~��I�!`��-���a7H�5�x5��<�D��"AUs`;i�<�Z�V:��˽�ߊP1(?"F�E,yVKwl�Ƣ���K�lu(����]:�������X��Ęs�*#���T��r��'|g�u��>�{�bH u�5ONA����/�F�?bD�ܖ1��֚�Y�f �ꏞ�/��V��포3�� *]r�%\KX���z�"C1Ti�'?[��{�����/|6o1��v���b�_��3 t����*}���E_���-��'B��К�A40��`�b��E��ږKCW�����v�HO�ӱ�u�u>(�&���k��.7v���&���]�I4��u��+���3B��\��U\�B���a��4vn8�)""*���,vЂ���ߤ��o����x~!mZ���q�ψ8-yI(�1�v֏R�X�f`��u-�3d�G;0v�gP��9*p�� %?�%_@��ԫX�N�,eQv9����Ś74E�MQ�j�8�W����r��2�k�� �&8�q��O��܊+0�m3^�͛�7� �S?pفHv8>�צ#B=��}����Н��" ��E�q���CaMo��\��v�iN=�ŋO*�P� �L�e�ZZ�&S�bYs�7�s��Bs�g�{�uM��T+/��si�E���"�����'�;b0���o�!w⌍�Y����v��Խ�/g��:�3%ϼD}���㑼���^�i<�1�쭵%���܄���QJ�+����<�Qz>[����q�`Q��&��� 3PS��|t_g ���D�(�;9 �E���P�mQ�اT��̵��SmOT ��7s��P}�c�L�S���� vw(@|XM6�G�kF������VBPΖ�[?�7�Rk�Z�N���~�O��n�y��'V��>��[���Y�1�����@�dz�9� ��N@!rBQ�/W�)8*�e�-�C���p�\|� o��X�� wPVe�)n{�&m ������uf�Ha״���}&_� N��AM�j.Yo�f|�*n*~�Y%�d��b��khN�B�?D��@�A��� ģ!ͭ�l>{���ߞHP�E["��KVi���c[$h�Cz!���2S.{���ʣB��E�#��|�q�!��I�E����d�8Ew�铙�1��0�Τ��3sn$��@��.����Us!�T��a!e��y`/��ƕ��=w�P0���xU�4��櫡��Mѻ�1�kԩ� 4��_�X�]�\���IOg_Ro�+�^�WU�s����PT��e_pN.�_bEYp�uu8��ԢJB�#��藝R�_̜O��vݭZQ�+��'ca�g��� ��U����C���]�4�$��P���z���y�|�,v�]��/�B����1Q �ܤ��v����-oܴ��H�5��U.��a�!W8z�D�(|���y#�Dӷok��h۳�-p�~ O�V���ѱ�u���9�"6�-|m�4GH������w�`�yn� 8�S���BVx�B���� )��v� �R/Ό����� B�AX��3��m@R�s$���n��7����<��MX}a[�n+�Px�诋�N+<��� n�;h�%���G��G�q[���������߈s�����J k�o������\]�ְ۬�Z� q[=o�e$�����Z8YiM�~���'�|źuWD#Ρ��p�<4T����-l��Ό��f�Mk��6 jc�Vy 0}�����T�.qLޥ�M��g���ڝ>�ڛ:th/��ǒ�(��D?5�S�Nmٲ�X����Q��_���$��C�bH�a��]p;�c��E���u(]�_�z������LgVkt�kO�t���|S��S���SU�x>J��h�hQ�Gw��:��:Lo�!o6�t!n��@�@�NI��� ���'�.4~���Z:i�]Fh�;pi�t��C��r���W ��Oz����W�.W��3���P�M"Au8T�q� ����ȕ���ǚ���"�&�UN�3�a_�ܶ�PƋ,8�bv�s���mvR�) �;���K����t�;R�����H��4=�z��\W*{J�MKu�(6q\�p��U\c ��p�b�r"�M������;��wfW�A�D����R�s��;Z�\�G���|g��)k]�u)��A�\�K参D�����/-�K� s���D�aSlHV�����>XU���t��5�7�O�8�IA@s�����N�����5�Ƕ�E럖�N�mw �~���旋=�]��f��V_����m���P�9 �Q��p6�n�ƉE����n�4!z[j��M�h[��^m#��#5Zb �l��Y�p���4+�1���gl�.�����'f@_��Mh4�ф]P�T���ќ?�Т��;�ŷ ���q��x�m�݆�/�+&�gVLLm*%:rm���q�iϷt�t����Guz��͉L�����#p��_��ե�鑉�D[[{��� %�O~>�_��.���ܤh� 8g����Z2�Q*Y�Fvr�'�n�|�i�F���)���(�f��� JP�Y#锢4e(KM4����^@-��\j�vcptd�x�pi|�4Uˌ�o@�Y��tyzfd�e�jn��q�b�<Û٫S#�6�H&������2<25<Zj�0�m��އ�6����ʓ63?�28:���ͳ�Vqhbt�4<8U�qoo���R���Jã�%qxbC�:<1�2���qj��qb�d�S����%�458]�7�h��S��yd�GGƷHc��F�mc��r�������Ԇ�Ti����<YU&G�g�S%�V>��!tlRC�щm6^V�;=YEg�S���J����i8�g�F��f6OM�7m�N�����F&glǍ�>]���������h�>S�>Ӳ�d�~��l-CwS�$��p����+m�P�0� �=�^���t�{�t�o�PKSԫA��"PK�MLdist/font/summernote.woffe{Sp(<�mm�ݵm۶m۶m۶m۶�k����缝L�d֧d��-���DE唕�x��� �x���;�DE���8�,4�6�EE�e������ ^�s9%:F@�\���t�l��F��|�����&���?��� gK�l���O���1�( ����;��?n���E�6�� ��`�,��6&�l������a���vN���/����ܳ������mz���[N�( �~+~3Ӈ����L�`�7�3o.l����?"J?@�<�<����_���~v�d��P�h�>\I�8c3===C�#c@�B�i��]�}�Q�/8�S�0)P��<"t��bb,��QD갹0%èK�B�gD]��9��`6� ��I����P>Pw>i���7�)��q.pjq����H���!�� �����g��Cż!���U8ӖPS����r�Q�)r�`����UЊ4���i���9�6{-��{����:�AŴ^ט�7�X�����o<|�q�HX�/F�ܷ��n��l\T0z���m(�;>ǚ� V��2��C�Ȇ&B_sXK��>n��2QD���?}}S}L0Q0�z��o40P��`��������/��hk��pP.����)@пV��{�TC�;��{|��UF~s�t%� � �AP�<�#�e�� !E<U��@�#���#�����,�"2QJ��.:�~�or���o_��润w������������i̷���b�Yx5�� "jAQ��j���Ln14�C�It\T�v %� �HF�A>Q�;AU*�X�B�V�!�NQQue�U�f#�,�� �F���+:�}�3�L��E�����F����i|��F8'��Fʘ�j��U������D��jzI~����,�.���.��K5�jV�J|jn�[���p7�'%�Q���)�A#���q��<�?�sy-ߛ����p���<��a�n�[,G�����0)=p �N�a�c������b�2�����`p6:�+%�U���a�q�+#��u�`@�NV7L��H������0[� �G��Jf���q:����a'p; ��>�+�����]��h�)��<��ia 0R@4��Ý���X�,.�s�=>&�k??��4�<���z�P�<&���>�)q�v���{Af�As唌#pb89ܼ�ŷQ�ĉ��|�q�1������,vf ea�A/-/1/���s&�{��M�k�~m�\V=�|�|�e�e�E4�(<+��MG�1�M�M�����p�MM��V\�NJV�-��w�j��V˭湖�M�M8���a�k���ġ��K�<�/^�t�e�v�܄)���暇���-�CK܊$�6Ӟ�Q?��ۤט����K�K@�(p\�˂Bեg�-�{�1Z�<�N�:2�6?W�<T7�>_�@=�XI�>��VG��]�"(��>�'�����|�{��y�T����c_�89C��T���f��jDs -&�),NvԵN����Ax� �% &�e�M�P�(R�D��>eS��L��.�5���B���a�V.��o� fЦrRU��_��;3(��ȧ��~��>�T��B�"MNz�4�i�!�Bf�wAQ}i<�@����Jr�jD��/�]/Q$�$P���|N�@��DƳ�û������R~�����t�]"57G+�����e����ɭ��ɭ��r���u��G_��vA�ߍIu�����[�ﺂ�$�a�~���p��Ϝs��1�M� F��!��T��!kޚ�k�x��̮��)�j��X��� (�C�fr��@fv��>xAx�4q�>���dP�1~�8�Â���9��:�Rʃt)�C�y��s��R�2���>&h ��(����ʿ��^�`�k����<���f�N#�?F1겡ꪵ|��ɷ�l�(|���+��+��ɂN5��L���S����f���L^�ޘ�C��]#�[�-��s�>��<;CxG'�+#�\-�tz"JU}-v�Z<�H�ْ!S.>'���b�Z��2� ����Hg�l��j+ۀ�g�aT3�6�9`!\���5�(�V� q�����(���%����Z�x�`@�k]�SxzZ\⮘xhiY)�:0���`V��2�>3U�2v��/#sO֔O�Fٍ��^���Ͼ��':��v�B�'����3z��T���B8���k�jb��Z�$�+���|�3��zCYI˷��ω�,(s�pD���8���R�$e�=:�H|#�~x����#�d��F�g1Q^Vs�g��x�OZu��2)�9�y8- m���W�L@��Ik�6����AJa�0���>mB�",���IN<�0���-�xי���q�����6)�Q��4}�kg�֣�t�ؤ�kK�x����2�6�����V��ϫ-~�u��L��[6�A�"'��@�;k2U���u�"�"]Q�����7��������c&�\*3�؏�Iᦃ�/�M;]Ƽ#g� ���� �+�a7��k�ﱓ�@/�]'�zHQ=�$��7���TT�f2�O��\_Ŭ��؆���]��瑝�M'v��]�꠳�g\�f������%�zy� �z�V�_et��5$x������l��&����$�:@�/�EM���"��&�9�;]���"���Q�E�h�lr�o��S�F��_���o~�ɡb=��H����R DF�D���|� �����b�@��Y}� �)��4t�~�v���>���"8�A��Vj*#G��g�U ���G�6j��`����c5Q�̰�徉s���$����+�\��lú�F�I��-̖��[$kq.=ݺ��|��d�;*"�]!�=槾�uR�u��^�b`�������_x��_gAn��0t�\�`��D�Џ]Q��=��*�/7dG�Q�|��#4�3yI$�}�?��~I�\R�ϟ��k~�U��罀�\Q�5C&w�2�uzc��j�c�S��Hg��2��V�75����F��x�&��az"H��*9~��j' K�q��= -��he||Br c҂����º�.�Y`��#��K�u��g��t���4t��C���={�K�ϟ3���G?�.*:>�oZ����TL�[��I��}�2�Dt}=(0@�GZ��L�i0��U$�YG͔���`�{EYw���ҫ�r�@���Ψ���ؗ2��n`by!vt"D=D����J ��f�ٖ �]��L�JѢ��]��0��;�O�f��^���QS���ajI�ѿ8:�����Ձ�؛&|0g�ȟ����-��\�%'N��&�n��z�RT�el� ���/���Y@���%Tun�3��\�Itn��z�K^�������Wѭ%���S)�m YV��u���u��Û�Y����z^X<m���g�*���;6�Y�*�ٍ"}@z��+����Uq�%_����r�9�=��A>����^v��,���q�)�����9��e/��d�E��j>n�"�&��p7��YdB����W�:�מ�K�N >]�Rs|p{ىq��v�l��PL�u&嗔?n����6��y�E�[Qt�Vy^�D�$q�{}�,k~�;�.���A�hj��;E�y����c뀯��!�ne�~���NΒ<��UT�� ���-o$� OëF�(!�$��(�V�"9��8lG{lfw�a��.u��bֈ5�#M2�fV�D%���SR��4CX �ċ7C�U�+��G�Y�t���h<�CM�*����6E���%C��j�nx���o�8���s�}mW;���&F��xicˈ��X#.���`��t�a��:�H ��Ȱ}�x �����b��dI䇑@��$5����l�ঙ���d*|�㍎17_�`�o�jz�<��[]4)7�9�����G)��p�FE�����v'�Ϛ[4��&��@�Sb�)�7�p�.�1���sNl�I��eK��y�p����|�䣔�qY�2%���ge�$|IC}�cѶ����"C��6U��<��C��"V|�:K ��q �G��/Y��*#6��Q&�a��B��0��f����;kJDba�����{N��&Ǽ��K��(E��q������_ſtV�`��w!�/���QYm�Á��w�tl���b��G���?\� �ME��s��Y��J��F�$ J�O*tG�4a�0�Y���b���'��vJ]��;���z%%> �Tɉ��Z��=1'��A�����&V[�6M�7��$�N-]����4�9��@)8_"���ʚ]�\�RK\�T�ou���3_w�����ಒ��t�i6n�G�.2ĕP+��6*r�F%�x:�U�䕯�+�+��Vc�5~�k�o�B�$@Z91��E��@z���-ܟ�'�3��&{����u��"����أm~�EBϬ�:s^��$�A_�)�t�D�0���!�QF�DO����O����ʔ-�J�!G�^���LVKH�:�)�`�ɻ� sT�'�<�ڹZ�.���W���<Sҽ��`t�K�����KP��O���0@��\6�?��dw����/1�v�{SB[s�QO��w���:J?���E\��%�gM��+���ȭvT>�^��y+kM=��(��-D��"d^���/�#�[x��Ik!D�䨗�<Uo���@0t�êr�?�����`������W����9� u�TcU`����O�d��#��5$&�^�ѿ�0zp� C����6�� �]X�.t�5W\���$w��*�k���u�e�R��1^��q�R�g<1����Z��f1p���\���G�h7vg�\u{��m0�Y���[m�!4S<��P��s�C��D;�g���eͻ��/U�H8Gt���߱�X8��U�� ��g��c�U*��� �BHt�/��KS�<A�^���7�3�I�>�F�U������Ȳ�@�w�ѧ���I�x��yݗ��8�z�[�7A.m筢>U�Q�p��v.m�4���B�ZE�He֢Ny��M�4��OA�BU� ��f��J�R� :�Use��%:�ؐ�":^e���%M�[N2O�����^�Vѷ�b�=��x��yk!�X����`T&.�<Ԉؤ*x%T��i�K�[Q��� @�2V9N�#�Et�]���<qd�������=�+ʿ�]b��e\;������˩�n��#yS�]����I4#�D�TX��V�a��P/��᮰����DXG,JF6��nW�|���[��p���TR���8�y�+�� *��ދ�R�I=�q/�⇊�xo�A`��J��6Ƅ�^�Ņ��>�qO�o��ϨN���U��Co�!M���T�]���Јz��5�\\�幰_yD R��V��8R�#�2�3�>��E�pKD�P�I�ZfT�BFWCq��f��b/˃��qZB���Ung[�S���p)};��L�xd��o�XX��)U_8��%�V�et�}�I��DKX��}I��1��MԎ;����җ(+/ц���ʙ)�-�もE�4�n�ƭT���}�>�R=AR�L5ڡ-AB��Qd7�t�/� �xA�̳�|����}s.���h=����d#N|���i�+6����?.��I��ELZ ��7"$�NƗPb.�TNM �%���Q1R�&!�$7p$���ĤWڤI�ݽ,Α�2��L(NkPބՊE�HbA���ed蔉�v3��������HH.�x�����1 5�P�-v�p�qw�8ic��q`ʧ��(�'�k}>��L�\����;>� ��ɇ���(x����C��O�Ұ����x��F��V{l�*s����W j��kIͺd���:R\ԇqyƇ�R��3���Bیݚ g�����{N�t�<n��JW��r⯰~�v�N�q�I���4�=㸵� �2�e�Y��z�� �*�Cd7��.Ъգ��v���_���CkI�hD}�ųzܫ�zƁ8����!�����ytaq�,\b�,|ϸ$��+i-?r��k"|s��&��[�,�~Y�G7� ��?� �� Y��.A� �BC�h�����c��$�� ?p�8j��&;B�dΑ�=rGmD��ޚ�*��+AC΅E1�#�@�K�%p[�p�S�k��)zގ�-�I�0�,}O��n���N�\M���"o)�#آc�'F���G� �S>�X����ף�������ll)�<l��-K'�`I�n�V��&sS�|�$瞎9N�̣v?~�2偲��oY7�� ��ϫm0��!�Є�wh6F!�,�0s�`mK.��wҊmd1�m.S�<�������9�fF���2wı��H�WꜢ&oKP��l�k�� O"m0}��&JnZu��ª�[`^C�)c����Z�G��ɛg�8����uW~ �"��~D������JZL@�P��5���x�6���p���'��*;D�l�J��N�Q�zT�ja�m�N��gf�R�T�B̂�� ~���q�P*�-პzQ����cj��.���ܿ��EF��m�4+����9f5��ҳ��B}�3�]76���SݺC�p.�gN�C�0[���~��� 'R�E�|�`��GP-l���8]�g�D�M� ���v�ه#�9��8U�a���ۧi*H_��%0����]'�fS8�$�xP=��ގ.(S��(b 553�l3�N�2����Qnj?�&�,:b.��o��̬�U,)>I�TZ ��>���d�ù`%=hR1<SD��Y������Uf�A\<J�� �Vl�8���g�t��}�������yE ϯ2��m���>V��_Nưm��jҚصD&�J�p\ӐA>�3��v�hsc8�w�S��u���w\cJ�ΰ���1g�-���Ӈ%S������[zS��h��D��_��9�Ⱥ����[��u�ZH�a>*�;O�F� �}A��;��n�$�mR�H�E��]#^�g���?��F�EK-`/6���Ͽ�A%��F�{��@f����� T� 2/ϸn��Og|�#�;B�Sv$l���Q7F~�s]�)�S��k�a���e�(����!j�9A��� �8,;�X�ں3hKFNE���;�{���?07%uHD@�WNW�n�c����n�ǝ�m�sAĽ�~Q�^�X��k�NC��z�nе)��/ ��I��s�w��ߣ6wK��Ӊz"�1zľ�=�C�{��ݭY��Dl ��7�ǐ��a�/qw#a�s\�O���odv����n\_Ez��_��|"�[t�Q�D}5�%Sÿ.}�J"0qz��v�9ބ��;���.,k-�Ʈ�z(&+L�a���ƂFM�S#<�'�+K8ݼ�;�:��،���M�R�M������3I,�s�Z;�:Wf��?��T|if��Vd;��0���o+]Nf;�Fv����:'����Rvԍ�Ӓ�4+��8����t\��TJ��?1#P��\�B�E��4�'��+�6Tp`�N^'��^�7�����K�j���I��u�D1T/����8�VD�4����L���n�ˤ��?�Ez"(}̉^+n*<��o�𮭰�<���F�?Z[^����eɼ���yy `x�)0����������/o�~ ��gb�a�z��Y^�Z��{�sc�z��A�;�<O=�{���`���d֧;l�1��|D*�l69��*_�ZUF6�2���S^�(��� �(�i. �1?;��c��d�ʷ���2��l:��n��d�^�7<�9:�sX9n���N�}R��GG��a�2�1.fZ&��; ph������}<a�Th�.SR�OL�%}��� SPcG�M�rO��`�8���'�O�c�N����E?p�>�L��]��Y���U��AM)�?��Ys���z�軉������S���5#�u�}j\��܆�|p=c����X84������D�RUz�5ؖj3� ~ �?�Q�4�P_�>�'�$�\0�߁�w*�5!�M@H�[�+��r4�X�A��3<и<j��ˬɫ,�za�Qx~ 5�V6; O�y�}e��rB����,�IWǘ�hJg6��I��2��vE�~4�w���㑒�p�l��pU3�gvi�-���ΡK|x��n����\����*x���PDsҭ{�:2x-�t8N���Z��=�\��1Vi�>sR[�*�O-#�#ߦv���Vz�<@'3� ��\vR�+���ܱ���� ꤖ�#��g��ʋ$e����ۑ��I�Q�颜}L�0$6TM�zÞakG7Č�`��b[�;Q������lK9�=����X�w���i0<; �MZWt�r=nMh=k�<?���?�x Q�B�-Q|�)�N�p0��A���P���N(��ZVB� �� ���;����r�v��r]�H��E�|B0�@Ӏ8(M���A���d�����C!����u��zo�Y)�d�]sSc�_G����P���<���īEr�G��?sZ���*8�Pn�F!V�jw�@��7(k�N�]����Ӟ9�g{)��� �<���%�1��ʬ�|s����a���N�5�B���.G���Pt�2��H���.��Ţ9�8�`@hQ${�¶�KJܯ�%(�؞� �#ӈ"i"��o��㤘'�!/�����؏���Z�w��*W�06���� LՏ�ӓS�n��&����{�^�d�@������%��!��87�;�xj��t��M����ӏ�܋��p݄ࢃ�[���+�{�ĞamV/G�*�p�6ォ`6���K��?j}�2x�i�P��H���1Ұ���c���R<���ep���S��X��w\Mt0M���2�.T"��:秸B�jB�X��|�H<���U"I��"��v���rڼ���pK�+2�d��4/um�h)Yl����O~�V�XYj��9�Z�ӎ�k�V��v����Y�^�b�m�з�"/Qe]�aY�� � Y���Y���%�xɈ[����G�[-� ̶D�燤_�!�^r� �g��-����:���3��_��IOV���a���5��+5+��`���n��˶��ګU2μ�\��N�_���)�x���y�ׅ�E��E����� ���;�5�,XW`�3���η�{J�,@���[%�qI밒c~��]�XW�st��h���*�0M�'�ym���E�y@����̣aw����nGA�&����Z�����];°���4]��6��E���$�r��a�3�g���P1<�ˡ���}/���gָ�T �����[� ��{���u|]��II��A�б��'�CT9yB166�Ya�t^Ii�W-e++r��ȭb���HNZyB�/Fӣ�8��E c� ~~�dE�T��>E!y�.L� iqx�Ί��F�W�xXK {:������C8e�c�_Uܶ��dl���O��P�ψ��w= ����L�4��^=��\�B��ڝ�8�!���k>%�.��$_��x<�u� ��T���'�zR0�H`[)z�j�S����1���#a�)|;B�K�JL%�4Ra��kɽU��l)��<Sú7����xz<RRLJ�>x,�|��:��?����G��#s�8�g�v2UHB3Y|�-.A�q�0ī�b��6��0��|鹭�}�Բ�����1 ��Mv�`?�{|��f��^?Ʒ�����Wٞod�@���.It*M�Gۍ,���P�֑��ͳ�XK�5˝��uE�m�:\l�^ߞ:Ƕ�̱��qHW�J�� 8���J@����||K8e��9֯T��e..�ڻ�5��M_t�LQ��D$���\MD�o5��,�hŦBS���/2��l�PEw��m�R�`S�J��#]m($��v��V��vTY�`�{M�S�ʝ)-��$+_n�-�Tp+7& ���W��R��)ن8 ]��&t�`^���:��Ȑ�O,�l#���o�Wy�V��w�vn#�)�:�����}�mO�*�q����cO�4�}E���A�gy��}8�/k�|�0Lg׀y�?��`L_Wd�+.�����1�nU��ʚH!ʖ7=m�:Xz��m�מ˽�v�<f?��[�L�s�7�y*�'��+��0$�1��C���;�#��������HU8�A�2�`�ПH@j�8 �ǃAt�\B�*0��QU^|s�9G�º��t2?��3Ez�z�#����er!m���O��T�k�s,���6�m�=��<��(�Z<�$ʷY��CVIm����ܭi^9���g��K�iZ���g:��G�_Ճ,4�T˓-�X�a݊�z��p�Oq��th�u���4�M�F5���8V�OCyV�� _ԝ��7�frop�Jz��\���&G;A�&��+�8k� [ 8Tq%�/��r��"�g�┼Y��nG"\�}A>� B>�`�W`-��ةoxa�N&�v�3/N�� P{84;ćz�����q�ZW'F�:���V��+�K�zM�\�7��[���³�%�9�qȍ�_��_�NǸ�x��$��3C�H�G$�Ԓ���Ki�p���dHty9��n�}p�٪���NbK��9����"Jn�Y2ǫ;�-fA�N��b��Ƕ����T�~�NA'g&/���C���nvO�*V�8)�ޭ�,{*)�$z�9�����w��WB� 8[tL����#��o�����l�-9�>���!�k-5����g�C)ޑc�����>k��~���Vq[;RQ�s���ں�;CXy�d�B�DГ�)�^S�E�ńf��^�_P��b�.�4ᬌ+��y#���ĩQ�����D��n�J{`�'T�ѡ=�d4=���9�\��逸��ㅪ�s�E�p�����Q�͑;���_�$��E\k�c��9#�W��ǧQM-�%nH]m)��J���t�=����������Z����*S?��*����/XÈ���{�4�C̰����x�}� ���(��7���Q�u��DҘ]sy�ƨ�����H+���gS�@<����dQ����1�����e�=Ez� �g5g���̆��E�DM�����ws=G���=�Dȥp��]-�ɸ�QƷ��lB�Z���G�;r�"����"W@�3���{V����A�D� �L�k�\BS�v����-�n�c���e���=⫝̸��� �YH��{�!��]<�8�X ��?�B�~��(����aV�)�~9f�Kk:�������~4h��'����B��i��d�d�m6�S4w�9qJ@�ܨePn�h���j��c��,3#��#r�@�a�j.�օ3)�,�4��B��,OW a�l���}Z�Ʌ�r�!��Y� ��� b�fǣ3�� _y�\O��<I;9�}W߆�=�H��Q�<� A8�ZҖ��eTb'�3l�TNv��Ƣ���]�:��ޤ���-����yfF�f[6�3���9yݒx�!.A�0�����ل��@�O�k\�0��c���%LR���o:^�X��2"�����|G��Hj7\�H]��3/��`�'��Cȗ��Ъ��G��^�T��T��)���b����1"�+h#/_��[XL�]L9}�M�[������j�9b�kf7d�֧�d�L��}f��!��> ���g�>!��O��z{�U��y��iA"2J������� n���w�D6#�C�Ӈ2?�)`'�����u�Ę�u�rg����aqŊ]���#�0U���ù31˪�P���r��5ʎn�6�Eyl"��7���Ax�$�:���R(eʂ|�A�i/��1����l���whٴ�-�:1Q��{�:��b<��N� -:`�Y��6f�G����QRyc.�ojUp�i�v��9Nh��-�]���V�g�mt�����^ĕw/,|G��é<u1]+ވ��Ӯ�]�2M�:���ND���$����v��c�G;l?�Fi��4��`�å=I��IX� ���{T�ȻΤġ�g��)�-s�*�� ��\g��d�e����\�pL�_��b�w�'B�hM���v>.�tz$�IC�k�P�fYҧh�B!��g��E(v����2wl�lZ�S n0������q���)ѳp�n�"#�$����!���N�9�`��/�'ԩ;Nb� ��ʹ����߸�J�RƛR T���o{�*z�rVU�B���n�+͒��Ƃ K���)|�P#�#,�.�j.��l��Kp|�Zk^N�,6=���ط��UL{�h�_���hx �|�!���/��nHF��<�az:�����#>�7&4`�Qv"tL�>�'tb�e-Ɉ[�_�2 �N�z��@�:G���K��QX�>����J���٤Q�<Im5���@_�v��wѭ�9�Q���BsV��&��7�?(�\�ɰ?��O̐��v@/|1�� ֒��ߥ-w6�GoNA%f/�W�}��n�[���@����귴�R��(��{5�=Ax�c�R���3+F)K�@xH��{���yP�)��j��XN�/om�8GI����2=�A���}��[J� ̒�Q9�( ���)���?yGKb�"~�����M��}kk|��3�X\�q��æ��({���@�MZH9�}S��P�yF$:ڐ���+B�Y\��M�>�2��F�H{0�Mx��j]�@�&�0�fv���/��v��{X*�ˍ2���r1;b�9坍 ��z�*z'�(�54�t�M�ss��k�푘CKOY�kB[&7�+/U�n�) Wh!œ��ϓ�^�<),o����q�y&�iX�Buan�o�۳z���4��`��M< ���+���� �z��t�q 5m�\:6!o_�SF�O_O�e����ٸ��d�d;� ؇gc�s���Iϙ�y�r�f�����[z�r�na"O�xP9�����dL�������6�C}莻!}���%<�3r���b4�y�U�́��ni����S�֧1d%���$_l�n�a����x�`�&U��_ϕ~0�ёt�v���C�ޙw�ab�Ľ�tdG��D��_p�n ~ni�2}��z�-x��+0F���)N��B3��_�j�9@����sN��90W�:h��D!�-Y=6u5��䶋�#h(����ҌX�"|^5Ǡ�O�d�/0B<sں���$�:>�٣b ���(8�f��m:��t�[u�r��[H���WY����M}>+��a�&n�%�}{��ƻ�}�K�9Q����_��(PY��) 3�֒�D�E�����2څ�25V�X���]Ó�:��Qr�ֳ�I4l>K-b�,�&��y~�"_�����jS��-E��|M�v;o}I�{���:[�s���i=Z+�^��U��[�$ ^d,~�* ��2D/���"�(���Z�N9�����9�Ol��3�v����>i��`ȶ��(�z' ����'a�ܱ�������pU"�Ҟ��ӆغ��ξNW��N���&//��āw�D��>R�}�Uq`ܻ�!Mk�Zh& e+��ۄԄ! ������J��8���7l���Q7������\Kr�bU�֙{�e?�=# ?m-�-��`(�6T���l�tE+7�5�;S�ޒ�pU���8�&�|��|-��Y!�ٵ��÷�豁�%T����Z���㩕�B�ǟ��0�&C���Z&��QRt����o<��sI!��w��*T>��آ��@�n(����x��M#�5�7d�U�8�7�_C�s�-�An�SR76.�0��)T#�4h/ܣ��s�q��1��=k�~�"���m�{�hK�i.SON�Ψ������%���2#T?��N@��� ��������@F��q��-Q{��8w�����q��d�N��֘�v�%��Ո��|���Ȗ�b���F1��c6͂g=S�~x9}QR_���Oh}�1jE\�j����C1s֫8M��_�<�S;'r<��<U�:��VQ��[B��5LMU�yT��=�N��cΠ�F�y־�T��)��D�+1t"ck+"�v����vQ����@���W���'�åɻ��7N9�l���!���� b����;K�`ֺ�W���7v�N����0�q�>�S�g�H<�<J�Ć�ƴ�ާȿP퇟��4�]�Q��<�,%g��7<����O���\�'@��<s\am#�����2���+�GYU���,D�y�*��{�z$�ܞ�i��LQk��NHf�ˏ��U&�-=�ǫ�똃S`rls��bgJ"۟��+�y�v%D�+ L�(�UR�Q�x��A���,L d��y��U�{�%]w��k'%u����U�ئ�ت���aI�g�D�s^�"��ZB�4:���+8��R�x7� �H�eV!Ύ����%��h�M���{������Z�{�1JN��V ��*��g''ݤB�|ؾ���rf�����-e�dr=#�R�wz��c�����%fɳ�e�&�P f�o�}��R � ��BѸ����=�Ed<^��`mJ_ԏ���H������rmp�7%��g%������#�U{Oe��Nn�z*藭���ݓ�i�ڎ�\ AmTn?�g��Gn�}EI�B��н1�n-�:�o+OCu��f$}�"�@����zu�d6 ��boc/�R�B�BJ(�mN����8�4&:F;f0�!֚��&R�y�G�I�[�߿_�:0�'����Ђe���q�CC�U�7؟�C�̓�psW���1��5y��K�Dʗ����"s�\0�U�� F���� S�܁TSM��D랸EL��s��1�����#��j_Ҧ@G���!��<�0����Q�����_�Q��9y�k���H�������HScE�#��w��*G��A!.�J��c[8�π��:і�#F,EI[JN�xn�a�2�{��sm���x��ʚp(T��x�m�D����/���!~�Z-7c��mÅ*�g��o7�+���J��;�i�s���}���X��5 w��5��z��KK�y݉���N`�M*GLz�q5Ϲ�jpX�F*6E+ξ�1��_�<���Q��QC�}}}PC�� ��|��� A��_�߾��o?J`�r��� ����~��ߣ߹_:&�ノ��_�y���3�t���:3���_80W��ߵ��w?t�ib��ѨVݖz�.����/UC�S��?PK�`Ƽ7=L=PK+ ML1dist/plugin/databasic/summernote-ext-databasic.js�Y[w�6~ϯ@�ڒ�Zt�=yqm�l��^���>��&!�1E�$����7��r��l��E�>�����2M��k�����@���Ԫ6�y�J����;�j�T��i�Y����c�x���[y���Q����f���z�;��*o�in6f��ƔC�3\��x�.��렻��� �J�q�3b�?��2BS_���}��KSꃧf�1����ӭ��_�v�ס�t�y��#HK,ۓ�\�����ea9����\e~&Y�����W:e�v�kU5�7��a��]c�V���eީ���,lˆ�8�g��l?���vcڵV�i�%�n�aU5r�4������J���Q���k�5Iw��^b�]W=]�0-yS�u9��J�R�� �e=��g��0���fcKrT����xo��.g�Ū3C�wp�������Qmt3��ZY(��k�b=S�1i�d%�>'�x��K�T���5P{��$1�kl���{�5��U{�H�pIV5��uU\zӹ�gͥ��/�u�&#�Y�6W�,P2��n�Y�����&��g�ol]VV�ڐ[��g�F�W�J��?ZT�b����=|����-ҟ�5E�b��">����h�I42��j��4lN��#u�}��K�k��qH�<��'��~m��qCZy�{*����E^/�R'���|��wt�����<���W+2�v���K �F"�3��V�T69 �J�+�.��E��J_9T��9�H�b�<s�c���$��3����L��:�]���u��S*k�Mg)�1TxΝD���>߾:}u�6���BG�e@QW}��H�6�pA������7CU���.kԇ��g}љ����U�4��=����%��$�uU��D$�F�N�2l�ڃp�Qw�J(̕/��P\w1�R�4�FF��ٟ5OLy�~�MKS(�6;��\��X�7f��ؾ������ҧX ��C Pm�����;I�_�+2trT�约��jmuo�I�(9:�MNWM;X��t�P�fA�î{�0����=���x'dC|9��U�c�լ;�<�Ӟ���6 �-����A�D����K�o�搈�Q!���3 ��q�#�c+[�;���7�ǂj+�Ń=��s,�-d�CE�kNf��]��,o[`��& �Q����y!��3��T\�_B�C�L){�O����1g?��-N��Z�i� Yvl��r�Xd$4�k Z�%����?*Xh�)�L¸�Ov�"eGOY��/uH �� �~x_uϜ�/v�)��p& 'cH.�;.)�b� �4��ֺA�4U��K����.E���~��W�D�N����|�3C��+��ۍ2]�]�=79���W.��B�"��huGO �A1��W�)��t�"gV�~87�}}1ϊ����|��3:�պY�u,����PG' _�wf���655|���1I�>�;}E%���[$s��ym�����Z/�!��,-��Y������Ǧ�~p �������J[�i�8{ԏ��RWL�b|ѽǂD�-�8$��QA�����1N���.�l�/�k�!PrNv���Rl���n��O�*�G�u�ɝ�uF�}�{:`R�nf��|�������FD$����!�O�0�eա�7�(�o: ڔ� �5���qeR�q�4-ҹC�!���B� ˭�.���i@�w�s����ۊ��ml����fk���� �Si�,����������@LG���pG@�:���&��2@���� �8ߒ1�� 7j�V�Q���y�\���\V��j�p��㈳�t���wrt@YB�by�!S1Q$(�Q�@�NA�Q>������ �cU*��Q��qO&sG_�"e2��2�w99/�]=1Y�K�&�"��d�$[�,��L���P�fy����:*��1G�1���)O��G|�T�����'C�M�&NF:�v�]��"�Ա)T-@�\#h*!��;9� g��#3�p4eWa��N@� 5��{����6� r=rމ�%������|�iɫ����J���漪��w{�]9�� � ��&��k� _"~����`˼����r|���F�#����s\%vb+��� ;�K�u��>�J�, �÷p� ��$mH���C^�M����>���D�4��IDT�Iǜ: ���O9���_��0sv2�U�ͧy�_jUȱ���H4��$�Ic��5�)o[��͕k9�e�1E�3�xv���P.���4�f�n�m�5�UMO��H�1M_?�;r�� �M�9_��\%���Q�E�$x��s���=;�u�Cv�S�BL���B���m�����P[������6͍M���0��qE���.,���"��Wn�j~B<r�UY"��o�f5˥8�rv��X�~����#-Q�� �-��ܽ��I�U����қ�PYq��m)C��H8��6|�a�8��0�)�:�x�Vq_�uh��<�j�u١:���!s�9(��'��^0,@�ԻQ\�ޅ�]�藫�X�݃{#3]��%�߿��ߤ[��(z����Ɯ9�̄�_[W�)���n�~��53(,�p�$V+M=����u�Y*9���Z���4���� ��('�;�Ɩ~�W݈FȌ�J���PK=��e� ) PK+ ML)dist/plugin/hello/summernote-ext-hello.js�VM��6��n$/��{�e��M�d/EQ`iqdq�"�����~Ir�5����3o�yr��vB��a��洄�W�k�K�c86B!\��T4P�S�����������/Ӄ�u<f�\k��+x�{a`��?�N�,t�+*�z�w��a@s*�YA����H���=`���?��8;��Vs\���N��އ�����K�a��X��?��ۏF-u�e�q�\��X=��{����e�W�H�^�/*n���^(��1q.�Z�R����&E���t�(�(��ߩ�t'>�EeQ� ��Ee���p�JEV�i�u ��}����a�g��r����∡%�c��#1 $�H`T @p�0v�Rd.̀E���]+���7:�P�v4��� $��(�C�l*��r�Ԥ�� s��� �µp?�*~�O%|iʵ� �3�9�~ʕ��6�;]1m�%��m���%X1:%�H8�'a,���� Ν���⍀Z2k�/F��[�ȋ�w�WH���KK'z���͞�Rԏ3Z�H}E�H��BY�Vˠ[�$~��[��|��|B uЏ���V��y u�Z�#! AQ;�+�I�\e�d6�,V����3��_U�!�#$-7FwY.��1U'3�@�Ra����v��|0�`T �.�?��T��$x�ҥ!H ;��s�n����8 J8����<��oH��o��"9sNY3))!k��Fg �5���rҖ����z��:��ɪ�ޗ�����I���@s������]��z3���v���[�U�(h�'�x� ���Q<���H_���������b9�I8���K����Ѩ� ��D��z�lBX\_ooe�C6��㛰�d����nzmI%Z�s�Q=8�0���o7��S ���}u,�����曋N{c��t��ǽу��� /ƽ=/��3�]�uY����ĝ7c�O�h�g���i�8Zg��i��0UJ4�[�2�b8����x��X��?�YŴ�v��%�T�AʼsԺ_o�ބ��˿PK�֙�� PK+ ML7dist/plugin/specialchars/summernote-ext-specialchars.js�Zyo�6����-�9���bw'�4N�ls��XA��83j$qBI>������5��;24�.���$ˮ��B��Rf�6;��B���R/d)r�,j%n�c�X����(��<�@b.���/���%���^��X���UF�F��t}Q��λR�` <z�n���N����]��K��FqA�����o*k���:�h�6L��:W��uU��o,�T<�>v�QI�eg��@Z�{����r�j�99+�\������ⰿ�L�����k���V�y2K�����u��M٭��ٵ�b�lTV�2[K��DO$�u��E!N��*��I�.��>4����t�/�L��P�lZ�ݵ��N���7�: �3��� ~�������q:%a߾>����%���//�ww���O~<�߇��g?=��SO^�<9>w�yB�\�ǯ��}����O^�t���mb��gGv�����U��u�U5p�pT�x���+�ne9�d�z� ���.��Pe��V��-��C=�Vߨ��y8�7;�ޟ�b$���~b�u��n)��0b��չ_�{w�U��.�q�A���@Xo.�6�ҍJ ���#�r+��<�<L!@�ʳo�ͷ1&f�9T�u��T��xV�3L�o_�"��]�+72��KX��w�f۵s$�M�{��q����1n�J5n��ENr���� ��҂��e�v��2��5j�a��g˼?d�a5����?b�EWz��UY�Q��F�*�oc�Q'��aX6�M3 �D�qXP`�y�.X���ʯ��B��FI��t&K�l.�Ki��:7b�M���#��φ��d�����L?�Ѻ-��V��}C��P�ݫj�����.[49>CF��)�¡n����⦪����b��d`]�׀��DQ�p���1�9A�H��u=:�1l�ʨ�����@�0�G��0��:��?8A�-<E˗!�li��~�)�8L(�E$C�#{Y�"��2S���0,���J`�&������Cz�Y�-�p�`��i�BV���(��JU:�/���u�h�B[7�B�v�F�:��S/�p�n�1?,DVʦy��R��[�Ű߈�Se�"��W�Y�h�.�bs ��i�����W���pA��&m�,��M���r'E Ε.��o� ����A�7��$���')Ճ��=T�@O�z0���v*�]|��{���w&٩K+��E!IP���ד6��m֒���%�C;�8gZA)�u��0?(��]7�$�#��9Ne�?&�'s�D��k��h�9�@�Z�<��b�W�pgG���n��8�;J�Y�d����ds� ��^?B"]�ȕf$�؟���麭��*"�l���uٶ2m�P�?H��ީ,;�Vu�o��ေ�5�(ljي�ʠb�n���AP�m@y�8�y% �{�X�[��nΣx��I� pL�FQ�����5dj���l�ř(�ݬ5�z�G�y��� q�?�2�AR����f�^��sGS��];�{��y�7��v�2�^%6���hqB+~�P�:�)}K�72�P�T_�U�A�6Xr�u(]`ƆL8~�V�إUЙ��쓶6����n#p6�[�]�#[���&�d�ݝ�)�z�<=y����}P}8�w�3��I�bҍ#7��3UT���e���������':��:��?�=��Nq��P:��T����4]���N�'� � �F��cT�(Z/ IX~?��ui E�P�Q�*q������A��k�2{ ��2��ؼ��4��S�h6�~x�o��sm*dR����}�d.ŹWh�\�o&��t�g��!Y:�!�(��pN��(]�% �t���5Q`�Ǟ)���C�C|O'�J��.|�C�mtU4��M\�'����-9�.$���H-��A+���3�v��y3`],lK���z#���c�h���-p��rO��ScP�C|���W���w�N߾��Mw>nDw=nd�x������! A���ȓC� �6�p�y�\��|n�����y�Zh���uI4�����c�W���<�X���<��2T��wep8U7���9|���L��-#���⊚�.�f�^h�x r��jٙ���� /���+nj�m�rw%���w2�9"�_x!�uJǺ�(����z1wUؗ 2}����ý�� t�� �>q�����54G��4��* ���jdL?�7|�j��I�Hmu�!UY���"��@��gu�� %s��c�d�X��p�� ���n�+p�^�3�r֘���X|2�3`j����:�KK���%t�Q�!(�Pv��WH� ���W�"�i�1�]3�~`��=��:��S��Fr#�:3�eua:�1����;e]��ƈ��B"�2���l�����Π��7R�f,�H�7��%G��Zg[���C�7a�#Í~c�ma�6�L5��:S�}���d=~�@�q\��ؙŔ���ҡ��)�m����Έ���n�8ʷQ�r��-N����"YF���aO�j�S -*Do��#������Ж�Н�d��Y��rOe{g �2I�`ܦ�z6��8�R_]q����c�H�/g�,[u�U�k"�,jty��\m݄E\�Zc{��.�v�k;)�}x{��)^�e���8�ƭ�.P���1<9�RB��菱R�d�1��.ٕ�n2�B��K���q��XS����'��㏁��K���$7�팲��>��I����[�9�p.���ela�7�X���a3Ӵ��Nˎ���R�;c��*���2Gy����:�>��C���iw詸�C涍��lD0�����g�������L�6�"��>ł��12�Ɓ4�J����OF����at!��d,��B�Y�$XP�%<�i�]�~��\��R�-ٱ~7%&�:N�=�-ڽ�9G�=*��?��Q�6���S[�����x�е�nop�X'0�2�W6�@;�, ��; ���t8�-F��0�/m��8/�g�������&��I<C�I&�����j f/���)�E�Sȉ��o�=�\W\=/Q�\�#/�_K�wK%��i���唘f�����2(��k�G�������#O!�U([�i��csNOAE���ާ�_dG�y��ZK�'�mm�m�6���@�&/��PK�.G���(PK+ ML2dist/plugin/databasic/summernote-ext-databasic.cssU���0C��+���K��� ]D�Tm������~�\�E�S�O���I��� 3]�h6�z�p�v��*�T܄�&��J#�sj|)��ܼ w(jȺ��v,�M� 1RI��4�����b;g��6�����q "]�>��1�������q��ذ�Y�fh���h^� PKme���PK+ MLdist/lang/summernote-ar-AR.js�X�NG��S�E$�D�r�"��*��V�z3����wv7�T\@�P����c!��ȓ̾M�fמ�� ��;�ϳc�$�Ǟ�?�0vwR��E��;%A T(c1��5a��p��t��8{e�)ø��XM��Ǭ�o�E��_*`k�y1��:��}��mg/ B�^(��D�������+K~�Ϙ>L��i7�rpm��Щ�����vc�Z_8АF"�* �b孊��d�j����O��ip(k%���� �� �k}�H���P=x�n20�K�Ү����4:ӧ�N%��FnH/�-@�]�]�BE_A�EA�FBe���m�c6�D�����F4�G��ߝ��,���Dp���W8��� �\��Α,�y�U,�x�|�o|ӗ<^M�� l������t5�� zw��A�O� �����Dm�UIi☬�9}�n?f@n��>��x љ/��S�xİ_i'A-�^��9E�A� �I���;jA�C��oG���E����f��Om"����d�c��0�ȭ-�4L�O��ء��/���狈(� ��@8����^��r!�ϭZ�!�����2���q��G�ầ?Y�P�N��Ʌ ��\N+%���LD��I嵼�ǧ�c)�_y !�l���t�9�wϱ��\��U����P������C�CN>�Q��P��_e���������/�a���E���$��0�0�W��P�q�~E��� ��:�r6g7 s���LD�ˊ̍1�ۑbt�9�E����)�qoM�\55�FAY��p1|"�~�\+�a�8��]J%*��0��H�㒁b^��ҷP�P14{�����\����n4��k�ӻc!��A�F�U��"jF�Y-&P]�I2չˋ��CԷ]`C�� &�EɈi�.��w��"`�Z"g`�P2W�o�!�bF�e�����(^/�;[@낿�E� ��s������{����Q�N���Kӱ���ɴb�n�3l�]Բ�t�!��9�G�#a\�Ñ��.��H�#656U��E1jJ�mI(��¦ ӎ����l �W#�h�[DX(;T� "��'gf��P����0� ұ� ��ax�3%�q�.�'(�ѧ���צ^@���v���x�g�$�"�#e7M�t�3(��a1e�I16�S�;�F��4�|(J�a|)"��÷�ٜ��E��xS�s�g����$��&_v�LY� ��R�-rcF}+�h`�|��Ih& � ��;���j����AXr�R���O�C~����F�x���~����H�+E���=L,laN�o�P[�ҽ@z�h��M0hڨ-U\O@зn�FSl���2v�O���}���r�h�]� x{a�z)��6/����[*`���K���VΕ��'�lK�S��D��on,@g��t�9zf�x)���"}[Ulz�g4.��H����Z~�� �& ��"bq[0�G1zo�����h�U�~�NIL�?]I���0�t�'�e3nn��tA����(�^��e�����R]�z�) �e*;��( �|-�yI鬪�P�3����q���ˀ3���P[�F���cM� ��v���Rڸy���%tH"X���/X�?2j�����TY�,�d���?�m�ad�'���eYQ5�X4��(�Hx�y"�i㳒�0��o���x��=c�R���-n���x�wF{����$U�hܒ��rڇ��ug����-i�A,���%�k+M�̾��>�W_����9dLюce���zܗ�I�5"Z�/[�:���X� =�_?��-�\aߊ��^��FQ����xPX�,?��Y�^b3��陕��s�y��7�9ز���`�Ƅ�pO�i���1���������/PK�hy�jPK+ MLdist/lang/summernote-bg-BG.js�X]oE}�W�C��R�6�C�ae�[lgҾ����4�����)q���b`�@HXPģcll���soUOWO�Gr��>�֭�q�eq' t<uaZ|��fԽT�ݩ3IE��:U3������v����i]w�B�t�VOB�uؽ.Z���~~�?��1~^�.B���2:��1�͏�49���2a+�=`��<?([�uB% ���yQ<䅰�X���π� ��ʿ!���a®��e�k�^<f���%� �U:0:�H�w0j�](;"�S���� ����;D�䣣�a =T���= 眉>eCƺ�� 9I�^D�Ei:6���B�>�(�.(��&>����°�w^'��Vv�n����9>�I��mɨF������ɏ�w�6��2��������I�*���Z�˪WZoc�G�����b�"+e��D$�T2���^�8K��m�~ '��'���u(O|�&9T+�R�*h�����6���ԯ`�y�6Ȣv,r��7z5�u�:=y����%J�Ee8ݞ�x�\[���ͬAٝ�b�x��T�!��MF��F��|<`�B�Io�B�NEN����ۈ�_��'�{A��Ȫ-���уA�x6��1�2�!"Խ�Ř'��띕e+������&��5*�w�#��OP<��y8ѕ��6A?�%-}��(�AWi��ֿ郧��/�:��7A`T�K\�b\����'���&��"7���ֲ�����+����odtQ, K7��ԍ(�_ϦCK��m�g9��K$G�xF��D�Ϲn��'���T��B�d����I?%�y�O��kz!H��܄��/�,ݵ�@��t2N�r�ӭ�*^��WqWo���Pn /c��D����CuҦ�� ���M<R�Խ sw�c���5:���ޘk���v��Bҳg�E��B��D�鹎�ס�dut�E��� X��0�]�6�c�*��S��X��j�֬?J썆� ��c����@x1� 8��%5fr)�J��Л���`���(xQ#�!�G^�a� o+�Pw�?�0�����1fh����� .��4@)7��@\��'!.��+�W|��I��>bvb�G\�����j$)H� Xkb�6����P�XbtD��9��Z��$ș�\V{u��Dg��*��(q��=��Ä��O�����X�yXbޠѡ6�ꮺ(�}�X��|ߵ�#��IC�Nn�sk��%Mۘ�(����٧���hڷ�;g]5ɸeO��Aq�ޫk����W`����F�;�MX���Y��ؗV-xZ�^�v��q��A�I�g���wPL��ۘ���Z��FWh��l��,A�q�,�����/pt��Z�F���O��!x��צǶ�q"���̪q'�m��Y���g��sC%�'H�r�)C9��Y-3�����enD�&nbt}i�{�j�N�zڲ�`��z2�����X��D�t /�d�M�ɠ� \��f��3"�|d�;A6s 2/j�uB�0��K����^h@��M$�4����o%�O�����,���tH>����� ^��ƨ�Ͻ�./�$���d�`ն�Qgr��a��q6�I�����$gޠ��:q�YŠe��풹p����S���U��B h��o��t�D(��Eɸ�9�����~ �)�x�+�b����YA� $��R!�VDp3���MH���M �6���^5ѵ�J���)eO$6CHh+1,o�f�R9Mk�:��ߝ�3I�PK�g�y�+�L�gB�>�DR�lm��)��2�X�>N��!@�|�n�n�aLʍ �I�-�&2��a�Q֗��HK�_+�WPΓ��rj��{�i%��#�� �7Zw�Ak�_��/�Op^r;���GÖ��rNYh,e��S�'K��s��f){휲�|_�lZı�S\��p%�q���>C_</�yt!���Ϡm��*~�]�M�D.k�ɥ�O�C��m+�ڰOX~����2��@��f�������Ks�b~qnen~��ʪ�{�C��X�E*�pE0Z���}���oܟ����L�M��7PK��E/m�PK+ MLdist/lang/summernote-ca-ES.js�XKo9�ϯ�!@�@�@���a�m$����5��MI�٤�&��A��{��`��W�����VW��YH"�_U���>XD[��C��wB<9R�A����Q�Zy�:2�.��s!�R���x�.�X8��sg�7��TK��,��k���4���$�F��h+卶 �Wq�e0FF[%=g^E��j�6�R�<�Rz��}�c��MV2�6_�� +k�t��3M�Z��wq���tt�&Λ��5��5��R��C\+�X�1�g�}�ۻ��J��iK�r ��U^�(��2,��m�<]���^�t��̳h=JU�V��ͥR�t���k܃�(��f��ȀN��\{��(}Pd�]Aъ:dW_'ùZds���F�S������� ;��v��w�,!/]�K'�sĘ�mVr���|���Z���Y�/����}=p�h��o����JM:n9^H_���{���\3@���]��ʓ<�QӨeTQD+[� 'bTț��:�v�D ��縷����ā�6ʨ2�yW�i�p���Nٕj��4B�{FW�{]�Dt�ܺ���z��D�m�S�����=Ģ�T��h(�d8b��'}�0=Oaީ����-)���Z�BF��^��o��x�+�x8����W�0���\�k�i��6�����.p�#\��oL��;���^?�8�s�T|Dx;��b������8�o>\8J�p!����蝈\��:y�=���^�2H�-u��G�" �S�7P�Ι;����f�ﰽ�r��u�8B*��0� gX;��D�er�����쥺�Q��݁��9�MeS�,�7"�C��� � z��LF�ӧ����;�g�;�*�ݝ��f*ʨ�+��ѡ��&�ty�Jgbm�A���)���Ww����yPt3���֟faC�,��c��0�� Q�+j�0&e�B���Q��qh��P��FqJ�]i���L:7����h]p0�wqlʭWi��z�l�58#���s������_��/���~�������& �{%F�<>��s:�۠]�*5;���P�^�֔�VʐR�?G�9�ho��8� �hhp��� /]�n�"���5l��(���z^��p��d��7��`�]�����P��p@�_�70»�l�� E����z�|RO��MK&+�ؐӸ1��Jh�H�t�T�k���^^�xm�m��)��fj�����x����z�~�R�3!J*���9hcШ�FR� ,�o3�WL� �2��H�����4*z�97�v�P��uJ��R�,j��%���=��'�P�%EU����1����u�"5L�iA�%y��z)��) ��? r���`��W��h��UN�9�A*����]e���z�O�#e�����)*�x��"�h�[H�xۙb�� x�#Љj(�(��������}z����SX�@��u�b��۳m3��8��@����]�h"-�H�[�FTzn�Q��1�g�b0P��C���� Dq��]kz3u�&� ��L���O~�Rـ�J0��%:5�@���:4M�f٭�ֻ~�*�9��ѡ���y9k���� bV��X�0̤q�;���mR(��\>���BVx݂��@QD�io5(�P��YA� ���Y1�m��4_T���֙��g�d {~K���ļ�)Z��%�PG��ļa�_=��wU����� �i�-��ܖN#�}�4��i^��i�9�Ҹ�*�_��ƶ�����ۓ�ΣM�S3eZ0ɉ�ݕ�*�SR�f�J\b��g=��v19�n�5��N���Շ�ɻ��+& ���|,�2���d�,�Djg���/��������!���PKnQ��QjPK+ MLdist/lang/summernote-cs-CZ.js�X�nܶ�)� � ��E��p� lĵ����5��$�HE�%�S� ���eA]'���%���Ӻ�zt��~�0{�JE6�j��>���=�Z��GO�*υQڊ'���c��X���\��O��Z���P�5f��j�1x����2���2���{k�����X>ױ5�/b�I� V����R�J{+Y��T澥D��W�ϛU����zg���L���j�����������tI] �f����vGﻭ�9_G�kw���ЬWK�y�SU �z���c��M%��Z�j���m��y�圐Z�:����NJ+(�w��?���K�퉘S��9�lm���CM۔{���1�T�>:D�3n��r˽� /�TS=P]��k� vq�Ԡ,zX%U*�R6[{[�.����ї�� _�� C^�n�z�(]�E~�Y�FN�C�f�X�6l��{�K!Ed���I�(�� RT�*��CV�vr9=i� jۈ\���`η��M�H'g��`���4گ�V\тg��OR���8�KF�6��ݩx&��8�zK�A9�({��լ �cv��B���cUZ�0<�q��?h"3�D�4�j�9����j�݄�9�����|��J;� �ju�M�Y�q�.݅�?k���>L�B�[��$����j��] ߋ;�S���l��ѱ��P��&$V�?��Ϝ.�:V���T��NNJD�ɲ�) k�����nT��V�xX��?[�S}s6�v�����ۋ�A}'���C��=DM�lن@��U����`�x8�r�c!6~�keE�*�����!�u��pie+����k��v�F���땩F�� �� �,x�T���{��Q�K�. �-6�_8�z��;�T��d��EZ����Y/�˟���E/��_��U/5ʄLK���g�R��6p��n�d���`ڥ�~��qw��O �h���6]C%B��W������ ��B!����y�]\�HǢN����Q�w]���#G�KO�F^���:K����Ͷ4S�%�#�p�[X.�WQt����Dku�F�p��(�9}�/ wنvv�� ���q[�L�B�n��n��%#(89�l�T=���v�}��f����o�܅<��� ߑ.+�ǃ��ac�;RR�%� ��l�J��&B�[)�l�;��M�}Vܯ��M��B�=��1�� ��Q�1;�j�L��Qp_Z����[Tn-Jb~��0Vd~�"�K�k�4 o[Ԫހx���ZC땅� ������='�;ȆL��?Ә�y=ЋuT��-�!�HQ�������}����;�x�0��^���xܠX4a.�W��&�I�#�Q�s�_���S��(�EK�2_����')\˸{P�ǎ��A��Q�G��{Y�Эh�<�z��x����ɒ�o5��]3������8q��p��NuІ�� vcA�u�U(��:$Q����e׃NНHa�)ض71j[~��Yӹv��>5�iI��5|�0�F�!�a�1tC|Oǎ��Ua��0�<)M���օ"~J���3^��~����}�}�;z�0[�y���>{��?������J��⁺�D��|��?�t������USMGx�-�,\N+)�NKa �v�Z�LO�ÔK�x�>pCJ��N g�¨�$�emд{�$>��[�3V�wz.���K�v'��b@� z�@\�?9>8a����d����sҼ�)x�<f�E�$Z ��]8����~�~�ݏ�0���PK)�z�PK+ MLdist/lang/summernote-da-DK.js�X�n�8��Wp�J�6@���b�:�8H�������-ZfD��r���_�7t��sIɢ��M��{��,k�p��'���_{r$�8�Ӄ'GU]�j�đ�:{��%)vr��m��-�v݊��Q�[���4y ��t\���k[�uD�u*��Z�xEߕ�".�,��D��w�J�E���� v$��TD��=ͭ\:�)ct�\��5u����(�T��ZXY���^��U^`���KX������(��3�r�o� U��q�]�3Y�@��ƅa#y'��J] K�����;6@�����V ��VfRs�"��Z�t��P���\s���|����Ke��K2�Zhro����=h]�wA��ˏ��Z�RLŖ�E��[6�%˹���v$-���z(��P��٪.�K�a�}�ZrW�^L���F/�LgBG�R˳3�ͱ��sf��y{il�����Ԛ���*Y��Hb%�X�Sk�S�D�^e �ٲ'��_dQ{�4��W���o��Z��4�eb(� It�<ubO䯑��%'6�̮&͊¬�]�|�i��P��Z�����l$�D�����sr�-"� ��%��^������[����L=���)���0�8C>����);Ahm>��L =,K^�r s�����'Xd\���I{T�J�� ~�^�8t��9�U���;�Ҩŕy'tp�xm!9� �GA,Q��:v�)�>ӗ�O�Ss���I�7���W��sJ�� �F2��^��4����y���4e��2N���N(��EA���FF5��@��B3��6���,�!pW10 ��'H`$,�Ā m5(�pZ_�� �xY!_;G z������%�}]�M���F2�W����}se�?5FF�ⳗ����^+[=���+{I[���^Ĵ�}�˘��O{�^�i�cڛ>���JV�ݹ���"�}�T�ܙ��tdH$�^�A\������S���=�A��=�D��"��>E�m�m)^��k)(�ƳϮ����J�6ey���;`��/�ߨ�]*h��i[��&�:��a�߲!�r "�;(,��'�>,�-:�O0:����������N��V�m��F�Q��Nm)��F�%�+�]r�+!��}��G�x̘�E�a��4���Yf�Y�����b��,���u�HF%\D�̪�E���H��ݧ�%�A0�\��s�ڔ.�Z<��ΫPMܢ_�v�� ��jL7p.���@\�q�P��!�;E Ϩ��K�ܿa��B�+���؞�����R���y�^rbr�����\l�T���X�)�j�$��Omz�)���&x��u�I&�0W��V�)^9����q��&(<���3( E���h~��DVЫ���Rܿ�� 1wx�u���p���렻�!��F�8z�C�0D�;'�ސ��n*��V8U ��j�I����o\��w�~h��6}Jo�IU|qsն�4b��,S��Z�o"�k�14�=�� x�RN�?���0�.j<V5f�]�F ;q���S��|��4Z�?�N��N�,��x����=��04Ƨ�����.2��}�H�x�Hޗ������#y��}�H�x�iy�<��M��c��_��8�Q���F�d 0K����8�\�� ᖘ����-�� 7����T�z�6c7q���±�H<�p3��ޫR,`���{���������'ǣ��4:Jxn����ͦA"[@$z���A��;��;�헻Ã�ϵ�|�PKD��{PK@TLdist/lang/summernote-de-DE.js�X�r7��)pp�HU���{p[�~"�%9!i�V�p��A��@���l�^�:����3�6�!�n4�_7tPx�;i�C���={!~wB/��h|]��/��� g,[�ON���'c�Ѯ�bln��=�΄s�s���IǕ̱���F�&��*�����qVȼ:�Jp�����|���+!� nd7B*���}%u�k2?�++�m���K�*k|Yt�m^���GN4~��V�h����Rc~�t�s-�Ar�xS���"kC�����y �J¸��ly!���n�%��� ���C9� v=�J���Rj����-��s��`.x�^��U�[���EAW�s��7 �P��KQ�[�R/���A/d9�L�{���r���MȎ�8�!A�&��T|%&�2�Ro«Z��h^ K��"챴Ȩ�)��{[\�g���K�\gz�6�"u5�����n�\X�F �9�JAw�>H�`�t���oX%����0�`�'֬XHflLl��;��>CE4��Y�6��;�NH�}���.kt�1M�h����2#�Sk ��^5�y�S}�h&��[ o���'��Ȋ��R���֮1 �M��@uɽSP�r!LZP�B��Ɇa��ւ��G�\�x�(�q��h���,�������xξ�Z���Ѝ��s\�T߮�43��X�ÝӁA�o��;�^���s:�^��:�dbO��BRU���9��✙٬�̑^��-'N�� �2� �m�����Z�}�za�`�B���fZxd�@|��}QP����9Uw�v!��9�8�|�����y̰�=�A�V\��'*|*8<����qlT˅�WN0�q�}�;Zl�6��^�B(1����=�kp)@�"��{!M`�6Dlkh� ��Gv�P��V�ט�.�a���^4�Ӹo�Kj���*ɖ<�6�,Εɗ��N��.�Zr���s�L�V�|�ߎ� �^��Wci���c��T��X�v���X�6�}7���Ii%��ﵱ����|�&r�:��:�r(V���[�+�(��Ri� L�m���Qj������}+%�����c|3)`�HW���f��T�bv4o�['��w�#�־d�¶�Ȧ��1�-����ᄚ �{Þ��Jqn���8�0{�f?�7�8Y'~�� '�Dn��>(�x�K̻`�3n���&d���l��Q��|Yb��4�K:JI�P12R���N�c��\7����l���f�^@������)R豁>��JD��" r�M�nl=x���\�Շ�[��;��z�y�k��J�LC|� ()0���vF4��%Y�A4,���O�<����%�V�����������=�Y7�|���e���>�n�,2�/]���vJ֯��g�C��Esv���rS~r����� ������7�:�}C ="Ia*Ps�I�B{H�㓲G��]N�=t���<{���V�Q㥒�1ޫ��8��M�q""��q�&J��q�x�����(8L 6�ңPz vH�]`̛�]��D"��)Kt�m��(A�@Q�SlN#��%���N�?E�gwso�qضh��ɓ�E���U��E9OJ���!�[�y��Y��fP�3�����0���G�˧�.�P��ꉺ���������(��'�L������x��{��4V1�ηs��c|�(�8�%Ie�O$W�|�#�)~�s�E�.y"��E������S��S��?B�U pLe�ޱ٬D7�p��>XΦ��ON'7�����)�+�\7�bxM�pO#�]|�o�}�;���������~ÿ�PK�A{�B�PK+ MLdist/lang/summernote-el-GR.js�Y�O�~�_1�$�����`�X%��I�<�v���\LHe��8��D^,K��TU%Z۔�1��̿����3��E��3���;���$hƞ�.�;��q.M��b��.MDI���@�j�w�����q��O��[�G�Y�A<��8��o�r��${���'i�q��?/v}������M�.=,�O�� }/P$�w��e�i/������oWD6}�$���r!̞g?X���[l��F�s�,=-�(�g_U��C�d��o,9QzK*n�:YlS�/paϲ�j_��G����_@��A�~ɂ(�p@�����a2�{1�%���đ<���0{wdLhu�Aw��y%�^�P�ے���O��c����&�O���f/�����)�p�2�dyI����ȿJ�0V��?\M��k7�Qb�K�����?����b��A�-����="���/l_hS���~��]�v+nQ��Yͺ��x���� d�[N�����uDt/���*����E��E��29�Բ(�k'����$YO�yUC�E+�t2�n��]��z�Van�F��0;,��ı���g?[�Z�� ?��̞���Fq[l��U3���]�W���l��Re����1�̞;�;���R�(��J�Ŝf�Aw�P��F���K)#�gt�i/,���ٓBfy�7��eC2�_��X�B��%�i�Iֵtߢѡ��.���mTgf�=:�g�|A_�.�ϑ��Apׅm;g�C����g���gfB�.e0Z(@��f�����m/�� K� �s���mmM�uW��/��_����)�)%�,߱�!m�'۔�Xfқ� [g��B��k)m�>�H��Bb݀k0_��&?���ɲ$�X7�T��ƾ��\2�.;�:J�G���(vC�sٹ�ٳ�&�pt�~)�8v�9��*�cZ�1����j����yS듭��e��g�~C���%'�<?�����/5��t��Z"+��E�jۄ-��6��6fU�h�%o�m��(+̙x$CAkc�"62���P�?�{�p��M� ����rB���'�Q���;2K�EA�'�¢��us�o @${�U�C��kV�iᶌ�CKJ� �ѫ2َQ��[Wl���n_�Ms���Ms���Ms���Ms����P�}/��R��&�+�̠�M$�'H�i�Ј�`���Y��TZ\�<�D�1i���x�e��i+�/0FN�X0|�P}X�U��T"�E�a�d�˧�[ꡧdH��K��0ҙ��|f(.]8#t���X�$��(�$��-œ �'1��!�~���� �wN�U�q>���r7�_����xv!���C���}d��L�rd�T1��s�ҳ�|�D�� ��Nǐ]��c���fd �z��gJO�I�,K;ڴ�+���>X�L����"�N��a��P(oQ�, K�� �^����ǡD���Z�z2$�rK �T<W����9���Tz�G�=�P�m�^�7��M��#�!��gV��(Ө<T!r��X7��:�� �ϸ����\Rf6���koѦ�#��/�I6ǚh��O�t�>��`є ��~@VW��E;I���e������mĊg����r�ģ)�.ѷ�dK7���Y`�}�Ƣ�:�a�Y�HФ��X ��Z}��c�� ����W%'B�\]`�Q�4�Z7Yk`�Ow�V^;���i��_9��c�Z��.1��/����4���)��x�d��Z��xm|�HF��o�D�.��Z# ����֥�*H�an�jx%��io�Ʃ�}x����V���2|Y4J�9ҙ�Y5Ǥ*(k�;���N~;�f,��}R�{��)�_u�^fo�q��6����o^~�$^I���� �=W�iٯ�5LV#��)"�2���]�òr��/ �!�w���j!������a�*��\&�d�6a܄��#�|���>@?����+/1��1UA�����iz�b�Qq2�C9g쾃��=P���+�G�F���E+�"��k��>�J�_��(T(�q�J�T���E+�i'�4�4�Ⱦ�4\6�(��nV8����j��x�u�s}�8��������s�#[�w��e�ˎ�^� ��(��A�Fe�Z^ a� �8F�>�Q�*>�&��j�O+�Ǎ��Lݛ�q��'g'����>�tEra[h�=�v��ad\�G����r1Г���V�[$�=�G����ط_%*\��PK�l� �PK+ MLdist/lang/summernote-es-ES.js�X�r�8��S�*�UYW�=Li��]��ȚL�"! 10 ጳ��[����撪ы��i6E�<>X"���t� 6o��O�~�ɑ��Q�8xrT��TFi�O�\�L��]eo�G!V�6��Kg�7"�Pk��=���'�s�������-�7�*H����[Y8f�%=d��x��F' %VA�F1͍�� ��ML�$�����feI��֍�ת�x�(,d����u�uEK\��:�[�Ò�,�(�ϴ�B�r�G��.�6[_���R��L�i��^d��iY����ӶN��)�r�j,}���\�T�F��+E�n'weeT�ӟ�N�Y���KT�`[I���.��I��X'�3�����2K��Ǡ�/x��-4W�jƶU/\Dօx�g&�7�RsG$�;_�7vx�S|R�j0����σ�D��M(�Vj�t��\�|��n�U��v,���:������{ �";�k+,�hжNȏa{ǂ+���1��2M�hDNg��keT�{Wk�j2�7yBH�jj&Wı�7�f���]�!�] �]n�BD(7���v3��D�"�* `�as��#�-xJ�/��]z��W���4Ό.5�~�#��5$���k�۔7�P�7e�"{����-g�^�}�4��j�[w��B��{ Έ��#[��V�T���\X��z*ޣ�}X<`24r�e�T�4o��~ ���p'&26�Ϟ�a�wOzL!�ְ�;b�!j�>�I�^��������"b���ꥋ=����̵��)cԍ$ђ<Y�R��^�O�j[�O�>Yz���ƾ���np�Ht�n�����}���4�yeQ�ݧ�2an��CXc�1֔�=@�I���[����Qݩ3����΄�f�����k1��hVlY��aޤ-��B���f]��u(�f�<�ӹA��܃�x~� :�3��4����� �l��U�MW�yi\~�1��@0���w��V�5��tۻc_<c��L�^0�.x�/�����L�z� ���Og��S}�p;��QM����Z�*��w͌�e(���0p��R�Bx)�r~K/x�sW��o�y�C��fX�և�^f�ۯ튗̅Ӕ9W'�&��G���C:&1� (��%'^JGٽ����m�|i�*�6��0^��O��s��ݺ����S&����4tG ��E��S�Q�������L�r��U��1_���]f �bk�(mh�? x�j���{i��s�M@4Uu�����.�p~��f�$�� dǍ�Xc�4y�A��������\4*7C����A�hj�T�Q)^Ӏ�Kz��?R7�+ㅌV�������/\@�4#ۑH��$�ا��U������ �(Y��Deiz_v-�kbٳ��r��V�5S��X����3��;W��7�uۜ�����{fAF�X�@�ѵӎn�\m����.E����-p�݀���t�]3��"gDx\��L����J�0�e�!RA��c�;Xg0����t�v� e�?y�>�UI� ��f��"�~�8:�H����i�Ё���N�L�OA�h{��B�&���A����p���~D��ي.� 5�Ne�����!�+���x��/y����g�9���z��'<Yk��Q+Ά:���Zq��Y�zԊ���V�y6�N��<Ezȍ�*�%�B�ji�G�'2<O7QI�(V�o���&'��6Is�vL�fv])\��tC�������d>�.f�ٕ�]]Φ��3��ׇ�~*�*�/b ����xI��P"_���_��×Ã��7PK\R��U�PK+ MLdist/lang/summernote-es-EU.js�XK��8�ϯ�!���ly2'�����ݻ�^h�,q$�Z�Lw<�߯H٢,{�� Y_U��f.6^gN}��R���Ϯ�ё�/�]�~�%����Z��y�1����ɻn)��hׯ�X�:'&s�+9y��r�V3��:�x����&��Fm�����$-�N�F� G��TQ��9Yk���'� �r��W�1�����ZgUE���%@��[�n3�V��'�[ߐM�U�Q;>�%-4ykq��>?������������#��,(P�Z:���%Z-����5��Ig�uW�N���U~��V�p|��dsu��K�����ۜ4�0V��ݜ6|�ٮ��HjQ�jx�[t~���G���}6!|>BHCZU�v�G��m ��p�q�.y�NtǸkeu=,��Q��o�Z*�n'�u����x� r+�;v�-Y��;5^C��%=`0M`�ƚF��ƊR8�TS�>X���jj��[���B�ȑ~�+���e�Oq�5 �D�z�4�x�z̈���[�_�pN������*�4�-m�w6�"|�p�D���PZ��/��(��C�I�ۘ�gB�-�JW�V"o�uT�0�OÀk�s4�d�����➍5�ܲ�.�c�ʯ��ڒ��ŝn�D%� ʍ�A��d��_�n�ʊ+�%�����H��+(^p���%�rR?C�C`�̍j�Z��ݢ"6��Y?Z����d�ӟ���J��2�J�{�+��T��Y�\sz�v�6&+���2��a���7�sa̓��Nb/��SN�G�y=D]���}�L�ZԨ�#ؾ�%8Du�s�q6\�I�O���zjT6����F�*�ʽ��(�v;���}:nk��1�v����ɡ�I���d�<���A'�M��ͰV�/�~q%P����Ap�/A{y�� �Wgh�A{}���7ghoA{�Ҏ�S��!�{{m�?m�S_��"�D!ׄ�㎩�4F{��� r�G�p��C�e��e�5Ƴ�Ll�4�_%ܬ�g�Je�Wā� T��q�5M��CV�d�`3n��M��|4m�1�*%�ٟBJ�1+ !�b��Ga��a�95i��c燑?<&� �� Cͱ����{#Xb��b�Y�A��b ��@�|��Mk�UX̓���8NPe��J�A�?O�����W�)C%�Zr���<����:s*I�h�T4ڠ�2�=m��P �A�=1��4.�`� ���V9�hiv�CC��7�M˶�C�$�܌>���)]�� =����Aɐ�ԬRGr�>��H�M�Q��2V�ɍ���4����Cg\�C�����b�ikJ��&� ���m���0��� W��a6��I��g����� ]�����PJ�}�HN�ODfX�2<E�)w|/����x���z��o��c�=抃g�/3]�9�q�ѡ�����uo U���^�����t�=6Ԣ�P~��\��7��63Gb��) ���#�3 ���[�㈫�B#�����/���E�H;qȟ�.��qJ��2Ĝ�g�kt��*���I�e��-�w�{�U`��L�Gi�/�&�$�;ޗO�}y���y_��}�D��'x�<��� O�}���(�=L�_��JX?Z ˔���Q�6�z�3-�+���0.��ecќ����7�Wx:& ���:S�[x�P��A#lO�_g�wӹ���.��b�h��r>wx��e�(2�D����4(��^����ˋ?�ῷ~�PK������PK+ MLdist/lang/summernote-fa-IR.js�X�n����+ja�%��q��$�ĶZN�fWw�"Y�"iY ���i��M˂m=ي߰�w�����*��K5Yu�Pw.��K|�ݘ�}#č�2Q�p��B���2�N�B ��M�/Do$�]]�=(^��(�߄�`�@���,;�Nz7����|����{�G�i~�v�h�L�G �=�E�>��x����?g��7�� d���dg�^v���0�oH�(<��=�fٟ�n~ .�,��#�;�!��c�w�81��J&F�� �}��8�� ��?%a��?U�!�7��uZ����Ӷ:Wa�W�U�P�A@�+��z� �z+�1�~+cmqް]m�+�F���Qd���G�Qd�P+������,��w�<G�"������|�C�4�&Q��H�h���T�c3 �L�Ԉ}��}̎��[t}n��� �!@fE��m�)E ��,2��i#�≜�uM�Niҧ��X`�Xܒo�5̽�Q�4D�''���6�г��C��R��(CR/�`�:0n�<¹���1|~N��`��� ,=6D�6b��c(/ydt��T8e(�� rd) �NPf�1�5�oI�K?L-��K�܊����e"[��h���P/=��F�����مa� �2]�.�w�s5H�G��=.{�~���y],�lN#��C&�n���&q���]��*�`����O*m�����D�;�=5��r��?u���M�*M?^V�8�c#Ûba������*/�b3�����˚{���e��T9��j�1>� ^��J{1���HBC�<����a����x�m28����Zt�}��I S�������AE} ��Ag䞦��TE�яj�g?�-��p�)��m^����-y�1B�9q�:��0����ѣ��r.��u��8p!�8 ����wf��� �z%j@�MԒ��L Oi���++2�!q&8Tt�=�QVE�16�z� k6�%J�sMP/j[��c�DCuǝ�5J;��d�i�b�N� �?�הl�N7��� ���/)�3��_S�|�r�Ԗqd/Г[�@w:#a��g�8���w�w��ݻ�ݻ|�^{�߽��1]�� �Lm�4���vRJ+�̂��Qp2{��F����#���S�U ��[�4�.��AF��0�)SW�C��% :ٻ����z�+ _�Ή/�Ϧ�u^[��D�6r�1�6[�2�wAS8"���d�hd�5 :'��n��IkZA�qXb�}p��o��SF jDL�Vv����f5��֙��4N��]�W������������kEX�h�(���=� ����#ά����$�6�`#K����Mc�Hos��Ado?�{ �t^D�������,12���BkH%/A��U�ф�e��@D�;�m�R�JRL�ʚ-J�����p��ݩ�L�.��� ��}��j<�&�RP�(�hT�`���;��`ULP�c��ہ�⡡5�Gڄ2I�h��_q l[R�[.��]Q���1�W��~�o~!���KC8���:��IX�����ڦ�?�g�����\}���sm�I��|�0R�&'��B�:BP�~U,����t�0�ѐ)�C��u�~�~HL�%9�4*֟��} ��J��_��t��}�Q�ے�6PC��.�qQ�)�]*7�;���5Dм�tQ�ht)�S���1��� �-{%��/��Sbm5�"���%��N���Y�$��>�`C�ǸU�SP_�;�Ǯ�����١)� ��:���牢����)��Q��6�UM$;�<-M�YJU"�@�^�R�2��*�sO� �\�íܺ/�Xp���I�G�^A{皴|�*i�^���_%�k��ᬤ�M��V.�Vp�� e����%}���v��颶��@��:����_��u�6���� 惺~R=)�?3': ��� V��a"�*� �#Ec���piuqM,�,�/.m<\�Ӹ�t��C�G�%�.��Y��W��j��o^��=�*���PK�jM�PK+ MLdist/lang/summernote-fi-FI.js�X�n9��S��m 1��C�0�:1lX�=���{�ԔDw7��;� o�g�Ћ�W얺Z�`�C�d}U,�_}��f�5'/N�_� ��L}��'/�|�*� ꬔf�2ɅȖ���U�� ��&t#!��?�l���������A�z�ut^��d��ʕ�(�Ge� ������f}���mEm���+��^��N6���ݶ�KY��k���&l6u��>8]��v6���Y��������/��i��'��c�Èc��Ha��A������ :�6x�b��â�W��k��"*E_��j�,i�XI �j÷�@.e��.�R� �G�.(:�U���z9�.K+�X-S��=�@��UUI�-EN�C��H�cx wcSz|��'d�¯e�&�2�2pJÏ��`k&ܹvȨ�Q�u��Fj ^k�0u�m�ka4b������r��7��g%�n��m {U�E�p��Х��� ^��Un=����J~�UL�i�[_���D�����9K�9P�B)����d��zkP��"R� 8U���]��8'��+m$�m?���sey���70��X����"MY���$��l+�6�;�;��Β���8���Y���⛮����������^�OH��K�*�� E<l�ǻ[ތۍ�� `��+�V����rM��K�������}]� 7��&������ z�c}��P�Z�+s���Mnas21�ʃ.tQD#�5G�s��]<ډl&c����y>���y�i�<�> I��ߪl�hQs�Q�l �L-l+b[�lOW�,^s`�J��}�U�<cf �j��Y��5��Hq�k�{��j�#�y!S h�����@y��fM a]%�@��yi�P�閏%ns�J։䮭�5����xͬ��0�.x�o����L�>0��A@JP*nv�h��mO�dq�2h� p�F���ߡo"p�t���nk"��zkUR�o��0�Knt`Y�R�F��?-l�~IQ�]ξ�_Rl��v��Z�9Y���6�&�kYײW�m��/���4����`^�7�i�r������ͤG�<�,`(���#�e�U������%1�1$\7*x]����������9���M�o�H������X�u4�{��P ��,a��$^��4g�x4�mk����j^�Y8�1/<��<��Q�2���$APK�,��^�K��sد���.��9��wh#�y]ﶈ*g�Ei=��4��d�BtA\�6+ c�':}��-���B3�+�!�{���N�����n� ӆ��ײ���wb���7�yְ���ᅔ�@o.���xe�K���U^�����=���Qg����(dŃ�����>��X#�� B���H��k7��Ռ�8��������c���M��Ʋ9VR:ǣ���-PE�'��b+�f-�<1����/���c�J�=��|l���ڀa��3�Z�u?T!A�w,)�n�u��֢�NK���m����":bq�6�e��I�*�?*��p�)�I�|�����m�o��WB �3e���Z��)_��]�~�-�Xr��o������}�L]ޚ�u�=S�w/{���� �^��3u?�X5Yx����=G���. z�0P}+�$,����eiWg`�GR��W�A4�A�X#��C����ױ��mB܇i�<�x�I��j���d�zޛΦw�ϯFcq~9���g�'S�~��&�ӛ[L�b�(1x�M���?O����ӓ�?�r|� PK^#��FPK+ MLdist/lang/summernote-fr-FR.js�X�r���S���HU^W�#�'��"%���h'��8��0�,0�-o���E�Ѿ_,_cf8=3tj�EݍF��_7x��6���G���o?��R+[=zbY*o]��i7�Ӿ��x��^�_�X;[�߄X9S��_��c�l��Z�c��>�ۋ�P�h��}����g��Q�c��z-s兑��A eq�/���қ-���mM67��ZY�����(Q(Q9x�EB����������gB�����K傴5�6��~��#�+y��#�8}��K�� ���_����_v��A���aw��h�H�Lʫ��O�1���덶�pk�ܙ4k�-T�Ke�aaw�q�g�՟��A�g'��q��Pk�w֤��nd̷܍$�h3��t=|�r�d�/Ѕ���AN��RG@#l�j^���k H@�R�MR�k�sE�Y��r˕EJ{���D=�5�����b�l1s�����3�ӱ� bct@��� �E�T���6�\�\~h�U�ܺ���Wa~�4H�N��Br�]y�� Лo��Nk�o��L��_t���H2C����"����&:Q��HQ��+�o~��)�T��Řw^�x��� ���L��Ƚo"�.����.d5<s�Zڸ��.4� C��:^NN�T��a��t�O�q������?_�m�����xp�]:bzJ=�o��䞠`8�sN�=]���� ��e�L��n{ h$z!"�t�^�E�\�7:TF�Ad�p��k���,R��� W){nߩ�p�a�}���s*"J�⭢^�Vv�{��'��+b�>*�� ٭eQ,��٪��쓋��T�����?*��b��Z���T"7V�;�);'w�� ��$(�Y��քaep'D��$�︱B ��R�7,B�KaJ���X���1�?�<�>Q�آ��b!�[ ��0��BvM̽ ~�Co��-���o~����;�CU����sB��`��>��RW�)S�>�/?��������|�_>��/��/'�@��}H�u,���6t��+�ѱ��%F W�c�* ��2����0�9I)��+�����K�A�Պ�7k+��-�������J��zYar�����N���:-0/�7��6R�P«ڣ�2�A"��,nh����adM8yRljs|���NAJl�{�IU~���k�ƿ�OD��LP� ��+:�n��^�P昶U���:?2�ɛ��t �W&b���sp�d~���li���� �gA�n�A]��� HY��ƌU� ���~�-����"F[E�_(t�8 9�ᨵ�f D� �)�D SO��?u���[���9�\���ƅ4�)���hD�u����C��xr�)y���,V{�?��1�r��/\ �)a>�%� v���o��t4���Rev�dBj�`����e �_uu��&�r�Ӧ���z��t����xYJ.��%���П��h���'��H�O��1Y���^���e^�Jkqhd�{y(�ֆOg�|�v��Q_�\���v(��$V��n�� tH�|ww���\j��[^�Ʉ��M�xY+K�CzJ��LZF'�� �+�d����P5}��6���5C�d�9�����}�D����9!֬m:t́�C%v�MJ�8Ѕ���P]��|��oJ#;&A,�b�9H]s7VΞ�1H-�j�j>�d��g��'�����x~�./h��`�'�������x����l?/[���N0(�)��������FK�6Oк>��~��G�������x�آL��X��9�3��)$N�M�b� ^��E���L=C�r�hƞ�r6�-f���_����j����?��O p����/�� � c���˾��(|�ߎ����ѧ�1A���PKp��^PK+ MLdist/lang/summernote-gl-ES.js�X�r�6��)p���3�=���*�Om'���=B$$!��N^�7?���zՋ�[������K�~��]����A;��t_��D����:([�==�bY*o]P�F��A��-�O�I��yb�l�> 1s�x#�s��:��R�?<��4��җ�m���V�:�3���e�on�� ~��Ⅺ�6N*��p��b }�� �K�$ibeI�Co�Y�/TXzK�ǺʻJTq�|�{��&���;b�Af;�+?��\� ����ӷ�a���V��/��R^����'�N���W�<�ƐY�Х�.��"4z�\��k����{|�[Q� �G �����Iъ�����q2��9�l�-D��KT������n�H���FY��J�x�Tv��R���Q�Q�;_�7�:��w�j���"��;�GíH"��Xά���F��y���@ε]D��^.p���A�{��kX߮pQ���K\�1� �V��g����ذ0p���ñw�6�"z��Q� ��*!���/]�8b���m� �r}��|���w*)�d�T�p���:d��'G�R�#�t�仑ѥ�@��p^/@ ��ԅr<�٧�(L�D8��N�B~]�����n�R�� ̰V�/쨕wt������i��� 9����u ȅ��8B<ޜ9*�p-�q�g(*/4�V��yc ;��?jMk-�D��7�z5�2~��NnRHOݑ�VF�0M!��(�tU[�i�h�BP,uIo�;�s+eO칺�]��]A�`F�Ҧ�����*#{� rF`��E6]��O]Ycw5��7( �ݕ���T�~U�֢A�蹋:��F�;K�k+#�!��X(�`�R<(Ҍ��m��a]���C+ y��%�y�^��f,�H�����p�uv�"���4�T�I���Qf��_"FP���J5u��Q�O��3`�뻀�.�1a���^0�Nx�/9�#�������|ߺ5�vj}�NA�9��WVv��}�r�Թ���KeV?���s�p�� ��t�F"6��s!w��Ԋ"��"�=���C)����൵���I~}Ĝߙ�&S%9S} ��5�/s.ҽ�o�C �*�6��CCH9i�ia� z�R)ﺢ�S��h�S��#}�9j�KARw�:�+: L�M@G��dS��g�L�o�3�_,0�Z������ܙ����a"�܉I�V��Z���*'"{�z�&��@]E��1�K��ܲDCcPsM$Vɔ9��s`�:����w�?��L9A�;��P�x��eGjRiz��CZG�LƜ%�vEGa���&��@?��G��aR�ɦ*�-��"4��7uC�N�B�r�Wh��U�]u�o]����W�&��͎�S���u�����^�S�왟�z%���P�I����q��f�����VJ2X"�h���E5C������W���^wsT�ڬ�n�f� N����b:�%n�هY�eM���pm�ڽ\��!���]�E����!�_�Z4��f���t�Bi۶F=��'�FK ����n�M�cG6̓���s��,vhz��u;Iv�L���ߜ��@�D�g���YYh���P����KX�~��m-��G�̌mX�?�§��ay�8�{Z�����ey�8��Z�������v3u��Qľ�/��ħR�:Zf��4nq��qEl���ર.lv��Q�<����R����>2���T�^m�V*�C�".��:ƃ�t4M�h�~4<�L����C�K���)G�c�V�0��@� ��������Y��PK���I58PK+ MLdist/lang/summernote-he-IL.js�X�N�H��S�E%��"��\t��PZ�mI����fbOۓۥt�;@! M�"�^ȯ�ߙ��TZ��s�s������M|�<�e�=b���țy<�a(T$1�?��9��ں�"d�'��|b�+�s�q6���٭3�柟�w�z��~l���*�#A��lIJ���Q��B������Xv�gW��Y�����`wP���Po@�ˊ�8Q��HJ���D�C�*���� N��^��}�8 �����S���>��)�*�b��v �!�IN�mih@�>�(�G�PZ��γ�c��Aa-��J�ZF3�U�v��?G8�w��C��>��M�J��T �\X�{��ɺ�im�!�ߐ�[h���ֱ�w+�c��Q��4Ebo,b<�C�!)�(Z���u\�W��f��� ��ɖ���R������Bx���Ȼ�B�qcl2�!��Ʊ��)9�l���&� �-�����(�����K��c�o_��Gn;Yl!�臩�i��}eVXbE��JI��]!�y�9U: Ϡ�1���=���@q�?1�%J*��G���6r�� i�V��X]�l;k�m��퀝�����`��*n�$��k3˴�v������kQ����[F4n��T��e����6���Ӕ��<[��:�@�-XBr�L ��i3���{����e?|�}S�gG:4?[�,��h-�Cl��G��"Q��C�c�ۢ��S�6���.e}i�|���#=�m��mȭ�� �%�cJn1N� �o"Њ�.=WQ-�%�@��0b�dVTC�0�@O� '_F�'�4�Ā��J�٬ �K�� �K[M �Q�)N��6����}X��4K�SK�n ��S�,�FSƑ�����"۷�O���w�;�Ħ=�ҞڴgU�3��P�-ش�U�s��X�-6��q�P;��BQЭ����(�T)N� �R>�Yj��4,\� ��!��ʶh�\d_�b�C#�!":�B�T�c�+=�:'��� ��o��ϐ�+*>�hV��Z��>���LO�t��#R���1�6�a��R�1l��dU���B��|*�1Lt�}���!�9ȼO����*H3�H�2u� m����Q�!�W��VV�]j�c7�P�ĸ��>3,���rw���8��}.�&�Ls����:z�x�{�����?,@,�NC# Nq��S��`��B�t*_�xnI�D���i��*�H�`�c|tc�NQ�J�|�e�5���\@ ��\C�>���s�rt�g{{�&�"Uȓď�$mr�a�ئٸ����Q�M��*��=�>8i3M<�!<�6���%�қ��⿋��oLoB��M=DM�(����l\*/���r�4��ȓ�y�o�d X���1y�Y6wP 5t�?����P�8[@����K��C[$���.�=��6��e��8�~�;o �,5ѕj�QYnr)AS� bj�A��y����N���ޏ����s�T�{�zL)������h��>���yW4�u�Cb��~�I3d�'m� �k�*k\yKl��=��6�a�vSE��MR�� ��XӍ�=](扩5��1�B�4�81^�P�`<��&�μa�g�� n���dgw��(����k�J��y������U�@�E{_M��`~�+0l�� 9y C�� LŲ2�}�<z�1���ֱ��Y<�Ra(�'�C�����2�%P4�+j��je�!: � �*De�i�y�Z[Zg�ե��V��F�:�y�@�ЯX�Hd.D�g�:�T7��ݙ��������P��?PK�e �P�PK+ MLdist/lang/summernote-hr-HR.js�X�r7��)p��*�j�#��LY%�e[!)m��^���f1�b��y��A��������t�h4�:Z���٣'����xr�>���GON�P�[W�#��i�1Z�^NF���g�n%�ܙ��ݸ\��ZZ7z �韮������-��+o�UIt�~Q=��(��g��jm�V��%ӳRz��=�;]i+T�b+��V�Yh�U�F�+��rE�x����*̫��6���\G(�g���cSF�Bf������a��K��b�%�hj�Z�Jy2�v.38���:S�~�v��R�)*�]k��1���U��=�)�-����Z�Q7�˭�k\�Zmy<DԤ��=,WU��#ꃋ��F�D���5wA����8�# �)-_���qc�O,�Q�U(�Vj�Z�oO:�6�50Z1D����Ry��mC{M�m�^��ޕ�9�E�Ἐ!7��J���ڨ 𫝜+��މ\��� ����t"x���}�����~�~뽣���)S N?a����r����5{U s�oS� Z��K�i��|2c�s�xf4�=̒H��vmwj')�#�a�琝s;���ؓ���,��Sq����bqe�Z.�,��sD��{G�Vh�6�xp4T,��|ZG��f�� l#ոx�g�\�b��tֈ��;�Ui��4S���Y��(w�\reQ������T��~P���6w�t���*��n� ht;����S^v�o�:� /�|����)���\xw/$��% �F�hE��Ӻ�;Ӕ+e΄� �6������+̕�m8�9r�VdS.v�i�>��K9�(�nxk���\u�+�{Gm�ؐ����U��wwCM�^�A%,)-���q��5�1�:?~�ܻ�˙��3 ?� m[<����9����/8�eG�����_u�W]�H��:���M����@<�:ć�I{��pWR��vX)C��q���3t����A)K\�6Ndh��-����a��jE!v�Cfa"ڐ��/%Z��%��8�I���B�+��F�����H�zm ��@hf��/�� ������AK�$�����;&�?� ����~|ps�9���Co Ѩ�u��x��2k�c���ڛ+ ��N��:�a��,1+Z�8�@��N�(�̝(�З��D�V����F�{�]�z�=z�J������Y��j!�I�$�P�<F�u� ţ����Z5;D'��C��u�q[�;sf\E��2�}ơs�|!�Z�% iA)�Vb�_'��m�<�A�mm d��r�!em=M�/:��M$r ���z��;�SV��+�L(+.KYݹk��q�_� /���颣��>�U"G�[�*�u���h��+�����P�"t���@�7H)� ����o���o$0���rxi�Gp���Pi=��(�ttO�{O�N�GJ�Y2� ��J��|`tS'�ŷʩ4 �G����R5R���"�Mp�Zl,Y߄�#�ER�S�ܶm���fn�Ĕ�oO�)qÓ��Լ���5�iJ=����p�O�H�S�� �}��������$4^�o j�E#�7���� d����{t#0<������tǂ��}�HY>������K+��|�ieO)��V��#e_q_�h��ϐ��"/=��n��8����8�c� Z�= M�+�A�1,�r��Ż�I��7�cϠ������Re�q���=�hz�v|uv-Ɨg�����d�N���dv|`�i�(2�D?�so�i웟����||��)(���?PK�[�YPK+ MLdist/lang/summernote-hu-HU.js�X;s�8�W p�*���|���'�%�W#��B���ps (yf����M�@��U\��� gzȱWd�u�����k����'��_�x��t��~U�%Xm�+��=O"��9{�n�B��v��Q�k�6w�h��4w6�C��_��$?|V�j��U���f9i�/��D��$�زY.�e%\�ͪ�&hy6A����x����,I�!��/����#V����5u6AT�7ԡ��*����ᄍ�z�!V+��+-J���5ϧ�Ny)3�Ѓ�fћ�n�D�K�о��Z4�-F2�� <�� � G��&�)T"lYn�u&�x�5���ﵴ��v� ���X�.`L�gr��;z�X*�����Inj�x|k�1�6�&rW�\�<uD�ע�`��ܢ�aa�G]O�2�2'#��V[}l�d�C�Vf���g`�����D:Q�+�72�|�o7���tN#Dj���"߉� ��%�2V� q�֔��� �O��T�B�M�T�Z���w)�Ǽ�=~�2�1��sL���ZC~2`�1�g�g̵%�zu!���-��L�����<˵$)�������S0<�ڍ���LO��u��QL�� C9�W�٢��g�]�v��5t��g������ć�C�i\������rO��/ ���(�QԻ��b���3LXGg?� #� ��z(I�����O;p�l i�s�l���̂�ѵ9Ϋ��s��%dStU��k���. K0�%���i1�ڋ-��;���s�n����܆3�<����>2V����!�nm�v#�n�1���)�����S�TXs��qʹ �CP^��zudT�: �U�Z(L�X�:C`)(� �~��u@�11H����p�&�:آ�-10�#~m�Up��U��*n��g�Kc��fo7�Vt�Q�g��[�,(�n�LR��ƶ��X�9t���k�x&O{ S�{�x� ��'<g���^p�KFx� ����*����ekm,�_�.�()d*A8��נ��P�Ղ�673J'�L@�yG�l#9����@#�:��lY=��n��nr �#c��Lb=�r���l����<m�ڥ@M)R�vR_�Tͷ���^°�C5U�~[I��Yg��T������f��ffZW.Sʣ.6��a���HUtm�2�JIRA�S������}m0�⸥C��L��`M��Y�th1�3F1+��g���B�bJt�ʎ��]o��j���=Th��bs t�yU-��D{��Z�@���c�� O�㪉�.��gm�n�J�?��Vq���n��(SQR9��zIm8�Q%��E:��A�п���M3���e�|��������ؐ���HLMR���(����~]�� q��V��9]���E��A� 9`m�(��w�~8#F������п�b�ߴW����Q�F�aq!�udo W�?�(D4��L6�b�|d�bGa�%��`�[ͳ���7FNµ3g���^͕�l��6yP�@�C��D���Wv�#t�~�%��3����1��`�= �R7��a�wE�*���$�����_��k��P�z��j6dk˃W�(WN���f4K-�����T;�T��]:��;������ډ�w;�]~� ���V�=Q�ȶ�Wi�>{�F��t����{����cy/�1�|#�:�W�a|ŭ|�GE��G��Z ���/��[�aw��ƞ�\*��c��%��3�~�K�,A� 1��� F��X�י��%���� WR�DjȔ}i���hB���%nlG�w'G���������j�L~�F,�� Q$(�������?��O�;��k�s��?PK��y�rhPK+ MLdist/lang/summernote-id-ID.js�WKs�6��W����<�Czrd�vc'�$�ә^ "�q�N�{�(q)�S�`�o�}�hL�5Gώ�?� ��D}��G�N�ж���I#M�<҅�t��y�vX ��Ə+!6�)ފl�6�ɞCf��^6:�V;mJF �P��F���t�� +��%���uUK#J�(�R���E��t�?�0��- ����R��yd��;]+_9� ��u�sz����_�'�j����c�ߤ�}�'�e�a��,�[YCN�6`��a´镋��^w��z�x�f<�S&p�&̕l�#�����A �k��+2����S�6V��%���KQÿLH�/�$�4�">��.�?YH3B��W�SKK�B���[1l0���a3����B�1R��y��C���CN���+���5B�F��cDG�NI� �M�l��p�o�@X'�HC&�W�����nT��nt��_�0�Q��<�[�E�!r�R�ݦ��A8@_8g��3���J�'�9�h˛A#Fr����"W���E�u��F���s��u�,ύa#��참�M i�#��s������#S������Gذ�\��[e��`qmz/K'���q�xk�� �r����z�}Px��F��R~MaU ���X��gtUhJ��0�������2�w%_xU�x�XƇOa��E}�6�����rޅZ�B�O�'��T����^n(K���b�x��E��g�LgE!�}���. �N5Q� ������P���&�F4(c3خv1��@\�����S�H3&T�6R�aSn�� af� 9jʷ�uj�<+d���0辇=���Sc�1�v�Aَ)�il^�0 ��>x�M\�Ŋ����`��,���&�z�/9�#���N��0��{��h�`�CZǶr�L.sYM�8!�֢�Ϥڎ2}"�R ��4~�-[�f�J�o`}4����Þ����"ӊ��������M��e� ���`ˌc�/�l����h��D���B��o��,q@�D���dz�ٲg=h��B���8��0x�6ԑ�k:E��w���q��d ?QĮ����eg&Q��y]b�34L$ �4��p���nh���O����$vz�w� u��3������)b ����R��24�z��M�_���,Dz��G����"��w�W���}Lw�`dJP������#�! -���� �I=��>8�%c �h-lZ�m�jW,U��5m2������#�肾a��~f����!�TE�,�*�k2tp��b���!X,a��z�+%�{4����` e�&���@Q�I(��?���"���}++9�N���sM��5B�[s��4rL��\iL'��s��Pg� ��#�%�v6�v�T�����B��CR��S���� : 1�mYb��A�f�\S�9��̌g(�$��eU<.�0=��8q�B��ۘ��Ĵ@�+�����z�\)����Gw�D�c~|�]�x�,�Xp�/���'�l�}�D^>d�x_?���!;��'��Qe�扼o��R^�'�eh�J�8 Gfez(�k�����V�7�jJ�y�D,[�^=�O��`�;�������S9�F�M�d;[�],��n���ly�X_,WL|z���e,VI��!�/���������}�5(���PK^�>��PK+ MLdist/lang/summernote-it-IT.js�X�R7��)tpj��P16��f�@�xwq*U�hg��2i�0�x��K^,_K3;��`F��[�V���"��K�w^ﲿ_1�z_��BW;��]�ka��b_q�܋���|>+�7K�F�n��ܨ�=+f�yäfK˝ޛb��s%�U��M� �VI-60g �(�'�T�[�N����Lq�dk�=�����b���4X �\A�b�����c��*9�k^�"���K%9;ŭ3q�[y-�ʚ�\m�sk���0w��k:y�~�r�Z��Y�yO��Zh��`�q�V��Zs˚/�@��X?��0g&[j',)wNҕ�=���A�ӠT��d�J���f����Y�Zs�;���s��x}p���p!��B0�2'��s�Lp�N�ϱ�b����Џ¹�ٺ� s�\ȭ�ZL�)9����YC�N��������ۨ�*�s�%ٵ��!mc-�2De��a3aI��=H��B߾�fy�?�7���Ge3$�L�J��Ԛ�T*�H�R *X�%;6e K�>P��=M�!Q��b���[�k yÀ���0�~�[�d���E�G�iEmn�((en$�9��֓���8� �nd%LW ��B�N�~!�5���Rb�d_b��[�m�#1� ��r `mq+$Oz���L�������h,ޞ#3�{��v��P`�~vwE^��] I��m�?r���2�FR����>NT����B��=�pԙ9�n���Q���o�'@f-�(n���2��;Z[����q��C�80k�%����9�}g��P��JNvI^Us;�'�U��qZP� �4iP�en���QMz$Q�[�5SH�X�3�~�aC膫#�� �21��i�n:��}clD3�l�H�L5�#-�(ؒ9�FՋE~ ����B1��W��P{�x�Ly�=����J:�-���cJ�˜o���D�b؛��~���v�9�]G��;�aN?��G;(C$�ΨA��k։�4LS�� ��W�� f��͚�GPdّ=�4 �o���D8�Y����;�ʕ�u�<KS�)��H��n T2����jk�`݅3bq���|�t��RI�&z��!G��3!$�Q�v�Y <��J�h�RBd�|�t\�b8���˷�\P�]�Oʓ;|s^b`TnS�4��[*��� � �JyYJ"�")������5D+��y0��ݱ�V ���Pcz�r��s[���a��I)jj�"C��x��T��&B�h�|�ڴ�:"<��m���zne�/Н�Z�)&�R�d��s���q���)g%C�ێ��i�h�^BV�hƛ�цlj�%�\�&�GZ��EH��tӔS)�Y����{��7��b�)%t�)R~�l�Ce�;<�h]�-�<�0W�+�+�Y�y88]e~R �E�����P��\@� �*~dZ�|KSᑶh�biɹ�|ۡ�z���!θtC�{Cf��#�R��^����5�I��M���NIs�\�G����m�)w= �-F����I(͕-������-d(q�03�%ƉM�C�F�t��S*[\M��4Ձ�J���Z��Rb���C��8�c�x�a��|���+��"6G�v�k�5wx�;�H%���$����d�Y��=x!o�� ����-O�y[����7o�Zޣ��J�t�Q�?q5 ����� C=h6�����4�K��r%▘���.@gic�<��Ƣ�w���!XGZ#J��+nL$�����Z�)�Z������d|>�`��d4��L��%ҏ�y�5�M�DVB$*��͡�T>��__=��|����PK"�ɬ6PK+ MLdist/lang/summernote-ja-JP.js}X[SI~�W̃e����ۃ>���������I�IF&�ٞ��bfTಥ���z��-u��l3 y�/�9ݓL'�,���s�O�k:r��qju���~ߧi���e�Xَ�ݶ[,fQ�t����tMK]Կ��\�x�Դ��x�iijf�k�p�y�q7�B���M#����Χ� ŵ����E���5S}w_!fL�3 p��s��B+#_� r�����Q �^�`J��3F�S`���-p��v�{w�`�i;Ì�����a ��R1�<K��{7�7���r�n����OYKn��w>���"ʰl��,�R��^���A�)�4SY����B0��9�<� �wu��y�# 5gR�$9T�[ _\�ރV�P�"���3T��$�>[��[Qd��D�(z:�0.�k�F+��`�1L�[Q#���t��kl�b��E0\)�,���YC�ܻ-��˗�-�y�p�%��V�7ǽG��ܻ�$���(��hI�Q��@�)@��$�b�x�0� �Hz�c��`-�U���e�� �a�{?�-r4t���'��� �\�Oӭ0�-{ah�{3�/7�!=�{��?��)�Kh�0,O�$��y��Q���36��,�j�D�pf�+jaаFA�$b6���PP��DpɻF��&\Za.1�Z�Rǯ�qӤK��(��Y�8mَ�gz�K����b���=�v&�9�'������7���[����#YC��wk�7��9�#�߰K�>���N��>v��p��7c���u�:C�~1�,�=��e����=�-�@H%��iL��� 8� l�`�D����ѱ���lVctL�q�@}OLq�:*��fT5����5ݢ���)�zzTp���%&� ����<�"��-�Jèi��a��� ᱽ�_y�&|�* �6#j�U�3�l�hJ�{��II9Q �t�^�Z��&͌��Bw�p�uMe� և� �WV(���΄���zT�!�����a�rX�9�R�bW8�R��<�Tʱ�aM�v Ķu-� -��V��nma�����S�ν�1���%LM* �D+�`�A�Fc:�N�`^x'�M�u_+w��,�d�>^7����ʇ�5K:�C���y���lbOV]����%�+��W�ٚ��-� ��!�U"���:2�%�����pe3�t��B�6 �E�v�&����F9,�����*������V`��}�� Tv˯��i�>������\�zf4���M�n0[���YB$4��m8L�l0�<Gmb����r�8#m�[O�Yh �%��Y��t �2��$�d(s2.@cS��(r����)�!�1��頶P��b�Ű����;�a���Ի{���t1��O��#���7�U6��7egi�-��e2�Ѓ ����<x,���ӓp[���L����)N�6 ��e,�L��|�o0z�*w��>�MT�8E���D��*��%\�a�͝OK�*FoW<`���$�pX��M�`NȾp�[܇B<]}��\ჺ���ڨ���c)�:5�p>D>���rHWl��rrL�7l�SM�P��HW�&T�9Bw��ז?��N�#���mRP*��T����C��ƌ�:$ձ���LJuNq������8�7���݊��B��B�A&x�ڣ ����!_�)�U�v�Q"��L�ɺa����n��<����u[��s}3��3�4�y�9!/B �X@��濻~�8�AS�Y��7�_R<ЃЁ�=��О�Â~xO�A?�'���ݓ~LЏ%�2�`�����k�0��<�wN�}Y�� ݤ�nȿc�w��Z��x eP �ă�8��A����Ǭ�r���*�.������Ă��S��N����z�z�FN + Aο�gX�ڰ��e@$�w��S(� �^�<��jg���.a��?PK�����PK+ MLdist/lang/summernote-ko-KR.js�X_o�F��*'R�/y�O4�@���ЪR_��{w&���� i����$(ႂti�JQr�!�/t��Y��uLB��g~3;;;����-�wN���!��0��3�81��Ä�}6lS�<���S���ƹ���w����s����]6�@i�g�Զ����ȕ�|S��5~�Lؖ��<����,ڌ %;+�<!�����>�/��Ӑf�+`� �;����t��껝���^Pe�+ ��$�5"w7a!M� )�^�4���5���A��&|ܔ�emM�c���62����N��x�rhPx"��"�!�m� �1��1��V"?<���j� ����N�<�-�5÷M��vw?��]��q��*|�Gsz�H�%�S��������D��õmmy��Hί� �;��~�*T"%�zCn�Y_��z�yZec�R.�z�ru� ��w?��ݦ�5�t3�И% �2�^�������)��Bk����$V��`gl6-_���л��.vH��I��.�Q�U���vwoO6��i�-�m�h�ZG�<��4�*�Gk�õV��(���͊�%��K��<Դ��$�Um5�ޱ�@�nD��cD!%�$���/ �1�r"��)2�8� B9= ���K0��V�'ƽ��ZSpa�-���k��\L�<� F���l��9M��[�h��I�1 ����brI�+d�V�x��`2(�!��0�^���O˂:C�D�̏���T�he�@��s��"{H�O�n���|� ܌(�{��i�z�Ѐ4�|�C��,�j�t�Z@����)�����h�+zq��a� ~C@�i���+�Ol�W�5�4(��r�s�<�e�K�ا,�/b$%;��iFMs�O�/Dqw�4��ӄ���� ���Y���z��"��%6T�,)�"��Mf�m����>C�45���Rn�X0�"Q��� �n�~�w�o�jP)�9��<&�瘐T͘*F�^'��hĂ͋S0��ѮB܂U5@US��y�L/�S�_k���) ^9��O��3)��N?�����>��GS�hΏ��ީ+�Hy��`| 7;г�l��{!������ЗB�W�$d�0[��qM�� 7���?�����m�ޫ��V[�S����Tr)?Ä�Ŵ�R�q�VaHJ�� 8�pi3?!�7Λ�?t�gjo��D$w�֒/�s|��!H��4�Q���G;yTj����[��[%�\��Sm�9��g��R��6`� 7&� ���V��$r���r����pXB^�hq�#��P��#_VG t�\0�d������[����l�?y4�P�ܮbMT1�ҳ lD@�BjCk�;�j���� ~1��y �b�^bR�@�uxז-���:.�����6�K\8�-���Q��\�0�m;T]�b��5e���hLB;��M^�(b2��J����*���_��d ^rU%���aFT�N�nuLp� )-u�!�s��#~��z>�&ǡ��m݀J��� : *���+ܘ~S�Ь�& �`>��IT�Х��f����8��Kg ��hO�ߥr^*�D�@�1�˺`y��j`�O�c�"po.���b�*V 4*]��Ռ�`U ;����u?���fғơ[��$/�a��*�mL7<��u�Rq����%�_��?�.)���Xvl(qE��� @��ǘG�� |�`�%�d��D�������=�/�.�:�.�i�˞>��>���c���K"{������ȎSV����cʎ꾊��2\�oPԞl�z�"f���x-�`Q����iL�� x�q����/��\@OO�'�C�K��h����Л��B"TN�WeE�b.3d�Fo�\h`�~�Rwr�@��ɝ?�D��w��;8p�z����PK|��F� PK+ MLdist/lang/summernote-lt-LT.js�XMo9�ϯ�Y�����9d���^;�ƒ�X`/�����&{�!�f�c�{�u}`s�{N��Wd���vf�C�&_��U��>Zx5wR��G��?�1��� �=zb}Y ��O ����>c���r:xU2��ʵ_��t��b�17��].��v���?�x!�ؿ��n֝=�2a �D�������`��cM�_�R'�WB.W0g�Z�m?[�}��s2�A���ȅӬ�k�I%ˎ1���2�/Wd�03e]�����s#+:�4�;�+=��qs�=H��Z�m2H����-��+��浐�-���ΡRYaȦ�0���f��~IBf��o|Q���PܲhDs8csƋ0_��W\�$�;��{�~������NR����]��z����b��t��@�U}��bw����K�{�i���ĕ�ģ�}C9���j͋�/��#w�L�#i����͍t��t�˙⒂[�/a5wr��ᇊk�k� �N!���s��3a���ȥݛe��*A���ʥ`ڰ)J=5@b��]���������g,��S/�O��;�����o�u/�D^�)A�ck*� ��Oɩބ,mS{}u�x��d��^S��q���w*@�������\�L��\6�%�ma��G�W�y(Qv� �E�����hRo�r�������c((�� P����1;�%l�j�w�n�s�s|S[b�߃w^��ٷ�{�(*`:Y�U-?F��)�D&�ޯDƗ&>:d�T�J[|C�i�s��.��@]�ܦ)�6�3�@��ӕP�ꝸ��T���ꡓ��� ��F'z!r|F��ƨ^\ ��71�gٕ��b� ��}�8}�P?�"�Q�f��E�tQs#����`��!��\^��L� �����,Q�]����ú�i�D� ġ����U?mV���14 =��rD� �;�u�n����B���V0��� =���"a�pi&W�=/�ީ��S`����~fO�WϺ{�ҽ�ݽ��ދ�ދt碌w������ށ�8{� �!��}*���[f��ȫ��)ZyLz�ʬ�^���U�̕((�c���,���f!�?H��@/U�&�n[��L����<���d9 �a�0��C;*�6hx����>Y���K�Uj��.C��dz�~��7D�3!�B��}0*A(����Csbjp#��� X�R�����o�\#gَk��;:7N��aB�RwmCdy�'�!��2\;�/�i�Jj�{b>��~M2t�����s���c{H3l�P��ES�&h��'GY��;��;�m�s�_j�� _v�S� ��.���g��Xp_DH��@귟�Kѭ�� 4���m�m�F�y��7��FYT_��慶�M��%�R��%-�R��ɋ�S�<<��@�}���e����Ơ�EutfzJPnIxp���[�/�5�Bl��1�d�~�wz�+)�+{٣�� ��qS�xc0���ڵ�M2@�i�\�����m�dYr�%��A��H):]���I�u�%����$0���E�кR��mQG��B�K}t��Jt��Rq.��@B#<�,�]��rb=���T�w5�XN����0�4��߄�˴AR_�c�\7 ����z�,�7F��H�.ʽ�m�@�n�=��������0��so����{S�j)$A���H %�< �V4���ͿM�2�lޞ{4f���㣶���\�Z��eӱhP�>�l:65�/(��U���eӱ��}�@ٗi�b6���+�(��z���$��d:����'� �$4���pdq�O��em0��I|ѡ��b��=��0`�Ǭ�����s��L��d�zt>�d����p4}}5I��� �L��M�F6�J4-<c�^��?�������G/���PK*�Cv��PK+ MLdist/lang/summernote-lt-LV.js�X�r���S UNQ�r��m��R�d�T��Z��V��HB3L�#���A�}?�k�z�G�_C�ɡ���|�h4��Y4E���=���A�g/ԯA�r���F9c�zQK3�օ�7;�4z�? 1�&����ں|+F�*�d�=��OY������ _��T��Fa�B���18�!]�J:��ۧ�T��kd�\�&�MJ��it�=}-��q�Cl�nF6��1��}p�Ra�l�/�V��U�N���8Ο����t�he���6HQkU����>/��9�n��a~1���k�#�NՍV�!�;�)�]�c]w�kㅾo�/n� u"�PW����tA�����s�.(�|y�����p�f�����V��)�5ә���d�ZN�s���\��ce�B���RdQLS�������F4�Ɵm��v4�5�rR:Y�fj�&/�jt!f����f]�;9��l���)��r�5.w[��W(��*6Dl�D?r�)P�ub�f@�jU�cg�c]+O��I{�%h������_u�*��d�n�b���-�w�Y �ch_�E�=�KU�u�fct���R|�<ckN5���rt�}�+�0�uz��$?�?it�Key�/F�h�)K�ϴ��-� z`�u��t� �Y�(N�/&�:K�]��l�ĩz������� �N6��|w��?ӵ_�����0uM����b[��^r���S4��^��Ԕ������a�Bnb��okyL��/x��o����%Y�B��wN =�]z�/�*sj���/ڔ����낸�9$j;�. rJ ��I�b4�Ӹ�w�,/��x�l\���[!�Y�Q�Vu6�GM�yuh��HUaA�F��l�p��]p`�j؆3!��"˘�b��j�l��&"�$/��@��=5+�h�p�����*荪�����f'0�mQ�7�����.<P�D��m�_.~��v>[����w�rk�%_|����/��Z|���⛭�77�v�����X H�\�.�D�2h!p��lKD���B���8v�S^rfhР(ep�)n��BU�g��AaK"�Óɇ3Qѕl���vpV��i}P�2��g�:m���72T�C�y ��Q�8��!�����a�^P�z�C� dz�L 8P��u\G�8��4���Z�m!;����Y-��+C�T4l�wPcS ;��t3�Jf�T���ɽ��n�02� ;0�I�qYٞC �n���q�7�*L6�� �*������9��v�ٴ���f2�#����~ۑ~a]("־\���z%�Go����'�kj{7��Vj�B�f�Da`�����4ܝ2 K�I7�ʧU�o(�H����������2���l��Q���:�^��AsPI��[D^6SJ���A�f&X�,�|6.��zdXY�Y1�� �X�:�Z�&\�e����2���B�;��JI3�=/���6T��6/� �-��@7EX��������s(�A�m�`�{U�O��}&�{B�d�o�Cl�ns���GGYE��Y�GaOA|�B�&VL�V��^�ho��zf}�\v(���w�b?V��×K�mP$���G\��3TLxb5ÚU���"�c-��O��d���SrW����-�_Ri���&}��u�*G�@���� ���_4@�A�Q�{����eO���-y�쇢8�P/H]�y����S��X��� �zA괾o�pG�¾/�� �9��x�@����Q^��LZ���9u��Ѥt�%Ə�>��F-N���IY����l2�n��>��xŭ^F�E{��Yg@�{�f8�V0�pA����7^��.�������r|8ywyż���,W铁��E�(}�[W�%�����?���w�sT���PK�N�SPK+ MLdist/lang/summernote-mn-MN.js�X�n���)�il���r{�Q��&Q���L��4��Twc�� 2��X�&H��$R����LX,�<C��B�NU���n{����:��?_��Kb)�t������ O,,̊eeك 7u��m���Mu���*�:?-�xN���T���IER�*�C/�]��B����;w[7�G!�*N�'!H� �2/�'3j]�P�/H�0��ο̶�??e�Y�K�$�`�d�D2^�'��x�qtB�i���x�쌷@���MFҗA��ZG�́����؋�i?ଃ���d����l^@� �'<�^[��m��ͨ��Nu�"ӾVY����&�*�'�7V�W8l�| Z�+> "�"�[�b��2��2%�8������:�����ԒN���!i�N����r�:�y/���g.]n�}�y:�6`\�̥���*/]�]���ߙ�#_���c����P�2/�7�8g�ϔpW�$�+�bӌp$���.��6;��=��|�F�� 䢢��u� �[���Ȥ���f�ٜ�l���֏��J��E-���YԎ�����*��Q�}��n����ݦT������i���5CAi�hX���5�{�����b�Z �07���f�P �Q��NzK��Vʄ|�D��Ѧ@�������O��"�QeV�R^A��?!��(/��&����������{�A�B�Z�d��;�@�_\`�k��ǹ�)���� U������l4���/o�B� q���OL���+� ����Pw�Ǖ�[6��$���%%��%;|���)�S�S�r֖�o�H*���p;NR���肘Cү�Q4��*I?$��J6�pF l*[�{Fw;հ �8ٸ�X�� .F#x�\{�t�B ������dzk�WDV6m2�#jΎ=����oѺ�j��G����I�ؾ%H���v|W��6�}�Jg��V�3r�M �Z��f��צVV�<_��Sć����j�f��M�Z� ���q��W2�jTmz�Rͪ0�!D�Qa�"�Ti�ӂѡ���З!t��ПRI�11��i�;�J��Q��h8��>Sz�,/��;�� ��i| ~��t�#�$]�� _pS}GRl��R�*1`��C�Y�C�G9��s;�iW��M���Mtf;zh*�LT�D�ݦ0�#d��^��r�пR߽�y��w9��_��^����Q �$EW*��J�S��%I��=>=7^���7/�!T�p��2�(�����B�̢.�p��1Q�R�A�>��ip�!*�Z�8��|�0�����w��ų���4�3��7�-�m��i�ы�R_ҍ��|��{�G���ȍZ���Do[�~�*t���#̧��XPY�(tp�æ/�ޠ'�>Gl;�P����� KҠk��?��<,Xј�V�D@K!R�XKR���3��%�A�8�RlJ ��t�H�l����.r��a���pC�-��\�A�Q�'������Zwpq��8A��V �-����͔Hd��Y� �* ��������^�lO� c��Uv��,�^ZY�����Sp_鴓���[���A���E�$�� Ub�/�?u���$�pK��K� �9�LP��^E�B�}86�={��Ꮔ����=�IAWϢ+:�ݳ�N!�KnF�+Hmt��e��� �na:��O�+1���Z��C���b�>��f����_��2Z����r���P�h��[&"�KzI `E^�3�Z�tߧ��P�. ��ӂ^�ÒL�g_�;�9�{�RR��&�M�˖�t�ԤN��������rW�4�4��514o(�wEBl�pj�o�z1�.'���� u��Db� Z۸O$��%M�&�˛�X8 �e��RL�� �w|�p�q�ؠ���I��ML��N'��5Ť(��Р$��vd�ʀ���A9OL�}�哓#,��}+��=�^��MΝ�J�>6͏wt�3g�:��9��3�r���y�����ǂ��y9�,x����Cς��y�s_�l��;�o����P����a��B��2]T�/T���E�Ĵ�o��u�6����40K�?���|��Sm���N��A��E1��A�U�Me�@�C��+�Ӿ�Q��{yDZ9p|9{uĔ�p�1>O�����_gR��PK�L��IPK+ MLdist/lang/summernote-nb-NO.js�X�r�8��ZP� R�s�,�BBH�& 醩������˒G�;4S,���cs�d��6aA[��>tu_���+/�>xx�y���#���<<rm]��G���Q�3����˫�U�dlm�V�-��_��L��$��s%W�~�Z'7 �չ�Jj�G�vފ*�����h�5��J]$�RȢ��L�[Q~���EBּ&���ʵ��&�A���/�i����BkS�[�ڥ[Yِ�y���pm��n�b���V('��K_{wɚ�}tދ�k�F�� ,�3�5[�!�pPz�*Evj�o�(�2��\�{l���Znq=��`�c�Z�gbMƞ��g^*��ܜx(�n�����>��Kb��L丒7��PlQ,�i��u��ic,��Q��������(o����L���*A�t���S˙���X)�c��4`�a!2��l�4Md:��ʟYS�I%�*���ذ ��e��<��������7��� �WB��G sk�Y!h��%+j�����ۏZce!5'��s�$��&I��}"B�+�.T�hJ�*=�4�K""$0������\~�i�R<b�d-�h,.估�~�N>�� . ��R���á�ܡ�u6���gku��O�����o1���Z�S�ŷ�qN��:/*�^���\n���f�h�*�X�:*XШY#*�{�Q�}�/��R�����.�ޢHm��N���tpK��-��L��<�1w��d�yά�c���k��= ���ubTW��2��5N�N=����+�!����p�S$�dY� T��Q���z� ^�8�D����x�$shݸ)���9�{����݉A �m��R�U�w���9z�&��wf���'@^m�E�A�'����4�=Ӟ���c��bL{��^�i/'�U�y����V�:�u�+O�4��e��г�s��w~�PmI/�"���7���8� !4���]���N+8y#E����F���l8�� ���L�fv��OoѴ�M���䕰�*ِ��|����|�b�m���^�1L�e�"-%�T��`�L;rM��2U������.6�� R�˭��pU`P�Ho�6!v�P�E$�mu�WU�RӼ�������*v�8��C����Ѡ~�����_��a�+��u��N��Q���i�J�X�V�@aFC��9��$l �_�����Q7<o-L��.8�Je�Y;��7ga��h3�/��x����B*`jW�]�u�~,/7������e�� k����1�#g��^�I��Q��O)>� 3v�1��S��|� ���5��x*CE Pt�_A�H(C*�Eu��Gb�шQ�xx�alG�O��m@�GCvx� ���=zn ��)W��� ބ�O��*u�^8U��g���u��Pnzh,>?���cC-�)�*r�/��1n>��c�~@SJ�]O �"5<�]Ŏ���5� OW�I�U,���S{�˙�*��q��/bnQ��I�?���0����θ����\3Lȇ��(��d�w���D�u���ɛN=��{�I�➼����'���W1��1~ ��M�".=�0#�Y�$^�wũ��G(�w�4�/�a�E´x"ȍE�'�C��b�§ڇ��# 3�D�k� �f�F>����oN.�g���d��f� >����vf�(�� ��Ni�����=�zxp���ă�PKw �?PK+ MLdist/lang/summernote-nl-NL.js�XMs�6��W��3�g�yHWNjO;�dw:�D�HH ������ $���:��X�����Z�ye�ыc��OB�8��L~��i�����N�4��0/��蟯.'�P��5� ��:� &��'/a�����*�xںF�*�jMNN+C�����;��$�L�t��{����V�`JRE��LfT�.�-<%&���%yO����� ��ٶ(:�֕R�7�ɜ���|���o�+��Q�Q��m_8k��I�Џ]�T%��,b�:��t�$ҹ2EbQ����~V(sg�4~����j �՚rU�X:�|�x.� @��= ��J�P�y��G������V��Ke6�h��jmk�����ʆ4���� Ҕ�����$���$p7U��ú�!jQ���Hű����Cl\_��(A�N|��H]6��jQ*r��#�,��Nx;T�uP�♳��"����KC�2������ ��fI��&O4*�]Um�ϻ��I� �����YN�����ҋ�D�uś٥��F�l:A9��G�vw��Y� e$������t�r��}���-O$N��Ӕ��'m���u��\�����D�,���џ�]�Kz)nUE��S8Y�gȹ�/��Yؕ~��6ȫL�ÅK<��;|�"Z�(>A�` �����#%�\�3��Z�(.�1[M�х��{KzC�s���B�?��5Q��抶(��-|\C�����B �#7 ��K��=�F�d!��2�gv{��2�4υ�[!y<B�F:,a��%���VG�cPfu[�A�#؎���L�9i� {>�U��+K�`��������BF�*q��@�S���E��� sX�?vt�;YQ��^YWI��R�l�w����7U �9�y*,_�l�*A����u*|�oR��(|� �E�T�> ߏ��U�q�����:�N�]��x�zık�S�Q�`�jk&����4�?�2W(�hBPN0�+��JrU��;E�Q��F�7"��m-Q������K���@�۶��.���v(ϸ�h�6�@p)i�"?Dg�4�ȷ昹o 2� ���/w �3z��X��W+���B�?�.>��mg��l�uɲ+2��07��Rf�� L�bi�04��� f���W=y'j�~�׳�#i�dk��&����Ȝ{�t�'�9�<�d����Ø5�u>k�ö�q \��2���(�^Q��/Ӷah4��A��|b����v�����-�/̟�c`{��3�l��m�V�ۼ#8�����9���y�[l0�Sw}��L:��K�K�������l�F�#ycs�_j�/A/��(4U5��& ����(l�"9���𑬂�z�0G����'���˯Gu�1�[���{�=x���X�k,�Cg�)ޕh���\�wƙ��EJM�d�A�C��ѓ�P�w�@OOB�ɶC2���]���J�%�+,lQ�\�K�Ϡ��|�� ՁV,L#�H�l��cy��4k3��_����g��� �;\l�yV�����]��I��90J����{�U�u>N�w��Wϳ\��Q��3u�fcu�<S7�Iv�o����.;�w��M;���g�Oc�ea�(�ZMl'R�@� ��$�>8SR���a�Js� �����'r�:��?����ʖ��j� ���k!�_x���_�FE���A� �}��'����bz~:;�.>��ɞ�8o$<�żSL�&�w����?������[K��PKe���PK@TLdist/lang/summernote-pl-PL.js�X�r7��+�p��*�*~ȋ�bJC�#�5�BQ�J*�$�F=h�;�7��� )�W����s�&ݤ���$q�}��>u4�u��G����a�щ�� �=:��V'N��Ǟ�XR���\%߷?��_�M�ʾgɍ��z*��"y��t\�ԓ��J ��΄UR�r+6��T nA���ͯPn�L�jB��*���K�<2B�4��)n�ǔ�Y�����/�����i�ZY��+��W���.���>�>J�ɖ�Y�ۤuԻ��d���Ӵ�?,�ɞ�RW=��� �{��?"�����U�P?R��6(f��'�}������A���5��A���X�L�Č�1L�F,#ݞ<n�����7�G���F�f��Dɩ�cCqE1��Z;�y�knr������!~$-���!p������ى.���նWdGkn��Z�G23���z �T�H-���d����2W;;-���_獴VB�Խ��x%���{�B��5�������E�ކ����t��B�f�!��T���P|��2�����A!'��ڒ��2D0�_�ސ¼%���p ���s�9 �n���[� �[{��!R�ϯ��wf5� ��FCZi ɷ�G?�zRO�c�/YC?.5��,�s�Ᶎ��0����PValWH���:�x8-�@�n@j��w��LRv��V���ԡ�L̹�J�WL(kQ=Y��|@$9��q�W��l�s�.J� ՄFuXm*��wd�f;c�=�)���oDs/uf�v ��5L�fU0�S`ǧT:��ɄO����Y66��4��Y���6���Ȏ���Pކ- �L�G��j�#�R��������^�L(؆K�# �"1�B[G �\���V���H��S�0*�Z���oHw-ї���恘�=Hn�YS�Ҳ�D�ʤ��k�* �V��w/}1}m�H�� �o�|��C��IL{ڧ=�i��g1�y��<���i�1�E��b�3JV���l��E}�=� D��)k��A(��!L��hZ�{JLI��f!���&��a��\#�&�ؼ�+�)����L���Bn��1ۼ7{*K��gy�I��[t��弔�[��e��M�/��e��E��#��h�Ԁ�Q*A� �5�/� ǐb�8�Cm>X��F/�nCa{3˲���Q���J:g�q�i�d���9� 2R���Z��������"���+F�)O�9F\M3ф^f;n�4oŎv`Bvx� oL�6���E_![#1�p�/#�lFKt�1}F�9����Z��h ���E��X��u^ڞQ����n�r�?��&� U����/�����0��s@�n�),��_�;��e������0�C=���٪�/t�Ai�c ���Ŋ�zn2�r�/\�Z�{+du�$��m2b���D��κI6�0w��8��)�����:�� *����( E��b���;�%���Lb��q�s2D`�O$a��P�>���vv���>��#v��}�0���'��X ��n����p*U{�<��I������E��X_���5q����qs��EԈ�ab�s%خG�߃=]�l��6�=������ݴ�T��.��j�ǥ�_e��L��'���;~�9�ڿ80^��vz�n���X}�v��a���<��>} o<�$-���̖��y� g�{�@�x��x ��W!�.��a��_��5��t_��Z�D��L̹���O�-b��'��9��V�@,���O��/f�oT�p~c4u߽�Ub�� Q�k�U|��]�]����l4y9����;�7xvXY ��DXwJ��w����_�yw|���v��PKA��cQPK+ MLdist/lang/summernote-pt-BR.js�XMo�6��W�@6���!=�خmح�k7/z�J�]��P�c��i�C�z��c�3�d�VN��"��p8�yf�U�e���=��~#ģu��������.�#�qZ�h·�/�W�P���a �t�z%�s��:��1��:H�K,���|�h+卶 �q����8�4Jz,.T�� �8Qɴ�b�l�^o`Q13!zI���A��i�cX�%�� ��zC{�[��e[zݐz�����66�3�݈c�'�R��n� :?}��k��n��_�(N�f�m�'�N�C{�D9«�Gc�X�ҵ�-�]z1wucT�G���"'Ҭ&"�2R��LŽ�~���o�ok��������L���cDE#qeG퇨|%�v���|���~�=w)�η�;�ᙺv#�pv�4|%��]�\{����]��&�K+5���w7����`4b���u���iי�� J�Zv7��Tn���\�� q�]���yq��f�VU�c��cmTK���A I�"�r���C�e����uL�9�_���.AA�u�c""�M�n� GO��yqF |O@ ��@��3i�Z[I*�t��n�]�J9�`�D�n�'V���p����O���.l��;�y�?l��;��ӥ���e\�����я�)����8D�ݾvD��E�Uܟ�����t���t���h;��w�A)��G�����ޥ;�mc�-�.�O����윷D�4��^��"��F]K�+�({j���j[���=[��:%�u�R��T5qI�KJ�'�8yI�����U�pg�k�JS���`�F Y".'����좗R���3� �Kg��r�}Y���{d*"������nnJ�d;���ـ1�Ix�%�M��AvN�/�� R� �4�6拏(�R�gY����郭,�+�>Dt-8���� �M����J���� .����� �<eO��3��/<g����/�d/'�1� ��O��u�E)JW�Zz�WP���]����$j�.���d��F�����q-F�&G)KVS3P���AW�J]kEa��Z���-��j�1�|0Z��k8!�,@ �/@��}�*�,�ᵂ7($���6��I�U��-�,e����K���#*_=L:As��Rӵ�� �i���#�yEd�C�ҩ�ܽ $!�!^�n���y0���v��-baKY^���Zju���M^<,�t�K��*�ΗÈoݪ�V�-��h���t��9�i �B�d4#JF�)�w�ԂOB\��Q��h6hf*'�*�/�k�kǪ܌��uL���kB�A/Q����,��E�M�����OC�r%�Ն�̋ �� 7y����Sѷ��`ⰜӃ����ȱ��x�ݽ#�M�"P��]�OHo'���k$�ãf^Hʑ�.�_�Hb¢�0�b�n�nGU��''ɡ���=��<?������[������5Z����d���ɩG��N��u�OWnG � �g������sD��//��4��������G"��ȉ'h,?��j�s ��֢zc�����!�&����}��I�B�ݫ�K!�L4c�D����n�ȏȯ�W)�)ܓ��!�g�w�:��E�rM�x���"'O�] 0������n���=@�7#�����^��{�9���r/ ���%��]{��F����~��u��̩�D8�Ҹ��#��_N4�C�)"��G1�� �\�L$*K1��l��m�f�R������G��ٙ��������m����"�ȃ���^!\KD�@�~�����������[|�PK�$�PK+ MLdist/lang/summernote-pt-PT.js�X�n�8��S�@6�1��C���m۰v��ng��^�R��X;i'Y�]v��9�i�_l�"%����8�������6�ͽ��ѓc����zrB�=��ѓ�.4 ��z:�u[>�t������*{�/���֏+�ֶ.ި�-��x�=����x]��K�� _�ڂ\mZy��t!yMځ���ޑS�yS[U訟���LY��lV��4C�8iuÊ�a���3��+gCY�.��Vta���lY<�L�Bp���a%1�++_�F��8A�o��L�K�Vz����!Ѵ96�?�S�U"u�zꚏE�i��p�ک�m�5�]TB_�z3A_�ׅ�Y����G �iT$ɛ��V�+ڰ��κO�\�ő"h�_dB�G�C�[���q��UzK˱�����o���!�FXZ�VUh֭6��^���!v�,��@N��"/ȱ֙s��B���S[��՟��c����Sg� ��S+$�vTS�ϝm�MM��;�sR�E{�Ia;�4��N�6��iBd\�`�N;jY�C���3�,E��Wq"��cO�q��� � ^Ny�R�x~!�:S�V��w�gv�Lw� +����>�EH��+��B��k�;�Mrn�HG�Y\��*Q�*�l�eU����6����L�?-Hg�K����!���r�V6(�o��䔨s0{�i�!4OL�M�w��#�ڞy(����p��G;��#W��t�Z�c�&G�g�6���k ���G�;�<Y�j���uvK�e���n���C�l�e���i�VuK�����5���~�x���*��ba�g�x��P��+�� �oT'#zD�}���}�cQ��C��X��P �P�1]I`A5léO��(�LhbFjR��qc��D/L�U!�GO}'hТU��6�� ��;����b�ma�V��o?L �[����%s��oaJ��30�v����X=���B^H�KAx) ��$���wԦ��ѣ����[��qѨF;�9�V��C ��F�<,sv�bOME5�w�1�7X�T�Z��2�2r[Н!�������y棉vnX(W[�N�1�f�^��o@l����2�&�D!C=�rdz�� �(>+JW��f�o����"��8�0m�9iT̹Q,���y���z����J��G�8bm��i!kJ���Z��k�ߖ�N[��s�H�7�ă��;�v���y5��ꎼ�*��h�F|�Wkڲ�G:mt��@���Vs������U���jL�y��S^���ym;��9�x�9܉έk���-}c)�К���!�7):Ct�_y��4��#c[�L%��� ���)oG_d�#�R����}�ƽ��e1:��A�P�|E�Ƅ�E�B9C �,�?�"9�"4��?��d�%y���R� H��.Qi=��D�8B�����ȱ�=�r�y�n���xv��|bt�����\}��e+O��~r4ՠ��0`c)�!��tr��)0����m��0�ʖ%���.�yqu��]�Q\}C����Ke]a`̓������pag��X�a3�c����6A*���Ϭ�_8��g�{�ݥ<������d'<��>$��;����#y�h2�|$��^�W����������R4]<���P˹��s�rL^�wȩѵ-O��i�_uŏ�D�4� �lZ�X?��������L5p�e�fńIc��٬k�^��v�|6��]���l1���K� ����(W�Ī�W��� ��4*������o�G�0r_�?PK�#t=�PK+ MLdist/lang/summernote-ro-RO.js�XKoܺ��_�E9@��H�tl#F��wfr�.9g��D���)���^tq�v�?���wHIs$M{���<x���&��kk�=��I�G��W�8zt܄�R�X��Ki�O���X��^��Bl��7!ֶ,^���?����I�=��,u�v�R��f0�rXT�_�5��`?/�t�������A����NE5������"=����֕��L�@FV$�\V��J�Kp�a���;g�v��n�V�M�tM�.L�sũC�\�}���Fn�F&N��it0�AZ�}�L�+��\�Z2-d��ɘHm�2xP�3�D�C�S$�<�%�/T��C���mU����e�9�?��)� a �yE��?��9�oJ+��ڐ�3�:������r�\��������sI��ȋ��f'k��x�����Wba=�Ƹ�v�@�+��A�]��Fj�j��J��n��1�S��V�Z��Q8�%�װ ����<*@!<�VH�3 ��u$�Y�ף`��AK��dT�*U�ϝ��u���J��6b���N�a�J~�U���$��&e����~Lv朥Hai0�Er�w`����������E؞S��!�}�g���u�!�ǻ�1�ލ.���.d����/��7�q����?P�#���5GN9�� ��VOįH]K?/��b�8E�Tݣ�ApON�����ޣ�L�!� � �����}}aPg(��� #�@\�S�ԥ�fE�+q#>BR� �A�ӥ$�D�7�3 ��:���{nMr�\5^�2ܞ�V�¼U��Ma?B�j��X���C�Sʠ����; /�T��k��\+�U�(��l��qVȰ�؏ٲ ��Y��Ve�j/z/�mٕЖynQW��ф��`ZMUB}�ˤq'0@'�y�%�Ў �3���C)؛�P�Y�%����C"�&\;�M��-�殩�u��\�6��{�܃�9&n�:�+�����N@�Ҿ���=�y��=뗟q��~���~�G��_NP�ƣT�-�u���.�Ia��d1� z���}ek*01;U�Mg����o0l`R�`���S�~����P7ZQ�-�CO�TK�?'kb�c���*6�F6�3�ΓD�G� � ����xR>dD�%=�xB+.Fh7� �V���qg�uB��a���D:��� m�"�t�:���~�l�7R�*�^ �<�2���yh� �e��RBM�i�a�kI?L4��G�<ۀ�J-� @�i�;�-q�Em$�Q7ڠ�H�2��ZN�P�����}�ukԀ�yp�\C��h2^H� ��6TB�cOa[d����l�I/�%�bHog@�r��w�?`���\(lp���Tc)pP�ɿ�[:� �S"�L�.���@Y*�W]�⚈;Q 9 )C$Y�-����Ĺ�rSHJ$���l��uO|�C��y�Y!�]������xC�4 Lo�Y��DOn�t�t����Ω� :M6�xNi{#�4�` <��6�=���/47�w7��C���D蹝z�X��Aq�8L3-~�$����u�y.����Q�#¹�B�B@��ky��aW��]j�?��A&�m0$��<u��.�Q]��q�$�vCރȒ;)͢iP_�5��{w;��᫇�q��T����Y��?}(1}����C����?(1�:�%��VG���/��R|��'�E(1�>h����r�.e���A���Uڝ�fD�u�ՙJ-(�q��A}����:���Z�Pi���r{!��l>[�櫳řX^��/f�g�&�S� ~a��9� �n���e��/���ӗ�G~ ���PKE�w�O�PK+ MLdist/lang/summernote-ru-RU.js�Y[o�~�_�BDcK, �@���ٰ�I����L�{�'}��FH�f1+[A���zYB�ʣ�1��_�G��:�ӧ{�c��lf������㱅�kF����e�=�����;{>��]x~�λ��>'�-�ğ��i\;Zւ�E�7˚���U��<O��j�6�M���t=y�8�#�?'�]�I�g�j��>Hv����k��u<���k�� h�Vӕ����쀤/�W ��+}��@�d�J��n���S:�iw�}#y��C�C��ȑ�g� �����\��.�gQE����J�'4�nχ����[8魜�ޒ���N��>0�{*(8�&;pٷ'�8߈�?%�ɻd�,e7d������mp0 ���Y_���/TA�@z{;y 7�$,��UÚ@���f��yx���j0���C�S���� ÐO�����К��/�X��� RY��r]�0�\ߎ�ՂX'"=���aJ���hl�D�f�:��H�a���I_儙Ȏ�Z|��ڗ�Z���<�0� ;vO�,!����ˠ߾j13�[��#��{;ݬrO:J�6��i�*�\'��{�#�4��t��+��r涚L[������[��)�Fϙ�$��� 8����Y�ǧ]+�{"�f� �*W5���߽�*��XK�Y�Cx�����e]�k��lV�?Hz`�HK�bP��8�oa7����~N�$�c�Y���G�#ygf�����ߕx���a�u�N��lI���.r�@�F��:-�`�=R��yh䈼�v�E��a� ,J�)C,#�����I��^�S���1�'?����9�NW���×[^����V�~���٠����6����l4�p�MpI��^.��7�U�ɰpG"�ǎ�0����D#��N�s�%�G�z|n#~�l���ͮT�(�Mb���o!�f��w�B���{�Yĸ�\1d3��&�~a�Hv�������كF�o��Jr�Q�t�՚��]��J�{�~R��`�PB���f��r��� �o�uޯ-쓾���:n�����XmVZ [�,��m��'��e(`Ts� �A���}�s:2C'p���Į�H�X���C�q�R2���tc0 ��V��R9_��O�<�'�=������ �y�o.�9��Mڟ����J)��]�T���da{�1��N�=�Is���Is���Is���I3QO3a�\���2�i� #`k����p�M���Pݲp0���}�gl�n�(Et�����K u�+�ڃ�,�����ߕ�h�nJ;(l)�@�� 6����()��L㞶 �2�U�z6���a)�d<��C7!A�;}h��QKq�c� ��؊��W�#�p;`y `��ƌ��_��f�4�-��tS3`�e���?��8�4�6q���>��/�TCS�ŒWwnjǞ�UF4���:��&� c���������]iEXE[�n�K�}��#>��#p��5�w̻�u3�*����6�OO&������d����Q`{!r(WV��N�gMW���PEse�2u}�Ǵ��� vl�J\�B�����Z�cW���q�+VZnu3�����Q3��""�3p��^���dɩ��cC����Z�NK �A7��kG��){��CdU +#;�J!�劆��#�ߋ�B�Q`P���3[~3�"쳺��BP��6Ym%>�ؿUK�G�(��^�q���5�(���-r��-ULӠZD��{���p %-��J�j��*�rN�q9VAâ����k��~ Ih8Z ��b�E3�9,�ƚ����;?�^��j��˺�g`��I�!Y%��)A_�}��'Ixbǰ����� ��py'�qyWR�t��qb�m�P���z���.�s����62��T-\��U.gR��(I�t�\����W.�Wn"����Eٵa�r��⻓O^Әɴ^LN� '���m*�F������O:��n���a��M?b�����q��U�UWم�FV���c���(��nSy�:�\�ot"�Ȯm'�n m9VȚ�&������Ƅ�u{܄ }�ԅ�~�2�O)��Z��K��in9��˧�inE�̉S�4��\�Sʼb�H����wlw&v���5�A2�ڝ5쳂Lټs��خ�>��랈e�`b�ˇ�>������t5�N��� �L�Š�n�٠�� -��Ia4�!�aO5��d�[*��7foߘ�umښ��6smr��̬q��7�9�r�l�j�V"1���pp��>���?�?>�� ��PK�*�uH �PK+ MLdist/lang/summernote-sk-SK.js�X�n9��S�@6�5��C����1lر=���s��)�i6��&�X������as�= �\d��|��V���s��ů�d�ꫢwf^'N��d���cO��G't��d��y.�6N�)��O�<c�2��d�263ڵ#ƦF�o�`��>����Z���+�`�����%��N�URL_����6��I�%��<-�]�jy�_v��_+ֿ�ylp!�|�} ��_�o3ά�i�#k�!3������b�lgߥ����Y7߱!_!6�#Wt�+q�53%�]o�vΧ�K2�s�*j�U���'^�,�)u)l8�2�_�����҇^):�K��-[6��U�#�f5�,%]េ��:Awr�o��Nj�|@a�w�bF�̥(]����}�P�Q}{da��<3!h�+���,5�2�r�12`�c�a� :}� �E���j���,|>�\�Kk{�6��^ �Q�H-�� K�"���q��ȿu��5EP��,D3�M����R(��Ck�C�D ����r���}jl�G���Wq����T���� �� !�H�[r���>['#��͒�0 ,�3R6VΥ�d�l'�R��� TW4�S�3��f|�HGN?��Nd�=M�G4U aϒ�w~4~��)���0�18֥�s����t��3���0�d~�w<P$6��C5���n��-�6�:c��}o���"�!Y)�0�:���ȲP�|��+��z���d��|t��ֿ3�y��i<�A(5�T[���1��)�>�g�R��.�9͒�i2$CBmǀ�SJ��K�`0�S�/����\�O���OSf�5�4�Q��*�AMi�E ��9�@�Q>�L��z���"bzS��7����,2�Y���V�u8p���@�C�]�o�6tBUq���B}�=���PQ@q��T`�g��ꕾ��Se��g�^��t�ۤC�E�Ǔ���Hi��%{˟���E+�_��U+�_���=g(Y:$}�P����s���ߣX"QVf�ynqw�B?#�S�ڎqSYtZE��0�I"�3�~t'BhL�B����I�Ĥ)H�v4yw�2r���GŲ�@��0Rk&��x�"�a�r���� Ӕ�Ns������(��ZU�k�"��Г� ��=GOH�-K� �_:9�Y�L���ă�Zغ� �V�Ϝ���l��4&�܄�>� �a��<��hQ55/��� ��i'=f�� �n�i�%���υ�b��+�ԍF�R 7� �8��?+��:��ܭa �B̸W1�D��mAτ�H+ƺ�C��f#��z�8^���++3�]{-Q�$*yϗ�t�T�AAܡ[��S9�^�?Mǯ�G��g[�Ԥ3� ���$���c���O�UN�.T�|�,>���G��ZY�c qcs�_Q2�L��Ly�u��G���P�2��E֪��#�= Ia,�၈tD͈���a���}5���B7�>���k5:�VՈVKJC<<ј��5AP�o�A���s��55Њ�����zJ�I|�Vqs�ԢST)R���-��F1*_��+��mi���S�>�?�����M�%�a�r�]�؟4�C�K�YHa�yR.� �Y"�? J�m�����Yw炡�ލ��pG�g�(�k��ԍ;�A��⑺q���|�n��4���w?���G꾎}UE�^$+�Ո�� �Kί'������X9�\���5)���N!g�D��,�Ƣ|��I|�k2�D�� �k�RC�O�e!PS�;����x�� ��G�����8Z�z������+�,�I�<7�%�������>��|��{��?PK�v��Z�PK+ MLdist/lang/summernote-sl-SI.js�X�n���Wp@6�1��"�r�6��I��� �]�(�I]�ñ�D~dV��)vK]Rˈ����S�EMK�ƻ����ߔzqB�r�ы���2 �tb�����J�r����Y*5��hWJM�M?�ޗ@��d��)�5 v�=ܓ�+]J�Gؾ���}(��̉%��ý���Ě���[�2� Rܜ�l�zC���Re��*�-љj�F��Jz^��b|9���{�M��I��b=�y!;&����M@�5��!>J^(QQ��؏��L�g��4�� ��������ЕQ9�� �C���Z`�ǟ&�Zy뼪;:��N��2I�$�Z�ԡ �4� �^��u�sj�.4�C�b˂����Dа��3����}�1�>Zoe�H��zEC���A;����#"�oⰅ��}�x^f� ;���%�c��" zv�W}N!j�g�,%�����"j��b�(�)-�� �����R��zB�.j�V�8�W�����,�:l��5�Ł�4�S��â�{Bߟ�2�뮇�[_Eä�@���#�)2U�n��`f�`L��I�ʤ�eZ5�� o{"}`�����w�r?�"�R�aT)2jd��2 e�o�迾�z�nLF��=:{��`w_=�n�����,�;�DM��m�רW�<@sF��5�[�Qj8{�>��؟�|e���Pa�SM(��(�p�H�"w����K�-�\�+�n�N�)�te���pֶNh�����W��t�oO'�ѧi���U���(5�#�h�Q�v���eJ�-3�,�[��f���K`J���3�/�� 1�v�V��qc�jD/t�5G���ڏ�9k�~��_pK�yq��톀n�g2"V���(=��K���1<Hg�bA��Sy{�WQb,����[�kI���H�ۖ�V�ߵ�w�������b\AJ�>-�H��o.�N�#:��2!T`T+q�#�_q!�Q3'������h��J�v��5Y�/y�p�6�)4GF���u>�:PK�;]i�W��� bʣf�jgn�e����2��ǟz7a �pUx�?��Ă�'dž�qyzd�9#.^p��cQb��r������ݿd#���-��H��gb�uS�@-ԡ��0�1�op�'2��r�����|Z�*Ӆ̈)�0M��(n�9.��(�Jl�,y9�_�0��ʣq�*̍{h4ե��4�jM�� *N��`h��74n���<��L"�M�Ϲj���� ܃>�����K�8��F���q)}���'����'e/�����u� ���c~�o�Ģ�vu�����5�j��x��07�a�Z��i���3����bN��Ю2$c*��CVD�������P�)�D���!��G#3��P:>!U���~@��z���0�-tK�w�z-���U����3S�Sb]`S,x��B�3�L��^��*���5�Ip6�X����o����qs��N�-f� ��v-� m�Zbp]�=m���b���˺�+̱I��mr���������1�L�9��A[q��_/�_/�t����=�R�����w��y�����~&��Qz �g��9f����r���{&���6���^������9,-������ �#��o�3�1e��C�2��j��7����Zy[?�����.��Xܻ���|�������n�C>�/N�~:<�? G���M��t5�%�"ю�:ܞ!*�����ۏ�ş%�;|�PK�պ��PK+ ML#dist/lang/summernote-sr-RS-Latin.js�X�r�8��)p��k��2'G�ˮ8�ǒ=5S{�HH�\��cm弧<ļK��k����"�u����"ؼ��<?�}&��#��Q�8x~T��TFi�/"]������f�ڥg�~%�ܙ�Ȯ]���^Z�����O7��ԏ�o��Q�-�7ڪĺ ߿�kn�� ޮ��Zԍ6n����Y)�\A��N��J��^1��%�q�ř,�ydĺ�z���wa�"M��}3���:���C��7�*�b���%%��߿���D��~��9L�r ]L뿴�M�^s����'�nKՐw@�<�j�x�!��tG�P��,�$i��_��~ �7*�G��^s��8�\�E�j+���7:�jE�M{a�[Q������x���ˍř�z%+u�(�(���|'� �|�M�G0����G�V��[��c����>�U��ъ! /�to��ө��M��;nS���`O��DἘ!1��Z�7gޕgڨ�+���e��]s�������|�ҎX�_Px0�{��;���P_r���#�<��@���\�W%��.��"�y�DB����s�](�Ӣ�@�4���ڮ!�Nm�X#��1��:���H���\FN.�����0W/ĝ.���Ņ���|!NJ��[��`X�Ñm�Wж����3�FJ�-�)ؖ�u�fHV��Y��6���;�ue�#l��u�x�BQ�[�L>���V5BƫftW){a?��ߴ-��e��͊ �۸��0���s���v#�!� �xY7��d���(�wBҚ)�PJt(�rC�ę�V(w&�5k�S����!NWX(�`�)��Q�; T���!�� � �^9k���=�+�{K]Š�"���u�8tw��M�]�F��,���q��?U� �:���u�+���K��K#7�^����j@z�I��ל�f@z�I��1'��ގ�jt� �{��<�<���9�u*��Lj��03�Z�@�-�UT'��!_��}���@����%�Wk'rD�R����c��hE!w�E�aX��gW��� �Mo�̮`�D����l�}�I��`�B�'�5��7y/�/�*Z[8@4�CJ�*&��frj̳!?Mr0.�z]��7w�HҾ?�y��z_`��̨�*0c`����}���S���2_/19ZAރOTn+4��Ah��h"ek\K�J�2��U3��W�����`Ў�y�������E�n(��}T��4y�wS�G�q� 6�!E#aH<�77����y��͙�lm���]: ��+2�S;Y�zp'������IS�F�f��`�y�p�Ɂ��ˏ��=u���Bz�s�)�D�\��wW�Js�\� o��v��u#?X G�[��Z4+%<��T"yQ�P�"��?����Ptv8�ݿ�Lz�Ô||��ͅv���s�G��Gsy|����=x����1W,S��E�GJ�%��}'���ti�u-�J��4U���t�ac��!�^c�J����k@�hM�0s�%F�]cBw�]]�Jmk��mU#��Γ��T��<x*Cb�b�c���E,�?eX�l��'�� UP�#�D���S�j��5.ow�5����p�/�&8桖��y�H�������g����y�P��?��O=��'��J�t�'o�@��X�9Sx�0/�#�TK�,Gh�4ů�ľH�q�D,;���O��`�Ɵ}����S(��D�Kl$��T��g�&?�Φ�&'�br~rs2�}���z�#�Ԏ�m1ME��Gx���}�+��z�˳������7PK��cPK+ MLdist/lang/summernote-sr-RS.js�XMo�F��W�H�#�?�sR$V������pzf���&iYY�G֛c,���H�<�%X�Zڿ@��}U�6���hf�|U]]U���yd�N.-��$ĥ%u?SI��R�DZ2���R$��e~/D'5�lw;7ݣ�d��=�o�N�8+����M�s1)N���eL`��LFa@�g��a�8)��y�W& U+:�P�TDJ�*�����ʼn(�����cQ~G��x3�T8��N�SqR>����Џ��8����ɒu�T��8����if�]���·#�:.��i�{Ӽ�&���귯,+�!�O>&�����{�k��N�����X!Cv���W^�o�$U�}��<v^���g�Q)�YϣȮ��u#���ؐрH��|�����>nA�̥ɔ�q}u�G"-�-5pv��X���MO�3|�ʁW�HV$���Bۜ��� z����Ϯt$�j[S�^���M��%2n54H�f�gQ;�<�%2$G;}ӡY�����C�nR�7��<zI�J�*����,x��+ a=faX�f�Xpf m����*RA�nt�F*�8�6�o����� ������L���9Kwm�nG� ��7���1�R�%"�@)De�� g����G $QA�$�b}�]�d��a�Jm�a�H�{���n�{a_iS��$�N�2��V��+i�Ù�����o�{��6��.���TS��h��P��.���Xi�J𰙤�_k���5� 1�( ��/��z�ZjJ��ӵy�<w-pBcS�I��=T�����Qq�͖!�w�Z��#�O��r�j��>�/�/y�x特$:�JC)~J�)��f���c�l&_����I_��4/� �hs���s�A4�&�K�w6�2�#��=��r�o��ON����{+=��+��0zOHz�,���T��U�=7Q�:r�K�@Gy��D܂Ut��7F>��"�w��?2E�yj���o�dM���F��}�r��P�k~~���� ��~��0m�#���p���/6�g���gAa#�D�E:�[��p�Q��O��}�����#oxt�� �o)��]�W�!���k��|�y��>byb�Gܘ��ъW���Y�hN��Z�@Q�6����3��>/�pO�]����v}Nfvo�11Ycꑊ8p��~@�~��3@#��M���e��L��RCtV�L&�7`fO2�}u/T�T(-P7����Z6���F��r�n����7��Y~�M�k�����CJ��g�Z�rpZ4��Iy�:W��}��]uI$��F� ��x����Ăl|��g�8O�������,0��t�h���n�`�>�h���j#j�E�VP�pzG�'X�A#���ۓ�c�d�;�!�ӏ0*����z%&��� ��-bp%�a@fd�"%*��N�5��KU�sQ,:~�x��l��5ʧ�<�<�%���=�`����H�,�!U{����n(:��~� �q"����|��D:e�⪫��֯k�,�!M�;g � �5%m�e��%��I�t�)|���v��pgc�64�u�Ljcז�i5�S��fR�Uʛ�3��j���/�x]H)�*�8)���-��dW��ck坊|p�A��㢨ǪS'.�ٚ0w�R����d��M�c��=[; s�n��(���W�'n�.��+ �LH��\�}i{%Q��sGg:����ӡ6�q9PK4��R��a���Vqˑ��юި���� ܮu��<[A-��v��2��� I5� �ys�*�[(�$���C���\P�� �r�m���re�%���m+��i$� 1��n��4T�Hb�k� �����$�:� ��N���םwc�2E��.�8--��[�ƕ���Kn'{���~��q��.(�����a%�|AY�e�do\P���+�M8���<m�"=��P�a��e:X��2��%��=��[la\�m�D.k���O�C���(�3~Oeƛ�H�~�պ�6�� ��Ic�ӽskuseK�n�l����m�{9CK�[ѵE��i8�O'���?����7_����PK~jP;PK+ MLdist/lang/summernote-sv-SE.js�XMr�6�Xd����.�EǑ�ȍ�$��Ng��H�� ,@�q:Y� 9Az�\@�JE��"��<�?xo�贖F�=�g���أC�:�{t蚲V�Z*����X�V��'ɫ�����u���ܨ�KNE�@b��5W2�mc�\E+�΄UR,^ѻ�mSAR%���c�C�-y-��yZ �/a�����u-k^���H!�iY��A�,D���ɗ@�ڔC;\3w��i�n�#��`~��~��9��6V�"i��e�/Y�(:��}����*ޔ�NX��L/L�ټ�l����F)@�\�p����s��ս� ��:`'�-���m&2����c���łl�������6i�m���ߏ�4>B�t.4���C�D�7��W�%�@#iT,|�f˦�k.�}��-i�����+Bd��gt�caI�1�۠�bKGbfM�e*�C��fH�H�J���5�T�?�k��|��F��e������~�}��ħT �È���sz�j��eiV����zw�X�K�IȻ�u�+� �GKH�P��"��ڹ�E�,�h�ͧ�0�����!���e�O�̚�8`e)=4>ΐ<��<`���Cu� ��c`)����Q&���,����hǻ�Pt�z�[���D&}%�)�#�Q83��U��bs%j�Αٽ�N���B�eW�s� �2�5g^!�D����J�3})n��:37��VU�K&��[�,�?|5���s���9-q6�S#5<�&��h��(˘57���Z(o�Q榏�V:�F5�f �o�T��_�@T؆�#�kA�Eb� m�jP�`������Z"�;O���9����6�H�~W����)R>����q.ΕI���Xa(��^����b��I3GfO"�˧�iL�џ����yL��_����`�J���y�������EM�8o��˦���Y��~SQ� _ E~��ؙttLBh�R{w�r�"5�XIA�4�]�?^�l(�8��f�nO1�=�n��榩��T*.C�n�-$E��ow-S���F��~���;.�6w��@��\P���`���#�p�ޭ �`� �]^��f�=��x��A{JEۯ��E��R�D���nW�Y�E�uR[�$��B��Ƕ8Q����0/a��1� ��A�Ԉ�8m�"ʼX�Fj��`��#t�� Bɡx�i�Λu÷X.LY���g|�(LaKo���;��F�����_e9�DE���枬��� ���e&mJ�|�]rl �����{,+ni{'�� |<Ҹ�J��M��J�9�z�ѺA=A��\�)���)��4x3�k�B�<E ����F��+�YA�;b� d���a�G3���e�C��!; W��% ѽKZ��#���q3:1�p�|`t[*��o�Sub���q %-����uE(S��}��`}պJ�|�� ?���ڴ�s�b��<W�m[�o0�c�.4���? x� O�߅b�0����RĶI�WC%�8�|�)CH>�yb-���U�'����w8���C�~�>H?y�,��ny�>�7<����y��d�������}�@�x���| ���W! �?cT�jҠ�C�%�fȰ�,�D^��DZ����7�4œ����°x"ȍE#��'�C���j�.�|*~����gʁ$W��f���#'�'���s6M�F���4R��d����i��R�DB��*����~���/�{�ao�PK6�ERyPK+ MLdist/lang/summernote-ta-IN.js�Y�o�D��W̡�&R����B�*�-I B�2���5�=��nP� (Hp@ʁ^z(�a�^�_�?��{ol���Ͷ=l��~�c�k�2���.����Q���0Y�v�J^��q�-̕Dg��]�^��ݾ�{Ͽ*5�YѼ)շI��ͦ�ͦ�g����'��.C������z6��;��1���ٓ���"�83L�m%�i�=�>o3 �3�>;;�Mk�P��ģ1����g�?a�R��d�M�!�#ө���l���;��?��?fg�y�s^���cg�ј5�"�����RZ��<��b+िiO-?��ĸ|��lۃ�^a�P����3�Ǽ�,0�7�e�A=���zC M>ز_��!��n��Ɖa���ev��=c����3a�!��-��� ��������� �°��!3�rI��K� #�:e�y���3L�.v�P�'#x[�b x�O�� d����ޜ��� ��3��B��9��?!5�f����zbv-埤2�����%[O��|�*K،���2/`��q��3K\Q ���e�z�l����%U!rz�M`�2N�>����R��{X��nM��g���/� k��4�w�M�Ɖə��2z*TI^ ���)>�9l �IQ} 2!Տ�d�{UY�Q�a�)�U��щ��aJ�ɽ㜭R�c��8_e-���:!�h���`Qg N ��@�� �U���3�I��^���Q�i�y�?���826��~��~F���x@��b��8;�q'�-6U�AC����"�����g�,)�o�̉�d�#��}f��o.�O��X���e;�=r:��n#ɏ>�4�(����1�MC�wxp�w /�-e�D �.������'0+G^��-0y���q>I�Qt��@��^%�+�o/;1�vv�~g�=d�0�"�y�2��H���R2��!��Oliyډ_�����D���� XGѮ=��KznD�r�Piz�P}`6����{�j�&�7�&e��ݺCV�� > #��6��6�taȲ@�B[�U�� ��-�vJ�wc���q픖J�^���{Ѫ�5��t���Q;~�@hQ����B�ģ#A��~b_�8/0Љ�C�&HT]m*lC�fE�Tx��N+_e�@�/uB=QW���]ɮ/$���XHv#$����fHvk!٭N��8/PA����u���8F=��{=�=����V`��<嘆��-�&��㐄0���j�!�c2�$b��"2���%�G���#�)���%� �0�齩�k's�������6F��pز�_A��2uဘK-�����Q��4���aq�*�Z�����=�a�c���T��\D9 5h�2r��;#����/ʼ��҄`����+��T���G`gh?lJ?�=�K��T���"�Z_%�cP��9���p��丂p#�/Y���j��!� !3�y�u��Y�U�����E������B��bE6�0)��9ֈ��� �Jz�y�f�ˤ���a�[?GI'�uŠ��&����U_��z����.&���u�F0l�椻֥�(�lIJϹ��ݐ�xϜ�`�/�XNuV"����[SZQ�+̜1�Z����)P�' �`���H@�E�Mp���#r�zVx�DF w��������&r\��f���ur��C�5�*�F%:/0>�� 0=�'&���H1�P�@��2���!��.�a�J���%�KņJtt�� i�ԥn��5��.��)Ĵ�[��w������J8� ���Q��nr;�H�9,$�1���~�����*J��]B���j��B�v4J��E�Kh��ݗ�e��O(ߗI�}i� '�A�Ϊ:��j�)�6��P�QC�Ĵ9���U�0�y/WB�t���z�(�`�C�B�uu5Y���y�����=�{}E�p��xo�����y�I�⽵"��W��-\�|��w��n���Kڐ��} �L�۱N�� :�!1������� ,[�A���T�Z�Etz�-�"���n%�G@�SGG>1��&��ro����������gw/И�E!�ԞHT�Dw�eL���c����������PKXq�d� PK+ MLdist/lang/summernote-th-TH.js�Y[���~ϯ���E}Y?��v��.���]�A��P�Hb��C��Ma�v��և<8 �i� 0� @�B���~�/��$�5K}�̹�w��,����6��_S�ܖ���x�qn+ɢH�ؤz+���y�]�^:y��Z>*52q�<)50�����E�S�?/����"��w�?Aꅁ�B�Q�?��E�u�?�,j�f�}�<-�}1{D�g�f�GB��gY�[��E�M�ϊ��bv���k�5��w� E�'��|��@�3ښ4A%�@+�~� � �؋��W�-Imp�Ӊ5�x��7���=l1��o������v�|-lI������=�>��L9+�"�� �ټ[�5��1����,��� |����1�m���,����:��׳0�}�`$�@uTVS�|�bV���.,�g�G����BJm��ua��|'�l�]�-1� _ܖ£�x���=f��'U�ʴ1����?�����owJf(�g�;Gd\_p��a�R�g,�xS}d���=�ǫ�\�3n7�8^ �=ϣ��,�^@I*��K����FO1���*i_[W�� sA�p��ʎ0�� �7��9����B_Zۙ)o����*.ke��0ѡ����D׃P'�3)���y�{�߿��+:��Q�j��{˭�4+�v������j�#��_k$tKg��:��e����ѡ�#�5Dm� ���:�A�8��ml0b���Q~��3��`��d�ŕ2GK@#M���/:� =�4:ߔm 7a�q��%ԳB��7��Ma��2�R�l�g�~6���_�H���p'�7�^t^����e�M#?8������I�ى&z%B�а{�5<N�*�� ��@�P���j3k���zohGb�����+i�à�����}���o��dzg\�+�}���هI�K��Q`�yf'�"���<��%W��Y�*��{� ����}V�Y0f��m}�n�)�G�5�a�d��A{`;��t���:��z��X�W-̚�DD�����1��p��9U=wP�![[���F횰l��M�E� �;�� e"�C�6�g�j�L���ح��m��]@*�N�& �&d�O �Pit���EGW���3P. 8�̪T�4� K�\�ȿ;H�����O��anĝc �S�R����qr�5���_�R$��b�E���sIb./�\���Řm���s��0HRp��,6���ϴUNe���2q��qs��`�T�����J����������c6�9�J5�l�#�0e�aӿ�1Gنc���+�fpFܓ��7C};�L=Dyh��z�qQ<�O=Lo֛�e� �XD��l�K�.,7Y:���f�mՓ�¡�\�"T�]����+ܬ,�P����Q��P%�����;C�,�c[c����gI�\�����@{Cn`X���I����a�_Uk�V�zC�1�bWx@��>E��ӝ,6v�^�?��矌�����ʯkg,�A�ˤ�5A�Wj�8A�Uu�p�;Q�� ���r�D�����WH1r �tދق��j�xm�.��KE�Ta��#/�9�=&(��O8 ݬ&cS?��&�� ��6�B�q��i�C��R��H���yi�c.�&����� � � �P��MT[�B��_lM!��� gh�,B����Z�9��y�s��!������(���:�C�9o2�s��͊7q��û�HT�Vݸ�6���>u�҉V�����ȋ� :C��(�R�aH*��r�VН �Ty|�x����ίA��.�.!�����K]t�Ƭ�h-w���XW;$�����w�.Y�&�J9����q,�+���*�kK�<�VX�K�t�U!��w��nnU3�!���w�l�h쑆;�n�*'��LٔI� ן�M�����l����Lܞ_*��P͓��Wкނgܿ�\>Jy �W�qS��ySn�p����(�R�⚲r�핲�֔�q%{yMY9)W��k�� ������+WM����-�GY�IOIahI���/"�tS�x�o�K���1>�!֕��K��ec15�I|Qp�.����A�,�L�n�×%��n2�>@�����r��݃�C���s��ۿvt,���s�[T�N���Fux���_����;��g��?PK�Wq��PK+ MLdist/lang/summernote-tr-TR.js�X�r�8�W`�*�Uw���^Lٱ��$Ӳ&S�$B"B�Ѐ���T~#��ֲ��MV�I��9�D�TeK��\�7�7v��J]�=�g����g�w+�d��A��\�B[q�x1y����۠�����X����P��ֻ�j�X�4���+9�d�}�"�+a�,��ʮ��O9�JF���@>��+IR!')L��q�6[~�J�)�Z�ω���?��XVZ#3aS��$h���.�n��t�rd䔎���N�ؖ�M�� �����;ౙ��Wy���e2� ),�Ã^_�2� �R��^=6�=/�R@�3d�U82��k���|� �o�+(�?�t0c���c�8K�+��M�V�oa�j�מ �3�,�*Ax#�2�S�ה=�qO�L�%��7�rA�ǧ�Y~yZ�.�/�ANEz�\�j��|Xp��psЎ�'�lޘ��O����]C�^8�g��˯��LƵ�=�h CPй��^�Y��J��Ⱦ4:)�(�v�K����9���y�]H�7<C:��%^�J�u2�Ҹ2FSlUc�i�#NQ��!�����)W�ƈ\?�c<L2��V����]`�U;%� �㒩�ޓ :�?��E6/c�2lS\�*��j[�65��3��{�n(���2����(-��?gHC5{��+3uhdn��藰���{�b��Ȃ�K��v�pE�`{ՉDR��LK�_�h��I2З��*>�«��z���D.2&[�\Y�2���ؑz*���[��_�H�G����PU�`|�g�O���kGUz��I��χ!�]� ެC�����[q���~�U�Q�����f{L���x�0��d��xC&���\WL/O��0��JQ��69t�-���8��ڊ��5]^=�]P���5� ��pDd���a��6t�H>��s��z�Ɔ�B�j;��ңXrK�c�q,9�%'��4��ƒ�Xr�IE%K�&P��ڠ1���L"���J2��F�u97�^U������G�T(r�=7�q����Q@<�9jx<0F:RP�]�ܲ�tW�)�A��bw�_.z�G�#gigA�c�4��r&���G�w0�)lģ��p���wI�e�$�vǭ��WZ9��u�K�2mW���iX��t$�wh�F��k���<�l��X�Z�!e��3�&����L�mu� ,� j@,�X"�-b<�c*��o��� �K���)��f��1�ԕ�ۋ1w�@�)im�� �g���Rۅe��9(�^\?��y�U�ϴMd�H�z� ��8h��&���b@�O�.p��&�����pWhYqal�����c�M�D�\�߅�my0��1�w[����V�SK�6��[{��pe�4�ElS\��N�!�4!(3��ı�0�3�B��b#�R�@ar[�^[\���f[0�'[�(���H�[FzH����H���*�{%i�� ��r�NHѥp7��ӆ�!�0�T��hw6�e�Yu�Hǧ/mXe}�چ�]Ce���6�_1��˺;nӠ�cC!�����s�f먐��\�[L3"�:庉�߅��mͽ�V5R��}�UE��S�I�2�O�-�F��~F��--���&�.�Z`����]������5�%?S<-,�k8>0^~�o�Yv�^z�+��N�G�<ڕ�x'�cP�Jy�� (Ov�<݉����R��DyʳR����=w��Ը�;ܧ|h�ۍ<�[ۥ�JO05?�B|��g~]*]������=�S��6�s�IC�d�¼�F/� 2�χS9#��"�_�j�����J���oW�۫~D~���s��C�Fc��k��O����?}���f��PKT�E}h�PK+ MLdist/lang/summernote-uk-UA.js�X[o��~�_1Y�\��8��$�Q�&�K�}����5�Qy��-�v6��X1�X7mQ���Yʼn��@��~�)�����|��̴b��Ɵ�2����RW��H�͙+�a���7����=�ߕ��[��\���^�j?*ޔ��yKՒ�d�|J_%Gɻd����d����A���F��6���t?��~$��~S��k"y A��)Ĝ��CrR��X�>$�� �K�*ݥG�!}�ҧX��ӽt_h�h��j�O�����0Pđ����A�;]�翹 �-�wKG����I;�.29��a#p{��6�#}�{E���p�JqO�O�E?��3<�wl�?�Q�k���ݐ��Q��Aɐ��. Lph�}y��&a��:�do�!;����¶�����c�z4f���&]�m��Z��)ҧ���d�~�e��� "� r�LṶ yZ�q�U��=��(%�>�0Ϧ��r���A�c<��a�D� Y�m�����=s��W�5p�Y�Bv��^3T?\��&-����QRb'o�:��d�%7@5�{%�ϰ�C2�T�щ�u�q9����b��]�s��$g�I�t�h��� nN{��pYl�kJ|��/� *ѽ��s��P]�s��Xmn���C��Ft70ݻ��CN��$���1��&��C�y�vc�[���]Q-�RT �S� C�[aQ�aCk�y^0��bsmu��P�k�3y����lŚ�m��C��e?k���mj#�#[�r���2�?�����5�X�9��Ma�q���L��YPHg�l⍸���ݮ6���⇑���d��P�T�Ρ�V<[qz�U�}��O���i�=�-���Q��%�馛!� ��߄�#����=�١@��v�toN�?o��l�M�Q�RI�"%.� �@^(�f�{@�q�9���W�����\�i�I��꧘��)G�g����B�=%H�D#r�iE8��� y���d��l���ź-��fSf[9�.�c�~�=�2���{�j�xYG!���⮯<� Y�<ʭ# �ڃmp�m`R��2!_���j�� 6�?r썊�:���c$�[�1C�#x�~�_I>F=�H��rH��Z�O���홰�GIp��2+Dr��{����#+�����l==�C��靫�B�B}�s�T]�4צ�\�4ק�\�47��ܐ4�i$���47+���0���}��������=�©覨N��S�Rp,0H��\���`z�%C:���@$��&D�Z��[�*P�P����8D�ԙ0�a����3����v�=����`��&��Mb�p�܄����B�����Se��p���ȑ|<��1�����b�c"� -tN��%��j��@L�6�B��A�\�l@�����>�iz��C���s���8kQ����8��w�l"�f���z�>��4���T�&д2���]N\7��i_l�kl�/9�@�Ds����Nc����s3����Y 0�Z�7�t�3 ?D6e&��b:ܰ%u�Q�=`�7�xF�.X? �p2�6;��Yj��\��؛N$�fJ7 ;&�1��h��a�j�3\�n< ��l��N� �� ���2�����&�:Q�m�>>2pYY�B%(��iYp���_B��I�~9�����4M#�"�붭�.�:u1`"���aw���C~�C��^*e��pwͶ�9n�J��)qU��z��� E4�x�PE�<'�0�t���/0���!��@B1MH���o�a�ú���wE����7C�}��� �o� ��R��t=Sp���\��d����p������ш�'�V��j�rw�cqNj��\b�sZF�sI�B%���Y%�y��O�� �aô�8��'EC�4��ݳs�W6Tx��H���&�pjj�!�W_Y 5F�X��Y@1��r���:���c<��⚒��"xc�3�Nu�R��[�z9Y�ɝ�^�$��k�K��y2�qI^9g����g�{�7��l6-�N�;\ ;�Z�i��A�K�A�Ex����]�3�y��mbZ�S�b]�U�D.��G����`�Ε��ɗ�����h0G�m��~�4��m�� �+M)����;K+��jiyqmqi��ں�eo�h3|֭ͤDՀH40�N�w���G������̷��:��PK��X ��PK@TLdist/lang/summernote-uz-UZ.js�W[oG~�W��)E��ǢT� �ڷ�zl/Y︳�Ѐ"%!(yi*J����"�/�&��aֿ��9���:��a�s�ܾ�c�4�@Ecg�Ń3B�='�Od�;{.N;�#��s��&�\�Zz����֦�B4U������1%j� �3��o�k�� /|����a��-�|�9O���aIyl�����U���OG����Җ��e�-ѥ$�O6}a؇�8��U>[u�hˠՆ�5�4ޙ�`C���9�|��p�Q���7��ĉfe��*m��εl������}��c_]6�+�[����e� b�-���]��W��]}�|p�݄]Nxk�K^��a]��ׂ,�?/�}P3��/��D���3l��y��m����V�>L�a����SUi�R��*\��&&?�HPҐ��d+d��2^�z3�t" &O����\��=��շ�ώu��*��"h ��>�� eq�w[�Q����<�����R��m�+o)�j8�'n�����y�BS�6���g�F�*��P)��Q�vکG^@E,�xf[Z�֪4��~��m�<jh�u��vUj���0�d\�6{M�Ie�4;^6�������cJ?�֪3�2�K^̐<K$@��'R���� 6��TS����B_ nߺ�&u<ֲ��VD[� l�6�ݠ!�ۤ���� )!�8pL�� ��x���� ����.ĝSG�Ua��YԔ��oT:���*�HE�E�q-����΄�4�}�h�{�:���1 AAL�7s�9!���9㨒�Ҩ�:����0U�fz�m�>�PJ��`�Ψ+A� �9*�:jj֧��Ь��ʄ[�g��Z���TWFע���A�P���߸K�N�!������*���E��5�U)��G ��*v�J��f!AW�a;ZGk1��8�+��?���1�v�k'E]7{���vW=T��w)�: ���w-լ��7�}����F f�:E�w%.TI����J���ȥJ�K��d�Ȥ+r�R��R�A��/�j����U;4*�,�`�S�ْc��{�o I�[���7Z]ե�/�Җ!Wq)'�u7�&�;RF�c���S�6"er��;n��!����1�k��<!I�%���u=�"�u���r�-id�:��-;U�4$m�5���t���WV�0M;n�A��[��co �=�i .�/�-ɛ�'���[���ۓyơ���@&'*��s*{w�8 �̋��zR�aد Ll���W�*����#�D�%�e��l�K",�"��l�)h��g[X�#^�^0���v٦�%��բ�����=�Z�-g���X&3��q��p�ij���m[r���옑�r�I��!+��\pD������vL�V:�S�Q4��-f��(9j3LEƿm����G����B<�tS�*f_��b�ԇ���/I��E���3�z�z�v[j��6x���V�[�T��&���. ��K;�`\��W6�ԍqh�s9G��r�Yf���h3�c�BHُ�m�o�A�J���"����H`��zN%�nn�q���9?���;7S���_PKP��U6PK+ MLdist/lang/summernote-vi-VN.js�X�o�6����!�l 5��!=��6b;�g�m�^8Gb-�ZJ��.r(��CQ49�P,�&�aw�kdw�K=��1��~��F���:@f���#�{�ޣ�f� K��ڕu��w��!�BEkW6�*˄Q�)W�U;�Xp,�{t�n��ʹ*�cS�F�Y��؛���,��u�?Y�T�n� Nd�����JE¤R >Z����_��_� S� .�߲7��`@��J������Y��k���h�I�Z�,L�W�FEi�(��8�,R1��êi��f�wo>�C,G>F~A�����˞�����5�t�`��'ο8�oA� a���)o{ݭ��]{��ws;<�an+nJAο��+�R��=1� '�~-�1|�JS��#ga�M\<\����@�<�炃�^��"�8Ԕ1�lc�f��;�ō�A�t07^EM�*�*.�3�zK�*�1����CD�ǻ�ah� �!��5��"�T�����s��m�sf#δa�HX�T��]���2�#$�7����?�<p�ˬ�ȱ˱}'a3����w��� �C!� O�2万�{�̈L�>��\K�I�~�3X�c �g|#ф����Iu���H�7�Vq�;1����hZݐ��>�դ����̄�/���*J�]e�ȝ�}Mt�?gP8������&��5�;Պ�t0o�R��GD+�"����3��%�h��e���z��ϊM�9q$%�k�B�s�vՁ8��T�>�:�����u�Y���2Kګ!-���aw�F.�>��(:�'[S�=[QČ>a�ƞ}��H�-jJ�>j�ӆ���KAXXKO ���H�� ��M,Y�-�Y��ͺ����C���� M\��S�t�����FܣȢ��Զm�B̩���4���+T~��<�T\���B�����l�#?,�5��\�Μ\'�u_r�$7|�M���%�$��%�Hrkp�T%�h�Ji�{kk�\�UɎ�Y�A�E���[�Bd�m��߉W�=�Q�t�{{&"%�N�b��Ų>ϽMf��h�P�s��#����B��X J�OD�<�z�r�cx���;�'Ft�%�[XWe$�Q�q��Yhc%wz�g�9X�n�Z�C������+���eju^��9Ym��Ǖ��ԝ��Zp�0�3��( �����<<���)�"��~�4�z�z�J�U�;J��آZ̟��Q�r���>��h�i�43��V"��g9}�*����R�~t06�h�Q �:t`�hS�4:�2*uh��2�+�a�G�/=Ra��M��R�����u���Gn���$���Gf��gio�H�U����w�,r�~O��Y��ov�� �܅�\8~�^?���ʡF�u��a�C I� �ߢ���D��2�"ϠLe����(�-��/P�F����)�Eɸ}�1[|m�.�Pn<�Q�mht)�{�N�'j�����Fx�)X>0�!*���DLO�ؿ�AYfj���� �}@����V(=�Z$����a[��P�Ha��M��V1*c�����*يVS�: ����3��ae����R��!�'�]K���J�e��'�Q�J"�[��᳠���x��-�]{��.���;��K���+�F��%u��սqI]�Wiuo^R��jZ��K�O�{뒺�|?�,����ņ����6��P� fhƣzklK��xe℔����&��\����O�C��տ�JY3�<k�V��"!l@��jO���n������hr�p�ý��x��fc�"�cdr���+v�'�|���;O��>�����PK��:1PK+ MLdist/lang/summernote-zh-CN.js�X[OG~ϯ؇T����C�DM�4���������;�B*$���%�� ����CJ�ՆS�z�_��욝������s�s�3�6nK�Z�P��v�]��$]�D�%�.v�f&��� ԩ�Z���%)�0�e�V�U��X3�o��j�i��T�=�t�R�O1dU��Z,9��@DU4��c:5�88$�*� ��;/�V�J���FJ* .D��O��G�3L'�hqE7�2��4�f*�S%P4��1=N�,SNY�IA�nf�3-l�g�v#^ƛ�P2r �,�^d\B��:jL�fMG�9`�i�m�O��zMUL���Z8�'��˗.}!8�d5@u��k��@,־�+]����ec%�W�J���Йu��zw�0���1�0�rZX�v�B=-g� f���V3;7$Z����sUdI֊N���&+,XMmp���Vp�7Ϫ�T "��٥�!nM�wc=^�����2-��Y.�{�J<$L�a�8�#ō^�3���t��g�⟴�Uߛ�WE?2�%cr�r��d�p����V�*�؇\U��"q��+K�w�t��D���ς�Ix�x��Gt%'0 ��,��C��P�b��Mfn{C�q_I ,�G��k��`�3mԹL�5�V���OH�{�:M�`f��+h�W���n�d���f�ԯ醜"r�Cꁌ��.�!��MÌ���t{�h��W�����M͓��,�!>J(�:�E�h.�5 ݆q��gUy`��Q�|y9&�� �+ �"�_��F�W�-��n-n5�X��7��sZͅ�o�1V���=��u��m9�ģ�17�� ��QIf�C����h�b�{Ūװ(�U3�I*���ٴ�iZ&� ���{�N �<���\�X0�ơ��G!�4T�)?��>�m6�Z��n���"Vi78.���_V��o�_1�G~4aسˬ�h,�=˻\��M��HJ_f�J���tY�_��WD�U�~U�_���Dz�O���}��P$TE7�f��&P�|�@�:�I'h�i�d�eUP�F*(݃!�^И��B����Gqe���� �G�3/��ֲ2�"gaC�##V�o�YM0 �'��6���5��>~%�\=���t�⳪`һ���S{&��A�o�c�����Ba���J�u��^��a����M#��1� ��>���y��<1�W�h9��r|$˝���'��M�$I�:���A�AdM�(���\�Z��ud�b>;�O�� ��zQR6U�8\�+�P�iL�� ?MF�t�Yu�U����o;K�Q��{1�Ȇ�h)J��CK�̟L��z�V4�d\P Ͻ����ݐێ���oB=�"�7h��Y]��E��4;QkJ�����w���V�P)�������BpG�t��HLh��𧗅�y�ӫ����n[���8�J�������Q��9"?S��{$P�ͷ�$�7�]�'@�fޟޗ]�m�}7�b������m����cW��x��4kuyZ�ws��w ���+�Ǧ�g��'���ق�$���KP���s ���d�lW�a� ��}��u��w�����������>���E�π[�{YũN藣����zk�澽�b��wHBL`>���|���]�Y�i�{��,@�ݹ����}݃��ᛃC©��x>�߁Ґ�Q��J���9�����_]oo�w�Dd>�PK�&c���PK+ MLdist/lang/summernote-zh-TW.js�X_S�ϧ�SUĊ�<qA�r�,+Uy���ݝ8;��gF����JB!�H*W�DĐ�j@�DAE�a.=��-rN��N�F|pg����>s�t�W ܢo3��X?��G�;N��k�;��*�.��q�t�RO�q����e�l�JH��~�FH�9�YbD�V�'��0��پ��EЄ͵nM�Z�;�KA)^-G{?i��CM����xu3� �4u��� �7�7�'w4�kV����ux>��P��YP�����p�S/(xEn����~#l�j���F��^�Q�����u#��4v�,�c��E ���47��Q��~����z��|�8������o�s�'>��c͈��NI��w��L�Su�99�+9���i �|_�>��e͟�L$�1K���|���^j�/n� ^Ŭ� ����$�<���D�����G͝� �����Ղk���l3ZƸ��ӵ%^��74����~�Qʥӝ9�i�F3��� ��l��A�8�I 8�g"��0N���4�uh�?�Y���P��^��{�h�pA|��a��7v5��I�qas����P�,�ku|���q�s&K��_̊�W���j�����<�^<?�5%�Uv�=| ��V���h�B��E�^����kC*�m� �H*�/�����O��d7R��M�3t����dz{d�|�����L����9@�d�h�5ߟ�t5XcV����js��M�BLNO-�2�k���>�����c�,�xm��|[+Z�TH;V��9��l�������N��f�x%n6�r��f+3�"�n݂V��6-k�MT Y�l����C��:r)���ݨa�$� AE�U�8кr��Yi8�ϊ��k��@}�W��-x˴�Y7`J�!5 ��˕ Tc�,w�/wq>��ϟ�n"0��/�S��;ܯ�o������0��c,G�[b�.64LM����{у���r�0�⍛�ƫ���'u��L~J����u�`&��g2��\`��t�`.�P�r��g���p��m�b�"Z]O�1g5,�.��`|��'b�f��� ����m��=/��Pd�jSYK����D8��� ��58�d�фF������/�#���P��-}jB'�������j|�����E��c���rzY=�x�]�.�8$��8C�tʶ�):F�֊�7���ϴ]W�L���bS??��2��\<H����>�X%`u�b~�[�s� ��q\_ ��������/*C9��nmiT���LKf�H��;�Nj���U�� �H�2N��'��^��\�]t��%����yM�c�<�U�m�5rgjS^ �zc��͚f��w�fd��X�T!t��M�78��`�(n����v�E��o��zSB�YC�ȋi���Ā �f���s7\\ b.�/��_��1=�C�j���M:��N������(tx�@�&�K�A[^��0I}b���m[g��R�R�y����)�vDyt��'ct��,u�S�I�psa�E'��c75��������K�ò��P�U��S:���^(ވR$��<P�ͥt&�ô@�+�J:�����x�$�a%�#�I�1ڿ��2a.)� ��S�l������hbPӘ�H��m�v\�)���=Q����u��]$p����+�艣���� �����H�����O)���� #����BR�#r��R�4 �k�ә�v��?Q�-�x�M����,�F�$��q���7O�e�a�f��!P��G�ֺf���M#��b�F��ȵ�!�%6&/�'ãCC�S�&&5/ꮋK��^2�,�"��w�������>�����3�PK� s`�PK-ETLc��Y�� ��dist/summernote-bs4.jsPK-STLCE�t�[� ����dist/summernote-bs4.min.jsPK-FTL�l�| nT ��ѐdist/summernote-lite.jsPK-DTL5�ި�J ����dist/summernote.jsPK-STLOƔ��U� ��dist/summernote.min.jsPK-TTL�~�FE ���.dist/summernote-bs4.cssPK-TTLR^s�#k ��:>dist/summernote-lite.cssPK-TTL�P�W=ME ��Vdist/summernote.cssPK-�ML��D��z# ���edist/font/summernote.eotPK-�MLSԫA��" ���|dist/font/summernote.ttfPK-�ML�`Ƽ7=L= ����dist/font/summernote.woffPK-+ ML=��e� ) 1 ��dist/plugin/databasic/summernote-ext-databasic.jsPK-+ ML�֙�� ) ���dist/plugin/hello/summernote-ext-hello.jsPK-+ ML�.G���(7 ����dist/plugin/specialchars/summernote-ext-specialchars.jsPK-+ MLme���2 큗�dist/plugin/databasic/summernote-ext-databasic.cssPK-+ ML�hy�j ����dist/lang/summernote-ar-AR.jsPK-+ ML��E/m� ����dist/lang/summernote-bg-BG.jsPK-+ MLnQ��Qj ��Y�dist/lang/summernote-ca-ES.jsPK-+ ML)�z� ���dist/lang/summernote-cs-CZ.jsPK-+ MLD��{ ��Ydist/lang/summernote-da-DK.jsPK-@TL�A{�B� ���dist/lang/summernote-de-DE.jsPK-+ ML�l� � ��8dist/lang/summernote-el-GR.jsPK-+ ML\R��U� ���&dist/lang/summernote-es-ES.jsPK-+ ML������ ��>.dist/lang/summernote-es-EU.jsPK-+ ML�jM� ��x5dist/lang/summernote-fa-IR.jsPK-+ ML^#��F ���=dist/lang/summernote-fi-FI.jsPK-+ MLp��^ �� Edist/lang/summernote-fr-FR.jsPK-+ ML���I58 ��Mdist/lang/summernote-gl-ES.jsPK-+ ML�e �P� ���Tdist/lang/summernote-he-IL.jsPK-+ ML�[�Y ��"\dist/lang/summernote-hr-HR.jsPK-+ ML��y�rh ��{cdist/lang/summernote-hu-HU.jsPK-+ ML^�>�� ��8kdist/lang/summernote-id-ID.jsPK-+ ML"�ɬ6 ��Lrdist/lang/summernote-it-IT.jsPK-+ ML����� ���ydist/lang/summernote-ja-JP.jsPK-+ ML|��F� ���dist/lang/summernote-ko-KR.jsPK-+ ML*�Cv�� ����dist/lang/summernote-lt-LT.jsPK-+ ML�N�S ����dist/lang/summernote-lt-LV.jsPK-+ ML�L��I ��ݙdist/lang/summernote-mn-MN.jsPK-+ MLw �? ����dist/lang/summernote-nb-NO.jsPK-+ MLe��� ���dist/lang/summernote-nl-NL.jsPK-@TLA��cQ ��%�dist/lang/summernote-pl-PL.jsPK-+ ML�$� ����dist/lang/summernote-pt-BR.jsPK-+ ML�#t=� ��0�dist/lang/summernote-pt-PT.jsPK-+ MLE�w�O� ����dist/lang/summernote-ro-RO.jsPK-+ ML�*�uH � ��#�dist/lang/summernote-ru-RU.jsPK-+ ML�v��Z� ����dist/lang/summernote-sk-SK.jsPK-+ ML�պ�� ��[�dist/lang/summernote-sl-SI.jsPK-+ ML��c# ����dist/lang/summernote-sr-RS-Latin.jsPK-+ ML~jP; ��4�dist/lang/summernote-sr-RS.jsPK-+ ML6�ERy ���dist/lang/summernote-sv-SE.jsPK-+ MLXq�d� ���dist/lang/summernote-ta-IN.jsPK-+ ML�Wq�� ���dist/lang/summernote-th-TH.jsPK-+ MLT�E}h� �� dist/lang/summernote-tr-TR.jsPK-+ ML��X �� ���dist/lang/summernote-uk-UA.jsPK-@TLP��U6 ���!dist/lang/summernote-uz-UZ.jsPK-+ ML��:1 ��V(dist/lang/summernote-vi-VN.jsPK-+ ML�&c��� ���/dist/lang/summernote-zh-CN.jsPK-+ ML� s`� ��7dist/lang/summernote-zh-TW.jsPK::�>PK�{�\��=h�h�summernote.js.mapnu�[���{"version":3,"file":"summernote.js","sources":["../src/js/base/renderer.js","../src/js/bs3/ui.js","../src/js/base/core/func.js","../src/js/base/core/lists.js","../src/js/base/core/env.js","../src/js/base/core/dom.js","../src/js/base/summernote-en-US.js","../src/js/base/core/key.js","../src/js/base/core/range.js","../src/js/base/core/async.js","../src/js/base/editing/History.js","../src/js/base/editing/Style.js","../src/js/base/editing/Bullet.js","../src/js/base/editing/Typing.js","../src/js/base/editing/Table.js","../src/js/base/module/Editor.js","../src/js/base/module/Clipboard.js","../src/js/base/module/Dropzone.js","../src/js/base/module/Codeview.js","../src/js/base/module/Statusbar.js","../src/js/base/module/Fullscreen.js","../src/js/base/module/Handle.js","../src/js/base/module/AutoLink.js","../src/js/base/module/AutoSync.js","../src/js/base/module/Placeholder.js","../src/js/base/module/Buttons.js","../src/js/base/module/Toolbar.js","../src/js/base/module/LinkDialog.js","../src/js/base/module/LinkPopover.js","../src/js/base/module/ImageDialog.js","../src/js/base/module/ImagePopover.js","../src/js/base/module/TablePopover.js","../src/js/base/module/VideoDialog.js","../src/js/base/module/HelpDialog.js","../src/js/base/module/AirPopover.js","../src/js/base/module/HintPopover.js","../src/js/base/Context.js","../src/js/summernote.js","../src/js/bs3/settings.js"],"sourcesContent":["import $ from 'jquery';\n\nclass Renderer {\n constructor(markup, children, options, callback) {\n this.markup = markup;\n this.children = children;\n this.options = options;\n this.callback = callback;\n }\n\n render($parent) {\n const $node = $(this.markup);\n\n if (this.options && this.options.contents) {\n $node.html(this.options.contents);\n }\n\n if (this.options && this.options.className) {\n $node.addClass(this.options.className);\n }\n\n if (this.options && this.options.data) {\n $.each(this.options.data, (k, v) => {\n $node.attr('data-' + k, v);\n });\n }\n\n if (this.options && this.options.click) {\n $node.on('click', this.options.click);\n }\n\n if (this.children) {\n const $container = $node.find('.note-children-container');\n this.children.forEach((child) => {\n child.render($container.length ? $container : $node);\n });\n }\n\n if (this.callback) {\n this.callback($node, this.options);\n }\n\n if (this.options && this.options.callback) {\n this.options.callback($node);\n }\n\n if ($parent) {\n $parent.append($node);\n }\n\n return $node;\n }\n}\n\nexport default {\n create: (markup, callback) => {\n return () => {\n const options = typeof arguments[1] === 'object' ? arguments[1] : arguments[0];\n let children = $.isArray(arguments[0]) ? arguments[0] : [];\n if (options && options.children) {\n children = options.children;\n }\n return new Renderer(markup, children, options, callback);\n };\n }\n};\n","import $ from 'jquery';\nimport renderer from '../base/renderer';\n\nconst editor = renderer.create('<div class=\"note-editor note-frame panel\"/>');\nconst toolbar = renderer.create('<div class=\"note-toolbar-wrapper panel-default\"><div class=\"note-toolbar panel-heading\" role=\"toolbar\"></div></div>');\nconst editingArea = renderer.create('<div class=\"note-editing-area\"/>');\nconst codable = renderer.create('<textarea class=\"note-codable\" role=\"textbox\" aria-multiline=\"true\"/>');\nconst editable = renderer.create('<div class=\"note-editable\" contentEditable=\"true\" role=\"textbox\" aria-multiline=\"true\"/>');\nconst statusbar = renderer.create([\n '<output class=\"note-status-output\" aria-live=\"polite\"/>',\n '<div class=\"note-statusbar\" role=\"status\">',\n ' <div class=\"note-resizebar\" role=\"seperator\" aria-orientation=\"horizontal\" aria-label=\"Resize\">',\n ' <div class=\"note-icon-bar\"/>',\n ' <div class=\"note-icon-bar\"/>',\n ' <div class=\"note-icon-bar\"/>',\n ' </div>',\n '</div>'\n].join(''));\n\nconst airEditor = renderer.create('<div class=\"note-editor\"/>');\nconst airEditable = renderer.create([\n ' <output class=\"note-status-output\" aria-live=\"polite\"/>',\n '<div class=\"note-editable\" contentEditable=\"true\" role=\"textbox\" aria-multiline=\"true\"/>'\n].join(''));\n\nconst buttonGroup = renderer.create('<div class=\"note-btn-group btn-group\">');\n\nconst dropdown = renderer.create('<ul class=\"dropdown-menu\" role=\"list\">', function($node, options) {\n const markup = $.isArray(options.items) ? options.items.map(function(item) {\n const value = (typeof item === 'string') ? item : (item.value || '');\n const content = options.template ? options.template(item) : item;\n const option = (typeof item === 'object') ? item.option : undefined;\n\n const dataValue = 'data-value=\"' + value + '\"';\n const dataOption = (option !== undefined) ? ' data-option=\"' + option + '\"' : '';\n return '<li role=\"listitem\" aria-label=\"' + item + '\"><a href=\"#\" ' + (dataValue + dataOption) + '>' + content + '</a></li>';\n }).join('') : options.items;\n\n $node.html(markup).attr({'aria-label': options.title});\n});\n\nconst dropdownButtonContents = function(contents, options) {\n return contents + ' ' + icon(options.icons.caret, 'span');\n};\n\nconst dropdownCheck = renderer.create('<ul class=\"dropdown-menu note-check\" role=\"list\">', function($node, options) {\n const markup = $.isArray(options.items) ? options.items.map(function(item) {\n const value = (typeof item === 'string') ? item : (item.value || '');\n const content = options.template ? options.template(item) : item;\n return '<li role=\"listitem\" aria-label=\"' + item + '\"><a href=\"#\" data-value=\"' + value + '\">' + icon(options.checkClassName) + ' ' + content + '</a></li>';\n }).join('') : options.items;\n $node.html(markup).attr({'aria-label': options.title});\n});\n\nconst palette = renderer.create('<div class=\"note-color-palette\"/>', function($node, options) {\n const contents = [];\n for (let row = 0, rowSize = options.colors.length; row < rowSize; row++) {\n const eventName = options.eventName;\n const colors = options.colors[row];\n const colorsName = options.colorsName[row];\n const buttons = [];\n for (let col = 0, colSize = colors.length; col < colSize; col++) {\n const color = colors[col];\n const colorName = colorsName[col];\n buttons.push([\n '<button type=\"button\" class=\"note-color-btn\"',\n 'style=\"background-color:', color, '\" ',\n 'data-event=\"', eventName, '\" ',\n 'data-value=\"', color, '\" ',\n 'title=\"', colorName, '\" ',\n 'aria-label=\"', colorName, '\" ',\n 'data-toggle=\"button\" tabindex=\"-1\"></button>'\n ].join(''));\n }\n contents.push('<div class=\"note-color-row\">' + buttons.join('') + '</div>');\n }\n $node.html(contents.join(''));\n\n if (options.tooltip) {\n $node.find('.note-color-btn').tooltip({\n container: options.container,\n trigger: 'hover',\n placement: 'bottom'\n });\n }\n});\n\nconst dialog = renderer.create('<div class=\"modal\" aria-hidden=\"false\" tabindex=\"-1\" role=\"dialog\"/>', function($node, options) {\n if (options.fade) {\n $node.addClass('fade');\n }\n $node.attr({\n 'aria-label': options.title\n });\n $node.html([\n '<div class=\"modal-dialog\">',\n ' <div class=\"modal-content\">',\n (options.title\n ? ' <div class=\"modal-header\">' +\n ' <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\" aria-hidden=\"true\">×</button>' +\n ' <h4 class=\"modal-title\">' + options.title + '</h4>' +\n ' </div>' : ''\n ),\n ' <div class=\"modal-body\">' + options.body + '</div>',\n (options.footer\n ? ' <div class=\"modal-footer\">' + options.footer + '</div>' : ''\n ),\n ' </div>',\n '</div>'\n ].join(''));\n});\n\nconst popover = renderer.create([\n '<div class=\"note-popover popover in\">',\n ' <div class=\"arrow\"/>',\n ' <div class=\"popover-content note-children-container\"/>',\n '</div>'\n].join(''), function($node, options) {\n const direction = typeof options.direction !== 'undefined' ? options.direction : 'bottom';\n\n $node.addClass(direction);\n\n if (options.hideArrow) {\n $node.find('.arrow').hide();\n }\n});\n\nconst checkbox = renderer.create('<div class=\"checkbox\"></div>', function($node, options) {\n $node.html([\n ' <label' + (options.id ? ' for=\"' + options.id + '\"' : '') + '>',\n ' <input role=\"checkbox\" type=\"checkbox\"' + (options.id ? ' id=\"' + options.id + '\"' : ''),\n (options.checked ? ' checked' : ''),\n ' aria-checked=\"' + (options.checked ? 'true' : 'false') + '\"/>',\n (options.text ? options.text : ''),\n '</label>'\n ].join(''));\n});\n\nconst icon = function(iconClassName, tagName) {\n tagName = tagName || 'i';\n return '<' + tagName + ' class=\"' + iconClassName + '\"/>';\n};\nconst ui = {\n editor: editor,\n toolbar: toolbar,\n editingArea: editingArea,\n codable: codable,\n editable: editable,\n statusbar: statusbar,\n airEditor: airEditor,\n airEditable: airEditable,\n buttonGroup: buttonGroup,\n dropdown: dropdown,\n dropdownButtonContents: dropdownButtonContents,\n dropdownCheck: dropdownCheck,\n palette: palette,\n dialog: dialog,\n popover: popover,\n checkbox: checkbox,\n icon: icon,\n options: {},\n\n button: function($node, options) {\n return renderer.create('<button type=\"button\" class=\"note-btn btn btn-default btn-sm\" role=\"button\" tabindex=\"-1\">', function($node, options) {\n if (options && options.tooltip) {\n $node.attr({\n title: options.tooltip,\n 'aria-label': options.tooltip\n }).tooltip({\n container: options.container,\n trigger: 'hover',\n placement: 'bottom'\n });\n }\n })($node, options);\n },\n\n toggleBtn: function($btn, isEnable) {\n $btn.toggleClass('disabled', !isEnable);\n $btn.attr('disabled', !isEnable);\n },\n\n toggleBtnActive: function($btn, isActive) {\n $btn.toggleClass('active', isActive);\n },\n\n onDialogShown: function($dialog, handler) {\n $dialog.one('shown.bs.modal', handler);\n },\n\n onDialogHidden: function($dialog, handler) {\n $dialog.one('hidden.bs.modal', handler);\n },\n\n showDialog: function($dialog) {\n $dialog.modal('show');\n },\n\n hideDialog: function($dialog) {\n $dialog.modal('hide');\n },\n\n createLayout: function($note, options) {\n const $editor = (options.airMode ? ui.airEditor([\n ui.editingArea([\n ui.airEditable()\n ])\n ]) : ui.editor([\n ui.toolbar(),\n ui.editingArea([\n ui.codable(),\n ui.editable()\n ]),\n ui.statusbar()\n ])).render();\n\n $editor.insertAfter($note);\n\n return {\n note: $note,\n editor: $editor,\n toolbar: $editor.find('.note-toolbar'),\n editingArea: $editor.find('.note-editing-area'),\n editable: $editor.find('.note-editable'),\n codable: $editor.find('.note-codable'),\n statusbar: $editor.find('.note-statusbar')\n };\n },\n\n removeLayout: function($note, layoutInfo) {\n $note.html(layoutInfo.editable.html());\n layoutInfo.editor.remove();\n $note.show();\n }\n};\n\nexport default ui;\n","/**\n * @class core.func\n *\n * func utils (for high-order func's arg)\n *\n * @singleton\n * @alternateClassName func\n */\nfunction eq(itemA) {\n return function(itemB) {\n return itemA === itemB;\n };\n}\n\nfunction eq2(itemA, itemB) {\n return itemA === itemB;\n}\n\nfunction peq2(propName) {\n return function(itemA, itemB) {\n return itemA[propName] === itemB[propName];\n };\n}\n\nfunction ok() {\n return true;\n}\n\nfunction fail() {\n return false;\n}\n\nfunction not(f) {\n return () => {\n return !f.apply(f, arguments);\n };\n}\n\nfunction and(fA, fB) {\n return function(item) {\n return fA(item) && fB(item);\n };\n}\n\nfunction self(a) {\n return a;\n}\n\nfunction invoke(obj, method) {\n return () => {\n return obj[method].apply(obj, arguments);\n };\n}\n\nlet idCounter = 0;\n\n/**\n * generate a globally-unique id\n *\n * @param {String} [prefix]\n */\nfunction uniqueId(prefix) {\n const id = ++idCounter + '';\n return prefix ? prefix + id : id;\n}\n\n/**\n * returns bnd (bounds) from rect\n *\n * - IE Compatibility Issue: http://goo.gl/sRLOAo\n * - Scroll Issue: http://goo.gl/sNjUc\n *\n * @param {Rect} rect\n * @return {Object} bounds\n * @return {Number} bounds.top\n * @return {Number} bounds.left\n * @return {Number} bounds.width\n * @return {Number} bounds.height\n */\nfunction rect2bnd(rect) {\n const $document = $(document);\n return {\n top: rect.top + $document.scrollTop(),\n left: rect.left + $document.scrollLeft(),\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n}\n\n/**\n * returns a copy of the object where the keys have become the values and the values the keys.\n * @param {Object} obj\n * @return {Object}\n */\nfunction invertObject(obj) {\n const inverted = {};\n for (const key in obj) {\n if (obj.hasOwnProperty(key)) {\n inverted[obj[key]] = key;\n }\n }\n return inverted;\n}\n\n/**\n * @param {String} namespace\n * @param {String} [prefix]\n * @return {String}\n */\nfunction namespaceToCamel(namespace, prefix) {\n prefix = prefix || '';\n return prefix + namespace.split('.').map(function(name) {\n return name.substring(0, 1).toUpperCase() + name.substring(1);\n }).join('');\n}\n\n/**\n * Returns a function, that, as long as it continues to be invoked, will not\n * be triggered. The function will be called after it stops being called for\n * N milliseconds. If `immediate` is passed, trigger the function on the\n * leading edge, instead of the trailing.\n * @param {Function} func\n * @param {Number} wait\n * @param {Boolean} immediate\n * @return {Function}\n */\nfunction debounce(func, wait, immediate) {\n let timeout;\n return () => {\n const context = this;\n const args = arguments;\n const later = () => {\n timeout = null;\n if (!immediate) {\n func.apply(context, args);\n }\n };\n const callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) {\n func.apply(context, args);\n }\n };\n}\n\nexport default {\n eq,\n eq2,\n peq2,\n ok,\n fail,\n self,\n not,\n and,\n invoke,\n uniqueId,\n rect2bnd,\n invertObject,\n namespaceToCamel,\n debounce\n};\n","import $ from 'jquery';\nimport func from './func';\n\n/**\n * returns the first item of an array.\n *\n * @param {Array} array\n */\nfunction head(array) {\n return array[0];\n}\n\n/**\n * returns the last item of an array.\n *\n * @param {Array} array\n */\nfunction last(array) {\n return array[array.length - 1];\n}\n\n/**\n * returns everything but the last entry of the array.\n *\n * @param {Array} array\n */\nfunction initial(array) {\n return array.slice(0, array.length - 1);\n}\n\n/**\n * returns the rest of the items in an array.\n *\n * @param {Array} array\n */\nfunction tail(array) {\n return array.slice(1);\n}\n\n/**\n * returns item of array\n */\nfunction find(array, pred) {\n for (let idx = 0, len = array.length; idx < len; idx++) {\n const item = array[idx];\n if (pred(item)) {\n return item;\n }\n }\n}\n\n/**\n * returns true if all of the values in the array pass the predicate truth test.\n */\nfunction all(array, pred) {\n for (let idx = 0, len = array.length; idx < len; idx++) {\n if (!pred(array[idx])) {\n return false;\n }\n }\n return true;\n}\n\n/**\n * returns index of item\n */\nfunction indexOf(array, item) {\n return $.inArray(item, array);\n}\n\n/**\n * returns true if the value is present in the list.\n */\nfunction contains(array, item) {\n return indexOf(array, item) !== -1;\n}\n\n/**\n * get sum from a list\n *\n * @param {Array} array - array\n * @param {Function} fn - iterator\n */\nfunction sum(array, fn) {\n fn = fn || func.self;\n return array.reduce(function(memo, v) {\n return memo + fn(v);\n }, 0);\n}\n\n/**\n * returns a copy of the collection with array type.\n * @param {Collection} collection - collection eg) node.childNodes, ...\n */\nfunction from(collection) {\n const result = [];\n const length = collection.length;\n let idx = -1;\n while (++idx < length) {\n result[idx] = collection[idx];\n }\n return result;\n}\n\n/**\n * returns whether list is empty or not\n */\nfunction isEmpty(array) {\n return !array || !array.length;\n}\n\n/**\n * cluster elements by predicate function.\n *\n * @param {Array} array - array\n * @param {Function} fn - predicate function for cluster rule\n * @param {Array[]}\n */\nfunction clusterBy(array, fn) {\n if (!array.length) { return []; }\n const aTail = tail(array);\n return aTail.reduce(function(memo, v) {\n const aLast = last(memo);\n if (fn(last(aLast), v)) {\n aLast[aLast.length] = v;\n } else {\n memo[memo.length] = [v];\n }\n return memo;\n }, [[head(array)]]);\n}\n\n/**\n * returns a copy of the array with all false values removed\n *\n * @param {Array} array - array\n * @param {Function} fn - predicate function for cluster rule\n */\nfunction compact(array) {\n const aResult = [];\n for (let idx = 0, len = array.length; idx < len; idx++) {\n if (array[idx]) { aResult.push(array[idx]); }\n }\n return aResult;\n}\n\n/**\n * produces a duplicate-free version of the array\n *\n * @param {Array} array\n */\nfunction unique(array) {\n const results = [];\n\n for (let idx = 0, len = array.length; idx < len; idx++) {\n if (!contains(results, array[idx])) {\n results.push(array[idx]);\n }\n }\n\n return results;\n}\n\n/**\n * returns next item.\n * @param {Array} array\n */\nfunction next(array, item) {\n const idx = indexOf(array, item);\n if (idx === -1) { return null; }\n\n return array[idx + 1];\n}\n\n/**\n * returns prev item.\n * @param {Array} array\n */\nfunction prev(array, item) {\n const idx = indexOf(array, item);\n if (idx === -1) { return null; }\n\n return array[idx - 1];\n}\n\n/**\n * @class core.list\n *\n * list utils\n *\n * @singleton\n * @alternateClassName list\n */\nexport default {\n head,\n last,\n initial,\n tail,\n prev,\n next,\n find,\n contains,\n all,\n sum,\n from,\n isEmpty,\n clusterBy,\n compact,\n unique\n};\n","import $ from 'jquery';\nconst isSupportAmd = typeof define === 'function' && define.amd; // eslint-disable-line\n\n/**\n * returns whether font is installed or not.\n *\n * @param {String} fontName\n * @return {Boolean}\n */\nfunction isFontInstalled(fontName) {\n const testFontName = fontName === 'Comic Sans MS' ? 'Courier New' : 'Comic Sans MS';\n const $tester = $('<div>').css({\n position: 'absolute',\n left: '-9999px',\n top: '-9999px',\n fontSize: '200px'\n }).text('mmmmmmmmmwwwwwww').appendTo(document.body);\n\n const originalWidth = $tester.css('fontFamily', testFontName).width();\n const width = $tester.css('fontFamily', fontName + ',' + testFontName).width();\n\n $tester.remove();\n\n return originalWidth !== width;\n}\n\nconst userAgent = navigator.userAgent;\nconst isMSIE = /MSIE|Trident/i.test(userAgent);\nlet browserVersion;\nif (isMSIE) {\n let matches = /MSIE (\\d+[.]\\d+)/.exec(userAgent);\n if (matches) {\n browserVersion = parseFloat(matches[1]);\n }\n matches = /Trident\\/.*rv:([0-9]{1,}[.0-9]{0,})/.exec(userAgent);\n if (matches) {\n browserVersion = parseFloat(matches[1]);\n }\n}\n\nconst isEdge = /Edge\\/\\d+/.test(userAgent);\n\nlet hasCodeMirror = !!window.CodeMirror;\nif (!hasCodeMirror && isSupportAmd) {\n // Webpack\n if (typeof __webpack_require__ === 'function') { // eslint-disable-line\n try {\n // If CodeMirror can't be resolved, `require.resolve` will throw an\n // exception and `hasCodeMirror` won't be set to `true`.\n require.resolve('codemirror');\n hasCodeMirror = true;\n } catch (e) {\n // do nothing\n }\n } else if (typeof require !== 'undefined') {\n // Browserify\n if (typeof require.resolve !== 'undefined') {\n try {\n // If CodeMirror can't be resolved, `require.resolve` will throw an\n // exception and `hasCodeMirror` won't be set to `true`.\n require.resolve('codemirror');\n hasCodeMirror = true;\n } catch (e) {\n // do nothing\n }\n // Almond/Require\n } else if (typeof require.specified !== 'undefined') {\n hasCodeMirror = require.specified('codemirror');\n }\n }\n}\n\nconst isSupportTouch =\n (('ontouchstart' in window) ||\n (navigator.MaxTouchPoints > 0) ||\n (navigator.msMaxTouchPoints > 0));\n\n// [workaround] IE doesn't have input events for contentEditable\n// - see: https://goo.gl/4bfIvA\nconst inputEventName = (isMSIE || isEdge) ? 'DOMCharacterDataModified DOMSubtreeModified DOMNodeInserted' : 'input';\n\n/**\n * @class core.env\n *\n * Object which check platform and agent\n *\n * @singleton\n * @alternateClassName env\n */\nexport default {\n isMac: navigator.appVersion.indexOf('Mac') > -1,\n isMSIE,\n isEdge,\n isFF: !isEdge && /firefox/i.test(userAgent),\n isPhantom: /PhantomJS/i.test(userAgent),\n isWebkit: !isEdge && /webkit/i.test(userAgent),\n isChrome: !isEdge && /chrome/i.test(userAgent),\n isSafari: !isEdge && /safari/i.test(userAgent),\n browserVersion,\n jqueryVersion: parseFloat($.fn.jquery),\n isSupportAmd,\n isSupportTouch,\n hasCodeMirror,\n isFontInstalled,\n isW3CRangeSupport: !!document.createRange,\n inputEventName\n};\n","import $ from 'jquery';\nimport func from './func';\nimport lists from './lists';\nimport env from './env';\n\nconst NBSP_CHAR = String.fromCharCode(160);\nconst ZERO_WIDTH_NBSP_CHAR = '\\ufeff';\n\n/**\n * @method isEditable\n *\n * returns whether node is `note-editable` or not.\n *\n * @param {Node} node\n * @return {Boolean}\n */\nfunction isEditable(node) {\n return node && $(node).hasClass('note-editable');\n}\n\n/**\n * @method isControlSizing\n *\n * returns whether node is `note-control-sizing` or not.\n *\n * @param {Node} node\n * @return {Boolean}\n */\nfunction isControlSizing(node) {\n return node && $(node).hasClass('note-control-sizing');\n}\n\n/**\n * @method makePredByNodeName\n *\n * returns predicate which judge whether nodeName is same\n *\n * @param {String} nodeName\n * @return {Function}\n */\nfunction makePredByNodeName(nodeName) {\n nodeName = nodeName.toUpperCase();\n return function(node) {\n return node && node.nodeName.toUpperCase() === nodeName;\n };\n}\n\n/**\n * @method isText\n *\n *\n *\n * @param {Node} node\n * @return {Boolean} true if node's type is text(3)\n */\nfunction isText(node) {\n return node && node.nodeType === 3;\n}\n\n/**\n * @method isElement\n *\n *\n *\n * @param {Node} node\n * @return {Boolean} true if node's type is element(1)\n */\nfunction isElement(node) {\n return node && node.nodeType === 1;\n}\n\n/**\n * ex) br, col, embed, hr, img, input, ...\n * @see http://www.w3.org/html/wg/drafts/html/master/syntax.html#void-elements\n */\nfunction isVoid(node) {\n return node && /^BR|^IMG|^HR|^IFRAME|^BUTTON|^INPUT/.test(node.nodeName.toUpperCase());\n}\n\nfunction isPara(node) {\n if (isEditable(node)) {\n return false;\n }\n\n // Chrome(v31.0), FF(v25.0.1) use DIV for paragraph\n return node && /^DIV|^P|^LI|^H[1-7]/.test(node.nodeName.toUpperCase());\n}\n\nfunction isHeading(node) {\n return node && /^H[1-7]/.test(node.nodeName.toUpperCase());\n}\n\nconst isPre = makePredByNodeName('PRE');\n\nconst isLi = makePredByNodeName('LI');\n\nfunction isPurePara(node) {\n return isPara(node) && !isLi(node);\n}\n\nconst isTable = makePredByNodeName('TABLE');\n\nconst isData = makePredByNodeName('DATA');\n\nfunction isInline(node) {\n return !isBodyContainer(node) &&\n !isList(node) &&\n !isHr(node) &&\n !isPara(node) &&\n !isTable(node) &&\n !isBlockquote(node) &&\n !isData(node);\n}\n\nfunction isList(node) {\n return node && /^UL|^OL/.test(node.nodeName.toUpperCase());\n}\n\nconst isHr = makePredByNodeName('HR');\n\nfunction isCell(node) {\n return node && /^TD|^TH/.test(node.nodeName.toUpperCase());\n}\n\nconst isBlockquote = makePredByNodeName('BLOCKQUOTE');\n\nfunction isBodyContainer(node) {\n return isCell(node) || isBlockquote(node) || isEditable(node);\n}\n\nconst isAnchor = makePredByNodeName('A');\n\nfunction isParaInline(node) {\n return isInline(node) && !!ancestor(node, isPara);\n}\n\nfunction isBodyInline(node) {\n return isInline(node) && !ancestor(node, isPara);\n}\n\nconst isBody = makePredByNodeName('BODY');\n\n/**\n * returns whether nodeB is closest sibling of nodeA\n *\n * @param {Node} nodeA\n * @param {Node} nodeB\n * @return {Boolean}\n */\nfunction isClosestSibling(nodeA, nodeB) {\n return nodeA.nextSibling === nodeB ||\n nodeA.previousSibling === nodeB;\n}\n\n/**\n * returns array of closest siblings with node\n *\n * @param {Node} node\n * @param {function} [pred] - predicate function\n * @return {Node[]}\n */\nfunction withClosestSiblings(node, pred) {\n pred = pred || func.ok;\n\n const siblings = [];\n if (node.previousSibling && pred(node.previousSibling)) {\n siblings.push(node.previousSibling);\n }\n siblings.push(node);\n if (node.nextSibling && pred(node.nextSibling)) {\n siblings.push(node.nextSibling);\n }\n return siblings;\n}\n\n/**\n * blank HTML for cursor position\n * - [workaround] old IE only works with \n * - [workaround] IE11 and other browser works with bogus br\n */\nconst blankHTML = env.isMSIE && env.browserVersion < 11 ? ' ' : '<br>';\n\n/**\n * @method nodeLength\n *\n * returns #text's text size or element's childNodes size\n *\n * @param {Node} node\n */\nfunction nodeLength(node) {\n if (isText(node)) {\n return node.nodeValue.length;\n }\n\n if (node) {\n return node.childNodes.length;\n }\n\n return 0;\n}\n\n/**\n * returns whether node is empty or not.\n *\n * @param {Node} node\n * @return {Boolean}\n */\nfunction isEmpty(node) {\n const len = nodeLength(node);\n\n if (len === 0) {\n return true;\n } else if (!isText(node) && len === 1 && node.innerHTML === blankHTML) {\n // ex) <p><br></p>, <span><br></span>\n return true;\n } else if (lists.all(node.childNodes, isText) && node.innerHTML === '') {\n // ex) <p></p>, <span></span>\n return true;\n }\n\n return false;\n}\n\n/**\n * padding blankHTML if node is empty (for cursor position)\n */\nfunction paddingBlankHTML(node) {\n if (!isVoid(node) && !nodeLength(node)) {\n node.innerHTML = blankHTML;\n }\n}\n\n/**\n * find nearest ancestor predicate hit\n *\n * @param {Node} node\n * @param {Function} pred - predicate function\n */\nfunction ancestor(node, pred) {\n while (node) {\n if (pred(node)) { return node; }\n if (isEditable(node)) { break; }\n\n node = node.parentNode;\n }\n return null;\n}\n\n/**\n * find nearest ancestor only single child blood line and predicate hit\n *\n * @param {Node} node\n * @param {Function} pred - predicate function\n */\nfunction singleChildAncestor(node, pred) {\n node = node.parentNode;\n\n while (node) {\n if (nodeLength(node) !== 1) { break; }\n if (pred(node)) { return node; }\n if (isEditable(node)) { break; }\n\n node = node.parentNode;\n }\n return null;\n}\n\n/**\n * returns new array of ancestor nodes (until predicate hit).\n *\n * @param {Node} node\n * @param {Function} [optional] pred - predicate function\n */\nfunction listAncestor(node, pred) {\n pred = pred || func.fail;\n\n const ancestors = [];\n ancestor(node, function(el) {\n if (!isEditable(el)) {\n ancestors.push(el);\n }\n\n return pred(el);\n });\n return ancestors;\n}\n\n/**\n * find farthest ancestor predicate hit\n */\nfunction lastAncestor(node, pred) {\n const ancestors = listAncestor(node);\n return lists.last(ancestors.filter(pred));\n}\n\n/**\n * returns common ancestor node between two nodes.\n *\n * @param {Node} nodeA\n * @param {Node} nodeB\n */\nfunction commonAncestor(nodeA, nodeB) {\n const ancestors = listAncestor(nodeA);\n for (let n = nodeB; n; n = n.parentNode) {\n if ($.inArray(n, ancestors) > -1) { return n; }\n }\n return null; // difference document area\n}\n\n/**\n * listing all previous siblings (until predicate hit).\n *\n * @param {Node} node\n * @param {Function} [optional] pred - predicate function\n */\nfunction listPrev(node, pred) {\n pred = pred || func.fail;\n\n const nodes = [];\n while (node) {\n if (pred(node)) { break; }\n nodes.push(node);\n node = node.previousSibling;\n }\n return nodes;\n}\n\n/**\n * listing next siblings (until predicate hit).\n *\n * @param {Node} node\n * @param {Function} [pred] - predicate function\n */\nfunction listNext(node, pred) {\n pred = pred || func.fail;\n\n const nodes = [];\n while (node) {\n if (pred(node)) { break; }\n nodes.push(node);\n node = node.nextSibling;\n }\n return nodes;\n}\n\n/**\n * listing descendant nodes\n *\n * @param {Node} node\n * @param {Function} [pred] - predicate function\n */\nfunction listDescendant(node, pred) {\n const descendants = [];\n pred = pred || func.ok;\n\n // start DFS(depth first search) with node\n (function fnWalk(current) {\n if (node !== current && pred(current)) {\n descendants.push(current);\n }\n for (let idx = 0, len = current.childNodes.length; idx < len; idx++) {\n fnWalk(current.childNodes[idx]);\n }\n })(node);\n\n return descendants;\n}\n\n/**\n * wrap node with new tag.\n *\n * @param {Node} node\n * @param {Node} tagName of wrapper\n * @return {Node} - wrapper\n */\nfunction wrap(node, wrapperName) {\n const parent = node.parentNode;\n const wrapper = $('<' + wrapperName + '>')[0];\n\n parent.insertBefore(wrapper, node);\n wrapper.appendChild(node);\n\n return wrapper;\n}\n\n/**\n * insert node after preceding\n *\n * @param {Node} node\n * @param {Node} preceding - predicate function\n */\nfunction insertAfter(node, preceding) {\n const next = preceding.nextSibling;\n let parent = preceding.parentNode;\n if (next) {\n parent.insertBefore(node, next);\n } else {\n parent.appendChild(node);\n }\n return node;\n}\n\n/**\n * append elements.\n *\n * @param {Node} node\n * @param {Collection} aChild\n */\nfunction appendChildNodes(node, aChild) {\n $.each(aChild, function(idx, child) {\n node.appendChild(child);\n });\n return node;\n}\n\n/**\n * returns whether boundaryPoint is left edge or not.\n *\n * @param {BoundaryPoint} point\n * @return {Boolean}\n */\nfunction isLeftEdgePoint(point) {\n return point.offset === 0;\n}\n\n/**\n * returns whether boundaryPoint is right edge or not.\n *\n * @param {BoundaryPoint} point\n * @return {Boolean}\n */\nfunction isRightEdgePoint(point) {\n return point.offset === nodeLength(point.node);\n}\n\n/**\n * returns whether boundaryPoint is edge or not.\n *\n * @param {BoundaryPoint} point\n * @return {Boolean}\n */\nfunction isEdgePoint(point) {\n return isLeftEdgePoint(point) || isRightEdgePoint(point);\n}\n\n/**\n * returns whether node is left edge of ancestor or not.\n *\n * @param {Node} node\n * @param {Node} ancestor\n * @return {Boolean}\n */\nfunction isLeftEdgeOf(node, ancestor) {\n while (node && node !== ancestor) {\n if (position(node) !== 0) {\n return false;\n }\n node = node.parentNode;\n }\n\n return true;\n}\n\n/**\n * returns whether node is right edge of ancestor or not.\n *\n * @param {Node} node\n * @param {Node} ancestor\n * @return {Boolean}\n */\nfunction isRightEdgeOf(node, ancestor) {\n if (!ancestor) {\n return false;\n }\n while (node && node !== ancestor) {\n if (position(node) !== nodeLength(node.parentNode) - 1) {\n return false;\n }\n node = node.parentNode;\n }\n\n return true;\n}\n\n/**\n * returns whether point is left edge of ancestor or not.\n * @param {BoundaryPoint} point\n * @param {Node} ancestor\n * @return {Boolean}\n */\nfunction isLeftEdgePointOf(point, ancestor) {\n return isLeftEdgePoint(point) && isLeftEdgeOf(point.node, ancestor);\n}\n\n/**\n * returns whether point is right edge of ancestor or not.\n * @param {BoundaryPoint} point\n * @param {Node} ancestor\n * @return {Boolean}\n */\nfunction isRightEdgePointOf(point, ancestor) {\n return isRightEdgePoint(point) && isRightEdgeOf(point.node, ancestor);\n}\n\n/**\n * returns offset from parent.\n *\n * @param {Node} node\n */\nfunction position(node) {\n let offset = 0;\n while ((node = node.previousSibling)) {\n offset += 1;\n }\n return offset;\n}\n\nfunction hasChildren(node) {\n return !!(node && node.childNodes && node.childNodes.length);\n}\n\n/**\n * returns previous boundaryPoint\n *\n * @param {BoundaryPoint} point\n * @param {Boolean} isSkipInnerOffset\n * @return {BoundaryPoint}\n */\nfunction prevPoint(point, isSkipInnerOffset) {\n let node;\n let offset;\n\n if (point.offset === 0) {\n if (isEditable(point.node)) {\n return null;\n }\n\n node = point.node.parentNode;\n offset = position(point.node);\n } else if (hasChildren(point.node)) {\n node = point.node.childNodes[point.offset - 1];\n offset = nodeLength(node);\n } else {\n node = point.node;\n offset = isSkipInnerOffset ? 0 : point.offset - 1;\n }\n\n return {\n node: node,\n offset: offset\n };\n}\n\n/**\n * returns next boundaryPoint\n *\n * @param {BoundaryPoint} point\n * @param {Boolean} isSkipInnerOffset\n * @return {BoundaryPoint}\n */\nfunction nextPoint(point, isSkipInnerOffset) {\n let node, offset;\n\n if (nodeLength(point.node) === point.offset) {\n if (isEditable(point.node)) {\n return null;\n }\n\n node = point.node.parentNode;\n offset = position(point.node) + 1;\n } else if (hasChildren(point.node)) {\n node = point.node.childNodes[point.offset];\n offset = 0;\n } else {\n node = point.node;\n offset = isSkipInnerOffset ? nodeLength(point.node) : point.offset + 1;\n }\n\n return {\n node: node,\n offset: offset\n };\n}\n\n/**\n * returns whether pointA and pointB is same or not.\n *\n * @param {BoundaryPoint} pointA\n * @param {BoundaryPoint} pointB\n * @return {Boolean}\n */\nfunction isSamePoint(pointA, pointB) {\n return pointA.node === pointB.node && pointA.offset === pointB.offset;\n}\n\n/**\n * returns whether point is visible (can set cursor) or not.\n *\n * @param {BoundaryPoint} point\n * @return {Boolean}\n */\nfunction isVisiblePoint(point) {\n if (isText(point.node) || !hasChildren(point.node) || isEmpty(point.node)) {\n return true;\n }\n\n const leftNode = point.node.childNodes[point.offset - 1];\n const rightNode = point.node.childNodes[point.offset];\n if ((!leftNode || isVoid(leftNode)) && (!rightNode || isVoid(rightNode))) {\n return true;\n }\n\n return false;\n}\n\n/**\n * @method prevPointUtil\n *\n * @param {BoundaryPoint} point\n * @param {Function} pred\n * @return {BoundaryPoint}\n */\nfunction prevPointUntil(point, pred) {\n while (point) {\n if (pred(point)) {\n return point;\n }\n\n point = prevPoint(point);\n }\n\n return null;\n}\n\n/**\n * @method nextPointUntil\n *\n * @param {BoundaryPoint} point\n * @param {Function} pred\n * @return {BoundaryPoint}\n */\nfunction nextPointUntil(point, pred) {\n while (point) {\n if (pred(point)) {\n return point;\n }\n\n point = nextPoint(point);\n }\n\n return null;\n}\n\n/**\n * returns whether point has character or not.\n *\n * @param {Point} point\n * @return {Boolean}\n */\nfunction isCharPoint(point) {\n if (!isText(point.node)) {\n return false;\n }\n\n const ch = point.node.nodeValue.charAt(point.offset - 1);\n return ch && (ch !== ' ' && ch !== NBSP_CHAR);\n}\n\n/**\n * @method walkPoint\n *\n * @param {BoundaryPoint} startPoint\n * @param {BoundaryPoint} endPoint\n * @param {Function} handler\n * @param {Boolean} isSkipInnerOffset\n */\nfunction walkPoint(startPoint, endPoint, handler, isSkipInnerOffset) {\n let point = startPoint;\n\n while (point) {\n handler(point);\n\n if (isSamePoint(point, endPoint)) {\n break;\n }\n\n const isSkipOffset = isSkipInnerOffset &&\n startPoint.node !== point.node &&\n endPoint.node !== point.node;\n point = nextPoint(point, isSkipOffset);\n }\n}\n\n/**\n * @method makeOffsetPath\n *\n * return offsetPath(array of offset) from ancestor\n *\n * @param {Node} ancestor - ancestor node\n * @param {Node} node\n */\nfunction makeOffsetPath(ancestor, node) {\n const ancestors = listAncestor(node, func.eq(ancestor));\n return ancestors.map(position).reverse();\n}\n\n/**\n * @method fromOffsetPath\n *\n * return element from offsetPath(array of offset)\n *\n * @param {Node} ancestor - ancestor node\n * @param {array} offsets - offsetPath\n */\nfunction fromOffsetPath(ancestor, offsets) {\n let current = ancestor;\n for (let i = 0, len = offsets.length; i < len; i++) {\n if (current.childNodes.length <= offsets[i]) {\n current = current.childNodes[current.childNodes.length - 1];\n } else {\n current = current.childNodes[offsets[i]];\n }\n }\n return current;\n}\n\n/**\n * @method splitNode\n *\n * split element or #text\n *\n * @param {BoundaryPoint} point\n * @param {Object} [options]\n * @param {Boolean} [options.isSkipPaddingBlankHTML] - default: false\n * @param {Boolean} [options.isNotSplitEdgePoint] - default: false\n * @return {Node} right node of boundaryPoint\n */\nfunction splitNode(point, options) {\n const isSkipPaddingBlankHTML = options && options.isSkipPaddingBlankHTML;\n const isNotSplitEdgePoint = options && options.isNotSplitEdgePoint;\n\n // edge case\n if (isEdgePoint(point) && (isText(point.node) || isNotSplitEdgePoint)) {\n if (isLeftEdgePoint(point)) {\n return point.node;\n } else if (isRightEdgePoint(point)) {\n return point.node.nextSibling;\n }\n }\n\n // split #text\n if (isText(point.node)) {\n return point.node.splitText(point.offset);\n } else {\n const childNode = point.node.childNodes[point.offset];\n const clone = insertAfter(point.node.cloneNode(false), point.node);\n appendChildNodes(clone, listNext(childNode));\n\n if (!isSkipPaddingBlankHTML) {\n paddingBlankHTML(point.node);\n paddingBlankHTML(clone);\n }\n\n return clone;\n }\n}\n\n/**\n * @method splitTree\n *\n * split tree by point\n *\n * @param {Node} root - split root\n * @param {BoundaryPoint} point\n * @param {Object} [options]\n * @param {Boolean} [options.isSkipPaddingBlankHTML] - default: false\n * @param {Boolean} [options.isNotSplitEdgePoint] - default: false\n * @return {Node} right node of boundaryPoint\n */\nfunction splitTree(root, point, options) {\n // ex) [#text, <span>, <p>]\n const ancestors = listAncestor(point.node, func.eq(root));\n\n if (!ancestors.length) {\n return null;\n } else if (ancestors.length === 1) {\n return splitNode(point, options);\n }\n\n return ancestors.reduce(function(node, parent) {\n if (node === point.node) {\n node = splitNode(point, options);\n }\n\n return splitNode({\n node: parent,\n offset: node ? position(node) : nodeLength(parent)\n }, options);\n });\n}\n\n/**\n * split point\n *\n * @param {Point} point\n * @param {Boolean} isInline\n * @return {Object}\n */\nfunction splitPoint(point, isInline) {\n // find splitRoot, container\n // - inline: splitRoot is a child of paragraph\n // - block: splitRoot is a child of bodyContainer\n const pred = isInline ? isPara : isBodyContainer;\n const ancestors = listAncestor(point.node, pred);\n const topAncestor = lists.last(ancestors) || point.node;\n\n let splitRoot, container;\n if (pred(topAncestor)) {\n splitRoot = ancestors[ancestors.length - 2];\n container = topAncestor;\n } else {\n splitRoot = topAncestor;\n container = splitRoot.parentNode;\n }\n\n // if splitRoot is exists, split with splitTree\n let pivot = splitRoot && splitTree(splitRoot, point, {\n isSkipPaddingBlankHTML: isInline,\n isNotSplitEdgePoint: isInline\n });\n\n // if container is point.node, find pivot with point.offset\n if (!pivot && container === point.node) {\n pivot = point.node.childNodes[point.offset];\n }\n\n return {\n rightNode: pivot,\n container: container\n };\n}\n\nfunction create(nodeName) {\n return document.createElement(nodeName);\n}\n\nfunction createText(text) {\n return document.createTextNode(text);\n}\n\n/**\n * @method remove\n *\n * remove node, (isRemoveChild: remove child or not)\n *\n * @param {Node} node\n * @param {Boolean} isRemoveChild\n */\nfunction remove(node, isRemoveChild) {\n if (!node || !node.parentNode) { return; }\n if (node.removeNode) { return node.removeNode(isRemoveChild); }\n\n const parent = node.parentNode;\n if (!isRemoveChild) {\n const nodes = [];\n for (let i = 0, len = node.childNodes.length; i < len; i++) {\n nodes.push(node.childNodes[i]);\n }\n\n for (let i = 0, len = nodes.length; i < len; i++) {\n parent.insertBefore(nodes[i], node);\n }\n }\n\n parent.removeChild(node);\n}\n\n/**\n * @method removeWhile\n *\n * @param {Node} node\n * @param {Function} pred\n */\nfunction removeWhile(node, pred) {\n while (node) {\n if (isEditable(node) || !pred(node)) {\n break;\n }\n\n const parent = node.parentNode;\n remove(node);\n node = parent;\n }\n}\n\n/**\n * @method replace\n *\n * replace node with provided nodeName\n *\n * @param {Node} node\n * @param {String} nodeName\n * @return {Node} - new node\n */\nfunction replace(node, nodeName) {\n if (node.nodeName.toUpperCase() === nodeName.toUpperCase()) {\n return node;\n }\n\n const newNode = create(nodeName);\n\n if (node.style.cssText) {\n newNode.style.cssText = node.style.cssText;\n }\n\n appendChildNodes(newNode, lists.from(node.childNodes));\n insertAfter(newNode, node);\n remove(node);\n\n return newNode;\n}\n\nconst isTextarea = makePredByNodeName('TEXTAREA');\n\n/**\n * @param {jQuery} $node\n * @param {Boolean} [stripLinebreaks] - default: false\n */\nfunction value($node, stripLinebreaks) {\n const val = isTextarea($node[0]) ? $node.val() : $node.html();\n if (stripLinebreaks) {\n return val.replace(/[\\n\\r]/g, '');\n }\n return val;\n}\n\n/**\n * @method html\n *\n * get the HTML contents of node\n *\n * @param {jQuery} $node\n * @param {Boolean} [isNewlineOnBlock]\n */\nfunction html($node, isNewlineOnBlock) {\n let markup = value($node);\n\n if (isNewlineOnBlock) {\n const regexTag = /<(\\/?)(\\b(?!!)[^>\\s]*)(.*?)(\\s*\\/?>)/g;\n markup = markup.replace(regexTag, function(match, endSlash, name) {\n name = name.toUpperCase();\n const isEndOfInlineContainer = /^DIV|^TD|^TH|^P|^LI|^H[1-7]/.test(name) &&\n !!endSlash;\n const isBlockNode = /^BLOCKQUOTE|^TABLE|^TBODY|^TR|^HR|^UL|^OL/.test(name);\n\n return match + ((isEndOfInlineContainer || isBlockNode) ? '\\n' : '');\n });\n markup = $.trim(markup);\n }\n\n return markup;\n}\n\nfunction posFromPlaceholder(placeholder) {\n const $placeholder = $(placeholder);\n const pos = $placeholder.offset();\n const height = $placeholder.outerHeight(true); // include margin\n\n return {\n left: pos.left,\n top: pos.top + height\n };\n}\n\nfunction attachEvents($node, events) {\n Object.keys(events).forEach(function(key) {\n $node.on(key, events[key]);\n });\n}\n\nfunction detachEvents($node, events) {\n Object.keys(events).forEach(function(key) {\n $node.off(key, events[key]);\n });\n}\n\n/**\n * @method isCustomStyleTag\n *\n * assert if a node contains a \"note-styletag\" class,\n * which implies that's a custom-made style tag node\n *\n * @param {Node} an HTML DOM node\n */\nfunction isCustomStyleTag(node) {\n return node && !isText(node) && lists.contains(node.classList, 'note-styletag');\n}\n\nexport default {\n /** @property {String} NBSP_CHAR */\n NBSP_CHAR,\n /** @property {String} ZERO_WIDTH_NBSP_CHAR */\n ZERO_WIDTH_NBSP_CHAR,\n /** @property {String} blank */\n blank: blankHTML,\n /** @property {String} emptyPara */\n emptyPara: `<p>${blankHTML}</p>`,\n makePredByNodeName,\n isEditable,\n isControlSizing,\n isText,\n isElement,\n isVoid,\n isPara,\n isPurePara,\n isHeading,\n isInline,\n isBlock: func.not(isInline),\n isBodyInline,\n isBody,\n isParaInline,\n isPre,\n isList,\n isTable,\n isData,\n isCell,\n isBlockquote,\n isBodyContainer,\n isAnchor,\n isDiv: makePredByNodeName('DIV'),\n isLi,\n isBR: makePredByNodeName('BR'),\n isSpan: makePredByNodeName('SPAN'),\n isB: makePredByNodeName('B'),\n isU: makePredByNodeName('U'),\n isS: makePredByNodeName('S'),\n isI: makePredByNodeName('I'),\n isImg: makePredByNodeName('IMG'),\n isTextarea,\n isEmpty,\n isEmptyAnchor: func.and(isAnchor, isEmpty),\n isClosestSibling,\n withClosestSiblings,\n nodeLength,\n isLeftEdgePoint,\n isRightEdgePoint,\n isEdgePoint,\n isLeftEdgeOf,\n isRightEdgeOf,\n isLeftEdgePointOf,\n isRightEdgePointOf,\n prevPoint,\n nextPoint,\n isSamePoint,\n isVisiblePoint,\n prevPointUntil,\n nextPointUntil,\n isCharPoint,\n walkPoint,\n ancestor,\n singleChildAncestor,\n listAncestor,\n lastAncestor,\n listNext,\n listPrev,\n listDescendant,\n commonAncestor,\n wrap,\n insertAfter,\n appendChildNodes,\n position,\n hasChildren,\n makeOffsetPath,\n fromOffsetPath,\n splitTree,\n splitPoint,\n create,\n createText,\n remove,\n removeWhile,\n replace,\n html,\n value,\n posFromPlaceholder,\n attachEvents,\n detachEvents,\n isCustomStyleTag\n};\n","import $ from 'jquery';\n\n$.summernote = $.summernote || {\n lang: {}\n};\n\n$.extend($.summernote.lang, {\n 'en-US': {\n font: {\n bold: 'Bold',\n italic: 'Italic',\n underline: 'Underline',\n clear: 'Remove Font Style',\n height: 'Line Height',\n name: 'Font Family',\n strikethrough: 'Strikethrough',\n subscript: 'Subscript',\n superscript: 'Superscript',\n size: 'Font Size'\n },\n image: {\n image: 'Picture',\n insert: 'Insert Image',\n resizeFull: 'Resize Full',\n resizeHalf: 'Resize Half',\n resizeQuarter: 'Resize Quarter',\n floatLeft: 'Float Left',\n floatRight: 'Float Right',\n floatNone: 'Float None',\n shapeRounded: 'Shape: Rounded',\n shapeCircle: 'Shape: Circle',\n shapeThumbnail: 'Shape: Thumbnail',\n shapeNone: 'Shape: None',\n dragImageHere: 'Drag image or text here',\n dropImage: 'Drop image or Text',\n selectFromFiles: 'Select from files',\n maximumFileSize: 'Maximum file size',\n maximumFileSizeError: 'Maximum file size exceeded.',\n url: 'Image URL',\n remove: 'Remove Image',\n original: 'Original'\n },\n video: {\n video: 'Video',\n videoLink: 'Video Link',\n insert: 'Insert Video',\n url: 'Video URL',\n providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion or Youku)'\n },\n link: {\n link: 'Link',\n insert: 'Insert Link',\n unlink: 'Unlink',\n edit: 'Edit',\n textToDisplay: 'Text to display',\n url: 'To what URL should this link go?',\n openInNewWindow: 'Open in new window'\n },\n table: {\n table: 'Table',\n addRowAbove: 'Add row above',\n addRowBelow: 'Add row below',\n addColLeft: 'Add column left',\n addColRight: 'Add column right',\n delRow: 'Delete row',\n delCol: 'Delete column',\n delTable: 'Delete table'\n },\n hr: {\n insert: 'Insert Horizontal Rule'\n },\n style: {\n style: 'Style',\n p: 'Normal',\n blockquote: 'Quote',\n pre: 'Code',\n h1: 'Header 1',\n h2: 'Header 2',\n h3: 'Header 3',\n h4: 'Header 4',\n h5: 'Header 5',\n h6: 'Header 6'\n },\n lists: {\n unordered: 'Unordered list',\n ordered: 'Ordered list'\n },\n options: {\n help: 'Help',\n fullscreen: 'Full Screen',\n codeview: 'Code View'\n },\n paragraph: {\n paragraph: 'Paragraph',\n outdent: 'Outdent',\n indent: 'Indent',\n left: 'Align left',\n center: 'Align center',\n right: 'Align right',\n justify: 'Justify full'\n },\n color: {\n recent: 'Recent Color',\n more: 'More Color',\n background: 'Background Color',\n foreground: 'Foreground Color',\n transparent: 'Transparent',\n setTransparent: 'Set transparent',\n reset: 'Reset',\n resetToDefault: 'Reset to default'\n },\n shortcut: {\n shortcuts: 'Keyboard shortcuts',\n close: 'Close',\n textFormatting: 'Text formatting',\n action: 'Action',\n paragraphFormatting: 'Paragraph formatting',\n documentStyle: 'Document Style',\n extraKeys: 'Extra keys'\n },\n help: {\n 'insertParagraph': 'Insert Paragraph',\n 'undo': 'Undoes the last command',\n 'redo': 'Redoes the last command',\n 'tab': 'Tab',\n 'untab': 'Untab',\n 'bold': 'Set a bold style',\n 'italic': 'Set a italic style',\n 'underline': 'Set a underline style',\n 'strikethrough': 'Set a strikethrough style',\n 'removeFormat': 'Clean a style',\n 'justifyLeft': 'Set left align',\n 'justifyCenter': 'Set center align',\n 'justifyRight': 'Set right align',\n 'justifyFull': 'Set full align',\n 'insertUnorderedList': 'Toggle unordered list',\n 'insertOrderedList': 'Toggle ordered list',\n 'outdent': 'Outdent on current paragraph',\n 'indent': 'Indent on current paragraph',\n 'formatPara': 'Change current block\\'s format as a paragraph(P tag)',\n 'formatH1': 'Change current block\\'s format as H1',\n 'formatH2': 'Change current block\\'s format as H2',\n 'formatH3': 'Change current block\\'s format as H3',\n 'formatH4': 'Change current block\\'s format as H4',\n 'formatH5': 'Change current block\\'s format as H5',\n 'formatH6': 'Change current block\\'s format as H6',\n 'insertHorizontalRule': 'Insert horizontal rule',\n 'linkDialog.show': 'Show Link Dialog'\n },\n history: {\n undo: 'Undo',\n redo: 'Redo'\n },\n specialChar: {\n specialChar: 'SPECIAL CHARACTERS',\n select: 'Select Special characters'\n }\n }\n});\n","import lists from './lists';\nimport func from './func';\n\nconst KEY_MAP = {\n 'BACKSPACE': 8,\n 'TAB': 9,\n 'ENTER': 13,\n 'SPACE': 32,\n 'DELETE': 46,\n\n // Arrow\n 'LEFT': 37,\n 'UP': 38,\n 'RIGHT': 39,\n 'DOWN': 40,\n\n // Number: 0-9\n 'NUM0': 48,\n 'NUM1': 49,\n 'NUM2': 50,\n 'NUM3': 51,\n 'NUM4': 52,\n 'NUM5': 53,\n 'NUM6': 54,\n 'NUM7': 55,\n 'NUM8': 56,\n\n // Alphabet: a-z\n 'B': 66,\n 'E': 69,\n 'I': 73,\n 'J': 74,\n 'K': 75,\n 'L': 76,\n 'R': 82,\n 'S': 83,\n 'U': 85,\n 'V': 86,\n 'Y': 89,\n 'Z': 90,\n\n 'SLASH': 191,\n 'LEFTBRACKET': 219,\n 'BACKSLASH': 220,\n 'RIGHTBRACKET': 221\n};\n\n/**\n * @class core.key\n *\n * Object for keycodes.\n *\n * @singleton\n * @alternateClassName key\n */\nexport default {\n /**\n * @method isEdit\n *\n * @param {Number} keyCode\n * @return {Boolean}\n */\n isEdit: (keyCode) => {\n return lists.contains([\n KEY_MAP.BACKSPACE,\n KEY_MAP.TAB,\n KEY_MAP.ENTER,\n KEY_MAP.SPACE,\n KEY_MAP.DELETE\n ], keyCode);\n },\n /**\n * @method isMove\n *\n * @param {Number} keyCode\n * @return {Boolean}\n */\n isMove: (keyCode) => {\n return lists.contains([\n KEY_MAP.LEFT,\n KEY_MAP.UP,\n KEY_MAP.RIGHT,\n KEY_MAP.DOWN\n ], keyCode);\n },\n /**\n * @property {Object} nameFromCode\n * @property {String} nameFromCode.8 \"BACKSPACE\"\n */\n nameFromCode: func.invertObject(KEY_MAP),\n code: KEY_MAP\n};\n","import $ from 'jquery';\nimport env from './env';\nimport func from './func';\nimport lists from './lists';\nimport dom from './dom';\n\n/**\n * return boundaryPoint from TextRange, inspired by Andy Na's HuskyRange.js\n *\n * @param {TextRange} textRange\n * @param {Boolean} isStart\n * @return {BoundaryPoint}\n *\n * @see http://msdn.microsoft.com/en-us/library/ie/ms535872(v=vs.85).aspx\n */\nfunction textRangeToPoint(textRange, isStart) {\n let container = textRange.parentElement();\n let offset;\n\n const tester = document.body.createTextRange();\n let prevContainer;\n const childNodes = lists.from(container.childNodes);\n for (offset = 0; offset < childNodes.length; offset++) {\n if (dom.isText(childNodes[offset])) {\n continue;\n }\n tester.moveToElementText(childNodes[offset]);\n if (tester.compareEndPoints('StartToStart', textRange) >= 0) {\n break;\n }\n prevContainer = childNodes[offset];\n }\n\n if (offset !== 0 && dom.isText(childNodes[offset - 1])) {\n const textRangeStart = document.body.createTextRange();\n let curTextNode = null;\n textRangeStart.moveToElementText(prevContainer || container);\n textRangeStart.collapse(!prevContainer);\n curTextNode = prevContainer ? prevContainer.nextSibling : container.firstChild;\n\n const pointTester = textRange.duplicate();\n pointTester.setEndPoint('StartToStart', textRangeStart);\n let textCount = pointTester.text.replace(/[\\r\\n]/g, '').length;\n\n while (textCount > curTextNode.nodeValue.length && curTextNode.nextSibling) {\n textCount -= curTextNode.nodeValue.length;\n curTextNode = curTextNode.nextSibling;\n }\n\n // [workaround] enforce IE to re-reference curTextNode, hack\n const dummy = curTextNode.nodeValue; // eslint-disable-line\n\n if (isStart && curTextNode.nextSibling && dom.isText(curTextNode.nextSibling) &&\n textCount === curTextNode.nodeValue.length) {\n textCount -= curTextNode.nodeValue.length;\n curTextNode = curTextNode.nextSibling;\n }\n\n container = curTextNode;\n offset = textCount;\n }\n\n return {\n cont: container,\n offset: offset\n };\n}\n\n/**\n * return TextRange from boundary point (inspired by google closure-library)\n * @param {BoundaryPoint} point\n * @return {TextRange}\n */\nfunction pointToTextRange(point) {\n const textRangeInfo = function(container, offset) {\n let node, isCollapseToStart;\n\n if (dom.isText(container)) {\n const prevTextNodes = dom.listPrev(container, func.not(dom.isText));\n const prevContainer = lists.last(prevTextNodes).previousSibling;\n node = prevContainer || container.parentNode;\n offset += lists.sum(lists.tail(prevTextNodes), dom.nodeLength);\n isCollapseToStart = !prevContainer;\n } else {\n node = container.childNodes[offset] || container;\n if (dom.isText(node)) {\n return textRangeInfo(node, 0);\n }\n\n offset = 0;\n isCollapseToStart = false;\n }\n\n return {\n node: node,\n collapseToStart: isCollapseToStart,\n offset: offset\n };\n };\n\n const textRange = document.body.createTextRange();\n const info = textRangeInfo(point.node, point.offset);\n\n textRange.moveToElementText(info.node);\n textRange.collapse(info.collapseToStart);\n textRange.moveStart('character', info.offset);\n return textRange;\n}\n\n/**\n * Wrapped Range\n *\n * @constructor\n * @param {Node} sc - start container\n * @param {Number} so - start offset\n * @param {Node} ec - end container\n * @param {Number} eo - end offset\n */\nclass WrappedRange {\n constructor(sc, so, ec, eo) {\n this.sc = sc;\n this.so = so;\n this.ec = ec;\n this.eo = eo;\n\n // isOnEditable: judge whether range is on editable or not\n this.isOnEditable = this.makeIsOn(dom.isEditable);\n // isOnList: judge whether range is on list node or not\n this.isOnList = this.makeIsOn(dom.isList);\n // isOnAnchor: judge whether range is on anchor node or not\n this.isOnAnchor = this.makeIsOn(dom.isAnchor);\n // isOnCell: judge whether range is on cell node or not\n this.isOnCell = this.makeIsOn(dom.isCell);\n // isOnData: judge whether range is on data node or not\n this.isOnData = this.makeIsOn(dom.isData);\n }\n\n // nativeRange: get nativeRange from sc, so, ec, eo\n nativeRange() {\n if (env.isW3CRangeSupport) {\n const w3cRange = document.createRange();\n w3cRange.setStart(this.sc, this.so);\n w3cRange.setEnd(this.ec, this.eo);\n\n return w3cRange;\n } else {\n const textRange = pointToTextRange({\n node: this.sc,\n offset: this.so\n });\n\n textRange.setEndPoint('EndToEnd', pointToTextRange({\n node: this.ec,\n offset: this.eo\n }));\n\n return textRange;\n }\n }\n\n getPoints() {\n return {\n sc: this.sc,\n so: this.so,\n ec: this.ec,\n eo: this.eo\n };\n }\n\n getStartPoint() {\n return {\n node: this.sc,\n offset: this.so\n };\n }\n\n getEndPoint() {\n return {\n node: this.ec,\n offset: this.eo\n };\n }\n\n /**\n * select update visible range\n */\n select() {\n const nativeRng = this.nativeRange();\n if (env.isW3CRangeSupport) {\n const selection = document.getSelection();\n if (selection.rangeCount > 0) {\n selection.removeAllRanges();\n }\n selection.addRange(nativeRng);\n } else {\n nativeRng.select();\n }\n\n return this;\n }\n\n /**\n * Moves the scrollbar to start container(sc) of current range\n *\n * @return {WrappedRange}\n */\n scrollIntoView(container) {\n const height = $(container).height();\n if (container.scrollTop + height < this.sc.offsetTop) {\n container.scrollTop += Math.abs(container.scrollTop + height - this.sc.offsetTop);\n }\n\n return this;\n }\n\n /**\n * @return {WrappedRange}\n */\n normalize() {\n /**\n * @param {BoundaryPoint} point\n * @param {Boolean} isLeftToRight\n * @return {BoundaryPoint}\n */\n const getVisiblePoint = function(point, isLeftToRight) {\n if ((dom.isVisiblePoint(point) && !dom.isEdgePoint(point)) ||\n (dom.isVisiblePoint(point) && dom.isRightEdgePoint(point) && !isLeftToRight) ||\n (dom.isVisiblePoint(point) && dom.isLeftEdgePoint(point) && isLeftToRight) ||\n (dom.isVisiblePoint(point) && dom.isBlock(point.node) && dom.isEmpty(point.node))) {\n return point;\n }\n\n // point on block's edge\n const block = dom.ancestor(point.node, dom.isBlock);\n if (((dom.isLeftEdgePointOf(point, block) || dom.isVoid(dom.prevPoint(point).node)) && !isLeftToRight) ||\n ((dom.isRightEdgePointOf(point, block) || dom.isVoid(dom.nextPoint(point).node)) && isLeftToRight)) {\n // returns point already on visible point\n if (dom.isVisiblePoint(point)) {\n return point;\n }\n // reverse direction\n isLeftToRight = !isLeftToRight;\n }\n\n const nextPoint = isLeftToRight ? dom.nextPointUntil(dom.nextPoint(point), dom.isVisiblePoint)\n : dom.prevPointUntil(dom.prevPoint(point), dom.isVisiblePoint);\n return nextPoint || point;\n };\n\n const endPoint = getVisiblePoint(this.getEndPoint(), false);\n const startPoint = this.isCollapsed() ? endPoint : getVisiblePoint(this.getStartPoint(), true);\n\n return new WrappedRange(\n startPoint.node,\n startPoint.offset,\n endPoint.node,\n endPoint.offset\n );\n }\n\n /**\n * returns matched nodes on range\n *\n * @param {Function} [pred] - predicate function\n * @param {Object} [options]\n * @param {Boolean} [options.includeAncestor]\n * @param {Boolean} [options.fullyContains]\n * @return {Node[]}\n */\n nodes(pred, options) {\n pred = pred || func.ok;\n\n const includeAncestor = options && options.includeAncestor;\n const fullyContains = options && options.fullyContains;\n\n // TODO compare points and sort\n const startPoint = this.getStartPoint();\n const endPoint = this.getEndPoint();\n\n const nodes = [];\n const leftEdgeNodes = [];\n\n dom.walkPoint(startPoint, endPoint, function(point) {\n if (dom.isEditable(point.node)) {\n return;\n }\n\n let node;\n if (fullyContains) {\n if (dom.isLeftEdgePoint(point)) {\n leftEdgeNodes.push(point.node);\n }\n if (dom.isRightEdgePoint(point) && lists.contains(leftEdgeNodes, point.node)) {\n node = point.node;\n }\n } else if (includeAncestor) {\n node = dom.ancestor(point.node, pred);\n } else {\n node = point.node;\n }\n\n if (node && pred(node)) {\n nodes.push(node);\n }\n }, true);\n\n return lists.unique(nodes);\n }\n\n /**\n * returns commonAncestor of range\n * @return {Element} - commonAncestor\n */\n commonAncestor() {\n return dom.commonAncestor(this.sc, this.ec);\n }\n\n /**\n * returns expanded range by pred\n *\n * @param {Function} pred - predicate function\n * @return {WrappedRange}\n */\n expand(pred) {\n const startAncestor = dom.ancestor(this.sc, pred);\n const endAncestor = dom.ancestor(this.ec, pred);\n\n if (!startAncestor && !endAncestor) {\n return new WrappedRange(this.sc, this.so, this.ec, this.eo);\n }\n\n const boundaryPoints = this.getPoints();\n\n if (startAncestor) {\n boundaryPoints.sc = startAncestor;\n boundaryPoints.so = 0;\n }\n\n if (endAncestor) {\n boundaryPoints.ec = endAncestor;\n boundaryPoints.eo = dom.nodeLength(endAncestor);\n }\n\n return new WrappedRange(\n boundaryPoints.sc,\n boundaryPoints.so,\n boundaryPoints.ec,\n boundaryPoints.eo\n );\n }\n\n /**\n * @param {Boolean} isCollapseToStart\n * @return {WrappedRange}\n */\n collapse(isCollapseToStart) {\n if (isCollapseToStart) {\n return new WrappedRange(this.sc, this.so, this.sc, this.so);\n } else {\n return new WrappedRange(this.ec, this.eo, this.ec, this.eo);\n }\n }\n\n /**\n * splitText on range\n */\n splitText() {\n const isSameContainer = this.sc === this.ec;\n const boundaryPoints = this.getPoints();\n\n if (dom.isText(this.ec) && !dom.isEdgePoint(this.getEndPoint())) {\n this.ec.splitText(this.eo);\n }\n\n if (dom.isText(this.sc) && !dom.isEdgePoint(this.getStartPoint())) {\n boundaryPoints.sc = this.sc.splitText(this.so);\n boundaryPoints.so = 0;\n\n if (isSameContainer) {\n boundaryPoints.ec = boundaryPoints.sc;\n boundaryPoints.eo = this.eo - this.so;\n }\n }\n\n return new WrappedRange(\n boundaryPoints.sc,\n boundaryPoints.so,\n boundaryPoints.ec,\n boundaryPoints.eo\n );\n }\n\n /**\n * delete contents on range\n * @return {WrappedRange}\n */\n deleteContents() {\n if (this.isCollapsed()) {\n return this;\n }\n\n const rng = this.splitText();\n const nodes = rng.nodes(null, {\n fullyContains: true\n });\n\n // find new cursor point\n const point = dom.prevPointUntil(rng.getStartPoint(), function(point) {\n return !lists.contains(nodes, point.node);\n });\n\n const emptyParents = [];\n $.each(nodes, function(idx, node) {\n // find empty parents\n const parent = node.parentNode;\n if (point.node !== parent && dom.nodeLength(parent) === 1) {\n emptyParents.push(parent);\n }\n dom.remove(node, false);\n });\n\n // remove empty parents\n $.each(emptyParents, function(idx, node) {\n dom.remove(node, false);\n });\n\n return new WrappedRange(\n point.node,\n point.offset,\n point.node,\n point.offset\n ).normalize();\n }\n\n /**\n * makeIsOn: return isOn(pred) function\n */\n makeIsOn(pred) {\n return function() {\n const ancestor = dom.ancestor(this.sc, pred);\n return !!ancestor && (ancestor === dom.ancestor(this.ec, pred));\n };\n }\n\n /**\n * @param {Function} pred\n * @return {Boolean}\n */\n isLeftEdgeOf(pred) {\n if (!dom.isLeftEdgePoint(this.getStartPoint())) {\n return false;\n }\n\n const node = dom.ancestor(this.sc, pred);\n return node && dom.isLeftEdgeOf(this.sc, node);\n }\n\n /**\n * returns whether range was collapsed or not\n */\n isCollapsed() {\n return this.sc === this.ec && this.so === this.eo;\n }\n\n /**\n * wrap inline nodes which children of body with paragraph\n *\n * @return {WrappedRange}\n */\n wrapBodyInlineWithPara() {\n if (dom.isBodyContainer(this.sc) && dom.isEmpty(this.sc)) {\n this.sc.innerHTML = dom.emptyPara;\n return new WrappedRange(this.sc.firstChild, 0, this.sc.firstChild, 0);\n }\n\n /**\n * [workaround] firefox often create range on not visible point. so normalize here.\n * - firefox: |<p>text</p>|\n * - chrome: <p>|text|</p>\n */\n const rng = this.normalize();\n if (dom.isParaInline(this.sc) || dom.isPara(this.sc)) {\n return rng;\n }\n\n // find inline top ancestor\n let topAncestor;\n if (dom.isInline(rng.sc)) {\n const ancestors = dom.listAncestor(rng.sc, func.not(dom.isInline));\n topAncestor = lists.last(ancestors);\n if (!dom.isInline(topAncestor)) {\n topAncestor = ancestors[ancestors.length - 2] || rng.sc.childNodes[rng.so];\n }\n } else {\n topAncestor = rng.sc.childNodes[rng.so > 0 ? rng.so - 1 : 0];\n }\n\n // siblings not in paragraph\n let inlineSiblings = dom.listPrev(topAncestor, dom.isParaInline).reverse();\n inlineSiblings = inlineSiblings.concat(dom.listNext(topAncestor.nextSibling, dom.isParaInline));\n\n // wrap with paragraph\n if (inlineSiblings.length) {\n const para = dom.wrap(lists.head(inlineSiblings), 'p');\n dom.appendChildNodes(para, lists.tail(inlineSiblings));\n }\n\n return this.normalize();\n }\n\n /**\n * insert node at current cursor\n *\n * @param {Node} node\n * @return {Node}\n */\n insertNode(node) {\n const rng = this.wrapBodyInlineWithPara().deleteContents();\n const info = dom.splitPoint(rng.getStartPoint(), dom.isInline(node));\n\n if (info.rightNode) {\n info.rightNode.parentNode.insertBefore(node, info.rightNode);\n } else {\n info.container.appendChild(node);\n }\n\n return node;\n }\n\n /**\n * insert html at current cursor\n */\n pasteHTML(markup) {\n const contentsContainer = $('<div></div>').html(markup)[0];\n const childNodes = lists.from(contentsContainer.childNodes);\n\n const rng = this.wrapBodyInlineWithPara().deleteContents();\n\n return childNodes.reverse().map(function(childNode) {\n return rng.insertNode(childNode);\n }).reverse();\n }\n\n /**\n * returns text in range\n *\n * @return {String}\n */\n toString() {\n const nativeRng = this.nativeRange();\n return env.isW3CRangeSupport ? nativeRng.toString() : nativeRng.text;\n }\n\n /**\n * returns range for word before cursor\n *\n * @param {Boolean} [findAfter] - find after cursor, default: false\n * @return {WrappedRange}\n */\n getWordRange(findAfter) {\n let endPoint = this.getEndPoint();\n\n if (!dom.isCharPoint(endPoint)) {\n return this;\n }\n\n const startPoint = dom.prevPointUntil(endPoint, function(point) {\n return !dom.isCharPoint(point);\n });\n\n if (findAfter) {\n endPoint = dom.nextPointUntil(endPoint, function(point) {\n return !dom.isCharPoint(point);\n });\n }\n\n return new WrappedRange(\n startPoint.node,\n startPoint.offset,\n endPoint.node,\n endPoint.offset\n );\n }\n\n /**\n * create offsetPath bookmark\n *\n * @param {Node} editable\n */\n bookmark(editable) {\n return {\n s: {\n path: dom.makeOffsetPath(editable, this.sc),\n offset: this.so\n },\n e: {\n path: dom.makeOffsetPath(editable, this.ec),\n offset: this.eo\n }\n };\n }\n\n /**\n * create offsetPath bookmark base on paragraph\n *\n * @param {Node[]} paras\n */\n paraBookmark(paras) {\n return {\n s: {\n path: lists.tail(dom.makeOffsetPath(lists.head(paras), this.sc)),\n offset: this.so\n },\n e: {\n path: lists.tail(dom.makeOffsetPath(lists.last(paras), this.ec)),\n offset: this.eo\n }\n };\n }\n\n /**\n * getClientRects\n * @return {Rect[]}\n */\n getClientRects() {\n const nativeRng = this.nativeRange();\n return nativeRng.getClientRects();\n }\n}\n\n/**\n * Data structure\n * * BoundaryPoint: a point of dom tree\n * * BoundaryPoints: two boundaryPoints corresponding to the start and the end of the Range\n *\n * See to http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-Position\n */\nexport default {\n /**\n * create Range Object From arguments or Browser Selection\n *\n * @param {Node} sc - start container\n * @param {Number} so - start offset\n * @param {Node} ec - end container\n * @param {Number} eo - end offset\n * @return {WrappedRange}\n */\n create: function(sc, so, ec, eo) {\n if (arguments.length === 4) {\n return new WrappedRange(sc, so, ec, eo);\n } else if (arguments.length === 2) { // collapsed\n ec = sc;\n eo = so;\n return new WrappedRange(sc, so, ec, eo);\n } else {\n let wrappedRange = this.createFromSelection();\n if (!wrappedRange && arguments.length === 1) {\n wrappedRange = this.createFromNode(arguments[0]);\n return wrappedRange.collapse(dom.emptyPara === arguments[0].innerHTML);\n }\n return wrappedRange;\n }\n },\n\n createFromSelection: function() {\n let sc, so, ec, eo;\n if (env.isW3CRangeSupport) {\n const selection = document.getSelection();\n if (!selection || selection.rangeCount === 0) {\n return null;\n } else if (dom.isBody(selection.anchorNode)) {\n // Firefox: returns entire body as range on initialization.\n // We won't never need it.\n return null;\n }\n\n const nativeRng = selection.getRangeAt(0);\n sc = nativeRng.startContainer;\n so = nativeRng.startOffset;\n ec = nativeRng.endContainer;\n eo = nativeRng.endOffset;\n } else { // IE8: TextRange\n const textRange = document.selection.createRange();\n const textRangeEnd = textRange.duplicate();\n textRangeEnd.collapse(false);\n const textRangeStart = textRange;\n textRangeStart.collapse(true);\n\n let startPoint = textRangeToPoint(textRangeStart, true);\n let endPoint = textRangeToPoint(textRangeEnd, false);\n\n // same visible point case: range was collapsed.\n if (dom.isText(startPoint.node) && dom.isLeftEdgePoint(startPoint) &&\n dom.isTextNode(endPoint.node) && dom.isRightEdgePoint(endPoint) &&\n endPoint.node.nextSibling === startPoint.node) {\n startPoint = endPoint;\n }\n\n sc = startPoint.cont;\n so = startPoint.offset;\n ec = endPoint.cont;\n eo = endPoint.offset;\n }\n\n return new WrappedRange(sc, so, ec, eo);\n },\n\n /**\n * @method\n *\n * create WrappedRange from node\n *\n * @param {Node} node\n * @return {WrappedRange}\n */\n createFromNode: function(node) {\n let sc = node;\n let so = 0;\n let ec = node;\n let eo = dom.nodeLength(ec);\n\n // browsers can't target a picture or void node\n if (dom.isVoid(sc)) {\n so = dom.listPrev(sc).length - 1;\n sc = sc.parentNode;\n }\n if (dom.isBR(ec)) {\n eo = dom.listPrev(ec).length - 1;\n ec = ec.parentNode;\n } else if (dom.isVoid(ec)) {\n eo = dom.listPrev(ec).length;\n ec = ec.parentNode;\n }\n\n return this.create(sc, so, ec, eo);\n },\n\n /**\n * create WrappedRange from node after position\n *\n * @param {Node} node\n * @return {WrappedRange}\n */\n createFromNodeBefore: function(node) {\n return this.createFromNode(node).collapse(true);\n },\n\n /**\n * create WrappedRange from node after position\n *\n * @param {Node} node\n * @return {WrappedRange}\n */\n createFromNodeAfter: function(node) {\n return this.createFromNode(node).collapse();\n },\n\n /**\n * @method\n *\n * create WrappedRange from bookmark\n *\n * @param {Node} editable\n * @param {Object} bookmark\n * @return {WrappedRange}\n */\n createFromBookmark: function(editable, bookmark) {\n const sc = dom.fromOffsetPath(editable, bookmark.s.path);\n const so = bookmark.s.offset;\n const ec = dom.fromOffsetPath(editable, bookmark.e.path);\n const eo = bookmark.e.offset;\n return new WrappedRange(sc, so, ec, eo);\n },\n\n /**\n * @method\n *\n * create WrappedRange from paraBookmark\n *\n * @param {Object} bookmark\n * @param {Node[]} paras\n * @return {WrappedRange}\n */\n createFromParaBookmark: function(bookmark, paras) {\n const so = bookmark.s.offset;\n const eo = bookmark.e.offset;\n const sc = dom.fromOffsetPath(lists.head(paras), bookmark.s.path);\n const ec = dom.fromOffsetPath(lists.last(paras), bookmark.e.path);\n\n return new WrappedRange(sc, so, ec, eo);\n }\n};\n","import $ from 'jquery';\n\n/**\n * @method readFileAsDataURL\n *\n * read contents of file as representing URL\n *\n * @param {File} file\n * @return {Promise} - then: dataUrl\n */\nexport function readFileAsDataURL(file) {\n return $.Deferred((deferred) => {\n $.extend(new FileReader(), {\n onload: (e) => {\n const dataURL = e.target.result;\n deferred.resolve(dataURL);\n },\n onerror: (err) => {\n deferred.reject(err);\n }\n }).readAsDataURL(file);\n }).promise();\n}\n\n/**\n * @method createImage\n *\n * create `<image>` from url string\n *\n * @param {String} url\n * @return {Promise} - then: $image\n */\nexport function createImage(url) {\n return $.Deferred((deferred) => {\n const $img = $('<img>');\n\n $img.one('load', () => {\n $img.off('error abort');\n deferred.resolve($img);\n }).one('error abort', () => {\n $img.off('load').detach();\n deferred.reject($img);\n }).css({\n display: 'none'\n }).appendTo(document.body).attr('src', url);\n }).promise();\n}\n","import range from '../core/range';\n\nexport default class History {\n constructor($editable) {\n this.stack = [];\n this.stackOffset = -1;\n this.$editable = $editable;\n this.editable = $editable[0];\n }\n\n makeSnapshot() {\n const rng = range.create(this.editable);\n const emptyBookmark = {s: {path: [], offset: 0}, e: {path: [], offset: 0}};\n\n return {\n contents: this.$editable.html(),\n bookmark: (rng ? rng.bookmark(this.editable) : emptyBookmark)\n };\n }\n\n applySnapshot(snapshot) {\n if (snapshot.contents !== null) {\n this.$editable.html(snapshot.contents);\n }\n if (snapshot.bookmark !== null) {\n range.createFromBookmark(this.editable, snapshot.bookmark).select();\n }\n }\n\n /**\n * @method rewind\n * Rewinds the history stack back to the first snapshot taken.\n * Leaves the stack intact, so that \"Redo\" can still be used.\n */\n rewind() {\n // Create snap shot if not yet recorded\n if (this.$editable.html() !== this.stack[this.stackOffset].contents) {\n this.recordUndo();\n }\n\n // Return to the first available snapshot.\n this.stackOffset = 0;\n\n // Apply that snapshot.\n this.applySnapshot(this.stack[this.stackOffset]);\n }\n\n /**\n * @method reset\n * Resets the history stack completely; reverting to an empty editor.\n */\n reset() {\n // Clear the stack.\n this.stack = [];\n\n // Restore stackOffset to its original value.\n this.stackOffset = -1;\n\n // Clear the editable area.\n this.$editable.html('');\n\n // Record our first snapshot (of nothing).\n this.recordUndo();\n }\n\n /**\n * undo\n */\n undo() {\n // Create snap shot if not yet recorded\n if (this.$editable.html() !== this.stack[this.stackOffset].contents) {\n this.recordUndo();\n }\n\n if (this.stackOffset > 0) {\n this.stackOffset--;\n this.applySnapshot(this.stack[this.stackOffset]);\n }\n }\n\n /**\n * redo\n */\n redo() {\n if (this.stack.length - 1 > this.stackOffset) {\n this.stackOffset++;\n this.applySnapshot(this.stack[this.stackOffset]);\n }\n }\n\n /**\n * recorded undo\n */\n recordUndo() {\n this.stackOffset++;\n\n // Wash out stack after stackOffset\n if (this.stack.length > this.stackOffset) {\n this.stack = this.stack.slice(0, this.stackOffset);\n }\n\n // Create new snapshot and push it to the end\n this.stack.push(this.makeSnapshot());\n }\n}\n","import $ from 'jquery';\nimport env from '../core/env';\nimport func from '../core/func';\nimport lists from '../core/lists';\nimport dom from '../core/dom';\n\nexport default class Style {\n /**\n * @method jQueryCSS\n *\n * [workaround] for old jQuery\n * passing an array of style properties to .css()\n * will result in an object of property-value pairs.\n * (compability with version < 1.9)\n *\n * @private\n * @param {jQuery} $obj\n * @param {Array} propertyNames - An array of one or more CSS properties.\n * @return {Object}\n */\n jQueryCSS($obj, propertyNames) {\n if (env.jqueryVersion < 1.9) {\n const result = {};\n $.each(propertyNames, (idx, propertyName) => {\n result[propertyName] = $obj.css(propertyName);\n });\n return result;\n }\n return $obj.css(propertyNames);\n }\n\n /**\n * returns style object from node\n *\n * @param {jQuery} $node\n * @return {Object}\n */\n fromNode($node) {\n const properties = ['font-family', 'font-size', 'text-align', 'list-style-type', 'line-height'];\n const styleInfo = this.jQueryCSS($node, properties) || {};\n styleInfo['font-size'] = parseInt(styleInfo['font-size'], 10);\n return styleInfo;\n }\n\n /**\n * paragraph level style\n *\n * @param {WrappedRange} rng\n * @param {Object} styleInfo\n */\n stylePara(rng, styleInfo) {\n $.each(rng.nodes(dom.isPara, {\n includeAncestor: true\n }), (idx, para) => {\n $(para).css(styleInfo);\n });\n }\n\n /**\n * insert and returns styleNodes on range.\n *\n * @param {WrappedRange} rng\n * @param {Object} [options] - options for styleNodes\n * @param {String} [options.nodeName] - default: `SPAN`\n * @param {Boolean} [options.expandClosestSibling] - default: `false`\n * @param {Boolean} [options.onlyPartialContains] - default: `false`\n * @return {Node[]}\n */\n styleNodes(rng, options) {\n rng = rng.splitText();\n\n const nodeName = (options && options.nodeName) || 'SPAN';\n const expandClosestSibling = !!(options && options.expandClosestSibling);\n const onlyPartialContains = !!(options && options.onlyPartialContains);\n\n if (rng.isCollapsed()) {\n return [rng.insertNode(dom.create(nodeName))];\n }\n\n let pred = dom.makePredByNodeName(nodeName);\n const nodes = rng.nodes(dom.isText, {\n fullyContains: true\n }).map((text) => {\n return dom.singleChildAncestor(text, pred) || dom.wrap(text, nodeName);\n });\n\n if (expandClosestSibling) {\n if (onlyPartialContains) {\n const nodesInRange = rng.nodes();\n // compose with partial contains predication\n pred = func.and(pred, (node) => {\n return lists.contains(nodesInRange, node);\n });\n }\n\n return nodes.map((node) => {\n const siblings = dom.withClosestSiblings(node, pred);\n const head = lists.head(siblings);\n const tails = lists.tail(siblings);\n $.each(tails, (idx, elem) => {\n dom.appendChildNodes(head, elem.childNodes);\n dom.remove(elem);\n });\n return lists.head(siblings);\n });\n } else {\n return nodes;\n }\n }\n\n /**\n * get current style on cursor\n *\n * @param {WrappedRange} rng\n * @return {Object} - object contains style properties.\n */\n current(rng) {\n const $cont = $(!dom.isElement(rng.sc) ? rng.sc.parentNode : rng.sc);\n let styleInfo = this.fromNode($cont);\n\n // document.queryCommandState for toggle state\n // [workaround] prevent Firefox nsresult: \"0x80004005 (NS_ERROR_FAILURE)\"\n try {\n styleInfo = $.extend(styleInfo, {\n 'font-bold': document.queryCommandState('bold') ? 'bold' : 'normal',\n 'font-italic': document.queryCommandState('italic') ? 'italic' : 'normal',\n 'font-underline': document.queryCommandState('underline') ? 'underline' : 'normal',\n 'font-subscript': document.queryCommandState('subscript') ? 'subscript' : 'normal',\n 'font-superscript': document.queryCommandState('superscript') ? 'superscript' : 'normal',\n 'font-strikethrough': document.queryCommandState('strikethrough') ? 'strikethrough' : 'normal',\n 'font-family': document.queryCommandValue('fontname') || styleInfo['font-family']\n });\n } catch (e) {}\n\n // list-style-type to list-style(unordered, ordered)\n if (!rng.isOnList()) {\n styleInfo['list-style'] = 'none';\n } else {\n const orderedTypes = ['circle', 'disc', 'disc-leading-zero', 'square'];\n const isUnordered = $.inArray(styleInfo['list-style-type'], orderedTypes) > -1;\n styleInfo['list-style'] = isUnordered ? 'unordered' : 'ordered';\n }\n\n const para = dom.ancestor(rng.sc, dom.isPara);\n if (para && para.style['line-height']) {\n styleInfo['line-height'] = para.style.lineHeight;\n } else {\n const lineHeight = parseInt(styleInfo['line-height'], 10) / parseInt(styleInfo['font-size'], 10);\n styleInfo['line-height'] = lineHeight.toFixed(1);\n }\n\n styleInfo.anchor = rng.isOnAnchor() && dom.ancestor(rng.sc, dom.isAnchor);\n styleInfo.ancestors = dom.listAncestor(rng.sc, dom.isEditable);\n styleInfo.range = rng;\n\n return styleInfo;\n }\n}\n","import $ from 'jquery';\nimport lists from '../core/lists';\nimport func from '../core/func';\nimport dom from '../core/dom';\nimport range from '../core/range';\n\nexport default class Bullet {\n /**\n * toggle ordered list\n */\n insertOrderedList(editable) {\n this.toggleList('OL', editable);\n }\n\n /**\n * toggle unordered list\n */\n insertUnorderedList(editable) {\n this.toggleList('UL', editable);\n }\n\n /**\n * indent\n */\n indent(editable) {\n const rng = range.create(editable).wrapBodyInlineWithPara();\n\n const paras = rng.nodes(dom.isPara, { includeAncestor: true });\n const clustereds = lists.clusterBy(paras, func.peq2('parentNode'));\n\n $.each(clustereds, (idx, paras) => {\n const head = lists.head(paras);\n if (dom.isLi(head)) {\n this.wrapList(paras, head.parentNode.nodeName);\n } else {\n $.each(paras, (idx, para) => {\n $(para).css('marginLeft', (idx, val) => {\n return (parseInt(val, 10) || 0) + 25;\n });\n });\n }\n });\n\n rng.select();\n }\n\n /**\n * outdent\n */\n outdent(editable) {\n const rng = range.create(editable).wrapBodyInlineWithPara();\n\n const paras = rng.nodes(dom.isPara, { includeAncestor: true });\n const clustereds = lists.clusterBy(paras, func.peq2('parentNode'));\n\n $.each(clustereds, (idx, paras) => {\n const head = lists.head(paras);\n if (dom.isLi(head)) {\n this.releaseList([paras]);\n } else {\n $.each(paras, (idx, para) => {\n $(para).css('marginLeft', (idx, val) => {\n val = (parseInt(val, 10) || 0);\n return val > 25 ? val - 25 : '';\n });\n });\n }\n });\n\n rng.select();\n }\n\n /**\n * toggle list\n *\n * @param {String} listName - OL or UL\n */\n toggleList(listName, editable) {\n const rng = range.create(editable).wrapBodyInlineWithPara();\n\n let paras = rng.nodes(dom.isPara, { includeAncestor: true });\n const bookmark = rng.paraBookmark(paras);\n const clustereds = lists.clusterBy(paras, func.peq2('parentNode'));\n\n // paragraph to list\n if (lists.find(paras, dom.isPurePara)) {\n let wrappedParas = [];\n $.each(clustereds, (idx, paras) => {\n wrappedParas = wrappedParas.concat(this.wrapList(paras, listName));\n });\n paras = wrappedParas;\n // list to paragraph or change list style\n } else {\n const diffLists = rng.nodes(dom.isList, {\n includeAncestor: true\n }).filter((listNode) => {\n return !$.nodeName(listNode, listName);\n });\n\n if (diffLists.length) {\n $.each(diffLists, (idx, listNode) => {\n dom.replace(listNode, listName);\n });\n } else {\n paras = this.releaseList(clustereds, true);\n }\n }\n\n range.createFromParaBookmark(bookmark, paras).select();\n }\n\n /**\n * @param {Node[]} paras\n * @param {String} listName\n * @return {Node[]}\n */\n wrapList(paras, listName) {\n const head = lists.head(paras);\n const last = lists.last(paras);\n\n const prevList = dom.isList(head.previousSibling) && head.previousSibling;\n const nextList = dom.isList(last.nextSibling) && last.nextSibling;\n\n const listNode = prevList || dom.insertAfter(dom.create(listName || 'UL'), last);\n\n // P to LI\n paras = paras.map((para) => {\n return dom.isPurePara(para) ? dom.replace(para, 'LI') : para;\n });\n\n // append to list(<ul>, <ol>)\n dom.appendChildNodes(listNode, paras);\n\n if (nextList) {\n dom.appendChildNodes(listNode, lists.from(nextList.childNodes));\n dom.remove(nextList);\n }\n\n return paras;\n }\n\n /**\n * @method releaseList\n *\n * @param {Array[]} clustereds\n * @param {Boolean} isEscapseToBody\n * @return {Node[]}\n */\n releaseList(clustereds, isEscapseToBody) {\n let releasedParas = [];\n\n $.each(clustereds, (idx, paras) => {\n const head = lists.head(paras);\n const last = lists.last(paras);\n\n const headList = isEscapseToBody ? dom.lastAncestor(head, dom.isList) : head.parentNode;\n const lastList = headList.childNodes.length > 1 ? dom.splitTree(headList, {\n node: last.parentNode,\n offset: dom.position(last) + 1\n }, {\n isSkipPaddingBlankHTML: true\n }) : null;\n\n const middleList = dom.splitTree(headList, {\n node: head.parentNode,\n offset: dom.position(head)\n }, {\n isSkipPaddingBlankHTML: true\n });\n\n paras = isEscapseToBody ? dom.listDescendant(middleList, dom.isLi)\n : lists.from(middleList.childNodes).filter(dom.isLi);\n\n // LI to P\n if (isEscapseToBody || !dom.isList(headList.parentNode)) {\n paras = paras.map((para) => {\n return dom.replace(para, 'P');\n });\n }\n\n $.each(lists.from(paras).reverse(), (idx, para) => {\n dom.insertAfter(para, headList);\n });\n\n // remove empty lists\n const rootLists = lists.compact([headList, middleList, lastList]);\n $.each(rootLists, (idx, rootList) => {\n const listNodes = [rootList].concat(dom.listDescendant(rootList, dom.isList));\n $.each(listNodes.reverse(), (idx, listNode) => {\n if (!dom.nodeLength(listNode)) {\n dom.remove(listNode, true);\n }\n });\n });\n\n releasedParas = releasedParas.concat(paras);\n });\n\n return releasedParas;\n }\n}\n","import $ from 'jquery';\nimport dom from '../core/dom';\nimport range from '../core/range';\nimport Bullet from '../editing/Bullet';\n\n/**\n * @class editing.Typing\n *\n * Typing\n *\n */\nexport default class Typing {\n constructor() {\n // a Bullet instance to toggle lists off\n this.bullet = new Bullet();\n }\n\n /**\n * insert tab\n *\n * @param {WrappedRange} rng\n * @param {Number} tabsize\n */\n insertTab(rng, tabsize) {\n const tab = dom.createText(new Array(tabsize + 1).join(dom.NBSP_CHAR));\n rng = rng.deleteContents();\n rng.insertNode(tab, true);\n\n rng = range.create(tab, tabsize);\n rng.select();\n }\n\n /**\n * insert paragraph\n */\n insertParagraph(editable) {\n let rng = range.create(editable);\n\n // deleteContents on range.\n rng = rng.deleteContents();\n\n // Wrap range if it needs to be wrapped by paragraph\n rng = rng.wrapBodyInlineWithPara();\n\n // finding paragraph\n const splitRoot = dom.ancestor(rng.sc, dom.isPara);\n\n let nextPara;\n // on paragraph: split paragraph\n if (splitRoot) {\n // if it is an empty line with li\n if (dom.isEmpty(splitRoot) && dom.isLi(splitRoot)) {\n // toogle UL/OL and escape\n this.bullet.toggleList(splitRoot.parentNode.nodeName);\n return;\n // if it is an empty line with para on blockquote\n } else if (dom.isEmpty(splitRoot) && dom.isPara(splitRoot) && dom.isBlockquote(splitRoot.parentNode)) {\n // escape blockquote\n dom.insertAfter(splitRoot, splitRoot.parentNode);\n nextPara = splitRoot;\n // if new line has content (not a line break)\n } else {\n nextPara = dom.splitTree(splitRoot, rng.getStartPoint());\n\n let emptyAnchors = dom.listDescendant(splitRoot, dom.isEmptyAnchor);\n emptyAnchors = emptyAnchors.concat(dom.listDescendant(nextPara, dom.isEmptyAnchor));\n\n $.each(emptyAnchors, (idx, anchor) => {\n dom.remove(anchor);\n });\n\n // replace empty heading, pre or custom-made styleTag with P tag\n if ((dom.isHeading(nextPara) || dom.isPre(nextPara) || dom.isCustomStyleTag(nextPara)) && dom.isEmpty(nextPara)) {\n nextPara = dom.replace(nextPara, 'p');\n }\n }\n // no paragraph: insert empty paragraph\n } else {\n const next = rng.sc.childNodes[rng.so];\n nextPara = $(dom.emptyPara)[0];\n if (next) {\n rng.sc.insertBefore(nextPara, next);\n } else {\n rng.sc.appendChild(nextPara);\n }\n }\n\n range.create(nextPara, 0).normalize().select().scrollIntoView(editable);\n }\n}\n","import $ from 'jquery';\nimport dom from '../core/dom';\nimport range from '../core/range';\nimport lists from '../core/lists';\n\n/**\n * @class Create a virtual table to create what actions to do in change.\n * @param {object} startPoint Cell selected to apply change.\n * @param {enum} where Where change will be applied Row or Col. Use enum: TableResultAction.where\n * @param {enum} action Action to be applied. Use enum: TableResultAction.requestAction\n * @param {object} domTable Dom element of table to make changes.\n */\nconst TableResultAction = function(startPoint, where, action, domTable) {\n const _startPoint = { 'colPos': 0, 'rowPos': 0 };\n const _virtualTable = [];\n const _actionCellList = [];\n\n /// ///////////////////////////////////////////\n // Private functions\n /// ///////////////////////////////////////////\n\n /**\n * Set the startPoint of action.\n */\n function setStartPoint() {\n if (!startPoint || !startPoint.tagName || (startPoint.tagName.toLowerCase() !== 'td' && startPoint.tagName.toLowerCase() !== 'th')) {\n console.error('Impossible to identify start Cell point.', startPoint);\n return;\n }\n _startPoint.colPos = startPoint.cellIndex;\n if (!startPoint.parentElement || !startPoint.parentElement.tagName || startPoint.parentElement.tagName.toLowerCase() !== 'tr') {\n console.error('Impossible to identify start Row point.', startPoint);\n return;\n }\n _startPoint.rowPos = startPoint.parentElement.rowIndex;\n }\n\n /**\n * Define virtual table position info object.\n *\n * @param {int} rowIndex Index position in line of virtual table.\n * @param {int} cellIndex Index position in column of virtual table.\n * @param {object} baseRow Row affected by this position.\n * @param {object} baseCell Cell affected by this position.\n * @param {bool} isSpan Inform if it is an span cell/row.\n */\n function setVirtualTablePosition(rowIndex, cellIndex, baseRow, baseCell, isRowSpan, isColSpan, isVirtualCell) {\n const objPosition = {\n 'baseRow': baseRow,\n 'baseCell': baseCell,\n 'isRowSpan': isRowSpan,\n 'isColSpan': isColSpan,\n 'isVirtual': isVirtualCell\n };\n if (!_virtualTable[rowIndex]) {\n _virtualTable[rowIndex] = [];\n }\n _virtualTable[rowIndex][cellIndex] = objPosition;\n }\n\n /**\n * Create action cell object.\n *\n * @param {object} virtualTableCellObj Object of specific position on virtual table.\n * @param {enum} resultAction Action to be applied in that item.\n */\n function getActionCell(virtualTableCellObj, resultAction, virtualRowPosition, virtualColPosition) {\n return {\n 'baseCell': virtualTableCellObj.baseCell,\n 'action': resultAction,\n 'virtualTable': {\n 'rowIndex': virtualRowPosition,\n 'cellIndex': virtualColPosition\n }\n };\n }\n\n /**\n * Recover free index of row to append Cell.\n *\n * @param {int} rowIndex Index of row to find free space.\n * @param {int} cellIndex Index of cell to find free space in table.\n */\n function recoverCellIndex(rowIndex, cellIndex) {\n if (!_virtualTable[rowIndex]) {\n return cellIndex;\n }\n if (!_virtualTable[rowIndex][cellIndex]) {\n return cellIndex;\n }\n\n let newCellIndex = cellIndex;\n while (_virtualTable[rowIndex][newCellIndex]) {\n newCellIndex++;\n if (!_virtualTable[rowIndex][newCellIndex]) {\n return newCellIndex;\n }\n }\n }\n\n /**\n * Recover info about row and cell and add information to virtual table.\n *\n * @param {object} row Row to recover information.\n * @param {object} cell Cell to recover information.\n */\n function addCellInfoToVirtual(row, cell) {\n const cellIndex = recoverCellIndex(row.rowIndex, cell.cellIndex);\n const cellHasColspan = (cell.colSpan > 1);\n const cellHasRowspan = (cell.rowSpan > 1);\n const isThisSelectedCell = (row.rowIndex === _startPoint.rowPos && cell.cellIndex === _startPoint.colPos);\n setVirtualTablePosition(row.rowIndex, cellIndex, row, cell, cellHasRowspan, cellHasColspan, false);\n\n // Add span rows to virtual Table.\n const rowspanNumber = cell.attributes.rowSpan ? parseInt(cell.attributes.rowSpan.value, 10) : 0;\n if (rowspanNumber > 1) {\n for (let rp = 1; rp < rowspanNumber; rp++) {\n const rowspanIndex = row.rowIndex + rp;\n adjustStartPoint(rowspanIndex, cellIndex, cell, isThisSelectedCell);\n setVirtualTablePosition(rowspanIndex, cellIndex, row, cell, true, cellHasColspan, true);\n }\n }\n\n // Add span cols to virtual table.\n const colspanNumber = cell.attributes.colSpan ? parseInt(cell.attributes.colSpan.value, 10) : 0;\n if (colspanNumber > 1) {\n for (let cp = 1; cp < colspanNumber; cp++) {\n const cellspanIndex = recoverCellIndex(row.rowIndex, (cellIndex + cp));\n adjustStartPoint(row.rowIndex, cellspanIndex, cell, isThisSelectedCell);\n setVirtualTablePosition(row.rowIndex, cellspanIndex, row, cell, cellHasRowspan, true, true);\n }\n }\n }\n\n /**\n * Process validation and adjust of start point if needed\n *\n * @param {int} rowIndex\n * @param {int} cellIndex\n * @param {object} cell\n * @param {bool} isSelectedCell\n */\n function adjustStartPoint(rowIndex, cellIndex, cell, isSelectedCell) {\n if (rowIndex === _startPoint.rowPos && _startPoint.colPos >= cell.cellIndex && cell.cellIndex <= cellIndex && !isSelectedCell) {\n _startPoint.colPos++;\n }\n }\n\n /**\n * Create virtual table of cells with all cells, including span cells.\n */\n function createVirtualTable() {\n const rows = domTable.rows;\n for (let rowIndex = 0; rowIndex < rows.length; rowIndex++) {\n const cells = rows[rowIndex].cells;\n for (let cellIndex = 0; cellIndex < cells.length; cellIndex++) {\n addCellInfoToVirtual(rows[rowIndex], cells[cellIndex]);\n }\n }\n }\n\n /**\n * Get action to be applied on the cell.\n *\n * @param {object} cell virtual table cell to apply action\n */\n function getDeleteResultActionToCell(cell) {\n switch (where) {\n case TableResultAction.where.Column:\n if (cell.isColSpan) {\n return TableResultAction.resultAction.SubtractSpanCount;\n }\n break;\n case TableResultAction.where.Row:\n if (!cell.isVirtual && cell.isRowSpan) {\n return TableResultAction.resultAction.AddCell;\n } else if (cell.isRowSpan) {\n return TableResultAction.resultAction.SubtractSpanCount;\n }\n break;\n }\n return TableResultAction.resultAction.RemoveCell;\n }\n\n /**\n * Get action to be applied on the cell.\n *\n * @param {object} cell virtual table cell to apply action\n */\n function getAddResultActionToCell(cell) {\n switch (where) {\n case TableResultAction.where.Column:\n if (cell.isColSpan) {\n return TableResultAction.resultAction.SumSpanCount;\n } else if (cell.isRowSpan && cell.isVirtual) {\n return TableResultAction.resultAction.Ignore;\n }\n break;\n case TableResultAction.where.Row:\n if (cell.isRowSpan) {\n return TableResultAction.resultAction.SumSpanCount;\n } else if (cell.isColSpan && cell.isVirtual) {\n return TableResultAction.resultAction.Ignore;\n }\n break;\n }\n return TableResultAction.resultAction.AddCell;\n }\n\n function init() {\n setStartPoint();\n createVirtualTable();\n }\n\n /// ///////////////////////////////////////////\n // Public functions\n /// ///////////////////////////////////////////\n\n /**\n * Recover array os what to do in table.\n */\n this.getActionList = function() {\n const fixedRow = (where === TableResultAction.where.Row) ? _startPoint.rowPos : -1;\n const fixedCol = (where === TableResultAction.where.Column) ? _startPoint.colPos : -1;\n\n let actualPosition = 0;\n let canContinue = true;\n while (canContinue) {\n const rowPosition = (fixedRow >= 0) ? fixedRow : actualPosition;\n const colPosition = (fixedCol >= 0) ? fixedCol : actualPosition;\n const row = _virtualTable[rowPosition];\n if (!row) {\n canContinue = false;\n return _actionCellList;\n }\n const cell = row[colPosition];\n if (!cell) {\n canContinue = false;\n return _actionCellList;\n }\n\n // Define action to be applied in this cell\n let resultAction = TableResultAction.resultAction.Ignore;\n switch (action) {\n case TableResultAction.requestAction.Add:\n resultAction = getAddResultActionToCell(cell);\n break;\n case TableResultAction.requestAction.Delete:\n resultAction = getDeleteResultActionToCell(cell);\n break;\n }\n _actionCellList.push(getActionCell(cell, resultAction, rowPosition, colPosition));\n actualPosition++;\n }\n\n return _actionCellList;\n };\n\n init();\n};\n/**\n*\n* Where action occours enum.\n*/\nTableResultAction.where = { 'Row': 0, 'Column': 1 };\n/**\n*\n* Requested action to apply enum.\n*/\nTableResultAction.requestAction = { 'Add': 0, 'Delete': 1 };\n/**\n*\n* Result action to be executed enum.\n*/\nTableResultAction.resultAction = { 'Ignore': 0, 'SubtractSpanCount': 1, 'RemoveCell': 2, 'AddCell': 3, 'SumSpanCount': 4 };\n\n/**\n *\n * @class editing.Table\n *\n * Table\n *\n */\nexport default class Table {\n /**\n * handle tab key\n *\n * @param {WrappedRange} rng\n * @param {Boolean} isShift\n */\n tab(rng, isShift) {\n const cell = dom.ancestor(rng.commonAncestor(), dom.isCell);\n const table = dom.ancestor(cell, dom.isTable);\n const cells = dom.listDescendant(table, dom.isCell);\n\n const nextCell = lists[isShift ? 'prev' : 'next'](cells, cell);\n if (nextCell) {\n range.create(nextCell, 0).select();\n }\n }\n\n /**\n * Add a new row\n *\n * @param {WrappedRange} rng\n * @param {String} position (top/bottom)\n * @return {Node}\n */\n addRow(rng, position) {\n const cell = dom.ancestor(rng.commonAncestor(), dom.isCell);\n\n const currentTr = $(cell).closest('tr');\n const trAttributes = this.recoverAttributes(currentTr);\n const html = $('<tr' + trAttributes + '></tr>');\n\n const vTable = new TableResultAction(cell, TableResultAction.where.Row,\n TableResultAction.requestAction.Add, $(currentTr).closest('table')[0]);\n const actions = vTable.getActionList();\n\n for (let idCell = 0; idCell < actions.length; idCell++) {\n const currentCell = actions[idCell];\n const tdAttributes = this.recoverAttributes(currentCell.baseCell);\n switch (currentCell.action) {\n case TableResultAction.resultAction.AddCell:\n html.append('<td' + tdAttributes + '>' + dom.blank + '</td>');\n break;\n case TableResultAction.resultAction.SumSpanCount:\n if (position === 'top') {\n const baseCellTr = currentCell.baseCell.parent;\n const isTopFromRowSpan = (!baseCellTr ? 0 : currentCell.baseCell.closest('tr').rowIndex) <= currentTr[0].rowIndex;\n if (isTopFromRowSpan) {\n const newTd = $('<div></div>').append($('<td' + tdAttributes + '>' + dom.blank + '</td>').removeAttr('rowspan')).html();\n html.append(newTd);\n break;\n }\n }\n let rowspanNumber = parseInt(currentCell.baseCell.rowSpan, 10);\n rowspanNumber++;\n currentCell.baseCell.setAttribute('rowSpan', rowspanNumber);\n break;\n }\n }\n\n if (position === 'top') {\n currentTr.before(html);\n } else {\n const cellHasRowspan = (cell.rowSpan > 1);\n if (cellHasRowspan) {\n const lastTrIndex = currentTr[0].rowIndex + (cell.rowSpan - 2);\n $($(currentTr).parent().find('tr')[lastTrIndex]).after($(html));\n return;\n }\n currentTr.after(html);\n }\n }\n\n /**\n * Add a new col\n *\n * @param {WrappedRange} rng\n * @param {String} position (left/right)\n * @return {Node}\n */\n addCol(rng, position) {\n const cell = dom.ancestor(rng.commonAncestor(), dom.isCell);\n const row = $(cell).closest('tr');\n const rowsGroup = $(row).siblings();\n rowsGroup.push(row);\n\n const vTable = new TableResultAction(cell, TableResultAction.where.Column,\n TableResultAction.requestAction.Add, $(row).closest('table')[0]);\n const actions = vTable.getActionList();\n\n for (let actionIndex = 0; actionIndex < actions.length; actionIndex++) {\n const currentCell = actions[actionIndex];\n const tdAttributes = this.recoverAttributes(currentCell.baseCell);\n switch (currentCell.action) {\n case TableResultAction.resultAction.AddCell:\n if (position === 'right') {\n $(currentCell.baseCell).after('<td' + tdAttributes + '>' + dom.blank + '</td>');\n } else {\n $(currentCell.baseCell).before('<td' + tdAttributes + '>' + dom.blank + '</td>');\n }\n break;\n case TableResultAction.resultAction.SumSpanCount:\n if (position === 'right') {\n let colspanNumber = parseInt(currentCell.baseCell.colSpan, 10);\n colspanNumber++;\n currentCell.baseCell.setAttribute('colSpan', colspanNumber);\n } else {\n $(currentCell.baseCell).before('<td' + tdAttributes + '>' + dom.blank + '</td>');\n }\n break;\n }\n }\n }\n\n /*\n * Copy attributes from element.\n *\n * @param {object} Element to recover attributes.\n * @return {string} Copied string elements.\n */\n recoverAttributes(el) {\n let resultStr = '';\n\n if (!el) {\n return resultStr;\n }\n\n const attrList = el.attributes || [];\n\n for (let i = 0; i < attrList.length; i++) {\n if (attrList[i].name.toLowerCase() === 'id') {\n continue;\n }\n\n if (attrList[i].specified) {\n resultStr += ' ' + attrList[i].name + '=\\'' + attrList[i].value + '\\'';\n }\n }\n\n return resultStr;\n }\n\n /**\n * Delete current row\n *\n * @param {WrappedRange} rng\n * @return {Node}\n */\n deleteRow(rng) {\n const cell = dom.ancestor(rng.commonAncestor(), dom.isCell);\n const row = $(cell).closest('tr');\n const cellPos = row.children('td, th').index($(cell));\n const rowPos = row[0].rowIndex;\n\n const vTable = new TableResultAction(cell, TableResultAction.where.Row,\n TableResultAction.requestAction.Delete, $(row).closest('table')[0]);\n const actions = vTable.getActionList();\n\n for (let actionIndex = 0; actionIndex < actions.length; actionIndex++) {\n if (!actions[actionIndex]) {\n continue;\n }\n\n const baseCell = actions[actionIndex].baseCell;\n const virtualPosition = actions[actionIndex].virtualTable;\n const hasRowspan = (baseCell.rowSpan && baseCell.rowSpan > 1);\n let rowspanNumber = (hasRowspan) ? parseInt(baseCell.rowSpan, 10) : 0;\n switch (actions[actionIndex].action) {\n case TableResultAction.resultAction.Ignore:\n continue;\n case TableResultAction.resultAction.AddCell:\n const nextRow = row.next('tr')[0];\n if (!nextRow) { continue; }\n const cloneRow = row[0].cells[cellPos];\n if (hasRowspan) {\n if (rowspanNumber > 2) {\n rowspanNumber--;\n nextRow.insertBefore(cloneRow, nextRow.cells[cellPos]);\n nextRow.cells[cellPos].setAttribute('rowSpan', rowspanNumber);\n nextRow.cells[cellPos].innerHTML = '';\n } else if (rowspanNumber === 2) {\n nextRow.insertBefore(cloneRow, nextRow.cells[cellPos]);\n nextRow.cells[cellPos].removeAttribute('rowSpan');\n nextRow.cells[cellPos].innerHTML = '';\n }\n }\n continue;\n case TableResultAction.resultAction.SubtractSpanCount:\n if (hasRowspan) {\n if (rowspanNumber > 2) {\n rowspanNumber--;\n baseCell.setAttribute('rowSpan', rowspanNumber);\n if (virtualPosition.rowIndex !== rowPos && baseCell.cellIndex === cellPos) { baseCell.innerHTML = ''; }\n } else if (rowspanNumber === 2) {\n baseCell.removeAttribute('rowSpan');\n if (virtualPosition.rowIndex !== rowPos && baseCell.cellIndex === cellPos) { baseCell.innerHTML = ''; }\n }\n }\n continue;\n case TableResultAction.resultAction.RemoveCell:\n // Do not need remove cell because row will be deleted.\n continue;\n }\n }\n row.remove();\n }\n\n /**\n * Delete current col\n *\n * @param {WrappedRange} rng\n * @return {Node}\n */\n deleteCol(rng) {\n const cell = dom.ancestor(rng.commonAncestor(), dom.isCell);\n const row = $(cell).closest('tr');\n const cellPos = row.children('td, th').index($(cell));\n\n const vTable = new TableResultAction(cell, TableResultAction.where.Column,\n TableResultAction.requestAction.Delete, $(row).closest('table')[0]);\n const actions = vTable.getActionList();\n\n for (let actionIndex = 0; actionIndex < actions.length; actionIndex++) {\n if (!actions[actionIndex]) {\n continue;\n }\n switch (actions[actionIndex].action) {\n case TableResultAction.resultAction.Ignore:\n continue;\n case TableResultAction.resultAction.SubtractSpanCount:\n const baseCell = actions[actionIndex].baseCell;\n const hasColspan = (baseCell.colSpan && baseCell.colSpan > 1);\n if (hasColspan) {\n let colspanNumber = (baseCell.colSpan) ? parseInt(baseCell.colSpan, 10) : 0;\n if (colspanNumber > 2) {\n colspanNumber--;\n baseCell.setAttribute('colSpan', colspanNumber);\n if (baseCell.cellIndex === cellPos) { baseCell.innerHTML = ''; }\n } else if (colspanNumber === 2) {\n baseCell.removeAttribute('colSpan');\n if (baseCell.cellIndex === cellPos) { baseCell.innerHTML = ''; }\n }\n }\n continue;\n case TableResultAction.resultAction.RemoveCell:\n dom.remove(actions[actionIndex].baseCell, true);\n continue;\n }\n }\n }\n\n /**\n * create empty table element\n *\n * @param {Number} rowCount\n * @param {Number} colCount\n * @return {Node}\n */\n createTable(colCount, rowCount, options) {\n const tds = [];\n let tdHTML;\n for (let idxCol = 0; idxCol < colCount; idxCol++) {\n tds.push('<td>' + dom.blank + '</td>');\n }\n tdHTML = tds.join('');\n\n const trs = [];\n let trHTML;\n for (let idxRow = 0; idxRow < rowCount; idxRow++) {\n trs.push('<tr>' + tdHTML + '</tr>');\n }\n trHTML = trs.join('');\n const $table = $('<table>' + trHTML + '</table>');\n if (options && options.tableClassName) {\n $table.addClass(options.tableClassName);\n }\n\n return $table[0];\n }\n\n /**\n * Delete current table\n *\n * @param {WrappedRange} rng\n * @return {Node}\n */\n deleteTable(rng) {\n const cell = dom.ancestor(rng.commonAncestor(), dom.isCell);\n $(cell).closest('table').remove();\n }\n}\n","import $ from 'jquery';\nimport env from '../core/env';\nimport key from '../core/key';\nimport func from '../core/func';\nimport lists from '../core/lists';\nimport dom from '../core/dom';\nimport range from '../core/range';\nimport { readFileAsDataURL, createImage } from '../core/async';\nimport History from '../editing/History';\nimport Style from '../editing/Style';\nimport Typing from '../editing/Typing';\nimport Table from '../editing/Table';\nimport Bullet from '../editing/Bullet';\n\nconst KEY_BOGUS = 'bogus';\n\n/**\n * @class Editor\n */\nexport default class Editor {\n constructor(context) {\n this.context = context;\n\n this.$note = context.layoutInfo.note;\n this.$editor = context.layoutInfo.editor;\n this.$editable = context.layoutInfo.editable;\n this.options = context.options;\n this.lang = this.options.langInfo;\n\n this.editable = this.$editable[0];\n this.lastRange = null;\n\n this.style = new Style();\n this.table = new Table();\n this.typing = new Typing();\n this.bullet = new Bullet();\n this.history = new History(this.$editable);\n\n this.context.memo('help.undo', this.lang.help.undo);\n this.context.memo('help.redo', this.lang.help.redo);\n this.context.memo('help.tab', this.lang.help.tab);\n this.context.memo('help.untab', this.lang.help.untab);\n this.context.memo('help.insertParagraph', this.lang.help.insertParagraph);\n this.context.memo('help.insertOrderedList', this.lang.help.insertOrderedList);\n this.context.memo('help.insertUnorderedList', this.lang.help.insertUnorderedList);\n this.context.memo('help.indent', this.lang.help.indent);\n this.context.memo('help.outdent', this.lang.help.outdent);\n this.context.memo('help.formatPara', this.lang.help.formatPara);\n this.context.memo('help.insertHorizontalRule', this.lang.help.insertHorizontalRule);\n this.context.memo('help.fontName', this.lang.help.fontName);\n\n // native commands(with execCommand), generate function for execCommand\n const commands = [\n 'bold', 'italic', 'underline', 'strikethrough', 'superscript', 'subscript',\n 'justifyLeft', 'justifyCenter', 'justifyRight', 'justifyFull',\n 'formatBlock', 'removeFormat', 'backColor'\n ];\n\n for (let idx = 0, len = commands.length; idx < len; idx++) {\n this[commands[idx]] = ((sCmd) => {\n return (value) => {\n this.beforeCommand();\n document.execCommand(sCmd, false, value);\n this.afterCommand(true);\n };\n })(commands[idx]);\n this.context.memo('help.' + commands[idx], this.lang.help[commands[idx]]);\n }\n\n this.fontName = this.wrapCommand((value) => {\n return this.fontStyling('font-family', \"\\'\" + value + \"\\'\");\n });\n\n this.fontSize = this.wrapCommand((value) => {\n return this.fontStyling('font-size', value + 'px');\n });\n\n for (let idx = 1; idx <= 6; idx++) {\n this['formatH' + idx] = ((idx) => {\n return () => {\n this.formatBlock('H' + idx);\n };\n })(idx);\n this.context.memo('help.formatH' + idx, this.lang.help['formatH' + idx]);\n };\n\n this.insertParagraph = this.wrapCommand(() => {\n this.typing.insertParagraph(this.editable);\n });\n\n this.insertOrderedList = this.wrapCommand(() => {\n this.bullet.insertOrderedList(this.editable);\n });\n\n this.insertUnorderedList = this.wrapCommand(() => {\n this.bullet.insertUnorderedList(this.editable);\n });\n\n this.indent = this.wrapCommand(() => {\n this.bullet.indent(this.editable);\n });\n\n this.outdent = this.wrapCommand(() => {\n this.bullet.outdent(this.editable);\n });\n\n /**\n * insertNode\n * insert node\n * @param {Node} node\n */\n this.insertNode = this.wrapCommand((node) => {\n if (this.isLimited($(node).text().length)) {\n return;\n }\n const rng = this.createRange();\n rng.insertNode(node);\n range.createFromNodeAfter(node).select();\n });\n\n /**\n * insert text\n * @param {String} text\n */\n this.insertText = this.wrapCommand((text) => {\n if (this.isLimited(text.length)) {\n return;\n }\n const rng = this.createRange();\n const textNode = rng.insertNode(dom.createText(text));\n range.create(textNode, dom.nodeLength(textNode)).select();\n });\n /**\n * paste HTML\n * @param {String} markup\n */\n this.pasteHTML = this.wrapCommand((markup) => {\n if (this.isLimited(markup.length)) {\n return;\n }\n const contents = this.createRange().pasteHTML(markup);\n range.createFromNodeAfter(lists.last(contents)).select();\n });\n\n /**\n * formatBlock\n *\n * @param {String} tagName\n */\n this.formatBlock = this.wrapCommand((tagName, $target) => {\n const onApplyCustomStyle = this.options.callbacks.onApplyCustomStyle;\n if (onApplyCustomStyle) {\n onApplyCustomStyle.call(this, $target, this.context, this.onFormatBlock);\n } else {\n this.onFormatBlock(tagName, $target);\n }\n });\n\n /**\n * insert horizontal rule\n */\n this.insertHorizontalRule = this.wrapCommand(() => {\n const hrNode = this.createRange().insertNode(dom.create('HR'));\n if (hrNode.nextSibling) {\n range.create(hrNode.nextSibling, 0).normalize().select();\n }\n });\n\n /**\n * lineHeight\n * @param {String} value\n */\n this.lineHeight = this.wrapCommand((value) => {\n this.style.stylePara(this.createRange(), {\n lineHeight: value\n });\n });\n\n /**\n * create link (command)\n *\n * @param {Object} linkInfo\n */\n this.createLink = this.wrapCommand((linkInfo) => {\n let linkUrl = linkInfo.url;\n const linkText = linkInfo.text;\n const isNewWindow = linkInfo.isNewWindow;\n let rng = linkInfo.range || this.createRange();\n const isTextChanged = rng.toString() !== linkText;\n\n // handle spaced urls from input\n if (typeof linkUrl === 'string') {\n linkUrl = linkUrl.trim();\n }\n\n if (this.options.onCreateLink) {\n linkUrl = this.options.onCreateLink(linkUrl);\n } else {\n // if url doesn't match an URL schema, set http:// as default\n linkUrl = /^[A-Za-z][A-Za-z0-9+-.]*\\:[\\/\\/]?/.test(linkUrl)\n ? linkUrl : 'http://' + linkUrl;\n }\n\n let anchors = [];\n if (isTextChanged) {\n rng = rng.deleteContents();\n const anchor = rng.insertNode($('<A>' + linkText + '</A>')[0]);\n anchors.push(anchor);\n } else {\n anchors = this.style.styleNodes(rng, {\n nodeName: 'A',\n expandClosestSibling: true,\n onlyPartialContains: true\n });\n }\n\n $.each(anchors, (idx, anchor) => {\n $(anchor).attr('href', linkUrl);\n if (isNewWindow) {\n $(anchor).attr('target', '_blank');\n } else {\n $(anchor).removeAttr('target');\n }\n });\n\n const startRange = range.createFromNodeBefore(lists.head(anchors));\n const startPoint = startRange.getStartPoint();\n const endRange = range.createFromNodeAfter(lists.last(anchors));\n const endPoint = endRange.getEndPoint();\n\n range.create(\n startPoint.node,\n startPoint.offset,\n endPoint.node,\n endPoint.offset\n ).select();\n });\n\n /**\n * setting color\n *\n * @param {Object} sObjColor color code\n * @param {String} sObjColor.foreColor foreground color\n * @param {String} sObjColor.backColor background color\n */\n this.color = this.wrapCommand((colorInfo) => {\n const foreColor = colorInfo.foreColor;\n const backColor = colorInfo.backColor;\n\n if (foreColor) { document.execCommand('foreColor', false, foreColor); }\n if (backColor) { document.execCommand('backColor', false, backColor); }\n });\n\n /**\n * Set foreground color\n *\n * @param {String} colorCode foreground color code\n */\n this.foreColor = this.wrapCommand((colorInfo) => {\n document.execCommand('styleWithCSS', false, true);\n document.execCommand('foreColor', false, colorInfo);\n });\n\n /**\n * insert Table\n *\n * @param {String} dimension of table (ex : \"5x5\")\n */\n this.insertTable = this.wrapCommand((dim) => {\n const dimension = dim.split('x');\n\n const rng = this.createRange().deleteContents();\n rng.insertNode(this.table.createTable(dimension[0], dimension[1], this.options));\n });\n\n /**\n * remove media object and Figure Elements if media object is img with Figure.\n */\n this.removeMedia = this.wrapCommand(() => {\n let $target = $(this.restoreTarget()).parent();\n if ($target.parent('figure').length) {\n $target.parent('figure').remove();\n } else {\n $target = $(this.restoreTarget()).detach();\n }\n this.context.triggerEvent('media.delete', $target, this.$editable);\n });\n\n /**\n * float me\n *\n * @param {String} value\n */\n this.floatMe = this.wrapCommand((value) => {\n const $target = $(this.restoreTarget());\n $target.toggleClass('note-float-left', value === 'left');\n $target.toggleClass('note-float-right', value === 'right');\n $target.css('float', value);\n });\n\n /**\n * resize overlay element\n * @param {String} value\n */\n this.resize = this.wrapCommand((value) => {\n const $target = $(this.restoreTarget());\n $target.css({\n width: value * 100 + '%',\n height: ''\n });\n });\n }\n\n initialize() {\n // bind custom events\n this.$editable.on('keydown', (event) => {\n if (event.keyCode === key.code.ENTER) {\n this.context.triggerEvent('enter', event);\n }\n this.context.triggerEvent('keydown', event);\n\n if (!event.isDefaultPrevented()) {\n if (this.options.shortcuts) {\n this.handleKeyMap(event);\n } else {\n this.preventDefaultEditableShortCuts(event);\n }\n }\n if (this.isLimited(1, event)) {\n return false;\n }\n }).on('keyup', (event) => {\n this.context.triggerEvent('keyup', event);\n }).on('focus', (event) => {\n this.context.triggerEvent('focus', event);\n }).on('blur', (event) => {\n this.context.triggerEvent('blur', event);\n }).on('mousedown', (event) => {\n this.context.triggerEvent('mousedown', event);\n }).on('mouseup', (event) => {\n this.context.triggerEvent('mouseup', event);\n }).on('scroll', (event) => {\n this.context.triggerEvent('scroll', event);\n }).on('paste', (event) => {\n this.context.triggerEvent('paste', event);\n });\n\n // init content before set event\n this.$editable.html(dom.html(this.$note) || dom.emptyPara);\n\n this.$editable.on(env.inputEventName, func.debounce(() => {\n this.context.triggerEvent('change', this.$editable.html());\n }, 100));\n\n this.$editor.on('focusin', (event) => {\n this.context.triggerEvent('focusin', event);\n }).on('focusout', (event) => {\n this.context.triggerEvent('focusout', event);\n });\n\n if (!this.options.airMode) {\n if (this.options.width) {\n this.$editor.outerWidth(this.options.width);\n }\n if (this.options.height) {\n this.$editable.outerHeight(this.options.height);\n }\n if (this.options.maxHeight) {\n this.$editable.css('max-height', this.options.maxHeight);\n }\n if (this.options.minHeight) {\n this.$editable.css('min-height', this.options.minHeight);\n }\n }\n\n this.history.recordUndo();\n }\n\n destroy() {\n this.$editable.off();\n }\n\n handleKeyMap(event) {\n const keyMap = this.options.keyMap[env.isMac ? 'mac' : 'pc'];\n const keys = [];\n\n if (event.metaKey) { keys.push('CMD'); }\n if (event.ctrlKey && !event.altKey) { keys.push('CTRL'); }\n if (event.shiftKey) { keys.push('SHIFT'); }\n\n const keyName = key.nameFromCode[event.keyCode];\n if (keyName) {\n keys.push(keyName);\n }\n\n const eventName = keyMap[keys.join('+')];\n if (eventName) {\n if (this.context.invoke(eventName) !== false) {\n event.preventDefault();\n }\n } else if (key.isEdit(event.keyCode)) {\n this.afterCommand();\n }\n }\n\n preventDefaultEditableShortCuts(event) {\n // B(Bold, 66) / I(Italic, 73) / U(Underline, 85)\n if ((event.ctrlKey || event.metaKey) &&\n lists.contains([66, 73, 85], event.keyCode)) {\n event.preventDefault();\n }\n }\n\n isLimited(pad, event) {\n pad = pad || 0;\n\n if (typeof event !== 'undefined') {\n if (key.isMove(event.keyCode) ||\n (event.ctrlKey || event.metaKey) ||\n lists.contains([key.code.BACKSPACE, key.code.DELETE], event.keyCode)) {\n return false;\n }\n }\n\n if (this.options.maxTextLength > 0) {\n if ((this.$editable.text().length + pad) >= this.options.maxTextLength) {\n return true;\n }\n }\n return false;\n }\n /**\n * create range\n * @return {WrappedRange}\n */\n createRange() {\n this.focus();\n return range.create(this.editable);\n }\n\n /**\n * saveRange\n *\n * save current range\n *\n * @param {Boolean} [thenCollapse=false]\n */\n saveRange(thenCollapse) {\n this.lastRange = this.createRange();\n if (thenCollapse) {\n this.lastRange.collapse().select();\n }\n }\n\n /**\n * restoreRange\n *\n * restore lately range\n */\n restoreRange() {\n if (this.lastRange) {\n this.lastRange.select();\n this.focus();\n }\n }\n\n saveTarget(node) {\n this.$editable.data('target', node);\n }\n\n clearTarget() {\n this.$editable.removeData('target');\n }\n\n restoreTarget() {\n return this.$editable.data('target');\n }\n\n /**\n * currentStyle\n *\n * current style\n * @return {Object|Boolean} unfocus\n */\n currentStyle() {\n let rng = range.create();\n if (rng) {\n rng = rng.normalize();\n }\n return rng ? this.style.current(rng) : this.style.fromNode(this.$editable);\n }\n\n /**\n * style from node\n *\n * @param {jQuery} $node\n * @return {Object}\n */\n styleFromNode($node) {\n return this.style.fromNode($node);\n }\n\n /**\n * undo\n */\n undo() {\n this.context.triggerEvent('before.command', this.$editable.html());\n this.history.undo();\n this.context.triggerEvent('change', this.$editable.html());\n }\n\n /**\n * redo\n */\n redo() {\n this.context.triggerEvent('before.command', this.$editable.html());\n this.history.redo();\n this.context.triggerEvent('change', this.$editable.html());\n }\n\n /**\n * before command\n */\n beforeCommand() {\n this.context.triggerEvent('before.command', this.$editable.html());\n // keep focus on editable before command execution\n this.focus();\n }\n\n /**\n * after command\n * @param {Boolean} isPreventTrigger\n */\n afterCommand(isPreventTrigger) {\n this.normalizeContent();\n this.history.recordUndo();\n if (!isPreventTrigger) {\n this.context.triggerEvent('change', this.$editable.html());\n }\n }\n\n /**\n * handle tab key\n */\n tab() {\n const rng = this.createRange();\n if (rng.isCollapsed() && rng.isOnCell()) {\n this.table.tab(rng);\n } else {\n if (this.options.tabSize === 0) {\n return false;\n }\n\n if (!this.isLimited(this.options.tabSize)) {\n this.beforeCommand();\n this.typing.insertTab(rng, this.options.tabSize);\n this.afterCommand();\n }\n }\n }\n\n /**\n * handle shift+tab key\n */\n untab() {\n const rng = this.createRange();\n if (rng.isCollapsed() && rng.isOnCell()) {\n this.table.tab(rng, true);\n } else {\n if (this.options.tabSize === 0) {\n return false;\n }\n }\n }\n\n /**\n * run given function between beforeCommand and afterCommand\n */\n wrapCommand(fn) {\n return () => {\n this.beforeCommand();\n fn.apply(this, arguments);\n this.afterCommand();\n };\n }\n\n /**\n * insert image\n *\n * @param {String} src\n * @param {String|Function} param\n * @return {Promise}\n */\n insertImage(src, param) {\n return createImage(src, param).then(($image) => {\n this.beforeCommand();\n\n if (typeof param === 'function') {\n param($image);\n } else {\n if (typeof param === 'string') {\n $image.attr('data-filename', param);\n }\n $image.css('width', Math.min(this.$editable.width(), $image.width()));\n }\n\n $image.show();\n range.create(this.editable).insertNode($image[0]);\n range.createFromNodeAfter($image[0]).select();\n this.afterCommand();\n }).fail((e) => {\n this.context.triggerEvent('image.upload.error', e);\n });\n }\n\n /**\n * insertImages\n * @param {File[]} files\n */\n insertImages(files) {\n $.each(files, (idx, file) => {\n const filename = file.name;\n if (this.options.maximumImageFileSize && this.options.maximumImageFileSize < file.size) {\n this.context.triggerEvent('image.upload.error', this.lang.image.maximumFileSizeError);\n } else {\n readFileAsDataURL(file).then((dataURL) => {\n return this.insertImage(dataURL, filename);\n }).fail(() => {\n this.context.triggerEvent('image.upload.error');\n });\n }\n });\n }\n\n /**\n * insertImagesOrCallback\n * @param {File[]} files\n */\n insertImagesOrCallback(files) {\n const callbacks = this.options.callbacks;\n\n // If onImageUpload this.options setted\n if (callbacks.onImageUpload) {\n this.context.triggerEvent('image.upload', files);\n // else insert Image as dataURL\n } else {\n this.insertImages(files);\n }\n }\n\n /**\n * return selected plain text\n * @return {String} text\n */\n getSelectedText() {\n let rng = this.createRange();\n\n // if range on anchor, expand range with anchor\n if (rng.isOnAnchor()) {\n rng = range.createFromNode(dom.ancestor(rng.sc, dom.isAnchor));\n }\n\n return rng.toString();\n }\n\n onFormatBlock(tagName, $target) {\n // [workaround] for MSIE, IE need `<`\n tagName = env.isMSIE ? '<' + tagName + '>' : tagName;\n document.execCommand('FormatBlock', false, tagName);\n\n // support custom class\n if ($target && $target.length) {\n const className = $target[0].className || '';\n if (className) {\n const currentRange = this.createRange();\n\n const $parent = $([currentRange.sc, currentRange.ec]).closest(tagName);\n $parent.addClass(className);\n }\n }\n }\n\n formatPara() {\n this.formatBlock('P');\n }\n\n fontStyling(target, value) {\n const rng = this.createRange();\n\n if (rng) {\n const spans = this.style.styleNodes(rng);\n $(spans).css(target, value);\n\n // [workaround] added styled bogus span for style\n // - also bogus character needed for cursor position\n if (rng.isCollapsed()) {\n const firstSpan = lists.head(spans);\n if (firstSpan && !dom.nodeLength(firstSpan)) {\n firstSpan.innerHTML = dom.ZERO_WIDTH_NBSP_CHAR;\n range.createFromNodeAfter(firstSpan.firstChild).select();\n this.$editable.data(KEY_BOGUS, firstSpan);\n }\n }\n }\n }\n\n /**\n * unlink\n *\n * @type command\n */\n unlink() {\n let rng = this.createRange();\n if (rng.isOnAnchor()) {\n const anchor = dom.ancestor(rng.sc, dom.isAnchor);\n rng = range.createFromNode(anchor);\n rng.select();\n\n this.beforeCommand();\n document.execCommand('unlink');\n this.afterCommand();\n }\n }\n\n /**\n * returns link info\n *\n * @return {Object}\n * @return {WrappedRange} return.range\n * @return {String} return.text\n * @return {Boolean} [return.isNewWindow=true]\n * @return {String} [return.url=\"\"]\n */\n getLinkInfo() {\n const rng = this.createRange().expand(dom.isAnchor);\n\n // Get the first anchor on range(for edit).\n const $anchor = $(lists.head(rng.nodes(dom.isAnchor)));\n const linkInfo = {\n range: rng,\n text: rng.toString(),\n url: $anchor.length ? $anchor.attr('href') : ''\n };\n\n // Define isNewWindow when anchor exists.\n if ($anchor.length) {\n linkInfo.isNewWindow = $anchor.attr('target') === '_blank';\n }\n\n return linkInfo;\n }\n\n addRow(position) {\n const rng = this.createRange(this.$editable);\n if (rng.isCollapsed() && rng.isOnCell()) {\n this.beforeCommand();\n this.table.addRow(rng, position);\n this.afterCommand();\n }\n }\n\n addCol(position) {\n const rng = this.createRange(this.$editable);\n if (rng.isCollapsed() && rng.isOnCell()) {\n this.beforeCommand();\n this.table.addCol(rng, position);\n this.afterCommand();\n }\n }\n\n deleteRow() {\n const rng = this.createRange(this.$editable);\n if (rng.isCollapsed() && rng.isOnCell()) {\n this.beforeCommand();\n this.table.deleteRow(rng);\n this.afterCommand();\n }\n }\n\n deleteCol() {\n const rng = this.createRange(this.$editable);\n if (rng.isCollapsed() && rng.isOnCell()) {\n this.beforeCommand();\n this.table.deleteCol(rng);\n this.afterCommand();\n }\n }\n\n deleteTable() {\n const rng = this.createRange(this.$editable);\n if (rng.isCollapsed() && rng.isOnCell()) {\n this.beforeCommand();\n this.table.deleteTable(rng);\n this.afterCommand();\n }\n }\n\n /**\n * @param {Position} pos\n * @param {jQuery} $target - target element\n * @param {Boolean} [bKeepRatio] - keep ratio\n */\n resizeTo(pos, $target, bKeepRatio) {\n let imageSize;\n if (bKeepRatio) {\n const newRatio = pos.y / pos.x;\n const ratio = $target.data('ratio');\n imageSize = {\n width: ratio > newRatio ? pos.x : pos.y / ratio,\n height: ratio > newRatio ? pos.x * ratio : pos.y\n };\n } else {\n imageSize = {\n width: pos.x,\n height: pos.y\n };\n }\n\n $target.css(imageSize);\n }\n\n /**\n * returns whether editable area has focus or not.\n */\n hasFocus() {\n return this.$editable.is(':focus');\n }\n\n /**\n * set focus\n */\n focus() {\n // [workaround] Screen will move when page is scolled in IE.\n // - do focus when not focused\n if (!this.hasFocus()) {\n this.$editable.focus();\n }\n }\n\n /**\n * returns whether contents is empty or not.\n * @return {Boolean}\n */\n isEmpty() {\n return dom.isEmpty(this.$editable[0]) || dom.emptyPara === this.$editable.html();\n }\n\n /**\n * Removes all contents and restores the editable instance to an _emptyPara_.\n */\n empty() {\n this.context.invoke('code', dom.emptyPara);\n }\n\n /**\n * normalize content\n */\n normalizeContent() {\n this.$editable[0].normalize();\n }\n}\n","import lists from '../core/lists';\n\nexport default class Clipboard {\n constructor(context) {\n this.context = context;\n this.$editable = context.layoutInfo.editable;\n }\n\n initialize() {\n this.$editable.on('paste', this.pasteByEvent.bind(this));\n }\n\n /**\n * paste by clipboard event\n *\n * @param {Event} event\n */\n pasteByEvent(event) {\n const clipboardData = event.originalEvent.clipboardData;\n if (clipboardData && clipboardData.items && clipboardData.items.length) {\n const item = lists.head(clipboardData.items);\n if (item.kind === 'file' && item.type.indexOf('image/') !== -1) {\n this.context.invoke('editor.insertImagesOrCallback', [item.getAsFile()]);\n }\n this.context.invoke('editor.afterCommand');\n }\n }\n}\n","import $ from 'jquery';\n\nexport default class Dropzone {\n constructor(context) {\n this.context = context;\n this.$eventListener = $(document);\n this.$editor = context.layoutInfo.editor;\n this.$editable = context.layoutInfo.editable;\n this.options = context.options;\n this.lang = this.options.langInfo;\n this.documentEventHandlers = {};\n\n this.$dropzone = $([\n '<div class=\"note-dropzone\">',\n ' <div class=\"note-dropzone-message\"/>',\n '</div>'\n ].join('')).prependTo(this.$editor);\n }\n\n /**\n * attach Drag and Drop Events\n */\n initialize() {\n if (this.options.disableDragAndDrop) {\n // prevent default drop event\n this.documentEventHandlers.onDrop = (e) => {\n e.preventDefault();\n };\n // do not consider outside of dropzone\n this.$eventListener = this.$dropzone;\n this.$eventListener.on('drop', this.documentEventHandlers.onDrop);\n } else {\n this.attachDragAndDropEvent();\n }\n }\n\n /**\n * attach Drag and Drop Events\n */\n attachDragAndDropEvent() {\n let collection = $();\n const $dropzoneMessage = this.$dropzone.find('.note-dropzone-message');\n\n this.documentEventHandlers.onDragenter = (e) => {\n const isCodeview = this.context.invoke('codeview.isActivated');\n const hasEditorSize = this.$editor.width() > 0 && this.$editor.height() > 0;\n if (!isCodeview && !collection.length && hasEditorSize) {\n this.$editor.addClass('dragover');\n this.$dropzone.width(this.$editor.width());\n this.$dropzone.height(this.$editor.height());\n $dropzoneMessage.text(this.lang.image.dragImageHere);\n }\n collection = collection.add(e.target);\n };\n\n this.documentEventHandlers.onDragleave = (e) => {\n collection = collection.not(e.target);\n if (!collection.length) {\n this.$editor.removeClass('dragover');\n }\n };\n\n this.documentEventHandlers.onDrop = () => {\n collection = $();\n this.$editor.removeClass('dragover');\n };\n\n // show dropzone on dragenter when dragging a object to document\n // -but only if the editor is visible, i.e. has a positive width and height\n this.$eventListener.on('dragenter', this.documentEventHandlers.onDragenter)\n .on('dragleave', this.documentEventHandlers.onDragleave)\n .on('drop', this.documentEventHandlers.onDrop);\n\n // change dropzone's message on hover.\n this.$dropzone.on('dragenter', () => {\n this.$dropzone.addClass('hover');\n $dropzoneMessage.text(this.lang.image.dropImage);\n }).on('dragleave', () => {\n this.$dropzone.removeClass('hover');\n $dropzoneMessage.text(this.lang.image.dragImageHere);\n });\n\n // attach dropImage\n this.$dropzone.on('drop', (event) => {\n const dataTransfer = event.originalEvent.dataTransfer;\n\n // stop the browser from opening the dropped content\n event.preventDefault();\n\n if (dataTransfer && dataTransfer.files && dataTransfer.files.length) {\n this.$editable.focus();\n this.context.invoke('editor.insertImagesOrCallback', dataTransfer.files);\n } else {\n $.each(dataTransfer.types, (idx, type) => {\n const content = dataTransfer.getData(type);\n\n if (type.toLowerCase().indexOf('text') > -1) {\n this.context.invoke('editor.pasteHTML', content);\n } else {\n $(content).each((idx, item) => {\n this.context.invoke('editor.insertNode', item);\n });\n }\n });\n }\n }).on('dragover', false); // prevent default dragover event\n }\n\n destroy() {\n Object.keys(this.documentEventHandlers).forEach((key) => {\n this.$eventListener.off(key.substr(2).toLowerCase(), this.documentEventHandlers[key]);\n });\n this.documentEventHandlers = {};\n }\n}\n","import env from '../core/env';\nimport dom from '../core/dom';\n\nlet CodeMirror;\nif (env.hasCodeMirror) {\n if (env.isSupportAmd) {\n require(['codemirror'], function(cm) {\n CodeMirror = cm;\n });\n } else {\n CodeMirror = window.CodeMirror;\n }\n}\n\n/**\n * @class Codeview\n */\nexport default class CodeView {\n constructor(context) {\n this.context = context;\n this.$editor = context.layoutInfo.editor;\n this.$editable = context.layoutInfo.editable;\n this.$codable = context.layoutInfo.codable;\n this.options = context.options;\n }\n\n sync() {\n const isCodeview = this.isActivated();\n if (isCodeview && env.hasCodeMirror) {\n this.$codable.data('cmEditor').save();\n }\n }\n\n /**\n * @return {Boolean}\n */\n isActivated() {\n return this.$editor.hasClass('codeview');\n }\n\n /**\n * toggle codeview\n */\n toggle() {\n if (this.isActivated()) {\n this.deactivate();\n } else {\n this.activate();\n }\n this.context.triggerEvent('codeview.toggled');\n }\n\n /**\n * activate code view\n */\n activate() {\n this.$codable.val(dom.html(this.$editable, this.options.prettifyHtml));\n this.$codable.height(this.$editable.height());\n\n this.context.invoke('toolbar.updateCodeview', true);\n this.$editor.addClass('codeview');\n this.$codable.focus();\n\n // activate CodeMirror as codable\n if (env.hasCodeMirror) {\n const cmEditor = CodeMirror.fromTextArea(this.$codable[0], this.options.codemirror);\n\n // CodeMirror TernServer\n if (this.options.codemirror.tern) {\n const server = new CodeMirror.TernServer(this.options.codemirror.tern);\n cmEditor.ternServer = server;\n cmEditor.on('cursorActivity', (cm) => {\n server.updateArgHints(cm);\n });\n }\n\n cmEditor.on('blur', (event) => {\n this.context.triggerEvent('blur.codeview', cmEditor.getValue(), event);\n });\n\n // CodeMirror hasn't Padding.\n cmEditor.setSize(null, this.$editable.outerHeight());\n this.$codable.data('cmEditor', cmEditor);\n } else {\n this.$codable.on('blur', (event) => {\n this.context.triggerEvent('blur.codeview', this.$codable.val(), event);\n });\n }\n }\n\n /**\n * deactivate code view\n */\n deactivate() {\n // deactivate CodeMirror as codable\n if (env.hasCodeMirror) {\n const cmEditor = this.$codable.data('cmEditor');\n this.$codable.val(cmEditor.getValue());\n cmEditor.toTextArea();\n }\n\n const value = dom.value(this.$codable, this.options.prettifyHtml) || dom.emptyPara;\n const isChange = this.$editable.html() !== value;\n\n this.$editable.html(value);\n this.$editable.height(this.options.height ? this.$codable.height() : 'auto');\n this.$editor.removeClass('codeview');\n\n if (isChange) {\n this.context.triggerEvent('change', this.$editable.html(), this.$editable);\n }\n\n this.$editable.focus();\n\n this.context.invoke('toolbar.updateCodeview', false);\n }\n\n destroy() {\n if (this.isActivated()) {\n this.deactivate();\n }\n }\n}\n","import $ from 'jquery';\nconst EDITABLE_PADDING = 24;\n\nexport default class Statusbar {\n constructor(context) {\n this.$document = $(document);\n this.$statusbar = context.layoutInfo.statusbar;\n this.$editable = context.layoutInfo.editable;\n this.options = context.options;\n }\n\n initialize() {\n if (this.options.airMode || this.options.disableResizeEditor) {\n this.destroy();\n return;\n }\n\n this.$statusbar.on('mousedown', (event) => {\n event.preventDefault();\n event.stopPropagation();\n\n const editableTop = this.$editable.offset().top - this.$document.scrollTop();\n const onMouseMove = (event) => {\n let height = event.clientY - (editableTop + EDITABLE_PADDING);\n\n height = (this.options.minheight > 0) ? Math.max(height, this.options.minheight) : height;\n height = (this.options.maxHeight > 0) ? Math.min(height, this.options.maxHeight) : height;\n\n this.$editable.height(height);\n };\n\n this.$document.on('mousemove', onMouseMove).one('mouseup', () => {\n this.$document.off('mousemove', onMouseMove);\n });\n });\n }\n\n destroy() {\n this.$statusbar.off();\n this.$statusbar.addClass('locked');\n }\n}\n","import $ from 'jquery';\n\nexport default class Fullscreen {\n constructor(context) {\n this.context = context;\n\n this.$editor = context.layoutInfo.editor;\n this.$toolbar = context.layoutInfo.toolbar;\n this.$editable = context.layoutInfo.editable;\n this.$codable = context.layoutInfo.codable;\n\n this.$window = $(window);\n this.$scrollbar = $('html, body');\n\n this.onResize = () => {\n this.resizeTo({\n h: this.$window.height() - this.$toolbar.outerHeight()\n });\n };\n }\n\n resizeTo(size) {\n this.$editable.css('height', size.h);\n this.$codable.css('height', size.h);\n if (this.$codable.data('cmeditor')) {\n this.$codable.data('cmeditor').setsize(null, size.h);\n }\n }\n\n /**\n * toggle fullscreen\n */\n toggle() {\n this.$editor.toggleClass('fullscreen');\n if (this.isFullscreen()) {\n this.$editable.data('orgHeight', this.$editable.css('height'));\n this.$window.on('resize', this.onResize).trigger('resize');\n this.$scrollbar.css('overflow', 'hidden');\n } else {\n this.$window.off('resize', this.onResize);\n this.resizeTo({ h: this.$editable.data('orgHeight') });\n this.$scrollbar.css('overflow', 'visible');\n }\n\n this.context.invoke('toolbar.updateFullscreen', this.isFullscreen());\n }\n\n isFullscreen() {\n return this.$editor.hasClass('fullscreen');\n }\n}\n","import $ from 'jquery';\nimport dom from '../core/dom';\n\nexport default class Handle {\n constructor(context) {\n this.context = context;\n this.$document = $(document);\n this.$editingArea = context.layoutInfo.editingArea;\n this.options = context.options;\n this.lang = this.options.langInfo;\n\n this.events = {\n 'summernote.mousedown': (we, e) => {\n if (this.update(e.target)) {\n e.preventDefault();\n }\n },\n 'summernote.keyup summernote.scroll summernote.change summernote.dialog.shown': () => {\n this.update();\n },\n 'summernote.disable': () => {\n this.hide();\n },\n 'summernote.codeview.toggled': () => {\n this.update();\n }\n };\n }\n\n initialize() {\n this.$handle = $([\n '<div class=\"note-handle\">',\n '<div class=\"note-control-selection\">',\n '<div class=\"note-control-selection-bg\"></div>',\n '<div class=\"note-control-holder note-control-nw\"></div>',\n '<div class=\"note-control-holder note-control-ne\"></div>',\n '<div class=\"note-control-holder note-control-sw\"></div>',\n '<div class=\"',\n (this.options.disableResizeImage ? 'note-control-holder' : 'note-control-sizing'),\n ' note-control-se\"></div>',\n (this.options.disableResizeImage ? '' : '<div class=\"note-control-selection-info\"></div>'),\n '</div>',\n '</div>'\n ].join('')).prependTo(this.$editingArea);\n\n this.$handle.on('mousedown', (event) => {\n if (dom.isControlSizing(event.target)) {\n event.preventDefault();\n event.stopPropagation();\n\n const $target = this.$handle.find('.note-control-selection').data('target');\n const posStart = $target.offset();\n const scrollTop = this.$document.scrollTop();\n\n const onMouseMove = (event) => {\n this.context.invoke('editor.resizeTo', {\n x: event.clientX - posStart.left,\n y: event.clientY - (posStart.top - scrollTop)\n }, $target, !event.shiftKey);\n\n this.update($target[0]);\n };\n\n this.$document\n .on('mousemove', onMouseMove)\n .one('mouseup', (e) => {\n e.preventDefault();\n this.$document.off('mousemove', onMouseMove);\n this.context.invoke('editor.afterCommand');\n });\n\n if (!$target.data('ratio')) { // original ratio.\n $target.data('ratio', $target.height() / $target.width());\n }\n }\n });\n\n // Listen for scrolling on the handle overlay.\n this.$handle.on('wheel', (e) => {\n e.preventDefault();\n this.update();\n });\n }\n\n destroy() {\n this.$handle.remove();\n }\n\n update(target) {\n if (this.context.isDisabled()) {\n return false;\n }\n\n const isImage = dom.isImg(target);\n const $selection = this.$handle.find('.note-control-selection');\n\n this.context.invoke('imagePopover.update', target);\n\n if (isImage) {\n const $image = $(target);\n const position = $image.position();\n const pos = {\n left: position.left + parseInt($image.css('marginLeft'), 10),\n top: position.top + parseInt($image.css('marginTop'), 10)\n };\n\n // exclude margin\n const imageSize = {\n w: $image.outerWidth(false),\n h: $image.outerHeight(false)\n };\n\n $selection.css({\n display: 'block',\n left: pos.left,\n top: pos.top,\n width: imageSize.w,\n height: imageSize.h\n }).data('target', $image); // save current image element.\n\n const origImageObj = new Image();\n origImageObj.src = $image.attr('src');\n\n const sizingText = imageSize.w + 'x' + imageSize.h + ' (' + this.lang.image.original + ': ' + origImageObj.width + 'x' + origImageObj.height + ')';\n $selection.find('.note-control-selection-info').text(sizingText);\n this.context.invoke('editor.saveTarget', target);\n } else {\n this.hide();\n }\n\n return isImage;\n }\n\n /**\n * hide\n *\n * @param {jQuery} $handle\n */\n hide() {\n this.context.invoke('editor.clearTarget');\n this.$handle.children().hide();\n }\n}\n","import $ from 'jquery';\nimport lists from '../core/lists';\nimport key from '../core/key';\n\nconst defaultScheme = 'http://';\nconst linkPattern = /^([A-Za-z][A-Za-z0-9+-.]*\\:[\\/\\/]?|mailto:[A-Z0-9._%+-]+@)?(www\\.)?(.+)$/i;\n\nexport default class AutoLink {\n constructor(context) {\n this.context = context;\n this.events = {\n 'summernote.keyup': (we, e) => {\n if (!e.isDefaultPrevented()) {\n this.handleKeyup(e);\n }\n },\n 'summernote.keydown': (we, e) => {\n this.handleKeydown(e);\n }\n };\n }\n\n initialize() {\n this.lastWordRange = null;\n }\n\n destroy() {\n this.lastWordRange = null;\n }\n\n replace() {\n if (!this.lastWordRange) {\n return;\n }\n\n const keyword = this.lastWordRange.toString();\n const match = keyword.match(linkPattern);\n\n if (match && (match[1] || match[2])) {\n const link = match[1] ? keyword : defaultScheme + keyword;\n const node = $('<a />').html(keyword).attr('href', link)[0];\n\n this.lastWordRange.insertNode(node);\n this.lastWordRange = null;\n this.context.invoke('editor.focus');\n }\n }\n\n handleKeydown(e) {\n if (lists.contains([key.code.ENTER, key.code.SPACE], e.keyCode)) {\n const wordRange = this.context.invoke('editor.createRange').getWordRange();\n this.lastWordRange = wordRange;\n }\n }\n\n handleKeyup(e) {\n if (lists.contains([key.code.ENTER, key.code.SPACE], e.keyCode)) {\n this.replace();\n }\n }\n}\n","import dom from '../core/dom';\n\n/**\n * textarea auto sync.\n */\nexport default class AutoSync {\n constructor(context) {\n this.$note = context.layoutInfo.note;\n this.events = {\n 'summernote.change': () => {\n this.$note.val(context.invoke('code'));\n }\n };\n }\n\n shouldInitialize() {\n return dom.isTextarea(this.$note[0]);\n }\n}\n","import $ from 'jquery';\nexport default class Placeholder {\n constructor(context) {\n this.context = context;\n\n this.$editingArea = context.layoutInfo.editingArea;\n this.options = context.options;\n this.events = {\n 'summernote.init summernote.change': () => {\n this.update();\n },\n 'summernote.codeview.toggled': () => {\n this.update();\n }\n };\n }\n\n shouldInitialize() {\n return !!this.options.placeholder;\n }\n\n initialize() {\n this.$placeholder = $('<div class=\"note-placeholder\">');\n this.$placeholder.on('click', () => {\n this.context.invoke('focus');\n }).text(this.options.placeholder).prependTo(this.$editingArea);\n\n this.update();\n }\n\n destroy() {\n this.$placeholder.remove();\n }\n\n update() {\n const isShow = !this.context.invoke('codeview.isActivated') && this.context.invoke('editor.isEmpty');\n this.$placeholder.toggle(isShow);\n }\n}\n","import $ from 'jquery';\nimport func from '../core/func';\nimport lists from '../core/lists';\nimport env from '../core/env';\n\nexport default class Buttons {\n constructor(context) {\n this.ui = $.summernote.ui;\n this.context = context;\n this.$toolbar = context.layoutInfo.toolbar;\n this.options = context.options;\n this.lang = this.options.langInfo;\n this.invertedKeyMap = func.invertObject(\n this.options.keyMap[env.isMac ? 'mac' : 'pc']\n );\n }\n\n representShortcut(editorMethod) {\n let shortcut = this.invertedKeyMap[editorMethod];\n if (!this.options.shortcuts || !shortcut) {\n return '';\n }\n\n if (env.isMac) {\n shortcut = shortcut.replace('CMD', '⌘').replace('SHIFT', '⇧');\n }\n\n shortcut = shortcut.replace('BACKSLASH', '\\\\')\n .replace('SLASH', '/')\n .replace('LEFTBRACKET', '[')\n .replace('RIGHTBRACKET', ']');\n\n return ' (' + shortcut + ')';\n }\n\n button(o) {\n if (!this.options.tooltip && o.tooltip) {\n delete o.tooltip;\n }\n o.container = this.options.container;\n return this.ui.button(o);\n }\n\n initialize() {\n this.addToolbarButtons();\n this.addImagePopoverButtons();\n this.addLinkPopoverButtons();\n this.addTablePopoverButtons();\n this.fontInstalledMap = {};\n }\n\n destroy() {\n delete this.fontInstalledMap;\n }\n\n isFontInstalled(name) {\n if (!this.fontInstalledMap.hasOwnProperty(name)) {\n this.fontInstalledMap[name] = env.isFontInstalled(name) ||\n lists.contains(this.options.fontNamesIgnoreCheck, name);\n }\n\n return this.fontInstalledMap[name];\n }\n\n isFontDeservedToAdd(name) {\n const genericFamilies = ['sans-serif', 'serif', 'monospace', 'cursive', 'fantasy'];\n name = name.toLowerCase();\n\n return ((name !== '') && this.isFontInstalled(name) && ($.inArray(name, genericFamilies) === -1));\n }\n\n addToolbarButtons() {\n this.context.memo('button.style', () => {\n return this.ui.buttonGroup([\n this.button({\n className: 'dropdown-toggle',\n contents: this.ui.dropdownButtonContents(\n this.ui.icon(this.options.icons.magic), this.options\n ),\n tooltip: this.lang.style.style,\n data: {\n toggle: 'dropdown'\n }\n }),\n this.ui.dropdown({\n className: 'dropdown-style',\n items: this.options.styleTags,\n title: this.lang.style.style,\n template: (item) => {\n if (typeof item === 'string') {\n item = { tag: item, title: (this.lang.style.hasOwnProperty(item) ? this.lang.style[item] : item) };\n }\n\n const tag = item.tag;\n const title = item.title;\n const style = item.style ? ' style=\"' + item.style + '\" ' : '';\n const className = item.className ? ' class=\"' + item.className + '\"' : '';\n\n return '<' + tag + style + className + '>' + title + '</' + tag + '>';\n },\n click: this.context.createInvokeHandler('editor.formatBlock')\n })\n ]).render();\n });\n\n for (let styleIdx = 0, styleLen = this.options.styleTags.length; styleIdx < styleLen; styleIdx++) {\n const item = this.options.styleTags[styleIdx];\n\n this.context.memo('button.style.' + item, () => {\n return this.button({\n className: 'note-btn-style-' + item,\n contents: '<div data-value=\"' + item + '\">' + item.toUpperCase() + '</div>',\n tooltip: this.lang.style[item],\n click: this.context.createInvokeHandler('editor.formatBlock')\n }).render();\n });\n }\n\n this.context.memo('button.bold', () => {\n return this.button({\n className: 'note-btn-bold',\n contents: this.ui.icon(this.options.icons.bold),\n tooltip: this.lang.font.bold + this.representShortcut('bold'),\n click: this.context.createInvokeHandlerAndUpdateState('editor.bold')\n }).render();\n });\n\n this.context.memo('button.italic', () => {\n return this.button({\n className: 'note-btn-italic',\n contents: this.ui.icon(this.options.icons.italic),\n tooltip: this.lang.font.italic + this.representShortcut('italic'),\n click: this.context.createInvokeHandlerAndUpdateState('editor.italic')\n }).render();\n });\n\n this.context.memo('button.underline', () => {\n return this.button({\n className: 'note-btn-underline',\n contents: this.ui.icon(this.options.icons.underline),\n tooltip: this.lang.font.underline + this.representShortcut('underline'),\n click: this.context.createInvokeHandlerAndUpdateState('editor.underline')\n }).render();\n });\n\n this.context.memo('button.clear', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.eraser),\n tooltip: this.lang.font.clear + this.representShortcut('removeFormat'),\n click: this.context.createInvokeHandler('editor.removeFormat')\n }).render();\n });\n\n this.context.memo('button.strikethrough', () => {\n return this.button({\n className: 'note-btn-strikethrough',\n contents: this.ui.icon(this.options.icons.strikethrough),\n tooltip: this.lang.font.strikethrough + this.representShortcut('strikethrough'),\n click: this.context.createInvokeHandlerAndUpdateState('editor.strikethrough')\n }).render();\n });\n\n this.context.memo('button.superscript', () => {\n return this.button({\n className: 'note-btn-superscript',\n contents: this.ui.icon(this.options.icons.superscript),\n tooltip: this.lang.font.superscript,\n click: this.context.createInvokeHandlerAndUpdateState('editor.superscript')\n }).render();\n });\n\n this.context.memo('button.subscript', () => {\n return this.button({\n className: 'note-btn-subscript',\n contents: this.ui.icon(this.options.icons.subscript),\n tooltip: this.lang.font.subscript,\n click: this.context.createInvokeHandlerAndUpdateState('editor.subscript')\n }).render();\n });\n\n this.context.memo('button.fontname', () => {\n const styleInfo = this.context.invoke('editor.currentStyle');\n\n // Add 'default' fonts into the fontnames array if not exist\n $.each(styleInfo['font-family'].split(','), (idx, fontname) => {\n fontname = fontname.trim().replace(/['\"]+/g, '');\n if (this.isFontDeservedToAdd(fontname)) {\n if ($.inArray(fontname, this.options.fontNames) === -1) {\n this.options.fontNames.push(fontname);\n }\n }\n });\n\n return this.ui.buttonGroup([\n this.button({\n className: 'dropdown-toggle',\n contents: this.ui.dropdownButtonContents(\n '<span class=\"note-current-fontname\"/>', this.options\n ),\n tooltip: this.lang.font.name,\n data: {\n toggle: 'dropdown'\n }\n }),\n this.ui.dropdownCheck({\n className: 'dropdown-fontname',\n checkClassName: this.options.icons.menuCheck,\n items: this.options.fontNames.filter(this.isFontInstalled.bind(this)),\n title: this.lang.font.name,\n template: (item) => {\n return '<span style=\"font-family: \\'' + item + '\\'\">' + item + '</span>';\n },\n click: this.context.createInvokeHandlerAndUpdateState('editor.fontName')\n })\n ]).render();\n });\n\n this.context.memo('button.fontsize', () => {\n return this.ui.buttonGroup([\n this.button({\n className: 'dropdown-toggle',\n contents: this.ui.dropdownButtonContents('<span class=\"note-current-fontsize\"/>', this.options),\n tooltip: this.lang.font.size,\n data: {\n toggle: 'dropdown'\n }\n }),\n this.ui.dropdownCheck({\n className: 'dropdown-fontsize',\n checkClassName: this.options.icons.menuCheck,\n items: this.options.fontSizes,\n title: this.lang.font.size,\n click: this.context.createInvokeHandlerAndUpdateState('editor.fontSize')\n })\n ]).render();\n });\n\n this.context.memo('button.color', () => {\n return this.ui.buttonGroup({\n className: 'note-color',\n children: [\n this.button({\n className: 'note-current-color-button',\n contents: this.ui.icon(this.options.icons.font + ' note-recent-color'),\n tooltip: this.lang.color.recent,\n click: (e) => {\n const $button = $(e.currentTarget);\n this.context.invoke('editor.color', {\n backColor: $button.attr('data-backColor'),\n foreColor: $button.attr('data-foreColor')\n });\n },\n callback: ($button) => {\n const $recentColor = $button.find('.note-recent-color');\n $recentColor.css('background-color', '#FFFF00');\n $button.attr('data-backColor', '#FFFF00');\n }\n }),\n this.button({\n className: 'dropdown-toggle',\n contents: this.ui.dropdownButtonContents('', this.options),\n tooltip: this.lang.color.more,\n data: {\n toggle: 'dropdown'\n }\n }),\n this.ui.dropdown({\n items: [\n '<div class=\"note-palette\">',\n ' <div class=\"note-palette-title\">' + this.lang.color.background + '</div>',\n ' <div>',\n ' <button type=\"button\" class=\"note-color-reset btn btn-light\" data-event=\"backColor\" data-value=\"inherit\">',\n this.lang.color.transparent,\n ' </button>',\n ' </div>',\n ' <div class=\"note-holder\" data-event=\"backColor\"/>',\n '</div>',\n '<div class=\"note-palette\">',\n ' <div class=\"note-palette-title\">' + this.lang.color.foreground + '</div>',\n ' <div>',\n ' <button type=\"button\" class=\"note-color-reset btn btn-light\" data-event=\"removeFormat\" data-value=\"foreColor\">',\n this.lang.color.resetToDefault,\n ' </button>',\n ' </div>',\n ' <div class=\"note-holder\" data-event=\"foreColor\"/>',\n '</div>'\n ].join(''),\n callback: ($dropdown) => {\n $dropdown.find('.note-holder').each((idx, item) => {\n const $holder = $(item);\n $holder.append(this.ui.palette({\n colors: this.options.colors,\n colorsName: this.options.colorsName,\n eventName: $holder.data('event'),\n container: this.options.container,\n tooltip: this.options.tooltip\n }).render());\n });\n },\n click: (event) => {\n const $button = $(event.target);\n const eventName = $button.data('event');\n const value = $button.data('value');\n\n if (eventName && value) {\n const key = eventName === 'backColor' ? 'background-color' : 'color';\n const $color = $button.closest('.note-color').find('.note-recent-color');\n const $currentButton = $button.closest('.note-color').find('.note-current-color-button');\n\n $color.css(key, value);\n $currentButton.attr('data-' + eventName, value);\n this.context.invoke('editor.' + eventName, value);\n }\n }\n })\n ]\n }).render();\n });\n\n this.context.memo('button.ul', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.unorderedlist),\n tooltip: this.lang.lists.unordered + this.representShortcut('insertUnorderedList'),\n click: this.context.createInvokeHandler('editor.insertUnorderedList')\n }).render();\n });\n\n this.context.memo('button.ol', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.orderedlist),\n tooltip: this.lang.lists.ordered + this.representShortcut('insertOrderedList'),\n click: this.context.createInvokeHandler('editor.insertOrderedList')\n }).render();\n });\n\n const justifyLeft = this.button({\n contents: this.ui.icon(this.options.icons.alignLeft),\n tooltip: this.lang.paragraph.left + this.representShortcut('justifyLeft'),\n click: this.context.createInvokeHandler('editor.justifyLeft')\n });\n\n const justifyCenter = this.button({\n contents: this.ui.icon(this.options.icons.alignCenter),\n tooltip: this.lang.paragraph.center + this.representShortcut('justifyCenter'),\n click: this.context.createInvokeHandler('editor.justifyCenter')\n });\n\n const justifyRight = this.button({\n contents: this.ui.icon(this.options.icons.alignRight),\n tooltip: this.lang.paragraph.right + this.representShortcut('justifyRight'),\n click: this.context.createInvokeHandler('editor.justifyRight')\n });\n\n const justifyFull = this.button({\n contents: this.ui.icon(this.options.icons.alignJustify),\n tooltip: this.lang.paragraph.justify + this.representShortcut('justifyFull'),\n click: this.context.createInvokeHandler('editor.justifyFull')\n });\n\n const outdent = this.button({\n contents: this.ui.icon(this.options.icons.outdent),\n tooltip: this.lang.paragraph.outdent + this.representShortcut('outdent'),\n click: this.context.createInvokeHandler('editor.outdent')\n });\n\n const indent = this.button({\n contents: this.ui.icon(this.options.icons.indent),\n tooltip: this.lang.paragraph.indent + this.representShortcut('indent'),\n click: this.context.createInvokeHandler('editor.indent')\n });\n\n this.context.memo('button.justifyLeft', func.invoke(justifyLeft, 'render'));\n this.context.memo('button.justifyCenter', func.invoke(justifyCenter, 'render'));\n this.context.memo('button.justifyRight', func.invoke(justifyRight, 'render'));\n this.context.memo('button.justifyFull', func.invoke(justifyFull, 'render'));\n this.context.memo('button.outdent', func.invoke(outdent, 'render'));\n this.context.memo('button.indent', func.invoke(indent, 'render'));\n\n this.context.memo('button.paragraph', () => {\n return this.ui.buttonGroup([\n this.button({\n className: 'dropdown-toggle',\n contents: this.ui.dropdownButtonContents(this.ui.icon(this.options.icons.alignLeft), this.options),\n tooltip: this.lang.paragraph.paragraph,\n data: {\n toggle: 'dropdown'\n }\n }),\n this.ui.dropdown([\n this.ui.buttonGroup({\n className: 'note-align',\n children: [justifyLeft, justifyCenter, justifyRight, justifyFull]\n }),\n this.ui.buttonGroup({\n className: 'note-list',\n children: [outdent, indent]\n })\n ])\n ]).render();\n });\n\n this.context.memo('button.height', () => {\n return this.ui.buttonGroup([\n this.button({\n className: 'dropdown-toggle',\n contents: this.ui.dropdownButtonContents(this.ui.icon(this.options.icons.textHeight), this.options),\n tooltip: this.lang.font.height,\n data: {\n toggle: 'dropdown'\n }\n }),\n this.ui.dropdownCheck({\n items: this.options.lineHeights,\n checkClassName: this.options.icons.menuCheck,\n className: 'dropdown-line-height',\n title: this.lang.font.height,\n click: this.context.createInvokeHandler('editor.lineHeight')\n })\n ]).render();\n });\n\n this.context.memo('button.table', () => {\n return this.ui.buttonGroup([\n this.button({\n className: 'dropdown-toggle',\n contents: this.ui.dropdownButtonContents(this.ui.icon(this.options.icons.table), this.options),\n tooltip: this.lang.table.table,\n data: {\n toggle: 'dropdown'\n }\n }),\n this.ui.dropdown({\n title: this.lang.table.table,\n className: 'note-table',\n items: [\n '<div class=\"note-dimension-picker\">',\n ' <div class=\"note-dimension-picker-mousecatcher\" data-event=\"insertTable\" data-value=\"1x1\"/>',\n ' <div class=\"note-dimension-picker-highlighted\"/>',\n ' <div class=\"note-dimension-picker-unhighlighted\"/>',\n '</div>',\n '<div class=\"note-dimension-display\">1 x 1</div>'\n ].join('')\n })\n ], {\n callback: ($node) => {\n const $catcher = $node.find('.note-dimension-picker-mousecatcher');\n $catcher.css({\n width: this.options.insertTableMaxSize.col + 'em',\n height: this.options.insertTableMaxSize.row + 'em'\n }).mousedown(this.context.createInvokeHandler('editor.insertTable'))\n .on('mousemove', this.tableMoveHandler.bind(this));\n }\n }).render();\n });\n\n this.context.memo('button.link', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.link),\n tooltip: this.lang.link.link + this.representShortcut('linkDialog.show'),\n click: this.context.createInvokeHandler('linkDialog.show')\n }).render();\n });\n\n this.context.memo('button.picture', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.picture),\n tooltip: this.lang.image.image,\n click: this.context.createInvokeHandler('imageDialog.show')\n }).render();\n });\n\n this.context.memo('button.video', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.video),\n tooltip: this.lang.video.video,\n click: this.context.createInvokeHandler('videoDialog.show')\n }).render();\n });\n\n this.context.memo('button.hr', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.minus),\n tooltip: this.lang.hr.insert + this.representShortcut('insertHorizontalRule'),\n click: this.context.createInvokeHandler('editor.insertHorizontalRule')\n }).render();\n });\n\n this.context.memo('button.fullscreen', () => {\n return this.button({\n className: 'btn-fullscreen',\n contents: this.ui.icon(this.options.icons.arrowsAlt),\n tooltip: this.lang.options.fullscreen,\n click: this.context.createInvokeHandler('fullscreen.toggle')\n }).render();\n });\n\n this.context.memo('button.codeview', () => {\n return this.button({\n className: 'btn-codeview',\n contents: this.ui.icon(this.options.icons.code),\n tooltip: this.lang.options.codeview,\n click: this.context.createInvokeHandler('codeview.toggle')\n }).render();\n });\n\n this.context.memo('button.redo', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.redo),\n tooltip: this.lang.history.redo + this.representShortcut('redo'),\n click: this.context.createInvokeHandler('editor.redo')\n }).render();\n });\n\n this.context.memo('button.undo', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.undo),\n tooltip: this.lang.history.undo + this.representShortcut('undo'),\n click: this.context.createInvokeHandler('editor.undo')\n }).render();\n });\n\n this.context.memo('button.help', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.question),\n tooltip: this.lang.options.help,\n click: this.context.createInvokeHandler('helpDialog.show')\n }).render();\n });\n }\n\n /**\n * image : [\n * ['imagesize', ['imageSize100', 'imageSize50', 'imageSize25']],\n * ['float', ['floatLeft', 'floatRight', 'floatNone' ]],\n * ['remove', ['removeMedia']]\n * ],\n */\n addImagePopoverButtons() {\n // Image Size Buttons\n this.context.memo('button.imageSize100', () => {\n return this.button({\n contents: '<span class=\"note-fontsize-10\">100%</span>',\n tooltip: this.lang.image.resizeFull,\n click: this.context.createInvokeHandler('editor.resize', '1')\n }).render();\n });\n this.context.memo('button.imageSize50', () => {\n return this.button({\n contents: '<span class=\"note-fontsize-10\">50%</span>',\n tooltip: this.lang.image.resizeHalf,\n click: this.context.createInvokeHandler('editor.resize', '0.5')\n }).render();\n });\n this.context.memo('button.imageSize25', () => {\n return this.button({\n contents: '<span class=\"note-fontsize-10\">25%</span>',\n tooltip: this.lang.image.resizeQuarter,\n click: this.context.createInvokeHandler('editor.resize', '0.25')\n }).render();\n });\n\n // Float Buttons\n this.context.memo('button.floatLeft', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.alignLeft),\n tooltip: this.lang.image.floatLeft,\n click: this.context.createInvokeHandler('editor.floatMe', 'left')\n }).render();\n });\n\n this.context.memo('button.floatRight', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.alignRight),\n tooltip: this.lang.image.floatRight,\n click: this.context.createInvokeHandler('editor.floatMe', 'right')\n }).render();\n });\n\n this.context.memo('button.floatNone', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.alignJustify),\n tooltip: this.lang.image.floatNone,\n click: this.context.createInvokeHandler('editor.floatMe', 'none')\n }).render();\n });\n\n // Remove Buttons\n this.context.memo('button.removeMedia', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.trash),\n tooltip: this.lang.image.remove,\n click: this.context.createInvokeHandler('editor.removeMedia')\n }).render();\n });\n }\n\n addLinkPopoverButtons() {\n this.context.memo('button.linkDialogShow', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.link),\n tooltip: this.lang.link.edit,\n click: this.context.createInvokeHandler('linkDialog.show')\n }).render();\n });\n\n this.context.memo('button.unlink', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.unlink),\n tooltip: this.lang.link.unlink,\n click: this.context.createInvokeHandler('editor.unlink')\n }).render();\n });\n }\n\n /**\n * table : [\n * ['add', ['addRowDown', 'addRowUp', 'addColLeft', 'addColRight']],\n * ['delete', ['deleteRow', 'deleteCol', 'deleteTable']]\n * ],\n */\n addTablePopoverButtons() {\n this.context.memo('button.addRowUp', () => {\n return this.button({\n className: 'btn-md',\n contents: this.ui.icon(this.options.icons.rowAbove),\n tooltip: this.lang.table.addRowAbove,\n click: this.context.createInvokeHandler('editor.addRow', 'top')\n }).render();\n });\n this.context.memo('button.addRowDown', () => {\n return this.button({\n className: 'btn-md',\n contents: this.ui.icon(this.options.icons.rowBelow),\n tooltip: this.lang.table.addRowBelow,\n click: this.context.createInvokeHandler('editor.addRow', 'bottom')\n }).render();\n });\n this.context.memo('button.addColLeft', () => {\n return this.button({\n className: 'btn-md',\n contents: this.ui.icon(this.options.icons.colBefore),\n tooltip: this.lang.table.addColLeft,\n click: this.context.createInvokeHandler('editor.addCol', 'left')\n }).render();\n });\n this.context.memo('button.addColRight', () => {\n return this.button({\n className: 'btn-md',\n contents: this.ui.icon(this.options.icons.colAfter),\n tooltip: this.lang.table.addColRight,\n click: this.context.createInvokeHandler('editor.addCol', 'right')\n }).render();\n });\n this.context.memo('button.deleteRow', () => {\n return this.button({\n className: 'btn-md',\n contents: this.ui.icon(this.options.icons.rowRemove),\n tooltip: this.lang.table.delRow,\n click: this.context.createInvokeHandler('editor.deleteRow')\n }).render();\n });\n this.context.memo('button.deleteCol', () => {\n return this.button({\n className: 'btn-md',\n contents: this.ui.icon(this.options.icons.colRemove),\n tooltip: this.lang.table.delCol,\n click: this.context.createInvokeHandler('editor.deleteCol')\n }).render();\n });\n this.context.memo('button.deleteTable', () => {\n return this.button({\n className: 'btn-md',\n contents: this.ui.icon(this.options.icons.trash),\n tooltip: this.lang.table.delTable,\n click: this.context.createInvokeHandler('editor.deleteTable')\n }).render();\n });\n }\n\n build($container, groups) {\n for (let groupIdx = 0, groupLen = groups.length; groupIdx < groupLen; groupIdx++) {\n const group = groups[groupIdx];\n const groupName = $.isArray(group) ? group[0] : group;\n const buttons = $.isArray(group) ? ((group.length === 1) ? [group[0]] : group[1]) : [group];\n\n const $group = this.ui.buttonGroup({\n className: 'note-' + groupName\n }).render();\n\n for (let idx = 0, len = buttons.length; idx < len; idx++) {\n const btn = this.context.memo('button.' + buttons[idx]);\n if (btn) {\n $group.append(typeof btn === 'function' ? btn(this.context) : btn);\n }\n }\n $group.appendTo($container);\n }\n }\n\n /**\n * @param {jQuery} [$container]\n */\n updateCurrentStyle($container) {\n const $cont = $container || this.$toolbar;\n\n const styleInfo = this.context.invoke('editor.currentStyle');\n this.updateBtnStates($cont, {\n '.note-btn-bold': () => {\n return styleInfo['font-bold'] === 'bold';\n },\n '.note-btn-italic': () => {\n return styleInfo['font-italic'] === 'italic';\n },\n '.note-btn-underline': () => {\n return styleInfo['font-underline'] === 'underline';\n },\n '.note-btn-subscript': () => {\n return styleInfo['font-subscript'] === 'subscript';\n },\n '.note-btn-superscript': () => {\n return styleInfo['font-superscript'] === 'superscript';\n },\n '.note-btn-strikethrough': () => {\n return styleInfo['font-strikethrough'] === 'strikethrough';\n }\n });\n\n if (styleInfo['font-family']) {\n const fontNames = styleInfo['font-family'].split(',').map((name) => {\n return name.replace(/[\\'\\\"]/g, '')\n .replace(/\\s+$/, '')\n .replace(/^\\s+/, '');\n });\n const fontName = lists.find(fontNames, this.isFontInstalled.bind(this));\n\n $cont.find('.dropdown-fontname a').each((idx, item) => {\n const $item = $(item);\n // always compare string to avoid creating another func.\n const isChecked = ($item.data('value') + '') === (fontName + '');\n $item.toggleClass('checked', isChecked);\n });\n $cont.find('.note-current-fontname').text(fontName).css('font-family', fontName);\n }\n\n if (styleInfo['font-size']) {\n const fontSize = styleInfo['font-size'];\n $cont.find('.dropdown-fontsize a').each((idx, item) => {\n const $item = $(item);\n // always compare with string to avoid creating another func.\n const isChecked = ($item.data('value') + '') === (fontSize + '');\n $item.toggleClass('checked', isChecked);\n });\n $cont.find('.note-current-fontsize').text(fontSize);\n }\n\n if (styleInfo['line-height']) {\n const lineHeight = styleInfo['line-height'];\n $cont.find('.dropdown-line-height li a').each((idx, item) => {\n // always compare with string to avoid creating another func.\n const isChecked = ($(item).data('value') + '') === (lineHeight + '');\n this.className = isChecked ? 'checked' : '';\n });\n }\n }\n\n updateBtnStates($container, infos) {\n $.each(infos, (selector, pred) => {\n this.ui.toggleBtnActive($container.find(selector), pred());\n });\n }\n\n tableMoveHandler(event) {\n const PX_PER_EM = 18;\n const $picker = $(event.target.parentNode); // target is mousecatcher\n const $dimensionDisplay = $picker.next();\n const $catcher = $picker.find('.note-dimension-picker-mousecatcher');\n const $highlighted = $picker.find('.note-dimension-picker-highlighted');\n const $unhighlighted = $picker.find('.note-dimension-picker-unhighlighted');\n\n let posOffset;\n // HTML5 with jQuery - e.offsetX is undefined in Firefox\n if (event.offsetX === undefined) {\n const posCatcher = $(event.target).offset();\n posOffset = {\n x: event.pageX - posCatcher.left,\n y: event.pageY - posCatcher.top\n };\n } else {\n posOffset = {\n x: event.offsetX,\n y: event.offsetY\n };\n }\n\n const dim = {\n c: Math.ceil(posOffset.x / PX_PER_EM) || 1,\n r: Math.ceil(posOffset.y / PX_PER_EM) || 1\n };\n\n $highlighted.css({ width: dim.c + 'em', height: dim.r + 'em' });\n $catcher.data('value', dim.c + 'x' + dim.r);\n\n if (dim.c > 3 && dim.c < this.options.insertTableMaxSize.col) {\n $unhighlighted.css({ width: dim.c + 1 + 'em' });\n }\n\n if (dim.r > 3 && dim.r < this.options.insertTableMaxSize.row) {\n $unhighlighted.css({ height: dim.r + 1 + 'em' });\n }\n\n $dimensionDisplay.html(dim.c + ' x ' + dim.r);\n }\n}\n","import $ from 'jquery';\nexport default class Toolbar {\n constructor(context) {\n this.context = context;\n\n this.$window = $(window);\n this.$document = $(document);\n\n this.ui = $.summernote.ui;\n this.$note = context.layoutInfo.note;\n this.$editor = context.layoutInfo.editor;\n this.$toolbar = context.layoutInfo.toolbar;\n this.options = context.options;\n\n this.followScroll = this.followScroll.bind(this);\n }\n\n shouldInitialize() {\n return !this.options.airMode;\n }\n\n initialize() {\n this.options.toolbar = this.options.toolbar || [];\n\n if (!this.options.toolbar.length) {\n this.$toolbar.hide();\n } else {\n this.context.invoke('buttons.build', this.$toolbar, this.options.toolbar);\n }\n\n if (this.options.toolbarContainer) {\n this.$toolbar.appendTo(this.options.toolbarContainer);\n }\n\n this.changeContainer(false);\n\n this.$note.on('summernote.keyup summernote.mouseup summernote.change', () => {\n this.context.invoke('buttons.updateCurrentStyle');\n });\n\n this.context.invoke('buttons.updateCurrentStyle');\n if (this.options.followingToolbar) {\n this.$window.on('scroll resize', this.followScroll);\n }\n }\n\n destroy() {\n this.$toolbar.children().remove();\n\n if (this.options.followingToolbar) {\n this.$window.off('scroll resize', this.followScroll);\n }\n }\n\n followScroll() {\n if (this.$editor.hasClass('fullscreen')) {\n return false;\n }\n\n const $toolbarWrapper = this.$toolbar.parent('.note-toolbar-wrapper');\n const editorHeight = this.$editor.outerHeight();\n const editorWidth = this.$editor.width();\n\n const toolbarHeight = this.$toolbar.height();\n $toolbarWrapper.css({\n height: toolbarHeight\n });\n\n // check if the web app is currently using another static bar\n let otherBarHeight = 0;\n if (this.options.otherStaticBar) {\n otherBarHeight = $(this.options.otherStaticBar).outerHeight();\n }\n\n const currentOffset = this.$document.scrollTop();\n const editorOffsetTop = this.$editor.offset().top;\n const editorOffsetBottom = editorOffsetTop + editorHeight;\n const activateOffset = editorOffsetTop - otherBarHeight;\n const deactivateOffsetBottom = editorOffsetBottom - otherBarHeight - toolbarHeight;\n\n if ((currentOffset > activateOffset) && (currentOffset < deactivateOffsetBottom)) {\n this.$toolbar.css({\n position: 'fixed',\n top: otherBarHeight,\n width: editorWidth\n });\n } else {\n this.$toolbar.css({\n position: 'relative',\n top: 0,\n width: '100%'\n });\n }\n }\n\n changeContainer(isFullscreen) {\n if (isFullscreen) {\n this.$toolbar.prependTo(this.$editor);\n } else {\n if (this.options.toolbarContainer) {\n this.$toolbar.appendTo(this.options.toolbarContainer);\n }\n }\n }\n\n updateFullscreen(isFullscreen) {\n this.ui.toggleBtnActive(this.$toolbar.find('.btn-fullscreen'), isFullscreen);\n\n this.changeContainer(isFullscreen);\n }\n\n updateCodeview(isCodeview) {\n this.ui.toggleBtnActive(this.$toolbar.find('.btn-codeview'), isCodeview);\n if (isCodeview) {\n this.deactivate();\n } else {\n this.activate();\n }\n }\n\n activate(isIncludeCodeview) {\n let $btn = this.$toolbar.find('button');\n if (!isIncludeCodeview) {\n $btn = $btn.not('.btn-codeview');\n }\n this.ui.toggleBtn($btn, true);\n }\n\n deactivate(isIncludeCodeview) {\n let $btn = this.$toolbar.find('button');\n if (!isIncludeCodeview) {\n $btn = $btn.not('.btn-codeview');\n }\n this.ui.toggleBtn($btn, false);\n }\n}\n","import $ from 'jquery';\nimport env from '../core/env';\nimport key from '../core/key';\n\nexport default class LinkDialog {\n constructor(context) {\n this.context = context;\n\n this.ui = $.summernote.ui;\n this.$body = $(document.body);\n this.$editor = context.layoutInfo.editor;\n this.options = context.options;\n this.lang = this.options.langInfo;\n\n context.memo('help.linkDialog.show', this.options.langInfo.help['linkDialog.show']);\n }\n\n initialize() {\n const $container = this.options.dialogsInBody ? this.$body : this.$editor;\n\n const body = [\n '<div class=\"form-group note-form-group\">',\n `<label class=\"note-form-label\">${this.lang.link.textToDisplay}</label>`,\n '<input class=\"note-link-text form-control note-form-control note-input\" type=\"text\" />',\n '</div>',\n '<div class=\"form-group note-form-group\">',\n `<label class=\"note-form-label\">${this.lang.link.url}</label>`,\n '<input class=\"note-link-url form-control note-form-control note-input\" type=\"text\" value=\"http://\" />',\n '</div>',\n !this.options.disableLinkTarget\n ? $('<div/>').append(this.ui.checkbox({\n id: 'sn-checkbox-open-in-new-window',\n text: this.lang.link.openInNewWindow,\n checked: true\n }).render()).html()\n : ''\n ].join('');\n\n const buttonClass = 'btn btn-primary note-btn note-btn-primary note-link-btn';\n const footer = `<button type=\"submit\" href=\"#\" class=\"${buttonClass}\" disabled>${this.lang.link.insert}</button>`;\n\n this.$dialog = this.ui.dialog({\n className: 'link-dialog',\n title: this.lang.link.insert,\n fade: this.options.dialogsFade,\n body: body,\n footer: footer\n }).render().appendTo($container);\n }\n\n destroy() {\n this.ui.hideDialog(this.$dialog);\n this.$dialog.remove();\n }\n\n bindEnterKey($input, $btn) {\n $input.on('keypress', (event) => {\n if (event.keyCode === key.code.ENTER) {\n event.preventDefault();\n $btn.trigger('click');\n }\n });\n }\n\n /**\n * toggle update button\n */\n toggleLinkBtn($linkBtn, $linkText, $linkUrl) {\n this.ui.toggleBtn($linkBtn, $linkText.val() && $linkUrl.val());\n }\n\n /**\n * Show link dialog and set event handlers on dialog controls.\n *\n * @param {Object} linkInfo\n * @return {Promise}\n */\n showLinkDialog(linkInfo) {\n return $.Deferred((deferred) => {\n const $linkText = this.$dialog.find('.note-link-text');\n const $linkUrl = this.$dialog.find('.note-link-url');\n const $linkBtn = this.$dialog.find('.note-link-btn');\n const $openInNewWindow = this.$dialog.find('input[type=checkbox]');\n\n this.ui.onDialogShown(this.$dialog, () => {\n this.context.triggerEvent('dialog.shown');\n\n // if no url was given, copy text to url\n if (!linkInfo.url) {\n linkInfo.url = linkInfo.text;\n }\n\n $linkText.val(linkInfo.text);\n\n const handleLinkTextUpdate = () => {\n this.toggleLinkBtn($linkBtn, $linkText, $linkUrl);\n // if linktext was modified by keyup,\n // stop cloning text from linkUrl\n linkInfo.text = $linkText.val();\n };\n\n $linkText.on('input', handleLinkTextUpdate).on('paste', () => {\n setTimeout(handleLinkTextUpdate, 0);\n });\n\n const handleLinkUrlUpdate = () => {\n this.toggleLinkBtn($linkBtn, $linkText, $linkUrl);\n // display same link on `Text to display` input\n // when create a new link\n if (!linkInfo.text) {\n $linkText.val($linkUrl.val());\n }\n };\n\n $linkUrl.on('input', handleLinkUrlUpdate).on('paste', () => {\n setTimeout(handleLinkUrlUpdate, 0);\n }).val(linkInfo.url);\n\n if (!env.isSupportTouch) {\n $linkUrl.trigger('focus');\n }\n\n this.toggleLinkBtn($linkBtn, $linkText, $linkUrl);\n this.bindEnterKey($linkUrl, $linkBtn);\n this.bindEnterKey($linkText, $linkBtn);\n\n const isChecked = linkInfo.isNewWindow !== undefined\n ? linkInfo.isNewWindow : this.context.options.linkTargetBlank;\n\n $openInNewWindow.prop('checked', isChecked);\n\n $linkBtn.one('click', (event) => {\n event.preventDefault();\n\n deferred.resolve({\n range: linkInfo.range,\n url: $linkUrl.val(),\n text: $linkText.val(),\n isNewWindow: $openInNewWindow.is(':checked')\n });\n this.ui.hideDialog(this.$dialog);\n });\n });\n\n this.ui.onDialogHidden(this.$dialog, () => {\n // detach events\n $linkText.off('input paste keypress');\n $linkUrl.off('input paste keypress');\n $linkBtn.off('click');\n\n if (deferred.state() === 'pending') {\n deferred.reject();\n }\n });\n\n this.ui.showDialog(this.$dialog);\n }).promise();\n }\n\n /**\n * @param {Object} layoutInfo\n */\n show() {\n const linkInfo = this.context.invoke('editor.getLinkInfo');\n\n this.context.invoke('editor.saveRange');\n this.showLinkDialog(linkInfo).then((linkInfo) => {\n this.context.invoke('editor.restoreRange');\n this.context.invoke('editor.createLink', linkInfo);\n }).fail(() => {\n this.context.invoke('editor.restoreRange');\n });\n }\n}\n","import $ from 'jquery';\nimport lists from '../core/lists';\nimport dom from '../core/dom';\n\nexport default class LinkPopover {\n constructor(context) {\n this.context = context;\n\n this.ui = $.summernote.ui;\n this.options = context.options;\n this.events = {\n 'summernote.keyup summernote.mouseup summernote.change summernote.scroll': () => {\n this.update();\n },\n 'summernote.disable summernote.dialog.shown': () => {\n this.hide();\n }\n };\n }\n\n shouldInitialize() {\n return !lists.isEmpty(this.options.popover.link);\n }\n\n initialize() {\n this.$popover = this.ui.popover({\n className: 'note-link-popover',\n callback: ($node) => {\n const $content = $node.find('.popover-content,.note-popover-content');\n $content.prepend('<span><a target=\"_blank\"></a> </span>');\n }\n }).render().appendTo(this.options.container);\n const $content = this.$popover.find('.popover-content,.note-popover-content');\n\n this.context.invoke('buttons.build', $content, this.options.popover.link);\n }\n\n destroy() {\n this.$popover.remove();\n }\n\n update() {\n // Prevent focusing on editable when invoke('code') is executed\n if (!this.context.invoke('editor.hasFocus')) {\n this.hide();\n return;\n }\n\n const rng = this.context.invoke('editor.createRange');\n if (rng.isCollapsed() && rng.isOnAnchor()) {\n const anchor = dom.ancestor(rng.sc, dom.isAnchor);\n const href = $(anchor).attr('href');\n this.$popover.find('a').attr('href', href).html(href);\n\n const pos = dom.posFromPlaceholder(anchor);\n this.$popover.css({\n display: 'block',\n left: pos.left,\n top: pos.top\n });\n } else {\n this.hide();\n }\n }\n\n hide() {\n this.$popover.hide();\n }\n}\n","import $ from 'jquery';\nimport env from '../core/env';\nimport key from '../core/key';\n\nexport default class ImageDialog {\n constructor(context) {\n this.context = context;\n this.ui = $.summernote.ui;\n this.$body = $(document.body);\n this.$editor = context.layoutInfo.editor;\n this.options = context.options;\n this.lang = this.options.langInfo;\n }\n\n initialize() {\n const $container = this.options.dialogsInBody ? this.$body : this.$editor;\n\n let imageLimitation = '';\n if (this.options.maximumImageFileSize) {\n const unit = Math.floor(Math.log(this.options.maximumImageFileSize) / Math.log(1024));\n const readableSize = (this.options.maximumImageFileSize / Math.pow(1024, unit)).toFixed(2) * 1 +\n ' ' + ' KMGTP'[unit] + 'B';\n imageLimitation = `<small>${this.lang.image.maximumFileSize + ' : ' + readableSize}</small>`;\n }\n\n const body = [\n '<div class=\"form-group note-form-group note-group-select-from-files\">',\n '<label class=\"note-form-label\">' + this.lang.image.selectFromFiles + '</label>',\n '<input class=\"note-image-input note-form-control note-input\" ',\n ' type=\"file\" name=\"files\" accept=\"image/*\" multiple=\"multiple\" />',\n imageLimitation,\n '</div>',\n '<div class=\"form-group note-group-image-url\" style=\"overflow:auto;\">',\n '<label class=\"note-form-label\">' + this.lang.image.url + '</label>',\n '<input class=\"note-image-url form-control note-form-control note-input ',\n ' col-md-12\" type=\"text\" />',\n '</div>'\n ].join('');\n const buttonClass = 'btn btn-primary note-btn note-btn-primary note-image-btn';\n const footer = `<button type=\"submit\" href=\"#\" class=\"${buttonClass}\" disabled>${this.lang.image.insert}</button>`;\n\n this.$dialog = this.ui.dialog({\n title: this.lang.image.insert,\n fade: this.options.dialogsFade,\n body: body,\n footer: footer\n }).render().appendTo($container);\n }\n\n destroy() {\n this.ui.hideDialog(this.$dialog);\n this.$dialog.remove();\n }\n\n bindEnterKey($input, $btn) {\n $input.on('keypress', (event) => {\n if (event.keyCode === key.code.ENTER) {\n event.preventDefault();\n $btn.trigger('click');\n }\n });\n }\n\n show() {\n this.context.invoke('editor.saveRange');\n this.showImageDialog().then((data) => {\n // [workaround] hide dialog before restore range for IE range focus\n this.ui.hideDialog(this.$dialog);\n this.context.invoke('editor.restoreRange');\n\n if (typeof data === 'string') { // image url\n this.context.invoke('editor.insertImage', data);\n } else { // array of files\n this.context.invoke('editor.insertImagesOrCallback', data);\n }\n }).fail(() => {\n this.context.invoke('editor.restoreRange');\n });\n }\n\n /**\n * show image dialog\n *\n * @param {jQuery} $dialog\n * @return {Promise}\n */\n showImageDialog() {\n return $.Deferred((deferred) => {\n const $imageInput = this.$dialog.find('.note-image-input');\n const $imageUrl = this.$dialog.find('.note-image-url');\n const $imageBtn = this.$dialog.find('.note-image-btn');\n\n this.ui.onDialogShown(this.$dialog, () => {\n this.context.triggerEvent('dialog.shown');\n\n // Cloning imageInput to clear element.\n $imageInput.replaceWith($imageInput.clone().on('change', (event) => {\n deferred.resolve(event.target.files || event.target.value);\n }).val(''));\n\n $imageBtn.click((event) => {\n event.preventDefault();\n\n deferred.resolve($imageUrl.val());\n });\n\n $imageUrl.on('keyup paste', () => {\n const url = $imageUrl.val();\n this.ui.toggleBtn($imageBtn, url);\n }).val('');\n\n if (!env.isSupportTouch) {\n $imageUrl.trigger('focus');\n }\n this.bindEnterKey($imageUrl, $imageBtn);\n });\n\n this.ui.onDialogHidden(this.$dialog, () => {\n $imageInput.off('change');\n $imageUrl.off('keyup paste keypress');\n $imageBtn.off('click');\n\n if (deferred.state() === 'pending') {\n deferred.reject();\n }\n });\n\n this.ui.showDialog(this.$dialog);\n });\n }\n}\n","import $ from 'jquery';\nimport lists from '../core/lists';\nimport dom from '../core/dom';\n\n/**\n * Image popover module\n * mouse events that show/hide popover will be handled by Handle.js.\n * Handle.js will receive the events and invoke 'imagePopover.update'.\n */\nexport default class ImagePopover {\n constructor(context) {\n this.context = context;\n this.ui = $.summernote.ui;\n\n this.editable = context.layoutInfo.editable[0];\n this.options = context.options;\n\n this.events = {\n 'summernote.disable': () => {\n this.hide();\n }\n };\n }\n\n shouldInitialize() {\n return !lists.isEmpty(this.options.popover.image);\n }\n\n initialize() {\n this.$popover = this.ui.popover({\n className: 'note-image-popover'\n }).render().appendTo(this.options.container);\n const $content = this.$popover.find('.popover-content,.note-popover-content');\n this.context.invoke('buttons.build', $content, this.options.popover.image);\n }\n\n destroy() {\n this.$popover.remove();\n }\n\n update(target) {\n if (dom.isImg(target)) {\n const pos = dom.posFromPlaceholder(target);\n const posEditor = dom.posFromPlaceholder(this.editable);\n this.$popover.css({\n display: 'block',\n left: this.options.popatmouse ? event.pageX - 20 : pos.left,\n top: this.options.popatmouse ? event.pageY : Math.min(pos.top, posEditor.top)\n });\n } else {\n this.hide();\n }\n }\n\n hide() {\n this.$popover.hide();\n }\n}\n","import $ from 'jquery';\nimport env from '../core/env';\nimport lists from '../core/lists';\nimport dom from '../core/dom';\n\nexport default class TablePopover {\n constructor(context) {\n this.context = context;\n\n this.ui = $.summernote.ui;\n this.options = context.options;\n this.events = {\n 'summernote.mousedown': (we, e) => {\n this.update(e.target);\n },\n 'summernote.keyup summernote.scroll summernote.change': () => {\n this.update();\n },\n 'summernote.disable': () => {\n this.hide();\n }\n };\n }\n\n shouldInitialize() {\n return !lists.isEmpty(this.options.popover.table);\n }\n\n initialize() {\n this.$popover = this.ui.popover({\n className: 'note-table-popover'\n }).render().appendTo(this.options.container);\n const $content = this.$popover.find('.popover-content,.note-popover-content');\n\n this.context.invoke('buttons.build', $content, this.options.popover.table);\n\n // [workaround] Disable Firefox's default table editor\n if (env.isFF) {\n document.execCommand('enableInlineTableEditing', false, false);\n }\n }\n\n destroy() {\n this.$popover.remove();\n }\n\n update(target) {\n if (this.context.isDisabled()) {\n return false;\n }\n\n const isCell = dom.isCell(target);\n\n if (isCell) {\n const pos = dom.posFromPlaceholder(target);\n this.$popover.css({\n display: 'block',\n left: pos.left,\n top: pos.top\n });\n } else {\n this.hide();\n }\n\n return isCell;\n }\n\n hide() {\n this.$popover.hide();\n }\n}\n","import $ from 'jquery';\nimport env from '../core/env';\nimport key from '../core/key';\n\nexport default class VideoDialog {\n constructor(context) {\n this.context = context;\n\n this.ui = $.summernote.ui;\n this.$body = $(document.body);\n this.$editor = context.layoutInfo.editor;\n this.options = context.options;\n this.lang = this.options.langInfo;\n }\n\n initialize() {\n const $container = this.options.dialogsInBody ? this.$body : this.$editor;\n\n const body = [\n '<div class=\"form-group note-form-group row-fluid\">',\n `<label class=\"note-form-label\">${this.lang.video.url} <small class=\"text-muted\">${this.lang.video.providers}</small></label>`,\n '<input class=\"note-video-url form-control note-form-control note-input\" type=\"text\" />',\n '</div>'\n ].join('');\n const buttonClass = 'btn btn-primary note-btn note-btn-primary note-video-btn';\n const footer = `<button type=\"submit\" href=\"#\" class=\"${buttonClass}\" disabled>${this.lang.video.insert}</button>`;\n\n this.$dialog = this.ui.dialog({\n title: this.lang.video.insert,\n fade: this.options.dialogsFade,\n body: body,\n footer: footer\n }).render().appendTo($container);\n }\n\n destroy() {\n this.ui.hideDialog(this.$dialog);\n this.$dialog.remove();\n }\n\n bindEnterKey($input, $btn) {\n $input.on('keypress', (event) => {\n if (event.keyCode === key.code.ENTER) {\n event.preventDefault();\n $btn.trigger('click');\n }\n });\n }\n\n createVideoNode(url) {\n // video url patterns(youtube, instagram, vimeo, dailymotion, youku, mp4, ogg, webm)\n const ytRegExp = /^(?:https?:\\/\\/)?(?:www\\.)?(?:youtu\\.be\\/|youtube\\.com\\/(?:embed\\/|v\\/|watch\\?v=|watch\\?.+&v=))((\\w|-){11})(?:\\S+)?$/;\n const ytMatch = url.match(ytRegExp);\n\n const igRegExp = /(?:www\\.|\\/\\/)instagram\\.com\\/p\\/(.[a-zA-Z0-9_-]*)/;\n const igMatch = url.match(igRegExp);\n\n const vRegExp = /\\/\\/vine\\.co\\/v\\/([a-zA-Z0-9]+)/;\n const vMatch = url.match(vRegExp);\n\n const vimRegExp = /\\/\\/(player\\.)?vimeo\\.com\\/([a-z]*\\/)*(\\d+)[?]?.*/;\n const vimMatch = url.match(vimRegExp);\n\n const dmRegExp = /.+dailymotion.com\\/(video|hub)\\/([^_]+)[^#]*(#video=([^_&]+))?/;\n const dmMatch = url.match(dmRegExp);\n\n const youkuRegExp = /\\/\\/v\\.youku\\.com\\/v_show\\/id_(\\w+)=*\\.html/;\n const youkuMatch = url.match(youkuRegExp);\n\n const qqRegExp = /\\/\\/v\\.qq\\.com.*?vid=(.+)/;\n const qqMatch = url.match(qqRegExp);\n\n const qqRegExp2 = /\\/\\/v\\.qq\\.com\\/x?\\/?(page|cover).*?\\/([^\\/]+)\\.html\\??.*/;\n const qqMatch2 = url.match(qqRegExp2);\n\n const mp4RegExp = /^.+.(mp4|m4v)$/;\n const mp4Match = url.match(mp4RegExp);\n\n const oggRegExp = /^.+.(ogg|ogv)$/;\n const oggMatch = url.match(oggRegExp);\n\n const webmRegExp = /^.+.(webm)$/;\n const webmMatch = url.match(webmRegExp);\n\n let $video;\n if (ytMatch && ytMatch[1].length === 11) {\n const youtubeId = ytMatch[1];\n $video = $('<iframe>')\n .attr('frameborder', 0)\n .attr('src', '//www.youtube.com/embed/' + youtubeId)\n .attr('width', '640').attr('height', '360');\n } else if (igMatch && igMatch[0].length) {\n $video = $('<iframe>')\n .attr('frameborder', 0)\n .attr('src', 'https://instagram.com/p/' + igMatch[1] + '/embed/')\n .attr('width', '612').attr('height', '710')\n .attr('scrolling', 'no')\n .attr('allowtransparency', 'true');\n } else if (vMatch && vMatch[0].length) {\n $video = $('<iframe>')\n .attr('frameborder', 0)\n .attr('src', vMatch[0] + '/embed/simple')\n .attr('width', '600').attr('height', '600')\n .attr('class', 'vine-embed');\n } else if (vimMatch && vimMatch[3].length) {\n $video = $('<iframe webkitallowfullscreen mozallowfullscreen allowfullscreen>')\n .attr('frameborder', 0)\n .attr('src', '//player.vimeo.com/video/' + vimMatch[3])\n .attr('width', '640').attr('height', '360');\n } else if (dmMatch && dmMatch[2].length) {\n $video = $('<iframe>')\n .attr('frameborder', 0)\n .attr('src', '//www.dailymotion.com/embed/video/' + dmMatch[2])\n .attr('width', '640').attr('height', '360');\n } else if (youkuMatch && youkuMatch[1].length) {\n $video = $('<iframe webkitallowfullscreen mozallowfullscreen allowfullscreen>')\n .attr('frameborder', 0)\n .attr('height', '498')\n .attr('width', '510')\n .attr('src', '//player.youku.com/embed/' + youkuMatch[1]);\n } else if ((qqMatch && qqMatch[1].length) || (qqMatch2 && qqMatch2[2].length)) {\n const vid = ((qqMatch && qqMatch[1].length) ? qqMatch[1] : qqMatch2[2]);\n $video = $('<iframe webkitallowfullscreen mozallowfullscreen allowfullscreen>')\n .attr('frameborder', 0)\n .attr('height', '310')\n .attr('width', '500')\n .attr('src', 'http://v.qq.com/iframe/player.html?vid=' + vid + '&auto=0');\n } else if (mp4Match || oggMatch || webmMatch) {\n $video = $('<video controls>')\n .attr('src', url)\n .attr('width', '640').attr('height', '360');\n } else {\n // this is not a known video link. Now what, Cat? Now what?\n return false;\n }\n\n $video.addClass('note-video-clip');\n\n return $video[0];\n }\n\n show() {\n const text = this.context.invoke('editor.getSelectedText');\n this.context.invoke('editor.saveRange');\n this.showVideoDialog(text).then((url) => {\n // [workaround] hide dialog before restore range for IE range focus\n this.ui.hideDialog(this.$dialog);\n this.context.invoke('editor.restoreRange');\n\n // build node\n const $node = this.createVideoNode(url);\n\n if ($node) {\n // insert video node\n this.context.invoke('editor.insertNode', $node);\n }\n }).fail(() => {\n this.context.invoke('editor.restoreRange');\n });\n }\n\n /**\n * show image dialog\n *\n * @param {jQuery} $dialog\n * @return {Promise}\n */\n showVideoDialog(text) {\n return $.Deferred((deferred) => {\n const $videoUrl = this.$dialog.find('.note-video-url');\n const $videoBtn = this.$dialog.find('.note-video-btn');\n\n this.ui.onDialogShown(this.$dialog, () => {\n this.context.triggerEvent('dialog.shown');\n\n $videoUrl.val(text).on('input', () => {\n this.ui.toggleBtn($videoBtn, $videoUrl.val());\n });\n\n if (!env.isSupportTouch) {\n $videoUrl.trigger('focus');\n }\n\n $videoBtn.click((event) => {\n event.preventDefault();\n\n deferred.resolve($videoUrl.val());\n });\n\n this.bindEnterKey($videoUrl, $videoBtn);\n });\n\n this.ui.onDialogHidden(this.$dialog, () => {\n $videoUrl.off('input');\n $videoBtn.off('click');\n\n if (deferred.state() === 'pending') {\n deferred.reject();\n }\n });\n\n this.ui.showDialog(this.$dialog);\n });\n }\n}\n","import $ from 'jquery';\nimport env from '../core/env';\n\nexport default class HelpDialog {\n constructor(context) {\n this.context = context;\n\n this.ui = $.summernote.ui;\n this.$body = $(document.body);\n this.$editor = context.layoutInfo.editor;\n this.options = context.options;\n this.lang = this.options.langInfo;\n }\n\n initialize() {\n const $container = this.options.dialogsInBody ? this.$body : this.$editor;\n\n const body = [\n '<p class=\"text-center\">',\n '<a href=\"http://summernote.org/\" target=\"_blank\">Summernote @@VERSION@@</a> · ',\n '<a href=\"https://github.com/summernote/summernote\" target=\"_blank\">Project</a> · ',\n '<a href=\"https://github.com/summernote/summernote/issues\" target=\"_blank\">Issues</a>',\n '</p>'\n ].join('');\n\n this.$dialog = this.ui.dialog({\n title: this.lang.options.help,\n fade: this.options.dialogsFade,\n body: this.createShortcutList(),\n footer: body,\n callback: ($node) => {\n $node.find('.modal-body,.note-modal-body').css({\n 'max-height': 300,\n 'overflow': 'scroll'\n });\n }\n }).render().appendTo($container);\n }\n\n destroy() {\n this.ui.hideDialog(this.$dialog);\n this.$dialog.remove();\n }\n\n createShortcutList() {\n const keyMap = this.options.keyMap[env.isMac ? 'mac' : 'pc'];\n return Object.keys(keyMap).map((key) => {\n const command = keyMap[key];\n const $row = $('<div><div class=\"help-list-item\"/></div>');\n $row.append($('<label><kbd>' + key + '</kdb></label>').css({\n 'width': 180,\n 'margin-right': 10\n })).append($('<span/>').html(this.context.memo('help.' + command) || command));\n return $row.html();\n }).join('');\n }\n\n /**\n * show help dialog\n *\n * @return {Promise}\n */\n showHelpDialog() {\n return $.Deferred((deferred) => {\n this.ui.onDialogShown(this.$dialog, () => {\n this.context.triggerEvent('dialog.shown');\n deferred.resolve();\n });\n this.ui.showDialog(this.$dialog);\n }).promise();\n }\n\n show() {\n this.context.invoke('editor.saveRange');\n this.showHelpDialog().then(() => {\n this.context.invoke('editor.restoreRange');\n });\n }\n}\n","import $ from 'jquery';\nimport env from '../core/env';\nimport func from '../core/func';\nimport lists from '../core/lists';\nimport dom from '../core/dom';\n\nconst AIR_MODE_POPOVER_X_OFFSET = 20;\n\nexport default class AirPopover {\n constructor(context) {\n this.context = context;\n this.ui = $.summernote.ui;\n this.options = context.options;\n this.events = {\n 'summernote.keyup summernote.mouseup summernote.scroll': () => {\n this.update();\n },\n 'summernote.disable summernote.change summernote.dialog.shown': () => {\n this.hide();\n },\n 'summernote.focusout': (we, e) => {\n // [workaround] Firefox doesn't support relatedTarget on focusout\n // - Ignore hide action on focus out in FF.\n if (env.isFF) {\n return;\n }\n\n if (!e.relatedTarget || !dom.ancestor(e.relatedTarget, func.eq(this.$popover[0]))) {\n this.hide();\n }\n }\n };\n }\n\n shouldInitialize() {\n return this.options.airMode && !lists.isEmpty(this.options.popover.air);\n }\n\n initialize() {\n this.$popover = this.ui.popover({\n className: 'note-air-popover'\n }).render().appendTo(this.options.container);\n const $content = this.$popover.find('.popover-content');\n\n this.context.invoke('buttons.build', $content, this.options.popover.air);\n }\n\n destroy() {\n this.$popover.remove();\n }\n\n update() {\n const styleInfo = this.context.invoke('editor.currentStyle');\n if (styleInfo.range && !styleInfo.range.isCollapsed()) {\n const rect = lists.last(styleInfo.range.getClientRects());\n if (rect) {\n const bnd = func.rect2bnd(rect);\n this.$popover.css({\n display: 'block',\n left: Math.max(bnd.left + bnd.width / 2, 0) - AIR_MODE_POPOVER_X_OFFSET,\n top: bnd.top + bnd.height\n });\n this.context.invoke('buttons.updateCurrentStyle', this.$popover);\n }\n } else {\n this.hide();\n }\n }\n\n hide() {\n this.$popover.hide();\n }\n}\n","import $ from 'jquery';\nimport func from '../core/func';\nimport lists from '../core/lists';\nimport dom from '../core/dom';\nimport range from '../core/range';\nimport key from '../core/key';\n\nconst POPOVER_DIST = 5;\n\nexport default class HintPopover {\n constructor(context) {\n this.context = context;\n\n this.ui = $.summernote.ui;\n this.$editable = context.layoutInfo.editable;\n this.options = context.options;\n this.hint = this.options.hint || [];\n this.direction = this.options.hintDirection || 'bottom';\n this.hints = $.isArray(this.hint) ? this.hint : [this.hint];\n\n this.events = {\n 'summernote.keyup': (we, e) => {\n if (!e.isDefaultPrevented()) {\n this.handleKeyup(e);\n }\n },\n 'summernote.keydown': (we, e) => {\n this.handleKeydown(e);\n },\n 'summernote.disable summernote.dialog.shown': () => {\n this.hide();\n }\n };\n }\n\n shouldInitialize() {\n return this.hints.length > 0;\n }\n\n initialize() {\n this.lastWordRange = null;\n this.$popover = this.ui.popover({\n className: 'note-hint-popover',\n hideArrow: true,\n direction: ''\n }).render().appendTo(this.options.container);\n\n this.$popover.hide();\n this.$content = this.$popover.find('.popover-content,.note-popover-content');\n this.$content.on('click', '.note-hint-item', () => {\n this.$content.find('.active').removeClass('active');\n $(this).addClass('active');\n this.replace();\n });\n }\n\n destroy() {\n this.$popover.remove();\n }\n\n selectItem($item) {\n this.$content.find('.active').removeClass('active');\n $item.addClass('active');\n\n this.$content[0].scrollTop = $item[0].offsetTop - (this.$content.innerHeight() / 2);\n }\n\n moveDown() {\n const $current = this.$content.find('.note-hint-item.active');\n const $next = $current.next();\n\n if ($next.length) {\n this.selectItem($next);\n } else {\n let $nextGroup = $current.parent().next();\n\n if (!$nextGroup.length) {\n $nextGroup = this.$content.find('.note-hint-group').first();\n }\n\n this.selectItem($nextGroup.find('.note-hint-item').first());\n }\n }\n\n moveUp() {\n const $current = this.$content.find('.note-hint-item.active');\n const $prev = $current.prev();\n\n if ($prev.length) {\n this.selectItem($prev);\n } else {\n let $prevGroup = $current.parent().prev();\n\n if (!$prevGroup.length) {\n $prevGroup = this.$content.find('.note-hint-group').last();\n }\n\n this.selectItem($prevGroup.find('.note-hint-item').last());\n }\n }\n\n replace() {\n const $item = this.$content.find('.note-hint-item.active');\n\n if ($item.length) {\n const node = this.nodeFromItem($item);\n // XXX: consider to move codes to editor for recording redo/undo.\n this.lastWordRange.insertNode(node);\n range.createFromNode(node).collapse().select();\n\n this.lastWordRange = null;\n this.hide();\n this.context.triggerEvent('change', this.$editable.html(), this.$editable[0]);\n this.context.invoke('editor.focus');\n }\n }\n\n nodeFromItem($item) {\n const hint = this.hints[$item.data('index')];\n const item = $item.data('item');\n let node = hint.content ? hint.content(item) : item;\n if (typeof node === 'string') {\n node = dom.createText(node);\n }\n return node;\n }\n\n createItemTemplates(hintIdx, items) {\n const hint = this.hints[hintIdx];\n return items.map((item, idx) => {\n const $item = $('<div class=\"note-hint-item\"/>');\n $item.append(hint.template ? hint.template(item) : item + '');\n $item.data({\n 'index': hintIdx,\n 'item': item\n });\n return $item;\n });\n }\n\n handleKeydown(e) {\n if (!this.$popover.is(':visible')) {\n return;\n }\n\n if (e.keyCode === key.code.ENTER) {\n e.preventDefault();\n this.replace();\n } else if (e.keyCode === key.code.UP) {\n e.preventDefault();\n this.moveUp();\n } else if (e.keyCode === key.code.DOWN) {\n e.preventDefault();\n this.moveDown();\n }\n }\n\n searchKeyword(index, keyword, callback) {\n const hint = this.hints[index];\n if (hint && hint.match.test(keyword) && hint.search) {\n const matches = hint.match.exec(keyword);\n hint.search(matches[1], callback);\n } else {\n callback();\n }\n }\n\n createGroup(idx, keyword) {\n const $group = $('<div class=\"note-hint-group note-hint-group-' + idx + '\"/>');\n this.searchKeyword(idx, keyword, (items) => {\n items = items || [];\n if (items.length) {\n $group.html(this.createItemTemplates(idx, items));\n this.show();\n }\n });\n\n return $group;\n }\n\n handleKeyup(e) {\n if (!lists.contains([key.code.ENTER, key.code.UP, key.code.DOWN], e.keyCode)) {\n const wordRange = this.context.invoke('editor.createRange').getWordRange();\n const keyword = wordRange.toString();\n if (this.hints.length && keyword) {\n this.$content.empty();\n\n const bnd = func.rect2bnd(lists.last(wordRange.getClientRects()));\n if (bnd) {\n this.$popover.hide();\n this.lastWordRange = wordRange;\n this.hints.forEach((hint, idx) => {\n if (hint.match.test(keyword)) {\n this.createGroup(idx, keyword).appendTo(this.$content);\n }\n });\n // select first .note-hint-item\n this.$content.find('.note-hint-item:first').addClass('active');\n\n // set position for popover after group is created\n if (this.direction === 'top') {\n this.$popover.css({\n left: bnd.left,\n top: bnd.top - this.$popover.outerHeight() - POPOVER_DIST\n });\n } else {\n this.$popover.css({\n left: bnd.left,\n top: bnd.top + bnd.height + POPOVER_DIST\n });\n }\n }\n } else {\n this.hide();\n }\n }\n }\n\n show() {\n this.$popover.show();\n }\n\n hide() {\n this.$popover.hide();\n }\n}\n","import $ from 'jquery';\nimport func from './core/func';\nimport lists from './core/lists';\nimport dom from './core/dom';\n\nexport default class Context {\n /**\n * @param {jQuery} $note\n * @param {Object} options\n */\n constructor($note, options) {\n this.ui = $.summernote.ui;\n this.$note = $note;\n\n this.memos = {};\n this.modules = {};\n this.layoutInfo = {};\n this.options = options;\n\n this.initialize();\n }\n\n /**\n * create layout and initialize modules and other resources\n */\n initialize() {\n this.layoutInfo = this.ui.createLayout(this.$note, this.options);\n this._initialize();\n this.$note.hide();\n return this;\n }\n\n /**\n * destroy modules and other resources and remove layout\n */\n destroy() {\n this._destroy();\n this.$note.removeData('summernote');\n this.ui.removeLayout(this.$note, this.layoutInfo);\n }\n\n /**\n * destory modules and other resources and initialize it again\n */\n reset() {\n const disabled = this.isDisabled();\n this.code(dom.emptyPara);\n this._destroy();\n this._initialize();\n\n if (disabled) {\n this.disable();\n }\n }\n\n _initialize() {\n // add optional buttons\n const buttons = $.extend({}, this.options.buttons);\n Object.keys(buttons).forEach((key) => {\n this.memo('button.' + key, buttons[key]);\n });\n\n const modules = $.extend({}, this.options.modules, $.summernote.plugins || {});\n\n // add and initialize modules\n Object.keys(modules).forEach((key) => {\n this.module(key, modules[key], true);\n });\n\n Object.keys(this.modules).forEach((key) => {\n this.initializeModule(key);\n });\n }\n\n _destroy() {\n // destroy modules with reversed order\n Object.keys(this.modules).reverse().forEach((key) => {\n this.removeModule(key);\n });\n\n Object.keys(this.memos).forEach((key) => {\n this.removeMemo(key);\n });\n // trigger custom onDestroy callback\n this.triggerEvent('destroy', this);\n }\n\n code(html) {\n const isActivated = this.invoke('codeview.isActivated');\n\n if (html === undefined) {\n this.invoke('codeview.sync');\n return isActivated ? this.layoutInfo.codable.val() : this.layoutInfo.editable.html();\n } else {\n if (isActivated) {\n this.layoutInfo.codable.val(html);\n } else {\n this.layoutInfo.editable.html(html);\n }\n this.$note.val(html);\n this.triggerEvent('change', html);\n }\n }\n\n isDisabled() {\n return this.layoutInfo.editable.attr('contenteditable') === 'false';\n }\n\n enable() {\n this.layoutInfo.editable.attr('contenteditable', true);\n this.invoke('toolbar.activate', true);\n this.triggerEvent('disable', false);\n }\n\n disable() {\n // close codeview if codeview is opend\n if (this.invoke('codeview.isActivated')) {\n this.invoke('codeview.deactivate');\n }\n this.layoutInfo.editable.attr('contenteditable', false);\n this.invoke('toolbar.deactivate', true);\n\n this.triggerEvent('disable', true);\n }\n\n triggerEvent() {\n const namespace = lists.head(arguments);\n const args = lists.tail(lists.from(arguments));\n\n const callback = this.options.callbacks[func.namespaceToCamel(namespace, 'on')];\n if (callback) {\n callback.apply(this.$note[0], args);\n }\n this.$note.trigger('summernote.' + namespace, args);\n }\n\n initializeModule(key) {\n const module = this.modules[key];\n module.shouldInitialize = module.shouldInitialize || func.ok;\n if (!module.shouldInitialize()) {\n return;\n }\n\n // initialize module\n if (module.initialize) {\n module.initialize();\n }\n\n // attach events\n if (module.events) {\n dom.attachEvents(this.$note, module.events);\n }\n }\n\n module(key, ModuleClass, withoutIntialize) {\n if (arguments.length === 1) {\n return this.modules[key];\n }\n\n this.modules[key] = new ModuleClass(this);\n\n if (!withoutIntialize) {\n this.initializeModule(key);\n }\n }\n\n removeModule(key) {\n const module = this.modules[key];\n if (module.shouldInitialize()) {\n if (module.events) {\n dom.detachEvents(this.$note, module.events);\n }\n\n if (module.destroy) {\n module.destroy();\n }\n }\n\n delete this.modules[key];\n }\n\n memo(key, obj) {\n if (arguments.length === 1) {\n return this.memos[key];\n }\n this.memos[key] = obj;\n }\n\n removeMemo(key) {\n if (this.memos[key] && this.memos[key].destroy) {\n this.memos[key].destroy();\n }\n\n delete this.memos[key];\n }\n\n /**\n * Some buttons need to change their visual style immediately once they get pressed\n */\n createInvokeHandlerAndUpdateState(namespace, value) {\n return (event) => {\n this.createInvokeHandler(namespace, value)(event);\n this.invoke('buttons.updateCurrentStyle');\n };\n }\n\n createInvokeHandler(namespace, value) {\n return (event) => {\n event.preventDefault();\n const $target = $(event.target);\n this.invoke(namespace, value || $target.closest('[data-value]').data('value'), $target);\n };\n }\n\n invoke() {\n const namespace = lists.head(arguments);\n const args = lists.tail(lists.from(arguments));\n\n const splits = namespace.split('.');\n const hasSeparator = splits.length > 1;\n const moduleName = hasSeparator && lists.head(splits);\n const methodName = hasSeparator ? lists.last(splits) : lists.head(splits);\n\n const module = this.modules[moduleName || 'editor'];\n if (!moduleName && this[methodName]) {\n return this[methodName].apply(this, args);\n } else if (module && module[methodName] && module.shouldInitialize()) {\n return module[methodName].apply(module, args);\n }\n }\n}\n","import $ from 'jquery';\nimport env from './base/core/env';\nimport lists from './base/core/lists';\nimport Context from './base/Context';\n\n$.fn.extend({\n /**\n * Summernote API\n *\n * @param {Object|String}\n * @return {this}\n */\n summernote: function() {\n const type = $.type(lists.head(arguments));\n const isExternalAPICalled = type === 'string';\n const hasInitOptions = type === 'object';\n\n const options = $.extend({}, $.summernote.options, hasInitOptions ? lists.head(arguments) : {});\n\n // Update options\n options.langInfo = $.extend(true, {}, $.summernote.lang['en-US'], $.summernote.lang[options.lang]);\n options.icons = $.extend(true, {}, $.summernote.options.icons, options.icons);\n options.tooltip = options.tooltip === 'auto' ? !env.isSupportTouch : options.tooltip;\n\n this.each((idx, note) => {\n const $note = $(note);\n if (!$note.data('summernote')) {\n const context = new Context($note, options);\n $note.data('summernote', context);\n $note.data('summernote').triggerEvent('init', context.layoutInfo);\n }\n });\n\n const $note = this.first();\n if ($note.length) {\n const context = $note.data('summernote');\n if (isExternalAPICalled) {\n return context.invoke.apply(context, lists.from(arguments));\n } else if (options.focus) {\n context.invoke('editor.focus');\n }\n }\n\n return this;\n }\n});\n","import $ from 'jquery';\nimport ui from '../bs3/ui';\nimport dom from '../base/core/dom';\nimport '../base/summernote-en-US';\nimport Editor from '../base/module/Editor';\nimport Clipboard from '../base/module/Clipboard';\nimport Dropzone from '../base/module/Dropzone';\nimport Codeview from '../base/module/Codeview';\nimport Statusbar from '../base/module/Statusbar';\nimport Fullscreen from '../base/module/Fullscreen';\nimport Handle from '../base/module/Handle';\nimport AutoLink from '../base/module/AutoLink';\nimport AutoSync from '../base/module/AutoSync';\nimport Placeholder from '../base/module/Placeholder';\nimport Buttons from '../base/module/Buttons';\nimport Toolbar from '../base/module/Toolbar';\nimport LinkDialog from '../base/module/LinkDialog';\nimport LinkPopover from '../base/module/LinkPopover';\nimport ImageDialog from '../base/module/ImageDialog';\nimport ImagePopover from '../base/module/ImagePopover';\nimport TablePopover from '../base/module/TablePopover';\nimport VideoDialog from '../base/module/VideoDialog';\nimport HelpDialog from '../base/module/HelpDialog';\nimport AirPopover from '../base/module/AirPopover';\nimport HintPopover from '../base/module/HintPopover';\n\n$.summernote = $.extend($.summernote, {\n version: '@@VERSION@@',\n ui: ui,\n dom: dom,\n\n plugins: {},\n\n options: {\n modules: {\n 'editor': Editor,\n 'clipboard': Clipboard,\n 'dropzone': Dropzone,\n 'codeview': Codeview,\n 'statusbar': Statusbar,\n 'fullscreen': Fullscreen,\n 'handle': Handle,\n // FIXME: HintPopover must be front of autolink\n // - Script error about range when Enter key is pressed on hint popover\n 'hintPopover': HintPopover,\n 'autoLink': AutoLink,\n 'autoSync': AutoSync,\n 'placeholder': Placeholder,\n 'buttons': Buttons,\n 'toolbar': Toolbar,\n 'linkDialog': LinkDialog,\n 'linkPopover': LinkPopover,\n 'imageDialog': ImageDialog,\n 'imagePopover': ImagePopover,\n 'tablePopover': TablePopover,\n 'videoDialog': VideoDialog,\n 'helpDialog': HelpDialog,\n 'airPopover': AirPopover\n },\n\n buttons: {},\n\n lang: 'en-US',\n\n followingToolbar: true,\n otherStaticBar: '',\n\n // toolbar\n toolbar: [\n ['style', ['style']],\n ['font', ['bold', 'underline', 'clear']],\n ['fontname', ['fontname']],\n ['color', ['color']],\n ['para', ['ul', 'ol', 'paragraph']],\n ['table', ['table']],\n ['insert', ['link', 'picture', 'video']],\n ['view', ['fullscreen', 'codeview', 'help']]\n ],\n\n // popover\n popatmouse: true,\n popover: {\n image: [\n ['imagesize', ['imageSize100', 'imageSize50', 'imageSize25']],\n ['float', ['floatLeft', 'floatRight', 'floatNone']],\n ['remove', ['removeMedia']]\n ],\n link: [\n ['link', ['linkDialogShow', 'unlink']]\n ],\n table: [\n ['add', ['addRowDown', 'addRowUp', 'addColLeft', 'addColRight']],\n ['delete', ['deleteRow', 'deleteCol', 'deleteTable']]\n ],\n air: [\n ['color', ['color']],\n ['font', ['bold', 'underline', 'clear']],\n ['para', ['ul', 'paragraph']],\n ['table', ['table']],\n ['insert', ['link', 'picture']]\n ]\n },\n\n // air mode: inline editor\n airMode: false,\n\n width: null,\n height: null,\n linkTargetBlank: true,\n\n focus: false,\n tabSize: 4,\n styleWithSpan: true,\n shortcuts: true,\n textareaAutoSync: true,\n hintDirection: 'bottom',\n tooltip: 'auto',\n container: 'body',\n maxTextLength: 0,\n\n styleTags: ['p', 'blockquote', 'pre', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6'],\n\n fontNames: [\n 'Arial', 'Arial Black', 'Comic Sans MS', 'Courier New',\n 'Helvetica Neue', 'Helvetica', 'Impact', 'Lucida Grande',\n 'Tahoma', 'Times New Roman', 'Verdana'\n ],\n\n fontSizes: ['8', '9', '10', '11', '12', '14', '18', '24', '36'],\n\n // pallete colors(n x n)\n colors: [\n ['#000000', '#424242', '#636363', '#9C9C94', '#CEC6CE', '#EFEFEF', '#F7F7F7', '#FFFFFF'],\n ['#FF0000', '#FF9C00', '#FFFF00', '#00FF00', '#00FFFF', '#0000FF', '#9C00FF', '#FF00FF'],\n ['#F7C6CE', '#FFE7CE', '#FFEFC6', '#D6EFD6', '#CEDEE7', '#CEE7F7', '#D6D6E7', '#E7D6DE'],\n ['#E79C9C', '#FFC69C', '#FFE79C', '#B5D6A5', '#A5C6CE', '#9CC6EF', '#B5A5D6', '#D6A5BD'],\n ['#E76363', '#F7AD6B', '#FFD663', '#94BD7B', '#73A5AD', '#6BADDE', '#8C7BC6', '#C67BA5'],\n ['#CE0000', '#E79439', '#EFC631', '#6BA54A', '#4A7B8C', '#3984C6', '#634AA5', '#A54A7B'],\n ['#9C0000', '#B56308', '#BD9400', '#397B21', '#104A5A', '#085294', '#311873', '#731842'],\n ['#630000', '#7B3900', '#846300', '#295218', '#083139', '#003163', '#21104A', '#4A1031']\n ],\n\n // http://chir.ag/projects/name-that-color/\n colorsName: [\n ['Black', 'Tundora', 'Dove Gray', 'Star Dust', 'Pale Slate', 'Gallery', 'Alabaster', 'White'],\n ['Red', 'Orange Peel', 'Yellow', 'Green', 'Cyan', 'Blue', 'Electric Violet', 'Magenta'],\n ['Azalea', 'Karry', 'Egg White', 'Zanah', 'Botticelli', 'Tropical Blue', 'Mischka', 'Twilight'],\n ['Tonys Pink', 'Peach Orange', 'Cream Brulee', 'Sprout', 'Casper', 'Perano', 'Cold Purple', 'Careys Pink'],\n ['Mandy', 'Rajah', 'Dandelion', 'Olivine', 'Gulf Stream', 'Viking', 'Blue Marguerite', 'Puce'],\n ['Guardsman Red', 'Fire Bush', 'Golden Dream', 'Chelsea Cucumber', 'Smalt Blue', 'Boston Blue', 'Butterfly Bush', 'Cadillac'],\n ['Sangria', 'Mai Tai', 'Buddha Gold', 'Forest Green', 'Eden', 'Venice Blue', 'Meteorite', 'Claret'],\n ['Rosewood', 'Cinnamon', 'Olive', 'Parsley', 'Tiber', 'Midnight Blue', 'Valentino', 'Loulou']\n ],\n\n lineHeights: ['1.0', '1.2', '1.4', '1.5', '1.6', '1.8', '2.0', '3.0'],\n\n tableClassName: 'table table-bordered',\n\n insertTableMaxSize: {\n col: 10,\n row: 10\n },\n\n dialogsInBody: false,\n dialogsFade: false,\n\n maximumImageFileSize: null,\n\n callbacks: {\n onInit: null,\n onFocus: null,\n onBlur: null,\n onBlurCodeview: null,\n onEnter: null,\n onKeyup: null,\n onKeydown: null,\n onImageUpload: null,\n onImageUploadError: null\n },\n\n codemirror: {\n mode: 'text/html',\n htmlMode: true,\n lineNumbers: true\n },\n\n keyMap: {\n pc: {\n 'ENTER': 'insertParagraph',\n 'CTRL+Z': 'undo',\n 'CTRL+Y': 'redo',\n 'TAB': 'tab',\n 'SHIFT+TAB': 'untab',\n 'CTRL+B': 'bold',\n 'CTRL+I': 'italic',\n 'CTRL+U': 'underline',\n 'CTRL+SHIFT+S': 'strikethrough',\n 'CTRL+BACKSLASH': 'removeFormat',\n 'CTRL+SHIFT+L': 'justifyLeft',\n 'CTRL+SHIFT+E': 'justifyCenter',\n 'CTRL+SHIFT+R': 'justifyRight',\n 'CTRL+SHIFT+J': 'justifyFull',\n 'CTRL+SHIFT+NUM7': 'insertUnorderedList',\n 'CTRL+SHIFT+NUM8': 'insertOrderedList',\n 'CTRL+LEFTBRACKET': 'outdent',\n 'CTRL+RIGHTBRACKET': 'indent',\n 'CTRL+NUM0': 'formatPara',\n 'CTRL+NUM1': 'formatH1',\n 'CTRL+NUM2': 'formatH2',\n 'CTRL+NUM3': 'formatH3',\n 'CTRL+NUM4': 'formatH4',\n 'CTRL+NUM5': 'formatH5',\n 'CTRL+NUM6': 'formatH6',\n 'CTRL+ENTER': 'insertHorizontalRule',\n 'CTRL+K': 'linkDialog.show'\n },\n\n mac: {\n 'ENTER': 'insertParagraph',\n 'CMD+Z': 'undo',\n 'CMD+SHIFT+Z': 'redo',\n 'TAB': 'tab',\n 'SHIFT+TAB': 'untab',\n 'CMD+B': 'bold',\n 'CMD+I': 'italic',\n 'CMD+U': 'underline',\n 'CMD+SHIFT+S': 'strikethrough',\n 'CMD+BACKSLASH': 'removeFormat',\n 'CMD+SHIFT+L': 'justifyLeft',\n 'CMD+SHIFT+E': 'justifyCenter',\n 'CMD+SHIFT+R': 'justifyRight',\n 'CMD+SHIFT+J': 'justifyFull',\n 'CMD+SHIFT+NUM7': 'insertUnorderedList',\n 'CMD+SHIFT+NUM8': 'insertOrderedList',\n 'CMD+LEFTBRACKET': 'outdent',\n 'CMD+RIGHTBRACKET': 'indent',\n 'CMD+NUM0': 'formatPara',\n 'CMD+NUM1': 'formatH1',\n 'CMD+NUM2': 'formatH2',\n 'CMD+NUM3': 'formatH3',\n 'CMD+NUM4': 'formatH4',\n 'CMD+NUM5': 'formatH5',\n 'CMD+NUM6': 'formatH6',\n 'CMD+ENTER': 'insertHorizontalRule',\n 'CMD+K': 'linkDialog.show'\n }\n },\n icons: {\n 'align': 'note-icon-align',\n 'alignCenter': 'note-icon-align-center',\n 'alignJustify': 'note-icon-align-justify',\n 'alignLeft': 'note-icon-align-left',\n 'alignRight': 'note-icon-align-right',\n 'rowBelow': 'note-icon-row-below',\n 'colBefore': 'note-icon-col-before',\n 'colAfter': 'note-icon-col-after',\n 'rowAbove': 'note-icon-row-above',\n 'rowRemove': 'note-icon-row-remove',\n 'colRemove': 'note-icon-col-remove',\n 'indent': 'note-icon-align-indent',\n 'outdent': 'note-icon-align-outdent',\n 'arrowsAlt': 'note-icon-arrows-alt',\n 'bold': 'note-icon-bold',\n 'caret': 'note-icon-caret',\n 'circle': 'note-icon-circle',\n 'close': 'note-icon-close',\n 'code': 'note-icon-code',\n 'eraser': 'note-icon-eraser',\n 'font': 'note-icon-font',\n 'frame': 'note-icon-frame',\n 'italic': 'note-icon-italic',\n 'link': 'note-icon-link',\n 'unlink': 'note-icon-chain-broken',\n 'magic': 'note-icon-magic',\n 'menuCheck': 'note-icon-menu-check',\n 'minus': 'note-icon-minus',\n 'orderedlist': 'note-icon-orderedlist',\n 'pencil': 'note-icon-pencil',\n 'picture': 'note-icon-picture',\n 'question': 'note-icon-question',\n 'redo': 'note-icon-redo',\n 'square': 'note-icon-square',\n 'strikethrough': 'note-icon-strikethrough',\n 'subscript': 'note-icon-subscript',\n 'superscript': 'note-icon-superscript',\n 'table': 'note-icon-table',\n 'textHeight': 'note-icon-text-height',\n 'trash': 'note-icon-trash',\n 'underline': 'note-icon-underline',\n 'undo': 'note-icon-undo',\n 'unorderedlist': 'note-icon-unorderedlist',\n 'video': 'note-icon-video'\n }\n }\n});\n\nimport '../summernote'; // eslint-disable-line\n"],"names":["$","Codeview"],"mappings":"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"}PK�{�\.��p� � lang/summernote-cs-CZ.min.jsnu�[���/*! Summernote v0.8.10 | (c) 2013- Alan Hong and other contributors | MIT license */ !function(e){e.extend(e.summernote.lang,{"cs-CZ":{font:{bold:"Tučné",italic:"Kurzíva",underline:"Podtržené",clear:"Odstranit styl písma",height:"Výška řádku",strikethrough:"Přeškrtnuté",size:"Velikost písma"},image:{image:"Obrázek",insert:"Vložit obrázek",resizeFull:"Původní velikost",resizeHalf:"Poloviční velikost",resizeQuarter:"Čtvrteční velikost",floatLeft:"Umístit doleva",floatRight:"Umístit doprava",floatNone:"Neobtékat textem",shapeRounded:"Shape: Rounded",shapeCircle:"Shape: Circle",shapeThumbnail:"Shape: Thumbnail",shapeNone:"Shape: None",dragImageHere:"Přetáhnout sem obrázek",dropImage:"Drop image or Text",selectFromFiles:"Vybrat soubor",url:"URL obrázku",remove:"Remove Image",original:"Original"},video:{video:"Video",videoLink:"Odkaz videa",insert:"Vložit video",url:"URL videa?",providers:"(YouTube, Vimeo, Vine, Instagram, DailyMotion nebo Youku)"},link:{link:"Odkaz",insert:"Vytvořit odkaz",unlink:"Zrušit odkaz",edit:"Upravit",textToDisplay:"Zobrazovaný text",url:"Na jaké URL má tento odkaz vést?",openInNewWindow:"Otevřít v novém okně"},table:{table:"Tabulka",addRowAbove:"Add row above",addRowBelow:"Add row below",addColLeft:"Add column left",addColRight:"Add column right",delRow:"Delete row",delCol:"Delete column",delTable:"Delete table"},hr:{insert:"Vložit vodorovnou čáru"},style:{style:"Styl",p:"Normální",blockquote:"Citace",pre:"Kód",h1:"Nadpis 1",h2:"Nadpis 2",h3:"Nadpis 3",h4:"Nadpis 4",h5:"Nadpis 5",h6:"Nadpis 6"},lists:{unordered:"Odrážkový seznam",ordered:"Číselný seznam"},options:{help:"Nápověda",fullscreen:"Celá obrazovka",codeview:"HTML kód"},paragraph:{paragraph:"Odstavec",outdent:"Zvětšit odsazení",indent:"Zmenšit odsazení",left:"Zarovnat doleva",center:"Zarovnat na střed",right:"Zarovnat doprava",justify:"Zarovnat oboustranně"},color:{recent:"Aktuální barva",more:"Další barvy",background:"Barva pozadí",foreground:"Barva písma",transparent:"Průhlednost",setTransparent:"Nastavit průhlednost",reset:"Obnovit",resetToDefault:"Obnovit výchozí"},shortcut:{shortcuts:"Klávesové zkratky",close:"Zavřít",textFormatting:"Formátování textu",action:"Akce",paragraphFormatting:"Formátování odstavce",documentStyle:"Styl dokumentu"},help:{insertParagraph:"Insert Paragraph",undo:"Undoes the last command",redo:"Redoes the last command",tab:"Tab",untab:"Untab",bold:"Set a bold style",italic:"Set a italic style",underline:"Set a underline style",strikethrough:"Set a strikethrough style",removeFormat:"Clean a style",justifyLeft:"Set left align",justifyCenter:"Set center align",justifyRight:"Set right align",justifyFull:"Set full align",insertUnorderedList:"Toggle unordered list",insertOrderedList:"Toggle ordered list",outdent:"Outdent on current paragraph",indent:"Indent on current paragraph",formatPara:"Change current block's format as a paragraph(P tag)",formatH1:"Change current block's format as H1",formatH2:"Change current block's format as H2",formatH3:"Change current block's format as H3",formatH4:"Change current block's format as H4",formatH5:"Change current block's format as H5",formatH6:"Change current block's format as H6",insertHorizontalRule:"Insert horizontal rule","linkDialog.show":"Show Link Dialog"},history:{undo:"Krok vzad",redo:"Krok vpřed"},specialChar:{specialChar:"SPECIAL CHARACTERS",select:"Select Special characters"}}})}(jQuery);PK�{�\���lang/summernote-ja-JP.jsnu�[���(function($) { $.extend($.summernote.lang, { 'ja-JP': { font: { bold: '太字', italic: '斜体', underline: '下線', clear: 'クリア', height: '文字高', name: 'フォント', strikethrough: '取り消し線', subscript: 'Subscript', superscript: 'Superscript', size: '大きさ' }, image: { image: '画像', insert: '画像挿入', resizeFull: '最大化', resizeHalf: '1/2', resizeQuarter: '1/4', floatLeft: '左寄せ', floatRight: '右寄せ', floatNone: '寄せ解除', shapeRounded: 'Shape: Rounded', shapeCircle: 'Shape: Circle', shapeThumbnail: 'Shape: Thumbnail', shapeNone: 'Shape: None', dragImageHere: 'ここに画像をドラッグしてください', dropImage: 'Drop image or Text', selectFromFiles: '画像ファイルを選ぶ', maximumFileSize: 'Maximum file size', maximumFileSizeError: 'Maximum file size exceeded.', url: 'URLから画像を挿入する', remove: '画像を削除する', original: 'Original' }, video: { video: '動画', videoLink: '動画リンク', insert: '動画挿入', url: '動画のURL', providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion, Youku)' }, link: { link: 'リンク', insert: 'リンク挿入', unlink: 'リンク解除', edit: '編集', textToDisplay: 'リンク文字列', url: 'URLを入力してください', openInNewWindow: '新しいウィンドウで開く' }, table: { table: 'テーブル', addRowAbove: 'Add row above', addRowBelow: 'Add row below', addColLeft: 'Add column left', addColRight: 'Add column right', delRow: 'Delete row', delCol: 'Delete column', delTable: 'Delete table' }, hr: { insert: '水平線の挿入' }, style: { style: 'スタイル', p: '標準', blockquote: '引用', pre: 'コード', h1: '見出し1', h2: '見出し2', h3: '見出し3', h4: '見出し4', h5: '見出し5', h6: '見出し6' }, lists: { unordered: '通常リスト', ordered: '番号リスト' }, options: { help: 'ヘルプ', fullscreen: 'フルスクリーン', codeview: 'コード表示' }, paragraph: { paragraph: '文章', outdent: '字上げ', indent: '字下げ', left: '左寄せ', center: '中央寄せ', right: '右寄せ', justify: '均等割付' }, color: { recent: '現在の色', more: 'もっと見る', background: '背景色', foreground: '文字色', transparent: '透明', setTransparent: '透明にする', reset: '標準', resetToDefault: '標準に戻す' }, shortcut: { shortcuts: 'ショートカット', close: '閉じる', textFormatting: '文字フォーマット', action: 'アクション', paragraphFormatting: '文章フォーマット', documentStyle: 'ドキュメント形式', extraKeys: 'Extra keys' }, help: { 'insertParagraph': '改行挿入', 'undo': '一旦、行った操作を戻す', 'redo': '最後のコマンドをやり直す', 'tab': 'Tab', 'untab': 'タブ戻し', 'bold': '太文字', 'italic': '斜体', 'underline': '下線', 'strikethrough': '取り消し線', 'removeFormat': '装飾を戻す', 'justifyLeft': '左寄せ', 'justifyCenter': '真ん中寄せ', 'justifyRight': '右寄せ', 'justifyFull': 'すべてを整列', 'insertUnorderedList': '行頭に●を挿入', 'insertOrderedList': '行頭に番号を挿入', 'outdent': '字下げを戻す(アウトデント)', 'indent': '字下げする(インデント)', 'formatPara': '段落(P tag)指定', 'formatH1': 'H1指定', 'formatH2': 'H2指定', 'formatH3': 'H3指定', 'formatH4': 'H4指定', 'formatH5': 'H5指定', 'formatH6': 'H6指定', 'insertHorizontalRule': '<hr />を挿入', 'linkDialog.show': 'リンク挿入' }, history: { undo: '元に戻す', redo: 'やり直す' }, specialChar: { specialChar: 'SPECIAL CHARACTERS', select: 'Select Special characters' } } }); })(jQuery); PK�{�\�j�� � "lang/summernote-sr-RS-Latin.min.jsnu�[���/*! Summernote v0.8.10 | (c) 2013- Alan Hong and other contributors | MIT license */ !function(e){e.extend(e.summernote.lang,{"sr-RS":{font:{bold:"Podebljano",italic:"Kurziv",underline:"Podvučeno",clear:"Ukloni stilove fonta",height:"Visina linije",name:"Font Family",strikethrough:"Precrtano",subscript:"Subscript",superscript:"Superscript",size:"Veličina fonta"},image:{image:"Slika",insert:"Umetni sliku",resizeFull:"Puna veličina",resizeHalf:"Umanji na 50%",resizeQuarter:"Umanji na 25%",floatLeft:"Uz levu ivicu",floatRight:"Uz desnu ivicu",floatNone:"Bez ravnanja",shapeRounded:"Shape: Rounded",shapeCircle:"Shape: Circle",shapeThumbnail:"Shape: Thumbnail",shapeNone:"Shape: None",dragImageHere:"Prevuci sliku ovde",dropImage:"Drop image or Text",selectFromFiles:"Izaberi iz datoteke",maximumFileSize:"Maximum file size",maximumFileSizeError:"Maximum file size exceeded.",url:"Adresa slike",remove:"Ukloni sliku",original:"Original"},video:{video:"Video",videoLink:"Veza ka videu",insert:"Umetni video",url:"URL video",providers:"(YouTube, Vimeo, Vine, Instagram, DailyMotion ili Youku)"},link:{link:"Veza",insert:"Umetni vezu",unlink:"Ukloni vezu",edit:"Uredi",textToDisplay:"Tekst za prikaz",url:"Internet adresa",openInNewWindow:"Otvori u novom prozoru"},table:{table:"Tabela",addRowAbove:"Add row above",addRowBelow:"Add row below",addColLeft:"Add column left",addColRight:"Add column right",delRow:"Delete row",delCol:"Delete column",delTable:"Delete table"},hr:{insert:"Umetni horizontalnu liniju"},style:{style:"Stil",p:"pni",blockquote:"Citat",pre:"Kod",h1:"Zaglavlje 1",h2:"Zaglavlje 2",h3:"Zaglavlje 3",h4:"Zaglavlje 4",h5:"Zaglavlje 5",h6:"Zaglavlje 6"},lists:{unordered:"Obična lista",ordered:"Numerisana lista"},options:{help:"Pomoć",fullscreen:"Preko celog ekrana",codeview:"Izvorni kod"},paragraph:{paragraph:"Paragraf",outdent:"Smanji uvlačenje",indent:"Povečaj uvlačenje",left:"Poravnaj u levo",center:"Centrirano",right:"Poravnaj u desno",justify:"Poravnaj obostrano"},color:{recent:"Poslednja boja",more:"Više boja",background:"Boja pozadine",foreground:"Boja teksta",transparent:"Providna",setTransparent:"Providna",reset:"Opoziv",resetToDefault:"Podrazumevana"},shortcut:{shortcuts:"Prečice sa tastature",close:"Zatvori",textFormatting:"Formatiranje teksta",action:"Akcija",paragraphFormatting:"Formatiranje paragrafa",documentStyle:"Stil dokumenta",extraKeys:"Dodatne kombinacije"},help:{insertParagraph:"Insert Paragraph",undo:"Undoes the last command",redo:"Redoes the last command",tab:"Tab",untab:"Untab",bold:"Set a bold style",italic:"Set a italic style",underline:"Set a underline style",strikethrough:"Set a strikethrough style",removeFormat:"Clean a style",justifyLeft:"Set left align",justifyCenter:"Set center align",justifyRight:"Set right align",justifyFull:"Set full align",insertUnorderedList:"Toggle unordered list",insertOrderedList:"Toggle ordered list",outdent:"Outdent on current paragraph",indent:"Indent on current paragraph",formatPara:"Change current block's format as a paragraph(P tag)",formatH1:"Change current block's format as H1",formatH2:"Change current block's format as H2",formatH3:"Change current block's format as H3",formatH4:"Change current block's format as H4",formatH5:"Change current block's format as H5",formatH6:"Change current block's format as H6",insertHorizontalRule:"Insert horizontal rule","linkDialog.show":"Show Link Dialog"},history:{undo:"Poništi",redo:"Ponovi"},specialChar:{specialChar:"SPECIAL CHARACTERS",select:"Select Special characters"}}})}(jQuery);PK�{�\������lang/summernote-ta-IN.min.jsnu�[���/*! Summernote v0.8.10 | (c) 2013- Alan Hong and other contributors | MIT license */ !function(e){e.extend(e.summernote.lang,{"ta-IN":{font:{bold:"தடித்த",italic:"சாய்வு",underline:"அடிக்கோடு",clear:"நீக்கு",height:"வரி உயரம்",name:"எழுத்துரு பெயர்",strikethrough:"குறுக்குக் கோடு",size:"எழுத்துரு அளவு",superscript:"மேல் ஒட்டு",subscript:"கீழ் ஒட்டு"},image:{image:"படம்",insert:"படத்தை செருகு",resizeFull:"முழு அளவை",resizeHalf:"அரை அளவை",resizeQuarter:"கால் அளவை",floatLeft:"இடப்பக்கமாக வை",floatRight:"வலப்பக்கமாக வை",floatNone:"இயல்புநிலையில் வை",shapeRounded:"வட்டமான வடிவம்",shapeCircle:"வட்ட வடிவம்",shapeThumbnail:"சிறு வடிவம்",shapeNone:"வடிவத்தை நீக்கு",dragImageHere:"படத்தை இங்கே இழுத்துவை",dropImage:"படத்தை விடு",selectFromFiles:"கோப்புகளை தேர்வு செய்",maximumFileSize:"அதிகபட்ச கோப்பு அளவு",maximumFileSizeError:"கோப்பு அதிகபட்ச அளவை மீறிவிட்டது",url:"இணையதள முகவரி",remove:"படத்தை நீக்கு",original:"Original"},video:{video:"காணொளி",videoLink:"காணொளி இணைப்பு",insert:"காணொளியை செருகு",url:"இணையதள முகவரி",providers:"(YouTube, Vimeo, Vine, Instagram, DailyMotion or Youku)"},link:{link:"இணைப்பு",insert:"இணைப்பை செருகு",unlink:"இணைப்பை நீக்கு",edit:"இணைப்பை தொகு",textToDisplay:"காட்சி வாசகம்",url:"இணையதள முகவரி",openInNewWindow:"புதிய சாளரத்தில் திறக்க"},table:{table:"அட்டவணை",addRowAbove:"Add row above",addRowBelow:"Add row below",addColLeft:"Add column left",addColRight:"Add column right",delRow:"Delete row",delCol:"Delete column",delTable:"Delete table"},hr:{insert:"கிடைமட்ட கோடு"},style:{style:"தொகுப்பு",p:"பத்தி",blockquote:"மேற்கோள்",pre:"குறியீடு",h1:"தலைப்பு 1",h2:"தலைப்பு 2",h3:"தலைப்பு 3",h4:"தலைப்பு 4",h5:"தலைப்பு 5",h6:"தலைப்பு 6"},lists:{unordered:"வரிசையிடாத",ordered:"வரிசையிட்ட"},options:{help:"உதவி",fullscreen:"முழுத்திரை",codeview:"நிரலாக்க காட்சி"},paragraph:{paragraph:"பத்தி",outdent:"வெளித்தள்ளு",indent:"உள்ளே தள்ளு",left:"இடது சீரமைப்பு",center:"நடு சீரமைப்பு",right:"வலது சீரமைப்பு",justify:"இருபுற சீரமைப்பு"},color:{recent:"அண்மை நிறம்",more:"மேலும்",background:"பின்புல நிறம்",foreground:"முன்புற நிறம்",transparent:"தெளிமையான",setTransparent:"தெளிமையாக்கு",reset:"மீட்டமைக்க",resetToDefault:"இயல்புநிலைக்கு மீட்டமை"},shortcut:{shortcuts:"குறுக்குவழி",close:"மூடு",textFormatting:"எழுத்து வடிவமைப்பு",action:"செயல்படுத்து",paragraphFormatting:"பத்தி வடிவமைப்பு",documentStyle:"ஆவண பாணி",extraKeys:"Extra keys"},help:{insertParagraph:"Insert Paragraph",undo:"Undoes the last command",redo:"Redoes the last command",tab:"Tab",untab:"Untab",bold:"Set a bold style",italic:"Set a italic style",underline:"Set a underline style",strikethrough:"Set a strikethrough style",removeFormat:"Clean a style",justifyLeft:"Set left align",justifyCenter:"Set center align",justifyRight:"Set right align",justifyFull:"Set full align",insertUnorderedList:"Toggle unordered list",insertOrderedList:"Toggle ordered list",outdent:"Outdent on current paragraph",indent:"Indent on current paragraph",formatPara:"Change current block's format as a paragraph(P tag)",formatH1:"Change current block's format as H1",formatH2:"Change current block's format as H2",formatH3:"Change current block's format as H3",formatH4:"Change current block's format as H4",formatH5:"Change current block's format as H5",formatH6:"Change current block's format as H6",insertHorizontalRule:"Insert horizontal rule","linkDialog.show":"Show Link Dialog"},history:{undo:"மீளமை",redo:"மீண்டும்"},specialChar:{specialChar:"SPECIAL CHARACTERS",select:"Select Special characters"}}})}(jQuery);PK�{�\AtS��lang/summernote-mn-MN.jsnu�[���// Starsoft Mongolia LLC Temuujin Ariunbold (function($) { $.extend($.summernote.lang, { 'mn-MN': { font: { bold: 'Тод', italic: 'Налуу', underline: 'Доогуур зураас', clear: 'Цэвэрлэх', height: 'Өндөр', name: 'Фонт', superscript: 'Дээд илтгэгч', subscript: 'Доод илтгэгч', strikethrough: 'Дарах', size: 'Хэмжээ' }, image: { image: 'Зураг', insert: 'Оруулах', resizeFull: 'Хэмжээ бүтэн', resizeHalf: 'Хэмжээ 1/2', resizeQuarter: 'Хэмжээ 1/4', floatLeft: 'Зүүн талд байрлуулах', floatRight: 'Баруун талд байрлуулах', floatNone: 'Анхдагч байрлалд аваачих', shapeRounded: 'Хүрээ: Дугуй', shapeCircle: 'Хүрээ: Тойрог', shapeThumbnail: 'Хүрээ: Хураангуй', shapeNone: 'Хүрээгүй', dragImageHere: 'Зургийг энд чирч авчирна уу', dropImage: 'Drop image or Text', selectFromFiles: 'Файлуудаас сонгоно уу', maximumFileSize: 'Файлын дээд хэмжээ', maximumFileSizeError: 'Файлын дээд хэмжээ хэтэрсэн', url: 'Зургийн URL', remove: 'Зургийг устгах', original: 'Original' }, video: { video: 'Видео', videoLink: 'Видео холбоос', insert: 'Видео оруулах', url: 'Видео URL?', providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion болон Youku)' }, link: { link: 'Холбоос', insert: 'Холбоос оруулах', unlink: 'Холбоос арилгах', edit: 'Засварлах', textToDisplay: 'Харуулах бичвэр', url: 'Энэ холбоос хаашаа очих вэ?', openInNewWindow: 'Шинэ цонхонд нээх' }, table: { table: 'Хүснэгт', addRowAbove: 'Add row above', addRowBelow: 'Add row below', addColLeft: 'Add column left', addColRight: 'Add column right', delRow: 'Delete row', delCol: 'Delete column', delTable: 'Delete table' }, hr: { insert: 'Хэвтээ шугам оруулах' }, style: { style: 'Хэв маяг', p: 'p', blockquote: 'Иш татах', pre: 'Эх сурвалж', h1: 'Гарчиг 1', h2: 'Гарчиг 2', h3: 'Гарчиг 3', h4: 'Гарчиг 4', h5: 'Гарчиг 5', h6: 'Гарчиг 6' }, lists: { unordered: 'Эрэмбэлэгдээгүй', ordered: 'Эрэмбэлэгдсэн' }, options: { help: 'Тусламж', fullscreen: 'Дэлгэцийг дүүргэх', codeview: 'HTML-Code харуулах' }, paragraph: { paragraph: 'Хэсэг', outdent: 'Догол мөр хасах', indent: 'Догол мөр нэмэх', left: 'Зүүн тийш эгнүүлэх', center: 'Төвд эгнүүлэх', right: 'Баруун тийш эгнүүлэх', justify: 'Мөрийг тэгшлэх' }, color: { recent: 'Сүүлд хэрэглэсэн өнгө', more: 'Өөр өнгөнүүд', background: 'Дэвсгэр өнгө', foreground: 'Үсгийн өнгө', transparent: 'Тунгалаг', setTransparent: 'Тунгалаг болгох', reset: 'Анхдагч өнгөөр тохируулах', resetToDefault: 'Хэвд нь оруулах' }, shortcut: { shortcuts: 'Богино холбоос', close: 'Хаалт', textFormatting: 'Бичвэрийг хэлбэржүүлэх', action: 'Үйлдэл', paragraphFormatting: 'Догол мөрийг хэлбэржүүлэх', documentStyle: 'Бичиг баримтын хэв загвар', extraKeys: 'Extra keys' }, help: { 'insertParagraph': 'Insert Paragraph', 'undo': 'Undoes the last command', 'redo': 'Redoes the last command', 'tab': 'Tab', 'untab': 'Untab', 'bold': 'Set a bold style', 'italic': 'Set a italic style', 'underline': 'Set a underline style', 'strikethrough': 'Set a strikethrough style', 'removeFormat': 'Clean a style', 'justifyLeft': 'Set left align', 'justifyCenter': 'Set center align', 'justifyRight': 'Set right align', 'justifyFull': 'Set full align', 'insertUnorderedList': 'Toggle unordered list', 'insertOrderedList': 'Toggle ordered list', 'outdent': 'Outdent on current paragraph', 'indent': 'Indent on current paragraph', 'formatPara': 'Change current block\'s format as a paragraph(P tag)', 'formatH1': 'Change current block\'s format as H1', 'formatH2': 'Change current block\'s format as H2', 'formatH3': 'Change current block\'s format as H3', 'formatH4': 'Change current block\'s format as H4', 'formatH5': 'Change current block\'s format as H5', 'formatH6': 'Change current block\'s format as H6', 'insertHorizontalRule': 'Insert horizontal rule', 'linkDialog.show': 'Show Link Dialog' }, history: { undo: 'Буцаах', redo: 'Дахин хийх' }, specialChar: { specialChar: 'Тусгай тэмдэгт', select: 'Тусгай тэмдэгт сонгох' } } }); })(jQuery); PK�{�\A�v��lang/summernote-ta-IN.jsnu�[���(function($) { $.extend($.summernote.lang, { 'ta-IN': { font: { bold: 'தடித்த', italic: 'சாய்வு', underline: 'அடிக்கோடு', clear: 'நீக்கு', height: 'வரி உயரம்', name: 'எழுத்துரு பெயர்', strikethrough: 'குறுக்குக் கோடு', size: 'எழுத்துரு அளவு', superscript: 'மேல் ஒட்டு', subscript: 'கீழ் ஒட்டு' }, image: { image: 'படம்', insert: 'படத்தை செருகு', resizeFull: 'முழு அளவை', resizeHalf: 'அரை அளவை', resizeQuarter: 'கால் அளவை', floatLeft: 'இடப்பக்கமாக வை', floatRight: 'வலப்பக்கமாக வை', floatNone: 'இயல்புநிலையில் வை', shapeRounded: 'வட்டமான வடிவம்', shapeCircle: 'வட்ட வடிவம்', shapeThumbnail: 'சிறு வடிவம்', shapeNone: 'வடிவத்தை நீக்கு', dragImageHere: 'படத்தை இங்கே இழுத்துவை', dropImage: 'படத்தை விடு', selectFromFiles: 'கோப்புகளை தேர்வு செய்', maximumFileSize: 'அதிகபட்ச கோப்பு அளவு', maximumFileSizeError: 'கோப்பு அதிகபட்ச அளவை மீறிவிட்டது', url: 'இணையதள முகவரி', remove: 'படத்தை நீக்கு', original: 'Original' }, video: { video: 'காணொளி', videoLink: 'காணொளி இணைப்பு', insert: 'காணொளியை செருகு', url: 'இணையதள முகவரி', providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion or Youku)' }, link: { link: 'இணைப்பு', insert: 'இணைப்பை செருகு', unlink: 'இணைப்பை நீக்கு', edit: 'இணைப்பை தொகு', textToDisplay: 'காட்சி வாசகம்', url: 'இணையதள முகவரி', openInNewWindow: 'புதிய சாளரத்தில் திறக்க' }, table: { table: 'அட்டவணை', addRowAbove: 'Add row above', addRowBelow: 'Add row below', addColLeft: 'Add column left', addColRight: 'Add column right', delRow: 'Delete row', delCol: 'Delete column', delTable: 'Delete table' }, hr: { insert: 'கிடைமட்ட கோடு' }, style: { style: 'தொகுப்பு', p: 'பத்தி', blockquote: 'மேற்கோள்', pre: 'குறியீடு', h1: 'தலைப்பு 1', h2: 'தலைப்பு 2', h3: 'தலைப்பு 3', h4: 'தலைப்பு 4', h5: 'தலைப்பு 5', h6: 'தலைப்பு 6' }, lists: { unordered: 'வரிசையிடாத', ordered: 'வரிசையிட்ட' }, options: { help: 'உதவி', fullscreen: 'முழுத்திரை', codeview: 'நிரலாக்க காட்சி' }, paragraph: { paragraph: 'பத்தி', outdent: 'வெளித்தள்ளு', indent: 'உள்ளே தள்ளு', left: 'இடது சீரமைப்பு', center: 'நடு சீரமைப்பு', right: 'வலது சீரமைப்பு', justify: 'இருபுற சீரமைப்பு' }, color: { recent: 'அண்மை நிறம்', more: 'மேலும்', background: 'பின்புல நிறம்', foreground: 'முன்புற நிறம்', transparent: 'தெளிமையான', setTransparent: 'தெளிமையாக்கு', reset: 'மீட்டமைக்க', resetToDefault: 'இயல்புநிலைக்கு மீட்டமை' }, shortcut: { shortcuts: 'குறுக்குவழி', close: 'மூடு', textFormatting: 'எழுத்து வடிவமைப்பு', action: 'செயல்படுத்து', paragraphFormatting: 'பத்தி வடிவமைப்பு', documentStyle: 'ஆவண பாணி', extraKeys: 'Extra keys' }, help: { 'insertParagraph': 'Insert Paragraph', 'undo': 'Undoes the last command', 'redo': 'Redoes the last command', 'tab': 'Tab', 'untab': 'Untab', 'bold': 'Set a bold style', 'italic': 'Set a italic style', 'underline': 'Set a underline style', 'strikethrough': 'Set a strikethrough style', 'removeFormat': 'Clean a style', 'justifyLeft': 'Set left align', 'justifyCenter': 'Set center align', 'justifyRight': 'Set right align', 'justifyFull': 'Set full align', 'insertUnorderedList': 'Toggle unordered list', 'insertOrderedList': 'Toggle ordered list', 'outdent': 'Outdent on current paragraph', 'indent': 'Indent on current paragraph', 'formatPara': 'Change current block\'s format as a paragraph(P tag)', 'formatH1': 'Change current block\'s format as H1', 'formatH2': 'Change current block\'s format as H2', 'formatH3': 'Change current block\'s format as H3', 'formatH4': 'Change current block\'s format as H4', 'formatH5': 'Change current block\'s format as H5', 'formatH6': 'Change current block\'s format as H6', 'insertHorizontalRule': 'Insert horizontal rule', 'linkDialog.show': 'Show Link Dialog' }, history: { undo: 'மீளமை', redo: 'மீண்டும்' }, specialChar: { specialChar: 'SPECIAL CHARACTERS', select: 'Select Special characters' } } }); })(jQuery); PK�{�\S>��lang/summernote-uz-UZ.min.jsnu�[���/*! Summernote v0.8.10 | (c) 2013- Alan Hong and other contributors | MIT license */ !function(e){e.extend(e.summernote.lang,{"uz-UZ":{font:{bold:"қалин",italic:"Курсив",underline:"Белгиланган",clear:"Ҳарф турларини олиб ташлаш",height:"Чизиқ баландлиги",name:"Ҳарф",strikethrough:"Ўчирилган",subscript:"Пастки индекс",superscript:"Юқори индекс",size:"ҳарф ҳажми"},image:{image:"Расм",insert:"расмни қўйиш",resizeFull:"Ҳажмни тиклаш",resizeHalf:"50% гача кичрайтириш",resizeQuarter:"25% гача кичрайтириш",floatLeft:"Чапда жойлаштириш",floatRight:"Ўнгда жойлаштириш",floatNone:"Стандарт бўйича жойлашув",shapeRounded:"Шакли: Юмалоқ",shapeCircle:"Шакли: Доира",shapeThumbnail:"Шакли: Миниатюра",shapeNone:"Шакли: Йўқ",dragImageHere:"Суратни кўчириб ўтинг",dropImage:"Суратни кўчириб ўтинг",selectFromFiles:"Файллардан бирини танлаш",url:"суратлар URL и",remove:"Суратни ўчириш"},video:{video:"Видео",videoLink:"Видеога ҳавола",insert:"Видео",url:"URL видео",providers:"(YouTube, Vimeo, Vine, Instagram, DailyMotion или Youku)"},link:{link:"Ҳавола",insert:"Ҳаволани қўйиш",unlink:"Ҳаволани олиб ташлаш",edit:"Таҳрир қилиш",textToDisplay:"Кўринадиган матн",url:"URL ўтиш учун",openInNewWindow:"Янги дарчада очиш"},table:{table:"Жадвал"},hr:{insert:"Горизонтал чизиқни қўйиш"},style:{style:"Услуб",p:"Яхши",blockquote:"Жумла",pre:"Код",h1:"Сарлавҳа 1",h2:"Сарлавҳа 2",h3:"Сарлавҳа 3",h4:"Сарлавҳа 4",h5:"Сарлавҳа 5",h6:"Сарлавҳа 6"},lists:{unordered:"Белгиланган рўйҳат",ordered:"Рақамланган рўйҳат"},options:{help:"Ёрдам",fullscreen:"Бутун экран бўйича",codeview:"Бошланғич код"},paragraph:{paragraph:"Параграф",outdent:"Орқага қайтишни камайтириш",indent:"Орқага қайтишни кўпайтириш",left:"Чап қирғоққа тўғрилаш",center:"Марказга тўғрилаш",right:"Ўнг қирғоққа тўғрилаш",justify:"Эни бўйлаб чўзиш"},color:{recent:"Охирги ранг",more:"Яна ранглар",background:"Фон ранги",foreground:"Ҳарф ранги",transparent:"Шаффоф",setTransparent:"Шаффофдай қилиш",reset:"Бекор қилиш",resetToDefault:"Стандартга оид тиклаш"},shortcut:{shortcuts:"Клавишларнинг ҳамохҳанглиги",close:"Ёпиқ",textFormatting:"Матнни ",action:"Ҳаркат",paragraphFormatting:"Параграфни форматлаш",documentStyle:"Ҳужжатнинг тури",extraKeys:"Қўшимча имкониятлар"},history:{undo:"Бекор қилиш",redo:"Қайтариш"}}})}(jQuery);PK�{�\�E)lang/summernote-da-DK.jsnu�[���(function($) { $.extend($.summernote.lang, { 'da-DK': { font: { bold: 'Fed', italic: 'Kursiv', underline: 'Understreget', clear: 'Fjern formatering', height: 'Højde', name: 'Skrifttype', strikethrough: 'Gennemstreget', subscript: 'Sænket skrift', superscript: 'Hævet skrift', size: 'Skriftstørrelse' }, image: { image: 'Billede', insert: 'Indsæt billede', resizeFull: 'Original størrelse', resizeHalf: 'Halv størrelse', resizeQuarter: 'Kvart størrelse', floatLeft: 'Venstrestillet', floatRight: 'Højrestillet', floatNone: 'Fjern formatering', shapeRounded: 'Form: Runde kanter', shapeCircle: 'Form: Cirkel', shapeThumbnail: 'Form: Miniature', shapeNone: 'Form: Ingen', dragImageHere: 'Træk billede hertil', dropImage: 'Slip billede', selectFromFiles: 'Vælg billed-fil', maximumFileSize: 'Maks fil størrelse', maximumFileSizeError: 'Filen er større end maks tilladte fil størrelse!', url: 'Billede URL', remove: 'Fjern billede', original: 'Original' }, video: { video: 'Video', videoLink: 'Video Link', insert: 'Indsæt Video', url: 'Video URL?', providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion eller Youku)' }, link: { link: 'Link', insert: 'Indsæt link', unlink: 'Fjern link', edit: 'Rediger', textToDisplay: 'Visningstekst', url: 'Hvor skal linket pege hen?', openInNewWindow: 'Åbn i nyt vindue' }, table: { table: 'Tabel', addRowAbove: 'Add row above', addRowBelow: 'Add row below', addColLeft: 'Add column left', addColRight: 'Add column right', delRow: 'Delete row', delCol: 'Delete column', delTable: 'Delete table' }, hr: { insert: 'Indsæt horisontal linje' }, style: { style: 'Stil', p: 'p', blockquote: 'Citat', pre: 'Kode', h1: 'Overskrift 1', h2: 'Overskrift 2', h3: 'Overskrift 3', h4: 'Overskrift 4', h5: 'Overskrift 5', h6: 'Overskrift 6' }, lists: { unordered: 'Punktopstillet liste', ordered: 'Nummereret liste' }, options: { help: 'Hjælp', fullscreen: 'Fuld skærm', codeview: 'HTML-Visning' }, paragraph: { paragraph: 'Afsnit', outdent: 'Formindsk indryk', indent: 'Forøg indryk', left: 'Venstrestillet', center: 'Centreret', right: 'Højrestillet', justify: 'Blokjuster' }, color: { recent: 'Nyligt valgt farve', more: 'Flere farver', background: 'Baggrund', foreground: 'Forgrund', transparent: 'Transparent', setTransparent: 'Sæt transparent', reset: 'Nulstil', resetToDefault: 'Gendan standardindstillinger' }, shortcut: { shortcuts: 'Genveje', close: 'Luk', textFormatting: 'Tekstformatering', action: 'Handling', paragraphFormatting: 'Afsnitsformatering', documentStyle: 'Dokumentstil', extraKeys: 'Extra keys' }, help: { 'insertParagraph': 'Insert Paragraph', 'undo': 'Undoes the last command', 'redo': 'Redoes the last command', 'tab': 'Tab', 'untab': 'Untab', 'bold': 'Set a bold style', 'italic': 'Set a italic style', 'underline': 'Set a underline style', 'strikethrough': 'Set a strikethrough style', 'removeFormat': 'Clean a style', 'justifyLeft': 'Set left align', 'justifyCenter': 'Set center align', 'justifyRight': 'Set right align', 'justifyFull': 'Set full align', 'insertUnorderedList': 'Toggle unordered list', 'insertOrderedList': 'Toggle ordered list', 'outdent': 'Outdent on current paragraph', 'indent': 'Indent on current paragraph', 'formatPara': 'Change current block\'s format as a paragraph(P tag)', 'formatH1': 'Change current block\'s format as H1', 'formatH2': 'Change current block\'s format as H2', 'formatH3': 'Change current block\'s format as H3', 'formatH4': 'Change current block\'s format as H4', 'formatH5': 'Change current block\'s format as H5', 'formatH6': 'Change current block\'s format as H6', 'insertHorizontalRule': 'Insert horizontal rule', 'linkDialog.show': 'Show Link Dialog' }, history: { undo: 'Fortryd', redo: 'Annuller fortryd' }, specialChar: { specialChar: 'SPECIAL CHARACTERS', select: 'Select Special characters' } } }); })(jQuery); PK�{�\* ����lang/summernote-vi-VN.jsnu�[���(function($) { $.extend($.summernote.lang, { 'vi-VN': { font: { bold: 'In Đậm', italic: 'In Nghiêng', underline: 'Gạch dưới', clear: 'Bỏ định dạng', height: 'Chiều cao dòng', name: 'Phông chữ', strikethrough: 'Gạch ngang', subscript: 'Subscript', superscript: 'Superscript', size: 'Cỡ chữ' }, image: { image: 'Hình ảnh', insert: 'Chèn', resizeFull: '100%', resizeHalf: '50%', resizeQuarter: '25%', floatLeft: 'Trôi về trái', floatRight: 'Trôi về phải', floatNone: 'Không trôi', shapeRounded: 'Shape: Rounded', shapeCircle: 'Shape: Circle', shapeThumbnail: 'Shape: Thumbnail', shapeNone: 'Shape: None', dragImageHere: 'Thả Ảnh ở vùng này', dropImage: 'Drop image or Text', selectFromFiles: 'Chọn từ File', maximumFileSize: 'Maximum file size', maximumFileSizeError: 'Maximum file size exceeded.', url: 'URL', remove: 'Xóa', original: 'Original' }, video: { video: 'Video', videoLink: 'Link đến Video', insert: 'Chèn Video', url: 'URL', providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion và Youku)' }, link: { link: 'Link', insert: 'Chèn Link', unlink: 'Gỡ Link', edit: 'Sửa', textToDisplay: 'Văn bản hiển thị', url: 'URL', openInNewWindow: 'Mở ở Cửa sổ mới' }, table: { table: 'Bảng', addRowAbove: 'Add row above', addRowBelow: 'Add row below', addColLeft: 'Add column left', addColRight: 'Add column right', delRow: 'Delete row', delCol: 'Delete column', delTable: 'Delete table' }, hr: { insert: 'Chèn' }, style: { style: 'Kiểu chữ', p: 'Chữ thường', blockquote: 'Đoạn trích', pre: 'Mã Code', h1: 'H1', h2: 'H2', h3: 'H3', h4: 'H4', h5: 'H5', h6: 'H6' }, lists: { unordered: 'Liệt kê danh sách', ordered: 'Liệt kê theo thứ tự' }, options: { help: 'Trợ giúp', fullscreen: 'Toàn Màn hình', codeview: 'Xem Code' }, paragraph: { paragraph: 'Canh lề', outdent: 'Dịch sang trái', indent: 'Dịch sang phải', left: 'Canh trái', center: 'Canh giữa', right: 'Canh phải', justify: 'Canh đều' }, color: { recent: 'Màu chữ', more: 'Mở rộng', background: 'Màu nền', foreground: 'Màu chữ', transparent: 'trong suốt', setTransparent: 'Nền trong suốt', reset: 'Thiết lập lại', resetToDefault: 'Trở lại ban đầu' }, shortcut: { shortcuts: 'Phím tắt', close: 'Đóng', textFormatting: 'Định dạng Văn bản', action: 'Hành động', paragraphFormatting: 'Định dạng', documentStyle: 'Kiểu văn bản', extraKeys: 'Extra keys' }, help: { 'insertParagraph': 'Insert Paragraph', 'undo': 'Undoes the last command', 'redo': 'Redoes the last command', 'tab': 'Tab', 'untab': 'Untab', 'bold': 'Set a bold style', 'italic': 'Set a italic style', 'underline': 'Set a underline style', 'strikethrough': 'Set a strikethrough style', 'removeFormat': 'Clean a style', 'justifyLeft': 'Set left align', 'justifyCenter': 'Set center align', 'justifyRight': 'Set right align', 'justifyFull': 'Set full align', 'insertUnorderedList': 'Toggle unordered list', 'insertOrderedList': 'Toggle ordered list', 'outdent': 'Outdent on current paragraph', 'indent': 'Indent on current paragraph', 'formatPara': 'Change current block\'s format as a paragraph(P tag)', 'formatH1': 'Change current block\'s format as H1', 'formatH2': 'Change current block\'s format as H2', 'formatH3': 'Change current block\'s format as H3', 'formatH4': 'Change current block\'s format as H4', 'formatH5': 'Change current block\'s format as H5', 'formatH6': 'Change current block\'s format as H6', 'insertHorizontalRule': 'Insert horizontal rule', 'linkDialog.show': 'Show Link Dialog' }, history: { undo: 'Lùi lại', redo: 'Làm lại' }, specialChar: { specialChar: 'SPECIAL CHARACTERS', select: 'Select Special characters' } } }); })(jQuery); PK�{�\<�����lang/summernote-hu-HU.min.jsnu�[���/*! Summernote v0.8.10 | (c) 2013- Alan Hong and other contributors | MIT license */ !function(e){e.extend(e.summernote.lang,{"hu-HU":{font:{bold:"Félkövér",italic:"Dőlt",underline:"Aláhúzott",clear:"Formázás törlése",height:"Sorköz",name:"Betűtípus",strikethrough:"Áthúzott",subscript:"Subscript",superscript:"Superscript",size:"Betűméret"},image:{image:"Kép",insert:"Kép beszúrása",resizeFull:"Átméretezés teljes méretre",resizeHalf:"Átméretezés felére",resizeQuarter:"Átméretezés negyedére",floatLeft:"Igazítás balra",floatRight:"Igazítás jobbra",floatNone:"Igazítás törlése",shapeRounded:"Shape: Rounded",shapeCircle:"Shape: Circle",shapeThumbnail:"Shape: Thumbnail",shapeNone:"Shape: None",dragImageHere:"Ide húzhat képet vagy szöveget",dropImage:"Engedje el a képet vagy szöveget",selectFromFiles:"Fájlok kiválasztása",maximumFileSize:"Maximum file size",maximumFileSizeError:"Maximum file size exceeded.",url:"Kép URL címe",remove:"Kép törlése",original:"Original"},video:{video:"Videó",videoLink:"Videó hivatkozás",insert:"Videó beszúrása",url:"Videó URL címe",providers:"(YouTube, Vimeo, Vine, Instagram, DailyMotion vagy Youku)"},link:{link:"Hivatkozás",insert:"Hivatkozás beszúrása",unlink:"Hivatkozás megszüntetése",edit:"Szerkesztés",textToDisplay:"Megjelenítendő szöveg",url:"Milyen URL címre hivatkozzon?",openInNewWindow:"Megnyitás új ablakban"},table:{table:"Táblázat",addRowAbove:"Add row above",addRowBelow:"Add row below",addColLeft:"Add column left",addColRight:"Add column right",delRow:"Delete row",delCol:"Delete column",delTable:"Delete table"},hr:{insert:"Elválasztó vonal beszúrása"},style:{style:"Stílus",p:"Normál",blockquote:"Idézet",pre:"Kód",h1:"Fejléc 1",h2:"Fejléc 2",h3:"Fejléc 3",h4:"Fejléc 4",h5:"Fejléc 5",h6:"Fejléc 6"},lists:{unordered:"Listajeles lista",ordered:"Számozott lista"},options:{help:"Súgó",fullscreen:"Teljes képernyő",codeview:"Kód nézet"},paragraph:{paragraph:"Bekezdés",outdent:"Behúzás csökkentése",indent:"Behúzás növelése",left:"Igazítás balra",center:"Igazítás középre",right:"Igazítás jobbra",justify:"Sorkizárt"},color:{recent:"Jelenlegi szín",more:"További színek",background:"Háttérszín",foreground:"Betűszín",transparent:"Átlátszó",setTransparent:"Átlászóság beállítása",reset:"Visszaállítás",resetToDefault:"Alaphelyzetbe állítás"},shortcut:{shortcuts:"Gyorsbillentyű",close:"Bezárás",textFormatting:"Szöveg formázása",action:"Művelet",paragraphFormatting:"Bekezdés formázása",documentStyle:"Dokumentumstílus",extraKeys:"Extra keys"},help:{insertParagraph:"Új bekezdés",undo:"Visszavonás",redo:"Újra",tab:"Behúzás növelése",untab:"Behúzás csökkentése",bold:"Félkövérre állítás",italic:"Dőltre állítás",underline:"Aláhúzás",strikethrough:"Áthúzás",removeFormat:"Formázás törlése",justifyLeft:"Balra igazítás",justifyCenter:"Középre igazítás",justifyRight:"Jobbra igazítás",justifyFull:"Sorkizárt",insertUnorderedList:"Számozatlan lista be/ki",insertOrderedList:"Számozott lista be/ki",outdent:"Jelenlegi bekezdés behúzásának megszüntetése",indent:"Jelenlegi bekezdés behúzása",formatPara:"Blokk formázása bekezdésként (P tag)",formatH1:"Blokk formázása, mint Fejléc 1",formatH2:"Blokk formázása, mint Fejléc 2",formatH3:"Blokk formázása, mint Fejléc 3",formatH4:"Blokk formázása, mint Fejléc 4",formatH5:"Blokk formázása, mint Fejléc 5",formatH6:"Blokk formázása, mint Fejléc 6",insertHorizontalRule:"Vízszintes vonal beszúrása","linkDialog.show":"Link párbeszédablak megjelenítése"},history:{undo:"Visszavonás",redo:"Újra"},specialChar:{specialChar:"SPECIAL CHARACTERS",select:"Select Special characters"}}})}(jQuery);PK�{�\��1ZZlang/summernote-es-EU.jsnu�[���(function($) { $.extend($.summernote.lang, { 'es-EU': { font: { bold: 'Lodia', italic: 'Etzana', underline: 'Azpimarratua', clear: 'Estiloa kendu', height: 'Lerro altuera', name: 'Tipografia', strikethrough: 'Marratua', subscript: 'Subscript', superscript: 'Superscript', size: 'Letren neurria' }, image: { image: 'Irudia', insert: 'Irudi bat txertatu', resizeFull: 'Jatorrizko neurrira aldatu', resizeHalf: 'Neurria erdira aldatu', resizeQuarter: 'Neurria laurdenera aldatu', floatLeft: 'Ezkerrean kokatu', floatRight: 'Eskuinean kokatu', floatNone: 'Kokapenik ez ezarri', shapeRounded: 'Shape: Rounded', shapeCircle: 'Shape: Circle', shapeThumbnail: 'Shape: Thumbnail', shapeNone: 'Shape: None', dragImageHere: 'Irudi bat ezarri hemen', dropImage: 'Drop image or Text', selectFromFiles: 'Zure fitxategi bat aukeratu', maximumFileSize: 'Maximum file size', maximumFileSizeError: 'Maximum file size exceeded.', url: 'Irudiaren URL helbidea', remove: 'Remove Image', original: 'Original' }, video: { video: 'Bideoa', videoLink: 'Bideorako esteka', insert: 'Bideo berri bat txertatu', url: 'Bideoaren URL helbidea', providers: '(YouTube, Vimeo, Vine, Instagram edo DailyMotion)' }, link: { link: 'Esteka', insert: 'Esteka bat txertatu', unlink: 'Esteka ezabatu', edit: 'Editatu', textToDisplay: 'Estekaren testua', url: 'Estekaren URL helbidea', openInNewWindow: 'Leiho berri batean ireki' }, table: { table: 'Taula', addRowAbove: 'Add row above', addRowBelow: 'Add row below', addColLeft: 'Add column left', addColRight: 'Add column right', delRow: 'Delete row', delCol: 'Delete column', delTable: 'Delete table' }, hr: { insert: 'Marra horizontala txertatu' }, style: { style: 'Estiloa', p: 'p', blockquote: 'Aipamena', pre: 'Kodea', h1: '1. izenburua', h2: '2. izenburua', h3: '3. izenburua', h4: '4. izenburua', h5: '5. izenburua', h6: '6. izenburua' }, lists: { unordered: 'Ordenatu gabeko zerrenda', ordered: 'Zerrenda ordenatua' }, options: { help: 'Laguntza', fullscreen: 'Pantaila osoa', codeview: 'Kodea ikusi' }, paragraph: { paragraph: 'Paragrafoa', outdent: 'Koska txikiagoa', indent: 'Koska handiagoa', left: 'Ezkerrean kokatu', center: 'Erdian kokatu', right: 'Eskuinean kokatu', justify: 'Justifikatu' }, color: { recent: 'Azken kolorea', more: 'Kolore gehiago', background: 'Atzeko planoa', foreground: 'Aurreko planoa', transparent: 'Gardena', setTransparent: 'Gardendu', reset: 'Lehengoratu', resetToDefault: 'Berrezarri lehenetsia' }, shortcut: { shortcuts: 'Lasterbideak', close: 'Itxi', textFormatting: 'Testuaren formatua', action: 'Ekintza', paragraphFormatting: 'Paragrafoaren formatua', documentStyle: 'Dokumentuaren estiloa' }, help: { 'insertParagraph': 'Insert Paragraph', 'undo': 'Undoes the last command', 'redo': 'Redoes the last command', 'tab': 'Tab', 'untab': 'Untab', 'bold': 'Set a bold style', 'italic': 'Set a italic style', 'underline': 'Set a underline style', 'strikethrough': 'Set a strikethrough style', 'removeFormat': 'Clean a style', 'justifyLeft': 'Set left align', 'justifyCenter': 'Set center align', 'justifyRight': 'Set right align', 'justifyFull': 'Set full align', 'insertUnorderedList': 'Toggle unordered list', 'insertOrderedList': 'Toggle ordered list', 'outdent': 'Outdent on current paragraph', 'indent': 'Indent on current paragraph', 'formatPara': 'Change current block\'s format as a paragraph(P tag)', 'formatH1': 'Change current block\'s format as H1', 'formatH2': 'Change current block\'s format as H2', 'formatH3': 'Change current block\'s format as H3', 'formatH4': 'Change current block\'s format as H4', 'formatH5': 'Change current block\'s format as H5', 'formatH6': 'Change current block\'s format as H6', 'insertHorizontalRule': 'Insert horizontal rule', 'linkDialog.show': 'Show Link Dialog' }, history: { undo: 'Desegin', redo: 'Berregin' }, specialChar: { specialChar: 'SPECIAL CHARACTERS', select: 'Select Special characters' } } }); })(jQuery); PK�{�\�ftlang/summernote-hu-HU.jsnu�[���(function($) { $.extend($.summernote.lang, { 'hu-HU': { font: { bold: 'Félkövér', italic: 'Dőlt', underline: 'Aláhúzott', clear: 'Formázás törlése', height: 'Sorköz', name: 'Betűtípus', strikethrough: 'Áthúzott', subscript: 'Subscript', superscript: 'Superscript', size: 'Betűméret' }, image: { image: 'Kép', insert: 'Kép beszúrása', resizeFull: 'Átméretezés teljes méretre', resizeHalf: 'Átméretezés felére', resizeQuarter: 'Átméretezés negyedére', floatLeft: 'Igazítás balra', floatRight: 'Igazítás jobbra', floatNone: 'Igazítás törlése', shapeRounded: 'Shape: Rounded', shapeCircle: 'Shape: Circle', shapeThumbnail: 'Shape: Thumbnail', shapeNone: 'Shape: None', dragImageHere: 'Ide húzhat képet vagy szöveget', dropImage: 'Engedje el a képet vagy szöveget', selectFromFiles: 'Fájlok kiválasztása', maximumFileSize: 'Maximum file size', maximumFileSizeError: 'Maximum file size exceeded.', url: 'Kép URL címe', remove: 'Kép törlése', original: 'Original' }, video: { video: 'Videó', videoLink: 'Videó hivatkozás', insert: 'Videó beszúrása', url: 'Videó URL címe', providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion vagy Youku)' }, link: { link: 'Hivatkozás', insert: 'Hivatkozás beszúrása', unlink: 'Hivatkozás megszüntetése', edit: 'Szerkesztés', textToDisplay: 'Megjelenítendő szöveg', url: 'Milyen URL címre hivatkozzon?', openInNewWindow: 'Megnyitás új ablakban' }, table: { table: 'Táblázat', addRowAbove: 'Add row above', addRowBelow: 'Add row below', addColLeft: 'Add column left', addColRight: 'Add column right', delRow: 'Delete row', delCol: 'Delete column', delTable: 'Delete table' }, hr: { insert: 'Elválasztó vonal beszúrása' }, style: { style: 'Stílus', p: 'Normál', blockquote: 'Idézet', pre: 'Kód', h1: 'Fejléc 1', h2: 'Fejléc 2', h3: 'Fejléc 3', h4: 'Fejléc 4', h5: 'Fejléc 5', h6: 'Fejléc 6' }, lists: { unordered: 'Listajeles lista', ordered: 'Számozott lista' }, options: { help: 'Súgó', fullscreen: 'Teljes képernyő', codeview: 'Kód nézet' }, paragraph: { paragraph: 'Bekezdés', outdent: 'Behúzás csökkentése', indent: 'Behúzás növelése', left: 'Igazítás balra', center: 'Igazítás középre', right: 'Igazítás jobbra', justify: 'Sorkizárt' }, color: { recent: 'Jelenlegi szín', more: 'További színek', background: 'Háttérszín', foreground: 'Betűszín', transparent: 'Átlátszó', setTransparent: 'Átlászóság beállítása', reset: 'Visszaállítás', resetToDefault: 'Alaphelyzetbe állítás' }, shortcut: { shortcuts: 'Gyorsbillentyű', close: 'Bezárás', textFormatting: 'Szöveg formázása', action: 'Művelet', paragraphFormatting: 'Bekezdés formázása', documentStyle: 'Dokumentumstílus', extraKeys: 'Extra keys' }, help: { 'insertParagraph': 'Új bekezdés', 'undo': 'Visszavonás', 'redo': 'Újra', 'tab': 'Behúzás növelése', 'untab': 'Behúzás csökkentése', 'bold': 'Félkövérre állítás', 'italic': 'Dőltre állítás', 'underline': 'Aláhúzás', 'strikethrough': 'Áthúzás', 'removeFormat': 'Formázás törlése', 'justifyLeft': 'Balra igazítás', 'justifyCenter': 'Középre igazítás', 'justifyRight': 'Jobbra igazítás', 'justifyFull': 'Sorkizárt', 'insertUnorderedList': 'Számozatlan lista be/ki', 'insertOrderedList': 'Számozott lista be/ki', 'outdent': 'Jelenlegi bekezdés behúzásának megszüntetése', 'indent': 'Jelenlegi bekezdés behúzása', 'formatPara': 'Blokk formázása bekezdésként (P tag)', 'formatH1': 'Blokk formázása, mint Fejléc 1', 'formatH2': 'Blokk formázása, mint Fejléc 2', 'formatH3': 'Blokk formázása, mint Fejléc 3', 'formatH4': 'Blokk formázása, mint Fejléc 4', 'formatH5': 'Blokk formázása, mint Fejléc 5', 'formatH6': 'Blokk formázása, mint Fejléc 6', 'insertHorizontalRule': 'Vízszintes vonal beszúrása', 'linkDialog.show': 'Link párbeszédablak megjelenítése' }, history: { undo: 'Visszavonás', redo: 'Újra' }, specialChar: { specialChar: 'SPECIAL CHARACTERS', select: 'Select Special characters' } } }); })(jQuery); PK�{�\W���++lang/summernote-bg-BG.min.jsnu�[���/*! Summernote v0.8.10 | (c) 2013- Alan Hong and other contributors | MIT license */ !function(e){e.extend(e.summernote.lang,{"bg-BG":{font:{bold:"Удебелен",italic:"Наклонен",underline:"Подчертан",clear:"Изчисти стиловете",height:"Височина",name:"Шрифт",strikethrough:"Задраскано",subscript:"Долен индекс",superscript:"Горен индекс",size:"Размер на шрифта"},image:{image:"Изображение",insert:"Постави картинка",resizeFull:"Цял размер",resizeHalf:"Размер на 50%",resizeQuarter:"Размер на 25%",floatLeft:"Подравни в ляво",floatRight:"Подравни в дясно",floatNone:"Без подравняване",shapeRounded:"Shape: Rounded",shapeCircle:"Shape: Circle",shapeThumbnail:"Shape: Thumbnail",shapeNone:"Shape: None",dragImageHere:"Пуснете изображението тук",dropImage:"Drop image or Text",selectFromFiles:"Изберете файл",maximumFileSize:"Maximum file size",maximumFileSizeError:"Maximum file size exceeded.",url:"URL адрес на изображение",remove:"Премахни изображение",original:"Original"},video:{video:"Video",videoLink:"Video Link",insert:"Insert Video",url:"Video URL?",providers:"(YouTube, Vimeo, Vine, Instagram, DailyMotion or Youku)"},link:{link:"Връзка",insert:"Добави връзка",unlink:"Премахни връзка",edit:"Промени",textToDisplay:"Текст за показване",url:"URL адрес",openInNewWindow:"Отвори в нов прозорец"},table:{table:"Таблица",addRowAbove:"Add row above",addRowBelow:"Add row below",addColLeft:"Add column left",addColRight:"Add column right",delRow:"Delete row",delCol:"Delete column",delTable:"Delete table"},hr:{insert:"Добави хоризонтална линия"},style:{style:"Стил",p:"Нормален",blockquote:"Цитат",pre:"Код",h1:"Заглавие 1",h2:"Заглавие 2",h3:"Заглавие 3",h4:"Заглавие 4",h5:"Заглавие 5",h6:"Заглавие 6"},lists:{unordered:"Символен списък",ordered:"Цифров списък"},options:{help:"Помощ",fullscreen:"На цял екран",codeview:"Преглед на код"},paragraph:{paragraph:"Параграф",outdent:"Намаляване на отстъпа",indent:"Абзац",left:"Подравняване в ляво",center:"Център",right:"Подравняване в дясно",justify:"Разтягане по ширина"},color:{recent:"Последния избран цвят",more:"Още цветове",background:"Цвят на фона",foreground:"Цвят на шрифта",transparent:"Прозрачен",setTransparent:"Направете прозрачен",reset:"Възстанови",resetToDefault:"Възстанови оригиналните"},shortcut:{shortcuts:"Клавишни комбинации",close:"Затвори",textFormatting:"Форматиране на текста",action:"Действие",paragraphFormatting:"Форматиране на параграф",documentStyle:"Стил на документа",extraKeys:"Extra keys"},help:{insertParagraph:"Insert Paragraph",undo:"Undoes the last command",redo:"Redoes the last command",tab:"Tab",untab:"Untab",bold:"Set a bold style",italic:"Set a italic style",underline:"Set a underline style",strikethrough:"Set a strikethrough style",removeFormat:"Clean a style",justifyLeft:"Set left align",justifyCenter:"Set center align",justifyRight:"Set right align",justifyFull:"Set full align",insertUnorderedList:"Toggle unordered list",insertOrderedList:"Toggle ordered list",outdent:"Outdent on current paragraph",indent:"Indent on current paragraph",formatPara:"Change current block's format as a paragraph(P tag)",formatH1:"Change current block's format as H1",formatH2:"Change current block's format as H2",formatH3:"Change current block's format as H3",formatH4:"Change current block's format as H4",formatH5:"Change current block's format as H5",formatH6:"Change current block's format as H6",insertHorizontalRule:"Insert horizontal rule","linkDialog.show":"Show Link Dialog"},history:{undo:"Назад",redo:"Напред"},specialChar:{specialChar:"SPECIAL CHARACTERS",select:"Select Special characters"}}})}(jQuery);PK�{�\N�2���lang/summernote-fr-FR.jsnu�[���(function($) { $.extend($.summernote.lang, { 'fr-FR': { font: { bold: 'Gras', italic: 'Italique', underline: 'Souligné', clear: 'Effacer la mise en forme', height: 'Interligne', name: 'Famille de police', strikethrough: 'Barré', superscript: 'Exposant', subscript: 'Indice', size: 'Taille de police' }, image: { image: 'Image', insert: 'Insérer une image', resizeFull: 'Taille originale', resizeHalf: 'Redimensionner à 50 %', resizeQuarter: 'Redimensionner à 25 %', floatLeft: 'Aligné à gauche', floatRight: 'Aligné à droite', floatNone: 'Pas d\'alignement', shapeRounded: 'Forme: Rectangle arrondie', shapeCircle: 'Forme: Cercle', shapeThumbnail: 'Forme: Vignette', shapeNone: 'Forme: Aucune', dragImageHere: 'Faites glisser une image ou un texte dans ce cadre', dropImage: 'Lachez l\'image ou le texte', selectFromFiles: 'Choisir un fichier', maximumFileSize: 'Taille de fichier maximale', maximumFileSizeError: 'Taille maximale du fichier dépassée', url: 'URL de l\'image', remove: 'Supprimer l\'image', original: 'Original' }, video: { video: 'Vidéo', videoLink: 'Lien vidéo', insert: 'Insérer une vidéo', url: 'URL de la vidéo', providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion ou Youku)' }, link: { link: 'Lien', insert: 'Insérer un lien', unlink: 'Supprimer un lien', edit: 'Modifier', textToDisplay: 'Texte à afficher', url: 'URL du lien', openInNewWindow: 'Ouvrir dans une nouvelle fenêtre' }, table: { table: 'Tableau', addRowAbove: 'Ajouter une ligne au-dessus', addRowBelow: 'Ajouter une ligne en dessous', addColLeft: 'Ajouter une colonne à gauche', addColRight: 'Ajouter une colonne à droite', delRow: 'Supprimer la ligne', delCol: 'Supprimer la colonne', delTable: 'Supprimer le tableau' }, hr: { insert: 'Insérer une ligne horizontale' }, style: { style: 'Style', p: 'Normal', blockquote: 'Citation', pre: 'Code source', h1: 'Titre 1', h2: 'Titre 2', h3: 'Titre 3', h4: 'Titre 4', h5: 'Titre 5', h6: 'Titre 6' }, lists: { unordered: 'Liste à puces', ordered: 'Liste numérotée' }, options: { help: 'Aide', fullscreen: 'Plein écran', codeview: 'Afficher le code HTML' }, paragraph: { paragraph: 'Paragraphe', outdent: 'Diminuer le retrait', indent: 'Augmenter le retrait', left: 'Aligner à gauche', center: 'Centrer', right: 'Aligner à droite', justify: 'Justifier' }, color: { recent: 'Dernière couleur sélectionnée', more: 'Plus de couleurs', background: 'Couleur de fond', foreground: 'Couleur de police', transparent: 'Transparent', setTransparent: 'Définir la transparence', reset: 'Restaurer', resetToDefault: 'Restaurer la couleur par défaut' }, shortcut: { shortcuts: 'Raccourcis', close: 'Fermer', textFormatting: 'Mise en forme du texte', action: 'Action', paragraphFormatting: 'Mise en forme des paragraphes', documentStyle: 'Style du document', extraKeys: 'Touches supplémentaires' }, help: { 'insertParagraph': 'Insérer paragraphe', 'undo': 'Défaire la dernière commande', 'redo': 'Refaire la dernière commande', 'tab': 'Tabulation', 'untab': 'Tabulation arrière', 'bold': 'Mettre en caractère gras', 'italic': 'Mettre en italique', 'underline': 'Mettre en souligné', 'strikethrough': 'Mettre en texte barré', 'removeFormat': 'Nettoyer les styles', 'justifyLeft': 'Aligner à gauche', 'justifyCenter': 'Centrer', 'justifyRight': 'Aligner à droite', 'justifyFull': 'Justifier à gauche et à droite', 'insertUnorderedList': 'Basculer liste à puces', 'insertOrderedList': 'Basculer liste ordonnée', 'outdent': 'Diminuer le retrait du paragraphe', 'indent': 'Augmenter le retrait du paragraphe', 'formatPara': 'Changer le paragraphe en cours en normal (P)', 'formatH1': 'Changer le paragraphe en cours en entête H1', 'formatH2': 'Changer le paragraphe en cours en entête H2', 'formatH3': 'Changer le paragraphe en cours en entête H3', 'formatH4': 'Changer le paragraphe en cours en entête H4', 'formatH5': 'Changer le paragraphe en cours en entête H5', 'formatH6': 'Changer le paragraphe en cours en entête H6', 'insertHorizontalRule': 'Insérer séparation horizontale', 'linkDialog.show': 'Afficher fenêtre d\'hyperlien' }, history: { undo: 'Annuler la dernière action', redo: 'Restaurer la dernière action annulée' }, specialChar: { specialChar: 'CARACTÈRES SPÉCIAUX', select: 'Choisir des caractères spéciaux' } } }); })(jQuery); PK�{�\a��Έ�lang/summernote-ko-KR.min.jsnu�[���/*! Summernote v0.8.10 | (c) 2013- Alan Hong and other contributors | MIT license */ !function(e){e.extend(e.summernote.lang,{"ko-KR":{font:{bold:"굵게",italic:"기울임꼴",underline:"밑줄",clear:"글자 효과 없애기",height:"줄간격",name:"글꼴",superscript:"위 첨자",subscript:"아래 첨자",strikethrough:"취소선",size:"글자 크기"},image:{image:"사진",insert:"사진 추가",resizeFull:"100% 크기로 변경",resizeHalf:"50% 크기로 변경",resizeQuarter:"25% 크기로 변경",floatLeft:"왼쪽 정렬",floatRight:"오른쪽 정렬",floatNone:"정렬하지 않음",shapeRounded:"스타일: 둥근 모서리",shapeCircle:"스타일: 원형",shapeThumbnail:"스타일: 액자",shapeNone:"스타일: 없음",dragImageHere:"텍스트 혹은 사진을 이곳으로 끌어오세요",dropImage:"텍스트 혹은 사진을 내려놓으세요",selectFromFiles:"파일 선택",maximumFileSize:"Maximum file size",maximumFileSizeError:"Maximum file size exceeded.",url:"사진 URL",remove:"사진 삭제",original:"Original"},video:{video:"동영상",videoLink:"동영상 링크",insert:"동영상 추가",url:"동영상 URL",providers:"(YouTube, Vimeo, Vine, Instagram, DailyMotion, Youku 사용 가능)"},link:{link:"링크",insert:"링크 추가",unlink:"링크 삭제",edit:"수정",textToDisplay:"링크에 표시할 내용",url:"이동할 URL",openInNewWindow:"새창으로 열기"},table:{table:"테이블",addRowAbove:"Add row above",addRowBelow:"Add row below",addColLeft:"Add column left",addColRight:"Add column right",delRow:"Delete row",delCol:"Delete column",delTable:"Delete table"},hr:{insert:"구분선 추가"},style:{style:"스타일",p:"본문",blockquote:"인용구",pre:"코드",h1:"제목 1",h2:"제목 2",h3:"제목 3",h4:"제목 4",h5:"제목 5",h6:"제목 6"},lists:{unordered:"글머리 기호",ordered:"번호 매기기"},options:{help:"도움말",fullscreen:"전체 화면",codeview:"코드 보기"},paragraph:{paragraph:"문단 정렬",outdent:"내어쓰기",indent:"들여쓰기",left:"왼쪽 정렬",center:"가운데 정렬",right:"오른쪽 정렬",justify:"양쪽 정렬"},color:{recent:"마지막으로 사용한 색",more:"다른 색 선택",background:"배경색",foreground:"글자색",transparent:"투명",setTransparent:"투명",reset:"취소",resetToDefault:"기본 값으로 변경"},shortcut:{shortcuts:"키보드 단축키",close:"닫기",textFormatting:"글자 스타일 적용",action:"기능",paragraphFormatting:"문단 스타일 적용",documentStyle:"문서 스타일 적용",extraKeys:"Extra keys"},help:{insertParagraph:"Insert Paragraph",undo:"Undoes the last command",redo:"Redoes the last command",tab:"Tab",untab:"Untab",bold:"Set a bold style",italic:"Set a italic style",underline:"Set a underline style",strikethrough:"Set a strikethrough style",removeFormat:"Clean a style",justifyLeft:"Set left align",justifyCenter:"Set center align",justifyRight:"Set right align",justifyFull:"Set full align",insertUnorderedList:"Toggle unordered list",insertOrderedList:"Toggle ordered list",outdent:"Outdent on current paragraph",indent:"Indent on current paragraph",formatPara:"Change current block's format as a paragraph(P tag)",formatH1:"Change current block's format as H1",formatH2:"Change current block's format as H2",formatH3:"Change current block's format as H3",formatH4:"Change current block's format as H4",formatH5:"Change current block's format as H5",formatH6:"Change current block's format as H6",insertHorizontalRule:"Insert horizontal rule","linkDialog.show":"Show Link Dialog"},history:{undo:"실행 취소",redo:"다시 실행"},specialChar:{specialChar:"특수문자",select:"특수문자를 선택하세요"}}})}(jQuery);PK�{�\S��ˤ�lang/summernote-ko-KR.jsnu�[���(function($) { $.extend($.summernote.lang, { 'ko-KR': { font: { bold: '굵게', italic: '기울임꼴', underline: '밑줄', clear: '글자 효과 없애기', height: '줄간격', name: '글꼴', superscript: '위 첨자', subscript: '아래 첨자', strikethrough: '취소선', size: '글자 크기' }, image: { image: '사진', insert: '사진 추가', resizeFull: '100% 크기로 변경', resizeHalf: '50% 크기로 변경', resizeQuarter: '25% 크기로 변경', floatLeft: '왼쪽 정렬', floatRight: '오른쪽 정렬', floatNone: '정렬하지 않음', shapeRounded: '스타일: 둥근 모서리', shapeCircle: '스타일: 원형', shapeThumbnail: '스타일: 액자', shapeNone: '스타일: 없음', dragImageHere: '텍스트 혹은 사진을 이곳으로 끌어오세요', dropImage: '텍스트 혹은 사진을 내려놓으세요', selectFromFiles: '파일 선택', maximumFileSize: 'Maximum file size', maximumFileSizeError: 'Maximum file size exceeded.', url: '사진 URL', remove: '사진 삭제', original: 'Original' }, video: { video: '동영상', videoLink: '동영상 링크', insert: '동영상 추가', url: '동영상 URL', providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion, Youku 사용 가능)' }, link: { link: '링크', insert: '링크 추가', unlink: '링크 삭제', edit: '수정', textToDisplay: '링크에 표시할 내용', url: '이동할 URL', openInNewWindow: '새창으로 열기' }, table: { table: '테이블', addRowAbove: 'Add row above', addRowBelow: 'Add row below', addColLeft: 'Add column left', addColRight: 'Add column right', delRow: 'Delete row', delCol: 'Delete column', delTable: 'Delete table' }, hr: { insert: '구분선 추가' }, style: { style: '스타일', p: '본문', blockquote: '인용구', pre: '코드', h1: '제목 1', h2: '제목 2', h3: '제목 3', h4: '제목 4', h5: '제목 5', h6: '제목 6' }, lists: { unordered: '글머리 기호', ordered: '번호 매기기' }, options: { help: '도움말', fullscreen: '전체 화면', codeview: '코드 보기' }, paragraph: { paragraph: '문단 정렬', outdent: '내어쓰기', indent: '들여쓰기', left: '왼쪽 정렬', center: '가운데 정렬', right: '오른쪽 정렬', justify: '양쪽 정렬' }, color: { recent: '마지막으로 사용한 색', more: '다른 색 선택', background: '배경색', foreground: '글자색', transparent: '투명', setTransparent: '투명', reset: '취소', resetToDefault: '기본 값으로 변경' }, shortcut: { shortcuts: '키보드 단축키', close: '닫기', textFormatting: '글자 스타일 적용', action: '기능', paragraphFormatting: '문단 스타일 적용', documentStyle: '문서 스타일 적용', extraKeys: 'Extra keys' }, help: { 'insertParagraph': 'Insert Paragraph', 'undo': 'Undoes the last command', 'redo': 'Redoes the last command', 'tab': 'Tab', 'untab': 'Untab', 'bold': 'Set a bold style', 'italic': 'Set a italic style', 'underline': 'Set a underline style', 'strikethrough': 'Set a strikethrough style', 'removeFormat': 'Clean a style', 'justifyLeft': 'Set left align', 'justifyCenter': 'Set center align', 'justifyRight': 'Set right align', 'justifyFull': 'Set full align', 'insertUnorderedList': 'Toggle unordered list', 'insertOrderedList': 'Toggle ordered list', 'outdent': 'Outdent on current paragraph', 'indent': 'Indent on current paragraph', 'formatPara': 'Change current block\'s format as a paragraph(P tag)', 'formatH1': 'Change current block\'s format as H1', 'formatH2': 'Change current block\'s format as H2', 'formatH3': 'Change current block\'s format as H3', 'formatH4': 'Change current block\'s format as H4', 'formatH5': 'Change current block\'s format as H5', 'formatH6': 'Change current block\'s format as H6', 'insertHorizontalRule': 'Insert horizontal rule', 'linkDialog.show': 'Show Link Dialog' }, history: { undo: '실행 취소', redo: '다시 실행' }, specialChar: { specialChar: '특수문자', select: '특수문자를 선택하세요' } } }); })(jQuery); PK�{�\�E��lang/summernote-it-IT.jsnu�[���(function($) { $.extend($.summernote.lang, { 'it-IT': { font: { bold: 'Testo in grassetto', italic: 'Testo in corsivo', underline: 'Testo sottolineato', clear: 'Elimina la formattazione del testo', height: 'Altezza della linea di testo', name: 'Famiglia Font', strikethrough: 'Testo barrato', subscript: 'Subscript', superscript: 'Superscript', size: 'Dimensione del carattere' }, image: { image: 'Immagine', insert: 'Inserisci Immagine', resizeFull: 'Dimensioni originali', resizeHalf: 'Ridimensiona al 50%', resizeQuarter: 'Ridimensiona al 25%', floatLeft: 'Posiziona a sinistra', floatRight: 'Posiziona a destra', floatNone: 'Nessun posizionamento', shapeRounded: 'Shape: Rounded', shapeCircle: 'Shape: Circle', shapeThumbnail: 'Shape: Thumbnail', shapeNone: 'Shape: None', dragImageHere: 'Trascina qui un\'immagine', dropImage: 'Drop image or Text', selectFromFiles: 'Scegli dai Documenti', maximumFileSize: 'Maximum file size', maximumFileSizeError: 'Maximum file size exceeded.', url: 'URL dell\'immagine', remove: 'Rimuovi immagine', original: 'Original' }, video: { video: 'Video', videoLink: 'Collegamento ad un Video', insert: 'Inserisci Video', url: 'URL del Video', providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion o Youku)' }, link: { link: 'Collegamento', insert: 'Inserisci Collegamento', unlink: 'Elimina collegamento', edit: 'Modifica collegamento', textToDisplay: 'Testo del collegamento', url: 'URL del collegamento', openInNewWindow: 'Apri in una nuova finestra' }, table: { table: 'Tabella', addRowAbove: 'Add row above', addRowBelow: 'Add row below', addColLeft: 'Add column left', addColRight: 'Add column right', delRow: 'Delete row', delCol: 'Delete column', delTable: 'Delete table' }, hr: { insert: 'Inserisce una linea di separazione' }, style: { style: 'Stili', p: 'pe', blockquote: 'Citazione', pre: 'Codice', h1: 'Titolo 1', h2: 'Titolo 2', h3: 'Titolo 3', h4: 'Titolo 4', h5: 'Titolo 5', h6: 'Titolo 6' }, lists: { unordered: 'Elenco non ordinato', ordered: 'Elenco ordinato' }, options: { help: 'Aiuto', fullscreen: 'Modalità a tutto schermo', codeview: 'Visualizza codice' }, paragraph: { paragraph: 'Paragrafo', outdent: 'Diminuisce il livello di rientro', indent: 'Aumenta il livello di rientro', left: 'Allinea a sinistra', center: 'Centra', right: 'Allinea a destra', justify: 'Giustifica (allinea a destra e sinistra)' }, color: { recent: 'Ultimo colore utilizzato', more: 'Altri colori', background: 'Colore di sfondo', foreground: 'Colore', transparent: 'Trasparente', setTransparent: 'Trasparente', reset: 'Reimposta', resetToDefault: 'Reimposta i colori' }, shortcut: { shortcuts: 'Scorciatoie da tastiera', close: 'Chiudi', textFormatting: 'Formattazione testo', action: 'Azioni', paragraphFormatting: 'Formattazione paragrafo', documentStyle: 'Stili', extraKeys: 'Extra keys' }, help: { 'insertParagraph': 'Insert Paragraph', 'undo': 'Undoes the last command', 'redo': 'Redoes the last command', 'tab': 'Tab', 'untab': 'Untab', 'bold': 'Set a bold style', 'italic': 'Set a italic style', 'underline': 'Set a underline style', 'strikethrough': 'Set a strikethrough style', 'removeFormat': 'Clean a style', 'justifyLeft': 'Set left align', 'justifyCenter': 'Set center align', 'justifyRight': 'Set right align', 'justifyFull': 'Set full align', 'insertUnorderedList': 'Toggle unordered list', 'insertOrderedList': 'Toggle ordered list', 'outdent': 'Outdent on current paragraph', 'indent': 'Indent on current paragraph', 'formatPara': 'Change current block\'s format as a paragraph(P tag)', 'formatH1': 'Change current block\'s format as H1', 'formatH2': 'Change current block\'s format as H2', 'formatH3': 'Change current block\'s format as H3', 'formatH4': 'Change current block\'s format as H4', 'formatH5': 'Change current block\'s format as H5', 'formatH6': 'Change current block\'s format as H6', 'insertHorizontalRule': 'Insert horizontal rule', 'linkDialog.show': 'Show Link Dialog' }, history: { undo: 'Annulla', redo: 'Ripristina' }, specialChar: { specialChar: 'SPECIAL CHARACTERS', select: 'Select Special characters' } } }); })(jQuery); PK�{�\zJ���lang/summernote-pl-PL.jsnu�[���(function($) { $.extend($.summernote.lang, { 'pl-PL': { font: { bold: 'Pogrubienie', italic: 'Pochylenie', underline: 'Podkreślenie', clear: 'Usuń formatowanie', height: 'Interlinia', name: 'Czcionka', strikethrough: 'Przekreślenie', subscript: 'Indeks dolny', superscript: 'Indeks górny', size: 'Rozmiar' }, image: { image: 'Grafika', insert: 'Wstaw grafikę', resizeFull: 'Zmień rozmiar na 100%', resizeHalf: 'Zmień rozmiar na 50%', resizeQuarter: 'Zmień rozmiar na 25%', floatLeft: 'Po lewej', floatRight: 'Po prawej', floatNone: 'Równo z tekstem', shapeRounded: 'Kształt: zaokrąglone', shapeCircle: 'Kształt: okrąg', shapeThumbnail: 'Kształt: miniatura', shapeNone: 'Kształt: brak', dragImageHere: 'Przeciągnij grafikę lub tekst tutaj', dropImage: 'Przeciągnij grafikę lub tekst', selectFromFiles: 'Wybierz z dysku', maximumFileSize: 'Limit wielkości pliku', maximumFileSizeError: 'Przekroczono limit wielkości pliku.', url: 'Adres URL grafiki', remove: 'Usuń grafikę', original: 'Original' }, video: { video: 'Wideo', videoLink: 'Adres wideo', insert: 'Wstaw wideo', url: 'Adres wideo', providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion lub Youku)' }, link: { link: 'Odnośnik', insert: 'Wstaw odnośnik', unlink: 'Usuń odnośnik', edit: 'Edytuj', textToDisplay: 'Tekst do wyświetlenia', url: 'Na jaki adres URL powinien przenosić ten odnośnik?', openInNewWindow: 'Otwórz w nowym oknie' }, table: { table: 'Tabela', addRowAbove: 'Add row above', addRowBelow: 'Add row below', addColLeft: 'Add column left', addColRight: 'Add column right', delRow: 'Delete row', delCol: 'Delete column', delTable: 'Delete table' }, hr: { insert: 'Wstaw poziomą linię' }, style: { style: 'Style', p: 'pny', blockquote: 'Cytat', pre: 'Kod', h1: 'Nagłówek 1', h2: 'Nagłówek 2', h3: 'Nagłówek 3', h4: 'Nagłówek 4', h5: 'Nagłówek 5', h6: 'Nagłówek 6' }, lists: { unordered: 'Lista wypunktowana', ordered: 'Lista numerowana' }, options: { help: 'Pomoc', fullscreen: 'Pełny ekran', codeview: 'Źródło' }, paragraph: { paragraph: 'Akapit', outdent: 'Zmniejsz wcięcie', indent: 'Zwiększ wcięcie', left: 'Wyrównaj do lewej', center: 'Wyrównaj do środka', right: 'Wyrównaj do prawej', justify: 'Wyrównaj do lewej i prawej' }, color: { recent: 'Ostani kolor', more: 'Więcej kolorów', background: 'Tło', foreground: 'Czcionka', transparent: 'Przeźroczysty', setTransparent: 'Przeźroczyste', reset: 'Reset', resetToDefault: 'Domyślne' }, shortcut: { shortcuts: 'Skróty klawiaturowe', close: 'Zamknij', textFormatting: 'Formatowanie tekstu', action: 'Akcja', paragraphFormatting: 'Formatowanie akapitu', documentStyle: 'Styl dokumentu', extraKeys: 'Dodatkowe klawisze' }, help: { 'insertParagraph': 'Insert Paragraph', 'undo': 'Undoes the last command', 'redo': 'Redoes the last command', 'tab': 'Tab', 'untab': 'Untab', 'bold': 'Set a bold style', 'italic': 'Set a italic style', 'underline': 'Set a underline style', 'strikethrough': 'Set a strikethrough style', 'removeFormat': 'Clean a style', 'justifyLeft': 'Set left align', 'justifyCenter': 'Set center align', 'justifyRight': 'Set right align', 'justifyFull': 'Set full align', 'insertUnorderedList': 'Toggle unordered list', 'insertOrderedList': 'Toggle ordered list', 'outdent': 'Outdent on current paragraph', 'indent': 'Indent on current paragraph', 'formatPara': 'Change current block\'s format as a paragraph(P tag)', 'formatH1': 'Change current block\'s format as H1', 'formatH2': 'Change current block\'s format as H2', 'formatH3': 'Change current block\'s format as H3', 'formatH4': 'Change current block\'s format as H4', 'formatH5': 'Change current block\'s format as H5', 'formatH6': 'Change current block\'s format as H6', 'insertHorizontalRule': 'Insert horizontal rule', 'linkDialog.show': 'Show Link Dialog' }, history: { undo: 'Cofnij', redo: 'Ponów' }, specialChar: { specialChar: 'SPECIAL CHARACTERS', select: 'Select Special characters' } } }); })(jQuery); PK�{�\T��S\\lang/summernote-ro-RO.jsnu�[���(function($) { $.extend($.summernote.lang, { 'ro-RO': { font: { bold: 'Îngroșat', italic: 'Înclinat', underline: 'Subliniat', clear: 'Înlătură formatare font', height: 'Înălțime rând', name: 'Familie de fonturi', strikethrough: 'Tăiat', subscript: 'Indice', superscript: 'Exponent', size: 'Dimensiune font' }, image: { image: 'Imagine', insert: 'Inserează imagine', resizeFull: 'Redimensionează complet', resizeHalf: 'Redimensionează 1/2', resizeQuarter: 'Redimensionează 1/4', floatLeft: 'Aliniere la stânga', floatRight: 'Aliniere la dreapta', floatNone: 'Fară aliniere', shapeRounded: 'Formă: Rotund', shapeCircle: 'Formă: Cerc', shapeThumbnail: 'Formă: Pictogramă', shapeNone: 'Formă: Nici una', dragImageHere: 'Trage o imagine sau un text aici', dropImage: 'Eliberează imaginea sau textul', selectFromFiles: 'Alege din fişiere', maximumFileSize: 'Dimensiune maximă fișier', maximumFileSizeError: 'Dimensiune maximă fișier depășită.', url: 'URL imagine', remove: 'Șterge imagine', original: 'Original' }, video: { video: 'Video', videoLink: 'Link video', insert: 'Inserează video', url: 'URL video?', providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion sau Youku)' }, link: { link: 'Link', insert: 'Inserează link', unlink: 'Înlătură link', edit: 'Editează', textToDisplay: 'Text ce va fi afişat', url: 'La ce adresă URL trebuie să conducă acest link?', openInNewWindow: 'Deschidere în fereastră nouă' }, table: { table: 'Tabel', addRowAbove: 'Adaugă rând deasupra', addRowBelow: 'Adaugă rând dedesubt', addColLeft: 'Adaugă coloană stânga', addColRight: 'Adaugă coloană dreapta', delRow: 'Șterge rând', delCol: 'Șterge coloană', delTable: 'Șterge tabel' }, hr: { insert: 'Inserează o linie orizontală' }, style: { style: 'Stil', p: 'p', blockquote: 'Citat', pre: 'Preformatat', h1: 'Titlu 1', h2: 'Titlu 2', h3: 'Titlu 3', h4: 'Titlu 4', h5: 'Titlu 5', h6: 'Titlu 6' }, lists: { unordered: 'Listă neordonată', ordered: 'Listă ordonată' }, options: { help: 'Ajutor', fullscreen: 'Măreşte', codeview: 'Sursă' }, paragraph: { paragraph: 'Paragraf', outdent: 'Creşte identarea', indent: 'Scade identarea', left: 'Aliniere la stânga', center: 'Aliniere centrală', right: 'Aliniere la dreapta', justify: 'Aliniere în bloc' }, color: { recent: 'Culoare recentă', more: 'Mai multe culori', background: 'Culoarea fundalului', foreground: 'Culoarea textului', transparent: 'Transparent', setTransparent: 'Setează transparent', reset: 'Resetează', resetToDefault: 'Revino la iniţial' }, shortcut: { shortcuts: 'Scurtături tastatură', close: 'Închide', textFormatting: 'Formatare text', action: 'Acţiuni', paragraphFormatting: 'Formatare paragraf', documentStyle: 'Stil paragraf', extraKeys: 'Taste extra' }, help: { 'insertParagraph': 'Inserează paragraf', 'undo': 'Revine la starea anterioară', 'redo': 'Revine la starea ulterioară', 'tab': 'Tab', 'untab': 'Untab', 'bold': 'Setează stil îngroșat', 'italic': 'Setează stil înclinat', 'underline': 'Setează stil subliniat', 'strikethrough': 'Setează stil tăiat', 'removeFormat': 'Înlătură formatare', 'justifyLeft': 'Setează aliniere stânga', 'justifyCenter': 'Setează aliniere centru', 'justifyRight': 'Setează aliniere dreapta', 'justifyFull': 'Setează aliniere bloc', 'insertUnorderedList': 'Comutare listă neordinată', 'insertOrderedList': 'Comutare listă ordonată', 'outdent': 'Înlătură indentare paragraf curent', 'indent': 'Adaugă indentare paragraf curent', 'formatPara': 'Schimbă formatarea selecției în paragraf', 'formatH1': 'Schimbă formatarea selecției în H1', 'formatH2': 'Schimbă formatarea selecției în H2', 'formatH3': 'Schimbă formatarea selecției în H3', 'formatH4': 'Schimbă formatarea selecției în H4', 'formatH5': 'Schimbă formatarea selecției în H5', 'formatH6': 'Schimbă formatarea selecției în H6', 'insertHorizontalRule': 'Adaugă linie orizontală', 'linkDialog.show': 'Inserează link' }, history: { undo: 'Starea anterioară', redo: 'Starea ulterioară' }, specialChar: { specialChar: 'CARACTERE SPECIALE', select: 'Alege caractere speciale' } } }); })(jQuery); PK�{�\��Z��lang/summernote-uz-UZ.jsnu�[���(function($) { $.extend($.summernote.lang, { 'uz-UZ': { font: { bold: 'қалин', italic: 'Курсив', underline: 'Белгиланган', clear: 'Ҳарф турларини олиб ташлаш', height: 'Чизиқ баландлиги', name: 'Ҳарф', strikethrough: 'Ўчирилган', subscript: 'Пастки индекс', superscript: 'Юқори индекс', size: 'ҳарф ҳажми' }, image: { image: 'Расм', insert: 'расмни қўйиш', resizeFull: 'Ҳажмни тиклаш', resizeHalf: '50% гача кичрайтириш', resizeQuarter: '25% гача кичрайтириш', floatLeft: 'Чапда жойлаштириш', floatRight: 'Ўнгда жойлаштириш', floatNone: 'Стандарт бўйича жойлашув', shapeRounded: 'Шакли: Юмалоқ', shapeCircle: 'Шакли: Доира', shapeThumbnail: 'Шакли: Миниатюра', shapeNone: 'Шакли: Йўқ', dragImageHere: 'Суратни кўчириб ўтинг', dropImage: 'Суратни кўчириб ўтинг', selectFromFiles: 'Файллардан бирини танлаш', url: 'суратлар URL и', remove: 'Суратни ўчириш' }, video: { video: 'Видео', videoLink: 'Видеога ҳавола', insert: 'Видео', url: 'URL видео', providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion или Youku)' }, link: { link: 'Ҳавола', insert: 'Ҳаволани қўйиш', unlink: 'Ҳаволани олиб ташлаш', edit: 'Таҳрир қилиш', textToDisplay: 'Кўринадиган матн', url: 'URL ўтиш учун', openInNewWindow: 'Янги дарчада очиш' }, table: { table: 'Жадвал' }, hr: { insert: 'Горизонтал чизиқни қўйиш' }, style: { style: 'Услуб', p: 'Яхши', blockquote: 'Жумла', pre: 'Код', h1: 'Сарлавҳа 1', h2: 'Сарлавҳа 2', h3: 'Сарлавҳа 3', h4: 'Сарлавҳа 4', h5: 'Сарлавҳа 5', h6: 'Сарлавҳа 6' }, lists: { unordered: 'Белгиланган рўйҳат', ordered: 'Рақамланган рўйҳат' }, options: { help: 'Ёрдам', fullscreen: 'Бутун экран бўйича', codeview: 'Бошланғич код' }, paragraph: { paragraph: 'Параграф', outdent: 'Орқага қайтишни камайтириш', indent: 'Орқага қайтишни кўпайтириш', left: 'Чап қирғоққа тўғрилаш', center: 'Марказга тўғрилаш', right: 'Ўнг қирғоққа тўғрилаш', justify: 'Эни бўйлаб чўзиш' }, color: { recent: 'Охирги ранг', more: 'Яна ранглар', background: 'Фон ранги', foreground: 'Ҳарф ранги', transparent: 'Шаффоф', setTransparent: 'Шаффофдай қилиш', reset: 'Бекор қилиш', resetToDefault: 'Стандартга оид тиклаш' }, shortcut: { shortcuts: 'Клавишларнинг ҳамохҳанглиги', close: 'Ёпиқ', textFormatting: 'Матнни ', action: 'Ҳаркат', paragraphFormatting: 'Параграфни форматлаш', documentStyle: 'Ҳужжатнинг тури', extraKeys: 'Қўшимча имкониятлар' }, history: { undo: 'Бекор қилиш', redo: 'Қайтариш' } } }); })(jQuery); PK�{�\q:sZ lang/summernote-lt-LV.min.jsnu�[���/*! Summernote v0.8.10 | (c) 2013- Alan Hong and other contributors | MIT license */ !function(t){t.extend(t.summernote.lang,{"lv-LV":{font:{bold:"Treknraksts",italic:"Kursīvs",underline:"Pasvītrots",clear:"Noņemt formatējumu",height:"Līnijas augstums",name:"Fonts",strikethrough:"Nosvītrots",superscript:"Augšraksts",subscript:"Apakšraksts",size:"Fonta lielums"},image:{image:"Attēls",insert:"Ievietot attēlu",resizeFull:"Pilns izmērts",resizeHalf:"Samazināt 50%",resizeQuarter:"Samazināt 25%",floatLeft:"Līdzināt pa kreisi",floatRight:"Līdzināt pa labi",floatNone:"Nelīdzināt",shapeRounded:"Forma: apaļām malām",shapeCircle:"Forma: aplis",shapeThumbnail:"Forma: rāmītis",shapeNone:"Forma: orģināla",dragImageHere:"Ievēlciet attēlu šeit",dropImage:"Drop image or Text",selectFromFiles:"Izvēlēties failu",maximumFileSize:"Maksimālais faila izmērs",maximumFileSizeError:"Faila izmērs pārāk liels!",url:"Attēla URL",remove:"Dzēst attēlu",original:"Original"},video:{video:"Video",videoLink:"Video Link",insert:"Insert Video",url:"Video URL?",providers:"(YouTube, Vimeo, Vine, Instagram, DailyMotion or Youku)"},link:{link:"Saite",insert:"Ievietot saiti",unlink:"Noņemt saiti",edit:"Rediģēt",textToDisplay:"Saites saturs",url:"Koks URL adresas yra susietas?",openInNewWindow:"Atvērt jaunā logā"},table:{table:"Tabula",addRowAbove:"Add row above",addRowBelow:"Add row below",addColLeft:"Add column left",addColRight:"Add column right",delRow:"Delete row",delCol:"Delete column",delTable:"Delete table"},hr:{insert:"Ievietot līniju"},style:{style:"Stils",p:"Parasts",blockquote:"Citāts",pre:"Kods",h1:"Virsraksts h1",h2:"Virsraksts h2",h3:"Virsraksts h3",h4:"Virsraksts h4",h5:"Virsraksts h5",h6:"Virsraksts h6"},lists:{unordered:"Nenumurēts saraksts",ordered:"Numurēts saraksts"},options:{help:"Palīdzība",fullscreen:"Pa visu ekrānu",codeview:"HTML kods"},paragraph:{paragraph:"Paragrāfs",outdent:"Samazināt atkāpi",indent:"Palielināt atkāpi",left:"Līdzināt pa kreisi",center:"Centrēt",right:"Līdzināt pa labi",justify:"Līdzināt gar abām malām"},color:{recent:"Nesen izmantotās",more:"Citas krāsas",background:"Fona krāsa",foreground:"Fonta krāsa",transparent:"Caurspīdīgs",setTransparent:"Iestatīt caurspīdīgumu",reset:"Atjaunot",resetToDefault:"Atjaunot noklusējumu"},shortcut:{shortcuts:"Saīsnes",close:"Aizvērt",textFormatting:"Teksta formatēšana",action:"Darbība",paragraphFormatting:"Paragrāfa formatēšana",documentStyle:"Dokumenta stils",extraKeys:"Citas taustiņu kombinācijas"},help:{insertParagraph:"Ievietot Paragrāfu",undo:"Atcelt iepriekšējo darbību",redo:"Atkārtot atcelto darbību",tab:"Atkāpe",untab:"Samazināt atkāpi",bold:"Pārvērst tekstu treknrakstā",italic:"Pārvērst tekstu slīprakstā (kursīvā)",underline:"Pasvītrot tekstu",strikethrough:"Nosvītrot tekstu",removeFormat:"Notīrīt stilu no teksta",justifyLeft:"Līdzīnāt saturu pa kreisi",justifyCenter:"Centrēt saturu",justifyRight:"Līdzīnāt saturu pa labi",justifyFull:"Izlīdzināt saturu gar abām malām",insertUnorderedList:"Ievietot nenumurētu sarakstu",insertOrderedList:"Ievietot numurētu sarakstu",outdent:"Samazināt/noņemt atkāpi paragrāfam",indent:"Uzlikt atkāpi paragrāfam",formatPara:"Mainīt bloka tipu uz (p) Paragrāfu",formatH1:"Mainīt bloka tipu uz virsrakstu H1",formatH2:"Mainīt bloka tipu uz virsrakstu H2",formatH3:"Mainīt bloka tipu uz virsrakstu H3",formatH4:"Mainīt bloka tipu uz virsrakstu H4",formatH5:"Mainīt bloka tipu uz virsrakstu H5",formatH6:"Mainīt bloka tipu uz virsrakstu H6",insertHorizontalRule:"Ievietot horizontālu līniju","linkDialog.show":"Parādīt saites logu"},history:{undo:"Atsauks (undo)",redo:"Atkārtot (redo)"},specialChar:{specialChar:"SPECIAL CHARACTERS",select:"Select Special characters"}}})}(jQuery);PK�{�\�8!�� � lang/summernote-da-DK.min.jsnu�[���/*! Summernote v0.8.10 | (c) 2013- Alan Hong and other contributors | MIT license */ !function(e){e.extend(e.summernote.lang,{"da-DK":{font:{bold:"Fed",italic:"Kursiv",underline:"Understreget",clear:"Fjern formatering",height:"Højde",name:"Skrifttype",strikethrough:"Gennemstreget",subscript:"Sænket skrift",superscript:"Hævet skrift",size:"Skriftstørrelse"},image:{image:"Billede",insert:"Indsæt billede",resizeFull:"Original størrelse",resizeHalf:"Halv størrelse",resizeQuarter:"Kvart størrelse",floatLeft:"Venstrestillet",floatRight:"Højrestillet",floatNone:"Fjern formatering",shapeRounded:"Form: Runde kanter",shapeCircle:"Form: Cirkel",shapeThumbnail:"Form: Miniature",shapeNone:"Form: Ingen",dragImageHere:"Træk billede hertil",dropImage:"Slip billede",selectFromFiles:"Vælg billed-fil",maximumFileSize:"Maks fil størrelse",maximumFileSizeError:"Filen er større end maks tilladte fil størrelse!",url:"Billede URL",remove:"Fjern billede",original:"Original"},video:{video:"Video",videoLink:"Video Link",insert:"Indsæt Video",url:"Video URL?",providers:"(YouTube, Vimeo, Vine, Instagram, DailyMotion eller Youku)"},link:{link:"Link",insert:"Indsæt link",unlink:"Fjern link",edit:"Rediger",textToDisplay:"Visningstekst",url:"Hvor skal linket pege hen?",openInNewWindow:"Åbn i nyt vindue"},table:{table:"Tabel",addRowAbove:"Add row above",addRowBelow:"Add row below",addColLeft:"Add column left",addColRight:"Add column right",delRow:"Delete row",delCol:"Delete column",delTable:"Delete table"},hr:{insert:"Indsæt horisontal linje"},style:{style:"Stil",p:"p",blockquote:"Citat",pre:"Kode",h1:"Overskrift 1",h2:"Overskrift 2",h3:"Overskrift 3",h4:"Overskrift 4",h5:"Overskrift 5",h6:"Overskrift 6"},lists:{unordered:"Punktopstillet liste",ordered:"Nummereret liste"},options:{help:"Hjælp",fullscreen:"Fuld skærm",codeview:"HTML-Visning"},paragraph:{paragraph:"Afsnit",outdent:"Formindsk indryk",indent:"Forøg indryk",left:"Venstrestillet",center:"Centreret",right:"Højrestillet",justify:"Blokjuster"},color:{recent:"Nyligt valgt farve",more:"Flere farver",background:"Baggrund",foreground:"Forgrund",transparent:"Transparent",setTransparent:"Sæt transparent",reset:"Nulstil",resetToDefault:"Gendan standardindstillinger"},shortcut:{shortcuts:"Genveje",close:"Luk",textFormatting:"Tekstformatering",action:"Handling",paragraphFormatting:"Afsnitsformatering",documentStyle:"Dokumentstil",extraKeys:"Extra keys"},help:{insertParagraph:"Insert Paragraph",undo:"Undoes the last command",redo:"Redoes the last command",tab:"Tab",untab:"Untab",bold:"Set a bold style",italic:"Set a italic style",underline:"Set a underline style",strikethrough:"Set a strikethrough style",removeFormat:"Clean a style",justifyLeft:"Set left align",justifyCenter:"Set center align",justifyRight:"Set right align",justifyFull:"Set full align",insertUnorderedList:"Toggle unordered list",insertOrderedList:"Toggle ordered list",outdent:"Outdent on current paragraph",indent:"Indent on current paragraph",formatPara:"Change current block's format as a paragraph(P tag)",formatH1:"Change current block's format as H1",formatH2:"Change current block's format as H2",formatH3:"Change current block's format as H3",formatH4:"Change current block's format as H4",formatH5:"Change current block's format as H5",formatH6:"Change current block's format as H6",insertHorizontalRule:"Insert horizontal rule","linkDialog.show":"Show Link Dialog"},history:{undo:"Fortryd",redo:"Annuller fortryd"},specialChar:{specialChar:"SPECIAL CHARACTERS",select:"Select Special characters"}}})}(jQuery);PK�{�\C�Л�lang/summernote-mn-MN.min.jsnu�[���/*! Summernote v0.8.10 | (c) 2013- Alan Hong and other contributors | MIT license */ !function(e){e.extend(e.summernote.lang,{"mn-MN":{font:{bold:"Тод",italic:"Налуу",underline:"Доогуур зураас",clear:"Цэвэрлэх",height:"Өндөр",name:"Фонт",superscript:"Дээд илтгэгч",subscript:"Доод илтгэгч",strikethrough:"Дарах",size:"Хэмжээ"},image:{image:"Зураг",insert:"Оруулах",resizeFull:"Хэмжээ бүтэн",resizeHalf:"Хэмжээ 1/2",resizeQuarter:"Хэмжээ 1/4",floatLeft:"Зүүн талд байрлуулах",floatRight:"Баруун талд байрлуулах",floatNone:"Анхдагч байрлалд аваачих",shapeRounded:"Хүрээ: Дугуй",shapeCircle:"Хүрээ: Тойрог",shapeThumbnail:"Хүрээ: Хураангуй",shapeNone:"Хүрээгүй",dragImageHere:"Зургийг энд чирч авчирна уу",dropImage:"Drop image or Text",selectFromFiles:"Файлуудаас сонгоно уу",maximumFileSize:"Файлын дээд хэмжээ",maximumFileSizeError:"Файлын дээд хэмжээ хэтэрсэн",url:"Зургийн URL",remove:"Зургийг устгах",original:"Original"},video:{video:"Видео",videoLink:"Видео холбоос",insert:"Видео оруулах",url:"Видео URL?",providers:"(YouTube, Vimeo, Vine, Instagram, DailyMotion болон Youku)"},link:{link:"Холбоос",insert:"Холбоос оруулах",unlink:"Холбоос арилгах",edit:"Засварлах",textToDisplay:"Харуулах бичвэр",url:"Энэ холбоос хаашаа очих вэ?",openInNewWindow:"Шинэ цонхонд нээх"},table:{table:"Хүснэгт",addRowAbove:"Add row above",addRowBelow:"Add row below",addColLeft:"Add column left",addColRight:"Add column right",delRow:"Delete row",delCol:"Delete column",delTable:"Delete table"},hr:{insert:"Хэвтээ шугам оруулах"},style:{style:"Хэв маяг",p:"p",blockquote:"Иш татах",pre:"Эх сурвалж",h1:"Гарчиг 1",h2:"Гарчиг 2",h3:"Гарчиг 3",h4:"Гарчиг 4",h5:"Гарчиг 5",h6:"Гарчиг 6"},lists:{unordered:"Эрэмбэлэгдээгүй",ordered:"Эрэмбэлэгдсэн"},options:{help:"Тусламж",fullscreen:"Дэлгэцийг дүүргэх",codeview:"HTML-Code харуулах"},paragraph:{paragraph:"Хэсэг",outdent:"Догол мөр хасах",indent:"Догол мөр нэмэх",left:"Зүүн тийш эгнүүлэх",center:"Төвд эгнүүлэх",right:"Баруун тийш эгнүүлэх",justify:"Мөрийг тэгшлэх"},color:{recent:"Сүүлд хэрэглэсэн өнгө",more:"Өөр өнгөнүүд",background:"Дэвсгэр өнгө",foreground:"Үсгийн өнгө",transparent:"Тунгалаг",setTransparent:"Тунгалаг болгох",reset:"Анхдагч өнгөөр тохируулах",resetToDefault:"Хэвд нь оруулах"},shortcut:{shortcuts:"Богино холбоос",close:"Хаалт",textFormatting:"Бичвэрийг хэлбэржүүлэх",action:"Үйлдэл",paragraphFormatting:"Догол мөрийг хэлбэржүүлэх",documentStyle:"Бичиг баримтын хэв загвар",extraKeys:"Extra keys"},help:{insertParagraph:"Insert Paragraph",undo:"Undoes the last command",redo:"Redoes the last command",tab:"Tab",untab:"Untab",bold:"Set a bold style",italic:"Set a italic style",underline:"Set a underline style",strikethrough:"Set a strikethrough style",removeFormat:"Clean a style",justifyLeft:"Set left align",justifyCenter:"Set center align",justifyRight:"Set right align",justifyFull:"Set full align",insertUnorderedList:"Toggle unordered list",insertOrderedList:"Toggle ordered list",outdent:"Outdent on current paragraph",indent:"Indent on current paragraph",formatPara:"Change current block's format as a paragraph(P tag)",formatH1:"Change current block's format as H1",formatH2:"Change current block's format as H2",formatH3:"Change current block's format as H3",formatH4:"Change current block's format as H4",formatH5:"Change current block's format as H5",formatH6:"Change current block's format as H6",insertHorizontalRule:"Insert horizontal rule","linkDialog.show":"Show Link Dialog"},history:{undo:"Буцаах",redo:"Дахин хийх"},specialChar:{specialChar:"Тусгай тэмдэгт",select:"Тусгай тэмдэгт сонгох"}}})}(jQuery);PK�{�\{�A^qqlang/summernote-zh-CN.jsnu�[���(function($) { $.extend($.summernote.lang, { 'zh-CN': { font: { bold: '粗体', italic: '斜体', underline: '下划线', clear: '清除格式', height: '行高', name: '字体', strikethrough: '删除线', subscript: '下标', superscript: '上标', size: '字号' }, image: { image: '图片', insert: '插入图片', resizeFull: '缩放至 100%', resizeHalf: '缩放至 50%', resizeQuarter: '缩放至 25%', floatLeft: '靠左浮动', floatRight: '靠右浮动', floatNone: '取消浮动', shapeRounded: '形状: 圆角', shapeCircle: '形状: 圆', shapeThumbnail: '形状: 缩略图', shapeNone: '形状: 无', dragImageHere: '将图片拖拽至此处', dropImage: 'Drop image or Text', selectFromFiles: '从本地上传', maximumFileSize: '文件大小最大值', maximumFileSizeError: '文件大小超出最大值。', url: '图片地址', remove: '移除图片', original: 'Original' }, video: { video: '视频', videoLink: '视频链接', insert: '插入视频', url: '视频地址', providers: '(优酷, 腾讯, Instagram, DailyMotion, Youtube等)' }, link: { link: '链接', insert: '插入链接', unlink: '去除链接', edit: '编辑链接', textToDisplay: '显示文本', url: '链接地址', openInNewWindow: '在新窗口打开' }, table: { table: '表格', addRowAbove: 'Add row above', addRowBelow: 'Add row below', addColLeft: 'Add column left', addColRight: 'Add column right', delRow: 'Delete row', delCol: 'Delete column', delTable: 'Delete table' }, hr: { insert: '水平线' }, style: { style: '样式', p: '普通', blockquote: '引用', pre: '代码', h1: '标题 1', h2: '标题 2', h3: '标题 3', h4: '标题 4', h5: '标题 5', h6: '标题 6' }, lists: { unordered: '无序列表', ordered: '有序列表' }, options: { help: '帮助', fullscreen: '全屏', codeview: '源代码' }, paragraph: { paragraph: '段落', outdent: '减少缩进', indent: '增加缩进', left: '左对齐', center: '居中对齐', right: '右对齐', justify: '两端对齐' }, color: { recent: '最近使用', more: '更多', background: '背景', foreground: '前景', transparent: '透明', setTransparent: '透明', reset: '重置', resetToDefault: '默认' }, shortcut: { shortcuts: '快捷键', close: '关闭', textFormatting: '文本格式', action: '动作', paragraphFormatting: '段落格式', documentStyle: '文档样式', extraKeys: '额外按键' }, help: { insertParagraph: '插入段落', undo: '撤销', redo: '重做', tab: '增加缩进', untab: '减少缩进', bold: '粗体', italic: '斜体', underline: '下划线', strikethrough: '删除线', removeFormat: '清除格式', justifyLeft: '左对齐', justifyCenter: '居中对齐', justifyRight: '右对齐', justifyFull: '两端对齐', insertUnorderedList: '无序列表', insertOrderedList: '有序列表', outdent: '减少缩进', indent: '增加缩进', formatPara: '设置选中内容样式为 普通', formatH1: '设置选中内容样式为 标题1', formatH2: '设置选中内容样式为 标题2', formatH3: '设置选中内容样式为 标题3', formatH4: '设置选中内容样式为 标题4', formatH5: '设置选中内容样式为 标题5', formatH6: '设置选中内容样式为 标题6', insertHorizontalRule: '插入水平线', 'linkDialog.show': '显示链接对话框' }, history: { undo: '撤销', redo: '重做' }, specialChar: { specialChar: 'SPECIAL CHARACTERS', select: 'Select Special characters' } } }); })(jQuery); PK�{�\���mmlang/summernote-de-DE.min.jsnu�[���/*! Summernote v0.8.10 | (c) 2013- Alan Hong and other contributors | MIT license */ !function(e){e.extend(e.summernote.lang,{"de-DE":{font:{bold:"Fett",italic:"Kursiv",underline:"Unterstreichen",clear:"Zurücksetzen",height:"Zeilenhöhe",name:"Schriftart",strikethrough:"Durchgestrichen",subscript:"Tiefgestellt",superscript:"Hochgestellt",size:"Schriftgröße"},image:{image:"Grafik",insert:"Grafik einfügen",resizeFull:"Originalgröße",resizeHalf:"Größe 1/2",resizeQuarter:"Größe 1/4",floatLeft:"Linksbündig",floatRight:"Rechtsbündig",floatNone:"Kein Textfluss",shapeRounded:"Rahmen: Abgerundet",shapeCircle:"Rahmen: Kreisförmig",shapeThumbnail:"Rahmen: Thumbnail",shapeNone:"Kein Rahmen",dragImageHere:"Ziehen Sie ein Bild mit der Maus hierher",dropImage:"Drop image or Text",selectFromFiles:"Wählen Sie eine Datei aus",maximumFileSize:"Maximale Dateigröße",maximumFileSizeError:"Maximale Dateigröße überschritten",url:"Grafik URL",remove:"Grafik entfernen",original:"Original"},video:{video:"Video",videoLink:"Video Link",insert:"Video einfügen",url:"Video URL?",providers:"(YouTube, Vimeo, Vine, Instagram, DailyMotion oder Youku)"},link:{link:"Link",insert:"Link einfügen",unlink:"Link entfernen",edit:"Editieren",textToDisplay:"Anzeigetext",url:"Ziel des Links?",openInNewWindow:"In einem neuen Fenster öffnen"},table:{table:"Tabelle",addRowAbove:"Zeile oberhalb einfügen",addRowBelow:"Zeile unterhalb einfügen",addColLeft:"Spalte links einfügen",addColRight:"Spalte rechts einfügen",delRow:"Zeile löschen",delCol:"Spalte löschen",delTable:"Tabelle löschen"},hr:{insert:"Eine horizontale Linie einfügen"},style:{style:"Stil",p:"Normal",blockquote:"Zitat",pre:"Quellcode",h1:"Überschrift 1",h2:"Überschrift 2",h3:"Überschrift 3",h4:"Überschrift 4",h5:"Überschrift 5",h6:"Überschrift 6"},lists:{unordered:"Aufzählung",ordered:"Nummerierung"},options:{help:"Hilfe",fullscreen:"Vollbild",codeview:"HTML-Code anzeigen"},paragraph:{paragraph:"Absatz",outdent:"Einzug vergrößern",indent:"Einzug verkleinern",left:"Links ausrichten",center:"Zentriert ausrichten",right:"Rechts ausrichten",justify:"Blocksatz"},color:{recent:"Letzte Farbe",more:"Mehr Farben",background:"Hintergrundfarbe",foreground:"Schriftfarbe",transparent:"Transparenz",setTransparent:"Transparenz setzen",reset:"Zurücksetzen",resetToDefault:"Auf Standard zurücksetzen"},shortcut:{shortcuts:"Tastenkürzel",close:"Schließen",textFormatting:"Textformatierung",action:"Aktion",paragraphFormatting:"Absatzformatierung",documentStyle:"Dokumentenstil"},help:{insertParagraph:"Insert Paragraph",undo:"Undoes the last command",redo:"Redoes the last command",tab:"Tab",untab:"Untab",bold:"Set a bold style",italic:"Set a italic style",underline:"Set a underline style",strikethrough:"Set a strikethrough style",removeFormat:"Clean a style",justifyLeft:"Set left align",justifyCenter:"Set center align",justifyRight:"Set right align",justifyFull:"Set full align",insertUnorderedList:"Toggle unordered list",insertOrderedList:"Toggle ordered list",outdent:"Outdent on current paragraph",indent:"Indent on current paragraph",formatPara:"Change current block's format as a paragraph(P tag)",formatH1:"Change current block's format as H1",formatH2:"Change current block's format as H2",formatH3:"Change current block's format as H3",formatH4:"Change current block's format as H4",formatH5:"Change current block's format as H5",formatH6:"Change current block's format as H6",insertHorizontalRule:"Insert horizontal rule","linkDialog.show":"Show Link Dialog"},history:{undo:"Rückgängig",redo:"Wiederholen"},specialChar:{specialChar:"SONDERZEICHEN",select:"Sonderzeichen auswählen"}}})}(jQuery);PK�{�\7�%YYlang/summernote-pt-BR.min.jsnu�[���/*! Summernote v0.8.10 | (c) 2013- Alan Hong and other contributors | MIT license */ !function(a){a.extend(a.summernote.lang,{"pt-BR":{font:{bold:"Negrito",italic:"Itálico",underline:"Sublinhado",clear:"Remover estilo da fonte",height:"Altura da linha",name:"Fonte",strikethrough:"Riscado",subscript:"Subscript",superscript:"Superscript",size:"Tamanho da fonte"},image:{image:"Imagem",insert:"Inserir imagem",resizeFull:"Redimensionar Completamente",resizeHalf:"Redimensionar pela Metade",resizeQuarter:"Redimensionar um Quarto",floatLeft:"Flutuar para Esquerda",floatRight:"Flutuar para Direira",floatNone:"Não Flutuar",shapeRounded:"Shape: Rounded",shapeCircle:"Shape: Circle",shapeThumbnail:"Shape: Thumbnail",shapeNone:"Shape: None",dragImageHere:"Arraste uma imagem para cá",dropImage:"Drop image or Text",selectFromFiles:"Selecione a partir dos arquivos",maximumFileSize:"Maximum file size",maximumFileSizeError:"Maximum file size exceeded.",url:"URL da imagem",remove:"Remove Image",original:"Original"},video:{video:"Vídeo",videoLink:"Link para vídeo",insert:"Inserir vídeo",url:"URL do vídeo?",providers:"(YouTube, Vimeo, Vine, Instagram, DailyMotion ou Youku)"},link:{link:"Link",insert:"Inserir link",unlink:"Remover link",edit:"Editar",textToDisplay:"Texto para exibir",url:"Para qual URL esse link leva?",openInNewWindow:"Abrir em uma nova janela"},table:{table:"Tabela",addRowAbove:"Adicionar linha acima",addRowBelow:"Adicionar linha abaixo",addColLeft:"Adicionar coluna a esquerda",addColRight:"Adicionar coluna a direita",delRow:"Excluir linha",delCol:"Excluir coluna",delTable:"Delete table"},hr:{insert:"Inserir linha horizontal"},style:{style:"Estilo",normal:"Normal",blockquote:"Citação",pre:"Código",h1:"Título 1",h2:"Título 2",h3:"Título 3",h4:"Título 4",h5:"Título 5",h6:"Título 6"},lists:{unordered:"Lista com marcadores",ordered:"Lista numerada"},options:{help:"Ajuda",fullscreen:"Tela cheia",codeview:"Ver código-fonte"},paragraph:{paragraph:"Parágrafo",outdent:"Menor tabulação",indent:"Maior tabulação",left:"Alinhar à esquerda",center:"Alinhar ao centro",right:"Alinha à direita",justify:"Justificado"},color:{recent:"Cor recente",more:"Mais cores",background:"Fundo",foreground:"Fonte",transparent:"Transparente",setTransparent:"Fundo transparente",reset:"Restaurar",resetToDefault:"Restaurar padrão"},shortcut:{shortcuts:"Atalhos do teclado",close:"Fechar",textFormatting:"Formatação de texto",action:"Ação",paragraphFormatting:"Formatação de parágrafo",documentStyle:"Estilo de documento",extraKeys:"Extra keys"},help:{insertParagraph:"Inserir Parágrafo",undo:"Desfazer o último comando",redo:"Refazer o último comando",tab:"Tab",untab:"Desfazer tab",bold:"Colocar em negrito",italic:"Colocar em itálico",underline:"Sublinhado",strikethrough:"Tachado",removeFormat:"Remover estilo",justifyLeft:"Alinhar à esquerda",justifyCenter:"Centralizar",justifyRight:"Alinhar à esquerda",justifyFull:"Justificar",insertUnorderedList:"Lista não ordenada",insertOrderedList:"Lista ordenada",outdent:"Recuar parágrafo atual",indent:"Avançar parágrafo atual",formatPara:"Alterar formato do bloco para parágrafo(tag P)",formatH1:"Alterar formato do bloco para H1",formatH2:"Alterar formato do bloco para H2",formatH3:"Alterar formato do bloco para H3",formatH4:"Alterar formato do bloco para H4",formatH5:"Alterar formato do bloco para H5",formatH6:"Alterar formato do bloco para H6",insertHorizontalRule:"Inserir régua horizontal","linkDialog.show":"Inserir um Hiperlink"},history:{undo:"Desfazer",redo:"Refazer"},specialChar:{specialChar:"SPECIAL CHARACTERS",select:"Select Special characters"}}})}(jQuery);PK�{�\���1GGlang/summernote-bg-BG.jsnu�[���(function($) { $.extend($.summernote.lang, { 'bg-BG': { font: { bold: 'Удебелен', italic: 'Наклонен', underline: 'Подчертан', clear: 'Изчисти стиловете', height: 'Височина', name: 'Шрифт', strikethrough: 'Задраскано', subscript: 'Долен индекс', superscript: 'Горен индекс', size: 'Размер на шрифта' }, image: { image: 'Изображение', insert: 'Постави картинка', resizeFull: 'Цял размер', resizeHalf: 'Размер на 50%', resizeQuarter: 'Размер на 25%', floatLeft: 'Подравни в ляво', floatRight: 'Подравни в дясно', floatNone: 'Без подравняване', shapeRounded: 'Shape: Rounded', shapeCircle: 'Shape: Circle', shapeThumbnail: 'Shape: Thumbnail', shapeNone: 'Shape: None', dragImageHere: 'Пуснете изображението тук', dropImage: 'Drop image or Text', selectFromFiles: 'Изберете файл', maximumFileSize: 'Maximum file size', maximumFileSizeError: 'Maximum file size exceeded.', url: 'URL адрес на изображение', remove: 'Премахни изображение', original: 'Original' }, video: { video: 'Video', videoLink: 'Video Link', insert: 'Insert Video', url: 'Video URL?', providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion or Youku)' }, link: { link: 'Връзка', insert: 'Добави връзка', unlink: 'Премахни връзка', edit: 'Промени', textToDisplay: 'Текст за показване', url: 'URL адрес', openInNewWindow: 'Отвори в нов прозорец' }, table: { table: 'Таблица', addRowAbove: 'Add row above', addRowBelow: 'Add row below', addColLeft: 'Add column left', addColRight: 'Add column right', delRow: 'Delete row', delCol: 'Delete column', delTable: 'Delete table' }, hr: { insert: 'Добави хоризонтална линия' }, style: { style: 'Стил', p: 'Нормален', blockquote: 'Цитат', pre: 'Код', h1: 'Заглавие 1', h2: 'Заглавие 2', h3: 'Заглавие 3', h4: 'Заглавие 4', h5: 'Заглавие 5', h6: 'Заглавие 6' }, lists: { unordered: 'Символен списък', ordered: 'Цифров списък' }, options: { help: 'Помощ', fullscreen: 'На цял екран', codeview: 'Преглед на код' }, paragraph: { paragraph: 'Параграф', outdent: 'Намаляване на отстъпа', indent: 'Абзац', left: 'Подравняване в ляво', center: 'Център', right: 'Подравняване в дясно', justify: 'Разтягане по ширина' }, color: { recent: 'Последния избран цвят', more: 'Още цветове', background: 'Цвят на фона', foreground: 'Цвят на шрифта', transparent: 'Прозрачен', setTransparent: 'Направете прозрачен', reset: 'Възстанови', resetToDefault: 'Възстанови оригиналните' }, shortcut: { shortcuts: 'Клавишни комбинации', close: 'Затвори', textFormatting: 'Форматиране на текста', action: 'Действие', paragraphFormatting: 'Форматиране на параграф', documentStyle: 'Стил на документа', extraKeys: 'Extra keys' }, help: { 'insertParagraph': 'Insert Paragraph', 'undo': 'Undoes the last command', 'redo': 'Redoes the last command', 'tab': 'Tab', 'untab': 'Untab', 'bold': 'Set a bold style', 'italic': 'Set a italic style', 'underline': 'Set a underline style', 'strikethrough': 'Set a strikethrough style', 'removeFormat': 'Clean a style', 'justifyLeft': 'Set left align', 'justifyCenter': 'Set center align', 'justifyRight': 'Set right align', 'justifyFull': 'Set full align', 'insertUnorderedList': 'Toggle unordered list', 'insertOrderedList': 'Toggle ordered list', 'outdent': 'Outdent on current paragraph', 'indent': 'Indent on current paragraph', 'formatPara': 'Change current block\'s format as a paragraph(P tag)', 'formatH1': 'Change current block\'s format as H1', 'formatH2': 'Change current block\'s format as H2', 'formatH3': 'Change current block\'s format as H3', 'formatH4': 'Change current block\'s format as H4', 'formatH5': 'Change current block\'s format as H5', 'formatH6': 'Change current block\'s format as H6', 'insertHorizontalRule': 'Insert horizontal rule', 'linkDialog.show': 'Show Link Dialog' }, history: { undo: 'Назад', redo: 'Напред' }, specialChar: { specialChar: 'SPECIAL CHARACTERS', select: 'Select Special characters' } } }); })(jQuery); PK�{�\�"r�OOlang/summernote-sk-SK.jsnu�[���(function($) { $.extend($.summernote.lang, { 'sk-SK': { font: { bold: 'Tučné', italic: 'Kurzíva', underline: 'Podčiarknutie', clear: 'Odstrániť štýl písma', height: 'Výška riadku', strikethrough: 'Prečiarknuté', subscript: 'Subscript', superscript: 'Superscript', size: 'Veľkosť písma' }, image: { image: 'Obrázok', insert: 'Vložiť obrázok', resizeFull: 'Pôvodná veľkosť', resizeHalf: 'Polovičná veľkosť', resizeQuarter: 'Štvrtinová veľkosť', floatLeft: 'Umiestniť doľava', floatRight: 'Umiestniť doprava', floatNone: 'Bez zarovnania', shapeRounded: 'Shape: Rounded', shapeCircle: 'Shape: Circle', shapeThumbnail: 'Shape: Thumbnail', shapeNone: 'Shape: None', dragImageHere: 'Pretiahnuť sem obrázok', dropImage: 'Drop image or Text', selectFromFiles: 'Vybrať súbor', maximumFileSize: 'Maximum file size', maximumFileSizeError: 'Maximum file size exceeded.', url: 'URL obrázku', remove: 'Remove Image', original: 'Original' }, video: { video: 'Video', videoLink: 'Odkaz videa', insert: 'Vložiť video', url: 'URL videa?', providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion alebo Youku)' }, link: { link: 'Odkaz', insert: 'Vytvoriť odkaz', unlink: 'Zrušiť odkaz', edit: 'Upraviť', textToDisplay: 'Zobrazovaný text', url: 'Na akú URL adresu má tento odkaz viesť?', openInNewWindow: 'Otvoriť v novom okne' }, table: { table: 'Tabuľka', addRowAbove: 'Add row above', addRowBelow: 'Add row below', addColLeft: 'Add column left', addColRight: 'Add column right', delRow: 'Delete row', delCol: 'Delete column', delTable: 'Delete table' }, hr: { insert: 'Vložit vodorovnú čiaru' }, style: { style: 'Štýl', p: 'Normálny', blockquote: 'Citácia', pre: 'Kód', h1: 'Nadpis 1', h2: 'Nadpis 2', h3: 'Nadpis 3', h4: 'Nadpis 4', h5: 'Nadpis 5', h6: 'Nadpis 6' }, lists: { unordered: 'Odrážkový zoznam', ordered: 'Číselný zoznam' }, options: { help: 'Pomoc', fullscreen: 'Celá obrazovka', codeview: 'HTML kód' }, paragraph: { paragraph: 'Odsek', outdent: 'Zväčšiť odsadenie', indent: 'Zmenšiť odsadenie', left: 'Zarovnať doľava', center: 'Zarovnať na stred', right: 'Zarovnať doprava', justify: 'Zarovnať obojstranne' }, color: { recent: 'Aktuálna farba', more: 'Dalšie farby', background: 'Farba pozadia', foreground: 'Farba písma', transparent: 'Priehľadnosť', setTransparent: 'Nastaviť priehľadnosť', reset: 'Obnoviť', resetToDefault: 'Obnoviť prednastavené' }, shortcut: { shortcuts: 'Klávesové skratky', close: 'Zavrieť', textFormatting: 'Formátovanie textu', action: 'Akcia', paragraphFormatting: 'Formátovanie odseku', documentStyle: 'Štýl dokumentu' }, help: { 'insertParagraph': 'Insert Paragraph', 'undo': 'Undoes the last command', 'redo': 'Redoes the last command', 'tab': 'Tab', 'untab': 'Untab', 'bold': 'Set a bold style', 'italic': 'Set a italic style', 'underline': 'Set a underline style', 'strikethrough': 'Set a strikethrough style', 'removeFormat': 'Clean a style', 'justifyLeft': 'Set left align', 'justifyCenter': 'Set center align', 'justifyRight': 'Set right align', 'justifyFull': 'Set full align', 'insertUnorderedList': 'Toggle unordered list', 'insertOrderedList': 'Toggle ordered list', 'outdent': 'Outdent on current paragraph', 'indent': 'Indent on current paragraph', 'formatPara': 'Change current block\'s format as a paragraph(P tag)', 'formatH1': 'Change current block\'s format as H1', 'formatH2': 'Change current block\'s format as H2', 'formatH3': 'Change current block\'s format as H3', 'formatH4': 'Change current block\'s format as H4', 'formatH5': 'Change current block\'s format as H5', 'formatH6': 'Change current block\'s format as H6', 'insertHorizontalRule': 'Insert horizontal rule', 'linkDialog.show': 'Show Link Dialog' }, history: { undo: 'Krok vzad', redo: 'Krok dopredu' }, specialChar: { specialChar: 'SPECIAL CHARACTERS', select: 'Select Special characters' } } }); })(jQuery); PK�{�\z ޚ��lang/summernote-fr-FR.min.jsnu�[���/*! Summernote v0.8.10 | (c) 2013- Alan Hong and other contributors | MIT license */ !function(e){e.extend(e.summernote.lang,{"fr-FR":{font:{bold:"Gras",italic:"Italique",underline:"Souligné",clear:"Effacer la mise en forme",height:"Interligne",name:"Famille de police",strikethrough:"Barré",superscript:"Exposant",subscript:"Indice",size:"Taille de police"},image:{image:"Image",insert:"Insérer une image",resizeFull:"Taille originale",resizeHalf:"Redimensionner à 50 %",resizeQuarter:"Redimensionner à 25 %",floatLeft:"Aligné à gauche",floatRight:"Aligné à droite",floatNone:"Pas d'alignement",shapeRounded:"Forme: Rectangle arrondie",shapeCircle:"Forme: Cercle",shapeThumbnail:"Forme: Vignette",shapeNone:"Forme: Aucune",dragImageHere:"Faites glisser une image ou un texte dans ce cadre",dropImage:"Lachez l'image ou le texte",selectFromFiles:"Choisir un fichier",maximumFileSize:"Taille de fichier maximale",maximumFileSizeError:"Taille maximale du fichier dépassée",url:"URL de l'image",remove:"Supprimer l'image",original:"Original"},video:{video:"Vidéo",videoLink:"Lien vidéo",insert:"Insérer une vidéo",url:"URL de la vidéo",providers:"(YouTube, Vimeo, Vine, Instagram, DailyMotion ou Youku)"},link:{link:"Lien",insert:"Insérer un lien",unlink:"Supprimer un lien",edit:"Modifier",textToDisplay:"Texte à afficher",url:"URL du lien",openInNewWindow:"Ouvrir dans une nouvelle fenêtre"},table:{table:"Tableau",addRowAbove:"Ajouter une ligne au-dessus",addRowBelow:"Ajouter une ligne en dessous",addColLeft:"Ajouter une colonne à gauche",addColRight:"Ajouter une colonne à droite",delRow:"Supprimer la ligne",delCol:"Supprimer la colonne",delTable:"Supprimer le tableau"},hr:{insert:"Insérer une ligne horizontale"},style:{style:"Style",p:"Normal",blockquote:"Citation",pre:"Code source",h1:"Titre 1",h2:"Titre 2",h3:"Titre 3",h4:"Titre 4",h5:"Titre 5",h6:"Titre 6"},lists:{unordered:"Liste à puces",ordered:"Liste numérotée"},options:{help:"Aide",fullscreen:"Plein écran",codeview:"Afficher le code HTML"},paragraph:{paragraph:"Paragraphe",outdent:"Diminuer le retrait",indent:"Augmenter le retrait",left:"Aligner à gauche",center:"Centrer",right:"Aligner à droite",justify:"Justifier"},color:{recent:"Dernière couleur sélectionnée",more:"Plus de couleurs",background:"Couleur de fond",foreground:"Couleur de police",transparent:"Transparent",setTransparent:"Définir la transparence",reset:"Restaurer",resetToDefault:"Restaurer la couleur par défaut"},shortcut:{shortcuts:"Raccourcis",close:"Fermer",textFormatting:"Mise en forme du texte",action:"Action",paragraphFormatting:"Mise en forme des paragraphes",documentStyle:"Style du document",extraKeys:"Touches supplémentaires"},help:{insertParagraph:"Insérer paragraphe",undo:"Défaire la dernière commande",redo:"Refaire la dernière commande",tab:"Tabulation",untab:"Tabulation arrière",bold:"Mettre en caractère gras",italic:"Mettre en italique",underline:"Mettre en souligné",strikethrough:"Mettre en texte barré",removeFormat:"Nettoyer les styles",justifyLeft:"Aligner à gauche",justifyCenter:"Centrer",justifyRight:"Aligner à droite",justifyFull:"Justifier à gauche et à droite",insertUnorderedList:"Basculer liste à puces",insertOrderedList:"Basculer liste ordonnée",outdent:"Diminuer le retrait du paragraphe",indent:"Augmenter le retrait du paragraphe",formatPara:"Changer le paragraphe en cours en normal (P)",formatH1:"Changer le paragraphe en cours en entête H1",formatH2:"Changer le paragraphe en cours en entête H2",formatH3:"Changer le paragraphe en cours en entête H3",formatH4:"Changer le paragraphe en cours en entête H4",formatH5:"Changer le paragraphe en cours en entête H5",formatH6:"Changer le paragraphe en cours en entête H6",insertHorizontalRule:"Insérer séparation horizontale","linkDialog.show":"Afficher fenêtre d'hyperlien"},history:{undo:"Annuler la dernière action",redo:"Restaurer la dernière action annulée"},specialChar:{specialChar:"CARACTÈRES SPÉCIAUX",select:"Choisir des caractères spéciaux"}}})}(jQuery);PK�{�\T!�^��lang/summernote-it-IT.min.jsnu�[���/*! Summernote v0.8.10 | (c) 2013- Alan Hong and other contributors | MIT license */ !function(e){e.extend(e.summernote.lang,{"it-IT":{font:{bold:"Testo in grassetto",italic:"Testo in corsivo",underline:"Testo sottolineato",clear:"Elimina la formattazione del testo",height:"Altezza della linea di testo",name:"Famiglia Font",strikethrough:"Testo barrato",subscript:"Subscript",superscript:"Superscript",size:"Dimensione del carattere"},image:{image:"Immagine",insert:"Inserisci Immagine",resizeFull:"Dimensioni originali",resizeHalf:"Ridimensiona al 50%",resizeQuarter:"Ridimensiona al 25%",floatLeft:"Posiziona a sinistra",floatRight:"Posiziona a destra",floatNone:"Nessun posizionamento",shapeRounded:"Shape: Rounded",shapeCircle:"Shape: Circle",shapeThumbnail:"Shape: Thumbnail",shapeNone:"Shape: None",dragImageHere:"Trascina qui un'immagine",dropImage:"Drop image or Text",selectFromFiles:"Scegli dai Documenti",maximumFileSize:"Maximum file size",maximumFileSizeError:"Maximum file size exceeded.",url:"URL dell'immagine",remove:"Rimuovi immagine",original:"Original"},video:{video:"Video",videoLink:"Collegamento ad un Video",insert:"Inserisci Video",url:"URL del Video",providers:"(YouTube, Vimeo, Vine, Instagram, DailyMotion o Youku)"},link:{link:"Collegamento",insert:"Inserisci Collegamento",unlink:"Elimina collegamento",edit:"Modifica collegamento",textToDisplay:"Testo del collegamento",url:"URL del collegamento",openInNewWindow:"Apri in una nuova finestra"},table:{table:"Tabella",addRowAbove:"Add row above",addRowBelow:"Add row below",addColLeft:"Add column left",addColRight:"Add column right",delRow:"Delete row",delCol:"Delete column",delTable:"Delete table"},hr:{insert:"Inserisce una linea di separazione"},style:{style:"Stili",p:"pe",blockquote:"Citazione",pre:"Codice",h1:"Titolo 1",h2:"Titolo 2",h3:"Titolo 3",h4:"Titolo 4",h5:"Titolo 5",h6:"Titolo 6"},lists:{unordered:"Elenco non ordinato",ordered:"Elenco ordinato"},options:{help:"Aiuto",fullscreen:"Modalità a tutto schermo",codeview:"Visualizza codice"},paragraph:{paragraph:"Paragrafo",outdent:"Diminuisce il livello di rientro",indent:"Aumenta il livello di rientro",left:"Allinea a sinistra",center:"Centra",right:"Allinea a destra",justify:"Giustifica (allinea a destra e sinistra)"},color:{recent:"Ultimo colore utilizzato",more:"Altri colori",background:"Colore di sfondo",foreground:"Colore",transparent:"Trasparente",setTransparent:"Trasparente",reset:"Reimposta",resetToDefault:"Reimposta i colori"},shortcut:{shortcuts:"Scorciatoie da tastiera",close:"Chiudi",textFormatting:"Formattazione testo",action:"Azioni",paragraphFormatting:"Formattazione paragrafo",documentStyle:"Stili",extraKeys:"Extra keys"},help:{insertParagraph:"Insert Paragraph",undo:"Undoes the last command",redo:"Redoes the last command",tab:"Tab",untab:"Untab",bold:"Set a bold style",italic:"Set a italic style",underline:"Set a underline style",strikethrough:"Set a strikethrough style",removeFormat:"Clean a style",justifyLeft:"Set left align",justifyCenter:"Set center align",justifyRight:"Set right align",justifyFull:"Set full align",insertUnorderedList:"Toggle unordered list",insertOrderedList:"Toggle ordered list",outdent:"Outdent on current paragraph",indent:"Indent on current paragraph",formatPara:"Change current block's format as a paragraph(P tag)",formatH1:"Change current block's format as H1",formatH2:"Change current block's format as H2",formatH3:"Change current block's format as H3",formatH4:"Change current block's format as H4",formatH5:"Change current block's format as H5",formatH6:"Change current block's format as H6",insertHorizontalRule:"Insert horizontal rule","linkDialog.show":"Show Link Dialog"},history:{undo:"Annulla",redo:"Ripristina"},specialChar:{specialChar:"SPECIAL CHARACTERS",select:"Select Special characters"}}})}(jQuery);PK�{�\��&k k lang/summernote-ja-JP.min.jsnu�[���/*! Summernote v0.8.10 | (c) 2013- Alan Hong and other contributors | MIT license */ !function(e){e.extend(e.summernote.lang,{"ja-JP":{font:{bold:"太字",italic:"斜体",underline:"下線",clear:"クリア",height:"文字高",name:"フォント",strikethrough:"取り消し線",subscript:"Subscript",superscript:"Superscript",size:"大きさ"},image:{image:"画像",insert:"画像挿入",resizeFull:"最大化",resizeHalf:"1/2",resizeQuarter:"1/4",floatLeft:"左寄せ",floatRight:"右寄せ",floatNone:"寄せ解除",shapeRounded:"Shape: Rounded",shapeCircle:"Shape: Circle",shapeThumbnail:"Shape: Thumbnail",shapeNone:"Shape: None",dragImageHere:"ここに画像をドラッグしてください",dropImage:"Drop image or Text",selectFromFiles:"画像ファイルを選ぶ",maximumFileSize:"Maximum file size",maximumFileSizeError:"Maximum file size exceeded.",url:"URLから画像を挿入する",remove:"画像を削除する",original:"Original"},video:{video:"動画",videoLink:"動画リンク",insert:"動画挿入",url:"動画のURL",providers:"(YouTube, Vimeo, Vine, Instagram, DailyMotion, Youku)"},link:{link:"リンク",insert:"リンク挿入",unlink:"リンク解除",edit:"編集",textToDisplay:"リンク文字列",url:"URLを入力してください",openInNewWindow:"新しいウィンドウで開く"},table:{table:"テーブル",addRowAbove:"Add row above",addRowBelow:"Add row below",addColLeft:"Add column left",addColRight:"Add column right",delRow:"Delete row",delCol:"Delete column",delTable:"Delete table"},hr:{insert:"水平線の挿入"},style:{style:"スタイル",p:"標準",blockquote:"引用",pre:"コード",h1:"見出し1",h2:"見出し2",h3:"見出し3",h4:"見出し4",h5:"見出し5",h6:"見出し6"},lists:{unordered:"通常リスト",ordered:"番号リスト"},options:{help:"ヘルプ",fullscreen:"フルスクリーン",codeview:"コード表示"},paragraph:{paragraph:"文章",outdent:"字上げ",indent:"字下げ",left:"左寄せ",center:"中央寄せ",right:"右寄せ",justify:"均等割付"},color:{recent:"現在の色",more:"もっと見る",background:"背景色",foreground:"文字色",transparent:"透明",setTransparent:"透明にする",reset:"標準",resetToDefault:"標準に戻す"},shortcut:{shortcuts:"ショートカット",close:"閉じる",textFormatting:"文字フォーマット",action:"アクション",paragraphFormatting:"文章フォーマット",documentStyle:"ドキュメント形式",extraKeys:"Extra keys"},help:{insertParagraph:"改行挿入",undo:"一旦、行った操作を戻す",redo:"最後のコマンドをやり直す",tab:"Tab",untab:"タブ戻し",bold:"太文字",italic:"斜体",underline:"下線",strikethrough:"取り消し線",removeFormat:"装飾を戻す",justifyLeft:"左寄せ",justifyCenter:"真ん中寄せ",justifyRight:"右寄せ",justifyFull:"すべてを整列",insertUnorderedList:"行頭に●を挿入",insertOrderedList:"行頭に番号を挿入",outdent:"字下げを戻す(アウトデント)",indent:"字下げする(インデント)",formatPara:"段落(P tag)指定",formatH1:"H1指定",formatH2:"H2指定",formatH3:"H3指定",formatH4:"H4指定",formatH5:"H5指定",formatH6:"H6指定",insertHorizontalRule:"<hr />を挿入","linkDialog.show":"リンク挿入"},history:{undo:"元に戻す",redo:"やり直す"},specialChar:{specialChar:"SPECIAL CHARACTERS",select:"Select Special characters"}}})}(jQuery);PK�{�\rI=�lang/summernote-nl-NL.min.jsnu�[���/*! Summernote v0.8.10 | (c) 2013- Alan Hong and other contributors | MIT license */ !function(e){e.extend(e.summernote.lang,{"nl-NL":{font:{bold:"Vet",italic:"Cursief",underline:"Onderstrepen",clear:"Stijl verwijderen",height:"Regelhoogte",name:"Lettertype",strikethrough:"Doorhalen",subscript:"Subscript",superscript:"Superscript",size:"Tekstgrootte"},image:{image:"Afbeelding",insert:"Afbeelding invoegen",resizeFull:"Volledige breedte",resizeHalf:"Halve breedte",resizeQuarter:"Kwart breedte",floatLeft:"Links uitlijnen",floatRight:"Rechts uitlijnen",floatNone:"Geen uitlijning",shapeRounded:"Shape: Rounded",shapeCircle:"Shape: Circle",shapeThumbnail:"Shape: Thumbnail",shapeNone:"Shape: None",dragImageHere:"Sleep hier een afbeelding naar toe",dropImage:"Drop image or Text",selectFromFiles:"Selecteer een bestand",maximumFileSize:"Maximum file size",maximumFileSizeError:"Maximum file size exceeded.",url:"URL van de afbeelding",remove:"Verwijder afbeelding",original:"Original"},video:{video:"Video",videoLink:"Video link",insert:"Video invoegen",url:"URL van de video",providers:"(YouTube, Vimeo, Vine, Instagram, DailyMotion of Youku)"},link:{link:"Link",insert:"Link invoegen",unlink:"Link verwijderen",edit:"Wijzigen",textToDisplay:"Tekst van link",url:"Naar welke URL moet deze link verwijzen?",openInNewWindow:"Open in nieuw venster"},table:{table:"Tabel",addRowAbove:"Add row above",addRowBelow:"Add row below",addColLeft:"Add column left",addColRight:"Add column right",delRow:"Delete row",delCol:"Delete column",delTable:"Delete table"},hr:{insert:"Horizontale lijn invoegen"},style:{style:"Stijl",p:"Normaal",blockquote:"Quote",pre:"Code",h1:"Kop 1",h2:"Kop 2",h3:"Kop 3",h4:"Kop 4",h5:"Kop 5",h6:"Kop 6"},lists:{unordered:"Ongeordende lijst",ordered:"Geordende lijst"},options:{help:"Help",fullscreen:"Volledig scherm",codeview:"Bekijk Code"},paragraph:{paragraph:"Paragraaf",outdent:"Inspringen verkleinen",indent:"Inspringen vergroten",left:"Links uitlijnen",center:"Centreren",right:"Rechts uitlijnen",justify:"Uitvullen"},color:{recent:"Recente kleur",more:"Meer kleuren",background:"Achtergrond kleur",foreground:"Tekst kleur",transparent:"Transparant",setTransparent:"Transparant",reset:"Standaard",resetToDefault:"Standaard kleur"},shortcut:{shortcuts:"Toetsencombinaties",close:"sluiten",textFormatting:"Tekststijlen",action:"Acties",paragraphFormatting:"Paragraafstijlen",documentStyle:"Documentstijlen",extraKeys:"Extra keys"},help:{insertParagraph:"Insert Paragraph",undo:"Undoes the last command",redo:"Redoes the last command",tab:"Tab",untab:"Untab",bold:"Set a bold style",italic:"Set a italic style",underline:"Set a underline style",strikethrough:"Set a strikethrough style",removeFormat:"Clean a style",justifyLeft:"Set left align",justifyCenter:"Set center align",justifyRight:"Set right align",justifyFull:"Set full align",insertUnorderedList:"Toggle unordered list",insertOrderedList:"Toggle ordered list",outdent:"Outdent on current paragraph",indent:"Indent on current paragraph",formatPara:"Change current block's format as a paragraph(P tag)",formatH1:"Change current block's format as H1",formatH2:"Change current block's format as H2",formatH3:"Change current block's format as H3",formatH4:"Change current block's format as H4",formatH5:"Change current block's format as H5",formatH6:"Change current block's format as H6",insertHorizontalRule:"Insert horizontal rule","linkDialog.show":"Show Link Dialog"},history:{undo:"Ongedaan maken",redo:"Opnieuw doorvoeren"},specialChar:{specialChar:"SPECIAL CHARACTERS",select:"Select Special characters"}}})}(jQuery);PK�{�\q��2��lang/summernote-sr-RS.min.jsnu�[���/*! Summernote v0.8.10 | (c) 2013- Alan Hong and other contributors | MIT license */ !function(e){e.extend(e.summernote.lang,{"sr-RS":{font:{bold:"Подебљано",italic:"Курзив",underline:"Подвучено",clear:"Уклони стилове фонта",height:"Висина линије",name:"Font Family",strikethrough:"Прецртано",subscript:"Subscript",superscript:"Superscript",size:"Величина фонта"},image:{image:"Слика",insert:"Уметни слику",resizeFull:"Пуна величина",resizeHalf:"Умањи на 50%",resizeQuarter:"Умањи на 25%",floatLeft:"Уз леву ивицу",floatRight:"Уз десну ивицу",floatNone:"Без равнања",shapeRounded:"Shape: Rounded",shapeCircle:"Shape: Circle",shapeThumbnail:"Shape: Thumbnail",shapeNone:"Shape: None",dragImageHere:"Превуци слику овде",dropImage:"Drop image or Text",selectFromFiles:"Изабери из датотеке",maximumFileSize:"Maximum file size",maximumFileSizeError:"Maximum file size exceeded.",url:"Адреса слике",remove:"Уклони слику",original:"Original"},video:{video:"Видео",videoLink:"Веза ка видеу",insert:"Уметни видео",url:"URL видео",providers:"(YouTube, Vimeo, Vine, Instagram, DailyMotion или Youku)"},link:{link:"Веза",insert:"Уметни везу",unlink:"Уклони везу",edit:"Уреди",textToDisplay:"Текст за приказ",url:"Интернет адреса",openInNewWindow:"Отвори у новом прозору"},table:{table:"Табела",addRowAbove:"Add row above",addRowBelow:"Add row below",addColLeft:"Add column left",addColRight:"Add column right",delRow:"Delete row",delCol:"Delete column",delTable:"Delete table"},hr:{insert:"Уметни хоризонталну линију"},style:{style:"Стил",p:"Нормални",blockquote:"Цитат",pre:"Код",h1:"Заглавље 1",h2:"Заглавље 2",h3:"Заглавље 3",h4:"Заглавље 4",h5:"Заглавље 5",h6:"Заглавље 6"},lists:{unordered:"Обична листа",ordered:"Нумерисана листа"},options:{help:"Помоћ",fullscreen:"Преко целог екрана",codeview:"Изворни код"},paragraph:{paragraph:"Параграф",outdent:"Смањи увлачење",indent:"Повечај увлачење",left:"Поравнај у лево",center:"Центрирано",right:"Поравнај у десно",justify:"Поравнај обострано"},color:{recent:"Последња боја",more:"Више боја",background:"Боја позадине",foreground:"Боја текста",transparent:"Провидна",setTransparent:"Провидна",reset:"Опозив",resetToDefault:"Подразумевана"},shortcut:{shortcuts:"Пречице са тастатуре",close:"Затвори",textFormatting:"Форматирање текста",action:"Акција",paragraphFormatting:"Форматирање параграфа",documentStyle:"Стил документа",extraKeys:"Додатне комбинације"},help:{insertParagraph:"Insert Paragraph",undo:"Undoes the last command",redo:"Redoes the last command",tab:"Tab",untab:"Untab",bold:"Set a bold style",italic:"Set a italic style",underline:"Set a underline style",strikethrough:"Set a strikethrough style",removeFormat:"Clean a style",justifyLeft:"Set left align",justifyCenter:"Set center align",justifyRight:"Set right align",justifyFull:"Set full align",insertUnorderedList:"Toggle unordered list",insertOrderedList:"Toggle ordered list",outdent:"Outdent on current paragraph",indent:"Indent on current paragraph",formatPara:"Change current block's format as a paragraph(P tag)",formatH1:"Change current block's format as H1",formatH2:"Change current block's format as H2",formatH3:"Change current block's format as H3",formatH4:"Change current block's format as H4",formatH5:"Change current block's format as H5",formatH6:"Change current block's format as H6",insertHorizontalRule:"Insert horizontal rule","linkDialog.show":"Show Link Dialog"},history:{undo:"Поништи",redo:"Понови"},specialChar:{specialChar:"SPECIAL CHARACTERS",select:"Select Special characters"}}})}(jQuery);PK�{�\Dǚ�IIlang/summernote-es-EU.min.jsnu�[���/*! Summernote v0.8.10 | (c) 2013- Alan Hong and other contributors | MIT license */ !function(e){e.extend(e.summernote.lang,{"es-EU":{font:{bold:"Lodia",italic:"Etzana",underline:"Azpimarratua",clear:"Estiloa kendu",height:"Lerro altuera",name:"Tipografia",strikethrough:"Marratua",subscript:"Subscript",superscript:"Superscript",size:"Letren neurria"},image:{image:"Irudia",insert:"Irudi bat txertatu",resizeFull:"Jatorrizko neurrira aldatu",resizeHalf:"Neurria erdira aldatu",resizeQuarter:"Neurria laurdenera aldatu",floatLeft:"Ezkerrean kokatu",floatRight:"Eskuinean kokatu",floatNone:"Kokapenik ez ezarri",shapeRounded:"Shape: Rounded",shapeCircle:"Shape: Circle",shapeThumbnail:"Shape: Thumbnail",shapeNone:"Shape: None",dragImageHere:"Irudi bat ezarri hemen",dropImage:"Drop image or Text",selectFromFiles:"Zure fitxategi bat aukeratu",maximumFileSize:"Maximum file size",maximumFileSizeError:"Maximum file size exceeded.",url:"Irudiaren URL helbidea",remove:"Remove Image",original:"Original"},video:{video:"Bideoa",videoLink:"Bideorako esteka",insert:"Bideo berri bat txertatu",url:"Bideoaren URL helbidea",providers:"(YouTube, Vimeo, Vine, Instagram edo DailyMotion)"},link:{link:"Esteka",insert:"Esteka bat txertatu",unlink:"Esteka ezabatu",edit:"Editatu",textToDisplay:"Estekaren testua",url:"Estekaren URL helbidea",openInNewWindow:"Leiho berri batean ireki"},table:{table:"Taula",addRowAbove:"Add row above",addRowBelow:"Add row below",addColLeft:"Add column left",addColRight:"Add column right",delRow:"Delete row",delCol:"Delete column",delTable:"Delete table"},hr:{insert:"Marra horizontala txertatu"},style:{style:"Estiloa",p:"p",blockquote:"Aipamena",pre:"Kodea",h1:"1. izenburua",h2:"2. izenburua",h3:"3. izenburua",h4:"4. izenburua",h5:"5. izenburua",h6:"6. izenburua"},lists:{unordered:"Ordenatu gabeko zerrenda",ordered:"Zerrenda ordenatua"},options:{help:"Laguntza",fullscreen:"Pantaila osoa",codeview:"Kodea ikusi"},paragraph:{paragraph:"Paragrafoa",outdent:"Koska txikiagoa",indent:"Koska handiagoa",left:"Ezkerrean kokatu",center:"Erdian kokatu",right:"Eskuinean kokatu",justify:"Justifikatu"},color:{recent:"Azken kolorea",more:"Kolore gehiago",background:"Atzeko planoa",foreground:"Aurreko planoa",transparent:"Gardena",setTransparent:"Gardendu",reset:"Lehengoratu",resetToDefault:"Berrezarri lehenetsia"},shortcut:{shortcuts:"Lasterbideak",close:"Itxi",textFormatting:"Testuaren formatua",action:"Ekintza",paragraphFormatting:"Paragrafoaren formatua",documentStyle:"Dokumentuaren estiloa"},help:{insertParagraph:"Insert Paragraph",undo:"Undoes the last command",redo:"Redoes the last command",tab:"Tab",untab:"Untab",bold:"Set a bold style",italic:"Set a italic style",underline:"Set a underline style",strikethrough:"Set a strikethrough style",removeFormat:"Clean a style",justifyLeft:"Set left align",justifyCenter:"Set center align",justifyRight:"Set right align",justifyFull:"Set full align",insertUnorderedList:"Toggle unordered list",insertOrderedList:"Toggle ordered list",outdent:"Outdent on current paragraph",indent:"Indent on current paragraph",formatPara:"Change current block's format as a paragraph(P tag)",formatH1:"Change current block's format as H1",formatH2:"Change current block's format as H2",formatH3:"Change current block's format as H3",formatH4:"Change current block's format as H4",formatH5:"Change current block's format as H5",formatH6:"Change current block's format as H6",insertHorizontalRule:"Insert horizontal rule","linkDialog.show":"Show Link Dialog"},history:{undo:"Desegin",redo:"Berregin"},specialChar:{specialChar:"SPECIAL CHARACTERS",select:"Select Special characters"}}})}(jQuery);PK�{�\���e44lang/summernote-nl-NL.jsnu�[���(function($) { $.extend($.summernote.lang, { 'nl-NL': { font: { bold: 'Vet', italic: 'Cursief', underline: 'Onderstrepen', clear: 'Stijl verwijderen', height: 'Regelhoogte', name: 'Lettertype', strikethrough: 'Doorhalen', subscript: 'Subscript', superscript: 'Superscript', size: 'Tekstgrootte' }, image: { image: 'Afbeelding', insert: 'Afbeelding invoegen', resizeFull: 'Volledige breedte', resizeHalf: 'Halve breedte', resizeQuarter: 'Kwart breedte', floatLeft: 'Links uitlijnen', floatRight: 'Rechts uitlijnen', floatNone: 'Geen uitlijning', shapeRounded: 'Shape: Rounded', shapeCircle: 'Shape: Circle', shapeThumbnail: 'Shape: Thumbnail', shapeNone: 'Shape: None', dragImageHere: 'Sleep hier een afbeelding naar toe', dropImage: 'Drop image or Text', selectFromFiles: 'Selecteer een bestand', maximumFileSize: 'Maximum file size', maximumFileSizeError: 'Maximum file size exceeded.', url: 'URL van de afbeelding', remove: 'Verwijder afbeelding', original: 'Original' }, video: { video: 'Video', videoLink: 'Video link', insert: 'Video invoegen', url: 'URL van de video', providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion of Youku)' }, link: { link: 'Link', insert: 'Link invoegen', unlink: 'Link verwijderen', edit: 'Wijzigen', textToDisplay: 'Tekst van link', url: 'Naar welke URL moet deze link verwijzen?', openInNewWindow: 'Open in nieuw venster' }, table: { table: 'Tabel', addRowAbove: 'Add row above', addRowBelow: 'Add row below', addColLeft: 'Add column left', addColRight: 'Add column right', delRow: 'Delete row', delCol: 'Delete column', delTable: 'Delete table' }, hr: { insert: 'Horizontale lijn invoegen' }, style: { style: 'Stijl', p: 'Normaal', blockquote: 'Quote', pre: 'Code', h1: 'Kop 1', h2: 'Kop 2', h3: 'Kop 3', h4: 'Kop 4', h5: 'Kop 5', h6: 'Kop 6' }, lists: { unordered: 'Ongeordende lijst', ordered: 'Geordende lijst' }, options: { help: 'Help', fullscreen: 'Volledig scherm', codeview: 'Bekijk Code' }, paragraph: { paragraph: 'Paragraaf', outdent: 'Inspringen verkleinen', indent: 'Inspringen vergroten', left: 'Links uitlijnen', center: 'Centreren', right: 'Rechts uitlijnen', justify: 'Uitvullen' }, color: { recent: 'Recente kleur', more: 'Meer kleuren', background: 'Achtergrond kleur', foreground: 'Tekst kleur', transparent: 'Transparant', setTransparent: 'Transparant', reset: 'Standaard', resetToDefault: 'Standaard kleur' }, shortcut: { shortcuts: 'Toetsencombinaties', close: 'sluiten', textFormatting: 'Tekststijlen', action: 'Acties', paragraphFormatting: 'Paragraafstijlen', documentStyle: 'Documentstijlen', extraKeys: 'Extra keys' }, help: { 'insertParagraph': 'Insert Paragraph', 'undo': 'Undoes the last command', 'redo': 'Redoes the last command', 'tab': 'Tab', 'untab': 'Untab', 'bold': 'Set a bold style', 'italic': 'Set a italic style', 'underline': 'Set a underline style', 'strikethrough': 'Set a strikethrough style', 'removeFormat': 'Clean a style', 'justifyLeft': 'Set left align', 'justifyCenter': 'Set center align', 'justifyRight': 'Set right align', 'justifyFull': 'Set full align', 'insertUnorderedList': 'Toggle unordered list', 'insertOrderedList': 'Toggle ordered list', 'outdent': 'Outdent on current paragraph', 'indent': 'Indent on current paragraph', 'formatPara': 'Change current block\'s format as a paragraph(P tag)', 'formatH1': 'Change current block\'s format as H1', 'formatH2': 'Change current block\'s format as H2', 'formatH3': 'Change current block\'s format as H3', 'formatH4': 'Change current block\'s format as H4', 'formatH5': 'Change current block\'s format as H5', 'formatH6': 'Change current block\'s format as H6', 'insertHorizontalRule': 'Insert horizontal rule', 'linkDialog.show': 'Show Link Dialog' }, history: { undo: 'Ongedaan maken', redo: 'Opnieuw doorvoeren' }, specialChar: { specialChar: 'SPECIAL CHARACTERS', select: 'Select Special characters' } } }); })(jQuery); PK�{�\W9�Z//lang/summernote-fa-IR.min.jsnu�[���/*! Summernote v0.8.10 | (c) 2013- Alan Hong and other contributors | MIT license */ !function(e){e.extend(e.summernote.lang,{"fa-IR":{font:{bold:"درشت",italic:"خمیده",underline:"میان خط",clear:"پاک کردن فرمت فونت",height:"فاصله ی خطی",name:"اسم فونت",strikethrough:"Strike",subscript:"Subscript",superscript:"Superscript",size:"اندازه ی فونت"},image:{image:"تصویر",insert:"وارد کردن تصویر",resizeFull:"تغییر به اندازه ی کامل",resizeHalf:"تغییر به اندازه نصف",resizeQuarter:"تغییر به اندازه یک چهارم",floatLeft:"چسباندن به چپ",floatRight:"چسباندن به راست",floatNone:"بدون چسبندگی",shapeRounded:"Shape: Rounded",shapeCircle:"Shape: Circle",shapeThumbnail:"Shape: Thumbnail",shapeNone:"Shape: None",dragImageHere:"یک تصویر را اینجا بکشید",dropImage:"Drop image or Text",selectFromFiles:"فایل ها را انتخاب کنید",maximumFileSize:"Maximum file size",maximumFileSizeError:"Maximum file size exceeded.",url:"آدرس تصویر",remove:"حذف تصویر",original:"Original"},video:{video:"ویدیو",videoLink:"لینک ویدیو",insert:"افزودن ویدیو",url:"آدرس ویدیو ؟",providers:"(YouTube, Vimeo, Vine, Instagram, DailyMotion یا Youku)"},link:{link:"لینک",insert:"اضافه کردن لینک",unlink:"حذف لینک",edit:"ویرایش",textToDisplay:"متن جهت نمایش",url:"این لینک به چه آدرسی باید برود ؟",openInNewWindow:"در یک پنجره ی جدید باز شود"},table:{table:"جدول",addRowAbove:"Add row above",addRowBelow:"Add row below",addColLeft:"Add column left",addColRight:"Add column right",delRow:"Delete row",delCol:"Delete column",delTable:"Delete table"},hr:{insert:"افزودن خط افقی"},style:{style:"استیل",p:"نرمال",blockquote:"نقل قول",pre:"کد",h1:"سرتیتر 1",h2:"سرتیتر 2",h3:"سرتیتر 3",h4:"سرتیتر 4",h5:"سرتیتر 5",h6:"سرتیتر 6"},lists:{unordered:"لیست غیر ترتیبی",ordered:"لیست ترتیبی"},options:{help:"راهنما",fullscreen:"نمایش تمام صفحه",codeview:"مشاهده ی کد"},paragraph:{paragraph:"پاراگراف",outdent:"کاهش تو رفتگی",indent:"افزایش تو رفتگی",left:"چپ چین",center:"میان چین",right:"راست چین",justify:"بلوک چین"},color:{recent:"رنگ اخیرا استفاده شده",more:"رنگ بیشتر",background:"رنگ پس زمینه",foreground:"رنگ متن",transparent:"بی رنگ",setTransparent:"تنظیم حالت بی رنگ",reset:"بازنشاندن",resetToDefault:"حالت پیش فرض"},shortcut:{shortcuts:"دکمه های میان بر",close:"بستن",textFormatting:"فرمت متن",action:"عملیات",paragraphFormatting:"فرمت پاراگراف",documentStyle:"استیل سند",extraKeys:"Extra keys"},help:{insertParagraph:"Insert Paragraph",undo:"Undoes the last command",redo:"Redoes the last command",tab:"Tab",untab:"Untab",bold:"Set a bold style",italic:"Set a italic style",underline:"Set a underline style",strikethrough:"Set a strikethrough style",removeFormat:"Clean a style",justifyLeft:"Set left align",justifyCenter:"Set center align",justifyRight:"Set right align",justifyFull:"Set full align",insertUnorderedList:"Toggle unordered list",insertOrderedList:"Toggle ordered list",outdent:"Outdent on current paragraph",indent:"Indent on current paragraph",formatPara:"Change current block's format as a paragraph(P tag)",formatH1:"Change current block's format as H1",formatH2:"Change current block's format as H2",formatH3:"Change current block's format as H3",formatH4:"Change current block's format as H4",formatH5:"Change current block's format as H5",formatH6:"Change current block's format as H6",insertHorizontalRule:"Insert horizontal rule","linkDialog.show":"Show Link Dialog"},history:{undo:"واچیدن",redo:"بازچیدن"},specialChar:{specialChar:"SPECIAL CHARACTERS",select:"Select Special characters"}}})}(jQuery);PK�{�\r A�� � lang/summernote-nb-NO.min.jsnu�[���/*! Summernote v0.8.10 | (c) 2013- Alan Hong and other contributors | MIT license */ !function(e){e.extend(e.summernote.lang,{"nb-NO":{font:{bold:"Fet",italic:"Kursiv",underline:"Understrek",clear:"Fjern formatering",height:"Linjehøyde",name:"Skrifttype",strikethrough:"Gjennomstrek",subscript:"Subscript",superscript:"Superscript",size:"Skriftstørrelse"},image:{image:"Bilde",insert:"Sett inn bilde",resizeFull:"Sett full størrelse",resizeHalf:"Sett halv størrelse",resizeQuarter:"Sett kvart størrelse",floatLeft:"Flyt til venstre",floatRight:"Flyt til høyre",floatNone:"Fjern flyt",shapeRounded:"Shape: Rounded",shapeCircle:"Shape: Circle",shapeThumbnail:"Shape: Thumbnail",shapeNone:"Shape: None",dragImageHere:"Dra et bilde hit",dropImage:"Drop image or Text",selectFromFiles:"Velg fra filer",maximumFileSize:"Maximum file size",maximumFileSizeError:"Maximum file size exceeded.",url:"Bilde-URL",remove:"Fjern bilde",original:"Original"},video:{video:"Video",videoLink:"Videolenke",insert:"Sett inn video",url:"Video-URL",providers:"(YouTube, Vimeo, Vine, Instagram, DailyMotion eller Youku)"},link:{link:"Lenke",insert:"Sett inn lenke",unlink:"Fjern lenke",edit:"Rediger",textToDisplay:"Visningstekst",url:"Til hvilken URL skal denne lenken peke?",openInNewWindow:"Åpne i nytt vindu"},table:{table:"Tabell",addRowAbove:"Add row above",addRowBelow:"Add row below",addColLeft:"Add column left",addColRight:"Add column right",delRow:"Delete row",delCol:"Delete column",delTable:"Delete table"},hr:{insert:"Sett inn horisontal linje"},style:{style:"Stil",p:"p",blockquote:"Sitat",pre:"Kode",h1:"Overskrift 1",h2:"Overskrift 2",h3:"Overskrift 3",h4:"Overskrift 4",h5:"Overskrift 5",h6:"Overskrift 6"},lists:{unordered:"Punktliste",ordered:"Nummerert liste"},options:{help:"Hjelp",fullscreen:"Fullskjerm",codeview:"HTML-visning"},paragraph:{paragraph:"Avsnitt",outdent:"Tilbakerykk",indent:"Innrykk",left:"Venstrejustert",center:"Midtstilt",right:"Høyrejustert",justify:"Blokkjustert"},color:{recent:"Nylig valgt farge",more:"Flere farger",background:"Bakgrunnsfarge",foreground:"Skriftfarge",transparent:"Gjennomsiktig",setTransparent:"Sett gjennomsiktig",reset:"Nullstill",resetToDefault:"Nullstill til standard"},shortcut:{shortcuts:"Hurtigtaster",close:"Lukk",textFormatting:"Tekstformatering",action:"Handling",paragraphFormatting:"Avsnittsformatering",documentStyle:"Dokumentstil"},help:{insertParagraph:"Insert Paragraph",undo:"Undoes the last command",redo:"Redoes the last command",tab:"Tab",untab:"Untab",bold:"Set a bold style",italic:"Set a italic style",underline:"Set a underline style",strikethrough:"Set a strikethrough style",removeFormat:"Clean a style",justifyLeft:"Set left align",justifyCenter:"Set center align",justifyRight:"Set right align",justifyFull:"Set full align",insertUnorderedList:"Toggle unordered list",insertOrderedList:"Toggle ordered list",outdent:"Outdent on current paragraph",indent:"Indent on current paragraph",formatPara:"Change current block's format as a paragraph(P tag)",formatH1:"Change current block's format as H1",formatH2:"Change current block's format as H2",formatH3:"Change current block's format as H3",formatH4:"Change current block's format as H4",formatH5:"Change current block's format as H5",formatH6:"Change current block's format as H6",insertHorizontalRule:"Insert horizontal rule","linkDialog.show":"Show Link Dialog"},history:{undo:"Angre",redo:"Gjør om"},specialChar:{specialChar:"SPECIAL CHARACTERS",select:"Select Special characters"}}})}(jQuery);PK�{�\�~J<� � lang/summernote-fi-FI.min.jsnu�[���/*! Summernote v0.8.10 | (c) 2013- Alan Hong and other contributors | MIT license */ !function(e){e.extend(e.summernote.lang,{"fi-FI":{font:{bold:"Lihavoitu",italic:"Kursiivi",underline:"Alleviivaa",clear:"Tyhjennä muotoilu",height:"Riviväli",name:"Kirjasintyyppi",strikethrough:"Yliviivaus",subscript:"Subscript",superscript:"Superscript",size:"Kirjasinkoko"},image:{image:"Kuva",insert:"Lisää kuva",resizeFull:"Koko leveys",resizeHalf:"Puolikas leveys",resizeQuarter:"Neljäsosa leveys",floatLeft:"Sijoita vasemmalle",floatRight:"Sijoita oikealle",floatNone:"Ei sijoitusta",shapeRounded:"Shape: Rounded",shapeCircle:"Shape: Circle",shapeThumbnail:"Shape: Thumbnail",shapeNone:"Shape: None",dragImageHere:"Vedä kuva tähän",selectFromFiles:"Valitse tiedostoista",maximumFileSize:"Maximum file size",maximumFileSizeError:"Maximum file size exceeded.",url:"URL-osoitteen mukaan",remove:"Poista kuva",original:"Original"},video:{video:"Video",videoLink:"Linkki videoon",insert:"Lisää video",url:"Videon URL-osoite?",providers:"(YouTube, Vimeo, Vine, Instagram, DailyMotion tai Youku)"},link:{link:"Linkki",insert:"Lisää linkki",unlink:"Poista linkki",edit:"Muokkaa",textToDisplay:"Näytettävä teksti",url:"Linkin URL-osoite?",openInNewWindow:"Avaa uudessa ikkunassa"},table:{table:"Taulukko",addRowAbove:"Add row above",addRowBelow:"Add row below",addColLeft:"Add column left",addColRight:"Add column right",delRow:"Delete row",delCol:"Delete column",delTable:"Delete table"},hr:{insert:"Lisää vaakaviiva"},style:{style:"Tyyli",p:"Normaali",blockquote:"Lainaus",pre:"Koodi",h1:"Otsikko 1",h2:"Otsikko 2",h3:"Otsikko 3",h4:"Otsikko 4",h5:"Otsikko 5",h6:"Otsikko 6"},lists:{unordered:"Luettelomerkitty luettelo",ordered:"Numeroitu luettelo"},options:{help:"Ohje",fullscreen:"Koko näyttö",codeview:"HTML-näkymä"},paragraph:{paragraph:"Kappale",outdent:"Pienennä sisennystä",indent:"Suurenna sisennystä",left:"Tasaus vasemmalle",center:"Keskitä",right:"Tasaus oikealle",justify:"Tasaa"},color:{recent:"Viimeisin väri",more:"Lisää värejä",background:"Taustaväri",foreground:"Tekstin väri",transparent:"Läpinäkyvä",setTransparent:"Aseta läpinäkyväksi",reset:"Palauta",resetToDefault:"Palauta oletusarvoksi"},shortcut:{shortcuts:"Pikanäppäimet",close:"Sulje",textFormatting:"Tekstin muotoilu",action:"Toiminto",paragraphFormatting:"Kappaleen muotoilu",documentStyle:"Asiakirjan tyyli"},help:{insertParagraph:"Insert Paragraph",undo:"Undoes the last command",redo:"Redoes the last command",tab:"Tab",untab:"Untab",bold:"Set a bold style",italic:"Set a italic style",underline:"Set a underline style",strikethrough:"Set a strikethrough style",removeFormat:"Clean a style",justifyLeft:"Set left align",justifyCenter:"Set center align",justifyRight:"Set right align",justifyFull:"Set full align",insertUnorderedList:"Toggle unordered list",insertOrderedList:"Toggle ordered list",outdent:"Outdent on current paragraph",indent:"Indent on current paragraph",formatPara:"Change current block's format as a paragraph(P tag)",formatH1:"Change current block's format as H1",formatH2:"Change current block's format as H2",formatH3:"Change current block's format as H3",formatH4:"Change current block's format as H4",formatH5:"Change current block's format as H5",formatH6:"Change current block's format as H6",insertHorizontalRule:"Insert horizontal rule","linkDialog.show":"Show Link Dialog"},history:{undo:"Kumoa",redo:"Toista"},specialChar:{specialChar:"SPECIAL CHARACTERS",select:"Select Special characters"}}})}(jQuery);PK�{�\I��| | lang/summernote-id-ID.min.jsnu�[���/*! Summernote v0.8.10 | (c) 2013- Alan Hong and other contributors | MIT license */ !function(a){a.extend(a.summernote.lang,{"id-ID":{font:{bold:"Tebal",italic:"Miring",underline:"Garis bawah",clear:"Bersihkan gaya",height:"Jarak baris",name:"Font Family",strikethrough:"Coret",subscript:"Subscript",superscript:"Superscript",size:"Ukuran font"},image:{image:"Gambar",insert:"Sisipkan gambar",resizeFull:"Ukuran penuh",resizeHalf:"Ukuran 50%",resizeQuarter:"Ukuran 25%",floatLeft:"Rata kiri",floatRight:"Rata kanan",floatNone:"Tidak ada perataan",shapeRounded:"Shape: Rounded",shapeCircle:"Shape: Circle",shapeThumbnail:"Shape: Thumbnail",shapeNone:"Shape: None",dragImageHere:"Tarik gambar pada area ini",dropImage:"Drop image or Text",selectFromFiles:"Pilih gambar dari berkas",maximumFileSize:"Maximum file size",maximumFileSizeError:"Maximum file size exceeded.",url:"URL gambar",remove:"Hapus Gambar",original:"Original"},video:{video:"Video",videoLink:"Link video",insert:"Sisipkan video",url:"Tautan video",providers:"(YouTube, Vimeo, Vine, Instagram, DailyMotion atau Youku)"},link:{link:"Tautan",insert:"Tambah tautan",unlink:"Hapus tautan",edit:"Edit",textToDisplay:"Tampilan teks",url:"Tautan tujuan",openInNewWindow:"Buka di jendela baru"},table:{table:"Tabel",addRowAbove:"Add row above",addRowBelow:"Add row below",addColLeft:"Add column left",addColRight:"Add column right",delRow:"Delete row",delCol:"Delete column",delTable:"Delete table"},hr:{insert:"Masukkan garis horizontal"},style:{style:"Gaya",p:"p",blockquote:"Kutipan",pre:"Kode",h1:"Heading 1",h2:"Heading 2",h3:"Heading 3",h4:"Heading 4",h5:"Heading 5",h6:"Heading 6"},lists:{unordered:"Pencacahan",ordered:"Penomoran"},options:{help:"Bantuan",fullscreen:"Layar penuh",codeview:"Kode HTML"},paragraph:{paragraph:"Paragraf",outdent:"Outdent",indent:"Indent",left:"Rata kiri",center:"Rata tengah",right:"Rata kanan",justify:"Rata kanan kiri"},color:{recent:"Warna sekarang",more:"Selengkapnya",background:"Warna latar",foreground:"Warna font",transparent:"Transparan",setTransparent:"Atur transparansi",reset:"Atur ulang",resetToDefault:"Kembalikan kesemula"},shortcut:{shortcuts:"Jalan pintas",close:"Keluar",textFormatting:"Format teks",action:"Aksi",paragraphFormatting:"Format paragraf",documentStyle:"Gaya dokumen",extraKeys:"Extra keys"},help:{insertParagraph:"Insert Paragraph",undo:"Undoes the last command",redo:"Redoes the last command",tab:"Tab",untab:"Untab",bold:"Set a bold style",italic:"Set a italic style",underline:"Set a underline style",strikethrough:"Set a strikethrough style",removeFormat:"Clean a style",justifyLeft:"Set left align",justifyCenter:"Set center align",justifyRight:"Set right align",justifyFull:"Set full align",insertUnorderedList:"Toggle unordered list",insertOrderedList:"Toggle ordered list",outdent:"Outdent on current paragraph",indent:"Indent on current paragraph",formatPara:"Change current block's format as a paragraph(P tag)",formatH1:"Change current block's format as H1",formatH2:"Change current block's format as H2",formatH3:"Change current block's format as H3",formatH4:"Change current block's format as H4",formatH5:"Change current block's format as H5",formatH6:"Change current block's format as H6",insertHorizontalRule:"Insert horizontal rule","linkDialog.show":"Show Link Dialog"},history:{undo:"Kembali",redo:"Ulang"},specialChar:{specialChar:"SPECIAL CHARACTERS",select:"Select Special characters"}}})}(jQuery);PK�{�\�N� � lang/summernote-hr-HR.min.jsnu�[���/*! Summernote v0.8.10 | (c) 2013- Alan Hong and other contributors | MIT license */ !function(e){e.extend(e.summernote.lang,{"hr-HR":{font:{bold:"Podebljano",italic:"Kurziv",underline:"Podvučeno",clear:"Ukloni stilove fonta",height:"Visina linije",name:"Font Family",strikethrough:"Precrtano",subscript:"Subscript",superscript:"Superscript",size:"Veličina fonta"},image:{image:"Slika",insert:"Ubaci sliku",resizeFull:"Puna veličina",resizeHalf:"Umanji na 50%",resizeQuarter:"Umanji na 25%",floatLeft:"Poravnaj lijevo",floatRight:"Poravnaj desno",floatNone:"Bez poravnanja",shapeRounded:"Shape: Rounded",shapeCircle:"Shape: Circle",shapeThumbnail:"Shape: Thumbnail",shapeNone:"Shape: None",dragImageHere:"Povuci sliku ovdje",dropImage:"Drop image or Text",selectFromFiles:"Izaberi iz datoteke",maximumFileSize:"Maximum file size",maximumFileSizeError:"Maximum file size exceeded.",url:"Adresa slike",remove:"Ukloni sliku",original:"Original"},video:{video:"Video",videoLink:"Veza na video",insert:"Ubaci video",url:"URL video",providers:"(YouTube, Vimeo, Vine, Instagram, DailyMotion ili Youku)"},link:{link:"Veza",insert:"Ubaci vezu",unlink:"Ukloni vezu",edit:"Uredi",textToDisplay:"Tekst za prikaz",url:"Internet adresa",openInNewWindow:"Otvori u novom prozoru"},table:{table:"Tablica",addRowAbove:"Add row above",addRowBelow:"Add row below",addColLeft:"Add column left",addColRight:"Add column right",delRow:"Delete row",delCol:"Delete column",delTable:"Delete table"},hr:{insert:"Ubaci horizontalnu liniju"},style:{style:"Stil",p:"pni",blockquote:"Citat",pre:"Kôd",h1:"Naslov 1",h2:"Naslov 2",h3:"Naslov 3",h4:"Naslov 4",h5:"Naslov 5",h6:"Naslov 6"},lists:{unordered:"Obična lista",ordered:"Numerirana lista"},options:{help:"Pomoć",fullscreen:"Preko cijelog ekrana",codeview:"Izvorni kôd"},paragraph:{paragraph:"Paragraf",outdent:"Smanji uvlačenje",indent:"Povećaj uvlačenje",left:"Poravnaj lijevo",center:"Centrirano",right:"Poravnaj desno",justify:"Poravnaj obostrano"},color:{recent:"Posljednja boja",more:"Više boja",background:"Boja pozadine",foreground:"Boja teksta",transparent:"Prozirna",setTransparent:"Prozirna",reset:"Poništi",resetToDefault:"Podrazumijevana"},shortcut:{shortcuts:"Prečice s tipkovnice",close:"Zatvori",textFormatting:"Formatiranje teksta",action:"Akcija",paragraphFormatting:"Formatiranje paragrafa",documentStyle:"Stil dokumenta",extraKeys:"Dodatne kombinacije"},help:{insertParagraph:"Insert Paragraph",undo:"Undoes the last command",redo:"Redoes the last command",tab:"Tab",untab:"Untab",bold:"Set a bold style",italic:"Set a italic style",underline:"Set a underline style",strikethrough:"Set a strikethrough style",removeFormat:"Clean a style",justifyLeft:"Set left align",justifyCenter:"Set center align",justifyRight:"Set right align",justifyFull:"Set full align",insertUnorderedList:"Toggle unordered list",insertOrderedList:"Toggle ordered list",outdent:"Outdent on current paragraph",indent:"Indent on current paragraph",formatPara:"Change current block's format as a paragraph(P tag)",formatH1:"Change current block's format as H1",formatH2:"Change current block's format as H2",formatH3:"Change current block's format as H3",formatH4:"Change current block's format as H4",formatH5:"Change current block's format as H5",formatH6:"Change current block's format as H6",insertHorizontalRule:"Insert horizontal rule","linkDialog.show":"Show Link Dialog"},history:{undo:"Poništi",redo:"Ponovi"},specialChar:{specialChar:"SPECIAL CHARACTERS",select:"Select Special characters"}}})}(jQuery);PK�{�\J�а � lang/summernote-vi-VN.min.jsnu�[���/*! Summernote v0.8.10 | (c) 2013- Alan Hong and other contributors | MIT license */ !function(e){e.extend(e.summernote.lang,{"vi-VN":{font:{bold:"In Đậm",italic:"In Nghiêng",underline:"Gạch dưới",clear:"Bỏ định dạng",height:"Chiều cao dòng",name:"Phông chữ",strikethrough:"Gạch ngang",subscript:"Subscript",superscript:"Superscript",size:"Cỡ chữ"},image:{image:"Hình ảnh",insert:"Chèn",resizeFull:"100%",resizeHalf:"50%",resizeQuarter:"25%",floatLeft:"Trôi về trái",floatRight:"Trôi về phải",floatNone:"Không trôi",shapeRounded:"Shape: Rounded",shapeCircle:"Shape: Circle",shapeThumbnail:"Shape: Thumbnail",shapeNone:"Shape: None",dragImageHere:"Thả Ảnh ở vùng này",dropImage:"Drop image or Text",selectFromFiles:"Chọn từ File",maximumFileSize:"Maximum file size",maximumFileSizeError:"Maximum file size exceeded.",url:"URL",remove:"Xóa",original:"Original"},video:{video:"Video",videoLink:"Link đến Video",insert:"Chèn Video",url:"URL",providers:"(YouTube, Vimeo, Vine, Instagram, DailyMotion và Youku)"},link:{link:"Link",insert:"Chèn Link",unlink:"Gỡ Link",edit:"Sửa",textToDisplay:"Văn bản hiển thị",url:"URL",openInNewWindow:"Mở ở Cửa sổ mới"},table:{table:"Bảng",addRowAbove:"Add row above",addRowBelow:"Add row below",addColLeft:"Add column left",addColRight:"Add column right",delRow:"Delete row",delCol:"Delete column",delTable:"Delete table"},hr:{insert:"Chèn"},style:{style:"Kiểu chữ",p:"Chữ thường",blockquote:"Đoạn trích",pre:"Mã Code",h1:"H1",h2:"H2",h3:"H3",h4:"H4",h5:"H5",h6:"H6"},lists:{unordered:"Liệt kê danh sách",ordered:"Liệt kê theo thứ tự"},options:{help:"Trợ giúp",fullscreen:"Toàn Màn hình",codeview:"Xem Code"},paragraph:{paragraph:"Canh lề",outdent:"Dịch sang trái",indent:"Dịch sang phải",left:"Canh trái",center:"Canh giữa",right:"Canh phải",justify:"Canh đều"},color:{recent:"Màu chữ",more:"Mở rộng",background:"Màu nền",foreground:"Màu chữ",transparent:"trong suốt",setTransparent:"Nền trong suốt",reset:"Thiết lập lại",resetToDefault:"Trở lại ban đầu"},shortcut:{shortcuts:"Phím tắt",close:"Đóng",textFormatting:"Định dạng Văn bản",action:"Hành động",paragraphFormatting:"Định dạng",documentStyle:"Kiểu văn bản",extraKeys:"Extra keys"},help:{insertParagraph:"Insert Paragraph",undo:"Undoes the last command",redo:"Redoes the last command",tab:"Tab",untab:"Untab",bold:"Set a bold style",italic:"Set a italic style",underline:"Set a underline style",strikethrough:"Set a strikethrough style",removeFormat:"Clean a style",justifyLeft:"Set left align",justifyCenter:"Set center align",justifyRight:"Set right align",justifyFull:"Set full align",insertUnorderedList:"Toggle unordered list",insertOrderedList:"Toggle ordered list",outdent:"Outdent on current paragraph",indent:"Indent on current paragraph",formatPara:"Change current block's format as a paragraph(P tag)",formatH1:"Change current block's format as H1",formatH2:"Change current block's format as H2",formatH3:"Change current block's format as H3",formatH4:"Change current block's format as H4",formatH5:"Change current block's format as H5",formatH6:"Change current block's format as H6",insertHorizontalRule:"Insert horizontal rule","linkDialog.show":"Show Link Dialog"},history:{undo:"Lùi lại",redo:"Làm lại"},specialChar:{specialChar:"SPECIAL CHARACTERS",select:"Select Special characters"}}})}(jQuery);PK�{�\�La�zzlang/summernote-cs-CZ.jsnu�[���(function($) { $.extend($.summernote.lang, { 'cs-CZ': { font: { bold: 'Tučné', italic: 'Kurzíva', underline: 'Podtržené', clear: 'Odstranit styl písma', height: 'Výška řádku', strikethrough: 'Přeškrtnuté', size: 'Velikost písma' }, image: { image: 'Obrázek', insert: 'Vložit obrázek', resizeFull: 'Původní velikost', resizeHalf: 'Poloviční velikost', resizeQuarter: 'Čtvrteční velikost', floatLeft: 'Umístit doleva', floatRight: 'Umístit doprava', floatNone: 'Neobtékat textem', shapeRounded: 'Shape: Rounded', shapeCircle: 'Shape: Circle', shapeThumbnail: 'Shape: Thumbnail', shapeNone: 'Shape: None', dragImageHere: 'Přetáhnout sem obrázek', dropImage: 'Drop image or Text', selectFromFiles: 'Vybrat soubor', url: 'URL obrázku', remove: 'Remove Image', original: 'Original' }, video: { video: 'Video', videoLink: 'Odkaz videa', insert: 'Vložit video', url: 'URL videa?', providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion nebo Youku)' }, link: { link: 'Odkaz', insert: 'Vytvořit odkaz', unlink: 'Zrušit odkaz', edit: 'Upravit', textToDisplay: 'Zobrazovaný text', url: 'Na jaké URL má tento odkaz vést?', openInNewWindow: 'Otevřít v novém okně' }, table: { table: 'Tabulka', addRowAbove: 'Add row above', addRowBelow: 'Add row below', addColLeft: 'Add column left', addColRight: 'Add column right', delRow: 'Delete row', delCol: 'Delete column', delTable: 'Delete table' }, hr: { insert: 'Vložit vodorovnou čáru' }, style: { style: 'Styl', p: 'Normální', blockquote: 'Citace', pre: 'Kód', h1: 'Nadpis 1', h2: 'Nadpis 2', h3: 'Nadpis 3', h4: 'Nadpis 4', h5: 'Nadpis 5', h6: 'Nadpis 6' }, lists: { unordered: 'Odrážkový seznam', ordered: 'Číselný seznam' }, options: { help: 'Nápověda', fullscreen: 'Celá obrazovka', codeview: 'HTML kód' }, paragraph: { paragraph: 'Odstavec', outdent: 'Zvětšit odsazení', indent: 'Zmenšit odsazení', left: 'Zarovnat doleva', center: 'Zarovnat na střed', right: 'Zarovnat doprava', justify: 'Zarovnat oboustranně' }, color: { recent: 'Aktuální barva', more: 'Další barvy', background: 'Barva pozadí', foreground: 'Barva písma', transparent: 'Průhlednost', setTransparent: 'Nastavit průhlednost', reset: 'Obnovit', resetToDefault: 'Obnovit výchozí' }, shortcut: { shortcuts: 'Klávesové zkratky', close: 'Zavřít', textFormatting: 'Formátování textu', action: 'Akce', paragraphFormatting: 'Formátování odstavce', documentStyle: 'Styl dokumentu' }, help: { 'insertParagraph': 'Insert Paragraph', 'undo': 'Undoes the last command', 'redo': 'Redoes the last command', 'tab': 'Tab', 'untab': 'Untab', 'bold': 'Set a bold style', 'italic': 'Set a italic style', 'underline': 'Set a underline style', 'strikethrough': 'Set a strikethrough style', 'removeFormat': 'Clean a style', 'justifyLeft': 'Set left align', 'justifyCenter': 'Set center align', 'justifyRight': 'Set right align', 'justifyFull': 'Set full align', 'insertUnorderedList': 'Toggle unordered list', 'insertOrderedList': 'Toggle ordered list', 'outdent': 'Outdent on current paragraph', 'indent': 'Indent on current paragraph', 'formatPara': 'Change current block\'s format as a paragraph(P tag)', 'formatH1': 'Change current block\'s format as H1', 'formatH2': 'Change current block\'s format as H2', 'formatH3': 'Change current block\'s format as H3', 'formatH4': 'Change current block\'s format as H4', 'formatH5': 'Change current block\'s format as H5', 'formatH6': 'Change current block\'s format as H6', 'insertHorizontalRule': 'Insert horizontal rule', 'linkDialog.show': 'Show Link Dialog' }, history: { undo: 'Krok vzad', redo: 'Krok vpřed' }, specialChar: { specialChar: 'SPECIAL CHARACTERS', select: 'Select Special characters' } } }); })(jQuery); PK�{�\*���lang/summernote-gl-ES.min.jsnu�[���/*! Summernote v0.8.10 | (c) 2013- Alan Hong and other contributors | MIT license */ !function(e){e.extend(e.summernote.lang,{"gl-ES":{font:{bold:"Negrita",italic:"Cursiva",underline:"Subliñado",clear:"Quitar estilo de fonte",height:"Altura de liña",name:"Fonte",strikethrough:"Riscado",superscript:"Superíndice",subscript:"Subíndice",size:"Tamaño da fonte"},image:{image:"Imaxe",insert:"Inserir imaxe",resizeFull:"Redimensionar a tamaño completo",resizeHalf:"Redimensionar á metade",resizeQuarter:"Redimensionar a un cuarto",floatLeft:"Flotar á esquerda",floatRight:"Flotar á dereita",floatNone:"Non flotar",shapeRounded:"Forma: Redondeado",shapeCircle:"Forma: Círculo",shapeThumbnail:"Forma: Marco",shapeNone:"Forma: Ningunha",dragImageHere:"Arrastrar unha imaxe ou texto aquí",dropImage:"Solta a imaxe ou texto",selectFromFiles:"Seleccionar desde os arquivos",maximumFileSize:"Tamaño máximo do arquivo",maximumFileSizeError:"Superaches o tamaño máximo do arquivo.",url:"URL da imaxe",remove:"Eliminar imaxe",original:"Original"},video:{video:"Vídeo",videoLink:"Ligazón do vídeo",insert:"Insertar vídeo",url:"URL do vídeo?",providers:"(YouTube, Vimeo, Vine, Instagram, DailyMotion, o Youku)"},link:{link:"Ligazón",insert:"Inserir Ligazón",unlink:"Quitar Ligazón",edit:"Editar",textToDisplay:"Texto para amosar",url:"Cara a que URL leva a ligazón?",openInNewWindow:"Abrir nunha nova xanela"},table:{table:"Táboa",addRowAbove:"Add row above",addRowBelow:"Add row below",addColLeft:"Add column left",addColRight:"Add column right",delRow:"Delete row",delCol:"Delete column",delTable:"Delete table"},hr:{insert:"Inserir liña horizontal"},style:{style:"Estilo",normal:"Normal",blockquote:"Cita",pre:"Código",h1:"Título 1",h2:"Título 2",h3:"Título 3",h4:"Título 4",h5:"Título 5",h6:"Título 6"},lists:{unordered:"Lista desordenada",ordered:"Lista ordenada"},options:{help:"Axuda",fullscreen:"Pantalla completa",codeview:"Ver código fonte"},paragraph:{paragraph:"Parágrafo",outdent:"Menos tabulación",indent:"Máis tabulación",left:"Aliñar á esquerda",center:"Aliñar ao centro",right:"Aliñar á dereita",justify:"Xustificar"},color:{recent:"Última cor",more:"Máis cores",background:"Cor de fondo",foreground:"Cor de fuente",transparent:"Transparente",setTransparent:"Establecer transparente",reset:"Restaurar",resetToDefault:"Restaurar por defecto"},shortcut:{shortcuts:"Atallos de teclado",close:"Pechar",textFormatting:"Formato de texto",action:"Acción",paragraphFormatting:"Formato de parágrafo",documentStyle:"Estilo de documento",extraKeys:"Teclas adicionais"},help:{insertParagraph:"Inserir parágrafo",undo:"Desfacer última acción",redo:"Refacer última acción",tab:"Tabular",untab:"Eliminar tabulación",bold:"Establecer estilo negrita",italic:"Establecer estilo cursiva",underline:"Establecer estilo subliñado",strikethrough:"Establecer estilo riscado",removeFormat:"Limpar estilo",justifyLeft:"Aliñar á esquerda",justifyCenter:"Aliñar ao centro",justifyRight:"Aliñar á dereita",justifyFull:"Xustificar",insertUnorderedList:"Inserir lista desordenada",insertOrderedList:"Inserir lista ordenada",outdent:"Reducir tabulación do parágrafo",indent:"Aumentar tabulación do parágrafo",formatPara:"Mudar estilo do bloque a parágrafo (etiqueta P)",formatH1:"Mudar estilo do bloque a H1",formatH2:"Mudar estilo do bloque a H2",formatH3:"Mudar estilo do bloque a H3",formatH4:"Mudar estilo do bloque a H4",formatH5:"Mudar estilo do bloque a H5",formatH6:"Mudar estilo do bloque a H6",insertHorizontalRule:"Inserir liña horizontal","linkDialog.show":"Amosar panel ligazóns"},history:{undo:"Desfacer",redo:"Refacer"},specialChar:{specialChar:"CARACTERES ESPECIAIS",select:"Selecciona Caracteres especiais"}}})}(jQuery);PK�{�\�7��TTlang/summernote-sl-SI.min.jsnu�[���/*! Summernote v0.8.10 | (c) 2013- Alan Hong and other contributors | MIT license */ !function(e){e.extend(e.summernote.lang,{"sl-SI":{font:{bold:"Krepko",italic:"Ležeče",underline:"Podčrtano",clear:"Počisti oblikovanje izbire",height:"Razmik med vrsticami",name:"Pisava",strikethrough:"Prečrtano",subscript:"Podpisano",superscript:"Nadpisano",size:"Velikost pisave"},image:{image:"Slika",insert:"Vstavi sliko",resizeFull:"Razširi na polno velikost",resizeHalf:"Razširi na polovico velikosti",resizeQuarter:"Razširi na četrtino velikosti",floatLeft:"Leva poravnava",floatRight:"Desna poravnava",floatNone:"Brez poravnave",shapeRounded:"Shape: Rounded",shapeCircle:"Shape: Circle",shapeThumbnail:"Shape: Thumbnail",shapeNone:"Shape: None",dragImageHere:"Sem povlecite sliko",dropImage:"Drop image or Text",selectFromFiles:"Izberi sliko za nalaganje",maximumFileSize:"Maximum file size",maximumFileSizeError:"Maximum file size exceeded.",url:"URL naslov slike",remove:"Odstrani sliko",original:"Original"},video:{video:"Video",videoLink:"Video povezava",insert:"Vstavi video",url:"Povezava do videa",providers:"(YouTube, Vimeo, Vine, Instagram, DailyMotion ali Youku)"},link:{link:"Povezava",insert:"Vstavi povezavo",unlink:"Odstrani povezavo",edit:"Uredi",textToDisplay:"Prikazano besedilo",url:"Povezava",openInNewWindow:"Odpri v novem oknu"},table:{table:"Tabela",addRowAbove:"Add row above",addRowBelow:"Add row below",addColLeft:"Add column left",addColRight:"Add column right",delRow:"Delete row",delCol:"Delete column",delTable:"Delete table"},hr:{insert:"Vstavi horizontalno črto"},style:{style:"Slogi",p:"Navadno besedilo",blockquote:"Citat",pre:"Koda",h1:"Naslov 1",h2:"Naslov 2",h3:"Naslov 3",h4:"Naslov 4",h5:"Naslov 5",h6:"Naslov 6"},lists:{unordered:"Označen seznam",ordered:"Oštevilčen seznam"},options:{help:"Pomoč",fullscreen:"Celozaslonski način",codeview:"Pregled HTML kode"},paragraph:{paragraph:"Slogi odstavka",outdent:"Zmanjšaj odmik",indent:"Povečaj odmik",left:"Leva poravnava",center:"Desna poravnava",right:"Sredinska poravnava",justify:"Obojestranska poravnava"},color:{recent:"Uporabi zadnjo barvo",more:"Več barv",background:"Barva ozadja",foreground:"Barva besedila",transparent:"Brez barve",setTransparent:"Brez barve",reset:"Ponastavi",resetToDefault:"Ponastavi na privzeto"},shortcut:{shortcuts:"Bljižnice",close:"Zapri",textFormatting:"Oblikovanje besedila",action:"Dejanja",paragraphFormatting:"Oblikovanje odstavka",documentStyle:"Oblikovanje naslova",extraKeys:"Extra keys"},help:{insertParagraph:"Insert Paragraph",undo:"Undoes the last command",redo:"Redoes the last command",tab:"Tab",untab:"Untab",bold:"Set a bold style",italic:"Set a italic style",underline:"Set a underline style",strikethrough:"Set a strikethrough style",removeFormat:"Clean a style",justifyLeft:"Set left align",justifyCenter:"Set center align",justifyRight:"Set right align",justifyFull:"Set full align",insertUnorderedList:"Toggle unordered list",insertOrderedList:"Toggle ordered list",outdent:"Outdent on current paragraph",indent:"Indent on current paragraph",formatPara:"Change current block's format as a paragraph(P tag)",formatH1:"Change current block's format as H1",formatH2:"Change current block's format as H2",formatH3:"Change current block's format as H3",formatH4:"Change current block's format as H4",formatH5:"Change current block's format as H5",formatH6:"Change current block's format as H6",insertHorizontalRule:"Insert horizontal rule","linkDialog.show":"Show Link Dialog"},history:{undo:"Razveljavi",redo:"Uveljavi"},specialChar:{specialChar:"SPECIAL CHARACTERS",select:"Select Special characters"}}})}(jQuery);PK�{�\�!����lang/summernote-zh-CN.min.jsnu�[���/*! Summernote v0.8.10 | (c) 2013- Alan Hong and other contributors | MIT license */ !function(e){e.extend(e.summernote.lang,{"zh-CN":{font:{bold:"粗体",italic:"斜体",underline:"下划线",clear:"清除格式",height:"行高",name:"字体",strikethrough:"删除线",subscript:"下标",superscript:"上标",size:"字号"},image:{image:"图片",insert:"插入图片",resizeFull:"缩放至 100%",resizeHalf:"缩放至 50%",resizeQuarter:"缩放至 25%",floatLeft:"靠左浮动",floatRight:"靠右浮动",floatNone:"取消浮动",shapeRounded:"形状: 圆角",shapeCircle:"形状: 圆",shapeThumbnail:"形状: 缩略图",shapeNone:"形状: 无",dragImageHere:"将图片拖拽至此处",dropImage:"Drop image or Text",selectFromFiles:"从本地上传",maximumFileSize:"文件大小最大值",maximumFileSizeError:"文件大小超出最大值。",url:"图片地址",remove:"移除图片",original:"Original"},video:{video:"视频",videoLink:"视频链接",insert:"插入视频",url:"视频地址",providers:"(优酷, 腾讯, Instagram, DailyMotion, Youtube等)"},link:{link:"链接",insert:"插入链接",unlink:"去除链接",edit:"编辑链接",textToDisplay:"显示文本",url:"链接地址",openInNewWindow:"在新窗口打开"},table:{table:"表格",addRowAbove:"Add row above",addRowBelow:"Add row below",addColLeft:"Add column left",addColRight:"Add column right",delRow:"Delete row",delCol:"Delete column",delTable:"Delete table"},hr:{insert:"水平线"},style:{style:"样式",p:"普通",blockquote:"引用",pre:"代码",h1:"标题 1",h2:"标题 2",h3:"标题 3",h4:"标题 4",h5:"标题 5",h6:"标题 6"},lists:{unordered:"无序列表",ordered:"有序列表"},options:{help:"帮助",fullscreen:"全屏",codeview:"源代码"},paragraph:{paragraph:"段落",outdent:"减少缩进",indent:"增加缩进",left:"左对齐",center:"居中对齐",right:"右对齐",justify:"两端对齐"},color:{recent:"最近使用",more:"更多",background:"背景",foreground:"前景",transparent:"透明",setTransparent:"透明",reset:"重置",resetToDefault:"默认"},shortcut:{shortcuts:"快捷键",close:"关闭",textFormatting:"文本格式",action:"动作",paragraphFormatting:"段落格式",documentStyle:"文档样式",extraKeys:"额外按键"},help:{insertParagraph:"插入段落",undo:"撤销",redo:"重做",tab:"增加缩进",untab:"减少缩进",bold:"粗体",italic:"斜体",underline:"下划线",strikethrough:"删除线",removeFormat:"清除格式",justifyLeft:"左对齐",justifyCenter:"居中对齐",justifyRight:"右对齐",justifyFull:"两端对齐",insertUnorderedList:"无序列表",insertOrderedList:"有序列表",outdent:"减少缩进",indent:"增加缩进",formatPara:"设置选中内容样式为 普通",formatH1:"设置选中内容样式为 标题1",formatH2:"设置选中内容样式为 标题2",formatH3:"设置选中内容样式为 标题3",formatH4:"设置选中内容样式为 标题4",formatH5:"设置选中内容样式为 标题5",formatH6:"设置选中内容样式为 标题6",insertHorizontalRule:"插入水平线","linkDialog.show":"显示链接对话框"},history:{undo:"撤销",redo:"重做"},specialChar:{specialChar:"SPECIAL CHARACTERS",select:"Select Special characters"}}})}(jQuery);PK�{�\�C_��lang/summernote-fi-FI.jsnu�[���(function($) { $.extend($.summernote.lang, { 'fi-FI': { font: { bold: 'Lihavoitu', italic: 'Kursiivi', underline: 'Alleviivaa', clear: 'Tyhjennä muotoilu', height: 'Riviväli', name: 'Kirjasintyyppi', strikethrough: 'Yliviivaus', subscript: 'Subscript', superscript: 'Superscript', size: 'Kirjasinkoko' }, image: { image: 'Kuva', insert: 'Lisää kuva', resizeFull: 'Koko leveys', resizeHalf: 'Puolikas leveys', resizeQuarter: 'Neljäsosa leveys', floatLeft: 'Sijoita vasemmalle', floatRight: 'Sijoita oikealle', floatNone: 'Ei sijoitusta', shapeRounded: 'Shape: Rounded', shapeCircle: 'Shape: Circle', shapeThumbnail: 'Shape: Thumbnail', shapeNone: 'Shape: None', dragImageHere: 'Vedä kuva tähän', selectFromFiles: 'Valitse tiedostoista', maximumFileSize: 'Maximum file size', maximumFileSizeError: 'Maximum file size exceeded.', url: 'URL-osoitteen mukaan', remove: 'Poista kuva', original: 'Original' }, video: { video: 'Video', videoLink: 'Linkki videoon', insert: 'Lisää video', url: 'Videon URL-osoite?', providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion tai Youku)' }, link: { link: 'Linkki', insert: 'Lisää linkki', unlink: 'Poista linkki', edit: 'Muokkaa', textToDisplay: 'Näytettävä teksti', url: 'Linkin URL-osoite?', openInNewWindow: 'Avaa uudessa ikkunassa' }, table: { table: 'Taulukko', addRowAbove: 'Add row above', addRowBelow: 'Add row below', addColLeft: 'Add column left', addColRight: 'Add column right', delRow: 'Delete row', delCol: 'Delete column', delTable: 'Delete table' }, hr: { insert: 'Lisää vaakaviiva' }, style: { style: 'Tyyli', p: 'Normaali', blockquote: 'Lainaus', pre: 'Koodi', h1: 'Otsikko 1', h2: 'Otsikko 2', h3: 'Otsikko 3', h4: 'Otsikko 4', h5: 'Otsikko 5', h6: 'Otsikko 6' }, lists: { unordered: 'Luettelomerkitty luettelo', ordered: 'Numeroitu luettelo' }, options: { help: 'Ohje', fullscreen: 'Koko näyttö', codeview: 'HTML-näkymä' }, paragraph: { paragraph: 'Kappale', outdent: 'Pienennä sisennystä', indent: 'Suurenna sisennystä', left: 'Tasaus vasemmalle', center: 'Keskitä', right: 'Tasaus oikealle', justify: 'Tasaa' }, color: { recent: 'Viimeisin väri', more: 'Lisää värejä', background: 'Taustaväri', foreground: 'Tekstin väri', transparent: 'Läpinäkyvä', setTransparent: 'Aseta läpinäkyväksi', reset: 'Palauta', resetToDefault: 'Palauta oletusarvoksi' }, shortcut: { shortcuts: 'Pikanäppäimet', close: 'Sulje', textFormatting: 'Tekstin muotoilu', action: 'Toiminto', paragraphFormatting: 'Kappaleen muotoilu', documentStyle: 'Asiakirjan tyyli' }, help: { 'insertParagraph': 'Insert Paragraph', 'undo': 'Undoes the last command', 'redo': 'Redoes the last command', 'tab': 'Tab', 'untab': 'Untab', 'bold': 'Set a bold style', 'italic': 'Set a italic style', 'underline': 'Set a underline style', 'strikethrough': 'Set a strikethrough style', 'removeFormat': 'Clean a style', 'justifyLeft': 'Set left align', 'justifyCenter': 'Set center align', 'justifyRight': 'Set right align', 'justifyFull': 'Set full align', 'insertUnorderedList': 'Toggle unordered list', 'insertOrderedList': 'Toggle ordered list', 'outdent': 'Outdent on current paragraph', 'indent': 'Indent on current paragraph', 'formatPara': 'Change current block\'s format as a paragraph(P tag)', 'formatH1': 'Change current block\'s format as H1', 'formatH2': 'Change current block\'s format as H2', 'formatH3': 'Change current block\'s format as H3', 'formatH4': 'Change current block\'s format as H4', 'formatH5': 'Change current block\'s format as H5', 'formatH6': 'Change current block\'s format as H6', 'insertHorizontalRule': 'Insert horizontal rule', 'linkDialog.show': 'Show Link Dialog' }, history: { undo: 'Kumoa', redo: 'Toista' }, specialChar: { specialChar: 'SPECIAL CHARACTERS', select: 'Select Special characters' } } }); })(jQuery); PK�{�\�"+�> > lang/summernote-zh-TW.min.jsnu�[���/*! Summernote v0.8.10 | (c) 2013- Alan Hong and other contributors | MIT license */ !function(e){e.extend(e.summernote.lang,{"zh-TW":{font:{bold:"粗體",italic:"斜體",underline:"底線",clear:"清除格式",height:"行高",name:"字體",strikethrough:"刪除線",subscript:"下標",superscript:"上標",size:"字號"},image:{image:"圖片",insert:"插入圖片",resizeFull:"縮放至100%",resizeHalf:"縮放至 50%",resizeQuarter:"縮放至 25%",floatLeft:"靠左浮動",floatRight:"靠右浮動",floatNone:"取消浮動",shapeRounded:"形狀: 圓角",shapeCircle:"形狀: 圓",shapeThumbnail:"形狀: 縮略圖",shapeNone:"形狀: 無",dragImageHere:"將圖片拖曳至此處",dropImage:"Drop image or Text",selectFromFiles:"從本機上傳",maximumFileSize:"文件大小最大值",maximumFileSizeError:"文件大小超出最大值。",url:"圖片網址",remove:"移除圖片",original:"Original"},video:{video:"影片",videoLink:"影片連結",insert:"插入影片",url:"影片網址",providers:"(優酷, Instagram, DailyMotion, Youtube等)"},link:{link:"連結",insert:"插入連結",unlink:"取消連結",edit:"編輯連結",textToDisplay:"顯示文字",url:"連結網址",openInNewWindow:"在新視窗開啟"},table:{table:"表格",addRowAbove:"Add row above",addRowBelow:"Add row below",addColLeft:"Add column left",addColRight:"Add column right",delRow:"Delete row",delCol:"Delete column",delTable:"Delete table"},hr:{insert:"水平線"},style:{style:"樣式",p:"一般",blockquote:"引用區塊",pre:"程式碼區塊",h1:"標題 1",h2:"標題 2",h3:"標題 3",h4:"標題 4",h5:"標題 5",h6:"標題 6"},lists:{unordered:"項目清單",ordered:"編號清單"},options:{help:"幫助",fullscreen:"全螢幕",codeview:"原始碼"},paragraph:{paragraph:"段落",outdent:"取消縮排",indent:"增加縮排",left:"靠右對齊",center:"靠中對齊",right:"靠右對齊",justify:"左右對齊"},color:{recent:"字型顏色",more:"更多",background:"背景",foreground:"前景",transparent:"透明",setTransparent:"透明",reset:"重設",resetToDefault:"默認"},shortcut:{shortcuts:"快捷鍵",close:"關閉",textFormatting:"文字格式",action:"動作",paragraphFormatting:"段落格式",documentStyle:"文件格式",extraKeys:"額外按鍵"},help:{insertParagraph:"Insert Paragraph",undo:"Undoes the last command",redo:"Redoes the last command",tab:"Tab",untab:"Untab",bold:"Set a bold style",italic:"Set a italic style",underline:"Set a underline style",strikethrough:"Set a strikethrough style",removeFormat:"Clean a style",justifyLeft:"Set left align",justifyCenter:"Set center align",justifyRight:"Set right align",justifyFull:"Set full align",insertUnorderedList:"Toggle unordered list",insertOrderedList:"Toggle ordered list",outdent:"Outdent on current paragraph",indent:"Indent on current paragraph",formatPara:"Change current block's format as a paragraph(P tag)",formatH1:"Change current block's format as H1",formatH2:"Change current block's format as H2",formatH3:"Change current block's format as H3",formatH4:"Change current block's format as H4",formatH5:"Change current block's format as H5",formatH6:"Change current block's format as H6",insertHorizontalRule:"Insert horizontal rule","linkDialog.show":"Show Link Dialog"},history:{undo:"復原",redo:"取消復原"},specialChar:{specialChar:"SPECIAL CHARACTERS",select:"Select Special characters"}}})}(jQuery);PK�{�\D�jKlang/summernote-ca-ES.jsnu�[���(function($) { $.extend($.summernote.lang, { 'ca-ES': { font: { bold: 'Negreta', italic: 'Cursiva', underline: 'Subratllat', clear: 'Treure estil de lletra', height: 'Alçada de línia', name: 'Font', strikethrough: 'Ratllat', subscript: 'Subíndex', superscript: 'Superíndex', size: 'Mida de lletra' }, image: { image: 'Imatge', insert: 'Inserir imatge', resizeFull: 'Redimensionar a mida completa', resizeHalf: 'Redimensionar a la meitat', resizeQuarter: 'Redimensionar a un quart', floatLeft: 'Alinear a l\'esquerra', floatRight: 'Alinear a la dreta', floatNone: 'No alinear', shapeRounded: 'Forma: Arrodonit', shapeCircle: 'Forma: Cercle', shapeThumbnail: 'Forma: Marc', shapeNone: 'Forma: Cap', dragImageHere: 'Arrossegueu una imatge o text aquí', dropImage: 'Deixa anar aquí una imatge o un text', selectFromFiles: 'Seleccioneu des dels arxius', maximumFileSize: 'Mida màxima de l\'arxiu', maximumFileSizeError: 'La mida màxima de l\'arxiu s\'ha superat.', url: 'URL de la imatge', remove: 'Eliminar imatge', original: 'Original' }, video: { video: 'Vídeo', videoLink: 'Enllaç del vídeo', insert: 'Inserir vídeo', url: 'URL del vídeo?', providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion o Youku)' }, link: { link: 'Enllaç', insert: 'Inserir enllaç', unlink: 'Treure enllaç', edit: 'Editar', textToDisplay: 'Text per mostrar', url: 'Cap a quina URL porta l\'enllaç?', openInNewWindow: 'Obrir en una finestra nova' }, table: { table: 'Taula', addRowAbove: 'Add row above', addRowBelow: 'Add row below', addColLeft: 'Add column left', addColRight: 'Add column right', delRow: 'Delete row', delCol: 'Delete column', delTable: 'Delete table' }, hr: { insert: 'Inserir línia horitzontal' }, style: { style: 'Estil', p: 'p', blockquote: 'Cita', pre: 'Codi', h1: 'Títol 1', h2: 'Títol 2', h3: 'Títol 3', h4: 'Títol 4', h5: 'Títol 5', h6: 'Títol 6' }, lists: { unordered: 'Llista desendreçada', ordered: 'Llista endreçada' }, options: { help: 'Ajut', fullscreen: 'Pantalla sencera', codeview: 'Veure codi font' }, paragraph: { paragraph: 'Paràgraf', outdent: 'Menys tabulació', indent: 'Més tabulació', left: 'Alinear a l\'esquerra', center: 'Alinear al mig', right: 'Alinear a la dreta', justify: 'Justificar' }, color: { recent: 'Últim color', more: 'Més colors', background: 'Color de fons', foreground: 'Color de lletra', transparent: 'Transparent', setTransparent: 'Establir transparent', reset: 'Restablir', resetToDefault: 'Restablir per defecte' }, shortcut: { shortcuts: 'Dreceres de teclat', close: 'Tancar', textFormatting: 'Format de text', action: 'Acció', paragraphFormatting: 'Format de paràgraf', documentStyle: 'Estil del document', extraKeys: 'Tecles adicionals' }, help: { 'insertParagraph': 'Inserir paràgraf', 'undo': 'Desfer l\'última acció', 'redo': 'Refer l\'última acció', 'tab': 'Tabular', 'untab': 'Eliminar tabulació', 'bold': 'Establir estil negreta', 'italic': 'Establir estil cursiva', 'underline': 'Establir estil subratllat', 'strikethrough': 'Establir estil ratllat', 'removeFormat': 'Netejar estil', 'justifyLeft': 'Alinear a l\'esquerra', 'justifyCenter': 'Alinear al centre', 'justifyRight': 'Alinear a la dreta', 'justifyFull': 'Justificar', 'insertUnorderedList': 'Inserir llista desendreçada', 'insertOrderedList': 'Inserir llista endreçada', 'outdent': 'Reduïr tabulació del paràgraf', 'indent': 'Augmentar tabulació del paràgraf', 'formatPara': 'Canviar l\'estil del bloc com a un paràgraf (etiqueta P)', 'formatH1': 'Canviar l\'estil del bloc com a un H1', 'formatH2': 'Canviar l\'estil del bloc com a un H2', 'formatH3': 'Canviar l\'estil del bloc com a un H3', 'formatH4': 'Canviar l\'estil del bloc com a un H4', 'formatH5': 'Canviar l\'estil del bloc com a un H5', 'formatH6': 'Canviar l\'estil del bloc com a un H6', 'insertHorizontalRule': 'Inserir una línia horitzontal', 'linkDialog.show': 'Mostrar panel d\'enllaços' }, history: { undo: 'Desfer', redo: 'Refer' }, specialChar: { specialChar: 'CARÀCTERS ESPECIALS', select: 'Selecciona caràcters especials' } } }); })(jQuery); PK�{�\B�bnnlang/summernote-th-TH.jsnu�[���(function($) { $.extend($.summernote.lang, { 'th-TH': { font: { bold: 'ตัวหนา', italic: 'ตัวเอียง', underline: 'ขีดเส้นใต้', clear: 'ล้างรูปแบบตัวอักษร', height: 'ความสูงบรรทัด', name: 'แบบตัวอักษร', strikethrough: 'ขีดฆ่า', subscript: 'ตัวห้อย', superscript: 'ตัวยก', size: 'ขนาดตัวอักษร' }, image: { image: 'รูปภาพ', insert: 'แทรกรูปภาพ', resizeFull: 'ปรับขนาดเท่าจริง', resizeHalf: 'ปรับขนาดลง 50%', resizeQuarter: 'ปรับขนาดลง 25%', floatLeft: 'ชิดซ้าย', floatRight: 'ชิดขวา', floatNone: 'ไม่จัดตำแหน่ง', shapeRounded: 'Shape: Rounded', shapeCircle: 'Shape: Circle', shapeThumbnail: 'Shape: Thumbnail', shapeNone: 'Shape: None', dragImageHere: 'ลากรูปภาพที่ต้องการไว้ที่นี่', dropImage: 'Drop image or Text', selectFromFiles: 'เลือกไฟล์รูปภาพ', maximumFileSize: 'Maximum file size', maximumFileSizeError: 'Maximum file size exceeded.', url: 'ที่อยู่ URL ของรูปภาพ', remove: 'ลบรูปภาพ', original: 'Original' }, video: { video: 'วีดีโอ', videoLink: 'ลิงก์ของวีดีโอ', insert: 'แทรกวีดีโอ', url: 'ที่อยู่ URL ของวีดีโอ?', providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion หรือ Youku)' }, link: { link: 'ตัวเชื่อมโยง', insert: 'แทรกตัวเชื่อมโยง', unlink: 'ยกเลิกตัวเชื่อมโยง', edit: 'แก้ไข', textToDisplay: 'ข้อความที่ให้แสดง', url: 'ที่อยู่เว็บไซต์ที่ต้องการให้เชื่อมโยงไปถึง?', openInNewWindow: 'เปิดในหน้าต่างใหม่' }, table: { table: 'ตาราง', addRowAbove: 'Add row above', addRowBelow: 'Add row below', addColLeft: 'Add column left', addColRight: 'Add column right', delRow: 'Delete row', delCol: 'Delete column', delTable: 'Delete table' }, hr: { insert: 'แทรกเส้นคั่น' }, style: { style: 'รูปแบบ', p: 'ปกติ', blockquote: 'ข้อความ', pre: 'โค้ด', h1: 'หัวข้อ 1', h2: 'หัวข้อ 2', h3: 'หัวข้อ 3', h4: 'หัวข้อ 4', h5: 'หัวข้อ 5', h6: 'หัวข้อ 6' }, lists: { unordered: 'รายการแบบไม่มีลำดับ', ordered: 'รายการแบบมีลำดับ' }, options: { help: 'ช่วยเหลือ', fullscreen: 'ขยายเต็มหน้าจอ', codeview: 'ซอร์สโค้ด' }, paragraph: { paragraph: 'ย่อหน้า', outdent: 'เยื้องซ้าย', indent: 'เยื้องขวา', left: 'จัดหน้าชิดซ้าย', center: 'จัดหน้ากึ่งกลาง', right: 'จัดหน้าชิดขวา', justify: 'จัดบรรทัดเสมอกัน' }, color: { recent: 'สีที่ใช้ล่าสุด', more: 'สีอื่นๆ', background: 'สีพื้นหลัง', foreground: 'สีพื้นหน้า', transparent: 'โปร่งแสง', setTransparent: 'ตั้งค่าความโปร่งแสง', reset: 'คืนค่า', resetToDefault: 'คืนค่ามาตรฐาน' }, shortcut: { shortcuts: 'แป้นลัด', close: 'ปิด', textFormatting: 'การจัดรูปแบบข้อความ', action: 'การกระทำ', paragraphFormatting: 'การจัดรูปแบบย่อหน้า', documentStyle: 'รูปแบบของเอกสาร', extraKeys: 'Extra keys' }, help: { 'insertParagraph': 'Insert Paragraph', 'undo': 'Undoes the last command', 'redo': 'Redoes the last command', 'tab': 'Tab', 'untab': 'Untab', 'bold': 'Set a bold style', 'italic': 'Set a italic style', 'underline': 'Set a underline style', 'strikethrough': 'Set a strikethrough style', 'removeFormat': 'Clean a style', 'justifyLeft': 'Set left align', 'justifyCenter': 'Set center align', 'justifyRight': 'Set right align', 'justifyFull': 'Set full align', 'insertUnorderedList': 'Toggle unordered list', 'insertOrderedList': 'Toggle ordered list', 'outdent': 'Outdent on current paragraph', 'indent': 'Indent on current paragraph', 'formatPara': 'Change current block\'s format as a paragraph(P tag)', 'formatH1': 'Change current block\'s format as H1', 'formatH2': 'Change current block\'s format as H2', 'formatH3': 'Change current block\'s format as H3', 'formatH4': 'Change current block\'s format as H4', 'formatH5': 'Change current block\'s format as H5', 'formatH6': 'Change current block\'s format as H6', 'insertHorizontalRule': 'Insert horizontal rule', 'linkDialog.show': 'Show Link Dialog' }, history: { undo: 'ยกเลิกการกระทำ', redo: 'ทำซ้ำการกระทำ' }, specialChar: { specialChar: 'SPECIAL CHARACTERS', select: 'Select Special characters' } } }); })(jQuery); PK�{�\m��pplang/summernote-sl-SI.jsnu�[���(function($) { $.extend($.summernote.lang, { 'sl-SI': { font: { bold: 'Krepko', italic: 'Ležeče', underline: 'Podčrtano', clear: 'Počisti oblikovanje izbire', height: 'Razmik med vrsticami', name: 'Pisava', strikethrough: 'Prečrtano', subscript: 'Podpisano', superscript: 'Nadpisano', size: 'Velikost pisave' }, image: { image: 'Slika', insert: 'Vstavi sliko', resizeFull: 'Razširi na polno velikost', resizeHalf: 'Razširi na polovico velikosti', resizeQuarter: 'Razširi na četrtino velikosti', floatLeft: 'Leva poravnava', floatRight: 'Desna poravnava', floatNone: 'Brez poravnave', shapeRounded: 'Shape: Rounded', shapeCircle: 'Shape: Circle', shapeThumbnail: 'Shape: Thumbnail', shapeNone: 'Shape: None', dragImageHere: 'Sem povlecite sliko', dropImage: 'Drop image or Text', selectFromFiles: 'Izberi sliko za nalaganje', maximumFileSize: 'Maximum file size', maximumFileSizeError: 'Maximum file size exceeded.', url: 'URL naslov slike', remove: 'Odstrani sliko', original: 'Original' }, video: { video: 'Video', videoLink: 'Video povezava', insert: 'Vstavi video', url: 'Povezava do videa', providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion ali Youku)' }, link: { link: 'Povezava', insert: 'Vstavi povezavo', unlink: 'Odstrani povezavo', edit: 'Uredi', textToDisplay: 'Prikazano besedilo', url: 'Povezava', openInNewWindow: 'Odpri v novem oknu' }, table: { table: 'Tabela', addRowAbove: 'Add row above', addRowBelow: 'Add row below', addColLeft: 'Add column left', addColRight: 'Add column right', delRow: 'Delete row', delCol: 'Delete column', delTable: 'Delete table' }, hr: { insert: 'Vstavi horizontalno črto' }, style: { style: 'Slogi', p: 'Navadno besedilo', blockquote: 'Citat', pre: 'Koda', h1: 'Naslov 1', h2: 'Naslov 2', h3: 'Naslov 3', h4: 'Naslov 4', h5: 'Naslov 5', h6: 'Naslov 6' }, lists: { unordered: 'Označen seznam', ordered: 'Oštevilčen seznam' }, options: { help: 'Pomoč', fullscreen: 'Celozaslonski način', codeview: 'Pregled HTML kode' }, paragraph: { paragraph: 'Slogi odstavka', outdent: 'Zmanjšaj odmik', indent: 'Povečaj odmik', left: 'Leva poravnava', center: 'Desna poravnava', right: 'Sredinska poravnava', justify: 'Obojestranska poravnava' }, color: { recent: 'Uporabi zadnjo barvo', more: 'Več barv', background: 'Barva ozadja', foreground: 'Barva besedila', transparent: 'Brez barve', setTransparent: 'Brez barve', reset: 'Ponastavi', resetToDefault: 'Ponastavi na privzeto' }, shortcut: { shortcuts: 'Bljižnice', close: 'Zapri', textFormatting: 'Oblikovanje besedila', action: 'Dejanja', paragraphFormatting: 'Oblikovanje odstavka', documentStyle: 'Oblikovanje naslova', extraKeys: 'Extra keys' }, help: { 'insertParagraph': 'Insert Paragraph', 'undo': 'Undoes the last command', 'redo': 'Redoes the last command', 'tab': 'Tab', 'untab': 'Untab', 'bold': 'Set a bold style', 'italic': 'Set a italic style', 'underline': 'Set a underline style', 'strikethrough': 'Set a strikethrough style', 'removeFormat': 'Clean a style', 'justifyLeft': 'Set left align', 'justifyCenter': 'Set center align', 'justifyRight': 'Set right align', 'justifyFull': 'Set full align', 'insertUnorderedList': 'Toggle unordered list', 'insertOrderedList': 'Toggle ordered list', 'outdent': 'Outdent on current paragraph', 'indent': 'Indent on current paragraph', 'formatPara': 'Change current block\'s format as a paragraph(P tag)', 'formatH1': 'Change current block\'s format as H1', 'formatH2': 'Change current block\'s format as H2', 'formatH3': 'Change current block\'s format as H3', 'formatH4': 'Change current block\'s format as H4', 'formatH5': 'Change current block\'s format as H5', 'formatH6': 'Change current block\'s format as H6', 'insertHorizontalRule': 'Insert horizontal rule', 'linkDialog.show': 'Show Link Dialog' }, history: { undo: 'Razveljavi', redo: 'Uveljavi' }, specialChar: { specialChar: 'SPECIAL CHARACTERS', select: 'Select Special characters' } } }); })(jQuery); PK�{�\v?!b''lang/summernote-he-IL.jsnu�[���(function($) { $.extend($.summernote.lang, { 'he-IL': { font: { bold: 'מודגש', italic: 'נטוי', underline: 'קו תחתון', clear: 'נקה עיצוב', height: 'גובה', name: 'גופן', strikethrough: 'קו חוצה', subscript: 'כתב תחתי', superscript: 'כתב עילי', size: 'גודל גופן' }, image: { image: 'תמונה', insert: 'הוסף תמונה', resizeFull: 'גודל מלא', resizeHalf: 'להקטין לחצי', resizeQuarter: 'להקטין לרבע', floatLeft: 'יישור לשמאל', floatRight: 'יישור לימין', floatNone: 'ישר', shapeRounded: 'Shape: Rounded', shapeCircle: 'Shape: Circle', shapeThumbnail: 'Shape: Thumbnail', shapeNone: 'Shape: None', dragImageHere: 'גרור תמונה לכאן', dropImage: 'Drop image or Text', selectFromFiles: 'בחר מתוך קבצים', maximumFileSize: 'Maximum file size', maximumFileSizeError: 'Maximum file size exceeded.', url: 'נתיב לתמונה', remove: 'הסר תמונה', original: 'Original' }, video: { video: 'סרטון', videoLink: 'קישור לסרטון', insert: 'הוסף סרטון', url: 'קישור לסרטון', providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion או Youku)' }, link: { link: 'קישור', insert: 'הוסף קישור', unlink: 'הסר קישור', edit: 'ערוך', textToDisplay: 'טקסט להציג', url: 'קישור', openInNewWindow: 'פתח בחלון חדש' }, table: { table: 'טבלה', addRowAbove: 'Add row above', addRowBelow: 'Add row below', addColLeft: 'Add column left', addColRight: 'Add column right', delRow: 'Delete row', delCol: 'Delete column', delTable: 'Delete table' }, hr: { insert: 'הוסף קו' }, style: { style: 'עיצוב', p: 'טקסט רגיל', blockquote: 'ציטוט', pre: 'קוד', h1: 'כותרת 1', h2: 'כותרת 2', h3: 'כותרת 3', h4: 'כותרת 4', h5: 'כותרת 5', h6: 'כותרת 6' }, lists: { unordered: 'רשימת תבליטים', ordered: 'רשימה ממוספרת' }, options: { help: 'עזרה', fullscreen: 'מסך מלא', codeview: 'תצוגת קוד' }, paragraph: { paragraph: 'פסקה', outdent: 'הקטן כניסה', indent: 'הגדל כניסה', left: 'יישור לשמאל', center: 'יישור למרכז', right: 'יישור לימין', justify: 'מיושר' }, color: { recent: 'צבע טקסט אחרון', more: 'עוד צבעים', background: 'צבע רקע', foreground: 'צבע טקסט', transparent: 'שקוף', setTransparent: 'קבע כשקוף', reset: 'איפוס', resetToDefault: 'אפס לברירת מחדל' }, shortcut: { shortcuts: 'קיצורי מקלדת', close: 'סגור', textFormatting: 'עיצוב הטקסט', action: 'פעולה', paragraphFormatting: 'סגנונות פסקה', documentStyle: 'עיצוב המסמך', extraKeys: 'קיצורים נוספים' }, help: { 'insertParagraph': 'Insert Paragraph', 'undo': 'Undoes the last command', 'redo': 'Redoes the last command', 'tab': 'Tab', 'untab': 'Untab', 'bold': 'Set a bold style', 'italic': 'Set a italic style', 'underline': 'Set a underline style', 'strikethrough': 'Set a strikethrough style', 'removeFormat': 'Clean a style', 'justifyLeft': 'Set left align', 'justifyCenter': 'Set center align', 'justifyRight': 'Set right align', 'justifyFull': 'Set full align', 'insertUnorderedList': 'Toggle unordered list', 'insertOrderedList': 'Toggle ordered list', 'outdent': 'Outdent on current paragraph', 'indent': 'Indent on current paragraph', 'formatPara': 'Change current block\'s format as a paragraph(P tag)', 'formatH1': 'Change current block\'s format as H1', 'formatH2': 'Change current block\'s format as H2', 'formatH3': 'Change current block\'s format as H3', 'formatH4': 'Change current block\'s format as H4', 'formatH5': 'Change current block\'s format as H5', 'formatH6': 'Change current block\'s format as H6', 'insertHorizontalRule': 'Insert horizontal rule', 'linkDialog.show': 'Show Link Dialog' }, history: { undo: 'בטל פעולה', redo: 'בצע שוב' }, specialChar: { specialChar: 'SPECIAL CHARACTERS', select: 'Select Special characters' } } }); })(jQuery); PK�{�\FbJ6CClang/summernote-el-GR.min.jsnu�[���/*! Summernote v0.8.10 | (c) 2013- Alan Hong and other contributors | MIT license */ !function(e){e.extend(e.summernote.lang,{"el-GR":{font:{bold:"Έντονα",italic:"Πλάγια",underline:"Υπογραμμισμένα",clear:"Καθαρισμός",height:"Ύψος",name:"Γραμματοσειρά",strikethrough:"Διεγραμμένα",subscript:"Δείκτης",superscript:"Εκθέτης",size:"Μέγεθος"},image:{image:"εικόνα",insert:"Εισαγωγή",resizeFull:"Πλήρες μέγεθος",resizeHalf:"Μισό μέγεθος",resizeQuarter:"1/4 μέγεθος",floatLeft:"Μετατόπιση αριστερά",floatRight:"Μετατόπιση δεξιά",floatNone:"Χωρίς μετατόπιση",shapeRounded:"Σχήμα: Στρογγυλεμένο",shapeCircle:"Σχήμα: Κύκλος",shapeThumbnail:"Σχήμα: Thumbnail",shapeNone:"Σχήμα: Κανένα",dragImageHere:"Σύρτε την εικόνα εδώ",dropImage:"Αφήστε την εικόνα",selectFromFiles:"Επιλογή από αρχεία",maximumFileSize:"Μέγιστο μέγεθος αρχείου",maximumFileSizeError:"Το μέγεθος είναι μεγαλύτερο από το μέγιστο επιτρεπτό.",url:"URL",remove:"Αφαίρεση",original:"Original"},link:{link:"Σύνδεσμος",insert:"Εισαγωγή συνδέσμου",unlink:"Αφαίρεση συνδέσμου",edit:"Επεξεργασία συνδέσμου",textToDisplay:"Κείμενο συνδέσμου",url:"URL",openInNewWindow:"Άνοιγμα σε νέο παράθυρο"},video:{video:"Βίντεο",videoLink:"Σύνδεσμος Βίντεο",insert:"Εισαγωγή",url:"URL",providers:"(YouTube, Vimeo, Vine, Instagram, DailyMotion or Youku)"},table:{table:"Πίνακας",addRowAbove:"Add row above",addRowBelow:"Add row below",addColLeft:"Add column left",addColRight:"Add column right",delRow:"Delete row",delCol:"Delete column",delTable:"Delete table"},hr:{insert:"Εισαγωγή οριζόντιας γραμμής"},style:{style:"Στυλ",normal:"Κανονικό",blockquote:"Παράθεση",pre:"Ως έχει",h1:"Κεφαλίδα 1",h2:"συνδέσμου 2",h3:"συνδέσμου 3",h4:"συνδέσμου 4",h5:"συνδέσμου 5",h6:"συνδέσμου 6"},lists:{unordered:"Αταξινόμητη λίστα",ordered:"Ταξινομημένη λίστα"},options:{help:"Βοήθεια",fullscreen:"Πλήρης οθόνη",codeview:"Προβολή HTML"},paragraph:{paragraph:"Παράγραφος",outdent:"Μείωση εσοχής",indent:"Άυξηση εσοχής",left:"Αριστερή στοίχιση",center:"Στοίχιση στο κέντρο",right:"Δεξιά στοίχιση",justify:"Πλήρης στοίχιση"},color:{recent:"Πρόσφατη επιλογή",more:"Περισσότερα",background:"Υπόβαθρο",foreground:"Μπροστά",transparent:"Διαφανές",setTransparent:"Επιλογή διαφάνειας",reset:"Επαναφορά",resetToDefault:"Επαναφορά στις προκαθορισμένες τιμές"},shortcut:{shortcuts:"Συντομεύσεις",close:"Κλείσιμο",textFormatting:"Διαμόρφωση κειμένου",action:"Ενέργεια",paragraphFormatting:"Διαμόρφωση παραγράφου",documentStyle:"Στυλ κειμένου",extraKeys:"Επιπλέον συντομεύσεις"},help:{insertParagraph:"Εισαγωγή παραγράφου",undo:"Αναιρεί την προηγούμενη εντολή",redo:"Επαναλαμβάνει την προηγούμενη εντολή",tab:"Εσοχή",untab:"Αναίρεση εσοχής",bold:"Ορισμός έντονου στυλ",italic:"Ορισμός πλάγιου στυλ",underline:"Ορισμός υπογεγραμμένου στυλ",strikethrough:"Ορισμός διεγραμμένου στυλ",removeFormat:"Αφαίρεση στυλ",justifyLeft:"Ορισμός αριστερής στοίχισης",justifyCenter:"Ορισμός κεντρικής στοίχισης",justifyRight:"Ορισμός δεξιάς στοίχισης",justifyFull:"Ορισμός πλήρους στοίχισης",insertUnorderedList:"Ορισμός μη-ταξινομημένης λίστας",insertOrderedList:"Ορισμός ταξινομημένης λίστας",outdent:"Προεξοχή παραγράφου",indent:"Εσοχή παραγράφου",formatPara:"Αλλαγή της μορφής του τρέχοντος μπλοκ σε παράγραφο (P tag)",formatH1:"Αλλαγή της μορφής του τρέχοντος μπλοκ σε H1",formatH2:"Αλλαγή της μορφής του τρέχοντος μπλοκ σε H2",formatH3:"Αλλαγή της μορφής του τρέχοντος μπλοκ σε H3",formatH4:"Αλλαγή της μορφής του τρέχοντος μπλοκ σε H4",formatH5:"Αλλαγή της μορφής του τρέχοντος μπλοκ σε H5",formatH6:"Αλλαγή της μορφής του τρέχοντος μπλοκ σε H6",insertHorizontalRule:"Εισαγωγή οριζόντιας γραμμής","linkDialog.show":"Εμφάνιση διαλόγου συνδέσμου"},history:{undo:"Αναίρεση",redo:"Επαναληψη"},specialChar:{specialChar:"SPECIAL CHARACTERS",select:"Επιλέξτε ειδικούς χαρακτήρες"}}})}(jQuery);PK�{�\�n2m33lang/summernote-pt-PT.min.jsnu�[���/*! Summernote v0.8.10 | (c) 2013- Alan Hong and other contributors | MIT license */ !function(e){e.extend(e.summernote.lang,{"pt-PT":{font:{bold:"Negrito",italic:"Itálico",underline:"Sublinhado",clear:"Remover estilo da fonte",height:"Altura da linha",name:"Fonte",strikethrough:"Riscado",subscript:"Subscript",superscript:"Superscript",size:"Tamanho da fonte"},image:{image:"Imagem",insert:"Inserir imagem",resizeFull:"Redimensionar Completo",resizeHalf:"Redimensionar Metade",resizeQuarter:"Redimensionar Um Quarto",floatLeft:"Float Esquerda",floatRight:"Float Direita",floatNone:"Sem Float",shapeRounded:"Shape: Rounded",shapeCircle:"Shape: Circle",shapeThumbnail:"Shape: Thumbnail",shapeNone:"Shape: None",dragImageHere:"Arraste uma imagem para aqui",dropImage:"Drop image or Text",selectFromFiles:"Selecione a partir dos arquivos",maximumFileSize:"Maximum file size",maximumFileSizeError:"Maximum file size exceeded.",url:"Endereço da imagem",remove:"Remove Image",original:"Original"},video:{video:"Vídeo",videoLink:"Link para vídeo",insert:"Inserir vídeo",url:"URL do vídeo?",providers:"(YouTube, Vimeo, Vine, Instagram, DailyMotion ou Youku)"},link:{link:"Link",insert:"Inserir ligação",unlink:"Remover ligação",edit:"Editar",textToDisplay:"Texto para exibir",url:"Que endereço esta licação leva?",openInNewWindow:"Abrir numa nova janela"},table:{table:"Tabela",addRowAbove:"Add row above",addRowBelow:"Add row below",addColLeft:"Add column left",addColRight:"Add column right",delRow:"Delete row",delCol:"Delete column",delTable:"Delete table"},hr:{insert:"Inserir linha horizontal"},style:{style:"Estilo",p:"p",blockquote:"Citação",pre:"Código",h1:"Título 1",h2:"Título 2",h3:"Título 3",h4:"Título 4",h5:"Título 5",h6:"Título 6"},lists:{unordered:"Lista com marcadores",ordered:"Lista numerada"},options:{help:"Ajuda",fullscreen:"Janela Completa",codeview:"Ver código-fonte"},paragraph:{paragraph:"Parágrafo",outdent:"Menor tabulação",indent:"Maior tabulação",left:"Alinhar à esquerda",center:"Alinhar ao centro",right:"Alinha à direita",justify:"Justificado"},color:{recent:"Cor recente",more:"Mais cores",background:"Fundo",foreground:"Fonte",transparent:"Transparente",setTransparent:"Fundo transparente",reset:"Restaurar",resetToDefault:"Restaurar padrão"},shortcut:{shortcuts:"Atalhos do teclado",close:"Fechar",textFormatting:"Formatação de texto",action:"Ação",paragraphFormatting:"Formatação de parágrafo",documentStyle:"Estilo de documento"},help:{insertParagraph:"Insert Paragraph",undo:"Undoes the last command",redo:"Redoes the last command",tab:"Tab",untab:"Untab",bold:"Set a bold style",italic:"Set a italic style",underline:"Set a underline style",strikethrough:"Set a strikethrough style",removeFormat:"Clean a style",justifyLeft:"Set left align",justifyCenter:"Set center align",justifyRight:"Set right align",justifyFull:"Set full align",insertUnorderedList:"Toggle unordered list",insertOrderedList:"Toggle ordered list",outdent:"Outdent on current paragraph",indent:"Indent on current paragraph",formatPara:"Change current block's format as a paragraph(P tag)",formatH1:"Change current block's format as H1",formatH2:"Change current block's format as H2",formatH3:"Change current block's format as H3",formatH4:"Change current block's format as H4",formatH5:"Change current block's format as H5",formatH6:"Change current block's format as H6",insertHorizontalRule:"Insert horizontal rule","linkDialog.show":"Show Link Dialog"},history:{undo:"Desfazer",redo:"Refazer"},specialChar:{specialChar:"SPECIAL CHARACTERS",select:"Select Special characters"}}})}(jQuery);PK�{�\[܂}lang/summernote-es-ES.jsnu�[���(function($) { $.extend($.summernote.lang, { 'es-ES': { font: { bold: 'Negrita', italic: 'Cursiva', underline: 'Subrayado', clear: 'Quitar estilo de fuente', height: 'Altura de línea', name: 'Fuente', strikethrough: 'Tachado', superscript: 'Superíndice', subscript: 'Subíndice', size: 'Tamaño de la fuente' }, image: { image: 'Imagen', insert: 'Insertar imagen', resizeFull: 'Redimensionar a tamaño completo', resizeHalf: 'Redimensionar a la mitad', resizeQuarter: 'Redimensionar a un cuarto', floatLeft: 'Flotar a la izquierda', floatRight: 'Flotar a la derecha', floatNone: 'No flotar', shapeRounded: 'Forma: Redondeado', shapeCircle: 'Forma: Círculo', shapeThumbnail: 'Forma: Marco', shapeNone: 'Forma: Ninguna', dragImageHere: 'Arrastrar una imagen o texto aquí', dropImage: 'Suelta la imagen o texto', selectFromFiles: 'Seleccionar desde los archivos', maximumFileSize: 'Tamaño máximo del archivo', maximumFileSizeError: 'Has superado el tamaño máximo del archivo.', url: 'URL de la imagen', remove: 'Eliminar imagen', original: 'Original' }, video: { video: 'Vídeo', videoLink: 'Link del vídeo', insert: 'Insertar vídeo', url: '¿URL del vídeo?', providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion o Youku)' }, link: { link: 'Link', insert: 'Insertar link', unlink: 'Quitar link', edit: 'Editar', textToDisplay: 'Texto para mostrar', url: '¿Hacia que URL lleva el link?', openInNewWindow: 'Abrir en una nueva ventana' }, table: { table: 'Tabla', addRowAbove: 'Añadir fila encima', addRowBelow: 'Añadir fila debajo', addColLeft: 'Añadir columna izquierda', addColRight: 'Añadir columna derecha', delRow: 'Borrar fila', delCol: 'Eliminar columna', delTable: 'Eliminar tabla' }, hr: { insert: 'Insertar línea horizontal' }, style: { style: 'Estilo', p: 'p', blockquote: 'Cita', pre: 'Código', h1: 'Título 1', h2: 'Título 2', h3: 'Título 3', h4: 'Título 4', h5: 'Título 5', h6: 'Título 6' }, lists: { unordered: 'Lista desordenada', ordered: 'Lista ordenada' }, options: { help: 'Ayuda', fullscreen: 'Pantalla completa', codeview: 'Ver código fuente' }, paragraph: { paragraph: 'Párrafo', outdent: 'Menos tabulación', indent: 'Más tabulación', left: 'Alinear a la izquierda', center: 'Alinear al centro', right: 'Alinear a la derecha', justify: 'Justificar' }, color: { recent: 'Último color', more: 'Más colores', background: 'Color de fondo', foreground: 'Color de fuente', transparent: 'Transparente', setTransparent: 'Establecer transparente', reset: 'Restaurar', resetToDefault: 'Restaurar por defecto' }, shortcut: { shortcuts: 'Atajos de teclado', close: 'Cerrar', textFormatting: 'Formato de texto', action: 'Acción', paragraphFormatting: 'Formato de párrafo', documentStyle: 'Estilo de documento', extraKeys: 'Teclas adicionales' }, help: { 'insertParagraph': 'Insertar párrafo', 'undo': 'Deshacer última acción', 'redo': 'Rehacer última acción', 'tab': 'Tabular', 'untab': 'Eliminar tabulación', 'bold': 'Establecer estilo negrita', 'italic': 'Establecer estilo cursiva', 'underline': 'Establecer estilo subrayado', 'strikethrough': 'Establecer estilo tachado', 'removeFormat': 'Limpiar estilo', 'justifyLeft': 'Alinear a la izquierda', 'justifyCenter': 'Alinear al centro', 'justifyRight': 'Alinear a la derecha', 'justifyFull': 'Justificar', 'insertUnorderedList': 'Insertar lista desordenada', 'insertOrderedList': 'Insertar lista ordenada', 'outdent': 'Reducir tabulación del párrafo', 'indent': 'Aumentar tabulación del párrafo', 'formatPara': 'Cambiar estilo del bloque a párrafo (etiqueta P)', 'formatH1': 'Cambiar estilo del bloque a H1', 'formatH2': 'Cambiar estilo del bloque a H2', 'formatH3': 'Cambiar estilo del bloque a H3', 'formatH4': 'Cambiar estilo del bloque a H4', 'formatH5': 'Cambiar estilo del bloque a H5', 'formatH6': 'Cambiar estilo del bloque a H6', 'insertHorizontalRule': 'Insertar línea horizontal', 'linkDialog.show': 'Mostrar panel enlaces' }, history: { undo: 'Deshacer', redo: 'Rehacer' }, specialChar: { specialChar: 'CARACTERES ESPECIALES', select: 'Selecciona Caracteres especiales' } } }); })(jQuery); PK�{�\ӹ@&��lang/summernote-ar-AR.min.jsnu�[���/*! Summernote v0.8.10 | (c) 2013- Alan Hong and other contributors | MIT license */ !function(e){e.extend(e.summernote.lang,{"ar-AR":{font:{bold:"عريض",italic:"مائل",underline:"تحته خط",clear:"مسح التنسيق",height:"إرتفاع السطر",name:"الخط",strikethrough:"فى وسطه خط",subscript:"مخطوطة",superscript:"حرف فوقي",size:"الحجم"},image:{image:"صورة",insert:"إضافة صورة",resizeFull:"الحجم بالكامل",resizeHalf:"تصغير للنصف",resizeQuarter:"تصغير للربع",floatLeft:"تطيير لليسار",floatRight:"تطيير لليمين",floatNone:"ثابته",shapeRounded:"الشكل: تقريب",shapeCircle:"الشكل: دائرة",shapeThumbnail:"الشكل: صورة مصغرة",shapeNone:"الشكل: لا شيء",dragImageHere:"إدرج الصورة هنا",dropImage:"إسقاط صورة أو نص",selectFromFiles:"حدد ملف",maximumFileSize:"الحد الأقصى لحجم الملف",maximumFileSizeError:"تم تجاوز الحد الأقصى لحجم الملف",url:"رابط الصورة",remove:"حذف الصورة",original:"Original"},video:{video:"فيديو",videoLink:"رابط الفيديو",insert:"إدراج الفيديو",url:"رابط الفيديو",providers:"(YouTube, Vimeo, Vine, Instagram, DailyMotion ou Youku)"},link:{link:"رابط رابط",insert:"إدراج",unlink:"حذف الرابط",edit:"تعديل",textToDisplay:"النص",url:"مسار الرابط",openInNewWindow:"فتح في نافذة جديدة"},table:{table:"جدول",addRowAbove:"Add row above",addRowBelow:"Add row below",addColLeft:"Add column left",addColRight:"Add column right",delRow:"Delete row",delCol:"Delete column",delTable:"Delete table"},hr:{insert:"إدراج خط أفقي"},style:{style:"تنسيق",p:"عادي",blockquote:"إقتباس",pre:"شفيرة",h1:"عنوان رئيسي 1",h2:"عنوان رئيسي 2",h3:"عنوان رئيسي 3",h4:"عنوان رئيسي 4",h5:"عنوان رئيسي 5",h6:"عنوان رئيسي 6"},lists:{unordered:"قائمة مُنقطة",ordered:"قائمة مُرقمة"},options:{help:"مساعدة",fullscreen:"حجم الشاشة بالكامل",codeview:"شفيرة المصدر"},paragraph:{paragraph:"فقرة",outdent:"محاذاة للخارج",indent:"محاذاة للداخل",left:"محاذاة لليسار",center:"توسيط",right:"محاذاة لليمين",justify:"ملئ السطر"},color:{recent:"تم إستخدامه",more:"المزيد",background:"لون الخلفية",foreground:"لون النص",transparent:"شفاف",setTransparent:"بدون خلفية",reset:"إعادة الضبط",resetToDefault:"إعادة الضبط"},shortcut:{shortcuts:"إختصارات",close:"غلق",textFormatting:"تنسيق النص",action:"Action",paragraphFormatting:"تنسيق الفقرة",documentStyle:"تنسيق المستند",extraKeys:"Extra keys"},help:{insertParagraph:"Insert Paragraph",undo:"Undoes the last command",redo:"Redoes the last command",tab:"Tab",untab:"Untab",bold:"Set a bold style",italic:"Set a italic style",underline:"Set a underline style",strikethrough:"Set a strikethrough style",removeFormat:"Clean a style",justifyLeft:"Set left align",justifyCenter:"Set center align",justifyRight:"Set right align",justifyFull:"Set full align",insertUnorderedList:"Toggle unordered list",insertOrderedList:"Toggle ordered list",outdent:"Outdent on current paragraph",indent:"Indent on current paragraph",formatPara:"Change current block's format as a paragraph(P tag)",formatH1:"Change current block's format as H1",formatH2:"Change current block's format as H2",formatH3:"Change current block's format as H3",formatH4:"Change current block's format as H4",formatH5:"Change current block's format as H5",formatH6:"Change current block's format as H6",insertHorizontalRule:"Insert horizontal rule","linkDialog.show":"Show Link Dialog"},history:{undo:"تراجع",redo:"إعادة"},specialChar:{specialChar:"SPECIAL CHARACTERS",select:"Select Special characters"}}})}(jQuery);PK�{�\&\] lang/summernote-es-ES.min.jsnu�[���/*! Summernote v0.8.10 | (c) 2013- Alan Hong and other contributors | MIT license */ !function(e){e.extend(e.summernote.lang,{"es-ES":{font:{bold:"Negrita",italic:"Cursiva",underline:"Subrayado",clear:"Quitar estilo de fuente",height:"Altura de línea",name:"Fuente",strikethrough:"Tachado",superscript:"Superíndice",subscript:"Subíndice",size:"Tamaño de la fuente"},image:{image:"Imagen",insert:"Insertar imagen",resizeFull:"Redimensionar a tamaño completo",resizeHalf:"Redimensionar a la mitad",resizeQuarter:"Redimensionar a un cuarto",floatLeft:"Flotar a la izquierda",floatRight:"Flotar a la derecha",floatNone:"No flotar",shapeRounded:"Forma: Redondeado",shapeCircle:"Forma: Círculo",shapeThumbnail:"Forma: Marco",shapeNone:"Forma: Ninguna",dragImageHere:"Arrastrar una imagen o texto aquí",dropImage:"Suelta la imagen o texto",selectFromFiles:"Seleccionar desde los archivos",maximumFileSize:"Tamaño máximo del archivo",maximumFileSizeError:"Has superado el tamaño máximo del archivo.",url:"URL de la imagen",remove:"Eliminar imagen",original:"Original"},video:{video:"Vídeo",videoLink:"Link del vídeo",insert:"Insertar vídeo",url:"¿URL del vídeo?",providers:"(YouTube, Vimeo, Vine, Instagram, DailyMotion o Youku)"},link:{link:"Link",insert:"Insertar link",unlink:"Quitar link",edit:"Editar",textToDisplay:"Texto para mostrar",url:"¿Hacia que URL lleva el link?",openInNewWindow:"Abrir en una nueva ventana"},table:{table:"Tabla",addRowAbove:"Añadir fila encima",addRowBelow:"Añadir fila debajo",addColLeft:"Añadir columna izquierda",addColRight:"Añadir columna derecha",delRow:"Borrar fila",delCol:"Eliminar columna",delTable:"Eliminar tabla"},hr:{insert:"Insertar línea horizontal"},style:{style:"Estilo",p:"p",blockquote:"Cita",pre:"Código",h1:"Título 1",h2:"Título 2",h3:"Título 3",h4:"Título 4",h5:"Título 5",h6:"Título 6"},lists:{unordered:"Lista desordenada",ordered:"Lista ordenada"},options:{help:"Ayuda",fullscreen:"Pantalla completa",codeview:"Ver código fuente"},paragraph:{paragraph:"Párrafo",outdent:"Menos tabulación",indent:"Más tabulación",left:"Alinear a la izquierda",center:"Alinear al centro",right:"Alinear a la derecha",justify:"Justificar"},color:{recent:"Último color",more:"Más colores",background:"Color de fondo",foreground:"Color de fuente",transparent:"Transparente",setTransparent:"Establecer transparente",reset:"Restaurar",resetToDefault:"Restaurar por defecto"},shortcut:{shortcuts:"Atajos de teclado",close:"Cerrar",textFormatting:"Formato de texto",action:"Acción",paragraphFormatting:"Formato de párrafo",documentStyle:"Estilo de documento",extraKeys:"Teclas adicionales"},help:{insertParagraph:"Insertar párrafo",undo:"Deshacer última acción",redo:"Rehacer última acción",tab:"Tabular",untab:"Eliminar tabulación",bold:"Establecer estilo negrita",italic:"Establecer estilo cursiva",underline:"Establecer estilo subrayado",strikethrough:"Establecer estilo tachado",removeFormat:"Limpiar estilo",justifyLeft:"Alinear a la izquierda",justifyCenter:"Alinear al centro",justifyRight:"Alinear a la derecha",justifyFull:"Justificar",insertUnorderedList:"Insertar lista desordenada",insertOrderedList:"Insertar lista ordenada",outdent:"Reducir tabulación del párrafo",indent:"Aumentar tabulación del párrafo",formatPara:"Cambiar estilo del bloque a párrafo (etiqueta P)",formatH1:"Cambiar estilo del bloque a H1",formatH2:"Cambiar estilo del bloque a H2",formatH3:"Cambiar estilo del bloque a H3",formatH4:"Cambiar estilo del bloque a H4",formatH5:"Cambiar estilo del bloque a H5",formatH6:"Cambiar estilo del bloque a H6",insertHorizontalRule:"Insertar línea horizontal","linkDialog.show":"Mostrar panel enlaces"},history:{undo:"Deshacer",redo:"Rehacer"},specialChar:{specialChar:"CARACTERES ESPECIALES",select:"Selecciona Caracteres especiales"}}})}(jQuery);PK�{�\ݕو��lang/summernote-nb-NO.jsnu�[���(function($) { $.extend($.summernote.lang, { 'nb-NO': { font: { bold: 'Fet', italic: 'Kursiv', underline: 'Understrek', clear: 'Fjern formatering', height: 'Linjehøyde', name: 'Skrifttype', strikethrough: 'Gjennomstrek', subscript: 'Subscript', superscript: 'Superscript', size: 'Skriftstørrelse' }, image: { image: 'Bilde', insert: 'Sett inn bilde', resizeFull: 'Sett full størrelse', resizeHalf: 'Sett halv størrelse', resizeQuarter: 'Sett kvart størrelse', floatLeft: 'Flyt til venstre', floatRight: 'Flyt til høyre', floatNone: 'Fjern flyt', shapeRounded: 'Shape: Rounded', shapeCircle: 'Shape: Circle', shapeThumbnail: 'Shape: Thumbnail', shapeNone: 'Shape: None', dragImageHere: 'Dra et bilde hit', dropImage: 'Drop image or Text', selectFromFiles: 'Velg fra filer', maximumFileSize: 'Maximum file size', maximumFileSizeError: 'Maximum file size exceeded.', url: 'Bilde-URL', remove: 'Fjern bilde', original: 'Original' }, video: { video: 'Video', videoLink: 'Videolenke', insert: 'Sett inn video', url: 'Video-URL', providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion eller Youku)' }, link: { link: 'Lenke', insert: 'Sett inn lenke', unlink: 'Fjern lenke', edit: 'Rediger', textToDisplay: 'Visningstekst', url: 'Til hvilken URL skal denne lenken peke?', openInNewWindow: 'Åpne i nytt vindu' }, table: { table: 'Tabell', addRowAbove: 'Add row above', addRowBelow: 'Add row below', addColLeft: 'Add column left', addColRight: 'Add column right', delRow: 'Delete row', delCol: 'Delete column', delTable: 'Delete table' }, hr: { insert: 'Sett inn horisontal linje' }, style: { style: 'Stil', p: 'p', blockquote: 'Sitat', pre: 'Kode', h1: 'Overskrift 1', h2: 'Overskrift 2', h3: 'Overskrift 3', h4: 'Overskrift 4', h5: 'Overskrift 5', h6: 'Overskrift 6' }, lists: { unordered: 'Punktliste', ordered: 'Nummerert liste' }, options: { help: 'Hjelp', fullscreen: 'Fullskjerm', codeview: 'HTML-visning' }, paragraph: { paragraph: 'Avsnitt', outdent: 'Tilbakerykk', indent: 'Innrykk', left: 'Venstrejustert', center: 'Midtstilt', right: 'Høyrejustert', justify: 'Blokkjustert' }, color: { recent: 'Nylig valgt farge', more: 'Flere farger', background: 'Bakgrunnsfarge', foreground: 'Skriftfarge', transparent: 'Gjennomsiktig', setTransparent: 'Sett gjennomsiktig', reset: 'Nullstill', resetToDefault: 'Nullstill til standard' }, shortcut: { shortcuts: 'Hurtigtaster', close: 'Lukk', textFormatting: 'Tekstformatering', action: 'Handling', paragraphFormatting: 'Avsnittsformatering', documentStyle: 'Dokumentstil' }, help: { 'insertParagraph': 'Insert Paragraph', 'undo': 'Undoes the last command', 'redo': 'Redoes the last command', 'tab': 'Tab', 'untab': 'Untab', 'bold': 'Set a bold style', 'italic': 'Set a italic style', 'underline': 'Set a underline style', 'strikethrough': 'Set a strikethrough style', 'removeFormat': 'Clean a style', 'justifyLeft': 'Set left align', 'justifyCenter': 'Set center align', 'justifyRight': 'Set right align', 'justifyFull': 'Set full align', 'insertUnorderedList': 'Toggle unordered list', 'insertOrderedList': 'Toggle ordered list', 'outdent': 'Outdent on current paragraph', 'indent': 'Indent on current paragraph', 'formatPara': 'Change current block\'s format as a paragraph(P tag)', 'formatH1': 'Change current block\'s format as H1', 'formatH2': 'Change current block\'s format as H2', 'formatH3': 'Change current block\'s format as H3', 'formatH4': 'Change current block\'s format as H4', 'formatH5': 'Change current block\'s format as H5', 'formatH6': 'Change current block\'s format as H6', 'insertHorizontalRule': 'Insert horizontal rule', 'linkDialog.show': 'Show Link Dialog' }, history: { undo: 'Angre', redo: 'Gjør om' }, specialChar: { specialChar: 'SPECIAL CHARACTERS', select: 'Select Special characters' } } }); })(jQuery); PK�{�\�5H�++lang/summernote-ru-RU.min.jsnu�[���/*! Summernote v0.8.10 | (c) 2013- Alan Hong and other contributors | MIT license */ !function(e){e.extend(e.summernote.lang,{"ru-RU":{font:{bold:"Полужирный",italic:"Курсив",underline:"Подчёркнутый",clear:"Убрать стили шрифта",height:"Высота линии",name:"Шрифт",strikethrough:"Зачёркнутый",subscript:"Нижний индекс",superscript:"Верхний индекс",size:"Размер шрифта"},image:{image:"Картинка",insert:"Вставить картинку",resizeFull:"Восстановить размер",resizeHalf:"Уменьшить до 50%",resizeQuarter:"Уменьшить до 25%",floatLeft:"Расположить слева",floatRight:"Расположить справа",floatNone:"Расположение по-умолчанию",shapeRounded:"Форма: Закругленная",shapeCircle:"Форма: Круг",shapeThumbnail:"Форма: Миниатюра",shapeNone:"Форма: Нет",dragImageHere:"Перетащите сюда картинку",dropImage:"Перетащите картинку",selectFromFiles:"Выбрать из файлов",maximumFileSize:"Максимальный размер файла",maximumFileSizeError:"Превышен максимальный размер файла",url:"URL картинки",remove:"Удалить картинку",original:"Оригинал"},video:{video:"Видео",videoLink:"Ссылка на видео",insert:"Вставить видео",url:"URL видео",providers:"(YouTube, Vimeo, Vine, Instagram, DailyMotion или Youku)"},link:{link:"Ссылка",insert:"Вставить ссылку",unlink:"Убрать ссылку",edit:"Редактировать",textToDisplay:"Отображаемый текст",url:"URL для перехода",openInNewWindow:"Открывать в новом окне"},table:{table:"Таблица",addRowAbove:"Добавить строку выше",addRowBelow:"Добавить строку ниже",addColLeft:"Добавить столбец слева",addColRight:"Добавить столбец справа",delRow:"Удалить строку",delCol:"Удалить столбец",delTable:"Удалить таблицу"},hr:{insert:"Вставить горизонтальную линию"},style:{style:"Стиль",p:"Нормальный",blockquote:"Цитата",pre:"Код",h1:"Заголовок 1",h2:"Заголовок 2",h3:"Заголовок 3",h4:"Заголовок 4",h5:"Заголовок 5",h6:"Заголовок 6"},lists:{unordered:"Маркированный список",ordered:"Нумерованный список"},options:{help:"Помощь",fullscreen:"На весь экран",codeview:"Исходный код"},paragraph:{paragraph:"Параграф",outdent:"Уменьшить отступ",indent:"Увеличить отступ",left:"Выровнять по левому краю",center:"Выровнять по центру",right:"Выровнять по правому краю",justify:"Растянуть по ширине"},color:{recent:"Последний цвет",more:"Еще цвета",background:"Цвет фона",foreground:"Цвет шрифта",transparent:"Прозрачный",setTransparent:"Сделать прозрачным",reset:"Сброс",resetToDefault:"Восстановить умолчания"},shortcut:{shortcuts:"Сочетания клавиш",close:"Закрыть",textFormatting:"Форматирование текста",action:"Действие",paragraphFormatting:"Форматирование параграфа",documentStyle:"Стиль документа",extraKeys:"Дополнительные комбинации"},help:{insertParagraph:"Новый параграф",undo:"Отменить последнюю команду",redo:"Повторить последнюю команду",tab:"Tab",untab:"Untab",bold:'Установить стиль "Жирный"',italic:'Установить стиль "Наклонный"',underline:'Установить стиль "Подчеркнутый"',strikethrough:'Установить стиль "Зачеркнутый"',removeFormat:"Сборсить стили",justifyLeft:"Выровнять по левому краю",justifyCenter:"Выровнять по центру",justifyRight:"Выровнять по правому краю",justifyFull:"Растянуть на всю ширину",insertUnorderedList:"Включить/отключить маркированный список",insertOrderedList:"Включить/отключить нумерованный список",outdent:"Убрать отступ в текущем параграфе",indent:"Вставить отступ в текущем параграфе",formatPara:"Форматировать текущий блок как параграф (тег P)",formatH1:"Форматировать текущий блок как H1",formatH2:"Форматировать текущий блок как H2",formatH3:"Форматировать текущий блок как H3",formatH4:"Форматировать текущий блок как H4",formatH5:"Форматировать текущий блок как H5",formatH6:"Форматировать текущий блок как H6",insertHorizontalRule:"Вставить горизонтальную черту","linkDialog.show":'Показать диалог "Ссылка"'},history:{undo:"Отменить",redo:"Повтор"},specialChar:{specialChar:"SPECIAL CHARACTERS",select:"Select Special characters"}}})}(jQuery);PK�{�\5r���lang/summernote-sr-RS.jsnu�[���(function($) { $.extend($.summernote.lang, { 'sr-RS': { font: { bold: 'Подебљано', italic: 'Курзив', underline: 'Подвучено', clear: 'Уклони стилове фонта', height: 'Висина линије', name: 'Font Family', strikethrough: 'Прецртано', subscript: 'Subscript', superscript: 'Superscript', size: 'Величина фонта' }, image: { image: 'Слика', insert: 'Уметни слику', resizeFull: 'Пуна величина', resizeHalf: 'Умањи на 50%', resizeQuarter: 'Умањи на 25%', floatLeft: 'Уз леву ивицу', floatRight: 'Уз десну ивицу', floatNone: 'Без равнања', shapeRounded: 'Shape: Rounded', shapeCircle: 'Shape: Circle', shapeThumbnail: 'Shape: Thumbnail', shapeNone: 'Shape: None', dragImageHere: 'Превуци слику овде', dropImage: 'Drop image or Text', selectFromFiles: 'Изабери из датотеке', maximumFileSize: 'Maximum file size', maximumFileSizeError: 'Maximum file size exceeded.', url: 'Адреса слике', remove: 'Уклони слику', original: 'Original' }, video: { video: 'Видео', videoLink: 'Веза ка видеу', insert: 'Уметни видео', url: 'URL видео', providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion или Youku)' }, link: { link: 'Веза', insert: 'Уметни везу', unlink: 'Уклони везу', edit: 'Уреди', textToDisplay: 'Текст за приказ', url: 'Интернет адреса', openInNewWindow: 'Отвори у новом прозору' }, table: { table: 'Табела', addRowAbove: 'Add row above', addRowBelow: 'Add row below', addColLeft: 'Add column left', addColRight: 'Add column right', delRow: 'Delete row', delCol: 'Delete column', delTable: 'Delete table' }, hr: { insert: 'Уметни хоризонталну линију' }, style: { style: 'Стил', p: 'Нормални', blockquote: 'Цитат', pre: 'Код', h1: 'Заглавље 1', h2: 'Заглавље 2', h3: 'Заглавље 3', h4: 'Заглавље 4', h5: 'Заглавље 5', h6: 'Заглавље 6' }, lists: { unordered: 'Обична листа', ordered: 'Нумерисана листа' }, options: { help: 'Помоћ', fullscreen: 'Преко целог екрана', codeview: 'Изворни код' }, paragraph: { paragraph: 'Параграф', outdent: 'Смањи увлачење', indent: 'Повечај увлачење', left: 'Поравнај у лево', center: 'Центрирано', right: 'Поравнај у десно', justify: 'Поравнај обострано' }, color: { recent: 'Последња боја', more: 'Више боја', background: 'Боја позадине', foreground: 'Боја текста', transparent: 'Провидна', setTransparent: 'Провидна', reset: 'Опозив', resetToDefault: 'Подразумевана' }, shortcut: { shortcuts: 'Пречице са тастатуре', close: 'Затвори', textFormatting: 'Форматирање текста', action: 'Акција', paragraphFormatting: 'Форматирање параграфа', documentStyle: 'Стил документа', extraKeys: 'Додатне комбинације' }, help: { 'insertParagraph': 'Insert Paragraph', 'undo': 'Undoes the last command', 'redo': 'Redoes the last command', 'tab': 'Tab', 'untab': 'Untab', 'bold': 'Set a bold style', 'italic': 'Set a italic style', 'underline': 'Set a underline style', 'strikethrough': 'Set a strikethrough style', 'removeFormat': 'Clean a style', 'justifyLeft': 'Set left align', 'justifyCenter': 'Set center align', 'justifyRight': 'Set right align', 'justifyFull': 'Set full align', 'insertUnorderedList': 'Toggle unordered list', 'insertOrderedList': 'Toggle ordered list', 'outdent': 'Outdent on current paragraph', 'indent': 'Indent on current paragraph', 'formatPara': 'Change current block\'s format as a paragraph(P tag)', 'formatH1': 'Change current block\'s format as H1', 'formatH2': 'Change current block\'s format as H2', 'formatH3': 'Change current block\'s format as H3', 'formatH4': 'Change current block\'s format as H4', 'formatH5': 'Change current block\'s format as H5', 'formatH6': 'Change current block\'s format as H6', 'insertHorizontalRule': 'Insert horizontal rule', 'linkDialog.show': 'Show Link Dialog' }, history: { undo: 'Поништи', redo: 'Понови' }, specialChar: { specialChar: 'SPECIAL CHARACTERS', select: 'Select Special characters' } } }); })(jQuery); PK�{�\[�^^lang/summernote-tr-TR.min.jsnu�[���/*! Summernote v0.8.10 | (c) 2013- Alan Hong and other contributors | MIT license */ !function(a){a.extend(a.summernote.lang,{"tr-TR":{font:{bold:"Kalın",italic:"İtalik",underline:"Altı çizili",clear:"Temizle",height:"Satır yüksekliği",name:"Yazı Tipi",strikethrough:"Üstü çizili",subscript:"Alt Simge",superscript:"Üst Simge",size:"Yazı tipi boyutu"},image:{image:"Resim",insert:"Resim ekle",resizeFull:"Orjinal boyut",resizeHalf:"1/2 boyut",resizeQuarter:"1/4 boyut",floatLeft:"Sola hizala",floatRight:"Sağa hizala",floatNone:"Hizalamayı kaldır",shapeRounded:"Şekil: Yuvarlatılmış Köşe",shapeCircle:"Şekil: Daire",shapeThumbnail:"Şekil: K.Resim",shapeNone:"Şekil: Yok",dragImageHere:"Buraya sürükleyin",dropImage:"Resim veya metni bırakın",selectFromFiles:"Dosya seçin",maximumFileSize:"Maksimum dosya boyutu",maximumFileSizeError:"Maksimum dosya boyutu aşıldı.",url:"Resim bağlantısı",remove:"Resimi Kaldır",original:"Original"},video:{video:"Video",videoLink:"Video bağlantısı",insert:"Video ekle",url:"Video bağlantısı?",providers:"(YouTube, Vimeo, Vine, Instagram, DailyMotion veya Youku)"},link:{link:"Bağlantı",insert:"Bağlantı ekle",unlink:"Bağlantıyı kaldır",edit:"Bağlantıyı düzenle",textToDisplay:"Görüntülemek için",url:"Bağlantı adresi?",openInNewWindow:"Yeni pencerede aç"},table:{table:"Tablo",addRowAbove:"Yukarı satır ekle",addRowBelow:"Aşağı satır ekle",addColLeft:"Sola sütun ekle",addColRight:"Sağa sütun ekle",delRow:"Satırı sil",delCol:"Sütunu sil",delTable:"Tabloyu sil"},hr:{insert:"Yatay çizgi ekle"},style:{style:"Biçim",p:"p",blockquote:"Alıntı",pre:"Önbiçimli",h1:"Başlık 1",h2:"Başlık 2",h3:"Başlık 3",h4:"Başlık 4",h5:"Başlık 5",h6:"Başlık 6"},lists:{unordered:"Madde işaretli liste",ordered:"Numaralı liste"},options:{help:"Yardım",fullscreen:"Tam ekran",codeview:"HTML Kodu"},paragraph:{paragraph:"Paragraf",outdent:"Girintiyi artır",indent:"Girintiyi azalt",left:"Sola hizala",center:"Ortaya hizala",right:"Sağa hizala",justify:"Yasla"},color:{recent:"Son renk",more:"Daha fazla renk",background:"Arka plan rengi",foreground:"Yazı rengi",transparent:"Seffaflık",setTransparent:"Şeffaflığı ayarla",reset:"Sıfırla",resetToDefault:"Varsayılanlara sıfırla"},shortcut:{shortcuts:"Kısayollar",close:"Kapat",textFormatting:"Yazı biçimlendirme",action:"Eylem",paragraphFormatting:"Paragraf biçimlendirme",documentStyle:"Biçim",extraKeys:"İlave anahtarlar"},help:{insertParagraph:"Paragraf ekler",undo:"Son komudu geri alır",redo:"Son komudu yineler",tab:"Girintiyi artırır",untab:"Girintiyi azaltır",bold:"Kalın yazma stilini ayarlar",italic:"İtalik yazma stilini ayarlar",underline:"Altı çizgili yazma stilini ayarlar",strikethrough:"Üstü çizgili yazma stilini ayarlar",removeFormat:"Biçimlendirmeyi temizler",justifyLeft:"Yazıyı sola hizalar",justifyCenter:"Yazıyı ortalar",justifyRight:"Yazıyı sağa hizalar",justifyFull:"Yazıyı her iki tarafa yazlar",insertUnorderedList:"Madde işaretli liste ekler",insertOrderedList:"Numaralı liste ekler",outdent:"Aktif paragrafın girintisini azaltır",indent:"Aktif paragrafın girintisini artırır",formatPara:"Aktif bloğun biçimini paragraf (p) olarak değiştirir",formatH1:"Aktif bloğun biçimini başlık 1 (h1) olarak değiştirir",formatH2:"Aktif bloğun biçimini başlık 2 (h2) olarak değiştirir",formatH3:"Aktif bloğun biçimini başlık 3 (h3) olarak değiştirir",formatH4:"Aktif bloğun biçimini başlık 4 (h4) olarak değiştirir",formatH5:"Aktif bloğun biçimini başlık 5 (h5) olarak değiştirir",formatH6:"Aktif bloğun biçimini başlık 6 (h6) olarak değiştirir",insertHorizontalRule:"Yatay çizgi ekler","linkDialog.show":"Bağlantı ayar kutusunu gösterir"},history:{undo:"Geri al",redo:"Yinele"},specialChar:{specialChar:"ÖZEL KARAKTERLER",select:"Özel Karakterleri seçin"}}})}(jQuery);PK�{�\��RRlang/summernote-th-TH.min.jsnu�[���/*! Summernote v0.8.10 | (c) 2013- Alan Hong and other contributors | MIT license */ !function(e){e.extend(e.summernote.lang,{"th-TH":{font:{bold:"ตัวหนา",italic:"ตัวเอียง",underline:"ขีดเส้นใต้",clear:"ล้างรูปแบบตัวอักษร",height:"ความสูงบรรทัด",name:"แบบตัวอักษร",strikethrough:"ขีดฆ่า",subscript:"ตัวห้อย",superscript:"ตัวยก",size:"ขนาดตัวอักษร"},image:{image:"รูปภาพ",insert:"แทรกรูปภาพ",resizeFull:"ปรับขนาดเท่าจริง",resizeHalf:"ปรับขนาดลง 50%",resizeQuarter:"ปรับขนาดลง 25%",floatLeft:"ชิดซ้าย",floatRight:"ชิดขวา",floatNone:"ไม่จัดตำแหน่ง",shapeRounded:"Shape: Rounded",shapeCircle:"Shape: Circle",shapeThumbnail:"Shape: Thumbnail",shapeNone:"Shape: None",dragImageHere:"ลากรูปภาพที่ต้องการไว้ที่นี่",dropImage:"Drop image or Text",selectFromFiles:"เลือกไฟล์รูปภาพ",maximumFileSize:"Maximum file size",maximumFileSizeError:"Maximum file size exceeded.",url:"ที่อยู่ URL ของรูปภาพ",remove:"ลบรูปภาพ",original:"Original"},video:{video:"วีดีโอ",videoLink:"ลิงก์ของวีดีโอ",insert:"แทรกวีดีโอ",url:"ที่อยู่ URL ของวีดีโอ?",providers:"(YouTube, Vimeo, Vine, Instagram, DailyMotion หรือ Youku)"},link:{link:"ตัวเชื่อมโยง",insert:"แทรกตัวเชื่อมโยง",unlink:"ยกเลิกตัวเชื่อมโยง",edit:"แก้ไข",textToDisplay:"ข้อความที่ให้แสดง",url:"ที่อยู่เว็บไซต์ที่ต้องการให้เชื่อมโยงไปถึง?",openInNewWindow:"เปิดในหน้าต่างใหม่"},table:{table:"ตาราง",addRowAbove:"Add row above",addRowBelow:"Add row below",addColLeft:"Add column left",addColRight:"Add column right",delRow:"Delete row",delCol:"Delete column",delTable:"Delete table"},hr:{insert:"แทรกเส้นคั่น"},style:{style:"รูปแบบ",p:"ปกติ",blockquote:"ข้อความ",pre:"โค้ด",h1:"หัวข้อ 1",h2:"หัวข้อ 2",h3:"หัวข้อ 3",h4:"หัวข้อ 4",h5:"หัวข้อ 5",h6:"หัวข้อ 6"},lists:{unordered:"รายการแบบไม่มีลำดับ",ordered:"รายการแบบมีลำดับ"},options:{help:"ช่วยเหลือ",fullscreen:"ขยายเต็มหน้าจอ",codeview:"ซอร์สโค้ด"},paragraph:{paragraph:"ย่อหน้า",outdent:"เยื้องซ้าย",indent:"เยื้องขวา",left:"จัดหน้าชิดซ้าย",center:"จัดหน้ากึ่งกลาง",right:"จัดหน้าชิดขวา",justify:"จัดบรรทัดเสมอกัน"},color:{recent:"สีที่ใช้ล่าสุด",more:"สีอื่นๆ",background:"สีพื้นหลัง",foreground:"สีพื้นหน้า",transparent:"โปร่งแสง",setTransparent:"ตั้งค่าความโปร่งแสง",reset:"คืนค่า",resetToDefault:"คืนค่ามาตรฐาน"},shortcut:{shortcuts:"แป้นลัด",close:"ปิด",textFormatting:"การจัดรูปแบบข้อความ",action:"การกระทำ",paragraphFormatting:"การจัดรูปแบบย่อหน้า",documentStyle:"รูปแบบของเอกสาร",extraKeys:"Extra keys"},help:{insertParagraph:"Insert Paragraph",undo:"Undoes the last command",redo:"Redoes the last command",tab:"Tab",untab:"Untab",bold:"Set a bold style",italic:"Set a italic style",underline:"Set a underline style",strikethrough:"Set a strikethrough style",removeFormat:"Clean a style",justifyLeft:"Set left align",justifyCenter:"Set center align",justifyRight:"Set right align",justifyFull:"Set full align",insertUnorderedList:"Toggle unordered list",insertOrderedList:"Toggle ordered list",outdent:"Outdent on current paragraph",indent:"Indent on current paragraph",formatPara:"Change current block's format as a paragraph(P tag)",formatH1:"Change current block's format as H1",formatH2:"Change current block's format as H2",formatH3:"Change current block's format as H3",formatH4:"Change current block's format as H4",formatH5:"Change current block's format as H5",formatH6:"Change current block's format as H6",insertHorizontalRule:"Insert horizontal rule","linkDialog.show":"Show Link Dialog"},history:{undo:"ยกเลิกการกระทำ",redo:"ทำซ้ำการกระทำ"},specialChar:{specialChar:"SPECIAL CHARACTERS",select:"Select Special characters"}}})}(jQuery);PK�{�\uS)�OOlang/summernote-uk-UA.min.jsnu�[���/*! Summernote v0.8.10 | (c) 2013- Alan Hong and other contributors | MIT license */ !function(e){e.extend(e.summernote.lang,{"uk-UA":{font:{bold:"Напівжирний",italic:"Курсив",underline:"Підкреслений",clear:"Прибрати стилі шрифту",height:"Висота лінії",name:"Шрифт",strikethrough:"Закреслений",subscript:"Нижній індекс",superscript:"Верхній індекс",size:"Розмір шрифту"},image:{image:"Картинка",insert:"Вставити картинку",resizeFull:"Відновити розмір",resizeHalf:"Зменшити до 50%",resizeQuarter:"Зменшити до 25%",floatLeft:"Розташувати ліворуч",floatRight:"Розташувати праворуч",floatNone:"Початкове розташування",shapeRounded:"Форма: Заокруглена",shapeCircle:"Форма: Коло",shapeThumbnail:"Форма: Мініатюра",shapeNone:"Форма: Немає",dragImageHere:"Перетягніть сюди картинку",dropImage:"Перетягніть картинку",selectFromFiles:"Вибрати з файлів",maximumFileSize:"Maximum file size",maximumFileSizeError:"Maximum file size exceeded.",url:"URL картинки",remove:"Видалити картинку",original:"Original"},video:{video:"Відео",videoLink:"Посилання на відео",insert:"Вставити відео",url:"URL відео",providers:"(YouTube, Vimeo, Vine, Instagram, DailyMotion чи Youku)"},link:{link:"Посилання",insert:"Вставити посилання",unlink:"Прибрати посилання",edit:"Редагувати",textToDisplay:"Текст, що відображається",url:"URL для переходу",openInNewWindow:"Відкривати у новому вікні"},table:{table:"Таблиця",addRowAbove:"Add row above",addRowBelow:"Add row below",addColLeft:"Add column left",addColRight:"Add column right",delRow:"Delete row",delCol:"Delete column",delTable:"Delete table"},hr:{insert:"Вставити горизонтальну лінію"},style:{style:"Стиль",p:"Нормальний",blockquote:"Цитата",pre:"Код",h1:"Заголовок 1",h2:"Заголовок 2",h3:"Заголовок 3",h4:"Заголовок 4",h5:"Заголовок 5",h6:"Заголовок 6"},lists:{unordered:"Маркований список",ordered:"Нумерований список"},options:{help:"Допомога",fullscreen:"На весь екран",codeview:"Початковий код"},paragraph:{paragraph:"Параграф",outdent:"Зменшити відступ",indent:"Збільшити відступ",left:"Вирівняти по лівому краю",center:"Вирівняти по центру",right:"Вирівняти по правому краю",justify:"Розтягнути по ширині"},color:{recent:"Останній колір",more:"Ще кольори",background:"Колір фону",foreground:"Колір шрифту",transparent:"Прозорий",setTransparent:"Зробити прозорим",reset:"Відновити",resetToDefault:"Відновити початкові"},shortcut:{shortcuts:"Комбінації клавіш",close:"Закрити",textFormatting:"Форматування тексту",action:"Дія",paragraphFormatting:"Форматування параграфу",documentStyle:"Стиль документу",extraKeys:"Extra keys"},help:{insertParagraph:"Insert Paragraph",undo:"Undoes the last command",redo:"Redoes the last command",tab:"Tab",untab:"Untab",bold:"Set a bold style",italic:"Set a italic style",underline:"Set a underline style",strikethrough:"Set a strikethrough style",removeFormat:"Clean a style",justifyLeft:"Set left align",justifyCenter:"Set center align",justifyRight:"Set right align",justifyFull:"Set full align",insertUnorderedList:"Toggle unordered list",insertOrderedList:"Toggle ordered list",outdent:"Outdent on current paragraph",indent:"Indent on current paragraph",formatPara:"Change current block's format as a paragraph(P tag)",formatH1:"Change current block's format as H1",formatH2:"Change current block's format as H2",formatH3:"Change current block's format as H3",formatH4:"Change current block's format as H4",formatH5:"Change current block's format as H5",formatH6:"Change current block's format as H6",insertHorizontalRule:"Insert horizontal rule","linkDialog.show":"Show Link Dialog"},history:{undo:"Відмінити",redo:"Повторити"},specialChar:{specialChar:"SPECIAL CHARACTERS",select:"Select Special characters"}}})}(jQuery);PK�{�\��+�ZZlang/summernote-zh-TW.jsnu�[���(function($) { $.extend($.summernote.lang, { 'zh-TW': { font: { bold: '粗體', italic: '斜體', underline: '底線', clear: '清除格式', height: '行高', name: '字體', strikethrough: '刪除線', subscript: '下標', superscript: '上標', size: '字號' }, image: { image: '圖片', insert: '插入圖片', resizeFull: '縮放至100%', resizeHalf: '縮放至 50%', resizeQuarter: '縮放至 25%', floatLeft: '靠左浮動', floatRight: '靠右浮動', floatNone: '取消浮動', shapeRounded: '形狀: 圓角', shapeCircle: '形狀: 圓', shapeThumbnail: '形狀: 縮略圖', shapeNone: '形狀: 無', dragImageHere: '將圖片拖曳至此處', dropImage: 'Drop image or Text', selectFromFiles: '從本機上傳', maximumFileSize: '文件大小最大值', maximumFileSizeError: '文件大小超出最大值。', url: '圖片網址', remove: '移除圖片', original: 'Original' }, video: { video: '影片', videoLink: '影片連結', insert: '插入影片', url: '影片網址', providers: '(優酷, Instagram, DailyMotion, Youtube等)' }, link: { link: '連結', insert: '插入連結', unlink: '取消連結', edit: '編輯連結', textToDisplay: '顯示文字', url: '連結網址', openInNewWindow: '在新視窗開啟' }, table: { table: '表格', addRowAbove: 'Add row above', addRowBelow: 'Add row below', addColLeft: 'Add column left', addColRight: 'Add column right', delRow: 'Delete row', delCol: 'Delete column', delTable: 'Delete table' }, hr: { insert: '水平線' }, style: { style: '樣式', p: '一般', blockquote: '引用區塊', pre: '程式碼區塊', h1: '標題 1', h2: '標題 2', h3: '標題 3', h4: '標題 4', h5: '標題 5', h6: '標題 6' }, lists: { unordered: '項目清單', ordered: '編號清單' }, options: { help: '幫助', fullscreen: '全螢幕', codeview: '原始碼' }, paragraph: { paragraph: '段落', outdent: '取消縮排', indent: '增加縮排', left: '靠右對齊', center: '靠中對齊', right: '靠右對齊', justify: '左右對齊' }, color: { recent: '字型顏色', more: '更多', background: '背景', foreground: '前景', transparent: '透明', setTransparent: '透明', reset: '重設', resetToDefault: '默認' }, shortcut: { shortcuts: '快捷鍵', close: '關閉', textFormatting: '文字格式', action: '動作', paragraphFormatting: '段落格式', documentStyle: '文件格式', extraKeys: '額外按鍵' }, help: { 'insertParagraph': 'Insert Paragraph', 'undo': 'Undoes the last command', 'redo': 'Redoes the last command', 'tab': 'Tab', 'untab': 'Untab', 'bold': 'Set a bold style', 'italic': 'Set a italic style', 'underline': 'Set a underline style', 'strikethrough': 'Set a strikethrough style', 'removeFormat': 'Clean a style', 'justifyLeft': 'Set left align', 'justifyCenter': 'Set center align', 'justifyRight': 'Set right align', 'justifyFull': 'Set full align', 'insertUnorderedList': 'Toggle unordered list', 'insertOrderedList': 'Toggle ordered list', 'outdent': 'Outdent on current paragraph', 'indent': 'Indent on current paragraph', 'formatPara': 'Change current block\'s format as a paragraph(P tag)', 'formatH1': 'Change current block\'s format as H1', 'formatH2': 'Change current block\'s format as H2', 'formatH3': 'Change current block\'s format as H3', 'formatH4': 'Change current block\'s format as H4', 'formatH5': 'Change current block\'s format as H5', 'formatH6': 'Change current block\'s format as H6', 'insertHorizontalRule': 'Insert horizontal rule', 'linkDialog.show': 'Show Link Dialog' }, history: { undo: '復原', redo: '取消復原' }, specialChar: { specialChar: 'SPECIAL CHARACTERS', select: 'Select Special characters' } } }); })(jQuery); PK�{�\8N�kklang/summernote-uk-UA.jsnu�[���(function($) { $.extend($.summernote.lang, { 'uk-UA': { font: { bold: 'Напівжирний', italic: 'Курсив', underline: 'Підкреслений', clear: 'Прибрати стилі шрифту', height: 'Висота лінії', name: 'Шрифт', strikethrough: 'Закреслений', subscript: 'Нижній індекс', superscript: 'Верхній індекс', size: 'Розмір шрифту' }, image: { image: 'Картинка', insert: 'Вставити картинку', resizeFull: 'Відновити розмір', resizeHalf: 'Зменшити до 50%', resizeQuarter: 'Зменшити до 25%', floatLeft: 'Розташувати ліворуч', floatRight: 'Розташувати праворуч', floatNone: 'Початкове розташування', shapeRounded: 'Форма: Заокруглена', shapeCircle: 'Форма: Коло', shapeThumbnail: 'Форма: Мініатюра', shapeNone: 'Форма: Немає', dragImageHere: 'Перетягніть сюди картинку', dropImage: 'Перетягніть картинку', selectFromFiles: 'Вибрати з файлів', maximumFileSize: 'Maximum file size', maximumFileSizeError: 'Maximum file size exceeded.', url: 'URL картинки', remove: 'Видалити картинку', original: 'Original' }, video: { video: 'Відео', videoLink: 'Посилання на відео', insert: 'Вставити відео', url: 'URL відео', providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion чи Youku)' }, link: { link: 'Посилання', insert: 'Вставити посилання', unlink: 'Прибрати посилання', edit: 'Редагувати', textToDisplay: 'Текст, що відображається', url: 'URL для переходу', openInNewWindow: 'Відкривати у новому вікні' }, table: { table: 'Таблиця', addRowAbove: 'Add row above', addRowBelow: 'Add row below', addColLeft: 'Add column left', addColRight: 'Add column right', delRow: 'Delete row', delCol: 'Delete column', delTable: 'Delete table' }, hr: { insert: 'Вставити горизонтальну лінію' }, style: { style: 'Стиль', p: 'Нормальний', blockquote: 'Цитата', pre: 'Код', h1: 'Заголовок 1', h2: 'Заголовок 2', h3: 'Заголовок 3', h4: 'Заголовок 4', h5: 'Заголовок 5', h6: 'Заголовок 6' }, lists: { unordered: 'Маркований список', ordered: 'Нумерований список' }, options: { help: 'Допомога', fullscreen: 'На весь екран', codeview: 'Початковий код' }, paragraph: { paragraph: 'Параграф', outdent: 'Зменшити відступ', indent: 'Збільшити відступ', left: 'Вирівняти по лівому краю', center: 'Вирівняти по центру', right: 'Вирівняти по правому краю', justify: 'Розтягнути по ширині' }, color: { recent: 'Останній колір', more: 'Ще кольори', background: 'Колір фону', foreground: 'Колір шрифту', transparent: 'Прозорий', setTransparent: 'Зробити прозорим', reset: 'Відновити', resetToDefault: 'Відновити початкові' }, shortcut: { shortcuts: 'Комбінації клавіш', close: 'Закрити', textFormatting: 'Форматування тексту', action: 'Дія', paragraphFormatting: 'Форматування параграфу', documentStyle: 'Стиль документу', extraKeys: 'Extra keys' }, help: { 'insertParagraph': 'Insert Paragraph', 'undo': 'Undoes the last command', 'redo': 'Redoes the last command', 'tab': 'Tab', 'untab': 'Untab', 'bold': 'Set a bold style', 'italic': 'Set a italic style', 'underline': 'Set a underline style', 'strikethrough': 'Set a strikethrough style', 'removeFormat': 'Clean a style', 'justifyLeft': 'Set left align', 'justifyCenter': 'Set center align', 'justifyRight': 'Set right align', 'justifyFull': 'Set full align', 'insertUnorderedList': 'Toggle unordered list', 'insertOrderedList': 'Toggle ordered list', 'outdent': 'Outdent on current paragraph', 'indent': 'Indent on current paragraph', 'formatPara': 'Change current block\'s format as a paragraph(P tag)', 'formatH1': 'Change current block\'s format as H1', 'formatH2': 'Change current block\'s format as H2', 'formatH3': 'Change current block\'s format as H3', 'formatH4': 'Change current block\'s format as H4', 'formatH5': 'Change current block\'s format as H5', 'formatH6': 'Change current block\'s format as H6', 'insertHorizontalRule': 'Insert horizontal rule', 'linkDialog.show': 'Show Link Dialog' }, history: { undo: 'Відмінити', redo: 'Повторити' }, specialChar: { specialChar: 'SPECIAL CHARACTERS', select: 'Select Special characters' } } }); })(jQuery); PK�{�\@�T;lang/summernote-pl-PL.min.jsnu�[���/*! Summernote v0.8.10 | (c) 2013- Alan Hong and other contributors | MIT license */ !function(e){e.extend(e.summernote.lang,{"pl-PL":{font:{bold:"Pogrubienie",italic:"Pochylenie",underline:"Podkreślenie",clear:"Usuń formatowanie",height:"Interlinia",name:"Czcionka",strikethrough:"Przekreślenie",subscript:"Indeks dolny",superscript:"Indeks górny",size:"Rozmiar"},image:{image:"Grafika",insert:"Wstaw grafikę",resizeFull:"Zmień rozmiar na 100%",resizeHalf:"Zmień rozmiar na 50%",resizeQuarter:"Zmień rozmiar na 25%",floatLeft:"Po lewej",floatRight:"Po prawej",floatNone:"Równo z tekstem",shapeRounded:"Kształt: zaokrąglone",shapeCircle:"Kształt: okrąg",shapeThumbnail:"Kształt: miniatura",shapeNone:"Kształt: brak",dragImageHere:"Przeciągnij grafikę lub tekst tutaj",dropImage:"Przeciągnij grafikę lub tekst",selectFromFiles:"Wybierz z dysku",maximumFileSize:"Limit wielkości pliku",maximumFileSizeError:"Przekroczono limit wielkości pliku.",url:"Adres URL grafiki",remove:"Usuń grafikę",original:"Original"},video:{video:"Wideo",videoLink:"Adres wideo",insert:"Wstaw wideo",url:"Adres wideo",providers:"(YouTube, Vimeo, Vine, Instagram, DailyMotion lub Youku)"},link:{link:"Odnośnik",insert:"Wstaw odnośnik",unlink:"Usuń odnośnik",edit:"Edytuj",textToDisplay:"Tekst do wyświetlenia",url:"Na jaki adres URL powinien przenosić ten odnośnik?",openInNewWindow:"Otwórz w nowym oknie"},table:{table:"Tabela",addRowAbove:"Add row above",addRowBelow:"Add row below",addColLeft:"Add column left",addColRight:"Add column right",delRow:"Delete row",delCol:"Delete column",delTable:"Delete table"},hr:{insert:"Wstaw poziomą linię"},style:{style:"Style",p:"pny",blockquote:"Cytat",pre:"Kod",h1:"Nagłówek 1",h2:"Nagłówek 2",h3:"Nagłówek 3",h4:"Nagłówek 4",h5:"Nagłówek 5",h6:"Nagłówek 6"},lists:{unordered:"Lista wypunktowana",ordered:"Lista numerowana"},options:{help:"Pomoc",fullscreen:"Pełny ekran",codeview:"Źródło"},paragraph:{paragraph:"Akapit",outdent:"Zmniejsz wcięcie",indent:"Zwiększ wcięcie",left:"Wyrównaj do lewej",center:"Wyrównaj do środka",right:"Wyrównaj do prawej",justify:"Wyrównaj do lewej i prawej"},color:{recent:"Ostani kolor",more:"Więcej kolorów",background:"Tło",foreground:"Czcionka",transparent:"Przeźroczysty",setTransparent:"Przeźroczyste",reset:"Reset",resetToDefault:"Domyślne"},shortcut:{shortcuts:"Skróty klawiaturowe",close:"Zamknij",textFormatting:"Formatowanie tekstu",action:"Akcja",paragraphFormatting:"Formatowanie akapitu",documentStyle:"Styl dokumentu",extraKeys:"Dodatkowe klawisze"},help:{insertParagraph:"Insert Paragraph",undo:"Undoes the last command",redo:"Redoes the last command",tab:"Tab",untab:"Untab",bold:"Set a bold style",italic:"Set a italic style",underline:"Set a underline style",strikethrough:"Set a strikethrough style",removeFormat:"Clean a style",justifyLeft:"Set left align",justifyCenter:"Set center align",justifyRight:"Set right align",justifyFull:"Set full align",insertUnorderedList:"Toggle unordered list",insertOrderedList:"Toggle ordered list",outdent:"Outdent on current paragraph",indent:"Indent on current paragraph",formatPara:"Change current block's format as a paragraph(P tag)",formatH1:"Change current block's format as H1",formatH2:"Change current block's format as H2",formatH3:"Change current block's format as H3",formatH4:"Change current block's format as H4",formatH5:"Change current block's format as H5",formatH6:"Change current block's format as H6",insertHorizontalRule:"Insert horizontal rule","linkDialog.show":"Show Link Dialog"},history:{undo:"Cofnij",redo:"Ponów"},specialChar:{specialChar:"SPECIAL CHARACTERS",select:"Select Special characters"}}})}(jQuery);PK�{�\$����lang/summernote-sr-RS-Latin.jsnu�[���(function($) { $.extend($.summernote.lang, { 'sr-RS': { font: { bold: 'Podebljano', italic: 'Kurziv', underline: 'Podvučeno', clear: 'Ukloni stilove fonta', height: 'Visina linije', name: 'Font Family', strikethrough: 'Precrtano', subscript: 'Subscript', superscript: 'Superscript', size: 'Veličina fonta' }, image: { image: 'Slika', insert: 'Umetni sliku', resizeFull: 'Puna veličina', resizeHalf: 'Umanji na 50%', resizeQuarter: 'Umanji na 25%', floatLeft: 'Uz levu ivicu', floatRight: 'Uz desnu ivicu', floatNone: 'Bez ravnanja', shapeRounded: 'Shape: Rounded', shapeCircle: 'Shape: Circle', shapeThumbnail: 'Shape: Thumbnail', shapeNone: 'Shape: None', dragImageHere: 'Prevuci sliku ovde', dropImage: 'Drop image or Text', selectFromFiles: 'Izaberi iz datoteke', maximumFileSize: 'Maximum file size', maximumFileSizeError: 'Maximum file size exceeded.', url: 'Adresa slike', remove: 'Ukloni sliku', original: 'Original' }, video: { video: 'Video', videoLink: 'Veza ka videu', insert: 'Umetni video', url: 'URL video', providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion ili Youku)' }, link: { link: 'Veza', insert: 'Umetni vezu', unlink: 'Ukloni vezu', edit: 'Uredi', textToDisplay: 'Tekst za prikaz', url: 'Internet adresa', openInNewWindow: 'Otvori u novom prozoru' }, table: { table: 'Tabela', addRowAbove: 'Add row above', addRowBelow: 'Add row below', addColLeft: 'Add column left', addColRight: 'Add column right', delRow: 'Delete row', delCol: 'Delete column', delTable: 'Delete table' }, hr: { insert: 'Umetni horizontalnu liniju' }, style: { style: 'Stil', p: 'pni', blockquote: 'Citat', pre: 'Kod', h1: 'Zaglavlje 1', h2: 'Zaglavlje 2', h3: 'Zaglavlje 3', h4: 'Zaglavlje 4', h5: 'Zaglavlje 5', h6: 'Zaglavlje 6' }, lists: { unordered: 'Obična lista', ordered: 'Numerisana lista' }, options: { help: 'Pomoć', fullscreen: 'Preko celog ekrana', codeview: 'Izvorni kod' }, paragraph: { paragraph: 'Paragraf', outdent: 'Smanji uvlačenje', indent: 'Povečaj uvlačenje', left: 'Poravnaj u levo', center: 'Centrirano', right: 'Poravnaj u desno', justify: 'Poravnaj obostrano' }, color: { recent: 'Poslednja boja', more: 'Više boja', background: 'Boja pozadine', foreground: 'Boja teksta', transparent: 'Providna', setTransparent: 'Providna', reset: 'Opoziv', resetToDefault: 'Podrazumevana' }, shortcut: { shortcuts: 'Prečice sa tastature', close: 'Zatvori', textFormatting: 'Formatiranje teksta', action: 'Akcija', paragraphFormatting: 'Formatiranje paragrafa', documentStyle: 'Stil dokumenta', extraKeys: 'Dodatne kombinacije' }, help: { 'insertParagraph': 'Insert Paragraph', 'undo': 'Undoes the last command', 'redo': 'Redoes the last command', 'tab': 'Tab', 'untab': 'Untab', 'bold': 'Set a bold style', 'italic': 'Set a italic style', 'underline': 'Set a underline style', 'strikethrough': 'Set a strikethrough style', 'removeFormat': 'Clean a style', 'justifyLeft': 'Set left align', 'justifyCenter': 'Set center align', 'justifyRight': 'Set right align', 'justifyFull': 'Set full align', 'insertUnorderedList': 'Toggle unordered list', 'insertOrderedList': 'Toggle ordered list', 'outdent': 'Outdent on current paragraph', 'indent': 'Indent on current paragraph', 'formatPara': 'Change current block\'s format as a paragraph(P tag)', 'formatH1': 'Change current block\'s format as H1', 'formatH2': 'Change current block\'s format as H2', 'formatH3': 'Change current block\'s format as H3', 'formatH4': 'Change current block\'s format as H4', 'formatH5': 'Change current block\'s format as H5', 'formatH6': 'Change current block\'s format as H6', 'insertHorizontalRule': 'Insert horizontal rule', 'linkDialog.show': 'Show Link Dialog' }, history: { undo: 'Poništi', redo: 'Ponovi' }, specialChar: { specialChar: 'SPECIAL CHARACTERS', select: 'Select Special characters' } } }); })(jQuery); PK�{�\�k-�IIlang/summernote-sk-SK.min.jsnu�[���/*! Summernote v0.8.10 | (c) 2013- Alan Hong and other contributors | MIT license */ !function(e){e.extend(e.summernote.lang,{"sk-SK":{font:{bold:"Tučné",italic:"Kurzíva",underline:"Podčiarknutie",clear:"Odstrániť štýl písma",height:"Výška riadku",strikethrough:"Prečiarknuté",subscript:"Subscript",superscript:"Superscript",size:"Veľkosť písma"},image:{image:"Obrázok",insert:"Vložiť obrázok",resizeFull:"Pôvodná veľkosť",resizeHalf:"Polovičná veľkosť",resizeQuarter:"Štvrtinová veľkosť",floatLeft:"Umiestniť doľava",floatRight:"Umiestniť doprava",floatNone:"Bez zarovnania",shapeRounded:"Shape: Rounded",shapeCircle:"Shape: Circle",shapeThumbnail:"Shape: Thumbnail",shapeNone:"Shape: None",dragImageHere:"Pretiahnuť sem obrázok",dropImage:"Drop image or Text",selectFromFiles:"Vybrať súbor",maximumFileSize:"Maximum file size",maximumFileSizeError:"Maximum file size exceeded.",url:"URL obrázku",remove:"Remove Image",original:"Original"},video:{video:"Video",videoLink:"Odkaz videa",insert:"Vložiť video",url:"URL videa?",providers:"(YouTube, Vimeo, Vine, Instagram, DailyMotion alebo Youku)"},link:{link:"Odkaz",insert:"Vytvoriť odkaz",unlink:"Zrušiť odkaz",edit:"Upraviť",textToDisplay:"Zobrazovaný text",url:"Na akú URL adresu má tento odkaz viesť?",openInNewWindow:"Otvoriť v novom okne"},table:{table:"Tabuľka",addRowAbove:"Add row above",addRowBelow:"Add row below",addColLeft:"Add column left",addColRight:"Add column right",delRow:"Delete row",delCol:"Delete column",delTable:"Delete table"},hr:{insert:"Vložit vodorovnú čiaru"},style:{style:"Štýl",p:"Normálny",blockquote:"Citácia",pre:"Kód",h1:"Nadpis 1",h2:"Nadpis 2",h3:"Nadpis 3",h4:"Nadpis 4",h5:"Nadpis 5",h6:"Nadpis 6"},lists:{unordered:"Odrážkový zoznam",ordered:"Číselný zoznam"},options:{help:"Pomoc",fullscreen:"Celá obrazovka",codeview:"HTML kód"},paragraph:{paragraph:"Odsek",outdent:"Zväčšiť odsadenie",indent:"Zmenšiť odsadenie",left:"Zarovnať doľava",center:"Zarovnať na stred",right:"Zarovnať doprava",justify:"Zarovnať obojstranne"},color:{recent:"Aktuálna farba",more:"Dalšie farby",background:"Farba pozadia",foreground:"Farba písma",transparent:"Priehľadnosť",setTransparent:"Nastaviť priehľadnosť",reset:"Obnoviť",resetToDefault:"Obnoviť prednastavené"},shortcut:{shortcuts:"Klávesové skratky",close:"Zavrieť",textFormatting:"Formátovanie textu",action:"Akcia",paragraphFormatting:"Formátovanie odseku",documentStyle:"Štýl dokumentu"},help:{insertParagraph:"Insert Paragraph",undo:"Undoes the last command",redo:"Redoes the last command",tab:"Tab",untab:"Untab",bold:"Set a bold style",italic:"Set a italic style",underline:"Set a underline style",strikethrough:"Set a strikethrough style",removeFormat:"Clean a style",justifyLeft:"Set left align",justifyCenter:"Set center align",justifyRight:"Set right align",justifyFull:"Set full align",insertUnorderedList:"Toggle unordered list",insertOrderedList:"Toggle ordered list",outdent:"Outdent on current paragraph",indent:"Indent on current paragraph",formatPara:"Change current block's format as a paragraph(P tag)",formatH1:"Change current block's format as H1",formatH2:"Change current block's format as H2",formatH3:"Change current block's format as H3",formatH4:"Change current block's format as H4",formatH5:"Change current block's format as H5",formatH6:"Change current block's format as H6",insertHorizontalRule:"Insert horizontal rule","linkDialog.show":"Show Link Dialog"},history:{undo:"Krok vzad",redo:"Krok dopredu"},specialChar:{specialChar:"SPECIAL CHARACTERS",select:"Select Special characters"}}})}(jQuery);PK�{�\�{�� lang/summernote-lt-LT.min.jsnu�[���/*! Summernote v0.8.10 | (c) 2013- Alan Hong and other contributors | MIT license */ !function(a){a.extend(a.summernote.lang,{"lt-LT":{font:{bold:"Paryškintas",italic:"Kursyvas",underline:"Pabrėžtas",clear:"Be formatavimo",height:"Eilutės aukštis",name:"Šrifto pavadinimas",strikethrough:"Perbrauktas",superscript:"Viršutinis",subscript:"Indeksas",size:"Šrifto dydis"},image:{image:"Paveikslėlis",insert:"Įterpti paveikslėlį",resizeFull:"Pilnas dydis",resizeHalf:"Sumažinti dydį 50%",resizeQuarter:"Sumažinti dydį 25%",floatLeft:"Kairinis lygiavimas",floatRight:"Dešininis lygiavimas",floatNone:"Jokio lygiavimo",shapeRounded:"Forma: apvalūs kraštai",shapeCircle:"Forma: apskritimas",shapeThumbnail:"Forma: miniatiūra",shapeNone:"Forma: jokia",dragImageHere:"Vilkite paveikslėlį čia",dropImage:"Drop image or Text",selectFromFiles:"Pasirinkite failą",maximumFileSize:"Maskimalus failo dydis",maximumFileSizeError:"Maskimalus failo dydis viršytas!",url:"Paveikslėlio URL adresas",remove:"Ištrinti paveikslėlį",original:"Original"},video:{video:"Video",videoLink:"Video Link",insert:"Insert Video",url:"Video URL?",providers:"(YouTube, Vimeo, Vine, Instagram, DailyMotion or Youku)"},link:{link:"Nuoroda",insert:"Įterpti nuorodą",unlink:"Pašalinti nuorodą",edit:"Redaguoti",textToDisplay:"Rodomas tekstas",url:"Koks URL adresas yra susietas?",openInNewWindow:"Atidaryti naujame lange"},table:{table:"Lentelė",addRowAbove:"Add row above",addRowBelow:"Add row below",addColLeft:"Add column left",addColRight:"Add column right",delRow:"Delete row",delCol:"Delete column",delTable:"Delete table"},hr:{insert:"Įterpti horizontalią liniją"},style:{style:"Stilius",p:"pus",blockquote:"Citata",pre:"Kodas",h1:"Antraštė 1",h2:"Antraštė 2",h3:"Antraštė 3",h4:"Antraštė 4",h5:"Antraštė 5",h6:"Antraštė 6"},lists:{unordered:"Suženklintasis sąrašas",ordered:"Sunumeruotas sąrašas"},options:{help:"Pagalba",fullscreen:"Viso ekrano režimas",codeview:"HTML kodo peržiūra"},paragraph:{paragraph:"Pastraipa",outdent:"Sumažinti įtrauką",indent:"Padidinti įtrauką",left:"Kairinė lygiuotė",center:"Centrinė lygiuotė",right:"Dešininė lygiuotė",justify:"Abipusis išlyginimas"},color:{recent:"Paskutinė naudota spalva",more:"Daugiau spalvų",background:"Fono spalva",foreground:"Šrifto spalva",transparent:"Permatoma",setTransparent:"Nustatyti skaidrumo intensyvumą",reset:"Atkurti",resetToDefault:"Atstatyti numatytąją spalvą"},shortcut:{shortcuts:"Spartieji klavišai",close:"Uždaryti",textFormatting:"Teksto formatavimas",action:"Veiksmas",paragraphFormatting:"Pastraipos formatavimas",documentStyle:"Dokumento stilius",extraKeys:"Papildomi klavišų deriniai"},help:{insertParagraph:"Insert Paragraph",undo:"Undoes the last command",redo:"Redoes the last command",tab:"Tab",untab:"Untab",bold:"Set a bold style",italic:"Set a italic style",underline:"Set a underline style",strikethrough:"Set a strikethrough style",removeFormat:"Clean a style",justifyLeft:"Set left align",justifyCenter:"Set center align",justifyRight:"Set right align",justifyFull:"Set full align",insertUnorderedList:"Toggle unordered list",insertOrderedList:"Toggle ordered list",outdent:"Outdent on current paragraph",indent:"Indent on current paragraph",formatPara:"Change current block's format as a paragraph(P tag)",formatH1:"Change current block's format as H1",formatH2:"Change current block's format as H2",formatH3:"Change current block's format as H3",formatH4:"Change current block's format as H4",formatH5:"Change current block's format as H5",formatH6:"Change current block's format as H6",insertHorizontalRule:"Insert horizontal rule","linkDialog.show":"Show Link Dialog"},history:{undo:"Anuliuoti veiksmą",redo:"Perdaryti veiksmą"},specialChar:{specialChar:"SPECIAL CHARACTERS",select:"Select Special characters"}}})}(jQuery);PK�{�\1��(nnlang/summernote-pt-BR.jsnu�[���(function($) { $.extend($.summernote.lang, { 'pt-BR': { font: { bold: 'Negrito', italic: 'Itálico', underline: 'Sublinhado', clear: 'Remover estilo da fonte', height: 'Altura da linha', name: 'Fonte', strikethrough: 'Riscado', subscript: 'Subscript', superscript: 'Superscript', size: 'Tamanho da fonte' }, image: { image: 'Imagem', insert: 'Inserir imagem', resizeFull: 'Redimensionar Completamente', resizeHalf: 'Redimensionar pela Metade', resizeQuarter: 'Redimensionar um Quarto', floatLeft: 'Flutuar para Esquerda', floatRight: 'Flutuar para Direira', floatNone: 'Não Flutuar', shapeRounded: 'Shape: Rounded', shapeCircle: 'Shape: Circle', shapeThumbnail: 'Shape: Thumbnail', shapeNone: 'Shape: None', dragImageHere: 'Arraste uma imagem para cá', dropImage: 'Drop image or Text', selectFromFiles: 'Selecione a partir dos arquivos', maximumFileSize: 'Maximum file size', maximumFileSizeError: 'Maximum file size exceeded.', url: 'URL da imagem', remove: 'Remove Image', original: 'Original' }, video: { video: 'Vídeo', videoLink: 'Link para vídeo', insert: 'Inserir vídeo', url: 'URL do vídeo?', providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion ou Youku)' }, link: { link: 'Link', insert: 'Inserir link', unlink: 'Remover link', edit: 'Editar', textToDisplay: 'Texto para exibir', url: 'Para qual URL esse link leva?', openInNewWindow: 'Abrir em uma nova janela' }, table: { table: 'Tabela', addRowAbove: 'Adicionar linha acima', addRowBelow: 'Adicionar linha abaixo', addColLeft: 'Adicionar coluna a esquerda', addColRight: 'Adicionar coluna a direita', delRow: 'Excluir linha', delCol: 'Excluir coluna', delTable: 'Delete table' }, hr: { insert: 'Inserir linha horizontal' }, style: { style: 'Estilo', normal: 'Normal', blockquote: 'Citação', pre: 'Código', h1: 'Título 1', h2: 'Título 2', h3: 'Título 3', h4: 'Título 4', h5: 'Título 5', h6: 'Título 6' }, lists: { unordered: 'Lista com marcadores', ordered: 'Lista numerada' }, options: { help: 'Ajuda', fullscreen: 'Tela cheia', codeview: 'Ver código-fonte' }, paragraph: { paragraph: 'Parágrafo', outdent: 'Menor tabulação', indent: 'Maior tabulação', left: 'Alinhar à esquerda', center: 'Alinhar ao centro', right: 'Alinha à direita', justify: 'Justificado' }, color: { recent: 'Cor recente', more: 'Mais cores', background: 'Fundo', foreground: 'Fonte', transparent: 'Transparente', setTransparent: 'Fundo transparente', reset: 'Restaurar', resetToDefault: 'Restaurar padrão' }, shortcut: { shortcuts: 'Atalhos do teclado', close: 'Fechar', textFormatting: 'Formatação de texto', action: 'Ação', paragraphFormatting: 'Formatação de parágrafo', documentStyle: 'Estilo de documento', extraKeys: 'Extra keys' }, help: { 'insertParagraph': 'Inserir Parágrafo', 'undo': 'Desfazer o último comando', 'redo': 'Refazer o último comando', 'tab': 'Tab', 'untab': 'Desfazer tab', 'bold': 'Colocar em negrito', 'italic': 'Colocar em itálico', 'underline': 'Sublinhado', 'strikethrough': 'Tachado', 'removeFormat': 'Remover estilo', 'justifyLeft': 'Alinhar à esquerda', 'justifyCenter': 'Centralizar', 'justifyRight': 'Alinhar à esquerda', 'justifyFull': 'Justificar', 'insertUnorderedList': 'Lista não ordenada', 'insertOrderedList': 'Lista ordenada', 'outdent': 'Recuar parágrafo atual', 'indent': 'Avançar parágrafo atual', 'formatPara': 'Alterar formato do bloco para parágrafo(tag P)', 'formatH1': 'Alterar formato do bloco para H1', 'formatH2': 'Alterar formato do bloco para H2', 'formatH3': 'Alterar formato do bloco para H3', 'formatH4': 'Alterar formato do bloco para H4', 'formatH5': 'Alterar formato do bloco para H5', 'formatH6': 'Alterar formato do bloco para H6', 'insertHorizontalRule': 'Inserir régua horizontal', 'linkDialog.show': 'Inserir um Hiperlink' }, history: { undo: 'Desfazer', redo: 'Refazer' }, specialChar: { specialChar: 'SPECIAL CHARACTERS', select: 'Select Special characters' } } }); })(jQuery); PK�{�\%J���lang/summernote-hr-HR.jsnu�[���(function($) { $.extend($.summernote.lang, { 'hr-HR': { font: { bold: 'Podebljano', italic: 'Kurziv', underline: 'Podvučeno', clear: 'Ukloni stilove fonta', height: 'Visina linije', name: 'Font Family', strikethrough: 'Precrtano', subscript: 'Subscript', superscript: 'Superscript', size: 'Veličina fonta' }, image: { image: 'Slika', insert: 'Ubaci sliku', resizeFull: 'Puna veličina', resizeHalf: 'Umanji na 50%', resizeQuarter: 'Umanji na 25%', floatLeft: 'Poravnaj lijevo', floatRight: 'Poravnaj desno', floatNone: 'Bez poravnanja', shapeRounded: 'Shape: Rounded', shapeCircle: 'Shape: Circle', shapeThumbnail: 'Shape: Thumbnail', shapeNone: 'Shape: None', dragImageHere: 'Povuci sliku ovdje', dropImage: 'Drop image or Text', selectFromFiles: 'Izaberi iz datoteke', maximumFileSize: 'Maximum file size', maximumFileSizeError: 'Maximum file size exceeded.', url: 'Adresa slike', remove: 'Ukloni sliku', original: 'Original' }, video: { video: 'Video', videoLink: 'Veza na video', insert: 'Ubaci video', url: 'URL video', providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion ili Youku)' }, link: { link: 'Veza', insert: 'Ubaci vezu', unlink: 'Ukloni vezu', edit: 'Uredi', textToDisplay: 'Tekst za prikaz', url: 'Internet adresa', openInNewWindow: 'Otvori u novom prozoru' }, table: { table: 'Tablica', addRowAbove: 'Add row above', addRowBelow: 'Add row below', addColLeft: 'Add column left', addColRight: 'Add column right', delRow: 'Delete row', delCol: 'Delete column', delTable: 'Delete table' }, hr: { insert: 'Ubaci horizontalnu liniju' }, style: { style: 'Stil', p: 'pni', blockquote: 'Citat', pre: 'Kôd', h1: 'Naslov 1', h2: 'Naslov 2', h3: 'Naslov 3', h4: 'Naslov 4', h5: 'Naslov 5', h6: 'Naslov 6' }, lists: { unordered: 'Obična lista', ordered: 'Numerirana lista' }, options: { help: 'Pomoć', fullscreen: 'Preko cijelog ekrana', codeview: 'Izvorni kôd' }, paragraph: { paragraph: 'Paragraf', outdent: 'Smanji uvlačenje', indent: 'Povećaj uvlačenje', left: 'Poravnaj lijevo', center: 'Centrirano', right: 'Poravnaj desno', justify: 'Poravnaj obostrano' }, color: { recent: 'Posljednja boja', more: 'Više boja', background: 'Boja pozadine', foreground: 'Boja teksta', transparent: 'Prozirna', setTransparent: 'Prozirna', reset: 'Poništi', resetToDefault: 'Podrazumijevana' }, shortcut: { shortcuts: 'Prečice s tipkovnice', close: 'Zatvori', textFormatting: 'Formatiranje teksta', action: 'Akcija', paragraphFormatting: 'Formatiranje paragrafa', documentStyle: 'Stil dokumenta', extraKeys: 'Dodatne kombinacije' }, help: { 'insertParagraph': 'Insert Paragraph', 'undo': 'Undoes the last command', 'redo': 'Redoes the last command', 'tab': 'Tab', 'untab': 'Untab', 'bold': 'Set a bold style', 'italic': 'Set a italic style', 'underline': 'Set a underline style', 'strikethrough': 'Set a strikethrough style', 'removeFormat': 'Clean a style', 'justifyLeft': 'Set left align', 'justifyCenter': 'Set center align', 'justifyRight': 'Set right align', 'justifyFull': 'Set full align', 'insertUnorderedList': 'Toggle unordered list', 'insertOrderedList': 'Toggle ordered list', 'outdent': 'Outdent on current paragraph', 'indent': 'Indent on current paragraph', 'formatPara': 'Change current block\'s format as a paragraph(P tag)', 'formatH1': 'Change current block\'s format as H1', 'formatH2': 'Change current block\'s format as H2', 'formatH3': 'Change current block\'s format as H3', 'formatH4': 'Change current block\'s format as H4', 'formatH5': 'Change current block\'s format as H5', 'formatH6': 'Change current block\'s format as H6', 'insertHorizontalRule': 'Insert horizontal rule', 'linkDialog.show': 'Show Link Dialog' }, history: { undo: 'Poništi', redo: 'Ponovi' }, specialChar: { specialChar: 'SPECIAL CHARACTERS', select: 'Select Special characters' } } }); })(jQuery); PK�{�\��0vlang/summernote-he-IL.min.jsnu�[���/*! Summernote v0.8.10 | (c) 2013- Alan Hong and other contributors | MIT license */ !function(e){e.extend(e.summernote.lang,{"he-IL":{font:{bold:"מודגש",italic:"נטוי",underline:"קו תחתון",clear:"נקה עיצוב",height:"גובה",name:"גופן",strikethrough:"קו חוצה",subscript:"כתב תחתי",superscript:"כתב עילי",size:"גודל גופן"},image:{image:"תמונה",insert:"הוסף תמונה",resizeFull:"גודל מלא",resizeHalf:"להקטין לחצי",resizeQuarter:"להקטין לרבע",floatLeft:"יישור לשמאל",floatRight:"יישור לימין",floatNone:"ישר",shapeRounded:"Shape: Rounded",shapeCircle:"Shape: Circle",shapeThumbnail:"Shape: Thumbnail",shapeNone:"Shape: None",dragImageHere:"גרור תמונה לכאן",dropImage:"Drop image or Text",selectFromFiles:"בחר מתוך קבצים",maximumFileSize:"Maximum file size",maximumFileSizeError:"Maximum file size exceeded.",url:"נתיב לתמונה",remove:"הסר תמונה",original:"Original"},video:{video:"סרטון",videoLink:"קישור לסרטון",insert:"הוסף סרטון",url:"קישור לסרטון",providers:"(YouTube, Vimeo, Vine, Instagram, DailyMotion או Youku)"},link:{link:"קישור",insert:"הוסף קישור",unlink:"הסר קישור",edit:"ערוך",textToDisplay:"טקסט להציג",url:"קישור",openInNewWindow:"פתח בחלון חדש"},table:{table:"טבלה",addRowAbove:"Add row above",addRowBelow:"Add row below",addColLeft:"Add column left",addColRight:"Add column right",delRow:"Delete row",delCol:"Delete column",delTable:"Delete table"},hr:{insert:"הוסף קו"},style:{style:"עיצוב",p:"טקסט רגיל",blockquote:"ציטוט",pre:"קוד",h1:"כותרת 1",h2:"כותרת 2",h3:"כותרת 3",h4:"כותרת 4",h5:"כותרת 5",h6:"כותרת 6"},lists:{unordered:"רשימת תבליטים",ordered:"רשימה ממוספרת"},options:{help:"עזרה",fullscreen:"מסך מלא",codeview:"תצוגת קוד"},paragraph:{paragraph:"פסקה",outdent:"הקטן כניסה",indent:"הגדל כניסה",left:"יישור לשמאל",center:"יישור למרכז",right:"יישור לימין",justify:"מיושר"},color:{recent:"צבע טקסט אחרון",more:"עוד צבעים",background:"צבע רקע",foreground:"צבע טקסט",transparent:"שקוף",setTransparent:"קבע כשקוף",reset:"איפוס",resetToDefault:"אפס לברירת מחדל"},shortcut:{shortcuts:"קיצורי מקלדת",close:"סגור",textFormatting:"עיצוב הטקסט",action:"פעולה",paragraphFormatting:"סגנונות פסקה",documentStyle:"עיצוב המסמך",extraKeys:"קיצורים נוספים"},help:{insertParagraph:"Insert Paragraph",undo:"Undoes the last command",redo:"Redoes the last command",tab:"Tab",untab:"Untab",bold:"Set a bold style",italic:"Set a italic style",underline:"Set a underline style",strikethrough:"Set a strikethrough style",removeFormat:"Clean a style",justifyLeft:"Set left align",justifyCenter:"Set center align",justifyRight:"Set right align",justifyFull:"Set full align",insertUnorderedList:"Toggle unordered list",insertOrderedList:"Toggle ordered list",outdent:"Outdent on current paragraph",indent:"Indent on current paragraph",formatPara:"Change current block's format as a paragraph(P tag)",formatH1:"Change current block's format as H1",formatH2:"Change current block's format as H2",formatH3:"Change current block's format as H3",formatH4:"Change current block's format as H4",formatH5:"Change current block's format as H5",formatH6:"Change current block's format as H6",insertHorizontalRule:"Insert horizontal rule","linkDialog.show":"Show Link Dialog"},history:{undo:"בטל פעולה",redo:"בצע שוב"},specialChar:{specialChar:"SPECIAL CHARACTERS",select:"Select Special characters"}}})}(jQuery);PK�{�\0����lang/summernote-ca-ES.min.jsnu�[���/*! Summernote v0.8.10 | (c) 2013- Alan Hong and other contributors | MIT license */ !function(e){e.extend(e.summernote.lang,{"ca-ES":{font:{bold:"Negreta",italic:"Cursiva",underline:"Subratllat",clear:"Treure estil de lletra",height:"Alçada de línia",name:"Font",strikethrough:"Ratllat",subscript:"Subíndex",superscript:"Superíndex",size:"Mida de lletra"},image:{image:"Imatge",insert:"Inserir imatge",resizeFull:"Redimensionar a mida completa",resizeHalf:"Redimensionar a la meitat",resizeQuarter:"Redimensionar a un quart",floatLeft:"Alinear a l'esquerra",floatRight:"Alinear a la dreta",floatNone:"No alinear",shapeRounded:"Forma: Arrodonit",shapeCircle:"Forma: Cercle",shapeThumbnail:"Forma: Marc",shapeNone:"Forma: Cap",dragImageHere:"Arrossegueu una imatge o text aquí",dropImage:"Deixa anar aquí una imatge o un text",selectFromFiles:"Seleccioneu des dels arxius",maximumFileSize:"Mida màxima de l'arxiu",maximumFileSizeError:"La mida màxima de l'arxiu s'ha superat.",url:"URL de la imatge",remove:"Eliminar imatge",original:"Original"},video:{video:"Vídeo",videoLink:"Enllaç del vídeo",insert:"Inserir vídeo",url:"URL del vídeo?",providers:"(YouTube, Vimeo, Vine, Instagram, DailyMotion o Youku)"},link:{link:"Enllaç",insert:"Inserir enllaç",unlink:"Treure enllaç",edit:"Editar",textToDisplay:"Text per mostrar",url:"Cap a quina URL porta l'enllaç?",openInNewWindow:"Obrir en una finestra nova"},table:{table:"Taula",addRowAbove:"Add row above",addRowBelow:"Add row below",addColLeft:"Add column left",addColRight:"Add column right",delRow:"Delete row",delCol:"Delete column",delTable:"Delete table"},hr:{insert:"Inserir línia horitzontal"},style:{style:"Estil",p:"p",blockquote:"Cita",pre:"Codi",h1:"Títol 1",h2:"Títol 2",h3:"Títol 3",h4:"Títol 4",h5:"Títol 5",h6:"Títol 6"},lists:{unordered:"Llista desendreçada",ordered:"Llista endreçada"},options:{help:"Ajut",fullscreen:"Pantalla sencera",codeview:"Veure codi font"},paragraph:{paragraph:"Paràgraf",outdent:"Menys tabulació",indent:"Més tabulació",left:"Alinear a l'esquerra",center:"Alinear al mig",right:"Alinear a la dreta",justify:"Justificar"},color:{recent:"Últim color",more:"Més colors",background:"Color de fons",foreground:"Color de lletra",transparent:"Transparent",setTransparent:"Establir transparent",reset:"Restablir",resetToDefault:"Restablir per defecte"},shortcut:{shortcuts:"Dreceres de teclat",close:"Tancar",textFormatting:"Format de text",action:"Acció",paragraphFormatting:"Format de paràgraf",documentStyle:"Estil del document",extraKeys:"Tecles adicionals"},help:{insertParagraph:"Inserir paràgraf",undo:"Desfer l'última acció",redo:"Refer l'última acció",tab:"Tabular",untab:"Eliminar tabulació",bold:"Establir estil negreta",italic:"Establir estil cursiva",underline:"Establir estil subratllat",strikethrough:"Establir estil ratllat",removeFormat:"Netejar estil",justifyLeft:"Alinear a l'esquerra",justifyCenter:"Alinear al centre",justifyRight:"Alinear a la dreta",justifyFull:"Justificar",insertUnorderedList:"Inserir llista desendreçada",insertOrderedList:"Inserir llista endreçada",outdent:"Reduïr tabulació del paràgraf",indent:"Augmentar tabulació del paràgraf",formatPara:"Canviar l'estil del bloc com a un paràgraf (etiqueta P)",formatH1:"Canviar l'estil del bloc com a un H1",formatH2:"Canviar l'estil del bloc com a un H2",formatH3:"Canviar l'estil del bloc com a un H3",formatH4:"Canviar l'estil del bloc com a un H4",formatH5:"Canviar l'estil del bloc com a un H5",formatH6:"Canviar l'estil del bloc com a un H6",insertHorizontalRule:"Inserir una línia horitzontal","linkDialog.show":"Mostrar panel d'enllaços"},history:{undo:"Desfer",redo:"Refer"},specialChar:{specialChar:"CARÀCTERS ESPECIALS",select:"Selecciona caràcters especials"}}})}(jQuery);PK�{�\�MHy��lang/summernote-id-ID.jsnu�[���(function($) { $.extend($.summernote.lang, { 'id-ID': { font: { bold: 'Tebal', italic: 'Miring', underline: 'Garis bawah', clear: 'Bersihkan gaya', height: 'Jarak baris', name: 'Font Family', strikethrough: 'Coret', subscript: 'Subscript', superscript: 'Superscript', size: 'Ukuran font' }, image: { image: 'Gambar', insert: 'Sisipkan gambar', resizeFull: 'Ukuran penuh', resizeHalf: 'Ukuran 50%', resizeQuarter: 'Ukuran 25%', floatLeft: 'Rata kiri', floatRight: 'Rata kanan', floatNone: 'Tidak ada perataan', shapeRounded: 'Shape: Rounded', shapeCircle: 'Shape: Circle', shapeThumbnail: 'Shape: Thumbnail', shapeNone: 'Shape: None', dragImageHere: 'Tarik gambar pada area ini', dropImage: 'Drop image or Text', selectFromFiles: 'Pilih gambar dari berkas', maximumFileSize: 'Maximum file size', maximumFileSizeError: 'Maximum file size exceeded.', url: 'URL gambar', remove: 'Hapus Gambar', original: 'Original' }, video: { video: 'Video', videoLink: 'Link video', insert: 'Sisipkan video', url: 'Tautan video', providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion atau Youku)' }, link: { link: 'Tautan', insert: 'Tambah tautan', unlink: 'Hapus tautan', edit: 'Edit', textToDisplay: 'Tampilan teks', url: 'Tautan tujuan', openInNewWindow: 'Buka di jendela baru' }, table: { table: 'Tabel', addRowAbove: 'Add row above', addRowBelow: 'Add row below', addColLeft: 'Add column left', addColRight: 'Add column right', delRow: 'Delete row', delCol: 'Delete column', delTable: 'Delete table' }, hr: { insert: 'Masukkan garis horizontal' }, style: { style: 'Gaya', p: 'p', blockquote: 'Kutipan', pre: 'Kode', h1: 'Heading 1', h2: 'Heading 2', h3: 'Heading 3', h4: 'Heading 4', h5: 'Heading 5', h6: 'Heading 6' }, lists: { unordered: 'Pencacahan', ordered: 'Penomoran' }, options: { help: 'Bantuan', fullscreen: 'Layar penuh', codeview: 'Kode HTML' }, paragraph: { paragraph: 'Paragraf', outdent: 'Outdent', indent: 'Indent', left: 'Rata kiri', center: 'Rata tengah', right: 'Rata kanan', justify: 'Rata kanan kiri' }, color: { recent: 'Warna sekarang', more: 'Selengkapnya', background: 'Warna latar', foreground: 'Warna font', transparent: 'Transparan', setTransparent: 'Atur transparansi', reset: 'Atur ulang', resetToDefault: 'Kembalikan kesemula' }, shortcut: { shortcuts: 'Jalan pintas', close: 'Keluar', textFormatting: 'Format teks', action: 'Aksi', paragraphFormatting: 'Format paragraf', documentStyle: 'Gaya dokumen', extraKeys: 'Extra keys' }, help: { 'insertParagraph': 'Insert Paragraph', 'undo': 'Undoes the last command', 'redo': 'Redoes the last command', 'tab': 'Tab', 'untab': 'Untab', 'bold': 'Set a bold style', 'italic': 'Set a italic style', 'underline': 'Set a underline style', 'strikethrough': 'Set a strikethrough style', 'removeFormat': 'Clean a style', 'justifyLeft': 'Set left align', 'justifyCenter': 'Set center align', 'justifyRight': 'Set right align', 'justifyFull': 'Set full align', 'insertUnorderedList': 'Toggle unordered list', 'insertOrderedList': 'Toggle ordered list', 'outdent': 'Outdent on current paragraph', 'indent': 'Indent on current paragraph', 'formatPara': 'Change current block\'s format as a paragraph(P tag)', 'formatH1': 'Change current block\'s format as H1', 'formatH2': 'Change current block\'s format as H2', 'formatH3': 'Change current block\'s format as H3', 'formatH4': 'Change current block\'s format as H4', 'formatH5': 'Change current block\'s format as H5', 'formatH6': 'Change current block\'s format as H6', 'insertHorizontalRule': 'Insert horizontal rule', 'linkDialog.show': 'Show Link Dialog' }, history: { undo: 'Kembali', redo: 'Ulang' }, specialChar: { specialChar: 'SPECIAL CHARACTERS', select: 'Select Special characters' } } }); })(jQuery); PK�{�\?�l�~~lang/summernote-de-DE.jsnu�[���(function($) { $.extend($.summernote.lang, { 'de-DE': { font: { bold: 'Fett', italic: 'Kursiv', underline: 'Unterstreichen', clear: 'Zurücksetzen', height: 'Zeilenhöhe', name: 'Schriftart', strikethrough: 'Durchgestrichen', subscript: 'Tiefgestellt', superscript: 'Hochgestellt', size: 'Schriftgröße' }, image: { image: 'Grafik', insert: 'Grafik einfügen', resizeFull: 'Originalgröße', resizeHalf: 'Größe 1/2', resizeQuarter: 'Größe 1/4', floatLeft: 'Linksbündig', floatRight: 'Rechtsbündig', floatNone: 'Kein Textfluss', shapeRounded: 'Rahmen: Abgerundet', shapeCircle: 'Rahmen: Kreisförmig', shapeThumbnail: 'Rahmen: Thumbnail', shapeNone: 'Kein Rahmen', dragImageHere: 'Ziehen Sie ein Bild mit der Maus hierher', dropImage: 'Drop image or Text', selectFromFiles: 'Wählen Sie eine Datei aus', maximumFileSize: 'Maximale Dateigröße', maximumFileSizeError: 'Maximale Dateigröße überschritten', url: 'Grafik URL', remove: 'Grafik entfernen', original: 'Original' }, video: { video: 'Video', videoLink: 'Video Link', insert: 'Video einfügen', url: 'Video URL?', providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion oder Youku)' }, link: { link: 'Link', insert: 'Link einfügen', unlink: 'Link entfernen', edit: 'Editieren', textToDisplay: 'Anzeigetext', url: 'Ziel des Links?', openInNewWindow: 'In einem neuen Fenster öffnen' }, table: { table: 'Tabelle', addRowAbove: 'Zeile oberhalb einfügen', addRowBelow: 'Zeile unterhalb einfügen', addColLeft: 'Spalte links einfügen', addColRight: 'Spalte rechts einfügen', delRow: 'Zeile löschen', delCol: 'Spalte löschen', delTable: 'Tabelle löschen' }, hr: { insert: 'Eine horizontale Linie einfügen' }, style: { style: 'Stil', p: 'Normal', blockquote: 'Zitat', pre: 'Quellcode', h1: 'Überschrift 1', h2: 'Überschrift 2', h3: 'Überschrift 3', h4: 'Überschrift 4', h5: 'Überschrift 5', h6: 'Überschrift 6' }, lists: { unordered: 'Aufzählung', ordered: 'Nummerierung' }, options: { help: 'Hilfe', fullscreen: 'Vollbild', codeview: 'HTML-Code anzeigen' }, paragraph: { paragraph: 'Absatz', outdent: 'Einzug vergrößern', indent: 'Einzug verkleinern', left: 'Links ausrichten', center: 'Zentriert ausrichten', right: 'Rechts ausrichten', justify: 'Blocksatz' }, color: { recent: 'Letzte Farbe', more: 'Mehr Farben', background: 'Hintergrundfarbe', foreground: 'Schriftfarbe', transparent: 'Transparenz', setTransparent: 'Transparenz setzen', reset: 'Zurücksetzen', resetToDefault: 'Auf Standard zurücksetzen' }, shortcut: { shortcuts: 'Tastenkürzel', close: 'Schließen', textFormatting: 'Textformatierung', action: 'Aktion', paragraphFormatting: 'Absatzformatierung', documentStyle: 'Dokumentenstil' }, help: { 'insertParagraph': 'Insert Paragraph', 'undo': 'Undoes the last command', 'redo': 'Redoes the last command', 'tab': 'Tab', 'untab': 'Untab', 'bold': 'Set a bold style', 'italic': 'Set a italic style', 'underline': 'Set a underline style', 'strikethrough': 'Set a strikethrough style', 'removeFormat': 'Clean a style', 'justifyLeft': 'Set left align', 'justifyCenter': 'Set center align', 'justifyRight': 'Set right align', 'justifyFull': 'Set full align', 'insertUnorderedList': 'Toggle unordered list', 'insertOrderedList': 'Toggle ordered list', 'outdent': 'Outdent on current paragraph', 'indent': 'Indent on current paragraph', 'formatPara': 'Change current block\'s format as a paragraph(P tag)', 'formatH1': 'Change current block\'s format as H1', 'formatH2': 'Change current block\'s format as H2', 'formatH3': 'Change current block\'s format as H3', 'formatH4': 'Change current block\'s format as H4', 'formatH5': 'Change current block\'s format as H5', 'formatH6': 'Change current block\'s format as H6', 'insertHorizontalRule': 'Insert horizontal rule', 'linkDialog.show': 'Show Link Dialog' }, history: { undo: 'Rückgängig', redo: 'Wiederholen' }, specialChar: { specialChar: 'SONDERZEICHEN', select: 'Sonderzeichen auswählen' } } }); })(jQuery); PK�{�\���Z��lang/summernote-lt-LV.jsnu�[���(function($) { $.extend($.summernote.lang, { 'lv-LV': { font: { bold: 'Treknraksts', italic: 'Kursīvs', underline: 'Pasvītrots', clear: 'Noņemt formatējumu', height: 'Līnijas augstums', name: 'Fonts', strikethrough: 'Nosvītrots', superscript: 'Augšraksts', subscript: 'Apakšraksts', size: 'Fonta lielums' }, image: { image: 'Attēls', insert: 'Ievietot attēlu', resizeFull: 'Pilns izmērts', resizeHalf: 'Samazināt 50%', resizeQuarter: 'Samazināt 25%', floatLeft: 'Līdzināt pa kreisi', floatRight: 'Līdzināt pa labi', floatNone: 'Nelīdzināt', shapeRounded: 'Forma: apaļām malām', shapeCircle: 'Forma: aplis', shapeThumbnail: 'Forma: rāmītis', shapeNone: 'Forma: orģināla', dragImageHere: 'Ievēlciet attēlu šeit', dropImage: 'Drop image or Text', selectFromFiles: 'Izvēlēties failu', maximumFileSize: 'Maksimālais faila izmērs', maximumFileSizeError: 'Faila izmērs pārāk liels!', url: 'Attēla URL', remove: 'Dzēst attēlu', original: 'Original' }, video: { video: 'Video', videoLink: 'Video Link', insert: 'Insert Video', url: 'Video URL?', providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion or Youku)' }, link: { link: 'Saite', insert: 'Ievietot saiti', unlink: 'Noņemt saiti', edit: 'Rediģēt', textToDisplay: 'Saites saturs', url: 'Koks URL adresas yra susietas?', openInNewWindow: 'Atvērt jaunā logā' }, table: { table: 'Tabula', addRowAbove: 'Add row above', addRowBelow: 'Add row below', addColLeft: 'Add column left', addColRight: 'Add column right', delRow: 'Delete row', delCol: 'Delete column', delTable: 'Delete table' }, hr: { insert: 'Ievietot līniju' }, style: { style: 'Stils', p: 'Parasts', blockquote: 'Citāts', pre: 'Kods', h1: 'Virsraksts h1', h2: 'Virsraksts h2', h3: 'Virsraksts h3', h4: 'Virsraksts h4', h5: 'Virsraksts h5', h6: 'Virsraksts h6' }, lists: { unordered: 'Nenumurēts saraksts', ordered: 'Numurēts saraksts' }, options: { help: 'Palīdzība', fullscreen: 'Pa visu ekrānu', codeview: 'HTML kods' }, paragraph: { paragraph: 'Paragrāfs', outdent: 'Samazināt atkāpi', indent: 'Palielināt atkāpi', left: 'Līdzināt pa kreisi', center: 'Centrēt', right: 'Līdzināt pa labi', justify: 'Līdzināt gar abām malām' }, color: { recent: 'Nesen izmantotās', more: 'Citas krāsas', background: 'Fona krāsa', foreground: 'Fonta krāsa', transparent: 'Caurspīdīgs', setTransparent: 'Iestatīt caurspīdīgumu', reset: 'Atjaunot', resetToDefault: 'Atjaunot noklusējumu' }, shortcut: { shortcuts: 'Saīsnes', close: 'Aizvērt', textFormatting: 'Teksta formatēšana', action: 'Darbība', paragraphFormatting: 'Paragrāfa formatēšana', documentStyle: 'Dokumenta stils', extraKeys: 'Citas taustiņu kombinācijas' }, help: { insertParagraph: 'Ievietot Paragrāfu', undo: 'Atcelt iepriekšējo darbību', redo: 'Atkārtot atcelto darbību', tab: 'Atkāpe', untab: 'Samazināt atkāpi', bold: 'Pārvērst tekstu treknrakstā', italic: 'Pārvērst tekstu slīprakstā (kursīvā)', underline: 'Pasvītrot tekstu', strikethrough: 'Nosvītrot tekstu', removeFormat: 'Notīrīt stilu no teksta', justifyLeft: 'Līdzīnāt saturu pa kreisi', justifyCenter: 'Centrēt saturu', justifyRight: 'Līdzīnāt saturu pa labi', justifyFull: 'Izlīdzināt saturu gar abām malām', insertUnorderedList: 'Ievietot nenumurētu sarakstu', insertOrderedList: 'Ievietot numurētu sarakstu', outdent: 'Samazināt/noņemt atkāpi paragrāfam', indent: 'Uzlikt atkāpi paragrāfam', formatPara: 'Mainīt bloka tipu uz (p) Paragrāfu', formatH1: 'Mainīt bloka tipu uz virsrakstu H1', formatH2: 'Mainīt bloka tipu uz virsrakstu H2', formatH3: 'Mainīt bloka tipu uz virsrakstu H3', formatH4: 'Mainīt bloka tipu uz virsrakstu H4', formatH5: 'Mainīt bloka tipu uz virsrakstu H5', formatH6: 'Mainīt bloka tipu uz virsrakstu H6', insertHorizontalRule: 'Ievietot horizontālu līniju', 'linkDialog.show': 'Parādīt saites logu' }, history: { undo: 'Atsauks (undo)', redo: 'Atkārtot (redo)' }, specialChar: { specialChar: 'SPECIAL CHARACTERS', select: 'Select Special characters' } } }); })(jQuery); PK�{�\d�[���lang/summernote-gl-ES.jsnu�[���(function($) { $.extend($.summernote.lang, { 'gl-ES': { font: { bold: 'Negrita', italic: 'Cursiva', underline: 'Subliñado', clear: 'Quitar estilo de fonte', height: 'Altura de liña', name: 'Fonte', strikethrough: 'Riscado', superscript: 'Superíndice', subscript: 'Subíndice', size: 'Tamaño da fonte' }, image: { image: 'Imaxe', insert: 'Inserir imaxe', resizeFull: 'Redimensionar a tamaño completo', resizeHalf: 'Redimensionar á metade', resizeQuarter: 'Redimensionar a un cuarto', floatLeft: 'Flotar á esquerda', floatRight: 'Flotar á dereita', floatNone: 'Non flotar', shapeRounded: 'Forma: Redondeado', shapeCircle: 'Forma: Círculo', shapeThumbnail: 'Forma: Marco', shapeNone: 'Forma: Ningunha', dragImageHere: 'Arrastrar unha imaxe ou texto aquí', dropImage: 'Solta a imaxe ou texto', selectFromFiles: 'Seleccionar desde os arquivos', maximumFileSize: 'Tamaño máximo do arquivo', maximumFileSizeError: 'Superaches o tamaño máximo do arquivo.', url: 'URL da imaxe', remove: 'Eliminar imaxe', original: 'Original' }, video: { video: 'Vídeo', videoLink: 'Ligazón do vídeo', insert: 'Insertar vídeo', url: 'URL do vídeo?', providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion, o Youku)' }, link: { link: 'Ligazón', insert: 'Inserir Ligazón', unlink: 'Quitar Ligazón', edit: 'Editar', textToDisplay: 'Texto para amosar', url: 'Cara a que URL leva a ligazón?', openInNewWindow: 'Abrir nunha nova xanela' }, table: { table: 'Táboa', addRowAbove: 'Add row above', addRowBelow: 'Add row below', addColLeft: 'Add column left', addColRight: 'Add column right', delRow: 'Delete row', delCol: 'Delete column', delTable: 'Delete table' }, hr: { insert: 'Inserir liña horizontal' }, style: { style: 'Estilo', normal: 'Normal', blockquote: 'Cita', pre: 'Código', h1: 'Título 1', h2: 'Título 2', h3: 'Título 3', h4: 'Título 4', h5: 'Título 5', h6: 'Título 6' }, lists: { unordered: 'Lista desordenada', ordered: 'Lista ordenada' }, options: { help: 'Axuda', fullscreen: 'Pantalla completa', codeview: 'Ver código fonte' }, paragraph: { paragraph: 'Parágrafo', outdent: 'Menos tabulación', indent: 'Máis tabulación', left: 'Aliñar á esquerda', center: 'Aliñar ao centro', right: 'Aliñar á dereita', justify: 'Xustificar' }, color: { recent: 'Última cor', more: 'Máis cores', background: 'Cor de fondo', foreground: 'Cor de fuente', transparent: 'Transparente', setTransparent: 'Establecer transparente', reset: 'Restaurar', resetToDefault: 'Restaurar por defecto' }, shortcut: { shortcuts: 'Atallos de teclado', close: 'Pechar', textFormatting: 'Formato de texto', action: 'Acción', paragraphFormatting: 'Formato de parágrafo', documentStyle: 'Estilo de documento', extraKeys: 'Teclas adicionais' }, help: { 'insertParagraph': 'Inserir parágrafo', 'undo': 'Desfacer última acción', 'redo': 'Refacer última acción', 'tab': 'Tabular', 'untab': 'Eliminar tabulación', 'bold': 'Establecer estilo negrita', 'italic': 'Establecer estilo cursiva', 'underline': 'Establecer estilo subliñado', 'strikethrough': 'Establecer estilo riscado', 'removeFormat': 'Limpar estilo', 'justifyLeft': 'Aliñar á esquerda', 'justifyCenter': 'Aliñar ao centro', 'justifyRight': 'Aliñar á dereita', 'justifyFull': 'Xustificar', 'insertUnorderedList': 'Inserir lista desordenada', 'insertOrderedList': 'Inserir lista ordenada', 'outdent': 'Reducir tabulación do parágrafo', 'indent': 'Aumentar tabulación do parágrafo', 'formatPara': 'Mudar estilo do bloque a parágrafo (etiqueta P)', 'formatH1': 'Mudar estilo do bloque a H1', 'formatH2': 'Mudar estilo do bloque a H2', 'formatH3': 'Mudar estilo do bloque a H3', 'formatH4': 'Mudar estilo do bloque a H4', 'formatH5': 'Mudar estilo do bloque a H5', 'formatH6': 'Mudar estilo do bloque a H6', 'insertHorizontalRule': 'Inserir liña horizontal', 'linkDialog.show': 'Amosar panel ligazóns' }, history: { undo: 'Desfacer', redo: 'Refacer' }, specialChar: { specialChar: 'CARACTERES ESPECIAIS', select: 'Selecciona Caracteres especiais' } } }); })(jQuery); PK�{�\Q~�@@lang/summernote-ru-RU.jsnu�[���(function($) { $.extend($.summernote.lang, { 'ru-RU': { font: { bold: 'Полужирный', italic: 'Курсив', underline: 'Подчёркнутый', clear: 'Убрать стили шрифта', height: 'Высота линии', name: 'Шрифт', strikethrough: 'Зачёркнутый', subscript: 'Нижний индекс', superscript: 'Верхний индекс', size: 'Размер шрифта' }, image: { image: 'Картинка', insert: 'Вставить картинку', resizeFull: 'Восстановить размер', resizeHalf: 'Уменьшить до 50%', resizeQuarter: 'Уменьшить до 25%', floatLeft: 'Расположить слева', floatRight: 'Расположить справа', floatNone: 'Расположение по-умолчанию', shapeRounded: 'Форма: Закругленная', shapeCircle: 'Форма: Круг', shapeThumbnail: 'Форма: Миниатюра', shapeNone: 'Форма: Нет', dragImageHere: 'Перетащите сюда картинку', dropImage: 'Перетащите картинку', selectFromFiles: 'Выбрать из файлов', maximumFileSize: 'Максимальный размер файла', maximumFileSizeError: 'Превышен максимальный размер файла', url: 'URL картинки', remove: 'Удалить картинку', original: 'Оригинал' }, video: { video: 'Видео', videoLink: 'Ссылка на видео', insert: 'Вставить видео', url: 'URL видео', providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion или Youku)' }, link: { link: 'Ссылка', insert: 'Вставить ссылку', unlink: 'Убрать ссылку', edit: 'Редактировать', textToDisplay: 'Отображаемый текст', url: 'URL для перехода', openInNewWindow: 'Открывать в новом окне' }, table: { table: 'Таблица', addRowAbove: 'Добавить строку выше', addRowBelow: 'Добавить строку ниже', addColLeft: 'Добавить столбец слева', addColRight: 'Добавить столбец справа', delRow: 'Удалить строку', delCol: 'Удалить столбец', delTable: 'Удалить таблицу' }, hr: { insert: 'Вставить горизонтальную линию' }, style: { style: 'Стиль', p: 'Нормальный', blockquote: 'Цитата', pre: 'Код', h1: 'Заголовок 1', h2: 'Заголовок 2', h3: 'Заголовок 3', h4: 'Заголовок 4', h5: 'Заголовок 5', h6: 'Заголовок 6' }, lists: { unordered: 'Маркированный список', ordered: 'Нумерованный список' }, options: { help: 'Помощь', fullscreen: 'На весь экран', codeview: 'Исходный код' }, paragraph: { paragraph: 'Параграф', outdent: 'Уменьшить отступ', indent: 'Увеличить отступ', left: 'Выровнять по левому краю', center: 'Выровнять по центру', right: 'Выровнять по правому краю', justify: 'Растянуть по ширине' }, color: { recent: 'Последний цвет', more: 'Еще цвета', background: 'Цвет фона', foreground: 'Цвет шрифта', transparent: 'Прозрачный', setTransparent: 'Сделать прозрачным', reset: 'Сброс', resetToDefault: 'Восстановить умолчания' }, shortcut: { shortcuts: 'Сочетания клавиш', close: 'Закрыть', textFormatting: 'Форматирование текста', action: 'Действие', paragraphFormatting: 'Форматирование параграфа', documentStyle: 'Стиль документа', extraKeys: 'Дополнительные комбинации' }, help: { 'insertParagraph': 'Новый параграф', 'undo': 'Отменить последнюю команду', 'redo': 'Повторить последнюю команду', 'tab': 'Tab', 'untab': 'Untab', 'bold': 'Установить стиль "Жирный"', 'italic': 'Установить стиль "Наклонный"', 'underline': 'Установить стиль "Подчеркнутый"', 'strikethrough': 'Установить стиль "Зачеркнутый"', 'removeFormat': 'Сборсить стили', 'justifyLeft': 'Выровнять по левому краю', 'justifyCenter': 'Выровнять по центру', 'justifyRight': 'Выровнять по правому краю', 'justifyFull': 'Растянуть на всю ширину', 'insertUnorderedList': 'Включить/отключить маркированный список', 'insertOrderedList': 'Включить/отключить нумерованный список', 'outdent': 'Убрать отступ в текущем параграфе', 'indent': 'Вставить отступ в текущем параграфе', 'formatPara': 'Форматировать текущий блок как параграф (тег P)', 'formatH1': 'Форматировать текущий блок как H1', 'formatH2': 'Форматировать текущий блок как H2', 'formatH3': 'Форматировать текущий блок как H3', 'formatH4': 'Форматировать текущий блок как H4', 'formatH5': 'Форматировать текущий блок как H5', 'formatH6': 'Форматировать текущий блок как H6', 'insertHorizontalRule': 'Вставить горизонтальную черту', 'linkDialog.show': 'Показать диалог "Ссылка"' }, history: { undo: 'Отменить', redo: 'Повтор' }, specialChar: { specialChar: 'SPECIAL CHARACTERS', select: 'Select Special characters' } } }); })(jQuery); PK�{�\���DDlang/summernote-pt-PT.jsnu�[���(function($) { $.extend($.summernote.lang, { 'pt-PT': { font: { bold: 'Negrito', italic: 'Itálico', underline: 'Sublinhado', clear: 'Remover estilo da fonte', height: 'Altura da linha', name: 'Fonte', strikethrough: 'Riscado', subscript: 'Subscript', superscript: 'Superscript', size: 'Tamanho da fonte' }, image: { image: 'Imagem', insert: 'Inserir imagem', resizeFull: 'Redimensionar Completo', resizeHalf: 'Redimensionar Metade', resizeQuarter: 'Redimensionar Um Quarto', floatLeft: 'Float Esquerda', floatRight: 'Float Direita', floatNone: 'Sem Float', shapeRounded: 'Shape: Rounded', shapeCircle: 'Shape: Circle', shapeThumbnail: 'Shape: Thumbnail', shapeNone: 'Shape: None', dragImageHere: 'Arraste uma imagem para aqui', dropImage: 'Drop image or Text', selectFromFiles: 'Selecione a partir dos arquivos', maximumFileSize: 'Maximum file size', maximumFileSizeError: 'Maximum file size exceeded.', url: 'Endereço da imagem', remove: 'Remove Image', original: 'Original' }, video: { video: 'Vídeo', videoLink: 'Link para vídeo', insert: 'Inserir vídeo', url: 'URL do vídeo?', providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion ou Youku)' }, link: { link: 'Link', insert: 'Inserir ligação', unlink: 'Remover ligação', edit: 'Editar', textToDisplay: 'Texto para exibir', url: 'Que endereço esta licação leva?', openInNewWindow: 'Abrir numa nova janela' }, table: { table: 'Tabela', addRowAbove: 'Add row above', addRowBelow: 'Add row below', addColLeft: 'Add column left', addColRight: 'Add column right', delRow: 'Delete row', delCol: 'Delete column', delTable: 'Delete table' }, hr: { insert: 'Inserir linha horizontal' }, style: { style: 'Estilo', p: 'p', blockquote: 'Citação', pre: 'Código', h1: 'Título 1', h2: 'Título 2', h3: 'Título 3', h4: 'Título 4', h5: 'Título 5', h6: 'Título 6' }, lists: { unordered: 'Lista com marcadores', ordered: 'Lista numerada' }, options: { help: 'Ajuda', fullscreen: 'Janela Completa', codeview: 'Ver código-fonte' }, paragraph: { paragraph: 'Parágrafo', outdent: 'Menor tabulação', indent: 'Maior tabulação', left: 'Alinhar à esquerda', center: 'Alinhar ao centro', right: 'Alinha à direita', justify: 'Justificado' }, color: { recent: 'Cor recente', more: 'Mais cores', background: 'Fundo', foreground: 'Fonte', transparent: 'Transparente', setTransparent: 'Fundo transparente', reset: 'Restaurar', resetToDefault: 'Restaurar padrão' }, shortcut: { shortcuts: 'Atalhos do teclado', close: 'Fechar', textFormatting: 'Formatação de texto', action: 'Ação', paragraphFormatting: 'Formatação de parágrafo', documentStyle: 'Estilo de documento' }, help: { 'insertParagraph': 'Insert Paragraph', 'undo': 'Undoes the last command', 'redo': 'Redoes the last command', 'tab': 'Tab', 'untab': 'Untab', 'bold': 'Set a bold style', 'italic': 'Set a italic style', 'underline': 'Set a underline style', 'strikethrough': 'Set a strikethrough style', 'removeFormat': 'Clean a style', 'justifyLeft': 'Set left align', 'justifyCenter': 'Set center align', 'justifyRight': 'Set right align', 'justifyFull': 'Set full align', 'insertUnorderedList': 'Toggle unordered list', 'insertOrderedList': 'Toggle ordered list', 'outdent': 'Outdent on current paragraph', 'indent': 'Indent on current paragraph', 'formatPara': 'Change current block\'s format as a paragraph(P tag)', 'formatH1': 'Change current block\'s format as H1', 'formatH2': 'Change current block\'s format as H2', 'formatH3': 'Change current block\'s format as H3', 'formatH4': 'Change current block\'s format as H4', 'formatH5': 'Change current block\'s format as H5', 'formatH6': 'Change current block\'s format as H6', 'insertHorizontalRule': 'Insert horizontal rule', 'linkDialog.show': 'Show Link Dialog' }, history: { undo: 'Desfazer', redo: 'Refazer' }, specialChar: { specialChar: 'SPECIAL CHARACTERS', select: 'Select Special characters' } } }); })(jQuery); PK�{�\y�[lang/summernote-ar-AR.jsnu�[���(function($) { $.extend($.summernote.lang, { 'ar-AR': { font: { bold: 'عريض', italic: 'مائل', underline: 'تحته خط', clear: 'مسح التنسيق', height: 'إرتفاع السطر', name: 'الخط', strikethrough: 'فى وسطه خط', subscript: 'مخطوطة', superscript: 'حرف فوقي', size: 'الحجم' }, image: { image: 'صورة', insert: 'إضافة صورة', resizeFull: 'الحجم بالكامل', resizeHalf: 'تصغير للنصف', resizeQuarter: 'تصغير للربع', floatLeft: 'تطيير لليسار', floatRight: 'تطيير لليمين', floatNone: 'ثابته', shapeRounded: 'الشكل: تقريب', shapeCircle: 'الشكل: دائرة', shapeThumbnail: 'الشكل: صورة مصغرة', shapeNone: 'الشكل: لا شيء', dragImageHere: 'إدرج الصورة هنا', dropImage: 'إسقاط صورة أو نص', selectFromFiles: 'حدد ملف', maximumFileSize: 'الحد الأقصى لحجم الملف', maximumFileSizeError: 'تم تجاوز الحد الأقصى لحجم الملف', url: 'رابط الصورة', remove: 'حذف الصورة', original: 'Original' }, video: { video: 'فيديو', videoLink: 'رابط الفيديو', insert: 'إدراج الفيديو', url: 'رابط الفيديو', providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion ou Youku)' }, link: { link: 'رابط رابط', insert: 'إدراج', unlink: 'حذف الرابط', edit: 'تعديل', textToDisplay: 'النص', url: 'مسار الرابط', openInNewWindow: 'فتح في نافذة جديدة' }, table: { table: 'جدول', addRowAbove: 'Add row above', addRowBelow: 'Add row below', addColLeft: 'Add column left', addColRight: 'Add column right', delRow: 'Delete row', delCol: 'Delete column', delTable: 'Delete table' }, hr: { insert: 'إدراج خط أفقي' }, style: { style: 'تنسيق', p: 'عادي', blockquote: 'إقتباس', pre: 'شفيرة', h1: 'عنوان رئيسي 1', h2: 'عنوان رئيسي 2', h3: 'عنوان رئيسي 3', h4: 'عنوان رئيسي 4', h5: 'عنوان رئيسي 5', h6: 'عنوان رئيسي 6' }, lists: { unordered: 'قائمة مُنقطة', ordered: 'قائمة مُرقمة' }, options: { help: 'مساعدة', fullscreen: 'حجم الشاشة بالكامل', codeview: 'شفيرة المصدر' }, paragraph: { paragraph: 'فقرة', outdent: 'محاذاة للخارج', indent: 'محاذاة للداخل', left: 'محاذاة لليسار', center: 'توسيط', right: 'محاذاة لليمين', justify: 'ملئ السطر' }, color: { recent: 'تم إستخدامه', more: 'المزيد', background: 'لون الخلفية', foreground: 'لون النص', transparent: 'شفاف', setTransparent: 'بدون خلفية', reset: 'إعادة الضبط', resetToDefault: 'إعادة الضبط' }, shortcut: { shortcuts: 'إختصارات', close: 'غلق', textFormatting: 'تنسيق النص', action: 'Action', paragraphFormatting: 'تنسيق الفقرة', documentStyle: 'تنسيق المستند', extraKeys: 'Extra keys' }, help: { 'insertParagraph': 'Insert Paragraph', 'undo': 'Undoes the last command', 'redo': 'Redoes the last command', 'tab': 'Tab', 'untab': 'Untab', 'bold': 'Set a bold style', 'italic': 'Set a italic style', 'underline': 'Set a underline style', 'strikethrough': 'Set a strikethrough style', 'removeFormat': 'Clean a style', 'justifyLeft': 'Set left align', 'justifyCenter': 'Set center align', 'justifyRight': 'Set right align', 'justifyFull': 'Set full align', 'insertUnorderedList': 'Toggle unordered list', 'insertOrderedList': 'Toggle ordered list', 'outdent': 'Outdent on current paragraph', 'indent': 'Indent on current paragraph', 'formatPara': 'Change current block\'s format as a paragraph(P tag)', 'formatH1': 'Change current block\'s format as H1', 'formatH2': 'Change current block\'s format as H2', 'formatH3': 'Change current block\'s format as H3', 'formatH4': 'Change current block\'s format as H4', 'formatH5': 'Change current block\'s format as H5', 'formatH6': 'Change current block\'s format as H6', 'insertHorizontalRule': 'Insert horizontal rule', 'linkDialog.show': 'Show Link Dialog' }, history: { undo: 'تراجع', redo: 'إعادة' }, specialChar: { specialChar: 'SPECIAL CHARACTERS', select: 'Select Special characters' } } }); })(jQuery); PK�{�\��d�KKlang/summernote-fa-IR.jsnu�[���(function($) { $.extend($.summernote.lang, { 'fa-IR': { font: { bold: 'درشت', italic: 'خمیده', underline: 'میان خط', clear: 'پاک کردن فرمت فونت', height: 'فاصله ی خطی', name: 'اسم فونت', strikethrough: 'Strike', subscript: 'Subscript', superscript: 'Superscript', size: 'اندازه ی فونت' }, image: { image: 'تصویر', insert: 'وارد کردن تصویر', resizeFull: 'تغییر به اندازه ی کامل', resizeHalf: 'تغییر به اندازه نصف', resizeQuarter: 'تغییر به اندازه یک چهارم', floatLeft: 'چسباندن به چپ', floatRight: 'چسباندن به راست', floatNone: 'بدون چسبندگی', shapeRounded: 'Shape: Rounded', shapeCircle: 'Shape: Circle', shapeThumbnail: 'Shape: Thumbnail', shapeNone: 'Shape: None', dragImageHere: 'یک تصویر را اینجا بکشید', dropImage: 'Drop image or Text', selectFromFiles: 'فایل ها را انتخاب کنید', maximumFileSize: 'Maximum file size', maximumFileSizeError: 'Maximum file size exceeded.', url: 'آدرس تصویر', remove: 'حذف تصویر', original: 'Original' }, video: { video: 'ویدیو', videoLink: 'لینک ویدیو', insert: 'افزودن ویدیو', url: 'آدرس ویدیو ؟', providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion یا Youku)' }, link: { link: 'لینک', insert: 'اضافه کردن لینک', unlink: 'حذف لینک', edit: 'ویرایش', textToDisplay: 'متن جهت نمایش', url: 'این لینک به چه آدرسی باید برود ؟', openInNewWindow: 'در یک پنجره ی جدید باز شود' }, table: { table: 'جدول', addRowAbove: 'Add row above', addRowBelow: 'Add row below', addColLeft: 'Add column left', addColRight: 'Add column right', delRow: 'Delete row', delCol: 'Delete column', delTable: 'Delete table' }, hr: { insert: 'افزودن خط افقی' }, style: { style: 'استیل', p: 'نرمال', blockquote: 'نقل قول', pre: 'کد', h1: 'سرتیتر 1', h2: 'سرتیتر 2', h3: 'سرتیتر 3', h4: 'سرتیتر 4', h5: 'سرتیتر 5', h6: 'سرتیتر 6' }, lists: { unordered: 'لیست غیر ترتیبی', ordered: 'لیست ترتیبی' }, options: { help: 'راهنما', fullscreen: 'نمایش تمام صفحه', codeview: 'مشاهده ی کد' }, paragraph: { paragraph: 'پاراگراف', outdent: 'کاهش تو رفتگی', indent: 'افزایش تو رفتگی', left: 'چپ چین', center: 'میان چین', right: 'راست چین', justify: 'بلوک چین' }, color: { recent: 'رنگ اخیرا استفاده شده', more: 'رنگ بیشتر', background: 'رنگ پس زمینه', foreground: 'رنگ متن', transparent: 'بی رنگ', setTransparent: 'تنظیم حالت بی رنگ', reset: 'بازنشاندن', resetToDefault: 'حالت پیش فرض' }, shortcut: { shortcuts: 'دکمه های میان بر', close: 'بستن', textFormatting: 'فرمت متن', action: 'عملیات', paragraphFormatting: 'فرمت پاراگراف', documentStyle: 'استیل سند', extraKeys: 'Extra keys' }, help: { 'insertParagraph': 'Insert Paragraph', 'undo': 'Undoes the last command', 'redo': 'Redoes the last command', 'tab': 'Tab', 'untab': 'Untab', 'bold': 'Set a bold style', 'italic': 'Set a italic style', 'underline': 'Set a underline style', 'strikethrough': 'Set a strikethrough style', 'removeFormat': 'Clean a style', 'justifyLeft': 'Set left align', 'justifyCenter': 'Set center align', 'justifyRight': 'Set right align', 'justifyFull': 'Set full align', 'insertUnorderedList': 'Toggle unordered list', 'insertOrderedList': 'Toggle ordered list', 'outdent': 'Outdent on current paragraph', 'indent': 'Indent on current paragraph', 'formatPara': 'Change current block\'s format as a paragraph(P tag)', 'formatH1': 'Change current block\'s format as H1', 'formatH2': 'Change current block\'s format as H2', 'formatH3': 'Change current block\'s format as H3', 'formatH4': 'Change current block\'s format as H4', 'formatH5': 'Change current block\'s format as H5', 'formatH6': 'Change current block\'s format as H6', 'insertHorizontalRule': 'Insert horizontal rule', 'linkDialog.show': 'Show Link Dialog' }, history: { undo: 'واچیدن', redo: 'بازچیدن' }, specialChar: { specialChar: 'SPECIAL CHARACTERS', select: 'Select Special characters' } } }); })(jQuery); PK�{�\�9pRsslang/summernote-tr-TR.jsnu�[���(function($) { $.extend($.summernote.lang, { 'tr-TR': { font: { bold: 'Kalın', italic: 'İtalik', underline: 'Altı çizili', clear: 'Temizle', height: 'Satır yüksekliği', name: 'Yazı Tipi', strikethrough: 'Üstü çizili', subscript: 'Alt Simge', superscript: 'Üst Simge', size: 'Yazı tipi boyutu' }, image: { image: 'Resim', insert: 'Resim ekle', resizeFull: 'Orjinal boyut', resizeHalf: '1/2 boyut', resizeQuarter: '1/4 boyut', floatLeft: 'Sola hizala', floatRight: 'Sağa hizala', floatNone: 'Hizalamayı kaldır', shapeRounded: 'Şekil: Yuvarlatılmış Köşe', shapeCircle: 'Şekil: Daire', shapeThumbnail: 'Şekil: K.Resim', shapeNone: 'Şekil: Yok', dragImageHere: 'Buraya sürükleyin', dropImage: 'Resim veya metni bırakın', selectFromFiles: 'Dosya seçin', maximumFileSize: 'Maksimum dosya boyutu', maximumFileSizeError: 'Maksimum dosya boyutu aşıldı.', url: 'Resim bağlantısı', remove: 'Resimi Kaldır', original: 'Original' }, video: { video: 'Video', videoLink: 'Video bağlantısı', insert: 'Video ekle', url: 'Video bağlantısı?', providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion veya Youku)' }, link: { link: 'Bağlantı', insert: 'Bağlantı ekle', unlink: 'Bağlantıyı kaldır', edit: 'Bağlantıyı düzenle', textToDisplay: 'Görüntülemek için', url: 'Bağlantı adresi?', openInNewWindow: 'Yeni pencerede aç' }, table: { table: 'Tablo', addRowAbove: 'Yukarı satır ekle', addRowBelow: 'Aşağı satır ekle', addColLeft: 'Sola sütun ekle', addColRight: 'Sağa sütun ekle', delRow: 'Satırı sil', delCol: 'Sütunu sil', delTable: 'Tabloyu sil' }, hr: { insert: 'Yatay çizgi ekle' }, style: { style: 'Biçim', p: 'p', blockquote: 'Alıntı', pre: 'Önbiçimli', h1: 'Başlık 1', h2: 'Başlık 2', h3: 'Başlık 3', h4: 'Başlık 4', h5: 'Başlık 5', h6: 'Başlık 6' }, lists: { unordered: 'Madde işaretli liste', ordered: 'Numaralı liste' }, options: { help: 'Yardım', fullscreen: 'Tam ekran', codeview: 'HTML Kodu' }, paragraph: { paragraph: 'Paragraf', outdent: 'Girintiyi artır', indent: 'Girintiyi azalt', left: 'Sola hizala', center: 'Ortaya hizala', right: 'Sağa hizala', justify: 'Yasla' }, color: { recent: 'Son renk', more: 'Daha fazla renk', background: 'Arka plan rengi', foreground: 'Yazı rengi', transparent: 'Seffaflık', setTransparent: 'Şeffaflığı ayarla', reset: 'Sıfırla', resetToDefault: 'Varsayılanlara sıfırla' }, shortcut: { shortcuts: 'Kısayollar', close: 'Kapat', textFormatting: 'Yazı biçimlendirme', action: 'Eylem', paragraphFormatting: 'Paragraf biçimlendirme', documentStyle: 'Biçim', extraKeys: 'İlave anahtarlar' }, help: { 'insertParagraph': 'Paragraf ekler', 'undo': 'Son komudu geri alır', 'redo': 'Son komudu yineler', 'tab': 'Girintiyi artırır', 'untab': 'Girintiyi azaltır', 'bold': 'Kalın yazma stilini ayarlar', 'italic': 'İtalik yazma stilini ayarlar', 'underline': 'Altı çizgili yazma stilini ayarlar', 'strikethrough': 'Üstü çizgili yazma stilini ayarlar', 'removeFormat': 'Biçimlendirmeyi temizler', 'justifyLeft': 'Yazıyı sola hizalar', 'justifyCenter': 'Yazıyı ortalar', 'justifyRight': 'Yazıyı sağa hizalar', 'justifyFull': 'Yazıyı her iki tarafa yazlar', 'insertUnorderedList': 'Madde işaretli liste ekler', 'insertOrderedList': 'Numaralı liste ekler', 'outdent': 'Aktif paragrafın girintisini azaltır', 'indent': 'Aktif paragrafın girintisini artırır', 'formatPara': 'Aktif bloğun biçimini paragraf (p) olarak değiştirir', 'formatH1': 'Aktif bloğun biçimini başlık 1 (h1) olarak değiştirir', 'formatH2': 'Aktif bloğun biçimini başlık 2 (h2) olarak değiştirir', 'formatH3': 'Aktif bloğun biçimini başlık 3 (h3) olarak değiştirir', 'formatH4': 'Aktif bloğun biçimini başlık 4 (h4) olarak değiştirir', 'formatH5': 'Aktif bloğun biçimini başlık 5 (h5) olarak değiştirir', 'formatH6': 'Aktif bloğun biçimini başlık 6 (h6) olarak değiştirir', 'insertHorizontalRule': 'Yatay çizgi ekler', 'linkDialog.show': 'Bağlantı ayar kutusunu gösterir' }, history: { undo: 'Geri al', redo: 'Yinele' }, specialChar: { specialChar: 'ÖZEL KARAKTERLER', select: 'Özel Karakterleri seçin' } } }); })(jQuery); PK�{�\���p� � lang/summernote-sv-SE.min.jsnu�[���/*! Summernote v0.8.10 | (c) 2013- Alan Hong and other contributors | MIT license */ !function(e){e.extend(e.summernote.lang,{"sv-SE":{font:{bold:"Fet",italic:"Kursiv",underline:"Understruken",clear:"Radera formatering",height:"Radavstånd",name:"Teckensnitt",strikethrough:"Genomstruken",subscript:"Subscript",superscript:"Superscript",size:"Teckenstorlek"},image:{image:"Bild",insert:"Infoga bild",resizeFull:"Full storlek",resizeHalf:"Halv storlek",resizeQuarter:"En fjärdedel i storlek",floatLeft:"Vänsterjusterad",floatRight:"Högerjusterad",floatNone:"Ingen justering",shapeRounded:"Shape: Rounded",shapeCircle:"Shape: Circle",shapeThumbnail:"Shape: Thumbnail",shapeNone:"Shape: None",dragImageHere:"Dra en bild hit",dropImage:"Drop image or Text",selectFromFiles:"Välj från filer",maximumFileSize:"Maximum file size",maximumFileSizeError:"Maximum file size exceeded.",url:"Länk till bild",remove:"Ta bort bild",original:"Original"},video:{video:"Filmklipp",videoLink:"Länk till filmklipp",insert:"Infoga filmklipp",url:"Länk till filmklipp",providers:"(YouTube, Vimeo, Vine, Instagram, DailyMotion eller Youku)"},link:{link:"Länk",insert:"Infoga länk",unlink:"Ta bort länk",edit:"Redigera",textToDisplay:"Visningstext",url:"Till vilken URL ska denna länk peka?",openInNewWindow:"Öppna i ett nytt fönster"},table:{table:"Tabell",addRowAbove:"Add row above",addRowBelow:"Add row below",addColLeft:"Add column left",addColRight:"Add column right",delRow:"Delete row",delCol:"Delete column",delTable:"Delete table"},hr:{insert:"Infoga horisontell linje"},style:{style:"Stil",p:"p",blockquote:"Citat",pre:"Kod",h1:"Rubrik 1",h2:"Rubrik 2",h3:"Rubrik 3",h4:"Rubrik 4",h5:"Rubrik 5",h6:"Rubrik 6"},lists:{unordered:"Punktlista",ordered:"Numrerad lista"},options:{help:"Hjälp",fullscreen:"Fullskärm",codeview:"HTML-visning"},paragraph:{paragraph:"Justera text",outdent:"Minska indrag",indent:"Öka indrag",left:"Vänsterjusterad",center:"Centrerad",right:"Högerjusterad",justify:"Justera text"},color:{recent:"Senast använda färg",more:"Fler färger",background:"Bakgrundsfärg",foreground:"Teckenfärg",transparent:"Genomskinlig",setTransparent:"Gör genomskinlig",reset:"Nollställ",resetToDefault:"Återställ till standard"},shortcut:{shortcuts:"Kortkommandon",close:"Stäng",textFormatting:"Textformatering",action:"Funktion",paragraphFormatting:"Avsnittsformatering",documentStyle:"Dokumentstil",extraKeys:"Extra keys"},help:{insertParagraph:"Insert Paragraph",undo:"Undoes the last command",redo:"Redoes the last command",tab:"Tab",untab:"Untab",bold:"Set a bold style",italic:"Set a italic style",underline:"Set a underline style",strikethrough:"Set a strikethrough style",removeFormat:"Clean a style",justifyLeft:"Set left align",justifyCenter:"Set center align",justifyRight:"Set right align",justifyFull:"Set full align",insertUnorderedList:"Toggle unordered list",insertOrderedList:"Toggle ordered list",outdent:"Outdent on current paragraph",indent:"Indent on current paragraph",formatPara:"Change current block's format as a paragraph(P tag)",formatH1:"Change current block's format as H1",formatH2:"Change current block's format as H2",formatH3:"Change current block's format as H3",formatH4:"Change current block's format as H4",formatH5:"Change current block's format as H5",formatH6:"Change current block's format as H6",insertHorizontalRule:"Insert horizontal rule","linkDialog.show":"Show Link Dialog"},history:{undo:"Ångra",redo:"Gör om"},specialChar:{specialChar:"SPECIAL CHARACTERS",select:"Select Special characters"}}})}(jQuery);PK�{�\߂�XXlang/summernote-el-GR.jsnu�[���(function($) { $.extend($.summernote.lang, { 'el-GR': { font: { bold: 'Έντονα', italic: 'Πλάγια', underline: 'Υπογραμμισμένα', clear: 'Καθαρισμός', height: 'Ύψος', name: 'Γραμματοσειρά', strikethrough: 'Διεγραμμένα', subscript: 'Δείκτης', superscript: 'Εκθέτης', size: 'Μέγεθος' }, image: { image: 'εικόνα', insert: 'Εισαγωγή', resizeFull: 'Πλήρες μέγεθος', resizeHalf: 'Μισό μέγεθος', resizeQuarter: '1/4 μέγεθος', floatLeft: 'Μετατόπιση αριστερά', floatRight: 'Μετατόπιση δεξιά', floatNone: 'Χωρίς μετατόπιση', shapeRounded: 'Σχήμα: Στρογγυλεμένο', shapeCircle: 'Σχήμα: Κύκλος', shapeThumbnail: 'Σχήμα: Thumbnail', shapeNone: 'Σχήμα: Κανένα', dragImageHere: 'Σύρτε την εικόνα εδώ', dropImage: 'Αφήστε την εικόνα', selectFromFiles: 'Επιλογή από αρχεία', maximumFileSize: 'Μέγιστο μέγεθος αρχείου', maximumFileSizeError: 'Το μέγεθος είναι μεγαλύτερο από το μέγιστο επιτρεπτό.', url: 'URL', remove: 'Αφαίρεση', original: 'Original' }, link: { link: 'Σύνδεσμος', insert: 'Εισαγωγή συνδέσμου', unlink: 'Αφαίρεση συνδέσμου', edit: 'Επεξεργασία συνδέσμου', textToDisplay: 'Κείμενο συνδέσμου', url: 'URL', openInNewWindow: 'Άνοιγμα σε νέο παράθυρο' }, video: { video: 'Βίντεο', videoLink: 'Σύνδεσμος Βίντεο', insert: 'Εισαγωγή', url: 'URL', providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion or Youku)' }, table: { table: 'Πίνακας', addRowAbove: 'Add row above', addRowBelow: 'Add row below', addColLeft: 'Add column left', addColRight: 'Add column right', delRow: 'Delete row', delCol: 'Delete column', delTable: 'Delete table' }, hr: { insert: 'Εισαγωγή οριζόντιας γραμμής' }, style: { style: 'Στυλ', normal: 'Κανονικό', blockquote: 'Παράθεση', pre: 'Ως έχει', h1: 'Κεφαλίδα 1', h2: 'συνδέσμου 2', h3: 'συνδέσμου 3', h4: 'συνδέσμου 4', h5: 'συνδέσμου 5', h6: 'συνδέσμου 6' }, lists: { unordered: 'Αταξινόμητη λίστα', ordered: 'Ταξινομημένη λίστα' }, options: { help: 'Βοήθεια', fullscreen: 'Πλήρης οθόνη', codeview: 'Προβολή HTML' }, paragraph: { paragraph: 'Παράγραφος', outdent: 'Μείωση εσοχής', indent: 'Άυξηση εσοχής', left: 'Αριστερή στοίχιση', center: 'Στοίχιση στο κέντρο', right: 'Δεξιά στοίχιση', justify: 'Πλήρης στοίχιση' }, color: { recent: 'Πρόσφατη επιλογή', more: 'Περισσότερα', background: 'Υπόβαθρο', foreground: 'Μπροστά', transparent: 'Διαφανές', setTransparent: 'Επιλογή διαφάνειας', reset: 'Επαναφορά', resetToDefault: 'Επαναφορά στις προκαθορισμένες τιμές' }, shortcut: { shortcuts: 'Συντομεύσεις', close: 'Κλείσιμο', textFormatting: 'Διαμόρφωση κειμένου', action: 'Ενέργεια', paragraphFormatting: 'Διαμόρφωση παραγράφου', documentStyle: 'Στυλ κειμένου', extraKeys: 'Επιπλέον συντομεύσεις' }, help: { 'insertParagraph': 'Εισαγωγή παραγράφου', 'undo': 'Αναιρεί την προηγούμενη εντολή', 'redo': 'Επαναλαμβάνει την προηγούμενη εντολή', 'tab': 'Εσοχή', 'untab': 'Αναίρεση εσοχής', 'bold': 'Ορισμός έντονου στυλ', 'italic': 'Ορισμός πλάγιου στυλ', 'underline': 'Ορισμός υπογεγραμμένου στυλ', 'strikethrough': 'Ορισμός διεγραμμένου στυλ', 'removeFormat': 'Αφαίρεση στυλ', 'justifyLeft': 'Ορισμός αριστερής στοίχισης', 'justifyCenter': 'Ορισμός κεντρικής στοίχισης', 'justifyRight': 'Ορισμός δεξιάς στοίχισης', 'justifyFull': 'Ορισμός πλήρους στοίχισης', 'insertUnorderedList': 'Ορισμός μη-ταξινομημένης λίστας', 'insertOrderedList': 'Ορισμός ταξινομημένης λίστας', 'outdent': 'Προεξοχή παραγράφου', 'indent': 'Εσοχή παραγράφου', 'formatPara': 'Αλλαγή της μορφής του τρέχοντος μπλοκ σε παράγραφο (P tag)', 'formatH1': 'Αλλαγή της μορφής του τρέχοντος μπλοκ σε H1', 'formatH2': 'Αλλαγή της μορφής του τρέχοντος μπλοκ σε H2', 'formatH3': 'Αλλαγή της μορφής του τρέχοντος μπλοκ σε H3', 'formatH4': 'Αλλαγή της μορφής του τρέχοντος μπλοκ σε H4', 'formatH5': 'Αλλαγή της μορφής του τρέχοντος μπλοκ σε H5', 'formatH6': 'Αλλαγή της μορφής του τρέχοντος μπλοκ σε H6', 'insertHorizontalRule': 'Εισαγωγή οριζόντιας γραμμής', 'linkDialog.show': 'Εμφάνιση διαλόγου συνδέσμου' }, history: { undo: 'Αναίρεση', redo: 'Επαναληψη' }, specialChar: { specialChar: 'SPECIAL CHARACTERS', select: 'Επιλέξτε ειδικούς χαρακτήρες' } } }); })(jQuery); PK�{�\{ �lang/summernote-sv-SE.jsnu�[���(function($) { $.extend($.summernote.lang, { 'sv-SE': { font: { bold: 'Fet', italic: 'Kursiv', underline: 'Understruken', clear: 'Radera formatering', height: 'Radavstånd', name: 'Teckensnitt', strikethrough: 'Genomstruken', subscript: 'Subscript', superscript: 'Superscript', size: 'Teckenstorlek' }, image: { image: 'Bild', insert: 'Infoga bild', resizeFull: 'Full storlek', resizeHalf: 'Halv storlek', resizeQuarter: 'En fjärdedel i storlek', floatLeft: 'Vänsterjusterad', floatRight: 'Högerjusterad', floatNone: 'Ingen justering', shapeRounded: 'Shape: Rounded', shapeCircle: 'Shape: Circle', shapeThumbnail: 'Shape: Thumbnail', shapeNone: 'Shape: None', dragImageHere: 'Dra en bild hit', dropImage: 'Drop image or Text', selectFromFiles: 'Välj från filer', maximumFileSize: 'Maximum file size', maximumFileSizeError: 'Maximum file size exceeded.', url: 'Länk till bild', remove: 'Ta bort bild', original: 'Original' }, video: { video: 'Filmklipp', videoLink: 'Länk till filmklipp', insert: 'Infoga filmklipp', url: 'Länk till filmklipp', providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion eller Youku)' }, link: { link: 'Länk', insert: 'Infoga länk', unlink: 'Ta bort länk', edit: 'Redigera', textToDisplay: 'Visningstext', url: 'Till vilken URL ska denna länk peka?', openInNewWindow: 'Öppna i ett nytt fönster' }, table: { table: 'Tabell', addRowAbove: 'Add row above', addRowBelow: 'Add row below', addColLeft: 'Add column left', addColRight: 'Add column right', delRow: 'Delete row', delCol: 'Delete column', delTable: 'Delete table' }, hr: { insert: 'Infoga horisontell linje' }, style: { style: 'Stil', p: 'p', blockquote: 'Citat', pre: 'Kod', h1: 'Rubrik 1', h2: 'Rubrik 2', h3: 'Rubrik 3', h4: 'Rubrik 4', h5: 'Rubrik 5', h6: 'Rubrik 6' }, lists: { unordered: 'Punktlista', ordered: 'Numrerad lista' }, options: { help: 'Hjälp', fullscreen: 'Fullskärm', codeview: 'HTML-visning' }, paragraph: { paragraph: 'Justera text', outdent: 'Minska indrag', indent: 'Öka indrag', left: 'Vänsterjusterad', center: 'Centrerad', right: 'Högerjusterad', justify: 'Justera text' }, color: { recent: 'Senast använda färg', more: 'Fler färger', background: 'Bakgrundsfärg', foreground: 'Teckenfärg', transparent: 'Genomskinlig', setTransparent: 'Gör genomskinlig', reset: 'Nollställ', resetToDefault: 'Återställ till standard' }, shortcut: { shortcuts: 'Kortkommandon', close: 'Stäng', textFormatting: 'Textformatering', action: 'Funktion', paragraphFormatting: 'Avsnittsformatering', documentStyle: 'Dokumentstil', extraKeys: 'Extra keys' }, help: { 'insertParagraph': 'Insert Paragraph', 'undo': 'Undoes the last command', 'redo': 'Redoes the last command', 'tab': 'Tab', 'untab': 'Untab', 'bold': 'Set a bold style', 'italic': 'Set a italic style', 'underline': 'Set a underline style', 'strikethrough': 'Set a strikethrough style', 'removeFormat': 'Clean a style', 'justifyLeft': 'Set left align', 'justifyCenter': 'Set center align', 'justifyRight': 'Set right align', 'justifyFull': 'Set full align', 'insertUnorderedList': 'Toggle unordered list', 'insertOrderedList': 'Toggle ordered list', 'outdent': 'Outdent on current paragraph', 'indent': 'Indent on current paragraph', 'formatPara': 'Change current block\'s format as a paragraph(P tag)', 'formatH1': 'Change current block\'s format as H1', 'formatH2': 'Change current block\'s format as H2', 'formatH3': 'Change current block\'s format as H3', 'formatH4': 'Change current block\'s format as H4', 'formatH5': 'Change current block\'s format as H5', 'formatH6': 'Change current block\'s format as H6', 'insertHorizontalRule': 'Insert horizontal rule', 'linkDialog.show': 'Show Link Dialog' }, history: { undo: 'Ångra', redo: 'Gör om' }, specialChar: { specialChar: 'SPECIAL CHARACTERS', select: 'Select Special characters' } } }); })(jQuery); PK�{�\�X��GGlang/summernote-ro-RO.min.jsnu�[���/*! Summernote v0.8.10 | (c) 2013- Alan Hong and other contributors | MIT license */ !function(e){e.extend(e.summernote.lang,{"ro-RO":{font:{bold:"Îngroșat",italic:"Înclinat",underline:"Subliniat",clear:"Înlătură formatare font",height:"Înălțime rând",name:"Familie de fonturi",strikethrough:"Tăiat",subscript:"Indice",superscript:"Exponent",size:"Dimensiune font"},image:{image:"Imagine",insert:"Inserează imagine",resizeFull:"Redimensionează complet",resizeHalf:"Redimensionează 1/2",resizeQuarter:"Redimensionează 1/4",floatLeft:"Aliniere la stânga",floatRight:"Aliniere la dreapta",floatNone:"Fară aliniere",shapeRounded:"Formă: Rotund",shapeCircle:"Formă: Cerc",shapeThumbnail:"Formă: Pictogramă",shapeNone:"Formă: Nici una",dragImageHere:"Trage o imagine sau un text aici",dropImage:"Eliberează imaginea sau textul",selectFromFiles:"Alege din fişiere",maximumFileSize:"Dimensiune maximă fișier",maximumFileSizeError:"Dimensiune maximă fișier depășită.",url:"URL imagine",remove:"Șterge imagine",original:"Original"},video:{video:"Video",videoLink:"Link video",insert:"Inserează video",url:"URL video?",providers:"(YouTube, Vimeo, Vine, Instagram, DailyMotion sau Youku)"},link:{link:"Link",insert:"Inserează link",unlink:"Înlătură link",edit:"Editează",textToDisplay:"Text ce va fi afişat",url:"La ce adresă URL trebuie să conducă acest link?",openInNewWindow:"Deschidere în fereastră nouă"},table:{table:"Tabel",addRowAbove:"Adaugă rând deasupra",addRowBelow:"Adaugă rând dedesubt",addColLeft:"Adaugă coloană stânga",addColRight:"Adaugă coloană dreapta",delRow:"Șterge rând",delCol:"Șterge coloană",delTable:"Șterge tabel"},hr:{insert:"Inserează o linie orizontală"},style:{style:"Stil",p:"p",blockquote:"Citat",pre:"Preformatat",h1:"Titlu 1",h2:"Titlu 2",h3:"Titlu 3",h4:"Titlu 4",h5:"Titlu 5",h6:"Titlu 6"},lists:{unordered:"Listă neordonată",ordered:"Listă ordonată"},options:{help:"Ajutor",fullscreen:"Măreşte",codeview:"Sursă"},paragraph:{paragraph:"Paragraf",outdent:"Creşte identarea",indent:"Scade identarea",left:"Aliniere la stânga",center:"Aliniere centrală",right:"Aliniere la dreapta",justify:"Aliniere în bloc"},color:{recent:"Culoare recentă",more:"Mai multe culori",background:"Culoarea fundalului",foreground:"Culoarea textului",transparent:"Transparent",setTransparent:"Setează transparent",reset:"Resetează",resetToDefault:"Revino la iniţial"},shortcut:{shortcuts:"Scurtături tastatură",close:"Închide",textFormatting:"Formatare text",action:"Acţiuni",paragraphFormatting:"Formatare paragraf",documentStyle:"Stil paragraf",extraKeys:"Taste extra"},help:{insertParagraph:"Inserează paragraf",undo:"Revine la starea anterioară",redo:"Revine la starea ulterioară",tab:"Tab",untab:"Untab",bold:"Setează stil îngroșat",italic:"Setează stil înclinat",underline:"Setează stil subliniat",strikethrough:"Setează stil tăiat",removeFormat:"Înlătură formatare",justifyLeft:"Setează aliniere stânga",justifyCenter:"Setează aliniere centru",justifyRight:"Setează aliniere dreapta",justifyFull:"Setează aliniere bloc",insertUnorderedList:"Comutare listă neordinată",insertOrderedList:"Comutare listă ordonată",outdent:"Înlătură indentare paragraf curent",indent:"Adaugă indentare paragraf curent",formatPara:"Schimbă formatarea selecției în paragraf",formatH1:"Schimbă formatarea selecției în H1",formatH2:"Schimbă formatarea selecției în H2",formatH3:"Schimbă formatarea selecției în H3",formatH4:"Schimbă formatarea selecției în H4",formatH5:"Schimbă formatarea selecției în H5",formatH6:"Schimbă formatarea selecției în H6",insertHorizontalRule:"Adaugă linie orizontală","linkDialog.show":"Inserează link"},history:{undo:"Starea anterioară",redo:"Starea ulterioară"},specialChar:{specialChar:"CARACTERE SPECIALE",select:"Alege caractere speciale"}}})}(jQuery);PK�{�\m�v'<<lang/summernote-lt-LT.jsnu�[���(function($) { $.extend($.summernote.lang, { 'lt-LT': { font: { bold: 'Paryškintas', italic: 'Kursyvas', underline: 'Pabrėžtas', clear: 'Be formatavimo', height: 'Eilutės aukštis', name: 'Šrifto pavadinimas', strikethrough: 'Perbrauktas', superscript: 'Viršutinis', subscript: 'Indeksas', size: 'Šrifto dydis' }, image: { image: 'Paveikslėlis', insert: 'Įterpti paveikslėlį', resizeFull: 'Pilnas dydis', resizeHalf: 'Sumažinti dydį 50%', resizeQuarter: 'Sumažinti dydį 25%', floatLeft: 'Kairinis lygiavimas', floatRight: 'Dešininis lygiavimas', floatNone: 'Jokio lygiavimo', shapeRounded: 'Forma: apvalūs kraštai', shapeCircle: 'Forma: apskritimas', shapeThumbnail: 'Forma: miniatiūra', shapeNone: 'Forma: jokia', dragImageHere: 'Vilkite paveikslėlį čia', dropImage: 'Drop image or Text', selectFromFiles: 'Pasirinkite failą', maximumFileSize: 'Maskimalus failo dydis', maximumFileSizeError: 'Maskimalus failo dydis viršytas!', url: 'Paveikslėlio URL adresas', remove: 'Ištrinti paveikslėlį', original: 'Original' }, video: { video: 'Video', videoLink: 'Video Link', insert: 'Insert Video', url: 'Video URL?', providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion or Youku)' }, link: { link: 'Nuoroda', insert: 'Įterpti nuorodą', unlink: 'Pašalinti nuorodą', edit: 'Redaguoti', textToDisplay: 'Rodomas tekstas', url: 'Koks URL adresas yra susietas?', openInNewWindow: 'Atidaryti naujame lange' }, table: { table: 'Lentelė', addRowAbove: 'Add row above', addRowBelow: 'Add row below', addColLeft: 'Add column left', addColRight: 'Add column right', delRow: 'Delete row', delCol: 'Delete column', delTable: 'Delete table' }, hr: { insert: 'Įterpti horizontalią liniją' }, style: { style: 'Stilius', p: 'pus', blockquote: 'Citata', pre: 'Kodas', h1: 'Antraštė 1', h2: 'Antraštė 2', h3: 'Antraštė 3', h4: 'Antraštė 4', h5: 'Antraštė 5', h6: 'Antraštė 6' }, lists: { unordered: 'Suženklintasis sąrašas', ordered: 'Sunumeruotas sąrašas' }, options: { help: 'Pagalba', fullscreen: 'Viso ekrano režimas', codeview: 'HTML kodo peržiūra' }, paragraph: { paragraph: 'Pastraipa', outdent: 'Sumažinti įtrauką', indent: 'Padidinti įtrauką', left: 'Kairinė lygiuotė', center: 'Centrinė lygiuotė', right: 'Dešininė lygiuotė', justify: 'Abipusis išlyginimas' }, color: { recent: 'Paskutinė naudota spalva', more: 'Daugiau spalvų', background: 'Fono spalva', foreground: 'Šrifto spalva', transparent: 'Permatoma', setTransparent: 'Nustatyti skaidrumo intensyvumą', reset: 'Atkurti', resetToDefault: 'Atstatyti numatytąją spalvą' }, shortcut: { shortcuts: 'Spartieji klavišai', close: 'Uždaryti', textFormatting: 'Teksto formatavimas', action: 'Veiksmas', paragraphFormatting: 'Pastraipos formatavimas', documentStyle: 'Dokumento stilius', extraKeys: 'Papildomi klavišų deriniai' }, help: { 'insertParagraph': 'Insert Paragraph', 'undo': 'Undoes the last command', 'redo': 'Redoes the last command', 'tab': 'Tab', 'untab': 'Untab', 'bold': 'Set a bold style', 'italic': 'Set a italic style', 'underline': 'Set a underline style', 'strikethrough': 'Set a strikethrough style', 'removeFormat': 'Clean a style', 'justifyLeft': 'Set left align', 'justifyCenter': 'Set center align', 'justifyRight': 'Set right align', 'justifyFull': 'Set full align', 'insertUnorderedList': 'Toggle unordered list', 'insertOrderedList': 'Toggle ordered list', 'outdent': 'Outdent on current paragraph', 'indent': 'Indent on current paragraph', 'formatPara': 'Change current block\'s format as a paragraph(P tag)', 'formatH1': 'Change current block\'s format as H1', 'formatH2': 'Change current block\'s format as H2', 'formatH3': 'Change current block\'s format as H3', 'formatH4': 'Change current block\'s format as H4', 'formatH5': 'Change current block\'s format as H5', 'formatH6': 'Change current block\'s format as H6', 'insertHorizontalRule': 'Insert horizontal rule', 'linkDialog.show': 'Show Link Dialog' }, history: { undo: 'Anuliuoti veiksmą', redo: 'Perdaryti veiksmą' }, specialChar: { specialChar: 'SPECIAL CHARACTERS', select: 'Select Special characters' } } }); })(jQuery); PK}�\�|+�;8;8d3-array.jsnu�[���// https://d3js.org/d3-array/ v1.2.4 Copyright 2018 Mike Bostock (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : typeof define === 'function' && define.amd ? define(['exports'], factory) : (factory((global.d3 = global.d3 || {}))); }(this, (function (exports) { 'use strict'; function ascending(a, b) { return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN; } function bisector(compare) { if (compare.length === 1) compare = ascendingComparator(compare); return { left: function(a, x, lo, hi) { if (lo == null) lo = 0; if (hi == null) hi = a.length; while (lo < hi) { var mid = lo + hi >>> 1; if (compare(a[mid], x) < 0) lo = mid + 1; else hi = mid; } return lo; }, right: function(a, x, lo, hi) { if (lo == null) lo = 0; if (hi == null) hi = a.length; while (lo < hi) { var mid = lo + hi >>> 1; if (compare(a[mid], x) > 0) hi = mid; else lo = mid + 1; } return lo; } }; } function ascendingComparator(f) { return function(d, x) { return ascending(f(d), x); }; } var ascendingBisect = bisector(ascending); var bisectRight = ascendingBisect.right; var bisectLeft = ascendingBisect.left; function pairs(array, f) { if (f == null) f = pair; var i = 0, n = array.length - 1, p = array[0], pairs = new Array(n < 0 ? 0 : n); while (i < n) pairs[i] = f(p, p = array[++i]); return pairs; } function pair(a, b) { return [a, b]; } function cross(values0, values1, reduce) { var n0 = values0.length, n1 = values1.length, values = new Array(n0 * n1), i0, i1, i, value0; if (reduce == null) reduce = pair; for (i0 = i = 0; i0 < n0; ++i0) { for (value0 = values0[i0], i1 = 0; i1 < n1; ++i1, ++i) { values[i] = reduce(value0, values1[i1]); } } return values; } function descending(a, b) { return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN; } function number(x) { return x === null ? NaN : +x; } function variance(values, valueof) { var n = values.length, m = 0, i = -1, mean = 0, value, delta, sum = 0; if (valueof == null) { while (++i < n) { if (!isNaN(value = number(values[i]))) { delta = value - mean; mean += delta / ++m; sum += delta * (value - mean); } } } else { while (++i < n) { if (!isNaN(value = number(valueof(values[i], i, values)))) { delta = value - mean; mean += delta / ++m; sum += delta * (value - mean); } } } if (m > 1) return sum / (m - 1); } function deviation(array, f) { var v = variance(array, f); return v ? Math.sqrt(v) : v; } function extent(values, valueof) { var n = values.length, i = -1, value, min, max; if (valueof == null) { while (++i < n) { // Find the first comparable value. if ((value = values[i]) != null && value >= value) { min = max = value; while (++i < n) { // Compare the remaining values. if ((value = values[i]) != null) { if (min > value) min = value; if (max < value) max = value; } } } } } else { while (++i < n) { // Find the first comparable value. if ((value = valueof(values[i], i, values)) != null && value >= value) { min = max = value; while (++i < n) { // Compare the remaining values. if ((value = valueof(values[i], i, values)) != null) { if (min > value) min = value; if (max < value) max = value; } } } } } return [min, max]; } var array = Array.prototype; var slice = array.slice; var map = array.map; function constant(x) { return function() { return x; }; } function identity(x) { return x; } function range(start, stop, step) { start = +start, stop = +stop, step = (n = arguments.length) < 2 ? (stop = start, start = 0, 1) : n < 3 ? 1 : +step; var i = -1, n = Math.max(0, Math.ceil((stop - start) / step)) | 0, range = new Array(n); while (++i < n) { range[i] = start + i * step; } return range; } var e10 = Math.sqrt(50), e5 = Math.sqrt(10), e2 = Math.sqrt(2); function ticks(start, stop, count) { var reverse, i = -1, n, ticks, step; stop = +stop, start = +start, count = +count; if (start === stop && count > 0) return [start]; if (reverse = stop < start) n = start, start = stop, stop = n; if ((step = tickIncrement(start, stop, count)) === 0 || !isFinite(step)) return []; if (step > 0) { start = Math.ceil(start / step); stop = Math.floor(stop / step); ticks = new Array(n = Math.ceil(stop - start + 1)); while (++i < n) ticks[i] = (start + i) * step; } else { start = Math.floor(start * step); stop = Math.ceil(stop * step); ticks = new Array(n = Math.ceil(start - stop + 1)); while (++i < n) ticks[i] = (start - i) / step; } if (reverse) ticks.reverse(); return ticks; } function tickIncrement(start, stop, count) { var step = (stop - start) / Math.max(0, count), power = Math.floor(Math.log(step) / Math.LN10), error = step / Math.pow(10, power); return power >= 0 ? (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1) * Math.pow(10, power) : -Math.pow(10, -power) / (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1); } function tickStep(start, stop, count) { var step0 = Math.abs(stop - start) / Math.max(0, count), step1 = Math.pow(10, Math.floor(Math.log(step0) / Math.LN10)), error = step0 / step1; if (error >= e10) step1 *= 10; else if (error >= e5) step1 *= 5; else if (error >= e2) step1 *= 2; return stop < start ? -step1 : step1; } function sturges(values) { return Math.ceil(Math.log(values.length) / Math.LN2) + 1; } function histogram() { var value = identity, domain = extent, threshold = sturges; function histogram(data) { var i, n = data.length, x, values = new Array(n); for (i = 0; i < n; ++i) { values[i] = value(data[i], i, data); } var xz = domain(values), x0 = xz[0], x1 = xz[1], tz = threshold(values, x0, x1); // Convert number of thresholds into uniform thresholds. if (!Array.isArray(tz)) { tz = tickStep(x0, x1, tz); tz = range(Math.ceil(x0 / tz) * tz, x1, tz); // exclusive } // Remove any thresholds outside the domain. var m = tz.length; while (tz[0] <= x0) tz.shift(), --m; while (tz[m - 1] > x1) tz.pop(), --m; var bins = new Array(m + 1), bin; // Initialize bins. for (i = 0; i <= m; ++i) { bin = bins[i] = []; bin.x0 = i > 0 ? tz[i - 1] : x0; bin.x1 = i < m ? tz[i] : x1; } // Assign data to bins by value, ignoring any outside the domain. for (i = 0; i < n; ++i) { x = values[i]; if (x0 <= x && x <= x1) { bins[bisectRight(tz, x, 0, m)].push(data[i]); } } return bins; } histogram.value = function(_) { return arguments.length ? (value = typeof _ === "function" ? _ : constant(_), histogram) : value; }; histogram.domain = function(_) { return arguments.length ? (domain = typeof _ === "function" ? _ : constant([_[0], _[1]]), histogram) : domain; }; histogram.thresholds = function(_) { return arguments.length ? (threshold = typeof _ === "function" ? _ : Array.isArray(_) ? constant(slice.call(_)) : constant(_), histogram) : threshold; }; return histogram; } function quantile(values, p, valueof) { if (valueof == null) valueof = number; if (!(n = values.length)) return; if ((p = +p) <= 0 || n < 2) return +valueof(values[0], 0, values); if (p >= 1) return +valueof(values[n - 1], n - 1, values); var n, i = (n - 1) * p, i0 = Math.floor(i), value0 = +valueof(values[i0], i0, values), value1 = +valueof(values[i0 + 1], i0 + 1, values); return value0 + (value1 - value0) * (i - i0); } function freedmanDiaconis(values, min, max) { values = map.call(values, number).sort(ascending); return Math.ceil((max - min) / (2 * (quantile(values, 0.75) - quantile(values, 0.25)) * Math.pow(values.length, -1 / 3))); } function scott(values, min, max) { return Math.ceil((max - min) / (3.5 * deviation(values) * Math.pow(values.length, -1 / 3))); } function max(values, valueof) { var n = values.length, i = -1, value, max; if (valueof == null) { while (++i < n) { // Find the first comparable value. if ((value = values[i]) != null && value >= value) { max = value; while (++i < n) { // Compare the remaining values. if ((value = values[i]) != null && value > max) { max = value; } } } } } else { while (++i < n) { // Find the first comparable value. if ((value = valueof(values[i], i, values)) != null && value >= value) { max = value; while (++i < n) { // Compare the remaining values. if ((value = valueof(values[i], i, values)) != null && value > max) { max = value; } } } } } return max; } function mean(values, valueof) { var n = values.length, m = n, i = -1, value, sum = 0; if (valueof == null) { while (++i < n) { if (!isNaN(value = number(values[i]))) sum += value; else --m; } } else { while (++i < n) { if (!isNaN(value = number(valueof(values[i], i, values)))) sum += value; else --m; } } if (m) return sum / m; } function median(values, valueof) { var n = values.length, i = -1, value, numbers = []; if (valueof == null) { while (++i < n) { if (!isNaN(value = number(values[i]))) { numbers.push(value); } } } else { while (++i < n) { if (!isNaN(value = number(valueof(values[i], i, values)))) { numbers.push(value); } } } return quantile(numbers.sort(ascending), 0.5); } function merge(arrays) { var n = arrays.length, m, i = -1, j = 0, merged, array; while (++i < n) j += arrays[i].length; merged = new Array(j); while (--n >= 0) { array = arrays[n]; m = array.length; while (--m >= 0) { merged[--j] = array[m]; } } return merged; } function min(values, valueof) { var n = values.length, i = -1, value, min; if (valueof == null) { while (++i < n) { // Find the first comparable value. if ((value = values[i]) != null && value >= value) { min = value; while (++i < n) { // Compare the remaining values. if ((value = values[i]) != null && min > value) { min = value; } } } } } else { while (++i < n) { // Find the first comparable value. if ((value = valueof(values[i], i, values)) != null && value >= value) { min = value; while (++i < n) { // Compare the remaining values. if ((value = valueof(values[i], i, values)) != null && min > value) { min = value; } } } } } return min; } function permute(array, indexes) { var i = indexes.length, permutes = new Array(i); while (i--) permutes[i] = array[indexes[i]]; return permutes; } function scan(values, compare) { if (!(n = values.length)) return; var n, i = 0, j = 0, xi, xj = values[j]; if (compare == null) compare = ascending; while (++i < n) { if (compare(xi = values[i], xj) < 0 || compare(xj, xj) !== 0) { xj = xi, j = i; } } if (compare(xj, xj) === 0) return j; } function shuffle(array, i0, i1) { var m = (i1 == null ? array.length : i1) - (i0 = i0 == null ? 0 : +i0), t, i; while (m) { i = Math.random() * m-- | 0; t = array[m + i0]; array[m + i0] = array[i + i0]; array[i + i0] = t; } return array; } function sum(values, valueof) { var n = values.length, i = -1, value, sum = 0; if (valueof == null) { while (++i < n) { if (value = +values[i]) sum += value; // Note: zero and null are equivalent. } } else { while (++i < n) { if (value = +valueof(values[i], i, values)) sum += value; } } return sum; } function transpose(matrix) { if (!(n = matrix.length)) return []; for (var i = -1, m = min(matrix, length), transpose = new Array(m); ++i < m;) { for (var j = -1, n, row = transpose[i] = new Array(n); ++j < n;) { row[j] = matrix[j][i]; } } return transpose; } function length(d) { return d.length; } function zip() { return transpose(arguments); } exports.bisect = bisectRight; exports.bisectRight = bisectRight; exports.bisectLeft = bisectLeft; exports.ascending = ascending; exports.bisector = bisector; exports.cross = cross; exports.descending = descending; exports.deviation = deviation; exports.extent = extent; exports.histogram = histogram; exports.thresholdFreedmanDiaconis = freedmanDiaconis; exports.thresholdScott = scott; exports.thresholdSturges = sturges; exports.max = max; exports.mean = mean; exports.median = median; exports.merge = merge; exports.min = min; exports.pairs = pairs; exports.permute = permute; exports.quantile = quantile; exports.range = range; exports.scan = scan; exports.shuffle = shuffle; exports.sum = sum; exports.ticks = ticks; exports.tickIncrement = tickIncrement; exports.tickStep = tickStep; exports.transpose = transpose; exports.variance = variance; exports.zip = zip; Object.defineProperty(exports, '__esModule', { value: true }); }))); PK}�\L����d3-array.min.jsnu�[���// https://d3js.org/d3-array/ v1.2.4 Copyright 2018 Mike Bostock !function(n,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports):"function"==typeof define&&define.amd?define(["exports"],r):r(n.d3=n.d3||{})}(this,function(n){"use strict";function r(n,r){return n<r?-1:n>r?1:n>=r?0:NaN}function t(n){var t;return 1===n.length&&(t=n,n=function(n,e){return r(t(n),e)}),{left:function(r,t,e,o){for(null==e&&(e=0),null==o&&(o=r.length);e<o;){var u=e+o>>>1;n(r[u],t)<0?e=u+1:o=u}return e},right:function(r,t,e,o){for(null==e&&(e=0),null==o&&(o=r.length);e<o;){var u=e+o>>>1;n(r[u],t)>0?o=u:e=u+1}return e}}}var e=t(r),o=e.right,u=e.left;function f(n,r){return[n,r]}function l(n){return null===n?NaN:+n}function i(n,r){var t,e,o=n.length,u=0,f=-1,i=0,a=0;if(null==r)for(;++f<o;)isNaN(t=l(n[f]))||(a+=(e=t-i)*(t-(i+=e/++u)));else for(;++f<o;)isNaN(t=l(r(n[f],f,n)))||(a+=(e=t-i)*(t-(i+=e/++u)));if(u>1)return a/(u-1)}function a(n,r){var t=i(n,r);return t?Math.sqrt(t):t}function h(n,r){var t,e,o,u=n.length,f=-1;if(null==r){for(;++f<u;)if(null!=(t=n[f])&&t>=t)for(e=o=t;++f<u;)null!=(t=n[f])&&(e>t&&(e=t),o<t&&(o=t))}else for(;++f<u;)if(null!=(t=r(n[f],f,n))&&t>=t)for(e=o=t;++f<u;)null!=(t=r(n[f],f,n))&&(e>t&&(e=t),o<t&&(o=t));return[e,o]}var c=Array.prototype,s=c.slice,g=c.map;function v(n){return function(){return n}}function M(n){return n}function p(n,r,t){n=+n,r=+r,t=(o=arguments.length)<2?(r=n,n=0,1):o<3?1:+t;for(var e=-1,o=0|Math.max(0,Math.ceil((r-n)/t)),u=new Array(o);++e<o;)u[e]=n+e*t;return u}var d=Math.sqrt(50),y=Math.sqrt(10),N=Math.sqrt(2);function m(n,r,t){var e=(r-n)/Math.max(0,t),o=Math.floor(Math.log(e)/Math.LN10),u=e/Math.pow(10,o);return o>=0?(u>=d?10:u>=y?5:u>=N?2:1)*Math.pow(10,o):-Math.pow(10,-o)/(u>=d?10:u>=y?5:u>=N?2:1)}function w(n,r,t){var e=Math.abs(r-n)/Math.max(0,t),o=Math.pow(10,Math.floor(Math.log(e)/Math.LN10)),u=e/o;return u>=d?o*=10:u>=y?o*=5:u>=N&&(o*=2),r<n?-o:o}function A(n){return Math.ceil(Math.log(n.length)/Math.LN2)+1}function x(n,r,t){if(null==t&&(t=l),e=n.length){if((r=+r)<=0||e<2)return+t(n[0],0,n);if(r>=1)return+t(n[e-1],e-1,n);var e,o=(e-1)*r,u=Math.floor(o),f=+t(n[u],u,n);return f+(+t(n[u+1],u+1,n)-f)*(o-u)}}function b(n,r){var t,e,o=n.length,u=-1;if(null==r){for(;++u<o;)if(null!=(t=n[u])&&t>=t)for(e=t;++u<o;)null!=(t=n[u])&&e>t&&(e=t)}else for(;++u<o;)if(null!=(t=r(n[u],u,n))&&t>=t)for(e=t;++u<o;)null!=(t=r(n[u],u,n))&&e>t&&(e=t);return e}function q(n){if(!(o=n.length))return[];for(var r=-1,t=b(n,L),e=new Array(t);++r<t;)for(var o,u=-1,f=e[r]=new Array(o);++u<o;)f[u]=n[u][r];return e}function L(n){return n.length}n.bisect=o,n.bisectRight=o,n.bisectLeft=u,n.ascending=r,n.bisector=t,n.cross=function(n,r,t){var e,o,u,l,i=n.length,a=r.length,h=new Array(i*a);for(null==t&&(t=f),e=u=0;e<i;++e)for(l=n[e],o=0;o<a;++o,++u)h[u]=t(l,r[o]);return h},n.descending=function(n,r){return r<n?-1:r>n?1:r>=n?0:NaN},n.deviation=a,n.extent=h,n.histogram=function(){var n=M,r=h,t=A;function e(e){var u,f,l=e.length,i=new Array(l);for(u=0;u<l;++u)i[u]=n(e[u],u,e);var a=r(i),h=a[0],c=a[1],s=t(i,h,c);Array.isArray(s)||(s=w(h,c,s),s=p(Math.ceil(h/s)*s,c,s));for(var g=s.length;s[0]<=h;)s.shift(),--g;for(;s[g-1]>c;)s.pop(),--g;var v,M=new Array(g+1);for(u=0;u<=g;++u)(v=M[u]=[]).x0=u>0?s[u-1]:h,v.x1=u<g?s[u]:c;for(u=0;u<l;++u)h<=(f=i[u])&&f<=c&&M[o(s,f,0,g)].push(e[u]);return M}return e.value=function(r){return arguments.length?(n="function"==typeof r?r:v(r),e):n},e.domain=function(n){return arguments.length?(r="function"==typeof n?n:v([n[0],n[1]]),e):r},e.thresholds=function(n){return arguments.length?(t="function"==typeof n?n:Array.isArray(n)?v(s.call(n)):v(n),e):t},e},n.thresholdFreedmanDiaconis=function(n,t,e){return n=g.call(n,l).sort(r),Math.ceil((e-t)/(2*(x(n,.75)-x(n,.25))*Math.pow(n.length,-1/3)))},n.thresholdScott=function(n,r,t){return Math.ceil((t-r)/(3.5*a(n)*Math.pow(n.length,-1/3)))},n.thresholdSturges=A,n.max=function(n,r){var t,e,o=n.length,u=-1;if(null==r){for(;++u<o;)if(null!=(t=n[u])&&t>=t)for(e=t;++u<o;)null!=(t=n[u])&&t>e&&(e=t)}else for(;++u<o;)if(null!=(t=r(n[u],u,n))&&t>=t)for(e=t;++u<o;)null!=(t=r(n[u],u,n))&&t>e&&(e=t);return e},n.mean=function(n,r){var t,e=n.length,o=e,u=-1,f=0;if(null==r)for(;++u<e;)isNaN(t=l(n[u]))?--o:f+=t;else for(;++u<e;)isNaN(t=l(r(n[u],u,n)))?--o:f+=t;if(o)return f/o},n.median=function(n,t){var e,o=n.length,u=-1,f=[];if(null==t)for(;++u<o;)isNaN(e=l(n[u]))||f.push(e);else for(;++u<o;)isNaN(e=l(t(n[u],u,n)))||f.push(e);return x(f.sort(r),.5)},n.merge=function(n){for(var r,t,e,o=n.length,u=-1,f=0;++u<o;)f+=n[u].length;for(t=new Array(f);--o>=0;)for(r=(e=n[o]).length;--r>=0;)t[--f]=e[r];return t},n.min=b,n.pairs=function(n,r){null==r&&(r=f);for(var t=0,e=n.length-1,o=n[0],u=new Array(e<0?0:e);t<e;)u[t]=r(o,o=n[++t]);return u},n.permute=function(n,r){for(var t=r.length,e=new Array(t);t--;)e[t]=n[r[t]];return e},n.quantile=x,n.range=p,n.scan=function(n,t){if(e=n.length){var e,o,u=0,f=0,l=n[f];for(null==t&&(t=r);++u<e;)(t(o=n[u],l)<0||0!==t(l,l))&&(l=o,f=u);return 0===t(l,l)?f:void 0}},n.shuffle=function(n,r,t){for(var e,o,u=(null==t?n.length:t)-(r=null==r?0:+r);u;)o=Math.random()*u--|0,e=n[u+r],n[u+r]=n[o+r],n[o+r]=e;return n},n.sum=function(n,r){var t,e=n.length,o=-1,u=0;if(null==r)for(;++o<e;)(t=+n[o])&&(u+=t);else for(;++o<e;)(t=+r(n[o],o,n))&&(u+=t);return u},n.ticks=function(n,r,t){var e,o,u,f,l=-1;if(t=+t,(n=+n)==(r=+r)&&t>0)return[n];if((e=r<n)&&(o=n,n=r,r=o),0===(f=m(n,r,t))||!isFinite(f))return[];if(f>0)for(n=Math.ceil(n/f),r=Math.floor(r/f),u=new Array(o=Math.ceil(r-n+1));++l<o;)u[l]=(n+l)*f;else for(n=Math.floor(n*f),r=Math.ceil(r*f),u=new Array(o=Math.ceil(n-r+1));++l<o;)u[l]=(n-l)/f;return e&&u.reverse(),u},n.tickIncrement=m,n.tickStep=w,n.transpose=q,n.variance=i,n.zip=function(){return q(arguments)},Object.defineProperty(n,"__esModule",{value:!0})}); PK }�\�������switchery.jsnu�[��� ;(function(){ /** * Require the module at `name`. * * @param {String} name * @return {Object} exports * @api public */ function require(name) { var module = require.modules[name]; if (!module) throw new Error('failed to require "' + name + '"'); if (!('exports' in module) && typeof module.definition === 'function') { module.client = module.component = true; module.definition.call(this, module.exports = {}, module); delete module.definition; } return module.exports; } /** * Meta info, accessible in the global scope unless you use AMD option. */ require.loader = 'component'; /** * Internal helper object, contains a sorting function for semantiv versioning */ require.helper = {}; require.helper.semVerSort = function(a, b) { var aArray = a.version.split('.'); var bArray = b.version.split('.'); for (var i=0; i<aArray.length; ++i) { var aInt = parseInt(aArray[i], 10); var bInt = parseInt(bArray[i], 10); if (aInt === bInt) { var aLex = aArray[i].substr((""+aInt).length); var bLex = bArray[i].substr((""+bInt).length); if (aLex === '' && bLex !== '') return 1; if (aLex !== '' && bLex === '') return -1; if (aLex !== '' && bLex !== '') return aLex > bLex ? 1 : -1; continue; } else if (aInt > bInt) { return 1; } else { return -1; } } return 0; } /** * Find and require a module which name starts with the provided name. * If multiple modules exists, the highest semver is used. * This function can only be used for remote dependencies. * @param {String} name - module name: `user~repo` * @param {Boolean} returnPath - returns the canonical require path if true, * otherwise it returns the epxorted module */ require.latest = function (name, returnPath) { function showError(name) { throw new Error('failed to find latest module of "' + name + '"'); } // only remotes with semvers, ignore local files conataining a '/' var versionRegexp = /(.*)~(.*)@v?(\d+\.\d+\.\d+[^\/]*)$/; var remoteRegexp = /(.*)~(.*)/; if (!remoteRegexp.test(name)) showError(name); var moduleNames = Object.keys(require.modules); var semVerCandidates = []; var otherCandidates = []; // for instance: name of the git branch for (var i=0; i<moduleNames.length; i++) { var moduleName = moduleNames[i]; if (new RegExp(name + '@').test(moduleName)) { var version = moduleName.substr(name.length+1); var semVerMatch = versionRegexp.exec(moduleName); if (semVerMatch != null) { semVerCandidates.push({version: version, name: moduleName}); } else { otherCandidates.push({version: version, name: moduleName}); } } } if (semVerCandidates.concat(otherCandidates).length === 0) { showError(name); } if (semVerCandidates.length > 0) { var module = semVerCandidates.sort(require.helper.semVerSort).pop().name; if (returnPath === true) { return module; } return require(module); } // if the build contains more than one branch of the same module // you should not use this funciton var module = otherCandidates.sort(function(a, b) {return a.name > b.name})[0].name; if (returnPath === true) { return module; } return require(module); } /** * Registered modules. */ require.modules = {}; /** * Register module at `name` with callback `definition`. * * @param {String} name * @param {Function} definition * @api private */ require.register = function (name, definition) { require.modules[name] = { definition: definition }; }; /** * Define a module's exports immediately with `exports`. * * @param {String} name * @param {Generic} exports * @api private */ require.define = function (name, exports) { require.modules[name] = { exports: exports }; }; require.register("abpetkov~transitionize@0.0.3", function (exports, module) { /** * Transitionize 0.0.3 * https://github.com/abpetkov/transitionize * * Authored by Alexander Petkov * https://github.com/abpetkov * * Copyright 2013, Alexander Petkov * License: The MIT License (MIT) * http://opensource.org/licenses/MIT * */ /** * Expose `Transitionize`. */ module.exports = Transitionize; /** * Initialize new Transitionize. * * @param {Object} element * @param {Object} props * @api public */ function Transitionize(element, props) { if (!(this instanceof Transitionize)) return new Transitionize(element, props); this.element = element; this.props = props || {}; this.init(); } /** * Detect if Safari. * * @returns {Boolean} * @api private */ Transitionize.prototype.isSafari = function() { return (/Safari/).test(navigator.userAgent) && (/Apple Computer/).test(navigator.vendor); }; /** * Loop though the object and push the keys and values in an array. * Apply the CSS3 transition to the element and prefix with -webkit- for Safari. * * @api private */ Transitionize.prototype.init = function() { var transitions = []; for (var key in this.props) { transitions.push(key + ' ' + this.props[key]); } this.element.style.transition = transitions.join(', '); if (this.isSafari()) this.element.style.webkitTransition = transitions.join(', '); }; }); require.register("ftlabs~fastclick@v0.6.11", function (exports, module) { /** * @preserve FastClick: polyfill to remove click delays on browsers with touch UIs. * * @version 0.6.11 * @codingstandard ftlabs-jsv2 * @copyright The Financial Times Limited [All Rights Reserved] * @license MIT License (see LICENSE.txt) */ /*jslint browser:true, node:true*/ /*global define, Event, Node*/ /** * Instantiate fast-clicking listeners on the specificed layer. * * @constructor * @param {Element} layer The layer to listen on */ function FastClick(layer) { 'use strict'; var oldOnClick, self = this; /** * Whether a click is currently being tracked. * * @type boolean */ this.trackingClick = false; /** * Timestamp for when when click tracking started. * * @type number */ this.trackingClickStart = 0; /** * The element being tracked for a click. * * @type EventTarget */ this.targetElement = null; /** * X-coordinate of touch start event. * * @type number */ this.touchStartX = 0; /** * Y-coordinate of touch start event. * * @type number */ this.touchStartY = 0; /** * ID of the last touch, retrieved from Touch.identifier. * * @type number */ this.lastTouchIdentifier = 0; /** * Touchmove boundary, beyond which a click will be cancelled. * * @type number */ this.touchBoundary = 10; /** * The FastClick layer. * * @type Element */ this.layer = layer; if (!layer || !layer.nodeType) { throw new TypeError('Layer must be a document node'); } /** @type function() */ this.onClick = function() { return FastClick.prototype.onClick.apply(self, arguments); }; /** @type function() */ this.onMouse = function() { return FastClick.prototype.onMouse.apply(self, arguments); }; /** @type function() */ this.onTouchStart = function() { return FastClick.prototype.onTouchStart.apply(self, arguments); }; /** @type function() */ this.onTouchMove = function() { return FastClick.prototype.onTouchMove.apply(self, arguments); }; /** @type function() */ this.onTouchEnd = function() { return FastClick.prototype.onTouchEnd.apply(self, arguments); }; /** @type function() */ this.onTouchCancel = function() { return FastClick.prototype.onTouchCancel.apply(self, arguments); }; if (FastClick.notNeeded(layer)) { return; } // Set up event handlers as required if (this.deviceIsAndroid) { layer.addEventListener('mouseover', this.onMouse, true); layer.addEventListener('mousedown', this.onMouse, true); layer.addEventListener('mouseup', this.onMouse, true); } layer.addEventListener('click', this.onClick, true); layer.addEventListener('touchstart', this.onTouchStart, false); layer.addEventListener('touchmove', this.onTouchMove, false); layer.addEventListener('touchend', this.onTouchEnd, false); layer.addEventListener('touchcancel', this.onTouchCancel, false); // Hack is required for browsers that don't support Event#stopImmediatePropagation (e.g. Android 2) // which is how FastClick normally stops click events bubbling to callbacks registered on the FastClick // layer when they are cancelled. if (!Event.prototype.stopImmediatePropagation) { layer.removeEventListener = function(type, callback, capture) { var rmv = Node.prototype.removeEventListener; if (type === 'click') { rmv.call(layer, type, callback.hijacked || callback, capture); } else { rmv.call(layer, type, callback, capture); } }; layer.addEventListener = function(type, callback, capture) { var adv = Node.prototype.addEventListener; if (type === 'click') { adv.call(layer, type, callback.hijacked || (callback.hijacked = function(event) { if (!event.propagationStopped) { callback(event); } }), capture); } else { adv.call(layer, type, callback, capture); } }; } // If a handler is already declared in the element's onclick attribute, it will be fired before // FastClick's onClick handler. Fix this by pulling out the user-defined handler function and // adding it as listener. if (typeof layer.onclick === 'function') { // Android browser on at least 3.2 requires a new reference to the function in layer.onclick // - the old one won't work if passed to addEventListener directly. oldOnClick = layer.onclick; layer.addEventListener('click', function(event) { oldOnClick(event); }, false); layer.onclick = null; } } /** * Android requires exceptions. * * @type boolean */ FastClick.prototype.deviceIsAndroid = navigator.userAgent.indexOf('Android') > 0; /** * iOS requires exceptions. * * @type boolean */ FastClick.prototype.deviceIsIOS = /iP(ad|hone|od)/.test(navigator.userAgent); /** * iOS 4 requires an exception for select elements. * * @type boolean */ FastClick.prototype.deviceIsIOS4 = FastClick.prototype.deviceIsIOS && (/OS 4_\d(_\d)?/).test(navigator.userAgent); /** * iOS 6.0(+?) requires the target element to be manually derived * * @type boolean */ FastClick.prototype.deviceIsIOSWithBadTarget = FastClick.prototype.deviceIsIOS && (/OS ([6-9]|\d{2})_\d/).test(navigator.userAgent); /** * Determine whether a given element requires a native click. * * @param {EventTarget|Element} target Target DOM element * @returns {boolean} Returns true if the element needs a native click */ FastClick.prototype.needsClick = function(target) { 'use strict'; switch (target.nodeName.toLowerCase()) { // Don't send a synthetic click to disabled inputs (issue #62) case 'button': case 'select': case 'textarea': if (target.disabled) { return true; } break; case 'input': // File inputs need real clicks on iOS 6 due to a browser bug (issue #68) if ((this.deviceIsIOS && target.type === 'file') || target.disabled) { return true; } break; case 'label': case 'video': return true; } return (/\bneedsclick\b/).test(target.className); }; /** * Determine whether a given element requires a call to focus to simulate click into element. * * @param {EventTarget|Element} target Target DOM element * @returns {boolean} Returns true if the element requires a call to focus to simulate native click. */ FastClick.prototype.needsFocus = function(target) { 'use strict'; switch (target.nodeName.toLowerCase()) { case 'textarea': return true; case 'select': return !this.deviceIsAndroid; case 'input': switch (target.type) { case 'button': case 'checkbox': case 'file': case 'image': case 'radio': case 'submit': return false; } // No point in attempting to focus disabled inputs return !target.disabled && !target.readOnly; default: return (/\bneedsfocus\b/).test(target.className); } }; /** * Send a click event to the specified element. * * @param {EventTarget|Element} targetElement * @param {Event} event */ FastClick.prototype.sendClick = function(targetElement, event) { 'use strict'; var clickEvent, touch; // On some Android devices activeElement needs to be blurred otherwise the synthetic click will have no effect (#24) if (document.activeElement && document.activeElement !== targetElement) { document.activeElement.blur(); } touch = event.changedTouches[0]; // Synthesise a click event, with an extra attribute so it can be tracked clickEvent = document.createEvent('MouseEvents'); clickEvent.initMouseEvent(this.determineEventType(targetElement), true, true, window, 1, touch.screenX, touch.screenY, touch.clientX, touch.clientY, false, false, false, false, 0, null); clickEvent.forwardedTouchEvent = true; targetElement.dispatchEvent(clickEvent); }; FastClick.prototype.determineEventType = function(targetElement) { 'use strict'; //Issue #159: Android Chrome Select Box does not open with a synthetic click event if (this.deviceIsAndroid && targetElement.tagName.toLowerCase() === 'select') { return 'mousedown'; } return 'click'; }; /** * @param {EventTarget|Element} targetElement */ FastClick.prototype.focus = function(targetElement) { 'use strict'; var length; // Issue #160: on iOS 7, some input elements (e.g. date datetime) throw a vague TypeError on setSelectionRange. These elements don't have an integer value for the selectionStart and selectionEnd properties, but unfortunately that can't be used for detection because accessing the properties also throws a TypeError. Just check the type instead. Filed as Apple bug #15122724. if (this.deviceIsIOS && targetElement.setSelectionRange && targetElement.type.indexOf('date') !== 0 && targetElement.type !== 'time') { length = targetElement.value.length; targetElement.setSelectionRange(length, length); } else { targetElement.focus(); } }; /** * Check whether the given target element is a child of a scrollable layer and if so, set a flag on it. * * @param {EventTarget|Element} targetElement */ FastClick.prototype.updateScrollParent = function(targetElement) { 'use strict'; var scrollParent, parentElement; scrollParent = targetElement.fastClickScrollParent; // Attempt to discover whether the target element is contained within a scrollable layer. Re-check if the // target element was moved to another parent. if (!scrollParent || !scrollParent.contains(targetElement)) { parentElement = targetElement; do { if (parentElement.scrollHeight > parentElement.offsetHeight) { scrollParent = parentElement; targetElement.fastClickScrollParent = parentElement; break; } parentElement = parentElement.parentElement; } while (parentElement); } // Always update the scroll top tracker if possible. if (scrollParent) { scrollParent.fastClickLastScrollTop = scrollParent.scrollTop; } }; /** * @param {EventTarget} targetElement * @returns {Element|EventTarget} */ FastClick.prototype.getTargetElementFromEventTarget = function(eventTarget) { 'use strict'; // On some older browsers (notably Safari on iOS 4.1 - see issue #56) the event target may be a text node. if (eventTarget.nodeType === Node.TEXT_NODE) { return eventTarget.parentNode; } return eventTarget; }; /** * On touch start, record the position and scroll offset. * * @param {Event} event * @returns {boolean} */ FastClick.prototype.onTouchStart = function(event) { 'use strict'; var targetElement, touch, selection; // Ignore multiple touches, otherwise pinch-to-zoom is prevented if both fingers are on the FastClick element (issue #111). if (event.targetTouches.length > 1) { return true; } targetElement = this.getTargetElementFromEventTarget(event.target); touch = event.targetTouches[0]; if (this.deviceIsIOS) { // Only trusted events will deselect text on iOS (issue #49) selection = window.getSelection(); if (selection.rangeCount && !selection.isCollapsed) { return true; } if (!this.deviceIsIOS4) { // Weird things happen on iOS when an alert or confirm dialog is opened from a click event callback (issue #23): // when the user next taps anywhere else on the page, new touchstart and touchend events are dispatched // with the same identifier as the touch event that previously triggered the click that triggered the alert. // Sadly, there is an issue on iOS 4 that causes some normal touch events to have the same identifier as an // immediately preceeding touch event (issue #52), so this fix is unavailable on that platform. if (touch.identifier === this.lastTouchIdentifier) { event.preventDefault(); return false; } this.lastTouchIdentifier = touch.identifier; // If the target element is a child of a scrollable layer (using -webkit-overflow-scrolling: touch) and: // 1) the user does a fling scroll on the scrollable layer // 2) the user stops the fling scroll with another tap // then the event.target of the last 'touchend' event will be the element that was under the user's finger // when the fling scroll was started, causing FastClick to send a click event to that layer - unless a check // is made to ensure that a parent layer was not scrolled before sending a synthetic click (issue #42). this.updateScrollParent(targetElement); } } this.trackingClick = true; this.trackingClickStart = event.timeStamp; this.targetElement = targetElement; this.touchStartX = touch.pageX; this.touchStartY = touch.pageY; // Prevent phantom clicks on fast double-tap (issue #36) if ((event.timeStamp - this.lastClickTime) < 200) { event.preventDefault(); } return true; }; /** * Based on a touchmove event object, check whether the touch has moved past a boundary since it started. * * @param {Event} event * @returns {boolean} */ FastClick.prototype.touchHasMoved = function(event) { 'use strict'; var touch = event.changedTouches[0], boundary = this.touchBoundary; if (Math.abs(touch.pageX - this.touchStartX) > boundary || Math.abs(touch.pageY - this.touchStartY) > boundary) { return true; } return false; }; /** * Update the last position. * * @param {Event} event * @returns {boolean} */ FastClick.prototype.onTouchMove = function(event) { 'use strict'; if (!this.trackingClick) { return true; } // If the touch has moved, cancel the click tracking if (this.targetElement !== this.getTargetElementFromEventTarget(event.target) || this.touchHasMoved(event)) { this.trackingClick = false; this.targetElement = null; } return true; }; /** * Attempt to find the labelled control for the given label element. * * @param {EventTarget|HTMLLabelElement} labelElement * @returns {Element|null} */ FastClick.prototype.findControl = function(labelElement) { 'use strict'; // Fast path for newer browsers supporting the HTML5 control attribute if (labelElement.control !== undefined) { return labelElement.control; } // All browsers under test that support touch events also support the HTML5 htmlFor attribute if (labelElement.htmlFor) { return document.getElementById(labelElement.htmlFor); } // If no for attribute exists, attempt to retrieve the first labellable descendant element // the list of which is defined here: http://www.w3.org/TR/html5/forms.html#category-label return labelElement.querySelector('button, input:not([type=hidden]), keygen, meter, output, progress, select, textarea'); }; /** * On touch end, determine whether to send a click event at once. * * @param {Event} event * @returns {boolean} */ FastClick.prototype.onTouchEnd = function(event) { 'use strict'; var forElement, trackingClickStart, targetTagName, scrollParent, touch, targetElement = this.targetElement; if (!this.trackingClick) { return true; } // Prevent phantom clicks on fast double-tap (issue #36) if ((event.timeStamp - this.lastClickTime) < 200) { this.cancelNextClick = true; return true; } // Reset to prevent wrong click cancel on input (issue #156). this.cancelNextClick = false; this.lastClickTime = event.timeStamp; trackingClickStart = this.trackingClickStart; this.trackingClick = false; this.trackingClickStart = 0; // On some iOS devices, the targetElement supplied with the event is invalid if the layer // is performing a transition or scroll, and has to be re-detected manually. Note that // for this to function correctly, it must be called *after* the event target is checked! // See issue #57; also filed as rdar://13048589 . if (this.deviceIsIOSWithBadTarget) { touch = event.changedTouches[0]; // In certain cases arguments of elementFromPoint can be negative, so prevent setting targetElement to null targetElement = document.elementFromPoint(touch.pageX - window.pageXOffset, touch.pageY - window.pageYOffset) || targetElement; targetElement.fastClickScrollParent = this.targetElement.fastClickScrollParent; } targetTagName = targetElement.tagName.toLowerCase(); if (targetTagName === 'label') { forElement = this.findControl(targetElement); if (forElement) { this.focus(targetElement); if (this.deviceIsAndroid) { return false; } targetElement = forElement; } } else if (this.needsFocus(targetElement)) { // Case 1: If the touch started a while ago (best guess is 100ms based on tests for issue #36) then focus will be triggered anyway. Return early and unset the target element reference so that the subsequent click will be allowed through. // Case 2: Without this exception for input elements tapped when the document is contained in an iframe, then any inputted text won't be visible even though the value attribute is updated as the user types (issue #37). if ((event.timeStamp - trackingClickStart) > 100 || (this.deviceIsIOS && window.top !== window && targetTagName === 'input')) { this.targetElement = null; return false; } this.focus(targetElement); // Select elements need the event to go through on iOS 4, otherwise the selector menu won't open. if (!this.deviceIsIOS4 || targetTagName !== 'select') { this.targetElement = null; event.preventDefault(); } return false; } if (this.deviceIsIOS && !this.deviceIsIOS4) { // Don't send a synthetic click event if the target element is contained within a parent layer that was scrolled // and this tap is being used to stop the scrolling (usually initiated by a fling - issue #42). scrollParent = targetElement.fastClickScrollParent; if (scrollParent && scrollParent.fastClickLastScrollTop !== scrollParent.scrollTop) { return true; } } // Prevent the actual click from going though - unless the target node is marked as requiring // real clicks or if it is in the whitelist in which case only non-programmatic clicks are permitted. if (!this.needsClick(targetElement)) { event.preventDefault(); this.sendClick(targetElement, event); } return false; }; /** * On touch cancel, stop tracking the click. * * @returns {void} */ FastClick.prototype.onTouchCancel = function() { 'use strict'; this.trackingClick = false; this.targetElement = null; }; /** * Determine mouse events which should be permitted. * * @param {Event} event * @returns {boolean} */ FastClick.prototype.onMouse = function(event) { 'use strict'; // If a target element was never set (because a touch event was never fired) allow the event if (!this.targetElement) { return true; } if (event.forwardedTouchEvent) { return true; } // Programmatically generated events targeting a specific element should be permitted if (!event.cancelable) { return true; } // Derive and check the target element to see whether the mouse event needs to be permitted; // unless explicitly enabled, prevent non-touch click events from triggering actions, // to prevent ghost/doubleclicks. if (!this.needsClick(this.targetElement) || this.cancelNextClick) { // Prevent any user-added listeners declared on FastClick element from being fired. if (event.stopImmediatePropagation) { event.stopImmediatePropagation(); } else { // Part of the hack for browsers that don't support Event#stopImmediatePropagation (e.g. Android 2) event.propagationStopped = true; } // Cancel the event event.stopPropagation(); event.preventDefault(); return false; } // If the mouse event is permitted, return true for the action to go through. return true; }; /** * On actual clicks, determine whether this is a touch-generated click, a click action occurring * naturally after a delay after a touch (which needs to be cancelled to avoid duplication), or * an actual click which should be permitted. * * @param {Event} event * @returns {boolean} */ FastClick.prototype.onClick = function(event) { 'use strict'; var permitted; // It's possible for another FastClick-like library delivered with third-party code to fire a click event before FastClick does (issue #44). In that case, set the click-tracking flag back to false and return early. This will cause onTouchEnd to return early. if (this.trackingClick) { this.targetElement = null; this.trackingClick = false; return true; } // Very odd behaviour on iOS (issue #18): if a submit element is present inside a form and the user hits enter in the iOS simulator or clicks the Go button on the pop-up OS keyboard the a kind of 'fake' click event will be triggered with the submit-type input element as the target. if (event.target.type === 'submit' && event.detail === 0) { return true; } permitted = this.onMouse(event); // Only unset targetElement if the click is not permitted. This will ensure that the check for !targetElement in onMouse fails and the browser's click doesn't go through. if (!permitted) { this.targetElement = null; } // If clicks are permitted, return true for the action to go through. return permitted; }; /** * Remove all FastClick's event listeners. * * @returns {void} */ FastClick.prototype.destroy = function() { 'use strict'; var layer = this.layer; if (this.deviceIsAndroid) { layer.removeEventListener('mouseover', this.onMouse, true); layer.removeEventListener('mousedown', this.onMouse, true); layer.removeEventListener('mouseup', this.onMouse, true); } layer.removeEventListener('click', this.onClick, true); layer.removeEventListener('touchstart', this.onTouchStart, false); layer.removeEventListener('touchmove', this.onTouchMove, false); layer.removeEventListener('touchend', this.onTouchEnd, false); layer.removeEventListener('touchcancel', this.onTouchCancel, false); }; /** * Check whether FastClick is needed. * * @param {Element} layer The layer to listen on */ FastClick.notNeeded = function(layer) { 'use strict'; var metaViewport; var chromeVersion; // Devices that don't support touch don't need FastClick if (typeof window.ontouchstart === 'undefined') { return true; } // Chrome version - zero for other browsers chromeVersion = +(/Chrome\/([0-9]+)/.exec(navigator.userAgent) || [,0])[1]; if (chromeVersion) { if (FastClick.prototype.deviceIsAndroid) { metaViewport = document.querySelector('meta[name=viewport]'); if (metaViewport) { // Chrome on Android with user-scalable="no" doesn't need FastClick (issue #89) if (metaViewport.content.indexOf('user-scalable=no') !== -1) { return true; } // Chrome 32 and above with width=device-width or less don't need FastClick if (chromeVersion > 31 && window.innerWidth <= window.screen.width) { return true; } } // Chrome desktop doesn't need FastClick (issue #15) } else { return true; } } // IE10 with -ms-touch-action: none, which disables double-tap-to-zoom (issue #97) if (layer.style.msTouchAction === 'none') { return true; } return false; }; /** * Factory method for creating a FastClick object * * @param {Element} layer The layer to listen on */ FastClick.attach = function(layer) { 'use strict'; return new FastClick(layer); }; if (typeof define !== 'undefined' && define.amd) { // AMD. Register as an anonymous module. define(function() { 'use strict'; return FastClick; }); } else if (typeof module !== 'undefined' && module.exports) { module.exports = FastClick.attach; module.exports.FastClick = FastClick; } else { window.FastClick = FastClick; } }); require.register("component~indexof@0.0.3", function (exports, module) { module.exports = function(arr, obj){ if (arr.indexOf) return arr.indexOf(obj); for (var i = 0; i < arr.length; ++i) { if (arr[i] === obj) return i; } return -1; }; }); require.register("component~classes@1.2.1", function (exports, module) { /** * Module dependencies. */ var index = require('component~indexof@0.0.3'); /** * Whitespace regexp. */ var re = /\s+/; /** * toString reference. */ var toString = Object.prototype.toString; /** * Wrap `el` in a `ClassList`. * * @param {Element} el * @return {ClassList} * @api public */ module.exports = function(el){ return new ClassList(el); }; /** * Initialize a new ClassList for `el`. * * @param {Element} el * @api private */ function ClassList(el) { if (!el) throw new Error('A DOM element reference is required'); this.el = el; this.list = el.classList; } /** * Add class `name` if not already present. * * @param {String} name * @return {ClassList} * @api public */ ClassList.prototype.add = function(name){ // classList if (this.list) { this.list.add(name); return this; } // fallback var arr = this.array(); var i = index(arr, name); if (!~i) arr.push(name); this.el.className = arr.join(' '); return this; }; /** * Remove class `name` when present, or * pass a regular expression to remove * any which match. * * @param {String|RegExp} name * @return {ClassList} * @api public */ ClassList.prototype.remove = function(name){ if ('[object RegExp]' == toString.call(name)) { return this.removeMatching(name); } // classList if (this.list) { this.list.remove(name); return this; } // fallback var arr = this.array(); var i = index(arr, name); if (~i) arr.splice(i, 1); this.el.className = arr.join(' '); return this; }; /** * Remove all classes matching `re`. * * @param {RegExp} re * @return {ClassList} * @api private */ ClassList.prototype.removeMatching = function(re){ var arr = this.array(); for (var i = 0; i < arr.length; i++) { if (re.test(arr[i])) { this.remove(arr[i]); } } return this; }; /** * Toggle class `name`, can force state via `force`. * * For browsers that support classList, but do not support `force` yet, * the mistake will be detected and corrected. * * @param {String} name * @param {Boolean} force * @return {ClassList} * @api public */ ClassList.prototype.toggle = function(name, force){ // classList if (this.list) { if ("undefined" !== typeof force) { if (force !== this.list.toggle(name, force)) { this.list.toggle(name); // toggle again to correct } } else { this.list.toggle(name); } return this; } // fallback if ("undefined" !== typeof force) { if (!force) { this.remove(name); } else { this.add(name); } } else { if (this.has(name)) { this.remove(name); } else { this.add(name); } } return this; }; /** * Return an array of classes. * * @return {Array} * @api public */ ClassList.prototype.array = function(){ var str = this.el.className.replace(/^\s+|\s+$/g, ''); var arr = str.split(re); if ('' === arr[0]) arr.shift(); return arr; }; /** * Check if class `name` is present. * * @param {String} name * @return {ClassList} * @api public */ ClassList.prototype.has = ClassList.prototype.contains = function(name){ return this.list ? this.list.contains(name) : !! ~index(this.array(), name); }; }); require.register("component~event@0.1.4", function (exports, module) { var bind = window.addEventListener ? 'addEventListener' : 'attachEvent', unbind = window.removeEventListener ? 'removeEventListener' : 'detachEvent', prefix = bind !== 'addEventListener' ? 'on' : ''; /** * Bind `el` event `type` to `fn`. * * @param {Element} el * @param {String} type * @param {Function} fn * @param {Boolean} capture * @return {Function} * @api public */ exports.bind = function(el, type, fn, capture){ el[bind](prefix + type, fn, capture || false); return fn; }; /** * Unbind `el` event `type`'s callback `fn`. * * @param {Element} el * @param {String} type * @param {Function} fn * @param {Boolean} capture * @return {Function} * @api public */ exports.unbind = function(el, type, fn, capture){ el[unbind](prefix + type, fn, capture || false); return fn; }; }); require.register("component~query@0.0.3", function (exports, module) { function one(selector, el) { return el.querySelector(selector); } exports = module.exports = function(selector, el){ el = el || document; return one(selector, el); }; exports.all = function(selector, el){ el = el || document; return el.querySelectorAll(selector); }; exports.engine = function(obj){ if (!obj.one) throw new Error('.one callback required'); if (!obj.all) throw new Error('.all callback required'); one = obj.one; exports.all = obj.all; return exports; }; }); require.register("component~matches-selector@0.1.6", function (exports, module) { /** * Module dependencies. */ try { var query = require('component~query@0.0.3'); } catch (err) { var query = require('component~query@0.0.3'); } /** * Element prototype. */ var proto = Element.prototype; /** * Vendor function. */ var vendor = proto.matches || proto.webkitMatchesSelector || proto.mozMatchesSelector || proto.msMatchesSelector || proto.oMatchesSelector; /** * Expose `match()`. */ module.exports = match; /** * Match `el` to `selector`. * * @param {Element} el * @param {String} selector * @return {Boolean} * @api public */ function match(el, selector) { if (!el || el.nodeType !== 1) return false; if (vendor) return vendor.call(el, selector); var nodes = query.all(selector, el.parentNode); for (var i = 0; i < nodes.length; ++i) { if (nodes[i] == el) return true; } return false; } }); require.register("component~closest@1.0.1", function (exports, module) { /** * Module Dependencies */ try { var matches = require('component~matches-selector@0.1.6') } catch (err) { var matches = require('component~matches-selector@0.1.6') } /** * Export `closest` */ module.exports = closest /** * Closest * * @param {Element} el * @param {String} selector * @param {Element} scope (optional) */ function closest (el, selector, scope) { scope = scope || document.documentElement; // walk up the dom while (el && el !== scope) { if (matches(el, selector)) return el; el = el.parentNode; } // check scope for match return matches(el, selector) ? el : null; } }); require.register("component~delegate@0.2.3", function (exports, module) { /** * Module dependencies. */ var closest = require('component~closest@1.0.1') , event = require('component~event@0.1.4'); /** * Delegate event `type` to `selector` * and invoke `fn(e)`. A callback function * is returned which may be passed to `.unbind()`. * * @param {Element} el * @param {String} selector * @param {String} type * @param {Function} fn * @param {Boolean} capture * @return {Function} * @api public */ exports.bind = function(el, selector, type, fn, capture){ return event.bind(el, type, function(e){ var target = e.target || e.srcElement; e.delegateTarget = closest(target, selector, true, el); if (e.delegateTarget) fn.call(el, e); }, capture); }; /** * Unbind event `type`'s callback `fn`. * * @param {Element} el * @param {String} type * @param {Function} fn * @param {Boolean} capture * @api public */ exports.unbind = function(el, type, fn, capture){ event.unbind(el, type, fn, capture); }; }); require.register("component~events@1.0.9", function (exports, module) { /** * Module dependencies. */ var events = require('component~event@0.1.4'); var delegate = require('component~delegate@0.2.3'); /** * Expose `Events`. */ module.exports = Events; /** * Initialize an `Events` with the given * `el` object which events will be bound to, * and the `obj` which will receive method calls. * * @param {Object} el * @param {Object} obj * @api public */ function Events(el, obj) { if (!(this instanceof Events)) return new Events(el, obj); if (!el) throw new Error('element required'); if (!obj) throw new Error('object required'); this.el = el; this.obj = obj; this._events = {}; } /** * Subscription helper. */ Events.prototype.sub = function(event, method, cb){ this._events[event] = this._events[event] || {}; this._events[event][method] = cb; }; /** * Bind to `event` with optional `method` name. * When `method` is undefined it becomes `event` * with the "on" prefix. * * Examples: * * Direct event handling: * * events.bind('click') // implies "onclick" * events.bind('click', 'remove') * events.bind('click', 'sort', 'asc') * * Delegated event handling: * * events.bind('click li > a') * events.bind('click li > a', 'remove') * events.bind('click a.sort-ascending', 'sort', 'asc') * events.bind('click a.sort-descending', 'sort', 'desc') * * @param {String} event * @param {String|function} [method] * @return {Function} callback * @api public */ Events.prototype.bind = function(event, method){ var e = parse(event); var el = this.el; var obj = this.obj; var name = e.name; var method = method || 'on' + name; var args = [].slice.call(arguments, 2); // callback function cb(){ var a = [].slice.call(arguments).concat(args); obj[method].apply(obj, a); } // bind if (e.selector) { cb = delegate.bind(el, e.selector, name, cb); } else { events.bind(el, name, cb); } // subscription for unbinding this.sub(name, method, cb); return cb; }; /** * Unbind a single binding, all bindings for `event`, * or all bindings within the manager. * * Examples: * * Unbind direct handlers: * * events.unbind('click', 'remove') * events.unbind('click') * events.unbind() * * Unbind delegate handlers: * * events.unbind('click', 'remove') * events.unbind('click') * events.unbind() * * @param {String|Function} [event] * @param {String|Function} [method] * @api public */ Events.prototype.unbind = function(event, method){ if (0 == arguments.length) return this.unbindAll(); if (1 == arguments.length) return this.unbindAllOf(event); // no bindings for this event var bindings = this._events[event]; if (!bindings) return; // no bindings for this method var cb = bindings[method]; if (!cb) return; events.unbind(this.el, event, cb); }; /** * Unbind all events. * * @api private */ Events.prototype.unbindAll = function(){ for (var event in this._events) { this.unbindAllOf(event); } }; /** * Unbind all events for `event`. * * @param {String} event * @api private */ Events.prototype.unbindAllOf = function(event){ var bindings = this._events[event]; if (!bindings) return; for (var method in bindings) { this.unbind(event, method); } }; /** * Parse `event`. * * @param {String} event * @return {Object} * @api private */ function parse(event) { var parts = event.split(/ +/); return { name: parts.shift(), selector: parts.join(' ') } } }); require.register("switchery", function (exports, module) { /** * Switchery 0.8.2 * http://abpetkov.github.io/switchery/ * * Authored by Alexander Petkov * https://github.com/abpetkov * * Copyright 2013-2015, Alexander Petkov * License: The MIT License (MIT) * http://opensource.org/licenses/MIT * */ /** * External dependencies. */ var transitionize = require('abpetkov~transitionize@0.0.3') , fastclick = require('ftlabs~fastclick@v0.6.11') , classes = require('component~classes@1.2.1') , events = require('component~events@1.0.9'); /** * Expose `Switchery`. */ module.exports = Switchery; /** * Set Switchery default values. * * @api public */ var defaults = { color : '#64bd63' , secondaryColor : '#dfdfdf' , jackColor : '#fff' , jackSecondaryColor: null , className : 'switchery' , disabled : false , disabledOpacity : 0.5 , speed : '0.4s' , size : 'default' }; /** * Create Switchery object. * * @param {Object} element * @param {Object} options * @api public */ function Switchery(element, options) { if (!(this instanceof Switchery)) return new Switchery(element, options); this.element = element; this.options = options || {}; for (var i in defaults) { if (this.options[i] == null) { this.options[i] = defaults[i]; } } if (this.element != null && this.element.type == 'checkbox') this.init(); if (this.isDisabled() === true) this.disable(); } /** * Hide the target element. * * @api private */ Switchery.prototype.hide = function() { this.element.style.display = 'none'; }; /** * Show custom switch after the target element. * * @api private */ Switchery.prototype.show = function() { var switcher = this.create(); this.insertAfter(this.element, switcher); }; /** * Create custom switch. * * @returns {Object} this.switcher * @api private */ Switchery.prototype.create = function() { this.switcher = document.createElement('span'); this.jack = document.createElement('small'); this.switcher.appendChild(this.jack); this.switcher.className = this.options.className; this.events = events(this.switcher, this); return this.switcher; }; /** * Insert after element after another element. * * @param {Object} reference * @param {Object} target * @api private */ Switchery.prototype.insertAfter = function(reference, target) { reference.parentNode.insertBefore(target, reference.nextSibling); }; /** * Set switch jack proper position. * * @param {Boolean} clicked - we need this in order to uncheck the input when the switch is clicked * @api private */ Switchery.prototype.setPosition = function (clicked) { var checked = this.isChecked() , switcher = this.switcher , jack = this.jack; if (clicked && checked) checked = false; else if (clicked && !checked) checked = true; if (checked === true) { this.element.checked = true; if (window.getComputedStyle) jack.style.left = parseInt(window.getComputedStyle(switcher).width) - parseInt(window.getComputedStyle(jack).width) + 'px'; else jack.style.left = parseInt(switcher.currentStyle['width']) - parseInt(jack.currentStyle['width']) + 'px'; if (this.options.color) this.colorize(); this.setSpeed(); } else { jack.style.left = 0; this.element.checked = false; this.switcher.style.boxShadow = 'inset 0 0 0 0 ' + this.options.secondaryColor; this.switcher.style.borderColor = this.options.secondaryColor; this.switcher.style.backgroundColor = (this.options.secondaryColor !== defaults.secondaryColor) ? this.options.secondaryColor : '#fff'; this.jack.style.backgroundColor = (this.options.jackSecondaryColor !== this.options.jackColor) ? this.options.jackSecondaryColor : this.options.jackColor; this.setSpeed(); } }; /** * Set speed. * * @api private */ Switchery.prototype.setSpeed = function() { var switcherProp = {} , jackProp = { 'background-color': this.options.speed , 'left': this.options.speed.replace(/[a-z]/, '') / 2 + 's' }; if (this.isChecked()) { switcherProp = { 'border': this.options.speed , 'box-shadow': this.options.speed , 'background-color': this.options.speed.replace(/[a-z]/, '') * 3 + 's' }; } else { switcherProp = { 'border': this.options.speed , 'box-shadow': this.options.speed }; } transitionize(this.switcher, switcherProp); transitionize(this.jack, jackProp); }; /** * Set switch size. * * @api private */ Switchery.prototype.setSize = function() { var small = 'switchery-small' , normal = 'switchery-default' , large = 'switchery-large'; switch (this.options.size) { case 'small': classes(this.switcher).add(small) break; case 'large': classes(this.switcher).add(large) break; default: classes(this.switcher).add(normal) break; } }; /** * Set switch color. * * @api private */ Switchery.prototype.colorize = function() { var switcherHeight = this.switcher.offsetHeight / 2; this.switcher.style.backgroundColor = this.options.color; this.switcher.style.borderColor = this.options.color; this.switcher.style.boxShadow = 'inset 0 0 0 ' + switcherHeight + 'px ' + this.options.color; this.jack.style.backgroundColor = this.options.jackColor; }; /** * Handle the onchange event. * * @param {Boolean} state * @api private */ Switchery.prototype.handleOnchange = function(state) { if (document.dispatchEvent) { var event = document.createEvent('HTMLEvents'); event.initEvent('change', true, true); this.element.dispatchEvent(event); } else { this.element.fireEvent('onchange'); } }; /** * Handle the native input element state change. * A `change` event must be fired in order to detect the change. * * @api private */ Switchery.prototype.handleChange = function() { var self = this , el = this.element; if (el.addEventListener) { el.addEventListener('change', function() { self.setPosition(); }); } else { el.attachEvent('onchange', function() { self.setPosition(); }); } }; /** * Handle the switch click event. * * @api private */ Switchery.prototype.handleClick = function() { var switcher = this.switcher; fastclick = fastclick.bind(this); fastclick(switcher); this.events.bind('click', 'bindClick'); }; /** * Attach all methods that need to happen on switcher click. * * @api private */ Switchery.prototype.bindClick = function() { var parent = this.element.parentNode.tagName.toLowerCase() , labelParent = (parent === 'label') ? false : true; this.setPosition(labelParent); this.handleOnchange(this.element.checked); }; /** * Mark an individual switch as already handled. * * @api private */ Switchery.prototype.markAsSwitched = function() { this.element.setAttribute('data-switchery', true); }; /** * Check if an individual switch is already handled. * * @api private */ Switchery.prototype.markedAsSwitched = function() { return this.element.getAttribute('data-switchery'); }; /** * Initialize Switchery. * * @api private */ Switchery.prototype.init = function() { this.hide(); this.show(); this.setSize(); this.setPosition(); this.markAsSwitched(); this.handleChange(); this.handleClick(); }; /** * See if input is checked. * * @returns {Boolean} * @api public */ Switchery.prototype.isChecked = function() { return this.element.checked; }; /** * See if switcher should be disabled. * * @returns {Boolean} * @api public */ Switchery.prototype.isDisabled = function() { return this.options.disabled || this.element.disabled || this.element.readOnly; }; /** * Destroy all event handlers attached to the switch. * * @api public */ Switchery.prototype.destroy = function() { this.events.unbind(); }; /** * Enable disabled switch element. * * @api public */ Switchery.prototype.enable = function() { if (!this.options.disabled) return; if (this.options.disabled) this.options.disabled = false; if (this.element.disabled) this.element.disabled = false; if (this.element.readOnly) this.element.readOnly = false; this.switcher.style.opacity = 1; this.events.bind('click', 'bindClick'); }; /** * Disable switch element. * * @api public */ Switchery.prototype.disable = function() { if (this.options.disabled) return; if (!this.options.disabled) this.options.disabled = true; if (!this.element.disabled) this.element.disabled = true; if (!this.element.readOnly) this.element.readOnly = true; this.switcher.style.opacity = this.options.disabledOpacity; this.destroy(); }; }); if (typeof exports == "object") { module.exports = require("switchery"); } else if (typeof define == "function" && define.amd) { define("Switchery", [], function(){ return require("switchery"); }); } else { (this || window)["Switchery"] = require("switchery"); } })() PK }�\q"P[&`&`switchery.min.jsnu�[���(function(){function require(name){var module=require.modules[name];if(!module)throw new Error('failed to require "'+name+'"');if(!("exports"in module)&&typeof module.definition==="function"){module.client=module.component=true;module.definition.call(this,module.exports={},module);delete module.definition}return module.exports}require.loader="component";require.helper={};require.helper.semVerSort=function(a,b){var aArray=a.version.split(".");var bArray=b.version.split(".");for(var i=0;i<aArray.length;++i){var aInt=parseInt(aArray[i],10);var bInt=parseInt(bArray[i],10);if(aInt===bInt){var aLex=aArray[i].substr((""+aInt).length);var bLex=bArray[i].substr((""+bInt).length);if(aLex===""&&bLex!=="")return 1;if(aLex!==""&&bLex==="")return-1;if(aLex!==""&&bLex!=="")return aLex>bLex?1:-1;continue}else if(aInt>bInt){return 1}else{return-1}}return 0};require.latest=function(name,returnPath){function showError(name){throw new Error('failed to find latest module of "'+name+'"')}var versionRegexp=/(.*)~(.*)@v?(\d+\.\d+\.\d+[^\/]*)$/;var remoteRegexp=/(.*)~(.*)/;if(!remoteRegexp.test(name))showError(name);var moduleNames=Object.keys(require.modules);var semVerCandidates=[];var otherCandidates=[];for(var i=0;i<moduleNames.length;i++){var moduleName=moduleNames[i];if(new RegExp(name+"@").test(moduleName)){var version=moduleName.substr(name.length+1);var semVerMatch=versionRegexp.exec(moduleName);if(semVerMatch!=null){semVerCandidates.push({version:version,name:moduleName})}else{otherCandidates.push({version:version,name:moduleName})}}}if(semVerCandidates.concat(otherCandidates).length===0){showError(name)}if(semVerCandidates.length>0){var module=semVerCandidates.sort(require.helper.semVerSort).pop().name;if(returnPath===true){return module}return require(module)}var module=otherCandidates.sort(function(a,b){return a.name>b.name})[0].name;if(returnPath===true){return module}return require(module)};require.modules={};require.register=function(name,definition){require.modules[name]={definition:definition}};require.define=function(name,exports){require.modules[name]={exports:exports}};require.register("abpetkov~transitionize@0.0.3",function(exports,module){module.exports=Transitionize;function Transitionize(element,props){if(!(this instanceof Transitionize))return new Transitionize(element,props);this.element=element;this.props=props||{};this.init()}Transitionize.prototype.isSafari=function(){return/Safari/.test(navigator.userAgent)&&/Apple Computer/.test(navigator.vendor)};Transitionize.prototype.init=function(){var transitions=[];for(var key in this.props){transitions.push(key+" "+this.props[key])}this.element.style.transition=transitions.join(", ");if(this.isSafari())this.element.style.webkitTransition=transitions.join(", ")}});require.register("ftlabs~fastclick@v0.6.11",function(exports,module){function FastClick(layer){"use strict";var oldOnClick,self=this;this.trackingClick=false;this.trackingClickStart=0;this.targetElement=null;this.touchStartX=0;this.touchStartY=0;this.lastTouchIdentifier=0;this.touchBoundary=10;this.layer=layer;if(!layer||!layer.nodeType){throw new TypeError("Layer must be a document node")}this.onClick=function(){return FastClick.prototype.onClick.apply(self,arguments)};this.onMouse=function(){return FastClick.prototype.onMouse.apply(self,arguments)};this.onTouchStart=function(){return FastClick.prototype.onTouchStart.apply(self,arguments)};this.onTouchMove=function(){return FastClick.prototype.onTouchMove.apply(self,arguments)};this.onTouchEnd=function(){return FastClick.prototype.onTouchEnd.apply(self,arguments)};this.onTouchCancel=function(){return FastClick.prototype.onTouchCancel.apply(self,arguments)};if(FastClick.notNeeded(layer)){return}if(this.deviceIsAndroid){layer.addEventListener("mouseover",this.onMouse,true);layer.addEventListener("mousedown",this.onMouse,true);layer.addEventListener("mouseup",this.onMouse,true)}layer.addEventListener("click",this.onClick,true);layer.addEventListener("touchstart",this.onTouchStart,false);layer.addEventListener("touchmove",this.onTouchMove,false);layer.addEventListener("touchend",this.onTouchEnd,false);layer.addEventListener("touchcancel",this.onTouchCancel,false);if(!Event.prototype.stopImmediatePropagation){layer.removeEventListener=function(type,callback,capture){var rmv=Node.prototype.removeEventListener;if(type==="click"){rmv.call(layer,type,callback.hijacked||callback,capture)}else{rmv.call(layer,type,callback,capture)}};layer.addEventListener=function(type,callback,capture){var adv=Node.prototype.addEventListener;if(type==="click"){adv.call(layer,type,callback.hijacked||(callback.hijacked=function(event){if(!event.propagationStopped){callback(event)}}),capture)}else{adv.call(layer,type,callback,capture)}}}if(typeof layer.onclick==="function"){oldOnClick=layer.onclick;layer.addEventListener("click",function(event){oldOnClick(event)},false);layer.onclick=null}}FastClick.prototype.deviceIsAndroid=navigator.userAgent.indexOf("Android")>0;FastClick.prototype.deviceIsIOS=/iP(ad|hone|od)/.test(navigator.userAgent);FastClick.prototype.deviceIsIOS4=FastClick.prototype.deviceIsIOS&&/OS 4_\d(_\d)?/.test(navigator.userAgent);FastClick.prototype.deviceIsIOSWithBadTarget=FastClick.prototype.deviceIsIOS&&/OS ([6-9]|\d{2})_\d/.test(navigator.userAgent);FastClick.prototype.needsClick=function(target){"use strict";switch(target.nodeName.toLowerCase()){case"button":case"select":case"textarea":if(target.disabled){return true}break;case"input":if(this.deviceIsIOS&&target.type==="file"||target.disabled){return true}break;case"label":case"video":return true}return/\bneedsclick\b/.test(target.className)};FastClick.prototype.needsFocus=function(target){"use strict";switch(target.nodeName.toLowerCase()){case"textarea":return true;case"select":return!this.deviceIsAndroid;case"input":switch(target.type){case"button":case"checkbox":case"file":case"image":case"radio":case"submit":return false}return!target.disabled&&!target.readOnly;default:return/\bneedsfocus\b/.test(target.className)}};FastClick.prototype.sendClick=function(targetElement,event){"use strict";var clickEvent,touch;if(document.activeElement&&document.activeElement!==targetElement){document.activeElement.blur()}touch=event.changedTouches[0];clickEvent=document.createEvent("MouseEvents");clickEvent.initMouseEvent(this.determineEventType(targetElement),true,true,window,1,touch.screenX,touch.screenY,touch.clientX,touch.clientY,false,false,false,false,0,null);clickEvent.forwardedTouchEvent=true;targetElement.dispatchEvent(clickEvent)};FastClick.prototype.determineEventType=function(targetElement){"use strict";if(this.deviceIsAndroid&&targetElement.tagName.toLowerCase()==="select"){return"mousedown"}return"click"};FastClick.prototype.focus=function(targetElement){"use strict";var length;if(this.deviceIsIOS&&targetElement.setSelectionRange&&targetElement.type.indexOf("date")!==0&&targetElement.type!=="time"){length=targetElement.value.length;targetElement.setSelectionRange(length,length)}else{targetElement.focus()}};FastClick.prototype.updateScrollParent=function(targetElement){"use strict";var scrollParent,parentElement;scrollParent=targetElement.fastClickScrollParent;if(!scrollParent||!scrollParent.contains(targetElement)){parentElement=targetElement;do{if(parentElement.scrollHeight>parentElement.offsetHeight){scrollParent=parentElement;targetElement.fastClickScrollParent=parentElement;break}parentElement=parentElement.parentElement}while(parentElement)}if(scrollParent){scrollParent.fastClickLastScrollTop=scrollParent.scrollTop}};FastClick.prototype.getTargetElementFromEventTarget=function(eventTarget){"use strict";if(eventTarget.nodeType===Node.TEXT_NODE){return eventTarget.parentNode}return eventTarget};FastClick.prototype.onTouchStart=function(event){"use strict";var targetElement,touch,selection;if(event.targetTouches.length>1){return true}targetElement=this.getTargetElementFromEventTarget(event.target);touch=event.targetTouches[0];if(this.deviceIsIOS){selection=window.getSelection();if(selection.rangeCount&&!selection.isCollapsed){return true}if(!this.deviceIsIOS4){if(touch.identifier===this.lastTouchIdentifier){event.preventDefault();return false}this.lastTouchIdentifier=touch.identifier;this.updateScrollParent(targetElement)}}this.trackingClick=true;this.trackingClickStart=event.timeStamp;this.targetElement=targetElement;this.touchStartX=touch.pageX;this.touchStartY=touch.pageY;if(event.timeStamp-this.lastClickTime<200){event.preventDefault()}return true};FastClick.prototype.touchHasMoved=function(event){"use strict";var touch=event.changedTouches[0],boundary=this.touchBoundary;if(Math.abs(touch.pageX-this.touchStartX)>boundary||Math.abs(touch.pageY-this.touchStartY)>boundary){return true}return false};FastClick.prototype.onTouchMove=function(event){"use strict";if(!this.trackingClick){return true}if(this.targetElement!==this.getTargetElementFromEventTarget(event.target)||this.touchHasMoved(event)){this.trackingClick=false;this.targetElement=null}return true};FastClick.prototype.findControl=function(labelElement){"use strict";if(labelElement.control!==undefined){return labelElement.control}if(labelElement.htmlFor){return document.getElementById(labelElement.htmlFor)}return labelElement.querySelector("button, input:not([type=hidden]), keygen, meter, output, progress, select, textarea")};FastClick.prototype.onTouchEnd=function(event){"use strict";var forElement,trackingClickStart,targetTagName,scrollParent,touch,targetElement=this.targetElement;if(!this.trackingClick){return true}if(event.timeStamp-this.lastClickTime<200){this.cancelNextClick=true;return true}this.cancelNextClick=false;this.lastClickTime=event.timeStamp;trackingClickStart=this.trackingClickStart;this.trackingClick=false;this.trackingClickStart=0;if(this.deviceIsIOSWithBadTarget){touch=event.changedTouches[0];targetElement=document.elementFromPoint(touch.pageX-window.pageXOffset,touch.pageY-window.pageYOffset)||targetElement;targetElement.fastClickScrollParent=this.targetElement.fastClickScrollParent}targetTagName=targetElement.tagName.toLowerCase();if(targetTagName==="label"){forElement=this.findControl(targetElement);if(forElement){this.focus(targetElement);if(this.deviceIsAndroid){return false}targetElement=forElement}}else if(this.needsFocus(targetElement)){if(event.timeStamp-trackingClickStart>100||this.deviceIsIOS&&window.top!==window&&targetTagName==="input"){this.targetElement=null;return false}this.focus(targetElement);if(!this.deviceIsIOS4||targetTagName!=="select"){this.targetElement=null;event.preventDefault()}return false}if(this.deviceIsIOS&&!this.deviceIsIOS4){scrollParent=targetElement.fastClickScrollParent;if(scrollParent&&scrollParent.fastClickLastScrollTop!==scrollParent.scrollTop){return true}}if(!this.needsClick(targetElement)){event.preventDefault();this.sendClick(targetElement,event)}return false};FastClick.prototype.onTouchCancel=function(){"use strict";this.trackingClick=false;this.targetElement=null};FastClick.prototype.onMouse=function(event){"use strict";if(!this.targetElement){return true}if(event.forwardedTouchEvent){return true}if(!event.cancelable){return true}if(!this.needsClick(this.targetElement)||this.cancelNextClick){if(event.stopImmediatePropagation){event.stopImmediatePropagation()}else{event.propagationStopped=true}event.stopPropagation();event.preventDefault();return false}return true};FastClick.prototype.onClick=function(event){"use strict";var permitted;if(this.trackingClick){this.targetElement=null;this.trackingClick=false;return true}if(event.target.type==="submit"&&event.detail===0){return true}permitted=this.onMouse(event);if(!permitted){this.targetElement=null}return permitted};FastClick.prototype.destroy=function(){"use strict";var layer=this.layer;if(this.deviceIsAndroid){layer.removeEventListener("mouseover",this.onMouse,true);layer.removeEventListener("mousedown",this.onMouse,true);layer.removeEventListener("mouseup",this.onMouse,true)}layer.removeEventListener("click",this.onClick,true);layer.removeEventListener("touchstart",this.onTouchStart,false);layer.removeEventListener("touchmove",this.onTouchMove,false);layer.removeEventListener("touchend",this.onTouchEnd,false);layer.removeEventListener("touchcancel",this.onTouchCancel,false)};FastClick.notNeeded=function(layer){"use strict";var metaViewport;var chromeVersion;if(typeof window.ontouchstart==="undefined"){return true}chromeVersion=+(/Chrome\/([0-9]+)/.exec(navigator.userAgent)||[,0])[1];if(chromeVersion){if(FastClick.prototype.deviceIsAndroid){metaViewport=document.querySelector("meta[name=viewport]");if(metaViewport){if(metaViewport.content.indexOf("user-scalable=no")!==-1){return true}if(chromeVersion>31&&window.innerWidth<=window.screen.width){return true}}}else{return true}}if(layer.style.msTouchAction==="none"){return true}return false};FastClick.attach=function(layer){"use strict";return new FastClick(layer)};if(typeof define!=="undefined"&&define.amd){define(function(){"use strict";return FastClick})}else if(typeof module!=="undefined"&&module.exports){module.exports=FastClick.attach;module.exports.FastClick=FastClick}else{window.FastClick=FastClick}});require.register("component~indexof@0.0.3",function(exports,module){module.exports=function(arr,obj){if(arr.indexOf)return arr.indexOf(obj);for(var i=0;i<arr.length;++i){if(arr[i]===obj)return i}return-1}});require.register("component~classes@1.2.1",function(exports,module){var index=require("component~indexof@0.0.3");var re=/\s+/;var toString=Object.prototype.toString;module.exports=function(el){return new ClassList(el)};function ClassList(el){if(!el)throw new Error("A DOM element reference is required");this.el=el;this.list=el.classList}ClassList.prototype.add=function(name){if(this.list){this.list.add(name);return this}var arr=this.array();var i=index(arr,name);if(!~i)arr.push(name);this.el.className=arr.join(" ");return this};ClassList.prototype.remove=function(name){if("[object RegExp]"==toString.call(name)){return this.removeMatching(name)}if(this.list){this.list.remove(name);return this}var arr=this.array();var i=index(arr,name);if(~i)arr.splice(i,1);this.el.className=arr.join(" ");return this};ClassList.prototype.removeMatching=function(re){var arr=this.array();for(var i=0;i<arr.length;i++){if(re.test(arr[i])){this.remove(arr[i])}}return this};ClassList.prototype.toggle=function(name,force){if(this.list){if("undefined"!==typeof force){if(force!==this.list.toggle(name,force)){this.list.toggle(name)}}else{this.list.toggle(name)}return this}if("undefined"!==typeof force){if(!force){this.remove(name)}else{this.add(name)}}else{if(this.has(name)){this.remove(name)}else{this.add(name)}}return this};ClassList.prototype.array=function(){var str=this.el.className.replace(/^\s+|\s+$/g,"");var arr=str.split(re);if(""===arr[0])arr.shift();return arr};ClassList.prototype.has=ClassList.prototype.contains=function(name){return this.list?this.list.contains(name):!!~index(this.array(),name)}});require.register("component~event@0.1.4",function(exports,module){var bind=window.addEventListener?"addEventListener":"attachEvent",unbind=window.removeEventListener?"removeEventListener":"detachEvent",prefix=bind!=="addEventListener"?"on":"";exports.bind=function(el,type,fn,capture){el[bind](prefix+type,fn,capture||false);return fn};exports.unbind=function(el,type,fn,capture){el[unbind](prefix+type,fn,capture||false);return fn}});require.register("component~query@0.0.3",function(exports,module){function one(selector,el){return el.querySelector(selector)}exports=module.exports=function(selector,el){el=el||document;return one(selector,el)};exports.all=function(selector,el){el=el||document;return el.querySelectorAll(selector)};exports.engine=function(obj){if(!obj.one)throw new Error(".one callback required");if(!obj.all)throw new Error(".all callback required");one=obj.one;exports.all=obj.all;return exports}});require.register("component~matches-selector@0.1.6",function(exports,module){try{var query=require("component~query@0.0.3")}catch(err){var query=require("component~query@0.0.3")}var proto=Element.prototype;var vendor=proto.matches||proto.webkitMatchesSelector||proto.mozMatchesSelector||proto.msMatchesSelector||proto.oMatchesSelector;module.exports=match;function match(el,selector){if(!el||el.nodeType!==1)return false;if(vendor)return vendor.call(el,selector);var nodes=query.all(selector,el.parentNode);for(var i=0;i<nodes.length;++i){if(nodes[i]==el)return true}return false}});require.register("component~closest@1.0.1",function(exports,module){try{var matches=require("component~matches-selector@0.1.6")}catch(err){var matches=require("component~matches-selector@0.1.6")}module.exports=closest;function closest(el,selector,scope){scope=scope||document.documentElement;while(el&&el!==scope){if(matches(el,selector))return el;el=el.parentNode}return matches(el,selector)?el:null}});require.register("component~delegate@0.2.3",function(exports,module){var closest=require("component~closest@1.0.1"),event=require("component~event@0.1.4");exports.bind=function(el,selector,type,fn,capture){return event.bind(el,type,function(e){var target=e.target||e.srcElement;e.delegateTarget=closest(target,selector,true,el);if(e.delegateTarget)fn.call(el,e)},capture)};exports.unbind=function(el,type,fn,capture){event.unbind(el,type,fn,capture)}});require.register("component~events@1.0.9",function(exports,module){var events=require("component~event@0.1.4");var delegate=require("component~delegate@0.2.3");module.exports=Events;function Events(el,obj){if(!(this instanceof Events))return new Events(el,obj);if(!el)throw new Error("element required");if(!obj)throw new Error("object required");this.el=el;this.obj=obj;this._events={}}Events.prototype.sub=function(event,method,cb){this._events[event]=this._events[event]||{};this._events[event][method]=cb};Events.prototype.bind=function(event,method){var e=parse(event);var el=this.el;var obj=this.obj;var name=e.name;var method=method||"on"+name;var args=[].slice.call(arguments,2);function cb(){var a=[].slice.call(arguments).concat(args);obj[method].apply(obj,a)}if(e.selector){cb=delegate.bind(el,e.selector,name,cb)}else{events.bind(el,name,cb)}this.sub(name,method,cb);return cb};Events.prototype.unbind=function(event,method){if(0==arguments.length)return this.unbindAll();if(1==arguments.length)return this.unbindAllOf(event);var bindings=this._events[event];if(!bindings)return;var cb=bindings[method];if(!cb)return;events.unbind(this.el,event,cb)};Events.prototype.unbindAll=function(){for(var event in this._events){this.unbindAllOf(event)}};Events.prototype.unbindAllOf=function(event){var bindings=this._events[event];if(!bindings)return;for(var method in bindings){this.unbind(event,method)}};function parse(event){var parts=event.split(/ +/);return{name:parts.shift(),selector:parts.join(" ")}}});require.register("switchery",function(exports,module){var transitionize=require("abpetkov~transitionize@0.0.3"),fastclick=require("ftlabs~fastclick@v0.6.11"),classes=require("component~classes@1.2.1"),events=require("component~events@1.0.9");module.exports=Switchery;var defaults={color:"#64bd63",secondaryColor:"#dfdfdf",jackColor:"#fff",jackSecondaryColor:null,className:"switchery",disabled:false,disabledOpacity:.5,speed:"0.4s",size:"default"};function Switchery(element,options){if(!(this instanceof Switchery))return new Switchery(element,options);this.element=element;this.options=options||{};for(var i in defaults){if(this.options[i]==null){this.options[i]=defaults[i]}}if(this.element!=null&&this.element.type=="checkbox")this.init();if(this.isDisabled()===true)this.disable()}Switchery.prototype.hide=function(){this.element.style.display="none"};Switchery.prototype.show=function(){var switcher=this.create();this.insertAfter(this.element,switcher)};Switchery.prototype.create=function(){this.switcher=document.createElement("span");this.jack=document.createElement("small");this.switcher.appendChild(this.jack);this.switcher.className=this.options.className;this.events=events(this.switcher,this);return this.switcher};Switchery.prototype.insertAfter=function(reference,target){reference.parentNode.insertBefore(target,reference.nextSibling)};Switchery.prototype.setPosition=function(clicked){var checked=this.isChecked(),switcher=this.switcher,jack=this.jack;if(clicked&&checked)checked=false;else if(clicked&&!checked)checked=true;if(checked===true){this.element.checked=true;if(window.getComputedStyle)jack.style.left=parseInt(window.getComputedStyle(switcher).width)-parseInt(window.getComputedStyle(jack).width)+"px";else jack.style.left=parseInt(switcher.currentStyle["width"])-parseInt(jack.currentStyle["width"])+"px";if(this.options.color)this.colorize();this.setSpeed()}else{jack.style.left=0;this.element.checked=false;this.switcher.style.boxShadow="inset 0 0 0 0 "+this.options.secondaryColor;this.switcher.style.borderColor=this.options.secondaryColor;this.switcher.style.backgroundColor=this.options.secondaryColor!==defaults.secondaryColor?this.options.secondaryColor:"#fff";this.jack.style.backgroundColor=this.options.jackSecondaryColor!==this.options.jackColor?this.options.jackSecondaryColor:this.options.jackColor;this.setSpeed()}};Switchery.prototype.setSpeed=function(){var switcherProp={},jackProp={"background-color":this.options.speed,left:this.options.speed.replace(/[a-z]/,"")/2+"s"};if(this.isChecked()){switcherProp={border:this.options.speed,"box-shadow":this.options.speed,"background-color":this.options.speed.replace(/[a-z]/,"")*3+"s"}}else{switcherProp={border:this.options.speed,"box-shadow":this.options.speed}}transitionize(this.switcher,switcherProp);transitionize(this.jack,jackProp)};Switchery.prototype.setSize=function(){var small="switchery-small",normal="switchery-default",large="switchery-large";switch(this.options.size){case"small":classes(this.switcher).add(small);break;case"large":classes(this.switcher).add(large);break;default:classes(this.switcher).add(normal);break}};Switchery.prototype.colorize=function(){var switcherHeight=this.switcher.offsetHeight/2;this.switcher.style.backgroundColor=this.options.color;this.switcher.style.borderColor=this.options.color;this.switcher.style.boxShadow="inset 0 0 0 "+switcherHeight+"px "+this.options.color;this.jack.style.backgroundColor=this.options.jackColor};Switchery.prototype.handleOnchange=function(state){if(document.dispatchEvent){var event=document.createEvent("HTMLEvents");event.initEvent("change",true,true);this.element.dispatchEvent(event)}else{this.element.fireEvent("onchange")}};Switchery.prototype.handleChange=function(){var self=this,el=this.element;if(el.addEventListener){el.addEventListener("change",function(){self.setPosition()})}else{el.attachEvent("onchange",function(){self.setPosition()})}};Switchery.prototype.handleClick=function(){var switcher=this.switcher;fastclick=fastclick.bind(this);fastclick(switcher);this.events.bind("click","bindClick")};Switchery.prototype.bindClick=function(){var parent=this.element.parentNode.tagName.toLowerCase(),labelParent=parent==="label"?false:true;this.setPosition(labelParent);this.handleOnchange(this.element.checked)};Switchery.prototype.markAsSwitched=function(){this.element.setAttribute("data-switchery",true)};Switchery.prototype.markedAsSwitched=function(){return this.element.getAttribute("data-switchery")};Switchery.prototype.init=function(){this.hide();this.show();this.setSize();this.setPosition();this.markAsSwitched();this.handleChange();this.handleClick()};Switchery.prototype.isChecked=function(){return this.element.checked};Switchery.prototype.isDisabled=function(){return this.options.disabled||this.element.disabled||this.element.readOnly};Switchery.prototype.destroy=function(){this.events.unbind()};Switchery.prototype.enable=function(){if(!this.options.disabled)return;if(this.options.disabled)this.options.disabled=false;if(this.element.disabled)this.element.disabled=false;if(this.element.readOnly)this.element.readOnly=false;this.switcher.style.opacity=1;this.events.bind("click","bindClick")};Switchery.prototype.disable=function(){if(this.options.disabled)return;if(!this.options.disabled)this.options.disabled=true;if(!this.element.disabled)this.element.disabled=true;if(!this.element.readOnly)this.element.readOnly=true;this.switcher.style.opacity=this.options.disabledOpacity;this.destroy()}});if(typeof exports=="object"){module.exports=require("switchery")}else if(typeof define=="function"&&define.amd){define("Switchery",[],function(){return require("switchery")})}else{(this||window)["Switchery"]=require("switchery")}})();PK }�\* ���switchery.min.cssnu�[���.switchery{background-color:#fff;border:1px solid #dfdfdf;border-radius:20px;cursor:pointer;display:inline-block;height:30px;position:relative;vertical-align:middle;width:50px;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;box-sizing:content-box;background-clip:content-box}.switchery>small{background:#fff;border-radius:100%;box-shadow:0 1px 3px rgba(0,0,0,0.4);height:30px;position:absolute;top:0;width:30px}.switchery-small{border-radius:20px;height:20px;width:33px}.switchery-small>small{height:20px;width:20px}.switchery-large{border-radius:40px;height:40px;width:66px}.switchery-large>small{height:40px;width:40px}PK }�\#��"" switchery.cssnu�[���/* * * Main stylesheet for Switchery. * http://abpetkov.github.io/switchery/ * */ /* Switchery defaults. */ .switchery { background-color: #fff; border: 1px solid #dfdfdf; border-radius: 20px; cursor: pointer; display: inline-block; height: 30px; position: relative; vertical-align: middle; width: 50px; -moz-user-select: none; -khtml-user-select: none; -webkit-user-select: none; -ms-user-select: none; user-select: none; box-sizing: content-box; background-clip: content-box; } .switchery > small { background: #fff; border-radius: 100%; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4); height: 30px; position: absolute; top: 0; width: 30px; } /* Switchery sizes. */ .switchery-small { border-radius: 20px; height: 20px; width: 33px; } .switchery-small > small { height: 20px; width: 20px; } .switchery-large { border-radius: 40px; height: 40px; width: 66px; } .switchery-large > small { height: 40px; width: 40px; } PKS}�\?�E��jquery.toast.min.cssnu�[���.jq-toast-wrap,.jq-toast-wrap *{margin:0;padding:0}.jq-toast-wrap{display:block;position:fixed;width:250px;pointer-events:none!important;letter-spacing:normal;z-index:9000!important}.jq-toast-wrap.bottom-left{bottom:20px;left:20px}.jq-toast-wrap.bottom-right{bottom:20px;right:40px}.jq-toast-wrap.top-left{top:20px;left:20px}.jq-toast-wrap.top-right{top:20px;right:40px}.jq-toast-single{display:block;width:100%;padding:10px;margin:0 0 5px;border-radius:4px;font-size:12px;font-family:arial,sans-serif;line-height:17px;position:relative;pointer-events:all!important;background-color:#444;color:#fff}.jq-toast-single h2{font-family:arial,sans-serif;font-size:14px;margin:0 0 7px;background:0 0;color:inherit;line-height:inherit;letter-spacing:normal}.jq-toast-single a{color:#eee;text-decoration:none;font-weight:700;border-bottom:1px solid #fff;padding-bottom:3px;font-size:12px}.jq-toast-single ul{margin:0 0 0 15px;background:0 0;padding:0}.jq-toast-single ul li{list-style-type:disc!important;line-height:17px;background:0 0;margin:0;padding:0;letter-spacing:normal}.close-jq-toast-single{position:absolute;top:3px;right:7px;font-size:14px;cursor:pointer}.jq-toast-loader{display:block;position:absolute;top:-2px;height:5px;width:0;left:0;border-radius:5px;background:red}.jq-toast-loaded{width:100%}.jq-has-icon{padding:10px 10px 10px 50px;background-repeat:no-repeat;background-position:10px}.jq-icon-info{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=);background-color:#31708f;color:#d9edf7;border-color:#bce8f1}.jq-icon-warning{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=);background-color:#8a6d3b;color:#fcf8e3;border-color:#faebcc}.jq-icon-error{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=);background-color:#a94442;color:#f2dede;border-color:#ebccd1}.jq-icon-success{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==);color:#dff0d8;background-color:#3c763d;border-color:#d6e9c6}PKS}�\Q�f��jquery.toast.min.jsnu�[���"function"!=typeof Object.create&&(Object.create=function(t){function o(){}return o.prototype=t,new o}),function(t,o,i,s){"use strict";var n={_positionClasses:["bottom-left","bottom-right","top-right","top-left","bottom-center","top-center","mid-center"],_defaultIcons:["success","error","info","warning"],init:function(o,i){this.prepareOptions(o,t.toast.options),this.process()},prepareOptions:function(o,i){var s={};"string"==typeof o||o instanceof Array?s.text=o:s=o,this.options=t.extend({},i,s)},process:function(){this.setup(),this.addToDom(),this.position(),this.bindToast(),this.animate()},setup:function(){var o="";if(this._toastEl=this._toastEl||t("<div></div>",{"class":"jq-toast-single"}),o+='<span class="jq-toast-loader"></span>',this.options.allowToastClose&&(o+='<span class="close-jq-toast-single">×</span>'),this.options.text instanceof Array){this.options.heading&&(o+='<h2 class="jq-toast-heading">'+this.options.heading+"</h2>"),o+='<ul class="jq-toast-ul">';for(var i=0;i<this.options.text.length;i++)o+='<li class="jq-toast-li" id="jq-toast-item-'+i+'">'+this.options.text[i]+"</li>";o+="</ul>"}else this.options.heading&&(o+='<h2 class="jq-toast-heading">'+this.options.heading+"</h2>"),o+=this.options.text;this._toastEl.html(o),this.options.bgColor!==!1&&this._toastEl.css("background-color",this.options.bgColor),this.options.textColor!==!1&&this._toastEl.css("color",this.options.textColor),this.options.textAlign&&this._toastEl.css("text-align",this.options.textAlign),this.options.icon!==!1&&(this._toastEl.addClass("jq-has-icon"),-1!==t.inArray(this.options.icon,this._defaultIcons)&&this._toastEl.addClass("jq-icon-"+this.options.icon)),this.options["class"]!==!1&&this._toastEl.addClass(this.options["class"])},position:function(){"string"==typeof this.options.position&&-1!==t.inArray(this.options.position,this._positionClasses)?"bottom-center"===this.options.position?this._container.css({left:t(o).outerWidth()/2-this._container.outerWidth()/2,bottom:20}):"top-center"===this.options.position?this._container.css({left:t(o).outerWidth()/2-this._container.outerWidth()/2,top:20}):"mid-center"===this.options.position?this._container.css({left:t(o).outerWidth()/2-this._container.outerWidth()/2,top:t(o).outerHeight()/2-this._container.outerHeight()/2}):this._container.addClass(this.options.position):"object"==typeof this.options.position?this._container.css({top:this.options.position.top?this.options.position.top:"auto",bottom:this.options.position.bottom?this.options.position.bottom:"auto",left:this.options.position.left?this.options.position.left:"auto",right:this.options.position.right?this.options.position.right:"auto"}):this._container.addClass("bottom-left")},bindToast:function(){var t=this;this._toastEl.on("afterShown",function(){t.processLoader()}),this._toastEl.find(".close-jq-toast-single").on("click",function(o){o.preventDefault(),"fade"===t.options.showHideTransition?(t._toastEl.trigger("beforeHide"),t._toastEl.fadeOut(function(){t._toastEl.trigger("afterHidden")})):"slide"===t.options.showHideTransition?(t._toastEl.trigger("beforeHide"),t._toastEl.slideUp(function(){t._toastEl.trigger("afterHidden")})):(t._toastEl.trigger("beforeHide"),t._toastEl.hide(function(){t._toastEl.trigger("afterHidden")}))}),"function"==typeof this.options.beforeShow&&this._toastEl.on("beforeShow",function(){t.options.beforeShow()}),"function"==typeof this.options.afterShown&&this._toastEl.on("afterShown",function(){t.options.afterShown()}),"function"==typeof this.options.beforeHide&&this._toastEl.on("beforeHide",function(){t.options.beforeHide()}),"function"==typeof this.options.afterHidden&&this._toastEl.on("afterHidden",function(){t.options.afterHidden()})},addToDom:function(){var o=t(".jq-toast-wrap");if(0===o.length?(o=t("<div></div>",{"class":"jq-toast-wrap"}),t("body").append(o)):(!this.options.stack||isNaN(parseInt(this.options.stack,10)))&&o.empty(),o.find(".jq-toast-single:hidden").remove(),o.append(this._toastEl),this.options.stack&&!isNaN(parseInt(this.options.stack),10)){var i=o.find(".jq-toast-single").length,s=i-this.options.stack;s>0&&t(".jq-toast-wrap").find(".jq-toast-single").slice(0,s).remove()}this._container=o},canAutoHide:function(){return this.options.hideAfter!==!1&&!isNaN(parseInt(this.options.hideAfter,10))},processLoader:function(){if(!this.canAutoHide()||this.options.loader===!1)return!1;var t=this._toastEl.find(".jq-toast-loader"),o=(this.options.hideAfter-400)/1e3+"s",i=this.options.loaderBg,s=t.attr("style")||"";s=s.substring(0,s.indexOf("-webkit-transition")),s+="-webkit-transition: width "+o+" ease-in; -o-transition: width "+o+" ease-in; transition: width "+o+" ease-in; background-color: "+i+";",t.attr("style",s).addClass("jq-toast-loaded")},animate:function(){var t=this;if(this._toastEl.hide(),this._toastEl.trigger("beforeShow"),"fade"===this.options.showHideTransition.toLowerCase()?this._toastEl.fadeIn(function(){t._toastEl.trigger("afterShown")}):"slide"===this.options.showHideTransition.toLowerCase()?this._toastEl.slideDown(function(){t._toastEl.trigger("afterShown")}):this._toastEl.show(function(){t._toastEl.trigger("afterShown")}),this.canAutoHide()){var t=this;o.setTimeout(function(){"fade"===t.options.showHideTransition.toLowerCase()?(t._toastEl.trigger("beforeHide"),t._toastEl.fadeOut(function(){t._toastEl.trigger("afterHidden")})):"slide"===t.options.showHideTransition.toLowerCase()?(t._toastEl.trigger("beforeHide"),t._toastEl.slideUp(function(){t._toastEl.trigger("afterHidden")})):(t._toastEl.trigger("beforeHide"),t._toastEl.hide(function(){t._toastEl.trigger("afterHidden")}))},this.options.hideAfter)}},reset:function(o){"all"===o?t(".jq-toast-wrap").remove():this._toastEl.remove()},update:function(t){this.prepareOptions(t,this.options),this.setup(),this.bindToast()}};t.toast=function(t){var o=Object.create(n);return o.init(t,this),{reset:function(t){o.reset(t)},update:function(t){o.update(t)}}},t.toast.options={text:"",heading:"",showHideTransition:"fade",allowToastClose:!0,hideAfter:3e3,loader:!0,loaderBg:"#9EC600",stack:5,position:"bottom-left",bgColor:!1,textColor:!1,textAlign:"left",icon:!1,beforeShow:function(){},afterShown:function(){},beforeHide:function(){},afterHidden:function(){}}}(jQuery,window,document);PK�}�\!C�&C&C d3-zoom.jsnu�[���// https://d3js.org/d3-zoom/ v1.7.3 Copyright 2018 Mike Bostock (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('d3-selection'), require('d3-dispatch'), require('d3-drag'), require('d3-interpolate'), require('d3-transition')) : typeof define === 'function' && define.amd ? define(['exports', 'd3-selection', 'd3-dispatch', 'd3-drag', 'd3-interpolate', 'd3-transition'], factory) : (factory((global.d3 = global.d3 || {}),global.d3,global.d3,global.d3,global.d3,global.d3)); }(this, (function (exports,d3Selection,d3Dispatch,d3Drag,d3Interpolate,d3Transition) { 'use strict'; function constant(x) { return function() { return x; }; } function ZoomEvent(target, type, transform) { this.target = target; this.type = type; this.transform = transform; } function Transform(k, x, y) { this.k = k; this.x = x; this.y = y; } Transform.prototype = { constructor: Transform, scale: function(k) { return k === 1 ? this : new Transform(this.k * k, this.x, this.y); }, translate: function(x, y) { return x === 0 & y === 0 ? this : new Transform(this.k, this.x + this.k * x, this.y + this.k * y); }, apply: function(point) { return [point[0] * this.k + this.x, point[1] * this.k + this.y]; }, applyX: function(x) { return x * this.k + this.x; }, applyY: function(y) { return y * this.k + this.y; }, invert: function(location) { return [(location[0] - this.x) / this.k, (location[1] - this.y) / this.k]; }, invertX: function(x) { return (x - this.x) / this.k; }, invertY: function(y) { return (y - this.y) / this.k; }, rescaleX: function(x) { return x.copy().domain(x.range().map(this.invertX, this).map(x.invert, x)); }, rescaleY: function(y) { return y.copy().domain(y.range().map(this.invertY, this).map(y.invert, y)); }, toString: function() { return "translate(" + this.x + "," + this.y + ") scale(" + this.k + ")"; } }; var identity = new Transform(1, 0, 0); transform.prototype = Transform.prototype; function transform(node) { return node.__zoom || identity; } function nopropagation() { d3Selection.event.stopImmediatePropagation(); } function noevent() { d3Selection.event.preventDefault(); d3Selection.event.stopImmediatePropagation(); } // Ignore right-click, since that should open the context menu. function defaultFilter() { return !d3Selection.event.button; } function defaultExtent() { var e = this, w, h; if (e instanceof SVGElement) { e = e.ownerSVGElement || e; w = e.width.baseVal.value; h = e.height.baseVal.value; } else { w = e.clientWidth; h = e.clientHeight; } return [[0, 0], [w, h]]; } function defaultTransform() { return this.__zoom || identity; } function defaultWheelDelta() { return -d3Selection.event.deltaY * (d3Selection.event.deltaMode ? 120 : 1) / 500; } function defaultTouchable() { return "ontouchstart" in this; } function defaultConstrain(transform$$1, extent, translateExtent) { var dx0 = transform$$1.invertX(extent[0][0]) - translateExtent[0][0], dx1 = transform$$1.invertX(extent[1][0]) - translateExtent[1][0], dy0 = transform$$1.invertY(extent[0][1]) - translateExtent[0][1], dy1 = transform$$1.invertY(extent[1][1]) - translateExtent[1][1]; return transform$$1.translate( dx1 > dx0 ? (dx0 + dx1) / 2 : Math.min(0, dx0) || Math.max(0, dx1), dy1 > dy0 ? (dy0 + dy1) / 2 : Math.min(0, dy0) || Math.max(0, dy1) ); } function zoom() { var filter = defaultFilter, extent = defaultExtent, constrain = defaultConstrain, wheelDelta = defaultWheelDelta, touchable = defaultTouchable, scaleExtent = [0, Infinity], translateExtent = [[-Infinity, -Infinity], [Infinity, Infinity]], duration = 250, interpolate = d3Interpolate.interpolateZoom, gestures = [], listeners = d3Dispatch.dispatch("start", "zoom", "end"), touchstarting, touchending, touchDelay = 500, wheelDelay = 150, clickDistance2 = 0; function zoom(selection) { selection .property("__zoom", defaultTransform) .on("wheel.zoom", wheeled) .on("mousedown.zoom", mousedowned) .on("dblclick.zoom", dblclicked) .filter(touchable) .on("touchstart.zoom", touchstarted) .on("touchmove.zoom", touchmoved) .on("touchend.zoom touchcancel.zoom", touchended) .style("touch-action", "none") .style("-webkit-tap-highlight-color", "rgba(0,0,0,0)"); } zoom.transform = function(collection, transform$$1) { var selection = collection.selection ? collection.selection() : collection; selection.property("__zoom", defaultTransform); if (collection !== selection) { schedule(collection, transform$$1); } else { selection.interrupt().each(function() { gesture(this, arguments) .start() .zoom(null, typeof transform$$1 === "function" ? transform$$1.apply(this, arguments) : transform$$1) .end(); }); } }; zoom.scaleBy = function(selection, k) { zoom.scaleTo(selection, function() { var k0 = this.__zoom.k, k1 = typeof k === "function" ? k.apply(this, arguments) : k; return k0 * k1; }); }; zoom.scaleTo = function(selection, k) { zoom.transform(selection, function() { var e = extent.apply(this, arguments), t0 = this.__zoom, p0 = centroid(e), p1 = t0.invert(p0), k1 = typeof k === "function" ? k.apply(this, arguments) : k; return constrain(translate(scale(t0, k1), p0, p1), e, translateExtent); }); }; zoom.translateBy = function(selection, x, y) { zoom.transform(selection, function() { return constrain(this.__zoom.translate( typeof x === "function" ? x.apply(this, arguments) : x, typeof y === "function" ? y.apply(this, arguments) : y ), extent.apply(this, arguments), translateExtent); }); }; zoom.translateTo = function(selection, x, y) { zoom.transform(selection, function() { var e = extent.apply(this, arguments), t = this.__zoom, p = centroid(e); return constrain(identity.translate(p[0], p[1]).scale(t.k).translate( typeof x === "function" ? -x.apply(this, arguments) : -x, typeof y === "function" ? -y.apply(this, arguments) : -y ), e, translateExtent); }); }; function scale(transform$$1, k) { k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], k)); return k === transform$$1.k ? transform$$1 : new Transform(k, transform$$1.x, transform$$1.y); } function translate(transform$$1, p0, p1) { var x = p0[0] - p1[0] * transform$$1.k, y = p0[1] - p1[1] * transform$$1.k; return x === transform$$1.x && y === transform$$1.y ? transform$$1 : new Transform(transform$$1.k, x, y); } function centroid(extent) { return [(+extent[0][0] + +extent[1][0]) / 2, (+extent[0][1] + +extent[1][1]) / 2]; } function schedule(transition, transform$$1, center) { transition .on("start.zoom", function() { gesture(this, arguments).start(); }) .on("interrupt.zoom end.zoom", function() { gesture(this, arguments).end(); }) .tween("zoom", function() { var that = this, args = arguments, g = gesture(that, args), e = extent.apply(that, args), p = center || centroid(e), w = Math.max(e[1][0] - e[0][0], e[1][1] - e[0][1]), a = that.__zoom, b = typeof transform$$1 === "function" ? transform$$1.apply(that, args) : transform$$1, i = interpolate(a.invert(p).concat(w / a.k), b.invert(p).concat(w / b.k)); return function(t) { if (t === 1) t = b; // Avoid rounding error on end. else { var l = i(t), k = w / l[2]; t = new Transform(k, p[0] - l[0] * k, p[1] - l[1] * k); } g.zoom(null, t); }; }); } function gesture(that, args) { for (var i = 0, n = gestures.length, g; i < n; ++i) { if ((g = gestures[i]).that === that) { return g; } } return new Gesture(that, args); } function Gesture(that, args) { this.that = that; this.args = args; this.index = -1; this.active = 0; this.extent = extent.apply(that, args); } Gesture.prototype = { start: function() { if (++this.active === 1) { this.index = gestures.push(this) - 1; this.emit("start"); } return this; }, zoom: function(key, transform$$1) { if (this.mouse && key !== "mouse") this.mouse[1] = transform$$1.invert(this.mouse[0]); if (this.touch0 && key !== "touch") this.touch0[1] = transform$$1.invert(this.touch0[0]); if (this.touch1 && key !== "touch") this.touch1[1] = transform$$1.invert(this.touch1[0]); this.that.__zoom = transform$$1; this.emit("zoom"); return this; }, end: function() { if (--this.active === 0) { gestures.splice(this.index, 1); this.index = -1; this.emit("end"); } return this; }, emit: function(type) { d3Selection.customEvent(new ZoomEvent(zoom, type, this.that.__zoom), listeners.apply, listeners, [type, this.that, this.args]); } }; function wheeled() { if (!filter.apply(this, arguments)) return; var g = gesture(this, arguments), t = this.__zoom, k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], t.k * Math.pow(2, wheelDelta.apply(this, arguments)))), p = d3Selection.mouse(this); // If the mouse is in the same location as before, reuse it. // If there were recent wheel events, reset the wheel idle timeout. if (g.wheel) { if (g.mouse[0][0] !== p[0] || g.mouse[0][1] !== p[1]) { g.mouse[1] = t.invert(g.mouse[0] = p); } clearTimeout(g.wheel); } // If this wheel event won’t trigger a transform change, ignore it. else if (t.k === k) return; // Otherwise, capture the mouse point and location at the start. else { g.mouse = [p, t.invert(p)]; d3Transition.interrupt(this); g.start(); } noevent(); g.wheel = setTimeout(wheelidled, wheelDelay); g.zoom("mouse", constrain(translate(scale(t, k), g.mouse[0], g.mouse[1]), g.extent, translateExtent)); function wheelidled() { g.wheel = null; g.end(); } } function mousedowned() { if (touchending || !filter.apply(this, arguments)) return; var g = gesture(this, arguments), v = d3Selection.select(d3Selection.event.view).on("mousemove.zoom", mousemoved, true).on("mouseup.zoom", mouseupped, true), p = d3Selection.mouse(this), x0 = d3Selection.event.clientX, y0 = d3Selection.event.clientY; d3Drag.dragDisable(d3Selection.event.view); nopropagation(); g.mouse = [p, this.__zoom.invert(p)]; d3Transition.interrupt(this); g.start(); function mousemoved() { noevent(); if (!g.moved) { var dx = d3Selection.event.clientX - x0, dy = d3Selection.event.clientY - y0; g.moved = dx * dx + dy * dy > clickDistance2; } g.zoom("mouse", constrain(translate(g.that.__zoom, g.mouse[0] = d3Selection.mouse(g.that), g.mouse[1]), g.extent, translateExtent)); } function mouseupped() { v.on("mousemove.zoom mouseup.zoom", null); d3Drag.dragEnable(d3Selection.event.view, g.moved); noevent(); g.end(); } } function dblclicked() { if (!filter.apply(this, arguments)) return; var t0 = this.__zoom, p0 = d3Selection.mouse(this), p1 = t0.invert(p0), k1 = t0.k * (d3Selection.event.shiftKey ? 0.5 : 2), t1 = constrain(translate(scale(t0, k1), p0, p1), extent.apply(this, arguments), translateExtent); noevent(); if (duration > 0) d3Selection.select(this).transition().duration(duration).call(schedule, t1, p0); else d3Selection.select(this).call(zoom.transform, t1); } function touchstarted() { if (!filter.apply(this, arguments)) return; var g = gesture(this, arguments), touches = d3Selection.event.changedTouches, started, n = touches.length, i, t, p; nopropagation(); for (i = 0; i < n; ++i) { t = touches[i], p = d3Selection.touch(this, touches, t.identifier); p = [p, this.__zoom.invert(p), t.identifier]; if (!g.touch0) g.touch0 = p, started = true; else if (!g.touch1) g.touch1 = p; } // If this is a dbltap, reroute to the (optional) dblclick.zoom handler. if (touchstarting) { touchstarting = clearTimeout(touchstarting); if (!g.touch1) { g.end(); p = d3Selection.select(this).on("dblclick.zoom"); if (p) p.apply(this, arguments); return; } } if (started) { touchstarting = setTimeout(function() { touchstarting = null; }, touchDelay); d3Transition.interrupt(this); g.start(); } } function touchmoved() { var g = gesture(this, arguments), touches = d3Selection.event.changedTouches, n = touches.length, i, t, p, l; noevent(); if (touchstarting) touchstarting = clearTimeout(touchstarting); for (i = 0; i < n; ++i) { t = touches[i], p = d3Selection.touch(this, touches, t.identifier); if (g.touch0 && g.touch0[2] === t.identifier) g.touch0[0] = p; else if (g.touch1 && g.touch1[2] === t.identifier) g.touch1[0] = p; } t = g.that.__zoom; if (g.touch1) { var p0 = g.touch0[0], l0 = g.touch0[1], p1 = g.touch1[0], l1 = g.touch1[1], dp = (dp = p1[0] - p0[0]) * dp + (dp = p1[1] - p0[1]) * dp, dl = (dl = l1[0] - l0[0]) * dl + (dl = l1[1] - l0[1]) * dl; t = scale(t, Math.sqrt(dp / dl)); p = [(p0[0] + p1[0]) / 2, (p0[1] + p1[1]) / 2]; l = [(l0[0] + l1[0]) / 2, (l0[1] + l1[1]) / 2]; } else if (g.touch0) p = g.touch0[0], l = g.touch0[1]; else return; g.zoom("touch", constrain(translate(t, p, l), g.extent, translateExtent)); } function touchended() { var g = gesture(this, arguments), touches = d3Selection.event.changedTouches, n = touches.length, i, t; nopropagation(); if (touchending) clearTimeout(touchending); touchending = setTimeout(function() { touchending = null; }, touchDelay); for (i = 0; i < n; ++i) { t = touches[i]; if (g.touch0 && g.touch0[2] === t.identifier) delete g.touch0; else if (g.touch1 && g.touch1[2] === t.identifier) delete g.touch1; } if (g.touch1 && !g.touch0) g.touch0 = g.touch1, delete g.touch1; if (g.touch0) g.touch0[1] = this.__zoom.invert(g.touch0[0]); else g.end(); } zoom.wheelDelta = function(_) { return arguments.length ? (wheelDelta = typeof _ === "function" ? _ : constant(+_), zoom) : wheelDelta; }; zoom.filter = function(_) { return arguments.length ? (filter = typeof _ === "function" ? _ : constant(!!_), zoom) : filter; }; zoom.touchable = function(_) { return arguments.length ? (touchable = typeof _ === "function" ? _ : constant(!!_), zoom) : touchable; }; zoom.extent = function(_) { return arguments.length ? (extent = typeof _ === "function" ? _ : constant([[+_[0][0], +_[0][1]], [+_[1][0], +_[1][1]]]), zoom) : extent; }; zoom.scaleExtent = function(_) { return arguments.length ? (scaleExtent[0] = +_[0], scaleExtent[1] = +_[1], zoom) : [scaleExtent[0], scaleExtent[1]]; }; zoom.translateExtent = function(_) { return arguments.length ? (translateExtent[0][0] = +_[0][0], translateExtent[1][0] = +_[1][0], translateExtent[0][1] = +_[0][1], translateExtent[1][1] = +_[1][1], zoom) : [[translateExtent[0][0], translateExtent[0][1]], [translateExtent[1][0], translateExtent[1][1]]]; }; zoom.constrain = function(_) { return arguments.length ? (constrain = _, zoom) : constrain; }; zoom.duration = function(_) { return arguments.length ? (duration = +_, zoom) : duration; }; zoom.interpolate = function(_) { return arguments.length ? (interpolate = _, zoom) : interpolate; }; zoom.on = function() { var value = listeners.on.apply(listeners, arguments); return value === listeners ? zoom : value; }; zoom.clickDistance = function(_) { return arguments.length ? (clickDistance2 = (_ = +_) * _, zoom) : Math.sqrt(clickDistance2); }; return zoom; } exports.zoom = zoom; exports.zoomTransform = transform; exports.zoomIdentity = identity; Object.defineProperty(exports, '__esModule', { value: true }); }))); PK�}�\O��,�"�"d3-zoom.min.jsnu�[���// https://d3js.org/d3-zoom/ v1.7.3 Copyright 2018 Mike Bostock !function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("d3-selection"),require("d3-dispatch"),require("d3-drag"),require("d3-interpolate"),require("d3-transition")):"function"==typeof define&&define.amd?define(["exports","d3-selection","d3-dispatch","d3-drag","d3-interpolate","d3-transition"],n):n(t.d3=t.d3||{},t.d3,t.d3,t.d3,t.d3,t.d3)}(this,function(t,n,e,o,i,r){"use strict";function u(t){return function(){return t}}function h(t,n,e){this.target=t,this.type=n,this.transform=e}function s(t,n,e){this.k=t,this.x=n,this.y=e}s.prototype={constructor:s,scale:function(t){return 1===t?this:new s(this.k*t,this.x,this.y)},translate:function(t,n){return 0===t&0===n?this:new s(this.k,this.x+this.k*t,this.y+this.k*n)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var c=new s(1,0,0);function a(t){return t.__zoom||c}function f(){n.event.stopImmediatePropagation()}function l(){n.event.preventDefault(),n.event.stopImmediatePropagation()}function m(){return!n.event.button}function p(){var t,n,e=this;return e instanceof SVGElement?(t=(e=e.ownerSVGElement||e).width.baseVal.value,n=e.height.baseVal.value):(t=e.clientWidth,n=e.clientHeight),[[0,0],[t,n]]}function d(){return this.__zoom||c}function v(){return-n.event.deltaY*(n.event.deltaMode?120:1)/500}function y(){return"ontouchstart"in this}function z(t,n,e){var o=t.invertX(n[0][0])-e[0][0],i=t.invertX(n[1][0])-e[1][0],r=t.invertY(n[0][1])-e[0][1],u=t.invertY(n[1][1])-e[1][1];return t.translate(i>o?(o+i)/2:Math.min(0,o)||Math.max(0,i),u>r?(r+u)/2:Math.min(0,r)||Math.max(0,u))}a.prototype=s.prototype,t.zoom=function(){var t,a,_=m,g=p,k=z,x=v,w=y,M=[0,1/0],T=[[-1/0,-1/0],[1/0,1/0]],b=250,Y=i.interpolateZoom,X=[],q=e.dispatch("start","zoom","end"),E=500,D=150,V=0;function I(t){t.property("__zoom",d).on("wheel.zoom",K).on("mousedown.zoom",O).on("dblclick.zoom",W).filter(w).on("touchstart.zoom",Z).on("touchmove.zoom",A).on("touchend.zoom touchcancel.zoom",C).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function P(t,n){return(n=Math.max(M[0],Math.min(M[1],n)))===t.k?t:new s(n,t.x,t.y)}function S(t,n,e){var o=n[0]-e[0]*t.k,i=n[1]-e[1]*t.k;return o===t.x&&i===t.y?t:new s(t.k,o,i)}function j(t){return[(+t[0][0]+ +t[1][0])/2,(+t[0][1]+ +t[1][1])/2]}function B(t,n,e){t.on("start.zoom",function(){G(this,arguments).start()}).on("interrupt.zoom end.zoom",function(){G(this,arguments).end()}).tween("zoom",function(){var t=arguments,o=G(this,t),i=g.apply(this,t),r=e||j(i),u=Math.max(i[1][0]-i[0][0],i[1][1]-i[0][1]),h=this.__zoom,c="function"==typeof n?n.apply(this,t):n,a=Y(h.invert(r).concat(u/h.k),c.invert(r).concat(u/c.k));return function(t){if(1===t)t=c;else{var n=a(t),e=u/n[2];t=new s(e,r[0]-n[0]*e,r[1]-n[1]*e)}o.zoom(null,t)}})}function G(t,n){for(var e,o=0,i=X.length;o<i;++o)if((e=X[o]).that===t)return e;return new H(t,n)}function H(t,n){this.that=t,this.args=n,this.index=-1,this.active=0,this.extent=g.apply(t,n)}function K(){if(_.apply(this,arguments)){var t=G(this,arguments),e=this.__zoom,o=Math.max(M[0],Math.min(M[1],e.k*Math.pow(2,x.apply(this,arguments)))),i=n.mouse(this);if(t.wheel)t.mouse[0][0]===i[0]&&t.mouse[0][1]===i[1]||(t.mouse[1]=e.invert(t.mouse[0]=i)),clearTimeout(t.wheel);else{if(e.k===o)return;t.mouse=[i,e.invert(i)],r.interrupt(this),t.start()}l(),t.wheel=setTimeout(function(){t.wheel=null,t.end()},D),t.zoom("mouse",k(S(P(e,o),t.mouse[0],t.mouse[1]),t.extent,T))}}function O(){if(!a&&_.apply(this,arguments)){var t=G(this,arguments),e=n.select(n.event.view).on("mousemove.zoom",function(){if(l(),!t.moved){var e=n.event.clientX-u,o=n.event.clientY-h;t.moved=e*e+o*o>V}t.zoom("mouse",k(S(t.that.__zoom,t.mouse[0]=n.mouse(t.that),t.mouse[1]),t.extent,T))},!0).on("mouseup.zoom",function(){e.on("mousemove.zoom mouseup.zoom",null),o.dragEnable(n.event.view,t.moved),l(),t.end()},!0),i=n.mouse(this),u=n.event.clientX,h=n.event.clientY;o.dragDisable(n.event.view),f(),t.mouse=[i,this.__zoom.invert(i)],r.interrupt(this),t.start()}}function W(){if(_.apply(this,arguments)){var t=this.__zoom,e=n.mouse(this),o=t.invert(e),i=t.k*(n.event.shiftKey?.5:2),r=k(S(P(t,i),e,o),g.apply(this,arguments),T);l(),b>0?n.select(this).transition().duration(b).call(B,r,e):n.select(this).call(I.transform,r)}}function Z(){if(_.apply(this,arguments)){var e,o,i,u,h=G(this,arguments),s=n.event.changedTouches,c=s.length;for(f(),o=0;o<c;++o)i=s[o],u=[u=n.touch(this,s,i.identifier),this.__zoom.invert(u),i.identifier],h.touch0?h.touch1||(h.touch1=u):(h.touch0=u,e=!0);if(t&&(t=clearTimeout(t),!h.touch1))return h.end(),void((u=n.select(this).on("dblclick.zoom"))&&u.apply(this,arguments));e&&(t=setTimeout(function(){t=null},E),r.interrupt(this),h.start())}}function A(){var e,o,i,r,u=G(this,arguments),h=n.event.changedTouches,s=h.length;for(l(),t&&(t=clearTimeout(t)),e=0;e<s;++e)o=h[e],i=n.touch(this,h,o.identifier),u.touch0&&u.touch0[2]===o.identifier?u.touch0[0]=i:u.touch1&&u.touch1[2]===o.identifier&&(u.touch1[0]=i);if(o=u.that.__zoom,u.touch1){var c=u.touch0[0],a=u.touch0[1],f=u.touch1[0],m=u.touch1[1],p=(p=f[0]-c[0])*p+(p=f[1]-c[1])*p,d=(d=m[0]-a[0])*d+(d=m[1]-a[1])*d;o=P(o,Math.sqrt(p/d)),i=[(c[0]+f[0])/2,(c[1]+f[1])/2],r=[(a[0]+m[0])/2,(a[1]+m[1])/2]}else{if(!u.touch0)return;i=u.touch0[0],r=u.touch0[1]}u.zoom("touch",k(S(o,i,r),u.extent,T))}function C(){var t,e,o=G(this,arguments),i=n.event.changedTouches,r=i.length;for(f(),a&&clearTimeout(a),a=setTimeout(function(){a=null},E),t=0;t<r;++t)e=i[t],o.touch0&&o.touch0[2]===e.identifier?delete o.touch0:o.touch1&&o.touch1[2]===e.identifier&&delete o.touch1;o.touch1&&!o.touch0&&(o.touch0=o.touch1,delete o.touch1),o.touch0?o.touch0[1]=this.__zoom.invert(o.touch0[0]):o.end()}return I.transform=function(t,n){var e=t.selection?t.selection():t;e.property("__zoom",d),t!==e?B(t,n):e.interrupt().each(function(){G(this,arguments).start().zoom(null,"function"==typeof n?n.apply(this,arguments):n).end()})},I.scaleBy=function(t,n){I.scaleTo(t,function(){return this.__zoom.k*("function"==typeof n?n.apply(this,arguments):n)})},I.scaleTo=function(t,n){I.transform(t,function(){var t=g.apply(this,arguments),e=this.__zoom,o=j(t),i=e.invert(o),r="function"==typeof n?n.apply(this,arguments):n;return k(S(P(e,r),o,i),t,T)})},I.translateBy=function(t,n,e){I.transform(t,function(){return k(this.__zoom.translate("function"==typeof n?n.apply(this,arguments):n,"function"==typeof e?e.apply(this,arguments):e),g.apply(this,arguments),T)})},I.translateTo=function(t,n,e){I.transform(t,function(){var t=g.apply(this,arguments),o=this.__zoom,i=j(t);return k(c.translate(i[0],i[1]).scale(o.k).translate("function"==typeof n?-n.apply(this,arguments):-n,"function"==typeof e?-e.apply(this,arguments):-e),t,T)})},H.prototype={start:function(){return 1==++this.active&&(this.index=X.push(this)-1,this.emit("start")),this},zoom:function(t,n){return this.mouse&&"mouse"!==t&&(this.mouse[1]=n.invert(this.mouse[0])),this.touch0&&"touch"!==t&&(this.touch0[1]=n.invert(this.touch0[0])),this.touch1&&"touch"!==t&&(this.touch1[1]=n.invert(this.touch1[0])),this.that.__zoom=n,this.emit("zoom"),this},end:function(){return 0==--this.active&&(X.splice(this.index,1),this.index=-1,this.emit("end")),this},emit:function(t){n.customEvent(new h(I,t,this.that.__zoom),q.apply,q,[t,this.that,this.args])}},I.wheelDelta=function(t){return arguments.length?(x="function"==typeof t?t:u(+t),I):x},I.filter=function(t){return arguments.length?(_="function"==typeof t?t:u(!!t),I):_},I.touchable=function(t){return arguments.length?(w="function"==typeof t?t:u(!!t),I):w},I.extent=function(t){return arguments.length?(g="function"==typeof t?t:u([[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]]),I):g},I.scaleExtent=function(t){return arguments.length?(M[0]=+t[0],M[1]=+t[1],I):[M[0],M[1]]},I.translateExtent=function(t){return arguments.length?(T[0][0]=+t[0][0],T[1][0]=+t[1][0],T[0][1]=+t[0][1],T[1][1]=+t[1][1],I):[[T[0][0],T[0][1]],[T[1][0],T[1][1]]]},I.constrain=function(t){return arguments.length?(k=t,I):k},I.duration=function(t){return arguments.length?(b=+t,I):b},I.interpolate=function(t){return arguments.length?(Y=t,I):Y},I.on=function(){var t=q.on.apply(q,arguments);return t===q?I:t},I.clickDistance=function(t){return arguments.length?(V=(t=+t)*t,I):Math.sqrt(V)},I},t.zoomTransform=a,t.zoomIdentity=c,Object.defineProperty(t,"__esModule",{value:!0})}); PK�}�\H�dZd d js/select2.min.jsnu�[���/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof module&&module.exports?module.exports=function(b,c){return void 0===c&&(c="undefined"!=typeof window?require("jquery"):require("jquery")(b)),a(c),c}:a(jQuery)}(function(a){var b=function(){if(a&&a.fn&&a.fn.select2&&a.fn.select2.amd)var b=a.fn.select2.amd;var b;return function(){if(!b||!b.requirejs){b?c=b:b={};var a,c,d;!function(b){function e(a,b){return v.call(a,b)}function f(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o=b&&b.split("/"),p=t.map,q=p&&p["*"]||{};if(a){for(a=a.split("/"),g=a.length-1,t.nodeIdCompat&&x.test(a[g])&&(a[g]=a[g].replace(x,"")),"."===a[0].charAt(0)&&o&&(n=o.slice(0,o.length-1),a=n.concat(a)),k=0;k<a.length;k++)if("."===(m=a[k]))a.splice(k,1),k-=1;else if(".."===m){if(0===k||1===k&&".."===a[2]||".."===a[k-1])continue;k>0&&(a.splice(k-1,2),k-=2)}a=a.join("/")}if((o||q)&&p){for(c=a.split("/"),k=c.length;k>0;k-=1){if(d=c.slice(0,k).join("/"),o)for(l=o.length;l>0;l-=1)if((e=p[o.slice(0,l).join("/")])&&(e=e[d])){f=e,h=k;break}if(f)break;!i&&q&&q[d]&&(i=q[d],j=k)}!f&&i&&(f=i,h=j),f&&(c.splice(0,h,f),a=c.join("/"))}return a}function g(a,c){return function(){var d=w.call(arguments,0);return"string"!=typeof d[0]&&1===d.length&&d.push(null),o.apply(b,d.concat([a,c]))}}function h(a){return function(b){return f(b,a)}}function i(a){return function(b){r[a]=b}}function j(a){if(e(s,a)){var c=s[a];delete s[a],u[a]=!0,n.apply(b,c)}if(!e(r,a)&&!e(u,a))throw new Error("No "+a);return r[a]}function k(a){var b,c=a?a.indexOf("!"):-1;return c>-1&&(b=a.substring(0,c),a=a.substring(c+1,a.length)),[b,a]}function l(a){return a?k(a):[]}function m(a){return function(){return t&&t.config&&t.config[a]||{}}}var n,o,p,q,r={},s={},t={},u={},v=Object.prototype.hasOwnProperty,w=[].slice,x=/\.js$/;p=function(a,b){var c,d=k(a),e=d[0],g=b[1];return a=d[1],e&&(e=f(e,g),c=j(e)),e?a=c&&c.normalize?c.normalize(a,h(g)):f(a,g):(a=f(a,g),d=k(a),e=d[0],a=d[1],e&&(c=j(e))),{f:e?e+"!"+a:a,n:a,pr:e,p:c}},q={require:function(a){return g(a)},exports:function(a){var b=r[a];return void 0!==b?b:r[a]={}},module:function(a){return{id:a,uri:"",exports:r[a],config:m(a)}}},n=function(a,c,d,f){var h,k,m,n,o,t,v,w=[],x=typeof d;if(f=f||a,t=l(f),"undefined"===x||"function"===x){for(c=!c.length&&d.length?["require","exports","module"]:c,o=0;o<c.length;o+=1)if(n=p(c[o],t),"require"===(k=n.f))w[o]=q.require(a);else if("exports"===k)w[o]=q.exports(a),v=!0;else if("module"===k)h=w[o]=q.module(a);else if(e(r,k)||e(s,k)||e(u,k))w[o]=j(k);else{if(!n.p)throw new Error(a+" missing "+k);n.p.load(n.n,g(f,!0),i(k),{}),w[o]=r[k]}m=d?d.apply(r[a],w):void 0,a&&(h&&h.exports!==b&&h.exports!==r[a]?r[a]=h.exports:m===b&&v||(r[a]=m))}else a&&(r[a]=d)},a=c=o=function(a,c,d,e,f){if("string"==typeof a)return q[a]?q[a](c):j(p(a,l(c)).f);if(!a.splice){if(t=a,t.deps&&o(t.deps,t.callback),!c)return;c.splice?(a=c,c=d,d=null):a=b}return c=c||function(){},"function"==typeof d&&(d=e,e=f),e?n(b,a,c,d):setTimeout(function(){n(b,a,c,d)},4),o},o.config=function(a){return o(a)},a._defined=r,d=function(a,b,c){if("string"!=typeof a)throw new Error("See almond README: incorrect module build, no module name");b.splice||(c=b,b=[]),e(r,a)||e(s,a)||(s[a]=[a,b,c])},d.amd={jQuery:!0}}(),b.requirejs=a,b.require=c,b.define=d}}(),b.define("almond",function(){}),b.define("jquery",[],function(){var b=a||$;return null==b&&console&&console.error&&console.error("Select2: An instance of jQuery or a jQuery-compatible library was not found. Make sure that you are including jQuery before Select2 on your web page."),b}),b.define("select2/utils",["jquery"],function(a){function b(a){var b=a.prototype,c=[];for(var d in b){"function"==typeof b[d]&&("constructor"!==d&&c.push(d))}return c}var c={};c.Extend=function(a,b){function c(){this.constructor=a}var d={}.hasOwnProperty;for(var e in b)d.call(b,e)&&(a[e]=b[e]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},c.Decorate=function(a,c){function d(){var b=Array.prototype.unshift,d=c.prototype.constructor.length,e=a.prototype.constructor;d>0&&(b.call(arguments,a.prototype.constructor),e=c.prototype.constructor),e.apply(this,arguments)}function e(){this.constructor=d}var f=b(c),g=b(a);c.displayName=a.displayName,d.prototype=new e;for(var h=0;h<g.length;h++){var i=g[h];d.prototype[i]=a.prototype[i]}for(var j=(function(a){var b=function(){};a in d.prototype&&(b=d.prototype[a]);var e=c.prototype[a];return function(){return Array.prototype.unshift.call(arguments,b),e.apply(this,arguments)}}),k=0;k<f.length;k++){var l=f[k];d.prototype[l]=j(l)}return d};var d=function(){this.listeners={}};d.prototype.on=function(a,b){this.listeners=this.listeners||{},a in this.listeners?this.listeners[a].push(b):this.listeners[a]=[b]},d.prototype.trigger=function(a){var b=Array.prototype.slice,c=b.call(arguments,1);this.listeners=this.listeners||{},null==c&&(c=[]),0===c.length&&c.push({}),c[0]._type=a,a in this.listeners&&this.invoke(this.listeners[a],b.call(arguments,1)),"*"in this.listeners&&this.invoke(this.listeners["*"],arguments)},d.prototype.invoke=function(a,b){for(var c=0,d=a.length;c<d;c++)a[c].apply(this,b)},c.Observable=d,c.generateChars=function(a){for(var b="",c=0;c<a;c++){b+=Math.floor(36*Math.random()).toString(36)}return b},c.bind=function(a,b){return function(){a.apply(b,arguments)}},c._convertData=function(a){for(var b in a){var c=b.split("-"),d=a;if(1!==c.length){for(var e=0;e<c.length;e++){var f=c[e];f=f.substring(0,1).toLowerCase()+f.substring(1),f in d||(d[f]={}),e==c.length-1&&(d[f]=a[b]),d=d[f]}delete a[b]}}return a},c.hasScroll=function(b,c){var d=a(c),e=c.style.overflowX,f=c.style.overflowY;return(e!==f||"hidden"!==f&&"visible"!==f)&&("scroll"===e||"scroll"===f||(d.innerHeight()<c.scrollHeight||d.innerWidth()<c.scrollWidth))},c.escapeMarkup=function(a){var b={"\\":"\","&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};return"string"!=typeof a?a:String(a).replace(/[&<>"'\/\\]/g,function(a){return b[a]})},c.appendMany=function(b,c){if("1.7"===a.fn.jquery.substr(0,3)){var d=a();a.map(c,function(a){d=d.add(a)}),c=d}b.append(c)},c.__cache={};var e=0;return c.GetUniqueElementId=function(a){var b=a.getAttribute("data-select2-id");return null==b&&(a.id?(b=a.id,a.setAttribute("data-select2-id",b)):(a.setAttribute("data-select2-id",++e),b=e.toString())),b},c.StoreData=function(a,b,d){var e=c.GetUniqueElementId(a);c.__cache[e]||(c.__cache[e]={}),c.__cache[e][b]=d},c.GetData=function(b,d){var e=c.GetUniqueElementId(b);return d?c.__cache[e]&&null!=c.__cache[e][d]?c.__cache[e][d]:a(b).data(d):c.__cache[e]},c.RemoveData=function(a){var b=c.GetUniqueElementId(a);null!=c.__cache[b]&&delete c.__cache[b]},c}),b.define("select2/results",["jquery","./utils"],function(a,b){function c(a,b,d){this.$element=a,this.data=d,this.options=b,c.__super__.constructor.call(this)}return b.Extend(c,b.Observable),c.prototype.render=function(){var b=a('<ul class="select2-results__options" role="tree"></ul>');return this.options.get("multiple")&&b.attr("aria-multiselectable","true"),this.$results=b,b},c.prototype.clear=function(){this.$results.empty()},c.prototype.displayMessage=function(b){var c=this.options.get("escapeMarkup");this.clear(),this.hideLoading();var d=a('<li role="treeitem" aria-live="assertive" class="select2-results__option"></li>'),e=this.options.get("translations").get(b.message);d.append(c(e(b.args))),d[0].className+=" select2-results__message",this.$results.append(d)},c.prototype.hideMessages=function(){this.$results.find(".select2-results__message").remove()},c.prototype.append=function(a){this.hideLoading();var b=[];if(null==a.results||0===a.results.length)return void(0===this.$results.children().length&&this.trigger("results:message",{message:"noResults"}));a.results=this.sort(a.results);for(var c=0;c<a.results.length;c++){var d=a.results[c],e=this.option(d);b.push(e)}this.$results.append(b)},c.prototype.position=function(a,b){b.find(".select2-results").append(a)},c.prototype.sort=function(a){return this.options.get("sorter")(a)},c.prototype.highlightFirstItem=function(){var a=this.$results.find(".select2-results__option[aria-selected]"),b=a.filter("[aria-selected=true]");b.length>0?b.first().trigger("mouseenter"):a.first().trigger("mouseenter"),this.ensureHighlightVisible()},c.prototype.setClasses=function(){var c=this;this.data.current(function(d){var e=a.map(d,function(a){return a.id.toString()});c.$results.find(".select2-results__option[aria-selected]").each(function(){var c=a(this),d=b.GetData(this,"data"),f=""+d.id;null!=d.element&&d.element.selected||null==d.element&&a.inArray(f,e)>-1?c.attr("aria-selected","true"):c.attr("aria-selected","false")})})},c.prototype.showLoading=function(a){this.hideLoading();var b=this.options.get("translations").get("searching"),c={disabled:!0,loading:!0,text:b(a)},d=this.option(c);d.className+=" loading-results",this.$results.prepend(d)},c.prototype.hideLoading=function(){this.$results.find(".loading-results").remove()},c.prototype.option=function(c){var d=document.createElement("li");d.className="select2-results__option";var e={role:"treeitem","aria-selected":"false"};c.disabled&&(delete e["aria-selected"],e["aria-disabled"]="true"),null==c.id&&delete e["aria-selected"],null!=c._resultId&&(d.id=c._resultId),c.title&&(d.title=c.title),c.children&&(e.role="group",e["aria-label"]=c.text,delete e["aria-selected"]);for(var f in e){var g=e[f];d.setAttribute(f,g)}if(c.children){var h=a(d),i=document.createElement("strong");i.className="select2-results__group";a(i);this.template(c,i);for(var j=[],k=0;k<c.children.length;k++){var l=c.children[k],m=this.option(l);j.push(m)}var n=a("<ul></ul>",{class:"select2-results__options select2-results__options--nested"});n.append(j),h.append(i),h.append(n)}else this.template(c,d);return b.StoreData(d,"data",c),d},c.prototype.bind=function(c,d){var e=this,f=c.id+"-results";this.$results.attr("id",f),c.on("results:all",function(a){e.clear(),e.append(a.data),c.isOpen()&&(e.setClasses(),e.highlightFirstItem())}),c.on("results:append",function(a){e.append(a.data),c.isOpen()&&e.setClasses()}),c.on("query",function(a){e.hideMessages(),e.showLoading(a)}),c.on("select",function(){c.isOpen()&&(e.setClasses(),e.highlightFirstItem())}),c.on("unselect",function(){c.isOpen()&&(e.setClasses(),e.highlightFirstItem())}),c.on("open",function(){e.$results.attr("aria-expanded","true"),e.$results.attr("aria-hidden","false"),e.setClasses(),e.ensureHighlightVisible()}),c.on("close",function(){e.$results.attr("aria-expanded","false"),e.$results.attr("aria-hidden","true"),e.$results.removeAttr("aria-activedescendant")}),c.on("results:toggle",function(){var a=e.getHighlightedResults();0!==a.length&&a.trigger("mouseup")}),c.on("results:select",function(){var a=e.getHighlightedResults();if(0!==a.length){var c=b.GetData(a[0],"data");"true"==a.attr("aria-selected")?e.trigger("close",{}):e.trigger("select",{data:c})}}),c.on("results:previous",function(){var a=e.getHighlightedResults(),b=e.$results.find("[aria-selected]"),c=b.index(a);if(!(c<=0)){var d=c-1;0===a.length&&(d=0);var f=b.eq(d);f.trigger("mouseenter");var g=e.$results.offset().top,h=f.offset().top,i=e.$results.scrollTop()+(h-g);0===d?e.$results.scrollTop(0):h-g<0&&e.$results.scrollTop(i)}}),c.on("results:next",function(){var a=e.getHighlightedResults(),b=e.$results.find("[aria-selected]"),c=b.index(a),d=c+1;if(!(d>=b.length)){var f=b.eq(d);f.trigger("mouseenter");var g=e.$results.offset().top+e.$results.outerHeight(!1),h=f.offset().top+f.outerHeight(!1),i=e.$results.scrollTop()+h-g;0===d?e.$results.scrollTop(0):h>g&&e.$results.scrollTop(i)}}),c.on("results:focus",function(a){a.element.addClass("select2-results__option--highlighted")}),c.on("results:message",function(a){e.displayMessage(a)}),a.fn.mousewheel&&this.$results.on("mousewheel",function(a){var b=e.$results.scrollTop(),c=e.$results.get(0).scrollHeight-b+a.deltaY,d=a.deltaY>0&&b-a.deltaY<=0,f=a.deltaY<0&&c<=e.$results.height();d?(e.$results.scrollTop(0),a.preventDefault(),a.stopPropagation()):f&&(e.$results.scrollTop(e.$results.get(0).scrollHeight-e.$results.height()),a.preventDefault(),a.stopPropagation())}),this.$results.on("mouseup",".select2-results__option[aria-selected]",function(c){var d=a(this),f=b.GetData(this,"data");if("true"===d.attr("aria-selected"))return void(e.options.get("multiple")?e.trigger("unselect",{originalEvent:c,data:f}):e.trigger("close",{}));e.trigger("select",{originalEvent:c,data:f})}),this.$results.on("mouseenter",".select2-results__option[aria-selected]",function(c){var d=b.GetData(this,"data");e.getHighlightedResults().removeClass("select2-results__option--highlighted"),e.trigger("results:focus",{data:d,element:a(this)})})},c.prototype.getHighlightedResults=function(){return this.$results.find(".select2-results__option--highlighted")},c.prototype.destroy=function(){this.$results.remove()},c.prototype.ensureHighlightVisible=function(){var a=this.getHighlightedResults();if(0!==a.length){var b=this.$results.find("[aria-selected]"),c=b.index(a),d=this.$results.offset().top,e=a.offset().top,f=this.$results.scrollTop()+(e-d),g=e-d;f-=2*a.outerHeight(!1),c<=2?this.$results.scrollTop(0):(g>this.$results.outerHeight()||g<0)&&this.$results.scrollTop(f)}},c.prototype.template=function(b,c){var d=this.options.get("templateResult"),e=this.options.get("escapeMarkup"),f=d(b,c);null==f?c.style.display="none":"string"==typeof f?c.innerHTML=e(f):a(c).append(f)},c}),b.define("select2/keys",[],function(){return{BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46}}),b.define("select2/selection/base",["jquery","../utils","../keys"],function(a,b,c){function d(a,b){this.$element=a,this.options=b,d.__super__.constructor.call(this)}return b.Extend(d,b.Observable),d.prototype.render=function(){var c=a('<span class="select2-selection" role="combobox" aria-haspopup="true" aria-expanded="false"></span>');return this._tabindex=0,null!=b.GetData(this.$element[0],"old-tabindex")?this._tabindex=b.GetData(this.$element[0],"old-tabindex"):null!=this.$element.attr("tabindex")&&(this._tabindex=this.$element.attr("tabindex")),c.attr("title",this.$element.attr("title")),c.attr("tabindex",this._tabindex),this.$selection=c,c},d.prototype.bind=function(a,b){var d=this,e=(a.id,a.id+"-results");this.container=a,this.$selection.on("focus",function(a){d.trigger("focus",a)}),this.$selection.on("blur",function(a){d._handleBlur(a)}),this.$selection.on("keydown",function(a){d.trigger("keypress",a),a.which===c.SPACE&&a.preventDefault()}),a.on("results:focus",function(a){d.$selection.attr("aria-activedescendant",a.data._resultId)}),a.on("selection:update",function(a){d.update(a.data)}),a.on("open",function(){d.$selection.attr("aria-expanded","true"),d.$selection.attr("aria-owns",e),d._attachCloseHandler(a)}),a.on("close",function(){d.$selection.attr("aria-expanded","false"),d.$selection.removeAttr("aria-activedescendant"),d.$selection.removeAttr("aria-owns"),d.$selection.focus(),window.setTimeout(function(){d.$selection.focus()},0),d._detachCloseHandler(a)}),a.on("enable",function(){d.$selection.attr("tabindex",d._tabindex)}),a.on("disable",function(){d.$selection.attr("tabindex","-1")})},d.prototype._handleBlur=function(b){var c=this;window.setTimeout(function(){document.activeElement==c.$selection[0]||a.contains(c.$selection[0],document.activeElement)||c.trigger("blur",b)},1)},d.prototype._attachCloseHandler=function(c){a(document.body).on("mousedown.select2."+c.id,function(c){var d=a(c.target),e=d.closest(".select2");a(".select2.select2-container--open").each(function(){a(this),this!=e[0]&&b.GetData(this,"element").select2("close")})})},d.prototype._detachCloseHandler=function(b){a(document.body).off("mousedown.select2."+b.id)},d.prototype.position=function(a,b){b.find(".selection").append(a)},d.prototype.destroy=function(){this._detachCloseHandler(this.container)},d.prototype.update=function(a){throw new Error("The `update` method must be defined in child classes.")},d}),b.define("select2/selection/single",["jquery","./base","../utils","../keys"],function(a,b,c,d){function e(){e.__super__.constructor.apply(this,arguments)}return c.Extend(e,b),e.prototype.render=function(){var a=e.__super__.render.call(this);return a.addClass("select2-selection--single"),a.html('<span class="select2-selection__rendered"></span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span>'),a},e.prototype.bind=function(a,b){var c=this;e.__super__.bind.apply(this,arguments);var d=a.id+"-container";this.$selection.find(".select2-selection__rendered").attr("id",d).attr("role","textbox").attr("aria-readonly","true"),this.$selection.attr("aria-labelledby",d),this.$selection.on("mousedown",function(a){1===a.which&&c.trigger("toggle",{originalEvent:a})}),this.$selection.on("focus",function(a){}),this.$selection.on("blur",function(a){}),a.on("focus",function(b){a.isOpen()||c.$selection.focus()})},e.prototype.clear=function(){var a=this.$selection.find(".select2-selection__rendered");a.empty(),a.removeAttr("title")},e.prototype.display=function(a,b){var c=this.options.get("templateSelection");return this.options.get("escapeMarkup")(c(a,b))},e.prototype.selectionContainer=function(){return a("<span></span>")},e.prototype.update=function(a){if(0===a.length)return void this.clear();var b=a[0],c=this.$selection.find(".select2-selection__rendered"),d=this.display(b,c);c.empty().append(d),c.attr("title",b.title||b.text)},e}),b.define("select2/selection/multiple",["jquery","./base","../utils"],function(a,b,c){function d(a,b){d.__super__.constructor.apply(this,arguments)}return c.Extend(d,b),d.prototype.render=function(){var a=d.__super__.render.call(this);return a.addClass("select2-selection--multiple"),a.html('<ul class="select2-selection__rendered"></ul>'),a},d.prototype.bind=function(b,e){var f=this;d.__super__.bind.apply(this,arguments),this.$selection.on("click",function(a){f.trigger("toggle",{originalEvent:a})}),this.$selection.on("click",".select2-selection__choice__remove",function(b){if(!f.options.get("disabled")){var d=a(this),e=d.parent(),g=c.GetData(e[0],"data");f.trigger("unselect",{originalEvent:b,data:g})}})},d.prototype.clear=function(){var a=this.$selection.find(".select2-selection__rendered");a.empty(),a.removeAttr("title")},d.prototype.display=function(a,b){var c=this.options.get("templateSelection");return this.options.get("escapeMarkup")(c(a,b))},d.prototype.selectionContainer=function(){return a('<li class="select2-selection__choice"><span class="select2-selection__choice__remove" role="presentation">×</span></li>')},d.prototype.update=function(a){if(this.clear(),0!==a.length){for(var b=[],d=0;d<a.length;d++){var e=a[d],f=this.selectionContainer(),g=this.display(e,f);f.append(g),f.attr("title",e.title||e.text),c.StoreData(f[0],"data",e),b.push(f)}var h=this.$selection.find(".select2-selection__rendered");c.appendMany(h,b)}},d}),b.define("select2/selection/placeholder",["../utils"],function(a){function b(a,b,c){this.placeholder=this.normalizePlaceholder(c.get("placeholder")),a.call(this,b,c)}return b.prototype.normalizePlaceholder=function(a,b){return"string"==typeof b&&(b={id:"",text:b}),b},b.prototype.createPlaceholder=function(a,b){var c=this.selectionContainer();return c.html(this.display(b)),c.addClass("select2-selection__placeholder").removeClass("select2-selection__choice"),c},b.prototype.update=function(a,b){var c=1==b.length&&b[0].id!=this.placeholder.id;if(b.length>1||c)return a.call(this,b);this.clear();var d=this.createPlaceholder(this.placeholder);this.$selection.find(".select2-selection__rendered").append(d)},b}),b.define("select2/selection/allowClear",["jquery","../keys","../utils"],function(a,b,c){function d(){}return d.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),null==this.placeholder&&this.options.get("debug")&&window.console&&console.error&&console.error("Select2: The `allowClear` option should be used in combination with the `placeholder` option."),this.$selection.on("mousedown",".select2-selection__clear",function(a){d._handleClear(a)}),b.on("keypress",function(a){d._handleKeyboardClear(a,b)})},d.prototype._handleClear=function(a,b){if(!this.options.get("disabled")){var d=this.$selection.find(".select2-selection__clear");if(0!==d.length){b.stopPropagation();var e=c.GetData(d[0],"data"),f=this.$element.val();this.$element.val(this.placeholder.id);var g={data:e};if(this.trigger("clear",g),g.prevented)return void this.$element.val(f);for(var h=0;h<e.length;h++)if(g={data:e[h]},this.trigger("unselect",g),g.prevented)return void this.$element.val(f);this.$element.trigger("change"),this.trigger("toggle",{})}}},d.prototype._handleKeyboardClear=function(a,c,d){d.isOpen()||c.which!=b.DELETE&&c.which!=b.BACKSPACE||this._handleClear(c)},d.prototype.update=function(b,d){if(b.call(this,d),!(this.$selection.find(".select2-selection__placeholder").length>0||0===d.length)){var e=a('<span class="select2-selection__clear">×</span>');c.StoreData(e[0],"data",d),this.$selection.find(".select2-selection__rendered").prepend(e)}},d}),b.define("select2/selection/search",["jquery","../utils","../keys"],function(a,b,c){function d(a,b,c){a.call(this,b,c)}return d.prototype.render=function(b){var c=a('<li class="select2-search select2-search--inline"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="textbox" aria-autocomplete="list" /></li>');this.$searchContainer=c,this.$search=c.find("input");var d=b.call(this);return this._transferTabIndex(),d},d.prototype.bind=function(a,d,e){var f=this;a.call(this,d,e),d.on("open",function(){f.$search.trigger("focus")}),d.on("close",function(){f.$search.val(""),f.$search.removeAttr("aria-activedescendant"),f.$search.trigger("focus")}),d.on("enable",function(){f.$search.prop("disabled",!1),f._transferTabIndex()}),d.on("disable",function(){f.$search.prop("disabled",!0)}),d.on("focus",function(a){f.$search.trigger("focus")}),d.on("results:focus",function(a){f.$search.attr("aria-activedescendant",a.id)}),this.$selection.on("focusin",".select2-search--inline",function(a){f.trigger("focus",a)}),this.$selection.on("focusout",".select2-search--inline",function(a){f._handleBlur(a)}),this.$selection.on("keydown",".select2-search--inline",function(a){if(a.stopPropagation(),f.trigger("keypress",a),f._keyUpPrevented=a.isDefaultPrevented(),a.which===c.BACKSPACE&&""===f.$search.val()){var d=f.$searchContainer.prev(".select2-selection__choice");if(d.length>0){var e=b.GetData(d[0],"data");f.searchRemoveChoice(e),a.preventDefault()}}});var g=document.documentMode,h=g&&g<=11;this.$selection.on("input.searchcheck",".select2-search--inline",function(a){if(h)return void f.$selection.off("input.search input.searchcheck");f.$selection.off("keyup.search")}),this.$selection.on("keyup.search input.search",".select2-search--inline",function(a){if(h&&"input"===a.type)return void f.$selection.off("input.search input.searchcheck");var b=a.which;b!=c.SHIFT&&b!=c.CTRL&&b!=c.ALT&&b!=c.TAB&&f.handleSearch(a)})},d.prototype._transferTabIndex=function(a){this.$search.attr("tabindex",this.$selection.attr("tabindex")),this.$selection.attr("tabindex","-1")},d.prototype.createPlaceholder=function(a,b){this.$search.attr("placeholder",b.text)},d.prototype.update=function(a,b){var c=this.$search[0]==document.activeElement;if(this.$search.attr("placeholder",""),a.call(this,b),this.$selection.find(".select2-selection__rendered").append(this.$searchContainer),this.resizeSearch(),c){this.$element.find("[data-select2-tag]").length?this.$element.focus():this.$search.focus()}},d.prototype.handleSearch=function(){if(this.resizeSearch(),!this._keyUpPrevented){var a=this.$search.val();this.trigger("query",{term:a})}this._keyUpPrevented=!1},d.prototype.searchRemoveChoice=function(a,b){this.trigger("unselect",{data:b}),this.$search.val(b.text),this.handleSearch()},d.prototype.resizeSearch=function(){this.$search.css("width","25px");var a="";if(""!==this.$search.attr("placeholder"))a=this.$selection.find(".select2-selection__rendered").innerWidth();else{a=.75*(this.$search.val().length+1)+"em"}this.$search.css("width",a)},d}),b.define("select2/selection/eventRelay",["jquery"],function(a){function b(){}return b.prototype.bind=function(b,c,d){var e=this,f=["open","opening","close","closing","select","selecting","unselect","unselecting","clear","clearing"],g=["opening","closing","selecting","unselecting","clearing"];b.call(this,c,d),c.on("*",function(b,c){if(-1!==a.inArray(b,f)){c=c||{};var d=a.Event("select2:"+b,{params:c});e.$element.trigger(d),-1!==a.inArray(b,g)&&(c.prevented=d.isDefaultPrevented())}})},b}),b.define("select2/translation",["jquery","require"],function(a,b){function c(a){this.dict=a||{}}return c.prototype.all=function(){return this.dict},c.prototype.get=function(a){return this.dict[a]},c.prototype.extend=function(b){this.dict=a.extend({},b.all(),this.dict)},c._cache={},c.loadPath=function(a){if(!(a in c._cache)){var d=b(a);c._cache[a]=d}return new c(c._cache[a])},c}),b.define("select2/diacritics",[],function(){return{"Ⓐ":"A","A":"A","À":"A","Á":"A","Â":"A","Ầ":"A","Ấ":"A","Ẫ":"A","Ẩ":"A","Ã":"A","Ā":"A","Ă":"A","Ằ":"A","Ắ":"A","Ẵ":"A","Ẳ":"A","Ȧ":"A","Ǡ":"A","Ä":"A","Ǟ":"A","Ả":"A","Å":"A","Ǻ":"A","Ǎ":"A","Ȁ":"A","Ȃ":"A","Ạ":"A","Ậ":"A","Ặ":"A","Ḁ":"A","Ą":"A","Ⱥ":"A","Ɐ":"A","Ꜳ":"AA","Æ":"AE","Ǽ":"AE","Ǣ":"AE","Ꜵ":"AO","Ꜷ":"AU","Ꜹ":"AV","Ꜻ":"AV","Ꜽ":"AY","Ⓑ":"B","B":"B","Ḃ":"B","Ḅ":"B","Ḇ":"B","Ƀ":"B","Ƃ":"B","Ɓ":"B","Ⓒ":"C","C":"C","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","Ç":"C","Ḉ":"C","Ƈ":"C","Ȼ":"C","Ꜿ":"C","Ⓓ":"D","D":"D","Ḋ":"D","Ď":"D","Ḍ":"D","Ḑ":"D","Ḓ":"D","Ḏ":"D","Đ":"D","Ƌ":"D","Ɗ":"D","Ɖ":"D","Ꝺ":"D","DZ":"DZ","DŽ":"DZ","Dz":"Dz","Dž":"Dz","Ⓔ":"E","E":"E","È":"E","É":"E","Ê":"E","Ề":"E","Ế":"E","Ễ":"E","Ể":"E","Ẽ":"E","Ē":"E","Ḕ":"E","Ḗ":"E","Ĕ":"E","Ė":"E","Ë":"E","Ẻ":"E","Ě":"E","Ȅ":"E","Ȇ":"E","Ẹ":"E","Ệ":"E","Ȩ":"E","Ḝ":"E","Ę":"E","Ḙ":"E","Ḛ":"E","Ɛ":"E","Ǝ":"E","Ⓕ":"F","F":"F","Ḟ":"F","Ƒ":"F","Ꝼ":"F","Ⓖ":"G","G":"G","Ǵ":"G","Ĝ":"G","Ḡ":"G","Ğ":"G","Ġ":"G","Ǧ":"G","Ģ":"G","Ǥ":"G","Ɠ":"G","Ꞡ":"G","Ᵹ":"G","Ꝿ":"G","Ⓗ":"H","H":"H","Ĥ":"H","Ḣ":"H","Ḧ":"H","Ȟ":"H","Ḥ":"H","Ḩ":"H","Ḫ":"H","Ħ":"H","Ⱨ":"H","Ⱶ":"H","Ɥ":"H","Ⓘ":"I","I":"I","Ì":"I","Í":"I","Î":"I","Ĩ":"I","Ī":"I","Ĭ":"I","İ":"I","Ï":"I","Ḯ":"I","Ỉ":"I","Ǐ":"I","Ȉ":"I","Ȋ":"I","Ị":"I","Į":"I","Ḭ":"I","Ɨ":"I","Ⓙ":"J","J":"J","Ĵ":"J","Ɉ":"J","Ⓚ":"K","K":"K","Ḱ":"K","Ǩ":"K","Ḳ":"K","Ķ":"K","Ḵ":"K","Ƙ":"K","Ⱪ":"K","Ꝁ":"K","Ꝃ":"K","Ꝅ":"K","Ꞣ":"K","Ⓛ":"L","L":"L","Ŀ":"L","Ĺ":"L","Ľ":"L","Ḷ":"L","Ḹ":"L","Ļ":"L","Ḽ":"L","Ḻ":"L","Ł":"L","Ƚ":"L","Ɫ":"L","Ⱡ":"L","Ꝉ":"L","Ꝇ":"L","Ꞁ":"L","LJ":"LJ","Lj":"Lj","Ⓜ":"M","M":"M","Ḿ":"M","Ṁ":"M","Ṃ":"M","Ɱ":"M","Ɯ":"M","Ⓝ":"N","N":"N","Ǹ":"N","Ń":"N","Ñ":"N","Ṅ":"N","Ň":"N","Ṇ":"N","Ņ":"N","Ṋ":"N","Ṉ":"N","Ƞ":"N","Ɲ":"N","Ꞑ":"N","Ꞥ":"N","NJ":"NJ","Nj":"Nj","Ⓞ":"O","O":"O","Ò":"O","Ó":"O","Ô":"O","Ồ":"O","Ố":"O","Ỗ":"O","Ổ":"O","Õ":"O","Ṍ":"O","Ȭ":"O","Ṏ":"O","Ō":"O","Ṑ":"O","Ṓ":"O","Ŏ":"O","Ȯ":"O","Ȱ":"O","Ö":"O","Ȫ":"O","Ỏ":"O","Ő":"O","Ǒ":"O","Ȍ":"O","Ȏ":"O","Ơ":"O","Ờ":"O","Ớ":"O","Ỡ":"O","Ở":"O","Ợ":"O","Ọ":"O","Ộ":"O","Ǫ":"O","Ǭ":"O","Ø":"O","Ǿ":"O","Ɔ":"O","Ɵ":"O","Ꝋ":"O","Ꝍ":"O","Ƣ":"OI","Ꝏ":"OO","Ȣ":"OU","Ⓟ":"P","P":"P","Ṕ":"P","Ṗ":"P","Ƥ":"P","Ᵽ":"P","Ꝑ":"P","Ꝓ":"P","Ꝕ":"P","Ⓠ":"Q","Q":"Q","Ꝗ":"Q","Ꝙ":"Q","Ɋ":"Q","Ⓡ":"R","R":"R","Ŕ":"R","Ṙ":"R","Ř":"R","Ȑ":"R","Ȓ":"R","Ṛ":"R","Ṝ":"R","Ŗ":"R","Ṟ":"R","Ɍ":"R","Ɽ":"R","Ꝛ":"R","Ꞧ":"R","Ꞃ":"R","Ⓢ":"S","S":"S","ẞ":"S","Ś":"S","Ṥ":"S","Ŝ":"S","Ṡ":"S","Š":"S","Ṧ":"S","Ṣ":"S","Ṩ":"S","Ș":"S","Ş":"S","Ȿ":"S","Ꞩ":"S","Ꞅ":"S","Ⓣ":"T","T":"T","Ṫ":"T","Ť":"T","Ṭ":"T","Ț":"T","Ţ":"T","Ṱ":"T","Ṯ":"T","Ŧ":"T","Ƭ":"T","Ʈ":"T","Ⱦ":"T","Ꞇ":"T","Ꜩ":"TZ","Ⓤ":"U","U":"U","Ù":"U","Ú":"U","Û":"U","Ũ":"U","Ṹ":"U","Ū":"U","Ṻ":"U","Ŭ":"U","Ü":"U","Ǜ":"U","Ǘ":"U","Ǖ":"U","Ǚ":"U","Ủ":"U","Ů":"U","Ű":"U","Ǔ":"U","Ȕ":"U","Ȗ":"U","Ư":"U","Ừ":"U","Ứ":"U","Ữ":"U","Ử":"U","Ự":"U","Ụ":"U","Ṳ":"U","Ų":"U","Ṷ":"U","Ṵ":"U","Ʉ":"U","Ⓥ":"V","V":"V","Ṽ":"V","Ṿ":"V","Ʋ":"V","Ꝟ":"V","Ʌ":"V","Ꝡ":"VY","Ⓦ":"W","W":"W","Ẁ":"W","Ẃ":"W","Ŵ":"W","Ẇ":"W","Ẅ":"W","Ẉ":"W","Ⱳ":"W","Ⓧ":"X","X":"X","Ẋ":"X","Ẍ":"X","Ⓨ":"Y","Y":"Y","Ỳ":"Y","Ý":"Y","Ŷ":"Y","Ỹ":"Y","Ȳ":"Y","Ẏ":"Y","Ÿ":"Y","Ỷ":"Y","Ỵ":"Y","Ƴ":"Y","Ɏ":"Y","Ỿ":"Y","Ⓩ":"Z","Z":"Z","Ź":"Z","Ẑ":"Z","Ż":"Z","Ž":"Z","Ẓ":"Z","Ẕ":"Z","Ƶ":"Z","Ȥ":"Z","Ɀ":"Z","Ⱬ":"Z","Ꝣ":"Z","ⓐ":"a","a":"a","ẚ":"a","à":"a","á":"a","â":"a","ầ":"a","ấ":"a","ẫ":"a","ẩ":"a","ã":"a","ā":"a","ă":"a","ằ":"a","ắ":"a","ẵ":"a","ẳ":"a","ȧ":"a","ǡ":"a","ä":"a","ǟ":"a","ả":"a","å":"a","ǻ":"a","ǎ":"a","ȁ":"a","ȃ":"a","ạ":"a","ậ":"a","ặ":"a","ḁ":"a","ą":"a","ⱥ":"a","ɐ":"a","ꜳ":"aa","æ":"ae","ǽ":"ae","ǣ":"ae","ꜵ":"ao","ꜷ":"au","ꜹ":"av","ꜻ":"av","ꜽ":"ay","ⓑ":"b","b":"b","ḃ":"b","ḅ":"b","ḇ":"b","ƀ":"b","ƃ":"b","ɓ":"b","ⓒ":"c","c":"c","ć":"c","ĉ":"c","ċ":"c","č":"c","ç":"c","ḉ":"c","ƈ":"c","ȼ":"c","ꜿ":"c","ↄ":"c","ⓓ":"d","d":"d","ḋ":"d","ď":"d","ḍ":"d","ḑ":"d","ḓ":"d","ḏ":"d","đ":"d","ƌ":"d","ɖ":"d","ɗ":"d","ꝺ":"d","dz":"dz","dž":"dz","ⓔ":"e","e":"e","è":"e","é":"e","ê":"e","ề":"e","ế":"e","ễ":"e","ể":"e","ẽ":"e","ē":"e","ḕ":"e","ḗ":"e","ĕ":"e","ė":"e","ë":"e","ẻ":"e","ě":"e","ȅ":"e","ȇ":"e","ẹ":"e","ệ":"e","ȩ":"e","ḝ":"e","ę":"e","ḙ":"e","ḛ":"e","ɇ":"e","ɛ":"e","ǝ":"e","ⓕ":"f","f":"f","ḟ":"f","ƒ":"f","ꝼ":"f","ⓖ":"g","g":"g","ǵ":"g","ĝ":"g","ḡ":"g","ğ":"g","ġ":"g","ǧ":"g","ģ":"g","ǥ":"g","ɠ":"g","ꞡ":"g","ᵹ":"g","ꝿ":"g","ⓗ":"h","h":"h","ĥ":"h","ḣ":"h","ḧ":"h","ȟ":"h","ḥ":"h","ḩ":"h","ḫ":"h","ẖ":"h","ħ":"h","ⱨ":"h","ⱶ":"h","ɥ":"h","ƕ":"hv","ⓘ":"i","i":"i","ì":"i","í":"i","î":"i","ĩ":"i","ī":"i","ĭ":"i","ï":"i","ḯ":"i","ỉ":"i","ǐ":"i","ȉ":"i","ȋ":"i","ị":"i","į":"i","ḭ":"i","ɨ":"i","ı":"i","ⓙ":"j","j":"j","ĵ":"j","ǰ":"j","ɉ":"j","ⓚ":"k","k":"k","ḱ":"k","ǩ":"k","ḳ":"k","ķ":"k","ḵ":"k","ƙ":"k","ⱪ":"k","ꝁ":"k","ꝃ":"k","ꝅ":"k","ꞣ":"k","ⓛ":"l","l":"l","ŀ":"l","ĺ":"l","ľ":"l","ḷ":"l","ḹ":"l","ļ":"l","ḽ":"l","ḻ":"l","ſ":"l","ł":"l","ƚ":"l","ɫ":"l","ⱡ":"l","ꝉ":"l","ꞁ":"l","ꝇ":"l","lj":"lj","ⓜ":"m","m":"m","ḿ":"m","ṁ":"m","ṃ":"m","ɱ":"m","ɯ":"m","ⓝ":"n","n":"n","ǹ":"n","ń":"n","ñ":"n","ṅ":"n","ň":"n","ṇ":"n","ņ":"n","ṋ":"n","ṉ":"n","ƞ":"n","ɲ":"n","ʼn":"n","ꞑ":"n","ꞥ":"n","nj":"nj","ⓞ":"o","o":"o","ò":"o","ó":"o","ô":"o","ồ":"o","ố":"o","ỗ":"o","ổ":"o","õ":"o","ṍ":"o","ȭ":"o","ṏ":"o","ō":"o","ṑ":"o","ṓ":"o","ŏ":"o","ȯ":"o","ȱ":"o","ö":"o","ȫ":"o","ỏ":"o","ő":"o","ǒ":"o","ȍ":"o","ȏ":"o","ơ":"o","ờ":"o","ớ":"o","ỡ":"o","ở":"o","ợ":"o","ọ":"o","ộ":"o","ǫ":"o","ǭ":"o","ø":"o","ǿ":"o","ɔ":"o","ꝋ":"o","ꝍ":"o","ɵ":"o","ƣ":"oi","ȣ":"ou","ꝏ":"oo","ⓟ":"p","p":"p","ṕ":"p","ṗ":"p","ƥ":"p","ᵽ":"p","ꝑ":"p","ꝓ":"p","ꝕ":"p","ⓠ":"q","q":"q","ɋ":"q","ꝗ":"q","ꝙ":"q","ⓡ":"r","r":"r","ŕ":"r","ṙ":"r","ř":"r","ȑ":"r","ȓ":"r","ṛ":"r","ṝ":"r","ŗ":"r","ṟ":"r","ɍ":"r","ɽ":"r","ꝛ":"r","ꞧ":"r","ꞃ":"r","ⓢ":"s","s":"s","ß":"s","ś":"s","ṥ":"s","ŝ":"s","ṡ":"s","š":"s","ṧ":"s","ṣ":"s","ṩ":"s","ș":"s","ş":"s","ȿ":"s","ꞩ":"s","ꞅ":"s","ẛ":"s","ⓣ":"t","t":"t","ṫ":"t","ẗ":"t","ť":"t","ṭ":"t","ț":"t","ţ":"t","ṱ":"t","ṯ":"t","ŧ":"t","ƭ":"t","ʈ":"t","ⱦ":"t","ꞇ":"t","ꜩ":"tz","ⓤ":"u","u":"u","ù":"u","ú":"u","û":"u","ũ":"u","ṹ":"u","ū":"u","ṻ":"u","ŭ":"u","ü":"u","ǜ":"u","ǘ":"u","ǖ":"u","ǚ":"u","ủ":"u","ů":"u","ű":"u","ǔ":"u","ȕ":"u","ȗ":"u","ư":"u","ừ":"u","ứ":"u","ữ":"u","ử":"u","ự":"u","ụ":"u","ṳ":"u","ų":"u","ṷ":"u","ṵ":"u","ʉ":"u","ⓥ":"v","v":"v","ṽ":"v","ṿ":"v","ʋ":"v","ꝟ":"v","ʌ":"v","ꝡ":"vy","ⓦ":"w","w":"w","ẁ":"w","ẃ":"w","ŵ":"w","ẇ":"w","ẅ":"w","ẘ":"w","ẉ":"w","ⱳ":"w","ⓧ":"x","x":"x","ẋ":"x","ẍ":"x","ⓨ":"y","y":"y","ỳ":"y","ý":"y","ŷ":"y","ỹ":"y","ȳ":"y","ẏ":"y","ÿ":"y","ỷ":"y","ẙ":"y","ỵ":"y","ƴ":"y","ɏ":"y","ỿ":"y","ⓩ":"z","z":"z","ź":"z","ẑ":"z","ż":"z","ž":"z","ẓ":"z","ẕ":"z","ƶ":"z","ȥ":"z","ɀ":"z","ⱬ":"z","ꝣ":"z","Ά":"Α","Έ":"Ε","Ή":"Η","Ί":"Ι","Ϊ":"Ι","Ό":"Ο","Ύ":"Υ","Ϋ":"Υ","Ώ":"Ω","ά":"α","έ":"ε","ή":"η","ί":"ι","ϊ":"ι","ΐ":"ι","ό":"ο","ύ":"υ","ϋ":"υ","ΰ":"υ","ω":"ω","ς":"σ"}}),b.define("select2/data/base",["../utils"],function(a){function b(a,c){b.__super__.constructor.call(this)}return a.Extend(b,a.Observable),b.prototype.current=function(a){throw new Error("The `current` method must be defined in child classes.")},b.prototype.query=function(a,b){throw new Error("The `query` method must be defined in child classes.")},b.prototype.bind=function(a,b){},b.prototype.destroy=function(){},b.prototype.generateResultId=function(b,c){var d=b.id+"-result-";return d+=a.generateChars(4),null!=c.id?d+="-"+c.id.toString():d+="-"+a.generateChars(4),d},b}),b.define("select2/data/select",["./base","../utils","jquery"],function(a,b,c){function d(a,b){this.$element=a,this.options=b,d.__super__.constructor.call(this)}return b.Extend(d,a),d.prototype.current=function(a){var b=[],d=this;this.$element.find(":selected").each(function(){var a=c(this),e=d.item(a);b.push(e)}),a(b)},d.prototype.select=function(a){var b=this;if(a.selected=!0,c(a.element).is("option"))return a.element.selected=!0,void this.$element.trigger("change");if(this.$element.prop("multiple"))this.current(function(d){var e=[];a=[a],a.push.apply(a,d);for(var f=0;f<a.length;f++){var g=a[f].id;-1===c.inArray(g,e)&&e.push(g)}b.$element.val(e),b.$element.trigger("change")});else{var d=a.id;this.$element.val(d),this.$element.trigger("change")}},d.prototype.unselect=function(a){var b=this;if(this.$element.prop("multiple")){if(a.selected=!1,c(a.element).is("option"))return a.element.selected=!1,void this.$element.trigger("change");this.current(function(d){for(var e=[],f=0;f<d.length;f++){var g=d[f].id;g!==a.id&&-1===c.inArray(g,e)&&e.push(g)}b.$element.val(e),b.$element.trigger("change")})}},d.prototype.bind=function(a,b){var c=this;this.container=a,a.on("select",function(a){c.select(a.data)}),a.on("unselect",function(a){c.unselect(a.data)})},d.prototype.destroy=function(){this.$element.find("*").each(function(){b.RemoveData(this)})},d.prototype.query=function(a,b){var d=[],e=this;this.$element.children().each(function(){var b=c(this);if(b.is("option")||b.is("optgroup")){var f=e.item(b),g=e.matches(a,f);null!==g&&d.push(g)}}),b({results:d})},d.prototype.addOptions=function(a){b.appendMany(this.$element,a)},d.prototype.option=function(a){var d;a.children?(d=document.createElement("optgroup"),d.label=a.text):(d=document.createElement("option"),void 0!==d.textContent?d.textContent=a.text:d.innerText=a.text),void 0!==a.id&&(d.value=a.id),a.disabled&&(d.disabled=!0),a.selected&&(d.selected=!0),a.title&&(d.title=a.title);var e=c(d),f=this._normalizeItem(a);return f.element=d,b.StoreData(d,"data",f),e},d.prototype.item=function(a){var d={};if(null!=(d=b.GetData(a[0],"data")))return d;if(a.is("option"))d={id:a.val(),text:a.text(),disabled:a.prop("disabled"),selected:a.prop("selected"),title:a.prop("title")};else if(a.is("optgroup")){d={text:a.prop("label"),children:[],title:a.prop("title")};for(var e=a.children("option"),f=[],g=0;g<e.length;g++){var h=c(e[g]),i=this.item(h);f.push(i)}d.children=f}return d=this._normalizeItem(d),d.element=a[0],b.StoreData(a[0],"data",d),d},d.prototype._normalizeItem=function(a){a!==Object(a)&&(a={id:a,text:a}),a=c.extend({},{text:""},a);var b={selected:!1,disabled:!1};return null!=a.id&&(a.id=a.id.toString()),null!=a.text&&(a.text=a.text.toString()),null==a._resultId&&a.id&&null!=this.container&&(a._resultId=this.generateResultId(this.container,a)),c.extend({},b,a)},d.prototype.matches=function(a,b){return this.options.get("matcher")(a,b)},d}),b.define("select2/data/array",["./select","../utils","jquery"],function(a,b,c){function d(a,b){var c=b.get("data")||[];d.__super__.constructor.call(this,a,b),this.addOptions(this.convertToOptions(c))}return b.Extend(d,a),d.prototype.select=function(a){var b=this.$element.find("option").filter(function(b,c){return c.value==a.id.toString()});0===b.length&&(b=this.option(a),this.addOptions(b)),d.__super__.select.call(this,a)},d.prototype.convertToOptions=function(a){function d(a){return function(){return c(this).val()==a.id}}for(var e=this,f=this.$element.find("option"),g=f.map(function(){return e.item(c(this)).id}).get(),h=[],i=0;i<a.length;i++){var j=this._normalizeItem(a[i]);if(c.inArray(j.id,g)>=0){var k=f.filter(d(j)),l=this.item(k),m=c.extend(!0,{},j,l),n=this.option(m);k.replaceWith(n)}else{var o=this.option(j);if(j.children){var p=this.convertToOptions(j.children);b.appendMany(o,p)}h.push(o)}}return h},d}),b.define("select2/data/ajax",["./array","../utils","jquery"],function(a,b,c){function d(a,b){this.ajaxOptions=this._applyDefaults(b.get("ajax")),null!=this.ajaxOptions.processResults&&(this.processResults=this.ajaxOptions.processResults),d.__super__.constructor.call(this,a,b)}return b.Extend(d,a),d.prototype._applyDefaults=function(a){var b={data:function(a){return c.extend({},a,{q:a.term})},transport:function(a,b,d){var e=c.ajax(a);return e.then(b),e.fail(d),e}};return c.extend({},b,a,!0)},d.prototype.processResults=function(a){return a},d.prototype.query=function(a,b){function d(){var d=f.transport(f,function(d){var f=e.processResults(d,a);e.options.get("debug")&&window.console&&console.error&&(f&&f.results&&c.isArray(f.results)||console.error("Select2: The AJAX results did not return an array in the `results` key of the response.")),b(f)},function(){"status"in d&&(0===d.status||"0"===d.status)||e.trigger("results:message",{message:"errorLoading"})});e._request=d}var e=this;null!=this._request&&(c.isFunction(this._request.abort)&&this._request.abort(),this._request=null);var f=c.extend({type:"GET"},this.ajaxOptions);"function"==typeof f.url&&(f.url=f.url.call(this.$element,a)),"function"==typeof f.data&&(f.data=f.data.call(this.$element,a)),this.ajaxOptions.delay&&null!=a.term?(this._queryTimeout&&window.clearTimeout(this._queryTimeout),this._queryTimeout=window.setTimeout(d,this.ajaxOptions.delay)):d()},d}),b.define("select2/data/tags",["jquery"],function(a){function b(b,c,d){var e=d.get("tags"),f=d.get("createTag");void 0!==f&&(this.createTag=f);var g=d.get("insertTag");if(void 0!==g&&(this.insertTag=g),b.call(this,c,d),a.isArray(e))for(var h=0;h<e.length;h++){var i=e[h],j=this._normalizeItem(i),k=this.option(j);this.$element.append(k)}}return b.prototype.query=function(a,b,c){function d(a,f){for(var g=a.results,h=0;h<g.length;h++){var i=g[h],j=null!=i.children&&!d({results:i.children},!0);if((i.text||"").toUpperCase()===(b.term||"").toUpperCase()||j)return!f&&(a.data=g,void c(a))}if(f)return!0;var k=e.createTag(b);if(null!=k){var l=e.option(k);l.attr("data-select2-tag",!0),e.addOptions([l]),e.insertTag(g,k)}a.results=g,c(a)}var e=this;if(this._removeOldTags(),null==b.term||null!=b.page)return void a.call(this,b,c);a.call(this,b,d)},b.prototype.createTag=function(b,c){var d=a.trim(c.term);return""===d?null:{id:d,text:d}},b.prototype.insertTag=function(a,b,c){b.unshift(c)},b.prototype._removeOldTags=function(b){this._lastTag;this.$element.find("option[data-select2-tag]").each(function(){this.selected||a(this).remove()})},b}),b.define("select2/data/tokenizer",["jquery"],function(a){function b(a,b,c){var d=c.get("tokenizer");void 0!==d&&(this.tokenizer=d),a.call(this,b,c)}return b.prototype.bind=function(a,b,c){a.call(this,b,c),this.$search=b.dropdown.$search||b.selection.$search||c.find(".select2-search__field")},b.prototype.query=function(b,c,d){function e(b){var c=g._normalizeItem(b);if(!g.$element.find("option").filter(function(){return a(this).val()===c.id}).length){var d=g.option(c);d.attr("data-select2-tag",!0),g._removeOldTags(),g.addOptions([d])}f(c)}function f(a){g.trigger("select",{data:a})}var g=this;c.term=c.term||"";var h=this.tokenizer(c,this.options,e);h.term!==c.term&&(this.$search.length&&(this.$search.val(h.term),this.$search.focus()),c.term=h.term),b.call(this,c,d)},b.prototype.tokenizer=function(b,c,d,e){for(var f=d.get("tokenSeparators")||[],g=c.term,h=0,i=this.createTag||function(a){return{id:a.term,text:a.term}};h<g.length;){var j=g[h];if(-1!==a.inArray(j,f)){var k=g.substr(0,h),l=a.extend({},c,{term:k}),m=i(l);null!=m?(e(m),g=g.substr(h+1)||"",h=0):h++}else h++}return{term:g}},b}),b.define("select2/data/minimumInputLength",[],function(){function a(a,b,c){this.minimumInputLength=c.get("minimumInputLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){if(b.term=b.term||"",b.term.length<this.minimumInputLength)return void this.trigger("results:message",{message:"inputTooShort",args:{minimum:this.minimumInputLength,input:b.term,params:b}});a.call(this,b,c)},a}),b.define("select2/data/maximumInputLength",[],function(){function a(a,b,c){this.maximumInputLength=c.get("maximumInputLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){if(b.term=b.term||"",this.maximumInputLength>0&&b.term.length>this.maximumInputLength)return void this.trigger("results:message",{message:"inputTooLong",args:{maximum:this.maximumInputLength,input:b.term,params:b}});a.call(this,b,c)},a}),b.define("select2/data/maximumSelectionLength",[],function(){function a(a,b,c){this.maximumSelectionLength=c.get("maximumSelectionLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){var d=this;this.current(function(e){var f=null!=e?e.length:0;if(d.maximumSelectionLength>0&&f>=d.maximumSelectionLength)return void d.trigger("results:message",{message:"maximumSelected",args:{maximum:d.maximumSelectionLength}});a.call(d,b,c)})},a}),b.define("select2/dropdown",["jquery","./utils"],function(a,b){function c(a,b){this.$element=a,this.options=b,c.__super__.constructor.call(this)}return b.Extend(c,b.Observable),c.prototype.render=function(){var b=a('<span class="select2-dropdown"><span class="select2-results"></span></span>');return b.attr("dir",this.options.get("dir")),this.$dropdown=b,b},c.prototype.bind=function(){},c.prototype.position=function(a,b){},c.prototype.destroy=function(){this.$dropdown.remove()},c}),b.define("select2/dropdown/search",["jquery","../utils"],function(a,b){function c(){}return c.prototype.render=function(b){var c=b.call(this),d=a('<span class="select2-search select2-search--dropdown"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="textbox" /></span>');return this.$searchContainer=d,this.$search=d.find("input"),c.prepend(d),c},c.prototype.bind=function(b,c,d){var e=this;b.call(this,c,d),this.$search.on("keydown",function(a){e.trigger("keypress",a),e._keyUpPrevented=a.isDefaultPrevented()}),this.$search.on("input",function(b){a(this).off("keyup")}),this.$search.on("keyup input",function(a){e.handleSearch(a)}),c.on("open",function(){e.$search.attr("tabindex",0),e.$search.focus(),window.setTimeout(function(){e.$search.focus()},0)}),c.on("close",function(){e.$search.attr("tabindex",-1),e.$search.val(""),e.$search.blur()}),c.on("focus",function(){c.isOpen()||e.$search.focus()}),c.on("results:all",function(a){if(null==a.query.term||""===a.query.term){e.showSearch(a)?e.$searchContainer.removeClass("select2-search--hide"):e.$searchContainer.addClass("select2-search--hide")}})},c.prototype.handleSearch=function(a){if(!this._keyUpPrevented){var b=this.$search.val();this.trigger("query",{term:b})}this._keyUpPrevented=!1},c.prototype.showSearch=function(a,b){return!0},c}),b.define("select2/dropdown/hidePlaceholder",[],function(){function a(a,b,c,d){this.placeholder=this.normalizePlaceholder(c.get("placeholder")),a.call(this,b,c,d)}return a.prototype.append=function(a,b){b.results=this.removePlaceholder(b.results),a.call(this,b)},a.prototype.normalizePlaceholder=function(a,b){return"string"==typeof b&&(b={id:"",text:b}),b},a.prototype.removePlaceholder=function(a,b){for(var c=b.slice(0),d=b.length-1;d>=0;d--){var e=b[d];this.placeholder.id===e.id&&c.splice(d,1)}return c},a}),b.define("select2/dropdown/infiniteScroll",["jquery"],function(a){function b(a,b,c,d){this.lastParams={},a.call(this,b,c,d),this.$loadingMore=this.createLoadingMore(),this.loading=!1}return b.prototype.append=function(a,b){this.$loadingMore.remove(),this.loading=!1,a.call(this,b),this.showLoadingMore(b)&&this.$results.append(this.$loadingMore)},b.prototype.bind=function(b,c,d){var e=this;b.call(this,c,d),c.on("query",function(a){e.lastParams=a,e.loading=!0}),c.on("query:append",function(a){e.lastParams=a,e.loading=!0}),this.$results.on("scroll",function(){var b=a.contains(document.documentElement,e.$loadingMore[0]);if(!e.loading&&b){e.$results.offset().top+e.$results.outerHeight(!1)+50>=e.$loadingMore.offset().top+e.$loadingMore.outerHeight(!1)&&e.loadMore()}})},b.prototype.loadMore=function(){this.loading=!0;var b=a.extend({},{page:1},this.lastParams);b.page++,this.trigger("query:append",b)},b.prototype.showLoadingMore=function(a,b){return b.pagination&&b.pagination.more},b.prototype.createLoadingMore=function(){var b=a('<li class="select2-results__option select2-results__option--load-more"role="treeitem" aria-disabled="true"></li>'),c=this.options.get("translations").get("loadingMore");return b.html(c(this.lastParams)),b},b}),b.define("select2/dropdown/attachBody",["jquery","../utils"],function(a,b){function c(b,c,d){this.$dropdownParent=d.get("dropdownParent")||a(document.body),b.call(this,c,d)}return c.prototype.bind=function(a,b,c){var d=this,e=!1;a.call(this,b,c),b.on("open",function(){d._showDropdown(),d._attachPositioningHandler(b),e||(e=!0,b.on("results:all",function(){d._positionDropdown(),d._resizeDropdown()}),b.on("results:append",function(){d._positionDropdown(),d._resizeDropdown()}))}),b.on("close",function(){d._hideDropdown(),d._detachPositioningHandler(b)}),this.$dropdownContainer.on("mousedown",function(a){a.stopPropagation()})},c.prototype.destroy=function(a){a.call(this),this.$dropdownContainer.remove()},c.prototype.position=function(a,b,c){b.attr("class",c.attr("class")),b.removeClass("select2"),b.addClass("select2-container--open"),b.css({position:"absolute",top:-999999}),this.$container=c},c.prototype.render=function(b){var c=a("<span></span>"),d=b.call(this);return c.append(d),this.$dropdownContainer=c,c},c.prototype._hideDropdown=function(a){this.$dropdownContainer.detach()},c.prototype._attachPositioningHandler=function(c,d){var e=this,f="scroll.select2."+d.id,g="resize.select2."+d.id,h="orientationchange.select2."+d.id,i=this.$container.parents().filter(b.hasScroll);i.each(function(){b.StoreData(this,"select2-scroll-position",{x:a(this).scrollLeft(),y:a(this).scrollTop()})}),i.on(f,function(c){var d=b.GetData(this,"select2-scroll-position");a(this).scrollTop(d.y)}),a(window).on(f+" "+g+" "+h,function(a){e._positionDropdown(),e._resizeDropdown()})},c.prototype._detachPositioningHandler=function(c,d){var e="scroll.select2."+d.id,f="resize.select2."+d.id,g="orientationchange.select2."+d.id;this.$container.parents().filter(b.hasScroll).off(e),a(window).off(e+" "+f+" "+g)},c.prototype._positionDropdown=function(){var b=a(window),c=this.$dropdown.hasClass("select2-dropdown--above"),d=this.$dropdown.hasClass("select2-dropdown--below"),e=null,f=this.$container.offset();f.bottom=f.top+this.$container.outerHeight(!1);var g={height:this.$container.outerHeight(!1)};g.top=f.top,g.bottom=f.top+g.height;var h={height:this.$dropdown.outerHeight(!1)},i={top:b.scrollTop(),bottom:b.scrollTop()+b.height()},j=i.top<f.top-h.height,k=i.bottom>f.bottom+h.height,l={left:f.left,top:g.bottom},m=this.$dropdownParent;"static"===m.css("position")&&(m=m.offsetParent());var n=m.offset();l.top-=n.top,l.left-=n.left,c||d||(e="below"),k||!j||c?!j&&k&&c&&(e="below"):e="above",("above"==e||c&&"below"!==e)&&(l.top=g.top-n.top-h.height),null!=e&&(this.$dropdown.removeClass("select2-dropdown--below select2-dropdown--above").addClass("select2-dropdown--"+e),this.$container.removeClass("select2-container--below select2-container--above").addClass("select2-container--"+e)),this.$dropdownContainer.css(l)},c.prototype._resizeDropdown=function(){var a={width:this.$container.outerWidth(!1)+"px"};this.options.get("dropdownAutoWidth")&&(a.minWidth=a.width,a.position="relative",a.width="auto"),this.$dropdown.css(a)},c.prototype._showDropdown=function(a){this.$dropdownContainer.appendTo(this.$dropdownParent),this._positionDropdown(),this._resizeDropdown()},c}),b.define("select2/dropdown/minimumResultsForSearch",[],function(){function a(b){for(var c=0,d=0;d<b.length;d++){var e=b[d];e.children?c+=a(e.children):c++}return c}function b(a,b,c,d){this.minimumResultsForSearch=c.get("minimumResultsForSearch"),this.minimumResultsForSearch<0&&(this.minimumResultsForSearch=1/0),a.call(this,b,c,d)}return b.prototype.showSearch=function(b,c){return!(a(c.data.results)<this.minimumResultsForSearch)&&b.call(this,c)},b}),b.define("select2/dropdown/selectOnClose",["../utils"],function(a){function b(){}return b.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),b.on("close",function(a){d._handleSelectOnClose(a)})},b.prototype._handleSelectOnClose=function(b,c){if(c&&null!=c.originalSelect2Event){var d=c.originalSelect2Event;if("select"===d._type||"unselect"===d._type)return}var e=this.getHighlightedResults();if(!(e.length<1)){var f=a.GetData(e[0],"data");null!=f.element&&f.element.selected||null==f.element&&f.selected||this.trigger("select",{data:f})}},b}),b.define("select2/dropdown/closeOnSelect",[],function(){function a(){}return a.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),b.on("select",function(a){d._selectTriggered(a)}),b.on("unselect",function(a){d._selectTriggered(a)})},a.prototype._selectTriggered=function(a,b){var c=b.originalEvent;c&&c.ctrlKey||this.trigger("close",{originalEvent:c,originalSelect2Event:b})},a}),b.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(a){var b=a.input.length-a.maximum,c="Please delete "+b+" character";return 1!=b&&(c+="s"),c},inputTooShort:function(a){return"Please enter "+(a.minimum-a.input.length)+" or more characters"},loadingMore:function(){return"Loading more results…"},maximumSelected:function(a){var b="You can only select "+a.maximum+" item";return 1!=a.maximum&&(b+="s"),b},noResults:function(){return"No results found"},searching:function(){return"Searching…"}}}),b.define("select2/defaults",["jquery","require","./results","./selection/single","./selection/multiple","./selection/placeholder","./selection/allowClear","./selection/search","./selection/eventRelay","./utils","./translation","./diacritics","./data/select","./data/array","./data/ajax","./data/tags","./data/tokenizer","./data/minimumInputLength","./data/maximumInputLength","./data/maximumSelectionLength","./dropdown","./dropdown/search","./dropdown/hidePlaceholder","./dropdown/infiniteScroll","./dropdown/attachBody","./dropdown/minimumResultsForSearch","./dropdown/selectOnClose","./dropdown/closeOnSelect","./i18n/en"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C){function D(){this.reset()}return D.prototype.apply=function(l){if(l=a.extend(!0,{},this.defaults,l),null==l.dataAdapter){if(null!=l.ajax?l.dataAdapter=o:null!=l.data?l.dataAdapter=n:l.dataAdapter=m,l.minimumInputLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,r)),l.maximumInputLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,s)),l.maximumSelectionLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,t)),l.tags&&(l.dataAdapter=j.Decorate(l.dataAdapter,p)),null==l.tokenSeparators&&null==l.tokenizer||(l.dataAdapter=j.Decorate(l.dataAdapter,q)),null!=l.query){var C=b(l.amdBase+"compat/query");l.dataAdapter=j.Decorate(l.dataAdapter,C)}if(null!=l.initSelection){var D=b(l.amdBase+"compat/initSelection");l.dataAdapter=j.Decorate(l.dataAdapter,D)}}if(null==l.resultsAdapter&&(l.resultsAdapter=c,null!=l.ajax&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,x)),null!=l.placeholder&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,w)),l.selectOnClose&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,A))),null==l.dropdownAdapter){if(l.multiple)l.dropdownAdapter=u;else{var E=j.Decorate(u,v);l.dropdownAdapter=E}if(0!==l.minimumResultsForSearch&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,z)),l.closeOnSelect&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,B)),null!=l.dropdownCssClass||null!=l.dropdownCss||null!=l.adaptDropdownCssClass){var F=b(l.amdBase+"compat/dropdownCss");l.dropdownAdapter=j.Decorate(l.dropdownAdapter,F)}l.dropdownAdapter=j.Decorate(l.dropdownAdapter,y)}if(null==l.selectionAdapter){if(l.multiple?l.selectionAdapter=e:l.selectionAdapter=d,null!=l.placeholder&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,f)),l.allowClear&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,g)),l.multiple&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,h)),null!=l.containerCssClass||null!=l.containerCss||null!=l.adaptContainerCssClass){var G=b(l.amdBase+"compat/containerCss");l.selectionAdapter=j.Decorate(l.selectionAdapter,G)}l.selectionAdapter=j.Decorate(l.selectionAdapter,i)}if("string"==typeof l.language)if(l.language.indexOf("-")>0){var H=l.language.split("-"),I=H[0];l.language=[l.language,I]}else l.language=[l.language];if(a.isArray(l.language)){var J=new k;l.language.push("en");for(var K=l.language,L=0;L<K.length;L++){var M=K[L],N={};try{N=k.loadPath(M)}catch(a){try{M=this.defaults.amdLanguageBase+M,N=k.loadPath(M)}catch(a){l.debug&&window.console&&console.warn&&console.warn('Select2: The language file for "'+M+'" could not be automatically loaded. A fallback will be used instead.');continue}}J.extend(N)}l.translations=J}else{var O=k.loadPath(this.defaults.amdLanguageBase+"en"),P=new k(l.language);P.extend(O),l.translations=P}return l},D.prototype.reset=function(){function b(a){function b(a){return l[a]||a}return a.replace(/[^\u0000-\u007E]/g,b)}function c(d,e){if(""===a.trim(d.term))return e;if(e.children&&e.children.length>0){for(var f=a.extend(!0,{},e),g=e.children.length-1;g>=0;g--){null==c(d,e.children[g])&&f.children.splice(g,1)}return f.children.length>0?f:c(d,f)}var h=b(e.text).toUpperCase(),i=b(d.term).toUpperCase();return h.indexOf(i)>-1?e:null}this.defaults={amdBase:"./",amdLanguageBase:"./i18n/",closeOnSelect:!0,debug:!1,dropdownAutoWidth:!1,escapeMarkup:j.escapeMarkup,language:C,matcher:c,minimumInputLength:0,maximumInputLength:0,maximumSelectionLength:0,minimumResultsForSearch:0,selectOnClose:!1,sorter:function(a){return a},templateResult:function(a){return a.text},templateSelection:function(a){return a.text},theme:"default",width:"resolve"}},D.prototype.set=function(b,c){var d=a.camelCase(b),e={};e[d]=c;var f=j._convertData(e);a.extend(!0,this.defaults,f)},new D}),b.define("select2/options",["require","jquery","./defaults","./utils"],function(a,b,c,d){function e(b,e){if(this.options=b,null!=e&&this.fromElement(e),this.options=c.apply(this.options),e&&e.is("input")){var f=a(this.get("amdBase")+"compat/inputData");this.options.dataAdapter=d.Decorate(this.options.dataAdapter,f)}}return e.prototype.fromElement=function(a){var c=["select2"];null==this.options.multiple&&(this.options.multiple=a.prop("multiple")),null==this.options.disabled&&(this.options.disabled=a.prop("disabled")),null==this.options.language&&(a.prop("lang")?this.options.language=a.prop("lang").toLowerCase():a.closest("[lang]").prop("lang")&&(this.options.language=a.closest("[lang]").prop("lang"))),null==this.options.dir&&(a.prop("dir")?this.options.dir=a.prop("dir"):a.closest("[dir]").prop("dir")?this.options.dir=a.closest("[dir]").prop("dir"):this.options.dir="ltr"),a.prop("disabled",this.options.disabled),a.prop("multiple",this.options.multiple),d.GetData(a[0],"select2Tags")&&(this.options.debug&&window.console&&console.warn&&console.warn('Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.'),d.StoreData(a[0],"data",d.GetData(a[0],"select2Tags")),d.StoreData(a[0],"tags",!0)),d.GetData(a[0],"ajaxUrl")&&(this.options.debug&&window.console&&console.warn&&console.warn("Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2."),a.attr("ajax--url",d.GetData(a[0],"ajaxUrl")),d.StoreData(a[0],"ajax-Url",d.GetData(a[0],"ajaxUrl")));var e={};e=b.fn.jquery&&"1."==b.fn.jquery.substr(0,2)&&a[0].dataset?b.extend(!0,{},a[0].dataset,d.GetData(a[0])):d.GetData(a[0]);var f=b.extend(!0,{},e);f=d._convertData(f);for(var g in f)b.inArray(g,c)>-1||(b.isPlainObject(this.options[g])?b.extend(this.options[g],f[g]):this.options[g]=f[g]);return this},e.prototype.get=function(a){return this.options[a]},e.prototype.set=function(a,b){this.options[a]=b},e}),b.define("select2/core",["jquery","./options","./utils","./keys"],function(a,b,c,d){var e=function(a,d){null!=c.GetData(a[0],"select2")&&c.GetData(a[0],"select2").destroy(),this.$element=a,this.id=this._generateId(a),d=d||{},this.options=new b(d,a),e.__super__.constructor.call(this);var f=a.attr("tabindex")||0;c.StoreData(a[0],"old-tabindex",f),a.attr("tabindex","-1");var g=this.options.get("dataAdapter");this.dataAdapter=new g(a,this.options);var h=this.render();this._placeContainer(h);var i=this.options.get("selectionAdapter");this.selection=new i(a,this.options),this.$selection=this.selection.render(),this.selection.position(this.$selection,h);var j=this.options.get("dropdownAdapter");this.dropdown=new j(a,this.options),this.$dropdown=this.dropdown.render(),this.dropdown.position(this.$dropdown,h);var k=this.options.get("resultsAdapter");this.results=new k(a,this.options,this.dataAdapter),this.$results=this.results.render(),this.results.position(this.$results,this.$dropdown);var l=this;this._bindAdapters(),this._registerDomEvents(),this._registerDataEvents(),this._registerSelectionEvents(),this._registerDropdownEvents(),this._registerResultsEvents(),this._registerEvents(),this.dataAdapter.current(function(a){l.trigger("selection:update",{data:a})}),a.addClass("select2-hidden-accessible"),a.attr("aria-hidden","true"),this._syncAttributes(),c.StoreData(a[0],"select2",this),a.data("select2",this)};return c.Extend(e,c.Observable),e.prototype._generateId=function(a){var b="";return b=null!=a.attr("id")?a.attr("id"):null!=a.attr("name")?a.attr("name")+"-"+c.generateChars(2):c.generateChars(4),b=b.replace(/(:|\.|\[|\]|,)/g,""),b="select2-"+b},e.prototype._placeContainer=function(a){a.insertAfter(this.$element);var b=this._resolveWidth(this.$element,this.options.get("width"));null!=b&&a.css("width",b)},e.prototype._resolveWidth=function(a,b){var c=/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;if("resolve"==b){var d=this._resolveWidth(a,"style");return null!=d?d:this._resolveWidth(a,"element")}if("element"==b){var e=a.outerWidth(!1);return e<=0?"auto":e+"px"}if("style"==b){var f=a.attr("style");if("string"!=typeof f)return null;for(var g=f.split(";"),h=0,i=g.length;h<i;h+=1){var j=g[h].replace(/\s/g,""),k=j.match(c);if(null!==k&&k.length>=1)return k[1]}return null}return b},e.prototype._bindAdapters=function(){this.dataAdapter.bind(this,this.$container),this.selection.bind(this,this.$container),this.dropdown.bind(this,this.$container),this.results.bind(this,this.$container)},e.prototype._registerDomEvents=function(){var b=this;this.$element.on("change.select2",function(){b.dataAdapter.current(function(a){b.trigger("selection:update",{data:a})})}),this.$element.on("focus.select2",function(a){b.trigger("focus",a)}),this._syncA=c.bind(this._syncAttributes,this),this._syncS=c.bind(this._syncSubtree,this),this.$element[0].attachEvent&&this.$element[0].attachEvent("onpropertychange",this._syncA);var d=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;null!=d?(this._observer=new d(function(c){a.each(c,b._syncA),a.each(c,b._syncS)}),this._observer.observe(this.$element[0],{attributes:!0,childList:!0,subtree:!1})):this.$element[0].addEventListener&&(this.$element[0].addEventListener("DOMAttrModified",b._syncA,!1),this.$element[0].addEventListener("DOMNodeInserted",b._syncS,!1),this.$element[0].addEventListener("DOMNodeRemoved",b._syncS,!1))},e.prototype._registerDataEvents=function(){var a=this;this.dataAdapter.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerSelectionEvents=function(){var b=this,c=["toggle","focus"];this.selection.on("toggle",function(){b.toggleDropdown()}),this.selection.on("focus",function(a){b.focus(a)}),this.selection.on("*",function(d,e){-1===a.inArray(d,c)&&b.trigger(d,e)})},e.prototype._registerDropdownEvents=function(){var a=this;this.dropdown.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerResultsEvents=function(){var a=this;this.results.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerEvents=function(){var a=this;this.on("open",function(){a.$container.addClass("select2-container--open")}),this.on("close",function(){a.$container.removeClass("select2-container--open")}),this.on("enable",function(){a.$container.removeClass("select2-container--disabled")}),this.on("disable",function(){a.$container.addClass("select2-container--disabled")}),this.on("blur",function(){a.$container.removeClass("select2-container--focus")}),this.on("query",function(b){a.isOpen()||a.trigger("open",{}),this.dataAdapter.query(b,function(c){a.trigger("results:all",{data:c,query:b})})}),this.on("query:append",function(b){this.dataAdapter.query(b,function(c){a.trigger("results:append",{data:c,query:b})})}),this.on("keypress",function(b){var c=b.which;a.isOpen()?c===d.ESC||c===d.TAB||c===d.UP&&b.altKey?(a.close(),b.preventDefault()):c===d.ENTER?(a.trigger("results:select",{}),b.preventDefault()):c===d.SPACE&&b.ctrlKey?(a.trigger("results:toggle",{}),b.preventDefault()):c===d.UP?(a.trigger("results:previous",{}),b.preventDefault()):c===d.DOWN&&(a.trigger("results:next",{}),b.preventDefault()):(c===d.ENTER||c===d.SPACE||c===d.DOWN&&b.altKey)&&(a.open(),b.preventDefault())})},e.prototype._syncAttributes=function(){this.options.set("disabled",this.$element.prop("disabled")),this.options.get("disabled")?(this.isOpen()&&this.close(),this.trigger("disable",{})):this.trigger("enable",{})},e.prototype._syncSubtree=function(a,b){var c=!1,d=this;if(!a||!a.target||"OPTION"===a.target.nodeName||"OPTGROUP"===a.target.nodeName){if(b)if(b.addedNodes&&b.addedNodes.length>0)for(var e=0;e<b.addedNodes.length;e++){var f=b.addedNodes[e];f.selected&&(c=!0)}else b.removedNodes&&b.removedNodes.length>0&&(c=!0);else c=!0;c&&this.dataAdapter.current(function(a){d.trigger("selection:update",{data:a})})}},e.prototype.trigger=function(a,b){var c=e.__super__.trigger,d={open:"opening",close:"closing",select:"selecting",unselect:"unselecting",clear:"clearing"};if(void 0===b&&(b={}),a in d){var f=d[a],g={prevented:!1,name:a,args:b};if(c.call(this,f,g),g.prevented)return void(b.prevented=!0)}c.call(this,a,b)},e.prototype.toggleDropdown=function(){this.options.get("disabled")||(this.isOpen()?this.close():this.open())},e.prototype.open=function(){this.isOpen()||this.trigger("query",{})},e.prototype.close=function(){this.isOpen()&&this.trigger("close",{})},e.prototype.isOpen=function(){return this.$container.hasClass("select2-container--open")},e.prototype.hasFocus=function(){return this.$container.hasClass("select2-container--focus")},e.prototype.focus=function(a){this.hasFocus()||(this.$container.addClass("select2-container--focus"),this.trigger("focus",{}))},e.prototype.enable=function(a){this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.'),null!=a&&0!==a.length||(a=[!0]);var b=!a[0];this.$element.prop("disabled",b)},e.prototype.data=function(){this.options.get("debug")&&arguments.length>0&&window.console&&console.warn&&console.warn('Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.');var a=[];return this.dataAdapter.current(function(b){a=b}),a},e.prototype.val=function(b){if(this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'),null==b||0===b.length)return this.$element.val();var c=b[0];a.isArray(c)&&(c=a.map(c,function(a){return a.toString()})),this.$element.val(c).trigger("change")},e.prototype.destroy=function(){this.$container.remove(),this.$element[0].detachEvent&&this.$element[0].detachEvent("onpropertychange",this._syncA),null!=this._observer?(this._observer.disconnect(),this._observer=null):this.$element[0].removeEventListener&&(this.$element[0].removeEventListener("DOMAttrModified",this._syncA,!1),this.$element[0].removeEventListener("DOMNodeInserted",this._syncS,!1),this.$element[0].removeEventListener("DOMNodeRemoved",this._syncS,!1)),this._syncA=null,this._syncS=null,this.$element.off(".select2"),this.$element.attr("tabindex",c.GetData(this.$element[0],"old-tabindex")),this.$element.removeClass("select2-hidden-accessible"),this.$element.attr("aria-hidden","false"),c.RemoveData(this.$element[0]),this.$element.removeData("select2"),this.dataAdapter.destroy(),this.selection.destroy(),this.dropdown.destroy(),this.results.destroy(),this.dataAdapter=null,this.selection=null,this.dropdown=null,this.results=null},e.prototype.render=function(){var b=a('<span class="select2 select2-container"><span class="selection"></span><span class="dropdown-wrapper" aria-hidden="true"></span></span>');return b.attr("dir",this.options.get("dir")),this.$container=b,this.$container.addClass("select2-container--"+this.options.get("theme")),c.StoreData(b[0],"element",this.$element),b},e}),b.define("jquery-mousewheel",["jquery"],function(a){return a}),b.define("jquery.select2",["jquery","jquery-mousewheel","./select2/core","./select2/defaults","./select2/utils"],function(a,b,c,d,e){if(null==a.fn.select2){var f=["open","close","destroy"];a.fn.select2=function(b){if("object"==typeof(b=b||{}))return this.each(function(){var d=a.extend(!0,{},b);new c(a(this),d)}),this;if("string"==typeof b){var d,g=Array.prototype.slice.call(arguments,1);return this.each(function(){var a=e.GetData(this,"select2");null==a&&window.console&&console.error&&console.error("The select2('"+b+"') method was called on an element that is not using Select2."),d=a[b].apply(a,g)}),a.inArray(b,f)>-1?this:d}throw new Error("Invalid arguments for Select2: "+b)}}return null==a.fn.select2.defaults&&(a.fn.select2.defaults=d),c}),{define:b.define,require:b.require}}(),c=b.require("jquery.select2");return a.fn.select2.amd=b,c});PK�}�\�|� R R js/select2.jsnu�[���/*! * Select2 4.0.6-rc.1 * https://select2.github.io * * Released under the MIT license * https://github.com/select2/select2/blob/master/LICENSE.md */ ;(function (factory) { if (typeof define === 'function' && define.amd) { // AMD. Register as an anonymous module. define(['jquery'], factory); } else if (typeof module === 'object' && module.exports) { // Node/CommonJS module.exports = function (root, jQuery) { if (jQuery === undefined) { // require('jQuery') returns a factory that requires window to // build a jQuery instance, we normalize how we use modules // that require this pattern but the window provided is a noop // if it's defined (how jquery works) if (typeof window !== 'undefined') { jQuery = require('jquery'); } else { jQuery = require('jquery')(root); } } factory(jQuery); return jQuery; }; } else { // Browser globals factory(jQuery); } } (function (jQuery) { // This is needed so we can catch the AMD loader configuration and use it // The inner file should be wrapped (by `banner.start.js`) in a function that // returns the AMD loader references. var S2 =(function () { // Restore the Select2 AMD loader so it can be used // Needed mostly in the language files, where the loader is not inserted if (jQuery && jQuery.fn && jQuery.fn.select2 && jQuery.fn.select2.amd) { var S2 = jQuery.fn.select2.amd; } var S2;(function () { if (!S2 || !S2.requirejs) { if (!S2) { S2 = {}; } else { require = S2; } /** * @license almond 0.3.3 Copyright jQuery Foundation and other contributors. * Released under MIT license, http://github.com/requirejs/almond/LICENSE */ //Going sloppy to avoid 'use strict' string cost, but strict practices should //be followed. /*global setTimeout: false */ var requirejs, require, define; (function (undef) { var main, req, makeMap, handlers, defined = {}, waiting = {}, config = {}, defining = {}, hasOwn = Object.prototype.hasOwnProperty, aps = [].slice, jsSuffixRegExp = /\.js$/; function hasProp(obj, prop) { return hasOwn.call(obj, prop); } /** * Given a relative module name, like ./something, normalize it to * a real name that can be mapped to a path. * @param {String} name the relative name * @param {String} baseName a real name that the name arg is relative * to. * @returns {String} normalized name */ function normalize(name, baseName) { var nameParts, nameSegment, mapValue, foundMap, lastIndex, foundI, foundStarMap, starI, i, j, part, normalizedBaseParts, baseParts = baseName && baseName.split("/"), map = config.map, starMap = (map && map['*']) || {}; //Adjust any relative paths. if (name) { name = name.split('/'); lastIndex = name.length - 1; // If wanting node ID compatibility, strip .js from end // of IDs. Have to do this here, and not in nameToUrl // because node allows either .js or non .js to map // to same file. if (config.nodeIdCompat && jsSuffixRegExp.test(name[lastIndex])) { name[lastIndex] = name[lastIndex].replace(jsSuffixRegExp, ''); } // Starts with a '.' so need the baseName if (name[0].charAt(0) === '.' && baseParts) { //Convert baseName to array, and lop off the last part, //so that . matches that 'directory' and not name of the baseName's //module. For instance, baseName of 'one/two/three', maps to //'one/two/three.js', but we want the directory, 'one/two' for //this normalization. normalizedBaseParts = baseParts.slice(0, baseParts.length - 1); name = normalizedBaseParts.concat(name); } //start trimDots for (i = 0; i < name.length; i++) { part = name[i]; if (part === '.') { name.splice(i, 1); i -= 1; } else if (part === '..') { // If at the start, or previous value is still .., // keep them so that when converted to a path it may // still work when converted to a path, even though // as an ID it is less than ideal. In larger point // releases, may be better to just kick out an error. if (i === 0 || (i === 1 && name[2] === '..') || name[i - 1] === '..') { continue; } else if (i > 0) { name.splice(i - 1, 2); i -= 2; } } } //end trimDots name = name.join('/'); } //Apply map config if available. if ((baseParts || starMap) && map) { nameParts = name.split('/'); for (i = nameParts.length; i > 0; i -= 1) { nameSegment = nameParts.slice(0, i).join("/"); if (baseParts) { //Find the longest baseName segment match in the config. //So, do joins on the biggest to smallest lengths of baseParts. for (j = baseParts.length; j > 0; j -= 1) { mapValue = map[baseParts.slice(0, j).join('/')]; //baseName segment has config, find if it has one for //this name. if (mapValue) { mapValue = mapValue[nameSegment]; if (mapValue) { //Match, update name to the new value. foundMap = mapValue; foundI = i; break; } } } } if (foundMap) { break; } //Check for a star map match, but just hold on to it, //if there is a shorter segment match later in a matching //config, then favor over this star map. if (!foundStarMap && starMap && starMap[nameSegment]) { foundStarMap = starMap[nameSegment]; starI = i; } } if (!foundMap && foundStarMap) { foundMap = foundStarMap; foundI = starI; } if (foundMap) { nameParts.splice(0, foundI, foundMap); name = nameParts.join('/'); } } return name; } function makeRequire(relName, forceSync) { return function () { //A version of a require function that passes a moduleName //value for items that may need to //look up paths relative to the moduleName var args = aps.call(arguments, 0); //If first arg is not require('string'), and there is only //one arg, it is the array form without a callback. Insert //a null so that the following concat is correct. if (typeof args[0] !== 'string' && args.length === 1) { args.push(null); } return req.apply(undef, args.concat([relName, forceSync])); }; } function makeNormalize(relName) { return function (name) { return normalize(name, relName); }; } function makeLoad(depName) { return function (value) { defined[depName] = value; }; } function callDep(name) { if (hasProp(waiting, name)) { var args = waiting[name]; delete waiting[name]; defining[name] = true; main.apply(undef, args); } if (!hasProp(defined, name) && !hasProp(defining, name)) { throw new Error('No ' + name); } return defined[name]; } //Turns a plugin!resource to [plugin, resource] //with the plugin being undefined if the name //did not have a plugin prefix. function splitPrefix(name) { var prefix, index = name ? name.indexOf('!') : -1; if (index > -1) { prefix = name.substring(0, index); name = name.substring(index + 1, name.length); } return [prefix, name]; } //Creates a parts array for a relName where first part is plugin ID, //second part is resource ID. Assumes relName has already been normalized. function makeRelParts(relName) { return relName ? splitPrefix(relName) : []; } /** * Makes a name map, normalizing the name, and using a plugin * for normalization if necessary. Grabs a ref to plugin * too, as an optimization. */ makeMap = function (name, relParts) { var plugin, parts = splitPrefix(name), prefix = parts[0], relResourceName = relParts[1]; name = parts[1]; if (prefix) { prefix = normalize(prefix, relResourceName); plugin = callDep(prefix); } //Normalize according if (prefix) { if (plugin && plugin.normalize) { name = plugin.normalize(name, makeNormalize(relResourceName)); } else { name = normalize(name, relResourceName); } } else { name = normalize(name, relResourceName); parts = splitPrefix(name); prefix = parts[0]; name = parts[1]; if (prefix) { plugin = callDep(prefix); } } //Using ridiculous property names for space reasons return { f: prefix ? prefix + '!' + name : name, //fullName n: name, pr: prefix, p: plugin }; }; function makeConfig(name) { return function () { return (config && config.config && config.config[name]) || {}; }; } handlers = { require: function (name) { return makeRequire(name); }, exports: function (name) { var e = defined[name]; if (typeof e !== 'undefined') { return e; } else { return (defined[name] = {}); } }, module: function (name) { return { id: name, uri: '', exports: defined[name], config: makeConfig(name) }; } }; main = function (name, deps, callback, relName) { var cjsModule, depName, ret, map, i, relParts, args = [], callbackType = typeof callback, usingExports; //Use name if no relName relName = relName || name; relParts = makeRelParts(relName); //Call the callback to define the module, if necessary. if (callbackType === 'undefined' || callbackType === 'function') { //Pull out the defined dependencies and pass the ordered //values to the callback. //Default to [require, exports, module] if no deps deps = !deps.length && callback.length ? ['require', 'exports', 'module'] : deps; for (i = 0; i < deps.length; i += 1) { map = makeMap(deps[i], relParts); depName = map.f; //Fast path CommonJS standard dependencies. if (depName === "require") { args[i] = handlers.require(name); } else if (depName === "exports") { //CommonJS module spec 1.1 args[i] = handlers.exports(name); usingExports = true; } else if (depName === "module") { //CommonJS module spec 1.1 cjsModule = args[i] = handlers.module(name); } else if (hasProp(defined, depName) || hasProp(waiting, depName) || hasProp(defining, depName)) { args[i] = callDep(depName); } else if (map.p) { map.p.load(map.n, makeRequire(relName, true), makeLoad(depName), {}); args[i] = defined[depName]; } else { throw new Error(name + ' missing ' + depName); } } ret = callback ? callback.apply(defined[name], args) : undefined; if (name) { //If setting exports via "module" is in play, //favor that over return value and exports. After that, //favor a non-undefined return value over exports use. if (cjsModule && cjsModule.exports !== undef && cjsModule.exports !== defined[name]) { defined[name] = cjsModule.exports; } else if (ret !== undef || !usingExports) { //Use the return value from the function. defined[name] = ret; } } } else if (name) { //May just be an object definition for the module. Only //worry about defining if have a module name. defined[name] = callback; } }; requirejs = require = req = function (deps, callback, relName, forceSync, alt) { if (typeof deps === "string") { if (handlers[deps]) { //callback in this case is really relName return handlers[deps](callback); } //Just return the module wanted. In this scenario, the //deps arg is the module name, and second arg (if passed) //is just the relName. //Normalize module name, if it contains . or .. return callDep(makeMap(deps, makeRelParts(callback)).f); } else if (!deps.splice) { //deps is a config object, not an array. config = deps; if (config.deps) { req(config.deps, config.callback); } if (!callback) { return; } if (callback.splice) { //callback is an array, which means it is a dependency list. //Adjust args if there are dependencies deps = callback; callback = relName; relName = null; } else { deps = undef; } } //Support require(['a']) callback = callback || function () {}; //If relName is a function, it is an errback handler, //so remove it. if (typeof relName === 'function') { relName = forceSync; forceSync = alt; } //Simulate async callback; if (forceSync) { main(undef, deps, callback, relName); } else { //Using a non-zero value because of concern for what old browsers //do, and latest browsers "upgrade" to 4 if lower value is used: //http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#dom-windowtimers-settimeout: //If want a value immediately, use require('id') instead -- something //that works in almond on the global level, but not guaranteed and //unlikely to work in other AMD implementations. setTimeout(function () { main(undef, deps, callback, relName); }, 4); } return req; }; /** * Just drops the config on the floor, but returns req in case * the config return value is used. */ req.config = function (cfg) { return req(cfg); }; /** * Expose module registry for debugging and tooling */ requirejs._defined = defined; define = function (name, deps, callback) { if (typeof name !== 'string') { throw new Error('See almond README: incorrect module build, no module name'); } //This module may not have dependencies if (!deps.splice) { //deps is not an array, so probably means //an object literal or factory function for //the value. Adjust args. callback = deps; deps = []; } if (!hasProp(defined, name) && !hasProp(waiting, name)) { waiting[name] = [name, deps, callback]; } }; define.amd = { jQuery: true }; }()); S2.requirejs = requirejs;S2.require = require;S2.define = define; } }()); S2.define("almond", function(){}); /* global jQuery:false, $:false */ S2.define('jquery',[],function () { var _$ = jQuery || $; if (_$ == null && console && console.error) { console.error( 'Select2: An instance of jQuery or a jQuery-compatible library was not ' + 'found. Make sure that you are including jQuery before Select2 on your ' + 'web page.' ); } return _$; }); S2.define('select2/utils',[ 'jquery' ], function ($) { var Utils = {}; Utils.Extend = function (ChildClass, SuperClass) { var __hasProp = {}.hasOwnProperty; function BaseConstructor () { this.constructor = ChildClass; } for (var key in SuperClass) { if (__hasProp.call(SuperClass, key)) { ChildClass[key] = SuperClass[key]; } } BaseConstructor.prototype = SuperClass.prototype; ChildClass.prototype = new BaseConstructor(); ChildClass.__super__ = SuperClass.prototype; return ChildClass; }; function getMethods (theClass) { var proto = theClass.prototype; var methods = []; for (var methodName in proto) { var m = proto[methodName]; if (typeof m !== 'function') { continue; } if (methodName === 'constructor') { continue; } methods.push(methodName); } return methods; } Utils.Decorate = function (SuperClass, DecoratorClass) { var decoratedMethods = getMethods(DecoratorClass); var superMethods = getMethods(SuperClass); function DecoratedClass () { var unshift = Array.prototype.unshift; var argCount = DecoratorClass.prototype.constructor.length; var calledConstructor = SuperClass.prototype.constructor; if (argCount > 0) { unshift.call(arguments, SuperClass.prototype.constructor); calledConstructor = DecoratorClass.prototype.constructor; } calledConstructor.apply(this, arguments); } DecoratorClass.displayName = SuperClass.displayName; function ctr () { this.constructor = DecoratedClass; } DecoratedClass.prototype = new ctr(); for (var m = 0; m < superMethods.length; m++) { var superMethod = superMethods[m]; DecoratedClass.prototype[superMethod] = SuperClass.prototype[superMethod]; } var calledMethod = function (methodName) { // Stub out the original method if it's not decorating an actual method var originalMethod = function () {}; if (methodName in DecoratedClass.prototype) { originalMethod = DecoratedClass.prototype[methodName]; } var decoratedMethod = DecoratorClass.prototype[methodName]; return function () { var unshift = Array.prototype.unshift; unshift.call(arguments, originalMethod); return decoratedMethod.apply(this, arguments); }; }; for (var d = 0; d < decoratedMethods.length; d++) { var decoratedMethod = decoratedMethods[d]; DecoratedClass.prototype[decoratedMethod] = calledMethod(decoratedMethod); } return DecoratedClass; }; var Observable = function () { this.listeners = {}; }; Observable.prototype.on = function (event, callback) { this.listeners = this.listeners || {}; if (event in this.listeners) { this.listeners[event].push(callback); } else { this.listeners[event] = [callback]; } }; Observable.prototype.trigger = function (event) { var slice = Array.prototype.slice; var params = slice.call(arguments, 1); this.listeners = this.listeners || {}; // Params should always come in as an array if (params == null) { params = []; } // If there are no arguments to the event, use a temporary object if (params.length === 0) { params.push({}); } // Set the `_type` of the first object to the event params[0]._type = event; if (event in this.listeners) { this.invoke(this.listeners[event], slice.call(arguments, 1)); } if ('*' in this.listeners) { this.invoke(this.listeners['*'], arguments); } }; Observable.prototype.invoke = function (listeners, params) { for (var i = 0, len = listeners.length; i < len; i++) { listeners[i].apply(this, params); } }; Utils.Observable = Observable; Utils.generateChars = function (length) { var chars = ''; for (var i = 0; i < length; i++) { var randomChar = Math.floor(Math.random() * 36); chars += randomChar.toString(36); } return chars; }; Utils.bind = function (func, context) { return function () { func.apply(context, arguments); }; }; Utils._convertData = function (data) { for (var originalKey in data) { var keys = originalKey.split('-'); var dataLevel = data; if (keys.length === 1) { continue; } for (var k = 0; k < keys.length; k++) { var key = keys[k]; // Lowercase the first letter // By default, dash-separated becomes camelCase key = key.substring(0, 1).toLowerCase() + key.substring(1); if (!(key in dataLevel)) { dataLevel[key] = {}; } if (k == keys.length - 1) { dataLevel[key] = data[originalKey]; } dataLevel = dataLevel[key]; } delete data[originalKey]; } return data; }; Utils.hasScroll = function (index, el) { // Adapted from the function created by @ShadowScripter // and adapted by @BillBarry on the Stack Exchange Code Review website. // The original code can be found at // http://codereview.stackexchange.com/q/13338 // and was designed to be used with the Sizzle selector engine. var $el = $(el); var overflowX = el.style.overflowX; var overflowY = el.style.overflowY; //Check both x and y declarations if (overflowX === overflowY && (overflowY === 'hidden' || overflowY === 'visible')) { return false; } if (overflowX === 'scroll' || overflowY === 'scroll') { return true; } return ($el.innerHeight() < el.scrollHeight || $el.innerWidth() < el.scrollWidth); }; Utils.escapeMarkup = function (markup) { var replaceMap = { '\\': '\', '&': '&', '<': '<', '>': '>', '"': '"', '\'': ''', '/': '/' }; // Do not try to escape the markup if it's not a string if (typeof markup !== 'string') { return markup; } return String(markup).replace(/[&<>"'\/\\]/g, function (match) { return replaceMap[match]; }); }; // Append an array of jQuery nodes to a given element. Utils.appendMany = function ($element, $nodes) { // jQuery 1.7.x does not support $.fn.append() with an array // Fall back to a jQuery object collection using $.fn.add() if ($.fn.jquery.substr(0, 3) === '1.7') { var $jqNodes = $(); $.map($nodes, function (node) { $jqNodes = $jqNodes.add(node); }); $nodes = $jqNodes; } $element.append($nodes); }; // Cache objects in Utils.__cache instead of $.data (see #4346) Utils.__cache = {}; var id = 0; Utils.GetUniqueElementId = function (element) { // Get a unique element Id. If element has no id, // creates a new unique number, stores it in the id // attribute and returns the new id. // If an id already exists, it simply returns it. var select2Id = element.getAttribute('data-select2-id'); if (select2Id == null) { // If element has id, use it. if (element.id) { select2Id = element.id; element.setAttribute('data-select2-id', select2Id); } else { element.setAttribute('data-select2-id', ++id); select2Id = id.toString(); } } return select2Id; }; Utils.StoreData = function (element, name, value) { // Stores an item in the cache for a specified element. // name is the cache key. var id = Utils.GetUniqueElementId(element); if (!Utils.__cache[id]) { Utils.__cache[id] = {}; } Utils.__cache[id][name] = value; }; Utils.GetData = function (element, name) { // Retrieves a value from the cache by its key (name) // name is optional. If no name specified, return // all cache items for the specified element. // and for a specified element. var id = Utils.GetUniqueElementId(element); if (name) { if (Utils.__cache[id]) { return Utils.__cache[id][name] != null ? Utils.__cache[id][name]: $(element).data(name); // Fallback to HTML5 data attribs. } return $(element).data(name); // Fallback to HTML5 data attribs. } else { return Utils.__cache[id]; } }; Utils.RemoveData = function (element) { // Removes all cached items for a specified element. var id = Utils.GetUniqueElementId(element); if (Utils.__cache[id] != null) { delete Utils.__cache[id]; } }; return Utils; }); S2.define('select2/results',[ 'jquery', './utils' ], function ($, Utils) { function Results ($element, options, dataAdapter) { this.$element = $element; this.data = dataAdapter; this.options = options; Results.__super__.constructor.call(this); } Utils.Extend(Results, Utils.Observable); Results.prototype.render = function () { var $results = $( '<ul class="select2-results__options" role="tree"></ul>' ); if (this.options.get('multiple')) { $results.attr('aria-multiselectable', 'true'); } this.$results = $results; return $results; }; Results.prototype.clear = function () { this.$results.empty(); }; Results.prototype.displayMessage = function (params) { var escapeMarkup = this.options.get('escapeMarkup'); this.clear(); this.hideLoading(); var $message = $( '<li role="treeitem" aria-live="assertive"' + ' class="select2-results__option"></li>' ); var message = this.options.get('translations').get(params.message); $message.append( escapeMarkup( message(params.args) ) ); $message[0].className += ' select2-results__message'; this.$results.append($message); }; Results.prototype.hideMessages = function () { this.$results.find('.select2-results__message').remove(); }; Results.prototype.append = function (data) { this.hideLoading(); var $options = []; if (data.results == null || data.results.length === 0) { if (this.$results.children().length === 0) { this.trigger('results:message', { message: 'noResults' }); } return; } data.results = this.sort(data.results); for (var d = 0; d < data.results.length; d++) { var item = data.results[d]; var $option = this.option(item); $options.push($option); } this.$results.append($options); }; Results.prototype.position = function ($results, $dropdown) { var $resultsContainer = $dropdown.find('.select2-results'); $resultsContainer.append($results); }; Results.prototype.sort = function (data) { var sorter = this.options.get('sorter'); return sorter(data); }; Results.prototype.highlightFirstItem = function () { var $options = this.$results .find('.select2-results__option[aria-selected]'); var $selected = $options.filter('[aria-selected=true]'); // Check if there are any selected options if ($selected.length > 0) { // If there are selected options, highlight the first $selected.first().trigger('mouseenter'); } else { // If there are no selected options, highlight the first option // in the dropdown $options.first().trigger('mouseenter'); } this.ensureHighlightVisible(); }; Results.prototype.setClasses = function () { var self = this; this.data.current(function (selected) { var selectedIds = $.map(selected, function (s) { return s.id.toString(); }); var $options = self.$results .find('.select2-results__option[aria-selected]'); $options.each(function () { var $option = $(this); var item = Utils.GetData(this, 'data'); // id needs to be converted to a string when comparing var id = '' + item.id; if ((item.element != null && item.element.selected) || (item.element == null && $.inArray(id, selectedIds) > -1)) { $option.attr('aria-selected', 'true'); } else { $option.attr('aria-selected', 'false'); } }); }); }; Results.prototype.showLoading = function (params) { this.hideLoading(); var loadingMore = this.options.get('translations').get('searching'); var loading = { disabled: true, loading: true, text: loadingMore(params) }; var $loading = this.option(loading); $loading.className += ' loading-results'; this.$results.prepend($loading); }; Results.prototype.hideLoading = function () { this.$results.find('.loading-results').remove(); }; Results.prototype.option = function (data) { var option = document.createElement('li'); option.className = 'select2-results__option'; var attrs = { 'role': 'treeitem', 'aria-selected': 'false' }; if (data.disabled) { delete attrs['aria-selected']; attrs['aria-disabled'] = 'true'; } if (data.id == null) { delete attrs['aria-selected']; } if (data._resultId != null) { option.id = data._resultId; } if (data.title) { option.title = data.title; } if (data.children) { attrs.role = 'group'; attrs['aria-label'] = data.text; delete attrs['aria-selected']; } for (var attr in attrs) { var val = attrs[attr]; option.setAttribute(attr, val); } if (data.children) { var $option = $(option); var label = document.createElement('strong'); label.className = 'select2-results__group'; var $label = $(label); this.template(data, label); var $children = []; for (var c = 0; c < data.children.length; c++) { var child = data.children[c]; var $child = this.option(child); $children.push($child); } var $childrenContainer = $('<ul></ul>', { 'class': 'select2-results__options select2-results__options--nested' }); $childrenContainer.append($children); $option.append(label); $option.append($childrenContainer); } else { this.template(data, option); } Utils.StoreData(option, 'data', data); return option; }; Results.prototype.bind = function (container, $container) { var self = this; var id = container.id + '-results'; this.$results.attr('id', id); container.on('results:all', function (params) { self.clear(); self.append(params.data); if (container.isOpen()) { self.setClasses(); self.highlightFirstItem(); } }); container.on('results:append', function (params) { self.append(params.data); if (container.isOpen()) { self.setClasses(); } }); container.on('query', function (params) { self.hideMessages(); self.showLoading(params); }); container.on('select', function () { if (!container.isOpen()) { return; } self.setClasses(); self.highlightFirstItem(); }); container.on('unselect', function () { if (!container.isOpen()) { return; } self.setClasses(); self.highlightFirstItem(); }); container.on('open', function () { // When the dropdown is open, aria-expended="true" self.$results.attr('aria-expanded', 'true'); self.$results.attr('aria-hidden', 'false'); self.setClasses(); self.ensureHighlightVisible(); }); container.on('close', function () { // When the dropdown is closed, aria-expended="false" self.$results.attr('aria-expanded', 'false'); self.$results.attr('aria-hidden', 'true'); self.$results.removeAttr('aria-activedescendant'); }); container.on('results:toggle', function () { var $highlighted = self.getHighlightedResults(); if ($highlighted.length === 0) { return; } $highlighted.trigger('mouseup'); }); container.on('results:select', function () { var $highlighted = self.getHighlightedResults(); if ($highlighted.length === 0) { return; } var data = Utils.GetData($highlighted[0], 'data'); if ($highlighted.attr('aria-selected') == 'true') { self.trigger('close', {}); } else { self.trigger('select', { data: data }); } }); container.on('results:previous', function () { var $highlighted = self.getHighlightedResults(); var $options = self.$results.find('[aria-selected]'); var currentIndex = $options.index($highlighted); // If we are already at te top, don't move further // If no options, currentIndex will be -1 if (currentIndex <= 0) { return; } var nextIndex = currentIndex - 1; // If none are highlighted, highlight the first if ($highlighted.length === 0) { nextIndex = 0; } var $next = $options.eq(nextIndex); $next.trigger('mouseenter'); var currentOffset = self.$results.offset().top; var nextTop = $next.offset().top; var nextOffset = self.$results.scrollTop() + (nextTop - currentOffset); if (nextIndex === 0) { self.$results.scrollTop(0); } else if (nextTop - currentOffset < 0) { self.$results.scrollTop(nextOffset); } }); container.on('results:next', function () { var $highlighted = self.getHighlightedResults(); var $options = self.$results.find('[aria-selected]'); var currentIndex = $options.index($highlighted); var nextIndex = currentIndex + 1; // If we are at the last option, stay there if (nextIndex >= $options.length) { return; } var $next = $options.eq(nextIndex); $next.trigger('mouseenter'); var currentOffset = self.$results.offset().top + self.$results.outerHeight(false); var nextBottom = $next.offset().top + $next.outerHeight(false); var nextOffset = self.$results.scrollTop() + nextBottom - currentOffset; if (nextIndex === 0) { self.$results.scrollTop(0); } else if (nextBottom > currentOffset) { self.$results.scrollTop(nextOffset); } }); container.on('results:focus', function (params) { params.element.addClass('select2-results__option--highlighted'); }); container.on('results:message', function (params) { self.displayMessage(params); }); if ($.fn.mousewheel) { this.$results.on('mousewheel', function (e) { var top = self.$results.scrollTop(); var bottom = self.$results.get(0).scrollHeight - top + e.deltaY; var isAtTop = e.deltaY > 0 && top - e.deltaY <= 0; var isAtBottom = e.deltaY < 0 && bottom <= self.$results.height(); if (isAtTop) { self.$results.scrollTop(0); e.preventDefault(); e.stopPropagation(); } else if (isAtBottom) { self.$results.scrollTop( self.$results.get(0).scrollHeight - self.$results.height() ); e.preventDefault(); e.stopPropagation(); } }); } this.$results.on('mouseup', '.select2-results__option[aria-selected]', function (evt) { var $this = $(this); var data = Utils.GetData(this, 'data'); if ($this.attr('aria-selected') === 'true') { if (self.options.get('multiple')) { self.trigger('unselect', { originalEvent: evt, data: data }); } else { self.trigger('close', {}); } return; } self.trigger('select', { originalEvent: evt, data: data }); }); this.$results.on('mouseenter', '.select2-results__option[aria-selected]', function (evt) { var data = Utils.GetData(this, 'data'); self.getHighlightedResults() .removeClass('select2-results__option--highlighted'); self.trigger('results:focus', { data: data, element: $(this) }); }); }; Results.prototype.getHighlightedResults = function () { var $highlighted = this.$results .find('.select2-results__option--highlighted'); return $highlighted; }; Results.prototype.destroy = function () { this.$results.remove(); }; Results.prototype.ensureHighlightVisible = function () { var $highlighted = this.getHighlightedResults(); if ($highlighted.length === 0) { return; } var $options = this.$results.find('[aria-selected]'); var currentIndex = $options.index($highlighted); var currentOffset = this.$results.offset().top; var nextTop = $highlighted.offset().top; var nextOffset = this.$results.scrollTop() + (nextTop - currentOffset); var offsetDelta = nextTop - currentOffset; nextOffset -= $highlighted.outerHeight(false) * 2; if (currentIndex <= 2) { this.$results.scrollTop(0); } else if (offsetDelta > this.$results.outerHeight() || offsetDelta < 0) { this.$results.scrollTop(nextOffset); } }; Results.prototype.template = function (result, container) { var template = this.options.get('templateResult'); var escapeMarkup = this.options.get('escapeMarkup'); var content = template(result, container); if (content == null) { container.style.display = 'none'; } else if (typeof content === 'string') { container.innerHTML = escapeMarkup(content); } else { $(container).append(content); } }; return Results; }); S2.define('select2/keys',[ ], function () { var KEYS = { BACKSPACE: 8, TAB: 9, ENTER: 13, SHIFT: 16, CTRL: 17, ALT: 18, ESC: 27, SPACE: 32, PAGE_UP: 33, PAGE_DOWN: 34, END: 35, HOME: 36, LEFT: 37, UP: 38, RIGHT: 39, DOWN: 40, DELETE: 46 }; return KEYS; }); S2.define('select2/selection/base',[ 'jquery', '../utils', '../keys' ], function ($, Utils, KEYS) { function BaseSelection ($element, options) { this.$element = $element; this.options = options; BaseSelection.__super__.constructor.call(this); } Utils.Extend(BaseSelection, Utils.Observable); BaseSelection.prototype.render = function () { var $selection = $( '<span class="select2-selection" role="combobox" ' + ' aria-haspopup="true" aria-expanded="false">' + '</span>' ); this._tabindex = 0; if (Utils.GetData(this.$element[0], 'old-tabindex') != null) { this._tabindex = Utils.GetData(this.$element[0], 'old-tabindex'); } else if (this.$element.attr('tabindex') != null) { this._tabindex = this.$element.attr('tabindex'); } $selection.attr('title', this.$element.attr('title')); $selection.attr('tabindex', this._tabindex); this.$selection = $selection; return $selection; }; BaseSelection.prototype.bind = function (container, $container) { var self = this; var id = container.id + '-container'; var resultsId = container.id + '-results'; this.container = container; this.$selection.on('focus', function (evt) { self.trigger('focus', evt); }); this.$selection.on('blur', function (evt) { self._handleBlur(evt); }); this.$selection.on('keydown', function (evt) { self.trigger('keypress', evt); if (evt.which === KEYS.SPACE) { evt.preventDefault(); } }); container.on('results:focus', function (params) { self.$selection.attr('aria-activedescendant', params.data._resultId); }); container.on('selection:update', function (params) { self.update(params.data); }); container.on('open', function () { // When the dropdown is open, aria-expanded="true" self.$selection.attr('aria-expanded', 'true'); self.$selection.attr('aria-owns', resultsId); self._attachCloseHandler(container); }); container.on('close', function () { // When the dropdown is closed, aria-expanded="false" self.$selection.attr('aria-expanded', 'false'); self.$selection.removeAttr('aria-activedescendant'); self.$selection.removeAttr('aria-owns'); self.$selection.focus(); window.setTimeout(function () { self.$selection.focus(); }, 0); self._detachCloseHandler(container); }); container.on('enable', function () { self.$selection.attr('tabindex', self._tabindex); }); container.on('disable', function () { self.$selection.attr('tabindex', '-1'); }); }; BaseSelection.prototype._handleBlur = function (evt) { var self = this; // This needs to be delayed as the active element is the body when the tab // key is pressed, possibly along with others. window.setTimeout(function () { // Don't trigger `blur` if the focus is still in the selection if ( (document.activeElement == self.$selection[0]) || ($.contains(self.$selection[0], document.activeElement)) ) { return; } self.trigger('blur', evt); }, 1); }; BaseSelection.prototype._attachCloseHandler = function (container) { var self = this; $(document.body).on('mousedown.select2.' + container.id, function (e) { var $target = $(e.target); var $select = $target.closest('.select2'); var $all = $('.select2.select2-container--open'); $all.each(function () { var $this = $(this); if (this == $select[0]) { return; } var $element = Utils.GetData(this, 'element'); $element.select2('close'); }); }); }; BaseSelection.prototype._detachCloseHandler = function (container) { $(document.body).off('mousedown.select2.' + container.id); }; BaseSelection.prototype.position = function ($selection, $container) { var $selectionContainer = $container.find('.selection'); $selectionContainer.append($selection); }; BaseSelection.prototype.destroy = function () { this._detachCloseHandler(this.container); }; BaseSelection.prototype.update = function (data) { throw new Error('The `update` method must be defined in child classes.'); }; return BaseSelection; }); S2.define('select2/selection/single',[ 'jquery', './base', '../utils', '../keys' ], function ($, BaseSelection, Utils, KEYS) { function SingleSelection () { SingleSelection.__super__.constructor.apply(this, arguments); } Utils.Extend(SingleSelection, BaseSelection); SingleSelection.prototype.render = function () { var $selection = SingleSelection.__super__.render.call(this); $selection.addClass('select2-selection--single'); $selection.html( '<span class="select2-selection__rendered"></span>' + '<span class="select2-selection__arrow" role="presentation">' + '<b role="presentation"></b>' + '</span>' ); return $selection; }; SingleSelection.prototype.bind = function (container, $container) { var self = this; SingleSelection.__super__.bind.apply(this, arguments); var id = container.id + '-container'; this.$selection.find('.select2-selection__rendered') .attr('id', id) .attr('role', 'textbox') .attr('aria-readonly', 'true'); this.$selection.attr('aria-labelledby', id); this.$selection.on('mousedown', function (evt) { // Only respond to left clicks if (evt.which !== 1) { return; } self.trigger('toggle', { originalEvent: evt }); }); this.$selection.on('focus', function (evt) { // User focuses on the container }); this.$selection.on('blur', function (evt) { // User exits the container }); container.on('focus', function (evt) { if (!container.isOpen()) { self.$selection.focus(); } }); }; SingleSelection.prototype.clear = function () { var $rendered = this.$selection.find('.select2-selection__rendered'); $rendered.empty(); $rendered.removeAttr('title'); // clear tooltip on empty }; SingleSelection.prototype.display = function (data, container) { var template = this.options.get('templateSelection'); var escapeMarkup = this.options.get('escapeMarkup'); return escapeMarkup(template(data, container)); }; SingleSelection.prototype.selectionContainer = function () { return $('<span></span>'); }; SingleSelection.prototype.update = function (data) { if (data.length === 0) { this.clear(); return; } var selection = data[0]; var $rendered = this.$selection.find('.select2-selection__rendered'); var formatted = this.display(selection, $rendered); $rendered.empty().append(formatted); $rendered.attr('title', selection.title || selection.text); }; return SingleSelection; }); S2.define('select2/selection/multiple',[ 'jquery', './base', '../utils' ], function ($, BaseSelection, Utils) { function MultipleSelection ($element, options) { MultipleSelection.__super__.constructor.apply(this, arguments); } Utils.Extend(MultipleSelection, BaseSelection); MultipleSelection.prototype.render = function () { var $selection = MultipleSelection.__super__.render.call(this); $selection.addClass('select2-selection--multiple'); $selection.html( '<ul class="select2-selection__rendered"></ul>' ); return $selection; }; MultipleSelection.prototype.bind = function (container, $container) { var self = this; MultipleSelection.__super__.bind.apply(this, arguments); this.$selection.on('click', function (evt) { self.trigger('toggle', { originalEvent: evt }); }); this.$selection.on( 'click', '.select2-selection__choice__remove', function (evt) { // Ignore the event if it is disabled if (self.options.get('disabled')) { return; } var $remove = $(this); var $selection = $remove.parent(); var data = Utils.GetData($selection[0], 'data'); self.trigger('unselect', { originalEvent: evt, data: data }); } ); }; MultipleSelection.prototype.clear = function () { var $rendered = this.$selection.find('.select2-selection__rendered'); $rendered.empty(); $rendered.removeAttr('title'); }; MultipleSelection.prototype.display = function (data, container) { var template = this.options.get('templateSelection'); var escapeMarkup = this.options.get('escapeMarkup'); return escapeMarkup(template(data, container)); }; MultipleSelection.prototype.selectionContainer = function () { var $container = $( '<li class="select2-selection__choice">' + '<span class="select2-selection__choice__remove" role="presentation">' + '×' + '</span>' + '</li>' ); return $container; }; MultipleSelection.prototype.update = function (data) { this.clear(); if (data.length === 0) { return; } var $selections = []; for (var d = 0; d < data.length; d++) { var selection = data[d]; var $selection = this.selectionContainer(); var formatted = this.display(selection, $selection); $selection.append(formatted); $selection.attr('title', selection.title || selection.text); Utils.StoreData($selection[0], 'data', selection); $selections.push($selection); } var $rendered = this.$selection.find('.select2-selection__rendered'); Utils.appendMany($rendered, $selections); }; return MultipleSelection; }); S2.define('select2/selection/placeholder',[ '../utils' ], function (Utils) { function Placeholder (decorated, $element, options) { this.placeholder = this.normalizePlaceholder(options.get('placeholder')); decorated.call(this, $element, options); } Placeholder.prototype.normalizePlaceholder = function (_, placeholder) { if (typeof placeholder === 'string') { placeholder = { id: '', text: placeholder }; } return placeholder; }; Placeholder.prototype.createPlaceholder = function (decorated, placeholder) { var $placeholder = this.selectionContainer(); $placeholder.html(this.display(placeholder)); $placeholder.addClass('select2-selection__placeholder') .removeClass('select2-selection__choice'); return $placeholder; }; Placeholder.prototype.update = function (decorated, data) { var singlePlaceholder = ( data.length == 1 && data[0].id != this.placeholder.id ); var multipleSelections = data.length > 1; if (multipleSelections || singlePlaceholder) { return decorated.call(this, data); } this.clear(); var $placeholder = this.createPlaceholder(this.placeholder); this.$selection.find('.select2-selection__rendered').append($placeholder); }; return Placeholder; }); S2.define('select2/selection/allowClear',[ 'jquery', '../keys', '../utils' ], function ($, KEYS, Utils) { function AllowClear () { } AllowClear.prototype.bind = function (decorated, container, $container) { var self = this; decorated.call(this, container, $container); if (this.placeholder == null) { if (this.options.get('debug') && window.console && console.error) { console.error( 'Select2: The `allowClear` option should be used in combination ' + 'with the `placeholder` option.' ); } } this.$selection.on('mousedown', '.select2-selection__clear', function (evt) { self._handleClear(evt); }); container.on('keypress', function (evt) { self._handleKeyboardClear(evt, container); }); }; AllowClear.prototype._handleClear = function (_, evt) { // Ignore the event if it is disabled if (this.options.get('disabled')) { return; } var $clear = this.$selection.find('.select2-selection__clear'); // Ignore the event if nothing has been selected if ($clear.length === 0) { return; } evt.stopPropagation(); var data = Utils.GetData($clear[0], 'data'); var previousVal = this.$element.val(); this.$element.val(this.placeholder.id); var unselectData = { data: data }; this.trigger('clear', unselectData); if (unselectData.prevented) { this.$element.val(previousVal); return; } for (var d = 0; d < data.length; d++) { unselectData = { data: data[d] }; // Trigger the `unselect` event, so people can prevent it from being // cleared. this.trigger('unselect', unselectData); // If the event was prevented, don't clear it out. if (unselectData.prevented) { this.$element.val(previousVal); return; } } this.$element.trigger('change'); this.trigger('toggle', {}); }; AllowClear.prototype._handleKeyboardClear = function (_, evt, container) { if (container.isOpen()) { return; } if (evt.which == KEYS.DELETE || evt.which == KEYS.BACKSPACE) { this._handleClear(evt); } }; AllowClear.prototype.update = function (decorated, data) { decorated.call(this, data); if (this.$selection.find('.select2-selection__placeholder').length > 0 || data.length === 0) { return; } var $remove = $( '<span class="select2-selection__clear">' + '×' + '</span>' ); Utils.StoreData($remove[0], 'data', data); this.$selection.find('.select2-selection__rendered').prepend($remove); }; return AllowClear; }); S2.define('select2/selection/search',[ 'jquery', '../utils', '../keys' ], function ($, Utils, KEYS) { function Search (decorated, $element, options) { decorated.call(this, $element, options); } Search.prototype.render = function (decorated) { var $search = $( '<li class="select2-search select2-search--inline">' + '<input class="select2-search__field" type="search" tabindex="-1"' + ' autocomplete="off" autocorrect="off" autocapitalize="none"' + ' spellcheck="false" role="textbox" aria-autocomplete="list" />' + '</li>' ); this.$searchContainer = $search; this.$search = $search.find('input'); var $rendered = decorated.call(this); this._transferTabIndex(); return $rendered; }; Search.prototype.bind = function (decorated, container, $container) { var self = this; decorated.call(this, container, $container); container.on('open', function () { self.$search.trigger('focus'); }); container.on('close', function () { self.$search.val(''); self.$search.removeAttr('aria-activedescendant'); self.$search.trigger('focus'); }); container.on('enable', function () { self.$search.prop('disabled', false); self._transferTabIndex(); }); container.on('disable', function () { self.$search.prop('disabled', true); }); container.on('focus', function (evt) { self.$search.trigger('focus'); }); container.on('results:focus', function (params) { self.$search.attr('aria-activedescendant', params.id); }); this.$selection.on('focusin', '.select2-search--inline', function (evt) { self.trigger('focus', evt); }); this.$selection.on('focusout', '.select2-search--inline', function (evt) { self._handleBlur(evt); }); this.$selection.on('keydown', '.select2-search--inline', function (evt) { evt.stopPropagation(); self.trigger('keypress', evt); self._keyUpPrevented = evt.isDefaultPrevented(); var key = evt.which; if (key === KEYS.BACKSPACE && self.$search.val() === '') { var $previousChoice = self.$searchContainer .prev('.select2-selection__choice'); if ($previousChoice.length > 0) { var item = Utils.GetData($previousChoice[0], 'data'); self.searchRemoveChoice(item); evt.preventDefault(); } } }); // Try to detect the IE version should the `documentMode` property that // is stored on the document. This is only implemented in IE and is // slightly cleaner than doing a user agent check. // This property is not available in Edge, but Edge also doesn't have // this bug. var msie = document.documentMode; var disableInputEvents = msie && msie <= 11; // Workaround for browsers which do not support the `input` event // This will prevent double-triggering of events for browsers which support // both the `keyup` and `input` events. this.$selection.on( 'input.searchcheck', '.select2-search--inline', function (evt) { // IE will trigger the `input` event when a placeholder is used on a // search box. To get around this issue, we are forced to ignore all // `input` events in IE and keep using `keyup`. if (disableInputEvents) { self.$selection.off('input.search input.searchcheck'); return; } // Unbind the duplicated `keyup` event self.$selection.off('keyup.search'); } ); this.$selection.on( 'keyup.search input.search', '.select2-search--inline', function (evt) { // IE will trigger the `input` event when a placeholder is used on a // search box. To get around this issue, we are forced to ignore all // `input` events in IE and keep using `keyup`. if (disableInputEvents && evt.type === 'input') { self.$selection.off('input.search input.searchcheck'); return; } var key = evt.which; // We can freely ignore events from modifier keys if (key == KEYS.SHIFT || key == KEYS.CTRL || key == KEYS.ALT) { return; } // Tabbing will be handled during the `keydown` phase if (key == KEYS.TAB) { return; } self.handleSearch(evt); } ); }; /** * This method will transfer the tabindex attribute from the rendered * selection to the search box. This allows for the search box to be used as * the primary focus instead of the selection container. * * @private */ Search.prototype._transferTabIndex = function (decorated) { this.$search.attr('tabindex', this.$selection.attr('tabindex')); this.$selection.attr('tabindex', '-1'); }; Search.prototype.createPlaceholder = function (decorated, placeholder) { this.$search.attr('placeholder', placeholder.text); }; Search.prototype.update = function (decorated, data) { var searchHadFocus = this.$search[0] == document.activeElement; this.$search.attr('placeholder', ''); decorated.call(this, data); this.$selection.find('.select2-selection__rendered') .append(this.$searchContainer); this.resizeSearch(); if (searchHadFocus) { var isTagInput = this.$element.find('[data-select2-tag]').length; if (isTagInput) { // fix IE11 bug where tag input lost focus this.$element.focus(); } else { this.$search.focus(); } } }; Search.prototype.handleSearch = function () { this.resizeSearch(); if (!this._keyUpPrevented) { var input = this.$search.val(); this.trigger('query', { term: input }); } this._keyUpPrevented = false; }; Search.prototype.searchRemoveChoice = function (decorated, item) { this.trigger('unselect', { data: item }); this.$search.val(item.text); this.handleSearch(); }; Search.prototype.resizeSearch = function () { this.$search.css('width', '25px'); var width = ''; if (this.$search.attr('placeholder') !== '') { width = this.$selection.find('.select2-selection__rendered').innerWidth(); } else { var minimumWidth = this.$search.val().length + 1; width = (minimumWidth * 0.75) + 'em'; } this.$search.css('width', width); }; return Search; }); S2.define('select2/selection/eventRelay',[ 'jquery' ], function ($) { function EventRelay () { } EventRelay.prototype.bind = function (decorated, container, $container) { var self = this; var relayEvents = [ 'open', 'opening', 'close', 'closing', 'select', 'selecting', 'unselect', 'unselecting', 'clear', 'clearing' ]; var preventableEvents = [ 'opening', 'closing', 'selecting', 'unselecting', 'clearing' ]; decorated.call(this, container, $container); container.on('*', function (name, params) { // Ignore events that should not be relayed if ($.inArray(name, relayEvents) === -1) { return; } // The parameters should always be an object params = params || {}; // Generate the jQuery event for the Select2 event var evt = $.Event('select2:' + name, { params: params }); self.$element.trigger(evt); // Only handle preventable events if it was one if ($.inArray(name, preventableEvents) === -1) { return; } params.prevented = evt.isDefaultPrevented(); }); }; return EventRelay; }); S2.define('select2/translation',[ 'jquery', 'require' ], function ($, require) { function Translation (dict) { this.dict = dict || {}; } Translation.prototype.all = function () { return this.dict; }; Translation.prototype.get = function (key) { return this.dict[key]; }; Translation.prototype.extend = function (translation) { this.dict = $.extend({}, translation.all(), this.dict); }; // Static functions Translation._cache = {}; Translation.loadPath = function (path) { if (!(path in Translation._cache)) { var translations = require(path); Translation._cache[path] = translations; } return new Translation(Translation._cache[path]); }; return Translation; }); S2.define('select2/diacritics',[ ], function () { var diacritics = { '\u24B6': 'A', '\uFF21': 'A', '\u00C0': 'A', '\u00C1': 'A', '\u00C2': 'A', '\u1EA6': 'A', '\u1EA4': 'A', '\u1EAA': 'A', '\u1EA8': 'A', '\u00C3': 'A', '\u0100': 'A', '\u0102': 'A', '\u1EB0': 'A', '\u1EAE': 'A', '\u1EB4': 'A', '\u1EB2': 'A', '\u0226': 'A', '\u01E0': 'A', '\u00C4': 'A', '\u01DE': 'A', '\u1EA2': 'A', '\u00C5': 'A', '\u01FA': 'A', '\u01CD': 'A', '\u0200': 'A', '\u0202': 'A', '\u1EA0': 'A', '\u1EAC': 'A', '\u1EB6': 'A', '\u1E00': 'A', '\u0104': 'A', '\u023A': 'A', '\u2C6F': 'A', '\uA732': 'AA', '\u00C6': 'AE', '\u01FC': 'AE', '\u01E2': 'AE', '\uA734': 'AO', '\uA736': 'AU', '\uA738': 'AV', '\uA73A': 'AV', '\uA73C': 'AY', '\u24B7': 'B', '\uFF22': 'B', '\u1E02': 'B', '\u1E04': 'B', '\u1E06': 'B', '\u0243': 'B', '\u0182': 'B', '\u0181': 'B', '\u24B8': 'C', '\uFF23': 'C', '\u0106': 'C', '\u0108': 'C', '\u010A': 'C', '\u010C': 'C', '\u00C7': 'C', '\u1E08': 'C', '\u0187': 'C', '\u023B': 'C', '\uA73E': 'C', '\u24B9': 'D', '\uFF24': 'D', '\u1E0A': 'D', '\u010E': 'D', '\u1E0C': 'D', '\u1E10': 'D', '\u1E12': 'D', '\u1E0E': 'D', '\u0110': 'D', '\u018B': 'D', '\u018A': 'D', '\u0189': 'D', '\uA779': 'D', '\u01F1': 'DZ', '\u01C4': 'DZ', '\u01F2': 'Dz', '\u01C5': 'Dz', '\u24BA': 'E', '\uFF25': 'E', '\u00C8': 'E', '\u00C9': 'E', '\u00CA': 'E', '\u1EC0': 'E', '\u1EBE': 'E', '\u1EC4': 'E', '\u1EC2': 'E', '\u1EBC': 'E', '\u0112': 'E', '\u1E14': 'E', '\u1E16': 'E', '\u0114': 'E', '\u0116': 'E', '\u00CB': 'E', '\u1EBA': 'E', '\u011A': 'E', '\u0204': 'E', '\u0206': 'E', '\u1EB8': 'E', '\u1EC6': 'E', '\u0228': 'E', '\u1E1C': 'E', '\u0118': 'E', '\u1E18': 'E', '\u1E1A': 'E', '\u0190': 'E', '\u018E': 'E', '\u24BB': 'F', '\uFF26': 'F', '\u1E1E': 'F', '\u0191': 'F', '\uA77B': 'F', '\u24BC': 'G', '\uFF27': 'G', '\u01F4': 'G', '\u011C': 'G', '\u1E20': 'G', '\u011E': 'G', '\u0120': 'G', '\u01E6': 'G', '\u0122': 'G', '\u01E4': 'G', '\u0193': 'G', '\uA7A0': 'G', '\uA77D': 'G', '\uA77E': 'G', '\u24BD': 'H', '\uFF28': 'H', '\u0124': 'H', '\u1E22': 'H', '\u1E26': 'H', '\u021E': 'H', '\u1E24': 'H', '\u1E28': 'H', '\u1E2A': 'H', '\u0126': 'H', '\u2C67': 'H', '\u2C75': 'H', '\uA78D': 'H', '\u24BE': 'I', '\uFF29': 'I', '\u00CC': 'I', '\u00CD': 'I', '\u00CE': 'I', '\u0128': 'I', '\u012A': 'I', '\u012C': 'I', '\u0130': 'I', '\u00CF': 'I', '\u1E2E': 'I', '\u1EC8': 'I', '\u01CF': 'I', '\u0208': 'I', '\u020A': 'I', '\u1ECA': 'I', '\u012E': 'I', '\u1E2C': 'I', '\u0197': 'I', '\u24BF': 'J', '\uFF2A': 'J', '\u0134': 'J', '\u0248': 'J', '\u24C0': 'K', '\uFF2B': 'K', '\u1E30': 'K', '\u01E8': 'K', '\u1E32': 'K', '\u0136': 'K', '\u1E34': 'K', '\u0198': 'K', '\u2C69': 'K', '\uA740': 'K', '\uA742': 'K', '\uA744': 'K', '\uA7A2': 'K', '\u24C1': 'L', '\uFF2C': 'L', '\u013F': 'L', '\u0139': 'L', '\u013D': 'L', '\u1E36': 'L', '\u1E38': 'L', '\u013B': 'L', '\u1E3C': 'L', '\u1E3A': 'L', '\u0141': 'L', '\u023D': 'L', '\u2C62': 'L', '\u2C60': 'L', '\uA748': 'L', '\uA746': 'L', '\uA780': 'L', '\u01C7': 'LJ', '\u01C8': 'Lj', '\u24C2': 'M', '\uFF2D': 'M', '\u1E3E': 'M', '\u1E40': 'M', '\u1E42': 'M', '\u2C6E': 'M', '\u019C': 'M', '\u24C3': 'N', '\uFF2E': 'N', '\u01F8': 'N', '\u0143': 'N', '\u00D1': 'N', '\u1E44': 'N', '\u0147': 'N', '\u1E46': 'N', '\u0145': 'N', '\u1E4A': 'N', '\u1E48': 'N', '\u0220': 'N', '\u019D': 'N', '\uA790': 'N', '\uA7A4': 'N', '\u01CA': 'NJ', '\u01CB': 'Nj', '\u24C4': 'O', '\uFF2F': 'O', '\u00D2': 'O', '\u00D3': 'O', '\u00D4': 'O', '\u1ED2': 'O', '\u1ED0': 'O', '\u1ED6': 'O', '\u1ED4': 'O', '\u00D5': 'O', '\u1E4C': 'O', '\u022C': 'O', '\u1E4E': 'O', '\u014C': 'O', '\u1E50': 'O', '\u1E52': 'O', '\u014E': 'O', '\u022E': 'O', '\u0230': 'O', '\u00D6': 'O', '\u022A': 'O', '\u1ECE': 'O', '\u0150': 'O', '\u01D1': 'O', '\u020C': 'O', '\u020E': 'O', '\u01A0': 'O', '\u1EDC': 'O', '\u1EDA': 'O', '\u1EE0': 'O', '\u1EDE': 'O', '\u1EE2': 'O', '\u1ECC': 'O', '\u1ED8': 'O', '\u01EA': 'O', '\u01EC': 'O', '\u00D8': 'O', '\u01FE': 'O', '\u0186': 'O', '\u019F': 'O', '\uA74A': 'O', '\uA74C': 'O', '\u01A2': 'OI', '\uA74E': 'OO', '\u0222': 'OU', '\u24C5': 'P', '\uFF30': 'P', '\u1E54': 'P', '\u1E56': 'P', '\u01A4': 'P', '\u2C63': 'P', '\uA750': 'P', '\uA752': 'P', '\uA754': 'P', '\u24C6': 'Q', '\uFF31': 'Q', '\uA756': 'Q', '\uA758': 'Q', '\u024A': 'Q', '\u24C7': 'R', '\uFF32': 'R', '\u0154': 'R', '\u1E58': 'R', '\u0158': 'R', '\u0210': 'R', '\u0212': 'R', '\u1E5A': 'R', '\u1E5C': 'R', '\u0156': 'R', '\u1E5E': 'R', '\u024C': 'R', '\u2C64': 'R', '\uA75A': 'R', '\uA7A6': 'R', '\uA782': 'R', '\u24C8': 'S', '\uFF33': 'S', '\u1E9E': 'S', '\u015A': 'S', '\u1E64': 'S', '\u015C': 'S', '\u1E60': 'S', '\u0160': 'S', '\u1E66': 'S', '\u1E62': 'S', '\u1E68': 'S', '\u0218': 'S', '\u015E': 'S', '\u2C7E': 'S', '\uA7A8': 'S', '\uA784': 'S', '\u24C9': 'T', '\uFF34': 'T', '\u1E6A': 'T', '\u0164': 'T', '\u1E6C': 'T', '\u021A': 'T', '\u0162': 'T', '\u1E70': 'T', '\u1E6E': 'T', '\u0166': 'T', '\u01AC': 'T', '\u01AE': 'T', '\u023E': 'T', '\uA786': 'T', '\uA728': 'TZ', '\u24CA': 'U', '\uFF35': 'U', '\u00D9': 'U', '\u00DA': 'U', '\u00DB': 'U', '\u0168': 'U', '\u1E78': 'U', '\u016A': 'U', '\u1E7A': 'U', '\u016C': 'U', '\u00DC': 'U', '\u01DB': 'U', '\u01D7': 'U', '\u01D5': 'U', '\u01D9': 'U', '\u1EE6': 'U', '\u016E': 'U', '\u0170': 'U', '\u01D3': 'U', '\u0214': 'U', '\u0216': 'U', '\u01AF': 'U', '\u1EEA': 'U', '\u1EE8': 'U', '\u1EEE': 'U', '\u1EEC': 'U', '\u1EF0': 'U', '\u1EE4': 'U', '\u1E72': 'U', '\u0172': 'U', '\u1E76': 'U', '\u1E74': 'U', '\u0244': 'U', '\u24CB': 'V', '\uFF36': 'V', '\u1E7C': 'V', '\u1E7E': 'V', '\u01B2': 'V', '\uA75E': 'V', '\u0245': 'V', '\uA760': 'VY', '\u24CC': 'W', '\uFF37': 'W', '\u1E80': 'W', '\u1E82': 'W', '\u0174': 'W', '\u1E86': 'W', '\u1E84': 'W', '\u1E88': 'W', '\u2C72': 'W', '\u24CD': 'X', '\uFF38': 'X', '\u1E8A': 'X', '\u1E8C': 'X', '\u24CE': 'Y', '\uFF39': 'Y', '\u1EF2': 'Y', '\u00DD': 'Y', '\u0176': 'Y', '\u1EF8': 'Y', '\u0232': 'Y', '\u1E8E': 'Y', '\u0178': 'Y', '\u1EF6': 'Y', '\u1EF4': 'Y', '\u01B3': 'Y', '\u024E': 'Y', '\u1EFE': 'Y', '\u24CF': 'Z', '\uFF3A': 'Z', '\u0179': 'Z', '\u1E90': 'Z', '\u017B': 'Z', '\u017D': 'Z', '\u1E92': 'Z', '\u1E94': 'Z', '\u01B5': 'Z', '\u0224': 'Z', '\u2C7F': 'Z', '\u2C6B': 'Z', '\uA762': 'Z', '\u24D0': 'a', '\uFF41': 'a', '\u1E9A': 'a', '\u00E0': 'a', '\u00E1': 'a', '\u00E2': 'a', '\u1EA7': 'a', '\u1EA5': 'a', '\u1EAB': 'a', '\u1EA9': 'a', '\u00E3': 'a', '\u0101': 'a', '\u0103': 'a', '\u1EB1': 'a', '\u1EAF': 'a', '\u1EB5': 'a', '\u1EB3': 'a', '\u0227': 'a', '\u01E1': 'a', '\u00E4': 'a', '\u01DF': 'a', '\u1EA3': 'a', '\u00E5': 'a', '\u01FB': 'a', '\u01CE': 'a', '\u0201': 'a', '\u0203': 'a', '\u1EA1': 'a', '\u1EAD': 'a', '\u1EB7': 'a', '\u1E01': 'a', '\u0105': 'a', '\u2C65': 'a', '\u0250': 'a', '\uA733': 'aa', '\u00E6': 'ae', '\u01FD': 'ae', '\u01E3': 'ae', '\uA735': 'ao', '\uA737': 'au', '\uA739': 'av', '\uA73B': 'av', '\uA73D': 'ay', '\u24D1': 'b', '\uFF42': 'b', '\u1E03': 'b', '\u1E05': 'b', '\u1E07': 'b', '\u0180': 'b', '\u0183': 'b', '\u0253': 'b', '\u24D2': 'c', '\uFF43': 'c', '\u0107': 'c', '\u0109': 'c', '\u010B': 'c', '\u010D': 'c', '\u00E7': 'c', '\u1E09': 'c', '\u0188': 'c', '\u023C': 'c', '\uA73F': 'c', '\u2184': 'c', '\u24D3': 'd', '\uFF44': 'd', '\u1E0B': 'd', '\u010F': 'd', '\u1E0D': 'd', '\u1E11': 'd', '\u1E13': 'd', '\u1E0F': 'd', '\u0111': 'd', '\u018C': 'd', '\u0256': 'd', '\u0257': 'd', '\uA77A': 'd', '\u01F3': 'dz', '\u01C6': 'dz', '\u24D4': 'e', '\uFF45': 'e', '\u00E8': 'e', '\u00E9': 'e', '\u00EA': 'e', '\u1EC1': 'e', '\u1EBF': 'e', '\u1EC5': 'e', '\u1EC3': 'e', '\u1EBD': 'e', '\u0113': 'e', '\u1E15': 'e', '\u1E17': 'e', '\u0115': 'e', '\u0117': 'e', '\u00EB': 'e', '\u1EBB': 'e', '\u011B': 'e', '\u0205': 'e', '\u0207': 'e', '\u1EB9': 'e', '\u1EC7': 'e', '\u0229': 'e', '\u1E1D': 'e', '\u0119': 'e', '\u1E19': 'e', '\u1E1B': 'e', '\u0247': 'e', '\u025B': 'e', '\u01DD': 'e', '\u24D5': 'f', '\uFF46': 'f', '\u1E1F': 'f', '\u0192': 'f', '\uA77C': 'f', '\u24D6': 'g', '\uFF47': 'g', '\u01F5': 'g', '\u011D': 'g', '\u1E21': 'g', '\u011F': 'g', '\u0121': 'g', '\u01E7': 'g', '\u0123': 'g', '\u01E5': 'g', '\u0260': 'g', '\uA7A1': 'g', '\u1D79': 'g', '\uA77F': 'g', '\u24D7': 'h', '\uFF48': 'h', '\u0125': 'h', '\u1E23': 'h', '\u1E27': 'h', '\u021F': 'h', '\u1E25': 'h', '\u1E29': 'h', '\u1E2B': 'h', '\u1E96': 'h', '\u0127': 'h', '\u2C68': 'h', '\u2C76': 'h', '\u0265': 'h', '\u0195': 'hv', '\u24D8': 'i', '\uFF49': 'i', '\u00EC': 'i', '\u00ED': 'i', '\u00EE': 'i', '\u0129': 'i', '\u012B': 'i', '\u012D': 'i', '\u00EF': 'i', '\u1E2F': 'i', '\u1EC9': 'i', '\u01D0': 'i', '\u0209': 'i', '\u020B': 'i', '\u1ECB': 'i', '\u012F': 'i', '\u1E2D': 'i', '\u0268': 'i', '\u0131': 'i', '\u24D9': 'j', '\uFF4A': 'j', '\u0135': 'j', '\u01F0': 'j', '\u0249': 'j', '\u24DA': 'k', '\uFF4B': 'k', '\u1E31': 'k', '\u01E9': 'k', '\u1E33': 'k', '\u0137': 'k', '\u1E35': 'k', '\u0199': 'k', '\u2C6A': 'k', '\uA741': 'k', '\uA743': 'k', '\uA745': 'k', '\uA7A3': 'k', '\u24DB': 'l', '\uFF4C': 'l', '\u0140': 'l', '\u013A': 'l', '\u013E': 'l', '\u1E37': 'l', '\u1E39': 'l', '\u013C': 'l', '\u1E3D': 'l', '\u1E3B': 'l', '\u017F': 'l', '\u0142': 'l', '\u019A': 'l', '\u026B': 'l', '\u2C61': 'l', '\uA749': 'l', '\uA781': 'l', '\uA747': 'l', '\u01C9': 'lj', '\u24DC': 'm', '\uFF4D': 'm', '\u1E3F': 'm', '\u1E41': 'm', '\u1E43': 'm', '\u0271': 'm', '\u026F': 'm', '\u24DD': 'n', '\uFF4E': 'n', '\u01F9': 'n', '\u0144': 'n', '\u00F1': 'n', '\u1E45': 'n', '\u0148': 'n', '\u1E47': 'n', '\u0146': 'n', '\u1E4B': 'n', '\u1E49': 'n', '\u019E': 'n', '\u0272': 'n', '\u0149': 'n', '\uA791': 'n', '\uA7A5': 'n', '\u01CC': 'nj', '\u24DE': 'o', '\uFF4F': 'o', '\u00F2': 'o', '\u00F3': 'o', '\u00F4': 'o', '\u1ED3': 'o', '\u1ED1': 'o', '\u1ED7': 'o', '\u1ED5': 'o', '\u00F5': 'o', '\u1E4D': 'o', '\u022D': 'o', '\u1E4F': 'o', '\u014D': 'o', '\u1E51': 'o', '\u1E53': 'o', '\u014F': 'o', '\u022F': 'o', '\u0231': 'o', '\u00F6': 'o', '\u022B': 'o', '\u1ECF': 'o', '\u0151': 'o', '\u01D2': 'o', '\u020D': 'o', '\u020F': 'o', '\u01A1': 'o', '\u1EDD': 'o', '\u1EDB': 'o', '\u1EE1': 'o', '\u1EDF': 'o', '\u1EE3': 'o', '\u1ECD': 'o', '\u1ED9': 'o', '\u01EB': 'o', '\u01ED': 'o', '\u00F8': 'o', '\u01FF': 'o', '\u0254': 'o', '\uA74B': 'o', '\uA74D': 'o', '\u0275': 'o', '\u01A3': 'oi', '\u0223': 'ou', '\uA74F': 'oo', '\u24DF': 'p', '\uFF50': 'p', '\u1E55': 'p', '\u1E57': 'p', '\u01A5': 'p', '\u1D7D': 'p', '\uA751': 'p', '\uA753': 'p', '\uA755': 'p', '\u24E0': 'q', '\uFF51': 'q', '\u024B': 'q', '\uA757': 'q', '\uA759': 'q', '\u24E1': 'r', '\uFF52': 'r', '\u0155': 'r', '\u1E59': 'r', '\u0159': 'r', '\u0211': 'r', '\u0213': 'r', '\u1E5B': 'r', '\u1E5D': 'r', '\u0157': 'r', '\u1E5F': 'r', '\u024D': 'r', '\u027D': 'r', '\uA75B': 'r', '\uA7A7': 'r', '\uA783': 'r', '\u24E2': 's', '\uFF53': 's', '\u00DF': 's', '\u015B': 's', '\u1E65': 's', '\u015D': 's', '\u1E61': 's', '\u0161': 's', '\u1E67': 's', '\u1E63': 's', '\u1E69': 's', '\u0219': 's', '\u015F': 's', '\u023F': 's', '\uA7A9': 's', '\uA785': 's', '\u1E9B': 's', '\u24E3': 't', '\uFF54': 't', '\u1E6B': 't', '\u1E97': 't', '\u0165': 't', '\u1E6D': 't', '\u021B': 't', '\u0163': 't', '\u1E71': 't', '\u1E6F': 't', '\u0167': 't', '\u01AD': 't', '\u0288': 't', '\u2C66': 't', '\uA787': 't', '\uA729': 'tz', '\u24E4': 'u', '\uFF55': 'u', '\u00F9': 'u', '\u00FA': 'u', '\u00FB': 'u', '\u0169': 'u', '\u1E79': 'u', '\u016B': 'u', '\u1E7B': 'u', '\u016D': 'u', '\u00FC': 'u', '\u01DC': 'u', '\u01D8': 'u', '\u01D6': 'u', '\u01DA': 'u', '\u1EE7': 'u', '\u016F': 'u', '\u0171': 'u', '\u01D4': 'u', '\u0215': 'u', '\u0217': 'u', '\u01B0': 'u', '\u1EEB': 'u', '\u1EE9': 'u', '\u1EEF': 'u', '\u1EED': 'u', '\u1EF1': 'u', '\u1EE5': 'u', '\u1E73': 'u', '\u0173': 'u', '\u1E77': 'u', '\u1E75': 'u', '\u0289': 'u', '\u24E5': 'v', '\uFF56': 'v', '\u1E7D': 'v', '\u1E7F': 'v', '\u028B': 'v', '\uA75F': 'v', '\u028C': 'v', '\uA761': 'vy', '\u24E6': 'w', '\uFF57': 'w', '\u1E81': 'w', '\u1E83': 'w', '\u0175': 'w', '\u1E87': 'w', '\u1E85': 'w', '\u1E98': 'w', '\u1E89': 'w', '\u2C73': 'w', '\u24E7': 'x', '\uFF58': 'x', '\u1E8B': 'x', '\u1E8D': 'x', '\u24E8': 'y', '\uFF59': 'y', '\u1EF3': 'y', '\u00FD': 'y', '\u0177': 'y', '\u1EF9': 'y', '\u0233': 'y', '\u1E8F': 'y', '\u00FF': 'y', '\u1EF7': 'y', '\u1E99': 'y', '\u1EF5': 'y', '\u01B4': 'y', '\u024F': 'y', '\u1EFF': 'y', '\u24E9': 'z', '\uFF5A': 'z', '\u017A': 'z', '\u1E91': 'z', '\u017C': 'z', '\u017E': 'z', '\u1E93': 'z', '\u1E95': 'z', '\u01B6': 'z', '\u0225': 'z', '\u0240': 'z', '\u2C6C': 'z', '\uA763': 'z', '\u0386': '\u0391', '\u0388': '\u0395', '\u0389': '\u0397', '\u038A': '\u0399', '\u03AA': '\u0399', '\u038C': '\u039F', '\u038E': '\u03A5', '\u03AB': '\u03A5', '\u038F': '\u03A9', '\u03AC': '\u03B1', '\u03AD': '\u03B5', '\u03AE': '\u03B7', '\u03AF': '\u03B9', '\u03CA': '\u03B9', '\u0390': '\u03B9', '\u03CC': '\u03BF', '\u03CD': '\u03C5', '\u03CB': '\u03C5', '\u03B0': '\u03C5', '\u03C9': '\u03C9', '\u03C2': '\u03C3' }; return diacritics; }); S2.define('select2/data/base',[ '../utils' ], function (Utils) { function BaseAdapter ($element, options) { BaseAdapter.__super__.constructor.call(this); } Utils.Extend(BaseAdapter, Utils.Observable); BaseAdapter.prototype.current = function (callback) { throw new Error('The `current` method must be defined in child classes.'); }; BaseAdapter.prototype.query = function (params, callback) { throw new Error('The `query` method must be defined in child classes.'); }; BaseAdapter.prototype.bind = function (container, $container) { // Can be implemented in subclasses }; BaseAdapter.prototype.destroy = function () { // Can be implemented in subclasses }; BaseAdapter.prototype.generateResultId = function (container, data) { var id = container.id + '-result-'; id += Utils.generateChars(4); if (data.id != null) { id += '-' + data.id.toString(); } else { id += '-' + Utils.generateChars(4); } return id; }; return BaseAdapter; }); S2.define('select2/data/select',[ './base', '../utils', 'jquery' ], function (BaseAdapter, Utils, $) { function SelectAdapter ($element, options) { this.$element = $element; this.options = options; SelectAdapter.__super__.constructor.call(this); } Utils.Extend(SelectAdapter, BaseAdapter); SelectAdapter.prototype.current = function (callback) { var data = []; var self = this; this.$element.find(':selected').each(function () { var $option = $(this); var option = self.item($option); data.push(option); }); callback(data); }; SelectAdapter.prototype.select = function (data) { var self = this; data.selected = true; // If data.element is a DOM node, use it instead if ($(data.element).is('option')) { data.element.selected = true; this.$element.trigger('change'); return; } if (this.$element.prop('multiple')) { this.current(function (currentData) { var val = []; data = [data]; data.push.apply(data, currentData); for (var d = 0; d < data.length; d++) { var id = data[d].id; if ($.inArray(id, val) === -1) { val.push(id); } } self.$element.val(val); self.$element.trigger('change'); }); } else { var val = data.id; this.$element.val(val); this.$element.trigger('change'); } }; SelectAdapter.prototype.unselect = function (data) { var self = this; if (!this.$element.prop('multiple')) { return; } data.selected = false; if ($(data.element).is('option')) { data.element.selected = false; this.$element.trigger('change'); return; } this.current(function (currentData) { var val = []; for (var d = 0; d < currentData.length; d++) { var id = currentData[d].id; if (id !== data.id && $.inArray(id, val) === -1) { val.push(id); } } self.$element.val(val); self.$element.trigger('change'); }); }; SelectAdapter.prototype.bind = function (container, $container) { var self = this; this.container = container; container.on('select', function (params) { self.select(params.data); }); container.on('unselect', function (params) { self.unselect(params.data); }); }; SelectAdapter.prototype.destroy = function () { // Remove anything added to child elements this.$element.find('*').each(function () { // Remove any custom data set by Select2 Utils.RemoveData(this); }); }; SelectAdapter.prototype.query = function (params, callback) { var data = []; var self = this; var $options = this.$element.children(); $options.each(function () { var $option = $(this); if (!$option.is('option') && !$option.is('optgroup')) { return; } var option = self.item($option); var matches = self.matches(params, option); if (matches !== null) { data.push(matches); } }); callback({ results: data }); }; SelectAdapter.prototype.addOptions = function ($options) { Utils.appendMany(this.$element, $options); }; SelectAdapter.prototype.option = function (data) { var option; if (data.children) { option = document.createElement('optgroup'); option.label = data.text; } else { option = document.createElement('option'); if (option.textContent !== undefined) { option.textContent = data.text; } else { option.innerText = data.text; } } if (data.id !== undefined) { option.value = data.id; } if (data.disabled) { option.disabled = true; } if (data.selected) { option.selected = true; } if (data.title) { option.title = data.title; } var $option = $(option); var normalizedData = this._normalizeItem(data); normalizedData.element = option; // Override the option's data with the combined data Utils.StoreData(option, 'data', normalizedData); return $option; }; SelectAdapter.prototype.item = function ($option) { var data = {}; data = Utils.GetData($option[0], 'data'); if (data != null) { return data; } if ($option.is('option')) { data = { id: $option.val(), text: $option.text(), disabled: $option.prop('disabled'), selected: $option.prop('selected'), title: $option.prop('title') }; } else if ($option.is('optgroup')) { data = { text: $option.prop('label'), children: [], title: $option.prop('title') }; var $children = $option.children('option'); var children = []; for (var c = 0; c < $children.length; c++) { var $child = $($children[c]); var child = this.item($child); children.push(child); } data.children = children; } data = this._normalizeItem(data); data.element = $option[0]; Utils.StoreData($option[0], 'data', data); return data; }; SelectAdapter.prototype._normalizeItem = function (item) { if (item !== Object(item)) { item = { id: item, text: item }; } item = $.extend({}, { text: '' }, item); var defaults = { selected: false, disabled: false }; if (item.id != null) { item.id = item.id.toString(); } if (item.text != null) { item.text = item.text.toString(); } if (item._resultId == null && item.id && this.container != null) { item._resultId = this.generateResultId(this.container, item); } return $.extend({}, defaults, item); }; SelectAdapter.prototype.matches = function (params, data) { var matcher = this.options.get('matcher'); return matcher(params, data); }; return SelectAdapter; }); S2.define('select2/data/array',[ './select', '../utils', 'jquery' ], function (SelectAdapter, Utils, $) { function ArrayAdapter ($element, options) { var data = options.get('data') || []; ArrayAdapter.__super__.constructor.call(this, $element, options); this.addOptions(this.convertToOptions(data)); } Utils.Extend(ArrayAdapter, SelectAdapter); ArrayAdapter.prototype.select = function (data) { var $option = this.$element.find('option').filter(function (i, elm) { return elm.value == data.id.toString(); }); if ($option.length === 0) { $option = this.option(data); this.addOptions($option); } ArrayAdapter.__super__.select.call(this, data); }; ArrayAdapter.prototype.convertToOptions = function (data) { var self = this; var $existing = this.$element.find('option'); var existingIds = $existing.map(function () { return self.item($(this)).id; }).get(); var $options = []; // Filter out all items except for the one passed in the argument function onlyItem (item) { return function () { return $(this).val() == item.id; }; } for (var d = 0; d < data.length; d++) { var item = this._normalizeItem(data[d]); // Skip items which were pre-loaded, only merge the data if ($.inArray(item.id, existingIds) >= 0) { var $existingOption = $existing.filter(onlyItem(item)); var existingData = this.item($existingOption); var newData = $.extend(true, {}, item, existingData); var $newOption = this.option(newData); $existingOption.replaceWith($newOption); continue; } var $option = this.option(item); if (item.children) { var $children = this.convertToOptions(item.children); Utils.appendMany($option, $children); } $options.push($option); } return $options; }; return ArrayAdapter; }); S2.define('select2/data/ajax',[ './array', '../utils', 'jquery' ], function (ArrayAdapter, Utils, $) { function AjaxAdapter ($element, options) { this.ajaxOptions = this._applyDefaults(options.get('ajax')); if (this.ajaxOptions.processResults != null) { this.processResults = this.ajaxOptions.processResults; } AjaxAdapter.__super__.constructor.call(this, $element, options); } Utils.Extend(AjaxAdapter, ArrayAdapter); AjaxAdapter.prototype._applyDefaults = function (options) { var defaults = { data: function (params) { return $.extend({}, params, { q: params.term }); }, transport: function (params, success, failure) { var $request = $.ajax(params); $request.then(success); $request.fail(failure); return $request; } }; return $.extend({}, defaults, options, true); }; AjaxAdapter.prototype.processResults = function (results) { return results; }; AjaxAdapter.prototype.query = function (params, callback) { var matches = []; var self = this; if (this._request != null) { // JSONP requests cannot always be aborted if ($.isFunction(this._request.abort)) { this._request.abort(); } this._request = null; } var options = $.extend({ type: 'GET' }, this.ajaxOptions); if (typeof options.url === 'function') { options.url = options.url.call(this.$element, params); } if (typeof options.data === 'function') { options.data = options.data.call(this.$element, params); } function request () { var $request = options.transport(options, function (data) { var results = self.processResults(data, params); if (self.options.get('debug') && window.console && console.error) { // Check to make sure that the response included a `results` key. if (!results || !results.results || !$.isArray(results.results)) { console.error( 'Select2: The AJAX results did not return an array in the ' + '`results` key of the response.' ); } } callback(results); }, function () { // Attempt to detect if a request was aborted // Only works if the transport exposes a status property if ('status' in $request && ($request.status === 0 || $request.status === '0')) { return; } self.trigger('results:message', { message: 'errorLoading' }); }); self._request = $request; } if (this.ajaxOptions.delay && params.term != null) { if (this._queryTimeout) { window.clearTimeout(this._queryTimeout); } this._queryTimeout = window.setTimeout(request, this.ajaxOptions.delay); } else { request(); } }; return AjaxAdapter; }); S2.define('select2/data/tags',[ 'jquery' ], function ($) { function Tags (decorated, $element, options) { var tags = options.get('tags'); var createTag = options.get('createTag'); if (createTag !== undefined) { this.createTag = createTag; } var insertTag = options.get('insertTag'); if (insertTag !== undefined) { this.insertTag = insertTag; } decorated.call(this, $element, options); if ($.isArray(tags)) { for (var t = 0; t < tags.length; t++) { var tag = tags[t]; var item = this._normalizeItem(tag); var $option = this.option(item); this.$element.append($option); } } } Tags.prototype.query = function (decorated, params, callback) { var self = this; this._removeOldTags(); if (params.term == null || params.page != null) { decorated.call(this, params, callback); return; } function wrapper (obj, child) { var data = obj.results; for (var i = 0; i < data.length; i++) { var option = data[i]; var checkChildren = ( option.children != null && !wrapper({ results: option.children }, true) ); var optionText = (option.text || '').toUpperCase(); var paramsTerm = (params.term || '').toUpperCase(); var checkText = optionText === paramsTerm; if (checkText || checkChildren) { if (child) { return false; } obj.data = data; callback(obj); return; } } if (child) { return true; } var tag = self.createTag(params); if (tag != null) { var $option = self.option(tag); $option.attr('data-select2-tag', true); self.addOptions([$option]); self.insertTag(data, tag); } obj.results = data; callback(obj); } decorated.call(this, params, wrapper); }; Tags.prototype.createTag = function (decorated, params) { var term = $.trim(params.term); if (term === '') { return null; } return { id: term, text: term }; }; Tags.prototype.insertTag = function (_, data, tag) { data.unshift(tag); }; Tags.prototype._removeOldTags = function (_) { var tag = this._lastTag; var $options = this.$element.find('option[data-select2-tag]'); $options.each(function () { if (this.selected) { return; } $(this).remove(); }); }; return Tags; }); S2.define('select2/data/tokenizer',[ 'jquery' ], function ($) { function Tokenizer (decorated, $element, options) { var tokenizer = options.get('tokenizer'); if (tokenizer !== undefined) { this.tokenizer = tokenizer; } decorated.call(this, $element, options); } Tokenizer.prototype.bind = function (decorated, container, $container) { decorated.call(this, container, $container); this.$search = container.dropdown.$search || container.selection.$search || $container.find('.select2-search__field'); }; Tokenizer.prototype.query = function (decorated, params, callback) { var self = this; function createAndSelect (data) { // Normalize the data object so we can use it for checks var item = self._normalizeItem(data); // Check if the data object already exists as a tag // Select it if it doesn't var $existingOptions = self.$element.find('option').filter(function () { return $(this).val() === item.id; }); // If an existing option wasn't found for it, create the option if (!$existingOptions.length) { var $option = self.option(item); $option.attr('data-select2-tag', true); self._removeOldTags(); self.addOptions([$option]); } // Select the item, now that we know there is an option for it select(item); } function select (data) { self.trigger('select', { data: data }); } params.term = params.term || ''; var tokenData = this.tokenizer(params, this.options, createAndSelect); if (tokenData.term !== params.term) { // Replace the search term if we have the search box if (this.$search.length) { this.$search.val(tokenData.term); this.$search.focus(); } params.term = tokenData.term; } decorated.call(this, params, callback); }; Tokenizer.prototype.tokenizer = function (_, params, options, callback) { var separators = options.get('tokenSeparators') || []; var term = params.term; var i = 0; var createTag = this.createTag || function (params) { return { id: params.term, text: params.term }; }; while (i < term.length) { var termChar = term[i]; if ($.inArray(termChar, separators) === -1) { i++; continue; } var part = term.substr(0, i); var partParams = $.extend({}, params, { term: part }); var data = createTag(partParams); if (data == null) { i++; continue; } callback(data); // Reset the term to not include the tokenized portion term = term.substr(i + 1) || ''; i = 0; } return { term: term }; }; return Tokenizer; }); S2.define('select2/data/minimumInputLength',[ ], function () { function MinimumInputLength (decorated, $e, options) { this.minimumInputLength = options.get('minimumInputLength'); decorated.call(this, $e, options); } MinimumInputLength.prototype.query = function (decorated, params, callback) { params.term = params.term || ''; if (params.term.length < this.minimumInputLength) { this.trigger('results:message', { message: 'inputTooShort', args: { minimum: this.minimumInputLength, input: params.term, params: params } }); return; } decorated.call(this, params, callback); }; return MinimumInputLength; }); S2.define('select2/data/maximumInputLength',[ ], function () { function MaximumInputLength (decorated, $e, options) { this.maximumInputLength = options.get('maximumInputLength'); decorated.call(this, $e, options); } MaximumInputLength.prototype.query = function (decorated, params, callback) { params.term = params.term || ''; if (this.maximumInputLength > 0 && params.term.length > this.maximumInputLength) { this.trigger('results:message', { message: 'inputTooLong', args: { maximum: this.maximumInputLength, input: params.term, params: params } }); return; } decorated.call(this, params, callback); }; return MaximumInputLength; }); S2.define('select2/data/maximumSelectionLength',[ ], function (){ function MaximumSelectionLength (decorated, $e, options) { this.maximumSelectionLength = options.get('maximumSelectionLength'); decorated.call(this, $e, options); } MaximumSelectionLength.prototype.query = function (decorated, params, callback) { var self = this; this.current(function (currentData) { var count = currentData != null ? currentData.length : 0; if (self.maximumSelectionLength > 0 && count >= self.maximumSelectionLength) { self.trigger('results:message', { message: 'maximumSelected', args: { maximum: self.maximumSelectionLength } }); return; } decorated.call(self, params, callback); }); }; return MaximumSelectionLength; }); S2.define('select2/dropdown',[ 'jquery', './utils' ], function ($, Utils) { function Dropdown ($element, options) { this.$element = $element; this.options = options; Dropdown.__super__.constructor.call(this); } Utils.Extend(Dropdown, Utils.Observable); Dropdown.prototype.render = function () { var $dropdown = $( '<span class="select2-dropdown">' + '<span class="select2-results"></span>' + '</span>' ); $dropdown.attr('dir', this.options.get('dir')); this.$dropdown = $dropdown; return $dropdown; }; Dropdown.prototype.bind = function () { // Should be implemented in subclasses }; Dropdown.prototype.position = function ($dropdown, $container) { // Should be implmented in subclasses }; Dropdown.prototype.destroy = function () { // Remove the dropdown from the DOM this.$dropdown.remove(); }; return Dropdown; }); S2.define('select2/dropdown/search',[ 'jquery', '../utils' ], function ($, Utils) { function Search () { } Search.prototype.render = function (decorated) { var $rendered = decorated.call(this); var $search = $( '<span class="select2-search select2-search--dropdown">' + '<input class="select2-search__field" type="search" tabindex="-1"' + ' autocomplete="off" autocorrect="off" autocapitalize="none"' + ' spellcheck="false" role="textbox" />' + '</span>' ); this.$searchContainer = $search; this.$search = $search.find('input'); $rendered.prepend($search); return $rendered; }; Search.prototype.bind = function (decorated, container, $container) { var self = this; decorated.call(this, container, $container); this.$search.on('keydown', function (evt) { self.trigger('keypress', evt); self._keyUpPrevented = evt.isDefaultPrevented(); }); // Workaround for browsers which do not support the `input` event // This will prevent double-triggering of events for browsers which support // both the `keyup` and `input` events. this.$search.on('input', function (evt) { // Unbind the duplicated `keyup` event $(this).off('keyup'); }); this.$search.on('keyup input', function (evt) { self.handleSearch(evt); }); container.on('open', function () { self.$search.attr('tabindex', 0); self.$search.focus(); window.setTimeout(function () { self.$search.focus(); }, 0); }); container.on('close', function () { self.$search.attr('tabindex', -1); self.$search.val(''); self.$search.blur(); }); container.on('focus', function () { if (!container.isOpen()) { self.$search.focus(); } }); container.on('results:all', function (params) { if (params.query.term == null || params.query.term === '') { var showSearch = self.showSearch(params); if (showSearch) { self.$searchContainer.removeClass('select2-search--hide'); } else { self.$searchContainer.addClass('select2-search--hide'); } } }); }; Search.prototype.handleSearch = function (evt) { if (!this._keyUpPrevented) { var input = this.$search.val(); this.trigger('query', { term: input }); } this._keyUpPrevented = false; }; Search.prototype.showSearch = function (_, params) { return true; }; return Search; }); S2.define('select2/dropdown/hidePlaceholder',[ ], function () { function HidePlaceholder (decorated, $element, options, dataAdapter) { this.placeholder = this.normalizePlaceholder(options.get('placeholder')); decorated.call(this, $element, options, dataAdapter); } HidePlaceholder.prototype.append = function (decorated, data) { data.results = this.removePlaceholder(data.results); decorated.call(this, data); }; HidePlaceholder.prototype.normalizePlaceholder = function (_, placeholder) { if (typeof placeholder === 'string') { placeholder = { id: '', text: placeholder }; } return placeholder; }; HidePlaceholder.prototype.removePlaceholder = function (_, data) { var modifiedData = data.slice(0); for (var d = data.length - 1; d >= 0; d--) { var item = data[d]; if (this.placeholder.id === item.id) { modifiedData.splice(d, 1); } } return modifiedData; }; return HidePlaceholder; }); S2.define('select2/dropdown/infiniteScroll',[ 'jquery' ], function ($) { function InfiniteScroll (decorated, $element, options, dataAdapter) { this.lastParams = {}; decorated.call(this, $element, options, dataAdapter); this.$loadingMore = this.createLoadingMore(); this.loading = false; } InfiniteScroll.prototype.append = function (decorated, data) { this.$loadingMore.remove(); this.loading = false; decorated.call(this, data); if (this.showLoadingMore(data)) { this.$results.append(this.$loadingMore); } }; InfiniteScroll.prototype.bind = function (decorated, container, $container) { var self = this; decorated.call(this, container, $container); container.on('query', function (params) { self.lastParams = params; self.loading = true; }); container.on('query:append', function (params) { self.lastParams = params; self.loading = true; }); this.$results.on('scroll', function () { var isLoadMoreVisible = $.contains( document.documentElement, self.$loadingMore[0] ); if (self.loading || !isLoadMoreVisible) { return; } var currentOffset = self.$results.offset().top + self.$results.outerHeight(false); var loadingMoreOffset = self.$loadingMore.offset().top + self.$loadingMore.outerHeight(false); if (currentOffset + 50 >= loadingMoreOffset) { self.loadMore(); } }); }; InfiniteScroll.prototype.loadMore = function () { this.loading = true; var params = $.extend({}, {page: 1}, this.lastParams); params.page++; this.trigger('query:append', params); }; InfiniteScroll.prototype.showLoadingMore = function (_, data) { return data.pagination && data.pagination.more; }; InfiniteScroll.prototype.createLoadingMore = function () { var $option = $( '<li ' + 'class="select2-results__option select2-results__option--load-more"' + 'role="treeitem" aria-disabled="true"></li>' ); var message = this.options.get('translations').get('loadingMore'); $option.html(message(this.lastParams)); return $option; }; return InfiniteScroll; }); S2.define('select2/dropdown/attachBody',[ 'jquery', '../utils' ], function ($, Utils) { function AttachBody (decorated, $element, options) { this.$dropdownParent = options.get('dropdownParent') || $(document.body); decorated.call(this, $element, options); } AttachBody.prototype.bind = function (decorated, container, $container) { var self = this; var setupResultsEvents = false; decorated.call(this, container, $container); container.on('open', function () { self._showDropdown(); self._attachPositioningHandler(container); if (!setupResultsEvents) { setupResultsEvents = true; container.on('results:all', function () { self._positionDropdown(); self._resizeDropdown(); }); container.on('results:append', function () { self._positionDropdown(); self._resizeDropdown(); }); } }); container.on('close', function () { self._hideDropdown(); self._detachPositioningHandler(container); }); this.$dropdownContainer.on('mousedown', function (evt) { evt.stopPropagation(); }); }; AttachBody.prototype.destroy = function (decorated) { decorated.call(this); this.$dropdownContainer.remove(); }; AttachBody.prototype.position = function (decorated, $dropdown, $container) { // Clone all of the container classes $dropdown.attr('class', $container.attr('class')); $dropdown.removeClass('select2'); $dropdown.addClass('select2-container--open'); $dropdown.css({ position: 'absolute', top: -999999 }); this.$container = $container; }; AttachBody.prototype.render = function (decorated) { var $container = $('<span></span>'); var $dropdown = decorated.call(this); $container.append($dropdown); this.$dropdownContainer = $container; return $container; }; AttachBody.prototype._hideDropdown = function (decorated) { this.$dropdownContainer.detach(); }; AttachBody.prototype._attachPositioningHandler = function (decorated, container) { var self = this; var scrollEvent = 'scroll.select2.' + container.id; var resizeEvent = 'resize.select2.' + container.id; var orientationEvent = 'orientationchange.select2.' + container.id; var $watchers = this.$container.parents().filter(Utils.hasScroll); $watchers.each(function () { Utils.StoreData(this, 'select2-scroll-position', { x: $(this).scrollLeft(), y: $(this).scrollTop() }); }); $watchers.on(scrollEvent, function (ev) { var position = Utils.GetData(this, 'select2-scroll-position'); $(this).scrollTop(position.y); }); $(window).on(scrollEvent + ' ' + resizeEvent + ' ' + orientationEvent, function (e) { self._positionDropdown(); self._resizeDropdown(); }); }; AttachBody.prototype._detachPositioningHandler = function (decorated, container) { var scrollEvent = 'scroll.select2.' + container.id; var resizeEvent = 'resize.select2.' + container.id; var orientationEvent = 'orientationchange.select2.' + container.id; var $watchers = this.$container.parents().filter(Utils.hasScroll); $watchers.off(scrollEvent); $(window).off(scrollEvent + ' ' + resizeEvent + ' ' + orientationEvent); }; AttachBody.prototype._positionDropdown = function () { var $window = $(window); var isCurrentlyAbove = this.$dropdown.hasClass('select2-dropdown--above'); var isCurrentlyBelow = this.$dropdown.hasClass('select2-dropdown--below'); var newDirection = null; var offset = this.$container.offset(); offset.bottom = offset.top + this.$container.outerHeight(false); var container = { height: this.$container.outerHeight(false) }; container.top = offset.top; container.bottom = offset.top + container.height; var dropdown = { height: this.$dropdown.outerHeight(false) }; var viewport = { top: $window.scrollTop(), bottom: $window.scrollTop() + $window.height() }; var enoughRoomAbove = viewport.top < (offset.top - dropdown.height); var enoughRoomBelow = viewport.bottom > (offset.bottom + dropdown.height); var css = { left: offset.left, top: container.bottom }; // Determine what the parent element is to use for calciulating the offset var $offsetParent = this.$dropdownParent; // For statically positoned elements, we need to get the element // that is determining the offset if ($offsetParent.css('position') === 'static') { $offsetParent = $offsetParent.offsetParent(); } var parentOffset = $offsetParent.offset(); css.top -= parentOffset.top; css.left -= parentOffset.left; if (!isCurrentlyAbove && !isCurrentlyBelow) { newDirection = 'below'; } if (!enoughRoomBelow && enoughRoomAbove && !isCurrentlyAbove) { newDirection = 'above'; } else if (!enoughRoomAbove && enoughRoomBelow && isCurrentlyAbove) { newDirection = 'below'; } if (newDirection == 'above' || (isCurrentlyAbove && newDirection !== 'below')) { css.top = container.top - parentOffset.top - dropdown.height; } if (newDirection != null) { this.$dropdown .removeClass('select2-dropdown--below select2-dropdown--above') .addClass('select2-dropdown--' + newDirection); this.$container .removeClass('select2-container--below select2-container--above') .addClass('select2-container--' + newDirection); } this.$dropdownContainer.css(css); }; AttachBody.prototype._resizeDropdown = function () { var css = { width: this.$container.outerWidth(false) + 'px' }; if (this.options.get('dropdownAutoWidth')) { css.minWidth = css.width; css.position = 'relative'; css.width = 'auto'; } this.$dropdown.css(css); }; AttachBody.prototype._showDropdown = function (decorated) { this.$dropdownContainer.appendTo(this.$dropdownParent); this._positionDropdown(); this._resizeDropdown(); }; return AttachBody; }); S2.define('select2/dropdown/minimumResultsForSearch',[ ], function () { function countResults (data) { var count = 0; for (var d = 0; d < data.length; d++) { var item = data[d]; if (item.children) { count += countResults(item.children); } else { count++; } } return count; } function MinimumResultsForSearch (decorated, $element, options, dataAdapter) { this.minimumResultsForSearch = options.get('minimumResultsForSearch'); if (this.minimumResultsForSearch < 0) { this.minimumResultsForSearch = Infinity; } decorated.call(this, $element, options, dataAdapter); } MinimumResultsForSearch.prototype.showSearch = function (decorated, params) { if (countResults(params.data.results) < this.minimumResultsForSearch) { return false; } return decorated.call(this, params); }; return MinimumResultsForSearch; }); S2.define('select2/dropdown/selectOnClose',[ '../utils' ], function (Utils) { function SelectOnClose () { } SelectOnClose.prototype.bind = function (decorated, container, $container) { var self = this; decorated.call(this, container, $container); container.on('close', function (params) { self._handleSelectOnClose(params); }); }; SelectOnClose.prototype._handleSelectOnClose = function (_, params) { if (params && params.originalSelect2Event != null) { var event = params.originalSelect2Event; // Don't select an item if the close event was triggered from a select or // unselect event if (event._type === 'select' || event._type === 'unselect') { return; } } var $highlightedResults = this.getHighlightedResults(); // Only select highlighted results if ($highlightedResults.length < 1) { return; } var data = Utils.GetData($highlightedResults[0], 'data'); // Don't re-select already selected resulte if ( (data.element != null && data.element.selected) || (data.element == null && data.selected) ) { return; } this.trigger('select', { data: data }); }; return SelectOnClose; }); S2.define('select2/dropdown/closeOnSelect',[ ], function () { function CloseOnSelect () { } CloseOnSelect.prototype.bind = function (decorated, container, $container) { var self = this; decorated.call(this, container, $container); container.on('select', function (evt) { self._selectTriggered(evt); }); container.on('unselect', function (evt) { self._selectTriggered(evt); }); }; CloseOnSelect.prototype._selectTriggered = function (_, evt) { var originalEvent = evt.originalEvent; // Don't close if the control key is being held if (originalEvent && originalEvent.ctrlKey) { return; } this.trigger('close', { originalEvent: originalEvent, originalSelect2Event: evt }); }; return CloseOnSelect; }); S2.define('select2/i18n/en',[],function () { // English return { errorLoading: function () { return 'The results could not be loaded.'; }, inputTooLong: function (args) { var overChars = args.input.length - args.maximum; var message = 'Please delete ' + overChars + ' character'; if (overChars != 1) { message += 's'; } return message; }, inputTooShort: function (args) { var remainingChars = args.minimum - args.input.length; var message = 'Please enter ' + remainingChars + ' or more characters'; return message; }, loadingMore: function () { return 'Loading more results…'; }, maximumSelected: function (args) { var message = 'You can only select ' + args.maximum + ' item'; if (args.maximum != 1) { message += 's'; } return message; }, noResults: function () { return 'No results found'; }, searching: function () { return 'Searching…'; } }; }); S2.define('select2/defaults',[ 'jquery', 'require', './results', './selection/single', './selection/multiple', './selection/placeholder', './selection/allowClear', './selection/search', './selection/eventRelay', './utils', './translation', './diacritics', './data/select', './data/array', './data/ajax', './data/tags', './data/tokenizer', './data/minimumInputLength', './data/maximumInputLength', './data/maximumSelectionLength', './dropdown', './dropdown/search', './dropdown/hidePlaceholder', './dropdown/infiniteScroll', './dropdown/attachBody', './dropdown/minimumResultsForSearch', './dropdown/selectOnClose', './dropdown/closeOnSelect', './i18n/en' ], function ($, require, ResultsList, SingleSelection, MultipleSelection, Placeholder, AllowClear, SelectionSearch, EventRelay, Utils, Translation, DIACRITICS, SelectData, ArrayData, AjaxData, Tags, Tokenizer, MinimumInputLength, MaximumInputLength, MaximumSelectionLength, Dropdown, DropdownSearch, HidePlaceholder, InfiniteScroll, AttachBody, MinimumResultsForSearch, SelectOnClose, CloseOnSelect, EnglishTranslation) { function Defaults () { this.reset(); } Defaults.prototype.apply = function (options) { options = $.extend(true, {}, this.defaults, options); if (options.dataAdapter == null) { if (options.ajax != null) { options.dataAdapter = AjaxData; } else if (options.data != null) { options.dataAdapter = ArrayData; } else { options.dataAdapter = SelectData; } if (options.minimumInputLength > 0) { options.dataAdapter = Utils.Decorate( options.dataAdapter, MinimumInputLength ); } if (options.maximumInputLength > 0) { options.dataAdapter = Utils.Decorate( options.dataAdapter, MaximumInputLength ); } if (options.maximumSelectionLength > 0) { options.dataAdapter = Utils.Decorate( options.dataAdapter, MaximumSelectionLength ); } if (options.tags) { options.dataAdapter = Utils.Decorate(options.dataAdapter, Tags); } if (options.tokenSeparators != null || options.tokenizer != null) { options.dataAdapter = Utils.Decorate( options.dataAdapter, Tokenizer ); } if (options.query != null) { var Query = require(options.amdBase + 'compat/query'); options.dataAdapter = Utils.Decorate( options.dataAdapter, Query ); } if (options.initSelection != null) { var InitSelection = require(options.amdBase + 'compat/initSelection'); options.dataAdapter = Utils.Decorate( options.dataAdapter, InitSelection ); } } if (options.resultsAdapter == null) { options.resultsAdapter = ResultsList; if (options.ajax != null) { options.resultsAdapter = Utils.Decorate( options.resultsAdapter, InfiniteScroll ); } if (options.placeholder != null) { options.resultsAdapter = Utils.Decorate( options.resultsAdapter, HidePlaceholder ); } if (options.selectOnClose) { options.resultsAdapter = Utils.Decorate( options.resultsAdapter, SelectOnClose ); } } if (options.dropdownAdapter == null) { if (options.multiple) { options.dropdownAdapter = Dropdown; } else { var SearchableDropdown = Utils.Decorate(Dropdown, DropdownSearch); options.dropdownAdapter = SearchableDropdown; } if (options.minimumResultsForSearch !== 0) { options.dropdownAdapter = Utils.Decorate( options.dropdownAdapter, MinimumResultsForSearch ); } if (options.closeOnSelect) { options.dropdownAdapter = Utils.Decorate( options.dropdownAdapter, CloseOnSelect ); } if ( options.dropdownCssClass != null || options.dropdownCss != null || options.adaptDropdownCssClass != null ) { var DropdownCSS = require(options.amdBase + 'compat/dropdownCss'); options.dropdownAdapter = Utils.Decorate( options.dropdownAdapter, DropdownCSS ); } options.dropdownAdapter = Utils.Decorate( options.dropdownAdapter, AttachBody ); } if (options.selectionAdapter == null) { if (options.multiple) { options.selectionAdapter = MultipleSelection; } else { options.selectionAdapter = SingleSelection; } // Add the placeholder mixin if a placeholder was specified if (options.placeholder != null) { options.selectionAdapter = Utils.Decorate( options.selectionAdapter, Placeholder ); } if (options.allowClear) { options.selectionAdapter = Utils.Decorate( options.selectionAdapter, AllowClear ); } if (options.multiple) { options.selectionAdapter = Utils.Decorate( options.selectionAdapter, SelectionSearch ); } if ( options.containerCssClass != null || options.containerCss != null || options.adaptContainerCssClass != null ) { var ContainerCSS = require(options.amdBase + 'compat/containerCss'); options.selectionAdapter = Utils.Decorate( options.selectionAdapter, ContainerCSS ); } options.selectionAdapter = Utils.Decorate( options.selectionAdapter, EventRelay ); } if (typeof options.language === 'string') { // Check if the language is specified with a region if (options.language.indexOf('-') > 0) { // Extract the region information if it is included var languageParts = options.language.split('-'); var baseLanguage = languageParts[0]; options.language = [options.language, baseLanguage]; } else { options.language = [options.language]; } } if ($.isArray(options.language)) { var languages = new Translation(); options.language.push('en'); var languageNames = options.language; for (var l = 0; l < languageNames.length; l++) { var name = languageNames[l]; var language = {}; try { // Try to load it with the original name language = Translation.loadPath(name); } catch (e) { try { // If we couldn't load it, check if it wasn't the full path name = this.defaults.amdLanguageBase + name; language = Translation.loadPath(name); } catch (ex) { // The translation could not be loaded at all. Sometimes this is // because of a configuration problem, other times this can be // because of how Select2 helps load all possible translation files. if (options.debug && window.console && console.warn) { console.warn( 'Select2: The language file for "' + name + '" could not be ' + 'automatically loaded. A fallback will be used instead.' ); } continue; } } languages.extend(language); } options.translations = languages; } else { var baseTranslation = Translation.loadPath( this.defaults.amdLanguageBase + 'en' ); var customTranslation = new Translation(options.language); customTranslation.extend(baseTranslation); options.translations = customTranslation; } return options; }; Defaults.prototype.reset = function () { function stripDiacritics (text) { // Used 'uni range + named function' from http://jsperf.com/diacritics/18 function match(a) { return DIACRITICS[a] || a; } return text.replace(/[^\u0000-\u007E]/g, match); } function matcher (params, data) { // Always return the object if there is nothing to compare if ($.trim(params.term) === '') { return data; } // Do a recursive check for options with children if (data.children && data.children.length > 0) { // Clone the data object if there are children // This is required as we modify the object to remove any non-matches var match = $.extend(true, {}, data); // Check each child of the option for (var c = data.children.length - 1; c >= 0; c--) { var child = data.children[c]; var matches = matcher(params, child); // If there wasn't a match, remove the object in the array if (matches == null) { match.children.splice(c, 1); } } // If any children matched, return the new object if (match.children.length > 0) { return match; } // If there were no matching children, check just the plain object return matcher(params, match); } var original = stripDiacritics(data.text).toUpperCase(); var term = stripDiacritics(params.term).toUpperCase(); // Check if the text contains the term if (original.indexOf(term) > -1) { return data; } // If it doesn't contain the term, don't return anything return null; } this.defaults = { amdBase: './', amdLanguageBase: './i18n/', closeOnSelect: true, debug: false, dropdownAutoWidth: false, escapeMarkup: Utils.escapeMarkup, language: EnglishTranslation, matcher: matcher, minimumInputLength: 0, maximumInputLength: 0, maximumSelectionLength: 0, minimumResultsForSearch: 0, selectOnClose: false, sorter: function (data) { return data; }, templateResult: function (result) { return result.text; }, templateSelection: function (selection) { return selection.text; }, theme: 'default', width: 'resolve' }; }; Defaults.prototype.set = function (key, value) { var camelKey = $.camelCase(key); var data = {}; data[camelKey] = value; var convertedData = Utils._convertData(data); $.extend(true, this.defaults, convertedData); }; var defaults = new Defaults(); return defaults; }); S2.define('select2/options',[ 'require', 'jquery', './defaults', './utils' ], function (require, $, Defaults, Utils) { function Options (options, $element) { this.options = options; if ($element != null) { this.fromElement($element); } this.options = Defaults.apply(this.options); if ($element && $element.is('input')) { var InputCompat = require(this.get('amdBase') + 'compat/inputData'); this.options.dataAdapter = Utils.Decorate( this.options.dataAdapter, InputCompat ); } } Options.prototype.fromElement = function ($e) { var excludedData = ['select2']; if (this.options.multiple == null) { this.options.multiple = $e.prop('multiple'); } if (this.options.disabled == null) { this.options.disabled = $e.prop('disabled'); } if (this.options.language == null) { if ($e.prop('lang')) { this.options.language = $e.prop('lang').toLowerCase(); } else if ($e.closest('[lang]').prop('lang')) { this.options.language = $e.closest('[lang]').prop('lang'); } } if (this.options.dir == null) { if ($e.prop('dir')) { this.options.dir = $e.prop('dir'); } else if ($e.closest('[dir]').prop('dir')) { this.options.dir = $e.closest('[dir]').prop('dir'); } else { this.options.dir = 'ltr'; } } $e.prop('disabled', this.options.disabled); $e.prop('multiple', this.options.multiple); if (Utils.GetData($e[0], 'select2Tags')) { if (this.options.debug && window.console && console.warn) { console.warn( 'Select2: The `data-select2-tags` attribute has been changed to ' + 'use the `data-data` and `data-tags="true"` attributes and will be ' + 'removed in future versions of Select2.' ); } Utils.StoreData($e[0], 'data', Utils.GetData($e[0], 'select2Tags')); Utils.StoreData($e[0], 'tags', true); } if (Utils.GetData($e[0], 'ajaxUrl')) { if (this.options.debug && window.console && console.warn) { console.warn( 'Select2: The `data-ajax-url` attribute has been changed to ' + '`data-ajax--url` and support for the old attribute will be removed' + ' in future versions of Select2.' ); } $e.attr('ajax--url', Utils.GetData($e[0], 'ajaxUrl')); Utils.StoreData($e[0], 'ajax-Url', Utils.GetData($e[0], 'ajaxUrl')); } var dataset = {}; // Prefer the element's `dataset` attribute if it exists // jQuery 1.x does not correctly handle data attributes with multiple dashes if ($.fn.jquery && $.fn.jquery.substr(0, 2) == '1.' && $e[0].dataset) { dataset = $.extend(true, {}, $e[0].dataset, Utils.GetData($e[0])); } else { dataset = Utils.GetData($e[0]); } var data = $.extend(true, {}, dataset); data = Utils._convertData(data); for (var key in data) { if ($.inArray(key, excludedData) > -1) { continue; } if ($.isPlainObject(this.options[key])) { $.extend(this.options[key], data[key]); } else { this.options[key] = data[key]; } } return this; }; Options.prototype.get = function (key) { return this.options[key]; }; Options.prototype.set = function (key, val) { this.options[key] = val; }; return Options; }); S2.define('select2/core',[ 'jquery', './options', './utils', './keys' ], function ($, Options, Utils, KEYS) { var Select2 = function ($element, options) { if (Utils.GetData($element[0], 'select2') != null) { Utils.GetData($element[0], 'select2').destroy(); } this.$element = $element; this.id = this._generateId($element); options = options || {}; this.options = new Options(options, $element); Select2.__super__.constructor.call(this); // Set up the tabindex var tabindex = $element.attr('tabindex') || 0; Utils.StoreData($element[0], 'old-tabindex', tabindex); $element.attr('tabindex', '-1'); // Set up containers and adapters var DataAdapter = this.options.get('dataAdapter'); this.dataAdapter = new DataAdapter($element, this.options); var $container = this.render(); this._placeContainer($container); var SelectionAdapter = this.options.get('selectionAdapter'); this.selection = new SelectionAdapter($element, this.options); this.$selection = this.selection.render(); this.selection.position(this.$selection, $container); var DropdownAdapter = this.options.get('dropdownAdapter'); this.dropdown = new DropdownAdapter($element, this.options); this.$dropdown = this.dropdown.render(); this.dropdown.position(this.$dropdown, $container); var ResultsAdapter = this.options.get('resultsAdapter'); this.results = new ResultsAdapter($element, this.options, this.dataAdapter); this.$results = this.results.render(); this.results.position(this.$results, this.$dropdown); // Bind events var self = this; // Bind the container to all of the adapters this._bindAdapters(); // Register any DOM event handlers this._registerDomEvents(); // Register any internal event handlers this._registerDataEvents(); this._registerSelectionEvents(); this._registerDropdownEvents(); this._registerResultsEvents(); this._registerEvents(); // Set the initial state this.dataAdapter.current(function (initialData) { self.trigger('selection:update', { data: initialData }); }); // Hide the original select $element.addClass('select2-hidden-accessible'); $element.attr('aria-hidden', 'true'); // Synchronize any monitored attributes this._syncAttributes(); Utils.StoreData($element[0], 'select2', this); // Ensure backwards compatibility with $element.data('select2'). $element.data('select2', this); }; Utils.Extend(Select2, Utils.Observable); Select2.prototype._generateId = function ($element) { var id = ''; if ($element.attr('id') != null) { id = $element.attr('id'); } else if ($element.attr('name') != null) { id = $element.attr('name') + '-' + Utils.generateChars(2); } else { id = Utils.generateChars(4); } id = id.replace(/(:|\.|\[|\]|,)/g, ''); id = 'select2-' + id; return id; }; Select2.prototype._placeContainer = function ($container) { $container.insertAfter(this.$element); var width = this._resolveWidth(this.$element, this.options.get('width')); if (width != null) { $container.css('width', width); } }; Select2.prototype._resolveWidth = function ($element, method) { var WIDTH = /^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i; if (method == 'resolve') { var styleWidth = this._resolveWidth($element, 'style'); if (styleWidth != null) { return styleWidth; } return this._resolveWidth($element, 'element'); } if (method == 'element') { var elementWidth = $element.outerWidth(false); if (elementWidth <= 0) { return 'auto'; } return elementWidth + 'px'; } if (method == 'style') { var style = $element.attr('style'); if (typeof(style) !== 'string') { return null; } var attrs = style.split(';'); for (var i = 0, l = attrs.length; i < l; i = i + 1) { var attr = attrs[i].replace(/\s/g, ''); var matches = attr.match(WIDTH); if (matches !== null && matches.length >= 1) { return matches[1]; } } return null; } return method; }; Select2.prototype._bindAdapters = function () { this.dataAdapter.bind(this, this.$container); this.selection.bind(this, this.$container); this.dropdown.bind(this, this.$container); this.results.bind(this, this.$container); }; Select2.prototype._registerDomEvents = function () { var self = this; this.$element.on('change.select2', function () { self.dataAdapter.current(function (data) { self.trigger('selection:update', { data: data }); }); }); this.$element.on('focus.select2', function (evt) { self.trigger('focus', evt); }); this._syncA = Utils.bind(this._syncAttributes, this); this._syncS = Utils.bind(this._syncSubtree, this); if (this.$element[0].attachEvent) { this.$element[0].attachEvent('onpropertychange', this._syncA); } var observer = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver ; if (observer != null) { this._observer = new observer(function (mutations) { $.each(mutations, self._syncA); $.each(mutations, self._syncS); }); this._observer.observe(this.$element[0], { attributes: true, childList: true, subtree: false }); } else if (this.$element[0].addEventListener) { this.$element[0].addEventListener( 'DOMAttrModified', self._syncA, false ); this.$element[0].addEventListener( 'DOMNodeInserted', self._syncS, false ); this.$element[0].addEventListener( 'DOMNodeRemoved', self._syncS, false ); } }; Select2.prototype._registerDataEvents = function () { var self = this; this.dataAdapter.on('*', function (name, params) { self.trigger(name, params); }); }; Select2.prototype._registerSelectionEvents = function () { var self = this; var nonRelayEvents = ['toggle', 'focus']; this.selection.on('toggle', function () { self.toggleDropdown(); }); this.selection.on('focus', function (params) { self.focus(params); }); this.selection.on('*', function (name, params) { if ($.inArray(name, nonRelayEvents) !== -1) { return; } self.trigger(name, params); }); }; Select2.prototype._registerDropdownEvents = function () { var self = this; this.dropdown.on('*', function (name, params) { self.trigger(name, params); }); }; Select2.prototype._registerResultsEvents = function () { var self = this; this.results.on('*', function (name, params) { self.trigger(name, params); }); }; Select2.prototype._registerEvents = function () { var self = this; this.on('open', function () { self.$container.addClass('select2-container--open'); }); this.on('close', function () { self.$container.removeClass('select2-container--open'); }); this.on('enable', function () { self.$container.removeClass('select2-container--disabled'); }); this.on('disable', function () { self.$container.addClass('select2-container--disabled'); }); this.on('blur', function () { self.$container.removeClass('select2-container--focus'); }); this.on('query', function (params) { if (!self.isOpen()) { self.trigger('open', {}); } this.dataAdapter.query(params, function (data) { self.trigger('results:all', { data: data, query: params }); }); }); this.on('query:append', function (params) { this.dataAdapter.query(params, function (data) { self.trigger('results:append', { data: data, query: params }); }); }); this.on('keypress', function (evt) { var key = evt.which; if (self.isOpen()) { if (key === KEYS.ESC || key === KEYS.TAB || (key === KEYS.UP && evt.altKey)) { self.close(); evt.preventDefault(); } else if (key === KEYS.ENTER) { self.trigger('results:select', {}); evt.preventDefault(); } else if ((key === KEYS.SPACE && evt.ctrlKey)) { self.trigger('results:toggle', {}); evt.preventDefault(); } else if (key === KEYS.UP) { self.trigger('results:previous', {}); evt.preventDefault(); } else if (key === KEYS.DOWN) { self.trigger('results:next', {}); evt.preventDefault(); } } else { if (key === KEYS.ENTER || key === KEYS.SPACE || (key === KEYS.DOWN && evt.altKey)) { self.open(); evt.preventDefault(); } } }); }; Select2.prototype._syncAttributes = function () { this.options.set('disabled', this.$element.prop('disabled')); if (this.options.get('disabled')) { if (this.isOpen()) { this.close(); } this.trigger('disable', {}); } else { this.trigger('enable', {}); } }; Select2.prototype._syncSubtree = function (evt, mutations) { var changed = false; var self = this; // Ignore any mutation events raised for elements that aren't options or // optgroups. This handles the case when the select element is destroyed if ( evt && evt.target && ( evt.target.nodeName !== 'OPTION' && evt.target.nodeName !== 'OPTGROUP' ) ) { return; } if (!mutations) { // If mutation events aren't supported, then we can only assume that the // change affected the selections changed = true; } else if (mutations.addedNodes && mutations.addedNodes.length > 0) { for (var n = 0; n < mutations.addedNodes.length; n++) { var node = mutations.addedNodes[n]; if (node.selected) { changed = true; } } } else if (mutations.removedNodes && mutations.removedNodes.length > 0) { changed = true; } // Only re-pull the data if we think there is a change if (changed) { this.dataAdapter.current(function (currentData) { self.trigger('selection:update', { data: currentData }); }); } }; /** * Override the trigger method to automatically trigger pre-events when * there are events that can be prevented. */ Select2.prototype.trigger = function (name, args) { var actualTrigger = Select2.__super__.trigger; var preTriggerMap = { 'open': 'opening', 'close': 'closing', 'select': 'selecting', 'unselect': 'unselecting', 'clear': 'clearing' }; if (args === undefined) { args = {}; } if (name in preTriggerMap) { var preTriggerName = preTriggerMap[name]; var preTriggerArgs = { prevented: false, name: name, args: args }; actualTrigger.call(this, preTriggerName, preTriggerArgs); if (preTriggerArgs.prevented) { args.prevented = true; return; } } actualTrigger.call(this, name, args); }; Select2.prototype.toggleDropdown = function () { if (this.options.get('disabled')) { return; } if (this.isOpen()) { this.close(); } else { this.open(); } }; Select2.prototype.open = function () { if (this.isOpen()) { return; } this.trigger('query', {}); }; Select2.prototype.close = function () { if (!this.isOpen()) { return; } this.trigger('close', {}); }; Select2.prototype.isOpen = function () { return this.$container.hasClass('select2-container--open'); }; Select2.prototype.hasFocus = function () { return this.$container.hasClass('select2-container--focus'); }; Select2.prototype.focus = function (data) { // No need to re-trigger focus events if we are already focused if (this.hasFocus()) { return; } this.$container.addClass('select2-container--focus'); this.trigger('focus', {}); }; Select2.prototype.enable = function (args) { if (this.options.get('debug') && window.console && console.warn) { console.warn( 'Select2: The `select2("enable")` method has been deprecated and will' + ' be removed in later Select2 versions. Use $element.prop("disabled")' + ' instead.' ); } if (args == null || args.length === 0) { args = [true]; } var disabled = !args[0]; this.$element.prop('disabled', disabled); }; Select2.prototype.data = function () { if (this.options.get('debug') && arguments.length > 0 && window.console && console.warn) { console.warn( 'Select2: Data can no longer be set using `select2("data")`. You ' + 'should consider setting the value instead using `$element.val()`.' ); } var data = []; this.dataAdapter.current(function (currentData) { data = currentData; }); return data; }; Select2.prototype.val = function (args) { if (this.options.get('debug') && window.console && console.warn) { console.warn( 'Select2: The `select2("val")` method has been deprecated and will be' + ' removed in later Select2 versions. Use $element.val() instead.' ); } if (args == null || args.length === 0) { return this.$element.val(); } var newVal = args[0]; if ($.isArray(newVal)) { newVal = $.map(newVal, function (obj) { return obj.toString(); }); } this.$element.val(newVal).trigger('change'); }; Select2.prototype.destroy = function () { this.$container.remove(); if (this.$element[0].detachEvent) { this.$element[0].detachEvent('onpropertychange', this._syncA); } if (this._observer != null) { this._observer.disconnect(); this._observer = null; } else if (this.$element[0].removeEventListener) { this.$element[0] .removeEventListener('DOMAttrModified', this._syncA, false); this.$element[0] .removeEventListener('DOMNodeInserted', this._syncS, false); this.$element[0] .removeEventListener('DOMNodeRemoved', this._syncS, false); } this._syncA = null; this._syncS = null; this.$element.off('.select2'); this.$element.attr('tabindex', Utils.GetData(this.$element[0], 'old-tabindex')); this.$element.removeClass('select2-hidden-accessible'); this.$element.attr('aria-hidden', 'false'); Utils.RemoveData(this.$element[0]); this.$element.removeData('select2'); this.dataAdapter.destroy(); this.selection.destroy(); this.dropdown.destroy(); this.results.destroy(); this.dataAdapter = null; this.selection = null; this.dropdown = null; this.results = null; }; Select2.prototype.render = function () { var $container = $( '<span class="select2 select2-container">' + '<span class="selection"></span>' + '<span class="dropdown-wrapper" aria-hidden="true"></span>' + '</span>' ); $container.attr('dir', this.options.get('dir')); this.$container = $container; this.$container.addClass('select2-container--' + this.options.get('theme')); Utils.StoreData($container[0], 'element', this.$element); return $container; }; return Select2; }); S2.define('jquery-mousewheel',[ 'jquery' ], function ($) { // Used to shim jQuery.mousewheel for non-full builds. return $; }); S2.define('jquery.select2',[ 'jquery', 'jquery-mousewheel', './select2/core', './select2/defaults', './select2/utils' ], function ($, _, Select2, Defaults, Utils) { if ($.fn.select2 == null) { // All methods that should return the element var thisMethods = ['open', 'close', 'destroy']; $.fn.select2 = function (options) { options = options || {}; if (typeof options === 'object') { this.each(function () { var instanceOptions = $.extend(true, {}, options); var instance = new Select2($(this), instanceOptions); }); return this; } else if (typeof options === 'string') { var ret; var args = Array.prototype.slice.call(arguments, 1); this.each(function () { var instance = Utils.GetData(this, 'select2'); if (instance == null && window.console && console.error) { console.error( 'The select2(\'' + options + '\') method was called on an ' + 'element that is not using Select2.' ); } ret = instance[options].apply(instance, args); }); // Check if we should be returning `this` if ($.inArray(options, thisMethods) > -1) { return this; } return ret; } else { throw new Error('Invalid arguments for Select2: ' + options); } }; } if ($.fn.select2.defaults == null) { $.fn.select2.defaults = Defaults; } return Select2; }); // Return the AMD loader configuration so it can be used outside of this file return { define: S2.define, require: S2.require }; }()); // Autoload the jQuery bindings // We know that all of the modules exist above this, so we're safe var select2 = S2.require('jquery.select2'); // Hold the AMD module references on the jQuery function that was just loaded // This allows Select2 to use the internal loader outside of this file, such // as in the language files. jQuery.fn.select2.amd = S2; // Return the Select2 instance for anyone who is importing it. return select2; })); PK�}�\�1�� js/i18n/ms.jsnu�[���/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ms",[],function(){return{errorLoading:function(){return"Keputusan tidak berjaya dimuatkan."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Sila hapuskan "+t+" aksara"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Sila masukkan "+t+" atau lebih aksara"},loadingMore:function(){return"Sedang memuatkan keputusan…"},maximumSelected:function(e){return"Anda hanya boleh memilih "+e.maximum+" pilihan"},noResults:function(){return"Tiada padanan yang ditemui"},searching:function(){return"Mencari…"}}}),{define:e.define,require:e.require}})();PK�}�\�r�J js/i18n/tk.jsnu�[���/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/tk",[],function(){return{errorLoading:function(){return"Netije ýüklenmedi."},inputTooLong:function(e){var t=e.input.length-e.maximum,n=t+" harp bozuň.";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Ýene-de iň az "+t+" harp ýazyň.";return n},loadingMore:function(){return"Köpräk netije görkezilýär…"},maximumSelected:function(e){var t="Diňe "+e.maximum+" sanysyny saýlaň.";return t},noResults:function(){return"Netije tapylmady."},searching:function(){return"Gözlenýär…"}}}),{define:e.define,require:e.require}})();PK�}�\8Ma��� js/i18n/sr.jsnu�[���/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sr",[],function(){function e(e,t,n,r){return e%10==1&&e%100!=11?t:e%10>=2&&e%10<=4&&(e%100<12||e%100>14)?n:r}return{errorLoading:function(){return"Preuzimanje nije uspelo."},inputTooLong:function(t){var n=t.input.length-t.maximum,r="Obrišite "+n+" simbol";return r+=e(n,"","a","a"),r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Ukucajte bar još "+n+" simbol";return r+=e(n,"","a","a"),r},loadingMore:function(){return"Preuzimanje još rezultata…"},maximumSelected:function(t){var n="Možete izabrati samo "+t.maximum+" stavk";return n+=e(t.maximum,"u","e","i"),n},noResults:function(){return"Ništa nije pronađeno"},searching:function(){return"Pretraga…"}}}),{define:e.define,require:e.require}})();PK�}�\+3�oo js/i18n/lv.jsnu�[���/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/lv",[],function(){function e(e,t,n,r){return e===11?t:e%10===1?n:r}return{inputTooLong:function(t){var n=t.input.length-t.maximum,r="Lūdzu ievadiet par "+n;return r+=" simbol"+e(n,"iem","u","iem"),r+" mazāk"},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Lūdzu ievadiet vēl "+n;return r+=" simbol"+e(n,"us","u","us"),r},loadingMore:function(){return"Datu ielāde…"},maximumSelected:function(t){var n="Jūs varat izvēlēties ne vairāk kā "+t.maximum;return n+=" element"+e(t.maximum,"us","u","us"),n},noResults:function(){return"Sakritību nav"},searching:function(){return"Meklēšana…"}}}),{define:e.define,require:e.require}})();PK�}�\ֵ�� js/i18n/nb.jsnu�[���/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/nb",[],function(){return{errorLoading:function(){return"Kunne ikke hente resultater."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Vennligst fjern "+t+" tegn"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Vennligst skriv inn "+t+" tegn til"},loadingMore:function(){return"Laster flere resultater…"},maximumSelected:function(e){return"Du kan velge maks "+e.maximum+" elementer"},noResults:function(){return"Ingen treff"},searching:function(){return"Søker…"}}}),{define:e.define,require:e.require}})();PK�}�\�I�22js/i18n/sr-Cyrl.jsnu�[���/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sr-Cyrl",[],function(){function e(e,t,n,r){return e%10==1&&e%100!=11?t:e%10>=2&&e%10<=4&&(e%100<12||e%100>14)?n:r}return{errorLoading:function(){return"Преузимање није успело."},inputTooLong:function(t){var n=t.input.length-t.maximum,r="Обришите "+n+" симбол";return r+=e(n,"","а","а"),r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Укуцајте бар још "+n+" симбол";return r+=e(n,"","а","а"),r},loadingMore:function(){return"Преузимање још резултата…"},maximumSelected:function(t){var n="Можете изабрати само "+t.maximum+" ставк";return n+=e(t.maximum,"у","е","и"),n},noResults:function(){return"Ништа није пронађено"},searching:function(){return"Претрага…"}}}),{define:e.define,require:e.require}})();PK�}�\�(��nnjs/i18n/build.txtnu�[��� af.js ---------------- af.js ar.js ---------------- ar.js az.js ---------------- az.js bg.js ---------------- bg.js bs.js ---------------- bs.js ca.js ---------------- ca.js cs.js ---------------- cs.js da.js ---------------- da.js de.js ---------------- de.js dsb.js ---------------- dsb.js el.js ---------------- el.js en.js ---------------- en.js es.js ---------------- es.js et.js ---------------- et.js eu.js ---------------- eu.js fa.js ---------------- fa.js fi.js ---------------- fi.js fr.js ---------------- fr.js gl.js ---------------- gl.js he.js ---------------- he.js hi.js ---------------- hi.js hr.js ---------------- hr.js hsb.js ---------------- hsb.js hu.js ---------------- hu.js hy.js ---------------- hy.js id.js ---------------- id.js is.js ---------------- is.js it.js ---------------- it.js ja.js ---------------- ja.js km.js ---------------- km.js ko.js ---------------- ko.js lt.js ---------------- lt.js lv.js ---------------- lv.js mk.js ---------------- mk.js ms.js ---------------- ms.js nb.js ---------------- nb.js nl.js ---------------- nl.js pl.js ---------------- pl.js ps.js ---------------- ps.js pt-BR.js ---------------- pt-BR.js pt.js ---------------- pt.js ro.js ---------------- ro.js ru.js ---------------- ru.js sk.js ---------------- sk.js sl.js ---------------- sl.js sr-Cyrl.js ---------------- sr-Cyrl.js sr.js ---------------- sr.js sv.js ---------------- sv.js th.js ---------------- th.js tk.js ---------------- tk.js tr.js ---------------- tr.js uk.js ---------------- uk.js vi.js ---------------- vi.js zh-CN.js ---------------- zh-CN.js zh-TW.js ---------------- zh-TW.js PK�}�\o5g@kk js/i18n/ar.jsnu�[���/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ar",[],function(){return{errorLoading:function(){return"لا يمكن تحميل النتائج"},inputTooLong:function(e){var t=e.input.length-e.maximum;return"الرجاء حذف "+t+" عناصر"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"الرجاء إضافة "+t+" عناصر"},loadingMore:function(){return"جاري تحميل نتائج إضافية..."},maximumSelected:function(e){return"تستطيع إختيار "+e.maximum+" بنود فقط"},noResults:function(){return"لم يتم العثور على أي نتائج"},searching:function(){return"جاري البحث…"}}}),{define:e.define,require:e.require}})();PK�}�\bׯb js/i18n/et.jsnu�[���/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/et",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Sisesta "+t+" täht";return t!=1&&(n+="e"),n+=" vähem",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Sisesta "+t+" täht";return t!=1&&(n+="e"),n+=" rohkem",n},loadingMore:function(){return"Laen tulemusi…"},maximumSelected:function(e){var t="Saad vaid "+e.maximum+" tulemus";return e.maximum==1?t+="e":t+="t",t+=" valida",t},noResults:function(){return"Tulemused puuduvad"},searching:function(){return"Otsin…"}}}),{define:e.define,require:e.require}})();PK�}�\v�IS js/i18n/ps.jsnu�[���/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ps",[],function(){return{errorLoading:function(){return"پايلي نه سي ترلاسه کېدای"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="د مهربانۍ لمخي "+t+" توری ړنګ کړئ";return t!=1&&(n=n.replace("توری","توري")),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="لږ تر لږه "+t+" يا ډېر توري وليکئ";return n},loadingMore:function(){return"نوري پايلي ترلاسه کيږي..."},maximumSelected:function(e){var t="تاسو يوازي "+e.maximum+" قلم په نښه کولای سی";return e.maximum!=1&&(t=t.replace("قلم","قلمونه")),t},noResults:function(){return"پايلي و نه موندل سوې"},searching:function(){return"لټول کيږي..."}}}),{define:e.define,require:e.require}})();PK�}�\��|�\\ js/i18n/de.jsnu�[���/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/de",[],function(){return{errorLoading:function(){return"Die Ergebnisse konnten nicht geladen werden."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Bitte "+t+" Zeichen weniger eingeben"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Bitte "+t+" Zeichen mehr eingeben"},loadingMore:function(){return"Lade mehr Ergebnisse…"},maximumSelected:function(e){var t="Sie können nur "+e.maximum+" Eintr";return e.maximum===1?t+="ag":t+="äge",t+=" auswählen",t},noResults:function(){return"Keine Übereinstimmungen gefunden"},searching:function(){return"Suche…"}}}),{define:e.define,require:e.require}})();PK�}�\��D�� js/i18n/fa.jsnu�[���/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/fa",[],function(){return{errorLoading:function(){return"امکان بارگذاری نتایج وجود ندارد."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="لطفاً "+t+" کاراکتر را حذف نمایید";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="لطفاً تعداد "+t+" کاراکتر یا بیشتر وارد نمایید";return n},loadingMore:function(){return"در حال بارگذاری نتایج بیشتر..."},maximumSelected:function(e){var t="شما تنها میتوانید "+e.maximum+" آیتم را انتخاب نمایید";return t},noResults:function(){return"هیچ نتیجهای یافت نشد"},searching:function(){return"در حال جستجو..."}}}),{define:e.define,require:e.require}})();PK�}�\T���� js/i18n/cs.jsnu�[���/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/cs",[],function(){function e(e,t){switch(e){case 2:return t?"dva":"dvě";case 3:return"tři";case 4:return"čtyři"}return""}return{errorLoading:function(){return"Výsledky nemohly být načteny."},inputTooLong:function(t){var n=t.input.length-t.maximum;return n==1?"Prosím, zadejte o jeden znak méně.":n<=4?"Prosím, zadejte o "+e(n,!0)+" znaky méně.":"Prosím, zadejte o "+n+" znaků méně."},inputTooShort:function(t){var n=t.minimum-t.input.length;return n==1?"Prosím, zadejte ještě jeden znak.":n<=4?"Prosím, zadejte ještě další "+e(n,!0)+" znaky.":"Prosím, zadejte ještě dalších "+n+" znaků."},loadingMore:function(){return"Načítají se další výsledky…"},maximumSelected:function(t){var n=t.maximum;return n==1?"Můžete zvolit jen jednu položku.":n<=4?"Můžete zvolit maximálně "+e(n,!1)+" položky.":"Můžete zvolit maximálně "+n+" položek."},noResults:function(){return"Nenalezeny žádné položky."},searching:function(){return"Vyhledávání…"}}}),{define:e.define,require:e.require}})();PK�}�\�NN��� js/i18n/nl.jsnu�[���/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/nl",[],function(){return{errorLoading:function(){return"De resultaten konden niet worden geladen."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Gelieve "+t+" karakters te verwijderen";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Gelieve "+t+" of meer karakters in te voeren";return n},loadingMore:function(){return"Meer resultaten laden…"},maximumSelected:function(e){var t=e.maximum==1?"kan":"kunnen",n="Er "+t+" maar "+e.maximum+" item";return e.maximum!=1&&(n+="s"),n+=" worden geselecteerd",n},noResults:function(){return"Geen resultaten gevonden…"},searching:function(){return"Zoeken…"}}}),{define:e.define,require:e.require}})();PK�}�\sk�SS js/i18n/eu.jsnu�[���/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/eu",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Idatzi ";return t==1?n+="karaktere bat":n+=t+" karaktere",n+=" gutxiago",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Idatzi ";return t==1?n+="karaktere bat":n+=t+" karaktere",n+=" gehiago",n},loadingMore:function(){return"Emaitza gehiago kargatzen…"},maximumSelected:function(e){return e.maximum===1?"Elementu bakarra hauta dezakezu":e.maximum+" elementu hauta ditzakezu soilik"},noResults:function(){return"Ez da bat datorrenik aurkitu"},searching:function(){return"Bilatzen…"}}}),{define:e.define,require:e.require}})();PK�}�\�=�~�� js/i18n/hy.jsnu�[���/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hy",[],function(){return{errorLoading:function(){return"Արդյունքները հնարավոր չէ բեռնել։"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Խնդրում ենք հեռացնել "+t+" նշան";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Խնդրում ենք մուտքագրել "+t+" կամ ավել նշաններ";return n},loadingMore:function(){return"Բեռնվում են նոր արդյունքներ․․․"},maximumSelected:function(e){var t="Դուք կարող եք ընտրել առավելագույնը "+e.maximum+" կետ";return t},noResults:function(){return"Արդյունքներ չեն գտնվել"},searching:function(){return"Որոնում․․․"}}}),{define:e.define,require:e.require}})();PK�}�\�_N�� js/i18n/he.jsnu�[���/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/he",[],function(){return{errorLoading:function(){return"שגיאה בטעינת התוצאות"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="נא למחוק ";return t===1?n+="תו אחד":n+=t+" תווים",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="נא להכניס ";return t===1?n+="תו אחד":n+=t+" תווים",n+=" או יותר",n},loadingMore:function(){return"טוען תוצאות נוספות…"},maximumSelected:function(e){var t="באפשרותך לבחור עד ";return e.maximum===1?t+="פריט אחד":t+=e.maximum+" פריטים",t},noResults:function(){return"לא נמצאו תוצאות"},searching:function(){return"מחפש…"}}}),{define:e.define,require:e.require}})();PK�}�\v��WW js/i18n/ja.jsnu�[���/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ja",[],function(){return{errorLoading:function(){return"結果が読み込まれませんでした"},inputTooLong:function(e){var t=e.input.length-e.maximum,n=t+" 文字を削除してください";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="少なくとも "+t+" 文字を入力してください";return n},loadingMore:function(){return"読み込み中…"},maximumSelected:function(e){var t=e.maximum+" 件しか選択できません";return t},noResults:function(){return"対象が見つかりません"},searching:function(){return"検索しています…"}}}),{define:e.define,require:e.require}})();PK�}�\��izz js/i18n/fr.jsnu�[���/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/fr",[],function(){return{errorLoading:function(){return"Les résultats ne peuvent pas être chargés."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Supprimez "+t+" caractère"+(t>1?"s":"")},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Saisissez au moins "+t+" caractère"+(t>1?"s":"")},loadingMore:function(){return"Chargement de résultats supplémentaires…"},maximumSelected:function(e){return"Vous pouvez seulement sélectionner "+e.maximum+" élément"+(e.maximum>1?"s":"")},noResults:function(){return"Aucun résultat trouvé"},searching:function(){return"Recherche en cours…"}}}),{define:e.define,require:e.require}})();PK�}�\gΕ js/i18n/is.jsnu�[���/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/is",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vinsamlegast styttið texta um "+t+" staf";return t<=1?n:n+"i"},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vinsamlegast skrifið "+t+" staf";return t>1&&(n+="i"),n+=" í viðbót",n},loadingMore:function(){return"Sæki fleiri niðurstöður…"},maximumSelected:function(e){return"Þú getur aðeins valið "+e.maximum+" atriði"},noResults:function(){return"Ekkert fannst"},searching:function(){return"Leita…"}}}),{define:e.define,require:e.require}})();PK�}�\=-� js/i18n/bg.jsnu�[���/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/bg",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Моля въведете с "+t+" по-малко символ";return t>1&&(n+="a"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Моля въведете още "+t+" символ";return t>1&&(n+="a"),n},loadingMore:function(){return"Зареждат се още…"},maximumSelected:function(e){var t="Можете да направите до "+e.maximum+" ";return e.maximum>1?t+="избора":t+="избор",t},noResults:function(){return"Няма намерени съвпадения"},searching:function(){return"Търсене…"}}}),{define:e.define,require:e.require}})();PK�}�\����� js/i18n/bs.jsnu�[���/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/bs",[],function(){function e(e,t,n,r){return e%10==1&&e%100!=11?t:e%10>=2&&e%10<=4&&(e%100<12||e%100>14)?n:r}return{errorLoading:function(){return"Preuzimanje nije uspijelo."},inputTooLong:function(t){var n=t.input.length-t.maximum,r="Obrišite "+n+" simbol";return r+=e(n,"","a","a"),r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Ukucajte bar još "+n+" simbol";return r+=e(n,"","a","a"),r},loadingMore:function(){return"Preuzimanje još rezultata…"},maximumSelected:function(t){var n="Možete izabrati samo "+t.maximum+" stavk";return n+=e(t.maximum,"u","e","i"),n},noResults:function(){return"Ništa nije pronađeno"},searching:function(){return"Pretraga…"}}}),{define:e.define,require:e.require}})();PK�}�\!_%��js/i18n/hsb.jsnu�[���/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hsb",[],function(){var e=["znamješko","znamješce","znamješka","znamješkow"],t=["zapisk","zapiskaj","zapiski","zapiskow"],n=function(t,n){if(t===1)return n[0];if(t===2)return n[1];if(t>2&&t<=4)return n[2];if(t>=5)return n[3]};return{errorLoading:function(){return"Wuslědki njedachu so začitać."},inputTooLong:function(t){var r=t.input.length-t.maximum;return"Prošu zhašej "+r+" "+n(r,e)},inputTooShort:function(t){var r=t.minimum-t.input.length;return"Prošu zapodaj znajmjeńša "+r+" "+n(r,e)},loadingMore:function(){return"Dalše wuslědki so začitaja…"},maximumSelected:function(e){return"Móžeš jenož "+e.maximum+" "+n(e.maximum,t)+"wubrać"},noResults:function(){return"Žane wuslědki namakane"},searching:function(){return"Pyta so…"}}}),{define:e.define,require:e.require}})();PK�}�\�h�*'' js/i18n/vi.jsnu�[���/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/vi",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vui lòng nhập ít hơn "+t+" ký tự";return t!=1&&(n+="s"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vui lòng nhập nhiều hơn "+t+" ký tự";return n},loadingMore:function(){return"Đang lấy thêm kết quả…"},maximumSelected:function(e){var t="Chỉ có thể chọn được "+e.maximum+" lựa chọn";return t},noResults:function(){return"Không tìm thấy kết quả"},searching:function(){return"Đang tìm…"}}}),{define:e.define,require:e.require}})();PK�}�\����� js/i18n/es.jsnu�[���/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/es",[],function(){return{errorLoading:function(){return"No se pudieron cargar los resultados"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Por favor, elimine "+t+" car";return t==1?n+="ácter":n+="acteres",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Por favor, introduzca "+t+" car";return t==1?n+="ácter":n+="acteres",n},loadingMore:function(){return"Cargando más resultados…"},maximumSelected:function(e){var t="Sólo puede seleccionar "+e.maximum+" elemento";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"No se encontraron resultados"},searching:function(){return"Buscando…"}}}),{define:e.define,require:e.require}})();PK�}�\����)) js/i18n/hu.jsnu�[���/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hu",[],function(){return{errorLoading:function(){return"Az eredmények betöltése nem sikerült."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Túl hosszú. "+t+" karakterrel több, mint kellene."},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Túl rövid. Még "+t+" karakter hiányzik."},loadingMore:function(){return"Töltés…"},maximumSelected:function(e){return"Csak "+e.maximum+" elemet lehet kiválasztani."},noResults:function(){return"Nincs találat."},searching:function(){return"Keresés…"}}}),{define:e.define,require:e.require}})();PK�}�\ �8ss js/i18n/ca.jsnu�[���/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ca",[],function(){return{errorLoading:function(){return"La càrrega ha fallat"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Si us plau, elimina "+t+" car";return t==1?n+="àcter":n+="àcters",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Si us plau, introdueix "+t+" car";return t==1?n+="àcter":n+="àcters",n},loadingMore:function(){return"Carregant més resultats…"},maximumSelected:function(e){var t="Només es pot seleccionar "+e.maximum+" element";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"No s'han trobat resultats"},searching:function(){return"Cercant…"}}}),{define:e.define,require:e.require}})();PK�}�\�;�\\js/i18n/pt-BR.jsnu�[���/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/pt-BR",[],function(){return{errorLoading:function(){return"Os resultados não puderam ser carregados."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Apague "+t+" caracter";return t!=1&&(n+="es"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Digite "+t+" ou mais caracteres";return n},loadingMore:function(){return"Carregando mais resultados…"},maximumSelected:function(e){var t="Você só pode selecionar "+e.maximum+" ite";return e.maximum==1?t+="m":t+="ns",t},noResults:function(){return"Nenhum resultado encontrado"},searching:function(){return"Buscando…"}}}),{define:e.define,require:e.require}})();PK�}�\��@�NN js/i18n/hr.jsnu�[���/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hr",[],function(){function e(e){var t=" "+e+" znak";return e%10<5&&e%10>0&&(e%100<5||e%100>19)?e%10>1&&(t+="a"):t+="ova",t}return{errorLoading:function(){return"Preuzimanje nije uspjelo."},inputTooLong:function(t){var n=t.input.length-t.maximum;return"Unesite "+e(n)},inputTooShort:function(t){var n=t.minimum-t.input.length;return"Unesite još "+e(n)},loadingMore:function(){return"Učitavanje rezultata…"},maximumSelected:function(e){return"Maksimalan broj odabranih stavki je "+e.maximum},noResults:function(){return"Nema rezultata"},searching:function(){return"Pretraga…"}}}),{define:e.define,require:e.require}})();PK�}�\�^�g js/i18n/th.jsnu�[���/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/th",[],function(){return{errorLoading:function(){return"ไม่สามารถค้นข้อมูลได้"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="โปรดลบออก "+t+" ตัวอักษร";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="โปรดพิมพ์เพิ่มอีก "+t+" ตัวอักษร";return n},loadingMore:function(){return"กำลังค้นข้อมูลเพิ่ม…"},maximumSelected:function(e){var t="คุณสามารถเลือกได้ไม่เกิน "+e.maximum+" รายการ";return t},noResults:function(){return"ไม่พบข้อมูล"},searching:function(){return"กำลังค้นข้อมูล…"}}}),{define:e.define,require:e.require}})();PK�}�\Y;�BB js/i18n/en.jsnu�[���/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Please delete "+t+" character";return t!=1&&(n+="s"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Please enter "+t+" or more characters";return n},loadingMore:function(){return"Loading more results…"},maximumSelected:function(e){var t="You can only select "+e.maximum+" item";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"No results found"},searching:function(){return"Searching…"}}}),{define:e.define,require:e.require}})();PK�}�\2�:�ss js/i18n/el.jsnu�[���/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/el",[],function(){return{errorLoading:function(){return"Τα αποτελέσματα δεν μπόρεσαν να φορτώσουν."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Παρακαλώ διαγράψτε "+t+" χαρακτήρ";return t==1&&(n+="α"),t!=1&&(n+="ες"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Παρακαλώ συμπληρώστε "+t+" ή περισσότερους χαρακτήρες";return n},loadingMore:function(){return"Φόρτωση περισσότερων αποτελεσμάτων…"},maximumSelected:function(e){var t="Μπορείτε να επιλέξετε μόνο "+e.maximum+" επιλογ";return e.maximum==1&&(t+="ή"),e.maximum!=1&&(t+="ές"),t},noResults:function(){return"Δεν βρέθηκαν αποτελέσματα"},searching:function(){return"Αναζήτηση…"}}}),{define:e.define,require:e.require}})();PK�}�\�k�� js/i18n/sv.jsnu�[���/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sv",[],function(){return{errorLoading:function(){return"Resultat kunde inte laddas."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vänligen sudda ut "+t+" tecken";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vänligen skriv in "+t+" eller fler tecken";return n},loadingMore:function(){return"Laddar fler resultat…"},maximumSelected:function(e){var t="Du kan max välja "+e.maximum+" element";return t},noResults:function(){return"Inga träffar"},searching:function(){return"Söker…"}}}),{define:e.define,require:e.require}})();PK�}�\��a��� js/i18n/pl.jsnu�[���/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/pl",[],function(){var e=["znak","znaki","znaków"],t=["element","elementy","elementów"],n=function(t,n){if(t===1)return n[0];if(t>1&&t<=4)return n[1];if(t>=5)return n[2]};return{errorLoading:function(){return"Nie można załadować wyników."},inputTooLong:function(t){var r=t.input.length-t.maximum;return"Usuń "+r+" "+n(r,e)},inputTooShort:function(t){var r=t.minimum-t.input.length;return"Podaj przynajmniej "+r+" "+n(r,e)},loadingMore:function(){return"Trwa ładowanie…"},maximumSelected:function(e){return"Możesz zaznaczyć tylko "+e.maximum+" "+n(e.maximum,t)},noResults:function(){return"Brak wyników"},searching:function(){return"Trwa wyszukiwanie…"}}}),{define:e.define,require:e.require}})();PK�}�\�f֑�� js/i18n/sl.jsnu�[���/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sl",[],function(){return{errorLoading:function(){return"Zadetkov iskanja ni bilo mogoče naložiti."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Prosim zbrišite "+t+" znak";return t==2?n+="a":t!=1&&(n+="e"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Prosim vpišite še "+t+" znak";return t==2?n+="a":t!=1&&(n+="e"),n},loadingMore:function(){return"Nalagam več zadetkov…"},maximumSelected:function(e){var t="Označite lahko največ "+e.maximum+" predmet";return e.maximum==2?t+="a":e.maximum!=1&&(t+="e"),t},noResults:function(){return"Ni zadetkov."},searching:function(){return"Iščem…"}}}),{define:e.define,require:e.require}})();PK�}�\!�h���js/i18n/zh-TW.jsnu�[���/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/zh-TW",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="請刪掉"+t+"個字元";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="請再輸入"+t+"個字元";return n},loadingMore:function(){return"載入中…"},maximumSelected:function(e){var t="你只能選擇最多"+e.maximum+"項";return t},noResults:function(){return"沒有找到相符的項目"},searching:function(){return"搜尋中…"}}}),{define:e.define,require:e.require}})();PK�}�\�F��bb js/i18n/pt.jsnu�[���/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/pt",[],function(){return{errorLoading:function(){return"Os resultados não puderam ser carregados."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Por favor apague "+t+" ";return n+=t!=1?"caracteres":"caractere",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Introduza "+t+" ou mais caracteres";return n},loadingMore:function(){return"A carregar mais resultados…"},maximumSelected:function(e){var t="Apenas pode seleccionar "+e.maximum+" ";return t+=e.maximum!=1?"itens":"item",t},noResults:function(){return"Sem resultados"},searching:function(){return"A procurar…"}}}),{define:e.define,require:e.require}})();PK�}�\�qN�ss js/i18n/it.jsnu�[���/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/it",[],function(){return{errorLoading:function(){return"I risultati non possono essere caricati."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Per favore cancella "+t+" caratter";return t!==1?n+="i":n+="e",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Per favore inserisci "+t+" o più caratteri";return n},loadingMore:function(){return"Caricando più risultati…"},maximumSelected:function(e){var t="Puoi selezionare solo "+e.maximum+" element";return e.maximum!==1?t+="i":t+="o",t},noResults:function(){return"Nessun risultato trovato"},searching:function(){return"Sto cercando…"}}}),{define:e.define,require:e.require}})();PK�}�\�fof�� js/i18n/id.jsnu�[���/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/id",[],function(){return{errorLoading:function(){return"Data tidak boleh diambil."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Hapuskan "+t+" huruf"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Masukkan "+t+" huruf lagi"},loadingMore:function(){return"Mengambil data…"},maximumSelected:function(e){return"Anda hanya dapat memilih "+e.maximum+" pilihan"},noResults:function(){return"Tidak ada data yang sesuai"},searching:function(){return"Mencari…"}}}),{define:e.define,require:e.require}})();PK�}�\�)?UU js/i18n/af.jsnu�[���/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/af",[],function(){return{errorLoading:function(){return"Die resultate kon nie gelaai word nie."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Verwyders asseblief "+t+" character";return t!=1&&(n+="s"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Voer asseblief "+t+" of meer karakters";return n},loadingMore:function(){return"Meer resultate word gelaai…"},maximumSelected:function(e){var t="Kies asseblief net "+e.maximum+" item";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"Geen resultate gevind"},searching:function(){return"Besig…"}}}),{define:e.define,require:e.require}})();PK�}�\�U�l�� js/i18n/ro.jsnu�[���/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ro",[],function(){return{errorLoading:function(){return"Rezultatele nu au putut fi incărcate."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vă rugăm să ștergeți"+t+" caracter";return t!==1&&(n+="e"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vă rugăm să introduceți "+t+" sau mai multe caractere";return n},loadingMore:function(){return"Se încarcă mai multe rezultate…"},maximumSelected:function(e){var t="Aveți voie să selectați cel mult "+e.maximum;return t+=" element",e.maximum!==1&&(t+="e"),t},noResults:function(){return"Nu au fost găsite rezultate"},searching:function(){return"Căutare…"}}}),{define:e.define,require:e.require}})();PK�}�\̭O��� js/i18n/mk.jsnu�[���/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/mk",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Ве молиме внесете "+e.maximum+" помалку карактер";return e.maximum!==1&&(n+="и"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Ве молиме внесете уште "+e.maximum+" карактер";return e.maximum!==1&&(n+="и"),n},loadingMore:function(){return"Вчитување резултати…"},maximumSelected:function(e){var t="Можете да изберете само "+e.maximum+" ставк";return e.maximum===1?t+="а":t+="и",t},noResults:function(){return"Нема пронајдено совпаѓања"},searching:function(){return"Пребарување…"}}}),{define:e.define,require:e.require}})();PK�}�\��N js/i18n/fi.jsnu�[���/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/fi",[],function(){return{errorLoading:function(){return"Tuloksia ei saatu ladattua."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Ole hyvä ja anna "+t+" merkkiä vähemmän"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Ole hyvä ja anna "+t+" merkkiä lisää"},loadingMore:function(){return"Ladataan lisää tuloksia…"},maximumSelected:function(e){return"Voit valita ainoastaan "+e.maximum+" kpl"},noResults:function(){return"Ei tuloksia"},searching:function(){return"Haetaan…"}}}),{define:e.define,require:e.require}})();PK�}�\3�n�}} js/i18n/gl.jsnu�[���/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/gl",[],function(){return{errorLoading:function(){return"Non foi posíbel cargar os resultados."},inputTooLong:function(e){var t=e.input.length-e.maximum;return t===1?"Elimine un carácter":"Elimine "+t+" caracteres"},inputTooShort:function(e){var t=e.minimum-e.input.length;return t===1?"Engada un carácter":"Engada "+t+" caracteres"},loadingMore:function(){return"Cargando máis resultados…"},maximumSelected:function(e){return e.maximum===1?"Só pode seleccionar un elemento":"Só pode seleccionar "+e.maximum+" elementos"},noResults:function(){return"Non se atoparon resultados"},searching:function(){return"Buscando…"}}}),{define:e.define,require:e.require}})();PK�}�\�l���� js/i18n/sk.jsnu�[���/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sk",[],function(){var e={2:function(e){return e?"dva":"dve"},3:function(){return"tri"},4:function(){return"štyri"}};return{errorLoading:function(){return"Výsledky sa nepodarilo načítať."},inputTooLong:function(t){var n=t.input.length-t.maximum;return n==1?"Prosím, zadajte o jeden znak menej":n>=2&&n<=4?"Prosím, zadajte o "+e[n](!0)+" znaky menej":"Prosím, zadajte o "+n+" znakov menej"},inputTooShort:function(t){var n=t.minimum-t.input.length;return n==1?"Prosím, zadajte ešte jeden znak":n<=4?"Prosím, zadajte ešte ďalšie "+e[n](!0)+" znaky":"Prosím, zadajte ešte ďalších "+n+" znakov"},loadingMore:function(){return"Načítanie ďalších výsledkov…"},maximumSelected:function(t){return t.maximum==1?"Môžete zvoliť len jednu položku":t.maximum>=2&&t.maximum<=4?"Môžete zvoliť najviac "+e[t.maximum](!1)+" položky":"Môžete zvoliť najviac "+t.maximum+" položiek"},noResults:function(){return"Nenašli sa žiadne položky"},searching:function(){return"Vyhľadávanie…"}}}),{define:e.define,require:e.require}})();PK�}�\KK�// js/i18n/da.jsnu�[���/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/da",[],function(){return{errorLoading:function(){return"Resultaterne kunne ikke indlæses."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Angiv venligst "+t+" tegn mindre"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Angiv venligst "+t+" tegn mere"},loadingMore:function(){return"Indlæser flere resultater…"},maximumSelected:function(e){var t="Du kan kun vælge "+e.maximum+" emne";return e.maximum!=1&&(t+="r"),t},noResults:function(){return"Ingen resultater fundet"},searching:function(){return"Søger…"}}}),{define:e.define,require:e.require}})();PK�}�\Ŕ)Tnn js/i18n/ru.jsnu�[���/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ru",[],function(){function e(e,t,n,r){return e%10<5&&e%10>0&&e%100<5||e%100>20?e%10>1?n:t:r}return{errorLoading:function(){return"Невозможно загрузить результаты"},inputTooLong:function(t){var n=t.input.length-t.maximum,r="Пожалуйста, введите на "+n+" символ";return r+=e(n,"","a","ов"),r+=" меньше",r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Пожалуйста, введите еще хотя бы "+n+" символ";return r+=e(n,"","a","ов"),r},loadingMore:function(){return"Загрузка данных…"},maximumSelected:function(t){var n="Вы можете выбрать не более "+t.maximum+" элемент";return n+=e(t.maximum,"","a","ов"),n},noResults:function(){return"Совпадений не найдено"},searching:function(){return"Поиск…"}}}),{define:e.define,require:e.require}})();PK�}�\�=Vdjs/i18n/zh-CN.jsnu�[���/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/zh-CN",[],function(){return{errorLoading:function(){return"无法载入结果。"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="请删除"+t+"个字符";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="请再输入至少"+t+"个字符";return n},loadingMore:function(){return"载入更多结果…"},maximumSelected:function(e){var t="最多只能选择"+e.maximum+"个项目";return t},noResults:function(){return"未找到结果"},searching:function(){return"搜索中…"}}}),{define:e.define,require:e.require}})();PK�}�\�b����js/i18n/dsb.jsnu�[���/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/dsb",[],function(){var e=["znamuško","znamušce","znamuška","znamuškow"],t=["zapisk","zapiska","zapiski","zapiskow"],n=function(t,n){if(t===1)return n[0];if(t===2)return n[1];if(t>2&&t<=4)return n[2];if(t>=5)return n[3]};return{errorLoading:function(){return"Wuslědki njejsu se dali zacytaś."},inputTooLong:function(t){var r=t.input.length-t.maximum;return"Pšosym lašuj "+r+" "+n(r,e)},inputTooShort:function(t){var r=t.minimum-t.input.length;return"Pšosym zapódaj nanejmjenjej "+r+" "+n(r,e)},loadingMore:function(){return"Dalšne wuslědki se zacytaju…"},maximumSelected:function(e){return"Móžoš jano "+e.maximum+" "+n(e.maximum,t)+"wubraś."},noResults:function(){return"Žedne wuslědki namakane"},searching:function(){return"Pyta se…"}}}),{define:e.define,require:e.require}})();PK�}�\���]] js/i18n/ko.jsnu�[���/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ko",[],function(){return{errorLoading:function(){return"결과를 불러올 수 없습니다."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="너무 깁니다. "+t+" 글자 지워주세요.";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="너무 짧습니다. "+t+" 글자 더 입력해주세요.";return n},loadingMore:function(){return"불러오는 중…"},maximumSelected:function(e){var t="최대 "+e.maximum+"개까지만 선택 가능합니다.";return t},noResults:function(){return"결과가 없습니다."},searching:function(){return"검색 중…"}}}),{define:e.define,require:e.require}})();PK�}�\�dd js/i18n/uk.jsnu�[���/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/uk",[],function(){function e(e,t,n,r){return e%100>10&&e%100<15?r:e%10===1?t:e%10>1&&e%10<5?n:r}return{errorLoading:function(){return"Неможливо завантажити результати"},inputTooLong:function(t){var n=t.input.length-t.maximum;return"Будь ласка, видаліть "+n+" "+e(t.maximum,"літеру","літери","літер")},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Будь ласка, введіть "+t+" або більше літер"},loadingMore:function(){return"Завантаження інших результатів…"},maximumSelected:function(t){return"Ви можете вибрати лише "+t.maximum+" "+e(t.maximum,"пункт","пункти","пунктів")},noResults:function(){return"Нічого не знайдено"},searching:function(){return"Пошук…"}}}),{define:e.define,require:e.require}})();PK�}�\:0�ll js/i18n/hi.jsnu�[���/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hi",[],function(){return{errorLoading:function(){return"परिणामों को लोड नहीं किया जा सका।"},inputTooLong:function(e){var t=e.input.length-e.maximum,n=t+" अक्षर को हटा दें";return t>1&&(n=t+" अक्षरों को हटा दें "),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="कृपया "+t+" या अधिक अक्षर दर्ज करें";return n},loadingMore:function(){return"अधिक परिणाम लोड हो रहे है..."},maximumSelected:function(e){var t="आप केवल "+e.maximum+" आइटम का चयन कर सकते हैं";return t},noResults:function(){return"कोई परिणाम नहीं मिला"},searching:function(){return"खोज रहा है..."}}}),{define:e.define,require:e.require}})();PK�}�\ûnA00 js/i18n/km.jsnu�[���/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/km",[],function(){return{errorLoading:function(){return"មិនអាចទាញយកទិន្នន័យ"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="សូមលុបចេញ "+t+" អក្សរ";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="សូមបញ្ចូល"+t+" អក្សរ រឺ ច្រើនជាងនេះ";return n},loadingMore:function(){return"កំពុងទាញយកទិន្នន័យបន្ថែម..."},maximumSelected:function(e){var t="អ្នកអាចជ្រើសរើសបានតែ "+e.maximum+" ជម្រើសប៉ុណ្ណោះ";return t},noResults:function(){return"មិនមានលទ្ធផល"},searching:function(){return"កំពុងស្វែងរក..."}}}),{define:e.define,require:e.require}})();PK�}�\��멘� js/i18n/lt.jsnu�[���/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/lt",[],function(){function e(e,t,n,r){return e%10===1&&(e%100<11||e%100>19)?t:e%10>=2&&e%10<=9&&(e%100<11||e%100>19)?n:r}return{inputTooLong:function(t){var n=t.input.length-t.maximum,r="Pašalinkite "+n+" simbol";return r+=e(n,"į","ius","ių"),r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Įrašykite dar "+n+" simbol";return r+=e(n,"į","ius","ių"),r},loadingMore:function(){return"Kraunama daugiau rezultatų…"},maximumSelected:function(t){var n="Jūs galite pasirinkti tik "+t.maximum+" element";return n+=e(t.maximum,"ą","us","ų"),n},noResults:function(){return"Atitikmenų nerasta"},searching:function(){return"Ieškoma…"}}}),{define:e.define,require:e.require}})();PK�}�\�u̱ js/i18n/tr.jsnu�[���/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/tr",[],function(){return{errorLoading:function(){return"Sonuç yüklenemedi"},inputTooLong:function(e){var t=e.input.length-e.maximum,n=t+" karakter daha girmelisiniz";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="En az "+t+" karakter daha girmelisiniz";return n},loadingMore:function(){return"Daha fazla…"},maximumSelected:function(e){var t="Sadece "+e.maximum+" seçim yapabilirsiniz";return t},noResults:function(){return"Sonuç bulunamadı"},searching:function(){return"Aranıyor…"}}}),{define:e.define,require:e.require}})();PK�}�\( ik�� js/i18n/az.jsnu�[���/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/az",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum;return t+" simvol silin"},inputTooShort:function(e){var t=e.minimum-e.input.length;return t+" simvol daxil edin"},loadingMore:function(){return"Daha çox nəticə yüklənir…"},maximumSelected:function(e){return"Sadəcə "+e.maximum+" element seçə bilərsiniz"},noResults:function(){return"Nəticə tapılmadı"},searching:function(){return"Axtarılır…"}}}),{define:e.define,require:e.require}})();PK�}�\����)�)js/select2.full.min.jsnu�[���/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof module&&module.exports?module.exports=function(b,c){return void 0===c&&(c="undefined"!=typeof window?require("jquery"):require("jquery")(b)),a(c),c}:a(jQuery)}(function(a){var b=function(){if(a&&a.fn&&a.fn.select2&&a.fn.select2.amd)var b=a.fn.select2.amd;var b;return function(){if(!b||!b.requirejs){b?c=b:b={};var a,c,d;!function(b){function e(a,b){return v.call(a,b)}function f(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o=b&&b.split("/"),p=t.map,q=p&&p["*"]||{};if(a){for(a=a.split("/"),g=a.length-1,t.nodeIdCompat&&x.test(a[g])&&(a[g]=a[g].replace(x,"")),"."===a[0].charAt(0)&&o&&(n=o.slice(0,o.length-1),a=n.concat(a)),k=0;k<a.length;k++)if("."===(m=a[k]))a.splice(k,1),k-=1;else if(".."===m){if(0===k||1===k&&".."===a[2]||".."===a[k-1])continue;k>0&&(a.splice(k-1,2),k-=2)}a=a.join("/")}if((o||q)&&p){for(c=a.split("/"),k=c.length;k>0;k-=1){if(d=c.slice(0,k).join("/"),o)for(l=o.length;l>0;l-=1)if((e=p[o.slice(0,l).join("/")])&&(e=e[d])){f=e,h=k;break}if(f)break;!i&&q&&q[d]&&(i=q[d],j=k)}!f&&i&&(f=i,h=j),f&&(c.splice(0,h,f),a=c.join("/"))}return a}function g(a,c){return function(){var d=w.call(arguments,0);return"string"!=typeof d[0]&&1===d.length&&d.push(null),o.apply(b,d.concat([a,c]))}}function h(a){return function(b){return f(b,a)}}function i(a){return function(b){r[a]=b}}function j(a){if(e(s,a)){var c=s[a];delete s[a],u[a]=!0,n.apply(b,c)}if(!e(r,a)&&!e(u,a))throw new Error("No "+a);return r[a]}function k(a){var b,c=a?a.indexOf("!"):-1;return c>-1&&(b=a.substring(0,c),a=a.substring(c+1,a.length)),[b,a]}function l(a){return a?k(a):[]}function m(a){return function(){return t&&t.config&&t.config[a]||{}}}var n,o,p,q,r={},s={},t={},u={},v=Object.prototype.hasOwnProperty,w=[].slice,x=/\.js$/;p=function(a,b){var c,d=k(a),e=d[0],g=b[1];return a=d[1],e&&(e=f(e,g),c=j(e)),e?a=c&&c.normalize?c.normalize(a,h(g)):f(a,g):(a=f(a,g),d=k(a),e=d[0],a=d[1],e&&(c=j(e))),{f:e?e+"!"+a:a,n:a,pr:e,p:c}},q={require:function(a){return g(a)},exports:function(a){var b=r[a];return void 0!==b?b:r[a]={}},module:function(a){return{id:a,uri:"",exports:r[a],config:m(a)}}},n=function(a,c,d,f){var h,k,m,n,o,t,v,w=[],x=typeof d;if(f=f||a,t=l(f),"undefined"===x||"function"===x){for(c=!c.length&&d.length?["require","exports","module"]:c,o=0;o<c.length;o+=1)if(n=p(c[o],t),"require"===(k=n.f))w[o]=q.require(a);else if("exports"===k)w[o]=q.exports(a),v=!0;else if("module"===k)h=w[o]=q.module(a);else if(e(r,k)||e(s,k)||e(u,k))w[o]=j(k);else{if(!n.p)throw new Error(a+" missing "+k);n.p.load(n.n,g(f,!0),i(k),{}),w[o]=r[k]}m=d?d.apply(r[a],w):void 0,a&&(h&&h.exports!==b&&h.exports!==r[a]?r[a]=h.exports:m===b&&v||(r[a]=m))}else a&&(r[a]=d)},a=c=o=function(a,c,d,e,f){if("string"==typeof a)return q[a]?q[a](c):j(p(a,l(c)).f);if(!a.splice){if(t=a,t.deps&&o(t.deps,t.callback),!c)return;c.splice?(a=c,c=d,d=null):a=b}return c=c||function(){},"function"==typeof d&&(d=e,e=f),e?n(b,a,c,d):setTimeout(function(){n(b,a,c,d)},4),o},o.config=function(a){return o(a)},a._defined=r,d=function(a,b,c){if("string"!=typeof a)throw new Error("See almond README: incorrect module build, no module name");b.splice||(c=b,b=[]),e(r,a)||e(s,a)||(s[a]=[a,b,c])},d.amd={jQuery:!0}}(),b.requirejs=a,b.require=c,b.define=d}}(),b.define("almond",function(){}),b.define("jquery",[],function(){var b=a||$;return null==b&&console&&console.error&&console.error("Select2: An instance of jQuery or a jQuery-compatible library was not found. Make sure that you are including jQuery before Select2 on your web page."),b}),b.define("select2/utils",["jquery"],function(a){function b(a){var b=a.prototype,c=[];for(var d in b){"function"==typeof b[d]&&("constructor"!==d&&c.push(d))}return c}var c={};c.Extend=function(a,b){function c(){this.constructor=a}var d={}.hasOwnProperty;for(var e in b)d.call(b,e)&&(a[e]=b[e]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},c.Decorate=function(a,c){function d(){var b=Array.prototype.unshift,d=c.prototype.constructor.length,e=a.prototype.constructor;d>0&&(b.call(arguments,a.prototype.constructor),e=c.prototype.constructor),e.apply(this,arguments)}function e(){this.constructor=d}var f=b(c),g=b(a);c.displayName=a.displayName,d.prototype=new e;for(var h=0;h<g.length;h++){var i=g[h];d.prototype[i]=a.prototype[i]}for(var j=(function(a){var b=function(){};a in d.prototype&&(b=d.prototype[a]);var e=c.prototype[a];return function(){return Array.prototype.unshift.call(arguments,b),e.apply(this,arguments)}}),k=0;k<f.length;k++){var l=f[k];d.prototype[l]=j(l)}return d};var d=function(){this.listeners={}};d.prototype.on=function(a,b){this.listeners=this.listeners||{},a in this.listeners?this.listeners[a].push(b):this.listeners[a]=[b]},d.prototype.trigger=function(a){var b=Array.prototype.slice,c=b.call(arguments,1);this.listeners=this.listeners||{},null==c&&(c=[]),0===c.length&&c.push({}),c[0]._type=a,a in this.listeners&&this.invoke(this.listeners[a],b.call(arguments,1)),"*"in this.listeners&&this.invoke(this.listeners["*"],arguments)},d.prototype.invoke=function(a,b){for(var c=0,d=a.length;c<d;c++)a[c].apply(this,b)},c.Observable=d,c.generateChars=function(a){for(var b="",c=0;c<a;c++){b+=Math.floor(36*Math.random()).toString(36)}return b},c.bind=function(a,b){return function(){a.apply(b,arguments)}},c._convertData=function(a){for(var b in a){var c=b.split("-"),d=a;if(1!==c.length){for(var e=0;e<c.length;e++){var f=c[e];f=f.substring(0,1).toLowerCase()+f.substring(1),f in d||(d[f]={}),e==c.length-1&&(d[f]=a[b]),d=d[f]}delete a[b]}}return a},c.hasScroll=function(b,c){var d=a(c),e=c.style.overflowX,f=c.style.overflowY;return(e!==f||"hidden"!==f&&"visible"!==f)&&("scroll"===e||"scroll"===f||(d.innerHeight()<c.scrollHeight||d.innerWidth()<c.scrollWidth))},c.escapeMarkup=function(a){var b={"\\":"\","&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};return"string"!=typeof a?a:String(a).replace(/[&<>"'\/\\]/g,function(a){return b[a]})},c.appendMany=function(b,c){if("1.7"===a.fn.jquery.substr(0,3)){var d=a();a.map(c,function(a){d=d.add(a)}),c=d}b.append(c)},c.__cache={};var e=0;return c.GetUniqueElementId=function(a){var b=a.getAttribute("data-select2-id");return null==b&&(a.id?(b=a.id,a.setAttribute("data-select2-id",b)):(a.setAttribute("data-select2-id",++e),b=e.toString())),b},c.StoreData=function(a,b,d){var e=c.GetUniqueElementId(a);c.__cache[e]||(c.__cache[e]={}),c.__cache[e][b]=d},c.GetData=function(b,d){var e=c.GetUniqueElementId(b);return d?c.__cache[e]&&null!=c.__cache[e][d]?c.__cache[e][d]:a(b).data(d):c.__cache[e]},c.RemoveData=function(a){var b=c.GetUniqueElementId(a);null!=c.__cache[b]&&delete c.__cache[b]},c}),b.define("select2/results",["jquery","./utils"],function(a,b){function c(a,b,d){this.$element=a,this.data=d,this.options=b,c.__super__.constructor.call(this)}return b.Extend(c,b.Observable),c.prototype.render=function(){var b=a('<ul class="select2-results__options" role="tree"></ul>');return this.options.get("multiple")&&b.attr("aria-multiselectable","true"),this.$results=b,b},c.prototype.clear=function(){this.$results.empty()},c.prototype.displayMessage=function(b){var c=this.options.get("escapeMarkup");this.clear(),this.hideLoading();var d=a('<li role="treeitem" aria-live="assertive" class="select2-results__option"></li>'),e=this.options.get("translations").get(b.message);d.append(c(e(b.args))),d[0].className+=" select2-results__message",this.$results.append(d)},c.prototype.hideMessages=function(){this.$results.find(".select2-results__message").remove()},c.prototype.append=function(a){this.hideLoading();var b=[];if(null==a.results||0===a.results.length)return void(0===this.$results.children().length&&this.trigger("results:message",{message:"noResults"}));a.results=this.sort(a.results);for(var c=0;c<a.results.length;c++){var d=a.results[c],e=this.option(d);b.push(e)}this.$results.append(b)},c.prototype.position=function(a,b){b.find(".select2-results").append(a)},c.prototype.sort=function(a){return this.options.get("sorter")(a)},c.prototype.highlightFirstItem=function(){var a=this.$results.find(".select2-results__option[aria-selected]"),b=a.filter("[aria-selected=true]");b.length>0?b.first().trigger("mouseenter"):a.first().trigger("mouseenter"),this.ensureHighlightVisible()},c.prototype.setClasses=function(){var c=this;this.data.current(function(d){var e=a.map(d,function(a){return a.id.toString()});c.$results.find(".select2-results__option[aria-selected]").each(function(){var c=a(this),d=b.GetData(this,"data"),f=""+d.id;null!=d.element&&d.element.selected||null==d.element&&a.inArray(f,e)>-1?c.attr("aria-selected","true"):c.attr("aria-selected","false")})})},c.prototype.showLoading=function(a){this.hideLoading();var b=this.options.get("translations").get("searching"),c={disabled:!0,loading:!0,text:b(a)},d=this.option(c);d.className+=" loading-results",this.$results.prepend(d)},c.prototype.hideLoading=function(){this.$results.find(".loading-results").remove()},c.prototype.option=function(c){var d=document.createElement("li");d.className="select2-results__option";var e={role:"treeitem","aria-selected":"false"};c.disabled&&(delete e["aria-selected"],e["aria-disabled"]="true"),null==c.id&&delete e["aria-selected"],null!=c._resultId&&(d.id=c._resultId),c.title&&(d.title=c.title),c.children&&(e.role="group",e["aria-label"]=c.text,delete e["aria-selected"]);for(var f in e){var g=e[f];d.setAttribute(f,g)}if(c.children){var h=a(d),i=document.createElement("strong");i.className="select2-results__group";a(i);this.template(c,i);for(var j=[],k=0;k<c.children.length;k++){var l=c.children[k],m=this.option(l);j.push(m)}var n=a("<ul></ul>",{class:"select2-results__options select2-results__options--nested"});n.append(j),h.append(i),h.append(n)}else this.template(c,d);return b.StoreData(d,"data",c),d},c.prototype.bind=function(c,d){var e=this,f=c.id+"-results";this.$results.attr("id",f),c.on("results:all",function(a){e.clear(),e.append(a.data),c.isOpen()&&(e.setClasses(),e.highlightFirstItem())}),c.on("results:append",function(a){e.append(a.data),c.isOpen()&&e.setClasses()}),c.on("query",function(a){e.hideMessages(),e.showLoading(a)}),c.on("select",function(){c.isOpen()&&(e.setClasses(),e.highlightFirstItem())}),c.on("unselect",function(){c.isOpen()&&(e.setClasses(),e.highlightFirstItem())}),c.on("open",function(){e.$results.attr("aria-expanded","true"),e.$results.attr("aria-hidden","false"),e.setClasses(),e.ensureHighlightVisible()}),c.on("close",function(){e.$results.attr("aria-expanded","false"),e.$results.attr("aria-hidden","true"),e.$results.removeAttr("aria-activedescendant")}),c.on("results:toggle",function(){var a=e.getHighlightedResults();0!==a.length&&a.trigger("mouseup")}),c.on("results:select",function(){var a=e.getHighlightedResults();if(0!==a.length){var c=b.GetData(a[0],"data");"true"==a.attr("aria-selected")?e.trigger("close",{}):e.trigger("select",{data:c})}}),c.on("results:previous",function(){var a=e.getHighlightedResults(),b=e.$results.find("[aria-selected]"),c=b.index(a);if(!(c<=0)){var d=c-1;0===a.length&&(d=0);var f=b.eq(d);f.trigger("mouseenter");var g=e.$results.offset().top,h=f.offset().top,i=e.$results.scrollTop()+(h-g);0===d?e.$results.scrollTop(0):h-g<0&&e.$results.scrollTop(i)}}),c.on("results:next",function(){var a=e.getHighlightedResults(),b=e.$results.find("[aria-selected]"),c=b.index(a),d=c+1;if(!(d>=b.length)){var f=b.eq(d);f.trigger("mouseenter");var g=e.$results.offset().top+e.$results.outerHeight(!1),h=f.offset().top+f.outerHeight(!1),i=e.$results.scrollTop()+h-g;0===d?e.$results.scrollTop(0):h>g&&e.$results.scrollTop(i)}}),c.on("results:focus",function(a){a.element.addClass("select2-results__option--highlighted")}),c.on("results:message",function(a){e.displayMessage(a)}),a.fn.mousewheel&&this.$results.on("mousewheel",function(a){var b=e.$results.scrollTop(),c=e.$results.get(0).scrollHeight-b+a.deltaY,d=a.deltaY>0&&b-a.deltaY<=0,f=a.deltaY<0&&c<=e.$results.height();d?(e.$results.scrollTop(0),a.preventDefault(),a.stopPropagation()):f&&(e.$results.scrollTop(e.$results.get(0).scrollHeight-e.$results.height()),a.preventDefault(),a.stopPropagation())}),this.$results.on("mouseup",".select2-results__option[aria-selected]",function(c){var d=a(this),f=b.GetData(this,"data");if("true"===d.attr("aria-selected"))return void(e.options.get("multiple")?e.trigger("unselect",{originalEvent:c,data:f}):e.trigger("close",{}));e.trigger("select",{originalEvent:c,data:f})}),this.$results.on("mouseenter",".select2-results__option[aria-selected]",function(c){var d=b.GetData(this,"data");e.getHighlightedResults().removeClass("select2-results__option--highlighted"),e.trigger("results:focus",{data:d,element:a(this)})})},c.prototype.getHighlightedResults=function(){return this.$results.find(".select2-results__option--highlighted")},c.prototype.destroy=function(){this.$results.remove()},c.prototype.ensureHighlightVisible=function(){var a=this.getHighlightedResults();if(0!==a.length){var b=this.$results.find("[aria-selected]"),c=b.index(a),d=this.$results.offset().top,e=a.offset().top,f=this.$results.scrollTop()+(e-d),g=e-d;f-=2*a.outerHeight(!1),c<=2?this.$results.scrollTop(0):(g>this.$results.outerHeight()||g<0)&&this.$results.scrollTop(f)}},c.prototype.template=function(b,c){var d=this.options.get("templateResult"),e=this.options.get("escapeMarkup"),f=d(b,c);null==f?c.style.display="none":"string"==typeof f?c.innerHTML=e(f):a(c).append(f)},c}),b.define("select2/keys",[],function(){return{BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46}}),b.define("select2/selection/base",["jquery","../utils","../keys"],function(a,b,c){function d(a,b){this.$element=a,this.options=b,d.__super__.constructor.call(this)}return b.Extend(d,b.Observable),d.prototype.render=function(){var c=a('<span class="select2-selection" role="combobox" aria-haspopup="true" aria-expanded="false"></span>');return this._tabindex=0,null!=b.GetData(this.$element[0],"old-tabindex")?this._tabindex=b.GetData(this.$element[0],"old-tabindex"):null!=this.$element.attr("tabindex")&&(this._tabindex=this.$element.attr("tabindex")),c.attr("title",this.$element.attr("title")),c.attr("tabindex",this._tabindex),this.$selection=c,c},d.prototype.bind=function(a,b){var d=this,e=(a.id,a.id+"-results");this.container=a,this.$selection.on("focus",function(a){d.trigger("focus",a)}),this.$selection.on("blur",function(a){d._handleBlur(a)}),this.$selection.on("keydown",function(a){d.trigger("keypress",a),a.which===c.SPACE&&a.preventDefault()}),a.on("results:focus",function(a){d.$selection.attr("aria-activedescendant",a.data._resultId)}),a.on("selection:update",function(a){d.update(a.data)}),a.on("open",function(){d.$selection.attr("aria-expanded","true"),d.$selection.attr("aria-owns",e),d._attachCloseHandler(a)}),a.on("close",function(){d.$selection.attr("aria-expanded","false"),d.$selection.removeAttr("aria-activedescendant"),d.$selection.removeAttr("aria-owns"),d.$selection.focus(),window.setTimeout(function(){d.$selection.focus()},0),d._detachCloseHandler(a)}),a.on("enable",function(){d.$selection.attr("tabindex",d._tabindex)}),a.on("disable",function(){d.$selection.attr("tabindex","-1")})},d.prototype._handleBlur=function(b){var c=this;window.setTimeout(function(){document.activeElement==c.$selection[0]||a.contains(c.$selection[0],document.activeElement)||c.trigger("blur",b)},1)},d.prototype._attachCloseHandler=function(c){a(document.body).on("mousedown.select2."+c.id,function(c){var d=a(c.target),e=d.closest(".select2");a(".select2.select2-container--open").each(function(){a(this),this!=e[0]&&b.GetData(this,"element").select2("close")})})},d.prototype._detachCloseHandler=function(b){a(document.body).off("mousedown.select2."+b.id)},d.prototype.position=function(a,b){b.find(".selection").append(a)},d.prototype.destroy=function(){this._detachCloseHandler(this.container)},d.prototype.update=function(a){throw new Error("The `update` method must be defined in child classes.")},d}),b.define("select2/selection/single",["jquery","./base","../utils","../keys"],function(a,b,c,d){function e(){e.__super__.constructor.apply(this,arguments)}return c.Extend(e,b),e.prototype.render=function(){var a=e.__super__.render.call(this);return a.addClass("select2-selection--single"),a.html('<span class="select2-selection__rendered"></span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span>'),a},e.prototype.bind=function(a,b){var c=this;e.__super__.bind.apply(this,arguments);var d=a.id+"-container";this.$selection.find(".select2-selection__rendered").attr("id",d).attr("role","textbox").attr("aria-readonly","true"),this.$selection.attr("aria-labelledby",d),this.$selection.on("mousedown",function(a){1===a.which&&c.trigger("toggle",{originalEvent:a})}),this.$selection.on("focus",function(a){}),this.$selection.on("blur",function(a){}),a.on("focus",function(b){a.isOpen()||c.$selection.focus()})},e.prototype.clear=function(){var a=this.$selection.find(".select2-selection__rendered");a.empty(),a.removeAttr("title")},e.prototype.display=function(a,b){var c=this.options.get("templateSelection");return this.options.get("escapeMarkup")(c(a,b))},e.prototype.selectionContainer=function(){return a("<span></span>")},e.prototype.update=function(a){if(0===a.length)return void this.clear();var b=a[0],c=this.$selection.find(".select2-selection__rendered"),d=this.display(b,c);c.empty().append(d),c.attr("title",b.title||b.text)},e}),b.define("select2/selection/multiple",["jquery","./base","../utils"],function(a,b,c){function d(a,b){d.__super__.constructor.apply(this,arguments)}return c.Extend(d,b),d.prototype.render=function(){var a=d.__super__.render.call(this);return a.addClass("select2-selection--multiple"),a.html('<ul class="select2-selection__rendered"></ul>'),a},d.prototype.bind=function(b,e){var f=this;d.__super__.bind.apply(this,arguments),this.$selection.on("click",function(a){f.trigger("toggle",{originalEvent:a})}),this.$selection.on("click",".select2-selection__choice__remove",function(b){if(!f.options.get("disabled")){var d=a(this),e=d.parent(),g=c.GetData(e[0],"data");f.trigger("unselect",{originalEvent:b,data:g})}})},d.prototype.clear=function(){var a=this.$selection.find(".select2-selection__rendered");a.empty(),a.removeAttr("title")},d.prototype.display=function(a,b){var c=this.options.get("templateSelection");return this.options.get("escapeMarkup")(c(a,b))},d.prototype.selectionContainer=function(){return a('<li class="select2-selection__choice"><span class="select2-selection__choice__remove" role="presentation">×</span></li>')},d.prototype.update=function(a){if(this.clear(),0!==a.length){for(var b=[],d=0;d<a.length;d++){var e=a[d],f=this.selectionContainer(),g=this.display(e,f);f.append(g),f.attr("title",e.title||e.text),c.StoreData(f[0],"data",e),b.push(f)}var h=this.$selection.find(".select2-selection__rendered");c.appendMany(h,b)}},d}),b.define("select2/selection/placeholder",["../utils"],function(a){function b(a,b,c){this.placeholder=this.normalizePlaceholder(c.get("placeholder")),a.call(this,b,c)}return b.prototype.normalizePlaceholder=function(a,b){return"string"==typeof b&&(b={id:"",text:b}),b},b.prototype.createPlaceholder=function(a,b){var c=this.selectionContainer();return c.html(this.display(b)),c.addClass("select2-selection__placeholder").removeClass("select2-selection__choice"),c},b.prototype.update=function(a,b){var c=1==b.length&&b[0].id!=this.placeholder.id;if(b.length>1||c)return a.call(this,b);this.clear();var d=this.createPlaceholder(this.placeholder);this.$selection.find(".select2-selection__rendered").append(d)},b}),b.define("select2/selection/allowClear",["jquery","../keys","../utils"],function(a,b,c){function d(){}return d.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),null==this.placeholder&&this.options.get("debug")&&window.console&&console.error&&console.error("Select2: The `allowClear` option should be used in combination with the `placeholder` option."),this.$selection.on("mousedown",".select2-selection__clear",function(a){d._handleClear(a)}),b.on("keypress",function(a){d._handleKeyboardClear(a,b)})},d.prototype._handleClear=function(a,b){if(!this.options.get("disabled")){var d=this.$selection.find(".select2-selection__clear");if(0!==d.length){b.stopPropagation();var e=c.GetData(d[0],"data"),f=this.$element.val();this.$element.val(this.placeholder.id);var g={data:e};if(this.trigger("clear",g),g.prevented)return void this.$element.val(f);for(var h=0;h<e.length;h++)if(g={data:e[h]},this.trigger("unselect",g),g.prevented)return void this.$element.val(f);this.$element.trigger("change"),this.trigger("toggle",{})}}},d.prototype._handleKeyboardClear=function(a,c,d){d.isOpen()||c.which!=b.DELETE&&c.which!=b.BACKSPACE||this._handleClear(c)},d.prototype.update=function(b,d){if(b.call(this,d),!(this.$selection.find(".select2-selection__placeholder").length>0||0===d.length)){var e=a('<span class="select2-selection__clear">×</span>');c.StoreData(e[0],"data",d),this.$selection.find(".select2-selection__rendered").prepend(e)}},d}),b.define("select2/selection/search",["jquery","../utils","../keys"],function(a,b,c){function d(a,b,c){a.call(this,b,c)}return d.prototype.render=function(b){var c=a('<li class="select2-search select2-search--inline"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="textbox" aria-autocomplete="list" /></li>');this.$searchContainer=c,this.$search=c.find("input");var d=b.call(this);return this._transferTabIndex(),d},d.prototype.bind=function(a,d,e){var f=this;a.call(this,d,e),d.on("open",function(){f.$search.trigger("focus")}),d.on("close",function(){f.$search.val(""),f.$search.removeAttr("aria-activedescendant"),f.$search.trigger("focus")}),d.on("enable",function(){f.$search.prop("disabled",!1),f._transferTabIndex()}),d.on("disable",function(){f.$search.prop("disabled",!0)}),d.on("focus",function(a){f.$search.trigger("focus")}),d.on("results:focus",function(a){f.$search.attr("aria-activedescendant",a.id)}),this.$selection.on("focusin",".select2-search--inline",function(a){f.trigger("focus",a)}),this.$selection.on("focusout",".select2-search--inline",function(a){f._handleBlur(a)}),this.$selection.on("keydown",".select2-search--inline",function(a){if(a.stopPropagation(),f.trigger("keypress",a),f._keyUpPrevented=a.isDefaultPrevented(),a.which===c.BACKSPACE&&""===f.$search.val()){var d=f.$searchContainer.prev(".select2-selection__choice");if(d.length>0){var e=b.GetData(d[0],"data");f.searchRemoveChoice(e),a.preventDefault()}}});var g=document.documentMode,h=g&&g<=11;this.$selection.on("input.searchcheck",".select2-search--inline",function(a){if(h)return void f.$selection.off("input.search input.searchcheck");f.$selection.off("keyup.search")}),this.$selection.on("keyup.search input.search",".select2-search--inline",function(a){if(h&&"input"===a.type)return void f.$selection.off("input.search input.searchcheck");var b=a.which;b!=c.SHIFT&&b!=c.CTRL&&b!=c.ALT&&b!=c.TAB&&f.handleSearch(a)})},d.prototype._transferTabIndex=function(a){this.$search.attr("tabindex",this.$selection.attr("tabindex")),this.$selection.attr("tabindex","-1")},d.prototype.createPlaceholder=function(a,b){this.$search.attr("placeholder",b.text)},d.prototype.update=function(a,b){var c=this.$search[0]==document.activeElement;if(this.$search.attr("placeholder",""),a.call(this,b),this.$selection.find(".select2-selection__rendered").append(this.$searchContainer),this.resizeSearch(),c){this.$element.find("[data-select2-tag]").length?this.$element.focus():this.$search.focus()}},d.prototype.handleSearch=function(){if(this.resizeSearch(),!this._keyUpPrevented){var a=this.$search.val();this.trigger("query",{term:a})}this._keyUpPrevented=!1},d.prototype.searchRemoveChoice=function(a,b){this.trigger("unselect",{data:b}),this.$search.val(b.text),this.handleSearch()},d.prototype.resizeSearch=function(){this.$search.css("width","25px");var a="";if(""!==this.$search.attr("placeholder"))a=this.$selection.find(".select2-selection__rendered").innerWidth();else{a=.75*(this.$search.val().length+1)+"em"}this.$search.css("width",a)},d}),b.define("select2/selection/eventRelay",["jquery"],function(a){function b(){}return b.prototype.bind=function(b,c,d){var e=this,f=["open","opening","close","closing","select","selecting","unselect","unselecting","clear","clearing"],g=["opening","closing","selecting","unselecting","clearing"];b.call(this,c,d),c.on("*",function(b,c){if(-1!==a.inArray(b,f)){c=c||{};var d=a.Event("select2:"+b,{params:c});e.$element.trigger(d),-1!==a.inArray(b,g)&&(c.prevented=d.isDefaultPrevented())}})},b}),b.define("select2/translation",["jquery","require"],function(a,b){function c(a){this.dict=a||{}}return c.prototype.all=function(){return this.dict},c.prototype.get=function(a){return this.dict[a]},c.prototype.extend=function(b){this.dict=a.extend({},b.all(),this.dict)},c._cache={},c.loadPath=function(a){if(!(a in c._cache)){var d=b(a);c._cache[a]=d}return new c(c._cache[a])},c}),b.define("select2/diacritics",[],function(){return{"Ⓐ":"A","A":"A","À":"A","Á":"A","Â":"A","Ầ":"A","Ấ":"A","Ẫ":"A","Ẩ":"A","Ã":"A","Ā":"A","Ă":"A","Ằ":"A","Ắ":"A","Ẵ":"A","Ẳ":"A","Ȧ":"A","Ǡ":"A","Ä":"A","Ǟ":"A","Ả":"A","Å":"A","Ǻ":"A","Ǎ":"A","Ȁ":"A","Ȃ":"A","Ạ":"A","Ậ":"A","Ặ":"A","Ḁ":"A","Ą":"A","Ⱥ":"A","Ɐ":"A","Ꜳ":"AA","Æ":"AE","Ǽ":"AE","Ǣ":"AE","Ꜵ":"AO","Ꜷ":"AU","Ꜹ":"AV","Ꜻ":"AV","Ꜽ":"AY","Ⓑ":"B","B":"B","Ḃ":"B","Ḅ":"B","Ḇ":"B","Ƀ":"B","Ƃ":"B","Ɓ":"B","Ⓒ":"C","C":"C","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","Ç":"C","Ḉ":"C","Ƈ":"C","Ȼ":"C","Ꜿ":"C","Ⓓ":"D","D":"D","Ḋ":"D","Ď":"D","Ḍ":"D","Ḑ":"D","Ḓ":"D","Ḏ":"D","Đ":"D","Ƌ":"D","Ɗ":"D","Ɖ":"D","Ꝺ":"D","DZ":"DZ","DŽ":"DZ","Dz":"Dz","Dž":"Dz","Ⓔ":"E","E":"E","È":"E","É":"E","Ê":"E","Ề":"E","Ế":"E","Ễ":"E","Ể":"E","Ẽ":"E","Ē":"E","Ḕ":"E","Ḗ":"E","Ĕ":"E","Ė":"E","Ë":"E","Ẻ":"E","Ě":"E","Ȅ":"E","Ȇ":"E","Ẹ":"E","Ệ":"E","Ȩ":"E","Ḝ":"E","Ę":"E","Ḙ":"E","Ḛ":"E","Ɛ":"E","Ǝ":"E","Ⓕ":"F","F":"F","Ḟ":"F","Ƒ":"F","Ꝼ":"F","Ⓖ":"G","G":"G","Ǵ":"G","Ĝ":"G","Ḡ":"G","Ğ":"G","Ġ":"G","Ǧ":"G","Ģ":"G","Ǥ":"G","Ɠ":"G","Ꞡ":"G","Ᵹ":"G","Ꝿ":"G","Ⓗ":"H","H":"H","Ĥ":"H","Ḣ":"H","Ḧ":"H","Ȟ":"H","Ḥ":"H","Ḩ":"H","Ḫ":"H","Ħ":"H","Ⱨ":"H","Ⱶ":"H","Ɥ":"H","Ⓘ":"I","I":"I","Ì":"I","Í":"I","Î":"I","Ĩ":"I","Ī":"I","Ĭ":"I","İ":"I","Ï":"I","Ḯ":"I","Ỉ":"I","Ǐ":"I","Ȉ":"I","Ȋ":"I","Ị":"I","Į":"I","Ḭ":"I","Ɨ":"I","Ⓙ":"J","J":"J","Ĵ":"J","Ɉ":"J","Ⓚ":"K","K":"K","Ḱ":"K","Ǩ":"K","Ḳ":"K","Ķ":"K","Ḵ":"K","Ƙ":"K","Ⱪ":"K","Ꝁ":"K","Ꝃ":"K","Ꝅ":"K","Ꞣ":"K","Ⓛ":"L","L":"L","Ŀ":"L","Ĺ":"L","Ľ":"L","Ḷ":"L","Ḹ":"L","Ļ":"L","Ḽ":"L","Ḻ":"L","Ł":"L","Ƚ":"L","Ɫ":"L","Ⱡ":"L","Ꝉ":"L","Ꝇ":"L","Ꞁ":"L","LJ":"LJ","Lj":"Lj","Ⓜ":"M","M":"M","Ḿ":"M","Ṁ":"M","Ṃ":"M","Ɱ":"M","Ɯ":"M","Ⓝ":"N","N":"N","Ǹ":"N","Ń":"N","Ñ":"N","Ṅ":"N","Ň":"N","Ṇ":"N","Ņ":"N","Ṋ":"N","Ṉ":"N","Ƞ":"N","Ɲ":"N","Ꞑ":"N","Ꞥ":"N","NJ":"NJ","Nj":"Nj","Ⓞ":"O","O":"O","Ò":"O","Ó":"O","Ô":"O","Ồ":"O","Ố":"O","Ỗ":"O","Ổ":"O","Õ":"O","Ṍ":"O","Ȭ":"O","Ṏ":"O","Ō":"O","Ṑ":"O","Ṓ":"O","Ŏ":"O","Ȯ":"O","Ȱ":"O","Ö":"O","Ȫ":"O","Ỏ":"O","Ő":"O","Ǒ":"O","Ȍ":"O","Ȏ":"O","Ơ":"O","Ờ":"O","Ớ":"O","Ỡ":"O","Ở":"O","Ợ":"O","Ọ":"O","Ộ":"O","Ǫ":"O","Ǭ":"O","Ø":"O","Ǿ":"O","Ɔ":"O","Ɵ":"O","Ꝋ":"O","Ꝍ":"O","Ƣ":"OI","Ꝏ":"OO","Ȣ":"OU","Ⓟ":"P","P":"P","Ṕ":"P","Ṗ":"P","Ƥ":"P","Ᵽ":"P","Ꝑ":"P","Ꝓ":"P","Ꝕ":"P","Ⓠ":"Q","Q":"Q","Ꝗ":"Q","Ꝙ":"Q","Ɋ":"Q","Ⓡ":"R","R":"R","Ŕ":"R","Ṙ":"R","Ř":"R","Ȑ":"R","Ȓ":"R","Ṛ":"R","Ṝ":"R","Ŗ":"R","Ṟ":"R","Ɍ":"R","Ɽ":"R","Ꝛ":"R","Ꞧ":"R","Ꞃ":"R","Ⓢ":"S","S":"S","ẞ":"S","Ś":"S","Ṥ":"S","Ŝ":"S","Ṡ":"S","Š":"S","Ṧ":"S","Ṣ":"S","Ṩ":"S","Ș":"S","Ş":"S","Ȿ":"S","Ꞩ":"S","Ꞅ":"S","Ⓣ":"T","T":"T","Ṫ":"T","Ť":"T","Ṭ":"T","Ț":"T","Ţ":"T","Ṱ":"T","Ṯ":"T","Ŧ":"T","Ƭ":"T","Ʈ":"T","Ⱦ":"T","Ꞇ":"T","Ꜩ":"TZ","Ⓤ":"U","U":"U","Ù":"U","Ú":"U","Û":"U","Ũ":"U","Ṹ":"U","Ū":"U","Ṻ":"U","Ŭ":"U","Ü":"U","Ǜ":"U","Ǘ":"U","Ǖ":"U","Ǚ":"U","Ủ":"U","Ů":"U","Ű":"U","Ǔ":"U","Ȕ":"U","Ȗ":"U","Ư":"U","Ừ":"U","Ứ":"U","Ữ":"U","Ử":"U","Ự":"U","Ụ":"U","Ṳ":"U","Ų":"U","Ṷ":"U","Ṵ":"U","Ʉ":"U","Ⓥ":"V","V":"V","Ṽ":"V","Ṿ":"V","Ʋ":"V","Ꝟ":"V","Ʌ":"V","Ꝡ":"VY","Ⓦ":"W","W":"W","Ẁ":"W","Ẃ":"W","Ŵ":"W","Ẇ":"W","Ẅ":"W","Ẉ":"W","Ⱳ":"W","Ⓧ":"X","X":"X","Ẋ":"X","Ẍ":"X","Ⓨ":"Y","Y":"Y","Ỳ":"Y","Ý":"Y","Ŷ":"Y","Ỹ":"Y","Ȳ":"Y","Ẏ":"Y","Ÿ":"Y","Ỷ":"Y","Ỵ":"Y","Ƴ":"Y","Ɏ":"Y","Ỿ":"Y","Ⓩ":"Z","Z":"Z","Ź":"Z","Ẑ":"Z","Ż":"Z","Ž":"Z","Ẓ":"Z","Ẕ":"Z","Ƶ":"Z","Ȥ":"Z","Ɀ":"Z","Ⱬ":"Z","Ꝣ":"Z","ⓐ":"a","a":"a","ẚ":"a","à":"a","á":"a","â":"a","ầ":"a","ấ":"a","ẫ":"a","ẩ":"a","ã":"a","ā":"a","ă":"a","ằ":"a","ắ":"a","ẵ":"a","ẳ":"a","ȧ":"a","ǡ":"a","ä":"a","ǟ":"a","ả":"a","å":"a","ǻ":"a","ǎ":"a","ȁ":"a","ȃ":"a","ạ":"a","ậ":"a","ặ":"a","ḁ":"a","ą":"a","ⱥ":"a","ɐ":"a","ꜳ":"aa","æ":"ae","ǽ":"ae","ǣ":"ae","ꜵ":"ao","ꜷ":"au","ꜹ":"av","ꜻ":"av","ꜽ":"ay","ⓑ":"b","b":"b","ḃ":"b","ḅ":"b","ḇ":"b","ƀ":"b","ƃ":"b","ɓ":"b","ⓒ":"c","c":"c","ć":"c","ĉ":"c","ċ":"c","č":"c","ç":"c","ḉ":"c","ƈ":"c","ȼ":"c","ꜿ":"c","ↄ":"c","ⓓ":"d","d":"d","ḋ":"d","ď":"d","ḍ":"d","ḑ":"d","ḓ":"d","ḏ":"d","đ":"d","ƌ":"d","ɖ":"d","ɗ":"d","ꝺ":"d","dz":"dz","dž":"dz","ⓔ":"e","e":"e","è":"e","é":"e","ê":"e","ề":"e","ế":"e","ễ":"e","ể":"e","ẽ":"e","ē":"e","ḕ":"e","ḗ":"e","ĕ":"e","ė":"e","ë":"e","ẻ":"e","ě":"e","ȅ":"e","ȇ":"e","ẹ":"e","ệ":"e","ȩ":"e","ḝ":"e","ę":"e","ḙ":"e","ḛ":"e","ɇ":"e","ɛ":"e","ǝ":"e","ⓕ":"f","f":"f","ḟ":"f","ƒ":"f","ꝼ":"f","ⓖ":"g","g":"g","ǵ":"g","ĝ":"g","ḡ":"g","ğ":"g","ġ":"g","ǧ":"g","ģ":"g","ǥ":"g","ɠ":"g","ꞡ":"g","ᵹ":"g","ꝿ":"g","ⓗ":"h","h":"h","ĥ":"h","ḣ":"h","ḧ":"h","ȟ":"h","ḥ":"h","ḩ":"h","ḫ":"h","ẖ":"h","ħ":"h","ⱨ":"h","ⱶ":"h","ɥ":"h","ƕ":"hv","ⓘ":"i","i":"i","ì":"i","í":"i","î":"i","ĩ":"i","ī":"i","ĭ":"i","ï":"i","ḯ":"i","ỉ":"i","ǐ":"i","ȉ":"i","ȋ":"i","ị":"i","į":"i","ḭ":"i","ɨ":"i","ı":"i","ⓙ":"j","j":"j","ĵ":"j","ǰ":"j","ɉ":"j","ⓚ":"k","k":"k","ḱ":"k","ǩ":"k","ḳ":"k","ķ":"k","ḵ":"k","ƙ":"k","ⱪ":"k","ꝁ":"k","ꝃ":"k","ꝅ":"k","ꞣ":"k","ⓛ":"l","l":"l","ŀ":"l","ĺ":"l","ľ":"l","ḷ":"l","ḹ":"l","ļ":"l","ḽ":"l","ḻ":"l","ſ":"l","ł":"l","ƚ":"l","ɫ":"l","ⱡ":"l","ꝉ":"l","ꞁ":"l","ꝇ":"l","lj":"lj","ⓜ":"m","m":"m","ḿ":"m","ṁ":"m","ṃ":"m","ɱ":"m","ɯ":"m","ⓝ":"n","n":"n","ǹ":"n","ń":"n","ñ":"n","ṅ":"n","ň":"n","ṇ":"n","ņ":"n","ṋ":"n","ṉ":"n","ƞ":"n","ɲ":"n","ʼn":"n","ꞑ":"n","ꞥ":"n","nj":"nj","ⓞ":"o","o":"o","ò":"o","ó":"o","ô":"o","ồ":"o","ố":"o","ỗ":"o","ổ":"o","õ":"o","ṍ":"o","ȭ":"o","ṏ":"o","ō":"o","ṑ":"o","ṓ":"o","ŏ":"o","ȯ":"o","ȱ":"o","ö":"o","ȫ":"o","ỏ":"o","ő":"o","ǒ":"o","ȍ":"o","ȏ":"o","ơ":"o","ờ":"o","ớ":"o","ỡ":"o","ở":"o","ợ":"o","ọ":"o","ộ":"o","ǫ":"o","ǭ":"o","ø":"o","ǿ":"o","ɔ":"o","ꝋ":"o","ꝍ":"o","ɵ":"o","ƣ":"oi","ȣ":"ou","ꝏ":"oo","ⓟ":"p","p":"p","ṕ":"p","ṗ":"p","ƥ":"p","ᵽ":"p","ꝑ":"p","ꝓ":"p","ꝕ":"p","ⓠ":"q","q":"q","ɋ":"q","ꝗ":"q","ꝙ":"q","ⓡ":"r","r":"r","ŕ":"r","ṙ":"r","ř":"r","ȑ":"r","ȓ":"r","ṛ":"r","ṝ":"r","ŗ":"r","ṟ":"r","ɍ":"r","ɽ":"r","ꝛ":"r","ꞧ":"r","ꞃ":"r","ⓢ":"s","s":"s","ß":"s","ś":"s","ṥ":"s","ŝ":"s","ṡ":"s","š":"s","ṧ":"s","ṣ":"s","ṩ":"s","ș":"s","ş":"s","ȿ":"s","ꞩ":"s","ꞅ":"s","ẛ":"s","ⓣ":"t","t":"t","ṫ":"t","ẗ":"t","ť":"t","ṭ":"t","ț":"t","ţ":"t","ṱ":"t","ṯ":"t","ŧ":"t","ƭ":"t","ʈ":"t","ⱦ":"t","ꞇ":"t","ꜩ":"tz","ⓤ":"u","u":"u","ù":"u","ú":"u","û":"u","ũ":"u","ṹ":"u","ū":"u","ṻ":"u","ŭ":"u","ü":"u","ǜ":"u","ǘ":"u","ǖ":"u","ǚ":"u","ủ":"u","ů":"u","ű":"u","ǔ":"u","ȕ":"u","ȗ":"u","ư":"u","ừ":"u","ứ":"u","ữ":"u","ử":"u","ự":"u","ụ":"u","ṳ":"u","ų":"u","ṷ":"u","ṵ":"u","ʉ":"u","ⓥ":"v","v":"v","ṽ":"v","ṿ":"v","ʋ":"v","ꝟ":"v","ʌ":"v","ꝡ":"vy","ⓦ":"w","w":"w","ẁ":"w","ẃ":"w","ŵ":"w","ẇ":"w","ẅ":"w","ẘ":"w","ẉ":"w","ⱳ":"w","ⓧ":"x","x":"x","ẋ":"x","ẍ":"x","ⓨ":"y","y":"y","ỳ":"y","ý":"y","ŷ":"y","ỹ":"y","ȳ":"y","ẏ":"y","ÿ":"y","ỷ":"y","ẙ":"y","ỵ":"y","ƴ":"y","ɏ":"y","ỿ":"y","ⓩ":"z","z":"z","ź":"z","ẑ":"z","ż":"z","ž":"z","ẓ":"z","ẕ":"z","ƶ":"z","ȥ":"z","ɀ":"z","ⱬ":"z","ꝣ":"z","Ά":"Α","Έ":"Ε","Ή":"Η","Ί":"Ι","Ϊ":"Ι","Ό":"Ο","Ύ":"Υ","Ϋ":"Υ","Ώ":"Ω","ά":"α","έ":"ε","ή":"η","ί":"ι","ϊ":"ι","ΐ":"ι","ό":"ο","ύ":"υ","ϋ":"υ","ΰ":"υ","ω":"ω","ς":"σ"}}),b.define("select2/data/base",["../utils"],function(a){function b(a,c){b.__super__.constructor.call(this)}return a.Extend(b,a.Observable),b.prototype.current=function(a){throw new Error("The `current` method must be defined in child classes.")},b.prototype.query=function(a,b){throw new Error("The `query` method must be defined in child classes.")},b.prototype.bind=function(a,b){},b.prototype.destroy=function(){},b.prototype.generateResultId=function(b,c){var d=b.id+"-result-";return d+=a.generateChars(4),null!=c.id?d+="-"+c.id.toString():d+="-"+a.generateChars(4),d},b}),b.define("select2/data/select",["./base","../utils","jquery"],function(a,b,c){function d(a,b){this.$element=a,this.options=b,d.__super__.constructor.call(this)}return b.Extend(d,a),d.prototype.current=function(a){var b=[],d=this;this.$element.find(":selected").each(function(){var a=c(this),e=d.item(a);b.push(e)}),a(b)},d.prototype.select=function(a){var b=this;if(a.selected=!0,c(a.element).is("option"))return a.element.selected=!0,void this.$element.trigger("change");if(this.$element.prop("multiple"))this.current(function(d){var e=[];a=[a],a.push.apply(a,d);for(var f=0;f<a.length;f++){var g=a[f].id;-1===c.inArray(g,e)&&e.push(g)}b.$element.val(e),b.$element.trigger("change")});else{var d=a.id;this.$element.val(d),this.$element.trigger("change")}},d.prototype.unselect=function(a){var b=this;if(this.$element.prop("multiple")){if(a.selected=!1,c(a.element).is("option"))return a.element.selected=!1,void this.$element.trigger("change");this.current(function(d){for(var e=[],f=0;f<d.length;f++){var g=d[f].id;g!==a.id&&-1===c.inArray(g,e)&&e.push(g)}b.$element.val(e),b.$element.trigger("change")})}},d.prototype.bind=function(a,b){var c=this;this.container=a,a.on("select",function(a){c.select(a.data)}),a.on("unselect",function(a){c.unselect(a.data)})},d.prototype.destroy=function(){this.$element.find("*").each(function(){b.RemoveData(this)})},d.prototype.query=function(a,b){var d=[],e=this;this.$element.children().each(function(){var b=c(this);if(b.is("option")||b.is("optgroup")){var f=e.item(b),g=e.matches(a,f);null!==g&&d.push(g)}}),b({results:d})},d.prototype.addOptions=function(a){b.appendMany(this.$element,a)},d.prototype.option=function(a){var d;a.children?(d=document.createElement("optgroup"),d.label=a.text):(d=document.createElement("option"),void 0!==d.textContent?d.textContent=a.text:d.innerText=a.text),void 0!==a.id&&(d.value=a.id),a.disabled&&(d.disabled=!0),a.selected&&(d.selected=!0),a.title&&(d.title=a.title);var e=c(d),f=this._normalizeItem(a);return f.element=d,b.StoreData(d,"data",f),e},d.prototype.item=function(a){var d={};if(null!=(d=b.GetData(a[0],"data")))return d;if(a.is("option"))d={id:a.val(),text:a.text(),disabled:a.prop("disabled"),selected:a.prop("selected"),title:a.prop("title")};else if(a.is("optgroup")){d={text:a.prop("label"),children:[],title:a.prop("title")};for(var e=a.children("option"),f=[],g=0;g<e.length;g++){var h=c(e[g]),i=this.item(h);f.push(i)}d.children=f}return d=this._normalizeItem(d),d.element=a[0],b.StoreData(a[0],"data",d),d},d.prototype._normalizeItem=function(a){a!==Object(a)&&(a={id:a,text:a}),a=c.extend({},{text:""},a);var b={selected:!1,disabled:!1};return null!=a.id&&(a.id=a.id.toString()),null!=a.text&&(a.text=a.text.toString()),null==a._resultId&&a.id&&null!=this.container&&(a._resultId=this.generateResultId(this.container,a)),c.extend({},b,a)},d.prototype.matches=function(a,b){return this.options.get("matcher")(a,b)},d}),b.define("select2/data/array",["./select","../utils","jquery"],function(a,b,c){function d(a,b){var c=b.get("data")||[];d.__super__.constructor.call(this,a,b),this.addOptions(this.convertToOptions(c))}return b.Extend(d,a),d.prototype.select=function(a){var b=this.$element.find("option").filter(function(b,c){return c.value==a.id.toString()});0===b.length&&(b=this.option(a),this.addOptions(b)),d.__super__.select.call(this,a)},d.prototype.convertToOptions=function(a){function d(a){return function(){return c(this).val()==a.id}}for(var e=this,f=this.$element.find("option"),g=f.map(function(){return e.item(c(this)).id}).get(),h=[],i=0;i<a.length;i++){var j=this._normalizeItem(a[i]);if(c.inArray(j.id,g)>=0){var k=f.filter(d(j)),l=this.item(k),m=c.extend(!0,{},j,l),n=this.option(m);k.replaceWith(n)}else{var o=this.option(j);if(j.children){var p=this.convertToOptions(j.children);b.appendMany(o,p)}h.push(o)}}return h},d}),b.define("select2/data/ajax",["./array","../utils","jquery"],function(a,b,c){function d(a,b){this.ajaxOptions=this._applyDefaults(b.get("ajax")),null!=this.ajaxOptions.processResults&&(this.processResults=this.ajaxOptions.processResults),d.__super__.constructor.call(this,a,b)}return b.Extend(d,a),d.prototype._applyDefaults=function(a){var b={data:function(a){return c.extend({},a,{q:a.term})},transport:function(a,b,d){var e=c.ajax(a);return e.then(b),e.fail(d),e}};return c.extend({},b,a,!0)},d.prototype.processResults=function(a){return a},d.prototype.query=function(a,b){function d(){var d=f.transport(f,function(d){var f=e.processResults(d,a);e.options.get("debug")&&window.console&&console.error&&(f&&f.results&&c.isArray(f.results)||console.error("Select2: The AJAX results did not return an array in the `results` key of the response.")),b(f)},function(){"status"in d&&(0===d.status||"0"===d.status)||e.trigger("results:message",{message:"errorLoading"})});e._request=d}var e=this;null!=this._request&&(c.isFunction(this._request.abort)&&this._request.abort(),this._request=null);var f=c.extend({type:"GET"},this.ajaxOptions);"function"==typeof f.url&&(f.url=f.url.call(this.$element,a)),"function"==typeof f.data&&(f.data=f.data.call(this.$element,a)),this.ajaxOptions.delay&&null!=a.term?(this._queryTimeout&&window.clearTimeout(this._queryTimeout),this._queryTimeout=window.setTimeout(d,this.ajaxOptions.delay)):d()},d}),b.define("select2/data/tags",["jquery"],function(a){function b(b,c,d){var e=d.get("tags"),f=d.get("createTag");void 0!==f&&(this.createTag=f);var g=d.get("insertTag");if(void 0!==g&&(this.insertTag=g),b.call(this,c,d),a.isArray(e))for(var h=0;h<e.length;h++){var i=e[h],j=this._normalizeItem(i),k=this.option(j);this.$element.append(k)}}return b.prototype.query=function(a,b,c){function d(a,f){for(var g=a.results,h=0;h<g.length;h++){var i=g[h],j=null!=i.children&&!d({results:i.children},!0);if((i.text||"").toUpperCase()===(b.term||"").toUpperCase()||j)return!f&&(a.data=g,void c(a))}if(f)return!0;var k=e.createTag(b);if(null!=k){var l=e.option(k);l.attr("data-select2-tag",!0),e.addOptions([l]),e.insertTag(g,k)}a.results=g,c(a)}var e=this;if(this._removeOldTags(),null==b.term||null!=b.page)return void a.call(this,b,c);a.call(this,b,d)},b.prototype.createTag=function(b,c){var d=a.trim(c.term);return""===d?null:{id:d,text:d}},b.prototype.insertTag=function(a,b,c){b.unshift(c)},b.prototype._removeOldTags=function(b){this._lastTag;this.$element.find("option[data-select2-tag]").each(function(){this.selected||a(this).remove()})},b}),b.define("select2/data/tokenizer",["jquery"],function(a){function b(a,b,c){var d=c.get("tokenizer");void 0!==d&&(this.tokenizer=d),a.call(this,b,c)}return b.prototype.bind=function(a,b,c){a.call(this,b,c),this.$search=b.dropdown.$search||b.selection.$search||c.find(".select2-search__field")},b.prototype.query=function(b,c,d){function e(b){var c=g._normalizeItem(b);if(!g.$element.find("option").filter(function(){return a(this).val()===c.id}).length){var d=g.option(c);d.attr("data-select2-tag",!0),g._removeOldTags(),g.addOptions([d])}f(c)}function f(a){g.trigger("select",{data:a})}var g=this;c.term=c.term||"";var h=this.tokenizer(c,this.options,e);h.term!==c.term&&(this.$search.length&&(this.$search.val(h.term),this.$search.focus()),c.term=h.term),b.call(this,c,d)},b.prototype.tokenizer=function(b,c,d,e){for(var f=d.get("tokenSeparators")||[],g=c.term,h=0,i=this.createTag||function(a){return{id:a.term,text:a.term}};h<g.length;){var j=g[h];if(-1!==a.inArray(j,f)){var k=g.substr(0,h),l=a.extend({},c,{term:k}),m=i(l);null!=m?(e(m),g=g.substr(h+1)||"",h=0):h++}else h++}return{term:g}},b}),b.define("select2/data/minimumInputLength",[],function(){function a(a,b,c){this.minimumInputLength=c.get("minimumInputLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){if(b.term=b.term||"",b.term.length<this.minimumInputLength)return void this.trigger("results:message",{message:"inputTooShort",args:{minimum:this.minimumInputLength,input:b.term,params:b}});a.call(this,b,c)},a}),b.define("select2/data/maximumInputLength",[],function(){function a(a,b,c){this.maximumInputLength=c.get("maximumInputLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){if(b.term=b.term||"",this.maximumInputLength>0&&b.term.length>this.maximumInputLength)return void this.trigger("results:message",{message:"inputTooLong",args:{maximum:this.maximumInputLength,input:b.term,params:b}});a.call(this,b,c)},a}),b.define("select2/data/maximumSelectionLength",[],function(){function a(a,b,c){this.maximumSelectionLength=c.get("maximumSelectionLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){var d=this;this.current(function(e){var f=null!=e?e.length:0;if(d.maximumSelectionLength>0&&f>=d.maximumSelectionLength)return void d.trigger("results:message",{message:"maximumSelected",args:{maximum:d.maximumSelectionLength}});a.call(d,b,c)})},a}),b.define("select2/dropdown",["jquery","./utils"],function(a,b){function c(a,b){this.$element=a,this.options=b,c.__super__.constructor.call(this)}return b.Extend(c,b.Observable),c.prototype.render=function(){var b=a('<span class="select2-dropdown"><span class="select2-results"></span></span>');return b.attr("dir",this.options.get("dir")),this.$dropdown=b,b},c.prototype.bind=function(){},c.prototype.position=function(a,b){},c.prototype.destroy=function(){this.$dropdown.remove()},c}),b.define("select2/dropdown/search",["jquery","../utils"],function(a,b){function c(){}return c.prototype.render=function(b){var c=b.call(this),d=a('<span class="select2-search select2-search--dropdown"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="textbox" /></span>');return this.$searchContainer=d,this.$search=d.find("input"),c.prepend(d),c},c.prototype.bind=function(b,c,d){var e=this;b.call(this,c,d),this.$search.on("keydown",function(a){e.trigger("keypress",a),e._keyUpPrevented=a.isDefaultPrevented()}),this.$search.on("input",function(b){a(this).off("keyup")}),this.$search.on("keyup input",function(a){e.handleSearch(a)}),c.on("open",function(){e.$search.attr("tabindex",0),e.$search.focus(),window.setTimeout(function(){e.$search.focus()},0)}),c.on("close",function(){e.$search.attr("tabindex",-1),e.$search.val(""),e.$search.blur()}),c.on("focus",function(){c.isOpen()||e.$search.focus()}),c.on("results:all",function(a){if(null==a.query.term||""===a.query.term){e.showSearch(a)?e.$searchContainer.removeClass("select2-search--hide"):e.$searchContainer.addClass("select2-search--hide")}})},c.prototype.handleSearch=function(a){if(!this._keyUpPrevented){var b=this.$search.val();this.trigger("query",{term:b})}this._keyUpPrevented=!1},c.prototype.showSearch=function(a,b){return!0},c}),b.define("select2/dropdown/hidePlaceholder",[],function(){function a(a,b,c,d){this.placeholder=this.normalizePlaceholder(c.get("placeholder")),a.call(this,b,c,d)}return a.prototype.append=function(a,b){b.results=this.removePlaceholder(b.results),a.call(this,b)},a.prototype.normalizePlaceholder=function(a,b){return"string"==typeof b&&(b={id:"",text:b}),b},a.prototype.removePlaceholder=function(a,b){for(var c=b.slice(0),d=b.length-1;d>=0;d--){var e=b[d];this.placeholder.id===e.id&&c.splice(d,1)}return c},a}),b.define("select2/dropdown/infiniteScroll",["jquery"],function(a){function b(a,b,c,d){this.lastParams={},a.call(this,b,c,d),this.$loadingMore=this.createLoadingMore(),this.loading=!1}return b.prototype.append=function(a,b){this.$loadingMore.remove(),this.loading=!1,a.call(this,b),this.showLoadingMore(b)&&this.$results.append(this.$loadingMore)},b.prototype.bind=function(b,c,d){var e=this;b.call(this,c,d),c.on("query",function(a){e.lastParams=a,e.loading=!0}),c.on("query:append",function(a){e.lastParams=a,e.loading=!0}),this.$results.on("scroll",function(){var b=a.contains(document.documentElement,e.$loadingMore[0]);if(!e.loading&&b){e.$results.offset().top+e.$results.outerHeight(!1)+50>=e.$loadingMore.offset().top+e.$loadingMore.outerHeight(!1)&&e.loadMore()}})},b.prototype.loadMore=function(){this.loading=!0;var b=a.extend({},{page:1},this.lastParams);b.page++,this.trigger("query:append",b)},b.prototype.showLoadingMore=function(a,b){return b.pagination&&b.pagination.more},b.prototype.createLoadingMore=function(){var b=a('<li class="select2-results__option select2-results__option--load-more"role="treeitem" aria-disabled="true"></li>'),c=this.options.get("translations").get("loadingMore");return b.html(c(this.lastParams)),b},b}),b.define("select2/dropdown/attachBody",["jquery","../utils"],function(a,b){function c(b,c,d){this.$dropdownParent=d.get("dropdownParent")||a(document.body),b.call(this,c,d)}return c.prototype.bind=function(a,b,c){var d=this,e=!1;a.call(this,b,c),b.on("open",function(){d._showDropdown(),d._attachPositioningHandler(b),e||(e=!0,b.on("results:all",function(){d._positionDropdown(),d._resizeDropdown()}),b.on("results:append",function(){d._positionDropdown(),d._resizeDropdown()}))}),b.on("close",function(){d._hideDropdown(),d._detachPositioningHandler(b)}),this.$dropdownContainer.on("mousedown",function(a){a.stopPropagation()})},c.prototype.destroy=function(a){a.call(this),this.$dropdownContainer.remove()},c.prototype.position=function(a,b,c){b.attr("class",c.attr("class")),b.removeClass("select2"),b.addClass("select2-container--open"),b.css({position:"absolute",top:-999999}),this.$container=c},c.prototype.render=function(b){var c=a("<span></span>"),d=b.call(this);return c.append(d),this.$dropdownContainer=c,c},c.prototype._hideDropdown=function(a){this.$dropdownContainer.detach()},c.prototype._attachPositioningHandler=function(c,d){var e=this,f="scroll.select2."+d.id,g="resize.select2."+d.id,h="orientationchange.select2."+d.id,i=this.$container.parents().filter(b.hasScroll);i.each(function(){b.StoreData(this,"select2-scroll-position",{x:a(this).scrollLeft(),y:a(this).scrollTop()})}),i.on(f,function(c){var d=b.GetData(this,"select2-scroll-position");a(this).scrollTop(d.y)}),a(window).on(f+" "+g+" "+h,function(a){e._positionDropdown(),e._resizeDropdown()})},c.prototype._detachPositioningHandler=function(c,d){var e="scroll.select2."+d.id,f="resize.select2."+d.id,g="orientationchange.select2."+d.id;this.$container.parents().filter(b.hasScroll).off(e),a(window).off(e+" "+f+" "+g)},c.prototype._positionDropdown=function(){var b=a(window),c=this.$dropdown.hasClass("select2-dropdown--above"),d=this.$dropdown.hasClass("select2-dropdown--below"),e=null,f=this.$container.offset();f.bottom=f.top+this.$container.outerHeight(!1);var g={height:this.$container.outerHeight(!1)};g.top=f.top,g.bottom=f.top+g.height;var h={height:this.$dropdown.outerHeight(!1)},i={top:b.scrollTop(),bottom:b.scrollTop()+b.height()},j=i.top<f.top-h.height,k=i.bottom>f.bottom+h.height,l={left:f.left,top:g.bottom},m=this.$dropdownParent;"static"===m.css("position")&&(m=m.offsetParent());var n=m.offset();l.top-=n.top,l.left-=n.left,c||d||(e="below"),k||!j||c?!j&&k&&c&&(e="below"):e="above",("above"==e||c&&"below"!==e)&&(l.top=g.top-n.top-h.height),null!=e&&(this.$dropdown.removeClass("select2-dropdown--below select2-dropdown--above").addClass("select2-dropdown--"+e),this.$container.removeClass("select2-container--below select2-container--above").addClass("select2-container--"+e)),this.$dropdownContainer.css(l)},c.prototype._resizeDropdown=function(){var a={width:this.$container.outerWidth(!1)+"px"};this.options.get("dropdownAutoWidth")&&(a.minWidth=a.width,a.position="relative",a.width="auto"),this.$dropdown.css(a)},c.prototype._showDropdown=function(a){this.$dropdownContainer.appendTo(this.$dropdownParent),this._positionDropdown(),this._resizeDropdown()},c}),b.define("select2/dropdown/minimumResultsForSearch",[],function(){function a(b){for(var c=0,d=0;d<b.length;d++){var e=b[d];e.children?c+=a(e.children):c++}return c}function b(a,b,c,d){this.minimumResultsForSearch=c.get("minimumResultsForSearch"),this.minimumResultsForSearch<0&&(this.minimumResultsForSearch=1/0),a.call(this,b,c,d)}return b.prototype.showSearch=function(b,c){return!(a(c.data.results)<this.minimumResultsForSearch)&&b.call(this,c)},b}),b.define("select2/dropdown/selectOnClose",["../utils"],function(a){function b(){}return b.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),b.on("close",function(a){d._handleSelectOnClose(a)})},b.prototype._handleSelectOnClose=function(b,c){if(c&&null!=c.originalSelect2Event){var d=c.originalSelect2Event;if("select"===d._type||"unselect"===d._type)return}var e=this.getHighlightedResults();if(!(e.length<1)){var f=a.GetData(e[0],"data");null!=f.element&&f.element.selected||null==f.element&&f.selected||this.trigger("select",{data:f})}},b}),b.define("select2/dropdown/closeOnSelect",[],function(){function a(){}return a.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),b.on("select",function(a){d._selectTriggered(a)}),b.on("unselect",function(a){d._selectTriggered(a)})},a.prototype._selectTriggered=function(a,b){var c=b.originalEvent;c&&c.ctrlKey||this.trigger("close",{originalEvent:c,originalSelect2Event:b})},a}),b.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(a){var b=a.input.length-a.maximum,c="Please delete "+b+" character";return 1!=b&&(c+="s"),c},inputTooShort:function(a){return"Please enter "+(a.minimum-a.input.length)+" or more characters"},loadingMore:function(){return"Loading more results…"},maximumSelected:function(a){var b="You can only select "+a.maximum+" item";return 1!=a.maximum&&(b+="s"),b},noResults:function(){return"No results found"},searching:function(){return"Searching…"}}}),b.define("select2/defaults",["jquery","require","./results","./selection/single","./selection/multiple","./selection/placeholder","./selection/allowClear","./selection/search","./selection/eventRelay","./utils","./translation","./diacritics","./data/select","./data/array","./data/ajax","./data/tags","./data/tokenizer","./data/minimumInputLength","./data/maximumInputLength","./data/maximumSelectionLength","./dropdown","./dropdown/search","./dropdown/hidePlaceholder","./dropdown/infiniteScroll","./dropdown/attachBody","./dropdown/minimumResultsForSearch","./dropdown/selectOnClose","./dropdown/closeOnSelect","./i18n/en"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C){function D(){this.reset()}return D.prototype.apply=function(l){if(l=a.extend(!0,{},this.defaults,l),null==l.dataAdapter){if(null!=l.ajax?l.dataAdapter=o:null!=l.data?l.dataAdapter=n:l.dataAdapter=m,l.minimumInputLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,r)),l.maximumInputLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,s)),l.maximumSelectionLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,t)),l.tags&&(l.dataAdapter=j.Decorate(l.dataAdapter,p)),null==l.tokenSeparators&&null==l.tokenizer||(l.dataAdapter=j.Decorate(l.dataAdapter,q)),null!=l.query){var C=b(l.amdBase+"compat/query");l.dataAdapter=j.Decorate(l.dataAdapter,C)}if(null!=l.initSelection){var D=b(l.amdBase+"compat/initSelection");l.dataAdapter=j.Decorate(l.dataAdapter,D)}}if(null==l.resultsAdapter&&(l.resultsAdapter=c,null!=l.ajax&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,x)),null!=l.placeholder&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,w)),l.selectOnClose&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,A))),null==l.dropdownAdapter){if(l.multiple)l.dropdownAdapter=u;else{var E=j.Decorate(u,v);l.dropdownAdapter=E}if(0!==l.minimumResultsForSearch&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,z)),l.closeOnSelect&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,B)),null!=l.dropdownCssClass||null!=l.dropdownCss||null!=l.adaptDropdownCssClass){var F=b(l.amdBase+"compat/dropdownCss");l.dropdownAdapter=j.Decorate(l.dropdownAdapter,F)}l.dropdownAdapter=j.Decorate(l.dropdownAdapter,y)}if(null==l.selectionAdapter){if(l.multiple?l.selectionAdapter=e:l.selectionAdapter=d,null!=l.placeholder&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,f)),l.allowClear&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,g)),l.multiple&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,h)),null!=l.containerCssClass||null!=l.containerCss||null!=l.adaptContainerCssClass){var G=b(l.amdBase+"compat/containerCss");l.selectionAdapter=j.Decorate(l.selectionAdapter,G)}l.selectionAdapter=j.Decorate(l.selectionAdapter,i)}if("string"==typeof l.language)if(l.language.indexOf("-")>0){var H=l.language.split("-"),I=H[0];l.language=[l.language,I]}else l.language=[l.language];if(a.isArray(l.language)){var J=new k;l.language.push("en");for(var K=l.language,L=0;L<K.length;L++){var M=K[L],N={};try{N=k.loadPath(M)}catch(a){try{M=this.defaults.amdLanguageBase+M,N=k.loadPath(M)}catch(a){l.debug&&window.console&&console.warn&&console.warn('Select2: The language file for "'+M+'" could not be automatically loaded. A fallback will be used instead.');continue}}J.extend(N)}l.translations=J}else{var O=k.loadPath(this.defaults.amdLanguageBase+"en"),P=new k(l.language);P.extend(O),l.translations=P}return l},D.prototype.reset=function(){function b(a){function b(a){return l[a]||a}return a.replace(/[^\u0000-\u007E]/g,b)}function c(d,e){if(""===a.trim(d.term))return e;if(e.children&&e.children.length>0){for(var f=a.extend(!0,{},e),g=e.children.length-1;g>=0;g--){null==c(d,e.children[g])&&f.children.splice(g,1)}return f.children.length>0?f:c(d,f)}var h=b(e.text).toUpperCase(),i=b(d.term).toUpperCase();return h.indexOf(i)>-1?e:null}this.defaults={amdBase:"./",amdLanguageBase:"./i18n/",closeOnSelect:!0,debug:!1,dropdownAutoWidth:!1,escapeMarkup:j.escapeMarkup,language:C,matcher:c,minimumInputLength:0,maximumInputLength:0,maximumSelectionLength:0,minimumResultsForSearch:0,selectOnClose:!1,sorter:function(a){return a},templateResult:function(a){return a.text},templateSelection:function(a){return a.text},theme:"default",width:"resolve"}},D.prototype.set=function(b,c){var d=a.camelCase(b),e={};e[d]=c;var f=j._convertData(e);a.extend(!0,this.defaults,f)},new D}),b.define("select2/options",["require","jquery","./defaults","./utils"],function(a,b,c,d){function e(b,e){if(this.options=b,null!=e&&this.fromElement(e),this.options=c.apply(this.options),e&&e.is("input")){var f=a(this.get("amdBase")+"compat/inputData");this.options.dataAdapter=d.Decorate(this.options.dataAdapter,f)}}return e.prototype.fromElement=function(a){var c=["select2"];null==this.options.multiple&&(this.options.multiple=a.prop("multiple")),null==this.options.disabled&&(this.options.disabled=a.prop("disabled")),null==this.options.language&&(a.prop("lang")?this.options.language=a.prop("lang").toLowerCase():a.closest("[lang]").prop("lang")&&(this.options.language=a.closest("[lang]").prop("lang"))),null==this.options.dir&&(a.prop("dir")?this.options.dir=a.prop("dir"):a.closest("[dir]").prop("dir")?this.options.dir=a.closest("[dir]").prop("dir"):this.options.dir="ltr"),a.prop("disabled",this.options.disabled),a.prop("multiple",this.options.multiple),d.GetData(a[0],"select2Tags")&&(this.options.debug&&window.console&&console.warn&&console.warn('Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.'),d.StoreData(a[0],"data",d.GetData(a[0],"select2Tags")),d.StoreData(a[0],"tags",!0)),d.GetData(a[0],"ajaxUrl")&&(this.options.debug&&window.console&&console.warn&&console.warn("Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2."),a.attr("ajax--url",d.GetData(a[0],"ajaxUrl")),d.StoreData(a[0],"ajax-Url",d.GetData(a[0],"ajaxUrl")));var e={};e=b.fn.jquery&&"1."==b.fn.jquery.substr(0,2)&&a[0].dataset?b.extend(!0,{},a[0].dataset,d.GetData(a[0])):d.GetData(a[0]);var f=b.extend(!0,{},e);f=d._convertData(f);for(var g in f)b.inArray(g,c)>-1||(b.isPlainObject(this.options[g])?b.extend(this.options[g],f[g]):this.options[g]=f[g]);return this},e.prototype.get=function(a){return this.options[a]},e.prototype.set=function(a,b){this.options[a]=b},e}),b.define("select2/core",["jquery","./options","./utils","./keys"],function(a,b,c,d){var e=function(a,d){null!=c.GetData(a[0],"select2")&&c.GetData(a[0],"select2").destroy(),this.$element=a,this.id=this._generateId(a),d=d||{},this.options=new b(d,a),e.__super__.constructor.call(this);var f=a.attr("tabindex")||0;c.StoreData(a[0],"old-tabindex",f),a.attr("tabindex","-1");var g=this.options.get("dataAdapter");this.dataAdapter=new g(a,this.options);var h=this.render();this._placeContainer(h);var i=this.options.get("selectionAdapter");this.selection=new i(a,this.options),this.$selection=this.selection.render(),this.selection.position(this.$selection,h);var j=this.options.get("dropdownAdapter");this.dropdown=new j(a,this.options),this.$dropdown=this.dropdown.render(),this.dropdown.position(this.$dropdown,h);var k=this.options.get("resultsAdapter");this.results=new k(a,this.options,this.dataAdapter),this.$results=this.results.render(),this.results.position(this.$results,this.$dropdown);var l=this;this._bindAdapters(),this._registerDomEvents(),this._registerDataEvents(),this._registerSelectionEvents(),this._registerDropdownEvents(),this._registerResultsEvents(),this._registerEvents(),this.dataAdapter.current(function(a){l.trigger("selection:update",{data:a})}),a.addClass("select2-hidden-accessible"),a.attr("aria-hidden","true"),this._syncAttributes(),c.StoreData(a[0],"select2",this),a.data("select2",this)};return c.Extend(e,c.Observable),e.prototype._generateId=function(a){var b="";return b=null!=a.attr("id")?a.attr("id"):null!=a.attr("name")?a.attr("name")+"-"+c.generateChars(2):c.generateChars(4),b=b.replace(/(:|\.|\[|\]|,)/g,""),b="select2-"+b},e.prototype._placeContainer=function(a){a.insertAfter(this.$element);var b=this._resolveWidth(this.$element,this.options.get("width"));null!=b&&a.css("width",b)},e.prototype._resolveWidth=function(a,b){var c=/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;if("resolve"==b){var d=this._resolveWidth(a,"style");return null!=d?d:this._resolveWidth(a,"element")}if("element"==b){var e=a.outerWidth(!1);return e<=0?"auto":e+"px"}if("style"==b){var f=a.attr("style");if("string"!=typeof f)return null;for(var g=f.split(";"),h=0,i=g.length;h<i;h+=1){var j=g[h].replace(/\s/g,""),k=j.match(c);if(null!==k&&k.length>=1)return k[1]}return null}return b},e.prototype._bindAdapters=function(){this.dataAdapter.bind(this,this.$container),this.selection.bind(this,this.$container),this.dropdown.bind(this,this.$container),this.results.bind(this,this.$container)},e.prototype._registerDomEvents=function(){var b=this;this.$element.on("change.select2",function(){b.dataAdapter.current(function(a){b.trigger("selection:update",{data:a})})}),this.$element.on("focus.select2",function(a){b.trigger("focus",a)}),this._syncA=c.bind(this._syncAttributes,this),this._syncS=c.bind(this._syncSubtree,this),this.$element[0].attachEvent&&this.$element[0].attachEvent("onpropertychange",this._syncA);var d=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;null!=d?(this._observer=new d(function(c){a.each(c,b._syncA),a.each(c,b._syncS)}),this._observer.observe(this.$element[0],{attributes:!0,childList:!0,subtree:!1})):this.$element[0].addEventListener&&(this.$element[0].addEventListener("DOMAttrModified",b._syncA,!1),this.$element[0].addEventListener("DOMNodeInserted",b._syncS,!1),this.$element[0].addEventListener("DOMNodeRemoved",b._syncS,!1))},e.prototype._registerDataEvents=function(){var a=this;this.dataAdapter.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerSelectionEvents=function(){var b=this,c=["toggle","focus"];this.selection.on("toggle",function(){b.toggleDropdown()}),this.selection.on("focus",function(a){b.focus(a)}),this.selection.on("*",function(d,e){-1===a.inArray(d,c)&&b.trigger(d,e)})},e.prototype._registerDropdownEvents=function(){var a=this;this.dropdown.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerResultsEvents=function(){var a=this;this.results.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerEvents=function(){var a=this;this.on("open",function(){a.$container.addClass("select2-container--open")}),this.on("close",function(){a.$container.removeClass("select2-container--open")}),this.on("enable",function(){a.$container.removeClass("select2-container--disabled")}),this.on("disable",function(){a.$container.addClass("select2-container--disabled")}),this.on("blur",function(){a.$container.removeClass("select2-container--focus")}),this.on("query",function(b){a.isOpen()||a.trigger("open",{}),this.dataAdapter.query(b,function(c){a.trigger("results:all",{data:c,query:b})})}),this.on("query:append",function(b){this.dataAdapter.query(b,function(c){a.trigger("results:append",{data:c,query:b})})}),this.on("keypress",function(b){var c=b.which;a.isOpen()?c===d.ESC||c===d.TAB||c===d.UP&&b.altKey?(a.close(),b.preventDefault()):c===d.ENTER?(a.trigger("results:select",{}),b.preventDefault()):c===d.SPACE&&b.ctrlKey?(a.trigger("results:toggle",{}),b.preventDefault()):c===d.UP?(a.trigger("results:previous",{}),b.preventDefault()):c===d.DOWN&&(a.trigger("results:next",{}),b.preventDefault()):(c===d.ENTER||c===d.SPACE||c===d.DOWN&&b.altKey)&&(a.open(),b.preventDefault())})},e.prototype._syncAttributes=function(){this.options.set("disabled",this.$element.prop("disabled")),this.options.get("disabled")?(this.isOpen()&&this.close(),this.trigger("disable",{})):this.trigger("enable",{})},e.prototype._syncSubtree=function(a,b){var c=!1,d=this;if(!a||!a.target||"OPTION"===a.target.nodeName||"OPTGROUP"===a.target.nodeName){if(b)if(b.addedNodes&&b.addedNodes.length>0)for(var e=0;e<b.addedNodes.length;e++){var f=b.addedNodes[e];f.selected&&(c=!0)}else b.removedNodes&&b.removedNodes.length>0&&(c=!0);else c=!0;c&&this.dataAdapter.current(function(a){d.trigger("selection:update",{data:a})})}},e.prototype.trigger=function(a,b){var c=e.__super__.trigger,d={open:"opening",close:"closing",select:"selecting",unselect:"unselecting",clear:"clearing"};if(void 0===b&&(b={}),a in d){var f=d[a],g={prevented:!1,name:a,args:b};if(c.call(this,f,g),g.prevented)return void(b.prevented=!0)}c.call(this,a,b)},e.prototype.toggleDropdown=function(){this.options.get("disabled")||(this.isOpen()?this.close():this.open())},e.prototype.open=function(){this.isOpen()||this.trigger("query",{})},e.prototype.close=function(){this.isOpen()&&this.trigger("close",{})},e.prototype.isOpen=function(){return this.$container.hasClass("select2-container--open")},e.prototype.hasFocus=function(){return this.$container.hasClass("select2-container--focus")},e.prototype.focus=function(a){this.hasFocus()||(this.$container.addClass("select2-container--focus"),this.trigger("focus",{}))},e.prototype.enable=function(a){this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.'),null!=a&&0!==a.length||(a=[!0]);var b=!a[0];this.$element.prop("disabled",b)},e.prototype.data=function(){this.options.get("debug")&&arguments.length>0&&window.console&&console.warn&&console.warn('Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.');var a=[];return this.dataAdapter.current(function(b){a=b}),a},e.prototype.val=function(b){if(this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'),null==b||0===b.length)return this.$element.val();var c=b[0];a.isArray(c)&&(c=a.map(c,function(a){return a.toString()})),this.$element.val(c).trigger("change")},e.prototype.destroy=function(){this.$container.remove(),this.$element[0].detachEvent&&this.$element[0].detachEvent("onpropertychange",this._syncA),null!=this._observer?(this._observer.disconnect(),this._observer=null):this.$element[0].removeEventListener&&(this.$element[0].removeEventListener("DOMAttrModified",this._syncA,!1),this.$element[0].removeEventListener("DOMNodeInserted",this._syncS,!1),this.$element[0].removeEventListener("DOMNodeRemoved",this._syncS,!1)),this._syncA=null,this._syncS=null,this.$element.off(".select2"),this.$element.attr("tabindex",c.GetData(this.$element[0],"old-tabindex")),this.$element.removeClass("select2-hidden-accessible"),this.$element.attr("aria-hidden","false"),c.RemoveData(this.$element[0]),this.$element.removeData("select2"),this.dataAdapter.destroy(),this.selection.destroy(),this.dropdown.destroy(),this.results.destroy(),this.dataAdapter=null,this.selection=null,this.dropdown=null,this.results=null},e.prototype.render=function(){var b=a('<span class="select2 select2-container"><span class="selection"></span><span class="dropdown-wrapper" aria-hidden="true"></span></span>');return b.attr("dir",this.options.get("dir")),this.$container=b,this.$container.addClass("select2-container--"+this.options.get("theme")),c.StoreData(b[0],"element",this.$element),b},e}),b.define("select2/compat/utils",["jquery"],function(a){function b(b,c,d){var e,f,g=[];e=a.trim(b.attr("class")),e&&(e=""+e,a(e.split(/\s+/)).each(function(){0===this.indexOf("select2-")&&g.push(this)})),e=a.trim(c.attr("class")),e&&(e=""+e,a(e.split(/\s+/)).each(function(){0!==this.indexOf("select2-")&&null!=(f=d(this))&&g.push(f)})),b.attr("class",g.join(" "))}return{syncCssClasses:b}}),b.define("select2/compat/containerCss",["jquery","./utils"],function(a,b){function c(a){return null}function d(){}return d.prototype.render=function(d){var e=d.call(this),f=this.options.get("containerCssClass")||"";a.isFunction(f)&&(f=f(this.$element));var g=this.options.get("adaptContainerCssClass");if(g=g||c,-1!==f.indexOf(":all:")){f=f.replace(":all:","");var h=g;g=function(a){var b=h(a);return null!=b?b+" "+a:a}}var i=this.options.get("containerCss")||{};return a.isFunction(i)&&(i=i(this.$element)),b.syncCssClasses(e,this.$element,g),e.css(i),e.addClass(f),e},d}),b.define("select2/compat/dropdownCss",["jquery","./utils"],function(a,b){function c(a){return null}function d(){}return d.prototype.render=function(d){var e=d.call(this),f=this.options.get("dropdownCssClass")||"";a.isFunction(f)&&(f=f(this.$element));var g=this.options.get("adaptDropdownCssClass");if(g=g||c,-1!==f.indexOf(":all:")){f=f.replace(":all:","");var h=g;g=function(a){var b=h(a);return null!=b?b+" "+a:a}}var i=this.options.get("dropdownCss")||{};return a.isFunction(i)&&(i=i(this.$element)),b.syncCssClasses(e,this.$element,g),e.css(i),e.addClass(f),e},d}),b.define("select2/compat/initSelection",["jquery"],function(a){function b(a,b,c){c.get("debug")&&window.console&&console.warn&&console.warn("Select2: The `initSelection` option has been deprecated in favor of a custom data adapter that overrides the `current` method. This method is now called multiple times instead of a single time when the instance is initialized. Support will be removed for the `initSelection` option in future versions of Select2"),this.initSelection=c.get("initSelection"),this._isInitialized=!1,a.call(this,b,c)}return b.prototype.current=function(b,c){var d=this;if(this._isInitialized)return void b.call(this,c);this.initSelection.call(null,this.$element,function(b){d._isInitialized=!0,a.isArray(b)||(b=[b]),c(b)})},b}),b.define("select2/compat/inputData",["jquery","../utils"],function(a,b){function c(a,b,c){this._currentData=[],this._valueSeparator=c.get("valueSeparator")||",","hidden"===b.prop("type")&&c.get("debug")&&console&&console.warn&&console.warn("Select2: Using a hidden input with Select2 is no longer supported and may stop working in the future. It is recommended to use a `<select>` element instead."),a.call(this,b,c)}return c.prototype.current=function(b,c){function d(b,c){var e=[];return b.selected||-1!==a.inArray(b.id,c)?(b.selected=!0,e.push(b)):b.selected=!1,b.children&&e.push.apply(e,d(b.children,c)),e}for(var e=[],f=0;f<this._currentData.length;f++){var g=this._currentData[f];e.push.apply(e,d(g,this.$element.val().split(this._valueSeparator)))}c(e)},c.prototype.select=function(b,c){if(this.options.get("multiple")){var d=this.$element.val();d+=this._valueSeparator+c.id,this.$element.val(d),this.$element.trigger("change")}else this.current(function(b){a.map(b,function(a){a.selected=!1})}),this.$element.val(c.id),this.$element.trigger("change")},c.prototype.unselect=function(a,b){var c=this;b.selected=!1,this.current(function(a){for(var d=[],e=0;e<a.length;e++){var f=a[e];b.id!=f.id&&d.push(f.id)}c.$element.val(d.join(c._valueSeparator)),c.$element.trigger("change")})},c.prototype.query=function(a,b,c){for(var d=[],e=0;e<this._currentData.length;e++){var f=this._currentData[e],g=this.matches(b,f);null!==g&&d.push(g)}c({results:d})},c.prototype.addOptions=function(c,d){var e=a.map(d,function(a){return b.GetData(a[0],"data")});this._currentData.push.apply(this._currentData,e)},c}),b.define("select2/compat/matcher",["jquery"],function(a){function b(b){function c(c,d){var e=a.extend(!0,{},d);if(null==c.term||""===a.trim(c.term))return e;if(d.children){for(var f=d.children.length-1;f>=0;f--){var g=d.children[f];b(c.term,g.text,g)||e.children.splice(f,1)}if(e.children.length>0)return e}return b(c.term,d.text,d)?e:null}return c}return b}),b.define("select2/compat/query",[],function(){function a(a,b,c){c.get("debug")&&window.console&&console.warn&&console.warn("Select2: The `query` option has been deprecated in favor of a custom data adapter that overrides the `query` method. Support will be removed for the `query` option in future versions of Select2."),a.call(this,b,c)}return a.prototype.query=function(a,b,c){b.callback=c,this.options.get("query").call(null,b)},a}),b.define("select2/dropdown/attachContainer",[],function(){function a(a,b,c){a.call(this,b,c)}return a.prototype.position=function(a,b,c){c.find(".dropdown-wrapper").append(b),b.addClass("select2-dropdown--below"),c.addClass("select2-container--below")},a}),b.define("select2/dropdown/stopPropagation",[],function(){function a(){}return a.prototype.bind=function(a,b,c){a.call(this,b,c);var d=["blur","change","click","dblclick","focus","focusin","focusout","input","keydown","keyup","keypress","mousedown","mouseenter","mouseleave","mousemove","mouseover","mouseup","search","touchend","touchstart"];this.$dropdown.on(d.join(" "),function(a){a.stopPropagation()})},a}),b.define("select2/selection/stopPropagation",[],function(){function a(){}return a.prototype.bind=function(a,b,c){a.call(this,b,c);var d=["blur","change","click","dblclick","focus","focusin","focusout","input","keydown","keyup","keypress","mousedown","mouseenter","mouseleave","mousemove","mouseover","mouseup","search","touchend","touchstart"];this.$selection.on(d.join(" "),function(a){a.stopPropagation()})},a}),function(c){"function"==typeof b.define&&b.define.amd?b.define("jquery-mousewheel",["jquery"],c):"object"==typeof exports?module.exports=c:c(a)}(function(a){function b(b){var g=b||window.event,h=i.call(arguments,1),j=0,l=0,m=0,n=0,o=0,p=0;if(b=a.event.fix(g),b.type="mousewheel","detail"in g&&(m=-1*g.detail),"wheelDelta"in g&&(m=g.wheelDelta),"wheelDeltaY"in g&&(m=g.wheelDeltaY),"wheelDeltaX"in g&&(l=-1*g.wheelDeltaX),"axis"in g&&g.axis===g.HORIZONTAL_AXIS&&(l=-1*m,m=0),j=0===m?l:m,"deltaY"in g&&(m=-1*g.deltaY,j=m),"deltaX"in g&&(l=g.deltaX,0===m&&(j=-1*l)),0!==m||0!==l){if(1===g.deltaMode){var q=a.data(this,"mousewheel-line-height");j*=q,m*=q,l*=q}else if(2===g.deltaMode){var r=a.data(this,"mousewheel-page-height");j*=r,m*=r,l*=r}if(n=Math.max(Math.abs(m),Math.abs(l)),(!f||n<f)&&(f=n,d(g,n)&&(f/=40)),d(g,n)&&(j/=40,l/=40,m/=40),j=Math[j>=1?"floor":"ceil"](j/f),l=Math[l>=1?"floor":"ceil"](l/f),m=Math[m>=1?"floor":"ceil"](m/f),k.settings.normalizeOffset&&this.getBoundingClientRect){var s=this.getBoundingClientRect();o=b.clientX-s.left,p=b.clientY-s.top}return b.deltaX=l,b.deltaY=m,b.deltaFactor=f,b.offsetX=o,b.offsetY=p,b.deltaMode=0,h.unshift(b,j,l,m),e&&clearTimeout(e),e=setTimeout(c,200),(a.event.dispatch||a.event.handle).apply(this,h)}}function c(){f=null}function d(a,b){return k.settings.adjustOldDeltas&&"mousewheel"===a.type&&b%120==0}var e,f,g=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"],h="onwheel"in document||document.documentMode>=9?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"],i=Array.prototype.slice;if(a.event.fixHooks)for(var j=g.length;j;)a.event.fixHooks[g[--j]]=a.event.mouseHooks;var k=a.event.special.mousewheel={version:"3.1.12",setup:function(){if(this.addEventListener)for(var c=h.length;c;)this.addEventListener(h[--c],b,!1);else this.onmousewheel=b;a.data(this,"mousewheel-line-height",k.getLineHeight(this)),a.data(this,"mousewheel-page-height",k.getPageHeight(this))},teardown:function(){if(this.removeEventListener)for(var c=h.length;c;)this.removeEventListener(h[--c],b,!1);else this.onmousewheel=null;a.removeData(this,"mousewheel-line-height"),a.removeData(this,"mousewheel-page-height")},getLineHeight:function(b){var c=a(b),d=c["offsetParent"in a.fn?"offsetParent":"parent"]();return d.length||(d=a("body")),parseInt(d.css("fontSize"),10)||parseInt(c.css("fontSize"),10)||16},getPageHeight:function(b){return a(b).height()},settings:{adjustOldDeltas:!0,normalizeOffset:!0}};a.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})}),b.define("jquery.select2",["jquery","jquery-mousewheel","./select2/core","./select2/defaults","./select2/utils"],function(a,b,c,d,e){if(null==a.fn.select2){var f=["open","close","destroy"];a.fn.select2=function(b){if("object"==typeof(b=b||{}))return this.each(function(){var d=a.extend(!0,{},b);new c(a(this),d)}),this;if("string"==typeof b){var d,g=Array.prototype.slice.call(arguments,1);return this.each(function(){var a=e.GetData(this,"select2");null==a&&window.console&&console.error&&console.error("The select2('"+b+"') method was called on an element that is not using Select2."),d=a[b].apply(a,g)}),a.inArray(b,f)>-1?this:d}throw new Error("Invalid arguments for Select2: "+b)}}return null==a.fn.select2.defaults&&(a.fn.select2.defaults=d),c}),{define:b.define,require:b.require}}(),c=b.require("jquery.select2");return a.fn.select2.amd=b,c});PK�}�\X������js/select2.full.jsnu�[���/*! * Select2 4.0.6-rc.1 * https://select2.github.io * * Released under the MIT license * https://github.com/select2/select2/blob/master/LICENSE.md */ ;(function (factory) { if (typeof define === 'function' && define.amd) { // AMD. Register as an anonymous module. define(['jquery'], factory); } else if (typeof module === 'object' && module.exports) { // Node/CommonJS module.exports = function (root, jQuery) { if (jQuery === undefined) { // require('jQuery') returns a factory that requires window to // build a jQuery instance, we normalize how we use modules // that require this pattern but the window provided is a noop // if it's defined (how jquery works) if (typeof window !== 'undefined') { jQuery = require('jquery'); } else { jQuery = require('jquery')(root); } } factory(jQuery); return jQuery; }; } else { // Browser globals factory(jQuery); } } (function (jQuery) { // This is needed so we can catch the AMD loader configuration and use it // The inner file should be wrapped (by `banner.start.js`) in a function that // returns the AMD loader references. var S2 =(function () { // Restore the Select2 AMD loader so it can be used // Needed mostly in the language files, where the loader is not inserted if (jQuery && jQuery.fn && jQuery.fn.select2 && jQuery.fn.select2.amd) { var S2 = jQuery.fn.select2.amd; } var S2;(function () { if (!S2 || !S2.requirejs) { if (!S2) { S2 = {}; } else { require = S2; } /** * @license almond 0.3.3 Copyright jQuery Foundation and other contributors. * Released under MIT license, http://github.com/requirejs/almond/LICENSE */ //Going sloppy to avoid 'use strict' string cost, but strict practices should //be followed. /*global setTimeout: false */ var requirejs, require, define; (function (undef) { var main, req, makeMap, handlers, defined = {}, waiting = {}, config = {}, defining = {}, hasOwn = Object.prototype.hasOwnProperty, aps = [].slice, jsSuffixRegExp = /\.js$/; function hasProp(obj, prop) { return hasOwn.call(obj, prop); } /** * Given a relative module name, like ./something, normalize it to * a real name that can be mapped to a path. * @param {String} name the relative name * @param {String} baseName a real name that the name arg is relative * to. * @returns {String} normalized name */ function normalize(name, baseName) { var nameParts, nameSegment, mapValue, foundMap, lastIndex, foundI, foundStarMap, starI, i, j, part, normalizedBaseParts, baseParts = baseName && baseName.split("/"), map = config.map, starMap = (map && map['*']) || {}; //Adjust any relative paths. if (name) { name = name.split('/'); lastIndex = name.length - 1; // If wanting node ID compatibility, strip .js from end // of IDs. Have to do this here, and not in nameToUrl // because node allows either .js or non .js to map // to same file. if (config.nodeIdCompat && jsSuffixRegExp.test(name[lastIndex])) { name[lastIndex] = name[lastIndex].replace(jsSuffixRegExp, ''); } // Starts with a '.' so need the baseName if (name[0].charAt(0) === '.' && baseParts) { //Convert baseName to array, and lop off the last part, //so that . matches that 'directory' and not name of the baseName's //module. For instance, baseName of 'one/two/three', maps to //'one/two/three.js', but we want the directory, 'one/two' for //this normalization. normalizedBaseParts = baseParts.slice(0, baseParts.length - 1); name = normalizedBaseParts.concat(name); } //start trimDots for (i = 0; i < name.length; i++) { part = name[i]; if (part === '.') { name.splice(i, 1); i -= 1; } else if (part === '..') { // If at the start, or previous value is still .., // keep them so that when converted to a path it may // still work when converted to a path, even though // as an ID it is less than ideal. In larger point // releases, may be better to just kick out an error. if (i === 0 || (i === 1 && name[2] === '..') || name[i - 1] === '..') { continue; } else if (i > 0) { name.splice(i - 1, 2); i -= 2; } } } //end trimDots name = name.join('/'); } //Apply map config if available. if ((baseParts || starMap) && map) { nameParts = name.split('/'); for (i = nameParts.length; i > 0; i -= 1) { nameSegment = nameParts.slice(0, i).join("/"); if (baseParts) { //Find the longest baseName segment match in the config. //So, do joins on the biggest to smallest lengths of baseParts. for (j = baseParts.length; j > 0; j -= 1) { mapValue = map[baseParts.slice(0, j).join('/')]; //baseName segment has config, find if it has one for //this name. if (mapValue) { mapValue = mapValue[nameSegment]; if (mapValue) { //Match, update name to the new value. foundMap = mapValue; foundI = i; break; } } } } if (foundMap) { break; } //Check for a star map match, but just hold on to it, //if there is a shorter segment match later in a matching //config, then favor over this star map. if (!foundStarMap && starMap && starMap[nameSegment]) { foundStarMap = starMap[nameSegment]; starI = i; } } if (!foundMap && foundStarMap) { foundMap = foundStarMap; foundI = starI; } if (foundMap) { nameParts.splice(0, foundI, foundMap); name = nameParts.join('/'); } } return name; } function makeRequire(relName, forceSync) { return function () { //A version of a require function that passes a moduleName //value for items that may need to //look up paths relative to the moduleName var args = aps.call(arguments, 0); //If first arg is not require('string'), and there is only //one arg, it is the array form without a callback. Insert //a null so that the following concat is correct. if (typeof args[0] !== 'string' && args.length === 1) { args.push(null); } return req.apply(undef, args.concat([relName, forceSync])); }; } function makeNormalize(relName) { return function (name) { return normalize(name, relName); }; } function makeLoad(depName) { return function (value) { defined[depName] = value; }; } function callDep(name) { if (hasProp(waiting, name)) { var args = waiting[name]; delete waiting[name]; defining[name] = true; main.apply(undef, args); } if (!hasProp(defined, name) && !hasProp(defining, name)) { throw new Error('No ' + name); } return defined[name]; } //Turns a plugin!resource to [plugin, resource] //with the plugin being undefined if the name //did not have a plugin prefix. function splitPrefix(name) { var prefix, index = name ? name.indexOf('!') : -1; if (index > -1) { prefix = name.substring(0, index); name = name.substring(index + 1, name.length); } return [prefix, name]; } //Creates a parts array for a relName where first part is plugin ID, //second part is resource ID. Assumes relName has already been normalized. function makeRelParts(relName) { return relName ? splitPrefix(relName) : []; } /** * Makes a name map, normalizing the name, and using a plugin * for normalization if necessary. Grabs a ref to plugin * too, as an optimization. */ makeMap = function (name, relParts) { var plugin, parts = splitPrefix(name), prefix = parts[0], relResourceName = relParts[1]; name = parts[1]; if (prefix) { prefix = normalize(prefix, relResourceName); plugin = callDep(prefix); } //Normalize according if (prefix) { if (plugin && plugin.normalize) { name = plugin.normalize(name, makeNormalize(relResourceName)); } else { name = normalize(name, relResourceName); } } else { name = normalize(name, relResourceName); parts = splitPrefix(name); prefix = parts[0]; name = parts[1]; if (prefix) { plugin = callDep(prefix); } } //Using ridiculous property names for space reasons return { f: prefix ? prefix + '!' + name : name, //fullName n: name, pr: prefix, p: plugin }; }; function makeConfig(name) { return function () { return (config && config.config && config.config[name]) || {}; }; } handlers = { require: function (name) { return makeRequire(name); }, exports: function (name) { var e = defined[name]; if (typeof e !== 'undefined') { return e; } else { return (defined[name] = {}); } }, module: function (name) { return { id: name, uri: '', exports: defined[name], config: makeConfig(name) }; } }; main = function (name, deps, callback, relName) { var cjsModule, depName, ret, map, i, relParts, args = [], callbackType = typeof callback, usingExports; //Use name if no relName relName = relName || name; relParts = makeRelParts(relName); //Call the callback to define the module, if necessary. if (callbackType === 'undefined' || callbackType === 'function') { //Pull out the defined dependencies and pass the ordered //values to the callback. //Default to [require, exports, module] if no deps deps = !deps.length && callback.length ? ['require', 'exports', 'module'] : deps; for (i = 0; i < deps.length; i += 1) { map = makeMap(deps[i], relParts); depName = map.f; //Fast path CommonJS standard dependencies. if (depName === "require") { args[i] = handlers.require(name); } else if (depName === "exports") { //CommonJS module spec 1.1 args[i] = handlers.exports(name); usingExports = true; } else if (depName === "module") { //CommonJS module spec 1.1 cjsModule = args[i] = handlers.module(name); } else if (hasProp(defined, depName) || hasProp(waiting, depName) || hasProp(defining, depName)) { args[i] = callDep(depName); } else if (map.p) { map.p.load(map.n, makeRequire(relName, true), makeLoad(depName), {}); args[i] = defined[depName]; } else { throw new Error(name + ' missing ' + depName); } } ret = callback ? callback.apply(defined[name], args) : undefined; if (name) { //If setting exports via "module" is in play, //favor that over return value and exports. After that, //favor a non-undefined return value over exports use. if (cjsModule && cjsModule.exports !== undef && cjsModule.exports !== defined[name]) { defined[name] = cjsModule.exports; } else if (ret !== undef || !usingExports) { //Use the return value from the function. defined[name] = ret; } } } else if (name) { //May just be an object definition for the module. Only //worry about defining if have a module name. defined[name] = callback; } }; requirejs = require = req = function (deps, callback, relName, forceSync, alt) { if (typeof deps === "string") { if (handlers[deps]) { //callback in this case is really relName return handlers[deps](callback); } //Just return the module wanted. In this scenario, the //deps arg is the module name, and second arg (if passed) //is just the relName. //Normalize module name, if it contains . or .. return callDep(makeMap(deps, makeRelParts(callback)).f); } else if (!deps.splice) { //deps is a config object, not an array. config = deps; if (config.deps) { req(config.deps, config.callback); } if (!callback) { return; } if (callback.splice) { //callback is an array, which means it is a dependency list. //Adjust args if there are dependencies deps = callback; callback = relName; relName = null; } else { deps = undef; } } //Support require(['a']) callback = callback || function () {}; //If relName is a function, it is an errback handler, //so remove it. if (typeof relName === 'function') { relName = forceSync; forceSync = alt; } //Simulate async callback; if (forceSync) { main(undef, deps, callback, relName); } else { //Using a non-zero value because of concern for what old browsers //do, and latest browsers "upgrade" to 4 if lower value is used: //http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#dom-windowtimers-settimeout: //If want a value immediately, use require('id') instead -- something //that works in almond on the global level, but not guaranteed and //unlikely to work in other AMD implementations. setTimeout(function () { main(undef, deps, callback, relName); }, 4); } return req; }; /** * Just drops the config on the floor, but returns req in case * the config return value is used. */ req.config = function (cfg) { return req(cfg); }; /** * Expose module registry for debugging and tooling */ requirejs._defined = defined; define = function (name, deps, callback) { if (typeof name !== 'string') { throw new Error('See almond README: incorrect module build, no module name'); } //This module may not have dependencies if (!deps.splice) { //deps is not an array, so probably means //an object literal or factory function for //the value. Adjust args. callback = deps; deps = []; } if (!hasProp(defined, name) && !hasProp(waiting, name)) { waiting[name] = [name, deps, callback]; } }; define.amd = { jQuery: true }; }()); S2.requirejs = requirejs;S2.require = require;S2.define = define; } }()); S2.define("almond", function(){}); /* global jQuery:false, $:false */ S2.define('jquery',[],function () { var _$ = jQuery || $; if (_$ == null && console && console.error) { console.error( 'Select2: An instance of jQuery or a jQuery-compatible library was not ' + 'found. Make sure that you are including jQuery before Select2 on your ' + 'web page.' ); } return _$; }); S2.define('select2/utils',[ 'jquery' ], function ($) { var Utils = {}; Utils.Extend = function (ChildClass, SuperClass) { var __hasProp = {}.hasOwnProperty; function BaseConstructor () { this.constructor = ChildClass; } for (var key in SuperClass) { if (__hasProp.call(SuperClass, key)) { ChildClass[key] = SuperClass[key]; } } BaseConstructor.prototype = SuperClass.prototype; ChildClass.prototype = new BaseConstructor(); ChildClass.__super__ = SuperClass.prototype; return ChildClass; }; function getMethods (theClass) { var proto = theClass.prototype; var methods = []; for (var methodName in proto) { var m = proto[methodName]; if (typeof m !== 'function') { continue; } if (methodName === 'constructor') { continue; } methods.push(methodName); } return methods; } Utils.Decorate = function (SuperClass, DecoratorClass) { var decoratedMethods = getMethods(DecoratorClass); var superMethods = getMethods(SuperClass); function DecoratedClass () { var unshift = Array.prototype.unshift; var argCount = DecoratorClass.prototype.constructor.length; var calledConstructor = SuperClass.prototype.constructor; if (argCount > 0) { unshift.call(arguments, SuperClass.prototype.constructor); calledConstructor = DecoratorClass.prototype.constructor; } calledConstructor.apply(this, arguments); } DecoratorClass.displayName = SuperClass.displayName; function ctr () { this.constructor = DecoratedClass; } DecoratedClass.prototype = new ctr(); for (var m = 0; m < superMethods.length; m++) { var superMethod = superMethods[m]; DecoratedClass.prototype[superMethod] = SuperClass.prototype[superMethod]; } var calledMethod = function (methodName) { // Stub out the original method if it's not decorating an actual method var originalMethod = function () {}; if (methodName in DecoratedClass.prototype) { originalMethod = DecoratedClass.prototype[methodName]; } var decoratedMethod = DecoratorClass.prototype[methodName]; return function () { var unshift = Array.prototype.unshift; unshift.call(arguments, originalMethod); return decoratedMethod.apply(this, arguments); }; }; for (var d = 0; d < decoratedMethods.length; d++) { var decoratedMethod = decoratedMethods[d]; DecoratedClass.prototype[decoratedMethod] = calledMethod(decoratedMethod); } return DecoratedClass; }; var Observable = function () { this.listeners = {}; }; Observable.prototype.on = function (event, callback) { this.listeners = this.listeners || {}; if (event in this.listeners) { this.listeners[event].push(callback); } else { this.listeners[event] = [callback]; } }; Observable.prototype.trigger = function (event) { var slice = Array.prototype.slice; var params = slice.call(arguments, 1); this.listeners = this.listeners || {}; // Params should always come in as an array if (params == null) { params = []; } // If there are no arguments to the event, use a temporary object if (params.length === 0) { params.push({}); } // Set the `_type` of the first object to the event params[0]._type = event; if (event in this.listeners) { this.invoke(this.listeners[event], slice.call(arguments, 1)); } if ('*' in this.listeners) { this.invoke(this.listeners['*'], arguments); } }; Observable.prototype.invoke = function (listeners, params) { for (var i = 0, len = listeners.length; i < len; i++) { listeners[i].apply(this, params); } }; Utils.Observable = Observable; Utils.generateChars = function (length) { var chars = ''; for (var i = 0; i < length; i++) { var randomChar = Math.floor(Math.random() * 36); chars += randomChar.toString(36); } return chars; }; Utils.bind = function (func, context) { return function () { func.apply(context, arguments); }; }; Utils._convertData = function (data) { for (var originalKey in data) { var keys = originalKey.split('-'); var dataLevel = data; if (keys.length === 1) { continue; } for (var k = 0; k < keys.length; k++) { var key = keys[k]; // Lowercase the first letter // By default, dash-separated becomes camelCase key = key.substring(0, 1).toLowerCase() + key.substring(1); if (!(key in dataLevel)) { dataLevel[key] = {}; } if (k == keys.length - 1) { dataLevel[key] = data[originalKey]; } dataLevel = dataLevel[key]; } delete data[originalKey]; } return data; }; Utils.hasScroll = function (index, el) { // Adapted from the function created by @ShadowScripter // and adapted by @BillBarry on the Stack Exchange Code Review website. // The original code can be found at // http://codereview.stackexchange.com/q/13338 // and was designed to be used with the Sizzle selector engine. var $el = $(el); var overflowX = el.style.overflowX; var overflowY = el.style.overflowY; //Check both x and y declarations if (overflowX === overflowY && (overflowY === 'hidden' || overflowY === 'visible')) { return false; } if (overflowX === 'scroll' || overflowY === 'scroll') { return true; } return ($el.innerHeight() < el.scrollHeight || $el.innerWidth() < el.scrollWidth); }; Utils.escapeMarkup = function (markup) { var replaceMap = { '\\': '\', '&': '&', '<': '<', '>': '>', '"': '"', '\'': ''', '/': '/' }; // Do not try to escape the markup if it's not a string if (typeof markup !== 'string') { return markup; } return String(markup).replace(/[&<>"'\/\\]/g, function (match) { return replaceMap[match]; }); }; // Append an array of jQuery nodes to a given element. Utils.appendMany = function ($element, $nodes) { // jQuery 1.7.x does not support $.fn.append() with an array // Fall back to a jQuery object collection using $.fn.add() if ($.fn.jquery.substr(0, 3) === '1.7') { var $jqNodes = $(); $.map($nodes, function (node) { $jqNodes = $jqNodes.add(node); }); $nodes = $jqNodes; } $element.append($nodes); }; // Cache objects in Utils.__cache instead of $.data (see #4346) Utils.__cache = {}; var id = 0; Utils.GetUniqueElementId = function (element) { // Get a unique element Id. If element has no id, // creates a new unique number, stores it in the id // attribute and returns the new id. // If an id already exists, it simply returns it. var select2Id = element.getAttribute('data-select2-id'); if (select2Id == null) { // If element has id, use it. if (element.id) { select2Id = element.id; element.setAttribute('data-select2-id', select2Id); } else { element.setAttribute('data-select2-id', ++id); select2Id = id.toString(); } } return select2Id; }; Utils.StoreData = function (element, name, value) { // Stores an item in the cache for a specified element. // name is the cache key. var id = Utils.GetUniqueElementId(element); if (!Utils.__cache[id]) { Utils.__cache[id] = {}; } Utils.__cache[id][name] = value; }; Utils.GetData = function (element, name) { // Retrieves a value from the cache by its key (name) // name is optional. If no name specified, return // all cache items for the specified element. // and for a specified element. var id = Utils.GetUniqueElementId(element); if (name) { if (Utils.__cache[id]) { return Utils.__cache[id][name] != null ? Utils.__cache[id][name]: $(element).data(name); // Fallback to HTML5 data attribs. } return $(element).data(name); // Fallback to HTML5 data attribs. } else { return Utils.__cache[id]; } }; Utils.RemoveData = function (element) { // Removes all cached items for a specified element. var id = Utils.GetUniqueElementId(element); if (Utils.__cache[id] != null) { delete Utils.__cache[id]; } }; return Utils; }); S2.define('select2/results',[ 'jquery', './utils' ], function ($, Utils) { function Results ($element, options, dataAdapter) { this.$element = $element; this.data = dataAdapter; this.options = options; Results.__super__.constructor.call(this); } Utils.Extend(Results, Utils.Observable); Results.prototype.render = function () { var $results = $( '<ul class="select2-results__options" role="tree"></ul>' ); if (this.options.get('multiple')) { $results.attr('aria-multiselectable', 'true'); } this.$results = $results; return $results; }; Results.prototype.clear = function () { this.$results.empty(); }; Results.prototype.displayMessage = function (params) { var escapeMarkup = this.options.get('escapeMarkup'); this.clear(); this.hideLoading(); var $message = $( '<li role="treeitem" aria-live="assertive"' + ' class="select2-results__option"></li>' ); var message = this.options.get('translations').get(params.message); $message.append( escapeMarkup( message(params.args) ) ); $message[0].className += ' select2-results__message'; this.$results.append($message); }; Results.prototype.hideMessages = function () { this.$results.find('.select2-results__message').remove(); }; Results.prototype.append = function (data) { this.hideLoading(); var $options = []; if (data.results == null || data.results.length === 0) { if (this.$results.children().length === 0) { this.trigger('results:message', { message: 'noResults' }); } return; } data.results = this.sort(data.results); for (var d = 0; d < data.results.length; d++) { var item = data.results[d]; var $option = this.option(item); $options.push($option); } this.$results.append($options); }; Results.prototype.position = function ($results, $dropdown) { var $resultsContainer = $dropdown.find('.select2-results'); $resultsContainer.append($results); }; Results.prototype.sort = function (data) { var sorter = this.options.get('sorter'); return sorter(data); }; Results.prototype.highlightFirstItem = function () { var $options = this.$results .find('.select2-results__option[aria-selected]'); var $selected = $options.filter('[aria-selected=true]'); // Check if there are any selected options if ($selected.length > 0) { // If there are selected options, highlight the first $selected.first().trigger('mouseenter'); } else { // If there are no selected options, highlight the first option // in the dropdown $options.first().trigger('mouseenter'); } this.ensureHighlightVisible(); }; Results.prototype.setClasses = function () { var self = this; this.data.current(function (selected) { var selectedIds = $.map(selected, function (s) { return s.id.toString(); }); var $options = self.$results .find('.select2-results__option[aria-selected]'); $options.each(function () { var $option = $(this); var item = Utils.GetData(this, 'data'); // id needs to be converted to a string when comparing var id = '' + item.id; if ((item.element != null && item.element.selected) || (item.element == null && $.inArray(id, selectedIds) > -1)) { $option.attr('aria-selected', 'true'); } else { $option.attr('aria-selected', 'false'); } }); }); }; Results.prototype.showLoading = function (params) { this.hideLoading(); var loadingMore = this.options.get('translations').get('searching'); var loading = { disabled: true, loading: true, text: loadingMore(params) }; var $loading = this.option(loading); $loading.className += ' loading-results'; this.$results.prepend($loading); }; Results.prototype.hideLoading = function () { this.$results.find('.loading-results').remove(); }; Results.prototype.option = function (data) { var option = document.createElement('li'); option.className = 'select2-results__option'; var attrs = { 'role': 'treeitem', 'aria-selected': 'false' }; if (data.disabled) { delete attrs['aria-selected']; attrs['aria-disabled'] = 'true'; } if (data.id == null) { delete attrs['aria-selected']; } if (data._resultId != null) { option.id = data._resultId; } if (data.title) { option.title = data.title; } if (data.children) { attrs.role = 'group'; attrs['aria-label'] = data.text; delete attrs['aria-selected']; } for (var attr in attrs) { var val = attrs[attr]; option.setAttribute(attr, val); } if (data.children) { var $option = $(option); var label = document.createElement('strong'); label.className = 'select2-results__group'; var $label = $(label); this.template(data, label); var $children = []; for (var c = 0; c < data.children.length; c++) { var child = data.children[c]; var $child = this.option(child); $children.push($child); } var $childrenContainer = $('<ul></ul>', { 'class': 'select2-results__options select2-results__options--nested' }); $childrenContainer.append($children); $option.append(label); $option.append($childrenContainer); } else { this.template(data, option); } Utils.StoreData(option, 'data', data); return option; }; Results.prototype.bind = function (container, $container) { var self = this; var id = container.id + '-results'; this.$results.attr('id', id); container.on('results:all', function (params) { self.clear(); self.append(params.data); if (container.isOpen()) { self.setClasses(); self.highlightFirstItem(); } }); container.on('results:append', function (params) { self.append(params.data); if (container.isOpen()) { self.setClasses(); } }); container.on('query', function (params) { self.hideMessages(); self.showLoading(params); }); container.on('select', function () { if (!container.isOpen()) { return; } self.setClasses(); self.highlightFirstItem(); }); container.on('unselect', function () { if (!container.isOpen()) { return; } self.setClasses(); self.highlightFirstItem(); }); container.on('open', function () { // When the dropdown is open, aria-expended="true" self.$results.attr('aria-expanded', 'true'); self.$results.attr('aria-hidden', 'false'); self.setClasses(); self.ensureHighlightVisible(); }); container.on('close', function () { // When the dropdown is closed, aria-expended="false" self.$results.attr('aria-expanded', 'false'); self.$results.attr('aria-hidden', 'true'); self.$results.removeAttr('aria-activedescendant'); }); container.on('results:toggle', function () { var $highlighted = self.getHighlightedResults(); if ($highlighted.length === 0) { return; } $highlighted.trigger('mouseup'); }); container.on('results:select', function () { var $highlighted = self.getHighlightedResults(); if ($highlighted.length === 0) { return; } var data = Utils.GetData($highlighted[0], 'data'); if ($highlighted.attr('aria-selected') == 'true') { self.trigger('close', {}); } else { self.trigger('select', { data: data }); } }); container.on('results:previous', function () { var $highlighted = self.getHighlightedResults(); var $options = self.$results.find('[aria-selected]'); var currentIndex = $options.index($highlighted); // If we are already at te top, don't move further // If no options, currentIndex will be -1 if (currentIndex <= 0) { return; } var nextIndex = currentIndex - 1; // If none are highlighted, highlight the first if ($highlighted.length === 0) { nextIndex = 0; } var $next = $options.eq(nextIndex); $next.trigger('mouseenter'); var currentOffset = self.$results.offset().top; var nextTop = $next.offset().top; var nextOffset = self.$results.scrollTop() + (nextTop - currentOffset); if (nextIndex === 0) { self.$results.scrollTop(0); } else if (nextTop - currentOffset < 0) { self.$results.scrollTop(nextOffset); } }); container.on('results:next', function () { var $highlighted = self.getHighlightedResults(); var $options = self.$results.find('[aria-selected]'); var currentIndex = $options.index($highlighted); var nextIndex = currentIndex + 1; // If we are at the last option, stay there if (nextIndex >= $options.length) { return; } var $next = $options.eq(nextIndex); $next.trigger('mouseenter'); var currentOffset = self.$results.offset().top + self.$results.outerHeight(false); var nextBottom = $next.offset().top + $next.outerHeight(false); var nextOffset = self.$results.scrollTop() + nextBottom - currentOffset; if (nextIndex === 0) { self.$results.scrollTop(0); } else if (nextBottom > currentOffset) { self.$results.scrollTop(nextOffset); } }); container.on('results:focus', function (params) { params.element.addClass('select2-results__option--highlighted'); }); container.on('results:message', function (params) { self.displayMessage(params); }); if ($.fn.mousewheel) { this.$results.on('mousewheel', function (e) { var top = self.$results.scrollTop(); var bottom = self.$results.get(0).scrollHeight - top + e.deltaY; var isAtTop = e.deltaY > 0 && top - e.deltaY <= 0; var isAtBottom = e.deltaY < 0 && bottom <= self.$results.height(); if (isAtTop) { self.$results.scrollTop(0); e.preventDefault(); e.stopPropagation(); } else if (isAtBottom) { self.$results.scrollTop( self.$results.get(0).scrollHeight - self.$results.height() ); e.preventDefault(); e.stopPropagation(); } }); } this.$results.on('mouseup', '.select2-results__option[aria-selected]', function (evt) { var $this = $(this); var data = Utils.GetData(this, 'data'); if ($this.attr('aria-selected') === 'true') { if (self.options.get('multiple')) { self.trigger('unselect', { originalEvent: evt, data: data }); } else { self.trigger('close', {}); } return; } self.trigger('select', { originalEvent: evt, data: data }); }); this.$results.on('mouseenter', '.select2-results__option[aria-selected]', function (evt) { var data = Utils.GetData(this, 'data'); self.getHighlightedResults() .removeClass('select2-results__option--highlighted'); self.trigger('results:focus', { data: data, element: $(this) }); }); }; Results.prototype.getHighlightedResults = function () { var $highlighted = this.$results .find('.select2-results__option--highlighted'); return $highlighted; }; Results.prototype.destroy = function () { this.$results.remove(); }; Results.prototype.ensureHighlightVisible = function () { var $highlighted = this.getHighlightedResults(); if ($highlighted.length === 0) { return; } var $options = this.$results.find('[aria-selected]'); var currentIndex = $options.index($highlighted); var currentOffset = this.$results.offset().top; var nextTop = $highlighted.offset().top; var nextOffset = this.$results.scrollTop() + (nextTop - currentOffset); var offsetDelta = nextTop - currentOffset; nextOffset -= $highlighted.outerHeight(false) * 2; if (currentIndex <= 2) { this.$results.scrollTop(0); } else if (offsetDelta > this.$results.outerHeight() || offsetDelta < 0) { this.$results.scrollTop(nextOffset); } }; Results.prototype.template = function (result, container) { var template = this.options.get('templateResult'); var escapeMarkup = this.options.get('escapeMarkup'); var content = template(result, container); if (content == null) { container.style.display = 'none'; } else if (typeof content === 'string') { container.innerHTML = escapeMarkup(content); } else { $(container).append(content); } }; return Results; }); S2.define('select2/keys',[ ], function () { var KEYS = { BACKSPACE: 8, TAB: 9, ENTER: 13, SHIFT: 16, CTRL: 17, ALT: 18, ESC: 27, SPACE: 32, PAGE_UP: 33, PAGE_DOWN: 34, END: 35, HOME: 36, LEFT: 37, UP: 38, RIGHT: 39, DOWN: 40, DELETE: 46 }; return KEYS; }); S2.define('select2/selection/base',[ 'jquery', '../utils', '../keys' ], function ($, Utils, KEYS) { function BaseSelection ($element, options) { this.$element = $element; this.options = options; BaseSelection.__super__.constructor.call(this); } Utils.Extend(BaseSelection, Utils.Observable); BaseSelection.prototype.render = function () { var $selection = $( '<span class="select2-selection" role="combobox" ' + ' aria-haspopup="true" aria-expanded="false">' + '</span>' ); this._tabindex = 0; if (Utils.GetData(this.$element[0], 'old-tabindex') != null) { this._tabindex = Utils.GetData(this.$element[0], 'old-tabindex'); } else if (this.$element.attr('tabindex') != null) { this._tabindex = this.$element.attr('tabindex'); } $selection.attr('title', this.$element.attr('title')); $selection.attr('tabindex', this._tabindex); this.$selection = $selection; return $selection; }; BaseSelection.prototype.bind = function (container, $container) { var self = this; var id = container.id + '-container'; var resultsId = container.id + '-results'; this.container = container; this.$selection.on('focus', function (evt) { self.trigger('focus', evt); }); this.$selection.on('blur', function (evt) { self._handleBlur(evt); }); this.$selection.on('keydown', function (evt) { self.trigger('keypress', evt); if (evt.which === KEYS.SPACE) { evt.preventDefault(); } }); container.on('results:focus', function (params) { self.$selection.attr('aria-activedescendant', params.data._resultId); }); container.on('selection:update', function (params) { self.update(params.data); }); container.on('open', function () { // When the dropdown is open, aria-expanded="true" self.$selection.attr('aria-expanded', 'true'); self.$selection.attr('aria-owns', resultsId); self._attachCloseHandler(container); }); container.on('close', function () { // When the dropdown is closed, aria-expanded="false" self.$selection.attr('aria-expanded', 'false'); self.$selection.removeAttr('aria-activedescendant'); self.$selection.removeAttr('aria-owns'); self.$selection.focus(); window.setTimeout(function () { self.$selection.focus(); }, 0); self._detachCloseHandler(container); }); container.on('enable', function () { self.$selection.attr('tabindex', self._tabindex); }); container.on('disable', function () { self.$selection.attr('tabindex', '-1'); }); }; BaseSelection.prototype._handleBlur = function (evt) { var self = this; // This needs to be delayed as the active element is the body when the tab // key is pressed, possibly along with others. window.setTimeout(function () { // Don't trigger `blur` if the focus is still in the selection if ( (document.activeElement == self.$selection[0]) || ($.contains(self.$selection[0], document.activeElement)) ) { return; } self.trigger('blur', evt); }, 1); }; BaseSelection.prototype._attachCloseHandler = function (container) { var self = this; $(document.body).on('mousedown.select2.' + container.id, function (e) { var $target = $(e.target); var $select = $target.closest('.select2'); var $all = $('.select2.select2-container--open'); $all.each(function () { var $this = $(this); if (this == $select[0]) { return; } var $element = Utils.GetData(this, 'element'); $element.select2('close'); }); }); }; BaseSelection.prototype._detachCloseHandler = function (container) { $(document.body).off('mousedown.select2.' + container.id); }; BaseSelection.prototype.position = function ($selection, $container) { var $selectionContainer = $container.find('.selection'); $selectionContainer.append($selection); }; BaseSelection.prototype.destroy = function () { this._detachCloseHandler(this.container); }; BaseSelection.prototype.update = function (data) { throw new Error('The `update` method must be defined in child classes.'); }; return BaseSelection; }); S2.define('select2/selection/single',[ 'jquery', './base', '../utils', '../keys' ], function ($, BaseSelection, Utils, KEYS) { function SingleSelection () { SingleSelection.__super__.constructor.apply(this, arguments); } Utils.Extend(SingleSelection, BaseSelection); SingleSelection.prototype.render = function () { var $selection = SingleSelection.__super__.render.call(this); $selection.addClass('select2-selection--single'); $selection.html( '<span class="select2-selection__rendered"></span>' + '<span class="select2-selection__arrow" role="presentation">' + '<b role="presentation"></b>' + '</span>' ); return $selection; }; SingleSelection.prototype.bind = function (container, $container) { var self = this; SingleSelection.__super__.bind.apply(this, arguments); var id = container.id + '-container'; this.$selection.find('.select2-selection__rendered') .attr('id', id) .attr('role', 'textbox') .attr('aria-readonly', 'true'); this.$selection.attr('aria-labelledby', id); this.$selection.on('mousedown', function (evt) { // Only respond to left clicks if (evt.which !== 1) { return; } self.trigger('toggle', { originalEvent: evt }); }); this.$selection.on('focus', function (evt) { // User focuses on the container }); this.$selection.on('blur', function (evt) { // User exits the container }); container.on('focus', function (evt) { if (!container.isOpen()) { self.$selection.focus(); } }); }; SingleSelection.prototype.clear = function () { var $rendered = this.$selection.find('.select2-selection__rendered'); $rendered.empty(); $rendered.removeAttr('title'); // clear tooltip on empty }; SingleSelection.prototype.display = function (data, container) { var template = this.options.get('templateSelection'); var escapeMarkup = this.options.get('escapeMarkup'); return escapeMarkup(template(data, container)); }; SingleSelection.prototype.selectionContainer = function () { return $('<span></span>'); }; SingleSelection.prototype.update = function (data) { if (data.length === 0) { this.clear(); return; } var selection = data[0]; var $rendered = this.$selection.find('.select2-selection__rendered'); var formatted = this.display(selection, $rendered); $rendered.empty().append(formatted); $rendered.attr('title', selection.title || selection.text); }; return SingleSelection; }); S2.define('select2/selection/multiple',[ 'jquery', './base', '../utils' ], function ($, BaseSelection, Utils) { function MultipleSelection ($element, options) { MultipleSelection.__super__.constructor.apply(this, arguments); } Utils.Extend(MultipleSelection, BaseSelection); MultipleSelection.prototype.render = function () { var $selection = MultipleSelection.__super__.render.call(this); $selection.addClass('select2-selection--multiple'); $selection.html( '<ul class="select2-selection__rendered"></ul>' ); return $selection; }; MultipleSelection.prototype.bind = function (container, $container) { var self = this; MultipleSelection.__super__.bind.apply(this, arguments); this.$selection.on('click', function (evt) { self.trigger('toggle', { originalEvent: evt }); }); this.$selection.on( 'click', '.select2-selection__choice__remove', function (evt) { // Ignore the event if it is disabled if (self.options.get('disabled')) { return; } var $remove = $(this); var $selection = $remove.parent(); var data = Utils.GetData($selection[0], 'data'); self.trigger('unselect', { originalEvent: evt, data: data }); } ); }; MultipleSelection.prototype.clear = function () { var $rendered = this.$selection.find('.select2-selection__rendered'); $rendered.empty(); $rendered.removeAttr('title'); }; MultipleSelection.prototype.display = function (data, container) { var template = this.options.get('templateSelection'); var escapeMarkup = this.options.get('escapeMarkup'); return escapeMarkup(template(data, container)); }; MultipleSelection.prototype.selectionContainer = function () { var $container = $( '<li class="select2-selection__choice">' + '<span class="select2-selection__choice__remove" role="presentation">' + '×' + '</span>' + '</li>' ); return $container; }; MultipleSelection.prototype.update = function (data) { this.clear(); if (data.length === 0) { return; } var $selections = []; for (var d = 0; d < data.length; d++) { var selection = data[d]; var $selection = this.selectionContainer(); var formatted = this.display(selection, $selection); $selection.append(formatted); $selection.attr('title', selection.title || selection.text); Utils.StoreData($selection[0], 'data', selection); $selections.push($selection); } var $rendered = this.$selection.find('.select2-selection__rendered'); Utils.appendMany($rendered, $selections); }; return MultipleSelection; }); S2.define('select2/selection/placeholder',[ '../utils' ], function (Utils) { function Placeholder (decorated, $element, options) { this.placeholder = this.normalizePlaceholder(options.get('placeholder')); decorated.call(this, $element, options); } Placeholder.prototype.normalizePlaceholder = function (_, placeholder) { if (typeof placeholder === 'string') { placeholder = { id: '', text: placeholder }; } return placeholder; }; Placeholder.prototype.createPlaceholder = function (decorated, placeholder) { var $placeholder = this.selectionContainer(); $placeholder.html(this.display(placeholder)); $placeholder.addClass('select2-selection__placeholder') .removeClass('select2-selection__choice'); return $placeholder; }; Placeholder.prototype.update = function (decorated, data) { var singlePlaceholder = ( data.length == 1 && data[0].id != this.placeholder.id ); var multipleSelections = data.length > 1; if (multipleSelections || singlePlaceholder) { return decorated.call(this, data); } this.clear(); var $placeholder = this.createPlaceholder(this.placeholder); this.$selection.find('.select2-selection__rendered').append($placeholder); }; return Placeholder; }); S2.define('select2/selection/allowClear',[ 'jquery', '../keys', '../utils' ], function ($, KEYS, Utils) { function AllowClear () { } AllowClear.prototype.bind = function (decorated, container, $container) { var self = this; decorated.call(this, container, $container); if (this.placeholder == null) { if (this.options.get('debug') && window.console && console.error) { console.error( 'Select2: The `allowClear` option should be used in combination ' + 'with the `placeholder` option.' ); } } this.$selection.on('mousedown', '.select2-selection__clear', function (evt) { self._handleClear(evt); }); container.on('keypress', function (evt) { self._handleKeyboardClear(evt, container); }); }; AllowClear.prototype._handleClear = function (_, evt) { // Ignore the event if it is disabled if (this.options.get('disabled')) { return; } var $clear = this.$selection.find('.select2-selection__clear'); // Ignore the event if nothing has been selected if ($clear.length === 0) { return; } evt.stopPropagation(); var data = Utils.GetData($clear[0], 'data'); var previousVal = this.$element.val(); this.$element.val(this.placeholder.id); var unselectData = { data: data }; this.trigger('clear', unselectData); if (unselectData.prevented) { this.$element.val(previousVal); return; } for (var d = 0; d < data.length; d++) { unselectData = { data: data[d] }; // Trigger the `unselect` event, so people can prevent it from being // cleared. this.trigger('unselect', unselectData); // If the event was prevented, don't clear it out. if (unselectData.prevented) { this.$element.val(previousVal); return; } } this.$element.trigger('change'); this.trigger('toggle', {}); }; AllowClear.prototype._handleKeyboardClear = function (_, evt, container) { if (container.isOpen()) { return; } if (evt.which == KEYS.DELETE || evt.which == KEYS.BACKSPACE) { this._handleClear(evt); } }; AllowClear.prototype.update = function (decorated, data) { decorated.call(this, data); if (this.$selection.find('.select2-selection__placeholder').length > 0 || data.length === 0) { return; } var $remove = $( '<span class="select2-selection__clear">' + '×' + '</span>' ); Utils.StoreData($remove[0], 'data', data); this.$selection.find('.select2-selection__rendered').prepend($remove); }; return AllowClear; }); S2.define('select2/selection/search',[ 'jquery', '../utils', '../keys' ], function ($, Utils, KEYS) { function Search (decorated, $element, options) { decorated.call(this, $element, options); } Search.prototype.render = function (decorated) { var $search = $( '<li class="select2-search select2-search--inline">' + '<input class="select2-search__field" type="search" tabindex="-1"' + ' autocomplete="off" autocorrect="off" autocapitalize="none"' + ' spellcheck="false" role="textbox" aria-autocomplete="list" />' + '</li>' ); this.$searchContainer = $search; this.$search = $search.find('input'); var $rendered = decorated.call(this); this._transferTabIndex(); return $rendered; }; Search.prototype.bind = function (decorated, container, $container) { var self = this; decorated.call(this, container, $container); container.on('open', function () { self.$search.trigger('focus'); }); container.on('close', function () { self.$search.val(''); self.$search.removeAttr('aria-activedescendant'); self.$search.trigger('focus'); }); container.on('enable', function () { self.$search.prop('disabled', false); self._transferTabIndex(); }); container.on('disable', function () { self.$search.prop('disabled', true); }); container.on('focus', function (evt) { self.$search.trigger('focus'); }); container.on('results:focus', function (params) { self.$search.attr('aria-activedescendant', params.id); }); this.$selection.on('focusin', '.select2-search--inline', function (evt) { self.trigger('focus', evt); }); this.$selection.on('focusout', '.select2-search--inline', function (evt) { self._handleBlur(evt); }); this.$selection.on('keydown', '.select2-search--inline', function (evt) { evt.stopPropagation(); self.trigger('keypress', evt); self._keyUpPrevented = evt.isDefaultPrevented(); var key = evt.which; if (key === KEYS.BACKSPACE && self.$search.val() === '') { var $previousChoice = self.$searchContainer .prev('.select2-selection__choice'); if ($previousChoice.length > 0) { var item = Utils.GetData($previousChoice[0], 'data'); self.searchRemoveChoice(item); evt.preventDefault(); } } }); // Try to detect the IE version should the `documentMode` property that // is stored on the document. This is only implemented in IE and is // slightly cleaner than doing a user agent check. // This property is not available in Edge, but Edge also doesn't have // this bug. var msie = document.documentMode; var disableInputEvents = msie && msie <= 11; // Workaround for browsers which do not support the `input` event // This will prevent double-triggering of events for browsers which support // both the `keyup` and `input` events. this.$selection.on( 'input.searchcheck', '.select2-search--inline', function (evt) { // IE will trigger the `input` event when a placeholder is used on a // search box. To get around this issue, we are forced to ignore all // `input` events in IE and keep using `keyup`. if (disableInputEvents) { self.$selection.off('input.search input.searchcheck'); return; } // Unbind the duplicated `keyup` event self.$selection.off('keyup.search'); } ); this.$selection.on( 'keyup.search input.search', '.select2-search--inline', function (evt) { // IE will trigger the `input` event when a placeholder is used on a // search box. To get around this issue, we are forced to ignore all // `input` events in IE and keep using `keyup`. if (disableInputEvents && evt.type === 'input') { self.$selection.off('input.search input.searchcheck'); return; } var key = evt.which; // We can freely ignore events from modifier keys if (key == KEYS.SHIFT || key == KEYS.CTRL || key == KEYS.ALT) { return; } // Tabbing will be handled during the `keydown` phase if (key == KEYS.TAB) { return; } self.handleSearch(evt); } ); }; /** * This method will transfer the tabindex attribute from the rendered * selection to the search box. This allows for the search box to be used as * the primary focus instead of the selection container. * * @private */ Search.prototype._transferTabIndex = function (decorated) { this.$search.attr('tabindex', this.$selection.attr('tabindex')); this.$selection.attr('tabindex', '-1'); }; Search.prototype.createPlaceholder = function (decorated, placeholder) { this.$search.attr('placeholder', placeholder.text); }; Search.prototype.update = function (decorated, data) { var searchHadFocus = this.$search[0] == document.activeElement; this.$search.attr('placeholder', ''); decorated.call(this, data); this.$selection.find('.select2-selection__rendered') .append(this.$searchContainer); this.resizeSearch(); if (searchHadFocus) { var isTagInput = this.$element.find('[data-select2-tag]').length; if (isTagInput) { // fix IE11 bug where tag input lost focus this.$element.focus(); } else { this.$search.focus(); } } }; Search.prototype.handleSearch = function () { this.resizeSearch(); if (!this._keyUpPrevented) { var input = this.$search.val(); this.trigger('query', { term: input }); } this._keyUpPrevented = false; }; Search.prototype.searchRemoveChoice = function (decorated, item) { this.trigger('unselect', { data: item }); this.$search.val(item.text); this.handleSearch(); }; Search.prototype.resizeSearch = function () { this.$search.css('width', '25px'); var width = ''; if (this.$search.attr('placeholder') !== '') { width = this.$selection.find('.select2-selection__rendered').innerWidth(); } else { var minimumWidth = this.$search.val().length + 1; width = (minimumWidth * 0.75) + 'em'; } this.$search.css('width', width); }; return Search; }); S2.define('select2/selection/eventRelay',[ 'jquery' ], function ($) { function EventRelay () { } EventRelay.prototype.bind = function (decorated, container, $container) { var self = this; var relayEvents = [ 'open', 'opening', 'close', 'closing', 'select', 'selecting', 'unselect', 'unselecting', 'clear', 'clearing' ]; var preventableEvents = [ 'opening', 'closing', 'selecting', 'unselecting', 'clearing' ]; decorated.call(this, container, $container); container.on('*', function (name, params) { // Ignore events that should not be relayed if ($.inArray(name, relayEvents) === -1) { return; } // The parameters should always be an object params = params || {}; // Generate the jQuery event for the Select2 event var evt = $.Event('select2:' + name, { params: params }); self.$element.trigger(evt); // Only handle preventable events if it was one if ($.inArray(name, preventableEvents) === -1) { return; } params.prevented = evt.isDefaultPrevented(); }); }; return EventRelay; }); S2.define('select2/translation',[ 'jquery', 'require' ], function ($, require) { function Translation (dict) { this.dict = dict || {}; } Translation.prototype.all = function () { return this.dict; }; Translation.prototype.get = function (key) { return this.dict[key]; }; Translation.prototype.extend = function (translation) { this.dict = $.extend({}, translation.all(), this.dict); }; // Static functions Translation._cache = {}; Translation.loadPath = function (path) { if (!(path in Translation._cache)) { var translations = require(path); Translation._cache[path] = translations; } return new Translation(Translation._cache[path]); }; return Translation; }); S2.define('select2/diacritics',[ ], function () { var diacritics = { '\u24B6': 'A', '\uFF21': 'A', '\u00C0': 'A', '\u00C1': 'A', '\u00C2': 'A', '\u1EA6': 'A', '\u1EA4': 'A', '\u1EAA': 'A', '\u1EA8': 'A', '\u00C3': 'A', '\u0100': 'A', '\u0102': 'A', '\u1EB0': 'A', '\u1EAE': 'A', '\u1EB4': 'A', '\u1EB2': 'A', '\u0226': 'A', '\u01E0': 'A', '\u00C4': 'A', '\u01DE': 'A', '\u1EA2': 'A', '\u00C5': 'A', '\u01FA': 'A', '\u01CD': 'A', '\u0200': 'A', '\u0202': 'A', '\u1EA0': 'A', '\u1EAC': 'A', '\u1EB6': 'A', '\u1E00': 'A', '\u0104': 'A', '\u023A': 'A', '\u2C6F': 'A', '\uA732': 'AA', '\u00C6': 'AE', '\u01FC': 'AE', '\u01E2': 'AE', '\uA734': 'AO', '\uA736': 'AU', '\uA738': 'AV', '\uA73A': 'AV', '\uA73C': 'AY', '\u24B7': 'B', '\uFF22': 'B', '\u1E02': 'B', '\u1E04': 'B', '\u1E06': 'B', '\u0243': 'B', '\u0182': 'B', '\u0181': 'B', '\u24B8': 'C', '\uFF23': 'C', '\u0106': 'C', '\u0108': 'C', '\u010A': 'C', '\u010C': 'C', '\u00C7': 'C', '\u1E08': 'C', '\u0187': 'C', '\u023B': 'C', '\uA73E': 'C', '\u24B9': 'D', '\uFF24': 'D', '\u1E0A': 'D', '\u010E': 'D', '\u1E0C': 'D', '\u1E10': 'D', '\u1E12': 'D', '\u1E0E': 'D', '\u0110': 'D', '\u018B': 'D', '\u018A': 'D', '\u0189': 'D', '\uA779': 'D', '\u01F1': 'DZ', '\u01C4': 'DZ', '\u01F2': 'Dz', '\u01C5': 'Dz', '\u24BA': 'E', '\uFF25': 'E', '\u00C8': 'E', '\u00C9': 'E', '\u00CA': 'E', '\u1EC0': 'E', '\u1EBE': 'E', '\u1EC4': 'E', '\u1EC2': 'E', '\u1EBC': 'E', '\u0112': 'E', '\u1E14': 'E', '\u1E16': 'E', '\u0114': 'E', '\u0116': 'E', '\u00CB': 'E', '\u1EBA': 'E', '\u011A': 'E', '\u0204': 'E', '\u0206': 'E', '\u1EB8': 'E', '\u1EC6': 'E', '\u0228': 'E', '\u1E1C': 'E', '\u0118': 'E', '\u1E18': 'E', '\u1E1A': 'E', '\u0190': 'E', '\u018E': 'E', '\u24BB': 'F', '\uFF26': 'F', '\u1E1E': 'F', '\u0191': 'F', '\uA77B': 'F', '\u24BC': 'G', '\uFF27': 'G', '\u01F4': 'G', '\u011C': 'G', '\u1E20': 'G', '\u011E': 'G', '\u0120': 'G', '\u01E6': 'G', '\u0122': 'G', '\u01E4': 'G', '\u0193': 'G', '\uA7A0': 'G', '\uA77D': 'G', '\uA77E': 'G', '\u24BD': 'H', '\uFF28': 'H', '\u0124': 'H', '\u1E22': 'H', '\u1E26': 'H', '\u021E': 'H', '\u1E24': 'H', '\u1E28': 'H', '\u1E2A': 'H', '\u0126': 'H', '\u2C67': 'H', '\u2C75': 'H', '\uA78D': 'H', '\u24BE': 'I', '\uFF29': 'I', '\u00CC': 'I', '\u00CD': 'I', '\u00CE': 'I', '\u0128': 'I', '\u012A': 'I', '\u012C': 'I', '\u0130': 'I', '\u00CF': 'I', '\u1E2E': 'I', '\u1EC8': 'I', '\u01CF': 'I', '\u0208': 'I', '\u020A': 'I', '\u1ECA': 'I', '\u012E': 'I', '\u1E2C': 'I', '\u0197': 'I', '\u24BF': 'J', '\uFF2A': 'J', '\u0134': 'J', '\u0248': 'J', '\u24C0': 'K', '\uFF2B': 'K', '\u1E30': 'K', '\u01E8': 'K', '\u1E32': 'K', '\u0136': 'K', '\u1E34': 'K', '\u0198': 'K', '\u2C69': 'K', '\uA740': 'K', '\uA742': 'K', '\uA744': 'K', '\uA7A2': 'K', '\u24C1': 'L', '\uFF2C': 'L', '\u013F': 'L', '\u0139': 'L', '\u013D': 'L', '\u1E36': 'L', '\u1E38': 'L', '\u013B': 'L', '\u1E3C': 'L', '\u1E3A': 'L', '\u0141': 'L', '\u023D': 'L', '\u2C62': 'L', '\u2C60': 'L', '\uA748': 'L', '\uA746': 'L', '\uA780': 'L', '\u01C7': 'LJ', '\u01C8': 'Lj', '\u24C2': 'M', '\uFF2D': 'M', '\u1E3E': 'M', '\u1E40': 'M', '\u1E42': 'M', '\u2C6E': 'M', '\u019C': 'M', '\u24C3': 'N', '\uFF2E': 'N', '\u01F8': 'N', '\u0143': 'N', '\u00D1': 'N', '\u1E44': 'N', '\u0147': 'N', '\u1E46': 'N', '\u0145': 'N', '\u1E4A': 'N', '\u1E48': 'N', '\u0220': 'N', '\u019D': 'N', '\uA790': 'N', '\uA7A4': 'N', '\u01CA': 'NJ', '\u01CB': 'Nj', '\u24C4': 'O', '\uFF2F': 'O', '\u00D2': 'O', '\u00D3': 'O', '\u00D4': 'O', '\u1ED2': 'O', '\u1ED0': 'O', '\u1ED6': 'O', '\u1ED4': 'O', '\u00D5': 'O', '\u1E4C': 'O', '\u022C': 'O', '\u1E4E': 'O', '\u014C': 'O', '\u1E50': 'O', '\u1E52': 'O', '\u014E': 'O', '\u022E': 'O', '\u0230': 'O', '\u00D6': 'O', '\u022A': 'O', '\u1ECE': 'O', '\u0150': 'O', '\u01D1': 'O', '\u020C': 'O', '\u020E': 'O', '\u01A0': 'O', '\u1EDC': 'O', '\u1EDA': 'O', '\u1EE0': 'O', '\u1EDE': 'O', '\u1EE2': 'O', '\u1ECC': 'O', '\u1ED8': 'O', '\u01EA': 'O', '\u01EC': 'O', '\u00D8': 'O', '\u01FE': 'O', '\u0186': 'O', '\u019F': 'O', '\uA74A': 'O', '\uA74C': 'O', '\u01A2': 'OI', '\uA74E': 'OO', '\u0222': 'OU', '\u24C5': 'P', '\uFF30': 'P', '\u1E54': 'P', '\u1E56': 'P', '\u01A4': 'P', '\u2C63': 'P', '\uA750': 'P', '\uA752': 'P', '\uA754': 'P', '\u24C6': 'Q', '\uFF31': 'Q', '\uA756': 'Q', '\uA758': 'Q', '\u024A': 'Q', '\u24C7': 'R', '\uFF32': 'R', '\u0154': 'R', '\u1E58': 'R', '\u0158': 'R', '\u0210': 'R', '\u0212': 'R', '\u1E5A': 'R', '\u1E5C': 'R', '\u0156': 'R', '\u1E5E': 'R', '\u024C': 'R', '\u2C64': 'R', '\uA75A': 'R', '\uA7A6': 'R', '\uA782': 'R', '\u24C8': 'S', '\uFF33': 'S', '\u1E9E': 'S', '\u015A': 'S', '\u1E64': 'S', '\u015C': 'S', '\u1E60': 'S', '\u0160': 'S', '\u1E66': 'S', '\u1E62': 'S', '\u1E68': 'S', '\u0218': 'S', '\u015E': 'S', '\u2C7E': 'S', '\uA7A8': 'S', '\uA784': 'S', '\u24C9': 'T', '\uFF34': 'T', '\u1E6A': 'T', '\u0164': 'T', '\u1E6C': 'T', '\u021A': 'T', '\u0162': 'T', '\u1E70': 'T', '\u1E6E': 'T', '\u0166': 'T', '\u01AC': 'T', '\u01AE': 'T', '\u023E': 'T', '\uA786': 'T', '\uA728': 'TZ', '\u24CA': 'U', '\uFF35': 'U', '\u00D9': 'U', '\u00DA': 'U', '\u00DB': 'U', '\u0168': 'U', '\u1E78': 'U', '\u016A': 'U', '\u1E7A': 'U', '\u016C': 'U', '\u00DC': 'U', '\u01DB': 'U', '\u01D7': 'U', '\u01D5': 'U', '\u01D9': 'U', '\u1EE6': 'U', '\u016E': 'U', '\u0170': 'U', '\u01D3': 'U', '\u0214': 'U', '\u0216': 'U', '\u01AF': 'U', '\u1EEA': 'U', '\u1EE8': 'U', '\u1EEE': 'U', '\u1EEC': 'U', '\u1EF0': 'U', '\u1EE4': 'U', '\u1E72': 'U', '\u0172': 'U', '\u1E76': 'U', '\u1E74': 'U', '\u0244': 'U', '\u24CB': 'V', '\uFF36': 'V', '\u1E7C': 'V', '\u1E7E': 'V', '\u01B2': 'V', '\uA75E': 'V', '\u0245': 'V', '\uA760': 'VY', '\u24CC': 'W', '\uFF37': 'W', '\u1E80': 'W', '\u1E82': 'W', '\u0174': 'W', '\u1E86': 'W', '\u1E84': 'W', '\u1E88': 'W', '\u2C72': 'W', '\u24CD': 'X', '\uFF38': 'X', '\u1E8A': 'X', '\u1E8C': 'X', '\u24CE': 'Y', '\uFF39': 'Y', '\u1EF2': 'Y', '\u00DD': 'Y', '\u0176': 'Y', '\u1EF8': 'Y', '\u0232': 'Y', '\u1E8E': 'Y', '\u0178': 'Y', '\u1EF6': 'Y', '\u1EF4': 'Y', '\u01B3': 'Y', '\u024E': 'Y', '\u1EFE': 'Y', '\u24CF': 'Z', '\uFF3A': 'Z', '\u0179': 'Z', '\u1E90': 'Z', '\u017B': 'Z', '\u017D': 'Z', '\u1E92': 'Z', '\u1E94': 'Z', '\u01B5': 'Z', '\u0224': 'Z', '\u2C7F': 'Z', '\u2C6B': 'Z', '\uA762': 'Z', '\u24D0': 'a', '\uFF41': 'a', '\u1E9A': 'a', '\u00E0': 'a', '\u00E1': 'a', '\u00E2': 'a', '\u1EA7': 'a', '\u1EA5': 'a', '\u1EAB': 'a', '\u1EA9': 'a', '\u00E3': 'a', '\u0101': 'a', '\u0103': 'a', '\u1EB1': 'a', '\u1EAF': 'a', '\u1EB5': 'a', '\u1EB3': 'a', '\u0227': 'a', '\u01E1': 'a', '\u00E4': 'a', '\u01DF': 'a', '\u1EA3': 'a', '\u00E5': 'a', '\u01FB': 'a', '\u01CE': 'a', '\u0201': 'a', '\u0203': 'a', '\u1EA1': 'a', '\u1EAD': 'a', '\u1EB7': 'a', '\u1E01': 'a', '\u0105': 'a', '\u2C65': 'a', '\u0250': 'a', '\uA733': 'aa', '\u00E6': 'ae', '\u01FD': 'ae', '\u01E3': 'ae', '\uA735': 'ao', '\uA737': 'au', '\uA739': 'av', '\uA73B': 'av', '\uA73D': 'ay', '\u24D1': 'b', '\uFF42': 'b', '\u1E03': 'b', '\u1E05': 'b', '\u1E07': 'b', '\u0180': 'b', '\u0183': 'b', '\u0253': 'b', '\u24D2': 'c', '\uFF43': 'c', '\u0107': 'c', '\u0109': 'c', '\u010B': 'c', '\u010D': 'c', '\u00E7': 'c', '\u1E09': 'c', '\u0188': 'c', '\u023C': 'c', '\uA73F': 'c', '\u2184': 'c', '\u24D3': 'd', '\uFF44': 'd', '\u1E0B': 'd', '\u010F': 'd', '\u1E0D': 'd', '\u1E11': 'd', '\u1E13': 'd', '\u1E0F': 'd', '\u0111': 'd', '\u018C': 'd', '\u0256': 'd', '\u0257': 'd', '\uA77A': 'd', '\u01F3': 'dz', '\u01C6': 'dz', '\u24D4': 'e', '\uFF45': 'e', '\u00E8': 'e', '\u00E9': 'e', '\u00EA': 'e', '\u1EC1': 'e', '\u1EBF': 'e', '\u1EC5': 'e', '\u1EC3': 'e', '\u1EBD': 'e', '\u0113': 'e', '\u1E15': 'e', '\u1E17': 'e', '\u0115': 'e', '\u0117': 'e', '\u00EB': 'e', '\u1EBB': 'e', '\u011B': 'e', '\u0205': 'e', '\u0207': 'e', '\u1EB9': 'e', '\u1EC7': 'e', '\u0229': 'e', '\u1E1D': 'e', '\u0119': 'e', '\u1E19': 'e', '\u1E1B': 'e', '\u0247': 'e', '\u025B': 'e', '\u01DD': 'e', '\u24D5': 'f', '\uFF46': 'f', '\u1E1F': 'f', '\u0192': 'f', '\uA77C': 'f', '\u24D6': 'g', '\uFF47': 'g', '\u01F5': 'g', '\u011D': 'g', '\u1E21': 'g', '\u011F': 'g', '\u0121': 'g', '\u01E7': 'g', '\u0123': 'g', '\u01E5': 'g', '\u0260': 'g', '\uA7A1': 'g', '\u1D79': 'g', '\uA77F': 'g', '\u24D7': 'h', '\uFF48': 'h', '\u0125': 'h', '\u1E23': 'h', '\u1E27': 'h', '\u021F': 'h', '\u1E25': 'h', '\u1E29': 'h', '\u1E2B': 'h', '\u1E96': 'h', '\u0127': 'h', '\u2C68': 'h', '\u2C76': 'h', '\u0265': 'h', '\u0195': 'hv', '\u24D8': 'i', '\uFF49': 'i', '\u00EC': 'i', '\u00ED': 'i', '\u00EE': 'i', '\u0129': 'i', '\u012B': 'i', '\u012D': 'i', '\u00EF': 'i', '\u1E2F': 'i', '\u1EC9': 'i', '\u01D0': 'i', '\u0209': 'i', '\u020B': 'i', '\u1ECB': 'i', '\u012F': 'i', '\u1E2D': 'i', '\u0268': 'i', '\u0131': 'i', '\u24D9': 'j', '\uFF4A': 'j', '\u0135': 'j', '\u01F0': 'j', '\u0249': 'j', '\u24DA': 'k', '\uFF4B': 'k', '\u1E31': 'k', '\u01E9': 'k', '\u1E33': 'k', '\u0137': 'k', '\u1E35': 'k', '\u0199': 'k', '\u2C6A': 'k', '\uA741': 'k', '\uA743': 'k', '\uA745': 'k', '\uA7A3': 'k', '\u24DB': 'l', '\uFF4C': 'l', '\u0140': 'l', '\u013A': 'l', '\u013E': 'l', '\u1E37': 'l', '\u1E39': 'l', '\u013C': 'l', '\u1E3D': 'l', '\u1E3B': 'l', '\u017F': 'l', '\u0142': 'l', '\u019A': 'l', '\u026B': 'l', '\u2C61': 'l', '\uA749': 'l', '\uA781': 'l', '\uA747': 'l', '\u01C9': 'lj', '\u24DC': 'm', '\uFF4D': 'm', '\u1E3F': 'm', '\u1E41': 'm', '\u1E43': 'm', '\u0271': 'm', '\u026F': 'm', '\u24DD': 'n', '\uFF4E': 'n', '\u01F9': 'n', '\u0144': 'n', '\u00F1': 'n', '\u1E45': 'n', '\u0148': 'n', '\u1E47': 'n', '\u0146': 'n', '\u1E4B': 'n', '\u1E49': 'n', '\u019E': 'n', '\u0272': 'n', '\u0149': 'n', '\uA791': 'n', '\uA7A5': 'n', '\u01CC': 'nj', '\u24DE': 'o', '\uFF4F': 'o', '\u00F2': 'o', '\u00F3': 'o', '\u00F4': 'o', '\u1ED3': 'o', '\u1ED1': 'o', '\u1ED7': 'o', '\u1ED5': 'o', '\u00F5': 'o', '\u1E4D': 'o', '\u022D': 'o', '\u1E4F': 'o', '\u014D': 'o', '\u1E51': 'o', '\u1E53': 'o', '\u014F': 'o', '\u022F': 'o', '\u0231': 'o', '\u00F6': 'o', '\u022B': 'o', '\u1ECF': 'o', '\u0151': 'o', '\u01D2': 'o', '\u020D': 'o', '\u020F': 'o', '\u01A1': 'o', '\u1EDD': 'o', '\u1EDB': 'o', '\u1EE1': 'o', '\u1EDF': 'o', '\u1EE3': 'o', '\u1ECD': 'o', '\u1ED9': 'o', '\u01EB': 'o', '\u01ED': 'o', '\u00F8': 'o', '\u01FF': 'o', '\u0254': 'o', '\uA74B': 'o', '\uA74D': 'o', '\u0275': 'o', '\u01A3': 'oi', '\u0223': 'ou', '\uA74F': 'oo', '\u24DF': 'p', '\uFF50': 'p', '\u1E55': 'p', '\u1E57': 'p', '\u01A5': 'p', '\u1D7D': 'p', '\uA751': 'p', '\uA753': 'p', '\uA755': 'p', '\u24E0': 'q', '\uFF51': 'q', '\u024B': 'q', '\uA757': 'q', '\uA759': 'q', '\u24E1': 'r', '\uFF52': 'r', '\u0155': 'r', '\u1E59': 'r', '\u0159': 'r', '\u0211': 'r', '\u0213': 'r', '\u1E5B': 'r', '\u1E5D': 'r', '\u0157': 'r', '\u1E5F': 'r', '\u024D': 'r', '\u027D': 'r', '\uA75B': 'r', '\uA7A7': 'r', '\uA783': 'r', '\u24E2': 's', '\uFF53': 's', '\u00DF': 's', '\u015B': 's', '\u1E65': 's', '\u015D': 's', '\u1E61': 's', '\u0161': 's', '\u1E67': 's', '\u1E63': 's', '\u1E69': 's', '\u0219': 's', '\u015F': 's', '\u023F': 's', '\uA7A9': 's', '\uA785': 's', '\u1E9B': 's', '\u24E3': 't', '\uFF54': 't', '\u1E6B': 't', '\u1E97': 't', '\u0165': 't', '\u1E6D': 't', '\u021B': 't', '\u0163': 't', '\u1E71': 't', '\u1E6F': 't', '\u0167': 't', '\u01AD': 't', '\u0288': 't', '\u2C66': 't', '\uA787': 't', '\uA729': 'tz', '\u24E4': 'u', '\uFF55': 'u', '\u00F9': 'u', '\u00FA': 'u', '\u00FB': 'u', '\u0169': 'u', '\u1E79': 'u', '\u016B': 'u', '\u1E7B': 'u', '\u016D': 'u', '\u00FC': 'u', '\u01DC': 'u', '\u01D8': 'u', '\u01D6': 'u', '\u01DA': 'u', '\u1EE7': 'u', '\u016F': 'u', '\u0171': 'u', '\u01D4': 'u', '\u0215': 'u', '\u0217': 'u', '\u01B0': 'u', '\u1EEB': 'u', '\u1EE9': 'u', '\u1EEF': 'u', '\u1EED': 'u', '\u1EF1': 'u', '\u1EE5': 'u', '\u1E73': 'u', '\u0173': 'u', '\u1E77': 'u', '\u1E75': 'u', '\u0289': 'u', '\u24E5': 'v', '\uFF56': 'v', '\u1E7D': 'v', '\u1E7F': 'v', '\u028B': 'v', '\uA75F': 'v', '\u028C': 'v', '\uA761': 'vy', '\u24E6': 'w', '\uFF57': 'w', '\u1E81': 'w', '\u1E83': 'w', '\u0175': 'w', '\u1E87': 'w', '\u1E85': 'w', '\u1E98': 'w', '\u1E89': 'w', '\u2C73': 'w', '\u24E7': 'x', '\uFF58': 'x', '\u1E8B': 'x', '\u1E8D': 'x', '\u24E8': 'y', '\uFF59': 'y', '\u1EF3': 'y', '\u00FD': 'y', '\u0177': 'y', '\u1EF9': 'y', '\u0233': 'y', '\u1E8F': 'y', '\u00FF': 'y', '\u1EF7': 'y', '\u1E99': 'y', '\u1EF5': 'y', '\u01B4': 'y', '\u024F': 'y', '\u1EFF': 'y', '\u24E9': 'z', '\uFF5A': 'z', '\u017A': 'z', '\u1E91': 'z', '\u017C': 'z', '\u017E': 'z', '\u1E93': 'z', '\u1E95': 'z', '\u01B6': 'z', '\u0225': 'z', '\u0240': 'z', '\u2C6C': 'z', '\uA763': 'z', '\u0386': '\u0391', '\u0388': '\u0395', '\u0389': '\u0397', '\u038A': '\u0399', '\u03AA': '\u0399', '\u038C': '\u039F', '\u038E': '\u03A5', '\u03AB': '\u03A5', '\u038F': '\u03A9', '\u03AC': '\u03B1', '\u03AD': '\u03B5', '\u03AE': '\u03B7', '\u03AF': '\u03B9', '\u03CA': '\u03B9', '\u0390': '\u03B9', '\u03CC': '\u03BF', '\u03CD': '\u03C5', '\u03CB': '\u03C5', '\u03B0': '\u03C5', '\u03C9': '\u03C9', '\u03C2': '\u03C3' }; return diacritics; }); S2.define('select2/data/base',[ '../utils' ], function (Utils) { function BaseAdapter ($element, options) { BaseAdapter.__super__.constructor.call(this); } Utils.Extend(BaseAdapter, Utils.Observable); BaseAdapter.prototype.current = function (callback) { throw new Error('The `current` method must be defined in child classes.'); }; BaseAdapter.prototype.query = function (params, callback) { throw new Error('The `query` method must be defined in child classes.'); }; BaseAdapter.prototype.bind = function (container, $container) { // Can be implemented in subclasses }; BaseAdapter.prototype.destroy = function () { // Can be implemented in subclasses }; BaseAdapter.prototype.generateResultId = function (container, data) { var id = container.id + '-result-'; id += Utils.generateChars(4); if (data.id != null) { id += '-' + data.id.toString(); } else { id += '-' + Utils.generateChars(4); } return id; }; return BaseAdapter; }); S2.define('select2/data/select',[ './base', '../utils', 'jquery' ], function (BaseAdapter, Utils, $) { function SelectAdapter ($element, options) { this.$element = $element; this.options = options; SelectAdapter.__super__.constructor.call(this); } Utils.Extend(SelectAdapter, BaseAdapter); SelectAdapter.prototype.current = function (callback) { var data = []; var self = this; this.$element.find(':selected').each(function () { var $option = $(this); var option = self.item($option); data.push(option); }); callback(data); }; SelectAdapter.prototype.select = function (data) { var self = this; data.selected = true; // If data.element is a DOM node, use it instead if ($(data.element).is('option')) { data.element.selected = true; this.$element.trigger('change'); return; } if (this.$element.prop('multiple')) { this.current(function (currentData) { var val = []; data = [data]; data.push.apply(data, currentData); for (var d = 0; d < data.length; d++) { var id = data[d].id; if ($.inArray(id, val) === -1) { val.push(id); } } self.$element.val(val); self.$element.trigger('change'); }); } else { var val = data.id; this.$element.val(val); this.$element.trigger('change'); } }; SelectAdapter.prototype.unselect = function (data) { var self = this; if (!this.$element.prop('multiple')) { return; } data.selected = false; if ($(data.element).is('option')) { data.element.selected = false; this.$element.trigger('change'); return; } this.current(function (currentData) { var val = []; for (var d = 0; d < currentData.length; d++) { var id = currentData[d].id; if (id !== data.id && $.inArray(id, val) === -1) { val.push(id); } } self.$element.val(val); self.$element.trigger('change'); }); }; SelectAdapter.prototype.bind = function (container, $container) { var self = this; this.container = container; container.on('select', function (params) { self.select(params.data); }); container.on('unselect', function (params) { self.unselect(params.data); }); }; SelectAdapter.prototype.destroy = function () { // Remove anything added to child elements this.$element.find('*').each(function () { // Remove any custom data set by Select2 Utils.RemoveData(this); }); }; SelectAdapter.prototype.query = function (params, callback) { var data = []; var self = this; var $options = this.$element.children(); $options.each(function () { var $option = $(this); if (!$option.is('option') && !$option.is('optgroup')) { return; } var option = self.item($option); var matches = self.matches(params, option); if (matches !== null) { data.push(matches); } }); callback({ results: data }); }; SelectAdapter.prototype.addOptions = function ($options) { Utils.appendMany(this.$element, $options); }; SelectAdapter.prototype.option = function (data) { var option; if (data.children) { option = document.createElement('optgroup'); option.label = data.text; } else { option = document.createElement('option'); if (option.textContent !== undefined) { option.textContent = data.text; } else { option.innerText = data.text; } } if (data.id !== undefined) { option.value = data.id; } if (data.disabled) { option.disabled = true; } if (data.selected) { option.selected = true; } if (data.title) { option.title = data.title; } var $option = $(option); var normalizedData = this._normalizeItem(data); normalizedData.element = option; // Override the option's data with the combined data Utils.StoreData(option, 'data', normalizedData); return $option; }; SelectAdapter.prototype.item = function ($option) { var data = {}; data = Utils.GetData($option[0], 'data'); if (data != null) { return data; } if ($option.is('option')) { data = { id: $option.val(), text: $option.text(), disabled: $option.prop('disabled'), selected: $option.prop('selected'), title: $option.prop('title') }; } else if ($option.is('optgroup')) { data = { text: $option.prop('label'), children: [], title: $option.prop('title') }; var $children = $option.children('option'); var children = []; for (var c = 0; c < $children.length; c++) { var $child = $($children[c]); var child = this.item($child); children.push(child); } data.children = children; } data = this._normalizeItem(data); data.element = $option[0]; Utils.StoreData($option[0], 'data', data); return data; }; SelectAdapter.prototype._normalizeItem = function (item) { if (item !== Object(item)) { item = { id: item, text: item }; } item = $.extend({}, { text: '' }, item); var defaults = { selected: false, disabled: false }; if (item.id != null) { item.id = item.id.toString(); } if (item.text != null) { item.text = item.text.toString(); } if (item._resultId == null && item.id && this.container != null) { item._resultId = this.generateResultId(this.container, item); } return $.extend({}, defaults, item); }; SelectAdapter.prototype.matches = function (params, data) { var matcher = this.options.get('matcher'); return matcher(params, data); }; return SelectAdapter; }); S2.define('select2/data/array',[ './select', '../utils', 'jquery' ], function (SelectAdapter, Utils, $) { function ArrayAdapter ($element, options) { var data = options.get('data') || []; ArrayAdapter.__super__.constructor.call(this, $element, options); this.addOptions(this.convertToOptions(data)); } Utils.Extend(ArrayAdapter, SelectAdapter); ArrayAdapter.prototype.select = function (data) { var $option = this.$element.find('option').filter(function (i, elm) { return elm.value == data.id.toString(); }); if ($option.length === 0) { $option = this.option(data); this.addOptions($option); } ArrayAdapter.__super__.select.call(this, data); }; ArrayAdapter.prototype.convertToOptions = function (data) { var self = this; var $existing = this.$element.find('option'); var existingIds = $existing.map(function () { return self.item($(this)).id; }).get(); var $options = []; // Filter out all items except for the one passed in the argument function onlyItem (item) { return function () { return $(this).val() == item.id; }; } for (var d = 0; d < data.length; d++) { var item = this._normalizeItem(data[d]); // Skip items which were pre-loaded, only merge the data if ($.inArray(item.id, existingIds) >= 0) { var $existingOption = $existing.filter(onlyItem(item)); var existingData = this.item($existingOption); var newData = $.extend(true, {}, item, existingData); var $newOption = this.option(newData); $existingOption.replaceWith($newOption); continue; } var $option = this.option(item); if (item.children) { var $children = this.convertToOptions(item.children); Utils.appendMany($option, $children); } $options.push($option); } return $options; }; return ArrayAdapter; }); S2.define('select2/data/ajax',[ './array', '../utils', 'jquery' ], function (ArrayAdapter, Utils, $) { function AjaxAdapter ($element, options) { this.ajaxOptions = this._applyDefaults(options.get('ajax')); if (this.ajaxOptions.processResults != null) { this.processResults = this.ajaxOptions.processResults; } AjaxAdapter.__super__.constructor.call(this, $element, options); } Utils.Extend(AjaxAdapter, ArrayAdapter); AjaxAdapter.prototype._applyDefaults = function (options) { var defaults = { data: function (params) { return $.extend({}, params, { q: params.term }); }, transport: function (params, success, failure) { var $request = $.ajax(params); $request.then(success); $request.fail(failure); return $request; } }; return $.extend({}, defaults, options, true); }; AjaxAdapter.prototype.processResults = function (results) { return results; }; AjaxAdapter.prototype.query = function (params, callback) { var matches = []; var self = this; if (this._request != null) { // JSONP requests cannot always be aborted if ($.isFunction(this._request.abort)) { this._request.abort(); } this._request = null; } var options = $.extend({ type: 'GET' }, this.ajaxOptions); if (typeof options.url === 'function') { options.url = options.url.call(this.$element, params); } if (typeof options.data === 'function') { options.data = options.data.call(this.$element, params); } function request () { var $request = options.transport(options, function (data) { var results = self.processResults(data, params); if (self.options.get('debug') && window.console && console.error) { // Check to make sure that the response included a `results` key. if (!results || !results.results || !$.isArray(results.results)) { console.error( 'Select2: The AJAX results did not return an array in the ' + '`results` key of the response.' ); } } callback(results); }, function () { // Attempt to detect if a request was aborted // Only works if the transport exposes a status property if ('status' in $request && ($request.status === 0 || $request.status === '0')) { return; } self.trigger('results:message', { message: 'errorLoading' }); }); self._request = $request; } if (this.ajaxOptions.delay && params.term != null) { if (this._queryTimeout) { window.clearTimeout(this._queryTimeout); } this._queryTimeout = window.setTimeout(request, this.ajaxOptions.delay); } else { request(); } }; return AjaxAdapter; }); S2.define('select2/data/tags',[ 'jquery' ], function ($) { function Tags (decorated, $element, options) { var tags = options.get('tags'); var createTag = options.get('createTag'); if (createTag !== undefined) { this.createTag = createTag; } var insertTag = options.get('insertTag'); if (insertTag !== undefined) { this.insertTag = insertTag; } decorated.call(this, $element, options); if ($.isArray(tags)) { for (var t = 0; t < tags.length; t++) { var tag = tags[t]; var item = this._normalizeItem(tag); var $option = this.option(item); this.$element.append($option); } } } Tags.prototype.query = function (decorated, params, callback) { var self = this; this._removeOldTags(); if (params.term == null || params.page != null) { decorated.call(this, params, callback); return; } function wrapper (obj, child) { var data = obj.results; for (var i = 0; i < data.length; i++) { var option = data[i]; var checkChildren = ( option.children != null && !wrapper({ results: option.children }, true) ); var optionText = (option.text || '').toUpperCase(); var paramsTerm = (params.term || '').toUpperCase(); var checkText = optionText === paramsTerm; if (checkText || checkChildren) { if (child) { return false; } obj.data = data; callback(obj); return; } } if (child) { return true; } var tag = self.createTag(params); if (tag != null) { var $option = self.option(tag); $option.attr('data-select2-tag', true); self.addOptions([$option]); self.insertTag(data, tag); } obj.results = data; callback(obj); } decorated.call(this, params, wrapper); }; Tags.prototype.createTag = function (decorated, params) { var term = $.trim(params.term); if (term === '') { return null; } return { id: term, text: term }; }; Tags.prototype.insertTag = function (_, data, tag) { data.unshift(tag); }; Tags.prototype._removeOldTags = function (_) { var tag = this._lastTag; var $options = this.$element.find('option[data-select2-tag]'); $options.each(function () { if (this.selected) { return; } $(this).remove(); }); }; return Tags; }); S2.define('select2/data/tokenizer',[ 'jquery' ], function ($) { function Tokenizer (decorated, $element, options) { var tokenizer = options.get('tokenizer'); if (tokenizer !== undefined) { this.tokenizer = tokenizer; } decorated.call(this, $element, options); } Tokenizer.prototype.bind = function (decorated, container, $container) { decorated.call(this, container, $container); this.$search = container.dropdown.$search || container.selection.$search || $container.find('.select2-search__field'); }; Tokenizer.prototype.query = function (decorated, params, callback) { var self = this; function createAndSelect (data) { // Normalize the data object so we can use it for checks var item = self._normalizeItem(data); // Check if the data object already exists as a tag // Select it if it doesn't var $existingOptions = self.$element.find('option').filter(function () { return $(this).val() === item.id; }); // If an existing option wasn't found for it, create the option if (!$existingOptions.length) { var $option = self.option(item); $option.attr('data-select2-tag', true); self._removeOldTags(); self.addOptions([$option]); } // Select the item, now that we know there is an option for it select(item); } function select (data) { self.trigger('select', { data: data }); } params.term = params.term || ''; var tokenData = this.tokenizer(params, this.options, createAndSelect); if (tokenData.term !== params.term) { // Replace the search term if we have the search box if (this.$search.length) { this.$search.val(tokenData.term); this.$search.focus(); } params.term = tokenData.term; } decorated.call(this, params, callback); }; Tokenizer.prototype.tokenizer = function (_, params, options, callback) { var separators = options.get('tokenSeparators') || []; var term = params.term; var i = 0; var createTag = this.createTag || function (params) { return { id: params.term, text: params.term }; }; while (i < term.length) { var termChar = term[i]; if ($.inArray(termChar, separators) === -1) { i++; continue; } var part = term.substr(0, i); var partParams = $.extend({}, params, { term: part }); var data = createTag(partParams); if (data == null) { i++; continue; } callback(data); // Reset the term to not include the tokenized portion term = term.substr(i + 1) || ''; i = 0; } return { term: term }; }; return Tokenizer; }); S2.define('select2/data/minimumInputLength',[ ], function () { function MinimumInputLength (decorated, $e, options) { this.minimumInputLength = options.get('minimumInputLength'); decorated.call(this, $e, options); } MinimumInputLength.prototype.query = function (decorated, params, callback) { params.term = params.term || ''; if (params.term.length < this.minimumInputLength) { this.trigger('results:message', { message: 'inputTooShort', args: { minimum: this.minimumInputLength, input: params.term, params: params } }); return; } decorated.call(this, params, callback); }; return MinimumInputLength; }); S2.define('select2/data/maximumInputLength',[ ], function () { function MaximumInputLength (decorated, $e, options) { this.maximumInputLength = options.get('maximumInputLength'); decorated.call(this, $e, options); } MaximumInputLength.prototype.query = function (decorated, params, callback) { params.term = params.term || ''; if (this.maximumInputLength > 0 && params.term.length > this.maximumInputLength) { this.trigger('results:message', { message: 'inputTooLong', args: { maximum: this.maximumInputLength, input: params.term, params: params } }); return; } decorated.call(this, params, callback); }; return MaximumInputLength; }); S2.define('select2/data/maximumSelectionLength',[ ], function (){ function MaximumSelectionLength (decorated, $e, options) { this.maximumSelectionLength = options.get('maximumSelectionLength'); decorated.call(this, $e, options); } MaximumSelectionLength.prototype.query = function (decorated, params, callback) { var self = this; this.current(function (currentData) { var count = currentData != null ? currentData.length : 0; if (self.maximumSelectionLength > 0 && count >= self.maximumSelectionLength) { self.trigger('results:message', { message: 'maximumSelected', args: { maximum: self.maximumSelectionLength } }); return; } decorated.call(self, params, callback); }); }; return MaximumSelectionLength; }); S2.define('select2/dropdown',[ 'jquery', './utils' ], function ($, Utils) { function Dropdown ($element, options) { this.$element = $element; this.options = options; Dropdown.__super__.constructor.call(this); } Utils.Extend(Dropdown, Utils.Observable); Dropdown.prototype.render = function () { var $dropdown = $( '<span class="select2-dropdown">' + '<span class="select2-results"></span>' + '</span>' ); $dropdown.attr('dir', this.options.get('dir')); this.$dropdown = $dropdown; return $dropdown; }; Dropdown.prototype.bind = function () { // Should be implemented in subclasses }; Dropdown.prototype.position = function ($dropdown, $container) { // Should be implmented in subclasses }; Dropdown.prototype.destroy = function () { // Remove the dropdown from the DOM this.$dropdown.remove(); }; return Dropdown; }); S2.define('select2/dropdown/search',[ 'jquery', '../utils' ], function ($, Utils) { function Search () { } Search.prototype.render = function (decorated) { var $rendered = decorated.call(this); var $search = $( '<span class="select2-search select2-search--dropdown">' + '<input class="select2-search__field" type="search" tabindex="-1"' + ' autocomplete="off" autocorrect="off" autocapitalize="none"' + ' spellcheck="false" role="textbox" />' + '</span>' ); this.$searchContainer = $search; this.$search = $search.find('input'); $rendered.prepend($search); return $rendered; }; Search.prototype.bind = function (decorated, container, $container) { var self = this; decorated.call(this, container, $container); this.$search.on('keydown', function (evt) { self.trigger('keypress', evt); self._keyUpPrevented = evt.isDefaultPrevented(); }); // Workaround for browsers which do not support the `input` event // This will prevent double-triggering of events for browsers which support // both the `keyup` and `input` events. this.$search.on('input', function (evt) { // Unbind the duplicated `keyup` event $(this).off('keyup'); }); this.$search.on('keyup input', function (evt) { self.handleSearch(evt); }); container.on('open', function () { self.$search.attr('tabindex', 0); self.$search.focus(); window.setTimeout(function () { self.$search.focus(); }, 0); }); container.on('close', function () { self.$search.attr('tabindex', -1); self.$search.val(''); self.$search.blur(); }); container.on('focus', function () { if (!container.isOpen()) { self.$search.focus(); } }); container.on('results:all', function (params) { if (params.query.term == null || params.query.term === '') { var showSearch = self.showSearch(params); if (showSearch) { self.$searchContainer.removeClass('select2-search--hide'); } else { self.$searchContainer.addClass('select2-search--hide'); } } }); }; Search.prototype.handleSearch = function (evt) { if (!this._keyUpPrevented) { var input = this.$search.val(); this.trigger('query', { term: input }); } this._keyUpPrevented = false; }; Search.prototype.showSearch = function (_, params) { return true; }; return Search; }); S2.define('select2/dropdown/hidePlaceholder',[ ], function () { function HidePlaceholder (decorated, $element, options, dataAdapter) { this.placeholder = this.normalizePlaceholder(options.get('placeholder')); decorated.call(this, $element, options, dataAdapter); } HidePlaceholder.prototype.append = function (decorated, data) { data.results = this.removePlaceholder(data.results); decorated.call(this, data); }; HidePlaceholder.prototype.normalizePlaceholder = function (_, placeholder) { if (typeof placeholder === 'string') { placeholder = { id: '', text: placeholder }; } return placeholder; }; HidePlaceholder.prototype.removePlaceholder = function (_, data) { var modifiedData = data.slice(0); for (var d = data.length - 1; d >= 0; d--) { var item = data[d]; if (this.placeholder.id === item.id) { modifiedData.splice(d, 1); } } return modifiedData; }; return HidePlaceholder; }); S2.define('select2/dropdown/infiniteScroll',[ 'jquery' ], function ($) { function InfiniteScroll (decorated, $element, options, dataAdapter) { this.lastParams = {}; decorated.call(this, $element, options, dataAdapter); this.$loadingMore = this.createLoadingMore(); this.loading = false; } InfiniteScroll.prototype.append = function (decorated, data) { this.$loadingMore.remove(); this.loading = false; decorated.call(this, data); if (this.showLoadingMore(data)) { this.$results.append(this.$loadingMore); } }; InfiniteScroll.prototype.bind = function (decorated, container, $container) { var self = this; decorated.call(this, container, $container); container.on('query', function (params) { self.lastParams = params; self.loading = true; }); container.on('query:append', function (params) { self.lastParams = params; self.loading = true; }); this.$results.on('scroll', function () { var isLoadMoreVisible = $.contains( document.documentElement, self.$loadingMore[0] ); if (self.loading || !isLoadMoreVisible) { return; } var currentOffset = self.$results.offset().top + self.$results.outerHeight(false); var loadingMoreOffset = self.$loadingMore.offset().top + self.$loadingMore.outerHeight(false); if (currentOffset + 50 >= loadingMoreOffset) { self.loadMore(); } }); }; InfiniteScroll.prototype.loadMore = function () { this.loading = true; var params = $.extend({}, {page: 1}, this.lastParams); params.page++; this.trigger('query:append', params); }; InfiniteScroll.prototype.showLoadingMore = function (_, data) { return data.pagination && data.pagination.more; }; InfiniteScroll.prototype.createLoadingMore = function () { var $option = $( '<li ' + 'class="select2-results__option select2-results__option--load-more"' + 'role="treeitem" aria-disabled="true"></li>' ); var message = this.options.get('translations').get('loadingMore'); $option.html(message(this.lastParams)); return $option; }; return InfiniteScroll; }); S2.define('select2/dropdown/attachBody',[ 'jquery', '../utils' ], function ($, Utils) { function AttachBody (decorated, $element, options) { this.$dropdownParent = options.get('dropdownParent') || $(document.body); decorated.call(this, $element, options); } AttachBody.prototype.bind = function (decorated, container, $container) { var self = this; var setupResultsEvents = false; decorated.call(this, container, $container); container.on('open', function () { self._showDropdown(); self._attachPositioningHandler(container); if (!setupResultsEvents) { setupResultsEvents = true; container.on('results:all', function () { self._positionDropdown(); self._resizeDropdown(); }); container.on('results:append', function () { self._positionDropdown(); self._resizeDropdown(); }); } }); container.on('close', function () { self._hideDropdown(); self._detachPositioningHandler(container); }); this.$dropdownContainer.on('mousedown', function (evt) { evt.stopPropagation(); }); }; AttachBody.prototype.destroy = function (decorated) { decorated.call(this); this.$dropdownContainer.remove(); }; AttachBody.prototype.position = function (decorated, $dropdown, $container) { // Clone all of the container classes $dropdown.attr('class', $container.attr('class')); $dropdown.removeClass('select2'); $dropdown.addClass('select2-container--open'); $dropdown.css({ position: 'absolute', top: -999999 }); this.$container = $container; }; AttachBody.prototype.render = function (decorated) { var $container = $('<span></span>'); var $dropdown = decorated.call(this); $container.append($dropdown); this.$dropdownContainer = $container; return $container; }; AttachBody.prototype._hideDropdown = function (decorated) { this.$dropdownContainer.detach(); }; AttachBody.prototype._attachPositioningHandler = function (decorated, container) { var self = this; var scrollEvent = 'scroll.select2.' + container.id; var resizeEvent = 'resize.select2.' + container.id; var orientationEvent = 'orientationchange.select2.' + container.id; var $watchers = this.$container.parents().filter(Utils.hasScroll); $watchers.each(function () { Utils.StoreData(this, 'select2-scroll-position', { x: $(this).scrollLeft(), y: $(this).scrollTop() }); }); $watchers.on(scrollEvent, function (ev) { var position = Utils.GetData(this, 'select2-scroll-position'); $(this).scrollTop(position.y); }); $(window).on(scrollEvent + ' ' + resizeEvent + ' ' + orientationEvent, function (e) { self._positionDropdown(); self._resizeDropdown(); }); }; AttachBody.prototype._detachPositioningHandler = function (decorated, container) { var scrollEvent = 'scroll.select2.' + container.id; var resizeEvent = 'resize.select2.' + container.id; var orientationEvent = 'orientationchange.select2.' + container.id; var $watchers = this.$container.parents().filter(Utils.hasScroll); $watchers.off(scrollEvent); $(window).off(scrollEvent + ' ' + resizeEvent + ' ' + orientationEvent); }; AttachBody.prototype._positionDropdown = function () { var $window = $(window); var isCurrentlyAbove = this.$dropdown.hasClass('select2-dropdown--above'); var isCurrentlyBelow = this.$dropdown.hasClass('select2-dropdown--below'); var newDirection = null; var offset = this.$container.offset(); offset.bottom = offset.top + this.$container.outerHeight(false); var container = { height: this.$container.outerHeight(false) }; container.top = offset.top; container.bottom = offset.top + container.height; var dropdown = { height: this.$dropdown.outerHeight(false) }; var viewport = { top: $window.scrollTop(), bottom: $window.scrollTop() + $window.height() }; var enoughRoomAbove = viewport.top < (offset.top - dropdown.height); var enoughRoomBelow = viewport.bottom > (offset.bottom + dropdown.height); var css = { left: offset.left, top: container.bottom }; // Determine what the parent element is to use for calciulating the offset var $offsetParent = this.$dropdownParent; // For statically positoned elements, we need to get the element // that is determining the offset if ($offsetParent.css('position') === 'static') { $offsetParent = $offsetParent.offsetParent(); } var parentOffset = $offsetParent.offset(); css.top -= parentOffset.top; css.left -= parentOffset.left; if (!isCurrentlyAbove && !isCurrentlyBelow) { newDirection = 'below'; } if (!enoughRoomBelow && enoughRoomAbove && !isCurrentlyAbove) { newDirection = 'above'; } else if (!enoughRoomAbove && enoughRoomBelow && isCurrentlyAbove) { newDirection = 'below'; } if (newDirection == 'above' || (isCurrentlyAbove && newDirection !== 'below')) { css.top = container.top - parentOffset.top - dropdown.height; } if (newDirection != null) { this.$dropdown .removeClass('select2-dropdown--below select2-dropdown--above') .addClass('select2-dropdown--' + newDirection); this.$container .removeClass('select2-container--below select2-container--above') .addClass('select2-container--' + newDirection); } this.$dropdownContainer.css(css); }; AttachBody.prototype._resizeDropdown = function () { var css = { width: this.$container.outerWidth(false) + 'px' }; if (this.options.get('dropdownAutoWidth')) { css.minWidth = css.width; css.position = 'relative'; css.width = 'auto'; } this.$dropdown.css(css); }; AttachBody.prototype._showDropdown = function (decorated) { this.$dropdownContainer.appendTo(this.$dropdownParent); this._positionDropdown(); this._resizeDropdown(); }; return AttachBody; }); S2.define('select2/dropdown/minimumResultsForSearch',[ ], function () { function countResults (data) { var count = 0; for (var d = 0; d < data.length; d++) { var item = data[d]; if (item.children) { count += countResults(item.children); } else { count++; } } return count; } function MinimumResultsForSearch (decorated, $element, options, dataAdapter) { this.minimumResultsForSearch = options.get('minimumResultsForSearch'); if (this.minimumResultsForSearch < 0) { this.minimumResultsForSearch = Infinity; } decorated.call(this, $element, options, dataAdapter); } MinimumResultsForSearch.prototype.showSearch = function (decorated, params) { if (countResults(params.data.results) < this.minimumResultsForSearch) { return false; } return decorated.call(this, params); }; return MinimumResultsForSearch; }); S2.define('select2/dropdown/selectOnClose',[ '../utils' ], function (Utils) { function SelectOnClose () { } SelectOnClose.prototype.bind = function (decorated, container, $container) { var self = this; decorated.call(this, container, $container); container.on('close', function (params) { self._handleSelectOnClose(params); }); }; SelectOnClose.prototype._handleSelectOnClose = function (_, params) { if (params && params.originalSelect2Event != null) { var event = params.originalSelect2Event; // Don't select an item if the close event was triggered from a select or // unselect event if (event._type === 'select' || event._type === 'unselect') { return; } } var $highlightedResults = this.getHighlightedResults(); // Only select highlighted results if ($highlightedResults.length < 1) { return; } var data = Utils.GetData($highlightedResults[0], 'data'); // Don't re-select already selected resulte if ( (data.element != null && data.element.selected) || (data.element == null && data.selected) ) { return; } this.trigger('select', { data: data }); }; return SelectOnClose; }); S2.define('select2/dropdown/closeOnSelect',[ ], function () { function CloseOnSelect () { } CloseOnSelect.prototype.bind = function (decorated, container, $container) { var self = this; decorated.call(this, container, $container); container.on('select', function (evt) { self._selectTriggered(evt); }); container.on('unselect', function (evt) { self._selectTriggered(evt); }); }; CloseOnSelect.prototype._selectTriggered = function (_, evt) { var originalEvent = evt.originalEvent; // Don't close if the control key is being held if (originalEvent && originalEvent.ctrlKey) { return; } this.trigger('close', { originalEvent: originalEvent, originalSelect2Event: evt }); }; return CloseOnSelect; }); S2.define('select2/i18n/en',[],function () { // English return { errorLoading: function () { return 'The results could not be loaded.'; }, inputTooLong: function (args) { var overChars = args.input.length - args.maximum; var message = 'Please delete ' + overChars + ' character'; if (overChars != 1) { message += 's'; } return message; }, inputTooShort: function (args) { var remainingChars = args.minimum - args.input.length; var message = 'Please enter ' + remainingChars + ' or more characters'; return message; }, loadingMore: function () { return 'Loading more results…'; }, maximumSelected: function (args) { var message = 'You can only select ' + args.maximum + ' item'; if (args.maximum != 1) { message += 's'; } return message; }, noResults: function () { return 'No results found'; }, searching: function () { return 'Searching…'; } }; }); S2.define('select2/defaults',[ 'jquery', 'require', './results', './selection/single', './selection/multiple', './selection/placeholder', './selection/allowClear', './selection/search', './selection/eventRelay', './utils', './translation', './diacritics', './data/select', './data/array', './data/ajax', './data/tags', './data/tokenizer', './data/minimumInputLength', './data/maximumInputLength', './data/maximumSelectionLength', './dropdown', './dropdown/search', './dropdown/hidePlaceholder', './dropdown/infiniteScroll', './dropdown/attachBody', './dropdown/minimumResultsForSearch', './dropdown/selectOnClose', './dropdown/closeOnSelect', './i18n/en' ], function ($, require, ResultsList, SingleSelection, MultipleSelection, Placeholder, AllowClear, SelectionSearch, EventRelay, Utils, Translation, DIACRITICS, SelectData, ArrayData, AjaxData, Tags, Tokenizer, MinimumInputLength, MaximumInputLength, MaximumSelectionLength, Dropdown, DropdownSearch, HidePlaceholder, InfiniteScroll, AttachBody, MinimumResultsForSearch, SelectOnClose, CloseOnSelect, EnglishTranslation) { function Defaults () { this.reset(); } Defaults.prototype.apply = function (options) { options = $.extend(true, {}, this.defaults, options); if (options.dataAdapter == null) { if (options.ajax != null) { options.dataAdapter = AjaxData; } else if (options.data != null) { options.dataAdapter = ArrayData; } else { options.dataAdapter = SelectData; } if (options.minimumInputLength > 0) { options.dataAdapter = Utils.Decorate( options.dataAdapter, MinimumInputLength ); } if (options.maximumInputLength > 0) { options.dataAdapter = Utils.Decorate( options.dataAdapter, MaximumInputLength ); } if (options.maximumSelectionLength > 0) { options.dataAdapter = Utils.Decorate( options.dataAdapter, MaximumSelectionLength ); } if (options.tags) { options.dataAdapter = Utils.Decorate(options.dataAdapter, Tags); } if (options.tokenSeparators != null || options.tokenizer != null) { options.dataAdapter = Utils.Decorate( options.dataAdapter, Tokenizer ); } if (options.query != null) { var Query = require(options.amdBase + 'compat/query'); options.dataAdapter = Utils.Decorate( options.dataAdapter, Query ); } if (options.initSelection != null) { var InitSelection = require(options.amdBase + 'compat/initSelection'); options.dataAdapter = Utils.Decorate( options.dataAdapter, InitSelection ); } } if (options.resultsAdapter == null) { options.resultsAdapter = ResultsList; if (options.ajax != null) { options.resultsAdapter = Utils.Decorate( options.resultsAdapter, InfiniteScroll ); } if (options.placeholder != null) { options.resultsAdapter = Utils.Decorate( options.resultsAdapter, HidePlaceholder ); } if (options.selectOnClose) { options.resultsAdapter = Utils.Decorate( options.resultsAdapter, SelectOnClose ); } } if (options.dropdownAdapter == null) { if (options.multiple) { options.dropdownAdapter = Dropdown; } else { var SearchableDropdown = Utils.Decorate(Dropdown, DropdownSearch); options.dropdownAdapter = SearchableDropdown; } if (options.minimumResultsForSearch !== 0) { options.dropdownAdapter = Utils.Decorate( options.dropdownAdapter, MinimumResultsForSearch ); } if (options.closeOnSelect) { options.dropdownAdapter = Utils.Decorate( options.dropdownAdapter, CloseOnSelect ); } if ( options.dropdownCssClass != null || options.dropdownCss != null || options.adaptDropdownCssClass != null ) { var DropdownCSS = require(options.amdBase + 'compat/dropdownCss'); options.dropdownAdapter = Utils.Decorate( options.dropdownAdapter, DropdownCSS ); } options.dropdownAdapter = Utils.Decorate( options.dropdownAdapter, AttachBody ); } if (options.selectionAdapter == null) { if (options.multiple) { options.selectionAdapter = MultipleSelection; } else { options.selectionAdapter = SingleSelection; } // Add the placeholder mixin if a placeholder was specified if (options.placeholder != null) { options.selectionAdapter = Utils.Decorate( options.selectionAdapter, Placeholder ); } if (options.allowClear) { options.selectionAdapter = Utils.Decorate( options.selectionAdapter, AllowClear ); } if (options.multiple) { options.selectionAdapter = Utils.Decorate( options.selectionAdapter, SelectionSearch ); } if ( options.containerCssClass != null || options.containerCss != null || options.adaptContainerCssClass != null ) { var ContainerCSS = require(options.amdBase + 'compat/containerCss'); options.selectionAdapter = Utils.Decorate( options.selectionAdapter, ContainerCSS ); } options.selectionAdapter = Utils.Decorate( options.selectionAdapter, EventRelay ); } if (typeof options.language === 'string') { // Check if the language is specified with a region if (options.language.indexOf('-') > 0) { // Extract the region information if it is included var languageParts = options.language.split('-'); var baseLanguage = languageParts[0]; options.language = [options.language, baseLanguage]; } else { options.language = [options.language]; } } if ($.isArray(options.language)) { var languages = new Translation(); options.language.push('en'); var languageNames = options.language; for (var l = 0; l < languageNames.length; l++) { var name = languageNames[l]; var language = {}; try { // Try to load it with the original name language = Translation.loadPath(name); } catch (e) { try { // If we couldn't load it, check if it wasn't the full path name = this.defaults.amdLanguageBase + name; language = Translation.loadPath(name); } catch (ex) { // The translation could not be loaded at all. Sometimes this is // because of a configuration problem, other times this can be // because of how Select2 helps load all possible translation files. if (options.debug && window.console && console.warn) { console.warn( 'Select2: The language file for "' + name + '" could not be ' + 'automatically loaded. A fallback will be used instead.' ); } continue; } } languages.extend(language); } options.translations = languages; } else { var baseTranslation = Translation.loadPath( this.defaults.amdLanguageBase + 'en' ); var customTranslation = new Translation(options.language); customTranslation.extend(baseTranslation); options.translations = customTranslation; } return options; }; Defaults.prototype.reset = function () { function stripDiacritics (text) { // Used 'uni range + named function' from http://jsperf.com/diacritics/18 function match(a) { return DIACRITICS[a] || a; } return text.replace(/[^\u0000-\u007E]/g, match); } function matcher (params, data) { // Always return the object if there is nothing to compare if ($.trim(params.term) === '') { return data; } // Do a recursive check for options with children if (data.children && data.children.length > 0) { // Clone the data object if there are children // This is required as we modify the object to remove any non-matches var match = $.extend(true, {}, data); // Check each child of the option for (var c = data.children.length - 1; c >= 0; c--) { var child = data.children[c]; var matches = matcher(params, child); // If there wasn't a match, remove the object in the array if (matches == null) { match.children.splice(c, 1); } } // If any children matched, return the new object if (match.children.length > 0) { return match; } // If there were no matching children, check just the plain object return matcher(params, match); } var original = stripDiacritics(data.text).toUpperCase(); var term = stripDiacritics(params.term).toUpperCase(); // Check if the text contains the term if (original.indexOf(term) > -1) { return data; } // If it doesn't contain the term, don't return anything return null; } this.defaults = { amdBase: './', amdLanguageBase: './i18n/', closeOnSelect: true, debug: false, dropdownAutoWidth: false, escapeMarkup: Utils.escapeMarkup, language: EnglishTranslation, matcher: matcher, minimumInputLength: 0, maximumInputLength: 0, maximumSelectionLength: 0, minimumResultsForSearch: 0, selectOnClose: false, sorter: function (data) { return data; }, templateResult: function (result) { return result.text; }, templateSelection: function (selection) { return selection.text; }, theme: 'default', width: 'resolve' }; }; Defaults.prototype.set = function (key, value) { var camelKey = $.camelCase(key); var data = {}; data[camelKey] = value; var convertedData = Utils._convertData(data); $.extend(true, this.defaults, convertedData); }; var defaults = new Defaults(); return defaults; }); S2.define('select2/options',[ 'require', 'jquery', './defaults', './utils' ], function (require, $, Defaults, Utils) { function Options (options, $element) { this.options = options; if ($element != null) { this.fromElement($element); } this.options = Defaults.apply(this.options); if ($element && $element.is('input')) { var InputCompat = require(this.get('amdBase') + 'compat/inputData'); this.options.dataAdapter = Utils.Decorate( this.options.dataAdapter, InputCompat ); } } Options.prototype.fromElement = function ($e) { var excludedData = ['select2']; if (this.options.multiple == null) { this.options.multiple = $e.prop('multiple'); } if (this.options.disabled == null) { this.options.disabled = $e.prop('disabled'); } if (this.options.language == null) { if ($e.prop('lang')) { this.options.language = $e.prop('lang').toLowerCase(); } else if ($e.closest('[lang]').prop('lang')) { this.options.language = $e.closest('[lang]').prop('lang'); } } if (this.options.dir == null) { if ($e.prop('dir')) { this.options.dir = $e.prop('dir'); } else if ($e.closest('[dir]').prop('dir')) { this.options.dir = $e.closest('[dir]').prop('dir'); } else { this.options.dir = 'ltr'; } } $e.prop('disabled', this.options.disabled); $e.prop('multiple', this.options.multiple); if (Utils.GetData($e[0], 'select2Tags')) { if (this.options.debug && window.console && console.warn) { console.warn( 'Select2: The `data-select2-tags` attribute has been changed to ' + 'use the `data-data` and `data-tags="true"` attributes and will be ' + 'removed in future versions of Select2.' ); } Utils.StoreData($e[0], 'data', Utils.GetData($e[0], 'select2Tags')); Utils.StoreData($e[0], 'tags', true); } if (Utils.GetData($e[0], 'ajaxUrl')) { if (this.options.debug && window.console && console.warn) { console.warn( 'Select2: The `data-ajax-url` attribute has been changed to ' + '`data-ajax--url` and support for the old attribute will be removed' + ' in future versions of Select2.' ); } $e.attr('ajax--url', Utils.GetData($e[0], 'ajaxUrl')); Utils.StoreData($e[0], 'ajax-Url', Utils.GetData($e[0], 'ajaxUrl')); } var dataset = {}; // Prefer the element's `dataset` attribute if it exists // jQuery 1.x does not correctly handle data attributes with multiple dashes if ($.fn.jquery && $.fn.jquery.substr(0, 2) == '1.' && $e[0].dataset) { dataset = $.extend(true, {}, $e[0].dataset, Utils.GetData($e[0])); } else { dataset = Utils.GetData($e[0]); } var data = $.extend(true, {}, dataset); data = Utils._convertData(data); for (var key in data) { if ($.inArray(key, excludedData) > -1) { continue; } if ($.isPlainObject(this.options[key])) { $.extend(this.options[key], data[key]); } else { this.options[key] = data[key]; } } return this; }; Options.prototype.get = function (key) { return this.options[key]; }; Options.prototype.set = function (key, val) { this.options[key] = val; }; return Options; }); S2.define('select2/core',[ 'jquery', './options', './utils', './keys' ], function ($, Options, Utils, KEYS) { var Select2 = function ($element, options) { if (Utils.GetData($element[0], 'select2') != null) { Utils.GetData($element[0], 'select2').destroy(); } this.$element = $element; this.id = this._generateId($element); options = options || {}; this.options = new Options(options, $element); Select2.__super__.constructor.call(this); // Set up the tabindex var tabindex = $element.attr('tabindex') || 0; Utils.StoreData($element[0], 'old-tabindex', tabindex); $element.attr('tabindex', '-1'); // Set up containers and adapters var DataAdapter = this.options.get('dataAdapter'); this.dataAdapter = new DataAdapter($element, this.options); var $container = this.render(); this._placeContainer($container); var SelectionAdapter = this.options.get('selectionAdapter'); this.selection = new SelectionAdapter($element, this.options); this.$selection = this.selection.render(); this.selection.position(this.$selection, $container); var DropdownAdapter = this.options.get('dropdownAdapter'); this.dropdown = new DropdownAdapter($element, this.options); this.$dropdown = this.dropdown.render(); this.dropdown.position(this.$dropdown, $container); var ResultsAdapter = this.options.get('resultsAdapter'); this.results = new ResultsAdapter($element, this.options, this.dataAdapter); this.$results = this.results.render(); this.results.position(this.$results, this.$dropdown); // Bind events var self = this; // Bind the container to all of the adapters this._bindAdapters(); // Register any DOM event handlers this._registerDomEvents(); // Register any internal event handlers this._registerDataEvents(); this._registerSelectionEvents(); this._registerDropdownEvents(); this._registerResultsEvents(); this._registerEvents(); // Set the initial state this.dataAdapter.current(function (initialData) { self.trigger('selection:update', { data: initialData }); }); // Hide the original select $element.addClass('select2-hidden-accessible'); $element.attr('aria-hidden', 'true'); // Synchronize any monitored attributes this._syncAttributes(); Utils.StoreData($element[0], 'select2', this); // Ensure backwards compatibility with $element.data('select2'). $element.data('select2', this); }; Utils.Extend(Select2, Utils.Observable); Select2.prototype._generateId = function ($element) { var id = ''; if ($element.attr('id') != null) { id = $element.attr('id'); } else if ($element.attr('name') != null) { id = $element.attr('name') + '-' + Utils.generateChars(2); } else { id = Utils.generateChars(4); } id = id.replace(/(:|\.|\[|\]|,)/g, ''); id = 'select2-' + id; return id; }; Select2.prototype._placeContainer = function ($container) { $container.insertAfter(this.$element); var width = this._resolveWidth(this.$element, this.options.get('width')); if (width != null) { $container.css('width', width); } }; Select2.prototype._resolveWidth = function ($element, method) { var WIDTH = /^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i; if (method == 'resolve') { var styleWidth = this._resolveWidth($element, 'style'); if (styleWidth != null) { return styleWidth; } return this._resolveWidth($element, 'element'); } if (method == 'element') { var elementWidth = $element.outerWidth(false); if (elementWidth <= 0) { return 'auto'; } return elementWidth + 'px'; } if (method == 'style') { var style = $element.attr('style'); if (typeof(style) !== 'string') { return null; } var attrs = style.split(';'); for (var i = 0, l = attrs.length; i < l; i = i + 1) { var attr = attrs[i].replace(/\s/g, ''); var matches = attr.match(WIDTH); if (matches !== null && matches.length >= 1) { return matches[1]; } } return null; } return method; }; Select2.prototype._bindAdapters = function () { this.dataAdapter.bind(this, this.$container); this.selection.bind(this, this.$container); this.dropdown.bind(this, this.$container); this.results.bind(this, this.$container); }; Select2.prototype._registerDomEvents = function () { var self = this; this.$element.on('change.select2', function () { self.dataAdapter.current(function (data) { self.trigger('selection:update', { data: data }); }); }); this.$element.on('focus.select2', function (evt) { self.trigger('focus', evt); }); this._syncA = Utils.bind(this._syncAttributes, this); this._syncS = Utils.bind(this._syncSubtree, this); if (this.$element[0].attachEvent) { this.$element[0].attachEvent('onpropertychange', this._syncA); } var observer = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver ; if (observer != null) { this._observer = new observer(function (mutations) { $.each(mutations, self._syncA); $.each(mutations, self._syncS); }); this._observer.observe(this.$element[0], { attributes: true, childList: true, subtree: false }); } else if (this.$element[0].addEventListener) { this.$element[0].addEventListener( 'DOMAttrModified', self._syncA, false ); this.$element[0].addEventListener( 'DOMNodeInserted', self._syncS, false ); this.$element[0].addEventListener( 'DOMNodeRemoved', self._syncS, false ); } }; Select2.prototype._registerDataEvents = function () { var self = this; this.dataAdapter.on('*', function (name, params) { self.trigger(name, params); }); }; Select2.prototype._registerSelectionEvents = function () { var self = this; var nonRelayEvents = ['toggle', 'focus']; this.selection.on('toggle', function () { self.toggleDropdown(); }); this.selection.on('focus', function (params) { self.focus(params); }); this.selection.on('*', function (name, params) { if ($.inArray(name, nonRelayEvents) !== -1) { return; } self.trigger(name, params); }); }; Select2.prototype._registerDropdownEvents = function () { var self = this; this.dropdown.on('*', function (name, params) { self.trigger(name, params); }); }; Select2.prototype._registerResultsEvents = function () { var self = this; this.results.on('*', function (name, params) { self.trigger(name, params); }); }; Select2.prototype._registerEvents = function () { var self = this; this.on('open', function () { self.$container.addClass('select2-container--open'); }); this.on('close', function () { self.$container.removeClass('select2-container--open'); }); this.on('enable', function () { self.$container.removeClass('select2-container--disabled'); }); this.on('disable', function () { self.$container.addClass('select2-container--disabled'); }); this.on('blur', function () { self.$container.removeClass('select2-container--focus'); }); this.on('query', function (params) { if (!self.isOpen()) { self.trigger('open', {}); } this.dataAdapter.query(params, function (data) { self.trigger('results:all', { data: data, query: params }); }); }); this.on('query:append', function (params) { this.dataAdapter.query(params, function (data) { self.trigger('results:append', { data: data, query: params }); }); }); this.on('keypress', function (evt) { var key = evt.which; if (self.isOpen()) { if (key === KEYS.ESC || key === KEYS.TAB || (key === KEYS.UP && evt.altKey)) { self.close(); evt.preventDefault(); } else if (key === KEYS.ENTER) { self.trigger('results:select', {}); evt.preventDefault(); } else if ((key === KEYS.SPACE && evt.ctrlKey)) { self.trigger('results:toggle', {}); evt.preventDefault(); } else if (key === KEYS.UP) { self.trigger('results:previous', {}); evt.preventDefault(); } else if (key === KEYS.DOWN) { self.trigger('results:next', {}); evt.preventDefault(); } } else { if (key === KEYS.ENTER || key === KEYS.SPACE || (key === KEYS.DOWN && evt.altKey)) { self.open(); evt.preventDefault(); } } }); }; Select2.prototype._syncAttributes = function () { this.options.set('disabled', this.$element.prop('disabled')); if (this.options.get('disabled')) { if (this.isOpen()) { this.close(); } this.trigger('disable', {}); } else { this.trigger('enable', {}); } }; Select2.prototype._syncSubtree = function (evt, mutations) { var changed = false; var self = this; // Ignore any mutation events raised for elements that aren't options or // optgroups. This handles the case when the select element is destroyed if ( evt && evt.target && ( evt.target.nodeName !== 'OPTION' && evt.target.nodeName !== 'OPTGROUP' ) ) { return; } if (!mutations) { // If mutation events aren't supported, then we can only assume that the // change affected the selections changed = true; } else if (mutations.addedNodes && mutations.addedNodes.length > 0) { for (var n = 0; n < mutations.addedNodes.length; n++) { var node = mutations.addedNodes[n]; if (node.selected) { changed = true; } } } else if (mutations.removedNodes && mutations.removedNodes.length > 0) { changed = true; } // Only re-pull the data if we think there is a change if (changed) { this.dataAdapter.current(function (currentData) { self.trigger('selection:update', { data: currentData }); }); } }; /** * Override the trigger method to automatically trigger pre-events when * there are events that can be prevented. */ Select2.prototype.trigger = function (name, args) { var actualTrigger = Select2.__super__.trigger; var preTriggerMap = { 'open': 'opening', 'close': 'closing', 'select': 'selecting', 'unselect': 'unselecting', 'clear': 'clearing' }; if (args === undefined) { args = {}; } if (name in preTriggerMap) { var preTriggerName = preTriggerMap[name]; var preTriggerArgs = { prevented: false, name: name, args: args }; actualTrigger.call(this, preTriggerName, preTriggerArgs); if (preTriggerArgs.prevented) { args.prevented = true; return; } } actualTrigger.call(this, name, args); }; Select2.prototype.toggleDropdown = function () { if (this.options.get('disabled')) { return; } if (this.isOpen()) { this.close(); } else { this.open(); } }; Select2.prototype.open = function () { if (this.isOpen()) { return; } this.trigger('query', {}); }; Select2.prototype.close = function () { if (!this.isOpen()) { return; } this.trigger('close', {}); }; Select2.prototype.isOpen = function () { return this.$container.hasClass('select2-container--open'); }; Select2.prototype.hasFocus = function () { return this.$container.hasClass('select2-container--focus'); }; Select2.prototype.focus = function (data) { // No need to re-trigger focus events if we are already focused if (this.hasFocus()) { return; } this.$container.addClass('select2-container--focus'); this.trigger('focus', {}); }; Select2.prototype.enable = function (args) { if (this.options.get('debug') && window.console && console.warn) { console.warn( 'Select2: The `select2("enable")` method has been deprecated and will' + ' be removed in later Select2 versions. Use $element.prop("disabled")' + ' instead.' ); } if (args == null || args.length === 0) { args = [true]; } var disabled = !args[0]; this.$element.prop('disabled', disabled); }; Select2.prototype.data = function () { if (this.options.get('debug') && arguments.length > 0 && window.console && console.warn) { console.warn( 'Select2: Data can no longer be set using `select2("data")`. You ' + 'should consider setting the value instead using `$element.val()`.' ); } var data = []; this.dataAdapter.current(function (currentData) { data = currentData; }); return data; }; Select2.prototype.val = function (args) { if (this.options.get('debug') && window.console && console.warn) { console.warn( 'Select2: The `select2("val")` method has been deprecated and will be' + ' removed in later Select2 versions. Use $element.val() instead.' ); } if (args == null || args.length === 0) { return this.$element.val(); } var newVal = args[0]; if ($.isArray(newVal)) { newVal = $.map(newVal, function (obj) { return obj.toString(); }); } this.$element.val(newVal).trigger('change'); }; Select2.prototype.destroy = function () { this.$container.remove(); if (this.$element[0].detachEvent) { this.$element[0].detachEvent('onpropertychange', this._syncA); } if (this._observer != null) { this._observer.disconnect(); this._observer = null; } else if (this.$element[0].removeEventListener) { this.$element[0] .removeEventListener('DOMAttrModified', this._syncA, false); this.$element[0] .removeEventListener('DOMNodeInserted', this._syncS, false); this.$element[0] .removeEventListener('DOMNodeRemoved', this._syncS, false); } this._syncA = null; this._syncS = null; this.$element.off('.select2'); this.$element.attr('tabindex', Utils.GetData(this.$element[0], 'old-tabindex')); this.$element.removeClass('select2-hidden-accessible'); this.$element.attr('aria-hidden', 'false'); Utils.RemoveData(this.$element[0]); this.$element.removeData('select2'); this.dataAdapter.destroy(); this.selection.destroy(); this.dropdown.destroy(); this.results.destroy(); this.dataAdapter = null; this.selection = null; this.dropdown = null; this.results = null; }; Select2.prototype.render = function () { var $container = $( '<span class="select2 select2-container">' + '<span class="selection"></span>' + '<span class="dropdown-wrapper" aria-hidden="true"></span>' + '</span>' ); $container.attr('dir', this.options.get('dir')); this.$container = $container; this.$container.addClass('select2-container--' + this.options.get('theme')); Utils.StoreData($container[0], 'element', this.$element); return $container; }; return Select2; }); S2.define('select2/compat/utils',[ 'jquery' ], function ($) { function syncCssClasses ($dest, $src, adapter) { var classes, replacements = [], adapted; classes = $.trim($dest.attr('class')); if (classes) { classes = '' + classes; // for IE which returns object $(classes.split(/\s+/)).each(function () { // Save all Select2 classes if (this.indexOf('select2-') === 0) { replacements.push(this); } }); } classes = $.trim($src.attr('class')); if (classes) { classes = '' + classes; // for IE which returns object $(classes.split(/\s+/)).each(function () { // Only adapt non-Select2 classes if (this.indexOf('select2-') !== 0) { adapted = adapter(this); if (adapted != null) { replacements.push(adapted); } } }); } $dest.attr('class', replacements.join(' ')); } return { syncCssClasses: syncCssClasses }; }); S2.define('select2/compat/containerCss',[ 'jquery', './utils' ], function ($, CompatUtils) { // No-op CSS adapter that discards all classes by default function _containerAdapter (clazz) { return null; } function ContainerCSS () { } ContainerCSS.prototype.render = function (decorated) { var $container = decorated.call(this); var containerCssClass = this.options.get('containerCssClass') || ''; if ($.isFunction(containerCssClass)) { containerCssClass = containerCssClass(this.$element); } var containerCssAdapter = this.options.get('adaptContainerCssClass'); containerCssAdapter = containerCssAdapter || _containerAdapter; if (containerCssClass.indexOf(':all:') !== -1) { containerCssClass = containerCssClass.replace(':all:', ''); var _cssAdapter = containerCssAdapter; containerCssAdapter = function (clazz) { var adapted = _cssAdapter(clazz); if (adapted != null) { // Append the old one along with the adapted one return adapted + ' ' + clazz; } return clazz; }; } var containerCss = this.options.get('containerCss') || {}; if ($.isFunction(containerCss)) { containerCss = containerCss(this.$element); } CompatUtils.syncCssClasses($container, this.$element, containerCssAdapter); $container.css(containerCss); $container.addClass(containerCssClass); return $container; }; return ContainerCSS; }); S2.define('select2/compat/dropdownCss',[ 'jquery', './utils' ], function ($, CompatUtils) { // No-op CSS adapter that discards all classes by default function _dropdownAdapter (clazz) { return null; } function DropdownCSS () { } DropdownCSS.prototype.render = function (decorated) { var $dropdown = decorated.call(this); var dropdownCssClass = this.options.get('dropdownCssClass') || ''; if ($.isFunction(dropdownCssClass)) { dropdownCssClass = dropdownCssClass(this.$element); } var dropdownCssAdapter = this.options.get('adaptDropdownCssClass'); dropdownCssAdapter = dropdownCssAdapter || _dropdownAdapter; if (dropdownCssClass.indexOf(':all:') !== -1) { dropdownCssClass = dropdownCssClass.replace(':all:', ''); var _cssAdapter = dropdownCssAdapter; dropdownCssAdapter = function (clazz) { var adapted = _cssAdapter(clazz); if (adapted != null) { // Append the old one along with the adapted one return adapted + ' ' + clazz; } return clazz; }; } var dropdownCss = this.options.get('dropdownCss') || {}; if ($.isFunction(dropdownCss)) { dropdownCss = dropdownCss(this.$element); } CompatUtils.syncCssClasses($dropdown, this.$element, dropdownCssAdapter); $dropdown.css(dropdownCss); $dropdown.addClass(dropdownCssClass); return $dropdown; }; return DropdownCSS; }); S2.define('select2/compat/initSelection',[ 'jquery' ], function ($) { function InitSelection (decorated, $element, options) { if (options.get('debug') && window.console && console.warn) { console.warn( 'Select2: The `initSelection` option has been deprecated in favor' + ' of a custom data adapter that overrides the `current` method. ' + 'This method is now called multiple times instead of a single ' + 'time when the instance is initialized. Support will be removed ' + 'for the `initSelection` option in future versions of Select2' ); } this.initSelection = options.get('initSelection'); this._isInitialized = false; decorated.call(this, $element, options); } InitSelection.prototype.current = function (decorated, callback) { var self = this; if (this._isInitialized) { decorated.call(this, callback); return; } this.initSelection.call(null, this.$element, function (data) { self._isInitialized = true; if (!$.isArray(data)) { data = [data]; } callback(data); }); }; return InitSelection; }); S2.define('select2/compat/inputData',[ 'jquery', '../utils' ], function ($, Utils) { function InputData (decorated, $element, options) { this._currentData = []; this._valueSeparator = options.get('valueSeparator') || ','; if ($element.prop('type') === 'hidden') { if (options.get('debug') && console && console.warn) { console.warn( 'Select2: Using a hidden input with Select2 is no longer ' + 'supported and may stop working in the future. It is recommended ' + 'to use a `<select>` element instead.' ); } } decorated.call(this, $element, options); } InputData.prototype.current = function (_, callback) { function getSelected (data, selectedIds) { var selected = []; if (data.selected || $.inArray(data.id, selectedIds) !== -1) { data.selected = true; selected.push(data); } else { data.selected = false; } if (data.children) { selected.push.apply(selected, getSelected(data.children, selectedIds)); } return selected; } var selected = []; for (var d = 0; d < this._currentData.length; d++) { var data = this._currentData[d]; selected.push.apply( selected, getSelected( data, this.$element.val().split( this._valueSeparator ) ) ); } callback(selected); }; InputData.prototype.select = function (_, data) { if (!this.options.get('multiple')) { this.current(function (allData) { $.map(allData, function (data) { data.selected = false; }); }); this.$element.val(data.id); this.$element.trigger('change'); } else { var value = this.$element.val(); value += this._valueSeparator + data.id; this.$element.val(value); this.$element.trigger('change'); } }; InputData.prototype.unselect = function (_, data) { var self = this; data.selected = false; this.current(function (allData) { var values = []; for (var d = 0; d < allData.length; d++) { var item = allData[d]; if (data.id == item.id) { continue; } values.push(item.id); } self.$element.val(values.join(self._valueSeparator)); self.$element.trigger('change'); }); }; InputData.prototype.query = function (_, params, callback) { var results = []; for (var d = 0; d < this._currentData.length; d++) { var data = this._currentData[d]; var matches = this.matches(params, data); if (matches !== null) { results.push(matches); } } callback({ results: results }); }; InputData.prototype.addOptions = function (_, $options) { var options = $.map($options, function ($option) { return Utils.GetData($option[0], 'data'); }); this._currentData.push.apply(this._currentData, options); }; return InputData; }); S2.define('select2/compat/matcher',[ 'jquery' ], function ($) { function oldMatcher (matcher) { function wrappedMatcher (params, data) { var match = $.extend(true, {}, data); if (params.term == null || $.trim(params.term) === '') { return match; } if (data.children) { for (var c = data.children.length - 1; c >= 0; c--) { var child = data.children[c]; // Check if the child object matches // The old matcher returned a boolean true or false var doesMatch = matcher(params.term, child.text, child); // If the child didn't match, pop it off if (!doesMatch) { match.children.splice(c, 1); } } if (match.children.length > 0) { return match; } } if (matcher(params.term, data.text, data)) { return match; } return null; } return wrappedMatcher; } return oldMatcher; }); S2.define('select2/compat/query',[ ], function () { function Query (decorated, $element, options) { if (options.get('debug') && window.console && console.warn) { console.warn( 'Select2: The `query` option has been deprecated in favor of a ' + 'custom data adapter that overrides the `query` method. Support ' + 'will be removed for the `query` option in future versions of ' + 'Select2.' ); } decorated.call(this, $element, options); } Query.prototype.query = function (_, params, callback) { params.callback = callback; var query = this.options.get('query'); query.call(null, params); }; return Query; }); S2.define('select2/dropdown/attachContainer',[ ], function () { function AttachContainer (decorated, $element, options) { decorated.call(this, $element, options); } AttachContainer.prototype.position = function (decorated, $dropdown, $container) { var $dropdownContainer = $container.find('.dropdown-wrapper'); $dropdownContainer.append($dropdown); $dropdown.addClass('select2-dropdown--below'); $container.addClass('select2-container--below'); }; return AttachContainer; }); S2.define('select2/dropdown/stopPropagation',[ ], function () { function StopPropagation () { } StopPropagation.prototype.bind = function (decorated, container, $container) { decorated.call(this, container, $container); var stoppedEvents = [ 'blur', 'change', 'click', 'dblclick', 'focus', 'focusin', 'focusout', 'input', 'keydown', 'keyup', 'keypress', 'mousedown', 'mouseenter', 'mouseleave', 'mousemove', 'mouseover', 'mouseup', 'search', 'touchend', 'touchstart' ]; this.$dropdown.on(stoppedEvents.join(' '), function (evt) { evt.stopPropagation(); }); }; return StopPropagation; }); S2.define('select2/selection/stopPropagation',[ ], function () { function StopPropagation () { } StopPropagation.prototype.bind = function (decorated, container, $container) { decorated.call(this, container, $container); var stoppedEvents = [ 'blur', 'change', 'click', 'dblclick', 'focus', 'focusin', 'focusout', 'input', 'keydown', 'keyup', 'keypress', 'mousedown', 'mouseenter', 'mouseleave', 'mousemove', 'mouseover', 'mouseup', 'search', 'touchend', 'touchstart' ]; this.$selection.on(stoppedEvents.join(' '), function (evt) { evt.stopPropagation(); }); }; return StopPropagation; }); /*! * jQuery Mousewheel 3.1.13 * * Copyright jQuery Foundation and other contributors * Released under the MIT license * http://jquery.org/license */ (function (factory) { if ( typeof S2.define === 'function' && S2.define.amd ) { // AMD. Register as an anonymous module. S2.define('jquery-mousewheel',['jquery'], factory); } else if (typeof exports === 'object') { // Node/CommonJS style for Browserify module.exports = factory; } else { // Browser globals factory(jQuery); } }(function ($) { var toFix = ['wheel', 'mousewheel', 'DOMMouseScroll', 'MozMousePixelScroll'], toBind = ( 'onwheel' in document || document.documentMode >= 9 ) ? ['wheel'] : ['mousewheel', 'DomMouseScroll', 'MozMousePixelScroll'], slice = Array.prototype.slice, nullLowestDeltaTimeout, lowestDelta; if ( $.event.fixHooks ) { for ( var i = toFix.length; i; ) { $.event.fixHooks[ toFix[--i] ] = $.event.mouseHooks; } } var special = $.event.special.mousewheel = { version: '3.1.12', setup: function() { if ( this.addEventListener ) { for ( var i = toBind.length; i; ) { this.addEventListener( toBind[--i], handler, false ); } } else { this.onmousewheel = handler; } // Store the line height and page height for this particular element $.data(this, 'mousewheel-line-height', special.getLineHeight(this)); $.data(this, 'mousewheel-page-height', special.getPageHeight(this)); }, teardown: function() { if ( this.removeEventListener ) { for ( var i = toBind.length; i; ) { this.removeEventListener( toBind[--i], handler, false ); } } else { this.onmousewheel = null; } // Clean up the data we added to the element $.removeData(this, 'mousewheel-line-height'); $.removeData(this, 'mousewheel-page-height'); }, getLineHeight: function(elem) { var $elem = $(elem), $parent = $elem['offsetParent' in $.fn ? 'offsetParent' : 'parent'](); if (!$parent.length) { $parent = $('body'); } return parseInt($parent.css('fontSize'), 10) || parseInt($elem.css('fontSize'), 10) || 16; }, getPageHeight: function(elem) { return $(elem).height(); }, settings: { adjustOldDeltas: true, // see shouldAdjustOldDeltas() below normalizeOffset: true // calls getBoundingClientRect for each event } }; $.fn.extend({ mousewheel: function(fn) { return fn ? this.bind('mousewheel', fn) : this.trigger('mousewheel'); }, unmousewheel: function(fn) { return this.unbind('mousewheel', fn); } }); function handler(event) { var orgEvent = event || window.event, args = slice.call(arguments, 1), delta = 0, deltaX = 0, deltaY = 0, absDelta = 0, offsetX = 0, offsetY = 0; event = $.event.fix(orgEvent); event.type = 'mousewheel'; // Old school scrollwheel delta if ( 'detail' in orgEvent ) { deltaY = orgEvent.detail * -1; } if ( 'wheelDelta' in orgEvent ) { deltaY = orgEvent.wheelDelta; } if ( 'wheelDeltaY' in orgEvent ) { deltaY = orgEvent.wheelDeltaY; } if ( 'wheelDeltaX' in orgEvent ) { deltaX = orgEvent.wheelDeltaX * -1; } // Firefox < 17 horizontal scrolling related to DOMMouseScroll event if ( 'axis' in orgEvent && orgEvent.axis === orgEvent.HORIZONTAL_AXIS ) { deltaX = deltaY * -1; deltaY = 0; } // Set delta to be deltaY or deltaX if deltaY is 0 for backwards compatabilitiy delta = deltaY === 0 ? deltaX : deltaY; // New school wheel delta (wheel event) if ( 'deltaY' in orgEvent ) { deltaY = orgEvent.deltaY * -1; delta = deltaY; } if ( 'deltaX' in orgEvent ) { deltaX = orgEvent.deltaX; if ( deltaY === 0 ) { delta = deltaX * -1; } } // No change actually happened, no reason to go any further if ( deltaY === 0 && deltaX === 0 ) { return; } // Need to convert lines and pages to pixels if we aren't already in pixels // There are three delta modes: // * deltaMode 0 is by pixels, nothing to do // * deltaMode 1 is by lines // * deltaMode 2 is by pages if ( orgEvent.deltaMode === 1 ) { var lineHeight = $.data(this, 'mousewheel-line-height'); delta *= lineHeight; deltaY *= lineHeight; deltaX *= lineHeight; } else if ( orgEvent.deltaMode === 2 ) { var pageHeight = $.data(this, 'mousewheel-page-height'); delta *= pageHeight; deltaY *= pageHeight; deltaX *= pageHeight; } // Store lowest absolute delta to normalize the delta values absDelta = Math.max( Math.abs(deltaY), Math.abs(deltaX) ); if ( !lowestDelta || absDelta < lowestDelta ) { lowestDelta = absDelta; // Adjust older deltas if necessary if ( shouldAdjustOldDeltas(orgEvent, absDelta) ) { lowestDelta /= 40; } } // Adjust older deltas if necessary if ( shouldAdjustOldDeltas(orgEvent, absDelta) ) { // Divide all the things by 40! delta /= 40; deltaX /= 40; deltaY /= 40; } // Get a whole, normalized value for the deltas delta = Math[ delta >= 1 ? 'floor' : 'ceil' ](delta / lowestDelta); deltaX = Math[ deltaX >= 1 ? 'floor' : 'ceil' ](deltaX / lowestDelta); deltaY = Math[ deltaY >= 1 ? 'floor' : 'ceil' ](deltaY / lowestDelta); // Normalise offsetX and offsetY properties if ( special.settings.normalizeOffset && this.getBoundingClientRect ) { var boundingRect = this.getBoundingClientRect(); offsetX = event.clientX - boundingRect.left; offsetY = event.clientY - boundingRect.top; } // Add information to the event object event.deltaX = deltaX; event.deltaY = deltaY; event.deltaFactor = lowestDelta; event.offsetX = offsetX; event.offsetY = offsetY; // Go ahead and set deltaMode to 0 since we converted to pixels // Although this is a little odd since we overwrite the deltaX/Y // properties with normalized deltas. event.deltaMode = 0; // Add event and delta to the front of the arguments args.unshift(event, delta, deltaX, deltaY); // Clearout lowestDelta after sometime to better // handle multiple device types that give different // a different lowestDelta // Ex: trackpad = 3 and mouse wheel = 120 if (nullLowestDeltaTimeout) { clearTimeout(nullLowestDeltaTimeout); } nullLowestDeltaTimeout = setTimeout(nullLowestDelta, 200); return ($.event.dispatch || $.event.handle).apply(this, args); } function nullLowestDelta() { lowestDelta = null; } function shouldAdjustOldDeltas(orgEvent, absDelta) { // If this is an older event and the delta is divisable by 120, // then we are assuming that the browser is treating this as an // older mouse wheel event and that we should divide the deltas // by 40 to try and get a more usable deltaFactor. // Side note, this actually impacts the reported scroll distance // in older browsers and can cause scrolling to be slower than native. // Turn this off by setting $.event.special.mousewheel.settings.adjustOldDeltas to false. return special.settings.adjustOldDeltas && orgEvent.type === 'mousewheel' && absDelta % 120 === 0; } })); S2.define('jquery.select2',[ 'jquery', 'jquery-mousewheel', './select2/core', './select2/defaults', './select2/utils' ], function ($, _, Select2, Defaults, Utils) { if ($.fn.select2 == null) { // All methods that should return the element var thisMethods = ['open', 'close', 'destroy']; $.fn.select2 = function (options) { options = options || {}; if (typeof options === 'object') { this.each(function () { var instanceOptions = $.extend(true, {}, options); var instance = new Select2($(this), instanceOptions); }); return this; } else if (typeof options === 'string') { var ret; var args = Array.prototype.slice.call(arguments, 1); this.each(function () { var instance = Utils.GetData(this, 'select2'); if (instance == null && window.console && console.error) { console.error( 'The select2(\'' + options + '\') method was called on an ' + 'element that is not using Select2.' ); } ret = instance[options].apply(instance, args); }); // Check if we should be returning `this` if ($.inArray(options, thisMethods) > -1) { return this; } return ret; } else { throw new Error('Invalid arguments for Select2: ' + options); } }; } if ($.fn.select2.defaults == null) { $.fn.select2.defaults = Defaults; } return Select2; }); // Return the AMD loader configuration so it can be used outside of this file return { define: S2.define, require: S2.require }; }()); // Autoload the jQuery bindings // We know that all of the modules exist above this, so we're safe var select2 = S2.require('jquery.select2'); // Hold the AMD module references on the jQuery function that was just loaded // This allows Select2 to use the internal loader outside of this file, such // as in the language files. jQuery.fn.select2.amd = S2; // Return the Select2 instance for anyone who is importing it. return select2; })); PK�}�\2ǧ��F�Fcss/select2.cssnu�[���.select2-container { box-sizing: border-box; display: inline-block; margin: 0; position: relative; vertical-align: middle; } .select2-container .select2-selection--single { box-sizing: border-box; cursor: pointer; display: block; height: 28px; user-select: none; -webkit-user-select: none; } .select2-container .select2-selection--single .select2-selection__rendered { display: block; padding-left: 8px; padding-right: 20px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .select2-container .select2-selection--single .select2-selection__clear { position: relative; } .select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered { padding-right: 8px; padding-left: 20px; } .select2-container .select2-selection--multiple { box-sizing: border-box; cursor: pointer; display: block; min-height: 32px; user-select: none; -webkit-user-select: none; } .select2-container .select2-selection--multiple .select2-selection__rendered { display: inline-block; overflow: hidden; padding-left: 8px; text-overflow: ellipsis; white-space: nowrap; } .select2-container .select2-search--inline { float: left; } .select2-container .select2-search--inline .select2-search__field { box-sizing: border-box; border: none; font-size: 100%; margin-top: 5px; padding: 0; } .select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button { -webkit-appearance: none; } .select2-dropdown { background-color: white; border: 1px solid #aaa; border-radius: 4px; box-sizing: border-box; display: block; position: absolute; left: -100000px; width: 100%; z-index: 1051; } .select2-results { display: block; } .select2-results__options { list-style: none; margin: 0; padding: 0; } .select2-results__option { padding: 6px; user-select: none; -webkit-user-select: none; } .select2-results__option[aria-selected] { cursor: pointer; } .select2-container--open .select2-dropdown { left: 0; } .select2-container--open .select2-dropdown--above { border-bottom: none; border-bottom-left-radius: 0; border-bottom-right-radius: 0; } .select2-container--open .select2-dropdown--below { border-top: none; border-top-left-radius: 0; border-top-right-radius: 0; } .select2-search--dropdown { display: block; padding: 4px; } .select2-search--dropdown .select2-search__field { padding: 4px; width: 100%; box-sizing: border-box; } .select2-search--dropdown .select2-search__field::-webkit-search-cancel-button { -webkit-appearance: none; } .select2-search--dropdown.select2-search--hide { display: none; } .select2-close-mask { border: 0; margin: 0; padding: 0; display: block; position: fixed; left: 0; top: 0; min-height: 100%; min-width: 100%; height: auto; width: auto; opacity: 0; z-index: 99; background-color: #fff; filter: alpha(opacity=0); } .select2-hidden-accessible { border: 0 !important; clip: rect(0 0 0 0) !important; -webkit-clip-path: inset(50%) !important; clip-path: inset(50%) !important; height: 1px !important; overflow: hidden !important; padding: 0 !important; position: absolute !important; width: 1px !important; white-space: nowrap !important; } .select2-container--default .select2-selection--single { background-color: #fff; border: 1px solid #aaa; border-radius: 4px; } .select2-container--default .select2-selection--single .select2-selection__rendered { color: #444; line-height: 28px; } .select2-container--default .select2-selection--single .select2-selection__clear { cursor: pointer; float: right; font-weight: bold; } .select2-container--default .select2-selection--single .select2-selection__placeholder { color: #999; } .select2-container--default .select2-selection--single .select2-selection__arrow { height: 26px; position: absolute; top: 1px; right: 1px; width: 20px; } .select2-container--default .select2-selection--single .select2-selection__arrow b { border-color: #888 transparent transparent transparent; border-style: solid; border-width: 5px 4px 0 4px; height: 0; left: 50%; margin-left: -4px; margin-top: -2px; position: absolute; top: 50%; width: 0; } .select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear { float: left; } .select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow { left: 1px; right: auto; } .select2-container--default.select2-container--disabled .select2-selection--single { background-color: #eee; cursor: default; } .select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear { display: none; } .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b { border-color: transparent transparent #888 transparent; border-width: 0 4px 5px 4px; } .select2-container--default .select2-selection--multiple { background-color: white; border: 1px solid #aaa; border-radius: 4px; cursor: text; } .select2-container--default .select2-selection--multiple .select2-selection__rendered { box-sizing: border-box; list-style: none; margin: 0; padding: 0 5px; width: 100%; } .select2-container--default .select2-selection--multiple .select2-selection__rendered li { list-style: none; } .select2-container--default .select2-selection--multiple .select2-selection__placeholder { color: #999; margin-top: 5px; float: left; } .select2-container--default .select2-selection--multiple .select2-selection__clear { cursor: pointer; float: right; font-weight: bold; margin-top: 5px; margin-right: 10px; } .select2-container--default .select2-selection--multiple .select2-selection__choice { background-color: #e4e4e4; border: 1px solid #aaa; border-radius: 4px; cursor: default; float: left; margin-right: 5px; margin-top: 5px; padding: 0 5px; } .select2-container--default .select2-selection--multiple .select2-selection__choice__remove { color: #999; cursor: pointer; display: inline-block; font-weight: bold; margin-right: 2px; } .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover { color: #333; } .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline { float: right; } .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice { margin-left: 5px; margin-right: auto; } .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove { margin-left: 2px; margin-right: auto; } .select2-container--default.select2-container--focus .select2-selection--multiple { border: solid black 1px; outline: 0; } .select2-container--default.select2-container--disabled .select2-selection--multiple { background-color: #eee; cursor: default; } .select2-container--default.select2-container--disabled .select2-selection__choice__remove { display: none; } .select2-container--default.select2-container--open.select2-container--above .select2-selection--single, .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple { border-top-left-radius: 0; border-top-right-radius: 0; } .select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple { border-bottom-left-radius: 0; border-bottom-right-radius: 0; } .select2-container--default .select2-search--dropdown .select2-search__field { border: 1px solid #aaa; } .select2-container--default .select2-search--inline .select2-search__field { background: transparent; border: none; outline: 0; box-shadow: none; -webkit-appearance: textfield; } .select2-container--default .select2-results > .select2-results__options { max-height: 200px; overflow-y: auto; } .select2-container--default .select2-results__option[role=group] { padding: 0; } .select2-container--default .select2-results__option[aria-disabled=true] { color: #999; } .select2-container--default .select2-results__option[aria-selected=true] { background-color: #ddd; } .select2-container--default .select2-results__option .select2-results__option { padding-left: 1em; } .select2-container--default .select2-results__option .select2-results__option .select2-results__group { padding-left: 0; } .select2-container--default .select2-results__option .select2-results__option .select2-results__option { margin-left: -1em; padding-left: 2em; } .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option { margin-left: -2em; padding-left: 3em; } .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { margin-left: -3em; padding-left: 4em; } .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { margin-left: -4em; padding-left: 5em; } .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { margin-left: -5em; padding-left: 6em; } .select2-container--default .select2-results__option--highlighted[aria-selected] { background-color: #5897fb; color: white; } .select2-container--default .select2-results__group { cursor: default; display: block; padding: 6px; } .select2-container--classic .select2-selection--single { background-color: #f7f7f7; border: 1px solid #aaa; border-radius: 4px; outline: 0; background-image: -webkit-linear-gradient(top, white 50%, #eeeeee 100%); background-image: -o-linear-gradient(top, white 50%, #eeeeee 100%); background-image: linear-gradient(to bottom, white 50%, #eeeeee 100%); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); } .select2-container--classic .select2-selection--single:focus { border: 1px solid #5897fb; } .select2-container--classic .select2-selection--single .select2-selection__rendered { color: #444; line-height: 28px; } .select2-container--classic .select2-selection--single .select2-selection__clear { cursor: pointer; float: right; font-weight: bold; margin-right: 10px; } .select2-container--classic .select2-selection--single .select2-selection__placeholder { color: #999; } .select2-container--classic .select2-selection--single .select2-selection__arrow { background-color: #ddd; border: none; border-left: 1px solid #aaa; border-top-right-radius: 4px; border-bottom-right-radius: 4px; height: 26px; position: absolute; top: 1px; right: 1px; width: 20px; background-image: -webkit-linear-gradient(top, #eeeeee 50%, #cccccc 100%); background-image: -o-linear-gradient(top, #eeeeee 50%, #cccccc 100%); background-image: linear-gradient(to bottom, #eeeeee 50%, #cccccc 100%); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0); } .select2-container--classic .select2-selection--single .select2-selection__arrow b { border-color: #888 transparent transparent transparent; border-style: solid; border-width: 5px 4px 0 4px; height: 0; left: 50%; margin-left: -4px; margin-top: -2px; position: absolute; top: 50%; width: 0; } .select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear { float: left; } .select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow { border: none; border-right: 1px solid #aaa; border-radius: 0; border-top-left-radius: 4px; border-bottom-left-radius: 4px; left: 1px; right: auto; } .select2-container--classic.select2-container--open .select2-selection--single { border: 1px solid #5897fb; } .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow { background: transparent; border: none; } .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b { border-color: transparent transparent #888 transparent; border-width: 0 4px 5px 4px; } .select2-container--classic.select2-container--open.select2-container--above .select2-selection--single { border-top: none; border-top-left-radius: 0; border-top-right-radius: 0; background-image: -webkit-linear-gradient(top, white 0%, #eeeeee 50%); background-image: -o-linear-gradient(top, white 0%, #eeeeee 50%); background-image: linear-gradient(to bottom, white 0%, #eeeeee 50%); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); } .select2-container--classic.select2-container--open.select2-container--below .select2-selection--single { border-bottom: none; border-bottom-left-radius: 0; border-bottom-right-radius: 0; background-image: -webkit-linear-gradient(top, #eeeeee 50%, white 100%); background-image: -o-linear-gradient(top, #eeeeee 50%, white 100%); background-image: linear-gradient(to bottom, #eeeeee 50%, white 100%); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0); } .select2-container--classic .select2-selection--multiple { background-color: white; border: 1px solid #aaa; border-radius: 4px; cursor: text; outline: 0; } .select2-container--classic .select2-selection--multiple:focus { border: 1px solid #5897fb; } .select2-container--classic .select2-selection--multiple .select2-selection__rendered { list-style: none; margin: 0; padding: 0 5px; } .select2-container--classic .select2-selection--multiple .select2-selection__clear { display: none; } .select2-container--classic .select2-selection--multiple .select2-selection__choice { background-color: #e4e4e4; border: 1px solid #aaa; border-radius: 4px; cursor: default; float: left; margin-right: 5px; margin-top: 5px; padding: 0 5px; } .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove { color: #888; cursor: pointer; display: inline-block; font-weight: bold; margin-right: 2px; } .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover { color: #555; } .select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice { float: right; margin-left: 5px; margin-right: auto; } .select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove { margin-left: 2px; margin-right: auto; } .select2-container--classic.select2-container--open .select2-selection--multiple { border: 1px solid #5897fb; } .select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple { border-top: none; border-top-left-radius: 0; border-top-right-radius: 0; } .select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple { border-bottom: none; border-bottom-left-radius: 0; border-bottom-right-radius: 0; } .select2-container--classic .select2-search--dropdown .select2-search__field { border: 1px solid #aaa; outline: 0; } .select2-container--classic .select2-search--inline .select2-search__field { outline: 0; box-shadow: none; } .select2-container--classic .select2-dropdown { background-color: white; border: 1px solid transparent; } .select2-container--classic .select2-dropdown--above { border-bottom: none; } .select2-container--classic .select2-dropdown--below { border-top: none; } .select2-container--classic .select2-results > .select2-results__options { max-height: 200px; overflow-y: auto; } .select2-container--classic .select2-results__option[role=group] { padding: 0; } .select2-container--classic .select2-results__option[aria-disabled=true] { color: grey; } .select2-container--classic .select2-results__option--highlighted[aria-selected] { background-color: #3875d7; color: white; } .select2-container--classic .select2-results__group { cursor: default; display: block; padding: 6px; } .select2-container--classic.select2-container--open .select2-dropdown { border-color: #5897fb; } PK�}�\��oJM;M;css/select2.min.cssnu�[���.select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:white;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;user-select:none;-webkit-user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff;filter:alpha(opacity=0)}.select2-hidden-accessible{border:0 !important;clip:rect(0 0 0 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;height:1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important;white-space:nowrap !important}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--default .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__placeholder{color:#999;margin-top:5px;float:left}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-top:5px;margin-right:10px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice,.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder,.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline{float:right}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--default.select2-container--focus .select2-selection--multiple{border:solid black 1px;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--single,.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--single,.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{background:transparent;border:none;outline:0;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:white}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic .select2-selection--single{background-color:#f7f7f7;border:1px solid #aaa;border-radius:4px;outline:0;background-image:-webkit-linear-gradient(top, #fff 50%, #eee 100%);background-image:-o-linear-gradient(top, #fff 50%, #eee 100%);background-image:linear-gradient(to bottom, #fff 50%, #eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic .select2-selection--single:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--classic .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-right:10px}.select2-container--classic .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--classic .select2-selection--single .select2-selection__arrow{background-color:#ddd;border:none;border-left:1px solid #aaa;border-top-right-radius:4px;border-bottom-right-radius:4px;height:26px;position:absolute;top:1px;right:1px;width:20px;background-image:-webkit-linear-gradient(top, #eee 50%, #ccc 100%);background-image:-o-linear-gradient(top, #eee 50%, #ccc 100%);background-image:linear-gradient(to bottom, #eee 50%, #ccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0)}.select2-container--classic .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow{border:none;border-right:1px solid #aaa;border-radius:0;border-top-left-radius:4px;border-bottom-left-radius:4px;left:1px;right:auto}.select2-container--classic.select2-container--open .select2-selection--single{border:1px solid #5897fb}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow{background:transparent;border:none}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{border-top:none;border-top-left-radius:0;border-top-right-radius:0;background-image:-webkit-linear-gradient(top, #fff 0%, #eee 50%);background-image:-o-linear-gradient(top, #fff 0%, #eee 50%);background-image:linear-gradient(to bottom, #fff 0%, #eee 50%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;background-image:-webkit-linear-gradient(top, #eee 50%, #fff 100%);background-image:-o-linear-gradient(top, #eee 50%, #fff 100%);background-image:linear-gradient(to bottom, #eee 50%, #fff 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0)}.select2-container--classic .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text;outline:0}.select2-container--classic .select2-selection--multiple:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--multiple .select2-selection__rendered{list-style:none;margin:0;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__clear{display:none}.select2-container--classic .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove{color:#888;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover{color:#555}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice{float:right;margin-left:5px;margin-right:auto}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #5897fb}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #aaa;outline:0}.select2-container--classic .select2-search--inline .select2-search__field{outline:0;box-shadow:none}.select2-container--classic .select2-dropdown{background-color:#fff;border:1px solid transparent}.select2-container--classic .select2-dropdown--above{border-bottom:none}.select2-container--classic .select2-dropdown--below{border-top:none}.select2-container--classic .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--classic .select2-results__option[role=group]{padding:0}.select2-container--classic .select2-results__option[aria-disabled=true]{color:grey}.select2-container--classic .select2-results__option--highlighted[aria-selected]{background-color:#3875d7;color:#fff}.select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic.select2-container--open .select2-dropdown{border-color:#5897fb} PK�}�\O|�*��src/promisify.js.mapnu�[���{"version":3,"file":"promisify.js","sourceRoot":"","sources":["../../src/promisify.ts"],"names":[],"mappings":";;AAeA,SAAwB,SAAS,CAAC,EAAkB;IACnD,OAAO,UAAsB,GAAkB,EAAE,IAAoB;QACpE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACtC,EAAE,CAAC,IAAI,CACN,IAAI,EACJ,GAAG,EACH,IAAI,EACJ,CAAC,GAA6B,EAAE,GAAyB,EAAE,EAAE;gBAC5D,IAAI,GAAG,EAAE;oBACR,MAAM,CAAC,GAAG,CAAC,CAAC;iBACZ;qBAAM;oBACN,OAAO,CAAC,GAAG,CAAC,CAAC;iBACb;YACF,CAAC,CACD,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC;AACH,CAAC;AAjBD,4BAiBC"}PK�}�\\�D"��src/index.jsnu�[���"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; const events_1 = require("events"); const debug_1 = __importDefault(require("debug")); const promisify_1 = __importDefault(require("./promisify")); const debug = debug_1.default('agent-base'); function isAgent(v) { return Boolean(v) && typeof v.addRequest === 'function'; } function isSecureEndpoint() { const { stack } = new Error(); if (typeof stack !== 'string') return false; return stack.split('\n').some(l => l.indexOf('(https.js:') !== -1 || l.indexOf('node:https:') !== -1); } function createAgent(callback, opts) { return new createAgent.Agent(callback, opts); } (function (createAgent) { /** * Base `http.Agent` implementation. * No pooling/keep-alive is implemented by default. * * @param {Function} callback * @api public */ class Agent extends events_1.EventEmitter { constructor(callback, _opts) { super(); let opts = _opts; if (typeof callback === 'function') { this.callback = callback; } else if (callback) { opts = callback; } // Timeout for the socket to be returned from the callback this.timeout = null; if (opts && typeof opts.timeout === 'number') { this.timeout = opts.timeout; } // These aren't actually used by `agent-base`, but are required // for the TypeScript definition files in `@types/node` :/ this.maxFreeSockets = 1; this.maxSockets = 1; this.maxTotalSockets = Infinity; this.sockets = {}; this.freeSockets = {}; this.requests = {}; this.options = {}; } get defaultPort() { if (typeof this.explicitDefaultPort === 'number') { return this.explicitDefaultPort; } return isSecureEndpoint() ? 443 : 80; } set defaultPort(v) { this.explicitDefaultPort = v; } get protocol() { if (typeof this.explicitProtocol === 'string') { return this.explicitProtocol; } return isSecureEndpoint() ? 'https:' : 'http:'; } set protocol(v) { this.explicitProtocol = v; } callback(req, opts, fn) { throw new Error('"agent-base" has no default implementation, you must subclass and override `callback()`'); } /** * Called by node-core's "_http_client.js" module when creating * a new HTTP request with this Agent instance. * * @api public */ addRequest(req, _opts) { const opts = Object.assign({}, _opts); if (typeof opts.secureEndpoint !== 'boolean') { opts.secureEndpoint = isSecureEndpoint(); } if (opts.host == null) { opts.host = 'localhost'; } if (opts.port == null) { opts.port = opts.secureEndpoint ? 443 : 80; } if (opts.protocol == null) { opts.protocol = opts.secureEndpoint ? 'https:' : 'http:'; } if (opts.host && opts.path) { // If both a `host` and `path` are specified then it's most // likely the result of a `url.parse()` call... we need to // remove the `path` portion so that `net.connect()` doesn't // attempt to open that as a unix socket file. delete opts.path; } delete opts.agent; delete opts.hostname; delete opts._defaultAgent; delete opts.defaultPort; delete opts.createConnection; // Hint to use "Connection: close" // XXX: non-documented `http` module API :( req._last = true; req.shouldKeepAlive = false; let timedOut = false; let timeoutId = null; const timeoutMs = opts.timeout || this.timeout; const onerror = (err) => { if (req._hadError) return; req.emit('error', err); // For Safety. Some additional errors might fire later on // and we need to make sure we don't double-fire the error event. req._hadError = true; }; const ontimeout = () => { timeoutId = null; timedOut = true; const err = new Error(`A "socket" was not created for HTTP request before ${timeoutMs}ms`); err.code = 'ETIMEOUT'; onerror(err); }; const callbackError = (err) => { if (timedOut) return; if (timeoutId !== null) { clearTimeout(timeoutId); timeoutId = null; } onerror(err); }; const onsocket = (socket) => { if (timedOut) return; if (timeoutId != null) { clearTimeout(timeoutId); timeoutId = null; } if (isAgent(socket)) { // `socket` is actually an `http.Agent` instance, so // relinquish responsibility for this `req` to the Agent // from here on debug('Callback returned another Agent instance %o', socket.constructor.name); socket.addRequest(req, opts); return; } if (socket) { socket.once('free', () => { this.freeSocket(socket, opts); }); req.onSocket(socket); return; } const err = new Error(`no Duplex stream was returned to agent-base for \`${req.method} ${req.path}\``); onerror(err); }; if (typeof this.callback !== 'function') { onerror(new Error('`callback` is not defined')); return; } if (!this.promisifiedCallback) { if (this.callback.length >= 3) { debug('Converting legacy callback function to promise'); this.promisifiedCallback = promisify_1.default(this.callback); } else { this.promisifiedCallback = this.callback; } } if (typeof timeoutMs === 'number' && timeoutMs > 0) { timeoutId = setTimeout(ontimeout, timeoutMs); } if ('port' in opts && typeof opts.port !== 'number') { opts.port = Number(opts.port); } try { debug('Resolving socket for %o request: %o', opts.protocol, `${req.method} ${req.path}`); Promise.resolve(this.promisifiedCallback(req, opts)).then(onsocket, callbackError); } catch (err) { Promise.reject(err).catch(callbackError); } } freeSocket(socket, opts) { debug('Freeing socket %o %o', socket.constructor.name, opts); socket.destroy(); } destroy() { debug('Destroying agent %o', this.constructor.name); } } createAgent.Agent = Agent; // So that `instanceof` works correctly createAgent.prototype = createAgent.Agent.prototype; })(createAgent || (createAgent = {})); module.exports = createAgent; //# sourceMappingURL=index.js.mapPK�}�\ ++src/promisify.d.tsnu�[���import { ClientRequest, RequestOptions, AgentCallbackCallback, AgentCallbackPromise } from './index'; declare type LegacyCallback = (req: ClientRequest, opts: RequestOptions, fn: AgentCallbackCallback) => void; export default function promisify(fn: LegacyCallback): AgentCallbackPromise; export {}; PK�}�\c#��src/promisify.jsnu�[���"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); function promisify(fn) { return function (req, opts) { return new Promise((resolve, reject) => { fn.call(this, req, opts, (err, rtn) => { if (err) { reject(err); } else { resolve(rtn); } }); }); }; } exports.default = promisify; //# sourceMappingURL=promisify.js.mapPK�}�\F�m}}src/index.d.tsnu�[���/// <reference types="node" /> import net from 'net'; import http from 'http'; import https from 'https'; import { Duplex } from 'stream'; import { EventEmitter } from 'events'; declare function createAgent(opts?: createAgent.AgentOptions): createAgent.Agent; declare function createAgent(callback: createAgent.AgentCallback, opts?: createAgent.AgentOptions): createAgent.Agent; declare namespace createAgent { interface ClientRequest extends http.ClientRequest { _last?: boolean; _hadError?: boolean; method: string; } interface AgentRequestOptions { host?: string; path?: string; port: number; } interface HttpRequestOptions extends AgentRequestOptions, Omit<http.RequestOptions, keyof AgentRequestOptions> { secureEndpoint: false; } interface HttpsRequestOptions extends AgentRequestOptions, Omit<https.RequestOptions, keyof AgentRequestOptions> { secureEndpoint: true; } type RequestOptions = HttpRequestOptions | HttpsRequestOptions; type AgentLike = Pick<createAgent.Agent, 'addRequest'> | http.Agent; type AgentCallbackReturn = Duplex | AgentLike; type AgentCallbackCallback = (err?: Error | null, socket?: createAgent.AgentCallbackReturn) => void; type AgentCallbackPromise = (req: createAgent.ClientRequest, opts: createAgent.RequestOptions) => createAgent.AgentCallbackReturn | Promise<createAgent.AgentCallbackReturn>; type AgentCallback = typeof Agent.prototype.callback; type AgentOptions = { timeout?: number; }; /** * Base `http.Agent` implementation. * No pooling/keep-alive is implemented by default. * * @param {Function} callback * @api public */ class Agent extends EventEmitter { timeout: number | null; maxFreeSockets: number; maxTotalSockets: number; maxSockets: number; sockets: { [key: string]: net.Socket[]; }; freeSockets: { [key: string]: net.Socket[]; }; requests: { [key: string]: http.IncomingMessage[]; }; options: https.AgentOptions; private promisifiedCallback?; private explicitDefaultPort?; private explicitProtocol?; constructor(callback?: createAgent.AgentCallback | createAgent.AgentOptions, _opts?: createAgent.AgentOptions); get defaultPort(): number; set defaultPort(v: number); get protocol(): string; set protocol(v: string); callback(req: createAgent.ClientRequest, opts: createAgent.RequestOptions, fn: createAgent.AgentCallbackCallback): void; callback(req: createAgent.ClientRequest, opts: createAgent.RequestOptions): createAgent.AgentCallbackReturn | Promise<createAgent.AgentCallbackReturn>; /** * Called by node-core's "_http_client.js" module when creating * a new HTTP request with this Agent instance. * * @api public */ addRequest(req: ClientRequest, _opts: RequestOptions): void; freeSocket(socket: net.Socket, opts: AgentOptions): void; destroy(): void; } } export = createAgent; PK�}�\$���src/index.js.mapnu�[���{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}PK�}�\�ӚN�"�"axios.jsnu�[���// Axios v1.7.2 Copyright (c) 2024 Matt Zabriskie and contributors (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define(factory) : (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.axios = factory()); })(this, (function () { 'use strict'; function _AsyncGenerator(e) { var r, t; function resume(r, t) { try { var n = e[r](t), o = n.value, u = o instanceof _OverloadYield; Promise.resolve(u ? o.v : o).then(function (t) { if (u) { var i = "return" === r ? "return" : "next"; if (!o.k || t.done) return resume(i, t); t = e[i](t).value; } settle(n.done ? "return" : "normal", t); }, function (e) { resume("throw", e); }); } catch (e) { settle("throw", e); } } function settle(e, n) { switch (e) { case "return": r.resolve({ value: n, done: !0 }); break; case "throw": r.reject(n); break; default: r.resolve({ value: n, done: !1 }); } (r = r.next) ? resume(r.key, r.arg) : t = null; } this._invoke = function (e, n) { return new Promise(function (o, u) { var i = { key: e, arg: n, resolve: o, reject: u, next: null }; t ? t = t.next = i : (r = t = i, resume(e, n)); }); }, "function" != typeof e.return && (this.return = void 0); } _AsyncGenerator.prototype["function" == typeof Symbol && Symbol.asyncIterator || "@@asyncIterator"] = function () { return this; }, _AsyncGenerator.prototype.next = function (e) { return this._invoke("next", e); }, _AsyncGenerator.prototype.throw = function (e) { return this._invoke("throw", e); }, _AsyncGenerator.prototype.return = function (e) { return this._invoke("return", e); }; function _OverloadYield(t, e) { this.v = t, this.k = e; } function _asyncGeneratorDelegate(t) { var e = {}, n = !1; function pump(e, r) { return n = !0, r = new Promise(function (n) { n(t[e](r)); }), { done: !1, value: new _OverloadYield(r, 1) }; } return e["undefined" != typeof Symbol && Symbol.iterator || "@@iterator"] = function () { return this; }, e.next = function (t) { return n ? (n = !1, t) : pump("next", t); }, "function" == typeof t.throw && (e.throw = function (t) { if (n) throw n = !1, t; return pump("throw", t); }), "function" == typeof t.return && (e.return = function (t) { return n ? (n = !1, t) : pump("return", t); }), e; } function _asyncIterator(r) { var n, t, o, e = 2; for ("undefined" != typeof Symbol && (t = Symbol.asyncIterator, o = Symbol.iterator); e--;) { if (t && null != (n = r[t])) return n.call(r); if (o && null != (n = r[o])) return new AsyncFromSyncIterator(n.call(r)); t = "@@asyncIterator", o = "@@iterator"; } throw new TypeError("Object is not async iterable"); } function AsyncFromSyncIterator(r) { function AsyncFromSyncIteratorContinuation(r) { if (Object(r) !== r) return Promise.reject(new TypeError(r + " is not an object.")); var n = r.done; return Promise.resolve(r.value).then(function (r) { return { value: r, done: n }; }); } return AsyncFromSyncIterator = function (r) { this.s = r, this.n = r.next; }, AsyncFromSyncIterator.prototype = { s: null, n: null, next: function () { return AsyncFromSyncIteratorContinuation(this.n.apply(this.s, arguments)); }, return: function (r) { var n = this.s.return; return void 0 === n ? Promise.resolve({ value: r, done: !0 }) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments)); }, throw: function (r) { var n = this.s.return; return void 0 === n ? Promise.reject(r) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments)); } }, new AsyncFromSyncIterator(r); } function _awaitAsyncGenerator(e) { return new _OverloadYield(e, 0); } function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } function _regeneratorRuntime() { _regeneratorRuntime = function () { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function (t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == typeof h && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function (t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(typeof e + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function (e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function () { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function (e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function (t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function (t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function (t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function (t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function (e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; } function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); } function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function _wrapAsyncGenerator(fn) { return function () { return new _AsyncGenerator(fn.apply(this, arguments)); }; } function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _toArray(arr) { return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest(); } function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } 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."); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function () {}; return { s: F, n: function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function (e) { throw e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function () { it = it.call(o); }, n: function () { var step = it.next(); normalCompletion = step.done; return step; }, e: function (e) { didErr = true; err = e; }, f: function () { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; } function bind(fn, thisArg) { return function wrap() { return fn.apply(thisArg, arguments); }; } // utils is a library of generic helper functions non-specific to axios var toString = Object.prototype.toString; var getPrototypeOf = Object.getPrototypeOf; var kindOf = function (cache) { return function (thing) { var str = toString.call(thing); return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase()); }; }(Object.create(null)); var kindOfTest = function kindOfTest(type) { type = type.toLowerCase(); return function (thing) { return kindOf(thing) === type; }; }; var typeOfTest = function typeOfTest(type) { return function (thing) { return _typeof(thing) === type; }; }; /** * Determine if a value is an Array * * @param {Object} val The value to test * * @returns {boolean} True if value is an Array, otherwise false */ var isArray = Array.isArray; /** * Determine if a value is undefined * * @param {*} val The value to test * * @returns {boolean} True if the value is undefined, otherwise false */ var isUndefined = typeOfTest('undefined'); /** * Determine if a value is a Buffer * * @param {*} val The value to test * * @returns {boolean} True if value is a Buffer, otherwise false */ function isBuffer(val) { return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val); } /** * Determine if a value is an ArrayBuffer * * @param {*} val The value to test * * @returns {boolean} True if value is an ArrayBuffer, otherwise false */ var isArrayBuffer = kindOfTest('ArrayBuffer'); /** * Determine if a value is a view on an ArrayBuffer * * @param {*} val The value to test * * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false */ function isArrayBufferView(val) { var result; if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) { result = ArrayBuffer.isView(val); } else { result = val && val.buffer && isArrayBuffer(val.buffer); } return result; } /** * Determine if a value is a String * * @param {*} val The value to test * * @returns {boolean} True if value is a String, otherwise false */ var isString = typeOfTest('string'); /** * Determine if a value is a Function * * @param {*} val The value to test * @returns {boolean} True if value is a Function, otherwise false */ var isFunction = typeOfTest('function'); /** * Determine if a value is a Number * * @param {*} val The value to test * * @returns {boolean} True if value is a Number, otherwise false */ var isNumber = typeOfTest('number'); /** * Determine if a value is an Object * * @param {*} thing The value to test * * @returns {boolean} True if value is an Object, otherwise false */ var isObject = function isObject(thing) { return thing !== null && _typeof(thing) === 'object'; }; /** * Determine if a value is a Boolean * * @param {*} thing The value to test * @returns {boolean} True if value is a Boolean, otherwise false */ var isBoolean = function isBoolean(thing) { return thing === true || thing === false; }; /** * Determine if a value is a plain Object * * @param {*} val The value to test * * @returns {boolean} True if value is a plain Object, otherwise false */ var isPlainObject = function isPlainObject(val) { if (kindOf(val) !== 'object') { return false; } var prototype = getPrototypeOf(val); return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val); }; /** * Determine if a value is a Date * * @param {*} val The value to test * * @returns {boolean} True if value is a Date, otherwise false */ var isDate = kindOfTest('Date'); /** * Determine if a value is a File * * @param {*} val The value to test * * @returns {boolean} True if value is a File, otherwise false */ var isFile = kindOfTest('File'); /** * Determine if a value is a Blob * * @param {*} val The value to test * * @returns {boolean} True if value is a Blob, otherwise false */ var isBlob = kindOfTest('Blob'); /** * Determine if a value is a FileList * * @param {*} val The value to test * * @returns {boolean} True if value is a File, otherwise false */ var isFileList = kindOfTest('FileList'); /** * Determine if a value is a Stream * * @param {*} val The value to test * * @returns {boolean} True if value is a Stream, otherwise false */ var isStream = function isStream(val) { return isObject(val) && isFunction(val.pipe); }; /** * Determine if a value is a FormData * * @param {*} thing The value to test * * @returns {boolean} True if value is an FormData, otherwise false */ var isFormData = function isFormData(thing) { var kind; return thing && (typeof FormData === 'function' && thing instanceof FormData || isFunction(thing.append) && ((kind = kindOf(thing)) === 'formdata' || // detect form-data instance kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')); }; /** * Determine if a value is a URLSearchParams object * * @param {*} val The value to test * * @returns {boolean} True if value is a URLSearchParams object, otherwise false */ var isURLSearchParams = kindOfTest('URLSearchParams'); var _map = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest), _map2 = _slicedToArray(_map, 4), isReadableStream = _map2[0], isRequest = _map2[1], isResponse = _map2[2], isHeaders = _map2[3]; /** * Trim excess whitespace off the beginning and end of a string * * @param {String} str The String to trim * * @returns {String} The String freed of excess whitespace */ var trim = function trim(str) { return str.trim ? str.trim() : str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''); }; /** * Iterate over an Array or an Object invoking a function for each item. * * If `obj` is an Array callback will be called passing * the value, index, and complete array for each item. * * If 'obj' is an Object callback will be called passing * the value, key, and complete object for each property. * * @param {Object|Array} obj The object to iterate * @param {Function} fn The callback to invoke for each item * * @param {Boolean} [allOwnKeys = false] * @returns {any} */ function forEach(obj, fn) { var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}, _ref$allOwnKeys = _ref.allOwnKeys, allOwnKeys = _ref$allOwnKeys === void 0 ? false : _ref$allOwnKeys; // Don't bother if no value provided if (obj === null || typeof obj === 'undefined') { return; } var i; var l; // Force an array if not already something iterable if (_typeof(obj) !== 'object') { /*eslint no-param-reassign:0*/ obj = [obj]; } if (isArray(obj)) { // Iterate over array values for (i = 0, l = obj.length; i < l; i++) { fn.call(null, obj[i], i, obj); } } else { // Iterate over object keys var keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj); var len = keys.length; var key; for (i = 0; i < len; i++) { key = keys[i]; fn.call(null, obj[key], key, obj); } } } function findKey(obj, key) { key = key.toLowerCase(); var keys = Object.keys(obj); var i = keys.length; var _key; while (i-- > 0) { _key = keys[i]; if (key === _key.toLowerCase()) { return _key; } } return null; } var _global = function () { /*eslint no-undef:0*/ if (typeof globalThis !== "undefined") return globalThis; return typeof self !== "undefined" ? self : typeof window !== 'undefined' ? window : global; }(); var isContextDefined = function isContextDefined(context) { return !isUndefined(context) && context !== _global; }; /** * Accepts varargs expecting each argument to be an object, then * immutably merges the properties of each object and returns result. * * When multiple objects contain the same key the later object in * the arguments list will take precedence. * * Example: * * ```js * var result = merge({foo: 123}, {foo: 456}); * console.log(result.foo); // outputs 456 * ``` * * @param {Object} obj1 Object to merge * * @returns {Object} Result of all merge properties */ function merge( /* obj1, obj2, obj3, ... */ ) { var _ref2 = isContextDefined(this) && this || {}, caseless = _ref2.caseless; var result = {}; var assignValue = function assignValue(val, key) { var targetKey = caseless && findKey(result, key) || key; if (isPlainObject(result[targetKey]) && isPlainObject(val)) { result[targetKey] = merge(result[targetKey], val); } else if (isPlainObject(val)) { result[targetKey] = merge({}, val); } else if (isArray(val)) { result[targetKey] = val.slice(); } else { result[targetKey] = val; } }; for (var i = 0, l = arguments.length; i < l; i++) { arguments[i] && forEach(arguments[i], assignValue); } return result; } /** * Extends object a by mutably adding to it the properties of object b. * * @param {Object} a The object to be extended * @param {Object} b The object to copy properties from * @param {Object} thisArg The object to bind function to * * @param {Boolean} [allOwnKeys] * @returns {Object} The resulting value of object a */ var extend = function extend(a, b, thisArg) { var _ref3 = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}, allOwnKeys = _ref3.allOwnKeys; forEach(b, function (val, key) { if (thisArg && isFunction(val)) { a[key] = bind(val, thisArg); } else { a[key] = val; } }, { allOwnKeys: allOwnKeys }); return a; }; /** * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM) * * @param {string} content with BOM * * @returns {string} content value without BOM */ var stripBOM = function stripBOM(content) { if (content.charCodeAt(0) === 0xFEFF) { content = content.slice(1); } return content; }; /** * Inherit the prototype methods from one constructor into another * @param {function} constructor * @param {function} superConstructor * @param {object} [props] * @param {object} [descriptors] * * @returns {void} */ var inherits = function inherits(constructor, superConstructor, props, descriptors) { constructor.prototype = Object.create(superConstructor.prototype, descriptors); constructor.prototype.constructor = constructor; Object.defineProperty(constructor, 'super', { value: superConstructor.prototype }); props && Object.assign(constructor.prototype, props); }; /** * Resolve object with deep prototype chain to a flat object * @param {Object} sourceObj source object * @param {Object} [destObj] * @param {Function|Boolean} [filter] * @param {Function} [propFilter] * * @returns {Object} */ var toFlatObject = function toFlatObject(sourceObj, destObj, filter, propFilter) { var props; var i; var prop; var merged = {}; destObj = destObj || {}; // eslint-disable-next-line no-eq-null,eqeqeq if (sourceObj == null) return destObj; do { props = Object.getOwnPropertyNames(sourceObj); i = props.length; while (i-- > 0) { prop = props[i]; if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) { destObj[prop] = sourceObj[prop]; merged[prop] = true; } } sourceObj = filter !== false && getPrototypeOf(sourceObj); } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype); return destObj; }; /** * Determines whether a string ends with the characters of a specified string * * @param {String} str * @param {String} searchString * @param {Number} [position= 0] * * @returns {boolean} */ var endsWith = function endsWith(str, searchString, position) { str = String(str); if (position === undefined || position > str.length) { position = str.length; } position -= searchString.length; var lastIndex = str.indexOf(searchString, position); return lastIndex !== -1 && lastIndex === position; }; /** * Returns new array from array like object or null if failed * * @param {*} [thing] * * @returns {?Array} */ var toArray = function toArray(thing) { if (!thing) return null; if (isArray(thing)) return thing; var i = thing.length; if (!isNumber(i)) return null; var arr = new Array(i); while (i-- > 0) { arr[i] = thing[i]; } return arr; }; /** * Checking if the Uint8Array exists and if it does, it returns a function that checks if the * thing passed in is an instance of Uint8Array * * @param {TypedArray} * * @returns {Array} */ // eslint-disable-next-line func-names var isTypedArray = function (TypedArray) { // eslint-disable-next-line func-names return function (thing) { return TypedArray && thing instanceof TypedArray; }; }(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array)); /** * For each entry in the object, call the function with the key and value. * * @param {Object<any, any>} obj - The object to iterate over. * @param {Function} fn - The function to call for each entry. * * @returns {void} */ var forEachEntry = function forEachEntry(obj, fn) { var generator = obj && obj[Symbol.iterator]; var iterator = generator.call(obj); var result; while ((result = iterator.next()) && !result.done) { var pair = result.value; fn.call(obj, pair[0], pair[1]); } }; /** * It takes a regular expression and a string, and returns an array of all the matches * * @param {string} regExp - The regular expression to match against. * @param {string} str - The string to search. * * @returns {Array<boolean>} */ var matchAll = function matchAll(regExp, str) { var matches; var arr = []; while ((matches = regExp.exec(str)) !== null) { arr.push(matches); } return arr; }; /* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */ var isHTMLForm = kindOfTest('HTMLFormElement'); var toCamelCase = function toCamelCase(str) { return str.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g, function replacer(m, p1, p2) { return p1.toUpperCase() + p2; }); }; /* Creating a function that will check if an object has a property. */ var hasOwnProperty = function (_ref4) { var hasOwnProperty = _ref4.hasOwnProperty; return function (obj, prop) { return hasOwnProperty.call(obj, prop); }; }(Object.prototype); /** * Determine if a value is a RegExp object * * @param {*} val The value to test * * @returns {boolean} True if value is a RegExp object, otherwise false */ var isRegExp = kindOfTest('RegExp'); var reduceDescriptors = function reduceDescriptors(obj, reducer) { var descriptors = Object.getOwnPropertyDescriptors(obj); var reducedDescriptors = {}; forEach(descriptors, function (descriptor, name) { var ret; if ((ret = reducer(descriptor, name, obj)) !== false) { reducedDescriptors[name] = ret || descriptor; } }); Object.defineProperties(obj, reducedDescriptors); }; /** * Makes all methods read-only * @param {Object} obj */ var freezeMethods = function freezeMethods(obj) { reduceDescriptors(obj, function (descriptor, name) { // skip restricted props in strict mode if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) { return false; } var value = obj[name]; if (!isFunction(value)) return; descriptor.enumerable = false; if ('writable' in descriptor) { descriptor.writable = false; return; } if (!descriptor.set) { descriptor.set = function () { throw Error('Can not rewrite read-only method \'' + name + '\''); }; } }); }; var toObjectSet = function toObjectSet(arrayOrString, delimiter) { var obj = {}; var define = function define(arr) { arr.forEach(function (value) { obj[value] = true; }); }; isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter)); return obj; }; var noop = function noop() {}; var toFiniteNumber = function toFiniteNumber(value, defaultValue) { return value != null && Number.isFinite(value = +value) ? value : defaultValue; }; var ALPHA = 'abcdefghijklmnopqrstuvwxyz'; var DIGIT = '0123456789'; var ALPHABET = { DIGIT: DIGIT, ALPHA: ALPHA, ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT }; var generateString = function generateString() { var size = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 16; var alphabet = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ALPHABET.ALPHA_DIGIT; var str = ''; var length = alphabet.length; while (size--) { str += alphabet[Math.random() * length | 0]; } return str; }; /** * If the thing is a FormData object, return true, otherwise return false. * * @param {unknown} thing - The thing to check. * * @returns {boolean} */ function isSpecCompliantForm(thing) { return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]); } var toJSONObject = function toJSONObject(obj) { var stack = new Array(10); var visit = function visit(source, i) { if (isObject(source)) { if (stack.indexOf(source) >= 0) { return; } if (!('toJSON' in source)) { stack[i] = source; var target = isArray(source) ? [] : {}; forEach(source, function (value, key) { var reducedValue = visit(value, i + 1); !isUndefined(reducedValue) && (target[key] = reducedValue); }); stack[i] = undefined; return target; } } return source; }; return visit(obj, 0); }; var isAsyncFn = kindOfTest('AsyncFunction'); var isThenable = function isThenable(thing) { return thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing["catch"]); }; var utils$1 = { isArray: isArray, isArrayBuffer: isArrayBuffer, isBuffer: isBuffer, isFormData: isFormData, isArrayBufferView: isArrayBufferView, isString: isString, isNumber: isNumber, isBoolean: isBoolean, isObject: isObject, isPlainObject: isPlainObject, isReadableStream: isReadableStream, isRequest: isRequest, isResponse: isResponse, isHeaders: isHeaders, isUndefined: isUndefined, isDate: isDate, isFile: isFile, isBlob: isBlob, isRegExp: isRegExp, isFunction: isFunction, isStream: isStream, isURLSearchParams: isURLSearchParams, isTypedArray: isTypedArray, isFileList: isFileList, forEach: forEach, merge: merge, extend: extend, trim: trim, stripBOM: stripBOM, inherits: inherits, toFlatObject: toFlatObject, kindOf: kindOf, kindOfTest: kindOfTest, endsWith: endsWith, toArray: toArray, forEachEntry: forEachEntry, matchAll: matchAll, isHTMLForm: isHTMLForm, hasOwnProperty: hasOwnProperty, hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection reduceDescriptors: reduceDescriptors, freezeMethods: freezeMethods, toObjectSet: toObjectSet, toCamelCase: toCamelCase, noop: noop, toFiniteNumber: toFiniteNumber, findKey: findKey, global: _global, isContextDefined: isContextDefined, ALPHABET: ALPHABET, generateString: generateString, isSpecCompliantForm: isSpecCompliantForm, toJSONObject: toJSONObject, isAsyncFn: isAsyncFn, isThenable: isThenable }; /** * Create an Error with the specified message, config, error code, request and response. * * @param {string} message The error message. * @param {string} [code] The error code (for example, 'ECONNABORTED'). * @param {Object} [config] The config. * @param {Object} [request] The request. * @param {Object} [response] The response. * * @returns {Error} The created error. */ function AxiosError(message, code, config, request, response) { Error.call(this); if (Error.captureStackTrace) { Error.captureStackTrace(this, this.constructor); } else { this.stack = new Error().stack; } this.message = message; this.name = 'AxiosError'; code && (this.code = code); config && (this.config = config); request && (this.request = request); response && (this.response = response); } utils$1.inherits(AxiosError, Error, { toJSON: function toJSON() { return { // Standard message: this.message, name: this.name, // Microsoft description: this.description, number: this.number, // Mozilla fileName: this.fileName, lineNumber: this.lineNumber, columnNumber: this.columnNumber, stack: this.stack, // Axios config: utils$1.toJSONObject(this.config), code: this.code, status: this.response && this.response.status ? this.response.status : null }; } }); var prototype$1 = AxiosError.prototype; var descriptors = {}; ['ERR_BAD_OPTION_VALUE', 'ERR_BAD_OPTION', 'ECONNABORTED', 'ETIMEDOUT', 'ERR_NETWORK', 'ERR_FR_TOO_MANY_REDIRECTS', 'ERR_DEPRECATED', 'ERR_BAD_RESPONSE', 'ERR_BAD_REQUEST', 'ERR_CANCELED', 'ERR_NOT_SUPPORT', 'ERR_INVALID_URL' // eslint-disable-next-line func-names ].forEach(function (code) { descriptors[code] = { value: code }; }); Object.defineProperties(AxiosError, descriptors); Object.defineProperty(prototype$1, 'isAxiosError', { value: true }); // eslint-disable-next-line func-names AxiosError.from = function (error, code, config, request, response, customProps) { var axiosError = Object.create(prototype$1); utils$1.toFlatObject(error, axiosError, function filter(obj) { return obj !== Error.prototype; }, function (prop) { return prop !== 'isAxiosError'; }); AxiosError.call(axiosError, error.message, code, config, request, response); axiosError.cause = error; axiosError.name = error.name; customProps && Object.assign(axiosError, customProps); return axiosError; }; // eslint-disable-next-line strict var httpAdapter = null; /** * Determines if the given thing is a array or js object. * * @param {string} thing - The object or array to be visited. * * @returns {boolean} */ function isVisitable(thing) { return utils$1.isPlainObject(thing) || utils$1.isArray(thing); } /** * It removes the brackets from the end of a string * * @param {string} key - The key of the parameter. * * @returns {string} the key without the brackets. */ function removeBrackets(key) { return utils$1.endsWith(key, '[]') ? key.slice(0, -2) : key; } /** * It takes a path, a key, and a boolean, and returns a string * * @param {string} path - The path to the current key. * @param {string} key - The key of the current object being iterated over. * @param {string} dots - If true, the key will be rendered with dots instead of brackets. * * @returns {string} The path to the current key. */ function renderKey(path, key, dots) { if (!path) return key; return path.concat(key).map(function each(token, i) { // eslint-disable-next-line no-param-reassign token = removeBrackets(token); return !dots && i ? '[' + token + ']' : token; }).join(dots ? '.' : ''); } /** * If the array is an array and none of its elements are visitable, then it's a flat array. * * @param {Array<any>} arr - The array to check * * @returns {boolean} */ function isFlatArray(arr) { return utils$1.isArray(arr) && !arr.some(isVisitable); } var predicates = utils$1.toFlatObject(utils$1, {}, null, function filter(prop) { return /^is[A-Z]/.test(prop); }); /** * Convert a data object to FormData * * @param {Object} obj * @param {?Object} [formData] * @param {?Object} [options] * @param {Function} [options.visitor] * @param {Boolean} [options.metaTokens = true] * @param {Boolean} [options.dots = false] * @param {?Boolean} [options.indexes = false] * * @returns {Object} **/ /** * It converts an object into a FormData object * * @param {Object<any, any>} obj - The object to convert to form data. * @param {string} formData - The FormData object to append to. * @param {Object<string, any>} options * * @returns */ function toFormData(obj, formData, options) { if (!utils$1.isObject(obj)) { throw new TypeError('target must be an object'); } // eslint-disable-next-line no-param-reassign formData = formData || new (FormData)(); // eslint-disable-next-line no-param-reassign options = utils$1.toFlatObject(options, { metaTokens: true, dots: false, indexes: false }, false, function defined(option, source) { // eslint-disable-next-line no-eq-null,eqeqeq return !utils$1.isUndefined(source[option]); }); var metaTokens = options.metaTokens; // eslint-disable-next-line no-use-before-define var visitor = options.visitor || defaultVisitor; var dots = options.dots; var indexes = options.indexes; var _Blob = options.Blob || typeof Blob !== 'undefined' && Blob; var useBlob = _Blob && utils$1.isSpecCompliantForm(formData); if (!utils$1.isFunction(visitor)) { throw new TypeError('visitor must be a function'); } function convertValue(value) { if (value === null) return ''; if (utils$1.isDate(value)) { return value.toISOString(); } if (!useBlob && utils$1.isBlob(value)) { throw new AxiosError('Blob is not supported. Use a Buffer instead.'); } if (utils$1.isArrayBuffer(value) || utils$1.isTypedArray(value)) { return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value); } return value; } /** * Default visitor. * * @param {*} value * @param {String|Number} key * @param {Array<String|Number>} path * @this {FormData} * * @returns {boolean} return true to visit the each prop of the value recursively */ function defaultVisitor(value, key, path) { var arr = value; if (value && !path && _typeof(value) === 'object') { if (utils$1.endsWith(key, '{}')) { // eslint-disable-next-line no-param-reassign key = metaTokens ? key : key.slice(0, -2); // eslint-disable-next-line no-param-reassign value = JSON.stringify(value); } else if (utils$1.isArray(value) && isFlatArray(value) || (utils$1.isFileList(value) || utils$1.endsWith(key, '[]')) && (arr = utils$1.toArray(value))) { // eslint-disable-next-line no-param-reassign key = removeBrackets(key); arr.forEach(function each(el, index) { !(utils$1.isUndefined(el) || el === null) && formData.append( // eslint-disable-next-line no-nested-ternary indexes === true ? renderKey([key], index, dots) : indexes === null ? key : key + '[]', convertValue(el)); }); return false; } } if (isVisitable(value)) { return true; } formData.append(renderKey(path, key, dots), convertValue(value)); return false; } var stack = []; var exposedHelpers = Object.assign(predicates, { defaultVisitor: defaultVisitor, convertValue: convertValue, isVisitable: isVisitable }); function build(value, path) { if (utils$1.isUndefined(value)) return; if (stack.indexOf(value) !== -1) { throw Error('Circular reference detected in ' + path.join('.')); } stack.push(value); utils$1.forEach(value, function each(el, key) { var result = !(utils$1.isUndefined(el) || el === null) && visitor.call(formData, el, utils$1.isString(key) ? key.trim() : key, path, exposedHelpers); if (result === true) { build(el, path ? path.concat(key) : [key]); } }); stack.pop(); } if (!utils$1.isObject(obj)) { throw new TypeError('data must be an object'); } build(obj); return formData; } /** * It encodes a string by replacing all characters that are not in the unreserved set with * their percent-encoded equivalents * * @param {string} str - The string to encode. * * @returns {string} The encoded string. */ function encode$1(str) { var charMap = { '!': '%21', "'": '%27', '(': '%28', ')': '%29', '~': '%7E', '%20': '+', '%00': '\x00' }; return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) { return charMap[match]; }); } /** * It takes a params object and converts it to a FormData object * * @param {Object<string, any>} params - The parameters to be converted to a FormData object. * @param {Object<string, any>} options - The options object passed to the Axios constructor. * * @returns {void} */ function AxiosURLSearchParams(params, options) { this._pairs = []; params && toFormData(params, this, options); } var prototype = AxiosURLSearchParams.prototype; prototype.append = function append(name, value) { this._pairs.push([name, value]); }; prototype.toString = function toString(encoder) { var _encode = encoder ? function (value) { return encoder.call(this, value, encode$1); } : encode$1; return this._pairs.map(function each(pair) { return _encode(pair[0]) + '=' + _encode(pair[1]); }, '').join('&'); }; /** * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their * URI encoded counterparts * * @param {string} val The value to be encoded. * * @returns {string} The encoded value. */ function encode(val) { return encodeURIComponent(val).replace(/%3A/gi, ':').replace(/%24/g, '$').replace(/%2C/gi, ',').replace(/%20/g, '+').replace(/%5B/gi, '[').replace(/%5D/gi, ']'); } /** * Build a URL by appending params to the end * * @param {string} url The base of the url (e.g., http://www.google.com) * @param {object} [params] The params to be appended * @param {?object} options * * @returns {string} The formatted url */ function buildURL(url, params, options) { /*eslint no-param-reassign:0*/ if (!params) { return url; } var _encode = options && options.encode || encode; var serializeFn = options && options.serialize; var serializedParams; if (serializeFn) { serializedParams = serializeFn(params, options); } else { serializedParams = utils$1.isURLSearchParams(params) ? params.toString() : new AxiosURLSearchParams(params, options).toString(_encode); } if (serializedParams) { var hashmarkIndex = url.indexOf("#"); if (hashmarkIndex !== -1) { url = url.slice(0, hashmarkIndex); } url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams; } return url; } var InterceptorManager = /*#__PURE__*/function () { function InterceptorManager() { _classCallCheck(this, InterceptorManager); this.handlers = []; } /** * Add a new interceptor to the stack * * @param {Function} fulfilled The function to handle `then` for a `Promise` * @param {Function} rejected The function to handle `reject` for a `Promise` * * @return {Number} An ID used to remove interceptor later */ _createClass(InterceptorManager, [{ key: "use", value: function use(fulfilled, rejected, options) { this.handlers.push({ fulfilled: fulfilled, rejected: rejected, synchronous: options ? options.synchronous : false, runWhen: options ? options.runWhen : null }); return this.handlers.length - 1; } /** * Remove an interceptor from the stack * * @param {Number} id The ID that was returned by `use` * * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise */ }, { key: "eject", value: function eject(id) { if (this.handlers[id]) { this.handlers[id] = null; } } /** * Clear all interceptors from the stack * * @returns {void} */ }, { key: "clear", value: function clear() { if (this.handlers) { this.handlers = []; } } /** * Iterate over all the registered interceptors * * This method is particularly useful for skipping over any * interceptors that may have become `null` calling `eject`. * * @param {Function} fn The function to call for each interceptor * * @returns {void} */ }, { key: "forEach", value: function forEach(fn) { utils$1.forEach(this.handlers, function forEachHandler(h) { if (h !== null) { fn(h); } }); } }]); return InterceptorManager; }(); var InterceptorManager$1 = InterceptorManager; var transitionalDefaults = { silentJSONParsing: true, forcedJSONParsing: true, clarifyTimeoutError: false }; var URLSearchParams$1 = typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams; var FormData$1 = typeof FormData !== 'undefined' ? FormData : null; var Blob$1 = typeof Blob !== 'undefined' ? Blob : null; var platform$1 = { isBrowser: true, classes: { URLSearchParams: URLSearchParams$1, FormData: FormData$1, Blob: Blob$1 }, protocols: ['http', 'https', 'file', 'blob', 'url', 'data'] }; var hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined'; /** * Determine if we're running in a standard browser environment * * This allows axios to run in a web worker, and react-native. * Both environments support XMLHttpRequest, but not fully standard globals. * * web workers: * typeof window -> undefined * typeof document -> undefined * * react-native: * navigator.product -> 'ReactNative' * nativescript * navigator.product -> 'NativeScript' or 'NS' * * @returns {boolean} */ var hasStandardBrowserEnv = function (product) { return hasBrowserEnv && ['ReactNative', 'NativeScript', 'NS'].indexOf(product) < 0; }(typeof navigator !== 'undefined' && navigator.product); /** * Determine if we're running in a standard browser webWorker environment * * Although the `isStandardBrowserEnv` method indicates that * `allows axios to run in a web worker`, the WebWorker will still be * filtered out due to its judgment standard * `typeof window !== 'undefined' && typeof document !== 'undefined'`. * This leads to a problem when axios post `FormData` in webWorker */ var hasStandardBrowserWebWorkerEnv = function () { return typeof WorkerGlobalScope !== 'undefined' && // eslint-disable-next-line no-undef self instanceof WorkerGlobalScope && typeof self.importScripts === 'function'; }(); var origin = hasBrowserEnv && window.location.href || 'http://localhost'; var utils = /*#__PURE__*/Object.freeze({ __proto__: null, hasBrowserEnv: hasBrowserEnv, hasStandardBrowserWebWorkerEnv: hasStandardBrowserWebWorkerEnv, hasStandardBrowserEnv: hasStandardBrowserEnv, origin: origin }); var platform = _objectSpread2(_objectSpread2({}, utils), platform$1); function toURLEncodedForm(data, options) { return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({ visitor: function visitor(value, key, path, helpers) { if (platform.isNode && utils$1.isBuffer(value)) { this.append(key, value.toString('base64')); return false; } return helpers.defaultVisitor.apply(this, arguments); } }, options)); } /** * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z'] * * @param {string} name - The name of the property to get. * * @returns An array of strings. */ function parsePropPath(name) { // foo[x][y][z] // foo.x.y.z // foo-x-y-z // foo x y z return utils$1.matchAll(/\w+|\[(\w*)]/g, name).map(function (match) { return match[0] === '[]' ? '' : match[1] || match[0]; }); } /** * Convert an array to an object. * * @param {Array<any>} arr - The array to convert to an object. * * @returns An object with the same keys and values as the array. */ function arrayToObject(arr) { var obj = {}; var keys = Object.keys(arr); var i; var len = keys.length; var key; for (i = 0; i < len; i++) { key = keys[i]; obj[key] = arr[key]; } return obj; } /** * It takes a FormData object and returns a JavaScript object * * @param {string} formData The FormData object to convert to JSON. * * @returns {Object<string, any> | null} The converted object. */ function formDataToJSON(formData) { function buildPath(path, value, target, index) { var name = path[index++]; if (name === '__proto__') return true; var isNumericKey = Number.isFinite(+name); var isLast = index >= path.length; name = !name && utils$1.isArray(target) ? target.length : name; if (isLast) { if (utils$1.hasOwnProp(target, name)) { target[name] = [target[name], value]; } else { target[name] = value; } return !isNumericKey; } if (!target[name] || !utils$1.isObject(target[name])) { target[name] = []; } var result = buildPath(path, value, target[name], index); if (result && utils$1.isArray(target[name])) { target[name] = arrayToObject(target[name]); } return !isNumericKey; } if (utils$1.isFormData(formData) && utils$1.isFunction(formData.entries)) { var obj = {}; utils$1.forEachEntry(formData, function (name, value) { buildPath(parsePropPath(name), value, obj, 0); }); return obj; } return null; } /** * It takes a string, tries to parse it, and if it fails, it returns the stringified version * of the input * * @param {any} rawValue - The value to be stringified. * @param {Function} parser - A function that parses a string into a JavaScript object. * @param {Function} encoder - A function that takes a value and returns a string. * * @returns {string} A stringified version of the rawValue. */ function stringifySafely(rawValue, parser, encoder) { if (utils$1.isString(rawValue)) { try { (parser || JSON.parse)(rawValue); return utils$1.trim(rawValue); } catch (e) { if (e.name !== 'SyntaxError') { throw e; } } } return (encoder || JSON.stringify)(rawValue); } var defaults = { transitional: transitionalDefaults, adapter: ['xhr', 'http', 'fetch'], transformRequest: [function transformRequest(data, headers) { var contentType = headers.getContentType() || ''; var hasJSONContentType = contentType.indexOf('application/json') > -1; var isObjectPayload = utils$1.isObject(data); if (isObjectPayload && utils$1.isHTMLForm(data)) { data = new FormData(data); } var isFormData = utils$1.isFormData(data); if (isFormData) { return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data; } if (utils$1.isArrayBuffer(data) || utils$1.isBuffer(data) || utils$1.isStream(data) || utils$1.isFile(data) || utils$1.isBlob(data) || utils$1.isReadableStream(data)) { return data; } if (utils$1.isArrayBufferView(data)) { return data.buffer; } if (utils$1.isURLSearchParams(data)) { headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false); return data.toString(); } var isFileList; if (isObjectPayload) { if (contentType.indexOf('application/x-www-form-urlencoded') > -1) { return toURLEncodedForm(data, this.formSerializer).toString(); } if ((isFileList = utils$1.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) { var _FormData = this.env && this.env.FormData; return toFormData(isFileList ? { 'files[]': data } : data, _FormData && new _FormData(), this.formSerializer); } } if (isObjectPayload || hasJSONContentType) { headers.setContentType('application/json', false); return stringifySafely(data); } return data; }], transformResponse: [function transformResponse(data) { var transitional = this.transitional || defaults.transitional; var forcedJSONParsing = transitional && transitional.forcedJSONParsing; var JSONRequested = this.responseType === 'json'; if (utils$1.isResponse(data) || utils$1.isReadableStream(data)) { return data; } if (data && utils$1.isString(data) && (forcedJSONParsing && !this.responseType || JSONRequested)) { var silentJSONParsing = transitional && transitional.silentJSONParsing; var strictJSONParsing = !silentJSONParsing && JSONRequested; try { return JSON.parse(data); } catch (e) { if (strictJSONParsing) { if (e.name === 'SyntaxError') { throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response); } throw e; } } } return data; }], /** * A timeout in milliseconds to abort a request. If set to 0 (default) a * timeout is not created. */ timeout: 0, xsrfCookieName: 'XSRF-TOKEN', xsrfHeaderName: 'X-XSRF-TOKEN', maxContentLength: -1, maxBodyLength: -1, env: { FormData: platform.classes.FormData, Blob: platform.classes.Blob }, validateStatus: function validateStatus(status) { return status >= 200 && status < 300; }, headers: { common: { 'Accept': 'application/json, text/plain, */*', 'Content-Type': undefined } } }; utils$1.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], function (method) { defaults.headers[method] = {}; }); var defaults$1 = defaults; // RawAxiosHeaders whose duplicates are ignored by node // c.f. https://nodejs.org/api/http.html#http_message_headers var ignoreDuplicateOf = utils$1.toObjectSet(['age', 'authorization', 'content-length', 'content-type', 'etag', 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since', 'last-modified', 'location', 'max-forwards', 'proxy-authorization', 'referer', 'retry-after', 'user-agent']); /** * Parse headers into an object * * ``` * Date: Wed, 27 Aug 2014 08:58:49 GMT * Content-Type: application/json * Connection: keep-alive * Transfer-Encoding: chunked * ``` * * @param {String} rawHeaders Headers needing to be parsed * * @returns {Object} Headers parsed into an object */ var parseHeaders = (function (rawHeaders) { var parsed = {}; var key; var val; var i; rawHeaders && rawHeaders.split('\n').forEach(function parser(line) { i = line.indexOf(':'); key = line.substring(0, i).trim().toLowerCase(); val = line.substring(i + 1).trim(); if (!key || parsed[key] && ignoreDuplicateOf[key]) { return; } if (key === 'set-cookie') { if (parsed[key]) { parsed[key].push(val); } else { parsed[key] = [val]; } } else { parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val; } }); return parsed; }); var $internals = Symbol('internals'); function normalizeHeader(header) { return header && String(header).trim().toLowerCase(); } function normalizeValue(value) { if (value === false || value == null) { return value; } return utils$1.isArray(value) ? value.map(normalizeValue) : String(value); } function parseTokens(str) { var tokens = Object.create(null); var tokensRE = /([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g; var match; while (match = tokensRE.exec(str)) { tokens[match[1]] = match[2]; } return tokens; } var isValidHeaderName = function isValidHeaderName(str) { return /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim()); }; function matchHeaderValue(context, value, header, filter, isHeaderNameFilter) { if (utils$1.isFunction(filter)) { return filter.call(this, value, header); } if (isHeaderNameFilter) { value = header; } if (!utils$1.isString(value)) return; if (utils$1.isString(filter)) { return value.indexOf(filter) !== -1; } if (utils$1.isRegExp(filter)) { return filter.test(value); } } function formatHeader(header) { return header.trim().toLowerCase().replace(/([a-z\d])(\w*)/g, function (w, _char, str) { return _char.toUpperCase() + str; }); } function buildAccessors(obj, header) { var accessorName = utils$1.toCamelCase(' ' + header); ['get', 'set', 'has'].forEach(function (methodName) { Object.defineProperty(obj, methodName + accessorName, { value: function value(arg1, arg2, arg3) { return this[methodName].call(this, header, arg1, arg2, arg3); }, configurable: true }); }); } var AxiosHeaders = /*#__PURE__*/function (_Symbol$iterator, _Symbol$toStringTag) { function AxiosHeaders(headers) { _classCallCheck(this, AxiosHeaders); headers && this.set(headers); } _createClass(AxiosHeaders, [{ key: "set", value: function set(header, valueOrRewrite, rewrite) { var self = this; function setHeader(_value, _header, _rewrite) { var lHeader = normalizeHeader(_header); if (!lHeader) { throw new Error('header name must be a non-empty string'); } var key = utils$1.findKey(self, lHeader); if (!key || self[key] === undefined || _rewrite === true || _rewrite === undefined && self[key] !== false) { self[key || _header] = normalizeValue(_value); } } var setHeaders = function setHeaders(headers, _rewrite) { return utils$1.forEach(headers, function (_value, _header) { return setHeader(_value, _header, _rewrite); }); }; if (utils$1.isPlainObject(header) || header instanceof this.constructor) { setHeaders(header, valueOrRewrite); } else if (utils$1.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) { setHeaders(parseHeaders(header), valueOrRewrite); } else if (utils$1.isHeaders(header)) { var _iterator = _createForOfIteratorHelper(header.entries()), _step; try { for (_iterator.s(); !(_step = _iterator.n()).done;) { var _step$value = _slicedToArray(_step.value, 2), key = _step$value[0], value = _step$value[1]; setHeader(value, key, rewrite); } } catch (err) { _iterator.e(err); } finally { _iterator.f(); } } else { header != null && setHeader(valueOrRewrite, header, rewrite); } return this; } }, { key: "get", value: function get(header, parser) { header = normalizeHeader(header); if (header) { var key = utils$1.findKey(this, header); if (key) { var value = this[key]; if (!parser) { return value; } if (parser === true) { return parseTokens(value); } if (utils$1.isFunction(parser)) { return parser.call(this, value, key); } if (utils$1.isRegExp(parser)) { return parser.exec(value); } throw new TypeError('parser must be boolean|regexp|function'); } } } }, { key: "has", value: function has(header, matcher) { header = normalizeHeader(header); if (header) { var key = utils$1.findKey(this, header); return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher))); } return false; } }, { key: "delete", value: function _delete(header, matcher) { var self = this; var deleted = false; function deleteHeader(_header) { _header = normalizeHeader(_header); if (_header) { var key = utils$1.findKey(self, _header); if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) { delete self[key]; deleted = true; } } } if (utils$1.isArray(header)) { header.forEach(deleteHeader); } else { deleteHeader(header); } return deleted; } }, { key: "clear", value: function clear(matcher) { var keys = Object.keys(this); var i = keys.length; var deleted = false; while (i--) { var key = keys[i]; if (!matcher || matchHeaderValue(this, this[key], key, matcher, true)) { delete this[key]; deleted = true; } } return deleted; } }, { key: "normalize", value: function normalize(format) { var self = this; var headers = {}; utils$1.forEach(this, function (value, header) { var key = utils$1.findKey(headers, header); if (key) { self[key] = normalizeValue(value); delete self[header]; return; } var normalized = format ? formatHeader(header) : String(header).trim(); if (normalized !== header) { delete self[header]; } self[normalized] = normalizeValue(value); headers[normalized] = true; }); return this; } }, { key: "concat", value: function concat() { var _this$constructor; for (var _len = arguments.length, targets = new Array(_len), _key = 0; _key < _len; _key++) { targets[_key] = arguments[_key]; } return (_this$constructor = this.constructor).concat.apply(_this$constructor, [this].concat(targets)); } }, { key: "toJSON", value: function toJSON(asStrings) { var obj = Object.create(null); utils$1.forEach(this, function (value, header) { value != null && value !== false && (obj[header] = asStrings && utils$1.isArray(value) ? value.join(', ') : value); }); return obj; } }, { key: _Symbol$iterator, value: function value() { return Object.entries(this.toJSON())[Symbol.iterator](); } }, { key: "toString", value: function toString() { return Object.entries(this.toJSON()).map(function (_ref) { var _ref2 = _slicedToArray(_ref, 2), header = _ref2[0], value = _ref2[1]; return header + ': ' + value; }).join('\n'); } }, { key: _Symbol$toStringTag, get: function get() { return 'AxiosHeaders'; } }], [{ key: "from", value: function from(thing) { return thing instanceof this ? thing : new this(thing); } }, { key: "concat", value: function concat(first) { var computed = new this(first); for (var _len2 = arguments.length, targets = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { targets[_key2 - 1] = arguments[_key2]; } targets.forEach(function (target) { return computed.set(target); }); return computed; } }, { key: "accessor", value: function accessor(header) { var internals = this[$internals] = this[$internals] = { accessors: {} }; var accessors = internals.accessors; var prototype = this.prototype; function defineAccessor(_header) { var lHeader = normalizeHeader(_header); if (!accessors[lHeader]) { buildAccessors(prototype, _header); accessors[lHeader] = true; } } utils$1.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header); return this; } }]); return AxiosHeaders; }(Symbol.iterator, Symbol.toStringTag); AxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']); // reserved names hotfix utils$1.reduceDescriptors(AxiosHeaders.prototype, function (_ref3, key) { var value = _ref3.value; var mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set` return { get: function get() { return value; }, set: function set(headerValue) { this[mapped] = headerValue; } }; }); utils$1.freezeMethods(AxiosHeaders); var AxiosHeaders$1 = AxiosHeaders; /** * Transform the data for a request or a response * * @param {Array|Function} fns A single function or Array of functions * @param {?Object} response The response object * * @returns {*} The resulting transformed data */ function transformData(fns, response) { var config = this || defaults$1; var context = response || config; var headers = AxiosHeaders$1.from(context.headers); var data = context.data; utils$1.forEach(fns, function transform(fn) { data = fn.call(config, data, headers.normalize(), response ? response.status : undefined); }); headers.normalize(); return data; } function isCancel(value) { return !!(value && value.__CANCEL__); } /** * A `CanceledError` is an object that is thrown when an operation is canceled. * * @param {string=} message The message. * @param {Object=} config The config. * @param {Object=} request The request. * * @returns {CanceledError} The created error. */ function CanceledError(message, config, request) { // eslint-disable-next-line no-eq-null,eqeqeq AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request); this.name = 'CanceledError'; } utils$1.inherits(CanceledError, AxiosError, { __CANCEL__: true }); /** * Resolve or reject a Promise based on response status. * * @param {Function} resolve A function that resolves the promise. * @param {Function} reject A function that rejects the promise. * @param {object} response The response. * * @returns {object} The response. */ function settle(resolve, reject, response) { var validateStatus = response.config.validateStatus; if (!response.status || !validateStatus || validateStatus(response.status)) { resolve(response); } else { reject(new AxiosError('Request failed with status code ' + response.status, [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4], response.config, response.request, response)); } } function parseProtocol(url) { var match = /^([-+\w]{1,25})(:?\/\/|:)/.exec(url); return match && match[1] || ''; } /** * Calculate data maxRate * @param {Number} [samplesCount= 10] * @param {Number} [min= 1000] * @returns {Function} */ function speedometer(samplesCount, min) { samplesCount = samplesCount || 10; var bytes = new Array(samplesCount); var timestamps = new Array(samplesCount); var head = 0; var tail = 0; var firstSampleTS; min = min !== undefined ? min : 1000; return function push(chunkLength) { var now = Date.now(); var startedAt = timestamps[tail]; if (!firstSampleTS) { firstSampleTS = now; } bytes[head] = chunkLength; timestamps[head] = now; var i = tail; var bytesCount = 0; while (i !== head) { bytesCount += bytes[i++]; i = i % samplesCount; } head = (head + 1) % samplesCount; if (head === tail) { tail = (tail + 1) % samplesCount; } if (now - firstSampleTS < min) { return; } var passed = startedAt && now - startedAt; return passed ? Math.round(bytesCount * 1000 / passed) : undefined; }; } /** * Throttle decorator * @param {Function} fn * @param {Number} freq * @return {Function} */ function throttle(fn, freq) { var timestamp = 0; var threshold = 1000 / freq; var timer = null; return function throttled() { var _arguments = arguments; var force = this === true; var now = Date.now(); if (force || now - timestamp > threshold) { if (timer) { clearTimeout(timer); timer = null; } timestamp = now; return fn.apply(null, arguments); } if (!timer) { timer = setTimeout(function () { timer = null; timestamp = Date.now(); return fn.apply(null, _arguments); }, threshold - (now - timestamp)); } }; } var progressEventReducer = (function (listener, isDownloadStream) { var freq = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 3; var bytesNotified = 0; var _speedometer = speedometer(50, 250); return throttle(function (e) { var loaded = e.loaded; var total = e.lengthComputable ? e.total : undefined; var progressBytes = loaded - bytesNotified; var rate = _speedometer(progressBytes); var inRange = loaded <= total; bytesNotified = loaded; var data = { loaded: loaded, total: total, progress: total ? loaded / total : undefined, bytes: progressBytes, rate: rate ? rate : undefined, estimated: rate && total && inRange ? (total - loaded) / rate : undefined, event: e, lengthComputable: total != null }; data[isDownloadStream ? 'download' : 'upload'] = true; listener(data); }, freq); }); var isURLSameOrigin = platform.hasStandardBrowserEnv ? // Standard browser envs have full support of the APIs needed to test // whether the request URL is of the same origin as current location. function standardBrowserEnv() { var msie = /(msie|trident)/i.test(navigator.userAgent); var urlParsingNode = document.createElement('a'); var originURL; /** * Parse a URL to discover its components * * @param {String} url The URL to be parsed * @returns {Object} */ function resolveURL(url) { var href = url; if (msie) { // IE needs attribute set twice to normalize properties urlParsingNode.setAttribute('href', href); href = urlParsingNode.href; } urlParsingNode.setAttribute('href', href); // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils return { href: urlParsingNode.href, protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '', host: urlParsingNode.host, search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, '') : '', hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '', hostname: urlParsingNode.hostname, port: urlParsingNode.port, pathname: urlParsingNode.pathname.charAt(0) === '/' ? urlParsingNode.pathname : '/' + urlParsingNode.pathname }; } originURL = resolveURL(window.location.href); /** * Determine if a URL shares the same origin as the current location * * @param {String} requestURL The URL to test * @returns {boolean} True if URL shares the same origin, otherwise false */ return function isURLSameOrigin(requestURL) { var parsed = utils$1.isString(requestURL) ? resolveURL(requestURL) : requestURL; return parsed.protocol === originURL.protocol && parsed.host === originURL.host; }; }() : // Non standard browser envs (web workers, react-native) lack needed support. function nonStandardBrowserEnv() { return function isURLSameOrigin() { return true; }; }(); var cookies = platform.hasStandardBrowserEnv ? // Standard browser envs support document.cookie { write: function write(name, value, expires, path, domain, secure) { var cookie = [name + '=' + encodeURIComponent(value)]; utils$1.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString()); utils$1.isString(path) && cookie.push('path=' + path); utils$1.isString(domain) && cookie.push('domain=' + domain); secure === true && cookie.push('secure'); document.cookie = cookie.join('; '); }, read: function read(name) { var match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)')); return match ? decodeURIComponent(match[3]) : null; }, remove: function remove(name) { this.write(name, '', Date.now() - 86400000); } } : // Non-standard browser env (web workers, react-native) lack needed support. { write: function write() {}, read: function read() { return null; }, remove: function remove() {} }; /** * Determines whether the specified URL is absolute * * @param {string} url The URL to test * * @returns {boolean} True if the specified URL is absolute, otherwise false */ function isAbsoluteURL(url) { // A URL is considered absolute if it begins with "<scheme>://" or "//" (protocol-relative URL). // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed // by any combination of letters, digits, plus, period, or hyphen. return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url); } /** * Creates a new URL by combining the specified URLs * * @param {string} baseURL The base URL * @param {string} relativeURL The relative URL * * @returns {string} The combined URL */ function combineURLs(baseURL, relativeURL) { return relativeURL ? baseURL.replace(/\/?\/$/, '') + '/' + relativeURL.replace(/^\/+/, '') : baseURL; } /** * Creates a new URL by combining the baseURL with the requestedURL, * only when the requestedURL is not already an absolute URL. * If the requestURL is absolute, this function returns the requestedURL untouched. * * @param {string} baseURL The base URL * @param {string} requestedURL Absolute or relative URL to combine * * @returns {string} The combined full path */ function buildFullPath(baseURL, requestedURL) { if (baseURL && !isAbsoluteURL(requestedURL)) { return combineURLs(baseURL, requestedURL); } return requestedURL; } var headersToObject = function headersToObject(thing) { return thing instanceof AxiosHeaders$1 ? _objectSpread2({}, thing) : thing; }; /** * Config-specific merge-function which creates a new config-object * by merging two configuration objects together. * * @param {Object} config1 * @param {Object} config2 * * @returns {Object} New object resulting from merging config2 to config1 */ function mergeConfig(config1, config2) { // eslint-disable-next-line no-param-reassign config2 = config2 || {}; var config = {}; function getMergedValue(target, source, caseless) { if (utils$1.isPlainObject(target) && utils$1.isPlainObject(source)) { return utils$1.merge.call({ caseless: caseless }, target, source); } else if (utils$1.isPlainObject(source)) { return utils$1.merge({}, source); } else if (utils$1.isArray(source)) { return source.slice(); } return source; } // eslint-disable-next-line consistent-return function mergeDeepProperties(a, b, caseless) { if (!utils$1.isUndefined(b)) { return getMergedValue(a, b, caseless); } else if (!utils$1.isUndefined(a)) { return getMergedValue(undefined, a, caseless); } } // eslint-disable-next-line consistent-return function valueFromConfig2(a, b) { if (!utils$1.isUndefined(b)) { return getMergedValue(undefined, b); } } // eslint-disable-next-line consistent-return function defaultToConfig2(a, b) { if (!utils$1.isUndefined(b)) { return getMergedValue(undefined, b); } else if (!utils$1.isUndefined(a)) { return getMergedValue(undefined, a); } } // eslint-disable-next-line consistent-return function mergeDirectKeys(a, b, prop) { if (prop in config2) { return getMergedValue(a, b); } else if (prop in config1) { return getMergedValue(undefined, a); } } var mergeMap = { url: valueFromConfig2, method: valueFromConfig2, data: valueFromConfig2, baseURL: defaultToConfig2, transformRequest: defaultToConfig2, transformResponse: defaultToConfig2, paramsSerializer: defaultToConfig2, timeout: defaultToConfig2, timeoutMessage: defaultToConfig2, withCredentials: defaultToConfig2, withXSRFToken: defaultToConfig2, adapter: defaultToConfig2, responseType: defaultToConfig2, xsrfCookieName: defaultToConfig2, xsrfHeaderName: defaultToConfig2, onUploadProgress: defaultToConfig2, onDownloadProgress: defaultToConfig2, decompress: defaultToConfig2, maxContentLength: defaultToConfig2, maxBodyLength: defaultToConfig2, beforeRedirect: defaultToConfig2, transport: defaultToConfig2, httpAgent: defaultToConfig2, httpsAgent: defaultToConfig2, cancelToken: defaultToConfig2, socketPath: defaultToConfig2, responseEncoding: defaultToConfig2, validateStatus: mergeDirectKeys, headers: function headers(a, b) { return mergeDeepProperties(headersToObject(a), headersToObject(b), true); } }; utils$1.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) { var merge = mergeMap[prop] || mergeDeepProperties; var configValue = merge(config1[prop], config2[prop], prop); utils$1.isUndefined(configValue) && merge !== mergeDirectKeys || (config[prop] = configValue); }); return config; } var resolveConfig = (function (config) { var newConfig = mergeConfig({}, config); var data = newConfig.data, withXSRFToken = newConfig.withXSRFToken, xsrfHeaderName = newConfig.xsrfHeaderName, xsrfCookieName = newConfig.xsrfCookieName, headers = newConfig.headers, auth = newConfig.auth; newConfig.headers = headers = AxiosHeaders$1.from(headers); newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer); // HTTP basic authentication if (auth) { headers.set('Authorization', 'Basic ' + btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))); } var contentType; if (utils$1.isFormData(data)) { if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) { headers.setContentType(undefined); // Let the browser set it } else if ((contentType = headers.getContentType()) !== false) { // fix semicolon duplication issue for ReactNative FormData implementation var _ref = contentType ? contentType.split(';').map(function (token) { return token.trim(); }).filter(Boolean) : [], _ref2 = _toArray(_ref), type = _ref2[0], tokens = _ref2.slice(1); headers.setContentType([type || 'multipart/form-data'].concat(_toConsumableArray(tokens)).join('; ')); } } // Add xsrf header // This is only done if running in a standard browser environment. // Specifically not if we're in a web worker, or react-native. if (platform.hasStandardBrowserEnv) { withXSRFToken && utils$1.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig)); if (withXSRFToken || withXSRFToken !== false && isURLSameOrigin(newConfig.url)) { // Add xsrf header var xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName); if (xsrfValue) { headers.set(xsrfHeaderName, xsrfValue); } } } return newConfig; }); var isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined'; var xhrAdapter = isXHRAdapterSupported && function (config) { return new Promise(function dispatchXhrRequest(resolve, reject) { var _config = resolveConfig(config); var requestData = _config.data; var requestHeaders = AxiosHeaders$1.from(_config.headers).normalize(); var responseType = _config.responseType; var onCanceled; function done() { if (_config.cancelToken) { _config.cancelToken.unsubscribe(onCanceled); } if (_config.signal) { _config.signal.removeEventListener('abort', onCanceled); } } var request = new XMLHttpRequest(); request.open(_config.method.toUpperCase(), _config.url, true); // Set the request timeout in MS request.timeout = _config.timeout; function onloadend() { if (!request) { return; } // Prepare the response var responseHeaders = AxiosHeaders$1.from('getAllResponseHeaders' in request && request.getAllResponseHeaders()); var responseData = !responseType || responseType === 'text' || responseType === 'json' ? request.responseText : request.response; var response = { data: responseData, status: request.status, statusText: request.statusText, headers: responseHeaders, config: config, request: request }; settle(function _resolve(value) { resolve(value); done(); }, function _reject(err) { reject(err); done(); }, response); // Clean up request request = null; } if ('onloadend' in request) { // Use onloadend if available request.onloadend = onloadend; } else { // Listen for ready state to emulate onloadend request.onreadystatechange = function handleLoad() { if (!request || request.readyState !== 4) { return; } // The request errored out and we didn't get a response, this will be // handled by onerror instead // With one exception: request that using file: protocol, most browsers // will return status as 0 even though it's a successful request if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) { return; } // readystate handler is calling before onerror or ontimeout handlers, // so we should call onloadend on the next 'tick' setTimeout(onloadend); }; } // Handle browser request cancellation (as opposed to a manual cancellation) request.onabort = function handleAbort() { if (!request) { return; } reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, _config, request)); // Clean up request request = null; }; // Handle low level network errors request.onerror = function handleError() { // Real errors are hidden from us by the browser // onerror should only fire if it's a network error reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, _config, request)); // Clean up request request = null; }; // Handle timeout request.ontimeout = function handleTimeout() { var timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded'; var transitional = _config.transitional || transitionalDefaults; if (_config.timeoutErrorMessage) { timeoutErrorMessage = _config.timeoutErrorMessage; } reject(new AxiosError(timeoutErrorMessage, transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED, _config, request)); // Clean up request request = null; }; // Remove Content-Type if data is undefined requestData === undefined && requestHeaders.setContentType(null); // Add headers to the request if ('setRequestHeader' in request) { utils$1.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) { request.setRequestHeader(key, val); }); } // Add withCredentials to request if needed if (!utils$1.isUndefined(_config.withCredentials)) { request.withCredentials = !!_config.withCredentials; } // Add responseType to request if needed if (responseType && responseType !== 'json') { request.responseType = _config.responseType; } // Handle progress if needed if (typeof _config.onDownloadProgress === 'function') { request.addEventListener('progress', progressEventReducer(_config.onDownloadProgress, true)); } // Not all browsers support upload events if (typeof _config.onUploadProgress === 'function' && request.upload) { request.upload.addEventListener('progress', progressEventReducer(_config.onUploadProgress)); } if (_config.cancelToken || _config.signal) { // Handle cancellation // eslint-disable-next-line func-names onCanceled = function onCanceled(cancel) { if (!request) { return; } reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel); request.abort(); request = null; }; _config.cancelToken && _config.cancelToken.subscribe(onCanceled); if (_config.signal) { _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled); } } var protocol = parseProtocol(_config.url); if (protocol && platform.protocols.indexOf(protocol) === -1) { reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config)); return; } // Send the request request.send(requestData || null); }); }; var composeSignals = function composeSignals(signals, timeout) { var controller = new AbortController(); var aborted; var onabort = function onabort(cancel) { if (!aborted) { aborted = true; unsubscribe(); var err = cancel instanceof Error ? cancel : this.reason; controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err)); } }; var timer = timeout && setTimeout(function () { onabort(new AxiosError("timeout ".concat(timeout, " of ms exceeded"), AxiosError.ETIMEDOUT)); }, timeout); var unsubscribe = function unsubscribe() { if (signals) { timer && clearTimeout(timer); timer = null; signals.forEach(function (signal) { signal && (signal.removeEventListener ? signal.removeEventListener('abort', onabort) : signal.unsubscribe(onabort)); }); signals = null; } }; signals.forEach(function (signal) { return signal && signal.addEventListener && signal.addEventListener('abort', onabort); }); var signal = controller.signal; signal.unsubscribe = unsubscribe; return [signal, function () { timer && clearTimeout(timer); timer = null; }]; }; var composeSignals$1 = composeSignals; var streamChunk = /*#__PURE__*/_regeneratorRuntime().mark(function streamChunk(chunk, chunkSize) { var len, pos, end; return _regeneratorRuntime().wrap(function streamChunk$(_context) { while (1) switch (_context.prev = _context.next) { case 0: len = chunk.byteLength; if (!(!chunkSize || len < chunkSize)) { _context.next = 5; break; } _context.next = 4; return chunk; case 4: return _context.abrupt("return"); case 5: pos = 0; case 6: if (!(pos < len)) { _context.next = 13; break; } end = pos + chunkSize; _context.next = 10; return chunk.slice(pos, end); case 10: pos = end; _context.next = 6; break; case 13: case "end": return _context.stop(); } }, streamChunk); }); var readBytes = /*#__PURE__*/function () { var _ref = _wrapAsyncGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(iterable, chunkSize, encode) { var _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, chunk; return _regeneratorRuntime().wrap(function _callee$(_context2) { while (1) switch (_context2.prev = _context2.next) { case 0: _iteratorAbruptCompletion = false; _didIteratorError = false; _context2.prev = 2; _iterator = _asyncIterator(iterable); case 4: _context2.next = 6; return _awaitAsyncGenerator(_iterator.next()); case 6: if (!(_iteratorAbruptCompletion = !(_step = _context2.sent).done)) { _context2.next = 27; break; } chunk = _step.value; _context2.t0 = _asyncGeneratorDelegate; _context2.t1 = _asyncIterator; _context2.t2 = streamChunk; if (!ArrayBuffer.isView(chunk)) { _context2.next = 15; break; } _context2.t3 = chunk; _context2.next = 18; break; case 15: _context2.next = 17; return _awaitAsyncGenerator(encode(String(chunk))); case 17: _context2.t3 = _context2.sent; case 18: _context2.t4 = _context2.t3; _context2.t5 = chunkSize; _context2.t6 = (0, _context2.t2)(_context2.t4, _context2.t5); _context2.t7 = (0, _context2.t1)(_context2.t6); _context2.t8 = _awaitAsyncGenerator; return _context2.delegateYield((0, _context2.t0)(_context2.t7, _context2.t8), "t9", 24); case 24: _iteratorAbruptCompletion = false; _context2.next = 4; break; case 27: _context2.next = 33; break; case 29: _context2.prev = 29; _context2.t10 = _context2["catch"](2); _didIteratorError = true; _iteratorError = _context2.t10; case 33: _context2.prev = 33; _context2.prev = 34; if (!(_iteratorAbruptCompletion && _iterator["return"] != null)) { _context2.next = 38; break; } _context2.next = 38; return _awaitAsyncGenerator(_iterator["return"]()); case 38: _context2.prev = 38; if (!_didIteratorError) { _context2.next = 41; break; } throw _iteratorError; case 41: return _context2.finish(38); case 42: return _context2.finish(33); case 43: case "end": return _context2.stop(); } }, _callee, null, [[2, 29, 33, 43], [34,, 38, 42]]); })); return function readBytes(_x, _x2, _x3) { return _ref.apply(this, arguments); }; }(); var trackStream = function trackStream(stream, chunkSize, onProgress, onFinish, encode) { var iterator = readBytes(stream, chunkSize, encode); var bytes = 0; return new ReadableStream({ type: 'bytes', pull: function pull(controller) { return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() { var _yield$iterator$next, done, value, len; return _regeneratorRuntime().wrap(function _callee2$(_context3) { while (1) switch (_context3.prev = _context3.next) { case 0: _context3.next = 2; return iterator.next(); case 2: _yield$iterator$next = _context3.sent; done = _yield$iterator$next.done; value = _yield$iterator$next.value; if (!done) { _context3.next = 9; break; } controller.close(); onFinish(); return _context3.abrupt("return"); case 9: len = value.byteLength; onProgress && onProgress(bytes += len); controller.enqueue(new Uint8Array(value)); case 12: case "end": return _context3.stop(); } }, _callee2); }))(); }, cancel: function cancel(reason) { onFinish(reason); return iterator["return"](); } }, { highWaterMark: 2 }); }; var fetchProgressDecorator = function fetchProgressDecorator(total, fn) { var lengthComputable = total != null; return function (loaded) { return setTimeout(function () { return fn({ lengthComputable: lengthComputable, total: total, loaded: loaded }); }); }; }; var isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function'; var isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function'; // used only inside the fetch adapter var encodeText = isFetchSupported && (typeof TextEncoder === 'function' ? function (encoder) { return function (str) { return encoder.encode(str); }; }(new TextEncoder()) : ( /*#__PURE__*/function () { var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(str) { return _regeneratorRuntime().wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: _context.t0 = Uint8Array; _context.next = 3; return new Response(str).arrayBuffer(); case 3: _context.t1 = _context.sent; return _context.abrupt("return", new _context.t0(_context.t1)); case 5: case "end": return _context.stop(); } }, _callee); })); return function (_x) { return _ref.apply(this, arguments); }; }())); var supportsRequestStream = isReadableStreamSupported && function () { var duplexAccessed = false; var hasContentType = new Request(platform.origin, { body: new ReadableStream(), method: 'POST', get duplex() { duplexAccessed = true; return 'half'; } }).headers.has('Content-Type'); return duplexAccessed && !hasContentType; }(); var DEFAULT_CHUNK_SIZE = 64 * 1024; var supportsResponseStream = isReadableStreamSupported && !!function () { try { return utils$1.isReadableStream(new Response('').body); } catch (err) { // return undefined } }(); var resolvers = { stream: supportsResponseStream && function (res) { return res.body; } }; isFetchSupported && function (res) { ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(function (type) { !resolvers[type] && (resolvers[type] = utils$1.isFunction(res[type]) ? function (res) { return res[type](); } : function (_, config) { throw new AxiosError("Response type '".concat(type, "' is not supported"), AxiosError.ERR_NOT_SUPPORT, config); }); }); }(new Response()); var getBodyLength = /*#__PURE__*/function () { var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(body) { return _regeneratorRuntime().wrap(function _callee2$(_context2) { while (1) switch (_context2.prev = _context2.next) { case 0: if (!(body == null)) { _context2.next = 2; break; } return _context2.abrupt("return", 0); case 2: if (!utils$1.isBlob(body)) { _context2.next = 4; break; } return _context2.abrupt("return", body.size); case 4: if (!utils$1.isSpecCompliantForm(body)) { _context2.next = 8; break; } _context2.next = 7; return new Request(body).arrayBuffer(); case 7: return _context2.abrupt("return", _context2.sent.byteLength); case 8: if (!utils$1.isArrayBufferView(body)) { _context2.next = 10; break; } return _context2.abrupt("return", body.byteLength); case 10: if (utils$1.isURLSearchParams(body)) { body = body + ''; } if (!utils$1.isString(body)) { _context2.next = 15; break; } _context2.next = 14; return encodeText(body); case 14: return _context2.abrupt("return", _context2.sent.byteLength); case 15: case "end": return _context2.stop(); } }, _callee2); })); return function getBodyLength(_x2) { return _ref2.apply(this, arguments); }; }(); var resolveBodyLength = /*#__PURE__*/function () { var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(headers, body) { var length; return _regeneratorRuntime().wrap(function _callee3$(_context3) { while (1) switch (_context3.prev = _context3.next) { case 0: length = utils$1.toFiniteNumber(headers.getContentLength()); return _context3.abrupt("return", length == null ? getBodyLength(body) : length); case 2: case "end": return _context3.stop(); } }, _callee3); })); return function resolveBodyLength(_x3, _x4) { return _ref3.apply(this, arguments); }; }(); var fetchAdapter = isFetchSupported && ( /*#__PURE__*/function () { var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(config) { var _resolveConfig, url, method, data, signal, cancelToken, timeout, onDownloadProgress, onUploadProgress, responseType, headers, _resolveConfig$withCr, withCredentials, fetchOptions, _ref5, _ref6, composedSignal, stopTimeout, finished, request, onFinish, requestContentLength, _request, contentTypeHeader, response, isStreamResponse, options, responseContentLength, responseData; return _regeneratorRuntime().wrap(function _callee4$(_context4) { while (1) switch (_context4.prev = _context4.next) { case 0: _resolveConfig = resolveConfig(config), url = _resolveConfig.url, method = _resolveConfig.method, data = _resolveConfig.data, signal = _resolveConfig.signal, cancelToken = _resolveConfig.cancelToken, timeout = _resolveConfig.timeout, onDownloadProgress = _resolveConfig.onDownloadProgress, onUploadProgress = _resolveConfig.onUploadProgress, responseType = _resolveConfig.responseType, headers = _resolveConfig.headers, _resolveConfig$withCr = _resolveConfig.withCredentials, withCredentials = _resolveConfig$withCr === void 0 ? 'same-origin' : _resolveConfig$withCr, fetchOptions = _resolveConfig.fetchOptions; responseType = responseType ? (responseType + '').toLowerCase() : 'text'; _ref5 = signal || cancelToken || timeout ? composeSignals$1([signal, cancelToken], timeout) : [], _ref6 = _slicedToArray(_ref5, 2), composedSignal = _ref6[0], stopTimeout = _ref6[1]; onFinish = function onFinish() { !finished && setTimeout(function () { composedSignal && composedSignal.unsubscribe(); }); finished = true; }; _context4.prev = 4; _context4.t0 = onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head'; if (!_context4.t0) { _context4.next = 11; break; } _context4.next = 9; return resolveBodyLength(headers, data); case 9: _context4.t1 = requestContentLength = _context4.sent; _context4.t0 = _context4.t1 !== 0; case 11: if (!_context4.t0) { _context4.next = 15; break; } _request = new Request(url, { method: 'POST', body: data, duplex: "half" }); if (utils$1.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) { headers.setContentType(contentTypeHeader); } if (_request.body) { data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, fetchProgressDecorator(requestContentLength, progressEventReducer(onUploadProgress)), null, encodeText); } case 15: if (!utils$1.isString(withCredentials)) { withCredentials = withCredentials ? 'cors' : 'omit'; } request = new Request(url, _objectSpread2(_objectSpread2({}, fetchOptions), {}, { signal: composedSignal, method: method.toUpperCase(), headers: headers.normalize().toJSON(), body: data, duplex: "half", withCredentials: withCredentials })); _context4.next = 19; return fetch(request); case 19: response = _context4.sent; isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response'); if (supportsResponseStream && (onDownloadProgress || isStreamResponse)) { options = {}; ['status', 'statusText', 'headers'].forEach(function (prop) { options[prop] = response[prop]; }); responseContentLength = utils$1.toFiniteNumber(response.headers.get('content-length')); response = new Response(trackStream(response.body, DEFAULT_CHUNK_SIZE, onDownloadProgress && fetchProgressDecorator(responseContentLength, progressEventReducer(onDownloadProgress, true)), isStreamResponse && onFinish, encodeText), options); } responseType = responseType || 'text'; _context4.next = 25; return resolvers[utils$1.findKey(resolvers, responseType) || 'text'](response, config); case 25: responseData = _context4.sent; !isStreamResponse && onFinish(); stopTimeout && stopTimeout(); _context4.next = 30; return new Promise(function (resolve, reject) { settle(resolve, reject, { data: responseData, headers: AxiosHeaders$1.from(response.headers), status: response.status, statusText: response.statusText, config: config, request: request }); }); case 30: return _context4.abrupt("return", _context4.sent); case 33: _context4.prev = 33; _context4.t2 = _context4["catch"](4); onFinish(); if (!(_context4.t2 && _context4.t2.name === 'TypeError' && /fetch/i.test(_context4.t2.message))) { _context4.next = 38; break; } throw Object.assign(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request), { cause: _context4.t2.cause || _context4.t2 }); case 38: throw AxiosError.from(_context4.t2, _context4.t2 && _context4.t2.code, config, request); case 39: case "end": return _context4.stop(); } }, _callee4, null, [[4, 33]]); })); return function (_x5) { return _ref4.apply(this, arguments); }; }()); var knownAdapters = { http: httpAdapter, xhr: xhrAdapter, fetch: fetchAdapter }; utils$1.forEach(knownAdapters, function (fn, value) { if (fn) { try { Object.defineProperty(fn, 'name', { value: value }); } catch (e) { // eslint-disable-next-line no-empty } Object.defineProperty(fn, 'adapterName', { value: value }); } }); var renderReason = function renderReason(reason) { return "- ".concat(reason); }; var isResolvedHandle = function isResolvedHandle(adapter) { return utils$1.isFunction(adapter) || adapter === null || adapter === false; }; var adapters = { getAdapter: function getAdapter(adapters) { adapters = utils$1.isArray(adapters) ? adapters : [adapters]; var _adapters = adapters, length = _adapters.length; var nameOrAdapter; var adapter; var rejectedReasons = {}; for (var i = 0; i < length; i++) { nameOrAdapter = adapters[i]; var id = void 0; adapter = nameOrAdapter; if (!isResolvedHandle(nameOrAdapter)) { adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()]; if (adapter === undefined) { throw new AxiosError("Unknown adapter '".concat(id, "'")); } } if (adapter) { break; } rejectedReasons[id || '#' + i] = adapter; } if (!adapter) { var reasons = Object.entries(rejectedReasons).map(function (_ref) { var _ref2 = _slicedToArray(_ref, 2), id = _ref2[0], state = _ref2[1]; return "adapter ".concat(id, " ") + (state === false ? 'is not supported by the environment' : 'is not available in the build'); }); var s = length ? reasons.length > 1 ? 'since :\n' + reasons.map(renderReason).join('\n') : ' ' + renderReason(reasons[0]) : 'as no adapter specified'; throw new AxiosError("There is no suitable adapter to dispatch the request " + s, 'ERR_NOT_SUPPORT'); } return adapter; }, adapters: knownAdapters }; /** * Throws a `CanceledError` if cancellation has been requested. * * @param {Object} config The config that is to be used for the request * * @returns {void} */ function throwIfCancellationRequested(config) { if (config.cancelToken) { config.cancelToken.throwIfRequested(); } if (config.signal && config.signal.aborted) { throw new CanceledError(null, config); } } /** * Dispatch a request to the server using the configured adapter. * * @param {object} config The config that is to be used for the request * * @returns {Promise} The Promise to be fulfilled */ function dispatchRequest(config) { throwIfCancellationRequested(config); config.headers = AxiosHeaders$1.from(config.headers); // Transform request data config.data = transformData.call(config, config.transformRequest); if (['post', 'put', 'patch'].indexOf(config.method) !== -1) { config.headers.setContentType('application/x-www-form-urlencoded', false); } var adapter = adapters.getAdapter(config.adapter || defaults$1.adapter); return adapter(config).then(function onAdapterResolution(response) { throwIfCancellationRequested(config); // Transform response data response.data = transformData.call(config, config.transformResponse, response); response.headers = AxiosHeaders$1.from(response.headers); return response; }, function onAdapterRejection(reason) { if (!isCancel(reason)) { throwIfCancellationRequested(config); // Transform response data if (reason && reason.response) { reason.response.data = transformData.call(config, config.transformResponse, reason.response); reason.response.headers = AxiosHeaders$1.from(reason.response.headers); } } return Promise.reject(reason); }); } var VERSION = "1.7.2"; var validators$1 = {}; // eslint-disable-next-line func-names ['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function (type, i) { validators$1[type] = function validator(thing) { return _typeof(thing) === type || 'a' + (i < 1 ? 'n ' : ' ') + type; }; }); var deprecatedWarnings = {}; /** * Transitional option validator * * @param {function|boolean?} validator - set to false if the transitional option has been removed * @param {string?} version - deprecated version / removed since version * @param {string?} message - some message with additional info * * @returns {function} */ validators$1.transitional = function transitional(validator, version, message) { function formatMessage(opt, desc) { return '[Axios v' + VERSION + '] Transitional option \'' + opt + '\'' + desc + (message ? '. ' + message : ''); } // eslint-disable-next-line func-names return function (value, opt, opts) { if (validator === false) { throw new AxiosError(formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')), AxiosError.ERR_DEPRECATED); } if (version && !deprecatedWarnings[opt]) { deprecatedWarnings[opt] = true; // eslint-disable-next-line no-console console.warn(formatMessage(opt, ' has been deprecated since v' + version + ' and will be removed in the near future')); } return validator ? validator(value, opt, opts) : true; }; }; /** * Assert object's properties type * * @param {object} options * @param {object} schema * @param {boolean?} allowUnknown * * @returns {object} */ function assertOptions(options, schema, allowUnknown) { if (_typeof(options) !== 'object') { throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE); } var keys = Object.keys(options); var i = keys.length; while (i-- > 0) { var opt = keys[i]; var validator = schema[opt]; if (validator) { var value = options[opt]; var result = value === undefined || validator(value, opt, options); if (result !== true) { throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE); } continue; } if (allowUnknown !== true) { throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION); } } } var validator = { assertOptions: assertOptions, validators: validators$1 }; var validators = validator.validators; /** * Create a new instance of Axios * * @param {Object} instanceConfig The default config for the instance * * @return {Axios} A new instance of Axios */ var Axios = /*#__PURE__*/function () { function Axios(instanceConfig) { _classCallCheck(this, Axios); this.defaults = instanceConfig; this.interceptors = { request: new InterceptorManager$1(), response: new InterceptorManager$1() }; } /** * Dispatch a request * * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults) * @param {?Object} config * * @returns {Promise} The Promise to be fulfilled */ _createClass(Axios, [{ key: "request", value: (function () { var _request2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(configOrUrl, config) { var dummy, stack; return _regeneratorRuntime().wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: _context.prev = 0; _context.next = 3; return this._request(configOrUrl, config); case 3: return _context.abrupt("return", _context.sent); case 6: _context.prev = 6; _context.t0 = _context["catch"](0); if (_context.t0 instanceof Error) { Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : dummy = new Error(); // slice off the Error: ... line stack = dummy.stack ? dummy.stack.replace(/^.+\n/, '') : ''; try { if (!_context.t0.stack) { _context.t0.stack = stack; // match without the 2 top stack lines } else if (stack && !String(_context.t0.stack).endsWith(stack.replace(/^.+\n.+\n/, ''))) { _context.t0.stack += '\n' + stack; } } catch (e) { // ignore the case where "stack" is an un-writable property } } throw _context.t0; case 10: case "end": return _context.stop(); } }, _callee, this, [[0, 6]]); })); function request(_x, _x2) { return _request2.apply(this, arguments); } return request; }()) }, { key: "_request", value: function _request(configOrUrl, config) { /*eslint no-param-reassign:0*/ // Allow for axios('example/url'[, config]) a la fetch API if (typeof configOrUrl === 'string') { config = config || {}; config.url = configOrUrl; } else { config = configOrUrl || {}; } config = mergeConfig(this.defaults, config); var _config = config, transitional = _config.transitional, paramsSerializer = _config.paramsSerializer, headers = _config.headers; if (transitional !== undefined) { validator.assertOptions(transitional, { silentJSONParsing: validators.transitional(validators["boolean"]), forcedJSONParsing: validators.transitional(validators["boolean"]), clarifyTimeoutError: validators.transitional(validators["boolean"]) }, false); } if (paramsSerializer != null) { if (utils$1.isFunction(paramsSerializer)) { config.paramsSerializer = { serialize: paramsSerializer }; } else { validator.assertOptions(paramsSerializer, { encode: validators["function"], serialize: validators["function"] }, true); } } // Set config.method config.method = (config.method || this.defaults.method || 'get').toLowerCase(); // Flatten headers var contextHeaders = headers && utils$1.merge(headers.common, headers[config.method]); headers && utils$1.forEach(['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], function (method) { delete headers[method]; }); config.headers = AxiosHeaders$1.concat(contextHeaders, headers); // filter out skipped interceptors var requestInterceptorChain = []; var synchronousRequestInterceptors = true; this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) { return; } synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous; requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected); }); var responseInterceptorChain = []; this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) { responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected); }); var promise; var i = 0; var len; if (!synchronousRequestInterceptors) { var chain = [dispatchRequest.bind(this), undefined]; chain.unshift.apply(chain, requestInterceptorChain); chain.push.apply(chain, responseInterceptorChain); len = chain.length; promise = Promise.resolve(config); while (i < len) { promise = promise.then(chain[i++], chain[i++]); } return promise; } len = requestInterceptorChain.length; var newConfig = config; i = 0; while (i < len) { var onFulfilled = requestInterceptorChain[i++]; var onRejected = requestInterceptorChain[i++]; try { newConfig = onFulfilled(newConfig); } catch (error) { onRejected.call(this, error); break; } } try { promise = dispatchRequest.call(this, newConfig); } catch (error) { return Promise.reject(error); } i = 0; len = responseInterceptorChain.length; while (i < len) { promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]); } return promise; } }, { key: "getUri", value: function getUri(config) { config = mergeConfig(this.defaults, config); var fullPath = buildFullPath(config.baseURL, config.url); return buildURL(fullPath, config.params, config.paramsSerializer); } }]); return Axios; }(); // Provide aliases for supported request methods utils$1.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) { /*eslint func-names:0*/ Axios.prototype[method] = function (url, config) { return this.request(mergeConfig(config || {}, { method: method, url: url, data: (config || {}).data })); }; }); utils$1.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { /*eslint func-names:0*/ function generateHTTPMethod(isForm) { return function httpMethod(url, data, config) { return this.request(mergeConfig(config || {}, { method: method, headers: isForm ? { 'Content-Type': 'multipart/form-data' } : {}, url: url, data: data })); }; } Axios.prototype[method] = generateHTTPMethod(); Axios.prototype[method + 'Form'] = generateHTTPMethod(true); }); var Axios$1 = Axios; /** * A `CancelToken` is an object that can be used to request cancellation of an operation. * * @param {Function} executor The executor function. * * @returns {CancelToken} */ var CancelToken = /*#__PURE__*/function () { function CancelToken(executor) { _classCallCheck(this, CancelToken); if (typeof executor !== 'function') { throw new TypeError('executor must be a function.'); } var resolvePromise; this.promise = new Promise(function promiseExecutor(resolve) { resolvePromise = resolve; }); var token = this; // eslint-disable-next-line func-names this.promise.then(function (cancel) { if (!token._listeners) return; var i = token._listeners.length; while (i-- > 0) { token._listeners[i](cancel); } token._listeners = null; }); // eslint-disable-next-line func-names this.promise.then = function (onfulfilled) { var _resolve; // eslint-disable-next-line func-names var promise = new Promise(function (resolve) { token.subscribe(resolve); _resolve = resolve; }).then(onfulfilled); promise.cancel = function reject() { token.unsubscribe(_resolve); }; return promise; }; executor(function cancel(message, config, request) { if (token.reason) { // Cancellation has already been requested return; } token.reason = new CanceledError(message, config, request); resolvePromise(token.reason); }); } /** * Throws a `CanceledError` if cancellation has been requested. */ _createClass(CancelToken, [{ key: "throwIfRequested", value: function throwIfRequested() { if (this.reason) { throw this.reason; } } /** * Subscribe to the cancel signal */ }, { key: "subscribe", value: function subscribe(listener) { if (this.reason) { listener(this.reason); return; } if (this._listeners) { this._listeners.push(listener); } else { this._listeners = [listener]; } } /** * Unsubscribe from the cancel signal */ }, { key: "unsubscribe", value: function unsubscribe(listener) { if (!this._listeners) { return; } var index = this._listeners.indexOf(listener); if (index !== -1) { this._listeners.splice(index, 1); } } /** * Returns an object that contains a new `CancelToken` and a function that, when called, * cancels the `CancelToken`. */ }], [{ key: "source", value: function source() { var cancel; var token = new CancelToken(function executor(c) { cancel = c; }); return { token: token, cancel: cancel }; } }]); return CancelToken; }(); var CancelToken$1 = CancelToken; /** * Syntactic sugar for invoking a function and expanding an array for arguments. * * Common use case would be to use `Function.prototype.apply`. * * ```js * function f(x, y, z) {} * var args = [1, 2, 3]; * f.apply(null, args); * ``` * * With `spread` this example can be re-written. * * ```js * spread(function(x, y, z) {})([1, 2, 3]); * ``` * * @param {Function} callback * * @returns {Function} */ function spread(callback) { return function wrap(arr) { return callback.apply(null, arr); }; } /** * Determines whether the payload is an error thrown by Axios * * @param {*} payload The value to test * * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false */ function isAxiosError(payload) { return utils$1.isObject(payload) && payload.isAxiosError === true; } var HttpStatusCode = { Continue: 100, SwitchingProtocols: 101, Processing: 102, EarlyHints: 103, Ok: 200, Created: 201, Accepted: 202, NonAuthoritativeInformation: 203, NoContent: 204, ResetContent: 205, PartialContent: 206, MultiStatus: 207, AlreadyReported: 208, ImUsed: 226, MultipleChoices: 300, MovedPermanently: 301, Found: 302, SeeOther: 303, NotModified: 304, UseProxy: 305, Unused: 306, TemporaryRedirect: 307, PermanentRedirect: 308, BadRequest: 400, Unauthorized: 401, PaymentRequired: 402, Forbidden: 403, NotFound: 404, MethodNotAllowed: 405, NotAcceptable: 406, ProxyAuthenticationRequired: 407, RequestTimeout: 408, Conflict: 409, Gone: 410, LengthRequired: 411, PreconditionFailed: 412, PayloadTooLarge: 413, UriTooLong: 414, UnsupportedMediaType: 415, RangeNotSatisfiable: 416, ExpectationFailed: 417, ImATeapot: 418, MisdirectedRequest: 421, UnprocessableEntity: 422, Locked: 423, FailedDependency: 424, TooEarly: 425, UpgradeRequired: 426, PreconditionRequired: 428, TooManyRequests: 429, RequestHeaderFieldsTooLarge: 431, UnavailableForLegalReasons: 451, InternalServerError: 500, NotImplemented: 501, BadGateway: 502, ServiceUnavailable: 503, GatewayTimeout: 504, HttpVersionNotSupported: 505, VariantAlsoNegotiates: 506, InsufficientStorage: 507, LoopDetected: 508, NotExtended: 510, NetworkAuthenticationRequired: 511 }; Object.entries(HttpStatusCode).forEach(function (_ref) { var _ref2 = _slicedToArray(_ref, 2), key = _ref2[0], value = _ref2[1]; HttpStatusCode[value] = key; }); var HttpStatusCode$1 = HttpStatusCode; /** * Create an instance of Axios * * @param {Object} defaultConfig The default config for the instance * * @returns {Axios} A new instance of Axios */ function createInstance(defaultConfig) { var context = new Axios$1(defaultConfig); var instance = bind(Axios$1.prototype.request, context); // Copy axios.prototype to instance utils$1.extend(instance, Axios$1.prototype, context, { allOwnKeys: true }); // Copy context to instance utils$1.extend(instance, context, null, { allOwnKeys: true }); // Factory for creating new instances instance.create = function create(instanceConfig) { return createInstance(mergeConfig(defaultConfig, instanceConfig)); }; return instance; } // Create the default instance to be exported var axios = createInstance(defaults$1); // Expose Axios class to allow class inheritance axios.Axios = Axios$1; // Expose Cancel & CancelToken axios.CanceledError = CanceledError; axios.CancelToken = CancelToken$1; axios.isCancel = isCancel; axios.VERSION = VERSION; axios.toFormData = toFormData; // Expose AxiosError class axios.AxiosError = AxiosError; // alias for CanceledError for backward compatibility axios.Cancel = axios.CanceledError; // Expose all/spread axios.all = function all(promises) { return Promise.all(promises); }; axios.spread = spread; // Expose isAxiosError axios.isAxiosError = isAxiosError; // Expose mergeConfig axios.mergeConfig = mergeConfig; axios.AxiosHeaders = AxiosHeaders$1; axios.formToJSON = function (thing) { return formDataToJSON(utils$1.isHTMLForm(thing) ? new FormData(thing) : thing); }; axios.getAdapter = adapters.getAdapter; axios.HttpStatusCode = HttpStatusCode$1; axios["default"] = axios; return axios; })); //# sourceMappingURL=axios.js.map PK�}�\�����axios.js.mapnu�[���{"version":3,"file":"axios.js","sources":["../lib/helpers/bind.js","../lib/utils.js","../lib/core/AxiosError.js","../lib/helpers/null.js","../lib/helpers/toFormData.js","../lib/helpers/AxiosURLSearchParams.js","../lib/helpers/buildURL.js","../lib/core/InterceptorManager.js","../lib/defaults/transitional.js","../lib/platform/browser/classes/URLSearchParams.js","../lib/platform/browser/classes/FormData.js","../lib/platform/browser/classes/Blob.js","../lib/platform/browser/index.js","../lib/platform/common/utils.js","../lib/platform/index.js","../lib/helpers/toURLEncodedForm.js","../lib/helpers/formDataToJSON.js","../lib/defaults/index.js","../lib/helpers/parseHeaders.js","../lib/core/AxiosHeaders.js","../lib/core/transformData.js","../lib/cancel/isCancel.js","../lib/cancel/CanceledError.js","../lib/core/settle.js","../lib/helpers/parseProtocol.js","../lib/helpers/speedometer.js","../lib/helpers/throttle.js","../lib/helpers/progressEventReducer.js","../lib/helpers/isURLSameOrigin.js","../lib/helpers/cookies.js","../lib/helpers/isAbsoluteURL.js","../lib/helpers/combineURLs.js","../lib/core/buildFullPath.js","../lib/core/mergeConfig.js","../lib/helpers/resolveConfig.js","../lib/adapters/xhr.js","../lib/helpers/composeSignals.js","../lib/helpers/trackStream.js","../lib/adapters/fetch.js","../lib/adapters/adapters.js","../lib/core/dispatchRequest.js","../lib/env/data.js","../lib/helpers/validator.js","../lib/core/Axios.js","../lib/cancel/CancelToken.js","../lib/helpers/spread.js","../lib/helpers/isAxiosError.js","../lib/helpers/HttpStatusCode.js","../lib/axios.js"],"sourcesContent":["'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object<any, any>} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array<boolean>}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array<any>} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object<any, any>} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object<string, any>} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array<String|Number>} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object<string, any>} params - The parameters to be converted to a FormData object.\n * @param {Object<string, any>} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = (\n (product) => {\n return hasBrowserEnv && ['ReactNative', 'NativeScript', 'NS'].indexOf(product) < 0\n })(typeof navigator !== 'undefined' && navigator.product);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array<any>} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object<string, any> | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isHeaders(header)) {\n for (const [key, value] of header.entries()) {\n setHeader(value, key, rewrite);\n }\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","'use strict';\n\n/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n const threshold = 1000 / freq;\n let timer = null;\n return function throttled() {\n const force = this === true;\n\n const now = Date.now();\n if (force || now - timestamp > threshold) {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n timestamp = now;\n return fn.apply(null, arguments);\n }\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n timestamp = Date.now();\n return fn.apply(null, arguments);\n }, threshold - (now - timestamp));\n }\n };\n}\n\nexport default throttle;\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\n\nexport default (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n }, freq);\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover its components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })();\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\n }\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport progressEventReducer from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType} = _config;\n let onCanceled;\n function done() {\n if (_config.cancelToken) {\n _config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (_config.signal) {\n _config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, _config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, _config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n _config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (typeof _config.onDownloadProgress === 'function') {\n request.addEventListener('progress', progressEventReducer(_config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof _config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(_config.onUploadProgress));\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst composeSignals = (signals, timeout) => {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (cancel) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = cancel instanceof Error ? cancel : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal &&\n (signal.removeEventListener ? signal.removeEventListener('abort', onabort) : signal.unsubscribe(onabort));\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal && signal.addEventListener && signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = unsubscribe;\n\n return [signal, () => {\n timer && clearTimeout(timer);\n timer = null;\n }];\n}\n\nexport default composeSignals;\n","\n\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize, encode) {\n for await (const chunk of iterable) {\n yield* streamChunk(ArrayBuffer.isView(chunk) ? chunk : (await encode(String(chunk))), chunkSize);\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish, encode) => {\n const iterator = readBytes(stream, chunkSize, encode);\n\n let bytes = 0;\n\n return new ReadableStream({\n type: 'bytes',\n\n async pull(controller) {\n const {done, value} = await iterator.next();\n\n if (done) {\n controller.close();\n onFinish();\n return;\n }\n\n let len = value.byteLength;\n onProgress && onProgress(bytes += len);\n controller.enqueue(new Uint8Array(value));\n },\n cancel(reason) {\n onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport progressEventReducer from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst fetchProgressDecorator = (total, fn) => {\n const lengthComputable = total != null;\n return (loaded) => setTimeout(() => fn({\n lengthComputable,\n total,\n loaded\n }));\n}\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst supportsRequestStream = isReadableStreamSupported && (() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n})();\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported && !!(()=> {\n try {\n return utils.isReadableStream(new Response('').body);\n } catch(err) {\n // return undefined\n }\n})();\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n return (await new Request(body).arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let [composedSignal, stopTimeout] = (signal || cancelToken || timeout) ?\n composeSignals([signal, cancelToken], timeout) : [];\n\n let finished, request;\n\n const onFinish = () => {\n !finished && setTimeout(() => {\n composedSignal && composedSignal.unsubscribe();\n });\n\n finished = true;\n }\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, fetchProgressDecorator(\n requestContentLength,\n progressEventReducer(onUploadProgress)\n ), null, encodeText);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'cors' : 'omit';\n }\n\n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n withCredentials\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || isStreamResponse)) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onDownloadProgress && fetchProgressDecorator(\n responseContentLength,\n progressEventReducer(onDownloadProgress, true)\n ), isStreamResponse && onFinish, encodeText),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && onFinish();\n\n stopTimeout && stopTimeout();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n onFinish();\n\n if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","export const VERSION = \"1.7.2\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy;\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n"],"names":["bind","fn","thisArg","wrap","apply","arguments","toString","Object","prototype","getPrototypeOf","kindOf","cache","thing","str","call","slice","toLowerCase","create","kindOfTest","type","typeOfTest","_typeof","isArray","Array","isUndefined","isBuffer","val","constructor","isFunction","isArrayBuffer","isArrayBufferView","result","ArrayBuffer","isView","buffer","isString","isNumber","isObject","isBoolean","isPlainObject","Symbol","toStringTag","iterator","isDate","isFile","isBlob","isFileList","isStream","pipe","isFormData","kind","FormData","append","isURLSearchParams","_map","map","_map2","_slicedToArray","isReadableStream","isRequest","isResponse","isHeaders","trim","replace","forEach","obj","_ref","length","undefined","_ref$allOwnKeys","allOwnKeys","i","l","keys","getOwnPropertyNames","len","key","findKey","_key","_global","globalThis","self","window","global","isContextDefined","context","merge","_ref2","caseless","assignValue","targetKey","extend","a","b","_ref3","stripBOM","content","charCodeAt","inherits","superConstructor","props","descriptors","defineProperty","value","assign","toFlatObject","sourceObj","destObj","filter","propFilter","prop","merged","endsWith","searchString","position","String","lastIndex","indexOf","toArray","arr","isTypedArray","TypedArray","Uint8Array","forEachEntry","generator","next","done","pair","matchAll","regExp","matches","exec","push","isHTMLForm","toCamelCase","replacer","m","p1","p2","toUpperCase","hasOwnProperty","_ref4","isRegExp","reduceDescriptors","reducer","getOwnPropertyDescriptors","reducedDescriptors","descriptor","name","ret","defineProperties","freezeMethods","enumerable","writable","set","Error","toObjectSet","arrayOrString","delimiter","define","split","noop","toFiniteNumber","defaultValue","Number","isFinite","ALPHA","DIGIT","ALPHABET","ALPHA_DIGIT","generateString","size","alphabet","Math","random","isSpecCompliantForm","toJSONObject","stack","visit","source","target","reducedValue","isAsyncFn","isThenable","then","hasOwnProp","AxiosError","message","code","config","request","response","captureStackTrace","utils","toJSON","description","number","fileName","lineNumber","columnNumber","status","from","error","customProps","axiosError","cause","isVisitable","removeBrackets","renderKey","path","dots","concat","each","token","join","isFlatArray","some","predicates","test","toFormData","formData","options","TypeError","metaTokens","indexes","defined","option","visitor","defaultVisitor","_Blob","Blob","useBlob","convertValue","toISOString","Buffer","JSON","stringify","el","index","exposedHelpers","build","pop","encode","charMap","encodeURIComponent","match","AxiosURLSearchParams","params","_pairs","encoder","_encode","buildURL","url","serializeFn","serialize","serializedParams","hashmarkIndex","InterceptorManager","_classCallCheck","handlers","_createClass","use","fulfilled","rejected","synchronous","runWhen","eject","id","clear","forEachHandler","h","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","URLSearchParams","isBrowser","classes","protocols","hasBrowserEnv","document","hasStandardBrowserEnv","product","navigator","hasStandardBrowserWebWorkerEnv","WorkerGlobalScope","importScripts","origin","location","href","_objectSpread","platform","toURLEncodedForm","data","helpers","isNode","parsePropPath","arrayToObject","formDataToJSON","buildPath","isNumericKey","isLast","entries","stringifySafely","rawValue","parser","parse","e","defaults","transitional","transitionalDefaults","adapter","transformRequest","headers","contentType","getContentType","hasJSONContentType","isObjectPayload","setContentType","formSerializer","_FormData","env","transformResponse","JSONRequested","responseType","strictJSONParsing","ERR_BAD_RESPONSE","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","method","ignoreDuplicateOf","rawHeaders","parsed","line","substring","$internals","normalizeHeader","header","normalizeValue","parseTokens","tokens","tokensRE","isValidHeaderName","matchHeaderValue","isHeaderNameFilter","formatHeader","w","char","buildAccessors","accessorName","methodName","arg1","arg2","arg3","configurable","AxiosHeaders","_Symbol$iterator","_Symbol$toStringTag","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","setHeaders","parseHeaders","_iterator","_createForOfIteratorHelper","_step","s","n","_step$value","err","f","get","has","matcher","_delete","deleted","deleteHeader","normalize","format","normalized","_this$constructor","_len","targets","asStrings","first","computed","_len2","_key2","accessor","internals","accessors","defineAccessor","mapped","headerValue","transformData","fns","transform","isCancel","__CANCEL__","CanceledError","ERR_CANCELED","settle","resolve","reject","ERR_BAD_REQUEST","floor","parseProtocol","speedometer","samplesCount","min","bytes","timestamps","head","tail","firstSampleTS","chunkLength","now","Date","startedAt","bytesCount","passed","round","throttle","freq","timestamp","threshold","timer","throttled","_arguments","force","clearTimeout","setTimeout","listener","isDownloadStream","bytesNotified","_speedometer","loaded","total","lengthComputable","progressBytes","rate","inRange","progress","estimated","event","standardBrowserEnv","msie","userAgent","urlParsingNode","createElement","originURL","resolveURL","setAttribute","protocol","host","search","hash","hostname","port","pathname","charAt","isURLSameOrigin","requestURL","nonStandardBrowserEnv","write","expires","domain","secure","cookie","toGMTString","read","RegExp","decodeURIComponent","remove","isAbsoluteURL","combineURLs","baseURL","relativeURL","buildFullPath","requestedURL","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","paramsSerializer","timeoutMessage","withCredentials","withXSRFToken","onUploadProgress","onDownloadProgress","decompress","beforeRedirect","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding","computeConfigValue","configValue","newConfig","auth","btoa","username","password","unescape","Boolean","_toArray","_toConsumableArray","xsrfValue","cookies","isXHRAdapterSupported","XMLHttpRequest","Promise","dispatchXhrRequest","_config","resolveConfig","requestData","requestHeaders","onCanceled","unsubscribe","signal","removeEventListener","open","onloadend","responseHeaders","getAllResponseHeaders","responseData","responseText","statusText","_resolve","_reject","onreadystatechange","handleLoad","readyState","responseURL","onabort","handleAbort","ECONNABORTED","onerror","handleError","ERR_NETWORK","ontimeout","handleTimeout","timeoutErrorMessage","ETIMEDOUT","setRequestHeader","addEventListener","progressEventReducer","upload","cancel","abort","subscribe","aborted","send","composeSignals","signals","controller","AbortController","reason","streamChunk","_regeneratorRuntime","mark","chunk","chunkSize","pos","end","streamChunk$","_context","prev","byteLength","abrupt","stop","readBytes","_wrapAsyncGenerator","_callee","iterable","_iteratorAbruptCompletion","_didIteratorError","_iteratorError","_callee$","_context2","_asyncIterator","_awaitAsyncGenerator","sent","t0","_asyncGeneratorDelegate","t1","t2","t3","t4","t5","t6","t7","t8","delegateYield","t10","finish","_x","_x2","_x3","trackStream","stream","onProgress","onFinish","ReadableStream","pull","_asyncToGenerator","_callee2","_yield$iterator$next","_callee2$","_context3","close","enqueue","highWaterMark","fetchProgressDecorator","isFetchSupported","fetch","Request","Response","isReadableStreamSupported","encodeText","TextEncoder","arrayBuffer","supportsRequestStream","duplexAccessed","hasContentType","body","duplex","DEFAULT_CHUNK_SIZE","supportsResponseStream","resolvers","res","_","ERR_NOT_SUPPORT","getBodyLength","resolveBodyLength","_callee3","_callee3$","getContentLength","_x4","_callee4","_resolveConfig","_resolveConfig$withCr","fetchOptions","_ref5","_ref6","composedSignal","stopTimeout","finished","requestContentLength","_request","contentTypeHeader","isStreamResponse","responseContentLength","_callee4$","_context4","_x5","knownAdapters","http","httpAdapter","xhr","xhrAdapter","fetchAdapter","renderReason","isResolvedHandle","getAdapter","adapters","_adapters","nameOrAdapter","rejectedReasons","reasons","state","throwIfCancellationRequested","throwIfRequested","dispatchRequest","onAdapterResolution","onAdapterRejection","VERSION","validators","validator","deprecatedWarnings","version","formatMessage","opt","desc","opts","ERR_DEPRECATED","console","warn","assertOptions","schema","allowUnknown","ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","Axios","instanceConfig","interceptors","_request2","configOrUrl","dummy","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","unshiftRequestInterceptors","interceptor","unshift","responseInterceptorChain","pushResponseInterceptors","promise","chain","onFulfilled","onRejected","getUri","fullPath","forEachMethodNoData","forEachMethodWithData","generateHTTPMethod","isForm","httpMethod","CancelToken","executor","resolvePromise","promiseExecutor","_listeners","onfulfilled","splice","c","spread","callback","isAxiosError","payload","HttpStatusCode","Continue","SwitchingProtocols","Processing","EarlyHints","Ok","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","createInstance","defaultConfig","instance","axios","Cancel","all","promises","formToJSON"],"mappings":"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"}PK�}�\$��y��axios.min.jsnu�[���!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).axios=t()}(this,(function(){"use strict";function e(e){var r,n;function o(r,n){try{var a=e[r](n),s=a.value,u=s instanceof t;Promise.resolve(u?s.v:s).then((function(t){if(u){var n="return"===r?"return":"next";if(!s.k||t.done)return o(n,t);t=e[n](t).value}i(a.done?"return":"normal",t)}),(function(e){o("throw",e)}))}catch(e){i("throw",e)}}function i(e,t){switch(e){case"return":r.resolve({value:t,done:!0});break;case"throw":r.reject(t);break;default:r.resolve({value:t,done:!1})}(r=r.next)?o(r.key,r.arg):n=null}this._invoke=function(e,t){return new Promise((function(i,a){var s={key:e,arg:t,resolve:i,reject:a,next:null};n?n=n.next=s:(r=n=s,o(e,t))}))},"function"!=typeof e.return&&(this.return=void 0)}function t(e,t){this.v=e,this.k=t}function r(e){var r={},n=!1;function o(r,o){return n=!0,o=new Promise((function(t){t(e[r](o))})),{done:!1,value:new t(o,1)}}return r["undefined"!=typeof Symbol&&Symbol.iterator||"@@iterator"]=function(){return this},r.next=function(e){return n?(n=!1,e):o("next",e)},"function"==typeof e.throw&&(r.throw=function(e){if(n)throw n=!1,e;return o("throw",e)}),"function"==typeof e.return&&(r.return=function(e){return n?(n=!1,e):o("return",e)}),r}function n(e){var t,r,n,i=2;for("undefined"!=typeof Symbol&&(r=Symbol.asyncIterator,n=Symbol.iterator);i--;){if(r&&null!=(t=e[r]))return t.call(e);if(n&&null!=(t=e[n]))return new o(t.call(e));r="@@asyncIterator",n="@@iterator"}throw new TypeError("Object is not async iterable")}function o(e){function t(e){if(Object(e)!==e)return Promise.reject(new TypeError(e+" is not an object."));var t=e.done;return Promise.resolve(e.value).then((function(e){return{value:e,done:t}}))}return o=function(e){this.s=e,this.n=e.next},o.prototype={s:null,n:null,next:function(){return t(this.n.apply(this.s,arguments))},return:function(e){var r=this.s.return;return void 0===r?Promise.resolve({value:e,done:!0}):t(r.apply(this.s,arguments))},throw:function(e){var r=this.s.return;return void 0===r?Promise.reject(e):t(r.apply(this.s,arguments))}},new o(e)}function i(e){return new t(e,0)}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function s(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?a(Object(r),!0).forEach((function(t){v(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function u(){u=function(){return t};var e,t={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(e,t,r){e[t]=r.value},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",s=i.asyncIterator||"@@asyncIterator",c=i.toStringTag||"@@toStringTag";function f(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{f({},"")}catch(e){f=function(e,t,r){return e[t]=r}}function l(e,t,r,n){var i=t&&t.prototype instanceof m?t:m,a=Object.create(i.prototype),s=new P(n||[]);return o(a,"_invoke",{value:T(e,r,s)}),a}function h(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}t.wrap=l;var p="suspendedStart",d="executing",y="completed",v={};function m(){}function b(){}function g(){}var w={};f(w,a,(function(){return this}));var E=Object.getPrototypeOf,O=E&&E(E(L([])));O&&O!==r&&n.call(O,a)&&(w=O);var S=g.prototype=m.prototype=Object.create(w);function x(e){["next","throw","return"].forEach((function(t){f(e,t,(function(e){return this._invoke(t,e)}))}))}function R(e,t){function r(o,i,a,s){var u=h(e[o],e,i);if("throw"!==u.type){var c=u.arg,f=c.value;return f&&"object"==typeof f&&n.call(f,"__await")?t.resolve(f.__await).then((function(e){r("next",e,a,s)}),(function(e){r("throw",e,a,s)})):t.resolve(f).then((function(e){c.value=e,a(c)}),(function(e){return r("throw",e,a,s)}))}s(u.arg)}var i;o(this,"_invoke",{value:function(e,n){function o(){return new t((function(t,o){r(e,n,t,o)}))}return i=i?i.then(o,o):o()}})}function T(t,r,n){var o=p;return function(i,a){if(o===d)throw new Error("Generator is already running");if(o===y){if("throw"===i)throw a;return{value:e,done:!0}}for(n.method=i,n.arg=a;;){var s=n.delegate;if(s){var u=j(s,n);if(u){if(u===v)continue;return u}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===p)throw o=y,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=d;var c=h(t,r,n);if("normal"===c.type){if(o=n.done?y:"suspendedYield",c.arg===v)continue;return{value:c.arg,done:n.done}}"throw"===c.type&&(o=y,n.method="throw",n.arg=c.arg)}}}function j(t,r){var n=r.method,o=t.iterator[n];if(o===e)return r.delegate=null,"throw"===n&&t.iterator.return&&(r.method="return",r.arg=e,j(t,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),v;var i=h(o,t.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,v;var a=i.arg;return a?a.done?(r[t.resultName]=a.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=e),r.delegate=null,v):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,v)}function k(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function A(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function P(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(k,this),this.reset(!0)}function L(t){if(t||""===t){var r=t[a];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,i=function r(){for(;++o<t.length;)if(n.call(t,o))return r.value=t[o],r.done=!1,r;return r.value=e,r.done=!0,r};return i.next=i}}throw new TypeError(typeof t+" is not iterable")}return b.prototype=g,o(S,"constructor",{value:g,configurable:!0}),o(g,"constructor",{value:b,configurable:!0}),b.displayName=f(g,c,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===b||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,g):(e.__proto__=g,f(e,c,"GeneratorFunction")),e.prototype=Object.create(S),e},t.awrap=function(e){return{__await:e}},x(R.prototype),f(R.prototype,s,(function(){return this})),t.AsyncIterator=R,t.async=function(e,r,n,o,i){void 0===i&&(i=Promise);var a=new R(l(e,r,n,o),i);return t.isGeneratorFunction(r)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},x(S),f(S,c,"Generator"),f(S,a,(function(){return this})),f(S,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},t.values=L,P.prototype={constructor:P,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(A),!t)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var r=this;function o(n,o){return s.type="throw",s.arg=t,r.next=n,o&&(r.method="next",r.arg=e),!!o}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],s=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var u=n.call(a,"catchLoc"),c=n.call(a,"finallyLoc");if(u&&c){if(this.prev<a.catchLoc)return o(a.catchLoc,!0);if(this.prev<a.finallyLoc)return o(a.finallyLoc)}else if(u){if(this.prev<a.catchLoc)return o(a.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return o(a.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=e,a.arg=t,i?(this.method="next",this.next=i.finallyLoc,v):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),v},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),A(r),v}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;A(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:L(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),v}},t}function c(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}function f(e){return f="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},f(e)}function l(e,t,r,n,o,i,a){try{var s=e[i](a),u=s.value}catch(e){return void r(e)}s.done?t(u):Promise.resolve(u).then(n,o)}function h(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var i=e.apply(t,r);function a(e){l(i,n,o,a,s,"next",e)}function s(e){l(i,n,o,a,s,"throw",e)}a(void 0)}))}}function p(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function d(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,c(n.key),n)}}function y(e,t,r){return t&&d(e.prototype,t),r&&d(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function v(e,t,r){return(t=c(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function m(e,t){return g(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],u=!0,c=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=i.call(r)).done)&&(s.push(n.value),s.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw o}}return s}}(e,t)||E(e,t)||S()}function b(e){return function(e){if(Array.isArray(e))return O(e)}(e)||w(e)||E(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function g(e){if(Array.isArray(e))return e}function w(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function E(e,t){if(e){if("string"==typeof e)return O(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?O(e,t):void 0}}function O(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function S(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function x(e,t){return function(){return e.apply(t,arguments)}}e.prototype["function"==typeof Symbol&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},e.prototype.next=function(e){return this._invoke("next",e)},e.prototype.throw=function(e){return this._invoke("throw",e)},e.prototype.return=function(e){return this._invoke("return",e)};var R,T=Object.prototype.toString,j=Object.getPrototypeOf,k=(R=Object.create(null),function(e){var t=T.call(e);return R[t]||(R[t]=t.slice(8,-1).toLowerCase())}),A=function(e){return e=e.toLowerCase(),function(t){return k(t)===e}},P=function(e){return function(t){return f(t)===e}},L=Array.isArray,N=P("undefined");var _=A("ArrayBuffer");var C=P("string"),F=P("function"),U=P("number"),D=function(e){return null!==e&&"object"===f(e)},B=function(e){if("object"!==k(e))return!1;var t=j(e);return!(null!==t&&t!==Object.prototype&&null!==Object.getPrototypeOf(t)||Symbol.toStringTag in e||Symbol.iterator in e)},I=A("Date"),q=A("File"),z=A("Blob"),M=A("FileList"),H=A("URLSearchParams"),J=m(["ReadableStream","Request","Response","Headers"].map(A),4),W=J[0],G=J[1],K=J[2],V=J[3];function X(e,t){var r,n,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=o.allOwnKeys,a=void 0!==i&&i;if(null!=e)if("object"!==f(e)&&(e=[e]),L(e))for(r=0,n=e.length;r<n;r++)t.call(null,e[r],r,e);else{var s,u=a?Object.getOwnPropertyNames(e):Object.keys(e),c=u.length;for(r=0;r<c;r++)s=u[r],t.call(null,e[s],s,e)}}function $(e,t){t=t.toLowerCase();for(var r,n=Object.keys(e),o=n.length;o-- >0;)if(t===(r=n[o]).toLowerCase())return r;return null}var Y="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,Q=function(e){return!N(e)&&e!==Y};var Z,ee=(Z="undefined"!=typeof Uint8Array&&j(Uint8Array),function(e){return Z&&e instanceof Z}),te=A("HTMLFormElement"),re=function(e){var t=Object.prototype.hasOwnProperty;return function(e,r){return t.call(e,r)}}(),ne=A("RegExp"),oe=function(e,t){var r=Object.getOwnPropertyDescriptors(e),n={};X(r,(function(r,o){var i;!1!==(i=t(r,o,e))&&(n[o]=i||r)})),Object.defineProperties(e,n)},ie="abcdefghijklmnopqrstuvwxyz",ae="0123456789",se={DIGIT:ae,ALPHA:ie,ALPHA_DIGIT:ie+ie.toUpperCase()+ae};var ue=A("AsyncFunction"),ce={isArray:L,isArrayBuffer:_,isBuffer:function(e){return null!==e&&!N(e)&&null!==e.constructor&&!N(e.constructor)&&F(e.constructor.isBuffer)&&e.constructor.isBuffer(e)},isFormData:function(e){var t;return e&&("function"==typeof FormData&&e instanceof FormData||F(e.append)&&("formdata"===(t=k(e))||"object"===t&&F(e.toString)&&"[object FormData]"===e.toString()))},isArrayBufferView:function(e){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&_(e.buffer)},isString:C,isNumber:U,isBoolean:function(e){return!0===e||!1===e},isObject:D,isPlainObject:B,isReadableStream:W,isRequest:G,isResponse:K,isHeaders:V,isUndefined:N,isDate:I,isFile:q,isBlob:z,isRegExp:ne,isFunction:F,isStream:function(e){return D(e)&&F(e.pipe)},isURLSearchParams:H,isTypedArray:ee,isFileList:M,forEach:X,merge:function e(){for(var t=Q(this)&&this||{},r=t.caseless,n={},o=function(t,o){var i=r&&$(n,o)||o;B(n[i])&&B(t)?n[i]=e(n[i],t):B(t)?n[i]=e({},t):L(t)?n[i]=t.slice():n[i]=t},i=0,a=arguments.length;i<a;i++)arguments[i]&&X(arguments[i],o);return n},extend:function(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=n.allOwnKeys;return X(t,(function(t,n){r&&F(t)?e[n]=x(t,r):e[n]=t}),{allOwnKeys:o}),e},trim:function(e){return e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")},stripBOM:function(e){return 65279===e.charCodeAt(0)&&(e=e.slice(1)),e},inherits:function(e,t,r,n){e.prototype=Object.create(t.prototype,n),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),r&&Object.assign(e.prototype,r)},toFlatObject:function(e,t,r,n){var o,i,a,s={};if(t=t||{},null==e)return t;do{for(i=(o=Object.getOwnPropertyNames(e)).length;i-- >0;)a=o[i],n&&!n(a,e,t)||s[a]||(t[a]=e[a],s[a]=!0);e=!1!==r&&j(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},kindOf:k,kindOfTest:A,endsWith:function(e,t,r){e=String(e),(void 0===r||r>e.length)&&(r=e.length),r-=t.length;var n=e.indexOf(t,r);return-1!==n&&n===r},toArray:function(e){if(!e)return null;if(L(e))return e;var t=e.length;if(!U(t))return null;for(var r=new Array(t);t-- >0;)r[t]=e[t];return r},forEachEntry:function(e,t){for(var r,n=(e&&e[Symbol.iterator]).call(e);(r=n.next())&&!r.done;){var o=r.value;t.call(e,o[0],o[1])}},matchAll:function(e,t){for(var r,n=[];null!==(r=e.exec(t));)n.push(r);return n},isHTMLForm:te,hasOwnProperty:re,hasOwnProp:re,reduceDescriptors:oe,freezeMethods:function(e){oe(e,(function(t,r){if(F(e)&&-1!==["arguments","caller","callee"].indexOf(r))return!1;var n=e[r];F(n)&&(t.enumerable=!1,"writable"in t?t.writable=!1:t.set||(t.set=function(){throw Error("Can not rewrite read-only method '"+r+"'")}))}))},toObjectSet:function(e,t){var r={},n=function(e){e.forEach((function(e){r[e]=!0}))};return L(e)?n(e):n(String(e).split(t)),r},toCamelCase:function(e){return e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(e,t,r){return t.toUpperCase()+r}))},noop:function(){},toFiniteNumber:function(e,t){return null!=e&&Number.isFinite(e=+e)?e:t},findKey:$,global:Y,isContextDefined:Q,ALPHABET:se,generateString:function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:16,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:se.ALPHA_DIGIT,r="",n=t.length;e--;)r+=t[Math.random()*n|0];return r},isSpecCompliantForm:function(e){return!!(e&&F(e.append)&&"FormData"===e[Symbol.toStringTag]&&e[Symbol.iterator])},toJSONObject:function(e){var t=new Array(10);return function e(r,n){if(D(r)){if(t.indexOf(r)>=0)return;if(!("toJSON"in r)){t[n]=r;var o=L(r)?[]:{};return X(r,(function(t,r){var i=e(t,n+1);!N(i)&&(o[r]=i)})),t[n]=void 0,o}}return r}(e,0)},isAsyncFn:ue,isThenable:function(e){return e&&(D(e)||F(e))&&F(e.then)&&F(e.catch)}};function fe(e,t,r,n,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=e,this.name="AxiosError",t&&(this.code=t),r&&(this.config=r),n&&(this.request=n),o&&(this.response=o)}ce.inherits(fe,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:ce.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});var le=fe.prototype,he={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((function(e){he[e]={value:e}})),Object.defineProperties(fe,he),Object.defineProperty(le,"isAxiosError",{value:!0}),fe.from=function(e,t,r,n,o,i){var a=Object.create(le);return ce.toFlatObject(e,a,(function(e){return e!==Error.prototype}),(function(e){return"isAxiosError"!==e})),fe.call(a,e.message,t,r,n,o),a.cause=e,a.name=e.name,i&&Object.assign(a,i),a};function pe(e){return ce.isPlainObject(e)||ce.isArray(e)}function de(e){return ce.endsWith(e,"[]")?e.slice(0,-2):e}function ye(e,t,r){return e?e.concat(t).map((function(e,t){return e=de(e),!r&&t?"["+e+"]":e})).join(r?".":""):t}var ve=ce.toFlatObject(ce,{},null,(function(e){return/^is[A-Z]/.test(e)}));function me(e,t,r){if(!ce.isObject(e))throw new TypeError("target must be an object");t=t||new FormData;var n=(r=ce.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(e,t){return!ce.isUndefined(t[e])}))).metaTokens,o=r.visitor||c,i=r.dots,a=r.indexes,s=(r.Blob||"undefined"!=typeof Blob&&Blob)&&ce.isSpecCompliantForm(t);if(!ce.isFunction(o))throw new TypeError("visitor must be a function");function u(e){if(null===e)return"";if(ce.isDate(e))return e.toISOString();if(!s&&ce.isBlob(e))throw new fe("Blob is not supported. Use a Buffer instead.");return ce.isArrayBuffer(e)||ce.isTypedArray(e)?s&&"function"==typeof Blob?new Blob([e]):Buffer.from(e):e}function c(e,r,o){var s=e;if(e&&!o&&"object"===f(e))if(ce.endsWith(r,"{}"))r=n?r:r.slice(0,-2),e=JSON.stringify(e);else if(ce.isArray(e)&&function(e){return ce.isArray(e)&&!e.some(pe)}(e)||(ce.isFileList(e)||ce.endsWith(r,"[]"))&&(s=ce.toArray(e)))return r=de(r),s.forEach((function(e,n){!ce.isUndefined(e)&&null!==e&&t.append(!0===a?ye([r],n,i):null===a?r:r+"[]",u(e))})),!1;return!!pe(e)||(t.append(ye(o,r,i),u(e)),!1)}var l=[],h=Object.assign(ve,{defaultVisitor:c,convertValue:u,isVisitable:pe});if(!ce.isObject(e))throw new TypeError("data must be an object");return function e(r,n){if(!ce.isUndefined(r)){if(-1!==l.indexOf(r))throw Error("Circular reference detected in "+n.join("."));l.push(r),ce.forEach(r,(function(r,i){!0===(!(ce.isUndefined(r)||null===r)&&o.call(t,r,ce.isString(i)?i.trim():i,n,h))&&e(r,n?n.concat(i):[i])})),l.pop()}}(e),t}function be(e){var t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,(function(e){return t[e]}))}function ge(e,t){this._pairs=[],e&&me(e,this,t)}var we=ge.prototype;function Ee(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Oe(e,t,r){if(!t)return e;var n,o=r&&r.encode||Ee,i=r&&r.serialize;if(n=i?i(t,r):ce.isURLSearchParams(t)?t.toString():new ge(t,r).toString(o)){var a=e.indexOf("#");-1!==a&&(e=e.slice(0,a)),e+=(-1===e.indexOf("?")?"?":"&")+n}return e}we.append=function(e,t){this._pairs.push([e,t])},we.toString=function(e){var t=e?function(t){return e.call(this,t,be)}:be;return this._pairs.map((function(e){return t(e[0])+"="+t(e[1])}),"").join("&")};var Se,xe=function(){function e(){p(this,e),this.handlers=[]}return y(e,[{key:"use",value:function(e,t,r){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!r&&r.synchronous,runWhen:r?r.runWhen:null}),this.handlers.length-1}},{key:"eject",value:function(e){this.handlers[e]&&(this.handlers[e]=null)}},{key:"clear",value:function(){this.handlers&&(this.handlers=[])}},{key:"forEach",value:function(e){ce.forEach(this.handlers,(function(t){null!==t&&e(t)}))}}]),e}(),Re={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Te={isBrowser:!0,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:ge,FormData:"undefined"!=typeof FormData?FormData:null,Blob:"undefined"!=typeof Blob?Blob:null},protocols:["http","https","file","blob","url","data"]},je="undefined"!=typeof window&&"undefined"!=typeof document,ke=(Se="undefined"!=typeof navigator&&navigator.product,je&&["ReactNative","NativeScript","NS"].indexOf(Se)<0),Ae="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,Pe=je&&window.location.href||"http://localhost",Le=s(s({},Object.freeze({__proto__:null,hasBrowserEnv:je,hasStandardBrowserWebWorkerEnv:Ae,hasStandardBrowserEnv:ke,origin:Pe})),Te);function Ne(e){function t(e,r,n,o){var i=e[o++];if("__proto__"===i)return!0;var a=Number.isFinite(+i),s=o>=e.length;return i=!i&&ce.isArray(n)?n.length:i,s?(ce.hasOwnProp(n,i)?n[i]=[n[i],r]:n[i]=r,!a):(n[i]&&ce.isObject(n[i])||(n[i]=[]),t(e,r,n[i],o)&&ce.isArray(n[i])&&(n[i]=function(e){var t,r,n={},o=Object.keys(e),i=o.length;for(t=0;t<i;t++)n[r=o[t]]=e[r];return n}(n[i])),!a)}if(ce.isFormData(e)&&ce.isFunction(e.entries)){var r={};return ce.forEachEntry(e,(function(e,n){t(function(e){return ce.matchAll(/\w+|\[(\w*)]/g,e).map((function(e){return"[]"===e[0]?"":e[1]||e[0]}))}(e),n,r,0)})),r}return null}var _e={transitional:Re,adapter:["xhr","http","fetch"],transformRequest:[function(e,t){var r,n=t.getContentType()||"",o=n.indexOf("application/json")>-1,i=ce.isObject(e);if(i&&ce.isHTMLForm(e)&&(e=new FormData(e)),ce.isFormData(e))return o?JSON.stringify(Ne(e)):e;if(ce.isArrayBuffer(e)||ce.isBuffer(e)||ce.isStream(e)||ce.isFile(e)||ce.isBlob(e)||ce.isReadableStream(e))return e;if(ce.isArrayBufferView(e))return e.buffer;if(ce.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();if(i){if(n.indexOf("application/x-www-form-urlencoded")>-1)return function(e,t){return me(e,new Le.classes.URLSearchParams,Object.assign({visitor:function(e,t,r,n){return Le.isNode&&ce.isBuffer(e)?(this.append(t,e.toString("base64")),!1):n.defaultVisitor.apply(this,arguments)}},t))}(e,this.formSerializer).toString();if((r=ce.isFileList(e))||n.indexOf("multipart/form-data")>-1){var a=this.env&&this.env.FormData;return me(r?{"files[]":e}:e,a&&new a,this.formSerializer)}}return i||o?(t.setContentType("application/json",!1),function(e,t,r){if(ce.isString(e))try{return(t||JSON.parse)(e),ce.trim(e)}catch(e){if("SyntaxError"!==e.name)throw e}return(r||JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){var t=this.transitional||_e.transitional,r=t&&t.forcedJSONParsing,n="json"===this.responseType;if(ce.isResponse(e)||ce.isReadableStream(e))return e;if(e&&ce.isString(e)&&(r&&!this.responseType||n)){var o=!(t&&t.silentJSONParsing)&&n;try{return JSON.parse(e)}catch(e){if(o){if("SyntaxError"===e.name)throw fe.from(e,fe.ERR_BAD_RESPONSE,this,null,this.response);throw e}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Le.classes.FormData,Blob:Le.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};ce.forEach(["delete","get","head","post","put","patch"],(function(e){_e.headers[e]={}}));var Ce=_e,Fe=ce.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Ue=Symbol("internals");function De(e){return e&&String(e).trim().toLowerCase()}function Be(e){return!1===e||null==e?e:ce.isArray(e)?e.map(Be):String(e)}function Ie(e,t,r,n,o){return ce.isFunction(n)?n.call(this,t,r):(o&&(t=r),ce.isString(t)?ce.isString(n)?-1!==t.indexOf(n):ce.isRegExp(n)?n.test(t):void 0:void 0)}var qe=function(e,t){function r(e){p(this,r),e&&this.set(e)}return y(r,[{key:"set",value:function(e,t,r){var n=this;function o(e,t,r){var o=De(t);if(!o)throw new Error("header name must be a non-empty string");var i=ce.findKey(n,o);(!i||void 0===n[i]||!0===r||void 0===r&&!1!==n[i])&&(n[i||t]=Be(e))}var i=function(e,t){return ce.forEach(e,(function(e,r){return o(e,r,t)}))};if(ce.isPlainObject(e)||e instanceof this.constructor)i(e,t);else if(ce.isString(e)&&(e=e.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim()))i(function(e){var t,r,n,o={};return e&&e.split("\n").forEach((function(e){n=e.indexOf(":"),t=e.substring(0,n).trim().toLowerCase(),r=e.substring(n+1).trim(),!t||o[t]&&Fe[t]||("set-cookie"===t?o[t]?o[t].push(r):o[t]=[r]:o[t]=o[t]?o[t]+", "+r:r)})),o}(e),t);else if(ce.isHeaders(e)){var a,s=function(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=E(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,s=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return a=e.done,e},e:function(e){s=!0,i=e},f:function(){try{a||null==r.return||r.return()}finally{if(s)throw i}}}}(e.entries());try{for(s.s();!(a=s.n()).done;){var u=m(a.value,2),c=u[0];o(u[1],c,r)}}catch(e){s.e(e)}finally{s.f()}}else null!=e&&o(t,e,r);return this}},{key:"get",value:function(e,t){if(e=De(e)){var r=ce.findKey(this,e);if(r){var n=this[r];if(!t)return n;if(!0===t)return function(e){for(var t,r=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;t=n.exec(e);)r[t[1]]=t[2];return r}(n);if(ce.isFunction(t))return t.call(this,n,r);if(ce.isRegExp(t))return t.exec(n);throw new TypeError("parser must be boolean|regexp|function")}}}},{key:"has",value:function(e,t){if(e=De(e)){var r=ce.findKey(this,e);return!(!r||void 0===this[r]||t&&!Ie(0,this[r],r,t))}return!1}},{key:"delete",value:function(e,t){var r=this,n=!1;function o(e){if(e=De(e)){var o=ce.findKey(r,e);!o||t&&!Ie(0,r[o],o,t)||(delete r[o],n=!0)}}return ce.isArray(e)?e.forEach(o):o(e),n}},{key:"clear",value:function(e){for(var t=Object.keys(this),r=t.length,n=!1;r--;){var o=t[r];e&&!Ie(0,this[o],o,e,!0)||(delete this[o],n=!0)}return n}},{key:"normalize",value:function(e){var t=this,r={};return ce.forEach(this,(function(n,o){var i=ce.findKey(r,o);if(i)return t[i]=Be(n),void delete t[o];var a=e?function(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(function(e,t,r){return t.toUpperCase()+r}))}(o):String(o).trim();a!==o&&delete t[o],t[a]=Be(n),r[a]=!0})),this}},{key:"concat",value:function(){for(var e,t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return(e=this.constructor).concat.apply(e,[this].concat(r))}},{key:"toJSON",value:function(e){var t=Object.create(null);return ce.forEach(this,(function(r,n){null!=r&&!1!==r&&(t[n]=e&&ce.isArray(r)?r.join(", "):r)})),t}},{key:Symbol.iterator,value:function(){return Object.entries(this.toJSON())[Symbol.iterator]()}},{key:"toString",value:function(){return Object.entries(this.toJSON()).map((function(e){var t=m(e,2);return t[0]+": "+t[1]})).join("\n")}},{key:Symbol.toStringTag,get:function(){return"AxiosHeaders"}}],[{key:"from",value:function(e){return e instanceof this?e:new this(e)}},{key:"concat",value:function(e){for(var t=new this(e),r=arguments.length,n=new Array(r>1?r-1:0),o=1;o<r;o++)n[o-1]=arguments[o];return n.forEach((function(e){return t.set(e)})),t}},{key:"accessor",value:function(e){var t=(this[Ue]=this[Ue]={accessors:{}}).accessors,r=this.prototype;function n(e){var n=De(e);t[n]||(!function(e,t){var r=ce.toCamelCase(" "+t);["get","set","has"].forEach((function(n){Object.defineProperty(e,n+r,{value:function(e,r,o){return this[n].call(this,t,e,r,o)},configurable:!0})}))}(r,e),t[n]=!0)}return ce.isArray(e)?e.forEach(n):n(e),this}}]),r}();qe.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),ce.reduceDescriptors(qe.prototype,(function(e,t){var r=e.value,n=t[0].toUpperCase()+t.slice(1);return{get:function(){return r},set:function(e){this[n]=e}}})),ce.freezeMethods(qe);var ze=qe;function Me(e,t){var r=this||Ce,n=t||r,o=ze.from(n.headers),i=n.data;return ce.forEach(e,(function(e){i=e.call(r,i,o.normalize(),t?t.status:void 0)})),o.normalize(),i}function He(e){return!(!e||!e.__CANCEL__)}function Je(e,t,r){fe.call(this,null==e?"canceled":e,fe.ERR_CANCELED,t,r),this.name="CanceledError"}function We(e,t,r){var n=r.config.validateStatus;r.status&&n&&!n(r.status)?t(new fe("Request failed with status code "+r.status,[fe.ERR_BAD_REQUEST,fe.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r)):e(r)}function Ge(e,t){e=e||10;var r,n=new Array(e),o=new Array(e),i=0,a=0;return t=void 0!==t?t:1e3,function(s){var u=Date.now(),c=o[a];r||(r=u),n[i]=s,o[i]=u;for(var f=a,l=0;f!==i;)l+=n[f++],f%=e;if((i=(i+1)%e)===a&&(a=(a+1)%e),!(u-r<t)){var h=c&&u-c;return h?Math.round(1e3*l/h):void 0}}}function Ke(e,t){var r=0,n=1e3/t,o=null;return function(){var t=arguments,i=!0===this,a=Date.now();if(i||a-r>n)return o&&(clearTimeout(o),o=null),r=a,e.apply(null,arguments);o||(o=setTimeout((function(){return o=null,r=Date.now(),e.apply(null,t)}),n-(a-r)))}}ce.inherits(Je,fe,{__CANCEL__:!0});var Ve=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:3,n=0,o=Ge(50,250);return Ke((function(r){var i=r.loaded,a=r.lengthComputable?r.total:void 0,s=i-n,u=o(s);n=i;var c={loaded:i,total:a,progress:a?i/a:void 0,bytes:s,rate:u||void 0,estimated:u&&a&&i<=a?(a-i)/u:void 0,event:r,lengthComputable:null!=a};c[t?"download":"upload"]=!0,e(c)}),r)},Xe=Le.hasStandardBrowserEnv?function(){var e,t=/(msie|trident)/i.test(navigator.userAgent),r=document.createElement("a");function n(e){var n=e;return t&&(r.setAttribute("href",n),n=r.href),r.setAttribute("href",n),{href:r.href,protocol:r.protocol?r.protocol.replace(/:$/,""):"",host:r.host,search:r.search?r.search.replace(/^\?/,""):"",hash:r.hash?r.hash.replace(/^#/,""):"",hostname:r.hostname,port:r.port,pathname:"/"===r.pathname.charAt(0)?r.pathname:"/"+r.pathname}}return e=n(window.location.href),function(t){var r=ce.isString(t)?n(t):t;return r.protocol===e.protocol&&r.host===e.host}}():function(){return!0},$e=Le.hasStandardBrowserEnv?{write:function(e,t,r,n,o,i){var a=[e+"="+encodeURIComponent(t)];ce.isNumber(r)&&a.push("expires="+new Date(r).toGMTString()),ce.isString(n)&&a.push("path="+n),ce.isString(o)&&a.push("domain="+o),!0===i&&a.push("secure"),document.cookie=a.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}};function Ye(e,t){return e&&!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)?function(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}(e,t):t}var Qe=function(e){return e instanceof ze?s({},e):e};function Ze(e,t){t=t||{};var r={};function n(e,t,r){return ce.isPlainObject(e)&&ce.isPlainObject(t)?ce.merge.call({caseless:r},e,t):ce.isPlainObject(t)?ce.merge({},t):ce.isArray(t)?t.slice():t}function o(e,t,r){return ce.isUndefined(t)?ce.isUndefined(e)?void 0:n(void 0,e,r):n(e,t,r)}function i(e,t){if(!ce.isUndefined(t))return n(void 0,t)}function a(e,t){return ce.isUndefined(t)?ce.isUndefined(e)?void 0:n(void 0,e):n(void 0,t)}function s(r,o,i){return i in t?n(r,o):i in e?n(void 0,r):void 0}var u={url:i,method:i,data:i,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,withXSRFToken:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:s,headers:function(e,t){return o(Qe(e),Qe(t),!0)}};return ce.forEach(Object.keys(Object.assign({},e,t)),(function(n){var i=u[n]||o,a=i(e[n],t[n],n);ce.isUndefined(a)&&i!==s||(r[n]=a)})),r}var et,tt,rt,nt,ot=function(e){var t,r,n=Ze({},e),o=n.data,i=n.withXSRFToken,a=n.xsrfHeaderName,s=n.xsrfCookieName,u=n.headers,c=n.auth;if(n.headers=u=ze.from(u),n.url=Oe(Ye(n.baseURL,n.url),e.params,e.paramsSerializer),c&&u.set("Authorization","Basic "+btoa((c.username||"")+":"+(c.password?unescape(encodeURIComponent(c.password)):""))),ce.isFormData(o))if(Le.hasStandardBrowserEnv||Le.hasStandardBrowserWebWorkerEnv)u.setContentType(void 0);else if(!1!==(t=u.getContentType())){var f=t?t.split(";").map((function(e){return e.trim()})).filter(Boolean):[],l=g(r=f)||w(r)||E(r)||S(),h=l[0],p=l.slice(1);u.setContentType([h||"multipart/form-data"].concat(b(p)).join("; "))}if(Le.hasStandardBrowserEnv&&(i&&ce.isFunction(i)&&(i=i(n)),i||!1!==i&&Xe(n.url))){var d=a&&s&&$e.read(s);d&&u.set(a,d)}return n},it="undefined"!=typeof XMLHttpRequest&&function(e){return new Promise((function(t,r){var n,o=ot(e),i=o.data,a=ze.from(o.headers).normalize(),s=o.responseType;function u(){o.cancelToken&&o.cancelToken.unsubscribe(n),o.signal&&o.signal.removeEventListener("abort",n)}var c=new XMLHttpRequest;function f(){if(c){var n=ze.from("getAllResponseHeaders"in c&&c.getAllResponseHeaders());We((function(e){t(e),u()}),(function(e){r(e),u()}),{data:s&&"text"!==s&&"json"!==s?c.response:c.responseText,status:c.status,statusText:c.statusText,headers:n,config:e,request:c}),c=null}}c.open(o.method.toUpperCase(),o.url,!0),c.timeout=o.timeout,"onloadend"in c?c.onloadend=f:c.onreadystatechange=function(){c&&4===c.readyState&&(0!==c.status||c.responseURL&&0===c.responseURL.indexOf("file:"))&&setTimeout(f)},c.onabort=function(){c&&(r(new fe("Request aborted",fe.ECONNABORTED,o,c)),c=null)},c.onerror=function(){r(new fe("Network Error",fe.ERR_NETWORK,o,c)),c=null},c.ontimeout=function(){var e=o.timeout?"timeout of "+o.timeout+"ms exceeded":"timeout exceeded",t=o.transitional||Re;o.timeoutErrorMessage&&(e=o.timeoutErrorMessage),r(new fe(e,t.clarifyTimeoutError?fe.ETIMEDOUT:fe.ECONNABORTED,o,c)),c=null},void 0===i&&a.setContentType(null),"setRequestHeader"in c&&ce.forEach(a.toJSON(),(function(e,t){c.setRequestHeader(t,e)})),ce.isUndefined(o.withCredentials)||(c.withCredentials=!!o.withCredentials),s&&"json"!==s&&(c.responseType=o.responseType),"function"==typeof o.onDownloadProgress&&c.addEventListener("progress",Ve(o.onDownloadProgress,!0)),"function"==typeof o.onUploadProgress&&c.upload&&c.upload.addEventListener("progress",Ve(o.onUploadProgress)),(o.cancelToken||o.signal)&&(n=function(t){c&&(r(!t||t.type?new Je(null,e,c):t),c.abort(),c=null)},o.cancelToken&&o.cancelToken.subscribe(n),o.signal&&(o.signal.aborted?n():o.signal.addEventListener("abort",n)));var l,h,p=(l=o.url,(h=/^([-+\w]{1,25})(:?\/\/|:)/.exec(l))&&h[1]||"");p&&-1===Le.protocols.indexOf(p)?r(new fe("Unsupported protocol "+p+":",fe.ERR_BAD_REQUEST,e)):c.send(i||null)}))},at=function(e,t){var r,n=new AbortController,o=function(e){if(!r){r=!0,a();var t=e instanceof Error?e:this.reason;n.abort(t instanceof fe?t:new Je(t instanceof Error?t.message:t))}},i=t&&setTimeout((function(){o(new fe("timeout ".concat(t," of ms exceeded"),fe.ETIMEDOUT))}),t),a=function(){e&&(i&&clearTimeout(i),i=null,e.forEach((function(e){e&&(e.removeEventListener?e.removeEventListener("abort",o):e.unsubscribe(o))})),e=null)};e.forEach((function(e){return e&&e.addEventListener&&e.addEventListener("abort",o)}));var s=n.signal;return s.unsubscribe=a,[s,function(){i&&clearTimeout(i),i=null}]},st=u().mark((function e(t,r){var n,o,i;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.byteLength,r&&!(n<r)){e.next=5;break}return e.next=4,t;case 4:return e.abrupt("return");case 5:o=0;case 6:if(!(o<n)){e.next=13;break}return i=o+r,e.next=10,t.slice(o,i);case 10:o=i,e.next=6;break;case 13:case"end":return e.stop()}}),e)})),ut=function(){var t,o=(t=u().mark((function e(t,o,a){var s,c,f,l,h,p;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:s=!1,c=!1,e.prev=2,l=n(t);case 4:return e.next=6,i(l.next());case 6:if(!(s=!(h=e.sent).done)){e.next=27;break}if(p=h.value,e.t0=r,e.t1=n,e.t2=st,!ArrayBuffer.isView(p)){e.next=15;break}e.t3=p,e.next=18;break;case 15:return e.next=17,i(a(String(p)));case 17:e.t3=e.sent;case 18:return e.t4=e.t3,e.t5=o,e.t6=(0,e.t2)(e.t4,e.t5),e.t7=(0,e.t1)(e.t6),e.t8=i,e.delegateYield((0,e.t0)(e.t7,e.t8),"t9",24);case 24:s=!1,e.next=4;break;case 27:e.next=33;break;case 29:e.prev=29,e.t10=e.catch(2),c=!0,f=e.t10;case 33:if(e.prev=33,e.prev=34,!s||null==l.return){e.next=38;break}return e.next=38,i(l.return());case 38:if(e.prev=38,!c){e.next=41;break}throw f;case 41:return e.finish(38);case 42:return e.finish(33);case 43:case"end":return e.stop()}}),e,null,[[2,29,33,43],[34,,38,42]])})),function(){return new e(t.apply(this,arguments))});return function(e,t,r){return o.apply(this,arguments)}}(),ct=function(e,t,r,n,o){var i=ut(e,t,o),a=0;return new ReadableStream({type:"bytes",pull:function(e){return h(u().mark((function t(){var o,s,c,f;return u().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,i.next();case 2:if(o=t.sent,s=o.done,c=o.value,!s){t.next=9;break}return e.close(),n(),t.abrupt("return");case 9:f=c.byteLength,r&&r(a+=f),e.enqueue(new Uint8Array(c));case 12:case"end":return t.stop()}}),t)})))()},cancel:function(e){return n(e),i.return()}},{highWaterMark:2})},ft=function(e,t){var r=null!=e;return function(n){return setTimeout((function(){return t({lengthComputable:r,total:e,loaded:n})}))}},lt="function"==typeof fetch&&"function"==typeof Request&&"function"==typeof Response,ht=lt&&"function"==typeof ReadableStream,pt=lt&&("function"==typeof TextEncoder?(et=new TextEncoder,function(e){return et.encode(e)}):function(){var e=h(u().mark((function e(t){return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.t0=Uint8Array,e.next=3,new Response(t).arrayBuffer();case 3:return e.t1=e.sent,e.abrupt("return",new e.t0(e.t1));case 5:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),dt=ht&&(tt=!1,rt=new Request(Le.origin,{body:new ReadableStream,method:"POST",get duplex(){return tt=!0,"half"}}).headers.has("Content-Type"),tt&&!rt),yt=ht&&!!function(){try{return ce.isReadableStream(new Response("").body)}catch(e){}}(),vt={stream:yt&&function(e){return e.body}};lt&&(nt=new Response,["text","arrayBuffer","blob","formData","stream"].forEach((function(e){!vt[e]&&(vt[e]=ce.isFunction(nt[e])?function(t){return t[e]()}:function(t,r){throw new fe("Response type '".concat(e,"' is not supported"),fe.ERR_NOT_SUPPORT,r)})})));var mt=function(){var e=h(u().mark((function e(t){return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(null!=t){e.next=2;break}return e.abrupt("return",0);case 2:if(!ce.isBlob(t)){e.next=4;break}return e.abrupt("return",t.size);case 4:if(!ce.isSpecCompliantForm(t)){e.next=8;break}return e.next=7,new Request(t).arrayBuffer();case 7:case 14:return e.abrupt("return",e.sent.byteLength);case 8:if(!ce.isArrayBufferView(t)){e.next=10;break}return e.abrupt("return",t.byteLength);case 10:if(ce.isURLSearchParams(t)&&(t+=""),!ce.isString(t)){e.next=15;break}return e.next=14,pt(t);case 15:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),bt=function(){var e=h(u().mark((function e(t,r){var n;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=ce.toFiniteNumber(t.getContentLength()),e.abrupt("return",null==n?mt(r):n);case 2:case"end":return e.stop()}}),e)})));return function(t,r){return e.apply(this,arguments)}}(),gt=lt&&function(){var e=h(u().mark((function e(t){var r,n,o,i,a,c,f,l,h,p,d,y,v,b,g,w,E,O,S,x,R,T,j,k,A,P,L,N,_;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=ot(t),n=r.url,o=r.method,i=r.data,a=r.signal,c=r.cancelToken,f=r.timeout,l=r.onDownloadProgress,h=r.onUploadProgress,p=r.responseType,d=r.headers,y=r.withCredentials,v=void 0===y?"same-origin":y,b=r.fetchOptions,p=p?(p+"").toLowerCase():"text",g=a||c||f?at([a,c],f):[],w=m(g,2),E=w[0],O=w[1],R=function(){!S&&setTimeout((function(){E&&E.unsubscribe()})),S=!0},e.prev=4,e.t0=h&&dt&&"get"!==o&&"head"!==o,!e.t0){e.next=11;break}return e.next=9,bt(d,i);case 9:e.t1=T=e.sent,e.t0=0!==e.t1;case 11:if(!e.t0){e.next=15;break}j=new Request(n,{method:"POST",body:i,duplex:"half"}),ce.isFormData(i)&&(k=j.headers.get("content-type"))&&d.setContentType(k),j.body&&(i=ct(j.body,65536,ft(T,Ve(h)),null,pt));case 15:return ce.isString(v)||(v=v?"cors":"omit"),x=new Request(n,s(s({},b),{},{signal:E,method:o.toUpperCase(),headers:d.normalize().toJSON(),body:i,duplex:"half",withCredentials:v})),e.next=19,fetch(x);case 19:return A=e.sent,P=yt&&("stream"===p||"response"===p),yt&&(l||P)&&(L={},["status","statusText","headers"].forEach((function(e){L[e]=A[e]})),N=ce.toFiniteNumber(A.headers.get("content-length")),A=new Response(ct(A.body,65536,l&&ft(N,Ve(l,!0)),P&&R,pt),L)),p=p||"text",e.next=25,vt[ce.findKey(vt,p)||"text"](A,t);case 25:return _=e.sent,!P&&R(),O&&O(),e.next=30,new Promise((function(e,r){We(e,r,{data:_,headers:ze.from(A.headers),status:A.status,statusText:A.statusText,config:t,request:x})}));case 30:return e.abrupt("return",e.sent);case 33:if(e.prev=33,e.t2=e.catch(4),R(),!e.t2||"TypeError"!==e.t2.name||!/fetch/i.test(e.t2.message)){e.next=38;break}throw Object.assign(new fe("Network Error",fe.ERR_NETWORK,t,x),{cause:e.t2.cause||e.t2});case 38:throw fe.from(e.t2,e.t2&&e.t2.code,t,x);case 39:case"end":return e.stop()}}),e,null,[[4,33]])})));return function(t){return e.apply(this,arguments)}}(),wt={http:null,xhr:it,fetch:gt};ce.forEach(wt,(function(e,t){if(e){try{Object.defineProperty(e,"name",{value:t})}catch(e){}Object.defineProperty(e,"adapterName",{value:t})}}));var Et=function(e){return"- ".concat(e)},Ot=function(e){return ce.isFunction(e)||null===e||!1===e},St=function(e){for(var t,r,n=(e=ce.isArray(e)?e:[e]).length,o={},i=0;i<n;i++){var a=void 0;if(r=t=e[i],!Ot(t)&&void 0===(r=wt[(a=String(t)).toLowerCase()]))throw new fe("Unknown adapter '".concat(a,"'"));if(r)break;o[a||"#"+i]=r}if(!r){var s=Object.entries(o).map((function(e){var t=m(e,2),r=t[0],n=t[1];return"adapter ".concat(r," ")+(!1===n?"is not supported by the environment":"is not available in the build")}));throw new fe("There is no suitable adapter to dispatch the request "+(n?s.length>1?"since :\n"+s.map(Et).join("\n"):" "+Et(s[0]):"as no adapter specified"),"ERR_NOT_SUPPORT")}return r};function xt(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Je(null,e)}function Rt(e){return xt(e),e.headers=ze.from(e.headers),e.data=Me.call(e,e.transformRequest),-1!==["post","put","patch"].indexOf(e.method)&&e.headers.setContentType("application/x-www-form-urlencoded",!1),St(e.adapter||Ce.adapter)(e).then((function(t){return xt(e),t.data=Me.call(e,e.transformResponse,t),t.headers=ze.from(t.headers),t}),(function(t){return He(t)||(xt(e),t&&t.response&&(t.response.data=Me.call(e,e.transformResponse,t.response),t.response.headers=ze.from(t.response.headers))),Promise.reject(t)}))}var Tt="1.7.2",jt={};["object","boolean","number","function","string","symbol"].forEach((function(e,t){jt[e]=function(r){return f(r)===e||"a"+(t<1?"n ":" ")+e}}));var kt={};jt.transitional=function(e,t,r){function n(e,t){return"[Axios v1.7.2] Transitional option '"+e+"'"+t+(r?". "+r:"")}return function(r,o,i){if(!1===e)throw new fe(n(o," has been removed"+(t?" in "+t:"")),fe.ERR_DEPRECATED);return t&&!kt[o]&&(kt[o]=!0,console.warn(n(o," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(r,o,i)}};var At={assertOptions:function(e,t,r){if("object"!==f(e))throw new fe("options must be an object",fe.ERR_BAD_OPTION_VALUE);for(var n=Object.keys(e),o=n.length;o-- >0;){var i=n[o],a=t[i];if(a){var s=e[i],u=void 0===s||a(s,i,e);if(!0!==u)throw new fe("option "+i+" must be "+u,fe.ERR_BAD_OPTION_VALUE)}else if(!0!==r)throw new fe("Unknown option "+i,fe.ERR_BAD_OPTION)}},validators:jt},Pt=At.validators,Lt=function(){function e(t){p(this,e),this.defaults=t,this.interceptors={request:new xe,response:new xe}}var t;return y(e,[{key:"request",value:(t=h(u().mark((function e(t,r){var n,o;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this._request(t,r);case 3:return e.abrupt("return",e.sent);case 6:if(e.prev=6,e.t0=e.catch(0),e.t0 instanceof Error){Error.captureStackTrace?Error.captureStackTrace(n={}):n=new Error,o=n.stack?n.stack.replace(/^.+\n/,""):"";try{e.t0.stack?o&&!String(e.t0.stack).endsWith(o.replace(/^.+\n.+\n/,""))&&(e.t0.stack+="\n"+o):e.t0.stack=o}catch(e){}}throw e.t0;case 10:case"end":return e.stop()}}),e,this,[[0,6]])}))),function(e,r){return t.apply(this,arguments)})},{key:"_request",value:function(e,t){"string"==typeof e?(t=t||{}).url=e:t=e||{};var r=t=Ze(this.defaults,t),n=r.transitional,o=r.paramsSerializer,i=r.headers;void 0!==n&&At.assertOptions(n,{silentJSONParsing:Pt.transitional(Pt.boolean),forcedJSONParsing:Pt.transitional(Pt.boolean),clarifyTimeoutError:Pt.transitional(Pt.boolean)},!1),null!=o&&(ce.isFunction(o)?t.paramsSerializer={serialize:o}:At.assertOptions(o,{encode:Pt.function,serialize:Pt.function},!0)),t.method=(t.method||this.defaults.method||"get").toLowerCase();var a=i&&ce.merge(i.common,i[t.method]);i&&ce.forEach(["delete","get","head","post","put","patch","common"],(function(e){delete i[e]})),t.headers=ze.concat(a,i);var s=[],u=!0;this.interceptors.request.forEach((function(e){"function"==typeof e.runWhen&&!1===e.runWhen(t)||(u=u&&e.synchronous,s.unshift(e.fulfilled,e.rejected))}));var c,f=[];this.interceptors.response.forEach((function(e){f.push(e.fulfilled,e.rejected)}));var l,h=0;if(!u){var p=[Rt.bind(this),void 0];for(p.unshift.apply(p,s),p.push.apply(p,f),l=p.length,c=Promise.resolve(t);h<l;)c=c.then(p[h++],p[h++]);return c}l=s.length;var d=t;for(h=0;h<l;){var y=s[h++],v=s[h++];try{d=y(d)}catch(e){v.call(this,e);break}}try{c=Rt.call(this,d)}catch(e){return Promise.reject(e)}for(h=0,l=f.length;h<l;)c=c.then(f[h++],f[h++]);return c}},{key:"getUri",value:function(e){return Oe(Ye((e=Ze(this.defaults,e)).baseURL,e.url),e.params,e.paramsSerializer)}}]),e}();ce.forEach(["delete","get","head","options"],(function(e){Lt.prototype[e]=function(t,r){return this.request(Ze(r||{},{method:e,url:t,data:(r||{}).data}))}})),ce.forEach(["post","put","patch"],(function(e){function t(t){return function(r,n,o){return this.request(Ze(o||{},{method:e,headers:t?{"Content-Type":"multipart/form-data"}:{},url:r,data:n}))}}Lt.prototype[e]=t(),Lt.prototype[e+"Form"]=t(!0)}));var Nt=Lt,_t=function(){function e(t){if(p(this,e),"function"!=typeof t)throw new TypeError("executor must be a function.");var r;this.promise=new Promise((function(e){r=e}));var n=this;this.promise.then((function(e){if(n._listeners){for(var t=n._listeners.length;t-- >0;)n._listeners[t](e);n._listeners=null}})),this.promise.then=function(e){var t,r=new Promise((function(e){n.subscribe(e),t=e})).then(e);return r.cancel=function(){n.unsubscribe(t)},r},t((function(e,t,o){n.reason||(n.reason=new Je(e,t,o),r(n.reason))}))}return y(e,[{key:"throwIfRequested",value:function(){if(this.reason)throw this.reason}},{key:"subscribe",value:function(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]}},{key:"unsubscribe",value:function(e){if(this._listeners){var t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}}}],[{key:"source",value:function(){var t;return{token:new e((function(e){t=e})),cancel:t}}}]),e}();var Ct={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Ct).forEach((function(e){var t=m(e,2),r=t[0],n=t[1];Ct[n]=r}));var Ft=Ct;var Ut=function e(t){var r=new Nt(t),n=x(Nt.prototype.request,r);return ce.extend(n,Nt.prototype,r,{allOwnKeys:!0}),ce.extend(n,r,null,{allOwnKeys:!0}),n.create=function(r){return e(Ze(t,r))},n}(Ce);return Ut.Axios=Nt,Ut.CanceledError=Je,Ut.CancelToken=_t,Ut.isCancel=He,Ut.VERSION=Tt,Ut.toFormData=me,Ut.AxiosError=fe,Ut.Cancel=Ut.CanceledError,Ut.all=function(e){return Promise.all(e)},Ut.spread=function(e){return function(t){return e.apply(null,t)}},Ut.isAxiosError=function(e){return ce.isObject(e)&&!0===e.isAxiosError},Ut.mergeConfig=Ze,Ut.AxiosHeaders=ze,Ut.formToJSON=function(e){return Ne(ce.isHTMLForm(e)?new FormData(e):e)},Ut.getAdapter=St,Ut.HttpStatusCode=Ft,Ut.default=Ut,Ut})); //# sourceMappingURL=axios.min.js.map PK�}�\��:�r�rbrowser/axios.cjsnu�[���// Axios v1.7.2 Copyright (c) 2024 Matt Zabriskie and contributors 'use strict'; function bind(fn, thisArg) { return function wrap() { return fn.apply(thisArg, arguments); }; } // utils is a library of generic helper functions non-specific to axios const {toString} = Object.prototype; const {getPrototypeOf} = Object; const kindOf = (cache => thing => { const str = toString.call(thing); return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase()); })(Object.create(null)); const kindOfTest = (type) => { type = type.toLowerCase(); return (thing) => kindOf(thing) === type }; const typeOfTest = type => thing => typeof thing === type; /** * Determine if a value is an Array * * @param {Object} val The value to test * * @returns {boolean} True if value is an Array, otherwise false */ const {isArray} = Array; /** * Determine if a value is undefined * * @param {*} val The value to test * * @returns {boolean} True if the value is undefined, otherwise false */ const isUndefined = typeOfTest('undefined'); /** * Determine if a value is a Buffer * * @param {*} val The value to test * * @returns {boolean} True if value is a Buffer, otherwise false */ function isBuffer(val) { return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val); } /** * Determine if a value is an ArrayBuffer * * @param {*} val The value to test * * @returns {boolean} True if value is an ArrayBuffer, otherwise false */ const isArrayBuffer = kindOfTest('ArrayBuffer'); /** * Determine if a value is a view on an ArrayBuffer * * @param {*} val The value to test * * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false */ function isArrayBufferView(val) { let result; if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) { result = ArrayBuffer.isView(val); } else { result = (val) && (val.buffer) && (isArrayBuffer(val.buffer)); } return result; } /** * Determine if a value is a String * * @param {*} val The value to test * * @returns {boolean} True if value is a String, otherwise false */ const isString = typeOfTest('string'); /** * Determine if a value is a Function * * @param {*} val The value to test * @returns {boolean} True if value is a Function, otherwise false */ const isFunction = typeOfTest('function'); /** * Determine if a value is a Number * * @param {*} val The value to test * * @returns {boolean} True if value is a Number, otherwise false */ const isNumber = typeOfTest('number'); /** * Determine if a value is an Object * * @param {*} thing The value to test * * @returns {boolean} True if value is an Object, otherwise false */ const isObject = (thing) => thing !== null && typeof thing === 'object'; /** * Determine if a value is a Boolean * * @param {*} thing The value to test * @returns {boolean} True if value is a Boolean, otherwise false */ const isBoolean = thing => thing === true || thing === false; /** * Determine if a value is a plain Object * * @param {*} val The value to test * * @returns {boolean} True if value is a plain Object, otherwise false */ const isPlainObject = (val) => { if (kindOf(val) !== 'object') { return false; } const prototype = getPrototypeOf(val); return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val); }; /** * Determine if a value is a Date * * @param {*} val The value to test * * @returns {boolean} True if value is a Date, otherwise false */ const isDate = kindOfTest('Date'); /** * Determine if a value is a File * * @param {*} val The value to test * * @returns {boolean} True if value is a File, otherwise false */ const isFile = kindOfTest('File'); /** * Determine if a value is a Blob * * @param {*} val The value to test * * @returns {boolean} True if value is a Blob, otherwise false */ const isBlob = kindOfTest('Blob'); /** * Determine if a value is a FileList * * @param {*} val The value to test * * @returns {boolean} True if value is a File, otherwise false */ const isFileList = kindOfTest('FileList'); /** * Determine if a value is a Stream * * @param {*} val The value to test * * @returns {boolean} True if value is a Stream, otherwise false */ const isStream = (val) => isObject(val) && isFunction(val.pipe); /** * Determine if a value is a FormData * * @param {*} thing The value to test * * @returns {boolean} True if value is an FormData, otherwise false */ const isFormData = (thing) => { let kind; return thing && ( (typeof FormData === 'function' && thing instanceof FormData) || ( isFunction(thing.append) && ( (kind = kindOf(thing)) === 'formdata' || // detect form-data instance (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]') ) ) ) }; /** * Determine if a value is a URLSearchParams object * * @param {*} val The value to test * * @returns {boolean} True if value is a URLSearchParams object, otherwise false */ const isURLSearchParams = kindOfTest('URLSearchParams'); const [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest); /** * Trim excess whitespace off the beginning and end of a string * * @param {String} str The String to trim * * @returns {String} The String freed of excess whitespace */ const trim = (str) => str.trim ? str.trim() : str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''); /** * Iterate over an Array or an Object invoking a function for each item. * * If `obj` is an Array callback will be called passing * the value, index, and complete array for each item. * * If 'obj' is an Object callback will be called passing * the value, key, and complete object for each property. * * @param {Object|Array} obj The object to iterate * @param {Function} fn The callback to invoke for each item * * @param {Boolean} [allOwnKeys = false] * @returns {any} */ function forEach(obj, fn, {allOwnKeys = false} = {}) { // Don't bother if no value provided if (obj === null || typeof obj === 'undefined') { return; } let i; let l; // Force an array if not already something iterable if (typeof obj !== 'object') { /*eslint no-param-reassign:0*/ obj = [obj]; } if (isArray(obj)) { // Iterate over array values for (i = 0, l = obj.length; i < l; i++) { fn.call(null, obj[i], i, obj); } } else { // Iterate over object keys const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj); const len = keys.length; let key; for (i = 0; i < len; i++) { key = keys[i]; fn.call(null, obj[key], key, obj); } } } function findKey(obj, key) { key = key.toLowerCase(); const keys = Object.keys(obj); let i = keys.length; let _key; while (i-- > 0) { _key = keys[i]; if (key === _key.toLowerCase()) { return _key; } } return null; } const _global = (() => { /*eslint no-undef:0*/ if (typeof globalThis !== "undefined") return globalThis; return typeof self !== "undefined" ? self : (typeof window !== 'undefined' ? window : global) })(); const isContextDefined = (context) => !isUndefined(context) && context !== _global; /** * Accepts varargs expecting each argument to be an object, then * immutably merges the properties of each object and returns result. * * When multiple objects contain the same key the later object in * the arguments list will take precedence. * * Example: * * ```js * var result = merge({foo: 123}, {foo: 456}); * console.log(result.foo); // outputs 456 * ``` * * @param {Object} obj1 Object to merge * * @returns {Object} Result of all merge properties */ function merge(/* obj1, obj2, obj3, ... */) { const {caseless} = isContextDefined(this) && this || {}; const result = {}; const assignValue = (val, key) => { const targetKey = caseless && findKey(result, key) || key; if (isPlainObject(result[targetKey]) && isPlainObject(val)) { result[targetKey] = merge(result[targetKey], val); } else if (isPlainObject(val)) { result[targetKey] = merge({}, val); } else if (isArray(val)) { result[targetKey] = val.slice(); } else { result[targetKey] = val; } }; for (let i = 0, l = arguments.length; i < l; i++) { arguments[i] && forEach(arguments[i], assignValue); } return result; } /** * Extends object a by mutably adding to it the properties of object b. * * @param {Object} a The object to be extended * @param {Object} b The object to copy properties from * @param {Object} thisArg The object to bind function to * * @param {Boolean} [allOwnKeys] * @returns {Object} The resulting value of object a */ const extend = (a, b, thisArg, {allOwnKeys}= {}) => { forEach(b, (val, key) => { if (thisArg && isFunction(val)) { a[key] = bind(val, thisArg); } else { a[key] = val; } }, {allOwnKeys}); return a; }; /** * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM) * * @param {string} content with BOM * * @returns {string} content value without BOM */ const stripBOM = (content) => { if (content.charCodeAt(0) === 0xFEFF) { content = content.slice(1); } return content; }; /** * Inherit the prototype methods from one constructor into another * @param {function} constructor * @param {function} superConstructor * @param {object} [props] * @param {object} [descriptors] * * @returns {void} */ const inherits = (constructor, superConstructor, props, descriptors) => { constructor.prototype = Object.create(superConstructor.prototype, descriptors); constructor.prototype.constructor = constructor; Object.defineProperty(constructor, 'super', { value: superConstructor.prototype }); props && Object.assign(constructor.prototype, props); }; /** * Resolve object with deep prototype chain to a flat object * @param {Object} sourceObj source object * @param {Object} [destObj] * @param {Function|Boolean} [filter] * @param {Function} [propFilter] * * @returns {Object} */ const toFlatObject = (sourceObj, destObj, filter, propFilter) => { let props; let i; let prop; const merged = {}; destObj = destObj || {}; // eslint-disable-next-line no-eq-null,eqeqeq if (sourceObj == null) return destObj; do { props = Object.getOwnPropertyNames(sourceObj); i = props.length; while (i-- > 0) { prop = props[i]; if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) { destObj[prop] = sourceObj[prop]; merged[prop] = true; } } sourceObj = filter !== false && getPrototypeOf(sourceObj); } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype); return destObj; }; /** * Determines whether a string ends with the characters of a specified string * * @param {String} str * @param {String} searchString * @param {Number} [position= 0] * * @returns {boolean} */ const endsWith = (str, searchString, position) => { str = String(str); if (position === undefined || position > str.length) { position = str.length; } position -= searchString.length; const lastIndex = str.indexOf(searchString, position); return lastIndex !== -1 && lastIndex === position; }; /** * Returns new array from array like object or null if failed * * @param {*} [thing] * * @returns {?Array} */ const toArray = (thing) => { if (!thing) return null; if (isArray(thing)) return thing; let i = thing.length; if (!isNumber(i)) return null; const arr = new Array(i); while (i-- > 0) { arr[i] = thing[i]; } return arr; }; /** * Checking if the Uint8Array exists and if it does, it returns a function that checks if the * thing passed in is an instance of Uint8Array * * @param {TypedArray} * * @returns {Array} */ // eslint-disable-next-line func-names const isTypedArray = (TypedArray => { // eslint-disable-next-line func-names return thing => { return TypedArray && thing instanceof TypedArray; }; })(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array)); /** * For each entry in the object, call the function with the key and value. * * @param {Object<any, any>} obj - The object to iterate over. * @param {Function} fn - The function to call for each entry. * * @returns {void} */ const forEachEntry = (obj, fn) => { const generator = obj && obj[Symbol.iterator]; const iterator = generator.call(obj); let result; while ((result = iterator.next()) && !result.done) { const pair = result.value; fn.call(obj, pair[0], pair[1]); } }; /** * It takes a regular expression and a string, and returns an array of all the matches * * @param {string} regExp - The regular expression to match against. * @param {string} str - The string to search. * * @returns {Array<boolean>} */ const matchAll = (regExp, str) => { let matches; const arr = []; while ((matches = regExp.exec(str)) !== null) { arr.push(matches); } return arr; }; /* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */ const isHTMLForm = kindOfTest('HTMLFormElement'); const toCamelCase = str => { return str.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g, function replacer(m, p1, p2) { return p1.toUpperCase() + p2; } ); }; /* Creating a function that will check if an object has a property. */ const hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype); /** * Determine if a value is a RegExp object * * @param {*} val The value to test * * @returns {boolean} True if value is a RegExp object, otherwise false */ const isRegExp = kindOfTest('RegExp'); const reduceDescriptors = (obj, reducer) => { const descriptors = Object.getOwnPropertyDescriptors(obj); const reducedDescriptors = {}; forEach(descriptors, (descriptor, name) => { let ret; if ((ret = reducer(descriptor, name, obj)) !== false) { reducedDescriptors[name] = ret || descriptor; } }); Object.defineProperties(obj, reducedDescriptors); }; /** * Makes all methods read-only * @param {Object} obj */ const freezeMethods = (obj) => { reduceDescriptors(obj, (descriptor, name) => { // skip restricted props in strict mode if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) { return false; } const value = obj[name]; if (!isFunction(value)) return; descriptor.enumerable = false; if ('writable' in descriptor) { descriptor.writable = false; return; } if (!descriptor.set) { descriptor.set = () => { throw Error('Can not rewrite read-only method \'' + name + '\''); }; } }); }; const toObjectSet = (arrayOrString, delimiter) => { const obj = {}; const define = (arr) => { arr.forEach(value => { obj[value] = true; }); }; isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter)); return obj; }; const noop = () => {}; const toFiniteNumber = (value, defaultValue) => { return value != null && Number.isFinite(value = +value) ? value : defaultValue; }; const ALPHA = 'abcdefghijklmnopqrstuvwxyz'; const DIGIT = '0123456789'; const ALPHABET = { DIGIT, ALPHA, ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT }; const generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => { let str = ''; const {length} = alphabet; while (size--) { str += alphabet[Math.random() * length|0]; } return str; }; /** * If the thing is a FormData object, return true, otherwise return false. * * @param {unknown} thing - The thing to check. * * @returns {boolean} */ function isSpecCompliantForm(thing) { return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]); } const toJSONObject = (obj) => { const stack = new Array(10); const visit = (source, i) => { if (isObject(source)) { if (stack.indexOf(source) >= 0) { return; } if(!('toJSON' in source)) { stack[i] = source; const target = isArray(source) ? [] : {}; forEach(source, (value, key) => { const reducedValue = visit(value, i + 1); !isUndefined(reducedValue) && (target[key] = reducedValue); }); stack[i] = undefined; return target; } } return source; }; return visit(obj, 0); }; const isAsyncFn = kindOfTest('AsyncFunction'); const isThenable = (thing) => thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch); var utils$1 = { isArray, isArrayBuffer, isBuffer, isFormData, isArrayBufferView, isString, isNumber, isBoolean, isObject, isPlainObject, isReadableStream, isRequest, isResponse, isHeaders, isUndefined, isDate, isFile, isBlob, isRegExp, isFunction, isStream, isURLSearchParams, isTypedArray, isFileList, forEach, merge, extend, trim, stripBOM, inherits, toFlatObject, kindOf, kindOfTest, endsWith, toArray, forEachEntry, matchAll, isHTMLForm, hasOwnProperty, hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection reduceDescriptors, freezeMethods, toObjectSet, toCamelCase, noop, toFiniteNumber, findKey, global: _global, isContextDefined, ALPHABET, generateString, isSpecCompliantForm, toJSONObject, isAsyncFn, isThenable }; /** * Create an Error with the specified message, config, error code, request and response. * * @param {string} message The error message. * @param {string} [code] The error code (for example, 'ECONNABORTED'). * @param {Object} [config] The config. * @param {Object} [request] The request. * @param {Object} [response] The response. * * @returns {Error} The created error. */ function AxiosError(message, code, config, request, response) { Error.call(this); if (Error.captureStackTrace) { Error.captureStackTrace(this, this.constructor); } else { this.stack = (new Error()).stack; } this.message = message; this.name = 'AxiosError'; code && (this.code = code); config && (this.config = config); request && (this.request = request); response && (this.response = response); } utils$1.inherits(AxiosError, Error, { toJSON: function toJSON() { return { // Standard message: this.message, name: this.name, // Microsoft description: this.description, number: this.number, // Mozilla fileName: this.fileName, lineNumber: this.lineNumber, columnNumber: this.columnNumber, stack: this.stack, // Axios config: utils$1.toJSONObject(this.config), code: this.code, status: this.response && this.response.status ? this.response.status : null }; } }); const prototype$1 = AxiosError.prototype; const descriptors = {}; [ 'ERR_BAD_OPTION_VALUE', 'ERR_BAD_OPTION', 'ECONNABORTED', 'ETIMEDOUT', 'ERR_NETWORK', 'ERR_FR_TOO_MANY_REDIRECTS', 'ERR_DEPRECATED', 'ERR_BAD_RESPONSE', 'ERR_BAD_REQUEST', 'ERR_CANCELED', 'ERR_NOT_SUPPORT', 'ERR_INVALID_URL' // eslint-disable-next-line func-names ].forEach(code => { descriptors[code] = {value: code}; }); Object.defineProperties(AxiosError, descriptors); Object.defineProperty(prototype$1, 'isAxiosError', {value: true}); // eslint-disable-next-line func-names AxiosError.from = (error, code, config, request, response, customProps) => { const axiosError = Object.create(prototype$1); utils$1.toFlatObject(error, axiosError, function filter(obj) { return obj !== Error.prototype; }, prop => { return prop !== 'isAxiosError'; }); AxiosError.call(axiosError, error.message, code, config, request, response); axiosError.cause = error; axiosError.name = error.name; customProps && Object.assign(axiosError, customProps); return axiosError; }; // eslint-disable-next-line strict var httpAdapter = null; /** * Determines if the given thing is a array or js object. * * @param {string} thing - The object or array to be visited. * * @returns {boolean} */ function isVisitable(thing) { return utils$1.isPlainObject(thing) || utils$1.isArray(thing); } /** * It removes the brackets from the end of a string * * @param {string} key - The key of the parameter. * * @returns {string} the key without the brackets. */ function removeBrackets(key) { return utils$1.endsWith(key, '[]') ? key.slice(0, -2) : key; } /** * It takes a path, a key, and a boolean, and returns a string * * @param {string} path - The path to the current key. * @param {string} key - The key of the current object being iterated over. * @param {string} dots - If true, the key will be rendered with dots instead of brackets. * * @returns {string} The path to the current key. */ function renderKey(path, key, dots) { if (!path) return key; return path.concat(key).map(function each(token, i) { // eslint-disable-next-line no-param-reassign token = removeBrackets(token); return !dots && i ? '[' + token + ']' : token; }).join(dots ? '.' : ''); } /** * If the array is an array and none of its elements are visitable, then it's a flat array. * * @param {Array<any>} arr - The array to check * * @returns {boolean} */ function isFlatArray(arr) { return utils$1.isArray(arr) && !arr.some(isVisitable); } const predicates = utils$1.toFlatObject(utils$1, {}, null, function filter(prop) { return /^is[A-Z]/.test(prop); }); /** * Convert a data object to FormData * * @param {Object} obj * @param {?Object} [formData] * @param {?Object} [options] * @param {Function} [options.visitor] * @param {Boolean} [options.metaTokens = true] * @param {Boolean} [options.dots = false] * @param {?Boolean} [options.indexes = false] * * @returns {Object} **/ /** * It converts an object into a FormData object * * @param {Object<any, any>} obj - The object to convert to form data. * @param {string} formData - The FormData object to append to. * @param {Object<string, any>} options * * @returns */ function toFormData(obj, formData, options) { if (!utils$1.isObject(obj)) { throw new TypeError('target must be an object'); } // eslint-disable-next-line no-param-reassign formData = formData || new (FormData)(); // eslint-disable-next-line no-param-reassign options = utils$1.toFlatObject(options, { metaTokens: true, dots: false, indexes: false }, false, function defined(option, source) { // eslint-disable-next-line no-eq-null,eqeqeq return !utils$1.isUndefined(source[option]); }); const metaTokens = options.metaTokens; // eslint-disable-next-line no-use-before-define const visitor = options.visitor || defaultVisitor; const dots = options.dots; const indexes = options.indexes; const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob; const useBlob = _Blob && utils$1.isSpecCompliantForm(formData); if (!utils$1.isFunction(visitor)) { throw new TypeError('visitor must be a function'); } function convertValue(value) { if (value === null) return ''; if (utils$1.isDate(value)) { return value.toISOString(); } if (!useBlob && utils$1.isBlob(value)) { throw new AxiosError('Blob is not supported. Use a Buffer instead.'); } if (utils$1.isArrayBuffer(value) || utils$1.isTypedArray(value)) { return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value); } return value; } /** * Default visitor. * * @param {*} value * @param {String|Number} key * @param {Array<String|Number>} path * @this {FormData} * * @returns {boolean} return true to visit the each prop of the value recursively */ function defaultVisitor(value, key, path) { let arr = value; if (value && !path && typeof value === 'object') { if (utils$1.endsWith(key, '{}')) { // eslint-disable-next-line no-param-reassign key = metaTokens ? key : key.slice(0, -2); // eslint-disable-next-line no-param-reassign value = JSON.stringify(value); } else if ( (utils$1.isArray(value) && isFlatArray(value)) || ((utils$1.isFileList(value) || utils$1.endsWith(key, '[]')) && (arr = utils$1.toArray(value)) )) { // eslint-disable-next-line no-param-reassign key = removeBrackets(key); arr.forEach(function each(el, index) { !(utils$1.isUndefined(el) || el === null) && formData.append( // eslint-disable-next-line no-nested-ternary indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'), convertValue(el) ); }); return false; } } if (isVisitable(value)) { return true; } formData.append(renderKey(path, key, dots), convertValue(value)); return false; } const stack = []; const exposedHelpers = Object.assign(predicates, { defaultVisitor, convertValue, isVisitable }); function build(value, path) { if (utils$1.isUndefined(value)) return; if (stack.indexOf(value) !== -1) { throw Error('Circular reference detected in ' + path.join('.')); } stack.push(value); utils$1.forEach(value, function each(el, key) { const result = !(utils$1.isUndefined(el) || el === null) && visitor.call( formData, el, utils$1.isString(key) ? key.trim() : key, path, exposedHelpers ); if (result === true) { build(el, path ? path.concat(key) : [key]); } }); stack.pop(); } if (!utils$1.isObject(obj)) { throw new TypeError('data must be an object'); } build(obj); return formData; } /** * It encodes a string by replacing all characters that are not in the unreserved set with * their percent-encoded equivalents * * @param {string} str - The string to encode. * * @returns {string} The encoded string. */ function encode$1(str) { const charMap = { '!': '%21', "'": '%27', '(': '%28', ')': '%29', '~': '%7E', '%20': '+', '%00': '\x00' }; return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) { return charMap[match]; }); } /** * It takes a params object and converts it to a FormData object * * @param {Object<string, any>} params - The parameters to be converted to a FormData object. * @param {Object<string, any>} options - The options object passed to the Axios constructor. * * @returns {void} */ function AxiosURLSearchParams(params, options) { this._pairs = []; params && toFormData(params, this, options); } const prototype = AxiosURLSearchParams.prototype; prototype.append = function append(name, value) { this._pairs.push([name, value]); }; prototype.toString = function toString(encoder) { const _encode = encoder ? function(value) { return encoder.call(this, value, encode$1); } : encode$1; return this._pairs.map(function each(pair) { return _encode(pair[0]) + '=' + _encode(pair[1]); }, '').join('&'); }; /** * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their * URI encoded counterparts * * @param {string} val The value to be encoded. * * @returns {string} The encoded value. */ function encode(val) { return encodeURIComponent(val). replace(/%3A/gi, ':'). replace(/%24/g, '$'). replace(/%2C/gi, ','). replace(/%20/g, '+'). replace(/%5B/gi, '['). replace(/%5D/gi, ']'); } /** * Build a URL by appending params to the end * * @param {string} url The base of the url (e.g., http://www.google.com) * @param {object} [params] The params to be appended * @param {?object} options * * @returns {string} The formatted url */ function buildURL(url, params, options) { /*eslint no-param-reassign:0*/ if (!params) { return url; } const _encode = options && options.encode || encode; const serializeFn = options && options.serialize; let serializedParams; if (serializeFn) { serializedParams = serializeFn(params, options); } else { serializedParams = utils$1.isURLSearchParams(params) ? params.toString() : new AxiosURLSearchParams(params, options).toString(_encode); } if (serializedParams) { const hashmarkIndex = url.indexOf("#"); if (hashmarkIndex !== -1) { url = url.slice(0, hashmarkIndex); } url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams; } return url; } class InterceptorManager { constructor() { this.handlers = []; } /** * Add a new interceptor to the stack * * @param {Function} fulfilled The function to handle `then` for a `Promise` * @param {Function} rejected The function to handle `reject` for a `Promise` * * @return {Number} An ID used to remove interceptor later */ use(fulfilled, rejected, options) { this.handlers.push({ fulfilled, rejected, synchronous: options ? options.synchronous : false, runWhen: options ? options.runWhen : null }); return this.handlers.length - 1; } /** * Remove an interceptor from the stack * * @param {Number} id The ID that was returned by `use` * * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise */ eject(id) { if (this.handlers[id]) { this.handlers[id] = null; } } /** * Clear all interceptors from the stack * * @returns {void} */ clear() { if (this.handlers) { this.handlers = []; } } /** * Iterate over all the registered interceptors * * This method is particularly useful for skipping over any * interceptors that may have become `null` calling `eject`. * * @param {Function} fn The function to call for each interceptor * * @returns {void} */ forEach(fn) { utils$1.forEach(this.handlers, function forEachHandler(h) { if (h !== null) { fn(h); } }); } } var InterceptorManager$1 = InterceptorManager; var transitionalDefaults = { silentJSONParsing: true, forcedJSONParsing: true, clarifyTimeoutError: false }; var URLSearchParams$1 = typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams; var FormData$1 = typeof FormData !== 'undefined' ? FormData : null; var Blob$1 = typeof Blob !== 'undefined' ? Blob : null; var platform$1 = { isBrowser: true, classes: { URLSearchParams: URLSearchParams$1, FormData: FormData$1, Blob: Blob$1 }, protocols: ['http', 'https', 'file', 'blob', 'url', 'data'] }; const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined'; /** * Determine if we're running in a standard browser environment * * This allows axios to run in a web worker, and react-native. * Both environments support XMLHttpRequest, but not fully standard globals. * * web workers: * typeof window -> undefined * typeof document -> undefined * * react-native: * navigator.product -> 'ReactNative' * nativescript * navigator.product -> 'NativeScript' or 'NS' * * @returns {boolean} */ const hasStandardBrowserEnv = ( (product) => { return hasBrowserEnv && ['ReactNative', 'NativeScript', 'NS'].indexOf(product) < 0 })(typeof navigator !== 'undefined' && navigator.product); /** * Determine if we're running in a standard browser webWorker environment * * Although the `isStandardBrowserEnv` method indicates that * `allows axios to run in a web worker`, the WebWorker will still be * filtered out due to its judgment standard * `typeof window !== 'undefined' && typeof document !== 'undefined'`. * This leads to a problem when axios post `FormData` in webWorker */ const hasStandardBrowserWebWorkerEnv = (() => { return ( typeof WorkerGlobalScope !== 'undefined' && // eslint-disable-next-line no-undef self instanceof WorkerGlobalScope && typeof self.importScripts === 'function' ); })(); const origin = hasBrowserEnv && window.location.href || 'http://localhost'; var utils = /*#__PURE__*/Object.freeze({ __proto__: null, hasBrowserEnv: hasBrowserEnv, hasStandardBrowserWebWorkerEnv: hasStandardBrowserWebWorkerEnv, hasStandardBrowserEnv: hasStandardBrowserEnv, origin: origin }); var platform = { ...utils, ...platform$1 }; function toURLEncodedForm(data, options) { return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({ visitor: function(value, key, path, helpers) { if (platform.isNode && utils$1.isBuffer(value)) { this.append(key, value.toString('base64')); return false; } return helpers.defaultVisitor.apply(this, arguments); } }, options)); } /** * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z'] * * @param {string} name - The name of the property to get. * * @returns An array of strings. */ function parsePropPath(name) { // foo[x][y][z] // foo.x.y.z // foo-x-y-z // foo x y z return utils$1.matchAll(/\w+|\[(\w*)]/g, name).map(match => { return match[0] === '[]' ? '' : match[1] || match[0]; }); } /** * Convert an array to an object. * * @param {Array<any>} arr - The array to convert to an object. * * @returns An object with the same keys and values as the array. */ function arrayToObject(arr) { const obj = {}; const keys = Object.keys(arr); let i; const len = keys.length; let key; for (i = 0; i < len; i++) { key = keys[i]; obj[key] = arr[key]; } return obj; } /** * It takes a FormData object and returns a JavaScript object * * @param {string} formData The FormData object to convert to JSON. * * @returns {Object<string, any> | null} The converted object. */ function formDataToJSON(formData) { function buildPath(path, value, target, index) { let name = path[index++]; if (name === '__proto__') return true; const isNumericKey = Number.isFinite(+name); const isLast = index >= path.length; name = !name && utils$1.isArray(target) ? target.length : name; if (isLast) { if (utils$1.hasOwnProp(target, name)) { target[name] = [target[name], value]; } else { target[name] = value; } return !isNumericKey; } if (!target[name] || !utils$1.isObject(target[name])) { target[name] = []; } const result = buildPath(path, value, target[name], index); if (result && utils$1.isArray(target[name])) { target[name] = arrayToObject(target[name]); } return !isNumericKey; } if (utils$1.isFormData(formData) && utils$1.isFunction(formData.entries)) { const obj = {}; utils$1.forEachEntry(formData, (name, value) => { buildPath(parsePropPath(name), value, obj, 0); }); return obj; } return null; } /** * It takes a string, tries to parse it, and if it fails, it returns the stringified version * of the input * * @param {any} rawValue - The value to be stringified. * @param {Function} parser - A function that parses a string into a JavaScript object. * @param {Function} encoder - A function that takes a value and returns a string. * * @returns {string} A stringified version of the rawValue. */ function stringifySafely(rawValue, parser, encoder) { if (utils$1.isString(rawValue)) { try { (parser || JSON.parse)(rawValue); return utils$1.trim(rawValue); } catch (e) { if (e.name !== 'SyntaxError') { throw e; } } } return (encoder || JSON.stringify)(rawValue); } const defaults = { transitional: transitionalDefaults, adapter: ['xhr', 'http', 'fetch'], transformRequest: [function transformRequest(data, headers) { const contentType = headers.getContentType() || ''; const hasJSONContentType = contentType.indexOf('application/json') > -1; const isObjectPayload = utils$1.isObject(data); if (isObjectPayload && utils$1.isHTMLForm(data)) { data = new FormData(data); } const isFormData = utils$1.isFormData(data); if (isFormData) { return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data; } if (utils$1.isArrayBuffer(data) || utils$1.isBuffer(data) || utils$1.isStream(data) || utils$1.isFile(data) || utils$1.isBlob(data) || utils$1.isReadableStream(data) ) { return data; } if (utils$1.isArrayBufferView(data)) { return data.buffer; } if (utils$1.isURLSearchParams(data)) { headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false); return data.toString(); } let isFileList; if (isObjectPayload) { if (contentType.indexOf('application/x-www-form-urlencoded') > -1) { return toURLEncodedForm(data, this.formSerializer).toString(); } if ((isFileList = utils$1.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) { const _FormData = this.env && this.env.FormData; return toFormData( isFileList ? {'files[]': data} : data, _FormData && new _FormData(), this.formSerializer ); } } if (isObjectPayload || hasJSONContentType ) { headers.setContentType('application/json', false); return stringifySafely(data); } return data; }], transformResponse: [function transformResponse(data) { const transitional = this.transitional || defaults.transitional; const forcedJSONParsing = transitional && transitional.forcedJSONParsing; const JSONRequested = this.responseType === 'json'; if (utils$1.isResponse(data) || utils$1.isReadableStream(data)) { return data; } if (data && utils$1.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) { const silentJSONParsing = transitional && transitional.silentJSONParsing; const strictJSONParsing = !silentJSONParsing && JSONRequested; try { return JSON.parse(data); } catch (e) { if (strictJSONParsing) { if (e.name === 'SyntaxError') { throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response); } throw e; } } } return data; }], /** * A timeout in milliseconds to abort a request. If set to 0 (default) a * timeout is not created. */ timeout: 0, xsrfCookieName: 'XSRF-TOKEN', xsrfHeaderName: 'X-XSRF-TOKEN', maxContentLength: -1, maxBodyLength: -1, env: { FormData: platform.classes.FormData, Blob: platform.classes.Blob }, validateStatus: function validateStatus(status) { return status >= 200 && status < 300; }, headers: { common: { 'Accept': 'application/json, text/plain, */*', 'Content-Type': undefined } } }; utils$1.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => { defaults.headers[method] = {}; }); var defaults$1 = defaults; // RawAxiosHeaders whose duplicates are ignored by node // c.f. https://nodejs.org/api/http.html#http_message_headers const ignoreDuplicateOf = utils$1.toObjectSet([ 'age', 'authorization', 'content-length', 'content-type', 'etag', 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since', 'last-modified', 'location', 'max-forwards', 'proxy-authorization', 'referer', 'retry-after', 'user-agent' ]); /** * Parse headers into an object * * ``` * Date: Wed, 27 Aug 2014 08:58:49 GMT * Content-Type: application/json * Connection: keep-alive * Transfer-Encoding: chunked * ``` * * @param {String} rawHeaders Headers needing to be parsed * * @returns {Object} Headers parsed into an object */ var parseHeaders = rawHeaders => { const parsed = {}; let key; let val; let i; rawHeaders && rawHeaders.split('\n').forEach(function parser(line) { i = line.indexOf(':'); key = line.substring(0, i).trim().toLowerCase(); val = line.substring(i + 1).trim(); if (!key || (parsed[key] && ignoreDuplicateOf[key])) { return; } if (key === 'set-cookie') { if (parsed[key]) { parsed[key].push(val); } else { parsed[key] = [val]; } } else { parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val; } }); return parsed; }; const $internals = Symbol('internals'); function normalizeHeader(header) { return header && String(header).trim().toLowerCase(); } function normalizeValue(value) { if (value === false || value == null) { return value; } return utils$1.isArray(value) ? value.map(normalizeValue) : String(value); } function parseTokens(str) { const tokens = Object.create(null); const tokensRE = /([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g; let match; while ((match = tokensRE.exec(str))) { tokens[match[1]] = match[2]; } return tokens; } const isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim()); function matchHeaderValue(context, value, header, filter, isHeaderNameFilter) { if (utils$1.isFunction(filter)) { return filter.call(this, value, header); } if (isHeaderNameFilter) { value = header; } if (!utils$1.isString(value)) return; if (utils$1.isString(filter)) { return value.indexOf(filter) !== -1; } if (utils$1.isRegExp(filter)) { return filter.test(value); } } function formatHeader(header) { return header.trim() .toLowerCase().replace(/([a-z\d])(\w*)/g, (w, char, str) => { return char.toUpperCase() + str; }); } function buildAccessors(obj, header) { const accessorName = utils$1.toCamelCase(' ' + header); ['get', 'set', 'has'].forEach(methodName => { Object.defineProperty(obj, methodName + accessorName, { value: function(arg1, arg2, arg3) { return this[methodName].call(this, header, arg1, arg2, arg3); }, configurable: true }); }); } class AxiosHeaders { constructor(headers) { headers && this.set(headers); } set(header, valueOrRewrite, rewrite) { const self = this; function setHeader(_value, _header, _rewrite) { const lHeader = normalizeHeader(_header); if (!lHeader) { throw new Error('header name must be a non-empty string'); } const key = utils$1.findKey(self, lHeader); if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) { self[key || _header] = normalizeValue(_value); } } const setHeaders = (headers, _rewrite) => utils$1.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite)); if (utils$1.isPlainObject(header) || header instanceof this.constructor) { setHeaders(header, valueOrRewrite); } else if(utils$1.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) { setHeaders(parseHeaders(header), valueOrRewrite); } else if (utils$1.isHeaders(header)) { for (const [key, value] of header.entries()) { setHeader(value, key, rewrite); } } else { header != null && setHeader(valueOrRewrite, header, rewrite); } return this; } get(header, parser) { header = normalizeHeader(header); if (header) { const key = utils$1.findKey(this, header); if (key) { const value = this[key]; if (!parser) { return value; } if (parser === true) { return parseTokens(value); } if (utils$1.isFunction(parser)) { return parser.call(this, value, key); } if (utils$1.isRegExp(parser)) { return parser.exec(value); } throw new TypeError('parser must be boolean|regexp|function'); } } } has(header, matcher) { header = normalizeHeader(header); if (header) { const key = utils$1.findKey(this, header); return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher))); } return false; } delete(header, matcher) { const self = this; let deleted = false; function deleteHeader(_header) { _header = normalizeHeader(_header); if (_header) { const key = utils$1.findKey(self, _header); if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) { delete self[key]; deleted = true; } } } if (utils$1.isArray(header)) { header.forEach(deleteHeader); } else { deleteHeader(header); } return deleted; } clear(matcher) { const keys = Object.keys(this); let i = keys.length; let deleted = false; while (i--) { const key = keys[i]; if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) { delete this[key]; deleted = true; } } return deleted; } normalize(format) { const self = this; const headers = {}; utils$1.forEach(this, (value, header) => { const key = utils$1.findKey(headers, header); if (key) { self[key] = normalizeValue(value); delete self[header]; return; } const normalized = format ? formatHeader(header) : String(header).trim(); if (normalized !== header) { delete self[header]; } self[normalized] = normalizeValue(value); headers[normalized] = true; }); return this; } concat(...targets) { return this.constructor.concat(this, ...targets); } toJSON(asStrings) { const obj = Object.create(null); utils$1.forEach(this, (value, header) => { value != null && value !== false && (obj[header] = asStrings && utils$1.isArray(value) ? value.join(', ') : value); }); return obj; } [Symbol.iterator]() { return Object.entries(this.toJSON())[Symbol.iterator](); } toString() { return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\n'); } get [Symbol.toStringTag]() { return 'AxiosHeaders'; } static from(thing) { return thing instanceof this ? thing : new this(thing); } static concat(first, ...targets) { const computed = new this(first); targets.forEach((target) => computed.set(target)); return computed; } static accessor(header) { const internals = this[$internals] = (this[$internals] = { accessors: {} }); const accessors = internals.accessors; const prototype = this.prototype; function defineAccessor(_header) { const lHeader = normalizeHeader(_header); if (!accessors[lHeader]) { buildAccessors(prototype, _header); accessors[lHeader] = true; } } utils$1.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header); return this; } } AxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']); // reserved names hotfix utils$1.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => { let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set` return { get: () => value, set(headerValue) { this[mapped] = headerValue; } } }); utils$1.freezeMethods(AxiosHeaders); var AxiosHeaders$1 = AxiosHeaders; /** * Transform the data for a request or a response * * @param {Array|Function} fns A single function or Array of functions * @param {?Object} response The response object * * @returns {*} The resulting transformed data */ function transformData(fns, response) { const config = this || defaults$1; const context = response || config; const headers = AxiosHeaders$1.from(context.headers); let data = context.data; utils$1.forEach(fns, function transform(fn) { data = fn.call(config, data, headers.normalize(), response ? response.status : undefined); }); headers.normalize(); return data; } function isCancel(value) { return !!(value && value.__CANCEL__); } /** * A `CanceledError` is an object that is thrown when an operation is canceled. * * @param {string=} message The message. * @param {Object=} config The config. * @param {Object=} request The request. * * @returns {CanceledError} The created error. */ function CanceledError(message, config, request) { // eslint-disable-next-line no-eq-null,eqeqeq AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request); this.name = 'CanceledError'; } utils$1.inherits(CanceledError, AxiosError, { __CANCEL__: true }); /** * Resolve or reject a Promise based on response status. * * @param {Function} resolve A function that resolves the promise. * @param {Function} reject A function that rejects the promise. * @param {object} response The response. * * @returns {object} The response. */ function settle(resolve, reject, response) { const validateStatus = response.config.validateStatus; if (!response.status || !validateStatus || validateStatus(response.status)) { resolve(response); } else { reject(new AxiosError( 'Request failed with status code ' + response.status, [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4], response.config, response.request, response )); } } function parseProtocol(url) { const match = /^([-+\w]{1,25})(:?\/\/|:)/.exec(url); return match && match[1] || ''; } /** * Calculate data maxRate * @param {Number} [samplesCount= 10] * @param {Number} [min= 1000] * @returns {Function} */ function speedometer(samplesCount, min) { samplesCount = samplesCount || 10; const bytes = new Array(samplesCount); const timestamps = new Array(samplesCount); let head = 0; let tail = 0; let firstSampleTS; min = min !== undefined ? min : 1000; return function push(chunkLength) { const now = Date.now(); const startedAt = timestamps[tail]; if (!firstSampleTS) { firstSampleTS = now; } bytes[head] = chunkLength; timestamps[head] = now; let i = tail; let bytesCount = 0; while (i !== head) { bytesCount += bytes[i++]; i = i % samplesCount; } head = (head + 1) % samplesCount; if (head === tail) { tail = (tail + 1) % samplesCount; } if (now - firstSampleTS < min) { return; } const passed = startedAt && now - startedAt; return passed ? Math.round(bytesCount * 1000 / passed) : undefined; }; } /** * Throttle decorator * @param {Function} fn * @param {Number} freq * @return {Function} */ function throttle(fn, freq) { let timestamp = 0; const threshold = 1000 / freq; let timer = null; return function throttled() { const force = this === true; const now = Date.now(); if (force || now - timestamp > threshold) { if (timer) { clearTimeout(timer); timer = null; } timestamp = now; return fn.apply(null, arguments); } if (!timer) { timer = setTimeout(() => { timer = null; timestamp = Date.now(); return fn.apply(null, arguments); }, threshold - (now - timestamp)); } }; } var progressEventReducer = (listener, isDownloadStream, freq = 3) => { let bytesNotified = 0; const _speedometer = speedometer(50, 250); return throttle(e => { const loaded = e.loaded; const total = e.lengthComputable ? e.total : undefined; const progressBytes = loaded - bytesNotified; const rate = _speedometer(progressBytes); const inRange = loaded <= total; bytesNotified = loaded; const data = { loaded, total, progress: total ? (loaded / total) : undefined, bytes: progressBytes, rate: rate ? rate : undefined, estimated: rate && total && inRange ? (total - loaded) / rate : undefined, event: e, lengthComputable: total != null }; data[isDownloadStream ? 'download' : 'upload'] = true; listener(data); }, freq); }; var isURLSameOrigin = platform.hasStandardBrowserEnv ? // Standard browser envs have full support of the APIs needed to test // whether the request URL is of the same origin as current location. (function standardBrowserEnv() { const msie = /(msie|trident)/i.test(navigator.userAgent); const urlParsingNode = document.createElement('a'); let originURL; /** * Parse a URL to discover its components * * @param {String} url The URL to be parsed * @returns {Object} */ function resolveURL(url) { let href = url; if (msie) { // IE needs attribute set twice to normalize properties urlParsingNode.setAttribute('href', href); href = urlParsingNode.href; } urlParsingNode.setAttribute('href', href); // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils return { href: urlParsingNode.href, protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '', host: urlParsingNode.host, search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, '') : '', hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '', hostname: urlParsingNode.hostname, port: urlParsingNode.port, pathname: (urlParsingNode.pathname.charAt(0) === '/') ? urlParsingNode.pathname : '/' + urlParsingNode.pathname }; } originURL = resolveURL(window.location.href); /** * Determine if a URL shares the same origin as the current location * * @param {String} requestURL The URL to test * @returns {boolean} True if URL shares the same origin, otherwise false */ return function isURLSameOrigin(requestURL) { const parsed = (utils$1.isString(requestURL)) ? resolveURL(requestURL) : requestURL; return (parsed.protocol === originURL.protocol && parsed.host === originURL.host); }; })() : // Non standard browser envs (web workers, react-native) lack needed support. (function nonStandardBrowserEnv() { return function isURLSameOrigin() { return true; }; })(); var cookies = platform.hasStandardBrowserEnv ? // Standard browser envs support document.cookie { write(name, value, expires, path, domain, secure) { const cookie = [name + '=' + encodeURIComponent(value)]; utils$1.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString()); utils$1.isString(path) && cookie.push('path=' + path); utils$1.isString(domain) && cookie.push('domain=' + domain); secure === true && cookie.push('secure'); document.cookie = cookie.join('; '); }, read(name) { const match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)')); return (match ? decodeURIComponent(match[3]) : null); }, remove(name) { this.write(name, '', Date.now() - 86400000); } } : // Non-standard browser env (web workers, react-native) lack needed support. { write() {}, read() { return null; }, remove() {} }; /** * Determines whether the specified URL is absolute * * @param {string} url The URL to test * * @returns {boolean} True if the specified URL is absolute, otherwise false */ function isAbsoluteURL(url) { // A URL is considered absolute if it begins with "<scheme>://" or "//" (protocol-relative URL). // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed // by any combination of letters, digits, plus, period, or hyphen. return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url); } /** * Creates a new URL by combining the specified URLs * * @param {string} baseURL The base URL * @param {string} relativeURL The relative URL * * @returns {string} The combined URL */ function combineURLs(baseURL, relativeURL) { return relativeURL ? baseURL.replace(/\/?\/$/, '') + '/' + relativeURL.replace(/^\/+/, '') : baseURL; } /** * Creates a new URL by combining the baseURL with the requestedURL, * only when the requestedURL is not already an absolute URL. * If the requestURL is absolute, this function returns the requestedURL untouched. * * @param {string} baseURL The base URL * @param {string} requestedURL Absolute or relative URL to combine * * @returns {string} The combined full path */ function buildFullPath(baseURL, requestedURL) { if (baseURL && !isAbsoluteURL(requestedURL)) { return combineURLs(baseURL, requestedURL); } return requestedURL; } const headersToObject = (thing) => thing instanceof AxiosHeaders$1 ? { ...thing } : thing; /** * Config-specific merge-function which creates a new config-object * by merging two configuration objects together. * * @param {Object} config1 * @param {Object} config2 * * @returns {Object} New object resulting from merging config2 to config1 */ function mergeConfig(config1, config2) { // eslint-disable-next-line no-param-reassign config2 = config2 || {}; const config = {}; function getMergedValue(target, source, caseless) { if (utils$1.isPlainObject(target) && utils$1.isPlainObject(source)) { return utils$1.merge.call({caseless}, target, source); } else if (utils$1.isPlainObject(source)) { return utils$1.merge({}, source); } else if (utils$1.isArray(source)) { return source.slice(); } return source; } // eslint-disable-next-line consistent-return function mergeDeepProperties(a, b, caseless) { if (!utils$1.isUndefined(b)) { return getMergedValue(a, b, caseless); } else if (!utils$1.isUndefined(a)) { return getMergedValue(undefined, a, caseless); } } // eslint-disable-next-line consistent-return function valueFromConfig2(a, b) { if (!utils$1.isUndefined(b)) { return getMergedValue(undefined, b); } } // eslint-disable-next-line consistent-return function defaultToConfig2(a, b) { if (!utils$1.isUndefined(b)) { return getMergedValue(undefined, b); } else if (!utils$1.isUndefined(a)) { return getMergedValue(undefined, a); } } // eslint-disable-next-line consistent-return function mergeDirectKeys(a, b, prop) { if (prop in config2) { return getMergedValue(a, b); } else if (prop in config1) { return getMergedValue(undefined, a); } } const mergeMap = { url: valueFromConfig2, method: valueFromConfig2, data: valueFromConfig2, baseURL: defaultToConfig2, transformRequest: defaultToConfig2, transformResponse: defaultToConfig2, paramsSerializer: defaultToConfig2, timeout: defaultToConfig2, timeoutMessage: defaultToConfig2, withCredentials: defaultToConfig2, withXSRFToken: defaultToConfig2, adapter: defaultToConfig2, responseType: defaultToConfig2, xsrfCookieName: defaultToConfig2, xsrfHeaderName: defaultToConfig2, onUploadProgress: defaultToConfig2, onDownloadProgress: defaultToConfig2, decompress: defaultToConfig2, maxContentLength: defaultToConfig2, maxBodyLength: defaultToConfig2, beforeRedirect: defaultToConfig2, transport: defaultToConfig2, httpAgent: defaultToConfig2, httpsAgent: defaultToConfig2, cancelToken: defaultToConfig2, socketPath: defaultToConfig2, responseEncoding: defaultToConfig2, validateStatus: mergeDirectKeys, headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true) }; utils$1.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) { const merge = mergeMap[prop] || mergeDeepProperties; const configValue = merge(config1[prop], config2[prop], prop); (utils$1.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue); }); return config; } var resolveConfig = (config) => { const newConfig = mergeConfig({}, config); let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig; newConfig.headers = headers = AxiosHeaders$1.from(headers); newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer); // HTTP basic authentication if (auth) { headers.set('Authorization', 'Basic ' + btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : '')) ); } let contentType; if (utils$1.isFormData(data)) { if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) { headers.setContentType(undefined); // Let the browser set it } else if ((contentType = headers.getContentType()) !== false) { // fix semicolon duplication issue for ReactNative FormData implementation const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : []; headers.setContentType([type || 'multipart/form-data', ...tokens].join('; ')); } } // Add xsrf header // This is only done if running in a standard browser environment. // Specifically not if we're in a web worker, or react-native. if (platform.hasStandardBrowserEnv) { withXSRFToken && utils$1.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig)); if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) { // Add xsrf header const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName); if (xsrfValue) { headers.set(xsrfHeaderName, xsrfValue); } } } return newConfig; }; const isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined'; var xhrAdapter = isXHRAdapterSupported && function (config) { return new Promise(function dispatchXhrRequest(resolve, reject) { const _config = resolveConfig(config); let requestData = _config.data; const requestHeaders = AxiosHeaders$1.from(_config.headers).normalize(); let {responseType} = _config; let onCanceled; function done() { if (_config.cancelToken) { _config.cancelToken.unsubscribe(onCanceled); } if (_config.signal) { _config.signal.removeEventListener('abort', onCanceled); } } let request = new XMLHttpRequest(); request.open(_config.method.toUpperCase(), _config.url, true); // Set the request timeout in MS request.timeout = _config.timeout; function onloadend() { if (!request) { return; } // Prepare the response const responseHeaders = AxiosHeaders$1.from( 'getAllResponseHeaders' in request && request.getAllResponseHeaders() ); const responseData = !responseType || responseType === 'text' || responseType === 'json' ? request.responseText : request.response; const response = { data: responseData, status: request.status, statusText: request.statusText, headers: responseHeaders, config, request }; settle(function _resolve(value) { resolve(value); done(); }, function _reject(err) { reject(err); done(); }, response); // Clean up request request = null; } if ('onloadend' in request) { // Use onloadend if available request.onloadend = onloadend; } else { // Listen for ready state to emulate onloadend request.onreadystatechange = function handleLoad() { if (!request || request.readyState !== 4) { return; } // The request errored out and we didn't get a response, this will be // handled by onerror instead // With one exception: request that using file: protocol, most browsers // will return status as 0 even though it's a successful request if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) { return; } // readystate handler is calling before onerror or ontimeout handlers, // so we should call onloadend on the next 'tick' setTimeout(onloadend); }; } // Handle browser request cancellation (as opposed to a manual cancellation) request.onabort = function handleAbort() { if (!request) { return; } reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, _config, request)); // Clean up request request = null; }; // Handle low level network errors request.onerror = function handleError() { // Real errors are hidden from us by the browser // onerror should only fire if it's a network error reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, _config, request)); // Clean up request request = null; }; // Handle timeout request.ontimeout = function handleTimeout() { let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded'; const transitional = _config.transitional || transitionalDefaults; if (_config.timeoutErrorMessage) { timeoutErrorMessage = _config.timeoutErrorMessage; } reject(new AxiosError( timeoutErrorMessage, transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED, _config, request)); // Clean up request request = null; }; // Remove Content-Type if data is undefined requestData === undefined && requestHeaders.setContentType(null); // Add headers to the request if ('setRequestHeader' in request) { utils$1.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) { request.setRequestHeader(key, val); }); } // Add withCredentials to request if needed if (!utils$1.isUndefined(_config.withCredentials)) { request.withCredentials = !!_config.withCredentials; } // Add responseType to request if needed if (responseType && responseType !== 'json') { request.responseType = _config.responseType; } // Handle progress if needed if (typeof _config.onDownloadProgress === 'function') { request.addEventListener('progress', progressEventReducer(_config.onDownloadProgress, true)); } // Not all browsers support upload events if (typeof _config.onUploadProgress === 'function' && request.upload) { request.upload.addEventListener('progress', progressEventReducer(_config.onUploadProgress)); } if (_config.cancelToken || _config.signal) { // Handle cancellation // eslint-disable-next-line func-names onCanceled = cancel => { if (!request) { return; } reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel); request.abort(); request = null; }; _config.cancelToken && _config.cancelToken.subscribe(onCanceled); if (_config.signal) { _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled); } } const protocol = parseProtocol(_config.url); if (protocol && platform.protocols.indexOf(protocol) === -1) { reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config)); return; } // Send the request request.send(requestData || null); }); }; const composeSignals = (signals, timeout) => { let controller = new AbortController(); let aborted; const onabort = function (cancel) { if (!aborted) { aborted = true; unsubscribe(); const err = cancel instanceof Error ? cancel : this.reason; controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err)); } }; let timer = timeout && setTimeout(() => { onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT)); }, timeout); const unsubscribe = () => { if (signals) { timer && clearTimeout(timer); timer = null; signals.forEach(signal => { signal && (signal.removeEventListener ? signal.removeEventListener('abort', onabort) : signal.unsubscribe(onabort)); }); signals = null; } }; signals.forEach((signal) => signal && signal.addEventListener && signal.addEventListener('abort', onabort)); const {signal} = controller; signal.unsubscribe = unsubscribe; return [signal, () => { timer && clearTimeout(timer); timer = null; }]; }; var composeSignals$1 = composeSignals; const streamChunk = function* (chunk, chunkSize) { let len = chunk.byteLength; if (!chunkSize || len < chunkSize) { yield chunk; return; } let pos = 0; let end; while (pos < len) { end = pos + chunkSize; yield chunk.slice(pos, end); pos = end; } }; const readBytes = async function* (iterable, chunkSize, encode) { for await (const chunk of iterable) { yield* streamChunk(ArrayBuffer.isView(chunk) ? chunk : (await encode(String(chunk))), chunkSize); } }; const trackStream = (stream, chunkSize, onProgress, onFinish, encode) => { const iterator = readBytes(stream, chunkSize, encode); let bytes = 0; return new ReadableStream({ type: 'bytes', async pull(controller) { const {done, value} = await iterator.next(); if (done) { controller.close(); onFinish(); return; } let len = value.byteLength; onProgress && onProgress(bytes += len); controller.enqueue(new Uint8Array(value)); }, cancel(reason) { onFinish(reason); return iterator.return(); } }, { highWaterMark: 2 }) }; const fetchProgressDecorator = (total, fn) => { const lengthComputable = total != null; return (loaded) => setTimeout(() => fn({ lengthComputable, total, loaded })); }; const isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function'; const isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function'; // used only inside the fetch adapter const encodeText = isFetchSupported && (typeof TextEncoder === 'function' ? ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) : async (str) => new Uint8Array(await new Response(str).arrayBuffer()) ); const supportsRequestStream = isReadableStreamSupported && (() => { let duplexAccessed = false; const hasContentType = new Request(platform.origin, { body: new ReadableStream(), method: 'POST', get duplex() { duplexAccessed = true; return 'half'; }, }).headers.has('Content-Type'); return duplexAccessed && !hasContentType; })(); const DEFAULT_CHUNK_SIZE = 64 * 1024; const supportsResponseStream = isReadableStreamSupported && !!(()=> { try { return utils$1.isReadableStream(new Response('').body); } catch(err) { // return undefined } })(); const resolvers = { stream: supportsResponseStream && ((res) => res.body) }; isFetchSupported && (((res) => { ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => { !resolvers[type] && (resolvers[type] = utils$1.isFunction(res[type]) ? (res) => res[type]() : (_, config) => { throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config); }); }); })(new Response)); const getBodyLength = async (body) => { if (body == null) { return 0; } if(utils$1.isBlob(body)) { return body.size; } if(utils$1.isSpecCompliantForm(body)) { return (await new Request(body).arrayBuffer()).byteLength; } if(utils$1.isArrayBufferView(body)) { return body.byteLength; } if(utils$1.isURLSearchParams(body)) { body = body + ''; } if(utils$1.isString(body)) { return (await encodeText(body)).byteLength; } }; const resolveBodyLength = async (headers, body) => { const length = utils$1.toFiniteNumber(headers.getContentLength()); return length == null ? getBodyLength(body) : length; }; var fetchAdapter = isFetchSupported && (async (config) => { let { url, method, data, signal, cancelToken, timeout, onDownloadProgress, onUploadProgress, responseType, headers, withCredentials = 'same-origin', fetchOptions } = resolveConfig(config); responseType = responseType ? (responseType + '').toLowerCase() : 'text'; let [composedSignal, stopTimeout] = (signal || cancelToken || timeout) ? composeSignals$1([signal, cancelToken], timeout) : []; let finished, request; const onFinish = () => { !finished && setTimeout(() => { composedSignal && composedSignal.unsubscribe(); }); finished = true; }; let requestContentLength; try { if ( onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' && (requestContentLength = await resolveBodyLength(headers, data)) !== 0 ) { let _request = new Request(url, { method: 'POST', body: data, duplex: "half" }); let contentTypeHeader; if (utils$1.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) { headers.setContentType(contentTypeHeader); } if (_request.body) { data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, fetchProgressDecorator( requestContentLength, progressEventReducer(onUploadProgress) ), null, encodeText); } } if (!utils$1.isString(withCredentials)) { withCredentials = withCredentials ? 'cors' : 'omit'; } request = new Request(url, { ...fetchOptions, signal: composedSignal, method: method.toUpperCase(), headers: headers.normalize().toJSON(), body: data, duplex: "half", withCredentials }); let response = await fetch(request); const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response'); if (supportsResponseStream && (onDownloadProgress || isStreamResponse)) { const options = {}; ['status', 'statusText', 'headers'].forEach(prop => { options[prop] = response[prop]; }); const responseContentLength = utils$1.toFiniteNumber(response.headers.get('content-length')); response = new Response( trackStream(response.body, DEFAULT_CHUNK_SIZE, onDownloadProgress && fetchProgressDecorator( responseContentLength, progressEventReducer(onDownloadProgress, true) ), isStreamResponse && onFinish, encodeText), options ); } responseType = responseType || 'text'; let responseData = await resolvers[utils$1.findKey(resolvers, responseType) || 'text'](response, config); !isStreamResponse && onFinish(); stopTimeout && stopTimeout(); return await new Promise((resolve, reject) => { settle(resolve, reject, { data: responseData, headers: AxiosHeaders$1.from(response.headers), status: response.status, statusText: response.statusText, config, request }); }) } catch (err) { onFinish(); if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) { throw Object.assign( new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request), { cause: err.cause || err } ) } throw AxiosError.from(err, err && err.code, config, request); } }); const knownAdapters = { http: httpAdapter, xhr: xhrAdapter, fetch: fetchAdapter }; utils$1.forEach(knownAdapters, (fn, value) => { if (fn) { try { Object.defineProperty(fn, 'name', {value}); } catch (e) { // eslint-disable-next-line no-empty } Object.defineProperty(fn, 'adapterName', {value}); } }); const renderReason = (reason) => `- ${reason}`; const isResolvedHandle = (adapter) => utils$1.isFunction(adapter) || adapter === null || adapter === false; var adapters = { getAdapter: (adapters) => { adapters = utils$1.isArray(adapters) ? adapters : [adapters]; const {length} = adapters; let nameOrAdapter; let adapter; const rejectedReasons = {}; for (let i = 0; i < length; i++) { nameOrAdapter = adapters[i]; let id; adapter = nameOrAdapter; if (!isResolvedHandle(nameOrAdapter)) { adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()]; if (adapter === undefined) { throw new AxiosError(`Unknown adapter '${id}'`); } } if (adapter) { break; } rejectedReasons[id || '#' + i] = adapter; } if (!adapter) { const reasons = Object.entries(rejectedReasons) .map(([id, state]) => `adapter ${id} ` + (state === false ? 'is not supported by the environment' : 'is not available in the build') ); let s = length ? (reasons.length > 1 ? 'since :\n' + reasons.map(renderReason).join('\n') : ' ' + renderReason(reasons[0])) : 'as no adapter specified'; throw new AxiosError( `There is no suitable adapter to dispatch the request ` + s, 'ERR_NOT_SUPPORT' ); } return adapter; }, adapters: knownAdapters }; /** * Throws a `CanceledError` if cancellation has been requested. * * @param {Object} config The config that is to be used for the request * * @returns {void} */ function throwIfCancellationRequested(config) { if (config.cancelToken) { config.cancelToken.throwIfRequested(); } if (config.signal && config.signal.aborted) { throw new CanceledError(null, config); } } /** * Dispatch a request to the server using the configured adapter. * * @param {object} config The config that is to be used for the request * * @returns {Promise} The Promise to be fulfilled */ function dispatchRequest(config) { throwIfCancellationRequested(config); config.headers = AxiosHeaders$1.from(config.headers); // Transform request data config.data = transformData.call( config, config.transformRequest ); if (['post', 'put', 'patch'].indexOf(config.method) !== -1) { config.headers.setContentType('application/x-www-form-urlencoded', false); } const adapter = adapters.getAdapter(config.adapter || defaults$1.adapter); return adapter(config).then(function onAdapterResolution(response) { throwIfCancellationRequested(config); // Transform response data response.data = transformData.call( config, config.transformResponse, response ); response.headers = AxiosHeaders$1.from(response.headers); return response; }, function onAdapterRejection(reason) { if (!isCancel(reason)) { throwIfCancellationRequested(config); // Transform response data if (reason && reason.response) { reason.response.data = transformData.call( config, config.transformResponse, reason.response ); reason.response.headers = AxiosHeaders$1.from(reason.response.headers); } } return Promise.reject(reason); }); } const VERSION = "1.7.2"; const validators$1 = {}; // eslint-disable-next-line func-names ['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => { validators$1[type] = function validator(thing) { return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type; }; }); const deprecatedWarnings = {}; /** * Transitional option validator * * @param {function|boolean?} validator - set to false if the transitional option has been removed * @param {string?} version - deprecated version / removed since version * @param {string?} message - some message with additional info * * @returns {function} */ validators$1.transitional = function transitional(validator, version, message) { function formatMessage(opt, desc) { return '[Axios v' + VERSION + '] Transitional option \'' + opt + '\'' + desc + (message ? '. ' + message : ''); } // eslint-disable-next-line func-names return (value, opt, opts) => { if (validator === false) { throw new AxiosError( formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')), AxiosError.ERR_DEPRECATED ); } if (version && !deprecatedWarnings[opt]) { deprecatedWarnings[opt] = true; // eslint-disable-next-line no-console console.warn( formatMessage( opt, ' has been deprecated since v' + version + ' and will be removed in the near future' ) ); } return validator ? validator(value, opt, opts) : true; }; }; /** * Assert object's properties type * * @param {object} options * @param {object} schema * @param {boolean?} allowUnknown * * @returns {object} */ function assertOptions(options, schema, allowUnknown) { if (typeof options !== 'object') { throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE); } const keys = Object.keys(options); let i = keys.length; while (i-- > 0) { const opt = keys[i]; const validator = schema[opt]; if (validator) { const value = options[opt]; const result = value === undefined || validator(value, opt, options); if (result !== true) { throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE); } continue; } if (allowUnknown !== true) { throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION); } } } var validator = { assertOptions, validators: validators$1 }; const validators = validator.validators; /** * Create a new instance of Axios * * @param {Object} instanceConfig The default config for the instance * * @return {Axios} A new instance of Axios */ class Axios { constructor(instanceConfig) { this.defaults = instanceConfig; this.interceptors = { request: new InterceptorManager$1(), response: new InterceptorManager$1() }; } /** * Dispatch a request * * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults) * @param {?Object} config * * @returns {Promise} The Promise to be fulfilled */ async request(configOrUrl, config) { try { return await this._request(configOrUrl, config); } catch (err) { if (err instanceof Error) { let dummy; Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error()); // slice off the Error: ... line const stack = dummy.stack ? dummy.stack.replace(/^.+\n/, '') : ''; try { if (!err.stack) { err.stack = stack; // match without the 2 top stack lines } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\n.+\n/, ''))) { err.stack += '\n' + stack; } } catch (e) { // ignore the case where "stack" is an un-writable property } } throw err; } } _request(configOrUrl, config) { /*eslint no-param-reassign:0*/ // Allow for axios('example/url'[, config]) a la fetch API if (typeof configOrUrl === 'string') { config = config || {}; config.url = configOrUrl; } else { config = configOrUrl || {}; } config = mergeConfig(this.defaults, config); const {transitional, paramsSerializer, headers} = config; if (transitional !== undefined) { validator.assertOptions(transitional, { silentJSONParsing: validators.transitional(validators.boolean), forcedJSONParsing: validators.transitional(validators.boolean), clarifyTimeoutError: validators.transitional(validators.boolean) }, false); } if (paramsSerializer != null) { if (utils$1.isFunction(paramsSerializer)) { config.paramsSerializer = { serialize: paramsSerializer }; } else { validator.assertOptions(paramsSerializer, { encode: validators.function, serialize: validators.function }, true); } } // Set config.method config.method = (config.method || this.defaults.method || 'get').toLowerCase(); // Flatten headers let contextHeaders = headers && utils$1.merge( headers.common, headers[config.method] ); headers && utils$1.forEach( ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], (method) => { delete headers[method]; } ); config.headers = AxiosHeaders$1.concat(contextHeaders, headers); // filter out skipped interceptors const requestInterceptorChain = []; let synchronousRequestInterceptors = true; this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) { return; } synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous; requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected); }); const responseInterceptorChain = []; this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) { responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected); }); let promise; let i = 0; let len; if (!synchronousRequestInterceptors) { const chain = [dispatchRequest.bind(this), undefined]; chain.unshift.apply(chain, requestInterceptorChain); chain.push.apply(chain, responseInterceptorChain); len = chain.length; promise = Promise.resolve(config); while (i < len) { promise = promise.then(chain[i++], chain[i++]); } return promise; } len = requestInterceptorChain.length; let newConfig = config; i = 0; while (i < len) { const onFulfilled = requestInterceptorChain[i++]; const onRejected = requestInterceptorChain[i++]; try { newConfig = onFulfilled(newConfig); } catch (error) { onRejected.call(this, error); break; } } try { promise = dispatchRequest.call(this, newConfig); } catch (error) { return Promise.reject(error); } i = 0; len = responseInterceptorChain.length; while (i < len) { promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]); } return promise; } getUri(config) { config = mergeConfig(this.defaults, config); const fullPath = buildFullPath(config.baseURL, config.url); return buildURL(fullPath, config.params, config.paramsSerializer); } } // Provide aliases for supported request methods utils$1.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) { /*eslint func-names:0*/ Axios.prototype[method] = function(url, config) { return this.request(mergeConfig(config || {}, { method, url, data: (config || {}).data })); }; }); utils$1.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { /*eslint func-names:0*/ function generateHTTPMethod(isForm) { return function httpMethod(url, data, config) { return this.request(mergeConfig(config || {}, { method, headers: isForm ? { 'Content-Type': 'multipart/form-data' } : {}, url, data })); }; } Axios.prototype[method] = generateHTTPMethod(); Axios.prototype[method + 'Form'] = generateHTTPMethod(true); }); var Axios$1 = Axios; /** * A `CancelToken` is an object that can be used to request cancellation of an operation. * * @param {Function} executor The executor function. * * @returns {CancelToken} */ class CancelToken { constructor(executor) { if (typeof executor !== 'function') { throw new TypeError('executor must be a function.'); } let resolvePromise; this.promise = new Promise(function promiseExecutor(resolve) { resolvePromise = resolve; }); const token = this; // eslint-disable-next-line func-names this.promise.then(cancel => { if (!token._listeners) return; let i = token._listeners.length; while (i-- > 0) { token._listeners[i](cancel); } token._listeners = null; }); // eslint-disable-next-line func-names this.promise.then = onfulfilled => { let _resolve; // eslint-disable-next-line func-names const promise = new Promise(resolve => { token.subscribe(resolve); _resolve = resolve; }).then(onfulfilled); promise.cancel = function reject() { token.unsubscribe(_resolve); }; return promise; }; executor(function cancel(message, config, request) { if (token.reason) { // Cancellation has already been requested return; } token.reason = new CanceledError(message, config, request); resolvePromise(token.reason); }); } /** * Throws a `CanceledError` if cancellation has been requested. */ throwIfRequested() { if (this.reason) { throw this.reason; } } /** * Subscribe to the cancel signal */ subscribe(listener) { if (this.reason) { listener(this.reason); return; } if (this._listeners) { this._listeners.push(listener); } else { this._listeners = [listener]; } } /** * Unsubscribe from the cancel signal */ unsubscribe(listener) { if (!this._listeners) { return; } const index = this._listeners.indexOf(listener); if (index !== -1) { this._listeners.splice(index, 1); } } /** * Returns an object that contains a new `CancelToken` and a function that, when called, * cancels the `CancelToken`. */ static source() { let cancel; const token = new CancelToken(function executor(c) { cancel = c; }); return { token, cancel }; } } var CancelToken$1 = CancelToken; /** * Syntactic sugar for invoking a function and expanding an array for arguments. * * Common use case would be to use `Function.prototype.apply`. * * ```js * function f(x, y, z) {} * var args = [1, 2, 3]; * f.apply(null, args); * ``` * * With `spread` this example can be re-written. * * ```js * spread(function(x, y, z) {})([1, 2, 3]); * ``` * * @param {Function} callback * * @returns {Function} */ function spread(callback) { return function wrap(arr) { return callback.apply(null, arr); }; } /** * Determines whether the payload is an error thrown by Axios * * @param {*} payload The value to test * * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false */ function isAxiosError(payload) { return utils$1.isObject(payload) && (payload.isAxiosError === true); } const HttpStatusCode = { Continue: 100, SwitchingProtocols: 101, Processing: 102, EarlyHints: 103, Ok: 200, Created: 201, Accepted: 202, NonAuthoritativeInformation: 203, NoContent: 204, ResetContent: 205, PartialContent: 206, MultiStatus: 207, AlreadyReported: 208, ImUsed: 226, MultipleChoices: 300, MovedPermanently: 301, Found: 302, SeeOther: 303, NotModified: 304, UseProxy: 305, Unused: 306, TemporaryRedirect: 307, PermanentRedirect: 308, BadRequest: 400, Unauthorized: 401, PaymentRequired: 402, Forbidden: 403, NotFound: 404, MethodNotAllowed: 405, NotAcceptable: 406, ProxyAuthenticationRequired: 407, RequestTimeout: 408, Conflict: 409, Gone: 410, LengthRequired: 411, PreconditionFailed: 412, PayloadTooLarge: 413, UriTooLong: 414, UnsupportedMediaType: 415, RangeNotSatisfiable: 416, ExpectationFailed: 417, ImATeapot: 418, MisdirectedRequest: 421, UnprocessableEntity: 422, Locked: 423, FailedDependency: 424, TooEarly: 425, UpgradeRequired: 426, PreconditionRequired: 428, TooManyRequests: 429, RequestHeaderFieldsTooLarge: 431, UnavailableForLegalReasons: 451, InternalServerError: 500, NotImplemented: 501, BadGateway: 502, ServiceUnavailable: 503, GatewayTimeout: 504, HttpVersionNotSupported: 505, VariantAlsoNegotiates: 506, InsufficientStorage: 507, LoopDetected: 508, NotExtended: 510, NetworkAuthenticationRequired: 511, }; Object.entries(HttpStatusCode).forEach(([key, value]) => { HttpStatusCode[value] = key; }); var HttpStatusCode$1 = HttpStatusCode; /** * Create an instance of Axios * * @param {Object} defaultConfig The default config for the instance * * @returns {Axios} A new instance of Axios */ function createInstance(defaultConfig) { const context = new Axios$1(defaultConfig); const instance = bind(Axios$1.prototype.request, context); // Copy axios.prototype to instance utils$1.extend(instance, Axios$1.prototype, context, {allOwnKeys: true}); // Copy context to instance utils$1.extend(instance, context, null, {allOwnKeys: true}); // Factory for creating new instances instance.create = function create(instanceConfig) { return createInstance(mergeConfig(defaultConfig, instanceConfig)); }; return instance; } // Create the default instance to be exported const axios = createInstance(defaults$1); // Expose Axios class to allow class inheritance axios.Axios = Axios$1; // Expose Cancel & CancelToken axios.CanceledError = CanceledError; axios.CancelToken = CancelToken$1; axios.isCancel = isCancel; axios.VERSION = VERSION; axios.toFormData = toFormData; // Expose AxiosError class axios.AxiosError = AxiosError; // alias for CanceledError for backward compatibility axios.Cancel = axios.CanceledError; // Expose all/spread axios.all = function all(promises) { return Promise.all(promises); }; axios.spread = spread; // Expose isAxiosError axios.isAxiosError = isAxiosError; // Expose mergeConfig axios.mergeConfig = mergeConfig; axios.AxiosHeaders = AxiosHeaders$1; axios.formToJSON = thing => formDataToJSON(utils$1.isHTMLForm(thing) ? new FormData(thing) : thing); axios.getAdapter = adapters.getAdapter; axios.HttpStatusCode = HttpStatusCode$1; axios.default = axios; module.exports = axios; //# sourceMappingURL=axios.cjs.map PK�}�\� browser/axios.cjs.mapnu�[���{"version":3,"file":"axios.cjs","sources":["../../lib/helpers/bind.js","../../lib/utils.js","../../lib/core/AxiosError.js","../../lib/helpers/null.js","../../lib/helpers/toFormData.js","../../lib/helpers/AxiosURLSearchParams.js","../../lib/helpers/buildURL.js","../../lib/core/InterceptorManager.js","../../lib/defaults/transitional.js","../../lib/platform/browser/classes/URLSearchParams.js","../../lib/platform/browser/classes/FormData.js","../../lib/platform/browser/classes/Blob.js","../../lib/platform/browser/index.js","../../lib/platform/common/utils.js","../../lib/platform/index.js","../../lib/helpers/toURLEncodedForm.js","../../lib/helpers/formDataToJSON.js","../../lib/defaults/index.js","../../lib/helpers/parseHeaders.js","../../lib/core/AxiosHeaders.js","../../lib/core/transformData.js","../../lib/cancel/isCancel.js","../../lib/cancel/CanceledError.js","../../lib/core/settle.js","../../lib/helpers/parseProtocol.js","../../lib/helpers/speedometer.js","../../lib/helpers/throttle.js","../../lib/helpers/progressEventReducer.js","../../lib/helpers/isURLSameOrigin.js","../../lib/helpers/cookies.js","../../lib/helpers/isAbsoluteURL.js","../../lib/helpers/combineURLs.js","../../lib/core/buildFullPath.js","../../lib/core/mergeConfig.js","../../lib/helpers/resolveConfig.js","../../lib/adapters/xhr.js","../../lib/helpers/composeSignals.js","../../lib/helpers/trackStream.js","../../lib/adapters/fetch.js","../../lib/adapters/adapters.js","../../lib/core/dispatchRequest.js","../../lib/env/data.js","../../lib/helpers/validator.js","../../lib/core/Axios.js","../../lib/cancel/CancelToken.js","../../lib/helpers/spread.js","../../lib/helpers/isAxiosError.js","../../lib/helpers/HttpStatusCode.js","../../lib/axios.js"],"sourcesContent":["'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object<any, any>} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array<boolean>}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array<any>} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object<any, any>} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object<string, any>} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array<String|Number>} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object<string, any>} params - The parameters to be converted to a FormData object.\n * @param {Object<string, any>} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = (\n (product) => {\n return hasBrowserEnv && ['ReactNative', 'NativeScript', 'NS'].indexOf(product) < 0\n })(typeof navigator !== 'undefined' && navigator.product);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array<any>} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object<string, any> | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isHeaders(header)) {\n for (const [key, value] of header.entries()) {\n setHeader(value, key, rewrite);\n }\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","'use strict';\n\n/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n const threshold = 1000 / freq;\n let timer = null;\n return function throttled() {\n const force = this === true;\n\n const now = Date.now();\n if (force || now - timestamp > threshold) {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n timestamp = now;\n return fn.apply(null, arguments);\n }\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n timestamp = Date.now();\n return fn.apply(null, arguments);\n }, threshold - (now - timestamp));\n }\n };\n}\n\nexport default throttle;\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\n\nexport default (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n }, freq);\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover its components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })();\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\n }\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport progressEventReducer from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType} = _config;\n let onCanceled;\n function done() {\n if (_config.cancelToken) {\n _config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (_config.signal) {\n _config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, _config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, _config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n _config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (typeof _config.onDownloadProgress === 'function') {\n request.addEventListener('progress', progressEventReducer(_config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof _config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(_config.onUploadProgress));\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst composeSignals = (signals, timeout) => {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (cancel) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = cancel instanceof Error ? cancel : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal &&\n (signal.removeEventListener ? signal.removeEventListener('abort', onabort) : signal.unsubscribe(onabort));\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal && signal.addEventListener && signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = unsubscribe;\n\n return [signal, () => {\n timer && clearTimeout(timer);\n timer = null;\n }];\n}\n\nexport default composeSignals;\n","\n\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize, encode) {\n for await (const chunk of iterable) {\n yield* streamChunk(ArrayBuffer.isView(chunk) ? chunk : (await encode(String(chunk))), chunkSize);\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish, encode) => {\n const iterator = readBytes(stream, chunkSize, encode);\n\n let bytes = 0;\n\n return new ReadableStream({\n type: 'bytes',\n\n async pull(controller) {\n const {done, value} = await iterator.next();\n\n if (done) {\n controller.close();\n onFinish();\n return;\n }\n\n let len = value.byteLength;\n onProgress && onProgress(bytes += len);\n controller.enqueue(new Uint8Array(value));\n },\n cancel(reason) {\n onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport progressEventReducer from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst fetchProgressDecorator = (total, fn) => {\n const lengthComputable = total != null;\n return (loaded) => setTimeout(() => fn({\n lengthComputable,\n total,\n loaded\n }));\n}\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst supportsRequestStream = isReadableStreamSupported && (() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n})();\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported && !!(()=> {\n try {\n return utils.isReadableStream(new Response('').body);\n } catch(err) {\n // return undefined\n }\n})();\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n return (await new Request(body).arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let [composedSignal, stopTimeout] = (signal || cancelToken || timeout) ?\n composeSignals([signal, cancelToken], timeout) : [];\n\n let finished, request;\n\n const onFinish = () => {\n !finished && setTimeout(() => {\n composedSignal && composedSignal.unsubscribe();\n });\n\n finished = true;\n }\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, fetchProgressDecorator(\n requestContentLength,\n progressEventReducer(onUploadProgress)\n ), null, encodeText);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'cors' : 'omit';\n }\n\n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n withCredentials\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || isStreamResponse)) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onDownloadProgress && fetchProgressDecorator(\n responseContentLength,\n progressEventReducer(onDownloadProgress, true)\n ), isStreamResponse && onFinish, encodeText),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && onFinish();\n\n stopTimeout && stopTimeout();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n onFinish();\n\n if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","export const VERSION = \"1.7.2\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy;\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n"],"names":["utils","prototype","encode","URLSearchParams","FormData","Blob","platform","defaults","AxiosHeaders","composeSignals","validators","InterceptorManager","Axios","CancelToken","HttpStatusCode"],"mappings":";;;AAEe,SAAS,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE;AAC1C,EAAE,OAAO,SAAS,IAAI,GAAG;AACzB,IAAI,OAAO,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AACxC,GAAG,CAAC;AACJ;;ACFA;AACA;AACA,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC;AACpC,MAAM,CAAC,cAAc,CAAC,GAAG,MAAM,CAAC;AAChC;AACA,MAAM,MAAM,GAAG,CAAC,KAAK,IAAI,KAAK,IAAI;AAClC,IAAI,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACrC,IAAI,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AACvE,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AACxB;AACA,MAAM,UAAU,GAAG,CAAC,IAAI,KAAK;AAC7B,EAAE,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;AAC5B,EAAE,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI;AAC1C,EAAC;AACD;AACA,MAAM,UAAU,GAAG,IAAI,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,IAAI,CAAC;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,QAAQ,CAAC,GAAG,EAAE;AACvB,EAAE,OAAO,GAAG,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,WAAW,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC;AACvG,OAAO,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAC7E,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,aAAa,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,iBAAiB,CAAC,GAAG,EAAE;AAChC,EAAE,IAAI,MAAM,CAAC;AACb,EAAE,IAAI,CAAC,OAAO,WAAW,KAAK,WAAW,MAAM,WAAW,CAAC,MAAM,CAAC,EAAE;AACpE,IAAI,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACrC,GAAG,MAAM;AACT,IAAI,MAAM,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,KAAK,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAClE,GAAG;AACH,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,QAAQ,GAAG,CAAC,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,SAAS,GAAG,KAAK,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,KAAK,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,aAAa,GAAG,CAAC,GAAG,KAAK;AAC/B,EAAE,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE;AAChC,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH;AACA,EAAE,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;AACxC,EAAE,OAAO,CAAC,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,IAAI,KAAK,EAAE,MAAM,CAAC,WAAW,IAAI,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,IAAI,GAAG,CAAC,CAAC;AAC1K,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,QAAQ,GAAG,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,UAAU,GAAG,CAAC,KAAK,KAAK;AAC9B,EAAE,IAAI,IAAI,CAAC;AACX,EAAE,OAAO,KAAK;AACd,IAAI,CAAC,OAAO,QAAQ,KAAK,UAAU,IAAI,KAAK,YAAY,QAAQ;AAChE,MAAM,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC;AAC9B,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,UAAU;AAC7C;AACA,SAAS,IAAI,KAAK,QAAQ,IAAI,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,KAAK,mBAAmB,CAAC;AACrG,OAAO;AACP,KAAK;AACL,GAAG;AACH,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,iBAAiB,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC;AACxD;AACA,MAAM,CAAC,gBAAgB,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,GAAG,CAAC,gBAAgB,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAClI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,IAAI,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI;AAC9B,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,oCAAoC,EAAE,EAAE,CAAC,CAAC;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,UAAU,GAAG,KAAK,CAAC,GAAG,EAAE,EAAE;AACrD;AACA,EAAE,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,WAAW,EAAE;AAClD,IAAI,OAAO;AACX,GAAG;AACH;AACA,EAAE,IAAI,CAAC,CAAC;AACR,EAAE,IAAI,CAAC,CAAC;AACR;AACA;AACA,EAAE,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;AAC/B;AACA,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;AAChB,GAAG;AACH;AACA,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE;AACpB;AACA,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AAC5C,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;AACpC,KAAK;AACL,GAAG,MAAM;AACT;AACA,IAAI,MAAM,IAAI,GAAG,UAAU,GAAG,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACjF,IAAI,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;AAC5B,IAAI,IAAI,GAAG,CAAC;AACZ;AACA,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;AAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACxC,KAAK;AACL,GAAG;AACH,CAAC;AACD;AACA,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE;AAC3B,EAAE,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;AAC1B,EAAE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChC,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AACtB,EAAE,IAAI,IAAI,CAAC;AACX,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE;AAClB,IAAI,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AACnB,IAAI,IAAI,GAAG,KAAK,IAAI,CAAC,WAAW,EAAE,EAAE;AACpC,MAAM,OAAO,IAAI,CAAC;AAClB,KAAK;AACL,GAAG;AACH,EAAE,OAAO,IAAI,CAAC;AACd,CAAC;AACD;AACA,MAAM,OAAO,GAAG,CAAC,MAAM;AACvB;AACA,EAAE,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE,OAAO,UAAU,CAAC;AAC3D,EAAE,OAAO,OAAO,IAAI,KAAK,WAAW,GAAG,IAAI,IAAI,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;AAC/F,CAAC,GAAG,CAAC;AACL;AACA,MAAM,gBAAgB,GAAG,CAAC,OAAO,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,OAAO,KAAK,OAAO,CAAC;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,KAAK,8BAA8B;AAC5C,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;AAC1D,EAAE,MAAM,MAAM,GAAG,EAAE,CAAC;AACpB,EAAE,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK;AACpC,IAAI,MAAM,SAAS,GAAG,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,GAAG,CAAC;AAC9D,IAAI,IAAI,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE;AAChE,MAAM,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC;AACxD,KAAK,MAAM,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE;AACnC,MAAM,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;AACzC,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE;AAC7B,MAAM,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC;AACtC,KAAK,MAAM;AACX,MAAM,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC;AAC9B,KAAK;AACL,IAAG;AACH;AACA,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AACpD,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;AACvD,GAAG;AACH,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,KAAK;AACpD,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK;AAC3B,IAAI,IAAI,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE;AACpC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AAClC,KAAK,MAAM;AACX,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;AACnB,KAAK;AACL,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;AACnB,EAAE,OAAO,CAAC,CAAC;AACX,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,QAAQ,GAAG,CAAC,OAAO,KAAK;AAC9B,EAAE,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE;AACxC,IAAI,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC/B,GAAG;AACH,EAAE,OAAO,OAAO,CAAC;AACjB,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,QAAQ,GAAG,CAAC,WAAW,EAAE,gBAAgB,EAAE,KAAK,EAAE,WAAW,KAAK;AACxE,EAAE,WAAW,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;AACjF,EAAE,WAAW,CAAC,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC;AAClD,EAAE,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,OAAO,EAAE;AAC9C,IAAI,KAAK,EAAE,gBAAgB,CAAC,SAAS;AACrC,GAAG,CAAC,CAAC;AACL,EAAE,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AACvD,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,YAAY,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,KAAK;AACjE,EAAE,IAAI,KAAK,CAAC;AACZ,EAAE,IAAI,CAAC,CAAC;AACR,EAAE,IAAI,IAAI,CAAC;AACX,EAAE,MAAM,MAAM,GAAG,EAAE,CAAC;AACpB;AACA,EAAE,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;AAC1B;AACA,EAAE,IAAI,SAAS,IAAI,IAAI,EAAE,OAAO,OAAO,CAAC;AACxC;AACA,EAAE,GAAG;AACL,IAAI,KAAK,GAAG,MAAM,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;AAClD,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;AACrB,IAAI,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE;AACpB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AACtB,MAAM,IAAI,CAAC,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;AAClF,QAAQ,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AACxC,QAAQ,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAC5B,OAAO;AACP,KAAK;AACL,IAAI,SAAS,GAAG,MAAM,KAAK,KAAK,IAAI,cAAc,CAAC,SAAS,CAAC,CAAC;AAC9D,GAAG,QAAQ,SAAS,KAAK,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,SAAS,KAAK,MAAM,CAAC,SAAS,EAAE;AACnG;AACA,EAAE,OAAO,OAAO,CAAC;AACjB,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE,YAAY,EAAE,QAAQ,KAAK;AAClD,EAAE,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;AACpB,EAAE,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE;AACvD,IAAI,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC;AAC1B,GAAG;AACH,EAAE,QAAQ,IAAI,YAAY,CAAC,MAAM,CAAC;AAClC,EAAE,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;AACxD,EAAE,OAAO,SAAS,KAAK,CAAC,CAAC,IAAI,SAAS,KAAK,QAAQ,CAAC;AACpD,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,OAAO,GAAG,CAAC,KAAK,KAAK;AAC3B,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC;AAC1B,EAAE,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;AACnC,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;AACvB,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,CAAC;AAChC,EAAE,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;AAC3B,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE;AAClB,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AACtB,GAAG;AACH,EAAE,OAAO,GAAG,CAAC;AACb,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,YAAY,GAAG,CAAC,UAAU,IAAI;AACpC;AACA,EAAE,OAAO,KAAK,IAAI;AAClB,IAAI,OAAO,UAAU,IAAI,KAAK,YAAY,UAAU,CAAC;AACrD,GAAG,CAAC;AACJ,CAAC,EAAE,OAAO,UAAU,KAAK,WAAW,IAAI,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK;AAClC,EAAE,MAAM,SAAS,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAChD;AACA,EAAE,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACvC;AACA,EAAE,IAAI,MAAM,CAAC;AACb;AACA,EAAE,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE;AACrD,IAAI,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC;AAC9B,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,GAAG;AACH,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,GAAG,KAAK;AAClC,EAAE,IAAI,OAAO,CAAC;AACd,EAAE,MAAM,GAAG,GAAG,EAAE,CAAC;AACjB;AACA,EAAE,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE;AAChD,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACtB,GAAG;AACH;AACA,EAAE,OAAO,GAAG,CAAC;AACb,EAAC;AACD;AACA;AACA,MAAM,UAAU,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC;AACjD;AACA,MAAM,WAAW,GAAG,GAAG,IAAI;AAC3B,EAAE,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,uBAAuB;AAC1D,IAAI,SAAS,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;AACjC,MAAM,OAAO,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC;AACnC,KAAK;AACL,GAAG,CAAC;AACJ,CAAC,CAAC;AACF;AACA;AACA,MAAM,cAAc,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,KAAK,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;AACtC;AACA,MAAM,iBAAiB,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK;AAC5C,EAAE,MAAM,WAAW,GAAG,MAAM,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC;AAC5D,EAAE,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAChC;AACA,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,UAAU,EAAE,IAAI,KAAK;AAC7C,IAAI,IAAI,GAAG,CAAC;AACZ,IAAI,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,KAAK,EAAE;AAC1D,MAAM,kBAAkB,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,UAAU,CAAC;AACnD,KAAK;AACL,GAAG,CAAC,CAAC;AACL;AACA,EAAE,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;AACnD,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,aAAa,GAAG,CAAC,GAAG,KAAK;AAC/B,EAAE,iBAAiB,CAAC,GAAG,EAAE,CAAC,UAAU,EAAE,IAAI,KAAK;AAC/C;AACA,IAAI,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;AACnF,MAAM,OAAO,KAAK,CAAC;AACnB,KAAK;AACL;AACA,IAAI,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;AAC5B;AACA,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,OAAO;AACnC;AACA,IAAI,UAAU,CAAC,UAAU,GAAG,KAAK,CAAC;AAClC;AACA,IAAI,IAAI,UAAU,IAAI,UAAU,EAAE;AAClC,MAAM,UAAU,CAAC,QAAQ,GAAG,KAAK,CAAC;AAClC,MAAM,OAAO;AACb,KAAK;AACL;AACA,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE;AACzB,MAAM,UAAU,CAAC,GAAG,GAAG,MAAM;AAC7B,QAAQ,MAAM,KAAK,CAAC,qCAAqC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;AACzE,OAAO,CAAC;AACR,KAAK;AACL,GAAG,CAAC,CAAC;AACL,EAAC;AACD;AACA,MAAM,WAAW,GAAG,CAAC,aAAa,EAAE,SAAS,KAAK;AAClD,EAAE,MAAM,GAAG,GAAG,EAAE,CAAC;AACjB;AACA,EAAE,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK;AAC1B,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI;AACzB,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;AACxB,KAAK,CAAC,CAAC;AACP,IAAG;AACH;AACA,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;AAClG;AACA,EAAE,OAAO,GAAG,CAAC;AACb,EAAC;AACD;AACA,MAAM,IAAI,GAAG,MAAM,GAAE;AACrB;AACA,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,YAAY,KAAK;AAChD,EAAE,OAAO,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,YAAY,CAAC;AACjF,EAAC;AACD;AACA,MAAM,KAAK,GAAG,6BAA4B;AAC1C;AACA,MAAM,KAAK,GAAG,YAAY,CAAC;AAC3B;AACA,MAAM,QAAQ,GAAG;AACjB,EAAE,KAAK;AACP,EAAE,KAAK;AACP,EAAE,WAAW,EAAE,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,GAAG,KAAK;AAClD,EAAC;AACD;AACA,MAAM,cAAc,GAAG,CAAC,IAAI,GAAG,EAAE,EAAE,QAAQ,GAAG,QAAQ,CAAC,WAAW,KAAK;AACvE,EAAE,IAAI,GAAG,GAAG,EAAE,CAAC;AACf,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC;AAC5B,EAAE,OAAO,IAAI,EAAE,EAAE;AACjB,IAAI,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,EAAC;AAC7C,GAAG;AACH;AACA,EAAE,OAAO,GAAG,CAAC;AACb,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,mBAAmB,CAAC,KAAK,EAAE;AACpC,EAAE,OAAO,CAAC,EAAE,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,UAAU,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;AACrH,CAAC;AACD;AACA,MAAM,YAAY,GAAG,CAAC,GAAG,KAAK;AAC9B,EAAE,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC;AAC9B;AACA,EAAE,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC,KAAK;AAC/B;AACA,IAAI,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE;AAC1B,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;AACtC,QAAQ,OAAO;AACf,OAAO;AACP;AACA,MAAM,GAAG,EAAE,QAAQ,IAAI,MAAM,CAAC,EAAE;AAChC,QAAQ,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;AAC1B,QAAQ,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;AACjD;AACA,QAAQ,OAAO,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK;AACxC,UAAU,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AACnD,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC;AACrE,SAAS,CAAC,CAAC;AACX;AACA,QAAQ,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;AAC7B;AACA,QAAQ,OAAO,MAAM,CAAC;AACtB,OAAO;AACP,KAAK;AACL;AACA,IAAI,OAAO,MAAM,CAAC;AAClB,IAAG;AACH;AACA,EAAE,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AACvB,EAAC;AACD;AACA,MAAM,SAAS,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;AAC9C;AACA,MAAM,UAAU,GAAG,CAAC,KAAK;AACzB,EAAE,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACvG;AACA,cAAe;AACf,EAAE,OAAO;AACT,EAAE,aAAa;AACf,EAAE,QAAQ;AACV,EAAE,UAAU;AACZ,EAAE,iBAAiB;AACnB,EAAE,QAAQ;AACV,EAAE,QAAQ;AACV,EAAE,SAAS;AACX,EAAE,QAAQ;AACV,EAAE,aAAa;AACf,EAAE,gBAAgB;AAClB,EAAE,SAAS;AACX,EAAE,UAAU;AACZ,EAAE,SAAS;AACX,EAAE,WAAW;AACb,EAAE,MAAM;AACR,EAAE,MAAM;AACR,EAAE,MAAM;AACR,EAAE,QAAQ;AACV,EAAE,UAAU;AACZ,EAAE,QAAQ;AACV,EAAE,iBAAiB;AACnB,EAAE,YAAY;AACd,EAAE,UAAU;AACZ,EAAE,OAAO;AACT,EAAE,KAAK;AACP,EAAE,MAAM;AACR,EAAE,IAAI;AACN,EAAE,QAAQ;AACV,EAAE,QAAQ;AACV,EAAE,YAAY;AACd,EAAE,MAAM;AACR,EAAE,UAAU;AACZ,EAAE,QAAQ;AACV,EAAE,OAAO;AACT,EAAE,YAAY;AACd,EAAE,QAAQ;AACV,EAAE,UAAU;AACZ,EAAE,cAAc;AAChB,EAAE,UAAU,EAAE,cAAc;AAC5B,EAAE,iBAAiB;AACnB,EAAE,aAAa;AACf,EAAE,WAAW;AACb,EAAE,WAAW;AACb,EAAE,IAAI;AACN,EAAE,cAAc;AAChB,EAAE,OAAO;AACT,EAAE,MAAM,EAAE,OAAO;AACjB,EAAE,gBAAgB;AAClB,EAAE,QAAQ;AACV,EAAE,cAAc;AAChB,EAAE,mBAAmB;AACrB,EAAE,YAAY;AACd,EAAE,SAAS;AACX,EAAE,UAAU;AACZ,CAAC;;ACntBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,UAAU,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE;AAC9D,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnB;AACA,EAAE,IAAI,KAAK,CAAC,iBAAiB,EAAE;AAC/B,IAAI,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;AACpD,GAAG,MAAM;AACT,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,KAAK,EAAE,EAAE,KAAK,CAAC;AACrC,GAAG;AACH;AACA,EAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AACzB,EAAE,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;AAC3B,EAAE,IAAI,KAAK,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;AAC7B,EAAE,MAAM,KAAK,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;AACnC,EAAE,OAAO,KAAK,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC;AACtC,EAAE,QAAQ,KAAK,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC;AACzC,CAAC;AACD;AACAA,OAAK,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAK,EAAE;AAClC,EAAE,MAAM,EAAE,SAAS,MAAM,GAAG;AAC5B,IAAI,OAAO;AACX;AACA,MAAM,OAAO,EAAE,IAAI,CAAC,OAAO;AAC3B,MAAM,IAAI,EAAE,IAAI,CAAC,IAAI;AACrB;AACA,MAAM,WAAW,EAAE,IAAI,CAAC,WAAW;AACnC,MAAM,MAAM,EAAE,IAAI,CAAC,MAAM;AACzB;AACA,MAAM,QAAQ,EAAE,IAAI,CAAC,QAAQ;AAC7B,MAAM,UAAU,EAAE,IAAI,CAAC,UAAU;AACjC,MAAM,YAAY,EAAE,IAAI,CAAC,YAAY;AACrC,MAAM,KAAK,EAAE,IAAI,CAAC,KAAK;AACvB;AACA,MAAM,MAAM,EAAEA,OAAK,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;AAC7C,MAAM,IAAI,EAAE,IAAI,CAAC,IAAI;AACrB,MAAM,MAAM,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI;AACjF,KAAK,CAAC;AACN,GAAG;AACH,CAAC,CAAC,CAAC;AACH;AACA,MAAMC,WAAS,GAAG,UAAU,CAAC,SAAS,CAAC;AACvC,MAAM,WAAW,GAAG,EAAE,CAAC;AACvB;AACA;AACA,EAAE,sBAAsB;AACxB,EAAE,gBAAgB;AAClB,EAAE,cAAc;AAChB,EAAE,WAAW;AACb,EAAE,aAAa;AACf,EAAE,2BAA2B;AAC7B,EAAE,gBAAgB;AAClB,EAAE,kBAAkB;AACpB,EAAE,iBAAiB;AACnB,EAAE,cAAc;AAChB,EAAE,iBAAiB;AACnB,EAAE,iBAAiB;AACnB;AACA,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI;AAClB,EAAE,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC;AACH;AACA,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;AACjD,MAAM,CAAC,cAAc,CAACA,WAAS,EAAE,cAAc,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;AAChE;AACA;AACA,UAAU,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,KAAK;AAC3E,EAAE,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAACA,WAAS,CAAC,CAAC;AAC9C;AACA,EAAED,OAAK,CAAC,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,MAAM,CAAC,GAAG,EAAE;AAC7D,IAAI,OAAO,GAAG,KAAK,KAAK,CAAC,SAAS,CAAC;AACnC,GAAG,EAAE,IAAI,IAAI;AACb,IAAI,OAAO,IAAI,KAAK,cAAc,CAAC;AACnC,GAAG,CAAC,CAAC;AACL;AACA,EAAE,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC9E;AACA,EAAE,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC;AAC3B;AACA,EAAE,UAAU,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;AAC/B;AACA,EAAE,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;AACxD;AACA,EAAE,OAAO,UAAU,CAAC;AACpB,CAAC;;ACjGD;AACA,kBAAe,IAAI;;ACMnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,WAAW,CAAC,KAAK,EAAE;AAC5B,EAAE,OAAOA,OAAK,CAAC,aAAa,CAAC,KAAK,CAAC,IAAIA,OAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC5D,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,cAAc,CAAC,GAAG,EAAE;AAC7B,EAAE,OAAOA,OAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;AAC5D,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AACpC,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,CAAC;AACxB,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE;AACtD;AACA,IAAI,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;AAClC,IAAI,OAAO,CAAC,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,GAAG,KAAK,CAAC;AAClD,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC;AAC3B,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,WAAW,CAAC,GAAG,EAAE;AAC1B,EAAE,OAAOA,OAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACtD,CAAC;AACD;AACA,MAAM,UAAU,GAAGA,OAAK,CAAC,YAAY,CAACA,OAAK,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,MAAM,CAAC,IAAI,EAAE;AAC7E,EAAE,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,UAAU,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE;AAC5C,EAAE,IAAI,CAACA,OAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AAC5B,IAAI,MAAM,IAAI,SAAS,CAAC,0BAA0B,CAAC,CAAC;AACpD,GAAG;AACH;AACA;AACA,EAAE,QAAQ,GAAG,QAAQ,IAAI,KAAyB,QAAQ,GAAG,CAAC;AAC9D;AACA;AACA,EAAE,OAAO,GAAGA,OAAK,CAAC,YAAY,CAAC,OAAO,EAAE;AACxC,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,IAAI,EAAE,KAAK;AACf,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG,EAAE,KAAK,EAAE,SAAS,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE;AAC7C;AACA,IAAI,OAAO,CAACA,OAAK,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;AAC9C,GAAG,CAAC,CAAC;AACL;AACA,EAAE,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;AACxC;AACA,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,cAAc,CAAC;AACpD,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;AAC5B,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;AAClC,EAAE,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC;AACpE,EAAE,MAAM,OAAO,GAAG,KAAK,IAAIA,OAAK,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;AAC/D;AACA,EAAE,IAAI,CAACA,OAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;AAClC,IAAI,MAAM,IAAI,SAAS,CAAC,4BAA4B,CAAC,CAAC;AACtD,GAAG;AACH;AACA,EAAE,SAAS,YAAY,CAAC,KAAK,EAAE;AAC/B,IAAI,IAAI,KAAK,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC;AAClC;AACA,IAAI,IAAIA,OAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;AAC7B,MAAM,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;AACjC,KAAK;AACL;AACA,IAAI,IAAI,CAAC,OAAO,IAAIA,OAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;AACzC,MAAM,MAAM,IAAI,UAAU,CAAC,8CAA8C,CAAC,CAAC;AAC3E,KAAK;AACL;AACA,IAAI,IAAIA,OAAK,CAAC,aAAa,CAAC,KAAK,CAAC,IAAIA,OAAK,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;AACjE,MAAM,OAAO,OAAO,IAAI,OAAO,IAAI,KAAK,UAAU,GAAG,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC5F,KAAK;AACL;AACA,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,SAAS,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5C,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC;AACpB;AACA,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACrD,MAAM,IAAIA,OAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE;AACrC;AACA,QAAQ,GAAG,GAAG,UAAU,GAAG,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAClD;AACA,QAAQ,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACtC,OAAO,MAAM;AACb,QAAQ,CAACA,OAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC;AACnD,SAAS,CAACA,OAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAIA,OAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,GAAG,GAAGA,OAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC/F,SAAS,EAAE;AACX;AACA,QAAQ,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;AAClC;AACA,QAAQ,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE;AAC7C,UAAU,EAAEA,OAAK,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,IAAI,QAAQ,CAAC,MAAM;AACpE;AACA,YAAY,OAAO,KAAK,IAAI,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,OAAO,KAAK,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC;AACpG,YAAY,YAAY,CAAC,EAAE,CAAC;AAC5B,WAAW,CAAC;AACZ,SAAS,CAAC,CAAC;AACX,QAAQ,OAAO,KAAK,CAAC;AACrB,OAAO;AACP,KAAK;AACL;AACA,IAAI,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE;AAC5B,MAAM,OAAO,IAAI,CAAC;AAClB,KAAK;AACL;AACA,IAAI,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;AACrE;AACA,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH;AACA,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;AACnB;AACA,EAAE,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE;AACnD,IAAI,cAAc;AAClB,IAAI,YAAY;AAChB,IAAI,WAAW;AACf,GAAG,CAAC,CAAC;AACL;AACA,EAAE,SAAS,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE;AAC9B,IAAI,IAAIA,OAAK,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,OAAO;AACzC;AACA,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE;AACrC,MAAM,MAAM,KAAK,CAAC,iCAAiC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACtE,KAAK;AACL;AACA,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACtB;AACA,IAAIA,OAAK,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE;AAChD,MAAM,MAAM,MAAM,GAAG,EAAEA,OAAK,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI;AAC5E,QAAQ,QAAQ,EAAE,EAAE,EAAEA,OAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,cAAc;AAClF,OAAO,CAAC;AACR;AACA,MAAM,IAAI,MAAM,KAAK,IAAI,EAAE;AAC3B,QAAQ,KAAK,CAAC,EAAE,EAAE,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AACnD,OAAO;AACP,KAAK,CAAC,CAAC;AACP;AACA,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;AAChB,GAAG;AACH;AACA,EAAE,IAAI,CAACA,OAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AAC5B,IAAI,MAAM,IAAI,SAAS,CAAC,wBAAwB,CAAC,CAAC;AAClD,GAAG;AACH;AACA,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;AACb;AACA,EAAE,OAAO,QAAQ,CAAC;AAClB;;ACpNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASE,QAAM,CAAC,GAAG,EAAE;AACrB,EAAE,MAAM,OAAO,GAAG;AAClB,IAAI,GAAG,EAAE,KAAK;AACd,IAAI,GAAG,EAAE,KAAK;AACd,IAAI,GAAG,EAAE,KAAK;AACd,IAAI,GAAG,EAAE,KAAK;AACd,IAAI,GAAG,EAAE,KAAK;AACd,IAAI,KAAK,EAAE,GAAG;AACd,IAAI,KAAK,EAAE,MAAM;AACjB,GAAG,CAAC;AACJ,EAAE,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,SAAS,QAAQ,CAAC,KAAK,EAAE;AACtF,IAAI,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AAC1B,GAAG,CAAC,CAAC;AACL,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,oBAAoB,CAAC,MAAM,EAAE,OAAO,EAAE;AAC/C,EAAE,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;AACnB;AACA,EAAE,MAAM,IAAI,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAC9C,CAAC;AACD;AACA,MAAM,SAAS,GAAG,oBAAoB,CAAC,SAAS,CAAC;AACjD;AACA,SAAS,CAAC,MAAM,GAAG,SAAS,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE;AAChD,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC;AACF;AACA,SAAS,CAAC,QAAQ,GAAG,SAAS,QAAQ,CAAC,OAAO,EAAE;AAChD,EAAE,MAAM,OAAO,GAAG,OAAO,GAAG,SAAS,KAAK,EAAE;AAC5C,IAAI,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAEA,QAAM,CAAC,CAAC;AAC7C,GAAG,GAAGA,QAAM,CAAC;AACb;AACA,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,IAAI,EAAE;AAC7C,IAAI,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACrD,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACnB,CAAC;;AClDD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,MAAM,CAAC,GAAG,EAAE;AACrB,EAAE,OAAO,kBAAkB,CAAC,GAAG,CAAC;AAChC,IAAI,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;AACzB,IAAI,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;AACxB,IAAI,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;AACzB,IAAI,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;AACxB,IAAI,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;AACzB,IAAI,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AAC1B,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE;AACvD;AACA,EAAE,IAAI,CAAC,MAAM,EAAE;AACf,IAAI,OAAO,GAAG,CAAC;AACf,GAAG;AACH;AACA,EAAE,MAAM,OAAO,GAAG,OAAO,IAAI,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC;AACtD;AACA,EAAE,MAAM,WAAW,GAAG,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC;AACnD;AACA,EAAE,IAAI,gBAAgB,CAAC;AACvB;AACA,EAAE,IAAI,WAAW,EAAE;AACnB,IAAI,gBAAgB,GAAG,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACpD,GAAG,MAAM;AACT,IAAI,gBAAgB,GAAGF,OAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC;AACtD,MAAM,MAAM,CAAC,QAAQ,EAAE;AACvB,MAAM,IAAI,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAClE,GAAG;AACH;AACA,EAAE,IAAI,gBAAgB,EAAE;AACxB,IAAI,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAC3C;AACA,IAAI,IAAI,aAAa,KAAK,CAAC,CAAC,EAAE;AAC9B,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;AACxC,KAAK;AACL,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,gBAAgB,CAAC;AACpE,GAAG;AACH;AACA,EAAE,OAAO,GAAG,CAAC;AACb;;AC1DA,MAAM,kBAAkB,CAAC;AACzB,EAAE,WAAW,GAAG;AAChB,IAAI,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;AACvB,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE;AACpC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;AACvB,MAAM,SAAS;AACf,MAAM,QAAQ;AACd,MAAM,WAAW,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,GAAG,KAAK;AACxD,MAAM,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI;AAC/C,KAAK,CAAC,CAAC;AACP,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;AACpC,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,KAAK,CAAC,EAAE,EAAE;AACZ,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;AAC3B,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;AAC/B,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,KAAK,GAAG;AACV,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE;AACvB,MAAM,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;AACzB,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,OAAO,CAAC,EAAE,EAAE;AACd,IAAIA,OAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,cAAc,CAAC,CAAC,EAAE;AAC5D,MAAM,IAAI,CAAC,KAAK,IAAI,EAAE;AACtB,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;AACd,OAAO;AACP,KAAK,CAAC,CAAC;AACP,GAAG;AACH,CAAC;AACD;AACA,2BAAe,kBAAkB;;ACpEjC,2BAAe;AACf,EAAE,iBAAiB,EAAE,IAAI;AACzB,EAAE,iBAAiB,EAAE,IAAI;AACzB,EAAE,mBAAmB,EAAE,KAAK;AAC5B,CAAC;;ACHD,wBAAe,OAAO,eAAe,KAAK,WAAW,GAAG,eAAe,GAAG,oBAAoB;;ACD9F,iBAAe,OAAO,QAAQ,KAAK,WAAW,GAAG,QAAQ,GAAG,IAAI;;ACAhE,aAAe,OAAO,IAAI,KAAK,WAAW,GAAG,IAAI,GAAG;;ACEpD,iBAAe;AACf,EAAE,SAAS,EAAE,IAAI;AACjB,EAAE,OAAO,EAAE;AACX,qBAAIG,iBAAe;AACnB,cAAIC,UAAQ;AACZ,UAAIC,MAAI;AACR,GAAG;AACH,EAAE,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;AAC7D,CAAC;;ACZD,MAAM,aAAa,GAAG,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,QAAQ,KAAK,WAAW,CAAC;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,qBAAqB,GAAG;AAC9B,EAAE,CAAC,OAAO,KAAK;AACf,IAAI,OAAO,aAAa,IAAI,CAAC,aAAa,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;AACtF,GAAG,EAAE,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,8BAA8B,GAAG,CAAC,MAAM;AAC9C,EAAE;AACF,IAAI,OAAO,iBAAiB,KAAK,WAAW;AAC5C;AACA,IAAI,IAAI,YAAY,iBAAiB;AACrC,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,UAAU;AAC5C,IAAI;AACJ,CAAC,GAAG,CAAC;AACL;AACA,MAAM,MAAM,GAAG,aAAa,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,IAAI,kBAAkB;;;;;;;;;;ACvC1E,eAAe;AACf,EAAE,GAAG,KAAK;AACV,EAAE,GAAGC,UAAQ;AACb;;ACAe,SAAS,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE;AACxD,EAAE,OAAO,UAAU,CAAC,IAAI,EAAE,IAAI,QAAQ,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC;AAChF,IAAI,OAAO,EAAE,SAAS,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE;AACjD,MAAM,IAAI,QAAQ,CAAC,MAAM,IAAIN,OAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;AACpD,QAAQ,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;AACnD,QAAQ,OAAO,KAAK,CAAC;AACrB,OAAO;AACP;AACA,MAAM,OAAO,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAC3D,KAAK;AACL,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;AACf;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,aAAa,CAAC,IAAI,EAAE;AAC7B;AACA;AACA;AACA;AACA,EAAE,OAAOA,OAAK,CAAC,QAAQ,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI;AAC5D,IAAI,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;AACzD,GAAG,CAAC,CAAC;AACL,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,aAAa,CAAC,GAAG,EAAE;AAC5B,EAAE,MAAM,GAAG,GAAG,EAAE,CAAC;AACjB,EAAE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChC,EAAE,IAAI,CAAC,CAAC;AACR,EAAE,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;AAC1B,EAAE,IAAI,GAAG,CAAC;AACV,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;AAC5B,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;AACxB,GAAG;AACH,EAAE,OAAO,GAAG,CAAC;AACb,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,cAAc,CAAC,QAAQ,EAAE;AAClC,EAAE,SAAS,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;AACjD,IAAI,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;AAC7B;AACA,IAAI,IAAI,IAAI,KAAK,WAAW,EAAE,OAAO,IAAI,CAAC;AAC1C;AACA,IAAI,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC;AAChD,IAAI,MAAM,MAAM,GAAG,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC;AACxC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAIA,OAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;AACjE;AACA,IAAI,IAAI,MAAM,EAAE;AAChB,MAAM,IAAIA,OAAK,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;AAC1C,QAAQ,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;AAC7C,OAAO,MAAM;AACb,QAAQ,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;AAC7B,OAAO;AACP;AACA,MAAM,OAAO,CAAC,YAAY,CAAC;AAC3B,KAAK;AACL;AACA,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAACA,OAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE;AACxD,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AACxB,KAAK;AACL;AACA,IAAI,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;AAC/D;AACA,IAAI,IAAI,MAAM,IAAIA,OAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE;AAC/C,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AACjD,KAAK;AACL;AACA,IAAI,OAAO,CAAC,YAAY,CAAC;AACzB,GAAG;AACH;AACA,EAAE,IAAIA,OAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAIA,OAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;AACxE,IAAI,MAAM,GAAG,GAAG,EAAE,CAAC;AACnB;AACA,IAAIA,OAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK;AAClD,MAAM,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;AACpD,KAAK,CAAC,CAAC;AACP;AACA,IAAI,OAAO,GAAG,CAAC;AACf,GAAG;AACH;AACA,EAAE,OAAO,IAAI,CAAC;AACd;;AClFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE;AACpD,EAAE,IAAIA,OAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;AAChC,IAAI,IAAI;AACR,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AACvC,MAAM,OAAOA,OAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAClC,KAAK,CAAC,OAAO,CAAC,EAAE;AAChB,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,EAAE;AACpC,QAAQ,MAAM,CAAC,CAAC;AAChB,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA,EAAE,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AAC/C,CAAC;AACD;AACA,MAAM,QAAQ,GAAG;AACjB;AACA,EAAE,YAAY,EAAE,oBAAoB;AACpC;AACA,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC;AACnC;AACA,EAAE,gBAAgB,EAAE,CAAC,SAAS,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE;AAC9D,IAAI,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC;AACvD,IAAI,MAAM,kBAAkB,GAAG,WAAW,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;AAC5E,IAAI,MAAM,eAAe,GAAGA,OAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACjD;AACA,IAAI,IAAI,eAAe,IAAIA,OAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AACnD,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;AAChC,KAAK;AACL;AACA,IAAI,MAAM,UAAU,GAAGA,OAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAC9C;AACA,IAAI,IAAI,UAAU,EAAE;AACpB,MAAM,OAAO,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;AAC9E,KAAK;AACL;AACA,IAAI,IAAIA,OAAK,CAAC,aAAa,CAAC,IAAI,CAAC;AACjC,MAAMA,OAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;AAC1B,MAAMA,OAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;AAC1B,MAAMA,OAAK,CAAC,MAAM,CAAC,IAAI,CAAC;AACxB,MAAMA,OAAK,CAAC,MAAM,CAAC,IAAI,CAAC;AACxB,MAAMA,OAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC;AAClC,MAAM;AACN,MAAM,OAAO,IAAI,CAAC;AAClB,KAAK;AACL,IAAI,IAAIA,OAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE;AACvC,MAAM,OAAO,IAAI,CAAC,MAAM,CAAC;AACzB,KAAK;AACL,IAAI,IAAIA,OAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE;AACvC,MAAM,OAAO,CAAC,cAAc,CAAC,iDAAiD,EAAE,KAAK,CAAC,CAAC;AACvF,MAAM,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;AAC7B,KAAK;AACL;AACA,IAAI,IAAI,UAAU,CAAC;AACnB;AACA,IAAI,IAAI,eAAe,EAAE;AACzB,MAAM,IAAI,WAAW,CAAC,OAAO,CAAC,mCAAmC,CAAC,GAAG,CAAC,CAAC,EAAE;AACzE,QAAQ,OAAO,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC;AACtE,OAAO;AACP;AACA,MAAM,IAAI,CAAC,UAAU,GAAGA,OAAK,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,WAAW,CAAC,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,EAAE;AACpG,QAAQ,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;AACxD;AACA,QAAQ,OAAO,UAAU;AACzB,UAAU,UAAU,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,IAAI;AAC/C,UAAU,SAAS,IAAI,IAAI,SAAS,EAAE;AACtC,UAAU,IAAI,CAAC,cAAc;AAC7B,SAAS,CAAC;AACV,OAAO;AACP,KAAK;AACL;AACA,IAAI,IAAI,eAAe,IAAI,kBAAkB,GAAG;AAChD,MAAM,OAAO,CAAC,cAAc,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;AACxD,MAAM,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;AACnC,KAAK;AACL;AACA,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG,CAAC;AACJ;AACA,EAAE,iBAAiB,EAAE,CAAC,SAAS,iBAAiB,CAAC,IAAI,EAAE;AACvD,IAAI,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,QAAQ,CAAC,YAAY,CAAC;AACpE,IAAI,MAAM,iBAAiB,GAAG,YAAY,IAAI,YAAY,CAAC,iBAAiB,CAAC;AAC7E,IAAI,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,KAAK,MAAM,CAAC;AACvD;AACA,IAAI,IAAIA,OAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAIA,OAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE;AAChE,MAAM,OAAO,IAAI,CAAC;AAClB,KAAK;AACL;AACA,IAAI,IAAI,IAAI,IAAIA,OAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,YAAY,KAAK,aAAa,CAAC,EAAE;AACtG,MAAM,MAAM,iBAAiB,GAAG,YAAY,IAAI,YAAY,CAAC,iBAAiB,CAAC;AAC/E,MAAM,MAAM,iBAAiB,GAAG,CAAC,iBAAiB,IAAI,aAAa,CAAC;AACpE;AACA,MAAM,IAAI;AACV,QAAQ,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAChC,OAAO,CAAC,OAAO,CAAC,EAAE;AAClB,QAAQ,IAAI,iBAAiB,EAAE;AAC/B,UAAU,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,EAAE;AACxC,YAAY,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC7F,WAAW;AACX,UAAU,MAAM,CAAC,CAAC;AAClB,SAAS;AACT,OAAO;AACP,KAAK;AACL;AACA,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG,CAAC;AACJ;AACA;AACA;AACA;AACA;AACA,EAAE,OAAO,EAAE,CAAC;AACZ;AACA,EAAE,cAAc,EAAE,YAAY;AAC9B,EAAE,cAAc,EAAE,cAAc;AAChC;AACA,EAAE,gBAAgB,EAAE,CAAC,CAAC;AACtB,EAAE,aAAa,EAAE,CAAC,CAAC;AACnB;AACA,EAAE,GAAG,EAAE;AACP,IAAI,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,QAAQ;AACvC,IAAI,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI;AAC/B,GAAG;AACH;AACA,EAAE,cAAc,EAAE,SAAS,cAAc,CAAC,MAAM,EAAE;AAClD,IAAI,OAAO,MAAM,IAAI,GAAG,IAAI,MAAM,GAAG,GAAG,CAAC;AACzC,GAAG;AACH;AACA,EAAE,OAAO,EAAE;AACX,IAAI,MAAM,EAAE;AACZ,MAAM,QAAQ,EAAE,mCAAmC;AACnD,MAAM,cAAc,EAAE,SAAS;AAC/B,KAAK;AACL,GAAG;AACH,CAAC,CAAC;AACF;AACAA,OAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,MAAM,KAAK;AAC7E,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;AAChC,CAAC,CAAC,CAAC;AACH;AACA,iBAAe,QAAQ;;AC5JvB;AACA;AACA,MAAM,iBAAiB,GAAGA,OAAK,CAAC,WAAW,CAAC;AAC5C,EAAE,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM;AAClE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,qBAAqB;AACvE,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,qBAAqB;AACpE,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY;AACxC,CAAC,CAAC,CAAC;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAe,UAAU,IAAI;AAC7B,EAAE,MAAM,MAAM,GAAG,EAAE,CAAC;AACpB,EAAE,IAAI,GAAG,CAAC;AACV,EAAE,IAAI,GAAG,CAAC;AACV,EAAE,IAAI,CAAC,CAAC;AACR;AACA,EAAE,UAAU,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,MAAM,CAAC,IAAI,EAAE;AACrE,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAC1B,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AACpD,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACvC;AACA,IAAI,IAAI,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG,CAAC,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE;AACzD,MAAM,OAAO;AACb,KAAK;AACL;AACA,IAAI,IAAI,GAAG,KAAK,YAAY,EAAE;AAC9B,MAAM,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE;AACvB,QAAQ,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC9B,OAAO,MAAM;AACb,QAAQ,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC5B,OAAO;AACP,KAAK,MAAM;AACX,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC;AACjE,KAAK;AACL,GAAG,CAAC,CAAC;AACL;AACA,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC;;ACjDD,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AACvC;AACA,SAAS,eAAe,CAAC,MAAM,EAAE;AACjC,EAAE,OAAO,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AACvD,CAAC;AACD;AACA,SAAS,cAAc,CAAC,KAAK,EAAE;AAC/B,EAAE,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,IAAI,IAAI,EAAE;AACxC,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH;AACA,EAAE,OAAOA,OAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;AAC1E,CAAC;AACD;AACA,SAAS,WAAW,CAAC,GAAG,EAAE;AAC1B,EAAE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACrC,EAAE,MAAM,QAAQ,GAAG,kCAAkC,CAAC;AACtD,EAAE,IAAI,KAAK,CAAC;AACZ;AACA,EAAE,QAAQ,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG;AACvC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AAChC,GAAG;AACH;AACA,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC;AACD;AACA,MAAM,iBAAiB,GAAG,CAAC,GAAG,KAAK,gCAAgC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;AACrF;AACA,SAAS,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE;AAC9E,EAAE,IAAIA,OAAK,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;AAChC,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAC5C,GAAG;AACH;AACA,EAAE,IAAI,kBAAkB,EAAE;AAC1B,IAAI,KAAK,GAAG,MAAM,CAAC;AACnB,GAAG;AACH;AACA,EAAE,IAAI,CAACA,OAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO;AACrC;AACA,EAAE,IAAIA,OAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AAC9B,IAAI,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACxC,GAAG;AACH;AACA,EAAE,IAAIA,OAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AAC9B,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC9B,GAAG;AACH,CAAC;AACD;AACA,SAAS,YAAY,CAAC,MAAM,EAAE;AAC9B,EAAE,OAAO,MAAM,CAAC,IAAI,EAAE;AACtB,KAAK,WAAW,EAAE,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,KAAK;AAChE,MAAM,OAAO,IAAI,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC;AACtC,KAAK,CAAC,CAAC;AACP,CAAC;AACD;AACA,SAAS,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE;AACrC,EAAE,MAAM,YAAY,GAAGA,OAAK,CAAC,WAAW,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC;AACvD;AACA,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI;AAC9C,IAAI,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,UAAU,GAAG,YAAY,EAAE;AAC1D,MAAM,KAAK,EAAE,SAAS,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;AACxC,QAAQ,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACrE,OAAO;AACP,MAAM,YAAY,EAAE,IAAI;AACxB,KAAK,CAAC,CAAC;AACP,GAAG,CAAC,CAAC;AACL,CAAC;AACD;AACA,MAAM,YAAY,CAAC;AACnB,EAAE,WAAW,CAAC,OAAO,EAAE;AACvB,IAAI,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACjC,GAAG;AACH;AACA,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE;AACvC,IAAI,MAAM,IAAI,GAAG,IAAI,CAAC;AACtB;AACA,IAAI,SAAS,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE;AAClD,MAAM,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;AAC/C;AACA,MAAM,IAAI,CAAC,OAAO,EAAE;AACpB,QAAQ,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;AAClE,OAAO;AACP;AACA,MAAM,MAAM,GAAG,GAAGA,OAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC/C;AACA,MAAM,GAAG,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,KAAK,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,EAAE;AAClH,QAAQ,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;AACtD,OAAO;AACP,KAAK;AACL;AACA,IAAI,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,QAAQ;AACzC,MAAMA,OAAK,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;AACxF;AACA,IAAI,IAAIA,OAAK,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,MAAM,YAAY,IAAI,CAAC,WAAW,EAAE;AAC3E,MAAM,UAAU,CAAC,MAAM,EAAE,cAAc,EAAC;AACxC,KAAK,MAAM,GAAGA,OAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE;AAChG,MAAM,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,CAAC;AACvD,KAAK,MAAM,IAAIA,OAAK,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;AACxC,MAAM,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE;AACnD,QAAQ,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;AACvC,OAAO;AACP,KAAK,MAAM;AACX,MAAM,MAAM,IAAI,IAAI,IAAI,SAAS,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AACnE,KAAK;AACL;AACA,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH;AACA,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE;AACtB,IAAI,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;AACrC;AACA,IAAI,IAAI,MAAM,EAAE;AAChB,MAAM,MAAM,GAAG,GAAGA,OAAK,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC9C;AACA,MAAM,IAAI,GAAG,EAAE;AACf,QAAQ,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;AAChC;AACA,QAAQ,IAAI,CAAC,MAAM,EAAE;AACrB,UAAU,OAAO,KAAK,CAAC;AACvB,SAAS;AACT;AACA,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE;AAC7B,UAAU,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;AACpC,SAAS;AACT;AACA,QAAQ,IAAIA,OAAK,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;AACtC,UAAU,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;AAC/C,SAAS;AACT;AACA,QAAQ,IAAIA,OAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AACpC,UAAU,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACpC,SAAS;AACT;AACA,QAAQ,MAAM,IAAI,SAAS,CAAC,wCAAwC,CAAC,CAAC;AACtE,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE;AACvB,IAAI,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;AACrC;AACA,IAAI,IAAI,MAAM,EAAE;AAChB,MAAM,MAAM,GAAG,GAAGA,OAAK,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC9C;AACA,MAAM,OAAO,CAAC,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,SAAS,KAAK,CAAC,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AACjH,KAAK;AACL;AACA,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH;AACA,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE;AAC1B,IAAI,MAAM,IAAI,GAAG,IAAI,CAAC;AACtB,IAAI,IAAI,OAAO,GAAG,KAAK,CAAC;AACxB;AACA,IAAI,SAAS,YAAY,CAAC,OAAO,EAAE;AACnC,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;AACzC;AACA,MAAM,IAAI,OAAO,EAAE;AACnB,QAAQ,MAAM,GAAG,GAAGA,OAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACjD;AACA,QAAQ,IAAI,GAAG,KAAK,CAAC,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE;AAClF,UAAU,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3B;AACA,UAAU,OAAO,GAAG,IAAI,CAAC;AACzB,SAAS;AACT,OAAO;AACP,KAAK;AACL;AACA,IAAI,IAAIA,OAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;AAC/B,MAAM,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;AACnC,KAAK,MAAM;AACX,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;AAC3B,KAAK;AACL;AACA,IAAI,OAAO,OAAO,CAAC;AACnB,GAAG;AACH;AACA,EAAE,KAAK,CAAC,OAAO,EAAE;AACjB,IAAI,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnC,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AACxB,IAAI,IAAI,OAAO,GAAG,KAAK,CAAC;AACxB;AACA,IAAI,OAAO,CAAC,EAAE,EAAE;AAChB,MAAM,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAC1B,MAAM,GAAG,CAAC,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE;AAC5E,QAAQ,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,QAAQ,OAAO,GAAG,IAAI,CAAC;AACvB,OAAO;AACP,KAAK;AACL;AACA,IAAI,OAAO,OAAO,CAAC;AACnB,GAAG;AACH;AACA,EAAE,SAAS,CAAC,MAAM,EAAE;AACpB,IAAI,MAAM,IAAI,GAAG,IAAI,CAAC;AACtB,IAAI,MAAM,OAAO,GAAG,EAAE,CAAC;AACvB;AACA,IAAIA,OAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK;AAC3C,MAAM,MAAM,GAAG,GAAGA,OAAK,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AACjD;AACA,MAAM,IAAI,GAAG,EAAE;AACf,QAAQ,IAAI,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;AAC1C,QAAQ,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5B,QAAQ,OAAO;AACf,OAAO;AACP;AACA,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;AAC/E;AACA,MAAM,IAAI,UAAU,KAAK,MAAM,EAAE;AACjC,QAAQ,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5B,OAAO;AACP;AACA,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;AAC/C;AACA,MAAM,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;AACjC,KAAK,CAAC,CAAC;AACP;AACA,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH;AACA,EAAE,MAAM,CAAC,GAAG,OAAO,EAAE;AACrB,IAAI,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,OAAO,CAAC,CAAC;AACrD,GAAG;AACH;AACA,EAAE,MAAM,CAAC,SAAS,EAAE;AACpB,IAAI,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACpC;AACA,IAAIA,OAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK;AAC3C,MAAM,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,GAAG,CAAC,MAAM,CAAC,GAAG,SAAS,IAAIA,OAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;AACvH,KAAK,CAAC,CAAC;AACP;AACA,IAAI,OAAO,GAAG,CAAC;AACf,GAAG;AACH;AACA,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG;AACtB,IAAI,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;AAC5D,GAAG;AACH;AACA,EAAE,QAAQ,GAAG;AACb,IAAI,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,MAAM,GAAG,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpG,GAAG;AACH;AACA,EAAE,KAAK,MAAM,CAAC,WAAW,CAAC,GAAG;AAC7B,IAAI,OAAO,cAAc,CAAC;AAC1B,GAAG;AACH;AACA,EAAE,OAAO,IAAI,CAAC,KAAK,EAAE;AACrB,IAAI,OAAO,KAAK,YAAY,IAAI,GAAG,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3D,GAAG;AACH;AACA,EAAE,OAAO,MAAM,CAAC,KAAK,EAAE,GAAG,OAAO,EAAE;AACnC,IAAI,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;AACrC;AACA,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AACtD;AACA,IAAI,OAAO,QAAQ,CAAC;AACpB,GAAG;AACH;AACA,EAAE,OAAO,QAAQ,CAAC,MAAM,EAAE;AAC1B,IAAI,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG;AAC7D,MAAM,SAAS,EAAE,EAAE;AACnB,KAAK,CAAC,CAAC;AACP;AACA,IAAI,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;AAC1C,IAAI,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;AACrC;AACA,IAAI,SAAS,cAAc,CAAC,OAAO,EAAE;AACrC,MAAM,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;AAC/C;AACA,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;AAC/B,QAAQ,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAC3C,QAAQ,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;AAClC,OAAO;AACP,KAAK;AACL;AACA,IAAIA,OAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;AACpF;AACA,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH,CAAC;AACD;AACA,YAAY,CAAC,QAAQ,CAAC,CAAC,cAAc,EAAE,gBAAgB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC,CAAC;AACtH;AACA;AACAA,OAAK,CAAC,iBAAiB,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK;AAClE,EAAE,IAAI,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnD,EAAE,OAAO;AACT,IAAI,GAAG,EAAE,MAAM,KAAK;AACpB,IAAI,GAAG,CAAC,WAAW,EAAE;AACrB,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC;AACjC,KAAK;AACL,GAAG;AACH,CAAC,CAAC,CAAC;AACH;AACAA,OAAK,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;AAClC;AACA,qBAAe,YAAY;;ACvS3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS,aAAa,CAAC,GAAG,EAAE,QAAQ,EAAE;AACrD,EAAE,MAAM,MAAM,GAAG,IAAI,IAAIO,UAAQ,CAAC;AAClC,EAAE,MAAM,OAAO,GAAG,QAAQ,IAAI,MAAM,CAAC;AACrC,EAAE,MAAM,OAAO,GAAGC,cAAY,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AACrD,EAAE,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;AAC1B;AACA,EAAER,OAAK,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,SAAS,CAAC,EAAE,EAAE;AAC5C,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,QAAQ,GAAG,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;AAC9F,GAAG,CAAC,CAAC;AACL;AACA,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;AACtB;AACA,EAAE,OAAO,IAAI,CAAC;AACd;;ACzBe,SAAS,QAAQ,CAAC,KAAK,EAAE;AACxC,EAAE,OAAO,CAAC,EAAE,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC;AACvC;;ACCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE;AACjD;AACA,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,IAAI,IAAI,GAAG,UAAU,GAAG,OAAO,EAAE,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAC1G,EAAE,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;AAC9B,CAAC;AACD;AACAA,OAAK,CAAC,QAAQ,CAAC,aAAa,EAAE,UAAU,EAAE;AAC1C,EAAE,UAAU,EAAE,IAAI;AAClB,CAAC,CAAC;;AClBF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE;AAC1D,EAAE,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC;AACxD,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AAC9E,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;AACtB,GAAG,MAAM;AACT,IAAI,MAAM,CAAC,IAAI,UAAU;AACzB,MAAM,kCAAkC,GAAG,QAAQ,CAAC,MAAM;AAC1D,MAAM,CAAC,UAAU,CAAC,eAAe,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;AACtG,MAAM,QAAQ,CAAC,MAAM;AACrB,MAAM,QAAQ,CAAC,OAAO;AACtB,MAAM,QAAQ;AACd,KAAK,CAAC,CAAC;AACP,GAAG;AACH;;ACxBe,SAAS,aAAa,CAAC,GAAG,EAAE;AAC3C,EAAE,MAAM,KAAK,GAAG,2BAA2B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACtD,EAAE,OAAO,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACjC;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,WAAW,CAAC,YAAY,EAAE,GAAG,EAAE;AACxC,EAAE,YAAY,GAAG,YAAY,IAAI,EAAE,CAAC;AACpC,EAAE,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;AACxC,EAAE,MAAM,UAAU,GAAG,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;AAC7C,EAAE,IAAI,IAAI,GAAG,CAAC,CAAC;AACf,EAAE,IAAI,IAAI,GAAG,CAAC,CAAC;AACf,EAAE,IAAI,aAAa,CAAC;AACpB;AACA,EAAE,GAAG,GAAG,GAAG,KAAK,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC;AACvC;AACA,EAAE,OAAO,SAAS,IAAI,CAAC,WAAW,EAAE;AACpC,IAAI,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AAC3B;AACA,IAAI,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;AACvC;AACA,IAAI,IAAI,CAAC,aAAa,EAAE;AACxB,MAAM,aAAa,GAAG,GAAG,CAAC;AAC1B,KAAK;AACL;AACA,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC;AAC9B,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;AAC3B;AACA,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC;AACjB,IAAI,IAAI,UAAU,GAAG,CAAC,CAAC;AACvB;AACA,IAAI,OAAO,CAAC,KAAK,IAAI,EAAE;AACvB,MAAM,UAAU,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;AAC/B,MAAM,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC;AAC3B,KAAK;AACL;AACA,IAAI,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,YAAY,CAAC;AACrC;AACA,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE;AACvB,MAAM,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,YAAY,CAAC;AACvC,KAAK;AACL;AACA,IAAI,IAAI,GAAG,GAAG,aAAa,GAAG,GAAG,EAAE;AACnC,MAAM,OAAO;AACb,KAAK;AACL;AACA,IAAI,MAAM,MAAM,GAAG,SAAS,IAAI,GAAG,GAAG,SAAS,CAAC;AAChD;AACA,IAAI,OAAO,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,GAAG,MAAM,CAAC,GAAG,SAAS,CAAC;AACvE,GAAG,CAAC;AACJ;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE;AAC5B,EAAE,IAAI,SAAS,GAAG,CAAC,CAAC;AACpB,EAAE,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC;AAChC,EAAE,IAAI,KAAK,GAAG,IAAI,CAAC;AACnB,EAAE,OAAO,SAAS,SAAS,GAAG;AAC9B,IAAI,MAAM,KAAK,GAAG,IAAI,KAAK,IAAI,CAAC;AAChC;AACA,IAAI,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AAC3B,IAAI,IAAI,KAAK,IAAI,GAAG,GAAG,SAAS,GAAG,SAAS,EAAE;AAC9C,MAAM,IAAI,KAAK,EAAE;AACjB,QAAQ,YAAY,CAAC,KAAK,CAAC,CAAC;AAC5B,QAAQ,KAAK,GAAG,IAAI,CAAC;AACrB,OAAO;AACP,MAAM,SAAS,GAAG,GAAG,CAAC;AACtB,MAAM,OAAO,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AACvC,KAAK;AACL,IAAI,IAAI,CAAC,KAAK,EAAE;AAChB,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM;AAC/B,QAAQ,KAAK,GAAG,IAAI,CAAC;AACrB,QAAQ,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AAC/B,QAAQ,OAAO,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AACzC,OAAO,EAAE,SAAS,IAAI,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC;AACxC,KAAK;AACL,GAAG,CAAC;AACJ;;AC7BA,2BAAe,CAAC,QAAQ,EAAE,gBAAgB,EAAE,IAAI,GAAG,CAAC,KAAK;AACzD,EAAE,IAAI,aAAa,GAAG,CAAC,CAAC;AACxB,EAAE,MAAM,YAAY,GAAG,WAAW,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;AAC5C;AACA,EAAE,OAAO,QAAQ,CAAC,CAAC,IAAI;AACvB,IAAI,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;AAC5B,IAAI,MAAM,KAAK,GAAG,CAAC,CAAC,gBAAgB,GAAG,CAAC,CAAC,KAAK,GAAG,SAAS,CAAC;AAC3D,IAAI,MAAM,aAAa,GAAG,MAAM,GAAG,aAAa,CAAC;AACjD,IAAI,MAAM,IAAI,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;AAC7C,IAAI,MAAM,OAAO,GAAG,MAAM,IAAI,KAAK,CAAC;AACpC;AACA,IAAI,aAAa,GAAG,MAAM,CAAC;AAC3B;AACA,IAAI,MAAM,IAAI,GAAG;AACjB,MAAM,MAAM;AACZ,MAAM,KAAK;AACX,MAAM,QAAQ,EAAE,KAAK,IAAI,MAAM,GAAG,KAAK,IAAI,SAAS;AACpD,MAAM,KAAK,EAAE,aAAa;AAC1B,MAAM,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS;AACnC,MAAM,SAAS,EAAE,IAAI,IAAI,KAAK,IAAI,OAAO,GAAG,CAAC,KAAK,GAAG,MAAM,IAAI,IAAI,GAAG,SAAS;AAC/E,MAAM,KAAK,EAAE,CAAC;AACd,MAAM,gBAAgB,EAAE,KAAK,IAAI,IAAI;AACrC,KAAK,CAAC;AACN;AACA,IAAI,IAAI,CAAC,gBAAgB,GAAG,UAAU,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC;AAC1D;AACA,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;AACnB,GAAG,EAAE,IAAI,CAAC,CAAC;AACX;;AC1BA,sBAAe,QAAQ,CAAC,qBAAqB;AAC7C;AACA;AACA;AACA,EAAE,CAAC,SAAS,kBAAkB,GAAG;AACjC,IAAI,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;AAC7D,IAAI,MAAM,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AACvD,IAAI,IAAI,SAAS,CAAC;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,SAAS,UAAU,CAAC,GAAG,EAAE;AAC7B,MAAM,IAAI,IAAI,GAAG,GAAG,CAAC;AACrB;AACA,MAAM,IAAI,IAAI,EAAE;AAChB;AACA,QAAQ,cAAc,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAClD,QAAQ,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC;AACnC,OAAO;AACP;AACA,MAAM,cAAc,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAChD;AACA;AACA,MAAM,OAAO;AACb,QAAQ,IAAI,EAAE,cAAc,CAAC,IAAI;AACjC,QAAQ,QAAQ,EAAE,cAAc,CAAC,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE;AAC1F,QAAQ,IAAI,EAAE,cAAc,CAAC,IAAI;AACjC,QAAQ,MAAM,EAAE,cAAc,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,EAAE;AACrF,QAAQ,IAAI,EAAE,cAAc,CAAC,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE;AAC9E,QAAQ,QAAQ,EAAE,cAAc,CAAC,QAAQ;AACzC,QAAQ,IAAI,EAAE,cAAc,CAAC,IAAI;AACjC,QAAQ,QAAQ,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG;AAC5D,UAAU,cAAc,CAAC,QAAQ;AACjC,UAAU,GAAG,GAAG,cAAc,CAAC,QAAQ;AACvC,OAAO,CAAC;AACR,KAAK;AACL;AACA,IAAI,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,OAAO,SAAS,eAAe,CAAC,UAAU,EAAE;AAChD,MAAM,MAAM,MAAM,GAAG,CAACA,OAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC;AACxF,MAAM,QAAQ,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,QAAQ;AACpD,UAAU,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,EAAE;AAC1C,KAAK,CAAC;AACN,GAAG,GAAG;AACN;AACA;AACA,EAAE,CAAC,SAAS,qBAAqB,GAAG;AACpC,IAAI,OAAO,SAAS,eAAe,GAAG;AACtC,MAAM,OAAO,IAAI,CAAC;AAClB,KAAK,CAAC;AACN,GAAG,GAAG;;AC/DN,cAAe,QAAQ,CAAC,qBAAqB;AAC7C;AACA;AACA,EAAE;AACF,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE;AACtD,MAAM,MAAM,MAAM,GAAG,CAAC,IAAI,GAAG,GAAG,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;AAC9D;AACA,MAAMA,OAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AAC3F;AACA,MAAMA,OAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;AAC1D;AACA,MAAMA,OAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC;AAChE;AACA,MAAM,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC/C;AACA,MAAM,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1C,KAAK;AACL;AACA,IAAI,IAAI,CAAC,IAAI,EAAE;AACf,MAAM,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,YAAY,GAAG,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC;AACzF,MAAM,QAAQ,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE;AAC3D,KAAK;AACL;AACA,IAAI,MAAM,CAAC,IAAI,EAAE;AACjB,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,CAAC;AAClD,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA,EAAE;AACF,IAAI,KAAK,GAAG,EAAE;AACd,IAAI,IAAI,GAAG;AACX,MAAM,OAAO,IAAI,CAAC;AAClB,KAAK;AACL,IAAI,MAAM,GAAG,EAAE;AACf,GAAG;;ACtCH;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS,aAAa,CAAC,GAAG,EAAE;AAC3C;AACA;AACA;AACA,EAAE,OAAO,6BAA6B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACjD;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS,WAAW,CAAC,OAAO,EAAE,WAAW,EAAE;AAC1D,EAAE,OAAO,WAAW;AACpB,MAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;AAC3E,MAAM,OAAO,CAAC;AACd;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS,aAAa,CAAC,OAAO,EAAE,YAAY,EAAE;AAC7D,EAAE,IAAI,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE;AAC/C,IAAI,OAAO,WAAW,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;AAC9C,GAAG;AACH,EAAE,OAAO,YAAY,CAAC;AACtB;;ACfA,MAAM,eAAe,GAAG,CAAC,KAAK,KAAK,KAAK,YAAYQ,cAAY,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE;AACtD;AACA,EAAE,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;AAC1B,EAAE,MAAM,MAAM,GAAG,EAAE,CAAC;AACpB;AACA,EAAE,SAAS,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE;AACpD,IAAI,IAAIR,OAAK,CAAC,aAAa,CAAC,MAAM,CAAC,IAAIA,OAAK,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;AACpE,MAAM,OAAOA,OAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1D,KAAK,MAAM,IAAIA,OAAK,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;AAC5C,MAAM,OAAOA,OAAK,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;AACrC,KAAK,MAAM,IAAIA,OAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;AACtC,MAAM,OAAO,MAAM,CAAC,KAAK,EAAE,CAAC;AAC5B,KAAK;AACL,IAAI,OAAO,MAAM,CAAC;AAClB,GAAG;AACH;AACA;AACA,EAAE,SAAS,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE;AAC/C,IAAI,IAAI,CAACA,OAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;AAC/B,MAAM,OAAO,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;AAC5C,KAAK,MAAM,IAAI,CAACA,OAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;AACtC,MAAM,OAAO,cAAc,CAAC,SAAS,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;AACpD,KAAK;AACL,GAAG;AACH;AACA;AACA,EAAE,SAAS,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE;AAClC,IAAI,IAAI,CAACA,OAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;AAC/B,MAAM,OAAO,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,GAAG;AACH;AACA;AACA,EAAE,SAAS,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE;AAClC,IAAI,IAAI,CAACA,OAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;AAC/B,MAAM,OAAO,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;AAC1C,KAAK,MAAM,IAAI,CAACA,OAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;AACtC,MAAM,OAAO,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,GAAG;AACH;AACA;AACA,EAAE,SAAS,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE;AACvC,IAAI,IAAI,IAAI,IAAI,OAAO,EAAE;AACzB,MAAM,OAAO,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAClC,KAAK,MAAM,IAAI,IAAI,IAAI,OAAO,EAAE;AAChC,MAAM,OAAO,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,GAAG;AACH;AACA,EAAE,MAAM,QAAQ,GAAG;AACnB,IAAI,GAAG,EAAE,gBAAgB;AACzB,IAAI,MAAM,EAAE,gBAAgB;AAC5B,IAAI,IAAI,EAAE,gBAAgB;AAC1B,IAAI,OAAO,EAAE,gBAAgB;AAC7B,IAAI,gBAAgB,EAAE,gBAAgB;AACtC,IAAI,iBAAiB,EAAE,gBAAgB;AACvC,IAAI,gBAAgB,EAAE,gBAAgB;AACtC,IAAI,OAAO,EAAE,gBAAgB;AAC7B,IAAI,cAAc,EAAE,gBAAgB;AACpC,IAAI,eAAe,EAAE,gBAAgB;AACrC,IAAI,aAAa,EAAE,gBAAgB;AACnC,IAAI,OAAO,EAAE,gBAAgB;AAC7B,IAAI,YAAY,EAAE,gBAAgB;AAClC,IAAI,cAAc,EAAE,gBAAgB;AACpC,IAAI,cAAc,EAAE,gBAAgB;AACpC,IAAI,gBAAgB,EAAE,gBAAgB;AACtC,IAAI,kBAAkB,EAAE,gBAAgB;AACxC,IAAI,UAAU,EAAE,gBAAgB;AAChC,IAAI,gBAAgB,EAAE,gBAAgB;AACtC,IAAI,aAAa,EAAE,gBAAgB;AACnC,IAAI,cAAc,EAAE,gBAAgB;AACpC,IAAI,SAAS,EAAE,gBAAgB;AAC/B,IAAI,SAAS,EAAE,gBAAgB;AAC/B,IAAI,UAAU,EAAE,gBAAgB;AAChC,IAAI,WAAW,EAAE,gBAAgB;AACjC,IAAI,UAAU,EAAE,gBAAgB;AAChC,IAAI,gBAAgB,EAAE,gBAAgB;AACtC,IAAI,cAAc,EAAE,eAAe;AACnC,IAAI,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,mBAAmB,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;AACxF,GAAG,CAAC;AACJ;AACA,EAAEA,OAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,SAAS,kBAAkB,CAAC,IAAI,EAAE;AACpG,IAAI,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,mBAAmB,CAAC;AACxD,IAAI,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;AAClE,IAAI,CAACA,OAAK,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,KAAK,KAAK,eAAe,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC;AAClG,GAAG,CAAC,CAAC;AACL;AACA,EAAE,OAAO,MAAM,CAAC;AAChB;;AChGA,oBAAe,CAAC,MAAM,KAAK;AAC3B,EAAE,MAAM,SAAS,GAAG,WAAW,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;AAC5C;AACA,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC;AACvF;AACA,EAAE,SAAS,CAAC,OAAO,GAAG,OAAO,GAAGQ,cAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC3D;AACA,EAAE,SAAS,CAAC,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;AACpH;AACA;AACA,EAAE,IAAI,IAAI,EAAE;AACZ,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,QAAQ;AACzC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;AAC5G,KAAK,CAAC;AACN,GAAG;AACH;AACA,EAAE,IAAI,WAAW,CAAC;AAClB;AACA,EAAE,IAAIR,OAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AAC9B,IAAI,IAAI,QAAQ,CAAC,qBAAqB,IAAI,QAAQ,CAAC,8BAA8B,EAAE;AACnF,MAAM,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;AACxC,KAAK,MAAM,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,cAAc,EAAE,MAAM,KAAK,EAAE;AACnE;AACA,MAAM,MAAM,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,GAAG,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;AACrH,MAAM,OAAO,CAAC,cAAc,CAAC,CAAC,IAAI,IAAI,qBAAqB,EAAE,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACpF,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,EAAE,IAAI,QAAQ,CAAC,qBAAqB,EAAE;AACtC,IAAI,aAAa,IAAIA,OAAK,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,aAAa,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;AACnG;AACA,IAAI,IAAI,aAAa,KAAK,aAAa,KAAK,KAAK,IAAI,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE;AACtF;AACA,MAAM,MAAM,SAAS,GAAG,cAAc,IAAI,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AACzF;AACA,MAAM,IAAI,SAAS,EAAE;AACrB,QAAQ,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;AAC/C,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA,EAAE,OAAO,SAAS,CAAC;AACnB;;AC5CA,MAAM,qBAAqB,GAAG,OAAO,cAAc,KAAK,WAAW,CAAC;AACpE;AACA,iBAAe,qBAAqB,IAAI,UAAU,MAAM,EAAE;AAC1D,EAAE,OAAO,IAAI,OAAO,CAAC,SAAS,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE;AAClE,IAAI,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;AAC1C,IAAI,IAAI,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;AACnC,IAAI,MAAM,cAAc,GAAGQ,cAAY,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC;AAC1E,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC;AACjC,IAAI,IAAI,UAAU,CAAC;AACnB,IAAI,SAAS,IAAI,GAAG;AACpB,MAAM,IAAI,OAAO,CAAC,WAAW,EAAE;AAC/B,QAAQ,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;AACpD,OAAO;AACP;AACA,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE;AAC1B,QAAQ,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;AAChE,OAAO;AACP,KAAK;AACL;AACA,IAAI,IAAI,OAAO,GAAG,IAAI,cAAc,EAAE,CAAC;AACvC;AACA,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAClE;AACA;AACA,IAAI,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;AACtC;AACA,IAAI,SAAS,SAAS,GAAG;AACzB,MAAM,IAAI,CAAC,OAAO,EAAE;AACpB,QAAQ,OAAO;AACf,OAAO;AACP;AACA,MAAM,MAAM,eAAe,GAAGA,cAAY,CAAC,IAAI;AAC/C,QAAQ,uBAAuB,IAAI,OAAO,IAAI,OAAO,CAAC,qBAAqB,EAAE;AAC7E,OAAO,CAAC;AACR,MAAM,MAAM,YAAY,GAAG,CAAC,YAAY,IAAI,YAAY,KAAK,MAAM,IAAI,YAAY,KAAK,MAAM;AAC9F,QAAQ,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC;AAChD,MAAM,MAAM,QAAQ,GAAG;AACvB,QAAQ,IAAI,EAAE,YAAY;AAC1B,QAAQ,MAAM,EAAE,OAAO,CAAC,MAAM;AAC9B,QAAQ,UAAU,EAAE,OAAO,CAAC,UAAU;AACtC,QAAQ,OAAO,EAAE,eAAe;AAChC,QAAQ,MAAM;AACd,QAAQ,OAAO;AACf,OAAO,CAAC;AACR;AACA,MAAM,MAAM,CAAC,SAAS,QAAQ,CAAC,KAAK,EAAE;AACtC,QAAQ,OAAO,CAAC,KAAK,CAAC,CAAC;AACvB,QAAQ,IAAI,EAAE,CAAC;AACf,OAAO,EAAE,SAAS,OAAO,CAAC,GAAG,EAAE;AAC/B,QAAQ,MAAM,CAAC,GAAG,CAAC,CAAC;AACpB,QAAQ,IAAI,EAAE,CAAC;AACf,OAAO,EAAE,QAAQ,CAAC,CAAC;AACnB;AACA;AACA,MAAM,OAAO,GAAG,IAAI,CAAC;AACrB,KAAK;AACL;AACA,IAAI,IAAI,WAAW,IAAI,OAAO,EAAE;AAChC;AACA,MAAM,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;AACpC,KAAK,MAAM;AACX;AACA,MAAM,OAAO,CAAC,kBAAkB,GAAG,SAAS,UAAU,GAAG;AACzD,QAAQ,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,KAAK,CAAC,EAAE;AAClD,UAAU,OAAO;AACjB,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE;AAC1G,UAAU,OAAO;AACjB,SAAS;AACT;AACA;AACA,QAAQ,UAAU,CAAC,SAAS,CAAC,CAAC;AAC9B,OAAO,CAAC;AACR,KAAK;AACL;AACA;AACA,IAAI,OAAO,CAAC,OAAO,GAAG,SAAS,WAAW,GAAG;AAC7C,MAAM,IAAI,CAAC,OAAO,EAAE;AACpB,QAAQ,OAAO;AACf,OAAO;AACP;AACA,MAAM,MAAM,CAAC,IAAI,UAAU,CAAC,iBAAiB,EAAE,UAAU,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AAC3F;AACA;AACA,MAAM,OAAO,GAAG,IAAI,CAAC;AACrB,KAAK,CAAC;AACN;AACA;AACA,IAAI,OAAO,CAAC,OAAO,GAAG,SAAS,WAAW,GAAG;AAC7C;AACA;AACA,MAAM,MAAM,CAAC,IAAI,UAAU,CAAC,eAAe,EAAE,UAAU,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AACxF;AACA;AACA,MAAM,OAAO,GAAG,IAAI,CAAC;AACrB,KAAK,CAAC;AACN;AACA;AACA,IAAI,OAAO,CAAC,SAAS,GAAG,SAAS,aAAa,GAAG;AACjD,MAAM,IAAI,mBAAmB,GAAG,OAAO,CAAC,OAAO,GAAG,aAAa,GAAG,OAAO,CAAC,OAAO,GAAG,aAAa,GAAG,kBAAkB,CAAC;AACvH,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,oBAAoB,CAAC;AACxE,MAAM,IAAI,OAAO,CAAC,mBAAmB,EAAE;AACvC,QAAQ,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;AAC1D,OAAO;AACP,MAAM,MAAM,CAAC,IAAI,UAAU;AAC3B,QAAQ,mBAAmB;AAC3B,QAAQ,YAAY,CAAC,mBAAmB,GAAG,UAAU,CAAC,SAAS,GAAG,UAAU,CAAC,YAAY;AACzF,QAAQ,OAAO;AACf,QAAQ,OAAO,CAAC,CAAC,CAAC;AAClB;AACA;AACA,MAAM,OAAO,GAAG,IAAI,CAAC;AACrB,KAAK,CAAC;AACN;AACA;AACA,IAAI,WAAW,KAAK,SAAS,IAAI,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;AACrE;AACA;AACA,IAAI,IAAI,kBAAkB,IAAI,OAAO,EAAE;AACvC,MAAMR,OAAK,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,SAAS,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE;AACjF,QAAQ,OAAO,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAC3C,OAAO,CAAC,CAAC;AACT,KAAK;AACL;AACA;AACA,IAAI,IAAI,CAACA,OAAK,CAAC,WAAW,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;AACrD,MAAM,OAAO,CAAC,eAAe,GAAG,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC;AAC1D,KAAK;AACL;AACA;AACA,IAAI,IAAI,YAAY,IAAI,YAAY,KAAK,MAAM,EAAE;AACjD,MAAM,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;AAClD,KAAK;AACL;AACA;AACA,IAAI,IAAI,OAAO,OAAO,CAAC,kBAAkB,KAAK,UAAU,EAAE;AAC1D,MAAM,OAAO,CAAC,gBAAgB,CAAC,UAAU,EAAE,oBAAoB,CAAC,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC,CAAC;AACnG,KAAK;AACL;AACA;AACA,IAAI,IAAI,OAAO,OAAO,CAAC,gBAAgB,KAAK,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE;AAC1E,MAAM,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,oBAAoB,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAClG,KAAK;AACL;AACA,IAAI,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE;AAC/C;AACA;AACA,MAAM,UAAU,GAAG,MAAM,IAAI;AAC7B,QAAQ,IAAI,CAAC,OAAO,EAAE;AACtB,UAAU,OAAO;AACjB,SAAS;AACT,QAAQ,MAAM,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,GAAG,IAAI,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC;AAC3F,QAAQ,OAAO,CAAC,KAAK,EAAE,CAAC;AACxB,QAAQ,OAAO,GAAG,IAAI,CAAC;AACvB,OAAO,CAAC;AACR;AACA,MAAM,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;AACvE,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE;AAC1B,QAAQ,OAAO,CAAC,MAAM,CAAC,OAAO,GAAG,UAAU,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;AACrG,OAAO;AACP,KAAK;AACL;AACA,IAAI,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAChD;AACA,IAAI,IAAI,QAAQ,IAAI,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE;AACjE,MAAM,MAAM,CAAC,IAAI,UAAU,CAAC,uBAAuB,GAAG,QAAQ,GAAG,GAAG,EAAE,UAAU,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;AAC3G,MAAM,OAAO;AACb,KAAK;AACL;AACA;AACA;AACA,IAAI,OAAO,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC;AACtC,GAAG,CAAC,CAAC;AACL;;AC1LA,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK;AAC7C,EAAE,IAAI,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;AACzC;AACA,EAAE,IAAI,OAAO,CAAC;AACd;AACA,EAAE,MAAM,OAAO,GAAG,UAAU,MAAM,EAAE;AACpC,IAAI,IAAI,CAAC,OAAO,EAAE;AAClB,MAAM,OAAO,GAAG,IAAI,CAAC;AACrB,MAAM,WAAW,EAAE,CAAC;AACpB,MAAM,MAAM,GAAG,GAAG,MAAM,YAAY,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;AACjE,MAAM,UAAU,CAAC,KAAK,CAAC,GAAG,YAAY,UAAU,GAAG,GAAG,GAAG,IAAI,aAAa,CAAC,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC;AACtH,KAAK;AACL,IAAG;AACH;AACA,EAAE,IAAI,KAAK,GAAG,OAAO,IAAI,UAAU,CAAC,MAAM;AAC1C,IAAI,OAAO,CAAC,IAAI,UAAU,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,eAAe,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,EAAC;AACtF,GAAG,EAAE,OAAO,EAAC;AACb;AACA,EAAE,MAAM,WAAW,GAAG,MAAM;AAC5B,IAAI,IAAI,OAAO,EAAE;AACjB,MAAM,KAAK,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;AACnC,MAAM,KAAK,GAAG,IAAI,CAAC;AACnB,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI;AAChC,QAAQ,MAAM;AACd,SAAS,MAAM,CAAC,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;AAClH,OAAO,CAAC,CAAC;AACT,MAAM,OAAO,GAAG,IAAI,CAAC;AACrB,KAAK;AACL,IAAG;AACH;AACA,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AAC9G;AACA,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC;AAC9B;AACA,EAAE,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC;AACnC;AACA,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM;AACxB,IAAI,KAAK,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;AACjC,IAAI,KAAK,GAAG,IAAI,CAAC;AACjB,GAAG,CAAC,CAAC;AACL,EAAC;AACD;AACA,uBAAe,cAAc;;AC3CtB,MAAM,WAAW,GAAG,WAAW,KAAK,EAAE,SAAS,EAAE;AACxD,EAAE,IAAI,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC;AAC7B;AACA,EAAE,IAAI,CAAC,SAAS,IAAI,GAAG,GAAG,SAAS,EAAE;AACrC,IAAI,MAAM,KAAK,CAAC;AAChB,IAAI,OAAO;AACX,GAAG;AACH;AACA,EAAE,IAAI,GAAG,GAAG,CAAC,CAAC;AACd,EAAE,IAAI,GAAG,CAAC;AACV;AACA,EAAE,OAAO,GAAG,GAAG,GAAG,EAAE;AACpB,IAAI,GAAG,GAAG,GAAG,GAAG,SAAS,CAAC;AAC1B,IAAI,MAAM,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAChC,IAAI,GAAG,GAAG,GAAG,CAAC;AACd,GAAG;AACH,EAAC;AACD;AACO,MAAM,SAAS,GAAG,iBAAiB,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE;AACvE,EAAE,WAAW,MAAM,KAAK,IAAI,QAAQ,EAAE;AACtC,IAAI,OAAO,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AACrG,GAAG;AACH,EAAC;AACD;AACO,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,KAAK;AAChF,EAAE,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;AACxD;AACA,EAAE,IAAI,KAAK,GAAG,CAAC,CAAC;AAChB;AACA,EAAE,OAAO,IAAI,cAAc,CAAC;AAC5B,IAAI,IAAI,EAAE,OAAO;AACjB;AACA,IAAI,MAAM,IAAI,CAAC,UAAU,EAAE;AAC3B,MAAM,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;AAClD;AACA,MAAM,IAAI,IAAI,EAAE;AAChB,QAAQ,UAAU,CAAC,KAAK,EAAE,CAAC;AAC3B,QAAQ,QAAQ,EAAE,CAAC;AACnB,QAAQ,OAAO;AACf,OAAO;AACP;AACA,MAAM,IAAI,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC;AACjC,MAAM,UAAU,IAAI,UAAU,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC;AAC7C,MAAM,UAAU,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;AAChD,KAAK;AACL,IAAI,MAAM,CAAC,MAAM,EAAE;AACnB,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC;AACvB,MAAM,OAAO,QAAQ,CAAC,MAAM,EAAE,CAAC;AAC/B,KAAK;AACL,GAAG,EAAE;AACL,IAAI,aAAa,EAAE,CAAC;AACpB,GAAG,CAAC;AACJ;;AC5CA,MAAM,sBAAsB,GAAG,CAAC,KAAK,EAAE,EAAE,KAAK;AAC9C,EAAE,MAAM,gBAAgB,GAAG,KAAK,IAAI,IAAI,CAAC;AACzC,EAAE,OAAO,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM,EAAE,CAAC;AACzC,IAAI,gBAAgB;AACpB,IAAI,KAAK;AACT,IAAI,MAAM;AACV,GAAG,CAAC,CAAC,CAAC;AACN,EAAC;AACD;AACA,MAAM,gBAAgB,GAAG,OAAO,KAAK,KAAK,UAAU,IAAI,OAAO,OAAO,KAAK,UAAU,IAAI,OAAO,QAAQ,KAAK,UAAU,CAAC;AACxH,MAAM,yBAAyB,GAAG,gBAAgB,IAAI,OAAO,cAAc,KAAK,UAAU,CAAC;AAC3F;AACA;AACA,MAAM,UAAU,GAAG,gBAAgB,KAAK,OAAO,WAAW,KAAK,UAAU;AACzE,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,GAAG,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,WAAW,EAAE,CAAC;AAClE,IAAI,OAAO,GAAG,KAAK,IAAI,UAAU,CAAC,MAAM,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;AACxE,CAAC,CAAC;AACF;AACA,MAAM,qBAAqB,GAAG,yBAAyB,IAAI,CAAC,MAAM;AAClE,EAAE,IAAI,cAAc,GAAG,KAAK,CAAC;AAC7B;AACA,EAAE,MAAM,cAAc,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE;AACtD,IAAI,IAAI,EAAE,IAAI,cAAc,EAAE;AAC9B,IAAI,MAAM,EAAE,MAAM;AAClB,IAAI,IAAI,MAAM,GAAG;AACjB,MAAM,cAAc,GAAG,IAAI,CAAC;AAC5B,MAAM,OAAO,MAAM,CAAC;AACpB,KAAK;AACL,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AACjC;AACA,EAAE,OAAO,cAAc,IAAI,CAAC,cAAc,CAAC;AAC3C,CAAC,GAAG,CAAC;AACL;AACA,MAAM,kBAAkB,GAAG,EAAE,GAAG,IAAI,CAAC;AACrC;AACA,MAAM,sBAAsB,GAAG,yBAAyB,IAAI,CAAC,CAAC,CAAC,KAAK;AACpE,EAAE,IAAI;AACN,IAAI,OAAOA,OAAK,CAAC,gBAAgB,CAAC,IAAI,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AACzD,GAAG,CAAC,MAAM,GAAG,EAAE;AACf;AACA,GAAG;AACH,CAAC,GAAG,CAAC;AACL;AACA,MAAM,SAAS,GAAG;AAClB,EAAE,MAAM,EAAE,sBAAsB,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,CAAC;AACvD,CAAC,CAAC;AACF;AACA,gBAAgB,KAAK,CAAC,CAAC,GAAG,KAAK;AAC/B,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI;AACxE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,IAAI,CAAC,GAAGA,OAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,CAAC,EAAE;AAC7F,MAAM,CAAC,CAAC,EAAE,MAAM,KAAK;AACrB,QAAQ,MAAM,IAAI,UAAU,CAAC,CAAC,eAAe,EAAE,IAAI,CAAC,kBAAkB,CAAC,EAAE,UAAU,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;AAC7G,OAAO,EAAC;AACR,GAAG,CAAC,CAAC;AACL,CAAC,EAAE,IAAI,QAAQ,CAAC,CAAC,CAAC;AAClB;AACA,MAAM,aAAa,GAAG,OAAO,IAAI,KAAK;AACtC,EAAE,IAAI,IAAI,IAAI,IAAI,EAAE;AACpB,IAAI,OAAO,CAAC,CAAC;AACb,GAAG;AACH;AACA,EAAE,GAAGA,OAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;AACzB,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC;AACrB,GAAG;AACH;AACA,EAAE,GAAGA,OAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE;AACtC,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,UAAU,CAAC;AAC9D,GAAG;AACH;AACA,EAAE,GAAGA,OAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE;AACpC,IAAI,OAAO,IAAI,CAAC,UAAU,CAAC;AAC3B,GAAG;AACH;AACA,EAAE,GAAGA,OAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE;AACpC,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;AACrB,GAAG;AACH;AACA,EAAE,GAAGA,OAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;AAC3B,IAAI,OAAO,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;AAC/C,GAAG;AACH,EAAC;AACD;AACA,MAAM,iBAAiB,GAAG,OAAO,OAAO,EAAE,IAAI,KAAK;AACnD,EAAE,MAAM,MAAM,GAAGA,OAAK,CAAC,cAAc,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;AAClE;AACA,EAAE,OAAO,MAAM,IAAI,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AACvD,EAAC;AACD;AACA,mBAAe,gBAAgB,KAAK,OAAO,MAAM,KAAK;AACtD,EAAE,IAAI;AACN,IAAI,GAAG;AACP,IAAI,MAAM;AACV,IAAI,IAAI;AACR,IAAI,MAAM;AACV,IAAI,WAAW;AACf,IAAI,OAAO;AACX,IAAI,kBAAkB;AACtB,IAAI,gBAAgB;AACpB,IAAI,YAAY;AAChB,IAAI,OAAO;AACX,IAAI,eAAe,GAAG,aAAa;AACnC,IAAI,YAAY;AAChB,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;AAC5B;AACA,EAAE,YAAY,GAAG,YAAY,GAAG,CAAC,YAAY,GAAG,EAAE,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;AAC3E;AACA,EAAE,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,GAAG,CAAC,MAAM,IAAI,WAAW,IAAI,OAAO;AACvE,IAAIS,gBAAc,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;AACxD;AACA,EAAE,IAAI,QAAQ,EAAE,OAAO,CAAC;AACxB;AACA,EAAE,MAAM,QAAQ,GAAG,MAAM;AACzB,IAAI,CAAC,QAAQ,IAAI,UAAU,CAAC,MAAM;AAClC,MAAM,cAAc,IAAI,cAAc,CAAC,WAAW,EAAE,CAAC;AACrD,KAAK,CAAC,CAAC;AACP;AACA,IAAI,QAAQ,GAAG,IAAI,CAAC;AACpB,IAAG;AACH;AACA,EAAE,IAAI,oBAAoB,CAAC;AAC3B;AACA,EAAE,IAAI;AACN,IAAI;AACJ,MAAM,gBAAgB,IAAI,qBAAqB,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM;AACxF,MAAM,CAAC,oBAAoB,GAAG,MAAM,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC;AAC3E,MAAM;AACN,MAAM,IAAI,QAAQ,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE;AACtC,QAAQ,MAAM,EAAE,MAAM;AACtB,QAAQ,IAAI,EAAE,IAAI;AAClB,QAAQ,MAAM,EAAE,MAAM;AACtB,OAAO,CAAC,CAAC;AACT;AACA,MAAM,IAAI,iBAAiB,CAAC;AAC5B;AACA,MAAM,IAAIT,OAAK,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,iBAAiB,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,EAAE;AAChG,QAAQ,OAAO,CAAC,cAAc,CAAC,iBAAiB,EAAC;AACjD,OAAO;AACP;AACA,MAAM,IAAI,QAAQ,CAAC,IAAI,EAAE;AACzB,QAAQ,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,EAAE,sBAAsB;AACpF,UAAU,oBAAoB;AAC9B,UAAU,oBAAoB,CAAC,gBAAgB,CAAC;AAChD,SAAS,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;AAC7B,OAAO;AACP,KAAK;AACL;AACA,IAAI,IAAI,CAACA,OAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;AAC1C,MAAM,eAAe,GAAG,eAAe,GAAG,MAAM,GAAG,MAAM,CAAC;AAC1D,KAAK;AACL;AACA,IAAI,OAAO,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE;AAC/B,MAAM,GAAG,YAAY;AACrB,MAAM,MAAM,EAAE,cAAc;AAC5B,MAAM,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE;AAClC,MAAM,OAAO,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE;AAC3C,MAAM,IAAI,EAAE,IAAI;AAChB,MAAM,MAAM,EAAE,MAAM;AACpB,MAAM,eAAe;AACrB,KAAK,CAAC,CAAC;AACP;AACA,IAAI,IAAI,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;AACxC;AACA,IAAI,MAAM,gBAAgB,GAAG,sBAAsB,KAAK,YAAY,KAAK,QAAQ,IAAI,YAAY,KAAK,UAAU,CAAC,CAAC;AAClH;AACA,IAAI,IAAI,sBAAsB,KAAK,kBAAkB,IAAI,gBAAgB,CAAC,EAAE;AAC5E,MAAM,MAAM,OAAO,GAAG,EAAE,CAAC;AACzB;AACA,MAAM,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI;AAC1D,QAAQ,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AACvC,OAAO,CAAC,CAAC;AACT;AACA,MAAM,MAAM,qBAAqB,GAAGA,OAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC;AACjG;AACA,MAAM,QAAQ,GAAG,IAAI,QAAQ;AAC7B,QAAQ,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,EAAE,kBAAkB,IAAI,sBAAsB;AACnG,UAAU,qBAAqB;AAC/B,UAAU,oBAAoB,CAAC,kBAAkB,EAAE,IAAI,CAAC;AACxD,SAAS,EAAE,gBAAgB,IAAI,QAAQ,EAAE,UAAU,CAAC;AACpD,QAAQ,OAAO;AACf,OAAO,CAAC;AACR,KAAK;AACL;AACA,IAAI,YAAY,GAAG,YAAY,IAAI,MAAM,CAAC;AAC1C;AACA,IAAI,IAAI,YAAY,GAAG,MAAM,SAAS,CAACA,OAAK,CAAC,OAAO,CAAC,SAAS,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC3G;AACA,IAAI,CAAC,gBAAgB,IAAI,QAAQ,EAAE,CAAC;AACpC;AACA,IAAI,WAAW,IAAI,WAAW,EAAE,CAAC;AACjC;AACA,IAAI,OAAO,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;AAClD,MAAM,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE;AAC9B,QAAQ,IAAI,EAAE,YAAY;AAC1B,QAAQ,OAAO,EAAEQ,cAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;AACpD,QAAQ,MAAM,EAAE,QAAQ,CAAC,MAAM;AAC/B,QAAQ,UAAU,EAAE,QAAQ,CAAC,UAAU;AACvC,QAAQ,MAAM;AACd,QAAQ,OAAO;AACf,OAAO,EAAC;AACR,KAAK,CAAC;AACN,GAAG,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,QAAQ,EAAE,CAAC;AACf;AACA,IAAI,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;AACvE,MAAM,MAAM,MAAM,CAAC,MAAM;AACzB,QAAQ,IAAI,UAAU,CAAC,eAAe,EAAE,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC;AAChF,QAAQ;AACR,UAAU,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,GAAG;AACjC,SAAS;AACT,OAAO;AACP,KAAK;AACL;AACA,IAAI,MAAM,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AACjE,GAAG;AACH,CAAC,CAAC;;AC1NF,MAAM,aAAa,GAAG;AACtB,EAAE,IAAI,EAAE,WAAW;AACnB,EAAE,GAAG,EAAE,UAAU;AACjB,EAAE,KAAK,EAAE,YAAY;AACrB,EAAC;AACD;AACAR,OAAK,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,EAAE,EAAE,KAAK,KAAK;AAC5C,EAAE,IAAI,EAAE,EAAE;AACV,IAAI,IAAI;AACR,MAAM,MAAM,CAAC,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AACjD,KAAK,CAAC,OAAO,CAAC,EAAE;AAChB;AACA,KAAK;AACL,IAAI,MAAM,CAAC,cAAc,CAAC,EAAE,EAAE,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AACtD,GAAG;AACH,CAAC,CAAC,CAAC;AACH;AACA,MAAM,YAAY,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;AAC/C;AACA,MAAM,gBAAgB,GAAG,CAAC,OAAO,KAAKA,OAAK,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,CAAC;AACzG;AACA,eAAe;AACf,EAAE,UAAU,EAAE,CAAC,QAAQ,KAAK;AAC5B,IAAI,QAAQ,GAAGA,OAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC/D;AACA,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC;AAC9B,IAAI,IAAI,aAAa,CAAC;AACtB,IAAI,IAAI,OAAO,CAAC;AAChB;AACA,IAAI,MAAM,eAAe,GAAG,EAAE,CAAC;AAC/B;AACA,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;AACrC,MAAM,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;AAClC,MAAM,IAAI,EAAE,CAAC;AACb;AACA,MAAM,OAAO,GAAG,aAAa,CAAC;AAC9B;AACA,MAAM,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE;AAC5C,QAAQ,OAAO,GAAG,aAAa,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,aAAa,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;AAC5E;AACA,QAAQ,IAAI,OAAO,KAAK,SAAS,EAAE;AACnC,UAAU,MAAM,IAAI,UAAU,CAAC,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1D,SAAS;AACT,OAAO;AACP;AACA,MAAM,IAAI,OAAO,EAAE;AACnB,QAAQ,MAAM;AACd,OAAO;AACP;AACA,MAAM,eAAe,CAAC,EAAE,IAAI,GAAG,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC;AAC/C,KAAK;AACL;AACA,IAAI,IAAI,CAAC,OAAO,EAAE;AAClB;AACA,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC;AACrD,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;AAC9C,WAAW,KAAK,KAAK,KAAK,GAAG,qCAAqC,GAAG,+BAA+B,CAAC;AACrG,SAAS,CAAC;AACV;AACA,MAAM,IAAI,CAAC,GAAG,MAAM;AACpB,SAAS,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACjH,QAAQ,yBAAyB,CAAC;AAClC;AACA,MAAM,MAAM,IAAI,UAAU;AAC1B,QAAQ,CAAC,qDAAqD,CAAC,GAAG,CAAC;AACnE,QAAQ,iBAAiB;AACzB,OAAO,CAAC;AACR,KAAK;AACL;AACA,IAAI,OAAO,OAAO,CAAC;AACnB,GAAG;AACH,EAAE,QAAQ,EAAE,aAAa;AACzB;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,4BAA4B,CAAC,MAAM,EAAE;AAC9C,EAAE,IAAI,MAAM,CAAC,WAAW,EAAE;AAC1B,IAAI,MAAM,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC;AAC1C,GAAG;AACH;AACA,EAAE,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE;AAC9C,IAAI,MAAM,IAAI,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC1C,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS,eAAe,CAAC,MAAM,EAAE;AAChD,EAAE,4BAA4B,CAAC,MAAM,CAAC,CAAC;AACvC;AACA,EAAE,MAAM,CAAC,OAAO,GAAGQ,cAAY,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACrD;AACA;AACA,EAAE,MAAM,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI;AAClC,IAAI,MAAM;AACV,IAAI,MAAM,CAAC,gBAAgB;AAC3B,GAAG,CAAC;AACJ;AACA,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;AAC9D,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;AAC9E,GAAG;AACH;AACA,EAAE,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,IAAID,UAAQ,CAAC,OAAO,CAAC,CAAC;AAC1E;AACA,EAAE,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,mBAAmB,CAAC,QAAQ,EAAE;AACrE,IAAI,4BAA4B,CAAC,MAAM,CAAC,CAAC;AACzC;AACA;AACA,IAAI,QAAQ,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI;AACtC,MAAM,MAAM;AACZ,MAAM,MAAM,CAAC,iBAAiB;AAC9B,MAAM,QAAQ;AACd,KAAK,CAAC;AACN;AACA,IAAI,QAAQ,CAAC,OAAO,GAAGC,cAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAC3D;AACA,IAAI,OAAO,QAAQ,CAAC;AACpB,GAAG,EAAE,SAAS,kBAAkB,CAAC,MAAM,EAAE;AACzC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AAC3B,MAAM,4BAA4B,CAAC,MAAM,CAAC,CAAC;AAC3C;AACA;AACA,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,QAAQ,EAAE;AACrC,QAAQ,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI;AACjD,UAAU,MAAM;AAChB,UAAU,MAAM,CAAC,iBAAiB;AAClC,UAAU,MAAM,CAAC,QAAQ;AACzB,SAAS,CAAC;AACV,QAAQ,MAAM,CAAC,QAAQ,CAAC,OAAO,GAAGA,cAAY,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAC7E,OAAO;AACP,KAAK;AACL;AACA,IAAI,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAClC,GAAG,CAAC,CAAC;AACL;;AChFO,MAAM,OAAO,GAAG,OAAO;;ACK9B,MAAME,YAAU,GAAG,EAAE,CAAC;AACtB;AACA;AACA,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK;AACrF,EAAEA,YAAU,CAAC,IAAI,CAAC,GAAG,SAAS,SAAS,CAAC,KAAK,EAAE;AAC/C,IAAI,OAAO,OAAO,KAAK,KAAK,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC;AACtE,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC;AACH;AACA,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAA,YAAU,CAAC,YAAY,GAAG,SAAS,YAAY,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE;AAC7E,EAAE,SAAS,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE;AACpC,IAAI,OAAO,UAAU,GAAG,OAAO,GAAG,0BAA0B,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,IAAI,OAAO,GAAG,IAAI,GAAG,OAAO,GAAG,EAAE,CAAC,CAAC;AACnH,GAAG;AACH;AACA;AACA,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,KAAK;AAC/B,IAAI,IAAI,SAAS,KAAK,KAAK,EAAE;AAC7B,MAAM,MAAM,IAAI,UAAU;AAC1B,QAAQ,aAAa,CAAC,GAAG,EAAE,mBAAmB,IAAI,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,EAAE,CAAC,CAAC;AACnF,QAAQ,UAAU,CAAC,cAAc;AACjC,OAAO,CAAC;AACR,KAAK;AACL;AACA,IAAI,IAAI,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE;AAC7C,MAAM,kBAAkB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;AACrC;AACA,MAAM,OAAO,CAAC,IAAI;AAClB,QAAQ,aAAa;AACrB,UAAU,GAAG;AACb,UAAU,8BAA8B,GAAG,OAAO,GAAG,yCAAyC;AAC9F,SAAS;AACT,OAAO,CAAC;AACR,KAAK;AACL;AACA,IAAI,OAAO,SAAS,GAAG,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC;AAC1D,GAAG,CAAC;AACJ,CAAC,CAAC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE;AACtD,EAAE,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACnC,IAAI,MAAM,IAAI,UAAU,CAAC,2BAA2B,EAAE,UAAU,CAAC,oBAAoB,CAAC,CAAC;AACvF,GAAG;AACH,EAAE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACpC,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AACtB,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE;AAClB,IAAI,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AACxB,IAAI,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;AAClC,IAAI,IAAI,SAAS,EAAE;AACnB,MAAM,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;AACjC,MAAM,MAAM,MAAM,GAAG,KAAK,KAAK,SAAS,IAAI,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;AAC3E,MAAM,IAAI,MAAM,KAAK,IAAI,EAAE;AAC3B,QAAQ,MAAM,IAAI,UAAU,CAAC,SAAS,GAAG,GAAG,GAAG,WAAW,GAAG,MAAM,EAAE,UAAU,CAAC,oBAAoB,CAAC,CAAC;AACtG,OAAO;AACP,MAAM,SAAS;AACf,KAAK;AACL,IAAI,IAAI,YAAY,KAAK,IAAI,EAAE;AAC/B,MAAM,MAAM,IAAI,UAAU,CAAC,iBAAiB,GAAG,GAAG,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;AAC/E,KAAK;AACL,GAAG;AACH,CAAC;AACD;AACA,gBAAe;AACf,EAAE,aAAa;AACf,cAAEA,YAAU;AACZ,CAAC;;AC/ED,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAK,CAAC;AACZ,EAAE,WAAW,CAAC,cAAc,EAAE;AAC9B,IAAI,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC;AACnC,IAAI,IAAI,CAAC,YAAY,GAAG;AACxB,MAAM,OAAO,EAAE,IAAIC,oBAAkB,EAAE;AACvC,MAAM,QAAQ,EAAE,IAAIA,oBAAkB,EAAE;AACxC,KAAK,CAAC;AACN,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,MAAM,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE;AACrC,IAAI,IAAI;AACR,MAAM,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AACtD,KAAK,CAAC,OAAO,GAAG,EAAE;AAClB,MAAM,IAAI,GAAG,YAAY,KAAK,EAAE;AAChC,QAAQ,IAAI,KAAK,CAAC;AAClB;AACA,QAAQ,KAAK,CAAC,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAC,KAAK,GAAG,EAAE,CAAC,IAAI,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC;AAC9F;AACA;AACA,QAAQ,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC;AAC1E,QAAQ,IAAI;AACZ,UAAU,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE;AAC1B,YAAY,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;AAC9B;AACA,WAAW,MAAM,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,EAAE;AAC3F,YAAY,GAAG,CAAC,KAAK,IAAI,IAAI,GAAG,MAAK;AACrC,WAAW;AACX,SAAS,CAAC,OAAO,CAAC,EAAE;AACpB;AACA,SAAS;AACT,OAAO;AACP;AACA,MAAM,MAAM,GAAG,CAAC;AAChB,KAAK;AACL,GAAG;AACH;AACA,EAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE;AAChC;AACA;AACA,IAAI,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;AACzC,MAAM,MAAM,GAAG,MAAM,IAAI,EAAE,CAAC;AAC5B,MAAM,MAAM,CAAC,GAAG,GAAG,WAAW,CAAC;AAC/B,KAAK,MAAM;AACX,MAAM,MAAM,GAAG,WAAW,IAAI,EAAE,CAAC;AACjC,KAAK;AACL;AACA,IAAI,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAChD;AACA,IAAI,MAAM,CAAC,YAAY,EAAE,gBAAgB,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC;AAC7D;AACA,IAAI,IAAI,YAAY,KAAK,SAAS,EAAE;AACpC,MAAM,SAAS,CAAC,aAAa,CAAC,YAAY,EAAE;AAC5C,QAAQ,iBAAiB,EAAE,UAAU,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC;AACtE,QAAQ,iBAAiB,EAAE,UAAU,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC;AACtE,QAAQ,mBAAmB,EAAE,UAAU,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC;AACxE,OAAO,EAAE,KAAK,CAAC,CAAC;AAChB,KAAK;AACL;AACA,IAAI,IAAI,gBAAgB,IAAI,IAAI,EAAE;AAClC,MAAM,IAAIX,OAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE;AAC9C,QAAQ,MAAM,CAAC,gBAAgB,GAAG;AAClC,UAAU,SAAS,EAAE,gBAAgB;AACrC,UAAS;AACT,OAAO,MAAM;AACb,QAAQ,SAAS,CAAC,aAAa,CAAC,gBAAgB,EAAE;AAClD,UAAU,MAAM,EAAE,UAAU,CAAC,QAAQ;AACrC,UAAU,SAAS,EAAE,UAAU,CAAC,QAAQ;AACxC,SAAS,EAAE,IAAI,CAAC,CAAC;AACjB,OAAO;AACP,KAAK;AACL;AACA;AACA,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,KAAK,EAAE,WAAW,EAAE,CAAC;AACnF;AACA;AACA,IAAI,IAAI,cAAc,GAAG,OAAO,IAAIA,OAAK,CAAC,KAAK;AAC/C,MAAM,OAAO,CAAC,MAAM;AACpB,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;AAC5B,KAAK,CAAC;AACN;AACA,IAAI,OAAO,IAAIA,OAAK,CAAC,OAAO;AAC5B,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC;AACjE,MAAM,CAAC,MAAM,KAAK;AAClB,QAAQ,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;AAC/B,OAAO;AACP,KAAK,CAAC;AACN;AACA,IAAI,MAAM,CAAC,OAAO,GAAGQ,cAAY,CAAC,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;AAClE;AACA;AACA,IAAI,MAAM,uBAAuB,GAAG,EAAE,CAAC;AACvC,IAAI,IAAI,8BAA8B,GAAG,IAAI,CAAC;AAC9C,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,0BAA0B,CAAC,WAAW,EAAE;AACvF,MAAM,IAAI,OAAO,WAAW,CAAC,OAAO,KAAK,UAAU,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,EAAE;AAC9F,QAAQ,OAAO;AACf,OAAO;AACP;AACA,MAAM,8BAA8B,GAAG,8BAA8B,IAAI,WAAW,CAAC,WAAW,CAAC;AACjG;AACA,MAAM,uBAAuB,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;AACnF,KAAK,CAAC,CAAC;AACP;AACA,IAAI,MAAM,wBAAwB,GAAG,EAAE,CAAC;AACxC,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,wBAAwB,CAAC,WAAW,EAAE;AACtF,MAAM,wBAAwB,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;AACjF,KAAK,CAAC,CAAC;AACP;AACA,IAAI,IAAI,OAAO,CAAC;AAChB,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;AACd,IAAI,IAAI,GAAG,CAAC;AACZ;AACA,IAAI,IAAI,CAAC,8BAA8B,EAAE;AACzC,MAAM,MAAM,KAAK,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC;AAC5D,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAC;AAC1D,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,wBAAwB,CAAC,CAAC;AACxD,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC;AACzB;AACA,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AACxC;AACA,MAAM,OAAO,CAAC,GAAG,GAAG,EAAE;AACtB,QAAQ,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACvD,OAAO;AACP;AACA,MAAM,OAAO,OAAO,CAAC;AACrB,KAAK;AACL;AACA,IAAI,GAAG,GAAG,uBAAuB,CAAC,MAAM,CAAC;AACzC;AACA,IAAI,IAAI,SAAS,GAAG,MAAM,CAAC;AAC3B;AACA,IAAI,CAAC,GAAG,CAAC,CAAC;AACV;AACA,IAAI,OAAO,CAAC,GAAG,GAAG,EAAE;AACpB,MAAM,MAAM,WAAW,GAAG,uBAAuB,CAAC,CAAC,EAAE,CAAC,CAAC;AACvD,MAAM,MAAM,UAAU,GAAG,uBAAuB,CAAC,CAAC,EAAE,CAAC,CAAC;AACtD,MAAM,IAAI;AACV,QAAQ,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;AAC3C,OAAO,CAAC,OAAO,KAAK,EAAE;AACtB,QAAQ,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACrC,QAAQ,MAAM;AACd,OAAO;AACP,KAAK;AACL;AACA,IAAI,IAAI;AACR,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AACtD,KAAK,CAAC,OAAO,KAAK,EAAE;AACpB,MAAM,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACnC,KAAK;AACL;AACA,IAAI,CAAC,GAAG,CAAC,CAAC;AACV,IAAI,GAAG,GAAG,wBAAwB,CAAC,MAAM,CAAC;AAC1C;AACA,IAAI,OAAO,CAAC,GAAG,GAAG,EAAE;AACpB,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,EAAE,CAAC,EAAE,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC3F,KAAK;AACL;AACA,IAAI,OAAO,OAAO,CAAC;AACnB,GAAG;AACH;AACA,EAAE,MAAM,CAAC,MAAM,EAAE;AACjB,IAAI,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAChD,IAAI,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;AAC/D,IAAI,OAAO,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;AACtE,GAAG;AACH,CAAC;AACD;AACA;AACAR,OAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,SAAS,mBAAmB,CAAC,MAAM,EAAE;AACzF;AACA,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,SAAS,GAAG,EAAE,MAAM,EAAE;AAClD,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,IAAI,EAAE,EAAE;AAClD,MAAM,MAAM;AACZ,MAAM,GAAG;AACT,MAAM,IAAI,EAAE,CAAC,MAAM,IAAI,EAAE,EAAE,IAAI;AAC/B,KAAK,CAAC,CAAC,CAAC;AACR,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC;AACH;AACAA,OAAK,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,SAAS,qBAAqB,CAAC,MAAM,EAAE;AAC/E;AACA;AACA,EAAE,SAAS,kBAAkB,CAAC,MAAM,EAAE;AACtC,IAAI,OAAO,SAAS,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE;AAClD,MAAM,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,IAAI,EAAE,EAAE;AACpD,QAAQ,MAAM;AACd,QAAQ,OAAO,EAAE,MAAM,GAAG;AAC1B,UAAU,cAAc,EAAE,qBAAqB;AAC/C,SAAS,GAAG,EAAE;AACd,QAAQ,GAAG;AACX,QAAQ,IAAI;AACZ,OAAO,CAAC,CAAC,CAAC;AACV,KAAK,CAAC;AACN,GAAG;AACH;AACA,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,kBAAkB,EAAE,CAAC;AACjD;AACA,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;AAC9D,CAAC,CAAC,CAAC;AACH;AACA,cAAe,KAAK;;AC/NpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,WAAW,CAAC;AAClB,EAAE,WAAW,CAAC,QAAQ,EAAE;AACxB,IAAI,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;AACxC,MAAM,MAAM,IAAI,SAAS,CAAC,8BAA8B,CAAC,CAAC;AAC1D,KAAK;AACL;AACA,IAAI,IAAI,cAAc,CAAC;AACvB;AACA,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,SAAS,eAAe,CAAC,OAAO,EAAE;AACjE,MAAM,cAAc,GAAG,OAAO,CAAC;AAC/B,KAAK,CAAC,CAAC;AACP;AACA,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC;AACvB;AACA;AACA,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI;AAChC,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO;AACpC;AACA,MAAM,IAAI,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC;AACtC;AACA,MAAM,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE;AACtB,QAAQ,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACpC,OAAO;AACP,MAAM,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;AAC9B,KAAK,CAAC,CAAC;AACP;AACA;AACA,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,WAAW,IAAI;AACvC,MAAM,IAAI,QAAQ,CAAC;AACnB;AACA,MAAM,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,IAAI;AAC7C,QAAQ,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AACjC,QAAQ,QAAQ,GAAG,OAAO,CAAC;AAC3B,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC3B;AACA,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,MAAM,GAAG;AACzC,QAAQ,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;AACpC,OAAO,CAAC;AACR;AACA,MAAM,OAAO,OAAO,CAAC;AACrB,KAAK,CAAC;AACN;AACA,IAAI,QAAQ,CAAC,SAAS,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE;AACvD,MAAM,IAAI,KAAK,CAAC,MAAM,EAAE;AACxB;AACA,QAAQ,OAAO;AACf,OAAO;AACP;AACA,MAAM,KAAK,CAAC,MAAM,GAAG,IAAI,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AACjE,MAAM,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACnC,KAAK,CAAC,CAAC;AACP,GAAG;AACH;AACA;AACA;AACA;AACA,EAAE,gBAAgB,GAAG;AACrB,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE;AACrB,MAAM,MAAM,IAAI,CAAC,MAAM,CAAC;AACxB,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,EAAE,SAAS,CAAC,QAAQ,EAAE;AACtB,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE;AACrB,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5B,MAAM,OAAO;AACb,KAAK;AACL;AACA,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE;AACzB,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACrC,KAAK,MAAM;AACX,MAAM,IAAI,CAAC,UAAU,GAAG,CAAC,QAAQ,CAAC,CAAC;AACnC,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,EAAE,WAAW,CAAC,QAAQ,EAAE;AACxB,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;AAC1B,MAAM,OAAO;AACb,KAAK;AACL,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACpD,IAAI,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;AACtB,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AACvC,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,EAAE,OAAO,MAAM,GAAG;AAClB,IAAI,IAAI,MAAM,CAAC;AACf,IAAI,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,SAAS,QAAQ,CAAC,CAAC,EAAE;AACvD,MAAM,MAAM,GAAG,CAAC,CAAC;AACjB,KAAK,CAAC,CAAC;AACP,IAAI,OAAO;AACX,MAAM,KAAK;AACX,MAAM,MAAM;AACZ,KAAK,CAAC;AACN,GAAG;AACH,CAAC;AACD;AACA,oBAAe,WAAW;;ACtH1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS,MAAM,CAAC,QAAQ,EAAE;AACzC,EAAE,OAAO,SAAS,IAAI,CAAC,GAAG,EAAE;AAC5B,IAAI,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AACrC,GAAG,CAAC;AACJ;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS,YAAY,CAAC,OAAO,EAAE;AAC9C,EAAE,OAAOA,OAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC;AACpE;;ACbA,MAAM,cAAc,GAAG;AACvB,EAAE,QAAQ,EAAE,GAAG;AACf,EAAE,kBAAkB,EAAE,GAAG;AACzB,EAAE,UAAU,EAAE,GAAG;AACjB,EAAE,UAAU,EAAE,GAAG;AACjB,EAAE,EAAE,EAAE,GAAG;AACT,EAAE,OAAO,EAAE,GAAG;AACd,EAAE,QAAQ,EAAE,GAAG;AACf,EAAE,2BAA2B,EAAE,GAAG;AAClC,EAAE,SAAS,EAAE,GAAG;AAChB,EAAE,YAAY,EAAE,GAAG;AACnB,EAAE,cAAc,EAAE,GAAG;AACrB,EAAE,WAAW,EAAE,GAAG;AAClB,EAAE,eAAe,EAAE,GAAG;AACtB,EAAE,MAAM,EAAE,GAAG;AACb,EAAE,eAAe,EAAE,GAAG;AACtB,EAAE,gBAAgB,EAAE,GAAG;AACvB,EAAE,KAAK,EAAE,GAAG;AACZ,EAAE,QAAQ,EAAE,GAAG;AACf,EAAE,WAAW,EAAE,GAAG;AAClB,EAAE,QAAQ,EAAE,GAAG;AACf,EAAE,MAAM,EAAE,GAAG;AACb,EAAE,iBAAiB,EAAE,GAAG;AACxB,EAAE,iBAAiB,EAAE,GAAG;AACxB,EAAE,UAAU,EAAE,GAAG;AACjB,EAAE,YAAY,EAAE,GAAG;AACnB,EAAE,eAAe,EAAE,GAAG;AACtB,EAAE,SAAS,EAAE,GAAG;AAChB,EAAE,QAAQ,EAAE,GAAG;AACf,EAAE,gBAAgB,EAAE,GAAG;AACvB,EAAE,aAAa,EAAE,GAAG;AACpB,EAAE,2BAA2B,EAAE,GAAG;AAClC,EAAE,cAAc,EAAE,GAAG;AACrB,EAAE,QAAQ,EAAE,GAAG;AACf,EAAE,IAAI,EAAE,GAAG;AACX,EAAE,cAAc,EAAE,GAAG;AACrB,EAAE,kBAAkB,EAAE,GAAG;AACzB,EAAE,eAAe,EAAE,GAAG;AACtB,EAAE,UAAU,EAAE,GAAG;AACjB,EAAE,oBAAoB,EAAE,GAAG;AAC3B,EAAE,mBAAmB,EAAE,GAAG;AAC1B,EAAE,iBAAiB,EAAE,GAAG;AACxB,EAAE,SAAS,EAAE,GAAG;AAChB,EAAE,kBAAkB,EAAE,GAAG;AACzB,EAAE,mBAAmB,EAAE,GAAG;AAC1B,EAAE,MAAM,EAAE,GAAG;AACb,EAAE,gBAAgB,EAAE,GAAG;AACvB,EAAE,QAAQ,EAAE,GAAG;AACf,EAAE,eAAe,EAAE,GAAG;AACtB,EAAE,oBAAoB,EAAE,GAAG;AAC3B,EAAE,eAAe,EAAE,GAAG;AACtB,EAAE,2BAA2B,EAAE,GAAG;AAClC,EAAE,0BAA0B,EAAE,GAAG;AACjC,EAAE,mBAAmB,EAAE,GAAG;AAC1B,EAAE,cAAc,EAAE,GAAG;AACrB,EAAE,UAAU,EAAE,GAAG;AACjB,EAAE,kBAAkB,EAAE,GAAG;AACzB,EAAE,cAAc,EAAE,GAAG;AACrB,EAAE,uBAAuB,EAAE,GAAG;AAC9B,EAAE,qBAAqB,EAAE,GAAG;AAC5B,EAAE,mBAAmB,EAAE,GAAG;AAC1B,EAAE,YAAY,EAAE,GAAG;AACnB,EAAE,WAAW,EAAE,GAAG;AAClB,EAAE,6BAA6B,EAAE,GAAG;AACpC,CAAC,CAAC;AACF;AACA,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK;AACzD,EAAE,cAAc,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;AAC9B,CAAC,CAAC,CAAC;AACH;AACA,uBAAe,cAAc;;AClD7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,cAAc,CAAC,aAAa,EAAE;AACvC,EAAE,MAAM,OAAO,GAAG,IAAIY,OAAK,CAAC,aAAa,CAAC,CAAC;AAC3C,EAAE,MAAM,QAAQ,GAAG,IAAI,CAACA,OAAK,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC1D;AACA;AACA,EAAEZ,OAAK,CAAC,MAAM,CAAC,QAAQ,EAAEY,OAAK,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;AACvE;AACA;AACA,EAAEZ,OAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;AAC5D;AACA;AACA,EAAE,QAAQ,CAAC,MAAM,GAAG,SAAS,MAAM,CAAC,cAAc,EAAE;AACpD,IAAI,OAAO,cAAc,CAAC,WAAW,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC;AACtE,GAAG,CAAC;AACJ;AACA,EAAE,OAAO,QAAQ,CAAC;AAClB,CAAC;AACD;AACA;AACK,MAAC,KAAK,GAAG,cAAc,CAACO,UAAQ,EAAE;AACvC;AACA;AACA,KAAK,CAAC,KAAK,GAAGK,OAAK,CAAC;AACpB;AACA;AACA,KAAK,CAAC,aAAa,GAAG,aAAa,CAAC;AACpC,KAAK,CAAC,WAAW,GAAGC,aAAW,CAAC;AAChC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC1B,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;AACxB,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC;AAC9B;AACA;AACA,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC;AAC9B;AACA;AACA,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC;AACnC;AACA;AACA,KAAK,CAAC,GAAG,GAAG,SAAS,GAAG,CAAC,QAAQ,EAAE;AACnC,EAAE,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC/B,CAAC,CAAC;AACF;AACA,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;AACtB;AACA;AACA,KAAK,CAAC,YAAY,GAAG,YAAY,CAAC;AAClC;AACA;AACA,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;AAChC;AACA,KAAK,CAAC,YAAY,GAAGL,cAAY,CAAC;AAClC;AACA,KAAK,CAAC,UAAU,GAAG,KAAK,IAAI,cAAc,CAACR,OAAK,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC;AAClG;AACA,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;AACvC;AACA,KAAK,CAAC,cAAc,GAAGc,gBAAc,CAAC;AACtC;AACA,KAAK,CAAC,OAAO,GAAG,KAAK;;;;"}PK�}�\�\�,vvesm/axios.jsnu�[���// Axios v1.7.2 Copyright (c) 2024 Matt Zabriskie and contributors function bind(fn, thisArg) { return function wrap() { return fn.apply(thisArg, arguments); }; } // utils is a library of generic helper functions non-specific to axios const {toString} = Object.prototype; const {getPrototypeOf} = Object; const kindOf = (cache => thing => { const str = toString.call(thing); return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase()); })(Object.create(null)); const kindOfTest = (type) => { type = type.toLowerCase(); return (thing) => kindOf(thing) === type }; const typeOfTest = type => thing => typeof thing === type; /** * Determine if a value is an Array * * @param {Object} val The value to test * * @returns {boolean} True if value is an Array, otherwise false */ const {isArray} = Array; /** * Determine if a value is undefined * * @param {*} val The value to test * * @returns {boolean} True if the value is undefined, otherwise false */ const isUndefined = typeOfTest('undefined'); /** * Determine if a value is a Buffer * * @param {*} val The value to test * * @returns {boolean} True if value is a Buffer, otherwise false */ function isBuffer(val) { return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val); } /** * Determine if a value is an ArrayBuffer * * @param {*} val The value to test * * @returns {boolean} True if value is an ArrayBuffer, otherwise false */ const isArrayBuffer = kindOfTest('ArrayBuffer'); /** * Determine if a value is a view on an ArrayBuffer * * @param {*} val The value to test * * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false */ function isArrayBufferView(val) { let result; if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) { result = ArrayBuffer.isView(val); } else { result = (val) && (val.buffer) && (isArrayBuffer(val.buffer)); } return result; } /** * Determine if a value is a String * * @param {*} val The value to test * * @returns {boolean} True if value is a String, otherwise false */ const isString = typeOfTest('string'); /** * Determine if a value is a Function * * @param {*} val The value to test * @returns {boolean} True if value is a Function, otherwise false */ const isFunction = typeOfTest('function'); /** * Determine if a value is a Number * * @param {*} val The value to test * * @returns {boolean} True if value is a Number, otherwise false */ const isNumber = typeOfTest('number'); /** * Determine if a value is an Object * * @param {*} thing The value to test * * @returns {boolean} True if value is an Object, otherwise false */ const isObject = (thing) => thing !== null && typeof thing === 'object'; /** * Determine if a value is a Boolean * * @param {*} thing The value to test * @returns {boolean} True if value is a Boolean, otherwise false */ const isBoolean = thing => thing === true || thing === false; /** * Determine if a value is a plain Object * * @param {*} val The value to test * * @returns {boolean} True if value is a plain Object, otherwise false */ const isPlainObject = (val) => { if (kindOf(val) !== 'object') { return false; } const prototype = getPrototypeOf(val); return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val); }; /** * Determine if a value is a Date * * @param {*} val The value to test * * @returns {boolean} True if value is a Date, otherwise false */ const isDate = kindOfTest('Date'); /** * Determine if a value is a File * * @param {*} val The value to test * * @returns {boolean} True if value is a File, otherwise false */ const isFile = kindOfTest('File'); /** * Determine if a value is a Blob * * @param {*} val The value to test * * @returns {boolean} True if value is a Blob, otherwise false */ const isBlob = kindOfTest('Blob'); /** * Determine if a value is a FileList * * @param {*} val The value to test * * @returns {boolean} True if value is a File, otherwise false */ const isFileList = kindOfTest('FileList'); /** * Determine if a value is a Stream * * @param {*} val The value to test * * @returns {boolean} True if value is a Stream, otherwise false */ const isStream = (val) => isObject(val) && isFunction(val.pipe); /** * Determine if a value is a FormData * * @param {*} thing The value to test * * @returns {boolean} True if value is an FormData, otherwise false */ const isFormData = (thing) => { let kind; return thing && ( (typeof FormData === 'function' && thing instanceof FormData) || ( isFunction(thing.append) && ( (kind = kindOf(thing)) === 'formdata' || // detect form-data instance (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]') ) ) ) }; /** * Determine if a value is a URLSearchParams object * * @param {*} val The value to test * * @returns {boolean} True if value is a URLSearchParams object, otherwise false */ const isURLSearchParams = kindOfTest('URLSearchParams'); const [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest); /** * Trim excess whitespace off the beginning and end of a string * * @param {String} str The String to trim * * @returns {String} The String freed of excess whitespace */ const trim = (str) => str.trim ? str.trim() : str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''); /** * Iterate over an Array or an Object invoking a function for each item. * * If `obj` is an Array callback will be called passing * the value, index, and complete array for each item. * * If 'obj' is an Object callback will be called passing * the value, key, and complete object for each property. * * @param {Object|Array} obj The object to iterate * @param {Function} fn The callback to invoke for each item * * @param {Boolean} [allOwnKeys = false] * @returns {any} */ function forEach(obj, fn, {allOwnKeys = false} = {}) { // Don't bother if no value provided if (obj === null || typeof obj === 'undefined') { return; } let i; let l; // Force an array if not already something iterable if (typeof obj !== 'object') { /*eslint no-param-reassign:0*/ obj = [obj]; } if (isArray(obj)) { // Iterate over array values for (i = 0, l = obj.length; i < l; i++) { fn.call(null, obj[i], i, obj); } } else { // Iterate over object keys const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj); const len = keys.length; let key; for (i = 0; i < len; i++) { key = keys[i]; fn.call(null, obj[key], key, obj); } } } function findKey(obj, key) { key = key.toLowerCase(); const keys = Object.keys(obj); let i = keys.length; let _key; while (i-- > 0) { _key = keys[i]; if (key === _key.toLowerCase()) { return _key; } } return null; } const _global = (() => { /*eslint no-undef:0*/ if (typeof globalThis !== "undefined") return globalThis; return typeof self !== "undefined" ? self : (typeof window !== 'undefined' ? window : global) })(); const isContextDefined = (context) => !isUndefined(context) && context !== _global; /** * Accepts varargs expecting each argument to be an object, then * immutably merges the properties of each object and returns result. * * When multiple objects contain the same key the later object in * the arguments list will take precedence. * * Example: * * ```js * var result = merge({foo: 123}, {foo: 456}); * console.log(result.foo); // outputs 456 * ``` * * @param {Object} obj1 Object to merge * * @returns {Object} Result of all merge properties */ function merge(/* obj1, obj2, obj3, ... */) { const {caseless} = isContextDefined(this) && this || {}; const result = {}; const assignValue = (val, key) => { const targetKey = caseless && findKey(result, key) || key; if (isPlainObject(result[targetKey]) && isPlainObject(val)) { result[targetKey] = merge(result[targetKey], val); } else if (isPlainObject(val)) { result[targetKey] = merge({}, val); } else if (isArray(val)) { result[targetKey] = val.slice(); } else { result[targetKey] = val; } }; for (let i = 0, l = arguments.length; i < l; i++) { arguments[i] && forEach(arguments[i], assignValue); } return result; } /** * Extends object a by mutably adding to it the properties of object b. * * @param {Object} a The object to be extended * @param {Object} b The object to copy properties from * @param {Object} thisArg The object to bind function to * * @param {Boolean} [allOwnKeys] * @returns {Object} The resulting value of object a */ const extend = (a, b, thisArg, {allOwnKeys}= {}) => { forEach(b, (val, key) => { if (thisArg && isFunction(val)) { a[key] = bind(val, thisArg); } else { a[key] = val; } }, {allOwnKeys}); return a; }; /** * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM) * * @param {string} content with BOM * * @returns {string} content value without BOM */ const stripBOM = (content) => { if (content.charCodeAt(0) === 0xFEFF) { content = content.slice(1); } return content; }; /** * Inherit the prototype methods from one constructor into another * @param {function} constructor * @param {function} superConstructor * @param {object} [props] * @param {object} [descriptors] * * @returns {void} */ const inherits = (constructor, superConstructor, props, descriptors) => { constructor.prototype = Object.create(superConstructor.prototype, descriptors); constructor.prototype.constructor = constructor; Object.defineProperty(constructor, 'super', { value: superConstructor.prototype }); props && Object.assign(constructor.prototype, props); }; /** * Resolve object with deep prototype chain to a flat object * @param {Object} sourceObj source object * @param {Object} [destObj] * @param {Function|Boolean} [filter] * @param {Function} [propFilter] * * @returns {Object} */ const toFlatObject = (sourceObj, destObj, filter, propFilter) => { let props; let i; let prop; const merged = {}; destObj = destObj || {}; // eslint-disable-next-line no-eq-null,eqeqeq if (sourceObj == null) return destObj; do { props = Object.getOwnPropertyNames(sourceObj); i = props.length; while (i-- > 0) { prop = props[i]; if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) { destObj[prop] = sourceObj[prop]; merged[prop] = true; } } sourceObj = filter !== false && getPrototypeOf(sourceObj); } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype); return destObj; }; /** * Determines whether a string ends with the characters of a specified string * * @param {String} str * @param {String} searchString * @param {Number} [position= 0] * * @returns {boolean} */ const endsWith = (str, searchString, position) => { str = String(str); if (position === undefined || position > str.length) { position = str.length; } position -= searchString.length; const lastIndex = str.indexOf(searchString, position); return lastIndex !== -1 && lastIndex === position; }; /** * Returns new array from array like object or null if failed * * @param {*} [thing] * * @returns {?Array} */ const toArray = (thing) => { if (!thing) return null; if (isArray(thing)) return thing; let i = thing.length; if (!isNumber(i)) return null; const arr = new Array(i); while (i-- > 0) { arr[i] = thing[i]; } return arr; }; /** * Checking if the Uint8Array exists and if it does, it returns a function that checks if the * thing passed in is an instance of Uint8Array * * @param {TypedArray} * * @returns {Array} */ // eslint-disable-next-line func-names const isTypedArray = (TypedArray => { // eslint-disable-next-line func-names return thing => { return TypedArray && thing instanceof TypedArray; }; })(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array)); /** * For each entry in the object, call the function with the key and value. * * @param {Object<any, any>} obj - The object to iterate over. * @param {Function} fn - The function to call for each entry. * * @returns {void} */ const forEachEntry = (obj, fn) => { const generator = obj && obj[Symbol.iterator]; const iterator = generator.call(obj); let result; while ((result = iterator.next()) && !result.done) { const pair = result.value; fn.call(obj, pair[0], pair[1]); } }; /** * It takes a regular expression and a string, and returns an array of all the matches * * @param {string} regExp - The regular expression to match against. * @param {string} str - The string to search. * * @returns {Array<boolean>} */ const matchAll = (regExp, str) => { let matches; const arr = []; while ((matches = regExp.exec(str)) !== null) { arr.push(matches); } return arr; }; /* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */ const isHTMLForm = kindOfTest('HTMLFormElement'); const toCamelCase = str => { return str.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g, function replacer(m, p1, p2) { return p1.toUpperCase() + p2; } ); }; /* Creating a function that will check if an object has a property. */ const hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype); /** * Determine if a value is a RegExp object * * @param {*} val The value to test * * @returns {boolean} True if value is a RegExp object, otherwise false */ const isRegExp = kindOfTest('RegExp'); const reduceDescriptors = (obj, reducer) => { const descriptors = Object.getOwnPropertyDescriptors(obj); const reducedDescriptors = {}; forEach(descriptors, (descriptor, name) => { let ret; if ((ret = reducer(descriptor, name, obj)) !== false) { reducedDescriptors[name] = ret || descriptor; } }); Object.defineProperties(obj, reducedDescriptors); }; /** * Makes all methods read-only * @param {Object} obj */ const freezeMethods = (obj) => { reduceDescriptors(obj, (descriptor, name) => { // skip restricted props in strict mode if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) { return false; } const value = obj[name]; if (!isFunction(value)) return; descriptor.enumerable = false; if ('writable' in descriptor) { descriptor.writable = false; return; } if (!descriptor.set) { descriptor.set = () => { throw Error('Can not rewrite read-only method \'' + name + '\''); }; } }); }; const toObjectSet = (arrayOrString, delimiter) => { const obj = {}; const define = (arr) => { arr.forEach(value => { obj[value] = true; }); }; isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter)); return obj; }; const noop = () => {}; const toFiniteNumber = (value, defaultValue) => { return value != null && Number.isFinite(value = +value) ? value : defaultValue; }; const ALPHA = 'abcdefghijklmnopqrstuvwxyz'; const DIGIT = '0123456789'; const ALPHABET = { DIGIT, ALPHA, ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT }; const generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => { let str = ''; const {length} = alphabet; while (size--) { str += alphabet[Math.random() * length|0]; } return str; }; /** * If the thing is a FormData object, return true, otherwise return false. * * @param {unknown} thing - The thing to check. * * @returns {boolean} */ function isSpecCompliantForm(thing) { return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]); } const toJSONObject = (obj) => { const stack = new Array(10); const visit = (source, i) => { if (isObject(source)) { if (stack.indexOf(source) >= 0) { return; } if(!('toJSON' in source)) { stack[i] = source; const target = isArray(source) ? [] : {}; forEach(source, (value, key) => { const reducedValue = visit(value, i + 1); !isUndefined(reducedValue) && (target[key] = reducedValue); }); stack[i] = undefined; return target; } } return source; }; return visit(obj, 0); }; const isAsyncFn = kindOfTest('AsyncFunction'); const isThenable = (thing) => thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch); const utils$1 = { isArray, isArrayBuffer, isBuffer, isFormData, isArrayBufferView, isString, isNumber, isBoolean, isObject, isPlainObject, isReadableStream, isRequest, isResponse, isHeaders, isUndefined, isDate, isFile, isBlob, isRegExp, isFunction, isStream, isURLSearchParams, isTypedArray, isFileList, forEach, merge, extend, trim, stripBOM, inherits, toFlatObject, kindOf, kindOfTest, endsWith, toArray, forEachEntry, matchAll, isHTMLForm, hasOwnProperty, hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection reduceDescriptors, freezeMethods, toObjectSet, toCamelCase, noop, toFiniteNumber, findKey, global: _global, isContextDefined, ALPHABET, generateString, isSpecCompliantForm, toJSONObject, isAsyncFn, isThenable }; /** * Create an Error with the specified message, config, error code, request and response. * * @param {string} message The error message. * @param {string} [code] The error code (for example, 'ECONNABORTED'). * @param {Object} [config] The config. * @param {Object} [request] The request. * @param {Object} [response] The response. * * @returns {Error} The created error. */ function AxiosError$1(message, code, config, request, response) { Error.call(this); if (Error.captureStackTrace) { Error.captureStackTrace(this, this.constructor); } else { this.stack = (new Error()).stack; } this.message = message; this.name = 'AxiosError'; code && (this.code = code); config && (this.config = config); request && (this.request = request); response && (this.response = response); } utils$1.inherits(AxiosError$1, Error, { toJSON: function toJSON() { return { // Standard message: this.message, name: this.name, // Microsoft description: this.description, number: this.number, // Mozilla fileName: this.fileName, lineNumber: this.lineNumber, columnNumber: this.columnNumber, stack: this.stack, // Axios config: utils$1.toJSONObject(this.config), code: this.code, status: this.response && this.response.status ? this.response.status : null }; } }); const prototype$1 = AxiosError$1.prototype; const descriptors = {}; [ 'ERR_BAD_OPTION_VALUE', 'ERR_BAD_OPTION', 'ECONNABORTED', 'ETIMEDOUT', 'ERR_NETWORK', 'ERR_FR_TOO_MANY_REDIRECTS', 'ERR_DEPRECATED', 'ERR_BAD_RESPONSE', 'ERR_BAD_REQUEST', 'ERR_CANCELED', 'ERR_NOT_SUPPORT', 'ERR_INVALID_URL' // eslint-disable-next-line func-names ].forEach(code => { descriptors[code] = {value: code}; }); Object.defineProperties(AxiosError$1, descriptors); Object.defineProperty(prototype$1, 'isAxiosError', {value: true}); // eslint-disable-next-line func-names AxiosError$1.from = (error, code, config, request, response, customProps) => { const axiosError = Object.create(prototype$1); utils$1.toFlatObject(error, axiosError, function filter(obj) { return obj !== Error.prototype; }, prop => { return prop !== 'isAxiosError'; }); AxiosError$1.call(axiosError, error.message, code, config, request, response); axiosError.cause = error; axiosError.name = error.name; customProps && Object.assign(axiosError, customProps); return axiosError; }; // eslint-disable-next-line strict const httpAdapter = null; /** * Determines if the given thing is a array or js object. * * @param {string} thing - The object or array to be visited. * * @returns {boolean} */ function isVisitable(thing) { return utils$1.isPlainObject(thing) || utils$1.isArray(thing); } /** * It removes the brackets from the end of a string * * @param {string} key - The key of the parameter. * * @returns {string} the key without the brackets. */ function removeBrackets(key) { return utils$1.endsWith(key, '[]') ? key.slice(0, -2) : key; } /** * It takes a path, a key, and a boolean, and returns a string * * @param {string} path - The path to the current key. * @param {string} key - The key of the current object being iterated over. * @param {string} dots - If true, the key will be rendered with dots instead of brackets. * * @returns {string} The path to the current key. */ function renderKey(path, key, dots) { if (!path) return key; return path.concat(key).map(function each(token, i) { // eslint-disable-next-line no-param-reassign token = removeBrackets(token); return !dots && i ? '[' + token + ']' : token; }).join(dots ? '.' : ''); } /** * If the array is an array and none of its elements are visitable, then it's a flat array. * * @param {Array<any>} arr - The array to check * * @returns {boolean} */ function isFlatArray(arr) { return utils$1.isArray(arr) && !arr.some(isVisitable); } const predicates = utils$1.toFlatObject(utils$1, {}, null, function filter(prop) { return /^is[A-Z]/.test(prop); }); /** * Convert a data object to FormData * * @param {Object} obj * @param {?Object} [formData] * @param {?Object} [options] * @param {Function} [options.visitor] * @param {Boolean} [options.metaTokens = true] * @param {Boolean} [options.dots = false] * @param {?Boolean} [options.indexes = false] * * @returns {Object} **/ /** * It converts an object into a FormData object * * @param {Object<any, any>} obj - The object to convert to form data. * @param {string} formData - The FormData object to append to. * @param {Object<string, any>} options * * @returns */ function toFormData$1(obj, formData, options) { if (!utils$1.isObject(obj)) { throw new TypeError('target must be an object'); } // eslint-disable-next-line no-param-reassign formData = formData || new (FormData)(); // eslint-disable-next-line no-param-reassign options = utils$1.toFlatObject(options, { metaTokens: true, dots: false, indexes: false }, false, function defined(option, source) { // eslint-disable-next-line no-eq-null,eqeqeq return !utils$1.isUndefined(source[option]); }); const metaTokens = options.metaTokens; // eslint-disable-next-line no-use-before-define const visitor = options.visitor || defaultVisitor; const dots = options.dots; const indexes = options.indexes; const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob; const useBlob = _Blob && utils$1.isSpecCompliantForm(formData); if (!utils$1.isFunction(visitor)) { throw new TypeError('visitor must be a function'); } function convertValue(value) { if (value === null) return ''; if (utils$1.isDate(value)) { return value.toISOString(); } if (!useBlob && utils$1.isBlob(value)) { throw new AxiosError$1('Blob is not supported. Use a Buffer instead.'); } if (utils$1.isArrayBuffer(value) || utils$1.isTypedArray(value)) { return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value); } return value; } /** * Default visitor. * * @param {*} value * @param {String|Number} key * @param {Array<String|Number>} path * @this {FormData} * * @returns {boolean} return true to visit the each prop of the value recursively */ function defaultVisitor(value, key, path) { let arr = value; if (value && !path && typeof value === 'object') { if (utils$1.endsWith(key, '{}')) { // eslint-disable-next-line no-param-reassign key = metaTokens ? key : key.slice(0, -2); // eslint-disable-next-line no-param-reassign value = JSON.stringify(value); } else if ( (utils$1.isArray(value) && isFlatArray(value)) || ((utils$1.isFileList(value) || utils$1.endsWith(key, '[]')) && (arr = utils$1.toArray(value)) )) { // eslint-disable-next-line no-param-reassign key = removeBrackets(key); arr.forEach(function each(el, index) { !(utils$1.isUndefined(el) || el === null) && formData.append( // eslint-disable-next-line no-nested-ternary indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'), convertValue(el) ); }); return false; } } if (isVisitable(value)) { return true; } formData.append(renderKey(path, key, dots), convertValue(value)); return false; } const stack = []; const exposedHelpers = Object.assign(predicates, { defaultVisitor, convertValue, isVisitable }); function build(value, path) { if (utils$1.isUndefined(value)) return; if (stack.indexOf(value) !== -1) { throw Error('Circular reference detected in ' + path.join('.')); } stack.push(value); utils$1.forEach(value, function each(el, key) { const result = !(utils$1.isUndefined(el) || el === null) && visitor.call( formData, el, utils$1.isString(key) ? key.trim() : key, path, exposedHelpers ); if (result === true) { build(el, path ? path.concat(key) : [key]); } }); stack.pop(); } if (!utils$1.isObject(obj)) { throw new TypeError('data must be an object'); } build(obj); return formData; } /** * It encodes a string by replacing all characters that are not in the unreserved set with * their percent-encoded equivalents * * @param {string} str - The string to encode. * * @returns {string} The encoded string. */ function encode$1(str) { const charMap = { '!': '%21', "'": '%27', '(': '%28', ')': '%29', '~': '%7E', '%20': '+', '%00': '\x00' }; return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) { return charMap[match]; }); } /** * It takes a params object and converts it to a FormData object * * @param {Object<string, any>} params - The parameters to be converted to a FormData object. * @param {Object<string, any>} options - The options object passed to the Axios constructor. * * @returns {void} */ function AxiosURLSearchParams(params, options) { this._pairs = []; params && toFormData$1(params, this, options); } const prototype = AxiosURLSearchParams.prototype; prototype.append = function append(name, value) { this._pairs.push([name, value]); }; prototype.toString = function toString(encoder) { const _encode = encoder ? function(value) { return encoder.call(this, value, encode$1); } : encode$1; return this._pairs.map(function each(pair) { return _encode(pair[0]) + '=' + _encode(pair[1]); }, '').join('&'); }; /** * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their * URI encoded counterparts * * @param {string} val The value to be encoded. * * @returns {string} The encoded value. */ function encode(val) { return encodeURIComponent(val). replace(/%3A/gi, ':'). replace(/%24/g, '$'). replace(/%2C/gi, ','). replace(/%20/g, '+'). replace(/%5B/gi, '['). replace(/%5D/gi, ']'); } /** * Build a URL by appending params to the end * * @param {string} url The base of the url (e.g., http://www.google.com) * @param {object} [params] The params to be appended * @param {?object} options * * @returns {string} The formatted url */ function buildURL(url, params, options) { /*eslint no-param-reassign:0*/ if (!params) { return url; } const _encode = options && options.encode || encode; const serializeFn = options && options.serialize; let serializedParams; if (serializeFn) { serializedParams = serializeFn(params, options); } else { serializedParams = utils$1.isURLSearchParams(params) ? params.toString() : new AxiosURLSearchParams(params, options).toString(_encode); } if (serializedParams) { const hashmarkIndex = url.indexOf("#"); if (hashmarkIndex !== -1) { url = url.slice(0, hashmarkIndex); } url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams; } return url; } class InterceptorManager { constructor() { this.handlers = []; } /** * Add a new interceptor to the stack * * @param {Function} fulfilled The function to handle `then` for a `Promise` * @param {Function} rejected The function to handle `reject` for a `Promise` * * @return {Number} An ID used to remove interceptor later */ use(fulfilled, rejected, options) { this.handlers.push({ fulfilled, rejected, synchronous: options ? options.synchronous : false, runWhen: options ? options.runWhen : null }); return this.handlers.length - 1; } /** * Remove an interceptor from the stack * * @param {Number} id The ID that was returned by `use` * * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise */ eject(id) { if (this.handlers[id]) { this.handlers[id] = null; } } /** * Clear all interceptors from the stack * * @returns {void} */ clear() { if (this.handlers) { this.handlers = []; } } /** * Iterate over all the registered interceptors * * This method is particularly useful for skipping over any * interceptors that may have become `null` calling `eject`. * * @param {Function} fn The function to call for each interceptor * * @returns {void} */ forEach(fn) { utils$1.forEach(this.handlers, function forEachHandler(h) { if (h !== null) { fn(h); } }); } } const InterceptorManager$1 = InterceptorManager; const transitionalDefaults = { silentJSONParsing: true, forcedJSONParsing: true, clarifyTimeoutError: false }; const URLSearchParams$1 = typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams; const FormData$1 = typeof FormData !== 'undefined' ? FormData : null; const Blob$1 = typeof Blob !== 'undefined' ? Blob : null; const platform$1 = { isBrowser: true, classes: { URLSearchParams: URLSearchParams$1, FormData: FormData$1, Blob: Blob$1 }, protocols: ['http', 'https', 'file', 'blob', 'url', 'data'] }; const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined'; /** * Determine if we're running in a standard browser environment * * This allows axios to run in a web worker, and react-native. * Both environments support XMLHttpRequest, but not fully standard globals. * * web workers: * typeof window -> undefined * typeof document -> undefined * * react-native: * navigator.product -> 'ReactNative' * nativescript * navigator.product -> 'NativeScript' or 'NS' * * @returns {boolean} */ const hasStandardBrowserEnv = ( (product) => { return hasBrowserEnv && ['ReactNative', 'NativeScript', 'NS'].indexOf(product) < 0 })(typeof navigator !== 'undefined' && navigator.product); /** * Determine if we're running in a standard browser webWorker environment * * Although the `isStandardBrowserEnv` method indicates that * `allows axios to run in a web worker`, the WebWorker will still be * filtered out due to its judgment standard * `typeof window !== 'undefined' && typeof document !== 'undefined'`. * This leads to a problem when axios post `FormData` in webWorker */ const hasStandardBrowserWebWorkerEnv = (() => { return ( typeof WorkerGlobalScope !== 'undefined' && // eslint-disable-next-line no-undef self instanceof WorkerGlobalScope && typeof self.importScripts === 'function' ); })(); const origin = hasBrowserEnv && window.location.href || 'http://localhost'; const utils = /*#__PURE__*/Object.freeze({ __proto__: null, hasBrowserEnv: hasBrowserEnv, hasStandardBrowserWebWorkerEnv: hasStandardBrowserWebWorkerEnv, hasStandardBrowserEnv: hasStandardBrowserEnv, origin: origin }); const platform = { ...utils, ...platform$1 }; function toURLEncodedForm(data, options) { return toFormData$1(data, new platform.classes.URLSearchParams(), Object.assign({ visitor: function(value, key, path, helpers) { if (platform.isNode && utils$1.isBuffer(value)) { this.append(key, value.toString('base64')); return false; } return helpers.defaultVisitor.apply(this, arguments); } }, options)); } /** * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z'] * * @param {string} name - The name of the property to get. * * @returns An array of strings. */ function parsePropPath(name) { // foo[x][y][z] // foo.x.y.z // foo-x-y-z // foo x y z return utils$1.matchAll(/\w+|\[(\w*)]/g, name).map(match => { return match[0] === '[]' ? '' : match[1] || match[0]; }); } /** * Convert an array to an object. * * @param {Array<any>} arr - The array to convert to an object. * * @returns An object with the same keys and values as the array. */ function arrayToObject(arr) { const obj = {}; const keys = Object.keys(arr); let i; const len = keys.length; let key; for (i = 0; i < len; i++) { key = keys[i]; obj[key] = arr[key]; } return obj; } /** * It takes a FormData object and returns a JavaScript object * * @param {string} formData The FormData object to convert to JSON. * * @returns {Object<string, any> | null} The converted object. */ function formDataToJSON(formData) { function buildPath(path, value, target, index) { let name = path[index++]; if (name === '__proto__') return true; const isNumericKey = Number.isFinite(+name); const isLast = index >= path.length; name = !name && utils$1.isArray(target) ? target.length : name; if (isLast) { if (utils$1.hasOwnProp(target, name)) { target[name] = [target[name], value]; } else { target[name] = value; } return !isNumericKey; } if (!target[name] || !utils$1.isObject(target[name])) { target[name] = []; } const result = buildPath(path, value, target[name], index); if (result && utils$1.isArray(target[name])) { target[name] = arrayToObject(target[name]); } return !isNumericKey; } if (utils$1.isFormData(formData) && utils$1.isFunction(formData.entries)) { const obj = {}; utils$1.forEachEntry(formData, (name, value) => { buildPath(parsePropPath(name), value, obj, 0); }); return obj; } return null; } /** * It takes a string, tries to parse it, and if it fails, it returns the stringified version * of the input * * @param {any} rawValue - The value to be stringified. * @param {Function} parser - A function that parses a string into a JavaScript object. * @param {Function} encoder - A function that takes a value and returns a string. * * @returns {string} A stringified version of the rawValue. */ function stringifySafely(rawValue, parser, encoder) { if (utils$1.isString(rawValue)) { try { (parser || JSON.parse)(rawValue); return utils$1.trim(rawValue); } catch (e) { if (e.name !== 'SyntaxError') { throw e; } } } return (encoder || JSON.stringify)(rawValue); } const defaults = { transitional: transitionalDefaults, adapter: ['xhr', 'http', 'fetch'], transformRequest: [function transformRequest(data, headers) { const contentType = headers.getContentType() || ''; const hasJSONContentType = contentType.indexOf('application/json') > -1; const isObjectPayload = utils$1.isObject(data); if (isObjectPayload && utils$1.isHTMLForm(data)) { data = new FormData(data); } const isFormData = utils$1.isFormData(data); if (isFormData) { return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data; } if (utils$1.isArrayBuffer(data) || utils$1.isBuffer(data) || utils$1.isStream(data) || utils$1.isFile(data) || utils$1.isBlob(data) || utils$1.isReadableStream(data) ) { return data; } if (utils$1.isArrayBufferView(data)) { return data.buffer; } if (utils$1.isURLSearchParams(data)) { headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false); return data.toString(); } let isFileList; if (isObjectPayload) { if (contentType.indexOf('application/x-www-form-urlencoded') > -1) { return toURLEncodedForm(data, this.formSerializer).toString(); } if ((isFileList = utils$1.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) { const _FormData = this.env && this.env.FormData; return toFormData$1( isFileList ? {'files[]': data} : data, _FormData && new _FormData(), this.formSerializer ); } } if (isObjectPayload || hasJSONContentType ) { headers.setContentType('application/json', false); return stringifySafely(data); } return data; }], transformResponse: [function transformResponse(data) { const transitional = this.transitional || defaults.transitional; const forcedJSONParsing = transitional && transitional.forcedJSONParsing; const JSONRequested = this.responseType === 'json'; if (utils$1.isResponse(data) || utils$1.isReadableStream(data)) { return data; } if (data && utils$1.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) { const silentJSONParsing = transitional && transitional.silentJSONParsing; const strictJSONParsing = !silentJSONParsing && JSONRequested; try { return JSON.parse(data); } catch (e) { if (strictJSONParsing) { if (e.name === 'SyntaxError') { throw AxiosError$1.from(e, AxiosError$1.ERR_BAD_RESPONSE, this, null, this.response); } throw e; } } } return data; }], /** * A timeout in milliseconds to abort a request. If set to 0 (default) a * timeout is not created. */ timeout: 0, xsrfCookieName: 'XSRF-TOKEN', xsrfHeaderName: 'X-XSRF-TOKEN', maxContentLength: -1, maxBodyLength: -1, env: { FormData: platform.classes.FormData, Blob: platform.classes.Blob }, validateStatus: function validateStatus(status) { return status >= 200 && status < 300; }, headers: { common: { 'Accept': 'application/json, text/plain, */*', 'Content-Type': undefined } } }; utils$1.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => { defaults.headers[method] = {}; }); const defaults$1 = defaults; // RawAxiosHeaders whose duplicates are ignored by node // c.f. https://nodejs.org/api/http.html#http_message_headers const ignoreDuplicateOf = utils$1.toObjectSet([ 'age', 'authorization', 'content-length', 'content-type', 'etag', 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since', 'last-modified', 'location', 'max-forwards', 'proxy-authorization', 'referer', 'retry-after', 'user-agent' ]); /** * Parse headers into an object * * ``` * Date: Wed, 27 Aug 2014 08:58:49 GMT * Content-Type: application/json * Connection: keep-alive * Transfer-Encoding: chunked * ``` * * @param {String} rawHeaders Headers needing to be parsed * * @returns {Object} Headers parsed into an object */ const parseHeaders = rawHeaders => { const parsed = {}; let key; let val; let i; rawHeaders && rawHeaders.split('\n').forEach(function parser(line) { i = line.indexOf(':'); key = line.substring(0, i).trim().toLowerCase(); val = line.substring(i + 1).trim(); if (!key || (parsed[key] && ignoreDuplicateOf[key])) { return; } if (key === 'set-cookie') { if (parsed[key]) { parsed[key].push(val); } else { parsed[key] = [val]; } } else { parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val; } }); return parsed; }; const $internals = Symbol('internals'); function normalizeHeader(header) { return header && String(header).trim().toLowerCase(); } function normalizeValue(value) { if (value === false || value == null) { return value; } return utils$1.isArray(value) ? value.map(normalizeValue) : String(value); } function parseTokens(str) { const tokens = Object.create(null); const tokensRE = /([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g; let match; while ((match = tokensRE.exec(str))) { tokens[match[1]] = match[2]; } return tokens; } const isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim()); function matchHeaderValue(context, value, header, filter, isHeaderNameFilter) { if (utils$1.isFunction(filter)) { return filter.call(this, value, header); } if (isHeaderNameFilter) { value = header; } if (!utils$1.isString(value)) return; if (utils$1.isString(filter)) { return value.indexOf(filter) !== -1; } if (utils$1.isRegExp(filter)) { return filter.test(value); } } function formatHeader(header) { return header.trim() .toLowerCase().replace(/([a-z\d])(\w*)/g, (w, char, str) => { return char.toUpperCase() + str; }); } function buildAccessors(obj, header) { const accessorName = utils$1.toCamelCase(' ' + header); ['get', 'set', 'has'].forEach(methodName => { Object.defineProperty(obj, methodName + accessorName, { value: function(arg1, arg2, arg3) { return this[methodName].call(this, header, arg1, arg2, arg3); }, configurable: true }); }); } class AxiosHeaders$1 { constructor(headers) { headers && this.set(headers); } set(header, valueOrRewrite, rewrite) { const self = this; function setHeader(_value, _header, _rewrite) { const lHeader = normalizeHeader(_header); if (!lHeader) { throw new Error('header name must be a non-empty string'); } const key = utils$1.findKey(self, lHeader); if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) { self[key || _header] = normalizeValue(_value); } } const setHeaders = (headers, _rewrite) => utils$1.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite)); if (utils$1.isPlainObject(header) || header instanceof this.constructor) { setHeaders(header, valueOrRewrite); } else if(utils$1.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) { setHeaders(parseHeaders(header), valueOrRewrite); } else if (utils$1.isHeaders(header)) { for (const [key, value] of header.entries()) { setHeader(value, key, rewrite); } } else { header != null && setHeader(valueOrRewrite, header, rewrite); } return this; } get(header, parser) { header = normalizeHeader(header); if (header) { const key = utils$1.findKey(this, header); if (key) { const value = this[key]; if (!parser) { return value; } if (parser === true) { return parseTokens(value); } if (utils$1.isFunction(parser)) { return parser.call(this, value, key); } if (utils$1.isRegExp(parser)) { return parser.exec(value); } throw new TypeError('parser must be boolean|regexp|function'); } } } has(header, matcher) { header = normalizeHeader(header); if (header) { const key = utils$1.findKey(this, header); return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher))); } return false; } delete(header, matcher) { const self = this; let deleted = false; function deleteHeader(_header) { _header = normalizeHeader(_header); if (_header) { const key = utils$1.findKey(self, _header); if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) { delete self[key]; deleted = true; } } } if (utils$1.isArray(header)) { header.forEach(deleteHeader); } else { deleteHeader(header); } return deleted; } clear(matcher) { const keys = Object.keys(this); let i = keys.length; let deleted = false; while (i--) { const key = keys[i]; if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) { delete this[key]; deleted = true; } } return deleted; } normalize(format) { const self = this; const headers = {}; utils$1.forEach(this, (value, header) => { const key = utils$1.findKey(headers, header); if (key) { self[key] = normalizeValue(value); delete self[header]; return; } const normalized = format ? formatHeader(header) : String(header).trim(); if (normalized !== header) { delete self[header]; } self[normalized] = normalizeValue(value); headers[normalized] = true; }); return this; } concat(...targets) { return this.constructor.concat(this, ...targets); } toJSON(asStrings) { const obj = Object.create(null); utils$1.forEach(this, (value, header) => { value != null && value !== false && (obj[header] = asStrings && utils$1.isArray(value) ? value.join(', ') : value); }); return obj; } [Symbol.iterator]() { return Object.entries(this.toJSON())[Symbol.iterator](); } toString() { return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\n'); } get [Symbol.toStringTag]() { return 'AxiosHeaders'; } static from(thing) { return thing instanceof this ? thing : new this(thing); } static concat(first, ...targets) { const computed = new this(first); targets.forEach((target) => computed.set(target)); return computed; } static accessor(header) { const internals = this[$internals] = (this[$internals] = { accessors: {} }); const accessors = internals.accessors; const prototype = this.prototype; function defineAccessor(_header) { const lHeader = normalizeHeader(_header); if (!accessors[lHeader]) { buildAccessors(prototype, _header); accessors[lHeader] = true; } } utils$1.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header); return this; } } AxiosHeaders$1.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']); // reserved names hotfix utils$1.reduceDescriptors(AxiosHeaders$1.prototype, ({value}, key) => { let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set` return { get: () => value, set(headerValue) { this[mapped] = headerValue; } } }); utils$1.freezeMethods(AxiosHeaders$1); const AxiosHeaders$2 = AxiosHeaders$1; /** * Transform the data for a request or a response * * @param {Array|Function} fns A single function or Array of functions * @param {?Object} response The response object * * @returns {*} The resulting transformed data */ function transformData(fns, response) { const config = this || defaults$1; const context = response || config; const headers = AxiosHeaders$2.from(context.headers); let data = context.data; utils$1.forEach(fns, function transform(fn) { data = fn.call(config, data, headers.normalize(), response ? response.status : undefined); }); headers.normalize(); return data; } function isCancel$1(value) { return !!(value && value.__CANCEL__); } /** * A `CanceledError` is an object that is thrown when an operation is canceled. * * @param {string=} message The message. * @param {Object=} config The config. * @param {Object=} request The request. * * @returns {CanceledError} The created error. */ function CanceledError$1(message, config, request) { // eslint-disable-next-line no-eq-null,eqeqeq AxiosError$1.call(this, message == null ? 'canceled' : message, AxiosError$1.ERR_CANCELED, config, request); this.name = 'CanceledError'; } utils$1.inherits(CanceledError$1, AxiosError$1, { __CANCEL__: true }); /** * Resolve or reject a Promise based on response status. * * @param {Function} resolve A function that resolves the promise. * @param {Function} reject A function that rejects the promise. * @param {object} response The response. * * @returns {object} The response. */ function settle(resolve, reject, response) { const validateStatus = response.config.validateStatus; if (!response.status || !validateStatus || validateStatus(response.status)) { resolve(response); } else { reject(new AxiosError$1( 'Request failed with status code ' + response.status, [AxiosError$1.ERR_BAD_REQUEST, AxiosError$1.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4], response.config, response.request, response )); } } function parseProtocol(url) { const match = /^([-+\w]{1,25})(:?\/\/|:)/.exec(url); return match && match[1] || ''; } /** * Calculate data maxRate * @param {Number} [samplesCount= 10] * @param {Number} [min= 1000] * @returns {Function} */ function speedometer(samplesCount, min) { samplesCount = samplesCount || 10; const bytes = new Array(samplesCount); const timestamps = new Array(samplesCount); let head = 0; let tail = 0; let firstSampleTS; min = min !== undefined ? min : 1000; return function push(chunkLength) { const now = Date.now(); const startedAt = timestamps[tail]; if (!firstSampleTS) { firstSampleTS = now; } bytes[head] = chunkLength; timestamps[head] = now; let i = tail; let bytesCount = 0; while (i !== head) { bytesCount += bytes[i++]; i = i % samplesCount; } head = (head + 1) % samplesCount; if (head === tail) { tail = (tail + 1) % samplesCount; } if (now - firstSampleTS < min) { return; } const passed = startedAt && now - startedAt; return passed ? Math.round(bytesCount * 1000 / passed) : undefined; }; } /** * Throttle decorator * @param {Function} fn * @param {Number} freq * @return {Function} */ function throttle(fn, freq) { let timestamp = 0; const threshold = 1000 / freq; let timer = null; return function throttled() { const force = this === true; const now = Date.now(); if (force || now - timestamp > threshold) { if (timer) { clearTimeout(timer); timer = null; } timestamp = now; return fn.apply(null, arguments); } if (!timer) { timer = setTimeout(() => { timer = null; timestamp = Date.now(); return fn.apply(null, arguments); }, threshold - (now - timestamp)); } }; } const progressEventReducer = (listener, isDownloadStream, freq = 3) => { let bytesNotified = 0; const _speedometer = speedometer(50, 250); return throttle(e => { const loaded = e.loaded; const total = e.lengthComputable ? e.total : undefined; const progressBytes = loaded - bytesNotified; const rate = _speedometer(progressBytes); const inRange = loaded <= total; bytesNotified = loaded; const data = { loaded, total, progress: total ? (loaded / total) : undefined, bytes: progressBytes, rate: rate ? rate : undefined, estimated: rate && total && inRange ? (total - loaded) / rate : undefined, event: e, lengthComputable: total != null }; data[isDownloadStream ? 'download' : 'upload'] = true; listener(data); }, freq); }; const isURLSameOrigin = platform.hasStandardBrowserEnv ? // Standard browser envs have full support of the APIs needed to test // whether the request URL is of the same origin as current location. (function standardBrowserEnv() { const msie = /(msie|trident)/i.test(navigator.userAgent); const urlParsingNode = document.createElement('a'); let originURL; /** * Parse a URL to discover its components * * @param {String} url The URL to be parsed * @returns {Object} */ function resolveURL(url) { let href = url; if (msie) { // IE needs attribute set twice to normalize properties urlParsingNode.setAttribute('href', href); href = urlParsingNode.href; } urlParsingNode.setAttribute('href', href); // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils return { href: urlParsingNode.href, protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '', host: urlParsingNode.host, search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, '') : '', hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '', hostname: urlParsingNode.hostname, port: urlParsingNode.port, pathname: (urlParsingNode.pathname.charAt(0) === '/') ? urlParsingNode.pathname : '/' + urlParsingNode.pathname }; } originURL = resolveURL(window.location.href); /** * Determine if a URL shares the same origin as the current location * * @param {String} requestURL The URL to test * @returns {boolean} True if URL shares the same origin, otherwise false */ return function isURLSameOrigin(requestURL) { const parsed = (utils$1.isString(requestURL)) ? resolveURL(requestURL) : requestURL; return (parsed.protocol === originURL.protocol && parsed.host === originURL.host); }; })() : // Non standard browser envs (web workers, react-native) lack needed support. (function nonStandardBrowserEnv() { return function isURLSameOrigin() { return true; }; })(); const cookies = platform.hasStandardBrowserEnv ? // Standard browser envs support document.cookie { write(name, value, expires, path, domain, secure) { const cookie = [name + '=' + encodeURIComponent(value)]; utils$1.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString()); utils$1.isString(path) && cookie.push('path=' + path); utils$1.isString(domain) && cookie.push('domain=' + domain); secure === true && cookie.push('secure'); document.cookie = cookie.join('; '); }, read(name) { const match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)')); return (match ? decodeURIComponent(match[3]) : null); }, remove(name) { this.write(name, '', Date.now() - 86400000); } } : // Non-standard browser env (web workers, react-native) lack needed support. { write() {}, read() { return null; }, remove() {} }; /** * Determines whether the specified URL is absolute * * @param {string} url The URL to test * * @returns {boolean} True if the specified URL is absolute, otherwise false */ function isAbsoluteURL(url) { // A URL is considered absolute if it begins with "<scheme>://" or "//" (protocol-relative URL). // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed // by any combination of letters, digits, plus, period, or hyphen. return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url); } /** * Creates a new URL by combining the specified URLs * * @param {string} baseURL The base URL * @param {string} relativeURL The relative URL * * @returns {string} The combined URL */ function combineURLs(baseURL, relativeURL) { return relativeURL ? baseURL.replace(/\/?\/$/, '') + '/' + relativeURL.replace(/^\/+/, '') : baseURL; } /** * Creates a new URL by combining the baseURL with the requestedURL, * only when the requestedURL is not already an absolute URL. * If the requestURL is absolute, this function returns the requestedURL untouched. * * @param {string} baseURL The base URL * @param {string} requestedURL Absolute or relative URL to combine * * @returns {string} The combined full path */ function buildFullPath(baseURL, requestedURL) { if (baseURL && !isAbsoluteURL(requestedURL)) { return combineURLs(baseURL, requestedURL); } return requestedURL; } const headersToObject = (thing) => thing instanceof AxiosHeaders$2 ? { ...thing } : thing; /** * Config-specific merge-function which creates a new config-object * by merging two configuration objects together. * * @param {Object} config1 * @param {Object} config2 * * @returns {Object} New object resulting from merging config2 to config1 */ function mergeConfig$1(config1, config2) { // eslint-disable-next-line no-param-reassign config2 = config2 || {}; const config = {}; function getMergedValue(target, source, caseless) { if (utils$1.isPlainObject(target) && utils$1.isPlainObject(source)) { return utils$1.merge.call({caseless}, target, source); } else if (utils$1.isPlainObject(source)) { return utils$1.merge({}, source); } else if (utils$1.isArray(source)) { return source.slice(); } return source; } // eslint-disable-next-line consistent-return function mergeDeepProperties(a, b, caseless) { if (!utils$1.isUndefined(b)) { return getMergedValue(a, b, caseless); } else if (!utils$1.isUndefined(a)) { return getMergedValue(undefined, a, caseless); } } // eslint-disable-next-line consistent-return function valueFromConfig2(a, b) { if (!utils$1.isUndefined(b)) { return getMergedValue(undefined, b); } } // eslint-disable-next-line consistent-return function defaultToConfig2(a, b) { if (!utils$1.isUndefined(b)) { return getMergedValue(undefined, b); } else if (!utils$1.isUndefined(a)) { return getMergedValue(undefined, a); } } // eslint-disable-next-line consistent-return function mergeDirectKeys(a, b, prop) { if (prop in config2) { return getMergedValue(a, b); } else if (prop in config1) { return getMergedValue(undefined, a); } } const mergeMap = { url: valueFromConfig2, method: valueFromConfig2, data: valueFromConfig2, baseURL: defaultToConfig2, transformRequest: defaultToConfig2, transformResponse: defaultToConfig2, paramsSerializer: defaultToConfig2, timeout: defaultToConfig2, timeoutMessage: defaultToConfig2, withCredentials: defaultToConfig2, withXSRFToken: defaultToConfig2, adapter: defaultToConfig2, responseType: defaultToConfig2, xsrfCookieName: defaultToConfig2, xsrfHeaderName: defaultToConfig2, onUploadProgress: defaultToConfig2, onDownloadProgress: defaultToConfig2, decompress: defaultToConfig2, maxContentLength: defaultToConfig2, maxBodyLength: defaultToConfig2, beforeRedirect: defaultToConfig2, transport: defaultToConfig2, httpAgent: defaultToConfig2, httpsAgent: defaultToConfig2, cancelToken: defaultToConfig2, socketPath: defaultToConfig2, responseEncoding: defaultToConfig2, validateStatus: mergeDirectKeys, headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true) }; utils$1.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) { const merge = mergeMap[prop] || mergeDeepProperties; const configValue = merge(config1[prop], config2[prop], prop); (utils$1.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue); }); return config; } const resolveConfig = (config) => { const newConfig = mergeConfig$1({}, config); let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig; newConfig.headers = headers = AxiosHeaders$2.from(headers); newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer); // HTTP basic authentication if (auth) { headers.set('Authorization', 'Basic ' + btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : '')) ); } let contentType; if (utils$1.isFormData(data)) { if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) { headers.setContentType(undefined); // Let the browser set it } else if ((contentType = headers.getContentType()) !== false) { // fix semicolon duplication issue for ReactNative FormData implementation const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : []; headers.setContentType([type || 'multipart/form-data', ...tokens].join('; ')); } } // Add xsrf header // This is only done if running in a standard browser environment. // Specifically not if we're in a web worker, or react-native. if (platform.hasStandardBrowserEnv) { withXSRFToken && utils$1.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig)); if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) { // Add xsrf header const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName); if (xsrfValue) { headers.set(xsrfHeaderName, xsrfValue); } } } return newConfig; }; const isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined'; const xhrAdapter = isXHRAdapterSupported && function (config) { return new Promise(function dispatchXhrRequest(resolve, reject) { const _config = resolveConfig(config); let requestData = _config.data; const requestHeaders = AxiosHeaders$2.from(_config.headers).normalize(); let {responseType} = _config; let onCanceled; function done() { if (_config.cancelToken) { _config.cancelToken.unsubscribe(onCanceled); } if (_config.signal) { _config.signal.removeEventListener('abort', onCanceled); } } let request = new XMLHttpRequest(); request.open(_config.method.toUpperCase(), _config.url, true); // Set the request timeout in MS request.timeout = _config.timeout; function onloadend() { if (!request) { return; } // Prepare the response const responseHeaders = AxiosHeaders$2.from( 'getAllResponseHeaders' in request && request.getAllResponseHeaders() ); const responseData = !responseType || responseType === 'text' || responseType === 'json' ? request.responseText : request.response; const response = { data: responseData, status: request.status, statusText: request.statusText, headers: responseHeaders, config, request }; settle(function _resolve(value) { resolve(value); done(); }, function _reject(err) { reject(err); done(); }, response); // Clean up request request = null; } if ('onloadend' in request) { // Use onloadend if available request.onloadend = onloadend; } else { // Listen for ready state to emulate onloadend request.onreadystatechange = function handleLoad() { if (!request || request.readyState !== 4) { return; } // The request errored out and we didn't get a response, this will be // handled by onerror instead // With one exception: request that using file: protocol, most browsers // will return status as 0 even though it's a successful request if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) { return; } // readystate handler is calling before onerror or ontimeout handlers, // so we should call onloadend on the next 'tick' setTimeout(onloadend); }; } // Handle browser request cancellation (as opposed to a manual cancellation) request.onabort = function handleAbort() { if (!request) { return; } reject(new AxiosError$1('Request aborted', AxiosError$1.ECONNABORTED, _config, request)); // Clean up request request = null; }; // Handle low level network errors request.onerror = function handleError() { // Real errors are hidden from us by the browser // onerror should only fire if it's a network error reject(new AxiosError$1('Network Error', AxiosError$1.ERR_NETWORK, _config, request)); // Clean up request request = null; }; // Handle timeout request.ontimeout = function handleTimeout() { let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded'; const transitional = _config.transitional || transitionalDefaults; if (_config.timeoutErrorMessage) { timeoutErrorMessage = _config.timeoutErrorMessage; } reject(new AxiosError$1( timeoutErrorMessage, transitional.clarifyTimeoutError ? AxiosError$1.ETIMEDOUT : AxiosError$1.ECONNABORTED, _config, request)); // Clean up request request = null; }; // Remove Content-Type if data is undefined requestData === undefined && requestHeaders.setContentType(null); // Add headers to the request if ('setRequestHeader' in request) { utils$1.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) { request.setRequestHeader(key, val); }); } // Add withCredentials to request if needed if (!utils$1.isUndefined(_config.withCredentials)) { request.withCredentials = !!_config.withCredentials; } // Add responseType to request if needed if (responseType && responseType !== 'json') { request.responseType = _config.responseType; } // Handle progress if needed if (typeof _config.onDownloadProgress === 'function') { request.addEventListener('progress', progressEventReducer(_config.onDownloadProgress, true)); } // Not all browsers support upload events if (typeof _config.onUploadProgress === 'function' && request.upload) { request.upload.addEventListener('progress', progressEventReducer(_config.onUploadProgress)); } if (_config.cancelToken || _config.signal) { // Handle cancellation // eslint-disable-next-line func-names onCanceled = cancel => { if (!request) { return; } reject(!cancel || cancel.type ? new CanceledError$1(null, config, request) : cancel); request.abort(); request = null; }; _config.cancelToken && _config.cancelToken.subscribe(onCanceled); if (_config.signal) { _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled); } } const protocol = parseProtocol(_config.url); if (protocol && platform.protocols.indexOf(protocol) === -1) { reject(new AxiosError$1('Unsupported protocol ' + protocol + ':', AxiosError$1.ERR_BAD_REQUEST, config)); return; } // Send the request request.send(requestData || null); }); }; const composeSignals = (signals, timeout) => { let controller = new AbortController(); let aborted; const onabort = function (cancel) { if (!aborted) { aborted = true; unsubscribe(); const err = cancel instanceof Error ? cancel : this.reason; controller.abort(err instanceof AxiosError$1 ? err : new CanceledError$1(err instanceof Error ? err.message : err)); } }; let timer = timeout && setTimeout(() => { onabort(new AxiosError$1(`timeout ${timeout} of ms exceeded`, AxiosError$1.ETIMEDOUT)); }, timeout); const unsubscribe = () => { if (signals) { timer && clearTimeout(timer); timer = null; signals.forEach(signal => { signal && (signal.removeEventListener ? signal.removeEventListener('abort', onabort) : signal.unsubscribe(onabort)); }); signals = null; } }; signals.forEach((signal) => signal && signal.addEventListener && signal.addEventListener('abort', onabort)); const {signal} = controller; signal.unsubscribe = unsubscribe; return [signal, () => { timer && clearTimeout(timer); timer = null; }]; }; const composeSignals$1 = composeSignals; const streamChunk = function* (chunk, chunkSize) { let len = chunk.byteLength; if (!chunkSize || len < chunkSize) { yield chunk; return; } let pos = 0; let end; while (pos < len) { end = pos + chunkSize; yield chunk.slice(pos, end); pos = end; } }; const readBytes = async function* (iterable, chunkSize, encode) { for await (const chunk of iterable) { yield* streamChunk(ArrayBuffer.isView(chunk) ? chunk : (await encode(String(chunk))), chunkSize); } }; const trackStream = (stream, chunkSize, onProgress, onFinish, encode) => { const iterator = readBytes(stream, chunkSize, encode); let bytes = 0; return new ReadableStream({ type: 'bytes', async pull(controller) { const {done, value} = await iterator.next(); if (done) { controller.close(); onFinish(); return; } let len = value.byteLength; onProgress && onProgress(bytes += len); controller.enqueue(new Uint8Array(value)); }, cancel(reason) { onFinish(reason); return iterator.return(); } }, { highWaterMark: 2 }) }; const fetchProgressDecorator = (total, fn) => { const lengthComputable = total != null; return (loaded) => setTimeout(() => fn({ lengthComputable, total, loaded })); }; const isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function'; const isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function'; // used only inside the fetch adapter const encodeText = isFetchSupported && (typeof TextEncoder === 'function' ? ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) : async (str) => new Uint8Array(await new Response(str).arrayBuffer()) ); const supportsRequestStream = isReadableStreamSupported && (() => { let duplexAccessed = false; const hasContentType = new Request(platform.origin, { body: new ReadableStream(), method: 'POST', get duplex() { duplexAccessed = true; return 'half'; }, }).headers.has('Content-Type'); return duplexAccessed && !hasContentType; })(); const DEFAULT_CHUNK_SIZE = 64 * 1024; const supportsResponseStream = isReadableStreamSupported && !!(()=> { try { return utils$1.isReadableStream(new Response('').body); } catch(err) { // return undefined } })(); const resolvers = { stream: supportsResponseStream && ((res) => res.body) }; isFetchSupported && (((res) => { ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => { !resolvers[type] && (resolvers[type] = utils$1.isFunction(res[type]) ? (res) => res[type]() : (_, config) => { throw new AxiosError$1(`Response type '${type}' is not supported`, AxiosError$1.ERR_NOT_SUPPORT, config); }); }); })(new Response)); const getBodyLength = async (body) => { if (body == null) { return 0; } if(utils$1.isBlob(body)) { return body.size; } if(utils$1.isSpecCompliantForm(body)) { return (await new Request(body).arrayBuffer()).byteLength; } if(utils$1.isArrayBufferView(body)) { return body.byteLength; } if(utils$1.isURLSearchParams(body)) { body = body + ''; } if(utils$1.isString(body)) { return (await encodeText(body)).byteLength; } }; const resolveBodyLength = async (headers, body) => { const length = utils$1.toFiniteNumber(headers.getContentLength()); return length == null ? getBodyLength(body) : length; }; const fetchAdapter = isFetchSupported && (async (config) => { let { url, method, data, signal, cancelToken, timeout, onDownloadProgress, onUploadProgress, responseType, headers, withCredentials = 'same-origin', fetchOptions } = resolveConfig(config); responseType = responseType ? (responseType + '').toLowerCase() : 'text'; let [composedSignal, stopTimeout] = (signal || cancelToken || timeout) ? composeSignals$1([signal, cancelToken], timeout) : []; let finished, request; const onFinish = () => { !finished && setTimeout(() => { composedSignal && composedSignal.unsubscribe(); }); finished = true; }; let requestContentLength; try { if ( onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' && (requestContentLength = await resolveBodyLength(headers, data)) !== 0 ) { let _request = new Request(url, { method: 'POST', body: data, duplex: "half" }); let contentTypeHeader; if (utils$1.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) { headers.setContentType(contentTypeHeader); } if (_request.body) { data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, fetchProgressDecorator( requestContentLength, progressEventReducer(onUploadProgress) ), null, encodeText); } } if (!utils$1.isString(withCredentials)) { withCredentials = withCredentials ? 'cors' : 'omit'; } request = new Request(url, { ...fetchOptions, signal: composedSignal, method: method.toUpperCase(), headers: headers.normalize().toJSON(), body: data, duplex: "half", withCredentials }); let response = await fetch(request); const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response'); if (supportsResponseStream && (onDownloadProgress || isStreamResponse)) { const options = {}; ['status', 'statusText', 'headers'].forEach(prop => { options[prop] = response[prop]; }); const responseContentLength = utils$1.toFiniteNumber(response.headers.get('content-length')); response = new Response( trackStream(response.body, DEFAULT_CHUNK_SIZE, onDownloadProgress && fetchProgressDecorator( responseContentLength, progressEventReducer(onDownloadProgress, true) ), isStreamResponse && onFinish, encodeText), options ); } responseType = responseType || 'text'; let responseData = await resolvers[utils$1.findKey(resolvers, responseType) || 'text'](response, config); !isStreamResponse && onFinish(); stopTimeout && stopTimeout(); return await new Promise((resolve, reject) => { settle(resolve, reject, { data: responseData, headers: AxiosHeaders$2.from(response.headers), status: response.status, statusText: response.statusText, config, request }); }) } catch (err) { onFinish(); if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) { throw Object.assign( new AxiosError$1('Network Error', AxiosError$1.ERR_NETWORK, config, request), { cause: err.cause || err } ) } throw AxiosError$1.from(err, err && err.code, config, request); } }); const knownAdapters = { http: httpAdapter, xhr: xhrAdapter, fetch: fetchAdapter }; utils$1.forEach(knownAdapters, (fn, value) => { if (fn) { try { Object.defineProperty(fn, 'name', {value}); } catch (e) { // eslint-disable-next-line no-empty } Object.defineProperty(fn, 'adapterName', {value}); } }); const renderReason = (reason) => `- ${reason}`; const isResolvedHandle = (adapter) => utils$1.isFunction(adapter) || adapter === null || adapter === false; const adapters = { getAdapter: (adapters) => { adapters = utils$1.isArray(adapters) ? adapters : [adapters]; const {length} = adapters; let nameOrAdapter; let adapter; const rejectedReasons = {}; for (let i = 0; i < length; i++) { nameOrAdapter = adapters[i]; let id; adapter = nameOrAdapter; if (!isResolvedHandle(nameOrAdapter)) { adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()]; if (adapter === undefined) { throw new AxiosError$1(`Unknown adapter '${id}'`); } } if (adapter) { break; } rejectedReasons[id || '#' + i] = adapter; } if (!adapter) { const reasons = Object.entries(rejectedReasons) .map(([id, state]) => `adapter ${id} ` + (state === false ? 'is not supported by the environment' : 'is not available in the build') ); let s = length ? (reasons.length > 1 ? 'since :\n' + reasons.map(renderReason).join('\n') : ' ' + renderReason(reasons[0])) : 'as no adapter specified'; throw new AxiosError$1( `There is no suitable adapter to dispatch the request ` + s, 'ERR_NOT_SUPPORT' ); } return adapter; }, adapters: knownAdapters }; /** * Throws a `CanceledError` if cancellation has been requested. * * @param {Object} config The config that is to be used for the request * * @returns {void} */ function throwIfCancellationRequested(config) { if (config.cancelToken) { config.cancelToken.throwIfRequested(); } if (config.signal && config.signal.aborted) { throw new CanceledError$1(null, config); } } /** * Dispatch a request to the server using the configured adapter. * * @param {object} config The config that is to be used for the request * * @returns {Promise} The Promise to be fulfilled */ function dispatchRequest(config) { throwIfCancellationRequested(config); config.headers = AxiosHeaders$2.from(config.headers); // Transform request data config.data = transformData.call( config, config.transformRequest ); if (['post', 'put', 'patch'].indexOf(config.method) !== -1) { config.headers.setContentType('application/x-www-form-urlencoded', false); } const adapter = adapters.getAdapter(config.adapter || defaults$1.adapter); return adapter(config).then(function onAdapterResolution(response) { throwIfCancellationRequested(config); // Transform response data response.data = transformData.call( config, config.transformResponse, response ); response.headers = AxiosHeaders$2.from(response.headers); return response; }, function onAdapterRejection(reason) { if (!isCancel$1(reason)) { throwIfCancellationRequested(config); // Transform response data if (reason && reason.response) { reason.response.data = transformData.call( config, config.transformResponse, reason.response ); reason.response.headers = AxiosHeaders$2.from(reason.response.headers); } } return Promise.reject(reason); }); } const VERSION$1 = "1.7.2"; const validators$1 = {}; // eslint-disable-next-line func-names ['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => { validators$1[type] = function validator(thing) { return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type; }; }); const deprecatedWarnings = {}; /** * Transitional option validator * * @param {function|boolean?} validator - set to false if the transitional option has been removed * @param {string?} version - deprecated version / removed since version * @param {string?} message - some message with additional info * * @returns {function} */ validators$1.transitional = function transitional(validator, version, message) { function formatMessage(opt, desc) { return '[Axios v' + VERSION$1 + '] Transitional option \'' + opt + '\'' + desc + (message ? '. ' + message : ''); } // eslint-disable-next-line func-names return (value, opt, opts) => { if (validator === false) { throw new AxiosError$1( formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')), AxiosError$1.ERR_DEPRECATED ); } if (version && !deprecatedWarnings[opt]) { deprecatedWarnings[opt] = true; // eslint-disable-next-line no-console console.warn( formatMessage( opt, ' has been deprecated since v' + version + ' and will be removed in the near future' ) ); } return validator ? validator(value, opt, opts) : true; }; }; /** * Assert object's properties type * * @param {object} options * @param {object} schema * @param {boolean?} allowUnknown * * @returns {object} */ function assertOptions(options, schema, allowUnknown) { if (typeof options !== 'object') { throw new AxiosError$1('options must be an object', AxiosError$1.ERR_BAD_OPTION_VALUE); } const keys = Object.keys(options); let i = keys.length; while (i-- > 0) { const opt = keys[i]; const validator = schema[opt]; if (validator) { const value = options[opt]; const result = value === undefined || validator(value, opt, options); if (result !== true) { throw new AxiosError$1('option ' + opt + ' must be ' + result, AxiosError$1.ERR_BAD_OPTION_VALUE); } continue; } if (allowUnknown !== true) { throw new AxiosError$1('Unknown option ' + opt, AxiosError$1.ERR_BAD_OPTION); } } } const validator = { assertOptions, validators: validators$1 }; const validators = validator.validators; /** * Create a new instance of Axios * * @param {Object} instanceConfig The default config for the instance * * @return {Axios} A new instance of Axios */ class Axios$1 { constructor(instanceConfig) { this.defaults = instanceConfig; this.interceptors = { request: new InterceptorManager$1(), response: new InterceptorManager$1() }; } /** * Dispatch a request * * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults) * @param {?Object} config * * @returns {Promise} The Promise to be fulfilled */ async request(configOrUrl, config) { try { return await this._request(configOrUrl, config); } catch (err) { if (err instanceof Error) { let dummy; Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error()); // slice off the Error: ... line const stack = dummy.stack ? dummy.stack.replace(/^.+\n/, '') : ''; try { if (!err.stack) { err.stack = stack; // match without the 2 top stack lines } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\n.+\n/, ''))) { err.stack += '\n' + stack; } } catch (e) { // ignore the case where "stack" is an un-writable property } } throw err; } } _request(configOrUrl, config) { /*eslint no-param-reassign:0*/ // Allow for axios('example/url'[, config]) a la fetch API if (typeof configOrUrl === 'string') { config = config || {}; config.url = configOrUrl; } else { config = configOrUrl || {}; } config = mergeConfig$1(this.defaults, config); const {transitional, paramsSerializer, headers} = config; if (transitional !== undefined) { validator.assertOptions(transitional, { silentJSONParsing: validators.transitional(validators.boolean), forcedJSONParsing: validators.transitional(validators.boolean), clarifyTimeoutError: validators.transitional(validators.boolean) }, false); } if (paramsSerializer != null) { if (utils$1.isFunction(paramsSerializer)) { config.paramsSerializer = { serialize: paramsSerializer }; } else { validator.assertOptions(paramsSerializer, { encode: validators.function, serialize: validators.function }, true); } } // Set config.method config.method = (config.method || this.defaults.method || 'get').toLowerCase(); // Flatten headers let contextHeaders = headers && utils$1.merge( headers.common, headers[config.method] ); headers && utils$1.forEach( ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], (method) => { delete headers[method]; } ); config.headers = AxiosHeaders$2.concat(contextHeaders, headers); // filter out skipped interceptors const requestInterceptorChain = []; let synchronousRequestInterceptors = true; this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) { return; } synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous; requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected); }); const responseInterceptorChain = []; this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) { responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected); }); let promise; let i = 0; let len; if (!synchronousRequestInterceptors) { const chain = [dispatchRequest.bind(this), undefined]; chain.unshift.apply(chain, requestInterceptorChain); chain.push.apply(chain, responseInterceptorChain); len = chain.length; promise = Promise.resolve(config); while (i < len) { promise = promise.then(chain[i++], chain[i++]); } return promise; } len = requestInterceptorChain.length; let newConfig = config; i = 0; while (i < len) { const onFulfilled = requestInterceptorChain[i++]; const onRejected = requestInterceptorChain[i++]; try { newConfig = onFulfilled(newConfig); } catch (error) { onRejected.call(this, error); break; } } try { promise = dispatchRequest.call(this, newConfig); } catch (error) { return Promise.reject(error); } i = 0; len = responseInterceptorChain.length; while (i < len) { promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]); } return promise; } getUri(config) { config = mergeConfig$1(this.defaults, config); const fullPath = buildFullPath(config.baseURL, config.url); return buildURL(fullPath, config.params, config.paramsSerializer); } } // Provide aliases for supported request methods utils$1.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) { /*eslint func-names:0*/ Axios$1.prototype[method] = function(url, config) { return this.request(mergeConfig$1(config || {}, { method, url, data: (config || {}).data })); }; }); utils$1.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { /*eslint func-names:0*/ function generateHTTPMethod(isForm) { return function httpMethod(url, data, config) { return this.request(mergeConfig$1(config || {}, { method, headers: isForm ? { 'Content-Type': 'multipart/form-data' } : {}, url, data })); }; } Axios$1.prototype[method] = generateHTTPMethod(); Axios$1.prototype[method + 'Form'] = generateHTTPMethod(true); }); const Axios$2 = Axios$1; /** * A `CancelToken` is an object that can be used to request cancellation of an operation. * * @param {Function} executor The executor function. * * @returns {CancelToken} */ class CancelToken$1 { constructor(executor) { if (typeof executor !== 'function') { throw new TypeError('executor must be a function.'); } let resolvePromise; this.promise = new Promise(function promiseExecutor(resolve) { resolvePromise = resolve; }); const token = this; // eslint-disable-next-line func-names this.promise.then(cancel => { if (!token._listeners) return; let i = token._listeners.length; while (i-- > 0) { token._listeners[i](cancel); } token._listeners = null; }); // eslint-disable-next-line func-names this.promise.then = onfulfilled => { let _resolve; // eslint-disable-next-line func-names const promise = new Promise(resolve => { token.subscribe(resolve); _resolve = resolve; }).then(onfulfilled); promise.cancel = function reject() { token.unsubscribe(_resolve); }; return promise; }; executor(function cancel(message, config, request) { if (token.reason) { // Cancellation has already been requested return; } token.reason = new CanceledError$1(message, config, request); resolvePromise(token.reason); }); } /** * Throws a `CanceledError` if cancellation has been requested. */ throwIfRequested() { if (this.reason) { throw this.reason; } } /** * Subscribe to the cancel signal */ subscribe(listener) { if (this.reason) { listener(this.reason); return; } if (this._listeners) { this._listeners.push(listener); } else { this._listeners = [listener]; } } /** * Unsubscribe from the cancel signal */ unsubscribe(listener) { if (!this._listeners) { return; } const index = this._listeners.indexOf(listener); if (index !== -1) { this._listeners.splice(index, 1); } } /** * Returns an object that contains a new `CancelToken` and a function that, when called, * cancels the `CancelToken`. */ static source() { let cancel; const token = new CancelToken$1(function executor(c) { cancel = c; }); return { token, cancel }; } } const CancelToken$2 = CancelToken$1; /** * Syntactic sugar for invoking a function and expanding an array for arguments. * * Common use case would be to use `Function.prototype.apply`. * * ```js * function f(x, y, z) {} * var args = [1, 2, 3]; * f.apply(null, args); * ``` * * With `spread` this example can be re-written. * * ```js * spread(function(x, y, z) {})([1, 2, 3]); * ``` * * @param {Function} callback * * @returns {Function} */ function spread$1(callback) { return function wrap(arr) { return callback.apply(null, arr); }; } /** * Determines whether the payload is an error thrown by Axios * * @param {*} payload The value to test * * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false */ function isAxiosError$1(payload) { return utils$1.isObject(payload) && (payload.isAxiosError === true); } const HttpStatusCode$1 = { Continue: 100, SwitchingProtocols: 101, Processing: 102, EarlyHints: 103, Ok: 200, Created: 201, Accepted: 202, NonAuthoritativeInformation: 203, NoContent: 204, ResetContent: 205, PartialContent: 206, MultiStatus: 207, AlreadyReported: 208, ImUsed: 226, MultipleChoices: 300, MovedPermanently: 301, Found: 302, SeeOther: 303, NotModified: 304, UseProxy: 305, Unused: 306, TemporaryRedirect: 307, PermanentRedirect: 308, BadRequest: 400, Unauthorized: 401, PaymentRequired: 402, Forbidden: 403, NotFound: 404, MethodNotAllowed: 405, NotAcceptable: 406, ProxyAuthenticationRequired: 407, RequestTimeout: 408, Conflict: 409, Gone: 410, LengthRequired: 411, PreconditionFailed: 412, PayloadTooLarge: 413, UriTooLong: 414, UnsupportedMediaType: 415, RangeNotSatisfiable: 416, ExpectationFailed: 417, ImATeapot: 418, MisdirectedRequest: 421, UnprocessableEntity: 422, Locked: 423, FailedDependency: 424, TooEarly: 425, UpgradeRequired: 426, PreconditionRequired: 428, TooManyRequests: 429, RequestHeaderFieldsTooLarge: 431, UnavailableForLegalReasons: 451, InternalServerError: 500, NotImplemented: 501, BadGateway: 502, ServiceUnavailable: 503, GatewayTimeout: 504, HttpVersionNotSupported: 505, VariantAlsoNegotiates: 506, InsufficientStorage: 507, LoopDetected: 508, NotExtended: 510, NetworkAuthenticationRequired: 511, }; Object.entries(HttpStatusCode$1).forEach(([key, value]) => { HttpStatusCode$1[value] = key; }); const HttpStatusCode$2 = HttpStatusCode$1; /** * Create an instance of Axios * * @param {Object} defaultConfig The default config for the instance * * @returns {Axios} A new instance of Axios */ function createInstance(defaultConfig) { const context = new Axios$2(defaultConfig); const instance = bind(Axios$2.prototype.request, context); // Copy axios.prototype to instance utils$1.extend(instance, Axios$2.prototype, context, {allOwnKeys: true}); // Copy context to instance utils$1.extend(instance, context, null, {allOwnKeys: true}); // Factory for creating new instances instance.create = function create(instanceConfig) { return createInstance(mergeConfig$1(defaultConfig, instanceConfig)); }; return instance; } // Create the default instance to be exported const axios = createInstance(defaults$1); // Expose Axios class to allow class inheritance axios.Axios = Axios$2; // Expose Cancel & CancelToken axios.CanceledError = CanceledError$1; axios.CancelToken = CancelToken$2; axios.isCancel = isCancel$1; axios.VERSION = VERSION$1; axios.toFormData = toFormData$1; // Expose AxiosError class axios.AxiosError = AxiosError$1; // alias for CanceledError for backward compatibility axios.Cancel = axios.CanceledError; // Expose all/spread axios.all = function all(promises) { return Promise.all(promises); }; axios.spread = spread$1; // Expose isAxiosError axios.isAxiosError = isAxiosError$1; // Expose mergeConfig axios.mergeConfig = mergeConfig$1; axios.AxiosHeaders = AxiosHeaders$2; axios.formToJSON = thing => formDataToJSON(utils$1.isHTMLForm(thing) ? new FormData(thing) : thing); axios.getAdapter = adapters.getAdapter; axios.HttpStatusCode = HttpStatusCode$2; axios.default = axios; // this module should only have a default export const axios$1 = axios; // This module is intended to unwrap Axios default export as named. // Keep top-level export same with static properties // so that it can keep same with es module or cjs const { Axios, AxiosError, CanceledError, isCancel, CancelToken, VERSION, all, Cancel, isAxiosError, spread, toFormData, AxiosHeaders, HttpStatusCode, formToJSON, getAdapter, mergeConfig } = axios$1; export { Axios, AxiosError, AxiosHeaders, Cancel, CancelToken, CanceledError, HttpStatusCode, VERSION, all, axios$1 as default, formToJSON, getAdapter, isAxiosError, isCancel, mergeConfig, spread, toFormData }; //# sourceMappingURL=axios.js.map PK�}�\?]Uesm/axios.js.mapnu�[���{"version":3,"file":"axios.js","sources":["../../lib/helpers/bind.js","../../lib/utils.js","../../lib/core/AxiosError.js","../../lib/helpers/null.js","../../lib/helpers/toFormData.js","../../lib/helpers/AxiosURLSearchParams.js","../../lib/helpers/buildURL.js","../../lib/core/InterceptorManager.js","../../lib/defaults/transitional.js","../../lib/platform/browser/classes/URLSearchParams.js","../../lib/platform/browser/classes/FormData.js","../../lib/platform/browser/classes/Blob.js","../../lib/platform/browser/index.js","../../lib/platform/common/utils.js","../../lib/platform/index.js","../../lib/helpers/toURLEncodedForm.js","../../lib/helpers/formDataToJSON.js","../../lib/defaults/index.js","../../lib/helpers/parseHeaders.js","../../lib/core/AxiosHeaders.js","../../lib/core/transformData.js","../../lib/cancel/isCancel.js","../../lib/cancel/CanceledError.js","../../lib/core/settle.js","../../lib/helpers/parseProtocol.js","../../lib/helpers/speedometer.js","../../lib/helpers/throttle.js","../../lib/helpers/progressEventReducer.js","../../lib/helpers/isURLSameOrigin.js","../../lib/helpers/cookies.js","../../lib/helpers/isAbsoluteURL.js","../../lib/helpers/combineURLs.js","../../lib/core/buildFullPath.js","../../lib/core/mergeConfig.js","../../lib/helpers/resolveConfig.js","../../lib/adapters/xhr.js","../../lib/helpers/composeSignals.js","../../lib/helpers/trackStream.js","../../lib/adapters/fetch.js","../../lib/adapters/adapters.js","../../lib/core/dispatchRequest.js","../../lib/env/data.js","../../lib/helpers/validator.js","../../lib/core/Axios.js","../../lib/cancel/CancelToken.js","../../lib/helpers/spread.js","../../lib/helpers/isAxiosError.js","../../lib/helpers/HttpStatusCode.js","../../lib/axios.js","../../index.js"],"sourcesContent":["'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object<any, any>} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array<boolean>}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array<any>} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object<any, any>} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object<string, any>} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array<String|Number>} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object<string, any>} params - The parameters to be converted to a FormData object.\n * @param {Object<string, any>} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = (\n (product) => {\n return hasBrowserEnv && ['ReactNative', 'NativeScript', 'NS'].indexOf(product) < 0\n })(typeof navigator !== 'undefined' && navigator.product);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array<any>} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object<string, any> | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isHeaders(header)) {\n for (const [key, value] of header.entries()) {\n setHeader(value, key, rewrite);\n }\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","'use strict';\n\n/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n const threshold = 1000 / freq;\n let timer = null;\n return function throttled() {\n const force = this === true;\n\n const now = Date.now();\n if (force || now - timestamp > threshold) {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n timestamp = now;\n return fn.apply(null, arguments);\n }\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n timestamp = Date.now();\n return fn.apply(null, arguments);\n }, threshold - (now - timestamp));\n }\n };\n}\n\nexport default throttle;\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\n\nexport default (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n }, freq);\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover its components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })();\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\n }\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport progressEventReducer from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType} = _config;\n let onCanceled;\n function done() {\n if (_config.cancelToken) {\n _config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (_config.signal) {\n _config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, _config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, _config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n _config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (typeof _config.onDownloadProgress === 'function') {\n request.addEventListener('progress', progressEventReducer(_config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof _config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(_config.onUploadProgress));\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst composeSignals = (signals, timeout) => {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (cancel) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = cancel instanceof Error ? cancel : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal &&\n (signal.removeEventListener ? signal.removeEventListener('abort', onabort) : signal.unsubscribe(onabort));\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal && signal.addEventListener && signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = unsubscribe;\n\n return [signal, () => {\n timer && clearTimeout(timer);\n timer = null;\n }];\n}\n\nexport default composeSignals;\n","\n\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize, encode) {\n for await (const chunk of iterable) {\n yield* streamChunk(ArrayBuffer.isView(chunk) ? chunk : (await encode(String(chunk))), chunkSize);\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish, encode) => {\n const iterator = readBytes(stream, chunkSize, encode);\n\n let bytes = 0;\n\n return new ReadableStream({\n type: 'bytes',\n\n async pull(controller) {\n const {done, value} = await iterator.next();\n\n if (done) {\n controller.close();\n onFinish();\n return;\n }\n\n let len = value.byteLength;\n onProgress && onProgress(bytes += len);\n controller.enqueue(new Uint8Array(value));\n },\n cancel(reason) {\n onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport progressEventReducer from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst fetchProgressDecorator = (total, fn) => {\n const lengthComputable = total != null;\n return (loaded) => setTimeout(() => fn({\n lengthComputable,\n total,\n loaded\n }));\n}\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst supportsRequestStream = isReadableStreamSupported && (() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n})();\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported && !!(()=> {\n try {\n return utils.isReadableStream(new Response('').body);\n } catch(err) {\n // return undefined\n }\n})();\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n return (await new Request(body).arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let [composedSignal, stopTimeout] = (signal || cancelToken || timeout) ?\n composeSignals([signal, cancelToken], timeout) : [];\n\n let finished, request;\n\n const onFinish = () => {\n !finished && setTimeout(() => {\n composedSignal && composedSignal.unsubscribe();\n });\n\n finished = true;\n }\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, fetchProgressDecorator(\n requestContentLength,\n progressEventReducer(onUploadProgress)\n ), null, encodeText);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'cors' : 'omit';\n }\n\n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n withCredentials\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || isStreamResponse)) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onDownloadProgress && fetchProgressDecorator(\n responseContentLength,\n progressEventReducer(onDownloadProgress, true)\n ), isStreamResponse && onFinish, encodeText),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && onFinish();\n\n stopTimeout && stopTimeout();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n onFinish();\n\n if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","export const VERSION = \"1.7.2\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy;\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","import axios from './lib/axios.js';\n\n// This module is intended to unwrap Axios default export as named.\n// Keep top-level export same with static properties\n// so that it can keep same with es module or cjs\nconst {\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n} = axios;\n\nexport {\n axios as default,\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n}\n"],"names":["AxiosError","utils","prototype","toFormData","encode","URLSearchParams","FormData","Blob","platform","AxiosHeaders","defaults","isCancel","CanceledError","mergeConfig","composeSignals","VERSION","validators","Axios","InterceptorManager","CancelToken","spread","isAxiosError","HttpStatusCode","axios"],"mappings":"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"}PK�}�\�us�!�!�esm/axios.min.jsnu�[���function e(e,t){return function(){return e.apply(t,arguments)}}const{toString:t}=Object.prototype,{getPrototypeOf:n}=Object,r=(o=Object.create(null),e=>{const n=t.call(e);return o[n]||(o[n]=n.slice(8,-1).toLowerCase())});var o;const s=e=>(e=e.toLowerCase(),t=>r(t)===e),i=e=>t=>typeof t===e,{isArray:a}=Array,c=i("undefined");const u=s("ArrayBuffer");const l=i("string"),f=i("function"),d=i("number"),h=e=>null!==e&&"object"==typeof e,p=e=>{if("object"!==r(e))return!1;const t=n(e);return!(null!==t&&t!==Object.prototype&&null!==Object.getPrototypeOf(t)||Symbol.toStringTag in e||Symbol.iterator in e)},m=s("Date"),y=s("File"),b=s("Blob"),g=s("FileList"),w=s("URLSearchParams"),[E,O,R,S]=["ReadableStream","Request","Response","Headers"].map(s);function T(e,t,{allOwnKeys:n=!1}={}){if(null==e)return;let r,o;if("object"!=typeof e&&(e=[e]),a(e))for(r=0,o=e.length;r<o;r++)t.call(null,e[r],r,e);else{const o=n?Object.getOwnPropertyNames(e):Object.keys(e),s=o.length;let i;for(r=0;r<s;r++)i=o[r],t.call(null,e[i],i,e)}}function A(e,t){t=t.toLowerCase();const n=Object.keys(e);let r,o=n.length;for(;o-- >0;)if(r=n[o],t===r.toLowerCase())return r;return null}const v="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,C=e=>!c(e)&&e!==v;const x=(N="undefined"!=typeof Uint8Array&&n(Uint8Array),e=>N&&e instanceof N);var N;const j=s("HTMLFormElement"),P=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),_=s("RegExp"),F=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};T(n,((n,o)=>{let s;!1!==(s=t(n,o,e))&&(r[o]=s||n)})),Object.defineProperties(e,r)},L="abcdefghijklmnopqrstuvwxyz",U={DIGIT:"0123456789",ALPHA:L,ALPHA_DIGIT:L+L.toUpperCase()+"0123456789"};const B=s("AsyncFunction"),D={isArray:a,isArrayBuffer:u,isBuffer:function(e){return null!==e&&!c(e)&&null!==e.constructor&&!c(e.constructor)&&f(e.constructor.isBuffer)&&e.constructor.isBuffer(e)},isFormData:e=>{let t;return e&&("function"==typeof FormData&&e instanceof FormData||f(e.append)&&("formdata"===(t=r(e))||"object"===t&&f(e.toString)&&"[object FormData]"===e.toString()))},isArrayBufferView:function(e){let t;return t="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&u(e.buffer),t},isString:l,isNumber:d,isBoolean:e=>!0===e||!1===e,isObject:h,isPlainObject:p,isReadableStream:E,isRequest:O,isResponse:R,isHeaders:S,isUndefined:c,isDate:m,isFile:y,isBlob:b,isRegExp:_,isFunction:f,isStream:e=>h(e)&&f(e.pipe),isURLSearchParams:w,isTypedArray:x,isFileList:g,forEach:T,merge:function e(){const{caseless:t}=C(this)&&this||{},n={},r=(r,o)=>{const s=t&&A(n,o)||o;p(n[s])&&p(r)?n[s]=e(n[s],r):p(r)?n[s]=e({},r):a(r)?n[s]=r.slice():n[s]=r};for(let e=0,t=arguments.length;e<t;e++)arguments[e]&&T(arguments[e],r);return n},extend:(t,n,r,{allOwnKeys:o}={})=>(T(n,((n,o)=>{r&&f(n)?t[o]=e(n,r):t[o]=n}),{allOwnKeys:o}),t),trim:e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:e=>(65279===e.charCodeAt(0)&&(e=e.slice(1)),e),inherits:(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},toFlatObject:(e,t,r,o)=>{let s,i,a;const c={};if(t=t||{},null==e)return t;do{for(s=Object.getOwnPropertyNames(e),i=s.length;i-- >0;)a=s[i],o&&!o(a,e,t)||c[a]||(t[a]=e[a],c[a]=!0);e=!1!==r&&n(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},kindOf:r,kindOfTest:s,endsWith:(e,t,n)=>{e=String(e),(void 0===n||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return-1!==r&&r===n},toArray:e=>{if(!e)return null;if(a(e))return e;let t=e.length;if(!d(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},forEachEntry:(e,t)=>{const n=(e&&e[Symbol.iterator]).call(e);let r;for(;(r=n.next())&&!r.done;){const n=r.value;t.call(e,n[0],n[1])}},matchAll:(e,t)=>{let n;const r=[];for(;null!==(n=e.exec(t));)r.push(n);return r},isHTMLForm:j,hasOwnProperty:P,hasOwnProp:P,reduceDescriptors:F,freezeMethods:e=>{F(e,((t,n)=>{if(f(e)&&-1!==["arguments","caller","callee"].indexOf(n))return!1;const r=e[n];f(r)&&(t.enumerable=!1,"writable"in t?t.writable=!1:t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")}))}))},toObjectSet:(e,t)=>{const n={},r=e=>{e.forEach((e=>{n[e]=!0}))};return a(e)?r(e):r(String(e).split(t)),n},toCamelCase:e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(e,t,n){return t.toUpperCase()+n})),noop:()=>{},toFiniteNumber:(e,t)=>null!=e&&Number.isFinite(e=+e)?e:t,findKey:A,global:v,isContextDefined:C,ALPHABET:U,generateString:(e=16,t=U.ALPHA_DIGIT)=>{let n="";const{length:r}=t;for(;e--;)n+=t[Math.random()*r|0];return n},isSpecCompliantForm:function(e){return!!(e&&f(e.append)&&"FormData"===e[Symbol.toStringTag]&&e[Symbol.iterator])},toJSONObject:e=>{const t=new Array(10),n=(e,r)=>{if(h(e)){if(t.indexOf(e)>=0)return;if(!("toJSON"in e)){t[r]=e;const o=a(e)?[]:{};return T(e,((e,t)=>{const s=n(e,r+1);!c(s)&&(o[t]=s)})),t[r]=void 0,o}}return e};return n(e,0)},isAsyncFn:B,isThenable:e=>e&&(h(e)||f(e))&&f(e.then)&&f(e.catch)};function k(e,t,n,r,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),o&&(this.response=o)}D.inherits(k,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:D.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const q=k.prototype,I={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((e=>{I[e]={value:e}})),Object.defineProperties(k,I),Object.defineProperty(q,"isAxiosError",{value:!0}),k.from=(e,t,n,r,o,s)=>{const i=Object.create(q);return D.toFlatObject(e,i,(function(e){return e!==Error.prototype}),(e=>"isAxiosError"!==e)),k.call(i,e.message,t,n,r,o),i.cause=e,i.name=e.name,s&&Object.assign(i,s),i};function z(e){return D.isPlainObject(e)||D.isArray(e)}function M(e){return D.endsWith(e,"[]")?e.slice(0,-2):e}function H(e,t,n){return e?e.concat(t).map((function(e,t){return e=M(e),!n&&t?"["+e+"]":e})).join(n?".":""):t}const J=D.toFlatObject(D,{},null,(function(e){return/^is[A-Z]/.test(e)}));function W(e,t,n){if(!D.isObject(e))throw new TypeError("target must be an object");t=t||new FormData;const r=(n=D.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(e,t){return!D.isUndefined(t[e])}))).metaTokens,o=n.visitor||u,s=n.dots,i=n.indexes,a=(n.Blob||"undefined"!=typeof Blob&&Blob)&&D.isSpecCompliantForm(t);if(!D.isFunction(o))throw new TypeError("visitor must be a function");function c(e){if(null===e)return"";if(D.isDate(e))return e.toISOString();if(!a&&D.isBlob(e))throw new k("Blob is not supported. Use a Buffer instead.");return D.isArrayBuffer(e)||D.isTypedArray(e)?a&&"function"==typeof Blob?new Blob([e]):Buffer.from(e):e}function u(e,n,o){let a=e;if(e&&!o&&"object"==typeof e)if(D.endsWith(n,"{}"))n=r?n:n.slice(0,-2),e=JSON.stringify(e);else if(D.isArray(e)&&function(e){return D.isArray(e)&&!e.some(z)}(e)||(D.isFileList(e)||D.endsWith(n,"[]"))&&(a=D.toArray(e)))return n=M(n),a.forEach((function(e,r){!D.isUndefined(e)&&null!==e&&t.append(!0===i?H([n],r,s):null===i?n:n+"[]",c(e))})),!1;return!!z(e)||(t.append(H(o,n,s),c(e)),!1)}const l=[],f=Object.assign(J,{defaultVisitor:u,convertValue:c,isVisitable:z});if(!D.isObject(e))throw new TypeError("data must be an object");return function e(n,r){if(!D.isUndefined(n)){if(-1!==l.indexOf(n))throw Error("Circular reference detected in "+r.join("."));l.push(n),D.forEach(n,(function(n,s){!0===(!(D.isUndefined(n)||null===n)&&o.call(t,n,D.isString(s)?s.trim():s,r,f))&&e(n,r?r.concat(s):[s])})),l.pop()}}(e),t}function V(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,(function(e){return t[e]}))}function K(e,t){this._pairs=[],e&&W(e,this,t)}const $=K.prototype;function G(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function X(e,t,n){if(!t)return e;const r=n&&n.encode||G,o=n&&n.serialize;let s;if(s=o?o(t,n):D.isURLSearchParams(t)?t.toString():new K(t,n).toString(r),s){const t=e.indexOf("#");-1!==t&&(e=e.slice(0,t)),e+=(-1===e.indexOf("?")?"?":"&")+s}return e}$.append=function(e,t){this._pairs.push([e,t])},$.toString=function(e){const t=e?function(t){return e.call(this,t,V)}:V;return this._pairs.map((function(e){return t(e[0])+"="+t(e[1])}),"").join("&")};const Q=class{constructor(){this.handlers=[]}use(e,t,n){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){D.forEach(this.handlers,(function(t){null!==t&&e(t)}))}},Z={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Y={isBrowser:!0,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:K,FormData:"undefined"!=typeof FormData?FormData:null,Blob:"undefined"!=typeof Blob?Blob:null},protocols:["http","https","file","blob","url","data"]},ee="undefined"!=typeof window&&"undefined"!=typeof document,te=(ne="undefined"!=typeof navigator&&navigator.product,ee&&["ReactNative","NativeScript","NS"].indexOf(ne)<0);var ne;const re="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,oe=ee&&window.location.href||"http://localhost",se={...Object.freeze({__proto__:null,hasBrowserEnv:ee,hasStandardBrowserWebWorkerEnv:re,hasStandardBrowserEnv:te,origin:oe}),...Y};function ie(e){function t(e,n,r,o){let s=e[o++];if("__proto__"===s)return!0;const i=Number.isFinite(+s),a=o>=e.length;if(s=!s&&D.isArray(r)?r.length:s,a)return D.hasOwnProp(r,s)?r[s]=[r[s],n]:r[s]=n,!i;r[s]&&D.isObject(r[s])||(r[s]=[]);return t(e,n,r[s],o)&&D.isArray(r[s])&&(r[s]=function(e){const t={},n=Object.keys(e);let r;const o=n.length;let s;for(r=0;r<o;r++)s=n[r],t[s]=e[s];return t}(r[s])),!i}if(D.isFormData(e)&&D.isFunction(e.entries)){const n={};return D.forEachEntry(e,((e,r)=>{t(function(e){return D.matchAll(/\w+|\[(\w*)]/g,e).map((e=>"[]"===e[0]?"":e[1]||e[0]))}(e),r,n,0)})),n}return null}const ae={transitional:Z,adapter:["xhr","http","fetch"],transformRequest:[function(e,t){const n=t.getContentType()||"",r=n.indexOf("application/json")>-1,o=D.isObject(e);o&&D.isHTMLForm(e)&&(e=new FormData(e));if(D.isFormData(e))return r?JSON.stringify(ie(e)):e;if(D.isArrayBuffer(e)||D.isBuffer(e)||D.isStream(e)||D.isFile(e)||D.isBlob(e)||D.isReadableStream(e))return e;if(D.isArrayBufferView(e))return e.buffer;if(D.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let s;if(o){if(n.indexOf("application/x-www-form-urlencoded")>-1)return function(e,t){return W(e,new se.classes.URLSearchParams,Object.assign({visitor:function(e,t,n,r){return se.isNode&&D.isBuffer(e)?(this.append(t,e.toString("base64")),!1):r.defaultVisitor.apply(this,arguments)}},t))}(e,this.formSerializer).toString();if((s=D.isFileList(e))||n.indexOf("multipart/form-data")>-1){const t=this.env&&this.env.FormData;return W(s?{"files[]":e}:e,t&&new t,this.formSerializer)}}return o||r?(t.setContentType("application/json",!1),function(e,t,n){if(D.isString(e))try{return(t||JSON.parse)(e),D.trim(e)}catch(e){if("SyntaxError"!==e.name)throw e}return(n||JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){const t=this.transitional||ae.transitional,n=t&&t.forcedJSONParsing,r="json"===this.responseType;if(D.isResponse(e)||D.isReadableStream(e))return e;if(e&&D.isString(e)&&(n&&!this.responseType||r)){const n=!(t&&t.silentJSONParsing)&&r;try{return JSON.parse(e)}catch(e){if(n){if("SyntaxError"===e.name)throw k.from(e,k.ERR_BAD_RESPONSE,this,null,this.response);throw e}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:se.classes.FormData,Blob:se.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};D.forEach(["delete","get","head","post","put","patch"],(e=>{ae.headers[e]={}}));const ce=ae,ue=D.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),le=Symbol("internals");function fe(e){return e&&String(e).trim().toLowerCase()}function de(e){return!1===e||null==e?e:D.isArray(e)?e.map(de):String(e)}function he(e,t,n,r,o){return D.isFunction(r)?r.call(this,t,n):(o&&(t=n),D.isString(t)?D.isString(r)?-1!==t.indexOf(r):D.isRegExp(r)?r.test(t):void 0:void 0)}class pe{constructor(e){e&&this.set(e)}set(e,t,n){const r=this;function o(e,t,n){const o=fe(t);if(!o)throw new Error("header name must be a non-empty string");const s=D.findKey(r,o);(!s||void 0===r[s]||!0===n||void 0===n&&!1!==r[s])&&(r[s||t]=de(e))}const s=(e,t)=>D.forEach(e,((e,n)=>o(e,n,t)));if(D.isPlainObject(e)||e instanceof this.constructor)s(e,t);else if(D.isString(e)&&(e=e.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim()))s((e=>{const t={};let n,r,o;return e&&e.split("\n").forEach((function(e){o=e.indexOf(":"),n=e.substring(0,o).trim().toLowerCase(),r=e.substring(o+1).trim(),!n||t[n]&&ue[n]||("set-cookie"===n?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+", "+r:r)})),t})(e),t);else if(D.isHeaders(e))for(const[t,r]of e.entries())o(r,t,n);else null!=e&&o(t,e,n);return this}get(e,t){if(e=fe(e)){const n=D.findKey(this,e);if(n){const e=this[n];if(!t)return e;if(!0===t)return function(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}(e);if(D.isFunction(t))return t.call(this,e,n);if(D.isRegExp(t))return t.exec(e);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=fe(e)){const n=D.findKey(this,e);return!(!n||void 0===this[n]||t&&!he(0,this[n],n,t))}return!1}delete(e,t){const n=this;let r=!1;function o(e){if(e=fe(e)){const o=D.findKey(n,e);!o||t&&!he(0,n[o],o,t)||(delete n[o],r=!0)}}return D.isArray(e)?e.forEach(o):o(e),r}clear(e){const t=Object.keys(this);let n=t.length,r=!1;for(;n--;){const o=t[n];e&&!he(0,this[o],o,e,!0)||(delete this[o],r=!0)}return r}normalize(e){const t=this,n={};return D.forEach(this,((r,o)=>{const s=D.findKey(n,o);if(s)return t[s]=de(r),void delete t[o];const i=e?function(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((e,t,n)=>t.toUpperCase()+n))}(o):String(o).trim();i!==o&&delete t[o],t[i]=de(r),n[i]=!0})),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const t=Object.create(null);return D.forEach(this,((n,r)=>{null!=n&&!1!==n&&(t[r]=e&&D.isArray(n)?n.join(", "):n)})),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([e,t])=>e+": "+t)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){const n=new this(e);return t.forEach((e=>n.set(e))),n}static accessor(e){const t=(this[le]=this[le]={accessors:{}}).accessors,n=this.prototype;function r(e){const r=fe(e);t[r]||(!function(e,t){const n=D.toCamelCase(" "+t);["get","set","has"].forEach((r=>{Object.defineProperty(e,r+n,{value:function(e,n,o){return this[r].call(this,t,e,n,o)},configurable:!0})}))}(n,e),t[r]=!0)}return D.isArray(e)?e.forEach(r):r(e),this}}pe.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),D.reduceDescriptors(pe.prototype,(({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(e){this[n]=e}}})),D.freezeMethods(pe);const me=pe;function ye(e,t){const n=this||ce,r=t||n,o=me.from(r.headers);let s=r.data;return D.forEach(e,(function(e){s=e.call(n,s,o.normalize(),t?t.status:void 0)})),o.normalize(),s}function be(e){return!(!e||!e.__CANCEL__)}function ge(e,t,n){k.call(this,null==e?"canceled":e,k.ERR_CANCELED,t,n),this.name="CanceledError"}function we(e,t,n){const r=n.config.validateStatus;n.status&&r&&!r(n.status)?t(new k("Request failed with status code "+n.status,[k.ERR_BAD_REQUEST,k.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n)):e(n)}D.inherits(ge,k,{__CANCEL__:!0});const Ee=(e,t,n=3)=>{let r=0;const o=function(e,t){e=e||10;const n=new Array(e),r=new Array(e);let o,s=0,i=0;return t=void 0!==t?t:1e3,function(a){const c=Date.now(),u=r[i];o||(o=c),n[s]=a,r[s]=c;let l=i,f=0;for(;l!==s;)f+=n[l++],l%=e;if(s=(s+1)%e,s===i&&(i=(i+1)%e),c-o<t)return;const d=u&&c-u;return d?Math.round(1e3*f/d):void 0}}(50,250);return function(e,t){let n=0;const r=1e3/t;let o=null;return function(){const t=!0===this,s=Date.now();if(t||s-n>r)return o&&(clearTimeout(o),o=null),n=s,e.apply(null,arguments);o||(o=setTimeout((()=>(o=null,n=Date.now(),e.apply(null,arguments))),r-(s-n)))}}((n=>{const s=n.loaded,i=n.lengthComputable?n.total:void 0,a=s-r,c=o(a);r=s;const u={loaded:s,total:i,progress:i?s/i:void 0,bytes:a,rate:c||void 0,estimated:c&&i&&s<=i?(i-s)/c:void 0,event:n,lengthComputable:null!=i};u[t?"download":"upload"]=!0,e(u)}),n)},Oe=se.hasStandardBrowserEnv?function(){const e=/(msie|trident)/i.test(navigator.userAgent),t=document.createElement("a");let n;function r(n){let r=n;return e&&(t.setAttribute("href",r),r=t.href),t.setAttribute("href",r),{href:t.href,protocol:t.protocol?t.protocol.replace(/:$/,""):"",host:t.host,search:t.search?t.search.replace(/^\?/,""):"",hash:t.hash?t.hash.replace(/^#/,""):"",hostname:t.hostname,port:t.port,pathname:"/"===t.pathname.charAt(0)?t.pathname:"/"+t.pathname}}return n=r(window.location.href),function(e){const t=D.isString(e)?r(e):e;return t.protocol===n.protocol&&t.host===n.host}}():function(){return!0},Re=se.hasStandardBrowserEnv?{write(e,t,n,r,o,s){const i=[e+"="+encodeURIComponent(t)];D.isNumber(n)&&i.push("expires="+new Date(n).toGMTString()),D.isString(r)&&i.push("path="+r),D.isString(o)&&i.push("domain="+o),!0===s&&i.push("secure"),document.cookie=i.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read:()=>null,remove(){}};function Se(e,t){return e&&!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)?function(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}(e,t):t}const Te=e=>e instanceof me?{...e}:e;function Ae(e,t){t=t||{};const n={};function r(e,t,n){return D.isPlainObject(e)&&D.isPlainObject(t)?D.merge.call({caseless:n},e,t):D.isPlainObject(t)?D.merge({},t):D.isArray(t)?t.slice():t}function o(e,t,n){return D.isUndefined(t)?D.isUndefined(e)?void 0:r(void 0,e,n):r(e,t,n)}function s(e,t){if(!D.isUndefined(t))return r(void 0,t)}function i(e,t){return D.isUndefined(t)?D.isUndefined(e)?void 0:r(void 0,e):r(void 0,t)}function a(n,o,s){return s in t?r(n,o):s in e?r(void 0,n):void 0}const c={url:s,method:s,data:s,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,withXSRFToken:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,beforeRedirect:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,responseEncoding:i,validateStatus:a,headers:(e,t)=>o(Te(e),Te(t),!0)};return D.forEach(Object.keys(Object.assign({},e,t)),(function(r){const s=c[r]||o,i=s(e[r],t[r],r);D.isUndefined(i)&&s!==a||(n[r]=i)})),n}const ve=e=>{const t=Ae({},e);let n,{data:r,withXSRFToken:o,xsrfHeaderName:s,xsrfCookieName:i,headers:a,auth:c}=t;if(t.headers=a=me.from(a),t.url=X(Se(t.baseURL,t.url),e.params,e.paramsSerializer),c&&a.set("Authorization","Basic "+btoa((c.username||"")+":"+(c.password?unescape(encodeURIComponent(c.password)):""))),D.isFormData(r))if(se.hasStandardBrowserEnv||se.hasStandardBrowserWebWorkerEnv)a.setContentType(void 0);else if(!1!==(n=a.getContentType())){const[e,...t]=n?n.split(";").map((e=>e.trim())).filter(Boolean):[];a.setContentType([e||"multipart/form-data",...t].join("; "))}if(se.hasStandardBrowserEnv&&(o&&D.isFunction(o)&&(o=o(t)),o||!1!==o&&Oe(t.url))){const e=s&&i&&Re.read(i);e&&a.set(s,e)}return t},Ce="undefined"!=typeof XMLHttpRequest&&function(e){return new Promise((function(t,n){const r=ve(e);let o=r.data;const s=me.from(r.headers).normalize();let i,{responseType:a}=r;function c(){r.cancelToken&&r.cancelToken.unsubscribe(i),r.signal&&r.signal.removeEventListener("abort",i)}let u=new XMLHttpRequest;function l(){if(!u)return;const r=me.from("getAllResponseHeaders"in u&&u.getAllResponseHeaders());we((function(e){t(e),c()}),(function(e){n(e),c()}),{data:a&&"text"!==a&&"json"!==a?u.response:u.responseText,status:u.status,statusText:u.statusText,headers:r,config:e,request:u}),u=null}u.open(r.method.toUpperCase(),r.url,!0),u.timeout=r.timeout,"onloadend"in u?u.onloadend=l:u.onreadystatechange=function(){u&&4===u.readyState&&(0!==u.status||u.responseURL&&0===u.responseURL.indexOf("file:"))&&setTimeout(l)},u.onabort=function(){u&&(n(new k("Request aborted",k.ECONNABORTED,r,u)),u=null)},u.onerror=function(){n(new k("Network Error",k.ERR_NETWORK,r,u)),u=null},u.ontimeout=function(){let e=r.timeout?"timeout of "+r.timeout+"ms exceeded":"timeout exceeded";const t=r.transitional||Z;r.timeoutErrorMessage&&(e=r.timeoutErrorMessage),n(new k(e,t.clarifyTimeoutError?k.ETIMEDOUT:k.ECONNABORTED,r,u)),u=null},void 0===o&&s.setContentType(null),"setRequestHeader"in u&&D.forEach(s.toJSON(),(function(e,t){u.setRequestHeader(t,e)})),D.isUndefined(r.withCredentials)||(u.withCredentials=!!r.withCredentials),a&&"json"!==a&&(u.responseType=r.responseType),"function"==typeof r.onDownloadProgress&&u.addEventListener("progress",Ee(r.onDownloadProgress,!0)),"function"==typeof r.onUploadProgress&&u.upload&&u.upload.addEventListener("progress",Ee(r.onUploadProgress)),(r.cancelToken||r.signal)&&(i=t=>{u&&(n(!t||t.type?new ge(null,e,u):t),u.abort(),u=null)},r.cancelToken&&r.cancelToken.subscribe(i),r.signal&&(r.signal.aborted?i():r.signal.addEventListener("abort",i)));const f=function(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}(r.url);f&&-1===se.protocols.indexOf(f)?n(new k("Unsupported protocol "+f+":",k.ERR_BAD_REQUEST,e)):u.send(o||null)}))},xe=(e,t)=>{let n,r=new AbortController;const o=function(e){if(!n){n=!0,i();const t=e instanceof Error?e:this.reason;r.abort(t instanceof k?t:new ge(t instanceof Error?t.message:t))}};let s=t&&setTimeout((()=>{o(new k(`timeout ${t} of ms exceeded`,k.ETIMEDOUT))}),t);const i=()=>{e&&(s&&clearTimeout(s),s=null,e.forEach((e=>{e&&(e.removeEventListener?e.removeEventListener("abort",o):e.unsubscribe(o))})),e=null)};e.forEach((e=>e&&e.addEventListener&&e.addEventListener("abort",o)));const{signal:a}=r;return a.unsubscribe=i,[a,()=>{s&&clearTimeout(s),s=null}]},Ne=function*(e,t){let n=e.byteLength;if(!t||n<t)return void(yield e);let r,o=0;for(;o<n;)r=o+t,yield e.slice(o,r),o=r},je=(e,t,n,r,o)=>{const s=async function*(e,t,n){for await(const r of e)yield*Ne(ArrayBuffer.isView(r)?r:await n(String(r)),t)}(e,t,o);let i=0;return new ReadableStream({type:"bytes",async pull(e){const{done:t,value:o}=await s.next();if(t)return e.close(),void r();let a=o.byteLength;n&&n(i+=a),e.enqueue(new Uint8Array(o))},cancel:e=>(r(e),s.return())},{highWaterMark:2})},Pe=(e,t)=>{const n=null!=e;return r=>setTimeout((()=>t({lengthComputable:n,total:e,loaded:r})))},_e="function"==typeof fetch&&"function"==typeof Request&&"function"==typeof Response,Fe=_e&&"function"==typeof ReadableStream,Le=_e&&("function"==typeof TextEncoder?(Ue=new TextEncoder,e=>Ue.encode(e)):async e=>new Uint8Array(await new Response(e).arrayBuffer()));var Ue;const Be=Fe&&(()=>{let e=!1;const t=new Request(se.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t})(),De=Fe&&!!(()=>{try{return D.isReadableStream(new Response("").body)}catch(e){}})(),ke={stream:De&&(e=>e.body)};var qe;_e&&(qe=new Response,["text","arrayBuffer","blob","formData","stream"].forEach((e=>{!ke[e]&&(ke[e]=D.isFunction(qe[e])?t=>t[e]():(t,n)=>{throw new k(`Response type '${e}' is not supported`,k.ERR_NOT_SUPPORT,n)})})));const Ie=async(e,t)=>{const n=D.toFiniteNumber(e.getContentLength());return null==n?(async e=>null==e?0:D.isBlob(e)?e.size:D.isSpecCompliantForm(e)?(await new Request(e).arrayBuffer()).byteLength:D.isArrayBufferView(e)?e.byteLength:(D.isURLSearchParams(e)&&(e+=""),D.isString(e)?(await Le(e)).byteLength:void 0))(t):n},ze={http:null,xhr:Ce,fetch:_e&&(async e=>{let{url:t,method:n,data:r,signal:o,cancelToken:s,timeout:i,onDownloadProgress:a,onUploadProgress:c,responseType:u,headers:l,withCredentials:f="same-origin",fetchOptions:d}=ve(e);u=u?(u+"").toLowerCase():"text";let h,p,[m,y]=o||s||i?xe([o,s],i):[];const b=()=>{!h&&setTimeout((()=>{m&&m.unsubscribe()})),h=!0};let g;try{if(c&&Be&&"get"!==n&&"head"!==n&&0!==(g=await Ie(l,r))){let e,n=new Request(t,{method:"POST",body:r,duplex:"half"});D.isFormData(r)&&(e=n.headers.get("content-type"))&&l.setContentType(e),n.body&&(r=je(n.body,65536,Pe(g,Ee(c)),null,Le))}D.isString(f)||(f=f?"cors":"omit"),p=new Request(t,{...d,signal:m,method:n.toUpperCase(),headers:l.normalize().toJSON(),body:r,duplex:"half",withCredentials:f});let o=await fetch(p);const s=De&&("stream"===u||"response"===u);if(De&&(a||s)){const e={};["status","statusText","headers"].forEach((t=>{e[t]=o[t]}));const t=D.toFiniteNumber(o.headers.get("content-length"));o=new Response(je(o.body,65536,a&&Pe(t,Ee(a,!0)),s&&b,Le),e)}u=u||"text";let i=await ke[D.findKey(ke,u)||"text"](o,e);return!s&&b(),y&&y(),await new Promise(((t,n)=>{we(t,n,{data:i,headers:me.from(o.headers),status:o.status,statusText:o.statusText,config:e,request:p})}))}catch(t){if(b(),t&&"TypeError"===t.name&&/fetch/i.test(t.message))throw Object.assign(new k("Network Error",k.ERR_NETWORK,e,p),{cause:t.cause||t});throw k.from(t,t&&t.code,e,p)}})};D.forEach(ze,((e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch(e){}Object.defineProperty(e,"adapterName",{value:t})}}));const Me=e=>`- ${e}`,He=e=>D.isFunction(e)||null===e||!1===e,Je=e=>{e=D.isArray(e)?e:[e];const{length:t}=e;let n,r;const o={};for(let s=0;s<t;s++){let t;if(n=e[s],r=n,!He(n)&&(r=ze[(t=String(n)).toLowerCase()],void 0===r))throw new k(`Unknown adapter '${t}'`);if(r)break;o[t||"#"+s]=r}if(!r){const e=Object.entries(o).map((([e,t])=>`adapter ${e} `+(!1===t?"is not supported by the environment":"is not available in the build")));throw new k("There is no suitable adapter to dispatch the request "+(t?e.length>1?"since :\n"+e.map(Me).join("\n"):" "+Me(e[0]):"as no adapter specified"),"ERR_NOT_SUPPORT")}return r};function We(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new ge(null,e)}function Ve(e){We(e),e.headers=me.from(e.headers),e.data=ye.call(e,e.transformRequest),-1!==["post","put","patch"].indexOf(e.method)&&e.headers.setContentType("application/x-www-form-urlencoded",!1);return Je(e.adapter||ce.adapter)(e).then((function(t){return We(e),t.data=ye.call(e,e.transformResponse,t),t.headers=me.from(t.headers),t}),(function(t){return be(t)||(We(e),t&&t.response&&(t.response.data=ye.call(e,e.transformResponse,t.response),t.response.headers=me.from(t.response.headers))),Promise.reject(t)}))}const Ke={};["object","boolean","number","function","string","symbol"].forEach(((e,t)=>{Ke[e]=function(n){return typeof n===e||"a"+(t<1?"n ":" ")+e}}));const $e={};Ke.transitional=function(e,t,n){function r(e,t){return"[Axios v1.7.2] Transitional option '"+e+"'"+t+(n?". "+n:"")}return(n,o,s)=>{if(!1===e)throw new k(r(o," has been removed"+(t?" in "+t:"")),k.ERR_DEPRECATED);return t&&!$e[o]&&($e[o]=!0,console.warn(r(o," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(n,o,s)}};const Ge={assertOptions:function(e,t,n){if("object"!=typeof e)throw new k("options must be an object",k.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let o=r.length;for(;o-- >0;){const s=r[o],i=t[s];if(i){const t=e[s],n=void 0===t||i(t,s,e);if(!0!==n)throw new k("option "+s+" must be "+n,k.ERR_BAD_OPTION_VALUE)}else if(!0!==n)throw new k("Unknown option "+s,k.ERR_BAD_OPTION)}},validators:Ke},Xe=Ge.validators;class Qe{constructor(e){this.defaults=e,this.interceptors={request:new Q,response:new Q}}async request(e,t){try{return await this._request(e,t)}catch(e){if(e instanceof Error){let t;Error.captureStackTrace?Error.captureStackTrace(t={}):t=new Error;const n=t.stack?t.stack.replace(/^.+\n/,""):"";try{e.stack?n&&!String(e.stack).endsWith(n.replace(/^.+\n.+\n/,""))&&(e.stack+="\n"+n):e.stack=n}catch(e){}}throw e}}_request(e,t){"string"==typeof e?(t=t||{}).url=e:t=e||{},t=Ae(this.defaults,t);const{transitional:n,paramsSerializer:r,headers:o}=t;void 0!==n&&Ge.assertOptions(n,{silentJSONParsing:Xe.transitional(Xe.boolean),forcedJSONParsing:Xe.transitional(Xe.boolean),clarifyTimeoutError:Xe.transitional(Xe.boolean)},!1),null!=r&&(D.isFunction(r)?t.paramsSerializer={serialize:r}:Ge.assertOptions(r,{encode:Xe.function,serialize:Xe.function},!0)),t.method=(t.method||this.defaults.method||"get").toLowerCase();let s=o&&D.merge(o.common,o[t.method]);o&&D.forEach(["delete","get","head","post","put","patch","common"],(e=>{delete o[e]})),t.headers=me.concat(s,o);const i=[];let a=!0;this.interceptors.request.forEach((function(e){"function"==typeof e.runWhen&&!1===e.runWhen(t)||(a=a&&e.synchronous,i.unshift(e.fulfilled,e.rejected))}));const c=[];let u;this.interceptors.response.forEach((function(e){c.push(e.fulfilled,e.rejected)}));let l,f=0;if(!a){const e=[Ve.bind(this),void 0];for(e.unshift.apply(e,i),e.push.apply(e,c),l=e.length,u=Promise.resolve(t);f<l;)u=u.then(e[f++],e[f++]);return u}l=i.length;let d=t;for(f=0;f<l;){const e=i[f++],t=i[f++];try{d=e(d)}catch(e){t.call(this,e);break}}try{u=Ve.call(this,d)}catch(e){return Promise.reject(e)}for(f=0,l=c.length;f<l;)u=u.then(c[f++],c[f++]);return u}getUri(e){return X(Se((e=Ae(this.defaults,e)).baseURL,e.url),e.params,e.paramsSerializer)}}D.forEach(["delete","get","head","options"],(function(e){Qe.prototype[e]=function(t,n){return this.request(Ae(n||{},{method:e,url:t,data:(n||{}).data}))}})),D.forEach(["post","put","patch"],(function(e){function t(t){return function(n,r,o){return this.request(Ae(o||{},{method:e,headers:t?{"Content-Type":"multipart/form-data"}:{},url:n,data:r}))}}Qe.prototype[e]=t(),Qe.prototype[e+"Form"]=t(!0)}));const Ze=Qe;class Ye{constructor(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");let t;this.promise=new Promise((function(e){t=e}));const n=this;this.promise.then((e=>{if(!n._listeners)return;let t=n._listeners.length;for(;t-- >0;)n._listeners[t](e);n._listeners=null})),this.promise.then=e=>{let t;const r=new Promise((e=>{n.subscribe(e),t=e})).then(e);return r.cancel=function(){n.unsubscribe(t)},r},e((function(e,r,o){n.reason||(n.reason=new ge(e,r,o),t(n.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}static source(){let e;return{token:new Ye((function(t){e=t})),cancel:e}}}const et=Ye;const tt={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(tt).forEach((([e,t])=>{tt[t]=e}));const nt=tt;const rt=function t(n){const r=new Ze(n),o=e(Ze.prototype.request,r);return D.extend(o,Ze.prototype,r,{allOwnKeys:!0}),D.extend(o,r,null,{allOwnKeys:!0}),o.create=function(e){return t(Ae(n,e))},o}(ce);rt.Axios=Ze,rt.CanceledError=ge,rt.CancelToken=et,rt.isCancel=be,rt.VERSION="1.7.2",rt.toFormData=W,rt.AxiosError=k,rt.Cancel=rt.CanceledError,rt.all=function(e){return Promise.all(e)},rt.spread=function(e){return function(t){return e.apply(null,t)}},rt.isAxiosError=function(e){return D.isObject(e)&&!0===e.isAxiosError},rt.mergeConfig=Ae,rt.AxiosHeaders=me,rt.formToJSON=e=>ie(D.isHTMLForm(e)?new FormData(e):e),rt.getAdapter=Je,rt.HttpStatusCode=nt,rt.default=rt;const ot=rt,{Axios:st,AxiosError:it,CanceledError:at,isCancel:ct,CancelToken:ut,VERSION:lt,all:ft,Cancel:dt,isAxiosError:ht,spread:pt,toFormData:mt,AxiosHeaders:yt,HttpStatusCode:bt,formToJSON:gt,getAdapter:wt,mergeConfig:Et}=ot;export{st as Axios,it as AxiosError,yt as AxiosHeaders,dt as Cancel,ut as CancelToken,at as CanceledError,bt as HttpStatusCode,lt as VERSION,ft as all,ot as default,gt as formToJSON,wt as getAdapter,ht as isAxiosError,ct as isCancel,Et as mergeConfig,pt as spread,mt as toFormData}; //# sourceMappingURL=axios.min.js.map PK�}�\o�w�k�kesm/axios.min.js.mapnu�[���{"version":3,"file":"axios.min.js","sources":["../../lib/helpers/bind.js","../../lib/utils.js","../../lib/core/AxiosError.js","../../lib/helpers/toFormData.js","../../lib/helpers/AxiosURLSearchParams.js","../../lib/helpers/buildURL.js","../../lib/core/InterceptorManager.js","../../lib/defaults/transitional.js","../../lib/platform/browser/index.js","../../lib/platform/browser/classes/URLSearchParams.js","../../lib/platform/browser/classes/FormData.js","../../lib/platform/browser/classes/Blob.js","../../lib/platform/common/utils.js","../../lib/platform/index.js","../../lib/helpers/formDataToJSON.js","../../lib/defaults/index.js","../../lib/helpers/toURLEncodedForm.js","../../lib/helpers/parseHeaders.js","../../lib/core/AxiosHeaders.js","../../lib/core/transformData.js","../../lib/cancel/isCancel.js","../../lib/cancel/CanceledError.js","../../lib/core/settle.js","../../lib/helpers/progressEventReducer.js","../../lib/helpers/speedometer.js","../../lib/helpers/throttle.js","../../lib/helpers/isURLSameOrigin.js","../../lib/helpers/cookies.js","../../lib/core/buildFullPath.js","../../lib/helpers/isAbsoluteURL.js","../../lib/helpers/combineURLs.js","../../lib/core/mergeConfig.js","../../lib/helpers/resolveConfig.js","../../lib/adapters/xhr.js","../../lib/helpers/parseProtocol.js","../../lib/helpers/composeSignals.js","../../lib/helpers/trackStream.js","../../lib/adapters/fetch.js","../../lib/adapters/adapters.js","../../lib/helpers/null.js","../../lib/core/dispatchRequest.js","../../lib/env/data.js","../../lib/helpers/validator.js","../../lib/core/Axios.js","../../lib/cancel/CancelToken.js","../../lib/helpers/HttpStatusCode.js","../../lib/axios.js","../../lib/helpers/spread.js","../../lib/helpers/isAxiosError.js","../../index.js"],"sourcesContent":["'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object<any, any>} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array<boolean>}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array<any>} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object<any, any>} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object<string, any>} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array<String|Number>} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object<string, any>} params - The parameters to be converted to a FormData object.\n * @param {Object<string, any>} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = (\n (product) => {\n return hasBrowserEnv && ['ReactNative', 'NativeScript', 'NS'].indexOf(product) < 0\n })(typeof navigator !== 'undefined' && navigator.product);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array<any>} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object<string, any> | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isHeaders(header)) {\n for (const [key, value] of header.entries()) {\n setHeader(value, key, rewrite);\n }\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\n\nexport default (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n }, freq);\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","'use strict';\n\n/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n const threshold = 1000 / freq;\n let timer = null;\n return function throttled() {\n const force = this === true;\n\n const now = Date.now();\n if (force || now - timestamp > threshold) {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n timestamp = now;\n return fn.apply(null, arguments);\n }\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n timestamp = Date.now();\n return fn.apply(null, arguments);\n }, threshold - (now - timestamp));\n }\n };\n}\n\nexport default throttle;\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover its components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })();\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\n }\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport progressEventReducer from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType} = _config;\n let onCanceled;\n function done() {\n if (_config.cancelToken) {\n _config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (_config.signal) {\n _config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, _config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, _config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n _config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (typeof _config.onDownloadProgress === 'function') {\n request.addEventListener('progress', progressEventReducer(_config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof _config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(_config.onUploadProgress));\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst composeSignals = (signals, timeout) => {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (cancel) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = cancel instanceof Error ? cancel : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal &&\n (signal.removeEventListener ? signal.removeEventListener('abort', onabort) : signal.unsubscribe(onabort));\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal && signal.addEventListener && signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = unsubscribe;\n\n return [signal, () => {\n timer && clearTimeout(timer);\n timer = null;\n }];\n}\n\nexport default composeSignals;\n","\n\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize, encode) {\n for await (const chunk of iterable) {\n yield* streamChunk(ArrayBuffer.isView(chunk) ? chunk : (await encode(String(chunk))), chunkSize);\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish, encode) => {\n const iterator = readBytes(stream, chunkSize, encode);\n\n let bytes = 0;\n\n return new ReadableStream({\n type: 'bytes',\n\n async pull(controller) {\n const {done, value} = await iterator.next();\n\n if (done) {\n controller.close();\n onFinish();\n return;\n }\n\n let len = value.byteLength;\n onProgress && onProgress(bytes += len);\n controller.enqueue(new Uint8Array(value));\n },\n cancel(reason) {\n onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport progressEventReducer from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst fetchProgressDecorator = (total, fn) => {\n const lengthComputable = total != null;\n return (loaded) => setTimeout(() => fn({\n lengthComputable,\n total,\n loaded\n }));\n}\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst supportsRequestStream = isReadableStreamSupported && (() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n})();\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported && !!(()=> {\n try {\n return utils.isReadableStream(new Response('').body);\n } catch(err) {\n // return undefined\n }\n})();\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n return (await new Request(body).arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let [composedSignal, stopTimeout] = (signal || cancelToken || timeout) ?\n composeSignals([signal, cancelToken], timeout) : [];\n\n let finished, request;\n\n const onFinish = () => {\n !finished && setTimeout(() => {\n composedSignal && composedSignal.unsubscribe();\n });\n\n finished = true;\n }\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, fetchProgressDecorator(\n requestContentLength,\n progressEventReducer(onUploadProgress)\n ), null, encodeText);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'cors' : 'omit';\n }\n\n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n withCredentials\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || isStreamResponse)) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onDownloadProgress && fetchProgressDecorator(\n responseContentLength,\n progressEventReducer(onDownloadProgress, true)\n ), isStreamResponse && onFinish, encodeText),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && onFinish();\n\n stopTimeout && stopTimeout();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n onFinish();\n\n if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","export const VERSION = \"1.7.2\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy;\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","import axios from './lib/axios.js';\n\n// This module is intended to unwrap Axios default export as named.\n// Keep top-level export same with static properties\n// so that it can keep same with es module or cjs\nconst {\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n} = axios;\n\nexport {\n axios as default,\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n}\n"],"names":["bind","fn","thisArg","apply","arguments","toString","Object","prototype","getPrototypeOf","kindOf","cache","create","thing","str","call","slice","toLowerCase","kindOfTest","type","typeOfTest","isArray","Array","isUndefined","isArrayBuffer","isString","isFunction","isNumber","isObject","isPlainObject","val","Symbol","toStringTag","iterator","isDate","isFile","isBlob","isFileList","isURLSearchParams","isReadableStream","isRequest","isResponse","isHeaders","map","forEach","obj","allOwnKeys","i","l","length","keys","getOwnPropertyNames","len","key","findKey","_key","_global","globalThis","self","window","global","isContextDefined","context","isTypedArray","TypedArray","Uint8Array","isHTMLForm","hasOwnProperty","prop","isRegExp","reduceDescriptors","reducer","descriptors","getOwnPropertyDescriptors","reducedDescriptors","descriptor","name","ret","defineProperties","ALPHA","ALPHABET","DIGIT","ALPHA_DIGIT","toUpperCase","isAsyncFn","utils$1","isBuffer","constructor","isFormData","kind","FormData","append","isArrayBufferView","result","ArrayBuffer","isView","buffer","isBoolean","isStream","pipe","merge","caseless","this","assignValue","targetKey","extend","a","b","trim","replace","stripBOM","content","charCodeAt","inherits","superConstructor","props","defineProperty","value","assign","toFlatObject","sourceObj","destObj","filter","propFilter","merged","endsWith","searchString","position","String","undefined","lastIndex","indexOf","toArray","arr","forEachEntry","next","done","pair","matchAll","regExp","matches","exec","push","hasOwnProp","freezeMethods","enumerable","writable","set","Error","toObjectSet","arrayOrString","delimiter","define","split","toCamelCase","m","p1","p2","noop","toFiniteNumber","defaultValue","Number","isFinite","generateString","size","alphabet","Math","random","isSpecCompliantForm","toJSONObject","stack","visit","source","target","reducedValue","isThenable","then","catch","AxiosError","message","code","config","request","response","captureStackTrace","utils","toJSON","description","number","fileName","lineNumber","columnNumber","status","from","error","customProps","axiosError","cause","isVisitable","removeBrackets","renderKey","path","dots","concat","token","join","predicates","test","toFormData","formData","options","TypeError","metaTokens","indexes","option","visitor","defaultVisitor","useBlob","Blob","convertValue","toISOString","Buffer","JSON","stringify","some","isFlatArray","el","index","exposedHelpers","build","pop","encode","charMap","encodeURIComponent","match","AxiosURLSearchParams","params","_pairs","buildURL","url","_encode","serializeFn","serialize","serializedParams","hashmarkIndex","encoder","InterceptorManager$1","handlers","use","fulfilled","rejected","synchronous","runWhen","eject","id","clear","h","transitionalDefaults","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","platform$1","isBrowser","classes","URLSearchParams","protocols","hasBrowserEnv","document","hasStandardBrowserEnv","product","navigator","hasStandardBrowserWebWorkerEnv","WorkerGlobalScope","importScripts","origin","location","href","platform","formDataToJSON","buildPath","isNumericKey","isLast","arrayToObject","entries","parsePropPath","defaults","transitional","adapter","transformRequest","data","headers","contentType","getContentType","hasJSONContentType","isObjectPayload","setContentType","helpers","isNode","toURLEncodedForm","formSerializer","_FormData","env","rawValue","parser","parse","e","stringifySafely","transformResponse","JSONRequested","responseType","strictJSONParsing","ERR_BAD_RESPONSE","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","Accept","method","defaults$1","ignoreDuplicateOf","$internals","normalizeHeader","header","normalizeValue","matchHeaderValue","isHeaderNameFilter","AxiosHeaders","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","setHeaders","rawHeaders","parsed","line","substring","parseHeaders","get","tokens","tokensRE","parseTokens","has","matcher","delete","deleted","deleteHeader","normalize","format","normalized","w","char","formatHeader","targets","asStrings","static","first","computed","accessors","defineAccessor","accessorName","methodName","arg1","arg2","arg3","configurable","buildAccessors","accessor","mapped","headerValue","AxiosHeaders$2","transformData","fns","isCancel","__CANCEL__","CanceledError","ERR_CANCELED","settle","resolve","reject","ERR_BAD_REQUEST","floor","progressEventReducer","listener","isDownloadStream","freq","bytesNotified","_speedometer","samplesCount","min","bytes","timestamps","firstSampleTS","head","tail","chunkLength","now","Date","startedAt","bytesCount","passed","round","speedometer","timestamp","threshold","timer","force","clearTimeout","setTimeout","throttle","loaded","total","lengthComputable","progressBytes","rate","progress","estimated","event","isURLSameOrigin","msie","userAgent","urlParsingNode","createElement","originURL","resolveURL","setAttribute","protocol","host","search","hash","hostname","port","pathname","charAt","requestURL","cookies","write","expires","domain","secure","cookie","toGMTString","read","RegExp","decodeURIComponent","remove","buildFullPath","baseURL","requestedURL","relativeURL","combineURLs","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","paramsSerializer","timeoutMessage","withCredentials","withXSRFToken","onUploadProgress","onDownloadProgress","decompress","beforeRedirect","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding","configValue","resolveConfig","newConfig","auth","btoa","username","password","unescape","Boolean","xsrfValue","xhrAdapter","XMLHttpRequest","Promise","_config","requestData","requestHeaders","onCanceled","unsubscribe","signal","removeEventListener","onloadend","responseHeaders","getAllResponseHeaders","err","responseText","statusText","open","onreadystatechange","readyState","responseURL","onabort","ECONNABORTED","onerror","ERR_NETWORK","ontimeout","timeoutErrorMessage","ETIMEDOUT","setRequestHeader","addEventListener","upload","cancel","abort","subscribe","aborted","parseProtocol","send","composeSignals$1","signals","controller","AbortController","reason","streamChunk","chunk","chunkSize","byteLength","end","pos","trackStream","stream","onProgress","onFinish","async","iterable","readBytes","ReadableStream","close","enqueue","return","highWaterMark","fetchProgressDecorator","isFetchSupported","fetch","Request","Response","isReadableStreamSupported","encodeText","TextEncoder","arrayBuffer","supportsRequestStream","duplexAccessed","hasContentType","body","duplex","supportsResponseStream","resolvers","res","_","ERR_NOT_SUPPORT","resolveBodyLength","getContentLength","getBodyLength","knownAdapters","http","xhr","fetchOptions","finished","composedSignal","stopTimeout","composeSignals","requestContentLength","contentTypeHeader","_request","isStreamResponse","responseContentLength","responseData","renderReason","isResolvedHandle","adapters","nameOrAdapter","rejectedReasons","reasons","state","throwIfCancellationRequested","throwIfRequested","dispatchRequest","validators","deprecatedWarnings","validator","version","formatMessage","opt","desc","opts","ERR_DEPRECATED","console","warn","assertOptions","schema","allowUnknown","ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","Axios","instanceConfig","interceptors","InterceptorManager","configOrUrl","dummy","boolean","function","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","unshift","responseInterceptorChain","promise","chain","onFulfilled","onRejected","getUri","generateHTTPMethod","isForm","Axios$2","CancelToken","executor","resolvePromise","_listeners","onfulfilled","_resolve","splice","c","CancelToken$2","HttpStatusCode","Continue","SwitchingProtocols","Processing","EarlyHints","Ok","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","HttpStatusCode$2","axios","createInstance","defaultConfig","instance","VERSION","Cancel","all","promises","spread","callback","isAxiosError","payload","formToJSON","getAdapter","default","axios$1"],"mappings":"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"}PK�}�\"{����node/axios.cjsnu�[���// Axios v1.7.2 Copyright (c) 2024 Matt Zabriskie and contributors 'use strict'; const FormData$1 = require('form-data'); const url = require('url'); const proxyFromEnv = require('proxy-from-env'); const http = require('http'); const https = require('https'); const util = require('util'); const followRedirects = require('follow-redirects'); const zlib = require('zlib'); const stream = require('stream'); const events = require('events'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } const FormData__default = /*#__PURE__*/_interopDefaultLegacy(FormData$1); const url__default = /*#__PURE__*/_interopDefaultLegacy(url); const http__default = /*#__PURE__*/_interopDefaultLegacy(http); const https__default = /*#__PURE__*/_interopDefaultLegacy(https); const util__default = /*#__PURE__*/_interopDefaultLegacy(util); const followRedirects__default = /*#__PURE__*/_interopDefaultLegacy(followRedirects); const zlib__default = /*#__PURE__*/_interopDefaultLegacy(zlib); const stream__default = /*#__PURE__*/_interopDefaultLegacy(stream); function bind(fn, thisArg) { return function wrap() { return fn.apply(thisArg, arguments); }; } // utils is a library of generic helper functions non-specific to axios const {toString} = Object.prototype; const {getPrototypeOf} = Object; const kindOf = (cache => thing => { const str = toString.call(thing); return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase()); })(Object.create(null)); const kindOfTest = (type) => { type = type.toLowerCase(); return (thing) => kindOf(thing) === type }; const typeOfTest = type => thing => typeof thing === type; /** * Determine if a value is an Array * * @param {Object} val The value to test * * @returns {boolean} True if value is an Array, otherwise false */ const {isArray} = Array; /** * Determine if a value is undefined * * @param {*} val The value to test * * @returns {boolean} True if the value is undefined, otherwise false */ const isUndefined = typeOfTest('undefined'); /** * Determine if a value is a Buffer * * @param {*} val The value to test * * @returns {boolean} True if value is a Buffer, otherwise false */ function isBuffer(val) { return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val); } /** * Determine if a value is an ArrayBuffer * * @param {*} val The value to test * * @returns {boolean} True if value is an ArrayBuffer, otherwise false */ const isArrayBuffer = kindOfTest('ArrayBuffer'); /** * Determine if a value is a view on an ArrayBuffer * * @param {*} val The value to test * * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false */ function isArrayBufferView(val) { let result; if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) { result = ArrayBuffer.isView(val); } else { result = (val) && (val.buffer) && (isArrayBuffer(val.buffer)); } return result; } /** * Determine if a value is a String * * @param {*} val The value to test * * @returns {boolean} True if value is a String, otherwise false */ const isString = typeOfTest('string'); /** * Determine if a value is a Function * * @param {*} val The value to test * @returns {boolean} True if value is a Function, otherwise false */ const isFunction = typeOfTest('function'); /** * Determine if a value is a Number * * @param {*} val The value to test * * @returns {boolean} True if value is a Number, otherwise false */ const isNumber = typeOfTest('number'); /** * Determine if a value is an Object * * @param {*} thing The value to test * * @returns {boolean} True if value is an Object, otherwise false */ const isObject = (thing) => thing !== null && typeof thing === 'object'; /** * Determine if a value is a Boolean * * @param {*} thing The value to test * @returns {boolean} True if value is a Boolean, otherwise false */ const isBoolean = thing => thing === true || thing === false; /** * Determine if a value is a plain Object * * @param {*} val The value to test * * @returns {boolean} True if value is a plain Object, otherwise false */ const isPlainObject = (val) => { if (kindOf(val) !== 'object') { return false; } const prototype = getPrototypeOf(val); return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val); }; /** * Determine if a value is a Date * * @param {*} val The value to test * * @returns {boolean} True if value is a Date, otherwise false */ const isDate = kindOfTest('Date'); /** * Determine if a value is a File * * @param {*} val The value to test * * @returns {boolean} True if value is a File, otherwise false */ const isFile = kindOfTest('File'); /** * Determine if a value is a Blob * * @param {*} val The value to test * * @returns {boolean} True if value is a Blob, otherwise false */ const isBlob = kindOfTest('Blob'); /** * Determine if a value is a FileList * * @param {*} val The value to test * * @returns {boolean} True if value is a File, otherwise false */ const isFileList = kindOfTest('FileList'); /** * Determine if a value is a Stream * * @param {*} val The value to test * * @returns {boolean} True if value is a Stream, otherwise false */ const isStream = (val) => isObject(val) && isFunction(val.pipe); /** * Determine if a value is a FormData * * @param {*} thing The value to test * * @returns {boolean} True if value is an FormData, otherwise false */ const isFormData = (thing) => { let kind; return thing && ( (typeof FormData === 'function' && thing instanceof FormData) || ( isFunction(thing.append) && ( (kind = kindOf(thing)) === 'formdata' || // detect form-data instance (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]') ) ) ) }; /** * Determine if a value is a URLSearchParams object * * @param {*} val The value to test * * @returns {boolean} True if value is a URLSearchParams object, otherwise false */ const isURLSearchParams = kindOfTest('URLSearchParams'); const [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest); /** * Trim excess whitespace off the beginning and end of a string * * @param {String} str The String to trim * * @returns {String} The String freed of excess whitespace */ const trim = (str) => str.trim ? str.trim() : str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''); /** * Iterate over an Array or an Object invoking a function for each item. * * If `obj` is an Array callback will be called passing * the value, index, and complete array for each item. * * If 'obj' is an Object callback will be called passing * the value, key, and complete object for each property. * * @param {Object|Array} obj The object to iterate * @param {Function} fn The callback to invoke for each item * * @param {Boolean} [allOwnKeys = false] * @returns {any} */ function forEach(obj, fn, {allOwnKeys = false} = {}) { // Don't bother if no value provided if (obj === null || typeof obj === 'undefined') { return; } let i; let l; // Force an array if not already something iterable if (typeof obj !== 'object') { /*eslint no-param-reassign:0*/ obj = [obj]; } if (isArray(obj)) { // Iterate over array values for (i = 0, l = obj.length; i < l; i++) { fn.call(null, obj[i], i, obj); } } else { // Iterate over object keys const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj); const len = keys.length; let key; for (i = 0; i < len; i++) { key = keys[i]; fn.call(null, obj[key], key, obj); } } } function findKey(obj, key) { key = key.toLowerCase(); const keys = Object.keys(obj); let i = keys.length; let _key; while (i-- > 0) { _key = keys[i]; if (key === _key.toLowerCase()) { return _key; } } return null; } const _global = (() => { /*eslint no-undef:0*/ if (typeof globalThis !== "undefined") return globalThis; return typeof self !== "undefined" ? self : (typeof window !== 'undefined' ? window : global) })(); const isContextDefined = (context) => !isUndefined(context) && context !== _global; /** * Accepts varargs expecting each argument to be an object, then * immutably merges the properties of each object and returns result. * * When multiple objects contain the same key the later object in * the arguments list will take precedence. * * Example: * * ```js * var result = merge({foo: 123}, {foo: 456}); * console.log(result.foo); // outputs 456 * ``` * * @param {Object} obj1 Object to merge * * @returns {Object} Result of all merge properties */ function merge(/* obj1, obj2, obj3, ... */) { const {caseless} = isContextDefined(this) && this || {}; const result = {}; const assignValue = (val, key) => { const targetKey = caseless && findKey(result, key) || key; if (isPlainObject(result[targetKey]) && isPlainObject(val)) { result[targetKey] = merge(result[targetKey], val); } else if (isPlainObject(val)) { result[targetKey] = merge({}, val); } else if (isArray(val)) { result[targetKey] = val.slice(); } else { result[targetKey] = val; } }; for (let i = 0, l = arguments.length; i < l; i++) { arguments[i] && forEach(arguments[i], assignValue); } return result; } /** * Extends object a by mutably adding to it the properties of object b. * * @param {Object} a The object to be extended * @param {Object} b The object to copy properties from * @param {Object} thisArg The object to bind function to * * @param {Boolean} [allOwnKeys] * @returns {Object} The resulting value of object a */ const extend = (a, b, thisArg, {allOwnKeys}= {}) => { forEach(b, (val, key) => { if (thisArg && isFunction(val)) { a[key] = bind(val, thisArg); } else { a[key] = val; } }, {allOwnKeys}); return a; }; /** * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM) * * @param {string} content with BOM * * @returns {string} content value without BOM */ const stripBOM = (content) => { if (content.charCodeAt(0) === 0xFEFF) { content = content.slice(1); } return content; }; /** * Inherit the prototype methods from one constructor into another * @param {function} constructor * @param {function} superConstructor * @param {object} [props] * @param {object} [descriptors] * * @returns {void} */ const inherits = (constructor, superConstructor, props, descriptors) => { constructor.prototype = Object.create(superConstructor.prototype, descriptors); constructor.prototype.constructor = constructor; Object.defineProperty(constructor, 'super', { value: superConstructor.prototype }); props && Object.assign(constructor.prototype, props); }; /** * Resolve object with deep prototype chain to a flat object * @param {Object} sourceObj source object * @param {Object} [destObj] * @param {Function|Boolean} [filter] * @param {Function} [propFilter] * * @returns {Object} */ const toFlatObject = (sourceObj, destObj, filter, propFilter) => { let props; let i; let prop; const merged = {}; destObj = destObj || {}; // eslint-disable-next-line no-eq-null,eqeqeq if (sourceObj == null) return destObj; do { props = Object.getOwnPropertyNames(sourceObj); i = props.length; while (i-- > 0) { prop = props[i]; if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) { destObj[prop] = sourceObj[prop]; merged[prop] = true; } } sourceObj = filter !== false && getPrototypeOf(sourceObj); } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype); return destObj; }; /** * Determines whether a string ends with the characters of a specified string * * @param {String} str * @param {String} searchString * @param {Number} [position= 0] * * @returns {boolean} */ const endsWith = (str, searchString, position) => { str = String(str); if (position === undefined || position > str.length) { position = str.length; } position -= searchString.length; const lastIndex = str.indexOf(searchString, position); return lastIndex !== -1 && lastIndex === position; }; /** * Returns new array from array like object or null if failed * * @param {*} [thing] * * @returns {?Array} */ const toArray = (thing) => { if (!thing) return null; if (isArray(thing)) return thing; let i = thing.length; if (!isNumber(i)) return null; const arr = new Array(i); while (i-- > 0) { arr[i] = thing[i]; } return arr; }; /** * Checking if the Uint8Array exists and if it does, it returns a function that checks if the * thing passed in is an instance of Uint8Array * * @param {TypedArray} * * @returns {Array} */ // eslint-disable-next-line func-names const isTypedArray = (TypedArray => { // eslint-disable-next-line func-names return thing => { return TypedArray && thing instanceof TypedArray; }; })(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array)); /** * For each entry in the object, call the function with the key and value. * * @param {Object<any, any>} obj - The object to iterate over. * @param {Function} fn - The function to call for each entry. * * @returns {void} */ const forEachEntry = (obj, fn) => { const generator = obj && obj[Symbol.iterator]; const iterator = generator.call(obj); let result; while ((result = iterator.next()) && !result.done) { const pair = result.value; fn.call(obj, pair[0], pair[1]); } }; /** * It takes a regular expression and a string, and returns an array of all the matches * * @param {string} regExp - The regular expression to match against. * @param {string} str - The string to search. * * @returns {Array<boolean>} */ const matchAll = (regExp, str) => { let matches; const arr = []; while ((matches = regExp.exec(str)) !== null) { arr.push(matches); } return arr; }; /* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */ const isHTMLForm = kindOfTest('HTMLFormElement'); const toCamelCase = str => { return str.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g, function replacer(m, p1, p2) { return p1.toUpperCase() + p2; } ); }; /* Creating a function that will check if an object has a property. */ const hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype); /** * Determine if a value is a RegExp object * * @param {*} val The value to test * * @returns {boolean} True if value is a RegExp object, otherwise false */ const isRegExp = kindOfTest('RegExp'); const reduceDescriptors = (obj, reducer) => { const descriptors = Object.getOwnPropertyDescriptors(obj); const reducedDescriptors = {}; forEach(descriptors, (descriptor, name) => { let ret; if ((ret = reducer(descriptor, name, obj)) !== false) { reducedDescriptors[name] = ret || descriptor; } }); Object.defineProperties(obj, reducedDescriptors); }; /** * Makes all methods read-only * @param {Object} obj */ const freezeMethods = (obj) => { reduceDescriptors(obj, (descriptor, name) => { // skip restricted props in strict mode if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) { return false; } const value = obj[name]; if (!isFunction(value)) return; descriptor.enumerable = false; if ('writable' in descriptor) { descriptor.writable = false; return; } if (!descriptor.set) { descriptor.set = () => { throw Error('Can not rewrite read-only method \'' + name + '\''); }; } }); }; const toObjectSet = (arrayOrString, delimiter) => { const obj = {}; const define = (arr) => { arr.forEach(value => { obj[value] = true; }); }; isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter)); return obj; }; const noop = () => {}; const toFiniteNumber = (value, defaultValue) => { return value != null && Number.isFinite(value = +value) ? value : defaultValue; }; const ALPHA = 'abcdefghijklmnopqrstuvwxyz'; const DIGIT = '0123456789'; const ALPHABET = { DIGIT, ALPHA, ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT }; const generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => { let str = ''; const {length} = alphabet; while (size--) { str += alphabet[Math.random() * length|0]; } return str; }; /** * If the thing is a FormData object, return true, otherwise return false. * * @param {unknown} thing - The thing to check. * * @returns {boolean} */ function isSpecCompliantForm(thing) { return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]); } const toJSONObject = (obj) => { const stack = new Array(10); const visit = (source, i) => { if (isObject(source)) { if (stack.indexOf(source) >= 0) { return; } if(!('toJSON' in source)) { stack[i] = source; const target = isArray(source) ? [] : {}; forEach(source, (value, key) => { const reducedValue = visit(value, i + 1); !isUndefined(reducedValue) && (target[key] = reducedValue); }); stack[i] = undefined; return target; } } return source; }; return visit(obj, 0); }; const isAsyncFn = kindOfTest('AsyncFunction'); const isThenable = (thing) => thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch); const utils$1 = { isArray, isArrayBuffer, isBuffer, isFormData, isArrayBufferView, isString, isNumber, isBoolean, isObject, isPlainObject, isReadableStream, isRequest, isResponse, isHeaders, isUndefined, isDate, isFile, isBlob, isRegExp, isFunction, isStream, isURLSearchParams, isTypedArray, isFileList, forEach, merge, extend, trim, stripBOM, inherits, toFlatObject, kindOf, kindOfTest, endsWith, toArray, forEachEntry, matchAll, isHTMLForm, hasOwnProperty, hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection reduceDescriptors, freezeMethods, toObjectSet, toCamelCase, noop, toFiniteNumber, findKey, global: _global, isContextDefined, ALPHABET, generateString, isSpecCompliantForm, toJSONObject, isAsyncFn, isThenable }; /** * Create an Error with the specified message, config, error code, request and response. * * @param {string} message The error message. * @param {string} [code] The error code (for example, 'ECONNABORTED'). * @param {Object} [config] The config. * @param {Object} [request] The request. * @param {Object} [response] The response. * * @returns {Error} The created error. */ function AxiosError(message, code, config, request, response) { Error.call(this); if (Error.captureStackTrace) { Error.captureStackTrace(this, this.constructor); } else { this.stack = (new Error()).stack; } this.message = message; this.name = 'AxiosError'; code && (this.code = code); config && (this.config = config); request && (this.request = request); response && (this.response = response); } utils$1.inherits(AxiosError, Error, { toJSON: function toJSON() { return { // Standard message: this.message, name: this.name, // Microsoft description: this.description, number: this.number, // Mozilla fileName: this.fileName, lineNumber: this.lineNumber, columnNumber: this.columnNumber, stack: this.stack, // Axios config: utils$1.toJSONObject(this.config), code: this.code, status: this.response && this.response.status ? this.response.status : null }; } }); const prototype$1 = AxiosError.prototype; const descriptors = {}; [ 'ERR_BAD_OPTION_VALUE', 'ERR_BAD_OPTION', 'ECONNABORTED', 'ETIMEDOUT', 'ERR_NETWORK', 'ERR_FR_TOO_MANY_REDIRECTS', 'ERR_DEPRECATED', 'ERR_BAD_RESPONSE', 'ERR_BAD_REQUEST', 'ERR_CANCELED', 'ERR_NOT_SUPPORT', 'ERR_INVALID_URL' // eslint-disable-next-line func-names ].forEach(code => { descriptors[code] = {value: code}; }); Object.defineProperties(AxiosError, descriptors); Object.defineProperty(prototype$1, 'isAxiosError', {value: true}); // eslint-disable-next-line func-names AxiosError.from = (error, code, config, request, response, customProps) => { const axiosError = Object.create(prototype$1); utils$1.toFlatObject(error, axiosError, function filter(obj) { return obj !== Error.prototype; }, prop => { return prop !== 'isAxiosError'; }); AxiosError.call(axiosError, error.message, code, config, request, response); axiosError.cause = error; axiosError.name = error.name; customProps && Object.assign(axiosError, customProps); return axiosError; }; /** * Determines if the given thing is a array or js object. * * @param {string} thing - The object or array to be visited. * * @returns {boolean} */ function isVisitable(thing) { return utils$1.isPlainObject(thing) || utils$1.isArray(thing); } /** * It removes the brackets from the end of a string * * @param {string} key - The key of the parameter. * * @returns {string} the key without the brackets. */ function removeBrackets(key) { return utils$1.endsWith(key, '[]') ? key.slice(0, -2) : key; } /** * It takes a path, a key, and a boolean, and returns a string * * @param {string} path - The path to the current key. * @param {string} key - The key of the current object being iterated over. * @param {string} dots - If true, the key will be rendered with dots instead of brackets. * * @returns {string} The path to the current key. */ function renderKey(path, key, dots) { if (!path) return key; return path.concat(key).map(function each(token, i) { // eslint-disable-next-line no-param-reassign token = removeBrackets(token); return !dots && i ? '[' + token + ']' : token; }).join(dots ? '.' : ''); } /** * If the array is an array and none of its elements are visitable, then it's a flat array. * * @param {Array<any>} arr - The array to check * * @returns {boolean} */ function isFlatArray(arr) { return utils$1.isArray(arr) && !arr.some(isVisitable); } const predicates = utils$1.toFlatObject(utils$1, {}, null, function filter(prop) { return /^is[A-Z]/.test(prop); }); /** * Convert a data object to FormData * * @param {Object} obj * @param {?Object} [formData] * @param {?Object} [options] * @param {Function} [options.visitor] * @param {Boolean} [options.metaTokens = true] * @param {Boolean} [options.dots = false] * @param {?Boolean} [options.indexes = false] * * @returns {Object} **/ /** * It converts an object into a FormData object * * @param {Object<any, any>} obj - The object to convert to form data. * @param {string} formData - The FormData object to append to. * @param {Object<string, any>} options * * @returns */ function toFormData(obj, formData, options) { if (!utils$1.isObject(obj)) { throw new TypeError('target must be an object'); } // eslint-disable-next-line no-param-reassign formData = formData || new (FormData__default["default"] || FormData)(); // eslint-disable-next-line no-param-reassign options = utils$1.toFlatObject(options, { metaTokens: true, dots: false, indexes: false }, false, function defined(option, source) { // eslint-disable-next-line no-eq-null,eqeqeq return !utils$1.isUndefined(source[option]); }); const metaTokens = options.metaTokens; // eslint-disable-next-line no-use-before-define const visitor = options.visitor || defaultVisitor; const dots = options.dots; const indexes = options.indexes; const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob; const useBlob = _Blob && utils$1.isSpecCompliantForm(formData); if (!utils$1.isFunction(visitor)) { throw new TypeError('visitor must be a function'); } function convertValue(value) { if (value === null) return ''; if (utils$1.isDate(value)) { return value.toISOString(); } if (!useBlob && utils$1.isBlob(value)) { throw new AxiosError('Blob is not supported. Use a Buffer instead.'); } if (utils$1.isArrayBuffer(value) || utils$1.isTypedArray(value)) { return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value); } return value; } /** * Default visitor. * * @param {*} value * @param {String|Number} key * @param {Array<String|Number>} path * @this {FormData} * * @returns {boolean} return true to visit the each prop of the value recursively */ function defaultVisitor(value, key, path) { let arr = value; if (value && !path && typeof value === 'object') { if (utils$1.endsWith(key, '{}')) { // eslint-disable-next-line no-param-reassign key = metaTokens ? key : key.slice(0, -2); // eslint-disable-next-line no-param-reassign value = JSON.stringify(value); } else if ( (utils$1.isArray(value) && isFlatArray(value)) || ((utils$1.isFileList(value) || utils$1.endsWith(key, '[]')) && (arr = utils$1.toArray(value)) )) { // eslint-disable-next-line no-param-reassign key = removeBrackets(key); arr.forEach(function each(el, index) { !(utils$1.isUndefined(el) || el === null) && formData.append( // eslint-disable-next-line no-nested-ternary indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'), convertValue(el) ); }); return false; } } if (isVisitable(value)) { return true; } formData.append(renderKey(path, key, dots), convertValue(value)); return false; } const stack = []; const exposedHelpers = Object.assign(predicates, { defaultVisitor, convertValue, isVisitable }); function build(value, path) { if (utils$1.isUndefined(value)) return; if (stack.indexOf(value) !== -1) { throw Error('Circular reference detected in ' + path.join('.')); } stack.push(value); utils$1.forEach(value, function each(el, key) { const result = !(utils$1.isUndefined(el) || el === null) && visitor.call( formData, el, utils$1.isString(key) ? key.trim() : key, path, exposedHelpers ); if (result === true) { build(el, path ? path.concat(key) : [key]); } }); stack.pop(); } if (!utils$1.isObject(obj)) { throw new TypeError('data must be an object'); } build(obj); return formData; } /** * It encodes a string by replacing all characters that are not in the unreserved set with * their percent-encoded equivalents * * @param {string} str - The string to encode. * * @returns {string} The encoded string. */ function encode$1(str) { const charMap = { '!': '%21', "'": '%27', '(': '%28', ')': '%29', '~': '%7E', '%20': '+', '%00': '\x00' }; return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) { return charMap[match]; }); } /** * It takes a params object and converts it to a FormData object * * @param {Object<string, any>} params - The parameters to be converted to a FormData object. * @param {Object<string, any>} options - The options object passed to the Axios constructor. * * @returns {void} */ function AxiosURLSearchParams(params, options) { this._pairs = []; params && toFormData(params, this, options); } const prototype = AxiosURLSearchParams.prototype; prototype.append = function append(name, value) { this._pairs.push([name, value]); }; prototype.toString = function toString(encoder) { const _encode = encoder ? function(value) { return encoder.call(this, value, encode$1); } : encode$1; return this._pairs.map(function each(pair) { return _encode(pair[0]) + '=' + _encode(pair[1]); }, '').join('&'); }; /** * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their * URI encoded counterparts * * @param {string} val The value to be encoded. * * @returns {string} The encoded value. */ function encode(val) { return encodeURIComponent(val). replace(/%3A/gi, ':'). replace(/%24/g, '$'). replace(/%2C/gi, ','). replace(/%20/g, '+'). replace(/%5B/gi, '['). replace(/%5D/gi, ']'); } /** * Build a URL by appending params to the end * * @param {string} url The base of the url (e.g., http://www.google.com) * @param {object} [params] The params to be appended * @param {?object} options * * @returns {string} The formatted url */ function buildURL(url, params, options) { /*eslint no-param-reassign:0*/ if (!params) { return url; } const _encode = options && options.encode || encode; const serializeFn = options && options.serialize; let serializedParams; if (serializeFn) { serializedParams = serializeFn(params, options); } else { serializedParams = utils$1.isURLSearchParams(params) ? params.toString() : new AxiosURLSearchParams(params, options).toString(_encode); } if (serializedParams) { const hashmarkIndex = url.indexOf("#"); if (hashmarkIndex !== -1) { url = url.slice(0, hashmarkIndex); } url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams; } return url; } class InterceptorManager { constructor() { this.handlers = []; } /** * Add a new interceptor to the stack * * @param {Function} fulfilled The function to handle `then` for a `Promise` * @param {Function} rejected The function to handle `reject` for a `Promise` * * @return {Number} An ID used to remove interceptor later */ use(fulfilled, rejected, options) { this.handlers.push({ fulfilled, rejected, synchronous: options ? options.synchronous : false, runWhen: options ? options.runWhen : null }); return this.handlers.length - 1; } /** * Remove an interceptor from the stack * * @param {Number} id The ID that was returned by `use` * * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise */ eject(id) { if (this.handlers[id]) { this.handlers[id] = null; } } /** * Clear all interceptors from the stack * * @returns {void} */ clear() { if (this.handlers) { this.handlers = []; } } /** * Iterate over all the registered interceptors * * This method is particularly useful for skipping over any * interceptors that may have become `null` calling `eject`. * * @param {Function} fn The function to call for each interceptor * * @returns {void} */ forEach(fn) { utils$1.forEach(this.handlers, function forEachHandler(h) { if (h !== null) { fn(h); } }); } } const InterceptorManager$1 = InterceptorManager; const transitionalDefaults = { silentJSONParsing: true, forcedJSONParsing: true, clarifyTimeoutError: false }; const URLSearchParams = url__default["default"].URLSearchParams; const platform$1 = { isNode: true, classes: { URLSearchParams, FormData: FormData__default["default"], Blob: typeof Blob !== 'undefined' && Blob || null }, protocols: [ 'http', 'https', 'file', 'data' ] }; const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined'; /** * Determine if we're running in a standard browser environment * * This allows axios to run in a web worker, and react-native. * Both environments support XMLHttpRequest, but not fully standard globals. * * web workers: * typeof window -> undefined * typeof document -> undefined * * react-native: * navigator.product -> 'ReactNative' * nativescript * navigator.product -> 'NativeScript' or 'NS' * * @returns {boolean} */ const hasStandardBrowserEnv = ( (product) => { return hasBrowserEnv && ['ReactNative', 'NativeScript', 'NS'].indexOf(product) < 0 })(typeof navigator !== 'undefined' && navigator.product); /** * Determine if we're running in a standard browser webWorker environment * * Although the `isStandardBrowserEnv` method indicates that * `allows axios to run in a web worker`, the WebWorker will still be * filtered out due to its judgment standard * `typeof window !== 'undefined' && typeof document !== 'undefined'`. * This leads to a problem when axios post `FormData` in webWorker */ const hasStandardBrowserWebWorkerEnv = (() => { return ( typeof WorkerGlobalScope !== 'undefined' && // eslint-disable-next-line no-undef self instanceof WorkerGlobalScope && typeof self.importScripts === 'function' ); })(); const origin = hasBrowserEnv && window.location.href || 'http://localhost'; const utils = /*#__PURE__*/Object.freeze({ __proto__: null, hasBrowserEnv: hasBrowserEnv, hasStandardBrowserWebWorkerEnv: hasStandardBrowserWebWorkerEnv, hasStandardBrowserEnv: hasStandardBrowserEnv, origin: origin }); const platform = { ...utils, ...platform$1 }; function toURLEncodedForm(data, options) { return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({ visitor: function(value, key, path, helpers) { if (platform.isNode && utils$1.isBuffer(value)) { this.append(key, value.toString('base64')); return false; } return helpers.defaultVisitor.apply(this, arguments); } }, options)); } /** * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z'] * * @param {string} name - The name of the property to get. * * @returns An array of strings. */ function parsePropPath(name) { // foo[x][y][z] // foo.x.y.z // foo-x-y-z // foo x y z return utils$1.matchAll(/\w+|\[(\w*)]/g, name).map(match => { return match[0] === '[]' ? '' : match[1] || match[0]; }); } /** * Convert an array to an object. * * @param {Array<any>} arr - The array to convert to an object. * * @returns An object with the same keys and values as the array. */ function arrayToObject(arr) { const obj = {}; const keys = Object.keys(arr); let i; const len = keys.length; let key; for (i = 0; i < len; i++) { key = keys[i]; obj[key] = arr[key]; } return obj; } /** * It takes a FormData object and returns a JavaScript object * * @param {string} formData The FormData object to convert to JSON. * * @returns {Object<string, any> | null} The converted object. */ function formDataToJSON(formData) { function buildPath(path, value, target, index) { let name = path[index++]; if (name === '__proto__') return true; const isNumericKey = Number.isFinite(+name); const isLast = index >= path.length; name = !name && utils$1.isArray(target) ? target.length : name; if (isLast) { if (utils$1.hasOwnProp(target, name)) { target[name] = [target[name], value]; } else { target[name] = value; } return !isNumericKey; } if (!target[name] || !utils$1.isObject(target[name])) { target[name] = []; } const result = buildPath(path, value, target[name], index); if (result && utils$1.isArray(target[name])) { target[name] = arrayToObject(target[name]); } return !isNumericKey; } if (utils$1.isFormData(formData) && utils$1.isFunction(formData.entries)) { const obj = {}; utils$1.forEachEntry(formData, (name, value) => { buildPath(parsePropPath(name), value, obj, 0); }); return obj; } return null; } /** * It takes a string, tries to parse it, and if it fails, it returns the stringified version * of the input * * @param {any} rawValue - The value to be stringified. * @param {Function} parser - A function that parses a string into a JavaScript object. * @param {Function} encoder - A function that takes a value and returns a string. * * @returns {string} A stringified version of the rawValue. */ function stringifySafely(rawValue, parser, encoder) { if (utils$1.isString(rawValue)) { try { (parser || JSON.parse)(rawValue); return utils$1.trim(rawValue); } catch (e) { if (e.name !== 'SyntaxError') { throw e; } } } return (encoder || JSON.stringify)(rawValue); } const defaults = { transitional: transitionalDefaults, adapter: ['xhr', 'http', 'fetch'], transformRequest: [function transformRequest(data, headers) { const contentType = headers.getContentType() || ''; const hasJSONContentType = contentType.indexOf('application/json') > -1; const isObjectPayload = utils$1.isObject(data); if (isObjectPayload && utils$1.isHTMLForm(data)) { data = new FormData(data); } const isFormData = utils$1.isFormData(data); if (isFormData) { return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data; } if (utils$1.isArrayBuffer(data) || utils$1.isBuffer(data) || utils$1.isStream(data) || utils$1.isFile(data) || utils$1.isBlob(data) || utils$1.isReadableStream(data) ) { return data; } if (utils$1.isArrayBufferView(data)) { return data.buffer; } if (utils$1.isURLSearchParams(data)) { headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false); return data.toString(); } let isFileList; if (isObjectPayload) { if (contentType.indexOf('application/x-www-form-urlencoded') > -1) { return toURLEncodedForm(data, this.formSerializer).toString(); } if ((isFileList = utils$1.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) { const _FormData = this.env && this.env.FormData; return toFormData( isFileList ? {'files[]': data} : data, _FormData && new _FormData(), this.formSerializer ); } } if (isObjectPayload || hasJSONContentType ) { headers.setContentType('application/json', false); return stringifySafely(data); } return data; }], transformResponse: [function transformResponse(data) { const transitional = this.transitional || defaults.transitional; const forcedJSONParsing = transitional && transitional.forcedJSONParsing; const JSONRequested = this.responseType === 'json'; if (utils$1.isResponse(data) || utils$1.isReadableStream(data)) { return data; } if (data && utils$1.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) { const silentJSONParsing = transitional && transitional.silentJSONParsing; const strictJSONParsing = !silentJSONParsing && JSONRequested; try { return JSON.parse(data); } catch (e) { if (strictJSONParsing) { if (e.name === 'SyntaxError') { throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response); } throw e; } } } return data; }], /** * A timeout in milliseconds to abort a request. If set to 0 (default) a * timeout is not created. */ timeout: 0, xsrfCookieName: 'XSRF-TOKEN', xsrfHeaderName: 'X-XSRF-TOKEN', maxContentLength: -1, maxBodyLength: -1, env: { FormData: platform.classes.FormData, Blob: platform.classes.Blob }, validateStatus: function validateStatus(status) { return status >= 200 && status < 300; }, headers: { common: { 'Accept': 'application/json, text/plain, */*', 'Content-Type': undefined } } }; utils$1.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => { defaults.headers[method] = {}; }); const defaults$1 = defaults; // RawAxiosHeaders whose duplicates are ignored by node // c.f. https://nodejs.org/api/http.html#http_message_headers const ignoreDuplicateOf = utils$1.toObjectSet([ 'age', 'authorization', 'content-length', 'content-type', 'etag', 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since', 'last-modified', 'location', 'max-forwards', 'proxy-authorization', 'referer', 'retry-after', 'user-agent' ]); /** * Parse headers into an object * * ``` * Date: Wed, 27 Aug 2014 08:58:49 GMT * Content-Type: application/json * Connection: keep-alive * Transfer-Encoding: chunked * ``` * * @param {String} rawHeaders Headers needing to be parsed * * @returns {Object} Headers parsed into an object */ const parseHeaders = rawHeaders => { const parsed = {}; let key; let val; let i; rawHeaders && rawHeaders.split('\n').forEach(function parser(line) { i = line.indexOf(':'); key = line.substring(0, i).trim().toLowerCase(); val = line.substring(i + 1).trim(); if (!key || (parsed[key] && ignoreDuplicateOf[key])) { return; } if (key === 'set-cookie') { if (parsed[key]) { parsed[key].push(val); } else { parsed[key] = [val]; } } else { parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val; } }); return parsed; }; const $internals = Symbol('internals'); function normalizeHeader(header) { return header && String(header).trim().toLowerCase(); } function normalizeValue(value) { if (value === false || value == null) { return value; } return utils$1.isArray(value) ? value.map(normalizeValue) : String(value); } function parseTokens(str) { const tokens = Object.create(null); const tokensRE = /([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g; let match; while ((match = tokensRE.exec(str))) { tokens[match[1]] = match[2]; } return tokens; } const isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim()); function matchHeaderValue(context, value, header, filter, isHeaderNameFilter) { if (utils$1.isFunction(filter)) { return filter.call(this, value, header); } if (isHeaderNameFilter) { value = header; } if (!utils$1.isString(value)) return; if (utils$1.isString(filter)) { return value.indexOf(filter) !== -1; } if (utils$1.isRegExp(filter)) { return filter.test(value); } } function formatHeader(header) { return header.trim() .toLowerCase().replace(/([a-z\d])(\w*)/g, (w, char, str) => { return char.toUpperCase() + str; }); } function buildAccessors(obj, header) { const accessorName = utils$1.toCamelCase(' ' + header); ['get', 'set', 'has'].forEach(methodName => { Object.defineProperty(obj, methodName + accessorName, { value: function(arg1, arg2, arg3) { return this[methodName].call(this, header, arg1, arg2, arg3); }, configurable: true }); }); } class AxiosHeaders { constructor(headers) { headers && this.set(headers); } set(header, valueOrRewrite, rewrite) { const self = this; function setHeader(_value, _header, _rewrite) { const lHeader = normalizeHeader(_header); if (!lHeader) { throw new Error('header name must be a non-empty string'); } const key = utils$1.findKey(self, lHeader); if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) { self[key || _header] = normalizeValue(_value); } } const setHeaders = (headers, _rewrite) => utils$1.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite)); if (utils$1.isPlainObject(header) || header instanceof this.constructor) { setHeaders(header, valueOrRewrite); } else if(utils$1.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) { setHeaders(parseHeaders(header), valueOrRewrite); } else if (utils$1.isHeaders(header)) { for (const [key, value] of header.entries()) { setHeader(value, key, rewrite); } } else { header != null && setHeader(valueOrRewrite, header, rewrite); } return this; } get(header, parser) { header = normalizeHeader(header); if (header) { const key = utils$1.findKey(this, header); if (key) { const value = this[key]; if (!parser) { return value; } if (parser === true) { return parseTokens(value); } if (utils$1.isFunction(parser)) { return parser.call(this, value, key); } if (utils$1.isRegExp(parser)) { return parser.exec(value); } throw new TypeError('parser must be boolean|regexp|function'); } } } has(header, matcher) { header = normalizeHeader(header); if (header) { const key = utils$1.findKey(this, header); return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher))); } return false; } delete(header, matcher) { const self = this; let deleted = false; function deleteHeader(_header) { _header = normalizeHeader(_header); if (_header) { const key = utils$1.findKey(self, _header); if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) { delete self[key]; deleted = true; } } } if (utils$1.isArray(header)) { header.forEach(deleteHeader); } else { deleteHeader(header); } return deleted; } clear(matcher) { const keys = Object.keys(this); let i = keys.length; let deleted = false; while (i--) { const key = keys[i]; if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) { delete this[key]; deleted = true; } } return deleted; } normalize(format) { const self = this; const headers = {}; utils$1.forEach(this, (value, header) => { const key = utils$1.findKey(headers, header); if (key) { self[key] = normalizeValue(value); delete self[header]; return; } const normalized = format ? formatHeader(header) : String(header).trim(); if (normalized !== header) { delete self[header]; } self[normalized] = normalizeValue(value); headers[normalized] = true; }); return this; } concat(...targets) { return this.constructor.concat(this, ...targets); } toJSON(asStrings) { const obj = Object.create(null); utils$1.forEach(this, (value, header) => { value != null && value !== false && (obj[header] = asStrings && utils$1.isArray(value) ? value.join(', ') : value); }); return obj; } [Symbol.iterator]() { return Object.entries(this.toJSON())[Symbol.iterator](); } toString() { return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\n'); } get [Symbol.toStringTag]() { return 'AxiosHeaders'; } static from(thing) { return thing instanceof this ? thing : new this(thing); } static concat(first, ...targets) { const computed = new this(first); targets.forEach((target) => computed.set(target)); return computed; } static accessor(header) { const internals = this[$internals] = (this[$internals] = { accessors: {} }); const accessors = internals.accessors; const prototype = this.prototype; function defineAccessor(_header) { const lHeader = normalizeHeader(_header); if (!accessors[lHeader]) { buildAccessors(prototype, _header); accessors[lHeader] = true; } } utils$1.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header); return this; } } AxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']); // reserved names hotfix utils$1.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => { let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set` return { get: () => value, set(headerValue) { this[mapped] = headerValue; } } }); utils$1.freezeMethods(AxiosHeaders); const AxiosHeaders$1 = AxiosHeaders; /** * Transform the data for a request or a response * * @param {Array|Function} fns A single function or Array of functions * @param {?Object} response The response object * * @returns {*} The resulting transformed data */ function transformData(fns, response) { const config = this || defaults$1; const context = response || config; const headers = AxiosHeaders$1.from(context.headers); let data = context.data; utils$1.forEach(fns, function transform(fn) { data = fn.call(config, data, headers.normalize(), response ? response.status : undefined); }); headers.normalize(); return data; } function isCancel(value) { return !!(value && value.__CANCEL__); } /** * A `CanceledError` is an object that is thrown when an operation is canceled. * * @param {string=} message The message. * @param {Object=} config The config. * @param {Object=} request The request. * * @returns {CanceledError} The created error. */ function CanceledError(message, config, request) { // eslint-disable-next-line no-eq-null,eqeqeq AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request); this.name = 'CanceledError'; } utils$1.inherits(CanceledError, AxiosError, { __CANCEL__: true }); /** * Resolve or reject a Promise based on response status. * * @param {Function} resolve A function that resolves the promise. * @param {Function} reject A function that rejects the promise. * @param {object} response The response. * * @returns {object} The response. */ function settle(resolve, reject, response) { const validateStatus = response.config.validateStatus; if (!response.status || !validateStatus || validateStatus(response.status)) { resolve(response); } else { reject(new AxiosError( 'Request failed with status code ' + response.status, [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4], response.config, response.request, response )); } } /** * Determines whether the specified URL is absolute * * @param {string} url The URL to test * * @returns {boolean} True if the specified URL is absolute, otherwise false */ function isAbsoluteURL(url) { // A URL is considered absolute if it begins with "<scheme>://" or "//" (protocol-relative URL). // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed // by any combination of letters, digits, plus, period, or hyphen. return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url); } /** * Creates a new URL by combining the specified URLs * * @param {string} baseURL The base URL * @param {string} relativeURL The relative URL * * @returns {string} The combined URL */ function combineURLs(baseURL, relativeURL) { return relativeURL ? baseURL.replace(/\/?\/$/, '') + '/' + relativeURL.replace(/^\/+/, '') : baseURL; } /** * Creates a new URL by combining the baseURL with the requestedURL, * only when the requestedURL is not already an absolute URL. * If the requestURL is absolute, this function returns the requestedURL untouched. * * @param {string} baseURL The base URL * @param {string} requestedURL Absolute or relative URL to combine * * @returns {string} The combined full path */ function buildFullPath(baseURL, requestedURL) { if (baseURL && !isAbsoluteURL(requestedURL)) { return combineURLs(baseURL, requestedURL); } return requestedURL; } const VERSION = "1.7.2"; function parseProtocol(url) { const match = /^([-+\w]{1,25})(:?\/\/|:)/.exec(url); return match && match[1] || ''; } const DATA_URL_PATTERN = /^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\s\S]*)$/; /** * Parse data uri to a Buffer or Blob * * @param {String} uri * @param {?Boolean} asBlob * @param {?Object} options * @param {?Function} options.Blob * * @returns {Buffer|Blob} */ function fromDataURI(uri, asBlob, options) { const _Blob = options && options.Blob || platform.classes.Blob; const protocol = parseProtocol(uri); if (asBlob === undefined && _Blob) { asBlob = true; } if (protocol === 'data') { uri = protocol.length ? uri.slice(protocol.length + 1) : uri; const match = DATA_URL_PATTERN.exec(uri); if (!match) { throw new AxiosError('Invalid URL', AxiosError.ERR_INVALID_URL); } const mime = match[1]; const isBase64 = match[2]; const body = match[3]; const buffer = Buffer.from(decodeURIComponent(body), isBase64 ? 'base64' : 'utf8'); if (asBlob) { if (!_Blob) { throw new AxiosError('Blob is not supported', AxiosError.ERR_NOT_SUPPORT); } return new _Blob([buffer], {type: mime}); } return buffer; } throw new AxiosError('Unsupported protocol ' + protocol, AxiosError.ERR_NOT_SUPPORT); } /** * Throttle decorator * @param {Function} fn * @param {Number} freq * @return {Function} */ function throttle(fn, freq) { let timestamp = 0; const threshold = 1000 / freq; let timer = null; return function throttled() { const force = this === true; const now = Date.now(); if (force || now - timestamp > threshold) { if (timer) { clearTimeout(timer); timer = null; } timestamp = now; return fn.apply(null, arguments); } if (!timer) { timer = setTimeout(() => { timer = null; timestamp = Date.now(); return fn.apply(null, arguments); }, threshold - (now - timestamp)); } }; } /** * Calculate data maxRate * @param {Number} [samplesCount= 10] * @param {Number} [min= 1000] * @returns {Function} */ function speedometer(samplesCount, min) { samplesCount = samplesCount || 10; const bytes = new Array(samplesCount); const timestamps = new Array(samplesCount); let head = 0; let tail = 0; let firstSampleTS; min = min !== undefined ? min : 1000; return function push(chunkLength) { const now = Date.now(); const startedAt = timestamps[tail]; if (!firstSampleTS) { firstSampleTS = now; } bytes[head] = chunkLength; timestamps[head] = now; let i = tail; let bytesCount = 0; while (i !== head) { bytesCount += bytes[i++]; i = i % samplesCount; } head = (head + 1) % samplesCount; if (head === tail) { tail = (tail + 1) % samplesCount; } if (now - firstSampleTS < min) { return; } const passed = startedAt && now - startedAt; return passed ? Math.round(bytesCount * 1000 / passed) : undefined; }; } const kInternals = Symbol('internals'); class AxiosTransformStream extends stream__default["default"].Transform{ constructor(options) { options = utils$1.toFlatObject(options, { maxRate: 0, chunkSize: 64 * 1024, minChunkSize: 100, timeWindow: 500, ticksRate: 2, samplesCount: 15 }, null, (prop, source) => { return !utils$1.isUndefined(source[prop]); }); super({ readableHighWaterMark: options.chunkSize }); const self = this; const internals = this[kInternals] = { length: options.length, timeWindow: options.timeWindow, ticksRate: options.ticksRate, chunkSize: options.chunkSize, maxRate: options.maxRate, minChunkSize: options.minChunkSize, bytesSeen: 0, isCaptured: false, notifiedBytesLoaded: 0, ts: Date.now(), bytes: 0, onReadCallback: null }; const _speedometer = speedometer(internals.ticksRate * options.samplesCount, internals.timeWindow); this.on('newListener', event => { if (event === 'progress') { if (!internals.isCaptured) { internals.isCaptured = true; } } }); let bytesNotified = 0; internals.updateProgress = throttle(function throttledHandler() { const totalBytes = internals.length; const bytesTransferred = internals.bytesSeen; const progressBytes = bytesTransferred - bytesNotified; if (!progressBytes || self.destroyed) return; const rate = _speedometer(progressBytes); bytesNotified = bytesTransferred; process.nextTick(() => { self.emit('progress', { loaded: bytesTransferred, total: totalBytes, progress: totalBytes ? (bytesTransferred / totalBytes) : undefined, bytes: progressBytes, rate: rate ? rate : undefined, estimated: rate && totalBytes && bytesTransferred <= totalBytes ? (totalBytes - bytesTransferred) / rate : undefined, lengthComputable: totalBytes != null }); }); }, internals.ticksRate); const onFinish = () => { internals.updateProgress.call(true); }; this.once('end', onFinish); this.once('error', onFinish); } _read(size) { const internals = this[kInternals]; if (internals.onReadCallback) { internals.onReadCallback(); } return super._read(size); } _transform(chunk, encoding, callback) { const self = this; const internals = this[kInternals]; const maxRate = internals.maxRate; const readableHighWaterMark = this.readableHighWaterMark; const timeWindow = internals.timeWindow; const divider = 1000 / timeWindow; const bytesThreshold = (maxRate / divider); const minChunkSize = internals.minChunkSize !== false ? Math.max(internals.minChunkSize, bytesThreshold * 0.01) : 0; function pushChunk(_chunk, _callback) { const bytes = Buffer.byteLength(_chunk); internals.bytesSeen += bytes; internals.bytes += bytes; if (internals.isCaptured) { internals.updateProgress(); } if (self.push(_chunk)) { process.nextTick(_callback); } else { internals.onReadCallback = () => { internals.onReadCallback = null; process.nextTick(_callback); }; } } const transformChunk = (_chunk, _callback) => { const chunkSize = Buffer.byteLength(_chunk); let chunkRemainder = null; let maxChunkSize = readableHighWaterMark; let bytesLeft; let passed = 0; if (maxRate) { const now = Date.now(); if (!internals.ts || (passed = (now - internals.ts)) >= timeWindow) { internals.ts = now; bytesLeft = bytesThreshold - internals.bytes; internals.bytes = bytesLeft < 0 ? -bytesLeft : 0; passed = 0; } bytesLeft = bytesThreshold - internals.bytes; } if (maxRate) { if (bytesLeft <= 0) { // next time window return setTimeout(() => { _callback(null, _chunk); }, timeWindow - passed); } if (bytesLeft < maxChunkSize) { maxChunkSize = bytesLeft; } } if (maxChunkSize && chunkSize > maxChunkSize && (chunkSize - maxChunkSize) > minChunkSize) { chunkRemainder = _chunk.subarray(maxChunkSize); _chunk = _chunk.subarray(0, maxChunkSize); } pushChunk(_chunk, chunkRemainder ? () => { process.nextTick(_callback, null, chunkRemainder); } : _callback); }; transformChunk(chunk, function transformNextChunk(err, _chunk) { if (err) { return callback(err); } if (_chunk) { transformChunk(_chunk, transformNextChunk); } else { callback(null); } }); } setLength(length) { this[kInternals].length = +length; return this; } } const AxiosTransformStream$1 = AxiosTransformStream; const {asyncIterator} = Symbol; const readBlob = async function* (blob) { if (blob.stream) { yield* blob.stream(); } else if (blob.arrayBuffer) { yield await blob.arrayBuffer(); } else if (blob[asyncIterator]) { yield* blob[asyncIterator](); } else { yield blob; } }; const readBlob$1 = readBlob; const BOUNDARY_ALPHABET = utils$1.ALPHABET.ALPHA_DIGIT + '-_'; const textEncoder = new util.TextEncoder(); const CRLF = '\r\n'; const CRLF_BYTES = textEncoder.encode(CRLF); const CRLF_BYTES_COUNT = 2; class FormDataPart { constructor(name, value) { const {escapeName} = this.constructor; const isStringValue = utils$1.isString(value); let headers = `Content-Disposition: form-data; name="${escapeName(name)}"${ !isStringValue && value.name ? `; filename="${escapeName(value.name)}"` : '' }${CRLF}`; if (isStringValue) { value = textEncoder.encode(String(value).replace(/\r?\n|\r\n?/g, CRLF)); } else { headers += `Content-Type: ${value.type || "application/octet-stream"}${CRLF}`; } this.headers = textEncoder.encode(headers + CRLF); this.contentLength = isStringValue ? value.byteLength : value.size; this.size = this.headers.byteLength + this.contentLength + CRLF_BYTES_COUNT; this.name = name; this.value = value; } async *encode(){ yield this.headers; const {value} = this; if(utils$1.isTypedArray(value)) { yield value; } else { yield* readBlob$1(value); } yield CRLF_BYTES; } static escapeName(name) { return String(name).replace(/[\r\n"]/g, (match) => ({ '\r' : '%0D', '\n' : '%0A', '"' : '%22', }[match])); } } const formDataToStream = (form, headersHandler, options) => { const { tag = 'form-data-boundary', size = 25, boundary = tag + '-' + utils$1.generateString(size, BOUNDARY_ALPHABET) } = options || {}; if(!utils$1.isFormData(form)) { throw TypeError('FormData instance required'); } if (boundary.length < 1 || boundary.length > 70) { throw Error('boundary must be 10-70 characters long') } const boundaryBytes = textEncoder.encode('--' + boundary + CRLF); const footerBytes = textEncoder.encode('--' + boundary + '--' + CRLF + CRLF); let contentLength = footerBytes.byteLength; const parts = Array.from(form.entries()).map(([name, value]) => { const part = new FormDataPart(name, value); contentLength += part.size; return part; }); contentLength += boundaryBytes.byteLength * parts.length; contentLength = utils$1.toFiniteNumber(contentLength); const computedHeaders = { 'Content-Type': `multipart/form-data; boundary=${boundary}` }; if (Number.isFinite(contentLength)) { computedHeaders['Content-Length'] = contentLength; } headersHandler && headersHandler(computedHeaders); return stream.Readable.from((async function *() { for(const part of parts) { yield boundaryBytes; yield* part.encode(); } yield footerBytes; })()); }; const formDataToStream$1 = formDataToStream; class ZlibHeaderTransformStream extends stream__default["default"].Transform { __transform(chunk, encoding, callback) { this.push(chunk); callback(); } _transform(chunk, encoding, callback) { if (chunk.length !== 0) { this._transform = this.__transform; // Add Default Compression headers if no zlib headers are present if (chunk[0] !== 120) { // Hex: 78 const header = Buffer.alloc(2); header[0] = 120; // Hex: 78 header[1] = 156; // Hex: 9C this.push(header, encoding); } } this.__transform(chunk, encoding, callback); } } const ZlibHeaderTransformStream$1 = ZlibHeaderTransformStream; const callbackify = (fn, reducer) => { return utils$1.isAsyncFn(fn) ? function (...args) { const cb = args.pop(); fn.apply(this, args).then((value) => { try { reducer ? cb(null, ...reducer(value)) : cb(null, value); } catch (err) { cb(err); } }, cb); } : fn; }; const callbackify$1 = callbackify; const zlibOptions = { flush: zlib__default["default"].constants.Z_SYNC_FLUSH, finishFlush: zlib__default["default"].constants.Z_SYNC_FLUSH }; const brotliOptions = { flush: zlib__default["default"].constants.BROTLI_OPERATION_FLUSH, finishFlush: zlib__default["default"].constants.BROTLI_OPERATION_FLUSH }; const isBrotliSupported = utils$1.isFunction(zlib__default["default"].createBrotliDecompress); const {http: httpFollow, https: httpsFollow} = followRedirects__default["default"]; const isHttps = /https:?/; const supportedProtocols = platform.protocols.map(protocol => { return protocol + ':'; }); /** * If the proxy or config beforeRedirects functions are defined, call them with the options * object. * * @param {Object<string, any>} options - The options object that was passed to the request. * * @returns {Object<string, any>} */ function dispatchBeforeRedirect(options, responseDetails) { if (options.beforeRedirects.proxy) { options.beforeRedirects.proxy(options); } if (options.beforeRedirects.config) { options.beforeRedirects.config(options, responseDetails); } } /** * If the proxy or config afterRedirects functions are defined, call them with the options * * @param {http.ClientRequestArgs} options * @param {AxiosProxyConfig} configProxy configuration from Axios options object * @param {string} location * * @returns {http.ClientRequestArgs} */ function setProxy(options, configProxy, location) { let proxy = configProxy; if (!proxy && proxy !== false) { const proxyUrl = proxyFromEnv.getProxyForUrl(location); if (proxyUrl) { proxy = new URL(proxyUrl); } } if (proxy) { // Basic proxy authorization if (proxy.username) { proxy.auth = (proxy.username || '') + ':' + (proxy.password || ''); } if (proxy.auth) { // Support proxy auth object form if (proxy.auth.username || proxy.auth.password) { proxy.auth = (proxy.auth.username || '') + ':' + (proxy.auth.password || ''); } const base64 = Buffer .from(proxy.auth, 'utf8') .toString('base64'); options.headers['Proxy-Authorization'] = 'Basic ' + base64; } options.headers.host = options.hostname + (options.port ? ':' + options.port : ''); const proxyHost = proxy.hostname || proxy.host; options.hostname = proxyHost; // Replace 'host' since options is not a URL object options.host = proxyHost; options.port = proxy.port; options.path = location; if (proxy.protocol) { options.protocol = proxy.protocol.includes(':') ? proxy.protocol : `${proxy.protocol}:`; } } options.beforeRedirects.proxy = function beforeRedirect(redirectOptions) { // Configure proxy for redirected request, passing the original config proxy to apply // the exact same logic as if the redirected request was performed by axios directly. setProxy(redirectOptions, configProxy, redirectOptions.href); }; } const isHttpAdapterSupported = typeof process !== 'undefined' && utils$1.kindOf(process) === 'process'; // temporary hotfix const wrapAsync = (asyncExecutor) => { return new Promise((resolve, reject) => { let onDone; let isDone; const done = (value, isRejected) => { if (isDone) return; isDone = true; onDone && onDone(value, isRejected); }; const _resolve = (value) => { done(value); resolve(value); }; const _reject = (reason) => { done(reason, true); reject(reason); }; asyncExecutor(_resolve, _reject, (onDoneHandler) => (onDone = onDoneHandler)).catch(_reject); }) }; const resolveFamily = ({address, family}) => { if (!utils$1.isString(address)) { throw TypeError('address must be a string'); } return ({ address, family: family || (address.indexOf('.') < 0 ? 6 : 4) }); }; const buildAddressEntry = (address, family) => resolveFamily(utils$1.isObject(address) ? address : {address, family}); /*eslint consistent-return:0*/ const httpAdapter = isHttpAdapterSupported && function httpAdapter(config) { return wrapAsync(async function dispatchHttpRequest(resolve, reject, onDone) { let {data, lookup, family} = config; const {responseType, responseEncoding} = config; const method = config.method.toUpperCase(); let isDone; let rejected = false; let req; if (lookup) { const _lookup = callbackify$1(lookup, (value) => utils$1.isArray(value) ? value : [value]); // hotfix to support opt.all option which is required for node 20.x lookup = (hostname, opt, cb) => { _lookup(hostname, opt, (err, arg0, arg1) => { if (err) { return cb(err); } const addresses = utils$1.isArray(arg0) ? arg0.map(addr => buildAddressEntry(addr)) : [buildAddressEntry(arg0, arg1)]; opt.all ? cb(err, addresses) : cb(err, addresses[0].address, addresses[0].family); }); }; } // temporary internal emitter until the AxiosRequest class will be implemented const emitter = new events.EventEmitter(); const onFinished = () => { if (config.cancelToken) { config.cancelToken.unsubscribe(abort); } if (config.signal) { config.signal.removeEventListener('abort', abort); } emitter.removeAllListeners(); }; onDone((value, isRejected) => { isDone = true; if (isRejected) { rejected = true; onFinished(); } }); function abort(reason) { emitter.emit('abort', !reason || reason.type ? new CanceledError(null, config, req) : reason); } emitter.once('abort', reject); if (config.cancelToken || config.signal) { config.cancelToken && config.cancelToken.subscribe(abort); if (config.signal) { config.signal.aborted ? abort() : config.signal.addEventListener('abort', abort); } } // Parse url const fullPath = buildFullPath(config.baseURL, config.url); const parsed = new URL(fullPath, 'http://localhost'); const protocol = parsed.protocol || supportedProtocols[0]; if (protocol === 'data:') { let convertedData; if (method !== 'GET') { return settle(resolve, reject, { status: 405, statusText: 'method not allowed', headers: {}, config }); } try { convertedData = fromDataURI(config.url, responseType === 'blob', { Blob: config.env && config.env.Blob }); } catch (err) { throw AxiosError.from(err, AxiosError.ERR_BAD_REQUEST, config); } if (responseType === 'text') { convertedData = convertedData.toString(responseEncoding); if (!responseEncoding || responseEncoding === 'utf8') { convertedData = utils$1.stripBOM(convertedData); } } else if (responseType === 'stream') { convertedData = stream__default["default"].Readable.from(convertedData); } return settle(resolve, reject, { data: convertedData, status: 200, statusText: 'OK', headers: new AxiosHeaders$1(), config }); } if (supportedProtocols.indexOf(protocol) === -1) { return reject(new AxiosError( 'Unsupported protocol ' + protocol, AxiosError.ERR_BAD_REQUEST, config )); } const headers = AxiosHeaders$1.from(config.headers).normalize(); // Set User-Agent (required by some servers) // See https://github.com/axios/axios/issues/69 // User-Agent is specified; handle case where no UA header is desired // Only set header if it hasn't been set in config headers.set('User-Agent', 'axios/' + VERSION, false); const onDownloadProgress = config.onDownloadProgress; const onUploadProgress = config.onUploadProgress; const maxRate = config.maxRate; let maxUploadRate = undefined; let maxDownloadRate = undefined; // support for spec compliant FormData objects if (utils$1.isSpecCompliantForm(data)) { const userBoundary = headers.getContentType(/boundary=([-_\w\d]{10,70})/i); data = formDataToStream$1(data, (formHeaders) => { headers.set(formHeaders); }, { tag: `axios-${VERSION}-boundary`, boundary: userBoundary && userBoundary[1] || undefined }); // support for https://www.npmjs.com/package/form-data api } else if (utils$1.isFormData(data) && utils$1.isFunction(data.getHeaders)) { headers.set(data.getHeaders()); if (!headers.hasContentLength()) { try { const knownLength = await util__default["default"].promisify(data.getLength).call(data); Number.isFinite(knownLength) && knownLength >= 0 && headers.setContentLength(knownLength); /*eslint no-empty:0*/ } catch (e) { } } } else if (utils$1.isBlob(data)) { data.size && headers.setContentType(data.type || 'application/octet-stream'); headers.setContentLength(data.size || 0); data = stream__default["default"].Readable.from(readBlob$1(data)); } else if (data && !utils$1.isStream(data)) { if (Buffer.isBuffer(data)) ; else if (utils$1.isArrayBuffer(data)) { data = Buffer.from(new Uint8Array(data)); } else if (utils$1.isString(data)) { data = Buffer.from(data, 'utf-8'); } else { return reject(new AxiosError( 'Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream', AxiosError.ERR_BAD_REQUEST, config )); } // Add Content-Length header if data exists headers.setContentLength(data.length, false); if (config.maxBodyLength > -1 && data.length > config.maxBodyLength) { return reject(new AxiosError( 'Request body larger than maxBodyLength limit', AxiosError.ERR_BAD_REQUEST, config )); } } const contentLength = utils$1.toFiniteNumber(headers.getContentLength()); if (utils$1.isArray(maxRate)) { maxUploadRate = maxRate[0]; maxDownloadRate = maxRate[1]; } else { maxUploadRate = maxDownloadRate = maxRate; } if (data && (onUploadProgress || maxUploadRate)) { if (!utils$1.isStream(data)) { data = stream__default["default"].Readable.from(data, {objectMode: false}); } data = stream__default["default"].pipeline([data, new AxiosTransformStream$1({ length: contentLength, maxRate: utils$1.toFiniteNumber(maxUploadRate) })], utils$1.noop); onUploadProgress && data.on('progress', progress => { onUploadProgress(Object.assign(progress, { upload: true })); }); } // HTTP basic authentication let auth = undefined; if (config.auth) { const username = config.auth.username || ''; const password = config.auth.password || ''; auth = username + ':' + password; } if (!auth && parsed.username) { const urlUsername = parsed.username; const urlPassword = parsed.password; auth = urlUsername + ':' + urlPassword; } auth && headers.delete('authorization'); let path; try { path = buildURL( parsed.pathname + parsed.search, config.params, config.paramsSerializer ).replace(/^\?/, ''); } catch (err) { const customErr = new Error(err.message); customErr.config = config; customErr.url = config.url; customErr.exists = true; return reject(customErr); } headers.set( 'Accept-Encoding', 'gzip, compress, deflate' + (isBrotliSupported ? ', br' : ''), false ); const options = { path, method: method, headers: headers.toJSON(), agents: { http: config.httpAgent, https: config.httpsAgent }, auth, protocol, family, beforeRedirect: dispatchBeforeRedirect, beforeRedirects: {} }; // cacheable-lookup integration hotfix !utils$1.isUndefined(lookup) && (options.lookup = lookup); if (config.socketPath) { options.socketPath = config.socketPath; } else { options.hostname = parsed.hostname; options.port = parsed.port; setProxy(options, config.proxy, protocol + '//' + parsed.hostname + (parsed.port ? ':' + parsed.port : '') + options.path); } let transport; const isHttpsRequest = isHttps.test(options.protocol); options.agent = isHttpsRequest ? config.httpsAgent : config.httpAgent; if (config.transport) { transport = config.transport; } else if (config.maxRedirects === 0) { transport = isHttpsRequest ? https__default["default"] : http__default["default"]; } else { if (config.maxRedirects) { options.maxRedirects = config.maxRedirects; } if (config.beforeRedirect) { options.beforeRedirects.config = config.beforeRedirect; } transport = isHttpsRequest ? httpsFollow : httpFollow; } if (config.maxBodyLength > -1) { options.maxBodyLength = config.maxBodyLength; } else { // follow-redirects does not skip comparison, so it should always succeed for axios -1 unlimited options.maxBodyLength = Infinity; } if (config.insecureHTTPParser) { options.insecureHTTPParser = config.insecureHTTPParser; } // Create the request req = transport.request(options, function handleResponse(res) { if (req.destroyed) return; const streams = [res]; const responseLength = +res.headers['content-length']; if (onDownloadProgress) { const transformStream = new AxiosTransformStream$1({ length: utils$1.toFiniteNumber(responseLength), maxRate: utils$1.toFiniteNumber(maxDownloadRate) }); onDownloadProgress && transformStream.on('progress', progress => { onDownloadProgress(Object.assign(progress, { download: true })); }); streams.push(transformStream); } // decompress the response body transparently if required let responseStream = res; // return the last request in case of redirects const lastRequest = res.req || req; // if decompress disabled we should not decompress if (config.decompress !== false && res.headers['content-encoding']) { // if no content, but headers still say that it is encoded, // remove the header not confuse downstream operations if (method === 'HEAD' || res.statusCode === 204) { delete res.headers['content-encoding']; } switch ((res.headers['content-encoding'] || '').toLowerCase()) { /*eslint default-case:0*/ case 'gzip': case 'x-gzip': case 'compress': case 'x-compress': // add the unzipper to the body stream processing pipeline streams.push(zlib__default["default"].createUnzip(zlibOptions)); // remove the content-encoding in order to not confuse downstream operations delete res.headers['content-encoding']; break; case 'deflate': streams.push(new ZlibHeaderTransformStream$1()); // add the unzipper to the body stream processing pipeline streams.push(zlib__default["default"].createUnzip(zlibOptions)); // remove the content-encoding in order to not confuse downstream operations delete res.headers['content-encoding']; break; case 'br': if (isBrotliSupported) { streams.push(zlib__default["default"].createBrotliDecompress(brotliOptions)); delete res.headers['content-encoding']; } } } responseStream = streams.length > 1 ? stream__default["default"].pipeline(streams, utils$1.noop) : streams[0]; const offListeners = stream__default["default"].finished(responseStream, () => { offListeners(); onFinished(); }); const response = { status: res.statusCode, statusText: res.statusMessage, headers: new AxiosHeaders$1(res.headers), config, request: lastRequest }; if (responseType === 'stream') { response.data = responseStream; settle(resolve, reject, response); } else { const responseBuffer = []; let totalResponseBytes = 0; responseStream.on('data', function handleStreamData(chunk) { responseBuffer.push(chunk); totalResponseBytes += chunk.length; // make sure the content length is not over the maxContentLength if specified if (config.maxContentLength > -1 && totalResponseBytes > config.maxContentLength) { // stream.destroy() emit aborted event before calling reject() on Node.js v16 rejected = true; responseStream.destroy(); reject(new AxiosError('maxContentLength size of ' + config.maxContentLength + ' exceeded', AxiosError.ERR_BAD_RESPONSE, config, lastRequest)); } }); responseStream.on('aborted', function handlerStreamAborted() { if (rejected) { return; } const err = new AxiosError( 'maxContentLength size of ' + config.maxContentLength + ' exceeded', AxiosError.ERR_BAD_RESPONSE, config, lastRequest ); responseStream.destroy(err); reject(err); }); responseStream.on('error', function handleStreamError(err) { if (req.destroyed) return; reject(AxiosError.from(err, null, config, lastRequest)); }); responseStream.on('end', function handleStreamEnd() { try { let responseData = responseBuffer.length === 1 ? responseBuffer[0] : Buffer.concat(responseBuffer); if (responseType !== 'arraybuffer') { responseData = responseData.toString(responseEncoding); if (!responseEncoding || responseEncoding === 'utf8') { responseData = utils$1.stripBOM(responseData); } } response.data = responseData; } catch (err) { return reject(AxiosError.from(err, null, config, response.request, response)); } settle(resolve, reject, response); }); } emitter.once('abort', err => { if (!responseStream.destroyed) { responseStream.emit('error', err); responseStream.destroy(); } }); }); emitter.once('abort', err => { reject(err); req.destroy(err); }); // Handle errors req.on('error', function handleRequestError(err) { // @todo remove // if (req.aborted && err.code !== AxiosError.ERR_FR_TOO_MANY_REDIRECTS) return; reject(AxiosError.from(err, null, config, req)); }); // set tcp keep alive to prevent drop connection by peer req.on('socket', function handleRequestSocket(socket) { // default interval of sending ack packet is 1 minute socket.setKeepAlive(true, 1000 * 60); }); // Handle request timeout if (config.timeout) { // This is forcing a int timeout to avoid problems if the `req` interface doesn't handle other types. const timeout = parseInt(config.timeout, 10); if (Number.isNaN(timeout)) { reject(new AxiosError( 'error trying to parse `config.timeout` to int', AxiosError.ERR_BAD_OPTION_VALUE, config, req )); return; } // Sometime, the response will be very slow, and does not respond, the connect event will be block by event loop system. // And timer callback will be fired, and abort() will be invoked before connection, then get "socket hang up" and code ECONNRESET. // At this time, if we have a large number of request, nodejs will hang up some socket on background. and the number will up and up. // And then these socket which be hang up will devouring CPU little by little. // ClientRequest.setTimeout will be fired on the specify milliseconds, and can make sure that abort() will be fired after connect. req.setTimeout(timeout, function handleRequestTimeout() { if (isDone) return; let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded'; const transitional = config.transitional || transitionalDefaults; if (config.timeoutErrorMessage) { timeoutErrorMessage = config.timeoutErrorMessage; } reject(new AxiosError( timeoutErrorMessage, transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED, config, req )); abort(); }); } // Send the request if (utils$1.isStream(data)) { let ended = false; let errored = false; data.on('end', () => { ended = true; }); data.once('error', err => { errored = true; req.destroy(err); }); data.on('close', () => { if (!ended && !errored) { abort(new CanceledError('Request stream has been aborted', config, req)); } }); data.pipe(req); } else { req.end(data); } }); }; const progressEventReducer = (listener, isDownloadStream, freq = 3) => { let bytesNotified = 0; const _speedometer = speedometer(50, 250); return throttle(e => { const loaded = e.loaded; const total = e.lengthComputable ? e.total : undefined; const progressBytes = loaded - bytesNotified; const rate = _speedometer(progressBytes); const inRange = loaded <= total; bytesNotified = loaded; const data = { loaded, total, progress: total ? (loaded / total) : undefined, bytes: progressBytes, rate: rate ? rate : undefined, estimated: rate && total && inRange ? (total - loaded) / rate : undefined, event: e, lengthComputable: total != null }; data[isDownloadStream ? 'download' : 'upload'] = true; listener(data); }, freq); }; const isURLSameOrigin = platform.hasStandardBrowserEnv ? // Standard browser envs have full support of the APIs needed to test // whether the request URL is of the same origin as current location. (function standardBrowserEnv() { const msie = /(msie|trident)/i.test(navigator.userAgent); const urlParsingNode = document.createElement('a'); let originURL; /** * Parse a URL to discover its components * * @param {String} url The URL to be parsed * @returns {Object} */ function resolveURL(url) { let href = url; if (msie) { // IE needs attribute set twice to normalize properties urlParsingNode.setAttribute('href', href); href = urlParsingNode.href; } urlParsingNode.setAttribute('href', href); // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils return { href: urlParsingNode.href, protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '', host: urlParsingNode.host, search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, '') : '', hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '', hostname: urlParsingNode.hostname, port: urlParsingNode.port, pathname: (urlParsingNode.pathname.charAt(0) === '/') ? urlParsingNode.pathname : '/' + urlParsingNode.pathname }; } originURL = resolveURL(window.location.href); /** * Determine if a URL shares the same origin as the current location * * @param {String} requestURL The URL to test * @returns {boolean} True if URL shares the same origin, otherwise false */ return function isURLSameOrigin(requestURL) { const parsed = (utils$1.isString(requestURL)) ? resolveURL(requestURL) : requestURL; return (parsed.protocol === originURL.protocol && parsed.host === originURL.host); }; })() : // Non standard browser envs (web workers, react-native) lack needed support. (function nonStandardBrowserEnv() { return function isURLSameOrigin() { return true; }; })(); const cookies = platform.hasStandardBrowserEnv ? // Standard browser envs support document.cookie { write(name, value, expires, path, domain, secure) { const cookie = [name + '=' + encodeURIComponent(value)]; utils$1.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString()); utils$1.isString(path) && cookie.push('path=' + path); utils$1.isString(domain) && cookie.push('domain=' + domain); secure === true && cookie.push('secure'); document.cookie = cookie.join('; '); }, read(name) { const match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)')); return (match ? decodeURIComponent(match[3]) : null); }, remove(name) { this.write(name, '', Date.now() - 86400000); } } : // Non-standard browser env (web workers, react-native) lack needed support. { write() {}, read() { return null; }, remove() {} }; const headersToObject = (thing) => thing instanceof AxiosHeaders$1 ? { ...thing } : thing; /** * Config-specific merge-function which creates a new config-object * by merging two configuration objects together. * * @param {Object} config1 * @param {Object} config2 * * @returns {Object} New object resulting from merging config2 to config1 */ function mergeConfig(config1, config2) { // eslint-disable-next-line no-param-reassign config2 = config2 || {}; const config = {}; function getMergedValue(target, source, caseless) { if (utils$1.isPlainObject(target) && utils$1.isPlainObject(source)) { return utils$1.merge.call({caseless}, target, source); } else if (utils$1.isPlainObject(source)) { return utils$1.merge({}, source); } else if (utils$1.isArray(source)) { return source.slice(); } return source; } // eslint-disable-next-line consistent-return function mergeDeepProperties(a, b, caseless) { if (!utils$1.isUndefined(b)) { return getMergedValue(a, b, caseless); } else if (!utils$1.isUndefined(a)) { return getMergedValue(undefined, a, caseless); } } // eslint-disable-next-line consistent-return function valueFromConfig2(a, b) { if (!utils$1.isUndefined(b)) { return getMergedValue(undefined, b); } } // eslint-disable-next-line consistent-return function defaultToConfig2(a, b) { if (!utils$1.isUndefined(b)) { return getMergedValue(undefined, b); } else if (!utils$1.isUndefined(a)) { return getMergedValue(undefined, a); } } // eslint-disable-next-line consistent-return function mergeDirectKeys(a, b, prop) { if (prop in config2) { return getMergedValue(a, b); } else if (prop in config1) { return getMergedValue(undefined, a); } } const mergeMap = { url: valueFromConfig2, method: valueFromConfig2, data: valueFromConfig2, baseURL: defaultToConfig2, transformRequest: defaultToConfig2, transformResponse: defaultToConfig2, paramsSerializer: defaultToConfig2, timeout: defaultToConfig2, timeoutMessage: defaultToConfig2, withCredentials: defaultToConfig2, withXSRFToken: defaultToConfig2, adapter: defaultToConfig2, responseType: defaultToConfig2, xsrfCookieName: defaultToConfig2, xsrfHeaderName: defaultToConfig2, onUploadProgress: defaultToConfig2, onDownloadProgress: defaultToConfig2, decompress: defaultToConfig2, maxContentLength: defaultToConfig2, maxBodyLength: defaultToConfig2, beforeRedirect: defaultToConfig2, transport: defaultToConfig2, httpAgent: defaultToConfig2, httpsAgent: defaultToConfig2, cancelToken: defaultToConfig2, socketPath: defaultToConfig2, responseEncoding: defaultToConfig2, validateStatus: mergeDirectKeys, headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true) }; utils$1.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) { const merge = mergeMap[prop] || mergeDeepProperties; const configValue = merge(config1[prop], config2[prop], prop); (utils$1.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue); }); return config; } const resolveConfig = (config) => { const newConfig = mergeConfig({}, config); let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig; newConfig.headers = headers = AxiosHeaders$1.from(headers); newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer); // HTTP basic authentication if (auth) { headers.set('Authorization', 'Basic ' + btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : '')) ); } let contentType; if (utils$1.isFormData(data)) { if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) { headers.setContentType(undefined); // Let the browser set it } else if ((contentType = headers.getContentType()) !== false) { // fix semicolon duplication issue for ReactNative FormData implementation const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : []; headers.setContentType([type || 'multipart/form-data', ...tokens].join('; ')); } } // Add xsrf header // This is only done if running in a standard browser environment. // Specifically not if we're in a web worker, or react-native. if (platform.hasStandardBrowserEnv) { withXSRFToken && utils$1.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig)); if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) { // Add xsrf header const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName); if (xsrfValue) { headers.set(xsrfHeaderName, xsrfValue); } } } return newConfig; }; const isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined'; const xhrAdapter = isXHRAdapterSupported && function (config) { return new Promise(function dispatchXhrRequest(resolve, reject) { const _config = resolveConfig(config); let requestData = _config.data; const requestHeaders = AxiosHeaders$1.from(_config.headers).normalize(); let {responseType} = _config; let onCanceled; function done() { if (_config.cancelToken) { _config.cancelToken.unsubscribe(onCanceled); } if (_config.signal) { _config.signal.removeEventListener('abort', onCanceled); } } let request = new XMLHttpRequest(); request.open(_config.method.toUpperCase(), _config.url, true); // Set the request timeout in MS request.timeout = _config.timeout; function onloadend() { if (!request) { return; } // Prepare the response const responseHeaders = AxiosHeaders$1.from( 'getAllResponseHeaders' in request && request.getAllResponseHeaders() ); const responseData = !responseType || responseType === 'text' || responseType === 'json' ? request.responseText : request.response; const response = { data: responseData, status: request.status, statusText: request.statusText, headers: responseHeaders, config, request }; settle(function _resolve(value) { resolve(value); done(); }, function _reject(err) { reject(err); done(); }, response); // Clean up request request = null; } if ('onloadend' in request) { // Use onloadend if available request.onloadend = onloadend; } else { // Listen for ready state to emulate onloadend request.onreadystatechange = function handleLoad() { if (!request || request.readyState !== 4) { return; } // The request errored out and we didn't get a response, this will be // handled by onerror instead // With one exception: request that using file: protocol, most browsers // will return status as 0 even though it's a successful request if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) { return; } // readystate handler is calling before onerror or ontimeout handlers, // so we should call onloadend on the next 'tick' setTimeout(onloadend); }; } // Handle browser request cancellation (as opposed to a manual cancellation) request.onabort = function handleAbort() { if (!request) { return; } reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, _config, request)); // Clean up request request = null; }; // Handle low level network errors request.onerror = function handleError() { // Real errors are hidden from us by the browser // onerror should only fire if it's a network error reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, _config, request)); // Clean up request request = null; }; // Handle timeout request.ontimeout = function handleTimeout() { let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded'; const transitional = _config.transitional || transitionalDefaults; if (_config.timeoutErrorMessage) { timeoutErrorMessage = _config.timeoutErrorMessage; } reject(new AxiosError( timeoutErrorMessage, transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED, _config, request)); // Clean up request request = null; }; // Remove Content-Type if data is undefined requestData === undefined && requestHeaders.setContentType(null); // Add headers to the request if ('setRequestHeader' in request) { utils$1.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) { request.setRequestHeader(key, val); }); } // Add withCredentials to request if needed if (!utils$1.isUndefined(_config.withCredentials)) { request.withCredentials = !!_config.withCredentials; } // Add responseType to request if needed if (responseType && responseType !== 'json') { request.responseType = _config.responseType; } // Handle progress if needed if (typeof _config.onDownloadProgress === 'function') { request.addEventListener('progress', progressEventReducer(_config.onDownloadProgress, true)); } // Not all browsers support upload events if (typeof _config.onUploadProgress === 'function' && request.upload) { request.upload.addEventListener('progress', progressEventReducer(_config.onUploadProgress)); } if (_config.cancelToken || _config.signal) { // Handle cancellation // eslint-disable-next-line func-names onCanceled = cancel => { if (!request) { return; } reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel); request.abort(); request = null; }; _config.cancelToken && _config.cancelToken.subscribe(onCanceled); if (_config.signal) { _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled); } } const protocol = parseProtocol(_config.url); if (protocol && platform.protocols.indexOf(protocol) === -1) { reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config)); return; } // Send the request request.send(requestData || null); }); }; const composeSignals = (signals, timeout) => { let controller = new AbortController(); let aborted; const onabort = function (cancel) { if (!aborted) { aborted = true; unsubscribe(); const err = cancel instanceof Error ? cancel : this.reason; controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err)); } }; let timer = timeout && setTimeout(() => { onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT)); }, timeout); const unsubscribe = () => { if (signals) { timer && clearTimeout(timer); timer = null; signals.forEach(signal => { signal && (signal.removeEventListener ? signal.removeEventListener('abort', onabort) : signal.unsubscribe(onabort)); }); signals = null; } }; signals.forEach((signal) => signal && signal.addEventListener && signal.addEventListener('abort', onabort)); const {signal} = controller; signal.unsubscribe = unsubscribe; return [signal, () => { timer && clearTimeout(timer); timer = null; }]; }; const composeSignals$1 = composeSignals; const streamChunk = function* (chunk, chunkSize) { let len = chunk.byteLength; if (!chunkSize || len < chunkSize) { yield chunk; return; } let pos = 0; let end; while (pos < len) { end = pos + chunkSize; yield chunk.slice(pos, end); pos = end; } }; const readBytes = async function* (iterable, chunkSize, encode) { for await (const chunk of iterable) { yield* streamChunk(ArrayBuffer.isView(chunk) ? chunk : (await encode(String(chunk))), chunkSize); } }; const trackStream = (stream, chunkSize, onProgress, onFinish, encode) => { const iterator = readBytes(stream, chunkSize, encode); let bytes = 0; return new ReadableStream({ type: 'bytes', async pull(controller) { const {done, value} = await iterator.next(); if (done) { controller.close(); onFinish(); return; } let len = value.byteLength; onProgress && onProgress(bytes += len); controller.enqueue(new Uint8Array(value)); }, cancel(reason) { onFinish(reason); return iterator.return(); } }, { highWaterMark: 2 }) }; const fetchProgressDecorator = (total, fn) => { const lengthComputable = total != null; return (loaded) => setTimeout(() => fn({ lengthComputable, total, loaded })); }; const isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function'; const isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function'; // used only inside the fetch adapter const encodeText = isFetchSupported && (typeof TextEncoder === 'function' ? ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) : async (str) => new Uint8Array(await new Response(str).arrayBuffer()) ); const supportsRequestStream = isReadableStreamSupported && (() => { let duplexAccessed = false; const hasContentType = new Request(platform.origin, { body: new ReadableStream(), method: 'POST', get duplex() { duplexAccessed = true; return 'half'; }, }).headers.has('Content-Type'); return duplexAccessed && !hasContentType; })(); const DEFAULT_CHUNK_SIZE = 64 * 1024; const supportsResponseStream = isReadableStreamSupported && !!(()=> { try { return utils$1.isReadableStream(new Response('').body); } catch(err) { // return undefined } })(); const resolvers = { stream: supportsResponseStream && ((res) => res.body) }; isFetchSupported && (((res) => { ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => { !resolvers[type] && (resolvers[type] = utils$1.isFunction(res[type]) ? (res) => res[type]() : (_, config) => { throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config); }); }); })(new Response)); const getBodyLength = async (body) => { if (body == null) { return 0; } if(utils$1.isBlob(body)) { return body.size; } if(utils$1.isSpecCompliantForm(body)) { return (await new Request(body).arrayBuffer()).byteLength; } if(utils$1.isArrayBufferView(body)) { return body.byteLength; } if(utils$1.isURLSearchParams(body)) { body = body + ''; } if(utils$1.isString(body)) { return (await encodeText(body)).byteLength; } }; const resolveBodyLength = async (headers, body) => { const length = utils$1.toFiniteNumber(headers.getContentLength()); return length == null ? getBodyLength(body) : length; }; const fetchAdapter = isFetchSupported && (async (config) => { let { url, method, data, signal, cancelToken, timeout, onDownloadProgress, onUploadProgress, responseType, headers, withCredentials = 'same-origin', fetchOptions } = resolveConfig(config); responseType = responseType ? (responseType + '').toLowerCase() : 'text'; let [composedSignal, stopTimeout] = (signal || cancelToken || timeout) ? composeSignals$1([signal, cancelToken], timeout) : []; let finished, request; const onFinish = () => { !finished && setTimeout(() => { composedSignal && composedSignal.unsubscribe(); }); finished = true; }; let requestContentLength; try { if ( onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' && (requestContentLength = await resolveBodyLength(headers, data)) !== 0 ) { let _request = new Request(url, { method: 'POST', body: data, duplex: "half" }); let contentTypeHeader; if (utils$1.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) { headers.setContentType(contentTypeHeader); } if (_request.body) { data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, fetchProgressDecorator( requestContentLength, progressEventReducer(onUploadProgress) ), null, encodeText); } } if (!utils$1.isString(withCredentials)) { withCredentials = withCredentials ? 'cors' : 'omit'; } request = new Request(url, { ...fetchOptions, signal: composedSignal, method: method.toUpperCase(), headers: headers.normalize().toJSON(), body: data, duplex: "half", withCredentials }); let response = await fetch(request); const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response'); if (supportsResponseStream && (onDownloadProgress || isStreamResponse)) { const options = {}; ['status', 'statusText', 'headers'].forEach(prop => { options[prop] = response[prop]; }); const responseContentLength = utils$1.toFiniteNumber(response.headers.get('content-length')); response = new Response( trackStream(response.body, DEFAULT_CHUNK_SIZE, onDownloadProgress && fetchProgressDecorator( responseContentLength, progressEventReducer(onDownloadProgress, true) ), isStreamResponse && onFinish, encodeText), options ); } responseType = responseType || 'text'; let responseData = await resolvers[utils$1.findKey(resolvers, responseType) || 'text'](response, config); !isStreamResponse && onFinish(); stopTimeout && stopTimeout(); return await new Promise((resolve, reject) => { settle(resolve, reject, { data: responseData, headers: AxiosHeaders$1.from(response.headers), status: response.status, statusText: response.statusText, config, request }); }) } catch (err) { onFinish(); if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) { throw Object.assign( new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request), { cause: err.cause || err } ) } throw AxiosError.from(err, err && err.code, config, request); } }); const knownAdapters = { http: httpAdapter, xhr: xhrAdapter, fetch: fetchAdapter }; utils$1.forEach(knownAdapters, (fn, value) => { if (fn) { try { Object.defineProperty(fn, 'name', {value}); } catch (e) { // eslint-disable-next-line no-empty } Object.defineProperty(fn, 'adapterName', {value}); } }); const renderReason = (reason) => `- ${reason}`; const isResolvedHandle = (adapter) => utils$1.isFunction(adapter) || adapter === null || adapter === false; const adapters = { getAdapter: (adapters) => { adapters = utils$1.isArray(adapters) ? adapters : [adapters]; const {length} = adapters; let nameOrAdapter; let adapter; const rejectedReasons = {}; for (let i = 0; i < length; i++) { nameOrAdapter = adapters[i]; let id; adapter = nameOrAdapter; if (!isResolvedHandle(nameOrAdapter)) { adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()]; if (adapter === undefined) { throw new AxiosError(`Unknown adapter '${id}'`); } } if (adapter) { break; } rejectedReasons[id || '#' + i] = adapter; } if (!adapter) { const reasons = Object.entries(rejectedReasons) .map(([id, state]) => `adapter ${id} ` + (state === false ? 'is not supported by the environment' : 'is not available in the build') ); let s = length ? (reasons.length > 1 ? 'since :\n' + reasons.map(renderReason).join('\n') : ' ' + renderReason(reasons[0])) : 'as no adapter specified'; throw new AxiosError( `There is no suitable adapter to dispatch the request ` + s, 'ERR_NOT_SUPPORT' ); } return adapter; }, adapters: knownAdapters }; /** * Throws a `CanceledError` if cancellation has been requested. * * @param {Object} config The config that is to be used for the request * * @returns {void} */ function throwIfCancellationRequested(config) { if (config.cancelToken) { config.cancelToken.throwIfRequested(); } if (config.signal && config.signal.aborted) { throw new CanceledError(null, config); } } /** * Dispatch a request to the server using the configured adapter. * * @param {object} config The config that is to be used for the request * * @returns {Promise} The Promise to be fulfilled */ function dispatchRequest(config) { throwIfCancellationRequested(config); config.headers = AxiosHeaders$1.from(config.headers); // Transform request data config.data = transformData.call( config, config.transformRequest ); if (['post', 'put', 'patch'].indexOf(config.method) !== -1) { config.headers.setContentType('application/x-www-form-urlencoded', false); } const adapter = adapters.getAdapter(config.adapter || defaults$1.adapter); return adapter(config).then(function onAdapterResolution(response) { throwIfCancellationRequested(config); // Transform response data response.data = transformData.call( config, config.transformResponse, response ); response.headers = AxiosHeaders$1.from(response.headers); return response; }, function onAdapterRejection(reason) { if (!isCancel(reason)) { throwIfCancellationRequested(config); // Transform response data if (reason && reason.response) { reason.response.data = transformData.call( config, config.transformResponse, reason.response ); reason.response.headers = AxiosHeaders$1.from(reason.response.headers); } } return Promise.reject(reason); }); } const validators$1 = {}; // eslint-disable-next-line func-names ['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => { validators$1[type] = function validator(thing) { return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type; }; }); const deprecatedWarnings = {}; /** * Transitional option validator * * @param {function|boolean?} validator - set to false if the transitional option has been removed * @param {string?} version - deprecated version / removed since version * @param {string?} message - some message with additional info * * @returns {function} */ validators$1.transitional = function transitional(validator, version, message) { function formatMessage(opt, desc) { return '[Axios v' + VERSION + '] Transitional option \'' + opt + '\'' + desc + (message ? '. ' + message : ''); } // eslint-disable-next-line func-names return (value, opt, opts) => { if (validator === false) { throw new AxiosError( formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')), AxiosError.ERR_DEPRECATED ); } if (version && !deprecatedWarnings[opt]) { deprecatedWarnings[opt] = true; // eslint-disable-next-line no-console console.warn( formatMessage( opt, ' has been deprecated since v' + version + ' and will be removed in the near future' ) ); } return validator ? validator(value, opt, opts) : true; }; }; /** * Assert object's properties type * * @param {object} options * @param {object} schema * @param {boolean?} allowUnknown * * @returns {object} */ function assertOptions(options, schema, allowUnknown) { if (typeof options !== 'object') { throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE); } const keys = Object.keys(options); let i = keys.length; while (i-- > 0) { const opt = keys[i]; const validator = schema[opt]; if (validator) { const value = options[opt]; const result = value === undefined || validator(value, opt, options); if (result !== true) { throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE); } continue; } if (allowUnknown !== true) { throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION); } } } const validator = { assertOptions, validators: validators$1 }; const validators = validator.validators; /** * Create a new instance of Axios * * @param {Object} instanceConfig The default config for the instance * * @return {Axios} A new instance of Axios */ class Axios { constructor(instanceConfig) { this.defaults = instanceConfig; this.interceptors = { request: new InterceptorManager$1(), response: new InterceptorManager$1() }; } /** * Dispatch a request * * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults) * @param {?Object} config * * @returns {Promise} The Promise to be fulfilled */ async request(configOrUrl, config) { try { return await this._request(configOrUrl, config); } catch (err) { if (err instanceof Error) { let dummy; Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error()); // slice off the Error: ... line const stack = dummy.stack ? dummy.stack.replace(/^.+\n/, '') : ''; try { if (!err.stack) { err.stack = stack; // match without the 2 top stack lines } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\n.+\n/, ''))) { err.stack += '\n' + stack; } } catch (e) { // ignore the case where "stack" is an un-writable property } } throw err; } } _request(configOrUrl, config) { /*eslint no-param-reassign:0*/ // Allow for axios('example/url'[, config]) a la fetch API if (typeof configOrUrl === 'string') { config = config || {}; config.url = configOrUrl; } else { config = configOrUrl || {}; } config = mergeConfig(this.defaults, config); const {transitional, paramsSerializer, headers} = config; if (transitional !== undefined) { validator.assertOptions(transitional, { silentJSONParsing: validators.transitional(validators.boolean), forcedJSONParsing: validators.transitional(validators.boolean), clarifyTimeoutError: validators.transitional(validators.boolean) }, false); } if (paramsSerializer != null) { if (utils$1.isFunction(paramsSerializer)) { config.paramsSerializer = { serialize: paramsSerializer }; } else { validator.assertOptions(paramsSerializer, { encode: validators.function, serialize: validators.function }, true); } } // Set config.method config.method = (config.method || this.defaults.method || 'get').toLowerCase(); // Flatten headers let contextHeaders = headers && utils$1.merge( headers.common, headers[config.method] ); headers && utils$1.forEach( ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], (method) => { delete headers[method]; } ); config.headers = AxiosHeaders$1.concat(contextHeaders, headers); // filter out skipped interceptors const requestInterceptorChain = []; let synchronousRequestInterceptors = true; this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) { return; } synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous; requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected); }); const responseInterceptorChain = []; this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) { responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected); }); let promise; let i = 0; let len; if (!synchronousRequestInterceptors) { const chain = [dispatchRequest.bind(this), undefined]; chain.unshift.apply(chain, requestInterceptorChain); chain.push.apply(chain, responseInterceptorChain); len = chain.length; promise = Promise.resolve(config); while (i < len) { promise = promise.then(chain[i++], chain[i++]); } return promise; } len = requestInterceptorChain.length; let newConfig = config; i = 0; while (i < len) { const onFulfilled = requestInterceptorChain[i++]; const onRejected = requestInterceptorChain[i++]; try { newConfig = onFulfilled(newConfig); } catch (error) { onRejected.call(this, error); break; } } try { promise = dispatchRequest.call(this, newConfig); } catch (error) { return Promise.reject(error); } i = 0; len = responseInterceptorChain.length; while (i < len) { promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]); } return promise; } getUri(config) { config = mergeConfig(this.defaults, config); const fullPath = buildFullPath(config.baseURL, config.url); return buildURL(fullPath, config.params, config.paramsSerializer); } } // Provide aliases for supported request methods utils$1.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) { /*eslint func-names:0*/ Axios.prototype[method] = function(url, config) { return this.request(mergeConfig(config || {}, { method, url, data: (config || {}).data })); }; }); utils$1.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { /*eslint func-names:0*/ function generateHTTPMethod(isForm) { return function httpMethod(url, data, config) { return this.request(mergeConfig(config || {}, { method, headers: isForm ? { 'Content-Type': 'multipart/form-data' } : {}, url, data })); }; } Axios.prototype[method] = generateHTTPMethod(); Axios.prototype[method + 'Form'] = generateHTTPMethod(true); }); const Axios$1 = Axios; /** * A `CancelToken` is an object that can be used to request cancellation of an operation. * * @param {Function} executor The executor function. * * @returns {CancelToken} */ class CancelToken { constructor(executor) { if (typeof executor !== 'function') { throw new TypeError('executor must be a function.'); } let resolvePromise; this.promise = new Promise(function promiseExecutor(resolve) { resolvePromise = resolve; }); const token = this; // eslint-disable-next-line func-names this.promise.then(cancel => { if (!token._listeners) return; let i = token._listeners.length; while (i-- > 0) { token._listeners[i](cancel); } token._listeners = null; }); // eslint-disable-next-line func-names this.promise.then = onfulfilled => { let _resolve; // eslint-disable-next-line func-names const promise = new Promise(resolve => { token.subscribe(resolve); _resolve = resolve; }).then(onfulfilled); promise.cancel = function reject() { token.unsubscribe(_resolve); }; return promise; }; executor(function cancel(message, config, request) { if (token.reason) { // Cancellation has already been requested return; } token.reason = new CanceledError(message, config, request); resolvePromise(token.reason); }); } /** * Throws a `CanceledError` if cancellation has been requested. */ throwIfRequested() { if (this.reason) { throw this.reason; } } /** * Subscribe to the cancel signal */ subscribe(listener) { if (this.reason) { listener(this.reason); return; } if (this._listeners) { this._listeners.push(listener); } else { this._listeners = [listener]; } } /** * Unsubscribe from the cancel signal */ unsubscribe(listener) { if (!this._listeners) { return; } const index = this._listeners.indexOf(listener); if (index !== -1) { this._listeners.splice(index, 1); } } /** * Returns an object that contains a new `CancelToken` and a function that, when called, * cancels the `CancelToken`. */ static source() { let cancel; const token = new CancelToken(function executor(c) { cancel = c; }); return { token, cancel }; } } const CancelToken$1 = CancelToken; /** * Syntactic sugar for invoking a function and expanding an array for arguments. * * Common use case would be to use `Function.prototype.apply`. * * ```js * function f(x, y, z) {} * var args = [1, 2, 3]; * f.apply(null, args); * ``` * * With `spread` this example can be re-written. * * ```js * spread(function(x, y, z) {})([1, 2, 3]); * ``` * * @param {Function} callback * * @returns {Function} */ function spread(callback) { return function wrap(arr) { return callback.apply(null, arr); }; } /** * Determines whether the payload is an error thrown by Axios * * @param {*} payload The value to test * * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false */ function isAxiosError(payload) { return utils$1.isObject(payload) && (payload.isAxiosError === true); } const HttpStatusCode = { Continue: 100, SwitchingProtocols: 101, Processing: 102, EarlyHints: 103, Ok: 200, Created: 201, Accepted: 202, NonAuthoritativeInformation: 203, NoContent: 204, ResetContent: 205, PartialContent: 206, MultiStatus: 207, AlreadyReported: 208, ImUsed: 226, MultipleChoices: 300, MovedPermanently: 301, Found: 302, SeeOther: 303, NotModified: 304, UseProxy: 305, Unused: 306, TemporaryRedirect: 307, PermanentRedirect: 308, BadRequest: 400, Unauthorized: 401, PaymentRequired: 402, Forbidden: 403, NotFound: 404, MethodNotAllowed: 405, NotAcceptable: 406, ProxyAuthenticationRequired: 407, RequestTimeout: 408, Conflict: 409, Gone: 410, LengthRequired: 411, PreconditionFailed: 412, PayloadTooLarge: 413, UriTooLong: 414, UnsupportedMediaType: 415, RangeNotSatisfiable: 416, ExpectationFailed: 417, ImATeapot: 418, MisdirectedRequest: 421, UnprocessableEntity: 422, Locked: 423, FailedDependency: 424, TooEarly: 425, UpgradeRequired: 426, PreconditionRequired: 428, TooManyRequests: 429, RequestHeaderFieldsTooLarge: 431, UnavailableForLegalReasons: 451, InternalServerError: 500, NotImplemented: 501, BadGateway: 502, ServiceUnavailable: 503, GatewayTimeout: 504, HttpVersionNotSupported: 505, VariantAlsoNegotiates: 506, InsufficientStorage: 507, LoopDetected: 508, NotExtended: 510, NetworkAuthenticationRequired: 511, }; Object.entries(HttpStatusCode).forEach(([key, value]) => { HttpStatusCode[value] = key; }); const HttpStatusCode$1 = HttpStatusCode; /** * Create an instance of Axios * * @param {Object} defaultConfig The default config for the instance * * @returns {Axios} A new instance of Axios */ function createInstance(defaultConfig) { const context = new Axios$1(defaultConfig); const instance = bind(Axios$1.prototype.request, context); // Copy axios.prototype to instance utils$1.extend(instance, Axios$1.prototype, context, {allOwnKeys: true}); // Copy context to instance utils$1.extend(instance, context, null, {allOwnKeys: true}); // Factory for creating new instances instance.create = function create(instanceConfig) { return createInstance(mergeConfig(defaultConfig, instanceConfig)); }; return instance; } // Create the default instance to be exported const axios = createInstance(defaults$1); // Expose Axios class to allow class inheritance axios.Axios = Axios$1; // Expose Cancel & CancelToken axios.CanceledError = CanceledError; axios.CancelToken = CancelToken$1; axios.isCancel = isCancel; axios.VERSION = VERSION; axios.toFormData = toFormData; // Expose AxiosError class axios.AxiosError = AxiosError; // alias for CanceledError for backward compatibility axios.Cancel = axios.CanceledError; // Expose all/spread axios.all = function all(promises) { return Promise.all(promises); }; axios.spread = spread; // Expose isAxiosError axios.isAxiosError = isAxiosError; // Expose mergeConfig axios.mergeConfig = mergeConfig; axios.AxiosHeaders = AxiosHeaders$1; axios.formToJSON = thing => formDataToJSON(utils$1.isHTMLForm(thing) ? new FormData(thing) : thing); axios.getAdapter = adapters.getAdapter; axios.HttpStatusCode = HttpStatusCode$1; axios.default = axios; module.exports = axios; //# sourceMappingURL=axios.cjs.map PK�}�\"P�"NNnode/axios.cjs.mapnu�[���{"version":3,"file":"axios.cjs","sources":["../../lib/helpers/bind.js","../../lib/utils.js","../../lib/core/AxiosError.js","../../lib/helpers/toFormData.js","../../lib/helpers/AxiosURLSearchParams.js","../../lib/helpers/buildURL.js","../../lib/core/InterceptorManager.js","../../lib/defaults/transitional.js","../../lib/platform/node/classes/URLSearchParams.js","../../lib/platform/node/index.js","../../lib/platform/common/utils.js","../../lib/platform/index.js","../../lib/helpers/toURLEncodedForm.js","../../lib/helpers/formDataToJSON.js","../../lib/defaults/index.js","../../lib/helpers/parseHeaders.js","../../lib/core/AxiosHeaders.js","../../lib/core/transformData.js","../../lib/cancel/isCancel.js","../../lib/cancel/CanceledError.js","../../lib/core/settle.js","../../lib/helpers/isAbsoluteURL.js","../../lib/helpers/combineURLs.js","../../lib/core/buildFullPath.js","../../lib/env/data.js","../../lib/helpers/parseProtocol.js","../../lib/helpers/fromDataURI.js","../../lib/helpers/throttle.js","../../lib/helpers/speedometer.js","../../lib/helpers/AxiosTransformStream.js","../../lib/helpers/readBlob.js","../../lib/helpers/formDataToStream.js","../../lib/helpers/ZlibHeaderTransformStream.js","../../lib/helpers/callbackify.js","../../lib/adapters/http.js","../../lib/helpers/progressEventReducer.js","../../lib/helpers/isURLSameOrigin.js","../../lib/helpers/cookies.js","../../lib/core/mergeConfig.js","../../lib/helpers/resolveConfig.js","../../lib/adapters/xhr.js","../../lib/helpers/composeSignals.js","../../lib/helpers/trackStream.js","../../lib/adapters/fetch.js","../../lib/adapters/adapters.js","../../lib/core/dispatchRequest.js","../../lib/helpers/validator.js","../../lib/core/Axios.js","../../lib/cancel/CancelToken.js","../../lib/helpers/spread.js","../../lib/helpers/isAxiosError.js","../../lib/helpers/HttpStatusCode.js","../../lib/axios.js"],"sourcesContent":["'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object<any, any>} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array<boolean>}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array<any>} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object<any, any>} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object<string, any>} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array<String|Number>} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object<string, any>} params - The parameters to be converted to a FormData object.\n * @param {Object<string, any>} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nimport url from 'url';\nexport default url.URLSearchParams;\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\n\nexport default {\n isNode: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob: typeof Blob !== 'undefined' && Blob || null\n },\n protocols: [ 'http', 'https', 'file', 'data' ]\n};\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = (\n (product) => {\n return hasBrowserEnv && ['ReactNative', 'NativeScript', 'NS'].indexOf(product) < 0\n })(typeof navigator !== 'undefined' && navigator.product);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array<any>} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object<string, any> | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isHeaders(header)) {\n for (const [key, value] of header.entries()) {\n setHeader(value, key, rewrite);\n }\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","export const VERSION = \"1.7.2\";","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport parseProtocol from './parseProtocol.js';\nimport platform from '../platform/index.js';\n\nconst DATA_URL_PATTERN = /^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\\s\\S]*)$/;\n\n/**\n * Parse data uri to a Buffer or Blob\n *\n * @param {String} uri\n * @param {?Boolean} asBlob\n * @param {?Object} options\n * @param {?Function} options.Blob\n *\n * @returns {Buffer|Blob}\n */\nexport default function fromDataURI(uri, asBlob, options) {\n const _Blob = options && options.Blob || platform.classes.Blob;\n const protocol = parseProtocol(uri);\n\n if (asBlob === undefined && _Blob) {\n asBlob = true;\n }\n\n if (protocol === 'data') {\n uri = protocol.length ? uri.slice(protocol.length + 1) : uri;\n\n const match = DATA_URL_PATTERN.exec(uri);\n\n if (!match) {\n throw new AxiosError('Invalid URL', AxiosError.ERR_INVALID_URL);\n }\n\n const mime = match[1];\n const isBase64 = match[2];\n const body = match[3];\n const buffer = Buffer.from(decodeURIComponent(body), isBase64 ? 'base64' : 'utf8');\n\n if (asBlob) {\n if (!_Blob) {\n throw new AxiosError('Blob is not supported', AxiosError.ERR_NOT_SUPPORT);\n }\n\n return new _Blob([buffer], {type: mime});\n }\n\n return buffer;\n }\n\n throw new AxiosError('Unsupported protocol ' + protocol, AxiosError.ERR_NOT_SUPPORT);\n}\n","'use strict';\n\n/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n const threshold = 1000 / freq;\n let timer = null;\n return function throttled() {\n const force = this === true;\n\n const now = Date.now();\n if (force || now - timestamp > threshold) {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n timestamp = now;\n return fn.apply(null, arguments);\n }\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n timestamp = Date.now();\n return fn.apply(null, arguments);\n }, threshold - (now - timestamp));\n }\n };\n}\n\nexport default throttle;\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","'use strict';\n\nimport stream from 'stream';\nimport utils from '../utils.js';\nimport throttle from './throttle.js';\nimport speedometer from './speedometer.js';\n\nconst kInternals = Symbol('internals');\n\nclass AxiosTransformStream extends stream.Transform{\n constructor(options) {\n options = utils.toFlatObject(options, {\n maxRate: 0,\n chunkSize: 64 * 1024,\n minChunkSize: 100,\n timeWindow: 500,\n ticksRate: 2,\n samplesCount: 15\n }, null, (prop, source) => {\n return !utils.isUndefined(source[prop]);\n });\n\n super({\n readableHighWaterMark: options.chunkSize\n });\n\n const self = this;\n\n const internals = this[kInternals] = {\n length: options.length,\n timeWindow: options.timeWindow,\n ticksRate: options.ticksRate,\n chunkSize: options.chunkSize,\n maxRate: options.maxRate,\n minChunkSize: options.minChunkSize,\n bytesSeen: 0,\n isCaptured: false,\n notifiedBytesLoaded: 0,\n ts: Date.now(),\n bytes: 0,\n onReadCallback: null\n };\n\n const _speedometer = speedometer(internals.ticksRate * options.samplesCount, internals.timeWindow);\n\n this.on('newListener', event => {\n if (event === 'progress') {\n if (!internals.isCaptured) {\n internals.isCaptured = true;\n }\n }\n });\n\n let bytesNotified = 0;\n\n internals.updateProgress = throttle(function throttledHandler() {\n const totalBytes = internals.length;\n const bytesTransferred = internals.bytesSeen;\n const progressBytes = bytesTransferred - bytesNotified;\n if (!progressBytes || self.destroyed) return;\n\n const rate = _speedometer(progressBytes);\n\n bytesNotified = bytesTransferred;\n\n process.nextTick(() => {\n self.emit('progress', {\n loaded: bytesTransferred,\n total: totalBytes,\n progress: totalBytes ? (bytesTransferred / totalBytes) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && totalBytes && bytesTransferred <= totalBytes ?\n (totalBytes - bytesTransferred) / rate : undefined,\n lengthComputable: totalBytes != null\n });\n });\n }, internals.ticksRate);\n\n const onFinish = () => {\n internals.updateProgress.call(true);\n };\n\n this.once('end', onFinish);\n this.once('error', onFinish);\n }\n\n _read(size) {\n const internals = this[kInternals];\n\n if (internals.onReadCallback) {\n internals.onReadCallback();\n }\n\n return super._read(size);\n }\n\n _transform(chunk, encoding, callback) {\n const self = this;\n const internals = this[kInternals];\n const maxRate = internals.maxRate;\n\n const readableHighWaterMark = this.readableHighWaterMark;\n\n const timeWindow = internals.timeWindow;\n\n const divider = 1000 / timeWindow;\n const bytesThreshold = (maxRate / divider);\n const minChunkSize = internals.minChunkSize !== false ? Math.max(internals.minChunkSize, bytesThreshold * 0.01) : 0;\n\n function pushChunk(_chunk, _callback) {\n const bytes = Buffer.byteLength(_chunk);\n internals.bytesSeen += bytes;\n internals.bytes += bytes;\n\n if (internals.isCaptured) {\n internals.updateProgress();\n }\n\n if (self.push(_chunk)) {\n process.nextTick(_callback);\n } else {\n internals.onReadCallback = () => {\n internals.onReadCallback = null;\n process.nextTick(_callback);\n };\n }\n }\n\n const transformChunk = (_chunk, _callback) => {\n const chunkSize = Buffer.byteLength(_chunk);\n let chunkRemainder = null;\n let maxChunkSize = readableHighWaterMark;\n let bytesLeft;\n let passed = 0;\n\n if (maxRate) {\n const now = Date.now();\n\n if (!internals.ts || (passed = (now - internals.ts)) >= timeWindow) {\n internals.ts = now;\n bytesLeft = bytesThreshold - internals.bytes;\n internals.bytes = bytesLeft < 0 ? -bytesLeft : 0;\n passed = 0;\n }\n\n bytesLeft = bytesThreshold - internals.bytes;\n }\n\n if (maxRate) {\n if (bytesLeft <= 0) {\n // next time window\n return setTimeout(() => {\n _callback(null, _chunk);\n }, timeWindow - passed);\n }\n\n if (bytesLeft < maxChunkSize) {\n maxChunkSize = bytesLeft;\n }\n }\n\n if (maxChunkSize && chunkSize > maxChunkSize && (chunkSize - maxChunkSize) > minChunkSize) {\n chunkRemainder = _chunk.subarray(maxChunkSize);\n _chunk = _chunk.subarray(0, maxChunkSize);\n }\n\n pushChunk(_chunk, chunkRemainder ? () => {\n process.nextTick(_callback, null, chunkRemainder);\n } : _callback);\n };\n\n transformChunk(chunk, function transformNextChunk(err, _chunk) {\n if (err) {\n return callback(err);\n }\n\n if (_chunk) {\n transformChunk(_chunk, transformNextChunk);\n } else {\n callback(null);\n }\n });\n }\n\n setLength(length) {\n this[kInternals].length = +length;\n return this;\n }\n}\n\nexport default AxiosTransformStream;\n","const {asyncIterator} = Symbol;\n\nconst readBlob = async function* (blob) {\n if (blob.stream) {\n yield* blob.stream()\n } else if (blob.arrayBuffer) {\n yield await blob.arrayBuffer()\n } else if (blob[asyncIterator]) {\n yield* blob[asyncIterator]();\n } else {\n yield blob;\n }\n}\n\nexport default readBlob;\n","import {TextEncoder} from 'util';\nimport {Readable} from 'stream';\nimport utils from \"../utils.js\";\nimport readBlob from \"./readBlob.js\";\n\nconst BOUNDARY_ALPHABET = utils.ALPHABET.ALPHA_DIGIT + '-_';\n\nconst textEncoder = new TextEncoder();\n\nconst CRLF = '\\r\\n';\nconst CRLF_BYTES = textEncoder.encode(CRLF);\nconst CRLF_BYTES_COUNT = 2;\n\nclass FormDataPart {\n constructor(name, value) {\n const {escapeName} = this.constructor;\n const isStringValue = utils.isString(value);\n\n let headers = `Content-Disposition: form-data; name=\"${escapeName(name)}\"${\n !isStringValue && value.name ? `; filename=\"${escapeName(value.name)}\"` : ''\n }${CRLF}`;\n\n if (isStringValue) {\n value = textEncoder.encode(String(value).replace(/\\r?\\n|\\r\\n?/g, CRLF));\n } else {\n headers += `Content-Type: ${value.type || \"application/octet-stream\"}${CRLF}`\n }\n\n this.headers = textEncoder.encode(headers + CRLF);\n\n this.contentLength = isStringValue ? value.byteLength : value.size;\n\n this.size = this.headers.byteLength + this.contentLength + CRLF_BYTES_COUNT;\n\n this.name = name;\n this.value = value;\n }\n\n async *encode(){\n yield this.headers;\n\n const {value} = this;\n\n if(utils.isTypedArray(value)) {\n yield value;\n } else {\n yield* readBlob(value);\n }\n\n yield CRLF_BYTES;\n }\n\n static escapeName(name) {\n return String(name).replace(/[\\r\\n\"]/g, (match) => ({\n '\\r' : '%0D',\n '\\n' : '%0A',\n '\"' : '%22',\n }[match]));\n }\n}\n\nconst formDataToStream = (form, headersHandler, options) => {\n const {\n tag = 'form-data-boundary',\n size = 25,\n boundary = tag + '-' + utils.generateString(size, BOUNDARY_ALPHABET)\n } = options || {};\n\n if(!utils.isFormData(form)) {\n throw TypeError('FormData instance required');\n }\n\n if (boundary.length < 1 || boundary.length > 70) {\n throw Error('boundary must be 10-70 characters long')\n }\n\n const boundaryBytes = textEncoder.encode('--' + boundary + CRLF);\n const footerBytes = textEncoder.encode('--' + boundary + '--' + CRLF + CRLF);\n let contentLength = footerBytes.byteLength;\n\n const parts = Array.from(form.entries()).map(([name, value]) => {\n const part = new FormDataPart(name, value);\n contentLength += part.size;\n return part;\n });\n\n contentLength += boundaryBytes.byteLength * parts.length;\n\n contentLength = utils.toFiniteNumber(contentLength);\n\n const computedHeaders = {\n 'Content-Type': `multipart/form-data; boundary=${boundary}`\n }\n\n if (Number.isFinite(contentLength)) {\n computedHeaders['Content-Length'] = contentLength;\n }\n\n headersHandler && headersHandler(computedHeaders);\n\n return Readable.from((async function *() {\n for(const part of parts) {\n yield boundaryBytes;\n yield* part.encode();\n }\n\n yield footerBytes;\n })());\n};\n\nexport default formDataToStream;\n","\"use strict\";\n\nimport stream from \"stream\";\n\nclass ZlibHeaderTransformStream extends stream.Transform {\n __transform(chunk, encoding, callback) {\n this.push(chunk);\n callback();\n }\n\n _transform(chunk, encoding, callback) {\n if (chunk.length !== 0) {\n this._transform = this.__transform;\n\n // Add Default Compression headers if no zlib headers are present\n if (chunk[0] !== 120) { // Hex: 78\n const header = Buffer.alloc(2);\n header[0] = 120; // Hex: 78\n header[1] = 156; // Hex: 9C \n this.push(header, encoding);\n }\n }\n\n this.__transform(chunk, encoding, callback);\n }\n}\n\nexport default ZlibHeaderTransformStream;\n","import utils from \"../utils.js\";\n\nconst callbackify = (fn, reducer) => {\n return utils.isAsyncFn(fn) ? function (...args) {\n const cb = args.pop();\n fn.apply(this, args).then((value) => {\n try {\n reducer ? cb(null, ...reducer(value)) : cb(null, value);\n } catch (err) {\n cb(err);\n }\n }, cb);\n } : fn;\n}\n\nexport default callbackify;\n","'use strict';\n\nimport utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport buildURL from './../helpers/buildURL.js';\nimport {getProxyForUrl} from 'proxy-from-env';\nimport http from 'http';\nimport https from 'https';\nimport util from 'util';\nimport followRedirects from 'follow-redirects';\nimport zlib from 'zlib';\nimport {VERSION} from '../env/data.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport platform from '../platform/index.js';\nimport fromDataURI from '../helpers/fromDataURI.js';\nimport stream from 'stream';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport AxiosTransformStream from '../helpers/AxiosTransformStream.js';\nimport {EventEmitter} from 'events';\nimport formDataToStream from \"../helpers/formDataToStream.js\";\nimport readBlob from \"../helpers/readBlob.js\";\nimport ZlibHeaderTransformStream from '../helpers/ZlibHeaderTransformStream.js';\nimport callbackify from \"../helpers/callbackify.js\";\n\nconst zlibOptions = {\n flush: zlib.constants.Z_SYNC_FLUSH,\n finishFlush: zlib.constants.Z_SYNC_FLUSH\n};\n\nconst brotliOptions = {\n flush: zlib.constants.BROTLI_OPERATION_FLUSH,\n finishFlush: zlib.constants.BROTLI_OPERATION_FLUSH\n}\n\nconst isBrotliSupported = utils.isFunction(zlib.createBrotliDecompress);\n\nconst {http: httpFollow, https: httpsFollow} = followRedirects;\n\nconst isHttps = /https:?/;\n\nconst supportedProtocols = platform.protocols.map(protocol => {\n return protocol + ':';\n});\n\n/**\n * If the proxy or config beforeRedirects functions are defined, call them with the options\n * object.\n *\n * @param {Object<string, any>} options - The options object that was passed to the request.\n *\n * @returns {Object<string, any>}\n */\nfunction dispatchBeforeRedirect(options, responseDetails) {\n if (options.beforeRedirects.proxy) {\n options.beforeRedirects.proxy(options);\n }\n if (options.beforeRedirects.config) {\n options.beforeRedirects.config(options, responseDetails);\n }\n}\n\n/**\n * If the proxy or config afterRedirects functions are defined, call them with the options\n *\n * @param {http.ClientRequestArgs} options\n * @param {AxiosProxyConfig} configProxy configuration from Axios options object\n * @param {string} location\n *\n * @returns {http.ClientRequestArgs}\n */\nfunction setProxy(options, configProxy, location) {\n let proxy = configProxy;\n if (!proxy && proxy !== false) {\n const proxyUrl = getProxyForUrl(location);\n if (proxyUrl) {\n proxy = new URL(proxyUrl);\n }\n }\n if (proxy) {\n // Basic proxy authorization\n if (proxy.username) {\n proxy.auth = (proxy.username || '') + ':' + (proxy.password || '');\n }\n\n if (proxy.auth) {\n // Support proxy auth object form\n if (proxy.auth.username || proxy.auth.password) {\n proxy.auth = (proxy.auth.username || '') + ':' + (proxy.auth.password || '');\n }\n const base64 = Buffer\n .from(proxy.auth, 'utf8')\n .toString('base64');\n options.headers['Proxy-Authorization'] = 'Basic ' + base64;\n }\n\n options.headers.host = options.hostname + (options.port ? ':' + options.port : '');\n const proxyHost = proxy.hostname || proxy.host;\n options.hostname = proxyHost;\n // Replace 'host' since options is not a URL object\n options.host = proxyHost;\n options.port = proxy.port;\n options.path = location;\n if (proxy.protocol) {\n options.protocol = proxy.protocol.includes(':') ? proxy.protocol : `${proxy.protocol}:`;\n }\n }\n\n options.beforeRedirects.proxy = function beforeRedirect(redirectOptions) {\n // Configure proxy for redirected request, passing the original config proxy to apply\n // the exact same logic as if the redirected request was performed by axios directly.\n setProxy(redirectOptions, configProxy, redirectOptions.href);\n };\n}\n\nconst isHttpAdapterSupported = typeof process !== 'undefined' && utils.kindOf(process) === 'process';\n\n// temporary hotfix\n\nconst wrapAsync = (asyncExecutor) => {\n return new Promise((resolve, reject) => {\n let onDone;\n let isDone;\n\n const done = (value, isRejected) => {\n if (isDone) return;\n isDone = true;\n onDone && onDone(value, isRejected);\n }\n\n const _resolve = (value) => {\n done(value);\n resolve(value);\n };\n\n const _reject = (reason) => {\n done(reason, true);\n reject(reason);\n }\n\n asyncExecutor(_resolve, _reject, (onDoneHandler) => (onDone = onDoneHandler)).catch(_reject);\n })\n};\n\nconst resolveFamily = ({address, family}) => {\n if (!utils.isString(address)) {\n throw TypeError('address must be a string');\n }\n return ({\n address,\n family: family || (address.indexOf('.') < 0 ? 6 : 4)\n });\n}\n\nconst buildAddressEntry = (address, family) => resolveFamily(utils.isObject(address) ? address : {address, family});\n\n/*eslint consistent-return:0*/\nexport default isHttpAdapterSupported && function httpAdapter(config) {\n return wrapAsync(async function dispatchHttpRequest(resolve, reject, onDone) {\n let {data, lookup, family} = config;\n const {responseType, responseEncoding} = config;\n const method = config.method.toUpperCase();\n let isDone;\n let rejected = false;\n let req;\n\n if (lookup) {\n const _lookup = callbackify(lookup, (value) => utils.isArray(value) ? value : [value]);\n // hotfix to support opt.all option which is required for node 20.x\n lookup = (hostname, opt, cb) => {\n _lookup(hostname, opt, (err, arg0, arg1) => {\n if (err) {\n return cb(err);\n }\n\n const addresses = utils.isArray(arg0) ? arg0.map(addr => buildAddressEntry(addr)) : [buildAddressEntry(arg0, arg1)];\n\n opt.all ? cb(err, addresses) : cb(err, addresses[0].address, addresses[0].family);\n });\n }\n }\n\n // temporary internal emitter until the AxiosRequest class will be implemented\n const emitter = new EventEmitter();\n\n const onFinished = () => {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(abort);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', abort);\n }\n\n emitter.removeAllListeners();\n }\n\n onDone((value, isRejected) => {\n isDone = true;\n if (isRejected) {\n rejected = true;\n onFinished();\n }\n });\n\n function abort(reason) {\n emitter.emit('abort', !reason || reason.type ? new CanceledError(null, config, req) : reason);\n }\n\n emitter.once('abort', reject);\n\n if (config.cancelToken || config.signal) {\n config.cancelToken && config.cancelToken.subscribe(abort);\n if (config.signal) {\n config.signal.aborted ? abort() : config.signal.addEventListener('abort', abort);\n }\n }\n\n // Parse url\n const fullPath = buildFullPath(config.baseURL, config.url);\n const parsed = new URL(fullPath, 'http://localhost');\n const protocol = parsed.protocol || supportedProtocols[0];\n\n if (protocol === 'data:') {\n let convertedData;\n\n if (method !== 'GET') {\n return settle(resolve, reject, {\n status: 405,\n statusText: 'method not allowed',\n headers: {},\n config\n });\n }\n\n try {\n convertedData = fromDataURI(config.url, responseType === 'blob', {\n Blob: config.env && config.env.Blob\n });\n } catch (err) {\n throw AxiosError.from(err, AxiosError.ERR_BAD_REQUEST, config);\n }\n\n if (responseType === 'text') {\n convertedData = convertedData.toString(responseEncoding);\n\n if (!responseEncoding || responseEncoding === 'utf8') {\n convertedData = utils.stripBOM(convertedData);\n }\n } else if (responseType === 'stream') {\n convertedData = stream.Readable.from(convertedData);\n }\n\n return settle(resolve, reject, {\n data: convertedData,\n status: 200,\n statusText: 'OK',\n headers: new AxiosHeaders(),\n config\n });\n }\n\n if (supportedProtocols.indexOf(protocol) === -1) {\n return reject(new AxiosError(\n 'Unsupported protocol ' + protocol,\n AxiosError.ERR_BAD_REQUEST,\n config\n ));\n }\n\n const headers = AxiosHeaders.from(config.headers).normalize();\n\n // Set User-Agent (required by some servers)\n // See https://github.com/axios/axios/issues/69\n // User-Agent is specified; handle case where no UA header is desired\n // Only set header if it hasn't been set in config\n headers.set('User-Agent', 'axios/' + VERSION, false);\n\n const onDownloadProgress = config.onDownloadProgress;\n const onUploadProgress = config.onUploadProgress;\n const maxRate = config.maxRate;\n let maxUploadRate = undefined;\n let maxDownloadRate = undefined;\n\n // support for spec compliant FormData objects\n if (utils.isSpecCompliantForm(data)) {\n const userBoundary = headers.getContentType(/boundary=([-_\\w\\d]{10,70})/i);\n\n data = formDataToStream(data, (formHeaders) => {\n headers.set(formHeaders);\n }, {\n tag: `axios-${VERSION}-boundary`,\n boundary: userBoundary && userBoundary[1] || undefined\n });\n // support for https://www.npmjs.com/package/form-data api\n } else if (utils.isFormData(data) && utils.isFunction(data.getHeaders)) {\n headers.set(data.getHeaders());\n\n if (!headers.hasContentLength()) {\n try {\n const knownLength = await util.promisify(data.getLength).call(data);\n Number.isFinite(knownLength) && knownLength >= 0 && headers.setContentLength(knownLength);\n /*eslint no-empty:0*/\n } catch (e) {\n }\n }\n } else if (utils.isBlob(data)) {\n data.size && headers.setContentType(data.type || 'application/octet-stream');\n headers.setContentLength(data.size || 0);\n data = stream.Readable.from(readBlob(data));\n } else if (data && !utils.isStream(data)) {\n if (Buffer.isBuffer(data)) {\n // Nothing to do...\n } else if (utils.isArrayBuffer(data)) {\n data = Buffer.from(new Uint8Array(data));\n } else if (utils.isString(data)) {\n data = Buffer.from(data, 'utf-8');\n } else {\n return reject(new AxiosError(\n 'Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream',\n AxiosError.ERR_BAD_REQUEST,\n config\n ));\n }\n\n // Add Content-Length header if data exists\n headers.setContentLength(data.length, false);\n\n if (config.maxBodyLength > -1 && data.length > config.maxBodyLength) {\n return reject(new AxiosError(\n 'Request body larger than maxBodyLength limit',\n AxiosError.ERR_BAD_REQUEST,\n config\n ));\n }\n }\n\n const contentLength = utils.toFiniteNumber(headers.getContentLength());\n\n if (utils.isArray(maxRate)) {\n maxUploadRate = maxRate[0];\n maxDownloadRate = maxRate[1];\n } else {\n maxUploadRate = maxDownloadRate = maxRate;\n }\n\n if (data && (onUploadProgress || maxUploadRate)) {\n if (!utils.isStream(data)) {\n data = stream.Readable.from(data, {objectMode: false});\n }\n\n data = stream.pipeline([data, new AxiosTransformStream({\n length: contentLength,\n maxRate: utils.toFiniteNumber(maxUploadRate)\n })], utils.noop);\n\n onUploadProgress && data.on('progress', progress => {\n onUploadProgress(Object.assign(progress, {\n upload: true\n }));\n });\n }\n\n // HTTP basic authentication\n let auth = undefined;\n if (config.auth) {\n const username = config.auth.username || '';\n const password = config.auth.password || '';\n auth = username + ':' + password;\n }\n\n if (!auth && parsed.username) {\n const urlUsername = parsed.username;\n const urlPassword = parsed.password;\n auth = urlUsername + ':' + urlPassword;\n }\n\n auth && headers.delete('authorization');\n\n let path;\n\n try {\n path = buildURL(\n parsed.pathname + parsed.search,\n config.params,\n config.paramsSerializer\n ).replace(/^\\?/, '');\n } catch (err) {\n const customErr = new Error(err.message);\n customErr.config = config;\n customErr.url = config.url;\n customErr.exists = true;\n return reject(customErr);\n }\n\n headers.set(\n 'Accept-Encoding',\n 'gzip, compress, deflate' + (isBrotliSupported ? ', br' : ''), false\n );\n\n const options = {\n path,\n method: method,\n headers: headers.toJSON(),\n agents: { http: config.httpAgent, https: config.httpsAgent },\n auth,\n protocol,\n family,\n beforeRedirect: dispatchBeforeRedirect,\n beforeRedirects: {}\n };\n\n // cacheable-lookup integration hotfix\n !utils.isUndefined(lookup) && (options.lookup = lookup);\n\n if (config.socketPath) {\n options.socketPath = config.socketPath;\n } else {\n options.hostname = parsed.hostname;\n options.port = parsed.port;\n setProxy(options, config.proxy, protocol + '//' + parsed.hostname + (parsed.port ? ':' + parsed.port : '') + options.path);\n }\n\n let transport;\n const isHttpsRequest = isHttps.test(options.protocol);\n options.agent = isHttpsRequest ? config.httpsAgent : config.httpAgent;\n if (config.transport) {\n transport = config.transport;\n } else if (config.maxRedirects === 0) {\n transport = isHttpsRequest ? https : http;\n } else {\n if (config.maxRedirects) {\n options.maxRedirects = config.maxRedirects;\n }\n if (config.beforeRedirect) {\n options.beforeRedirects.config = config.beforeRedirect;\n }\n transport = isHttpsRequest ? httpsFollow : httpFollow;\n }\n\n if (config.maxBodyLength > -1) {\n options.maxBodyLength = config.maxBodyLength;\n } else {\n // follow-redirects does not skip comparison, so it should always succeed for axios -1 unlimited\n options.maxBodyLength = Infinity;\n }\n\n if (config.insecureHTTPParser) {\n options.insecureHTTPParser = config.insecureHTTPParser;\n }\n\n // Create the request\n req = transport.request(options, function handleResponse(res) {\n if (req.destroyed) return;\n\n const streams = [res];\n\n const responseLength = +res.headers['content-length'];\n\n if (onDownloadProgress) {\n const transformStream = new AxiosTransformStream({\n length: utils.toFiniteNumber(responseLength),\n maxRate: utils.toFiniteNumber(maxDownloadRate)\n });\n\n onDownloadProgress && transformStream.on('progress', progress => {\n onDownloadProgress(Object.assign(progress, {\n download: true\n }));\n });\n\n streams.push(transformStream);\n }\n\n // decompress the response body transparently if required\n let responseStream = res;\n\n // return the last request in case of redirects\n const lastRequest = res.req || req;\n\n // if decompress disabled we should not decompress\n if (config.decompress !== false && res.headers['content-encoding']) {\n // if no content, but headers still say that it is encoded,\n // remove the header not confuse downstream operations\n if (method === 'HEAD' || res.statusCode === 204) {\n delete res.headers['content-encoding'];\n }\n\n switch ((res.headers['content-encoding'] || '').toLowerCase()) {\n /*eslint default-case:0*/\n case 'gzip':\n case 'x-gzip':\n case 'compress':\n case 'x-compress':\n // add the unzipper to the body stream processing pipeline\n streams.push(zlib.createUnzip(zlibOptions));\n\n // remove the content-encoding in order to not confuse downstream operations\n delete res.headers['content-encoding'];\n break;\n case 'deflate':\n streams.push(new ZlibHeaderTransformStream());\n\n // add the unzipper to the body stream processing pipeline\n streams.push(zlib.createUnzip(zlibOptions));\n\n // remove the content-encoding in order to not confuse downstream operations\n delete res.headers['content-encoding'];\n break;\n case 'br':\n if (isBrotliSupported) {\n streams.push(zlib.createBrotliDecompress(brotliOptions));\n delete res.headers['content-encoding'];\n }\n }\n }\n\n responseStream = streams.length > 1 ? stream.pipeline(streams, utils.noop) : streams[0];\n\n const offListeners = stream.finished(responseStream, () => {\n offListeners();\n onFinished();\n });\n\n const response = {\n status: res.statusCode,\n statusText: res.statusMessage,\n headers: new AxiosHeaders(res.headers),\n config,\n request: lastRequest\n };\n\n if (responseType === 'stream') {\n response.data = responseStream;\n settle(resolve, reject, response);\n } else {\n const responseBuffer = [];\n let totalResponseBytes = 0;\n\n responseStream.on('data', function handleStreamData(chunk) {\n responseBuffer.push(chunk);\n totalResponseBytes += chunk.length;\n\n // make sure the content length is not over the maxContentLength if specified\n if (config.maxContentLength > -1 && totalResponseBytes > config.maxContentLength) {\n // stream.destroy() emit aborted event before calling reject() on Node.js v16\n rejected = true;\n responseStream.destroy();\n reject(new AxiosError('maxContentLength size of ' + config.maxContentLength + ' exceeded',\n AxiosError.ERR_BAD_RESPONSE, config, lastRequest));\n }\n });\n\n responseStream.on('aborted', function handlerStreamAborted() {\n if (rejected) {\n return;\n }\n\n const err = new AxiosError(\n 'maxContentLength size of ' + config.maxContentLength + ' exceeded',\n AxiosError.ERR_BAD_RESPONSE,\n config,\n lastRequest\n );\n responseStream.destroy(err);\n reject(err);\n });\n\n responseStream.on('error', function handleStreamError(err) {\n if (req.destroyed) return;\n reject(AxiosError.from(err, null, config, lastRequest));\n });\n\n responseStream.on('end', function handleStreamEnd() {\n try {\n let responseData = responseBuffer.length === 1 ? responseBuffer[0] : Buffer.concat(responseBuffer);\n if (responseType !== 'arraybuffer') {\n responseData = responseData.toString(responseEncoding);\n if (!responseEncoding || responseEncoding === 'utf8') {\n responseData = utils.stripBOM(responseData);\n }\n }\n response.data = responseData;\n } catch (err) {\n return reject(AxiosError.from(err, null, config, response.request, response));\n }\n settle(resolve, reject, response);\n });\n }\n\n emitter.once('abort', err => {\n if (!responseStream.destroyed) {\n responseStream.emit('error', err);\n responseStream.destroy();\n }\n });\n });\n\n emitter.once('abort', err => {\n reject(err);\n req.destroy(err);\n });\n\n // Handle errors\n req.on('error', function handleRequestError(err) {\n // @todo remove\n // if (req.aborted && err.code !== AxiosError.ERR_FR_TOO_MANY_REDIRECTS) return;\n reject(AxiosError.from(err, null, config, req));\n });\n\n // set tcp keep alive to prevent drop connection by peer\n req.on('socket', function handleRequestSocket(socket) {\n // default interval of sending ack packet is 1 minute\n socket.setKeepAlive(true, 1000 * 60);\n });\n\n // Handle request timeout\n if (config.timeout) {\n // This is forcing a int timeout to avoid problems if the `req` interface doesn't handle other types.\n const timeout = parseInt(config.timeout, 10);\n\n if (Number.isNaN(timeout)) {\n reject(new AxiosError(\n 'error trying to parse `config.timeout` to int',\n AxiosError.ERR_BAD_OPTION_VALUE,\n config,\n req\n ));\n\n return;\n }\n\n // Sometime, the response will be very slow, and does not respond, the connect event will be block by event loop system.\n // And timer callback will be fired, and abort() will be invoked before connection, then get \"socket hang up\" and code ECONNRESET.\n // At this time, if we have a large number of request, nodejs will hang up some socket on background. and the number will up and up.\n // And then these socket which be hang up will devouring CPU little by little.\n // ClientRequest.setTimeout will be fired on the specify milliseconds, and can make sure that abort() will be fired after connect.\n req.setTimeout(timeout, function handleRequestTimeout() {\n if (isDone) return;\n let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n req\n ));\n abort();\n });\n }\n\n\n // Send the request\n if (utils.isStream(data)) {\n let ended = false;\n let errored = false;\n\n data.on('end', () => {\n ended = true;\n });\n\n data.once('error', err => {\n errored = true;\n req.destroy(err);\n });\n\n data.on('close', () => {\n if (!ended && !errored) {\n abort(new CanceledError('Request stream has been aborted', config, req));\n }\n });\n\n data.pipe(req);\n } else {\n req.end(data);\n }\n });\n}\n\nexport const __setProxy = setProxy;\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\n\nexport default (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n }, freq);\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover its components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })();\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\n }\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport progressEventReducer from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType} = _config;\n let onCanceled;\n function done() {\n if (_config.cancelToken) {\n _config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (_config.signal) {\n _config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, _config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, _config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n _config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (typeof _config.onDownloadProgress === 'function') {\n request.addEventListener('progress', progressEventReducer(_config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof _config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(_config.onUploadProgress));\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst composeSignals = (signals, timeout) => {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (cancel) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = cancel instanceof Error ? cancel : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal &&\n (signal.removeEventListener ? signal.removeEventListener('abort', onabort) : signal.unsubscribe(onabort));\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal && signal.addEventListener && signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = unsubscribe;\n\n return [signal, () => {\n timer && clearTimeout(timer);\n timer = null;\n }];\n}\n\nexport default composeSignals;\n","\n\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize, encode) {\n for await (const chunk of iterable) {\n yield* streamChunk(ArrayBuffer.isView(chunk) ? chunk : (await encode(String(chunk))), chunkSize);\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish, encode) => {\n const iterator = readBytes(stream, chunkSize, encode);\n\n let bytes = 0;\n\n return new ReadableStream({\n type: 'bytes',\n\n async pull(controller) {\n const {done, value} = await iterator.next();\n\n if (done) {\n controller.close();\n onFinish();\n return;\n }\n\n let len = value.byteLength;\n onProgress && onProgress(bytes += len);\n controller.enqueue(new Uint8Array(value));\n },\n cancel(reason) {\n onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport progressEventReducer from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst fetchProgressDecorator = (total, fn) => {\n const lengthComputable = total != null;\n return (loaded) => setTimeout(() => fn({\n lengthComputable,\n total,\n loaded\n }));\n}\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst supportsRequestStream = isReadableStreamSupported && (() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n})();\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported && !!(()=> {\n try {\n return utils.isReadableStream(new Response('').body);\n } catch(err) {\n // return undefined\n }\n})();\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n return (await new Request(body).arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let [composedSignal, stopTimeout] = (signal || cancelToken || timeout) ?\n composeSignals([signal, cancelToken], timeout) : [];\n\n let finished, request;\n\n const onFinish = () => {\n !finished && setTimeout(() => {\n composedSignal && composedSignal.unsubscribe();\n });\n\n finished = true;\n }\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, fetchProgressDecorator(\n requestContentLength,\n progressEventReducer(onUploadProgress)\n ), null, encodeText);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'cors' : 'omit';\n }\n\n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n withCredentials\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || isStreamResponse)) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onDownloadProgress && fetchProgressDecorator(\n responseContentLength,\n progressEventReducer(onDownloadProgress, true)\n ), isStreamResponse && onFinish, encodeText),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && onFinish();\n\n stopTimeout && stopTimeout();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n onFinish();\n\n if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy;\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n"],"names":["utils","prototype","PlatformFormData","encode","url","FormData","platform","defaults","AxiosHeaders","stream","TextEncoder","readBlob","Readable","zlib","followRedirects","getProxyForUrl","callbackify","EventEmitter","formDataToStream","util","AxiosTransformStream","https","http","ZlibHeaderTransformStream","composeSignals","validators","InterceptorManager","Axios","CancelToken","HttpStatusCode"],"mappings":"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